UNPKG

amis

Version:

一种MIS页面生成工具

87 lines (86 loc) 3.83 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.GridRenderer = exports.ColProps = void 0; var tslib_1 = require("tslib"); var react_1 = (0, tslib_1.__importDefault)(require("react")); var factory_1 = require("../factory"); var pick_1 = (0, tslib_1.__importDefault)(require("lodash/pick")); var helper_1 = require("../utils/helper"); exports.ColProps = ['lg', 'md', 'sm', 'xs']; function fromBsClass(cn) { if (typeof cn === 'string' && cn) { return cn.replace(/\bcol-(xs|sm|md|lg)-(\d+)\b/g, function (_, bp, size) { return "Grid-col--" + bp + size; }); } return cn; } function copProps2Class(props) { var cns = []; var modifiers = exports.ColProps; modifiers.forEach(function (modifier) { return props && props[modifier] && cns.push("Grid-col--" + modifier + (0, helper_1.ucFirst)(props[modifier])); }); cns.length || cns.push('Grid-col--md'); return cns.join(' '); } var Grid = /** @class */ (function (_super) { (0, tslib_1.__extends)(Grid, _super); function Grid() { return _super !== null && _super.apply(this, arguments) || this; } Grid.prototype.renderChild = function (region, node, length, props) { if (props === void 0) { props = {}; } var _a = this.props, render = _a.render, itemRender = _a.itemRender; return itemRender ? itemRender(node, length, this.props) : render(region, node, props); }; Grid.prototype.renderColumn = function (column, key, length) { var _a; var colProps = (0, pick_1.default)(column, exports.ColProps); colProps = (0, tslib_1.__assign)({}, colProps); var _b = this.props, cx = _b.classnames, formMode = _b.formMode, subFormMode = _b.subFormMode, subFormHorizontal = _b.subFormHorizontal, formHorizontal = _b.formHorizontal, __ = _b.translate; return (react_1.default.createElement("div", { key: key, className: cx(copProps2Class(colProps), fromBsClass(column.columnClassName), (_a = {}, _a["Grid-col--v" + (0, helper_1.ucFirst)(column.valign)] = column.valign, _a)) }, this.renderChild("column/" + key, column.body || '', length, { formMode: column.mode || subFormMode || formMode, formHorizontal: column.horizontal || subFormHorizontal || formHorizontal }))); }; Grid.prototype.renderColumns = function (columns) { var _this = this; return Array.isArray(columns) ? columns.map(function (column, key) { return _this.renderColumn(column, key, columns.length); }) : null; }; Grid.prototype.render = function () { var _a; var _b = this.props, className = _b.className, cx = _b.classnames, gap = _b.gap, vAlign = _b.valign, hAlign = _b.align; return (react_1.default.createElement("div", { className: cx('Grid', (_a = {}, _a["Grid--" + gap] = gap, _a["Grid--v" + (0, helper_1.ucFirst)(vAlign)] = vAlign, _a["Grid--h" + (0, helper_1.ucFirst)(hAlign)] = hAlign, _a), className) }, this.renderColumns(this.props.columns))); }; Grid.propsList = ['columns']; Grid.defaultProps = {}; return Grid; }(react_1.default.Component)); exports.default = Grid; var GridRenderer = /** @class */ (function (_super) { (0, tslib_1.__extends)(GridRenderer, _super); function GridRenderer() { return _super !== null && _super.apply(this, arguments) || this; } GridRenderer = (0, tslib_1.__decorate)([ (0, factory_1.Renderer)({ type: 'grid' }) ], GridRenderer); return GridRenderer; }(Grid)); exports.GridRenderer = GridRenderer; //# sourceMappingURL=./renderers/Grid.js.map