amis
Version:
一种MIS页面生成工具
110 lines (109 loc) • 4.92 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.FieldRenderer = exports.TableCellRenderer = exports.TableCell = void 0;
var tslib_1 = require("tslib");
var react_1 = (0, tslib_1.__importDefault)(require("react"));
var factory_1 = require("../../factory");
var QuickEdit_1 = (0, tslib_1.__importDefault)(require("../QuickEdit"));
var Copyable_1 = (0, tslib_1.__importDefault)(require("../Copyable"));
var PopOver_1 = (0, tslib_1.__importDefault)(require("../PopOver"));
var mobx_react_1 = require("mobx-react");
var omit = require("lodash/omit");
var TableCell = /** @class */ (function (_super) {
(0, tslib_1.__extends)(TableCell, _super);
function TableCell() {
return _super !== null && _super.apply(this, arguments) || this;
}
TableCell.prototype.render = function () {
var _a = this.props, className = _a.className, render = _a.render, style = _a.style, Component = _a.wrapperComponent, column = _a.column, value = _a.value, data = _a.data, children = _a.children, width = _a.width, innerClassName = _a.innerClassName, label = _a.label, tabIndex = _a.tabIndex, onKeyUp = _a.onKeyUp, rowSpan = _a.rowSpan, _body = _a.body, tpl = _a.tpl, remark = _a.remark, prefix = _a.prefix, affix = _a.affix, isHead = _a.isHead, rest = (0, tslib_1.__rest)(_a, ["className", "render", "style", "wrapperComponent", "column", "value", "data", "children", "width", "innerClassName", "label", "tabIndex", "onKeyUp", "rowSpan", "body", "tpl", "remark", "prefix", "affix", "isHead"]);
var schema = (0, tslib_1.__assign)((0, tslib_1.__assign)({}, column), { className: innerClassName, type: (column && column.type) || 'plain' });
// 如果本来就是 type 为 button,不要删除,其他情况下都应该删除。
if (schema.type !== 'button' && schema.type !== 'dropdown-button') {
delete schema.label;
}
var body = children
? children
: render('field', schema, (0, tslib_1.__assign)((0, tslib_1.__assign)({}, omit(rest, Object.keys(schema))), { inputOnly: true, value: value, data: data }));
if (width) {
style = (0, tslib_1.__assign)((0, tslib_1.__assign)({}, style), { width: (style && style.width) || width });
if (!/%$/.test(String(style.width))) {
body = (react_1.default.createElement("div", { style: { width: style.width } },
prefix,
body,
affix));
prefix = null;
affix = null;
// delete style.width;
}
}
if (!Component) {
return body;
}
if (isHead) {
Component = 'th';
}
return (react_1.default.createElement(Component, { rowSpan: rowSpan > 1 ? rowSpan : undefined, style: style, className: className, tabIndex: tabIndex, onKeyUp: onKeyUp },
prefix,
body,
affix));
};
TableCell.defaultProps = {
wrapperComponent: 'td'
};
TableCell.propsList = [
'type',
'label',
'column',
'body',
'tpl',
'rowSpan',
'remark'
];
return TableCell;
}(react_1.default.Component));
exports.TableCell = TableCell;
var TableCellRenderer = /** @class */ (function (_super) {
(0, tslib_1.__extends)(TableCellRenderer, _super);
function TableCellRenderer() {
return _super !== null && _super.apply(this, arguments) || this;
}
TableCellRenderer.propsList = (0, tslib_1.__spreadArray)([
'quickEdit',
'quickEditEnabledOn',
'popOver',
'copyable',
'inline'
], TableCell.propsList, true);
TableCellRenderer = (0, tslib_1.__decorate)([
(0, factory_1.Renderer)({
test: /(^|\/)table\/(?:.*\/)?cell$/,
name: 'table-cell'
}),
(0, QuickEdit_1.default)(),
(0, PopOver_1.default)({
targetOutter: true
}),
(0, Copyable_1.default)(),
mobx_react_1.observer
], TableCellRenderer);
return TableCellRenderer;
}(TableCell));
exports.TableCellRenderer = TableCellRenderer;
var FieldRenderer = /** @class */ (function (_super) {
(0, tslib_1.__extends)(FieldRenderer, _super);
function FieldRenderer() {
return _super !== null && _super.apply(this, arguments) || this;
}
FieldRenderer.defaultProps = (0, tslib_1.__assign)((0, tslib_1.__assign)({}, TableCell.defaultProps), { wrapperComponent: 'div' });
FieldRenderer = (0, tslib_1.__decorate)([
(0, factory_1.Renderer)({
type: 'field',
name: 'field'
}),
(0, PopOver_1.default)(),
(0, Copyable_1.default)()
], FieldRenderer);
return FieldRenderer;
}(TableCell));
exports.FieldRenderer = FieldRenderer;
//# sourceMappingURL=./renderers/Table/TableCell.js.map