amis 1.3.5-beta.3 → 1.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/components/Badge.d.ts +15 -2
- package/lib/components/Badge.js +47 -4
- package/lib/components/Badge.js.map +2 -2
- package/lib/components/Button.d.ts +24 -22
- package/lib/components/Button.js +13 -7
- package/lib/components/Button.js.map +2 -2
- package/lib/components/Checkbox.d.ts +1 -1
- package/lib/components/Checkbox.js +1 -1
- package/lib/components/Checkbox.js.map +2 -2
- package/lib/components/Drawer.js +1 -1
- package/lib/components/Drawer.js.map +2 -2
- package/lib/components/Modal.js +1 -1
- package/lib/components/Modal.js.map +2 -2
- package/lib/components/RichText.d.ts +6 -4
- package/lib/components/RichText.js +241 -27
- package/lib/components/RichText.js.map +2 -2
- package/lib/components/Select.d.ts +7 -0
- package/lib/components/Select.js.map +2 -2
- package/lib/components/Steps.d.ts +3 -3
- package/lib/components/Steps.js.map +1 -1
- package/lib/components/WithRemoteConfig.d.ts +8 -0
- package/lib/components/WithRemoteConfig.js +28 -2
- package/lib/components/WithRemoteConfig.js.map +2 -2
- package/lib/components/calendar/DaysView.js +2 -2
- package/lib/components/calendar/DaysView.js.map +2 -2
- package/lib/components/condition-builder/Field.js +0 -1
- package/lib/components/condition-builder/Field.js.map +2 -2
- package/lib/components/condition-builder/Value.js +2 -1
- package/lib/components/condition-builder/Value.js.map +2 -2
- package/lib/components/condition-builder/types.d.ts +5 -0
- package/lib/components/condition-builder/types.js.map +1 -1
- package/lib/components/icons.js +2 -0
- package/lib/components/icons.js.map +2 -2
- package/lib/factory.d.ts +5 -1
- package/lib/factory.js +9 -4
- package/lib/factory.js.map +2 -2
- package/lib/helper.css.map +1 -1
- package/lib/icons/loading-outline.js +7 -0
- package/lib/index.d.ts +1 -0
- package/lib/index.js +2 -1
- package/lib/index.js.map +2 -2
- package/lib/locale/de-DE.js +1 -0
- package/lib/locale/de-DE.js.map +2 -2
- package/lib/locale/en-US.js +2 -1
- package/lib/locale/en-US.js.map +2 -2
- package/lib/locale/zh-CN.js +2 -1
- package/lib/locale/zh-CN.js.map +2 -2
- package/lib/renderers/Action.d.ts +15 -1
- package/lib/renderers/Action.js +13 -6
- package/lib/renderers/Action.js.map +2 -2
- package/lib/renderers/CRUD.d.ts +2 -2
- package/lib/renderers/CRUD.js +11 -20
- package/lib/renderers/CRUD.js.map +2 -2
- package/lib/renderers/Card.js +11 -11
- package/lib/renderers/Card.js.map +2 -2
- package/lib/renderers/Collapse.d.ts +1 -1
- package/lib/renderers/Collapse.js +5 -1
- package/lib/renderers/Collapse.js.map +2 -2
- package/lib/renderers/Dialog.d.ts +0 -252
- package/lib/renderers/Dialog.js +3 -2
- package/lib/renderers/Dialog.js.map +2 -2
- package/lib/renderers/Drawer.js +2 -1
- package/lib/renderers/Drawer.js.map +2 -2
- package/lib/renderers/DropDownButton.d.ts +8 -0
- package/lib/renderers/DropDownButton.js +6 -4
- package/lib/renderers/DropDownButton.js.map +2 -2
- package/lib/renderers/Form/ButtonGroupSelect.js +3 -0
- package/lib/renderers/Form/ButtonGroupSelect.js.map +2 -2
- package/lib/renderers/Form/Combo.d.ts +2 -0
- package/lib/renderers/Form/Combo.js +16 -1
- package/lib/renderers/Form/Combo.js.map +2 -2
- package/lib/renderers/Form/DiffEditor.d.ts +0 -2
- package/lib/renderers/Form/Editor.d.ts +0 -2
- package/lib/renderers/Form/Editor.js +1 -1
- package/lib/renderers/Form/Editor.js.map +2 -2
- package/lib/renderers/Form/InputExcel.d.ts +5 -0
- package/lib/renderers/Form/InputExcel.js +24 -3
- package/lib/renderers/Form/InputExcel.js.map +2 -2
- package/lib/renderers/Form/InputImage.d.ts +8 -0
- package/lib/renderers/Form/InputImage.js +2 -1
- package/lib/renderers/Form/InputImage.js.map +2 -2
- package/lib/renderers/Form/InputNumber.d.ts +19 -5
- package/lib/renderers/Form/InputNumber.js +69 -7
- package/lib/renderers/Form/InputNumber.js.map +2 -2
- package/lib/renderers/Form/InputRange.js +7 -2
- package/lib/renderers/Form/InputRange.js.map +2 -2
- package/lib/renderers/Form/InputTable.d.ts +23 -5
- package/lib/renderers/Form/InputTable.js +32 -3
- package/lib/renderers/Form/InputTable.js.map +2 -2
- package/lib/renderers/Form/Options.js +3 -1
- package/lib/renderers/Form/Options.js.map +2 -2
- package/lib/renderers/Form/index.js +0 -10
- package/lib/renderers/Form/index.js.map +2 -2
- package/lib/renderers/Form/wrapControl.js +3 -3
- package/lib/renderers/Form/wrapControl.js.map +2 -2
- package/lib/renderers/Json.js +5 -1
- package/lib/renderers/Json.js.map +2 -2
- package/lib/renderers/List.d.ts +5 -0
- package/lib/renderers/List.js +20 -14
- package/lib/renderers/List.js.map +2 -2
- package/lib/renderers/Nav.d.ts +52 -22
- package/lib/renderers/Nav.js +100 -15
- package/lib/renderers/Nav.js.map +2 -2
- package/lib/renderers/Page.d.ts +6 -0
- package/lib/renderers/Page.js +11 -3
- package/lib/renderers/Page.js.map +2 -2
- package/lib/renderers/Service.d.ts +10 -1
- package/lib/renderers/Service.js +85 -3
- package/lib/renderers/Service.js.map +2 -2
- package/lib/renderers/Steps.d.ts +4 -4
- package/lib/renderers/Steps.js +5 -2
- package/lib/renderers/Steps.js.map +2 -2
- package/lib/renderers/Table/TableBody.d.ts +5 -3
- package/lib/renderers/Table/TableBody.js +17 -11
- package/lib/renderers/Table/TableBody.js.map +2 -2
- package/lib/renderers/Table/TableCell.js +6 -2
- package/lib/renderers/Table/TableCell.js.map +2 -2
- package/lib/renderers/Table/TableContent.d.ts +3 -1
- package/lib/renderers/Table/TableContent.js +6 -2
- package/lib/renderers/Table/TableContent.js.map +2 -2
- package/lib/renderers/Table/TableRow.d.ts +1 -1
- package/lib/renderers/Table/TableRow.js +14 -13
- package/lib/renderers/Table/TableRow.js.map +2 -2
- package/lib/renderers/Table/index.d.ts +28 -3
- package/lib/renderers/Table/index.js +92 -52
- package/lib/renderers/Table/index.js.map +2 -2
- package/lib/schemaExtend.d.ts +1 -0
- package/lib/schemaExtend.js +59 -0
- package/lib/schemaExtend.js.map +13 -0
- package/lib/store/app.d.ts +0 -1
- package/lib/store/combo.d.ts +0 -2
- package/lib/store/crud.d.ts +3 -3
- package/lib/store/crud.js +41 -36
- package/lib/store/crud.js.map +2 -2
- package/lib/store/form.d.ts +0 -1
- package/lib/store/formItem.js +10 -6
- package/lib/store/formItem.js.map +2 -2
- package/lib/store/modal.d.ts +1 -1
- package/lib/store/modal.js +4 -0
- package/lib/store/modal.js.map +2 -2
- package/lib/store/root.d.ts +0 -1
- package/lib/store/service.d.ts +0 -1
- package/lib/store/service.js +0 -13
- package/lib/store/service.js.map +2 -2
- package/lib/store/table.d.ts +1 -2
- package/lib/store/table.js +44 -3
- package/lib/store/table.js.map +2 -2
- package/lib/themes/ang-ie11.css +624 -71
- package/lib/themes/ang.css +624 -71
- package/lib/themes/ang.css.map +1 -1
- package/lib/themes/antd-ie11.css +624 -71
- package/lib/themes/antd.css +624 -71
- package/lib/themes/antd.css.map +1 -1
- package/lib/themes/cxd-ie11.css +732 -191
- package/lib/themes/cxd.css +732 -191
- package/lib/themes/cxd.css.map +1 -1
- package/lib/themes/dark-ie11.css +624 -71
- package/lib/themes/dark.css +624 -71
- package/lib/themes/dark.css.map +1 -1
- package/lib/themes/default.css +732 -191
- package/lib/themes/default.css.map +1 -1
- package/lib/utils/api.js +12 -0
- package/lib/utils/api.js.map +2 -2
- package/lib/utils/attachmentAdpator.d.ts +7 -0
- package/lib/utils/attachmentAdpator.js +82 -0
- package/lib/utils/attachmentAdpator.js.map +13 -0
- package/lib/utils/helper.d.ts +2 -0
- package/lib/utils/helper.js +14 -1
- package/lib/utils/helper.js.map +2 -2
- package/lib/utils/resize-sensor.js +6 -0
- package/lib/utils/resize-sensor.js.map +2 -2
- package/lib/utils/tpl-builtin.d.ts +1 -0
- package/lib/utils/tpl-builtin.js +24 -8
- package/lib/utils/tpl-builtin.js.map +2 -2
- package/lib/utils/validations.js +62 -5
- package/lib/utils/validations.js.map +2 -2
- package/package.json +1 -2
- package/schema.json +561 -171
- package/scss/_mixins.scss +29 -0
- package/scss/_properties.scss +29 -11
- package/scss/components/_badge.scss +67 -2
- package/scss/components/_button.scss +35 -3
- package/scss/components/_image-gallery.scss +1 -1
- package/scss/components/_list.scss +8 -0
- package/scss/components/_markdown.scss +266 -0
- package/scss/components/_nav.scss +109 -35
- package/scss/components/_spinner.scss +6 -2
- package/scss/components/_table.scss +4 -0
- package/scss/components/form/_form.scss +3 -17
- package/scss/components/form/_group.scss +4 -0
- package/scss/components/form/_number.scss +12 -1
- package/scss/themes/_common.scss +1 -0
- package/scss/themes/_cxd-variables.scss +20 -20
- package/sdk/ang-ie11.css +769 -76
- package/sdk/ang.css +785 -76
- package/sdk/antd-ie11.css +759 -68
- package/sdk/antd.css +785 -76
- package/sdk/charts.js +13 -13
- package/sdk/color-picker.js +67 -67
- package/sdk/cropperjs.js +2 -2
- package/sdk/cxd-ie11.css +1243 -552
- package/sdk/cxd.css +893 -196
- package/sdk/dark-ie11.css +769 -76
- package/sdk/dark.css +785 -76
- package/sdk/exceljs.js +1 -1
- package/sdk/helper.css.map +1 -1
- package/sdk/locale/de-DE.js +1 -0
- package/sdk/markdown.js +69 -69
- package/sdk/papaparse.js +1 -1
- package/sdk/renderers/Form/CityDB.js +1 -1
- package/sdk/rest.js +22 -24
- package/sdk/rich-text.js +62 -64
- package/sdk/sdk-ie11.css +1243 -552
- package/sdk/sdk.css +893 -196
- package/sdk/sdk.js +1123 -1111
- package/sdk/thirds/hls.js/hls.js +1 -1
- package/sdk/thirds/mpegts.js/mpegts.js +1 -1
- package/sdk/tinymce.js +57 -57
- package/sdk.zip +0 -0
- package/src/components/Badge.tsx +111 -20
- package/src/components/Button.tsx +23 -7
- package/src/components/Checkbox.tsx +5 -2
- package/src/components/Drawer.tsx +3 -2
- package/src/components/Modal.tsx +3 -2
- package/src/components/RichText.tsx +280 -24
- package/src/components/Select.tsx +1 -0
- package/src/components/Steps.tsx +3 -3
- package/src/components/WithRemoteConfig.tsx +37 -2
- package/src/components/calendar/DaysView.tsx +2 -2
- package/src/components/condition-builder/Field.tsx +1 -2
- package/src/components/condition-builder/Value.tsx +3 -0
- package/src/components/condition-builder/types.ts +6 -0
- package/src/components/icons.tsx +2 -0
- package/src/factory.tsx +13 -3
- package/src/icons/loading-outline.svg +4 -0
- package/src/index.tsx +2 -0
- package/src/locale/de-DE.ts +1 -0
- package/src/locale/en-US.ts +2 -1
- package/src/locale/zh-CN.ts +2 -1
- package/src/renderers/Action.tsx +84 -14
- package/src/renderers/CRUD.tsx +13 -33
- package/src/renderers/Card.tsx +21 -15
- package/src/renderers/Collapse.tsx +5 -1
- package/src/renderers/Dialog.tsx +3 -2
- package/src/renderers/Drawer.tsx +2 -1
- package/src/renderers/DropDownButton.tsx +21 -4
- package/src/renderers/Form/ButtonGroupSelect.tsx +3 -0
- package/src/renderers/Form/Combo.tsx +7 -0
- package/src/renderers/Form/Editor.tsx +19 -20
- package/src/renderers/Form/InputExcel.tsx +28 -3
- package/src/renderers/Form/InputImage.tsx +23 -8
- package/src/renderers/Form/InputNumber.tsx +113 -18
- package/src/renderers/Form/InputRange.tsx +5 -2
- package/src/renderers/Form/InputTable.tsx +88 -9
- package/src/renderers/Form/Options.tsx +3 -1
- package/src/renderers/Form/index.tsx +0 -15
- package/src/renderers/Form/wrapControl.tsx +2 -2
- package/src/renderers/Json.tsx +10 -1
- package/src/renderers/List.tsx +32 -19
- package/src/renderers/Nav.tsx +165 -36
- package/src/renderers/Page.tsx +20 -1
- package/src/renderers/Service.tsx +101 -3
- package/src/renderers/Steps.tsx +12 -9
- package/src/renderers/Table/TableBody.tsx +29 -10
- package/src/renderers/Table/TableCell.tsx +15 -1
- package/src/renderers/Table/TableContent.tsx +7 -1
- package/src/renderers/Table/TableRow.tsx +18 -17
- package/src/renderers/Table/index.tsx +112 -27
- package/src/schemaExtend.ts +66 -0
- package/src/store/crud.ts +34 -38
- package/src/store/formItem.ts +10 -6
- package/src/store/modal.ts +4 -0
- package/src/store/service.ts +0 -19
- package/src/store/table.ts +48 -0
- package/src/utils/api.ts +11 -0
- package/src/utils/attachmentAdpator.ts +90 -0
- package/src/utils/helper.ts +16 -0
- package/src/utils/resize-sensor.ts +7 -0
- package/src/utils/tpl-builtin.ts +36 -17
- package/src/utils/validations.ts +80 -12
@@ -5,6 +5,7 @@ var tslib_1 = require("tslib");
|
|
5
5
|
var react_1 = (0, tslib_1.__importDefault)(require("react"));
|
6
6
|
var TableRow_1 = require("./TableRow");
|
7
7
|
var tpl_1 = require("../../utils/tpl");
|
8
|
+
var mobx_react_1 = require("mobx-react");
|
8
9
|
var helper_1 = require("../../utils/helper");
|
9
10
|
var TableBody = /** @class */ (function (_super) {
|
10
11
|
(0, tslib_1.__extends)(TableBody, _super);
|
@@ -15,11 +16,11 @@ var TableBody = /** @class */ (function (_super) {
|
|
15
16
|
var _this = this;
|
16
17
|
if (columns === void 0) { columns = this.props.columns; }
|
17
18
|
if (rowProps === void 0) { rowProps = {}; }
|
18
|
-
var _a = this.props, rowClassName = _a.rowClassName, rowClassNameExpr = _a.rowClassNameExpr, onAction = _a.onAction, buildItemProps = _a.buildItemProps, checkOnItemClick = _a.checkOnItemClick, cx = _a.classnames, render = _a.render, renderCell = _a.renderCell, onCheck = _a.onCheck, onQuickChange = _a.onQuickChange, footable = _a.footable, ignoreFootableContent = _a.ignoreFootableContent, footableColumns = _a.footableColumns;
|
19
|
+
var _a = this.props, rowClassName = _a.rowClassName, rowClassNameExpr = _a.rowClassNameExpr, onAction = _a.onAction, buildItemProps = _a.buildItemProps, checkOnItemClick = _a.checkOnItemClick, cx = _a.classnames, render = _a.render, renderCell = _a.renderCell, onCheck = _a.onCheck, onQuickChange = _a.onQuickChange, footable = _a.footable, ignoreFootableContent = _a.ignoreFootableContent, footableColumns = _a.footableColumns, itemAction = _a.itemAction;
|
19
20
|
return rows.map(function (item, rowIndex) {
|
20
21
|
var itemProps = buildItemProps ? buildItemProps(item, rowIndex) : null;
|
21
22
|
var doms = [
|
22
|
-
react_1.default.createElement(TableRow_1.TableRow, (0, tslib_1.__assign)({}, itemProps, { classnames: cx, checkOnItemClick: checkOnItemClick, key: item.id, itemIndex: rowIndex, item: item, itemClassName: cx(rowClassNameExpr
|
23
|
+
react_1.default.createElement(TableRow_1.TableRow, (0, tslib_1.__assign)({}, itemProps, { itemAction: itemAction, classnames: cx, checkOnItemClick: checkOnItemClick, key: item.id, itemIndex: rowIndex, item: item, itemClassName: cx(rowClassNameExpr
|
23
24
|
? (0, tpl_1.filter)(rowClassNameExpr, item.data)
|
24
25
|
: rowClassName, {
|
25
26
|
'is-last': item.depth > 1 && rowIndex === rows.length - 1
|
@@ -29,19 +30,19 @@ var TableBody = /** @class */ (function (_super) {
|
|
29
30
|
];
|
30
31
|
if (footable && footableColumns.length) {
|
31
32
|
if (item.depth === 1) {
|
32
|
-
doms.push(react_1.default.createElement(TableRow_1.TableRow, (0, tslib_1.__assign)({}, itemProps, { classnames: cx, checkOnItemClick: checkOnItemClick, key: "foot-" + item.id, itemIndex: rowIndex, item: item, itemClassName: cx(rowClassNameExpr
|
33
|
+
doms.push(react_1.default.createElement(TableRow_1.TableRow, (0, tslib_1.__assign)({}, itemProps, { itemAction: itemAction, classnames: cx, checkOnItemClick: checkOnItemClick, key: "foot-" + item.id, itemIndex: rowIndex, item: item, itemClassName: cx(rowClassNameExpr
|
33
34
|
? (0, tpl_1.filter)(rowClassNameExpr, item.data)
|
34
35
|
: rowClassName), columns: footableColumns, renderCell: renderCell, render: render, onAction: onAction, onCheck: onCheck, footableMode: true, footableColSpan: columns.length, onQuickChange: onQuickChange, ignoreFootableContent: ignoreFootableContent }, rowProps)));
|
35
36
|
}
|
36
37
|
}
|
37
|
-
else if (item.children.length) {
|
38
|
+
else if (item.children.length && item.expanded) {
|
38
39
|
// 嵌套表格
|
39
40
|
doms.push.apply(doms, _this.renderRows(item.children, columns, (0, tslib_1.__assign)((0, tslib_1.__assign)({}, rowProps), { parent: item })));
|
40
41
|
}
|
41
42
|
return doms;
|
42
43
|
});
|
43
44
|
};
|
44
|
-
TableBody.prototype.renderSummaryRow = function (items) {
|
45
|
+
TableBody.prototype.renderSummaryRow = function (position, items, rowIndex) {
|
45
46
|
var _a = this.props, columns = _a.columns, render = _a.render, data = _a.data, cx = _a.classnames, rows = _a.rows;
|
46
47
|
if (!(Array.isArray(items) && items.length)) {
|
47
48
|
return null;
|
@@ -69,28 +70,33 @@ var TableBody = /** @class */ (function (_super) {
|
|
69
70
|
var ctx = (0, helper_1.createObject)(data, {
|
70
71
|
items: rows.map(function (row) { return row.locals; })
|
71
72
|
});
|
72
|
-
return (react_1.default.createElement("tr", { className: cx('Table-tr', 'is-summary') }, result.map(function (item, index) {
|
73
|
+
return (react_1.default.createElement("tr", { className: cx('Table-tr', 'is-summary'), key: "summary-" + position + "-" + (rowIndex || 0) }, result.map(function (item, index) {
|
73
74
|
var Com = item.isHead ? 'th' : 'td';
|
74
75
|
return (react_1.default.createElement(Com, { key: index, colSpan: item.colSpan, className: item.cellClassName }, render("summary-row/" + index, item, {
|
75
76
|
data: ctx
|
76
77
|
})));
|
77
78
|
})));
|
78
79
|
};
|
79
|
-
TableBody.prototype.renderSummary = function (items) {
|
80
|
+
TableBody.prototype.renderSummary = function (position, items) {
|
80
81
|
var _this = this;
|
81
82
|
return Array.isArray(items)
|
82
83
|
? items.some(function (i) { return Array.isArray(i); })
|
83
|
-
? items.map(function (i) {
|
84
|
-
|
84
|
+
? items.map(function (i, rowIndex) {
|
85
|
+
return _this.renderSummaryRow(position, Array.isArray(i) ? i : [i], rowIndex);
|
86
|
+
})
|
87
|
+
: this.renderSummaryRow(position, items)
|
85
88
|
: null;
|
86
89
|
};
|
87
90
|
TableBody.prototype.render = function () {
|
88
91
|
var _a = this.props, cx = _a.classnames, className = _a.className, render = _a.render, rows = _a.rows, columns = _a.columns, rowsProps = _a.rowsProps, prefixRow = _a.prefixRow, affixRow = _a.affixRow, __ = _a.translate;
|
89
92
|
return (react_1.default.createElement("tbody", { className: className }, rows.length ? (react_1.default.createElement(react_1.default.Fragment, null,
|
90
|
-
this.renderSummary(prefixRow),
|
93
|
+
this.renderSummary('prefix', prefixRow),
|
91
94
|
this.renderRows(rows, columns, rowsProps),
|
92
|
-
this.renderSummary(affixRow))) : null));
|
95
|
+
this.renderSummary('affix', affixRow))) : null));
|
93
96
|
};
|
97
|
+
TableBody = (0, tslib_1.__decorate)([
|
98
|
+
mobx_react_1.observer
|
99
|
+
], TableBody);
|
94
100
|
return TableBody;
|
95
101
|
}(react_1.default.Component));
|
96
102
|
exports.TableBody = TableBody;
|
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/renderers/Table/TableBody.tsx"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": ";;;;AAAA,6DAA0B;AAI1B,uCAAoC;AACpC,uCAAuC;
|
9
|
+
"mappings": ";;;;AAAA,6DAA0B;AAI1B,uCAAoC;AACpC,uCAAuC;AACvC,yCAAoC;AAEpC,6CAA6D;AAwC7D;IAA+B,0CAA+B;IAA9D;;IA0MA,CAAC;IAzMC,8BAAU,GAAV,UACE,IAAgB,EAChB,OAA4B,EAC5B,QAAkB;QAHpB,iBA6FC;QA3FC,wBAAA,EAAA,UAAU,IAAI,CAAC,KAAK,CAAC,OAAO;QAC5B,yBAAA,EAAA,aAAkB;QAEZ,IAAA,KAeF,IAAI,CAAC,KAAK,EAdZ,YAAY,kBAAA,EACZ,gBAAgB,sBAAA,EAChB,QAAQ,cAAA,EACR,cAAc,oBAAA,EACd,gBAAgB,sBAAA,EACJ,EAAE,gBAAA,EACd,MAAM,YAAA,EACN,UAAU,gBAAA,EACV,OAAO,aAAA,EACP,aAAa,mBAAA,EACb,QAAQ,cAAA,EACR,qBAAqB,2BAAA,EACrB,eAAe,qBAAA,EACf,UAAU,gBACE,CAAC;QAEf,OAAO,IAAI,CAAC,GAAG,CAAC,UAAC,IAAU,EAAE,QAAgB;YAC3C,IAAM,SAAS,GAAG,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAEzE,IAAM,IAAI,GAAG;gBACX,8BAAC,mBAAQ,4BACH,SAAS,IACb,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,EAAE,EACd,gBAAgB,EAAE,gBAAgB,EAClC,GAAG,EAAE,IAAI,CAAC,EAAE,EACZ,SAAS,EAAE,QAAQ,EACnB,IAAI,EAAE,IAAI,EACV,aAAa,EAAE,EAAE,CACf,gBAAgB;wBACd,CAAC,CAAC,IAAA,YAAM,EAAC,gBAAgB,EAAE,IAAI,CAAC,IAAI,CAAC;wBACrC,CAAC,CAAC,YAAY,EAChB;wBACE,SAAS,EAAE,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,QAAQ,KAAK,IAAI,CAAC,MAAM,GAAG,CAAC;qBAC1D,CACF,EACD,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO;oBAChB,+CAA+C;oBAC/C,aAAa,EAAE,aAAa,IACxB,QAAQ,EACZ;aACH,CAAC;YAEF,IAAI,QAAQ,IAAI,eAAe,CAAC,MAAM,EAAE;gBACtC,IAAI,IAAI,CAAC,KAAK,KAAK,CAAC,EAAE;oBACpB,IAAI,CAAC,IAAI,CACP,8BAAC,mBAAQ,4BACH,SAAS,IACb,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,EAAE,EACd,gBAAgB,EAAE,gBAAgB,EAClC,GAAG,EAAE,UAAQ,IAAI,CAAC,EAAI,EACtB,SAAS,EAAE,QAAQ,EACnB,IAAI,EAAE,IAAI,EACV,aAAa,EAAE,EAAE,CACf,gBAAgB;4BACd,CAAC,CAAC,IAAA,YAAM,EAAC,gBAAgB,EAAE,IAAI,CAAC,IAAI,CAAC;4BACrC,CAAC,CAAC,YAAY,CACjB,EACD,OAAO,EAAE,eAAe,EACxB,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,EAChB,YAAY,QACZ,eAAe,EAAE,OAAO,CAAC,MAAM,EAC/B,aAAa,EAAE,aAAa,EAC5B,qBAAqB,EAAE,qBAAqB,IACxC,QAAQ,EACZ,CACH,CAAC;iBACH;aACF;iBAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE;gBAChD,OAAO;gBACP,IAAI,CAAC,IAAI,OAAT,IAAI,EACC,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,kDACpC,QAAQ,KACX,MAAM,EAAE,IAAI,IACZ,EACF;aACH;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC;IAED,oCAAgB,GAAhB,UACE,QAA4B,EAC5B,KAAkB,EAClB,QAAiB;QAEX,IAAA,KAAgD,IAAI,CAAC,KAAK,EAAzD,OAAO,aAAA,EAAE,MAAM,YAAA,EAAE,IAAI,UAAA,EAAc,EAAE,gBAAA,EAAE,IAAI,UAAc,CAAC;QAEjE,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,EAAE;YAC3C,OAAO,IAAI,CAAC;SACb;QAED,IAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,QAAQ,EAAb,CAAa,CAAC,CAAC;QAC5D,IAAM,MAAM,GAAU,EAAE,CAAC;QAEzB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,aAAa,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;YACzD,IAAM,IAAI,GAAG,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC;YAClD,IAAI,IAAI,MAAM,CAAC,IAAI,2BAAK,IAAI,EAAE,CAAC;SAChC;QAED,oBAAoB;QACpB,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE;YAChD,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;SAClD;QAED,oBAAoB;QACpB,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE;YACjD,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;SAClD;QAED,WAAW;QACX,IAAM,SAAS,GACb,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,EAApB,CAAoB,EAAE,CAAC,CAAC,CAAC;QAEpE,IAAI,SAAS,EAAE;YACb,IAAM,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC;YAC1B,MAAM,CAAC,IAAI,iDACN,IAAI,KACP,OAAO,EAAE,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,GAAG,SAAS,IACxC,CAAC;SACJ;QACD,IAAM,GAAG,GAAG,IAAA,qBAAY,EAAC,IAAI,EAAE;YAC7B,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,UAAA,GAAG,IAAI,OAAA,GAAG,CAAC,MAAM,EAAV,CAAU,CAAC;SACnC,CAAC,CAAC;QAEH,OAAO,CACL,sCACE,SAAS,EAAE,EAAE,CAAC,UAAU,EAAE,YAAY,CAAC,EACvC,GAAG,EAAE,aAAW,QAAQ,UAAI,QAAQ,IAAI,CAAC,CAAE,IAE1C,MAAM,CAAC,GAAG,CAAC,UAAC,IAAI,EAAE,KAAK;YACtB,IAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;YACtC,OAAO,CACL,8BAAC,GAAG,IACF,GAAG,EAAE,KAAK,EACV,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,SAAS,EAAE,IAAI,CAAC,aAAa,IAE5B,MAAM,CAAC,iBAAe,KAAO,EAAE,IAAI,EAAE;gBACpC,IAAI,EAAE,GAAG;aACV,CAAC,CACE,CACP,CAAC;QACJ,CAAC,CAAC,CACC,CACN,CAAC;IACJ,CAAC;IAED,iCAAa,GAAb,UAAc,QAA4B,EAAE,KAAkB;QAA9D,iBAYC;QAXC,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YACzB,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,UAAA,CAAC,IAAI,OAAA,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAhB,CAAgB,CAAC;gBACjC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,UAAC,CAAC,EAAE,QAAQ;oBACpB,OAAA,KAAI,CAAC,gBAAgB,CACnB,QAAQ,EACR,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAC1B,QAAQ,CACT;gBAJD,CAIC,CACF;gBACH,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,KAAK,CAAC;YAC1C,CAAC,CAAC,IAAI,CAAC;IACX,CAAC;IAED,0BAAM,GAAN;QACQ,IAAA,KAUF,IAAI,CAAC,KAAK,EATA,EAAE,gBAAA,EACd,SAAS,eAAA,EACT,MAAM,YAAA,EACN,IAAI,UAAA,EACJ,OAAO,aAAA,EACP,SAAS,eAAA,EACT,SAAS,eAAA,EACT,QAAQ,cAAA,EACG,EAAE,eACD,CAAC;QAEf,OAAO,CACL,yCAAO,SAAS,EAAE,SAAS,IACxB,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CACb;YACG,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,SAAS,CAAC;YACvC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC;YACzC,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,QAAQ,CAAC,CACrC,CACJ,CAAC,CAAC,CAAC,IAAI,CACF,CACT,CAAC;IACJ,CAAC;IAzMU,SAAS;QADrB,qBAAQ;OACI,SAAS,CA0MrB;IAAD,gBAAC;CAAA,AA1MD,CAA+B,eAAK,CAAC,SAAS,GA0M7C;AA1MY,8BAAS",
|
10
10
|
"sourcesContent": [
|
11
|
-
"import React from 'react';\nimport {ClassNamesFn} from '../../theme';\nimport {IColumn, IRow} from '../../store/table';\nimport {SchemaNode, Action} from '../../types';\nimport {TableRow} from './TableRow';\nimport {filter} from '../../utils/tpl';\nimport {observer} from 'mobx-react';\nimport {trace, reaction} from 'mobx';\nimport {createObject, flattenTree} from '../../utils/helper';\nimport {LocaleProps} from '../../locale';\n\nexport interface TableBodyProps extends LocaleProps {\n className?: string;\n rowsProps?: any;\n tableClassName?: string;\n classnames: ClassNamesFn;\n columns: Array<IColumn>;\n rows: Array<IRow>;\n render: (region: string, node: SchemaNode, props?: any) => JSX.Element;\n renderCell: (\n region: string,\n column: IColumn,\n item: IRow,\n props: any\n ) => React.ReactNode;\n onCheck: (item: IRow) => void;\n onQuickChange?: (\n item: IRow,\n values: object,\n saveImmediately?: boolean | any,\n savePristine?: boolean\n ) => void;\n footable?: boolean;\n ignoreFootableContent?: boolean;\n footableColumns: Array<IColumn>;\n checkOnItemClick?: boolean;\n buildItemProps?: (item: IRow, index: number) => any;\n onAction?: (e: React.UIEvent<any>, action: Action, ctx: object) => void;\n rowClassNameExpr?: string;\n rowClassName?: string;\n data?: any;\n prefixRow?: Array<any>;\n affixRow?: Array<any>;\n}\n\nexport class TableBody extends React.Component<TableBodyProps> {\n renderRows(\n rows: Array<any>,\n columns = this.props.columns,\n rowProps: any = {}\n ): any {\n const {\n rowClassName,\n rowClassNameExpr,\n onAction,\n buildItemProps,\n checkOnItemClick,\n classnames: cx,\n render,\n renderCell,\n onCheck,\n onQuickChange,\n footable,\n ignoreFootableContent,\n footableColumns\n } = this.props;\n\n return rows.map((item: IRow, rowIndex: number) => {\n const itemProps = buildItemProps ? buildItemProps(item, rowIndex) : null;\n\n const doms = [\n <TableRow\n {...itemProps}\n classnames={cx}\n checkOnItemClick={checkOnItemClick}\n key={item.id}\n itemIndex={rowIndex}\n item={item}\n itemClassName={cx(\n rowClassNameExpr\n ? filter(rowClassNameExpr, item.data)\n : rowClassName,\n {\n 'is-last': item.depth > 1 && rowIndex === rows.length - 1\n }\n )}\n columns={columns}\n renderCell={renderCell}\n render={render}\n onAction={onAction}\n onCheck={onCheck}\n // todo 先注释 quickEditEnabled={item.depth === 1}\n onQuickChange={onQuickChange}\n {...rowProps}\n />\n ];\n\n if (footable && footableColumns.length) {\n if (item.depth === 1) {\n doms.push(\n <TableRow\n {...itemProps}\n classnames={cx}\n checkOnItemClick={checkOnItemClick}\n key={`foot-${item.id}`}\n itemIndex={rowIndex}\n item={item}\n itemClassName={cx(\n rowClassNameExpr\n ? filter(rowClassNameExpr, item.data)\n : rowClassName\n )}\n columns={footableColumns}\n renderCell={renderCell}\n render={render}\n onAction={onAction}\n onCheck={onCheck}\n footableMode\n footableColSpan={columns.length}\n onQuickChange={onQuickChange}\n ignoreFootableContent={ignoreFootableContent}\n {...rowProps}\n />\n );\n }\n } else if (item.children.length) {\n // 嵌套表格\n doms.push(\n ...this.renderRows(item.children, columns, {\n ...rowProps,\n parent: item\n })\n );\n }\n return doms;\n });\n }\n\n renderSummaryRow(items?: Array<any
|
11
|
+
"import React from 'react';\nimport {ClassNamesFn} from '../../theme';\nimport {IColumn, IRow} from '../../store/table';\nimport {SchemaNode, Action} from '../../types';\nimport {TableRow} from './TableRow';\nimport {filter} from '../../utils/tpl';\nimport {observer} from 'mobx-react';\nimport {trace, reaction} from 'mobx';\nimport {createObject, flattenTree} from '../../utils/helper';\nimport {LocaleProps} from '../../locale';\nimport {ActionSchema} from '../Action';\n\nexport interface TableBodyProps extends LocaleProps {\n className?: string;\n rowsProps?: any;\n tableClassName?: string;\n classnames: ClassNamesFn;\n columns: Array<IColumn>;\n rows: Array<IRow>;\n render: (region: string, node: SchemaNode, props?: any) => JSX.Element;\n renderCell: (\n region: string,\n column: IColumn,\n item: IRow,\n props: any\n ) => React.ReactNode;\n onCheck: (item: IRow, value: boolean, shift?: boolean) => void;\n onQuickChange?: (\n item: IRow,\n values: object,\n saveImmediately?: boolean | any,\n savePristine?: boolean\n ) => void;\n footable?: boolean;\n ignoreFootableContent?: boolean;\n footableColumns: Array<IColumn>;\n checkOnItemClick?: boolean;\n buildItemProps?: (item: IRow, index: number) => any;\n onAction?: (e: React.UIEvent<any>, action: Action, ctx: object) => void;\n rowClassNameExpr?: string;\n rowClassName?: string;\n data?: any;\n prefixRow?: Array<any>;\n affixRow?: Array<any>;\n itemAction?: ActionSchema;\n}\n\n@observer\nexport class TableBody extends React.Component<TableBodyProps> {\n renderRows(\n rows: Array<any>,\n columns = this.props.columns,\n rowProps: any = {}\n ): any {\n const {\n rowClassName,\n rowClassNameExpr,\n onAction,\n buildItemProps,\n checkOnItemClick,\n classnames: cx,\n render,\n renderCell,\n onCheck,\n onQuickChange,\n footable,\n ignoreFootableContent,\n footableColumns,\n itemAction\n } = this.props;\n\n return rows.map((item: IRow, rowIndex: number) => {\n const itemProps = buildItemProps ? buildItemProps(item, rowIndex) : null;\n\n const doms = [\n <TableRow\n {...itemProps}\n itemAction={itemAction}\n classnames={cx}\n checkOnItemClick={checkOnItemClick}\n key={item.id}\n itemIndex={rowIndex}\n item={item}\n itemClassName={cx(\n rowClassNameExpr\n ? filter(rowClassNameExpr, item.data)\n : rowClassName,\n {\n 'is-last': item.depth > 1 && rowIndex === rows.length - 1\n }\n )}\n columns={columns}\n renderCell={renderCell}\n render={render}\n onAction={onAction}\n onCheck={onCheck}\n // todo 先注释 quickEditEnabled={item.depth === 1}\n onQuickChange={onQuickChange}\n {...rowProps}\n />\n ];\n\n if (footable && footableColumns.length) {\n if (item.depth === 1) {\n doms.push(\n <TableRow\n {...itemProps}\n itemAction={itemAction}\n classnames={cx}\n checkOnItemClick={checkOnItemClick}\n key={`foot-${item.id}`}\n itemIndex={rowIndex}\n item={item}\n itemClassName={cx(\n rowClassNameExpr\n ? filter(rowClassNameExpr, item.data)\n : rowClassName\n )}\n columns={footableColumns}\n renderCell={renderCell}\n render={render}\n onAction={onAction}\n onCheck={onCheck}\n footableMode\n footableColSpan={columns.length}\n onQuickChange={onQuickChange}\n ignoreFootableContent={ignoreFootableContent}\n {...rowProps}\n />\n );\n }\n } else if (item.children.length && item.expanded) {\n // 嵌套表格\n doms.push(\n ...this.renderRows(item.children, columns, {\n ...rowProps,\n parent: item\n })\n );\n }\n return doms;\n });\n }\n\n renderSummaryRow(\n position: 'prefix' | 'affix',\n items?: Array<any>,\n rowIndex?: number\n ) {\n const {columns, render, data, classnames: cx, rows} = this.props;\n\n if (!(Array.isArray(items) && items.length)) {\n return null;\n }\n\n const filterColumns = columns.filter(item => item.toggable);\n const result: any[] = [];\n\n for (let index = 0; index < filterColumns.length; index++) {\n const item = items[filterColumns[index].rawIndex];\n item && result.push({...item});\n }\n\n // 如果是勾选栏,让它和下一列合并。\n if (columns[0].type === '__checkme' && result[0]) {\n result[0].colSpan = (result[0].colSpan || 1) + 1;\n }\n\n // 如果是展开栏,让它和下一列合并。\n if (columns[0].type === '__expandme' && result[0]) {\n result[0].colSpan = (result[0].colSpan || 1) + 1;\n }\n\n // 缺少的单元格补齐\n const appendLen =\n columns.length - result.reduce((p, c) => p + (c.colSpan || 1), 0);\n\n if (appendLen) {\n const item = result.pop();\n result.push({\n ...item,\n colSpan: (item.colSpan || 1) + appendLen\n });\n }\n const ctx = createObject(data, {\n items: rows.map(row => row.locals)\n });\n\n return (\n <tr\n className={cx('Table-tr', 'is-summary')}\n key={`summary-${position}-${rowIndex || 0}`}\n >\n {result.map((item, index) => {\n const Com = item.isHead ? 'th' : 'td';\n return (\n <Com\n key={index}\n colSpan={item.colSpan}\n className={item.cellClassName}\n >\n {render(`summary-row/${index}`, item, {\n data: ctx\n })}\n </Com>\n );\n })}\n </tr>\n );\n }\n\n renderSummary(position: 'prefix' | 'affix', items?: Array<any>) {\n return Array.isArray(items)\n ? items.some(i => Array.isArray(i))\n ? items.map((i, rowIndex) =>\n this.renderSummaryRow(\n position,\n Array.isArray(i) ? i : [i],\n rowIndex\n )\n )\n : this.renderSummaryRow(position, items)\n : null;\n }\n\n render() {\n const {\n classnames: cx,\n className,\n render,\n rows,\n columns,\n rowsProps,\n prefixRow,\n affixRow,\n translate: __\n } = this.props;\n\n return (\n <tbody className={className}>\n {rows.length ? (\n <>\n {this.renderSummary('prefix', prefixRow)}\n {this.renderRows(rows, columns, rowsProps)}\n {this.renderSummary('affix', affixRow)}\n </>\n ) : null}\n </tbody>\n );\n }\n}\n"
|
12
12
|
]
|
13
13
|
}
|
@@ -9,13 +9,14 @@ var Copyable_1 = (0, tslib_1.__importDefault)(require("../Copyable"));
|
|
9
9
|
var PopOver_1 = (0, tslib_1.__importDefault)(require("../PopOver"));
|
10
10
|
var mobx_react_1 = require("mobx-react");
|
11
11
|
var omit = require("lodash/omit");
|
12
|
+
var tpl_1 = require("../../utils/tpl");
|
12
13
|
var TableCell = /** @class */ (function (_super) {
|
13
14
|
(0, tslib_1.__extends)(TableCell, _super);
|
14
15
|
function TableCell() {
|
15
16
|
return _super !== null && _super.apply(this, arguments) || this;
|
16
17
|
}
|
17
18
|
TableCell.prototype.render = function () {
|
18
|
-
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"]);
|
19
|
+
var _a = this.props, cx = _a.classnames, className = _a.className, classNameExpr = _a.classNameExpr, render = _a.render, style = _a.style, Component = _a.wrapperComponent, column = _a.column, value = _a.value, data = _a.data, children = _a.children, width = _a.width, align = _a.align, 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, ["classnames", "className", "classNameExpr", "render", "style", "wrapperComponent", "column", "value", "data", "children", "width", "align", "innerClassName", "label", "tabIndex", "onKeyUp", "rowSpan", "body", "tpl", "remark", "prefix", "affix", "isHead"]);
|
19
20
|
var schema = (0, tslib_1.__assign)((0, tslib_1.__assign)({}, column), { className: innerClassName, type: (column && column.type) || 'plain' });
|
20
21
|
// 如果本来就是 type 为 button,不要删除,其他情况下都应该删除。
|
21
22
|
if (schema.type !== 'button' && schema.type !== 'dropdown-button') {
|
@@ -36,13 +37,16 @@ var TableCell = /** @class */ (function (_super) {
|
|
36
37
|
// delete style.width;
|
37
38
|
}
|
38
39
|
}
|
40
|
+
if (align) {
|
41
|
+
style = (0, tslib_1.__assign)((0, tslib_1.__assign)({}, style), { textAlign: align });
|
42
|
+
}
|
39
43
|
if (!Component) {
|
40
44
|
return body;
|
41
45
|
}
|
42
46
|
if (isHead) {
|
43
47
|
Component = 'th';
|
44
48
|
}
|
45
|
-
return (react_1.default.createElement(Component, { rowSpan: rowSpan > 1 ? rowSpan : undefined, style: style, className: className, tabIndex: tabIndex, onKeyUp: onKeyUp },
|
49
|
+
return (react_1.default.createElement(Component, { rowSpan: rowSpan > 1 ? rowSpan : undefined, style: style, className: cx(className, column.classNameExpr ? (0, tpl_1.filter)(column.classNameExpr, data) : null), tabIndex: tabIndex, onKeyUp: onKeyUp },
|
46
50
|
prefix,
|
47
51
|
body,
|
48
52
|
affix));
|
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/renderers/Table/TableCell.tsx"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": ";;;;AAAA,6DAA0B;AAC1B,yCAAsD;AACtD,wEAAqC;AACrC,sEAAmC;AACnC,oEAAqC;AACrC,yCAAoC;AACpC,kCAAqC;
|
9
|
+
"mappings": ";;;;AAAA,6DAA0B;AAC1B,yCAAsD;AACtD,wEAAqC;AACrC,sEAAmC;AACnC,oEAAqC;AACrC,yCAAoC;AACpC,kCAAqC;AACrC,uCAAuC;AAMvC;IAA+B,0CAA8B;IAA7D;;IAmHA,CAAC;IApGC,0BAAM,GAAN;QACE,IAAI,KAyBA,IAAI,CAAC,KAAK,EAxBA,EAAE,gBAAA,EACd,SAAS,eAAA,EACT,aAAa,mBAAA,EACb,MAAM,YAAA,EACN,KAAK,WAAA,EACa,SAAS,sBAAA,EAC3B,MAAM,YAAA,EACN,KAAK,WAAA,EACL,IAAI,UAAA,EACJ,QAAQ,cAAA,EACR,KAAK,WAAA,EACL,KAAK,WAAA,EACL,cAAc,oBAAA,EACd,KAAK,WAAA,EACL,QAAQ,cAAA,EACR,OAAO,aAAA,EACP,OAAO,aAAA,EACD,KAAK,UAAA,EACX,GAAG,SAAA,EACH,MAAM,YAAA,EACN,MAAM,YAAA,EACN,KAAK,WAAA,EACL,MAAM,YAAA,EACH,IAAI,2BAxBL,+PAyBH,CAAa,CAAC;QAEf,IAAM,MAAM,mDACP,MAAM,KACT,SAAS,EAAE,cAAc,EACzB,IAAI,EAAE,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,OAAO,GACzC,CAAC;QAEF,wCAAwC;QACxC,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,KAAK,iBAAiB,EAAE;YACjE,OAAO,MAAM,CAAC,KAAK,CAAC;SACrB;QAED,IAAI,IAAI,GAAG,QAAQ;YACjB,CAAC,CAAC,QAAQ;YACV,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,kDACjB,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,KAClC,SAAS,EAAE,IAAI,EACf,KAAK,OAAA,EACL,IAAI,MAAA,IACJ,CAAC;QAEP,IAAI,KAAK,EAAE;YACT,KAAK,mDACA,KAAK,KACR,KAAK,EAAE,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,GACvC,CAAC;YAEF,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE;gBACnC,IAAI,GAAG,CACL,uCAAK,KAAK,EAAE,EAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAC;oBAC7B,MAAM;oBACN,IAAI;oBACJ,KAAK,CACF,CACP,CAAC;gBACF,MAAM,GAAG,IAAI,CAAC;gBACd,KAAK,GAAG,IAAI,CAAC;gBACb,sBAAsB;aACvB;SACF;QAED,IAAI,KAAK,EAAE;YACT,KAAK,mDACA,KAAK,KACR,SAAS,EAAE,KAAK,GACjB,CAAC;SACH;QAED,IAAI,CAAC,SAAS,EAAE;YACd,OAAO,IAAmB,CAAC;SAC5B;QAED,IAAI,MAAM,EAAE;YACV,SAAS,GAAG,IAAI,CAAC;SAClB;QAED,OAAO,CACL,8BAAC,SAAS,IACR,OAAO,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAC1C,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,EAAE,CACX,SAAS,EACT,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,IAAA,YAAM,EAAC,MAAM,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CACjE,EACD,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO;YAEf,MAAM;YACN,IAAI;YACJ,KAAK,CACI,CACb,CAAC;IACJ,CAAC;IAjHM,sBAAY,GAAG;QACpB,gBAAgB,EAAE,IAAI;KACvB,CAAC;IAEK,mBAAS,GAAkB;QAChC,MAAM;QACN,OAAO;QACP,QAAQ;QACR,MAAM;QACN,KAAK;QACL,SAAS;QACT,QAAQ;KACT,CAAC;IAsGJ,gBAAC;CAAA,AAnHD,CAA+B,eAAK,CAAC,SAAS,GAmH7C;AAnHY,8BAAS;AA+HtB;IAAuC,kDAAS;IAAhD;;IASA,CAAC;IARQ,2BAAS;QACd,WAAW;QACX,oBAAoB;QACpB,SAAS;QACT,UAAU;QACV,QAAQ;OACL,SAAS,CAAC,SAAS,QACtB;IARS,iBAAiB;QAV7B,IAAA,kBAAQ,EAAC;YACR,IAAI,EAAE,6BAA6B;YACnC,IAAI,EAAE,YAAY;SACnB,CAAC;QACD,IAAA,mBAAS,GAAE;QACX,IAAA,iBAAW,EAAC;YACX,YAAY,EAAE,IAAI;SACnB,CAAC;QACD,IAAA,kBAAQ,GAAE;QACV,qBAAQ;OACI,iBAAiB,CAS7B;IAAD,wBAAC;CAAA,AATD,CAAuC,SAAS,GAS/C;AATY,8CAAiB;AAiB9B;IAAmC,8CAAS;IAA5C;;IAKA,CAAC;IAJQ,0BAAY,mDACd,SAAS,CAAC,YAAY,KACzB,gBAAgB,EAAE,KAAK,IACvB;IAJS,aAAa;QANzB,IAAA,kBAAQ,EAAC;YACR,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,OAAO;SACd,CAAC;QACD,IAAA,iBAAW,GAAE;QACb,IAAA,kBAAQ,GAAE;OACE,aAAa,CAKzB;IAAD,oBAAC;CAAA,AALD,CAAmC,SAAS,GAK3C;AALY,sCAAa",
|
10
10
|
"sourcesContent": [
|
11
|
-
"import React from 'react';\nimport {RendererProps, Renderer} from '../../factory';\nimport QuickEdit from '../QuickEdit';\nimport Copyable from '../Copyable';\nimport PopOverable from '../PopOver';\nimport {observer} from 'mobx-react';\nimport omit = require('lodash/omit');\n\nexport interface TableCellProps extends RendererProps {\n wrapperComponent?: React.ReactType;\n column: object;\n}\nexport class TableCell extends React.Component<RendererProps> {\n static defaultProps = {\n wrapperComponent: 'td'\n };\n\n static propsList: Array<string> = [\n 'type',\n 'label',\n 'column',\n 'body',\n 'tpl',\n 'rowSpan',\n 'remark'\n ];\n\n render() {\n let {\n className,\n render,\n style,\n wrapperComponent: Component,\n column,\n value,\n data,\n children,\n width,\n innerClassName,\n label,\n tabIndex,\n onKeyUp,\n rowSpan,\n body: _body,\n tpl,\n remark,\n prefix,\n affix,\n isHead,\n ...rest\n } = this.props;\n\n const schema = {\n ...column,\n className: innerClassName,\n type: (column && column.type) || 'plain'\n };\n\n // 如果本来就是 type 为 button,不要删除,其他情况下都应该删除。\n if (schema.type !== 'button' && schema.type !== 'dropdown-button') {\n delete schema.label;\n }\n\n let body = children\n ? children\n : render('field', schema, {\n ...omit(rest, Object.keys(schema)),\n inputOnly: true,\n value,\n data\n });\n\n if (width) {\n style = {\n ...style,\n width: (style && style.width) || width\n };\n\n if (!/%$/.test(String(style.width))) {\n body = (\n <div style={{width: style.width}}>\n {prefix}\n {body}\n {affix}\n </div>\n );\n prefix = null;\n affix = null;\n // delete style.width;\n }\n }\n\n if (!Component) {\n return body as JSX.Element;\n }\n\n if (isHead) {\n Component = 'th';\n }\n\n return (\n <Component\n rowSpan={rowSpan > 1 ? rowSpan : undefined}\n style={style}\n className={className}\n tabIndex={tabIndex}\n onKeyUp={onKeyUp}\n >\n {prefix}\n {body}\n {affix}\n </Component>\n );\n }\n}\n\n@Renderer({\n test: /(^|\\/)table\\/(?:.*\\/)?cell$/,\n name: 'table-cell'\n})\n@QuickEdit()\n@PopOverable({\n targetOutter: true\n})\n@Copyable()\n@observer\nexport class TableCellRenderer extends TableCell {\n static propsList = [\n 'quickEdit',\n 'quickEditEnabledOn',\n 'popOver',\n 'copyable',\n 'inline',\n ...TableCell.propsList\n ];\n}\n\n@Renderer({\n type: 'field',\n name: 'field'\n})\n@PopOverable()\n@Copyable()\nexport class FieldRenderer extends TableCell {\n static defaultProps = {\n ...TableCell.defaultProps,\n wrapperComponent: 'div'\n };\n}\n"
|
11
|
+
"import React from 'react';\nimport {RendererProps, Renderer} from '../../factory';\nimport QuickEdit from '../QuickEdit';\nimport Copyable from '../Copyable';\nimport PopOverable from '../PopOver';\nimport {observer} from 'mobx-react';\nimport omit = require('lodash/omit');\nimport {filter} from '../../utils/tpl';\n\nexport interface TableCellProps extends RendererProps {\n wrapperComponent?: React.ReactType;\n column: object;\n}\nexport class TableCell extends React.Component<RendererProps> {\n static defaultProps = {\n wrapperComponent: 'td'\n };\n\n static propsList: Array<string> = [\n 'type',\n 'label',\n 'column',\n 'body',\n 'tpl',\n 'rowSpan',\n 'remark'\n ];\n\n render() {\n let {\n classnames: cx,\n className,\n classNameExpr,\n render,\n style,\n wrapperComponent: Component,\n column,\n value,\n data,\n children,\n width,\n align,\n innerClassName,\n label,\n tabIndex,\n onKeyUp,\n rowSpan,\n body: _body,\n tpl,\n remark,\n prefix,\n affix,\n isHead,\n ...rest\n } = this.props;\n\n const schema = {\n ...column,\n className: innerClassName,\n type: (column && column.type) || 'plain'\n };\n\n // 如果本来就是 type 为 button,不要删除,其他情况下都应该删除。\n if (schema.type !== 'button' && schema.type !== 'dropdown-button') {\n delete schema.label;\n }\n\n let body = children\n ? children\n : render('field', schema, {\n ...omit(rest, Object.keys(schema)),\n inputOnly: true,\n value,\n data\n });\n\n if (width) {\n style = {\n ...style,\n width: (style && style.width) || width\n };\n\n if (!/%$/.test(String(style.width))) {\n body = (\n <div style={{width: style.width}}>\n {prefix}\n {body}\n {affix}\n </div>\n );\n prefix = null;\n affix = null;\n // delete style.width;\n }\n }\n\n if (align) {\n style = {\n ...style,\n textAlign: align\n };\n }\n\n if (!Component) {\n return body as JSX.Element;\n }\n\n if (isHead) {\n Component = 'th';\n }\n\n return (\n <Component\n rowSpan={rowSpan > 1 ? rowSpan : undefined}\n style={style}\n className={cx(\n className,\n column.classNameExpr ? filter(column.classNameExpr, data) : null\n )}\n tabIndex={tabIndex}\n onKeyUp={onKeyUp}\n >\n {prefix}\n {body}\n {affix}\n </Component>\n );\n }\n}\n\n@Renderer({\n test: /(^|\\/)table\\/(?:.*\\/)?cell$/,\n name: 'table-cell'\n})\n@QuickEdit()\n@PopOverable({\n targetOutter: true\n})\n@Copyable()\n@observer\nexport class TableCellRenderer extends TableCell {\n static propsList = [\n 'quickEdit',\n 'quickEditEnabledOn',\n 'popOver',\n 'copyable',\n 'inline',\n ...TableCell.propsList\n ];\n}\n\n@Renderer({\n type: 'field',\n name: 'field'\n})\n@PopOverable()\n@Copyable()\nexport class FieldRenderer extends TableCell {\n static defaultProps = {\n ...TableCell.defaultProps,\n wrapperComponent: 'div'\n };\n}\n"
|
12
12
|
]
|
13
13
|
}
|
@@ -3,6 +3,7 @@ import { ClassNamesFn } from '../../theme';
|
|
3
3
|
import { IColumn, IRow } from '../../store/table';
|
4
4
|
import { SchemaNode, Action } from '../../types';
|
5
5
|
import { LocaleProps } from '../../locale';
|
6
|
+
import { ActionSchema } from '../Action';
|
6
7
|
export interface TableContentProps extends LocaleProps {
|
7
8
|
className?: string;
|
8
9
|
tableClassName?: string;
|
@@ -23,7 +24,7 @@ export interface TableContentProps extends LocaleProps {
|
|
23
24
|
tableRef: (table?: HTMLTableElement | null) => void;
|
24
25
|
renderHeadCell: (column: IColumn, props?: any) => JSX.Element;
|
25
26
|
renderCell: (region: string, column: IColumn, item: IRow, props: any) => React.ReactNode;
|
26
|
-
onCheck: (item: IRow) => void;
|
27
|
+
onCheck: (item: IRow, value: boolean, shift?: boolean) => void;
|
27
28
|
onQuickChange?: (item: IRow, values: object, saveImmediately?: boolean | any, savePristine?: boolean) => void;
|
28
29
|
footable?: boolean;
|
29
30
|
footableColumns: Array<IColumn>;
|
@@ -35,6 +36,7 @@ export interface TableContentProps extends LocaleProps {
|
|
35
36
|
data?: any;
|
36
37
|
prefixRow?: Array<any>;
|
37
38
|
affixRow?: Array<any>;
|
39
|
+
itemAction?: ActionSchema;
|
38
40
|
}
|
39
41
|
export declare class TableContent extends React.Component<TableContentProps> {
|
40
42
|
render(): JSX.Element;
|
@@ -4,13 +4,14 @@ exports.TableContent = void 0;
|
|
4
4
|
var tslib_1 = require("tslib");
|
5
5
|
var react_1 = (0, tslib_1.__importDefault)(require("react"));
|
6
6
|
var TableBody_1 = require("./TableBody");
|
7
|
+
var mobx_react_1 = require("mobx-react");
|
7
8
|
var TableContent = /** @class */ (function (_super) {
|
8
9
|
(0, tslib_1.__extends)(TableContent, _super);
|
9
10
|
function TableContent() {
|
10
11
|
return _super !== null && _super.apply(this, arguments) || this;
|
11
12
|
}
|
12
13
|
TableContent.prototype.render = function () {
|
13
|
-
var _a = this.props, placeholder = _a.placeholder, cx = _a.classnames, render = _a.render, className = _a.className, columns = _a.columns, columnsGroup = _a.columnsGroup, onMouseMove = _a.onMouseMove, onScroll = _a.onScroll, tableRef = _a.tableRef, rows = _a.rows, renderHeadCell = _a.renderHeadCell, renderCell = _a.renderCell, onCheck = _a.onCheck, rowClassName = _a.rowClassName, onQuickChange = _a.onQuickChange, footable = _a.footable, footableColumns = _a.footableColumns, checkOnItemClick = _a.checkOnItemClick, buildItemProps = _a.buildItemProps, onAction = _a.onAction, rowClassNameExpr = _a.rowClassNameExpr, data = _a.data, prefixRow = _a.prefixRow, locale = _a.locale, translate = _a.translate, affixRow = _a.affixRow;
|
14
|
+
var _a = this.props, placeholder = _a.placeholder, cx = _a.classnames, render = _a.render, className = _a.className, columns = _a.columns, columnsGroup = _a.columnsGroup, onMouseMove = _a.onMouseMove, onScroll = _a.onScroll, tableRef = _a.tableRef, rows = _a.rows, renderHeadCell = _a.renderHeadCell, renderCell = _a.renderCell, onCheck = _a.onCheck, rowClassName = _a.rowClassName, onQuickChange = _a.onQuickChange, footable = _a.footable, footableColumns = _a.footableColumns, checkOnItemClick = _a.checkOnItemClick, buildItemProps = _a.buildItemProps, onAction = _a.onAction, rowClassNameExpr = _a.rowClassNameExpr, data = _a.data, prefixRow = _a.prefixRow, locale = _a.locale, translate = _a.translate, itemAction = _a.itemAction, affixRow = _a.affixRow;
|
14
15
|
var tableClassName = cx('Table-table', this.props.tableClassName);
|
15
16
|
var hideHeader = columns.every(function (column) { return !column.label; });
|
16
17
|
return (react_1.default.createElement("div", { onMouseMove: onMouseMove, className: cx('Table-content', className), onScroll: onScroll },
|
@@ -28,8 +29,11 @@ var TableContent = /** @class */ (function (_super) {
|
|
28
29
|
}))),
|
29
30
|
!rows.length ? (react_1.default.createElement("tbody", null,
|
30
31
|
react_1.default.createElement("tr", { className: cx('Table-placeholder') },
|
31
|
-
react_1.default.createElement("td", { colSpan: columns.length }, render('placeholder', translate(placeholder || 'placeholder.noData')))))) : (react_1.default.createElement(TableBody_1.TableBody, { classnames: cx, render: render, renderCell: renderCell, onCheck: onCheck, onQuickChange: onQuickChange, footable: footable, footableColumns: footableColumns, checkOnItemClick: checkOnItemClick, buildItemProps: buildItemProps, onAction: onAction, rowClassNameExpr: rowClassNameExpr, rowClassName: rowClassName, rows: rows, columns: columns, locale: locale, translate: translate, prefixRow: prefixRow, affixRow: affixRow, data: data })))));
|
32
|
+
react_1.default.createElement("td", { colSpan: columns.length }, render('placeholder', translate(placeholder || 'placeholder.noData')))))) : (react_1.default.createElement(TableBody_1.TableBody, { itemAction: itemAction, classnames: cx, render: render, renderCell: renderCell, onCheck: onCheck, onQuickChange: onQuickChange, footable: footable, footableColumns: footableColumns, checkOnItemClick: checkOnItemClick, buildItemProps: buildItemProps, onAction: onAction, rowClassNameExpr: rowClassNameExpr, rowClassName: rowClassName, rows: rows, columns: columns, locale: locale, translate: translate, prefixRow: prefixRow, affixRow: affixRow, data: data })))));
|
32
33
|
};
|
34
|
+
TableContent = (0, tslib_1.__decorate)([
|
35
|
+
mobx_react_1.observer
|
36
|
+
], TableContent);
|
33
37
|
return TableContent;
|
34
38
|
}(react_1.default.Component));
|
35
39
|
exports.TableContent = TableContent;
|
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/renderers/Table/TableContent.tsx"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": ";;;;AAAA,6DAA0B;AAI1B,yCAAsC;
|
9
|
+
"mappings": "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",
|
10
10
|
"sourcesContent": [
|
11
|
-
"import React from 'react';\nimport {ClassNamesFn} from '../../theme';\nimport {IColumn, IRow} from '../../store/table';\nimport {SchemaNode, Action} from '../../types';\nimport {TableBody} from './TableBody';\nimport {LocaleProps} from '../../locale';\n\nexport interface TableContentProps extends LocaleProps {\n className?: string;\n tableClassName?: string;\n classnames: ClassNamesFn;\n columns: Array<IColumn>;\n columnsGroup: Array<{\n label: string;\n index: number;\n colSpan: number;\n rowSpan: number;\n has: Array<any>;\n }>;\n rows: Array<IRow>;\n placeholder?: string;\n render: (region: string, node: SchemaNode, props?: any) => JSX.Element;\n onMouseMove: (event: React.MouseEvent) => void;\n onScroll: (event: React.UIEvent) => void;\n tableRef: (table?: HTMLTableElement | null) => void;\n renderHeadCell: (column: IColumn, props?: any) => JSX.Element;\n renderCell: (\n region: string,\n column: IColumn,\n item: IRow,\n props: any\n ) => React.ReactNode;\n onCheck: (item: IRow) => void;\n onQuickChange?: (\n item: IRow,\n values: object,\n saveImmediately?: boolean | any,\n savePristine?: boolean\n ) => void;\n footable?: boolean;\n footableColumns: Array<IColumn>;\n checkOnItemClick?: boolean;\n buildItemProps?: (item: IRow, index: number) => any;\n onAction?: (e: React.UIEvent<any>, action: Action, ctx: object) => void;\n rowClassNameExpr?: string;\n rowClassName?: string;\n data?: any;\n prefixRow?: Array<any>;\n affixRow?: Array<any>;\n}\n\nexport class TableContent extends React.Component<TableContentProps> {\n render() {\n const {\n placeholder,\n classnames: cx,\n render,\n className,\n columns,\n columnsGroup,\n onMouseMove,\n onScroll,\n tableRef,\n rows,\n renderHeadCell,\n renderCell,\n onCheck,\n rowClassName,\n onQuickChange,\n footable,\n footableColumns,\n checkOnItemClick,\n buildItemProps,\n onAction,\n rowClassNameExpr,\n data,\n prefixRow,\n locale,\n translate,\n affixRow\n } = this.props;\n\n const tableClassName = cx('Table-table', this.props.tableClassName);\n const hideHeader = columns.every(column => !column.label);\n\n return (\n <div\n onMouseMove={onMouseMove}\n className={cx('Table-content', className)}\n onScroll={onScroll}\n >\n <table ref={tableRef} className={tableClassName}>\n <thead>\n {columnsGroup.length ? (\n <tr>\n {columnsGroup.map((item, index) => (\n <th\n key={index}\n data-index={item.index}\n colSpan={item.colSpan}\n rowSpan={item.rowSpan}\n >\n {item.label ? render('tpl', item.label) : null}\n </th>\n ))}\n </tr>\n ) : null}\n <tr className={hideHeader ? 'fake-hide' : ''}>\n {columns.map(column =>\n columnsGroup.find(group => ~group.has.indexOf(column))\n ?.rowSpan === 2\n ? null\n : renderHeadCell(column, {\n 'data-index': column.index,\n 'key': column.index\n })\n )}\n </tr>\n </thead>\n {!rows.length ? (\n <tbody>\n <tr className={cx('Table-placeholder')}>\n <td colSpan={columns.length}>\n {render(\n 'placeholder',\n translate(placeholder || 'placeholder.noData')\n )}\n </td>\n </tr>\n </tbody>\n ) : (\n <TableBody\n classnames={cx}\n render={render}\n renderCell={renderCell}\n onCheck={onCheck}\n onQuickChange={onQuickChange}\n footable={footable}\n footableColumns={footableColumns}\n checkOnItemClick={checkOnItemClick}\n buildItemProps={buildItemProps}\n onAction={onAction}\n rowClassNameExpr={rowClassNameExpr}\n rowClassName={rowClassName}\n rows={rows}\n columns={columns}\n locale={locale}\n translate={translate}\n prefixRow={prefixRow}\n affixRow={affixRow}\n data={data}\n ></TableBody>\n )}\n </table>\n </div>\n );\n }\n}\n"
|
11
|
+
"import React from 'react';\nimport {ClassNamesFn} from '../../theme';\nimport {IColumn, IRow} from '../../store/table';\nimport {SchemaNode, Action} from '../../types';\nimport {TableBody} from './TableBody';\nimport {LocaleProps} from '../../locale';\nimport {observer} from 'mobx-react';\nimport {ActionSchema} from '../Action';\n\nexport interface TableContentProps extends LocaleProps {\n className?: string;\n tableClassName?: string;\n classnames: ClassNamesFn;\n columns: Array<IColumn>;\n columnsGroup: Array<{\n label: string;\n index: number;\n colSpan: number;\n rowSpan: number;\n has: Array<any>;\n }>;\n rows: Array<IRow>;\n placeholder?: string;\n render: (region: string, node: SchemaNode, props?: any) => JSX.Element;\n onMouseMove: (event: React.MouseEvent) => void;\n onScroll: (event: React.UIEvent) => void;\n tableRef: (table?: HTMLTableElement | null) => void;\n renderHeadCell: (column: IColumn, props?: any) => JSX.Element;\n renderCell: (\n region: string,\n column: IColumn,\n item: IRow,\n props: any\n ) => React.ReactNode;\n onCheck: (item: IRow, value: boolean, shift?: boolean) => void;\n onQuickChange?: (\n item: IRow,\n values: object,\n saveImmediately?: boolean | any,\n savePristine?: boolean\n ) => void;\n footable?: boolean;\n footableColumns: Array<IColumn>;\n checkOnItemClick?: boolean;\n buildItemProps?: (item: IRow, index: number) => any;\n onAction?: (e: React.UIEvent<any>, action: Action, ctx: object) => void;\n rowClassNameExpr?: string;\n rowClassName?: string;\n data?: any;\n prefixRow?: Array<any>;\n affixRow?: Array<any>;\n itemAction?: ActionSchema;\n}\n\n@observer\nexport class TableContent extends React.Component<TableContentProps> {\n render() {\n const {\n placeholder,\n classnames: cx,\n render,\n className,\n columns,\n columnsGroup,\n onMouseMove,\n onScroll,\n tableRef,\n rows,\n renderHeadCell,\n renderCell,\n onCheck,\n rowClassName,\n onQuickChange,\n footable,\n footableColumns,\n checkOnItemClick,\n buildItemProps,\n onAction,\n rowClassNameExpr,\n data,\n prefixRow,\n locale,\n translate,\n itemAction,\n affixRow\n } = this.props;\n\n const tableClassName = cx('Table-table', this.props.tableClassName);\n const hideHeader = columns.every(column => !column.label);\n\n return (\n <div\n onMouseMove={onMouseMove}\n className={cx('Table-content', className)}\n onScroll={onScroll}\n >\n <table ref={tableRef} className={tableClassName}>\n <thead>\n {columnsGroup.length ? (\n <tr>\n {columnsGroup.map((item, index) => (\n <th\n key={index}\n data-index={item.index}\n colSpan={item.colSpan}\n rowSpan={item.rowSpan}\n >\n {item.label ? render('tpl', item.label) : null}\n </th>\n ))}\n </tr>\n ) : null}\n <tr className={hideHeader ? 'fake-hide' : ''}>\n {columns.map(column =>\n columnsGroup.find(group => ~group.has.indexOf(column))\n ?.rowSpan === 2\n ? null\n : renderHeadCell(column, {\n 'data-index': column.index,\n 'key': column.index\n })\n )}\n </tr>\n </thead>\n {!rows.length ? (\n <tbody>\n <tr className={cx('Table-placeholder')}>\n <td colSpan={columns.length}>\n {render(\n 'placeholder',\n translate(placeholder || 'placeholder.noData')\n )}\n </td>\n </tr>\n </tbody>\n ) : (\n <TableBody\n itemAction={itemAction}\n classnames={cx}\n render={render}\n renderCell={renderCell}\n onCheck={onCheck}\n onQuickChange={onQuickChange}\n footable={footable}\n footableColumns={footableColumns}\n checkOnItemClick={checkOnItemClick}\n buildItemProps={buildItemProps}\n onAction={onAction}\n rowClassNameExpr={rowClassNameExpr}\n rowClassName={rowClassName}\n rows={rows}\n columns={columns}\n locale={locale}\n translate={translate}\n prefixRow={prefixRow}\n affixRow={affixRow}\n data={data}\n ></TableBody>\n )}\n </table>\n </div>\n );\n }\n}\n"
|
12
12
|
]
|
13
13
|
}
|
@@ -18,7 +18,7 @@ interface TableRowProps extends Pick<RendererProps, 'render'> {
|
|
18
18
|
}
|
19
19
|
export declare class TableRow extends React.Component<TableRowProps> {
|
20
20
|
constructor(props: TableRowProps);
|
21
|
-
|
21
|
+
handleItemClick(e: React.MouseEvent<HTMLTableRowElement>): void;
|
22
22
|
handleAction(e: React.UIEvent<any>, action: Action, ctx: any): void;
|
23
23
|
handleQuickChange(values: object, saveImmediately?: boolean, savePristine?: boolean, resetOnFailed?: boolean): void;
|
24
24
|
handleChange(value: any, name: string, submit?: boolean, changePristine?: boolean): void;
|
@@ -4,6 +4,7 @@ exports.TableRow = void 0;
|
|
4
4
|
var tslib_1 = require("tslib");
|
5
5
|
var mobx_react_1 = require("mobx-react");
|
6
6
|
var react_1 = (0, tslib_1.__importDefault)(require("react"));
|
7
|
+
var helper_1 = require("../../utils/helper");
|
7
8
|
var TableRow = /** @class */ (function (_super) {
|
8
9
|
(0, tslib_1.__extends)(TableRow, _super);
|
9
10
|
// reaction?: () => void;
|
@@ -12,19 +13,18 @@ var TableRow = /** @class */ (function (_super) {
|
|
12
13
|
_this.handleAction = _this.handleAction.bind(_this);
|
13
14
|
_this.handleQuickChange = _this.handleQuickChange.bind(_this);
|
14
15
|
_this.handleChange = _this.handleChange.bind(_this);
|
15
|
-
_this.
|
16
|
+
_this.handleItemClick = _this.handleItemClick.bind(_this);
|
16
17
|
return _this;
|
17
18
|
}
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
var formItem;
|
22
|
-
if (!e.currentTarget.contains(target) ||
|
23
|
-
~['INPUT', 'TEXTAREA'].indexOf(target.tagName) ||
|
24
|
-
((formItem = target.closest("button, a, [data-role=\"form-item\"]")) &&
|
25
|
-
e.currentTarget.contains(formItem))) {
|
19
|
+
// 定义点击一行的行为,通过 itemAction配置
|
20
|
+
TableRow.prototype.handleItemClick = function (e) {
|
21
|
+
if ((0, helper_1.isClickOnInput)(e)) {
|
26
22
|
return;
|
27
23
|
}
|
24
|
+
var _a = this.props, itemAction = _a.itemAction, onAction = _a.onAction, item = _a.item;
|
25
|
+
if (itemAction) {
|
26
|
+
onAction && onAction(e, itemAction, item === null || item === void 0 ? void 0 : item.data);
|
27
|
+
}
|
28
28
|
this.props.onCheck(this.props.item);
|
29
29
|
};
|
30
30
|
TableRow.prototype.handleAction = function (e, action, ctx) {
|
@@ -49,18 +49,18 @@ var TableRow = /** @class */ (function (_super) {
|
|
49
49
|
TableRow.prototype.render = function () {
|
50
50
|
var _a, _b;
|
51
51
|
var _this = this;
|
52
|
-
var _c = this.props, itemClassName = _c.itemClassName, itemIndex = _c.itemIndex, item = _c.item, columns = _c.columns, renderCell = _c.renderCell, children = _c.children, footableMode = _c.footableMode, ignoreFootableContent = _c.ignoreFootableContent, footableColSpan = _c.footableColSpan, regionPrefix = _c.regionPrefix, checkOnItemClick = _c.checkOnItemClick, ns = _c.classPrefix, render = _c.render, cx = _c.classnames, parent = _c.parent, rest = (0, tslib_1.__rest)(_c, ["itemClassName", "itemIndex", "item", "columns", "renderCell", "children", "footableMode", "ignoreFootableContent", "footableColSpan", "regionPrefix", "checkOnItemClick", "classPrefix", "render", "classnames", "parent"]);
|
53
|
-
// console.log('TableRow');
|
52
|
+
var _c = this.props, itemClassName = _c.itemClassName, itemIndex = _c.itemIndex, item = _c.item, columns = _c.columns, renderCell = _c.renderCell, children = _c.children, footableMode = _c.footableMode, ignoreFootableContent = _c.ignoreFootableContent, footableColSpan = _c.footableColSpan, regionPrefix = _c.regionPrefix, checkOnItemClick = _c.checkOnItemClick, ns = _c.classPrefix, render = _c.render, cx = _c.classnames, parent = _c.parent, itemAction = _c.itemAction, rest = (0, tslib_1.__rest)(_c, ["itemClassName", "itemIndex", "item", "columns", "renderCell", "children", "footableMode", "ignoreFootableContent", "footableColSpan", "regionPrefix", "checkOnItemClick", "classPrefix", "render", "classnames", "parent", "itemAction"]);
|
54
53
|
if (footableMode) {
|
55
54
|
if (!item.expanded) {
|
56
55
|
return null;
|
57
56
|
}
|
58
|
-
return (react_1.default.createElement("tr", { "data-id": item.id, "data-index": item.newIndex, onClick: checkOnItemClick ? this.
|
57
|
+
return (react_1.default.createElement("tr", { "data-id": item.id, "data-index": item.newIndex, onClick: checkOnItemClick || itemAction ? this.handleItemClick : undefined, className: cx(itemClassName, (_a = {
|
59
58
|
'is-hovered': item.isHover,
|
60
59
|
'is-checked': item.checked,
|
61
60
|
'is-modified': item.modified,
|
62
61
|
'is-moved': item.moved
|
63
62
|
},
|
63
|
+
_a["Table-tr--hasItemAction"] = itemAction,
|
64
64
|
_a["Table-tr--odd"] = itemIndex % 2 === 0,
|
65
65
|
_a["Table-tr--even"] = itemIndex % 2 === 1,
|
66
66
|
_a)) },
|
@@ -77,7 +77,7 @@ var TableRow = /** @class */ (function (_super) {
|
|
77
77
|
if (parent && !parent.expanded) {
|
78
78
|
return null;
|
79
79
|
}
|
80
|
-
return (react_1.default.createElement("tr", { onClick: checkOnItemClick ? this.
|
80
|
+
return (react_1.default.createElement("tr", { onClick: checkOnItemClick || itemAction ? this.handleItemClick : undefined, "data-index": item.depth === 1 ? item.newIndex : undefined, "data-id": item.id, className: cx(itemClassName, (_b = {
|
81
81
|
'is-hovered': item.isHover,
|
82
82
|
'is-checked': item.checked,
|
83
83
|
'is-modified': item.modified,
|
@@ -85,6 +85,7 @@ var TableRow = /** @class */ (function (_super) {
|
|
85
85
|
'is-expanded': item.expanded,
|
86
86
|
'is-expandable': item.expandable
|
87
87
|
},
|
88
|
+
_b["Table-tr--hasItemAction"] = itemAction,
|
88
89
|
_b["Table-tr--odd"] = itemIndex % 2 === 0,
|
89
90
|
_b["Table-tr--even"] = itemIndex % 2 === 1,
|
90
91
|
_b), "Table-tr--" + item.depth + "th") }, columns.map(function (column) {
|
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/renderers/Table/TableRow.tsx"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": ";;;;AAAA,yCAAoC;AACpC,6DAA0B;
|
9
|
+
"mappings": "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",
|
10
10
|
"sourcesContent": [
|
11
|
-
"import {observer} from 'mobx-react';\nimport React from 'react';\nimport {IRow, IColumn} from '../../store/table';\nimport {RendererProps} from '../../factory';\nimport {Action} from '../Action';\nimport {reaction} from 'mobx';\n\ninterface TableRowProps extends Pick<RendererProps, 'render'> {\n onCheck: (item: IRow) => void;\n classPrefix: string;\n renderCell: (\n region: string,\n column: IColumn,\n item: IRow,\n props: any\n ) => React.ReactNode;\n columns: Array<IColumn>;\n item: IRow;\n parent?: IRow;\n itemClassName?: string;\n itemIndex: number;\n regionPrefix?: string;\n checkOnItemClick?: boolean;\n ignoreFootableContent?: boolean;\n [propName: string]: any;\n}\n\n@observer\nexport class TableRow extends React.Component<TableRowProps> {\n // reaction?: () => void;\n constructor(props: TableRowProps) {\n super(props);\n this.handleAction = this.handleAction.bind(this);\n this.handleQuickChange = this.handleQuickChange.bind(this);\n this.handleChange = this.handleChange.bind(this);\n this.
|
11
|
+
"import {observer} from 'mobx-react';\nimport React from 'react';\nimport {IRow, IColumn} from '../../store/table';\nimport {RendererProps} from '../../factory';\nimport {Action} from '../Action';\nimport {reaction} from 'mobx';\nimport {isClickOnInput} from '../../utils/helper';\n\ninterface TableRowProps extends Pick<RendererProps, 'render'> {\n onCheck: (item: IRow) => void;\n classPrefix: string;\n renderCell: (\n region: string,\n column: IColumn,\n item: IRow,\n props: any\n ) => React.ReactNode;\n columns: Array<IColumn>;\n item: IRow;\n parent?: IRow;\n itemClassName?: string;\n itemIndex: number;\n regionPrefix?: string;\n checkOnItemClick?: boolean;\n ignoreFootableContent?: boolean;\n [propName: string]: any;\n}\n\n@observer\nexport class TableRow extends React.Component<TableRowProps> {\n // reaction?: () => void;\n constructor(props: TableRowProps) {\n super(props);\n this.handleAction = this.handleAction.bind(this);\n this.handleQuickChange = this.handleQuickChange.bind(this);\n this.handleChange = this.handleChange.bind(this);\n this.handleItemClick = this.handleItemClick.bind(this);\n }\n\n // 定义点击一行的行为,通过 itemAction配置\n handleItemClick(e: React.MouseEvent<HTMLTableRowElement>) {\n if (isClickOnInput(e)) {\n return;\n }\n const {itemAction, onAction, item} = this.props;\n if (itemAction) {\n onAction && onAction(e, itemAction, item?.data);\n }\n this.props.onCheck(this.props.item);\n }\n\n handleAction(e: React.UIEvent<any>, action: Action, ctx: any) {\n const {onAction, item} = this.props;\n onAction && onAction(e, action, ctx || item.data);\n }\n\n handleQuickChange(\n values: object,\n saveImmediately?: boolean,\n savePristine?: boolean,\n resetOnFailed?: boolean\n ) {\n const {onQuickChange, item} = this.props;\n onQuickChange &&\n onQuickChange(item, values, saveImmediately, savePristine, resetOnFailed);\n }\n\n handleChange(\n value: any,\n name: string,\n submit?: boolean,\n changePristine?: boolean\n ) {\n if (!name || typeof name !== 'string') {\n return;\n }\n\n const {item, onQuickChange} = this.props;\n\n onQuickChange?.(\n item,\n {\n [name]: value\n },\n submit,\n changePristine\n );\n }\n\n render() {\n const {\n itemClassName,\n itemIndex,\n item,\n columns,\n renderCell,\n children,\n footableMode,\n ignoreFootableContent,\n footableColSpan,\n regionPrefix,\n checkOnItemClick,\n classPrefix: ns,\n render,\n classnames: cx,\n parent,\n itemAction,\n ...rest\n } = this.props;\n\n if (footableMode) {\n if (!item.expanded) {\n return null;\n }\n\n return (\n <tr\n data-id={item.id}\n data-index={item.newIndex}\n onClick={\n checkOnItemClick || itemAction ? this.handleItemClick : undefined\n }\n className={cx(itemClassName, {\n 'is-hovered': item.isHover,\n 'is-checked': item.checked,\n 'is-modified': item.modified,\n 'is-moved': item.moved,\n [`Table-tr--hasItemAction`]: itemAction, // 就是为了加鼠标效果\n [`Table-tr--odd`]: itemIndex % 2 === 0,\n [`Table-tr--even`]: itemIndex % 2 === 1\n })}\n >\n <td className={cx(`Table-foot`)} colSpan={footableColSpan}>\n <table className={cx(`Table-footTable`)}>\n <tbody>\n {ignoreFootableContent\n ? columns.map(column => (\n <tr key={column.index}>\n {column.label !== false ? <th></th> : null}\n <td></td>\n </tr>\n ))\n : columns.map(column => (\n <tr key={column.index}>\n {column.label !== false ? (\n <th>\n {render(\n `${regionPrefix}${itemIndex}/${column.index}/tpl`,\n column.label\n )}\n </th>\n ) : null}\n\n {renderCell(\n `${regionPrefix}${itemIndex}/${column.index}`,\n column,\n item,\n {\n ...rest,\n width: null,\n rowIndex: itemIndex,\n colIndex: column.index,\n key: column.index,\n onAction: this.handleAction,\n onQuickChange: this.handleQuickChange,\n onChange: this.handleChange\n }\n )}\n </tr>\n ))}\n </tbody>\n </table>\n </td>\n </tr>\n );\n }\n\n if (parent && !parent.expanded) {\n return null;\n }\n\n return (\n <tr\n onClick={\n checkOnItemClick || itemAction ? this.handleItemClick : undefined\n }\n data-index={item.depth === 1 ? item.newIndex : undefined}\n data-id={item.id}\n className={cx(\n itemClassName,\n {\n 'is-hovered': item.isHover,\n 'is-checked': item.checked,\n 'is-modified': item.modified,\n 'is-moved': item.moved,\n 'is-expanded': item.expanded,\n 'is-expandable': item.expandable,\n [`Table-tr--hasItemAction`]: itemAction,\n [`Table-tr--odd`]: itemIndex % 2 === 0,\n [`Table-tr--even`]: itemIndex % 2 === 1\n },\n `Table-tr--${item.depth}th`\n )}\n >\n {columns.map(column =>\n renderCell(`${itemIndex}/${column.index}`, column, item, {\n ...rest,\n rowIndex: itemIndex,\n colIndex: column.index,\n key: column.index,\n onAction: this.handleAction,\n onQuickChange: this.handleQuickChange,\n onChange: this.handleChange\n })\n )}\n </tr>\n );\n }\n}\n"
|
12
12
|
]
|
13
13
|
}
|
@@ -4,7 +4,7 @@ import { SchemaNode, Action } from '../../types';
|
|
4
4
|
import { ITableStore, IColumn, IRow } from '../../store/table';
|
5
5
|
import Sortable from 'sortablejs';
|
6
6
|
import { TableCell } from './TableCell';
|
7
|
-
import { BaseSchema, SchemaClassName, SchemaObject, SchemaTokenizeableString } from '../../Schema';
|
7
|
+
import { BaseSchema, SchemaApi, SchemaClassName, SchemaObject, SchemaTokenizeableString } from '../../Schema';
|
8
8
|
import { SchemaPopOver } from '../PopOver';
|
9
9
|
import { SchemaQuickEdit } from '../QuickEdit';
|
10
10
|
import { SchemaCopyable } from '../Copyable';
|
@@ -57,6 +57,22 @@ export declare type TableColumnObject = {
|
|
57
57
|
* 列宽度
|
58
58
|
*/
|
59
59
|
width?: number | string;
|
60
|
+
/**
|
61
|
+
* 列对齐方式
|
62
|
+
*/
|
63
|
+
align?: 'left' | 'right' | 'center' | 'justify';
|
64
|
+
/**
|
65
|
+
* 列样式表
|
66
|
+
*/
|
67
|
+
className?: string;
|
68
|
+
/**
|
69
|
+
* 单元格样式表达式
|
70
|
+
*/
|
71
|
+
classNameExpr?: string;
|
72
|
+
/**
|
73
|
+
* 列头样式表
|
74
|
+
*/
|
75
|
+
labelClassName?: string;
|
60
76
|
/**
|
61
77
|
* todo
|
62
78
|
*/
|
@@ -171,6 +187,10 @@ export interface TableSchema extends BaseSchema {
|
|
171
187
|
* 是否可调整列宽
|
172
188
|
*/
|
173
189
|
resizable?: boolean;
|
190
|
+
/**
|
191
|
+
* 行样式表表达式
|
192
|
+
*/
|
193
|
+
rowClassNameExpr?: string;
|
174
194
|
}
|
175
195
|
export interface TableProps extends RendererProps {
|
176
196
|
title?: string;
|
@@ -226,6 +246,11 @@ export interface TableProps extends RendererProps {
|
|
226
246
|
canAccessSuperData?: boolean;
|
227
247
|
reUseRow?: boolean;
|
228
248
|
}
|
249
|
+
declare type ExportExcelToolbar = SchemaNode & {
|
250
|
+
api?: SchemaApi;
|
251
|
+
columns?: string[];
|
252
|
+
filename?: string;
|
253
|
+
};
|
229
254
|
export default class Table extends React.Component<TableProps, object> {
|
230
255
|
static propsList: Array<string>;
|
231
256
|
static defaultProps: Partial<TableProps>;
|
@@ -259,7 +284,7 @@ export default class Table extends React.Component<TableProps, object> {
|
|
259
284
|
componentWillUnmount(): void;
|
260
285
|
subFormRef(form: any, x: number, y: number): void;
|
261
286
|
handleAction(e: React.UIEvent<any>, action: Action, ctx: object): void;
|
262
|
-
handleCheck(item: IRow): void;
|
287
|
+
handleCheck(item: IRow, value: boolean, shift?: boolean): void;
|
263
288
|
handleCheckAll(): void;
|
264
289
|
handleQuickChange(item: IRow, values: object, saveImmediately?: boolean | any, savePristine?: boolean, resetOnFailed?: boolean): void;
|
265
290
|
handleSave(): Promise<void>;
|
@@ -306,7 +331,7 @@ export default class Table extends React.Component<TableProps, object> {
|
|
306
331
|
renderToolbar(toolbar: SchemaNode): JSX.Element | null | undefined;
|
307
332
|
renderColumnsToggler(config?: any): JSX.Element | null;
|
308
333
|
renderDragToggler(): JSX.Element | null;
|
309
|
-
renderExportExcel(toolbar:
|
334
|
+
renderExportExcel(toolbar: ExportExcelToolbar): JSX.Element | null;
|
310
335
|
renderActions(region: string): JSX.Element | null;
|
311
336
|
renderHeader(editable?: boolean): JSX.Element | JSX.Element[] | null;
|
312
337
|
renderFooter(): JSX.Element | JSX.Element[] | null;
|