amis 1.9.0-beta.12 → 1.9.0-beta.15
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/Schema.d.ts +4 -2
- package/lib/Schema.js.map +1 -1
- package/lib/SchemaRenderer.d.ts +2 -2
- package/lib/SchemaRenderer.js +3 -3
- package/lib/SchemaRenderer.js.map +2 -2
- package/lib/actions/Action.d.ts +8 -6
- package/lib/actions/Action.js.map +2 -2
- package/lib/actions/AjaxAction.d.ts +10 -7
- package/lib/actions/AjaxAction.js +27 -21
- package/lib/actions/AjaxAction.js.map +2 -2
- package/lib/actions/BreakAction.d.ts +2 -2
- package/lib/actions/BreakAction.js.map +1 -1
- package/lib/actions/BroadcastAction.d.ts +3 -3
- package/lib/actions/BroadcastAction.js +3 -2
- package/lib/actions/BroadcastAction.js.map +2 -2
- package/lib/actions/CmptAction.d.ts +2 -2
- package/lib/actions/CmptAction.js +7 -9
- package/lib/actions/CmptAction.js.map +2 -2
- package/lib/actions/ContinueAction.d.ts +2 -2
- package/lib/actions/ContinueAction.js.map +1 -1
- package/lib/actions/CopyAction.d.ts +7 -4
- package/lib/actions/CopyAction.js +8 -6
- package/lib/actions/CopyAction.js.map +2 -2
- package/lib/actions/CustomAction.d.ts +2 -2
- package/lib/actions/CustomAction.js.map +1 -1
- package/lib/actions/DialogAction.d.ts +14 -8
- package/lib/actions/DialogAction.js +6 -6
- package/lib/actions/DialogAction.js.map +2 -2
- package/lib/actions/DrawerAction.d.ts +3 -3
- package/lib/actions/DrawerAction.js.map +1 -1
- package/lib/actions/EmailAction.d.ts +10 -7
- package/lib/actions/EmailAction.js +4 -5
- package/lib/actions/EmailAction.js.map +2 -2
- package/lib/actions/LinkAction.d.ts +19 -11
- package/lib/actions/LinkAction.js +6 -5
- package/lib/actions/LinkAction.js.map +2 -2
- package/lib/actions/LoopAction.d.ts +6 -3
- package/lib/actions/LoopAction.js +22 -20
- package/lib/actions/LoopAction.js.map +2 -2
- package/lib/actions/PageAction.d.ts +8 -5
- package/lib/actions/PageAction.js +3 -2
- package/lib/actions/PageAction.js.map +2 -2
- package/lib/actions/ParallelAction.d.ts +2 -2
- package/lib/actions/ParallelAction.js.map +1 -1
- package/lib/actions/SwitchAction.d.ts +2 -2
- package/lib/actions/SwitchAction.js.map +1 -1
- package/lib/actions/ToastAction.d.ts +2 -2
- package/lib/actions/ToastAction.js +6 -4
- package/lib/actions/ToastAction.js.map +2 -2
- package/lib/components/Editor.d.ts +84 -84
- package/lib/components/InputBox.js +1 -1
- package/lib/components/InputBox.js.map +2 -2
- package/lib/components/Pagination.d.ts +1175 -0
- package/lib/components/Pagination.js +274 -0
- package/lib/components/Pagination.js.map +13 -0
- package/lib/components/PickerContainer.d.ts +1 -0
- package/lib/components/PickerContainer.js +3 -2
- package/lib/components/PickerContainer.js.map +2 -2
- package/lib/components/Rating.js +11 -9
- package/lib/components/Rating.js.map +2 -2
- package/lib/components/Select.js +3 -3
- package/lib/components/Select.js.map +2 -2
- package/lib/components/Tag.d.ts +148 -0
- package/lib/components/Tag.js +96 -0
- package/lib/components/Tag.js.map +13 -0
- package/lib/components/TooltipWrapper.d.ts +25 -21
- package/lib/components/TooltipWrapper.js +11 -1
- package/lib/components/TooltipWrapper.js.map +2 -2
- package/lib/components/TransferDropDown.d.ts +85 -84
- package/lib/components/TransferDropDown.js +2 -2
- package/lib/components/TransferDropDown.js.map +2 -2
- package/lib/components/Tree.d.ts +84 -84
- package/lib/components/formula/VariableList.d.ts +1 -0
- package/lib/components/formula/VariableList.js.map +2 -2
- package/lib/components/icons.js +2 -0
- package/lib/components/icons.js.map +2 -2
- package/lib/components/index.d.ts +4 -1
- package/lib/components/index.js +7 -1
- package/lib/components/index.js.map +2 -2
- package/lib/components/schema-editor/Array.d.ts +11 -0
- package/lib/components/schema-editor/Array.js +66 -0
- package/lib/components/schema-editor/Array.js.map +13 -0
- package/lib/components/schema-editor/Common.d.ts +29 -0
- package/lib/components/schema-editor/Common.js +69 -0
- package/lib/components/schema-editor/Common.js.map +13 -0
- package/lib/components/schema-editor/Item.d.ts +9 -0
- package/lib/components/schema-editor/Item.js +31 -0
- package/lib/components/schema-editor/Item.js.map +13 -0
- package/lib/components/schema-editor/Object.d.ts +44 -0
- package/lib/components/schema-editor/Object.js +191 -0
- package/lib/components/schema-editor/Object.js.map +13 -0
- package/lib/components/schema-editor/SchemaVariableList.d.ts +316 -0
- package/lib/components/schema-editor/SchemaVariableList.js +74 -0
- package/lib/components/schema-editor/SchemaVariableList.js.map +13 -0
- package/lib/components/schema-editor/SchemaVariableListPicker.d.ts +305 -0
- package/lib/components/schema-editor/SchemaVariableListPicker.js +32 -0
- package/lib/components/schema-editor/SchemaVariableListPicker.js.map +13 -0
- package/lib/components/schema-editor/index.d.ts +520 -0
- package/lib/components/schema-editor/index.js +118 -0
- package/lib/components/schema-editor/index.js.map +13 -0
- package/lib/components/table/Cell.d.ts +930 -0
- package/lib/components/table/Cell.js +36 -0
- package/lib/components/table/Cell.js.map +13 -0
- package/lib/components/table/HeadCellDropDown.d.ts +514 -0
- package/lib/components/table/HeadCellDropDown.js +52 -0
- package/lib/components/table/HeadCellDropDown.js.map +13 -0
- package/lib/components/table/HeadCellFilter.d.ts +771 -0
- package/lib/components/table/HeadCellFilter.js +106 -0
- package/lib/components/table/HeadCellFilter.js.map +13 -0
- package/lib/components/table/HeadCellSelect.d.ts +672 -0
- package/lib/components/table/HeadCellSelect.js +46 -0
- package/lib/components/table/HeadCellSelect.js.map +13 -0
- package/lib/components/table/HeadCellSort.d.ts +498 -0
- package/lib/components/table/HeadCellSort.js +67 -0
- package/lib/components/table/HeadCellSort.js.map +13 -0
- package/lib/components/table/index.d.ts +1355 -0
- package/lib/components/table/index.js +1095 -0
- package/lib/components/table/index.js.map +13 -0
- package/lib/env.d.ts +2 -4
- package/lib/env.js.map +2 -2
- package/lib/factory.js +0 -95
- package/lib/factory.js.map +2 -2
- package/lib/icons/dot.js +11 -0
- package/lib/index.d.ts +6 -1
- package/lib/index.js +9 -2
- package/lib/index.js.map +2 -2
- package/lib/locale/de-DE.js +18 -1
- package/lib/locale/de-DE.js.map +2 -2
- package/lib/locale/en-US.js +18 -1
- package/lib/locale/en-US.js.map +2 -2
- package/lib/locale/zh-CN.js +20 -1
- package/lib/locale/zh-CN.js.map +2 -2
- package/lib/renderers/Action.js +0 -2
- package/lib/renderers/Action.js.map +2 -2
- package/lib/renderers/Carousel.d.ts +5 -1
- package/lib/renderers/Carousel.js +18 -5
- package/lib/renderers/Carousel.js.map +2 -2
- package/lib/renderers/Form/ButtonGroupSelect.d.ts +2 -0
- package/lib/renderers/Form/ButtonGroupSelect.js +7 -0
- package/lib/renderers/Form/ButtonGroupSelect.js.map +2 -2
- package/lib/renderers/Form/Checkbox.js +3 -4
- package/lib/renderers/Form/Checkbox.js.map +2 -2
- package/lib/renderers/Form/Checkboxes.d.ts +2 -1
- package/lib/renderers/Form/Checkboxes.js +19 -14
- package/lib/renderers/Form/Checkboxes.js.map +2 -2
- package/lib/renderers/Form/Combo.js +23 -4
- package/lib/renderers/Form/Combo.js.map +2 -2
- package/lib/renderers/Form/DiffEditor.d.ts +126 -18
- package/lib/renderers/Form/Editor.d.ts +412 -112
- package/lib/renderers/Form/Editor.js +10 -1
- package/lib/renderers/Form/Editor.js.map +2 -2
- package/lib/renderers/Form/InputExcel.js +6 -1
- package/lib/renderers/Form/InputExcel.js.map +2 -2
- package/lib/renderers/Form/InputFile.js +1 -2
- package/lib/renderers/Form/InputFile.js.map +2 -2
- package/lib/renderers/Form/InputTree.js +1 -1
- package/lib/renderers/Form/InputTree.js.map +2 -2
- package/lib/renderers/Form/Item.d.ts +0 -6
- package/lib/renderers/Form/JSONSchemaEditor.d.ts +41 -0
- package/lib/renderers/Form/JSONSchemaEditor.js +33 -0
- package/lib/renderers/Form/JSONSchemaEditor.js.map +13 -0
- package/lib/renderers/Form/ListSelect.d.ts +2 -0
- package/lib/renderers/Form/ListSelect.js +7 -0
- package/lib/renderers/Form/ListSelect.js.map +2 -2
- package/lib/renderers/Form/Options.js +1 -0
- package/lib/renderers/Form/Options.js.map +2 -2
- package/lib/renderers/Form/Select.js +12 -1
- package/lib/renderers/Form/Select.js.map +2 -2
- package/lib/renderers/Form/TabsTransfer.d.ts +1 -1
- package/lib/renderers/Form/TabsTransfer.js +2 -2
- package/lib/renderers/Form/TabsTransfer.js.map +2 -2
- package/lib/renderers/Form/TreeSelect.d.ts +4 -0
- package/lib/renderers/Form/TreeSelect.js +2 -2
- package/lib/renderers/Form/TreeSelect.js.map +2 -2
- package/lib/renderers/Form/wrapControl.js +10 -5
- package/lib/renderers/Form/wrapControl.js.map +2 -2
- package/lib/renderers/Pagination.d.ts +49 -30
- package/lib/renderers/Pagination.js +3 -132
- package/lib/renderers/Pagination.js.map +2 -2
- package/lib/renderers/Table/HeadCellSearchDropdown.js +0 -1
- package/lib/renderers/Table/HeadCellSearchDropdown.js.map +2 -2
- package/lib/renderers/Table-v2/HeadCellSearchDropdown.d.ts +29 -0
- package/lib/renderers/Table-v2/HeadCellSearchDropdown.js +158 -0
- package/lib/renderers/Table-v2/HeadCellSearchDropdown.js.map +13 -0
- package/lib/renderers/Table-v2/TableCell.d.ts +6 -0
- package/lib/renderers/Table-v2/TableCell.js +28 -0
- package/lib/renderers/Table-v2/TableCell.js.map +13 -0
- package/lib/renderers/Table-v2/index.d.ts +256 -0
- package/lib/renderers/Table-v2/index.js +548 -0
- package/lib/renderers/Table-v2/index.js.map +13 -0
- package/lib/renderers/Tabs.js +1 -1
- package/lib/renderers/Tabs.js.map +2 -2
- package/lib/renderers/Tag.d.ts +66 -0
- package/lib/renderers/Tag.js +53 -0
- package/lib/renderers/Tag.js.map +13 -0
- package/lib/renderers/Wizard.js +3 -3
- package/lib/renderers/Wizard.js.map +2 -2
- package/lib/schemaExtend.js +24 -30
- package/lib/schemaExtend.js.map +2 -2
- package/lib/store/combo.d.ts +140 -20
- package/lib/store/form.d.ts +56 -8
- package/lib/store/formItem.d.ts +3 -1
- package/lib/store/formItem.js +3 -1
- package/lib/store/formItem.js.map +2 -2
- package/lib/store/index.js +2 -0
- package/lib/store/index.js.map +2 -2
- package/lib/store/table-v2.d.ts +308 -0
- package/lib/store/table-v2.js +452 -0
- package/lib/store/table-v2.js.map +13 -0
- package/lib/store/table.d.ts +112 -16
- package/lib/store/table.js +1 -1
- package/lib/store/table.js.map +2 -2
- package/lib/themes/ang-ie11.css +1686 -120
- package/lib/themes/ang.css +1807 -208
- package/lib/themes/ang.css.map +1 -1
- package/lib/themes/antd-ie11.css +1667 -101
- package/lib/themes/antd.css +1789 -201
- package/lib/themes/antd.css.map +1 -1
- package/lib/themes/cxd-ie11.css +1662 -97
- package/lib/themes/cxd.css +1983 -394
- package/lib/themes/cxd.css.map +1 -1
- package/lib/themes/dark-ie11.css +1667 -101
- package/lib/themes/dark.css +1789 -201
- package/lib/themes/dark.css.map +1 -1
- package/lib/themes/default-ie11.css +1662 -97
- package/lib/themes/default.css +1983 -394
- package/lib/themes/default.css.map +1 -1
- package/lib/utils/DataSchema.d.ts +25 -0
- package/lib/utils/DataSchema.js +104 -0
- package/lib/utils/DataSchema.js.map +13 -0
- package/lib/utils/DataScope.d.ts +23 -0
- package/lib/utils/DataScope.js +140 -0
- package/lib/utils/DataScope.js.map +13 -0
- package/lib/utils/handleAction.js +1 -1
- package/lib/utils/handleAction.js.map +2 -2
- package/lib/utils/renderer-event.d.ts +8 -2
- package/lib/utils/renderer-event.js +102 -1
- package/lib/utils/renderer-event.js.map +2 -2
- package/package.json +3 -2
- package/schema.json +1476 -469
- package/scss/_properties.scss +69 -0
- package/scss/components/_button.scss +37 -39
- package/scss/components/_context-menu.scss +3 -18
- package/scss/components/_json-schema-editor.scss +126 -0
- package/scss/components/_pagination.scss +104 -23
- package/scss/components/_result-box.scss +2 -2
- package/scss/components/_table-v2.scss +912 -0
- package/scss/components/_tag.scss +177 -0
- package/scss/components/form/_selection.scss +1 -14
- package/scss/components/form/_text.scss +1 -1
- package/scss/themes/_antd-variables.scss +0 -13
- package/scss/themes/_common.scss +3 -0
- package/scss/themes/_cxd-variables.scss +7 -17
- package/scss/themes/_dark-variables.scss +0 -13
- package/scss/themes/cxd.scss +1 -1
- package/sdk/ang-ie11.css +2240 -227
- package/sdk/ang.css +2905 -859
- package/sdk/antd-ie11.css +2233 -220
- package/sdk/antd.css +2905 -870
- package/sdk/barcode.js +51 -51
- package/sdk/charts.js +14 -14
- package/sdk/codemirror.js +7 -7
- package/sdk/color-picker.js +65 -65
- package/sdk/cropperjs.js +2 -2
- package/sdk/cxd-ie11.css +2223 -211
- package/sdk/cxd.css +2911 -875
- package/sdk/dark-ie11.css +2233 -220
- package/sdk/dark.css +2905 -870
- package/sdk/exceljs.js +1 -1
- package/sdk/locale/de-DE.js +18 -1
- package/sdk/markdown.js +69 -69
- package/sdk/papaparse.js +1 -1
- package/sdk/renderers/Form/CityDB.js +1 -1
- package/sdk/rest.js +16 -16
- package/sdk/rich-text.js +62 -62
- package/sdk/sdk-ie11.css +2223 -211
- package/sdk/sdk.css +2911 -875
- package/sdk/sdk.js +1326 -1270
- 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/src/Schema.ts +7 -0
- package/src/SchemaRenderer.tsx +4 -5
- package/src/actions/Action.ts +7 -6
- package/src/actions/AjaxAction.ts +33 -24
- package/src/actions/BreakAction.ts +2 -2
- package/src/actions/BroadcastAction.ts +6 -5
- package/src/actions/CmptAction.ts +5 -6
- package/src/actions/ContinueAction.ts +2 -2
- package/src/actions/CopyAction.ts +14 -8
- package/src/actions/CustomAction.ts +2 -2
- package/src/actions/DialogAction.ts +16 -10
- package/src/actions/DrawerAction.ts +3 -3
- package/src/actions/EmailAction.ts +12 -12
- package/src/actions/LinkAction.ts +34 -14
- package/src/actions/LoopAction.ts +13 -8
- package/src/actions/PageAction.ts +9 -6
- package/src/actions/ParallelAction.ts +2 -2
- package/src/actions/SwitchAction.ts +2 -2
- package/src/actions/ToastAction.ts +9 -5
- package/src/components/InputBox.tsx +1 -0
- package/src/components/Pagination.tsx +446 -0
- package/src/components/PickerContainer.tsx +8 -5
- package/src/components/Rating.tsx +16 -9
- package/src/components/Select.tsx +3 -3
- package/src/components/Tag.tsx +179 -0
- package/src/components/TooltipWrapper.tsx +14 -1
- package/src/components/TransferDropDown.tsx +3 -0
- package/src/components/formula/VariableList.tsx +1 -0
- package/src/components/icons.tsx +2 -0
- package/src/components/index.tsx +7 -1
- package/src/components/schema-editor/Array.tsx +95 -0
- package/src/components/schema-editor/Common.tsx +138 -0
- package/src/components/schema-editor/Item.tsx +36 -0
- package/src/components/schema-editor/Object.tsx +299 -0
- package/src/components/schema-editor/SchemaVariableList.tsx +97 -0
- package/src/components/schema-editor/SchemaVariableListPicker.tsx +66 -0
- package/src/components/schema-editor/index.tsx +211 -0
- package/src/components/table/Cell.tsx +70 -0
- package/src/components/table/HeadCellDropDown.tsx +115 -0
- package/src/components/table/HeadCellFilter.tsx +193 -0
- package/src/components/table/HeadCellSelect.tsx +86 -0
- package/src/components/table/HeadCellSort.tsx +102 -0
- package/src/components/table/index.tsx +1681 -0
- package/src/env.tsx +7 -14
- package/src/factory.tsx +3 -106
- package/src/icons/dot.svg +11 -0
- package/src/index.tsx +8 -1
- package/src/locale/de-DE.ts +18 -1
- package/src/locale/en-US.ts +18 -1
- package/src/locale/zh-CN.ts +20 -1
- package/src/renderers/Action.tsx +1 -1
- package/src/renderers/Carousel.tsx +21 -6
- package/src/renderers/Form/ButtonGroupSelect.tsx +10 -1
- package/src/renderers/Form/Checkbox.tsx +4 -4
- package/src/renderers/Form/Checkboxes.tsx +31 -25
- package/src/renderers/Form/Combo.tsx +20 -4
- package/src/renderers/Form/Editor.tsx +15 -1
- package/src/renderers/Form/InputExcel.tsx +6 -1
- package/src/renderers/Form/InputFile.tsx +1 -2
- package/src/renderers/Form/InputTree.tsx +1 -1
- package/src/renderers/Form/JSONSchemaEditor.tsx +67 -0
- package/src/renderers/Form/ListSelect.tsx +9 -1
- package/src/renderers/Form/Options.tsx +1 -1
- package/src/renderers/Form/Select.tsx +7 -0
- package/src/renderers/Form/TabsTransfer.tsx +2 -2
- package/src/renderers/Form/TreeSelect.tsx +8 -1
- package/src/renderers/Form/wrapControl.tsx +11 -5
- package/src/renderers/Pagination.tsx +65 -253
- package/src/renderers/Table/HeadCellSearchDropdown.tsx +0 -1
- package/src/renderers/Table-v2/HeadCellSearchDropdown.tsx +244 -0
- package/src/renderers/Table-v2/TableCell.tsx +19 -0
- package/src/renderers/Table-v2/index.tsx +1140 -0
- package/src/renderers/Tabs.tsx +1 -1
- package/src/renderers/Tag.tsx +128 -0
- package/src/renderers/Wizard.tsx +3 -3
- package/src/schemaExtend.ts +24 -28
- package/src/store/formItem.ts +5 -1
- package/src/store/index.ts +2 -0
- package/src/store/table-v2.ts +646 -0
- package/src/store/table.ts +1 -1
- package/src/utils/DataSchema.ts +131 -0
- package/src/utils/DataScope.ts +190 -0
- package/src/utils/handleAction.ts +1 -1
- package/src/utils/renderer-event.ts +113 -2
@@ -0,0 +1,452 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.TableStoreV2 = exports.Row = exports.Column = void 0;
|
4
|
+
var tslib_1 = require("tslib");
|
5
|
+
var mobx_state_tree_1 = require("mobx-state-tree");
|
6
|
+
var find_1 = (0, tslib_1.__importDefault)(require("lodash/find"));
|
7
|
+
var isEqual_1 = (0, tslib_1.__importDefault)(require("lodash/isEqual"));
|
8
|
+
var helper_1 = require("../utils/helper");
|
9
|
+
var api_1 = require("../utils/api");
|
10
|
+
var service_1 = require("./service");
|
11
|
+
var ServerError = /** @class */ (function (_super) {
|
12
|
+
(0, tslib_1.__extends)(ServerError, _super);
|
13
|
+
function ServerError() {
|
14
|
+
var _this = _super !== null && _super.apply(this, arguments) || this;
|
15
|
+
_this.type = 'ServerError';
|
16
|
+
return _this;
|
17
|
+
}
|
18
|
+
return ServerError;
|
19
|
+
}(Error));
|
20
|
+
exports.Column = mobx_state_tree_1.types
|
21
|
+
.model('Column', {
|
22
|
+
title: mobx_state_tree_1.types.optional(mobx_state_tree_1.types.frozen(), undefined),
|
23
|
+
key: '',
|
24
|
+
toggled: false,
|
25
|
+
breakpoint: mobx_state_tree_1.types.optional(mobx_state_tree_1.types.frozen(), undefined),
|
26
|
+
pristine: mobx_state_tree_1.types.optional(mobx_state_tree_1.types.frozen(), undefined),
|
27
|
+
toggable: true,
|
28
|
+
index: 0,
|
29
|
+
type: '',
|
30
|
+
children: mobx_state_tree_1.types.optional(mobx_state_tree_1.types.array(mobx_state_tree_1.types.late(function () { return exports.Column; })), [])
|
31
|
+
})
|
32
|
+
.actions(function (self) { return ({
|
33
|
+
toggleToggle: function () {
|
34
|
+
self.toggled = !self.toggled;
|
35
|
+
var table = (0, mobx_state_tree_1.getParent)(self, 2);
|
36
|
+
if (!table.activeToggaleColumns.length) {
|
37
|
+
self.toggled = true;
|
38
|
+
}
|
39
|
+
table.persistSaveToggledColumns();
|
40
|
+
},
|
41
|
+
setToggled: function (value) {
|
42
|
+
self.toggled = value;
|
43
|
+
}
|
44
|
+
}); });
|
45
|
+
exports.Row = mobx_state_tree_1.types
|
46
|
+
.model('Row', {
|
47
|
+
storeType: 'Row',
|
48
|
+
id: mobx_state_tree_1.types.identifier,
|
49
|
+
key: mobx_state_tree_1.types.string,
|
50
|
+
pristine: mobx_state_tree_1.types.frozen({}),
|
51
|
+
data: mobx_state_tree_1.types.frozen({}),
|
52
|
+
index: mobx_state_tree_1.types.number,
|
53
|
+
newIndex: mobx_state_tree_1.types.number,
|
54
|
+
depth: mobx_state_tree_1.types.number,
|
55
|
+
children: mobx_state_tree_1.types.optional(mobx_state_tree_1.types.array(mobx_state_tree_1.types.late(function () { return exports.Row; })), []),
|
56
|
+
path: '' // 行数据的位置
|
57
|
+
})
|
58
|
+
.views(function (self) { return ({
|
59
|
+
get checked() {
|
60
|
+
return (0, mobx_state_tree_1.getParent)(self, self.depth * 2).isSelected(self);
|
61
|
+
},
|
62
|
+
get modified() {
|
63
|
+
if (!self.data) {
|
64
|
+
return false;
|
65
|
+
}
|
66
|
+
return Object.keys(self.data).some(function (key) { return !(0, isEqual_1.default)(self.data[key], self.pristine[key]); });
|
67
|
+
},
|
68
|
+
get locals() {
|
69
|
+
var children = null;
|
70
|
+
if (self.children.length) {
|
71
|
+
children = self.children.map(function (item) { return item.locals; });
|
72
|
+
}
|
73
|
+
var parent = (0, mobx_state_tree_1.getParent)(self, 2);
|
74
|
+
return (0, helper_1.createObject)((0, helper_1.extendObject)((0, mobx_state_tree_1.getParent)(self, self.depth * 2).data, {
|
75
|
+
index: self.index,
|
76
|
+
// todo 以后再支持多层,目前先一层
|
77
|
+
parent: parent.storeType === exports.Row.name ? parent.data : undefined
|
78
|
+
}), children
|
79
|
+
? (0, tslib_1.__assign)((0, tslib_1.__assign)({}, self.data), { children: children }) : self.data);
|
80
|
+
}
|
81
|
+
}); })
|
82
|
+
.actions(function (self) { return ({
|
83
|
+
replaceWith: function (data) {
|
84
|
+
Object.keys(data).forEach(function (key) {
|
85
|
+
if (key !== 'id') {
|
86
|
+
self[key] = data[key];
|
87
|
+
}
|
88
|
+
});
|
89
|
+
if (Array.isArray(data.children)) {
|
90
|
+
var arr = data.children;
|
91
|
+
var pool = arr.concat();
|
92
|
+
// 把多的删了先
|
93
|
+
if (self.children.length > arr.length) {
|
94
|
+
self.children.splice(arr.length, self.children.length - arr.length);
|
95
|
+
}
|
96
|
+
var index = 0;
|
97
|
+
var len = self.children.length;
|
98
|
+
while (pool.length) {
|
99
|
+
// 因为父级id未更新,所以需要将子级的parentId正确指向父级id
|
100
|
+
var item = (0, tslib_1.__assign)((0, tslib_1.__assign)({}, pool.shift()), { parentId: self.id });
|
101
|
+
if (index < len) {
|
102
|
+
self.children[index].replaceWith(item);
|
103
|
+
}
|
104
|
+
else {
|
105
|
+
var row = exports.Row.create(item);
|
106
|
+
self.children.push(row);
|
107
|
+
}
|
108
|
+
index++;
|
109
|
+
}
|
110
|
+
}
|
111
|
+
},
|
112
|
+
change: function (values, savePristine) {
|
113
|
+
self.data = (0, helper_1.immutableExtends)(self.data, values);
|
114
|
+
savePristine && (self.pristine = self.data);
|
115
|
+
}
|
116
|
+
}); });
|
117
|
+
exports.TableStoreV2 = service_1.ServiceStore
|
118
|
+
.named('TableStoreV2')
|
119
|
+
.props({
|
120
|
+
columns: mobx_state_tree_1.types.array(exports.Column),
|
121
|
+
rows: mobx_state_tree_1.types.array(exports.Row),
|
122
|
+
selectedRowKeys: mobx_state_tree_1.types.array(mobx_state_tree_1.types.frozen()),
|
123
|
+
selectedRows: mobx_state_tree_1.types.array(mobx_state_tree_1.types.reference(exports.Row)),
|
124
|
+
expandedRowKeys: mobx_state_tree_1.types.array(mobx_state_tree_1.types.frozen()),
|
125
|
+
columnsTogglable: mobx_state_tree_1.types.optional(mobx_state_tree_1.types.union(mobx_state_tree_1.types.boolean, mobx_state_tree_1.types.literal('auto')), 'auto'),
|
126
|
+
orderBy: '',
|
127
|
+
order: mobx_state_tree_1.types.optional(mobx_state_tree_1.types.union(mobx_state_tree_1.types.literal('asc'), mobx_state_tree_1.types.literal('desc')), 'asc'),
|
128
|
+
query: mobx_state_tree_1.types.optional(mobx_state_tree_1.types.frozen(), {}),
|
129
|
+
pageNo: 1,
|
130
|
+
pageSize: 10,
|
131
|
+
dragging: false
|
132
|
+
})
|
133
|
+
.views(function (self) {
|
134
|
+
function getToggable() {
|
135
|
+
if (self.columnsTogglable === 'auto') {
|
136
|
+
return self.columns.filter.length > 10;
|
137
|
+
}
|
138
|
+
return self.columnsTogglable;
|
139
|
+
}
|
140
|
+
function hasColumnHidden() {
|
141
|
+
return self.columns.findIndex(function (column) { return !column.toggled; }) !== -1;
|
142
|
+
}
|
143
|
+
function getToggableColumns() {
|
144
|
+
return self.columns.filter(function (item) { return (0, helper_1.isVisible)(item.pristine, self.data) && item.toggable !== false; });
|
145
|
+
}
|
146
|
+
function getActiveToggableColumns() {
|
147
|
+
return getToggableColumns().filter(function (item) { return item.toggled; });
|
148
|
+
}
|
149
|
+
function getAllFilteredColumns(columns) {
|
150
|
+
if (columns) {
|
151
|
+
return columns.filter(function (item) {
|
152
|
+
return item &&
|
153
|
+
(0, helper_1.isVisible)(item.pristine, (0, helper_1.hasVisibleExpression)(item.pristine) ? self.data : {}) &&
|
154
|
+
(item.toggled || !item.toggable);
|
155
|
+
}).map(function (item) { return ((0, tslib_1.__assign)((0, tslib_1.__assign)({}, item.pristine), { type: item.type, children: item.children ? getAllFilteredColumns(item.children) : undefined })); });
|
156
|
+
}
|
157
|
+
return [];
|
158
|
+
}
|
159
|
+
function getFilteredColumns() {
|
160
|
+
return getAllFilteredColumns(self.columns);
|
161
|
+
}
|
162
|
+
function getUnSelectedRows() {
|
163
|
+
return (0, helper_1.flattenTree)(self.rows).filter(function (item) { return !item.checked; });
|
164
|
+
}
|
165
|
+
function getData(superData) {
|
166
|
+
return (0, helper_1.createObject)(superData, {
|
167
|
+
items: self.rows.map(function (item) { return item.data; }),
|
168
|
+
selectedItems: self.selectedRows.map(function (item) { return item.data; }),
|
169
|
+
unSelectedItems: getUnSelectedRows().map(function (item) { return item.data; })
|
170
|
+
});
|
171
|
+
}
|
172
|
+
function isSelected(row) {
|
173
|
+
return !!~self.selectedRows.indexOf(row);
|
174
|
+
}
|
175
|
+
return {
|
176
|
+
get toggable() {
|
177
|
+
return getToggable();
|
178
|
+
},
|
179
|
+
get columnsData() {
|
180
|
+
return self.columns;
|
181
|
+
},
|
182
|
+
get toggableColumns() {
|
183
|
+
return getToggableColumns();
|
184
|
+
},
|
185
|
+
get filteredColumns() {
|
186
|
+
return getFilteredColumns();
|
187
|
+
},
|
188
|
+
get activeToggaleColumns() {
|
189
|
+
return getActiveToggableColumns();
|
190
|
+
},
|
191
|
+
get dataSource() {
|
192
|
+
return self.rows.map(function (item) { return item.data; });
|
193
|
+
},
|
194
|
+
get currentSelectedRowKeys() {
|
195
|
+
return self.selectedRowKeys.map(function (item) { return item; });
|
196
|
+
},
|
197
|
+
get currentExpandedKeys() {
|
198
|
+
return self.expandedRowKeys.map(function (item) { return item; });
|
199
|
+
},
|
200
|
+
// 是否隐藏了某列
|
201
|
+
hasColumnHidden: function () {
|
202
|
+
return hasColumnHidden();
|
203
|
+
},
|
204
|
+
getData: getData,
|
205
|
+
isSelected: isSelected
|
206
|
+
};
|
207
|
+
})
|
208
|
+
.actions(function (self) {
|
209
|
+
function updateColumns(columns) {
|
210
|
+
if (columns && Array.isArray(columns)) {
|
211
|
+
var cols = columns
|
212
|
+
.filter(function (column) { return column; })
|
213
|
+
.concat();
|
214
|
+
cols = cols.map(function (item, index) { return ((0, tslib_1.__assign)((0, tslib_1.__assign)({}, item), { index: index, type: item.type || 'plain', pristine: item, toggled: item.toggled !== false, breakpoint: item.breakpoint, children: item.children ? updateColumns(item.children) : [] })); });
|
215
|
+
return cols;
|
216
|
+
}
|
217
|
+
return;
|
218
|
+
}
|
219
|
+
function update(config) {
|
220
|
+
config.columnsTogglable !== void 0 &&
|
221
|
+
(self.columnsTogglable = config.columnsTogglable);
|
222
|
+
if (typeof config.orderBy === 'string') {
|
223
|
+
setOrderByInfo(config.orderBy, config.order === 'desc' ? 'desc' : 'asc');
|
224
|
+
}
|
225
|
+
if (config.columns && Array.isArray(config.columns)) {
|
226
|
+
self.columns.replace(updateColumns(config.columns));
|
227
|
+
}
|
228
|
+
}
|
229
|
+
function persistSaveToggledColumns() {
|
230
|
+
var key = location.pathname +
|
231
|
+
self.path +
|
232
|
+
self.toggableColumns.map(function (item) { return item.key || item.index; }).join('-');
|
233
|
+
localStorage.setItem(key, JSON.stringify(self.activeToggaleColumns.map(function (item) { return item.index; })));
|
234
|
+
}
|
235
|
+
function setOrderByInfo(key, direction) {
|
236
|
+
self.orderBy = key;
|
237
|
+
self.order = direction;
|
238
|
+
}
|
239
|
+
function updateQuery(values, updater, pageNoField, pageSizeField, replace) {
|
240
|
+
if (pageNoField === void 0) { pageNoField = 'pageNo'; }
|
241
|
+
if (pageSizeField === void 0) { pageSizeField = 'pageSize'; }
|
242
|
+
if (replace === void 0) { replace = false; }
|
243
|
+
var originQuery = self.query;
|
244
|
+
self.query = replace
|
245
|
+
? (0, tslib_1.__assign)({}, values) : (0, tslib_1.__assign)((0, tslib_1.__assign)({}, self.query), values);
|
246
|
+
if (self.query[pageNoField || 'pageNo']) {
|
247
|
+
self.pageNo = parseInt(self.query[pageNoField || 'pageNo'], 10);
|
248
|
+
}
|
249
|
+
if (self.query[pageSizeField || 'pageSize']) {
|
250
|
+
self.pageSize = parseInt(self.query[pageSizeField || 'pageSize'], 10);
|
251
|
+
}
|
252
|
+
updater &&
|
253
|
+
(0, helper_1.isObjectShallowModified)(originQuery, self.query, false) &&
|
254
|
+
setTimeout(updater.bind(null, "?".concat((0, helper_1.qsstringify)(self.query))), 4);
|
255
|
+
}
|
256
|
+
function updateSelectedRows(rows, selectedKeys, keyField) {
|
257
|
+
(0, helper_1.eachTree)(rows, function (item) {
|
258
|
+
if (~selectedKeys.indexOf(item.pristine[keyField || 'key'])) {
|
259
|
+
self.selectedRows.push(item.id);
|
260
|
+
self.selectedRowKeys.push(item.pristine[keyField || 'key']);
|
261
|
+
}
|
262
|
+
else if ((0, find_1.default)(selectedKeys, function (a) {
|
263
|
+
return a &&
|
264
|
+
a == item.pristine[keyField || 'key'];
|
265
|
+
})) {
|
266
|
+
self.selectedRows.push(item.id);
|
267
|
+
self.selectedRowKeys.push(item.pristine[keyField || 'key']);
|
268
|
+
}
|
269
|
+
else if (item.children) {
|
270
|
+
updateSelectedRows(item.children, selectedKeys, keyField);
|
271
|
+
}
|
272
|
+
});
|
273
|
+
}
|
274
|
+
function updateSelected(selectedKeys, keyField) {
|
275
|
+
self.selectedRows.clear();
|
276
|
+
self.selectedRowKeys.clear();
|
277
|
+
updateSelectedRows(self.rows, selectedKeys, keyField);
|
278
|
+
}
|
279
|
+
function updateExpanded(expandedRowKeys, keyField) {
|
280
|
+
self.expandedRowKeys.clear();
|
281
|
+
(0, helper_1.eachTree)(self.rows, function (item) {
|
282
|
+
if (~expandedRowKeys.indexOf(item.pristine[keyField || 'key'])) {
|
283
|
+
self.expandedRowKeys.push(item.pristine[keyField || 'key']);
|
284
|
+
}
|
285
|
+
else if ((0, find_1.default)(expandedRowKeys, function (a) {
|
286
|
+
return a &&
|
287
|
+
a == item.pristine[keyField || 'key'];
|
288
|
+
})) {
|
289
|
+
self.expandedRowKeys.push(item.pristine[keyField || 'key']);
|
290
|
+
}
|
291
|
+
});
|
292
|
+
}
|
293
|
+
// 尽可能的复用 row
|
294
|
+
function replaceRow(arr, reUseRow) {
|
295
|
+
if (reUseRow === false) {
|
296
|
+
self.rows.replace(arr.map(function (item) { return exports.Row.create(item); }));
|
297
|
+
return;
|
298
|
+
}
|
299
|
+
var pool = arr.concat();
|
300
|
+
// 把多的删了先
|
301
|
+
if (self.rows.length > arr.length) {
|
302
|
+
self.rows.splice(arr.length, self.rows.length - arr.length);
|
303
|
+
}
|
304
|
+
var index = 0;
|
305
|
+
var len = self.rows.length;
|
306
|
+
while (pool.length) {
|
307
|
+
var item = pool.shift();
|
308
|
+
if (index < len) {
|
309
|
+
self.rows[index].replaceWith(item);
|
310
|
+
}
|
311
|
+
else {
|
312
|
+
var row = exports.Row.create(item);
|
313
|
+
self.rows.push(row);
|
314
|
+
}
|
315
|
+
index++;
|
316
|
+
}
|
317
|
+
}
|
318
|
+
function initChildren(children, depth, pindex, parentId, path, keyField) {
|
319
|
+
if (path === void 0) { path = ''; }
|
320
|
+
var key = keyField || 'children';
|
321
|
+
depth += 1;
|
322
|
+
return children.map(function (item, index) {
|
323
|
+
item = (0, helper_1.isObject)(item)
|
324
|
+
? item
|
325
|
+
: {
|
326
|
+
item: item
|
327
|
+
};
|
328
|
+
var id = (0, helper_1.guid)();
|
329
|
+
return {
|
330
|
+
id: id,
|
331
|
+
parentId: parentId,
|
332
|
+
key: String("".concat(pindex, "-").concat(depth, "-").concat(index)),
|
333
|
+
path: "".concat(path).concat(index),
|
334
|
+
depth: depth,
|
335
|
+
index: index,
|
336
|
+
newIndex: index,
|
337
|
+
pristine: item,
|
338
|
+
data: item,
|
339
|
+
rowSpans: {},
|
340
|
+
children: item && Array.isArray(item[key])
|
341
|
+
? initChildren(item[key], depth, index, id, "".concat(path).concat(index, "."))
|
342
|
+
: []
|
343
|
+
};
|
344
|
+
});
|
345
|
+
}
|
346
|
+
function initRows(rows, getEntryId, reUseRow, keyField) {
|
347
|
+
self.selectedRows.clear();
|
348
|
+
var key = keyField || 'children';
|
349
|
+
var arr = rows.map(function (item, index) {
|
350
|
+
var id = getEntryId ? getEntryId(item, index) : (0, helper_1.guid)();
|
351
|
+
return {
|
352
|
+
id: id,
|
353
|
+
key: String("".concat(index, "-1-").concat(index)),
|
354
|
+
index: index,
|
355
|
+
newIndex: index,
|
356
|
+
pristine: item,
|
357
|
+
path: "".concat(index),
|
358
|
+
data: item,
|
359
|
+
depth: 1,
|
360
|
+
children: item && Array.isArray(item[key])
|
361
|
+
? initChildren(item[key], 1, index, id, "".concat(index, "."), key)
|
362
|
+
: []
|
363
|
+
};
|
364
|
+
});
|
365
|
+
replaceRow(arr, reUseRow);
|
366
|
+
}
|
367
|
+
var saveRemote = (0, mobx_state_tree_1.flow)(function saveRemote(api, data, options) {
|
368
|
+
var json, e_1;
|
369
|
+
var _a, _b, _c;
|
370
|
+
if (options === void 0) { options = {}; }
|
371
|
+
return (0, tslib_1.__generator)(this, function (_d) {
|
372
|
+
switch (_d.label) {
|
373
|
+
case 0:
|
374
|
+
_d.trys.push([0, 2, , 3]);
|
375
|
+
options = (0, tslib_1.__assign)({ method: 'post' }, options);
|
376
|
+
self.markSaving(true);
|
377
|
+
return [4 /*yield*/, (0, mobx_state_tree_1.getEnv)(self).fetcher(api, data, options)];
|
378
|
+
case 1:
|
379
|
+
json = _d.sent();
|
380
|
+
self.markSaving(false);
|
381
|
+
if (!(0, helper_1.isEmpty)(json.data) || json.ok) {
|
382
|
+
self.updateData((0, api_1.normalizeApiResponseData)(json.data), {
|
383
|
+
__saved: Date.now()
|
384
|
+
}, !!api && api.replaceData);
|
385
|
+
self.updatedAt = Date.now();
|
386
|
+
}
|
387
|
+
if (!json.ok) {
|
388
|
+
self.updateMessage((_b = (_a = json.msg) !== null && _a !== void 0 ? _a : options.errorMessage) !== null && _b !== void 0 ? _b : self.__('saveFailed'), true);
|
389
|
+
(0, mobx_state_tree_1.getEnv)(self).notify('error', self.msg, json.msgTimeout !== undefined
|
390
|
+
? {
|
391
|
+
closeButton: true,
|
392
|
+
timeout: json.msgTimeout
|
393
|
+
}
|
394
|
+
: undefined);
|
395
|
+
throw new ServerError(self.msg);
|
396
|
+
}
|
397
|
+
else {
|
398
|
+
self.updateMessage((_c = json.msg) !== null && _c !== void 0 ? _c : options.successMessage);
|
399
|
+
self.msg &&
|
400
|
+
(0, mobx_state_tree_1.getEnv)(self).notify('success', self.msg, json.msgTimeout !== undefined
|
401
|
+
? {
|
402
|
+
closeButton: true,
|
403
|
+
timeout: json.msgTimeout
|
404
|
+
}
|
405
|
+
: undefined);
|
406
|
+
}
|
407
|
+
return [2 /*return*/, json.data];
|
408
|
+
case 2:
|
409
|
+
e_1 = _d.sent();
|
410
|
+
self.markSaving(false);
|
411
|
+
if (!(0, mobx_state_tree_1.isAlive)(self) || self.disposed) {
|
412
|
+
return [2 /*return*/];
|
413
|
+
}
|
414
|
+
e_1.type !== 'ServerError' && (0, mobx_state_tree_1.getEnv)(self).notify('error', e_1.message);
|
415
|
+
throw e_1;
|
416
|
+
case 3: return [2 /*return*/];
|
417
|
+
}
|
418
|
+
});
|
419
|
+
});
|
420
|
+
return {
|
421
|
+
update: update,
|
422
|
+
persistSaveToggledColumns: persistSaveToggledColumns,
|
423
|
+
setOrderByInfo: setOrderByInfo,
|
424
|
+
updateQuery: updateQuery,
|
425
|
+
initRows: initRows,
|
426
|
+
updateSelected: updateSelected,
|
427
|
+
updateExpanded: updateExpanded,
|
428
|
+
// events
|
429
|
+
afterCreate: function () {
|
430
|
+
setTimeout(function () {
|
431
|
+
if (!(0, mobx_state_tree_1.isAlive)(self)) {
|
432
|
+
return;
|
433
|
+
}
|
434
|
+
var key = location.pathname +
|
435
|
+
self.path +
|
436
|
+
self.toggableColumns.map(function (item) { return item.key || item.index; }).join('-');
|
437
|
+
var data = localStorage.getItem(key);
|
438
|
+
if (data) {
|
439
|
+
var selectedColumns_1 = JSON.parse(data);
|
440
|
+
self.toggableColumns.forEach(function (item) {
|
441
|
+
return item.setToggled(!!~selectedColumns_1.indexOf(item.index));
|
442
|
+
});
|
443
|
+
}
|
444
|
+
}, 200);
|
445
|
+
},
|
446
|
+
saveRemote: saveRemote,
|
447
|
+
getRowByIndex: function (rowIndex) {
|
448
|
+
return self.rows[rowIndex];
|
449
|
+
}
|
450
|
+
};
|
451
|
+
});
|
452
|
+
//# sourceMappingURL=./store/table-v2.js.map
|
@@ -0,0 +1,13 @@
|
|
1
|
+
{
|
2
|
+
"version": 3,
|
3
|
+
"file": "table-v2.js",
|
4
|
+
"sourceRoot": "",
|
5
|
+
"sources": [
|
6
|
+
"/src/store/table-v2.ts"
|
7
|
+
],
|
8
|
+
"names": [],
|
9
|
+
"mappings": "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",
|
10
|
+
"sourcesContent": [
|
11
|
+
"import {\n types,\n getParent,\n Instance,\n SnapshotIn,\n isAlive,\n IAnyModelType,\n flow,\n getEnv\n} from 'mobx-state-tree';\nimport find from 'lodash/find';\nimport isEqual from 'lodash/isEqual';\n\nimport {\n isVisible,\n hasVisibleExpression,\n isObjectShallowModified,\n qsstringify,\n guid,\n eachTree,\n createObject,\n flattenTree,\n isObject,\n immutableExtends,\n isEmpty,\n extendObject\n} from '../utils/helper';\nimport {normalizeApiResponseData} from '../utils/api';\nimport {Api, Payload, fetchOptions, ApiObject} from '../types';\nimport {ServiceStore} from './service';\n\nclass ServerError extends Error {\n type = 'ServerError';\n}\n\nexport const Column = types\n .model('Column', {\n title: types.optional(types.frozen(), undefined),\n key: '',\n toggled: false,\n breakpoint: types.optional(types.frozen(), undefined),\n pristine: types.optional(types.frozen(), undefined),\n toggable: true,\n index: 0,\n type: '',\n children: types.optional(\n types.array(types.late((): IAnyModelType => Column)),\n []\n )\n })\n .actions(self => ({\n toggleToggle() {\n self.toggled = !self.toggled;\n const table = getParent(self, 2) as ITableStore;\n\n if (!table.activeToggaleColumns.length) {\n self.toggled = true;\n }\n\n table.persistSaveToggledColumns();\n },\n setToggled(value: boolean) {\n self.toggled = value;\n }\n }));\n\nexport type IColumn = Instance<typeof Column>;\nexport type SColumn = SnapshotIn<typeof Column>;\n\nexport const Row = types\n .model('Row', {\n storeType: 'Row',\n id: types.identifier,\n key: types.string,\n pristine: types.frozen({} as any), // 原始数据\n data: types.frozen({} as any),\n index: types.number,\n newIndex: types.number,\n depth: types.number, // 当前children位于第几层,便于使用getParent获取最顶层TableStore\n children: types.optional(\n types.array(types.late((): IAnyModelType => Row)),\n []\n ),\n path: '' // 行数据的位置\n })\n .views(self => ({\n get checked(): boolean {\n return (getParent(self, self.depth * 2) as ITableStore).isSelected(\n self as IRow\n );\n },\n\n get modified() {\n if (!self.data) {\n return false;\n }\n\n return Object.keys(self.data).some(\n key => !isEqual(self.data[key], self.pristine[key])\n );\n },\n\n get locals(): any {\n let children: Array<any> | null = null;\n if (self.children.length) {\n children = self.children.map(item => item.locals);\n }\n\n const parent = getParent(self, 2) as ITableStore;\n return createObject(\n extendObject((getParent(self, self.depth * 2) as ITableStore).data, {\n index: self.index,\n // todo 以后再支持多层,目前先一层\n parent: parent.storeType === Row.name ? parent.data : undefined\n }),\n children\n ? {\n ...self.data,\n children\n }\n : self.data\n );\n }\n }))\n .actions(self => ({\n replaceWith(data: any) {\n Object.keys(data).forEach(key => {\n if (key !== 'id') {\n (self as any)[key] = data[key];\n }\n });\n\n if (Array.isArray(data.children)) {\n const arr = data.children;\n const pool = arr.concat();\n\n // 把多的删了先\n if (self.children.length > arr.length) {\n self.children.splice(arr.length, self.children.length - arr.length);\n }\n\n let index = 0;\n const len = self.children.length;\n while (pool.length) {\n // 因为父级id未更新,所以需要将子级的parentId正确指向父级id\n const item = {\n ...pool.shift(),\n parentId: self.id\n }!;\n\n if (index < len) {\n self.children[index].replaceWith(item);\n } else {\n const row = Row.create(item);\n self.children.push(row);\n }\n index++;\n }\n }\n },\n change(values: object, savePristine?: boolean) {\n self.data = immutableExtends(self.data, values);\n savePristine && (self.pristine = self.data);\n }\n }));\n\nexport type IRow = Instance<typeof Row>;\nexport type SRow = SnapshotIn<typeof Row>;\n\nexport const TableStoreV2 = ServiceStore\n .named('TableStoreV2')\n .props({\n columns: types.array(Column),\n rows: types.array(Row),\n selectedRowKeys: types.array(types.frozen()),\n selectedRows: types.array(types.reference(Row)),\n expandedRowKeys: types.array(types.frozen()),\n columnsTogglable: types.optional(\n types.union(types.boolean, types.literal('auto')),\n 'auto'\n ),\n orderBy: '',\n order: types.optional(\n types.union(types.literal('asc'), types.literal('desc')),\n 'asc'\n ),\n query: types.optional(types.frozen(), {}),\n pageNo: 1,\n pageSize: 10,\n dragging: false\n })\n .views(self => {\n function getToggable() {\n if (self.columnsTogglable === 'auto') {\n return self.columns.filter.length > 10;\n }\n\n return self.columnsTogglable;\n }\n\n function hasColumnHidden() {\n return self.columns.findIndex(column => !column.toggled) !== -1;\n }\n\n function getToggableColumns() {\n return self.columns.filter(\n item => isVisible(item.pristine, self.data) && item.toggable !== false\n );\n }\n\n function getActiveToggableColumns() {\n return getToggableColumns().filter(item => item.toggled);\n }\n\n function getAllFilteredColumns(columns?: Array<SColumn>): Array<any> {\n if (columns) {\n return columns.filter(\n item =>\n item &&\n isVisible(\n item.pristine,\n hasVisibleExpression(item.pristine) ? self.data : {}\n ) &&\n (item.toggled || !item.toggable)\n ).map(item => ({\n ...item.pristine,\n type: item.type,\n children: item.children ? getAllFilteredColumns(item.children) : undefined\n })); \n }\n return [];\n }\n\n function getFilteredColumns() {\n return getAllFilteredColumns(self.columns); \n }\n\n function getUnSelectedRows() {\n return flattenTree<IRow>(self.rows).filter((item: IRow) => !item.checked);\n }\n\n function getData(superData: any): any {\n return createObject(superData, {\n items: self.rows.map(item => item.data),\n selectedItems: self.selectedRows.map(item => item.data),\n unSelectedItems: getUnSelectedRows().map(item => item.data)\n });\n }\n\n function isSelected(row: IRow): boolean {\n return !!~self.selectedRows.indexOf(row);\n }\n\n return {\n get toggable() {\n return getToggable();\n },\n\n get columnsData() {\n return self.columns;\n },\n\n get toggableColumns() {\n return getToggableColumns();\n },\n\n get filteredColumns() {\n return getFilteredColumns();\n },\n\n get activeToggaleColumns() {\n return getActiveToggableColumns();\n },\n\n get dataSource() {\n return self.rows.map(item => item.data);\n },\n\n get currentSelectedRowKeys() {\n return self.selectedRowKeys.map(item => item);\n },\n\n get currentExpandedKeys() {\n return self.expandedRowKeys.map(item => item);\n },\n\n // 是否隐藏了某列\n hasColumnHidden() {\n return hasColumnHidden();\n },\n\n getData,\n\n isSelected\n }\n })\n .actions(self => {\n function updateColumns(columns: Array<SColumn>) {\n if (columns && Array.isArray(columns)) {\n let cols: Array<SColumn> = columns\n .filter(column => column)\n .concat();\n\n cols = cols.map((item, index) => ({\n ...item,\n index,\n type: item.type || 'plain',\n pristine: item,\n toggled: item.toggled !== false,\n breakpoint: item.breakpoint,\n children: item.children ? updateColumns(item.children) : []\n }));\n\n return cols;\n }\n return;\n }\n \n function update(config: Partial<STableStore>) {\n config.columnsTogglable !== void 0 &&\n (self.columnsTogglable = config.columnsTogglable);\n\n if (typeof config.orderBy === 'string') {\n setOrderByInfo(\n config.orderBy,\n config.order === 'desc' ? 'desc' : 'asc'\n );\n }\n\n if (config.columns && Array.isArray(config.columns)) {\n self.columns.replace(updateColumns(config.columns) as any);\n }\n }\n\n function persistSaveToggledColumns() {\n const key =\n location.pathname +\n self.path +\n self.toggableColumns.map(item => item.key || item.index).join('-');\n localStorage.setItem(\n key,\n JSON.stringify(self.activeToggaleColumns.map(item => item.index))\n );\n }\n\n function setOrderByInfo(key: string, direction: 'asc' | 'desc') {\n self.orderBy = key;\n self.order = direction;\n }\n\n function updateQuery(\n values: object,\n updater?: Function,\n pageNoField: string = 'pageNo',\n pageSizeField: string = 'pageSize',\n replace: boolean = false\n ) {\n const originQuery = self.query;\n self.query = replace\n ? {\n ...values\n }\n : {\n ...self.query,\n ...values\n };\n\n if (self.query[pageNoField || 'pageNo']) {\n self.pageNo = parseInt(self.query[pageNoField || 'pageNo'], 10);\n }\n\n if (self.query[pageSizeField || 'pageSize']) {\n self.pageSize = parseInt(self.query[pageSizeField || 'pageSize'], 10);\n }\n\n updater &&\n isObjectShallowModified(originQuery, self.query, false) &&\n setTimeout(updater.bind(null, `?${qsstringify(self.query)}`), 4);\n }\n\n function updateSelectedRows(rows: Array<any>, selectedKeys: Array<any>, keyField?: string) {\n eachTree(rows, item => {\n if (~selectedKeys.indexOf(item.pristine[keyField || 'key'])) {\n self.selectedRows.push(item.id);\n self.selectedRowKeys.push(item.pristine[keyField || 'key']);\n } else if (\n find(\n selectedKeys,\n a =>\n a &&\n a == item.pristine[keyField || 'key']\n )\n ) {\n self.selectedRows.push(item.id);\n self.selectedRowKeys.push(item.pristine[keyField || 'key']);\n } else if (item.children) {\n updateSelectedRows(item.children, selectedKeys, keyField);\n }\n });\n }\n\n function updateSelected(selectedKeys: Array<any>, keyField?: string) {\n self.selectedRows.clear();\n self.selectedRowKeys.clear();\n\n updateSelectedRows(self.rows, selectedKeys, keyField);\n }\n\n function updateExpanded(expandedRowKeys: Array<any>, keyField?: string) {\n self.expandedRowKeys.clear();\n\n eachTree(self.rows, item => {\n if (~expandedRowKeys.indexOf(item.pristine[keyField || 'key'])) {\n self.expandedRowKeys.push(item.pristine[keyField || 'key']);\n } else if (\n find(\n expandedRowKeys,\n a =>\n a &&\n a == item.pristine[keyField || 'key']\n )\n ) {\n self.expandedRowKeys.push(item.pristine[keyField || 'key']);\n }\n });\n }\n\n // 尽可能的复用 row\n function replaceRow(arr: Array<SRow>, reUseRow?: boolean) {\n if (reUseRow === false) {\n self.rows.replace(arr.map(item => Row.create(item)));\n return;\n }\n\n const pool = arr.concat();\n\n // 把多的删了先\n if (self.rows.length > arr.length) {\n self.rows.splice(arr.length, self.rows.length - arr.length);\n }\n\n let index = 0;\n const len = self.rows.length;\n while (pool.length) {\n const item = pool.shift()!;\n\n if (index < len) {\n self.rows[index].replaceWith(item);\n } else {\n const row = Row.create(item);\n self.rows.push(row);\n }\n index++;\n }\n }\n\n function initChildren(\n children: Array<any>,\n depth: number,\n pindex: number,\n parentId: string,\n path: string = '',\n keyField?: string\n ): any {\n const key = keyField || 'children';\n\n depth += 1;\n return children.map((item, index) => {\n item = isObject(item)\n ? item\n : {\n item\n };\n const id = guid();\n\n return {\n id: id,\n parentId,\n key: String(`${pindex}-${depth}-${index}`),\n path: `${path}${index}`,\n depth: depth,\n index: index,\n newIndex: index,\n pristine: item,\n data: item,\n rowSpans: {},\n children:\n item && Array.isArray(item[key])\n ? initChildren(\n item[key],\n depth,\n index,\n id,\n `${path}${index}.`,\n\n )\n : []\n };\n });\n }\n\n function initRows(\n rows: Array<any>,\n getEntryId?: (entry: any, index: number) => string,\n reUseRow?: boolean,\n keyField?: string\n ) {\n self.selectedRows.clear();\n\n const key = keyField || 'children';\n\n let arr: Array<SRow> = rows.map((item, index) => {\n let id = getEntryId ? getEntryId(item, index) : guid();\n\n return {\n id: id,\n key: String(`${index}-1-${index}`),\n index: index,\n newIndex: index,\n pristine: item,\n path: `${index}`,\n data: item,\n depth: 1, // 最大父节点默认为第一层,逐层叠加\n children:\n item && Array.isArray(item[key])\n ? initChildren(item[key], 1, index, id, `${index}.`, key)\n : []\n };\n });\n\n replaceRow(arr, reUseRow);\n }\n\n const saveRemote: (\n api: Api,\n data?: object,\n options?: fetchOptions\n ) => Promise<any> = flow(function* saveRemote(\n api: Api,\n data: object,\n options: fetchOptions = {}\n ) {\n try {\n options = {\n method: 'post', // 默认走 post\n ...options\n };\n\n self.markSaving(true);\n const json: Payload = yield getEnv(self).fetcher(api, data, options);\n self.markSaving(false);\n\n if (!isEmpty(json.data) || json.ok) {\n self.updateData(\n normalizeApiResponseData(json.data),\n {\n __saved: Date.now()\n },\n !!api && (api as ApiObject).replaceData\n );\n self.updatedAt = Date.now();\n }\n\n if (!json.ok) {\n self.updateMessage(\n json.msg ?? options.errorMessage ?? self.__('saveFailed'),\n true\n );\n getEnv(self).notify(\n 'error',\n self.msg,\n json.msgTimeout !== undefined\n ? {\n closeButton: true,\n timeout: json.msgTimeout\n }\n : undefined\n );\n throw new ServerError(self.msg);\n } else {\n self.updateMessage(json.msg ?? options.successMessage);\n self.msg &&\n getEnv(self).notify(\n 'success',\n self.msg,\n json.msgTimeout !== undefined\n ? {\n closeButton: true,\n timeout: json.msgTimeout\n }\n : undefined\n );\n }\n return json.data;\n } catch (e) {\n self.markSaving(false);\n\n if (!isAlive(self) || self.disposed) {\n return;\n }\n\n e.type !== 'ServerError' && getEnv(self).notify('error', e.message);\n throw e;\n }\n });\n\n return {\n update,\n persistSaveToggledColumns,\n setOrderByInfo,\n updateQuery,\n initRows,\n updateSelected,\n updateExpanded,\n\n // events\n afterCreate() {\n setTimeout(() => {\n if (!isAlive(self)) {\n return;\n }\n const key =\n location.pathname +\n self.path +\n self.toggableColumns.map(item => item.key || item.index).join('-');\n\n const data = localStorage.getItem(key);\n\n if (data) {\n const selectedColumns = JSON.parse(data);\n self.toggableColumns.forEach(item =>\n item.setToggled(!!~selectedColumns.indexOf(item.index))\n );\n }\n }, 200);\n },\n saveRemote,\n\n getRowByIndex(rowIndex: number) {\n return self.rows[rowIndex];\n }\n };\n });\n\nexport type ITableStore = Instance<typeof TableStoreV2>;\nexport type STableStore = SnapshotIn<typeof TableStoreV2>;\n"
|
12
|
+
]
|
13
|
+
}
|