/*!
* UI development toolkit for HTML5 (OpenUI5)
* (c) Copyright 2009-2018 SAP SE or an SAP affiliate company.
* Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
*/
// Provides control sap.ui.commons.layout.MatrixLayoutCell.
sap.ui.define(['jquery.sap.global', 'sap/ui/commons/library', 'sap/ui/core/CustomStyleClassSupport', 'sap/ui/core/Element'],
function(jQuery, library, CustomStyleClassSupport, Element) {
"use strict";
/**
* Constructor for a new layout/MatrixLayoutCell.
*
* @param {string} [sId] id for the new control, generated automatically if no id is given
* @param {object} [mSettings] initial settings for the new control
*
* @class
*
* Non-control element used as part of a matrix layout's inner structure.
* @extends sap.ui.core.Element
*
* @author SAP SE
* @version 1.60.23
*
* @constructor
* @public
* @deprecated Since version 1.38. Instead, use the sap.ui.layout.Grid
control.
* @alias sap.ui.commons.layout.MatrixLayoutCell
* @ui5-metamodel This control/element also will be described in the UI5 (legacy) designtime metamodel
*/
var MatrixLayoutCell = Element.extend("sap.ui.commons.layout.MatrixLayoutCell", /** @lends sap.ui.commons.layout.MatrixLayoutCell.prototype */ { metadata : {
library : "sap.ui.commons",
aggregatingType : "MatrixLayoutRow",
properties : {
/**
*
* Determines the matrix layout cell's background design.
*/
backgroundDesign : {type : "sap.ui.commons.layout.BackgroundDesign", defaultValue : 'Transparent'},
/**
*
* Determines how many columns of the underlying grid structure are occupied
* by this matrix layout cell.
*/
colSpan : {type : "int", defaultValue : 1},
/**
*
* Determines the horizontal alignment of the matrix layout cell's content
* with the cell's borders.
*/
hAlign : {type : "sap.ui.commons.layout.HAlign", defaultValue : 'Begin'},
/**
*
* Determines the padding of the matrix layout cell's content within the
* cell's borders. The default value is appropriate for all cells in a
* form-like layout. Consider to remove the padding on the outer layout in
* case of nesting.
*/
padding : {type : "sap.ui.commons.layout.Padding", defaultValue : 'End'},
/**
* Determines how many rows of the underlying grid structure are occupied by this matrix layout cell.
* In case a row-height is used, all rows affected by the RowSpan must have the same unit.
*/
rowSpan : {type : "int", defaultValue : 1},
/**
*
* Determines how a matrix layout cell is separated from its predecessor,
* via a vertical gutter of variable width, with or without a vertical line.
*/
separation : {type : "sap.ui.commons.layout.Separation", defaultValue : 'None'},
/**
*
* Determines the vertical alignment of the matrix layout cell's content
* with the cell's borders.
*/
vAlign : {type : "sap.ui.commons.layout.VAlign", defaultValue : 'Middle'}
},
defaultAggregation : "content",
aggregations : {
/**
* The matrix layout cell's content (arbitrary controls).
*
* If the matrix row has a defined height and the matrix has layoutFixed = true, the controls inside of a cell should all use the same unit for its height property.
*/
content : {type : "sap.ui.core.Control", multiple : true, singularName : "content"}
}
}});
/**
* The string given as "sStyleClass" will be added to the "class" attribute of this element's root HTML element.
*
* This method is intended to be used to mark controls as being of a special type for which
* special styling can be provided using CSS selectors that reference this style class name.
*
*
* Example: * myButton.addStyleClass("myRedTextButton"); // add a CSS class to one button instance * * ...and in CSS: * .myRedTextButton { * color: red; * } ** * This will add the CSS class "myRedTextButton" to the Button HTML and the CSS code above will then * make the text in this particular button red. * * Only characters allowed inside HTML attributes are allowed. * Quotes are not allowed and this method will ignore any strings containing quotes. * Strings containing spaces are interpreted as ONE custom style class (even though CSS selectors interpret them * as different classes) and can only removed later by calling removeStyleClass() with exactly the * same (space-containing) string as parameter. * Multiple calls with the same sStyleClass will have no different effect than calling once. * If sStyleClass is null, the call is ignored. * * Returns
this
to allow method chaining
*
* @name sap.ui.commons.layout.MatrixLayoutCell#addStyleClass
* @function
* @param {string} sStyleClass
* the CSS class name to be added
* @type sap.ui.commons.layout.MatrixLayoutCell
* @public
* @ui5-metamodel This method also will be described in the UI5 (legacy) designtime metamodel
*/
/**
* Removes the given string from the list of custom style classes that have been set previously.
* Regular style classes like "sapUiBtn" cannot be removed.
*
* Returns this
to allow method chaining
*
* @name sap.ui.commons.layout.MatrixLayoutCell#removeStyleClass
* @function
* @param {string} sStyleClass
* the style to be removed
* @type sap.ui.commons.layout.MatrixLayoutCell
* @public
* @ui5-metamodel This method also will be described in the UI5 (legacy) designtime metamodel
*/
/**
* Returns true if the given style class string is valid and if this Element has this style class set via a previous call to addStyleClass().
*
* @name sap.ui.commons.layout.MatrixLayoutCell#hasStyleClass
* @function
* @param {string} sStyleClass
* the style to check for
* @type boolean
* @public
* @ui5-metamodel This method also will be described in the UI5 (legacy) designtime metamodel
*/
CustomStyleClassSupport.apply(MatrixLayoutCell.prototype);
return MatrixLayoutCell;
}, /* bExport= */ true);