react-application-core
Version:
A react-based application core for the business applications.
102 lines • 4.88 kB
JavaScript
;
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
var __assign = (this && this.__assign) || function () {
__assign = Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
}
return t;
};
return __assign.apply(this, arguments);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.LayoutViewBuilder = void 0;
var React = require("react");
var util_1 = require("../../../util");
var definition_1 = require("../../../definition");
var universal_layout_view_builder_1 = require("./universal-layout-view.builder");
var LayoutViewBuilder = /** @class */ (function (_super) {
__extends(LayoutViewBuilder, _super);
function LayoutViewBuilder() {
return _super !== null && _super.apply(this, arguments) || this;
}
/**
* @stable [22.10.2018]
* @param {React.HTMLAttributes<{}>} props
* @param {LayoutBuilderChildrenT[]} children
* @param {ILayoutBuilderConfigEntity} layoutConfig
* @returns {LayoutBuilderChildrenNodeT}
*/
LayoutViewBuilder.prototype.buildRowView = function (props, children, layoutConfig) {
return (React.createElement("div", __assign({}, props, { className: util_1.joinClassName('rac-layout-builder-row-view', layoutConfig.className, this.asFactorClassName(layoutConfig)) }), children));
};
/**
* @stable [22.10.2018]
* @param {React.HTMLAttributes<{}>} props
* @param {LayoutBuilderChildrenT[]} children
* @param {ILayoutBuilderConfigEntity} layoutConfig
* @returns {LayoutBuilderChildrenNodeT}
*/
LayoutViewBuilder.prototype.buildColumnView = function (props, children, layoutConfig) {
return (React.createElement("div", __assign({}, props, { className: util_1.joinClassName('rac-layout-builder-column-view', layoutConfig.className, this.asFactorClassName(layoutConfig)) }), children));
};
/**
* @stable [06.04.2020]
* @param {React.ReactElement<React.Attributes>} item
* @param {React.ClassAttributes<{}>} props
* @returns {LayoutBuilderChildrenNodeT}
*/
LayoutViewBuilder.prototype.cloneItem = function (item, props) {
return React.cloneElement(item, props);
};
/**
* @stable [23.01.2020]
* @param {ILayoutBuilderConfigEntity} config
* @returns {string}
*/
LayoutViewBuilder.prototype.asFactorClassName = function (config) {
if (config.full === false) {
return '';
}
switch (config.factor) {
// TODO
case definition_1.LayoutFactorsEnum.FACTOR_0_25:
return 'rac-layout-builder-stretch rac-layout-builder-1-4';
case definition_1.LayoutFactorsEnum.FACTOR_0_30:
return 'rac-layout-builder-stretch rac-layout-builder-0-30';
case definition_1.LayoutFactorsEnum.FACTOR_0_5:
return 'rac-layout-builder-stretch rac-layout-builder-1-2';
case definition_1.LayoutFactorsEnum.FACTOR_0_70:
return 'rac-layout-builder-stretch rac-layout-builder-0-70';
case definition_1.LayoutFactorsEnum.FACTOR_0_75:
return 'rac-layout-builder-stretch rac-layout-builder-3-4';
case definition_1.LayoutFactorsEnum.FACTOR_0_85:
return 'rac-layout-builder-stretch rac-layout-builder-0-85';
case definition_1.LayoutFactorsEnum.FACTOR_2:
return 'rac-layout-builder-stretch rac-layout-builder-x2';
case definition_1.LayoutFactorsEnum.FACTOR_4:
return 'rac-layout-builder-stretch rac-layout-builder-x4';
case definition_1.LayoutFactorsEnum.FACTOR_8:
return 'rac-layout-builder-stretch rac-layout-builder-x8';
default:
return 'rac-layout-builder-stretch rac-layout-builder-x1';
}
};
return LayoutViewBuilder;
}(universal_layout_view_builder_1.UniversalLayoutViewBuilder));
exports.LayoutViewBuilder = LayoutViewBuilder;
//# sourceMappingURL=layout-view.builder.js.map