amis 1.7.0 → 1.8.0-beta.13
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 +10 -2
- package/lib/Schema.js +0 -1
- package/lib/Schema.js.map +2 -2
- package/lib/SchemaRenderer.js +19 -3
- package/lib/SchemaRenderer.js.map +2 -2
- package/lib/WithRootStore.d.ts +18 -0
- package/lib/WithStore.js +2 -1
- package/lib/WithStore.js.map +2 -2
- package/lib/actions/CmptAction.js +26 -4
- package/lib/actions/CmptAction.js.map +2 -2
- package/lib/actions/PageAction.d.ts +32 -0
- package/lib/actions/PageAction.js +72 -0
- package/lib/actions/PageAction.js.map +13 -0
- package/lib/actions/index.d.ts +1 -0
- package/lib/actions/index.js +1 -0
- package/lib/actions/index.js.map +2 -2
- package/lib/components/Alert2.js +4 -2
- package/lib/components/Alert2.js.map +2 -2
- package/lib/components/AssociatedSelection.js +9 -2
- package/lib/components/AssociatedSelection.js.map +2 -2
- package/lib/components/Avatar.d.ts +20 -20
- package/lib/components/BarCode.js +1 -1
- package/lib/components/BarCode.js.map +2 -2
- package/lib/components/CalendarMobile.d.ts +84 -84
- package/lib/components/Card.d.ts +20 -20
- package/lib/components/Cascader.d.ts +2 -0
- package/lib/components/Cascader.js +28 -12
- package/lib/components/Cascader.js.map +2 -2
- package/lib/components/Checkbox.d.ts +24 -23
- package/lib/components/Checkbox.js +5 -1
- package/lib/components/Checkbox.js.map +2 -2
- package/lib/components/CityArea.js +3 -0
- package/lib/components/CityArea.js.map +2 -2
- package/lib/components/Collapse.d.ts +20 -20
- package/lib/components/DatePicker.d.ts +87 -84
- package/lib/components/DatePicker.js +48 -11
- package/lib/components/DatePicker.js.map +2 -2
- package/lib/components/DateRangePicker.d.ts +285 -171
- package/lib/components/DateRangePicker.js +471 -66
- package/lib/components/DateRangePicker.js.map +2 -2
- package/lib/components/Drawer.js +1 -1
- package/lib/components/Drawer.js.map +2 -2
- package/lib/components/ListGroup.d.ts +21 -21
- package/lib/components/Modal.js +1 -1
- package/lib/components/Modal.js.map +2 -2
- package/lib/components/MonthRangePicker.d.ts +84 -84
- package/lib/components/Overlay.d.ts +1 -0
- package/lib/components/Overlay.js +4 -3
- package/lib/components/Overlay.js.map +2 -2
- package/lib/components/Progress.d.ts +29 -24
- package/lib/components/Progress.js +52 -21
- package/lib/components/Progress.js.map +2 -2
- package/lib/components/PullRefresh.d.ts +86 -0
- package/lib/components/PullRefresh.js +135 -0
- package/lib/components/PullRefresh.js.map +13 -0
- package/lib/components/Radios.d.ts +22 -22
- package/lib/components/Radios.js +3 -5
- package/lib/components/Radios.js.map +2 -2
- package/lib/components/Range.d.ts +2 -2
- package/lib/components/Range.js +24 -11
- package/lib/components/Range.js.map +2 -2
- package/lib/components/Spinner.d.ts +200 -107
- package/lib/components/Spinner.js +30 -26
- package/lib/components/Spinner.js.map +2 -2
- package/lib/components/Steps.d.ts +6 -0
- package/lib/components/Steps.js +13 -9
- package/lib/components/Steps.js.map +2 -2
- package/lib/components/Tabs.d.ts +27 -23
- package/lib/components/Tabs.js +37 -22
- package/lib/components/Tabs.js.map +2 -2
- package/lib/components/Tooltip.d.ts +4 -0
- package/lib/components/Tooltip.js +6 -4
- package/lib/components/Tooltip.js.map +2 -2
- package/lib/components/TooltipWrapper.d.ts +87 -24
- package/lib/components/TooltipWrapper.js +40 -8
- package/lib/components/TooltipWrapper.js.map +2 -2
- package/lib/components/Transfer.d.ts +84 -84
- package/lib/components/TransferDropDown.d.ts +84 -84
- package/lib/components/Tree.d.ts +87 -85
- package/lib/components/Tree.js +13 -5
- package/lib/components/Tree.js.map +2 -2
- package/lib/components/TreeSelection.d.ts +84 -84
- package/lib/components/calendar/Calendar.js +3 -12
- package/lib/components/calendar/Calendar.js.map +2 -2
- package/lib/components/calendar/TimeView.d.ts +1 -0
- package/lib/components/calendar/TimeView.js +7 -0
- package/lib/components/calendar/TimeView.js.map +2 -2
- package/lib/components/calendar/YearsView.js +3 -3
- package/lib/components/calendar/YearsView.js.map +2 -2
- package/lib/components/condition-builder/Expression.d.ts +1 -0
- package/lib/components/condition-builder/Expression.js +4 -4
- package/lib/components/condition-builder/Expression.js.map +2 -2
- package/lib/components/condition-builder/Field.d.ts +1 -0
- package/lib/components/condition-builder/Field.js +3 -2
- package/lib/components/condition-builder/Field.js.map +2 -2
- package/lib/components/condition-builder/Group.d.ts +1 -0
- package/lib/components/condition-builder/Group.js +2 -2
- package/lib/components/condition-builder/Group.js.map +2 -2
- package/lib/components/condition-builder/GroupOrItem.d.ts +1 -0
- package/lib/components/condition-builder/GroupOrItem.js +2 -2
- package/lib/components/condition-builder/GroupOrItem.js.map +2 -2
- package/lib/components/condition-builder/InputSwitch.d.ts +2 -1
- package/lib/components/condition-builder/InputSwitch.js +2 -2
- package/lib/components/condition-builder/InputSwitch.js.map +2 -2
- package/lib/components/condition-builder/Item.d.ts +1 -0
- package/lib/components/condition-builder/Item.js +9 -8
- package/lib/components/condition-builder/Item.js.map +2 -2
- package/lib/components/condition-builder/Value.d.ts +1 -0
- package/lib/components/condition-builder/Value.js +5 -5
- package/lib/components/condition-builder/Value.js.map +2 -2
- package/lib/components/condition-builder/index.d.ts +1 -0
- package/lib/components/condition-builder/index.js +2 -2
- package/lib/components/condition-builder/index.js.map +2 -2
- package/lib/components/formula/Editor.d.ts +90 -86
- package/lib/components/formula/Editor.js +26 -4
- package/lib/components/formula/Editor.js.map +2 -2
- package/lib/components/formula/Picker.d.ts +5 -0
- package/lib/components/formula/Picker.js +21 -4
- package/lib/components/formula/Picker.js.map +2 -2
- package/lib/components/icons.js +2 -0
- package/lib/components/icons.js.map +2 -2
- package/lib/factory.d.ts +5 -0
- package/lib/factory.js +24 -3
- package/lib/factory.js.map +2 -2
- package/lib/icons/trash.js +10 -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 +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 +18 -1
- package/lib/locale/zh-CN.js.map +2 -2
- package/lib/renderers/Action.d.ts +3 -1
- package/lib/renderers/Action.js +23 -5
- package/lib/renderers/Action.js.map +2 -2
- package/lib/renderers/App.d.ts +1 -0
- package/lib/renderers/App.js +3 -0
- package/lib/renderers/App.js.map +2 -2
- package/lib/renderers/ButtonGroup.d.ts +2 -2
- package/lib/renderers/ButtonGroup.js.map +1 -1
- package/lib/renderers/CRUD.d.ts +8 -0
- package/lib/renderers/CRUD.js +12 -5
- package/lib/renderers/CRUD.js.map +2 -2
- package/lib/renderers/Carousel.d.ts +1 -0
- package/lib/renderers/Carousel.js +13 -1
- package/lib/renderers/Carousel.js.map +2 -2
- package/lib/renderers/Chart.d.ts +1 -0
- package/lib/renderers/Chart.js +3 -0
- package/lib/renderers/Chart.js.map +2 -2
- package/lib/renderers/Dialog.d.ts +5 -0
- package/lib/renderers/Dialog.js +7 -3
- package/lib/renderers/Dialog.js.map +2 -2
- package/lib/renderers/Drawer.d.ts +1 -0
- package/lib/renderers/Drawer.js +6 -1
- package/lib/renderers/Drawer.js.map +2 -2
- package/lib/renderers/DropDownButton.d.ts +2 -0
- package/lib/renderers/DropDownButton.js +13 -4
- package/lib/renderers/DropDownButton.js.map +2 -2
- package/lib/renderers/Form/Checkbox.d.ts +5 -2
- package/lib/renderers/Form/Checkbox.js +2 -2
- package/lib/renderers/Form/Checkbox.js.map +2 -2
- package/lib/renderers/Form/Checkboxes.d.ts +7 -2
- package/lib/renderers/Form/Checkboxes.js +101 -12
- package/lib/renderers/Form/Checkboxes.js.map +2 -2
- package/lib/renderers/Form/Combo.d.ts +6 -4
- package/lib/renderers/Form/Combo.js +132 -45
- package/lib/renderers/Form/Combo.js.map +2 -2
- package/lib/renderers/Form/DiffEditor.d.ts +3 -2
- package/lib/renderers/Form/Editor.d.ts +2 -2
- package/lib/renderers/Form/InputCity.d.ts +87 -84
- package/lib/renderers/Form/InputCity.js +48 -3
- package/lib/renderers/Form/InputCity.js.map +2 -2
- package/lib/renderers/Form/InputDate.js +10 -3
- package/lib/renderers/Form/InputDate.js.map +2 -2
- package/lib/renderers/Form/InputDateRange.d.ts +5 -0
- package/lib/renderers/Form/InputDateRange.js +12 -3
- package/lib/renderers/Form/InputDateRange.js.map +2 -2
- package/lib/renderers/Form/InputFile.js +19 -8
- package/lib/renderers/Form/InputFile.js.map +2 -2
- package/lib/renderers/Form/InputFormula.d.ts +4 -0
- package/lib/renderers/Form/InputFormula.js +2 -2
- package/lib/renderers/Form/InputFormula.js.map +2 -2
- package/lib/renderers/Form/InputImage.js +18 -7
- package/lib/renderers/Form/InputImage.js.map +2 -2
- package/lib/renderers/Form/InputMonthRange.js +5 -1
- package/lib/renderers/Form/InputMonthRange.js.map +2 -2
- package/lib/renderers/Form/InputRange.d.ts +2 -2
- package/lib/renderers/Form/InputRange.js +13 -14
- package/lib/renderers/Form/InputRange.js.map +2 -2
- package/lib/renderers/Form/InputTable.js +4 -2
- package/lib/renderers/Form/InputTable.js.map +2 -2
- package/lib/renderers/Form/InputText.d.ts +1 -1
- package/lib/renderers/Form/InputText.js +8 -10
- package/lib/renderers/Form/InputText.js.map +2 -2
- package/lib/renderers/Form/InputTree.d.ts +5 -0
- package/lib/renderers/Form/InputTree.js +51 -2
- package/lib/renderers/Form/InputTree.js.map +2 -2
- package/lib/renderers/Form/Item.d.ts +79 -76
- package/lib/renderers/Form/Item.js +3 -1
- package/lib/renderers/Form/Item.js.map +2 -2
- package/lib/renderers/Form/NestedSelect.d.ts +4 -0
- package/lib/renderers/Form/NestedSelect.js +14 -5
- package/lib/renderers/Form/NestedSelect.js.map +2 -2
- package/lib/renderers/Form/Options.js +61 -27
- package/lib/renderers/Form/Options.js.map +2 -2
- package/lib/renderers/Form/Select.js +4 -2
- package/lib/renderers/Form/Select.js.map +2 -2
- package/lib/renderers/Form/Textarea.js +2 -1
- package/lib/renderers/Form/Textarea.js.map +2 -2
- package/lib/renderers/Form/TreeSelect.d.ts +11 -2
- package/lib/renderers/Form/TreeSelect.js +56 -10
- package/lib/renderers/Form/TreeSelect.js.map +2 -2
- package/lib/renderers/Form/index.d.ts +3 -0
- package/lib/renderers/Form/index.js +53 -16
- package/lib/renderers/Form/index.js.map +2 -2
- package/lib/renderers/Form/wrapControl.d.ts +10 -0
- package/lib/renderers/Form/wrapControl.js +41 -19
- package/lib/renderers/Form/wrapControl.js.map +2 -2
- package/lib/renderers/Nav.d.ts +82 -67
- package/lib/renderers/Nav.js +49 -13
- package/lib/renderers/Nav.js.map +2 -2
- package/lib/renderers/Page.d.ts +21 -0
- package/lib/renderers/Page.js +56 -17
- package/lib/renderers/Page.js.map +2 -2
- package/lib/renderers/Progress.d.ts +4 -7
- package/lib/renderers/Progress.js +3 -3
- package/lib/renderers/Progress.js.map +2 -2
- package/lib/renderers/Service.d.ts +3 -0
- package/lib/renderers/Service.js +55 -20
- package/lib/renderers/Service.js.map +2 -2
- package/lib/renderers/Spinner.d.ts +58 -2
- package/lib/renderers/Spinner.js +8 -1
- package/lib/renderers/Spinner.js.map +2 -2
- package/lib/renderers/Steps.d.ts +8 -0
- package/lib/renderers/Steps.js +2 -2
- package/lib/renderers/Steps.js.map +2 -2
- package/lib/renderers/Table/ColumnToggler.d.ts +4 -0
- package/lib/renderers/Table/ColumnToggler.js +11 -6
- package/lib/renderers/Table/ColumnToggler.js.map +2 -2
- package/lib/renderers/Table/TableCell.js +27 -1
- package/lib/renderers/Table/TableCell.js.map +2 -2
- package/lib/renderers/Table/TableRow.js +1 -1
- package/lib/renderers/Table/TableRow.js.map +2 -2
- package/lib/renderers/Table/index.d.ts +2 -0
- package/lib/renderers/Table/index.js +23 -10
- package/lib/renderers/Table/index.js.map +2 -2
- package/lib/renderers/Tabs.d.ts +14 -2
- package/lib/renderers/Tabs.js +24 -8
- package/lib/renderers/Tabs.js.map +2 -2
- package/lib/renderers/TooltipWrapper.d.ts +133 -0
- package/lib/renderers/TooltipWrapper.js +70 -0
- package/lib/renderers/TooltipWrapper.js.map +13 -0
- package/lib/renderers/Wizard.d.ts +7 -3
- package/lib/renderers/Wizard.js +269 -152
- package/lib/renderers/Wizard.js.map +2 -2
- package/lib/store/combo.d.ts +2 -2
- package/lib/store/crud.d.ts +1 -0
- package/lib/store/crud.js +55 -19
- package/lib/store/crud.js.map +2 -2
- package/lib/store/form.d.ts +1 -1
- package/lib/store/form.js +5 -1
- package/lib/store/form.js.map +2 -2
- package/lib/store/formItem.js +1 -1
- package/lib/store/formItem.js.map +2 -2
- package/lib/store/index.d.ts +5 -0
- package/lib/store/index.js +14 -0
- package/lib/store/index.js.map +2 -2
- package/lib/store/table.d.ts +2 -2
- package/lib/store/table.js +4 -4
- package/lib/store/table.js.map +2 -2
- package/lib/themes/ang-ie11.css +965 -210
- package/lib/themes/ang.css +955 -175
- package/lib/themes/ang.css.map +1 -1
- package/lib/themes/antd-ie11.css +1080 -325
- package/lib/themes/antd.css +956 -176
- package/lib/themes/antd.css.map +1 -1
- package/lib/themes/cxd-ie11.css +1048 -293
- package/lib/themes/cxd.css +961 -180
- package/lib/themes/cxd.css.map +1 -1
- package/lib/themes/dark-ie11.css +965 -210
- package/lib/themes/dark.css +955 -175
- package/lib/themes/dark.css.map +1 -1
- package/lib/themes/default-ie11.css +1048 -293
- package/lib/themes/default.css +961 -180
- package/lib/themes/default.css.map +1 -1
- package/lib/types.d.ts +3 -1
- package/lib/types.js.map +1 -1
- package/lib/utils/ColorScale.d.ts +19 -0
- package/lib/utils/ColorScale.js +104 -0
- package/lib/utils/ColorScale.js.map +13 -0
- package/lib/utils/api.js +20 -4
- package/lib/utils/api.js.map +2 -2
- package/lib/utils/columnsSplit.d.ts +1 -0
- package/lib/utils/columnsSplit.js +40 -0
- package/lib/utils/columnsSplit.js.map +13 -0
- package/lib/utils/debug.d.ts +1 -1
- package/lib/utils/debug.js +16 -22
- package/lib/utils/debug.js.map +2 -2
- package/lib/utils/dom.d.ts +1 -1
- package/lib/utils/dom.js +7 -5
- package/lib/utils/dom.js.map +2 -2
- package/lib/utils/position.js +0 -1
- package/lib/utils/position.js.map +2 -2
- package/lib/utils/scrollPosition.d.ts +6 -0
- package/lib/utils/scrollPosition.js +31 -0
- package/lib/utils/scrollPosition.js.map +13 -0
- package/package.json +3 -2
- package/schema.json +30213 -29222
- package/scss/_properties.scss +67 -25
- package/scss/components/_alert.scss +1 -1
- package/scss/components/_barcode.scss +1 -1
- package/scss/components/_button-group.scss +15 -0
- package/scss/components/_carousel.scss +1 -0
- package/scss/components/_column-toggler.scss +21 -11
- package/scss/components/_debug.scss +3 -3
- package/scss/components/_formula.scss +19 -1
- package/scss/components/_nav.scss +51 -6
- package/scss/components/_progress.scss +7 -14
- package/scss/components/_pull-refresh.scss +25 -0
- package/scss/components/_spinner.scss +134 -56
- package/scss/components/_steps.scss +199 -8
- package/scss/components/_tabs.scss +145 -13
- package/scss/components/_tooltip.scss +76 -9
- package/scss/components/form/_checks.scss +125 -2
- package/scss/components/form/_combo.scss +13 -1
- package/scss/components/form/_date-range.scss +27 -2
- package/scss/components/form/_date.scss +25 -0
- package/scss/components/form/_editor.scss +2 -1
- package/scss/components/form/_file.scss +4 -0
- package/scss/components/form/_form.scss +31 -8
- package/scss/components/form/_number.scss +5 -2
- package/scss/components/form/_select.scss +0 -1
- package/scss/components/form/_textarea.scss +1 -23
- package/scss/components/form/_transfer.scss +3 -2
- package/scss/themes/_antd-variables.scss +1 -1
- package/scss/themes/_common.scss +1 -0
- package/scss/themes/_cxd-variables.scss +6 -5
- package/sdk/ang-ie11.css +1059 -198
- package/sdk/ang.css +1050 -164
- package/sdk/antd-ie11.css +1167 -306
- package/sdk/antd.css +1051 -165
- 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 +1145 -284
- package/sdk/cxd.css +1056 -169
- package/sdk/dark-ie11.css +1056 -195
- package/sdk/dark.css +1050 -164
- 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 +17 -17
- package/sdk/rich-text.js +62 -62
- package/sdk/sdk-ie11.css +1145 -284
- package/sdk/sdk.css +1056 -169
- package/sdk/sdk.js +1321 -1273
- 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 +15 -2
- package/src/SchemaRenderer.tsx +32 -14
- package/src/WithStore.tsx +3 -1
- package/src/actions/CmptAction.ts +28 -0
- package/src/actions/PageAction.ts +62 -0
- package/src/actions/index.ts +1 -0
- package/src/components/Alert2.tsx +9 -3
- package/src/components/AssociatedSelection.tsx +9 -3
- package/src/components/BarCode.tsx +2 -2
- package/src/components/Cascader.tsx +37 -11
- package/src/components/Checkbox.tsx +11 -5
- package/src/components/CityArea.tsx +3 -0
- package/src/components/DatePicker.tsx +68 -22
- package/src/components/DateRangePicker.tsx +551 -88
- package/src/components/Drawer.tsx +1 -0
- package/src/components/Modal.tsx +1 -0
- package/src/components/Overlay.tsx +6 -3
- package/src/components/Progress.tsx +64 -33
- package/src/components/PullRefresh.tsx +197 -0
- package/src/components/Radios.tsx +6 -17
- package/src/components/Range.tsx +26 -12
- package/src/components/Spinner.tsx +77 -42
- package/src/components/Steps.tsx +28 -27
- package/src/components/Tabs.tsx +51 -21
- package/src/components/Tooltip.tsx +12 -3
- package/src/components/TooltipWrapper.tsx +140 -33
- package/src/components/Tree.tsx +19 -5
- package/src/components/calendar/Calendar.tsx +4 -13
- package/src/components/calendar/TimeView.tsx +12 -0
- package/src/components/calendar/YearsView.tsx +3 -4
- package/src/components/condition-builder/Expression.tsx +6 -1
- package/src/components/condition-builder/Field.tsx +5 -1
- package/src/components/condition-builder/Group.tsx +4 -1
- package/src/components/condition-builder/GroupOrItem.tsx +4 -1
- package/src/components/condition-builder/InputSwitch.tsx +4 -1
- package/src/components/condition-builder/Item.tsx +28 -4
- package/src/components/condition-builder/Value.tsx +7 -1
- package/src/components/condition-builder/index.tsx +4 -2
- package/src/components/formula/Editor.tsx +46 -10
- package/src/components/formula/Picker.tsx +32 -1
- package/src/components/icons.tsx +2 -0
- package/src/factory.tsx +31 -3
- package/src/icons/trash.svg +8 -0
- package/src/index.tsx +1 -0
- package/src/locale/de-DE.ts +18 -1
- package/src/locale/en-US.ts +18 -1
- package/src/locale/zh-CN.ts +18 -1
- package/src/renderers/Action.tsx +24 -2
- package/src/renderers/App.tsx +4 -0
- package/src/renderers/ButtonGroup.tsx +2 -2
- package/src/renderers/CRUD.tsx +23 -5
- package/src/renderers/Carousel.tsx +8 -0
- package/src/renderers/Chart.tsx +4 -0
- package/src/renderers/Dialog.tsx +21 -3
- package/src/renderers/Drawer.tsx +14 -2
- package/src/renderers/DropDownButton.tsx +14 -3
- package/src/renderers/Form/Checkbox.tsx +11 -2
- package/src/renderers/Form/Checkboxes.tsx +106 -23
- package/src/renderers/Form/Combo.tsx +179 -66
- package/src/renderers/Form/InputCity.tsx +46 -5
- package/src/renderers/Form/InputDate.tsx +18 -4
- package/src/renderers/Form/InputDateRange.tsx +27 -3
- package/src/renderers/Form/InputFile.tsx +23 -7
- package/src/renderers/Form/InputFormula.tsx +7 -0
- package/src/renderers/Form/InputImage.tsx +22 -6
- package/src/renderers/Form/InputMonthRange.tsx +7 -1
- package/src/renderers/Form/InputRange.tsx +20 -22
- package/src/renderers/Form/InputTable.tsx +6 -2
- package/src/renderers/Form/InputText.tsx +14 -4
- package/src/renderers/Form/InputTree.tsx +40 -2
- package/src/renderers/Form/Item.tsx +7 -0
- package/src/renderers/Form/NestedSelect.tsx +23 -4
- package/src/renderers/Form/Options.tsx +26 -7
- package/src/renderers/Form/Select.tsx +5 -3
- package/src/renderers/Form/Textarea.tsx +3 -1
- package/src/renderers/Form/TreeSelect.tsx +47 -9
- package/src/renderers/Form/index.tsx +56 -25
- package/src/renderers/Form/wrapControl.tsx +23 -12
- package/src/renderers/Nav.tsx +231 -33
- package/src/renderers/Page.tsx +97 -35
- package/src/renderers/Progress.tsx +9 -11
- package/src/renderers/Service.tsx +66 -27
- package/src/renderers/Spinner.tsx +85 -3
- package/src/renderers/Steps.tsx +14 -0
- package/src/renderers/Table/ColumnToggler.tsx +36 -11
- package/src/renderers/Table/TableCell.tsx +39 -1
- package/src/renderers/Table/TableRow.tsx +1 -1
- package/src/renderers/Table/index.tsx +43 -19
- package/src/renderers/Tabs.tsx +90 -31
- package/src/renderers/TooltipWrapper.tsx +262 -0
- package/src/renderers/Wizard.tsx +169 -93
- package/src/store/crud.ts +50 -5
- package/src/store/form.ts +8 -3
- package/src/store/formItem.ts +1 -2
- package/src/store/index.ts +20 -0
- package/src/store/table.ts +4 -4
- package/src/types.ts +8 -1
- package/src/utils/ColorScale.ts +138 -0
- package/src/utils/api.ts +26 -4
- package/src/utils/columnsSplit.tsx +57 -0
- package/src/utils/debug.tsx +17 -24
- package/src/utils/dom.tsx +7 -6
- package/src/utils/position.ts +0 -1
- package/src/utils/scrollPosition.ts +29 -0
package/lib/store/table.js.map
CHANGED
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/store/table.ts"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": "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",
|
9
|
+
"mappings": "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",
|
10
10
|
"sourcesContent": [
|
11
|
-
"import {\n types,\n getParent,\n SnapshotIn,\n flow,\n getEnv,\n getRoot,\n IAnyModelType,\n isAlive,\n Instance\n} from 'mobx-state-tree';\nimport {iRendererStore} from './iRenderer';\nimport {resolveVariable} from '../utils/tpl-builtin';\nimport isEqual from 'lodash/isEqual';\nimport find from 'lodash/find';\nimport {\n isBreakpoint,\n createObject,\n isObject,\n isVisible,\n guid,\n findTree,\n flattenTree,\n eachTree,\n difference,\n immutableExtends,\n extendObject,\n hasVisibleExpression,\n filterTree\n} from '../utils/helper';\nimport {evalExpression} from '../utils/tpl';\nimport {IFormStore} from './form';\nimport {getStoreById} from './manager';\n\nexport const Column = types\n .model('Column', {\n label: types.optional(types.frozen(), undefined),\n type: types.optional(types.string, 'plain'),\n name: types.maybe(types.string),\n value: types.frozen(),\n groupName: '',\n toggled: false,\n toggable: true,\n expandable: false,\n checkdisable: false,\n isPrimary: false,\n searchable: types.maybe(types.frozen()),\n enableSearch: true,\n sortable: false,\n filterable: types.optional(types.frozen(), undefined),\n fixed: '',\n index: 0,\n rawIndex: 0,\n breakpoint: types.optional(types.frozen(), undefined),\n pristine: types.optional(types.frozen(), undefined),\n remark: types.optional(types.frozen(), undefined),\n className: types.union(types.string, types.frozen())\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\n setToggled(value: boolean) {\n self.toggled = value;\n },\n\n setEnableSearch(value: boolean) {\n self.enableSearch = 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 parentId: '',\n key: types.string,\n pristine: types.frozen({} as any),\n data: types.frozen({} as any),\n rowSpans: types.frozen({} as any),\n index: types.number,\n newIndex: types.number,\n path: '', // 行数据的位置\n expandable: false,\n checkdisable: false,\n isHover: false,\n children: types.optional(\n types.array(types.late((): IAnyModelType => Row)),\n []\n ),\n depth: types.number // 当前children位于第几层,便于使用getParent获取最顶层TableStore\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 getDataWithModifiedChilden() {\n let data = {\n ...self.data\n };\n\n if (data.children && self.children) {\n data.children = self.children.map(item =>\n item.getDataWithModifiedChilden()\n );\n }\n\n return data;\n },\n\n get collapsed(): boolean {\n const table = getParent(self, self.depth * 2) as ITableStore;\n if (table.dragging) {\n return true;\n }\n\n let from: IRow = self as any;\n\n while (from && (from as any) !== table) {\n if (!table.isExpanded(from)) {\n return true;\n }\n\n from = getParent(from, 2);\n }\n\n return false;\n },\n\n get expanded(): boolean {\n return !this.collapsed && self.children.length > 0;\n },\n\n get moved() {\n return self.index !== self.newIndex;\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 get checkable(): boolean {\n const table = getParent(self, self.depth * 2) as ITableStore;\n return table && table.itemCheckableOn\n ? evalExpression(table.itemCheckableOn, (self as IRow).locals)\n : true;\n },\n\n get draggable(): boolean {\n const table = getParent(self, self.depth * 2) as ITableStore;\n return table && table.itemDraggableOn\n ? evalExpression(table.itemDraggableOn, (self as IRow).locals)\n : true;\n }\n }))\n .actions(self => ({\n toggle() {\n (getParent(self, self.depth * 2) as ITableStore).toggle(self as IRow);\n },\n\n toggleExpanded() {\n (getParent(self, self.depth * 2) as ITableStore).toggleExpanded(\n self as IRow\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 reset() {\n self.newIndex = self.index;\n self.data = self.pristine;\n },\n\n setCheckdisable(bool: boolean) {\n self.checkdisable = bool;\n },\n\n setIsHover(value: boolean) {\n self.isHover = value;\n },\n\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 }));\n\nexport type IRow = Instance<typeof Row>;\nexport type SRow = SnapshotIn<typeof Row>;\n\nexport const TableStore = iRendererStore\n .named('TableStore')\n .props({\n columns: types.array(Column),\n rows: types.array(Row),\n selectedRows: types.array(types.reference(Row)),\n expandedRows: types.array(types.string),\n primaryField: 'id',\n orderBy: '',\n orderDir: types.optional(\n types.union(types.literal('asc'), types.literal('desc')),\n 'asc'\n ),\n draggable: false,\n dragging: false,\n selectable: false,\n multiple: true,\n footable: types.frozen(),\n expandConfig: types.frozen(),\n isNested: false,\n columnsTogglable: types.optional(\n types.union(types.boolean, types.literal('auto')),\n 'auto'\n ),\n itemCheckableOn: '',\n itemDraggableOn: '',\n hideCheckToggler: false,\n combineNum: 0,\n combineFromIndex: 0,\n formsRef: types.optional(types.array(types.frozen()), []),\n maxKeepItemSelectionLength: 0,\n keepItemSelectionOnPageChange: false\n })\n .views(self => {\n function getColumnsExceptBuiltinTypes() {\n return self.columns.filter(item => !/^__/.test(item.type));\n }\n\n function getForms() {\n return self.formsRef.map(item => ({\n store: getStoreById(item.id) as IFormStore,\n rowIndex: item.rowIndex\n }));\n }\n\n function getFilteredColumns() {\n return self.columns.filter(\n item =>\n item &&\n isVisible(\n item.pristine,\n hasVisibleExpression(item.pristine) ? self.data : {}\n ) &&\n (item.type === '__checkme'\n ? self.selectable &&\n !self.dragging &&\n !self.hideCheckToggler &&\n self.rows.length\n : item.type === '__dragme'\n ? self.dragging\n : item.type === '__expandme'\n ? (getFootableColumns().length || self.isNested) && !self.dragging\n : (item.toggled || !item.toggable) &&\n (!self.footable ||\n !item.breakpoint ||\n !isBreakpoint(item.breakpoint)))\n );\n }\n\n function getFootableColumns() {\n return self.columns.filter(item =>\n item.type === '__checkme' ||\n item.type === '__dragme' ||\n item.type === '__expandme'\n ? false\n : (item.toggled || !item.toggable) &&\n self.footable &&\n item.breakpoint &&\n isBreakpoint(item.breakpoint)\n );\n }\n\n function getLeftFixedColumns() {\n if (self.dragging) {\n return [];\n }\n\n let columns = getFilteredColumns().filter(item => item.fixed === 'left');\n\n // 有才带过去,没有就不带了\n if (columns.length) {\n columns = getFilteredColumns().filter(\n item => item.fixed === 'left' || /^__/.test(item.type)\n );\n }\n\n return columns;\n }\n\n function getRightFixedColumns() {\n if (self.dragging) {\n return [];\n }\n\n return getFilteredColumns().filter(item => item.fixed === 'right');\n }\n\n function isSelected(row: IRow): boolean {\n return !!~self.selectedRows.indexOf(row);\n }\n\n function isExpanded(row: IRow): boolean {\n return self.expandedRows.includes(row.id);\n }\n\n function getTogglable() {\n if (self.columnsTogglable === 'auto') {\n return self.columns.filter(item => !/^__/.test(item.type)).length > 5;\n }\n\n return self.columnsTogglable;\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 getModifiedRows(rows: IRow[] = [], modifiedRows: IRow[] = []) {\n rows = rows && rows.length ? rows : self.rows;\n rows.forEach((item: IRow) => {\n if (item.children && item.children.length) {\n getModifiedRows(item.children, modifiedRows);\n }\n let diff = difference(item.data, item.pristine);\n let hasDifference = Object.keys(diff).length;\n if (hasDifference) {\n modifiedRows.push(item);\n }\n });\n return modifiedRows;\n }\n\n function getModified() {\n return getModifiedRows().length;\n }\n\n function getMovedRows() {\n return flattenTree(self.rows).filter((item: IRow) => item.moved);\n }\n\n function getMoved() {\n return getMovedRows().length;\n }\n\n function getHovedRow(): IRow | undefined {\n return flattenTree<IRow>(self.rows).find((item: IRow) => item.isHover);\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 hasColumnHidden() {\n return self.columns.findIndex(column => !column.toggled) !== -1;\n }\n\n function getColumnGroup() {\n const columns = getFilteredColumns();\n const len = columns.length;\n\n if (!len) {\n return [];\n }\n\n const groups: Array<{\n label: string;\n index: number;\n colSpan: number;\n rowSpan: number;\n has: Array<any>;\n }> = [\n {\n label: columns[0].groupName,\n colSpan: 1,\n rowSpan: 1,\n index: columns[0].index,\n has: [columns[0]]\n }\n ];\n\n // 如果是勾选栏,让它和下一列合并。\n if (columns[0].type === '__checkme' && columns[1]) {\n groups[0].label = columns[1].groupName;\n }\n\n for (let i = 1; i < len; i++) {\n let prev = groups[groups.length - 1];\n const current = columns[i];\n\n if (current.groupName === prev.label) {\n prev.colSpan++;\n prev.has.push(current);\n } else {\n groups.push({\n label: current.groupName,\n colSpan: 1,\n rowSpan: 1,\n index: current.index,\n has: [current]\n });\n }\n }\n\n if (groups.length === 1 && !groups[0].label) {\n groups.pop();\n }\n\n return groups.map(item => {\n const rowSpan =\n !item.label ||\n (item.has.length === 1 && item.label === item.has[0].label)\n ? 2\n : 1;\n return {\n ...item,\n rowSpan,\n label: rowSpan === 2 ? item.label || item.has[0].label : item.label\n };\n });\n }\n\n function getFirstToggledColumnIndex() {\n const column = self.columns.find(\n column => !/^__/.test(column.type) && column.toggled\n );\n\n return column == null ? null : column.index;\n }\n\n function getSearchableColumns() {\n return self.columns.filter(column => column.searchable);\n }\n\n return {\n get columnsData() {\n return getColumnsExceptBuiltinTypes();\n },\n\n get forms() {\n return getForms();\n },\n\n get searchableColumns() {\n return getSearchableColumns();\n },\n\n get activedSearchableColumns() {\n return getSearchableColumns().filter(column => column.enableSearch);\n },\n\n get filteredColumns() {\n return getFilteredColumns();\n },\n\n get footableColumns() {\n return getFootableColumns();\n },\n\n get leftFixedColumns() {\n return getLeftFixedColumns();\n },\n\n get rightFixedColumns() {\n return getRightFixedColumns();\n },\n\n get toggableColumns() {\n return getToggableColumns();\n },\n\n get activeToggaleColumns() {\n return getActiveToggableColumns();\n },\n\n get someChecked() {\n return !!self.selectedRows.length;\n },\n\n get allChecked(): boolean {\n return !!(\n self.selectedRows.length ===\n (self as ITableStore).checkableRows.length &&\n (self as ITableStore).checkableRows.length\n );\n },\n\n isSelected,\n\n get allExpanded() {\n return !!(\n self.expandedRows.length === this.expandableRows.length &&\n this.expandableRows.length\n );\n },\n\n isExpanded,\n\n get toggable() {\n return getTogglable();\n },\n\n get modified() {\n return getModified();\n },\n\n get modifiedRows() {\n return getModifiedRows();\n },\n\n get unSelectedRows() {\n return getUnSelectedRows();\n },\n\n get checkableRows() {\n return flattenTree<IRow>(self.rows).filter(\n (item: IRow) => item.checkable\n );\n },\n\n get expandableRows() {\n return self.rows.filter(item => item.expandable);\n },\n\n get moved() {\n return getMoved();\n },\n\n get movedRows() {\n return getMovedRows();\n },\n\n get hoverRow() {\n return getHovedRow();\n },\n\n get disabledHeadCheckbox() {\n const selectedLength = self.data?.selectedItems.length;\n const maxLength = self.maxKeepItemSelectionLength;\n\n if (!self.data || !self.keepItemSelectionOnPageChange || !maxLength) {\n return false;\n }\n\n return maxLength === selectedLength;\n },\n\n get firstToggledColumnIndex() {\n return getFirstToggledColumnIndex();\n },\n\n getData,\n\n get columnGroup() {\n return getColumnGroup();\n },\n\n getRowById(id: string) {\n return findTree(self.rows, item => item.id === id);\n },\n\n getItemsByName(name: string): any {\n return this.forms\n .filter(form => form.rowIndex === parseInt(name, 10))\n .map(item => item.store);\n },\n\n // 是否隐藏了某列\n hasColumnHidden() {\n return hasColumnHidden();\n },\n\n getExpandedRows() {\n const list: Array<IRow> = [];\n\n eachTree(self.rows, i => {\n if (self.expandedRows.includes(i.id)) {\n list.push(i as any);\n }\n });\n\n return list;\n }\n };\n })\n .actions(self => {\n function update(config: Partial<STableStore>) {\n config.primaryField !== void 0 &&\n (self.primaryField = config.primaryField);\n config.selectable !== void 0 && (self.selectable = config.selectable);\n config.columnsTogglable !== void 0 &&\n (self.columnsTogglable = config.columnsTogglable);\n config.draggable !== void 0 && (self.draggable = config.draggable);\n\n if (typeof config.orderBy === 'string') {\n setOrderByInfo(\n config.orderBy,\n config.orderDir === 'desc' ? 'desc' : 'asc'\n );\n }\n\n config.multiple !== void 0 && (self.multiple = config.multiple);\n config.footable !== void 0 && (self.footable = config.footable);\n config.expandConfig !== void 0 &&\n (self.expandConfig = config.expandConfig);\n config.itemCheckableOn !== void 0 &&\n (self.itemCheckableOn = config.itemCheckableOn);\n config.itemDraggableOn !== void 0 &&\n (self.itemDraggableOn = config.itemDraggableOn);\n config.hideCheckToggler !== void 0 &&\n (self.hideCheckToggler = !!config.hideCheckToggler);\n\n config.combineNum !== void 0 &&\n (self.combineNum = parseInt(config.combineNum as any, 10) || 0);\n config.combineFromIndex !== void 0 &&\n (self.combineFromIndex =\n parseInt(config.combineFromIndex as any, 10) || 0);\n\n config.maxKeepItemSelectionLength !== void 0 &&\n (self.maxKeepItemSelectionLength = config.maxKeepItemSelectionLength);\n config.keepItemSelectionOnPageChange !== void 0 &&\n (self.keepItemSelectionOnPageChange =\n config.keepItemSelectionOnPageChange);\n\n if (config.columns && Array.isArray(config.columns)) {\n let columns: Array<SColumn> = config.columns\n .filter(column => column)\n .concat();\n if (!columns.length) {\n columns.push({\n type: 'text',\n label: '空'\n });\n }\n\n columns.unshift({\n type: '__expandme',\n toggable: false,\n className: 'Table-expandCell'\n });\n\n columns.unshift({\n type: '__checkme',\n fixed: 'left',\n toggable: false,\n className: 'Table-checkCell'\n });\n\n columns.unshift({\n type: '__dragme',\n toggable: false,\n className: 'Table-dragCell'\n });\n\n columns = columns.map((item, index) => ({\n ...item,\n index,\n rawIndex: index - 3,\n type: item.type || 'plain',\n pristine: item,\n toggled: item.toggled !== false,\n breakpoint: item.breakpoint,\n isPrimary: index === 3,\n className: item.className || ''\n }));\n\n self.columns.replace(columns as any);\n }\n }\n\n function updateColumns(columns: Array<SColumn>) {\n if (columns && Array.isArray(columns)) {\n columns = columns.filter(column => column).concat();\n\n if (!columns.length) {\n columns.push({\n type: 'text',\n label: '空'\n });\n }\n\n columns.unshift({\n type: '__expandme',\n toggable: false,\n className: 'Table-expandCell'\n });\n\n columns.unshift({\n type: '__checkme',\n fixed: 'left',\n toggable: false,\n className: 'Table-checkCell'\n });\n\n columns.unshift({\n type: '__dragme',\n toggable: false,\n className: 'Table-dragCell'\n });\n\n columns = columns.map((item, index) => ({\n ...item,\n index,\n rawIndex: index - 3,\n type: item.type || 'plain',\n pristine: item.pristine || item,\n toggled: item.toggled !== false,\n breakpoint: item.breakpoint,\n isPrimary: index === 3\n }));\n\n self.columns.replace(columns as any);\n }\n }\n\n function combineCell(arr: Array<SRow>, keys: Array<string>): Array<SRow> {\n if (!keys.length || !arr.length) {\n return arr;\n }\n\n const key: string = keys.shift() as string;\n let rowIndex = 0;\n let row = arr[rowIndex];\n row.rowSpans[key] = 1;\n let value = resolveVariable(key, row.data);\n for (let i = 1, len = arr.length; i < len; i++) {\n const current = arr[i];\n if (isEqual(resolveVariable(key, current.data), value)) {\n row.rowSpans[key] += 1;\n current.rowSpans[key] = 0;\n } else {\n if (row.rowSpans[key] > 1) {\n combineCell(arr.slice(rowIndex, i), keys.concat());\n }\n\n rowIndex = i;\n row = current;\n row.rowSpans[key] = 1;\n value = resolveVariable(key, row.data);\n }\n }\n\n if (row.rowSpans[key] > 1 && keys.length) {\n combineCell(arr.slice(rowIndex, arr.length), keys.concat());\n }\n\n return arr;\n }\n\n function autoCombineCell(\n arr: Array<SRow>,\n columns: Array<IColumn>,\n maxCount: number,\n fromIndex = 0\n ): Array<SRow> {\n if (!columns.length || !maxCount || !arr.length) {\n return arr;\n }\n // 如果是嵌套模式,通常第一列都是存在差异的,所以从第二列开始。\n fromIndex =\n fromIndex ||\n (arr.some(item => Array.isArray(item.children) && item.children.length)\n ? 1\n : 0);\n\n const keys: Array<string> = [];\n const len = columns.length;\n for (let i = 0; i < len; i++) {\n const column = columns[i];\n\n // maxCount 可能比实际配置的 columns 还有多。\n if (!column) {\n break;\n }\n\n if ('__' === column.type.substring(0, 2)) {\n maxCount++;\n continue;\n }\n\n const key = column.name;\n if (!key) {\n break;\n }\n keys.push(key);\n }\n\n while (fromIndex--) {\n keys.shift();\n }\n\n while (keys.length > maxCount) {\n keys.pop();\n }\n\n return combineCell(arr, keys);\n }\n\n function initChildren(\n children: Array<any>,\n depth: number,\n pindex: number,\n parentId: string,\n path: string = ''\n ): any {\n depth += 1;\n return children.map((item, index) => {\n item = isObject(item)\n ? item\n : {\n item\n };\n const id = item.id ?? guid();\n\n return {\n // id: String(item && (item as any)[self.primaryField] || `${pindex}-${depth}-${key}`),\n id: String(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.children)\n ? initChildren(\n item.children,\n depth,\n index,\n id,\n `${path}${index}.`\n )\n : [],\n expandable: !!(\n (item && Array.isArray(item.children) && item.children.length) ||\n (self.footable && self.footableColumns.length)\n )\n };\n });\n }\n\n function initRows(\n rows: Array<any>,\n getEntryId?: (entry: any, index: number) => string,\n reUseRow?: boolean\n ) {\n self.selectedRows.clear();\n // self.expandedRows.clear();\n\n let arr: Array<SRow> = rows.map((item, index) => {\n let id = String(\n getEntryId ? getEntryId(item, index) : item.id ?? guid()\n );\n return {\n // id: getEntryId ? getEntryId(item, key) : String(item && (item as any)[self.primaryField] || `${key}-1-${key}`),\n id: id,\n key: String(`${index}-1-${index}`),\n depth: 1, // 最大父节点默认为第一层,逐层叠加\n index: index,\n newIndex: index,\n pristine: item,\n path: `${index}`,\n data: item,\n rowSpans: {},\n children:\n item && Array.isArray(item.children)\n ? initChildren(item.children, 1, index, id, `${index}.`)\n : [],\n expandable: !!(\n (item && Array.isArray(item.children) && item.children.length) ||\n (self.footable && self.footableColumns.length)\n )\n };\n });\n\n if (self.combineNum) {\n arr = autoCombineCell(\n arr,\n self.columns,\n self.combineNum,\n self.combineFromIndex\n );\n }\n\n replaceRow(arr, reUseRow);\n self.isNested = self.rows.some(item => item.children.length);\n\n const expand = self.footable && self.footable.expand;\n if (\n expand === 'first' ||\n (self.expandConfig && self.expandConfig.expand === 'first')\n ) {\n self.rows.length && self.expandedRows.push(self.rows[0].id);\n } else if (\n (expand === 'all' && !self.footable.accordion) ||\n (self.expandConfig &&\n self.expandConfig.expand === 'all' &&\n !self.expandConfig.accordion)\n ) {\n self.expandedRows.replace(self.rows.map(item => item.id));\n }\n\n self.dragging = false;\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 updateSelected(selected: Array<any>, valueField?: string) {\n self.selectedRows.clear();\n\n eachTree(self.rows, item => {\n if (~selected.indexOf(item.pristine)) {\n self.selectedRows.push(item.id);\n } else if (\n find(\n selected,\n a =>\n a[valueField || 'value'] &&\n a[valueField || 'value'] == item.pristine[valueField || 'value']\n )\n ) {\n self.selectedRows.push(item.id);\n }\n });\n\n updateCheckDisable();\n }\n\n function toggleAll() {\n const maxLength = self.maxKeepItemSelectionLength;\n const keep = self.keepItemSelectionOnPageChange;\n\n if (self.allChecked) {\n self.selectedRows.clear();\n } else {\n const selectedItems = self.data?.selectedItems;\n\n if (\n keep &&\n maxLength &&\n selectedItems &&\n maxLength >= selectedItems.length\n ) {\n const restCheckableRows = self.checkableRows.filter(\n item => !item.checked\n );\n const checkableRows = restCheckableRows.filter(\n (item, i) => i < maxLength - selectedItems.length\n );\n\n self.selectedRows.replace([...self.selectedRows, ...checkableRows]);\n } else {\n self.selectedRows.replace(self.checkableRows);\n }\n }\n }\n\n // 记录最近一次点击的多选框,主要用于 shift 多选时判断上一个选的是什么\n let lastCheckedRow: any = null;\n\n function toggle(row: IRow) {\n if (!row.checkable) {\n return;\n }\n\n lastCheckedRow = row;\n\n const idx = self.selectedRows.indexOf(row);\n\n if (self.multiple) {\n ~idx ? self.selectedRows.splice(idx, 1) : self.selectedRows.push(row);\n } else {\n ~idx\n ? self.selectedRows.splice(idx, 1)\n : self.selectedRows.replace([row]);\n }\n }\n\n // 按住 shift 的时候点击选项\n function toggleShift(row: IRow) {\n // 如果是同一个或非 multiple 模式下就和不用 shift 一样\n if (!lastCheckedRow || row === lastCheckedRow || !self.multiple) {\n toggle(row);\n return;\n }\n\n const maxLength = self.maxKeepItemSelectionLength;\n const checkableRows = self.checkableRows;\n const lastCheckedRowIndex = checkableRows.findIndex(\n row => row === lastCheckedRow\n );\n const rowIndex = checkableRows.findIndex(rowItem => row === rowItem);\n const minIndex =\n lastCheckedRowIndex > rowIndex ? rowIndex : lastCheckedRowIndex;\n const maxIndex =\n lastCheckedRowIndex > rowIndex ? lastCheckedRowIndex : rowIndex;\n\n const rows = checkableRows.slice(minIndex, maxIndex);\n rows.push(row); // 将当前行也加入进行判断\n for (const rowItem of rows) {\n const idx = self.selectedRows.indexOf(rowItem);\n if (idx === -1) {\n // 如果上一个是选中状态,则将之间的所有 check 都变成可选\n if (lastCheckedRow.checked) {\n if (maxLength) {\n if (self.selectedRows.length < maxLength) {\n self.selectedRows.push(rowItem);\n }\n } else {\n self.selectedRows.push(rowItem);\n }\n }\n } else {\n if (!lastCheckedRow.checked) {\n self.selectedRows.splice(idx, 1);\n }\n }\n }\n\n lastCheckedRow = row;\n }\n\n function updateCheckDisable() {\n if (!self.data) {\n return;\n }\n const maxLength = self.maxKeepItemSelectionLength;\n const selectedItems = self.data.selectedItems;\n\n self.selectedRows.map(item => item.setCheckdisable(false));\n if (maxLength && maxLength <= selectedItems.length) {\n self.unSelectedRows.map(\n item => !item.checked && item.setCheckdisable(true)\n );\n } else {\n self.unSelectedRows.map(\n item => item.checkdisable && item.setCheckdisable(false)\n );\n }\n }\n\n function clear() {\n self.selectedRows.clear();\n }\n\n function toggleExpandAll() {\n if (self.allExpanded) {\n self.expandedRows.clear();\n } else {\n self.expandedRows.replace(\n self.rows.filter(item => item.expandable).map(item => item.id)\n );\n }\n }\n\n function toggleExpanded(row: IRow) {\n const idx = self.expandedRows.indexOf(row.id);\n\n if (~idx) {\n self.expandedRows.splice(idx, 1);\n } else if (self.footable && self.footable.accordion) {\n self.expandedRows.replace([row.id]);\n } else if (self.expandConfig && self.expandConfig.accordion) {\n let rows = self\n .getExpandedRows()\n .filter(item => item.depth !== row.depth);\n rows.push(row);\n self.expandedRows.replace(rows.map(item => item.id));\n } else {\n self.expandedRows.push(row.id);\n }\n }\n\n function collapseAllAtDepth(depth: number) {\n let rows = self.getExpandedRows().filter(item => item.depth !== depth);\n self.expandedRows.replace(rows.map(item => item.id));\n }\n\n function setOrderByInfo(key: string, direction: 'asc' | 'desc') {\n self.orderBy = key;\n self.orderDir = direction;\n }\n\n function reset() {\n self.rows.forEach(item => item.reset());\n let rows = self.rows.concat();\n eachTree(rows, item => {\n if (item.children) {\n let rows = item.children.concat().sort((a, b) => a.index - b.index);\n rows.forEach(item => item.reset());\n item.children.replace(rows);\n }\n });\n rows.forEach(item => item.reset());\n rows = rows.sort((a, b) => a.index - b.index);\n self.rows.replace(rows);\n self.dragging = false;\n }\n\n function toggleDragging() {\n self.dragging = !self.dragging;\n }\n\n function stopDragging() {\n self.dragging = false;\n }\n\n function exchange(fromIndex: number, toIndex: number, item?: IRow) {\n item = item || self.rows[fromIndex];\n\n if (item.parentId) {\n const parent: IRow = self.getRowById(item.parentId) as any;\n const offset = parent.children.indexOf(item) - fromIndex;\n toIndex += offset;\n fromIndex += offset;\n\n const newRows = parent.children.concat();\n newRows.splice(fromIndex, 1);\n newRows.splice(toIndex, 0, item);\n newRows.forEach((item, index) => (item.newIndex = index));\n parent.children.replace(newRows);\n return;\n }\n\n const newRows = self.rows.concat();\n newRows.splice(fromIndex, 1);\n newRows.splice(toIndex, 0, item);\n\n newRows.forEach((item, index) => (item.newIndex = index));\n self.rows.replace(newRows);\n }\n\n function persistSaveToggledColumns() {\n const key =\n location.pathname +\n self.path +\n self.toggableColumns.map(item => item.name || item.index).join('-');\n localStorage.setItem(\n key,\n JSON.stringify(self.activeToggaleColumns.map(item => item.index))\n );\n }\n\n function addForm(form: IFormStore, rowIndex: number) {\n self.formsRef.push({\n id: form.id,\n rowIndex\n });\n }\n\n return {\n update,\n updateColumns,\n initRows,\n updateSelected,\n toggleAll,\n toggle,\n toggleShift,\n toggleExpandAll,\n toggleExpanded,\n collapseAllAtDepth,\n clear,\n setOrderByInfo,\n reset,\n toggleDragging,\n stopDragging,\n exchange,\n addForm,\n\n persistSaveToggledColumns,\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.name || 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 };\n });\n\nexport type ITableStore = Instance<typeof TableStore>;\nexport type STableStore = SnapshotIn<typeof TableStore>;\n"
|
11
|
+
"import {\n types,\n getParent,\n SnapshotIn,\n flow,\n getEnv,\n getRoot,\n IAnyModelType,\n isAlive,\n Instance\n} from 'mobx-state-tree';\nimport {iRendererStore} from './iRenderer';\nimport {resolveVariable} from '../utils/tpl-builtin';\nimport isEqual from 'lodash/isEqual';\nimport find from 'lodash/find';\nimport {\n isBreakpoint,\n createObject,\n isObject,\n isVisible,\n guid,\n findTree,\n flattenTree,\n eachTree,\n difference,\n immutableExtends,\n extendObject,\n hasVisibleExpression,\n filterTree\n} from '../utils/helper';\nimport {evalExpression} from '../utils/tpl';\nimport {IFormStore} from './form';\nimport {getStoreById} from './manager';\n\nexport const Column = types\n .model('Column', {\n label: types.optional(types.frozen(), undefined),\n type: types.optional(types.string, 'plain'),\n name: types.maybe(types.string),\n value: types.frozen(),\n groupName: '',\n toggled: false,\n toggable: true,\n expandable: false,\n checkdisable: false,\n isPrimary: false,\n searchable: types.maybe(types.frozen()),\n enableSearch: true,\n sortable: false,\n filterable: types.optional(types.frozen(), undefined),\n fixed: '',\n index: 0,\n rawIndex: 0,\n breakpoint: types.optional(types.frozen(), undefined),\n pristine: types.optional(types.frozen(), undefined),\n remark: types.optional(types.frozen(), undefined),\n className: types.union(types.string, types.frozen())\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\n setToggled(value: boolean) {\n self.toggled = value;\n },\n\n setEnableSearch(value: boolean) {\n self.enableSearch = 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 parentId: '',\n key: types.string,\n pristine: types.frozen({} as any),\n data: types.frozen({} as any),\n rowSpans: types.frozen({} as any),\n index: types.number,\n newIndex: types.number,\n path: '', // 行数据的位置\n expandable: false,\n checkdisable: false,\n isHover: false,\n children: types.optional(\n types.array(types.late((): IAnyModelType => Row)),\n []\n ),\n depth: types.number // 当前children位于第几层,便于使用getParent获取最顶层TableStore\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 getDataWithModifiedChilden() {\n let data = {\n ...self.data\n };\n\n if (data.children && self.children) {\n data.children = self.children.map(item =>\n item.getDataWithModifiedChilden()\n );\n }\n\n return data;\n },\n\n get collapsed(): boolean {\n const table = getParent(self, self.depth * 2) as ITableStore;\n if (table.dragging) {\n return true;\n }\n\n let from: IRow = self as any;\n\n while (from && (from as any) !== table) {\n if (!table.isExpanded(from)) {\n return true;\n }\n\n from = getParent(from, 2);\n }\n\n return false;\n },\n\n get expanded(): boolean {\n return !this.collapsed;\n },\n\n get moved() {\n return self.index !== self.newIndex;\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 get checkable(): boolean {\n const table = getParent(self, self.depth * 2) as ITableStore;\n return table && table.itemCheckableOn\n ? evalExpression(table.itemCheckableOn, (self as IRow).locals)\n : true;\n },\n\n get draggable(): boolean {\n const table = getParent(self, self.depth * 2) as ITableStore;\n return table && table.itemDraggableOn\n ? evalExpression(table.itemDraggableOn, (self as IRow).locals)\n : true;\n }\n }))\n .actions(self => ({\n toggle() {\n (getParent(self, self.depth * 2) as ITableStore).toggle(self as IRow);\n },\n\n toggleExpanded() {\n (getParent(self, self.depth * 2) as ITableStore).toggleExpanded(\n self as IRow\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 reset() {\n self.newIndex = self.index;\n self.data = self.pristine;\n },\n\n setCheckdisable(bool: boolean) {\n self.checkdisable = bool;\n },\n\n setIsHover(value: boolean) {\n self.isHover = value;\n },\n\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 }));\n\nexport type IRow = Instance<typeof Row>;\nexport type SRow = SnapshotIn<typeof Row>;\n\nexport const TableStore = iRendererStore\n .named('TableStore')\n .props({\n columns: types.array(Column),\n rows: types.array(Row),\n selectedRows: types.array(types.reference(Row)),\n expandedRows: types.array(types.string),\n primaryField: 'id',\n orderBy: '',\n orderDir: types.optional(\n types.union(types.literal('asc'), types.literal('desc')),\n 'asc'\n ),\n draggable: false,\n dragging: false,\n selectable: false,\n multiple: true,\n footable: types.frozen(),\n expandConfig: types.frozen(),\n isNested: false,\n columnsTogglable: types.optional(\n types.union(types.boolean, types.literal('auto')),\n 'auto'\n ),\n itemCheckableOn: '',\n itemDraggableOn: '',\n hideCheckToggler: false,\n combineNum: 0,\n combineFromIndex: 0,\n formsRef: types.optional(types.array(types.frozen()), []),\n maxKeepItemSelectionLength: 0,\n keepItemSelectionOnPageChange: false\n })\n .views(self => {\n function getColumnsExceptBuiltinTypes() {\n return self.columns.filter(item => !/^__/.test(item.type));\n }\n\n function getForms() {\n return self.formsRef.map(item => ({\n store: getStoreById(item.id) as IFormStore,\n rowIndex: item.rowIndex\n }));\n }\n\n function getFilteredColumns() {\n return self.columns.filter(\n item =>\n item &&\n isVisible(\n item.pristine,\n hasVisibleExpression(item.pristine) ? self.data : {}\n ) &&\n (item.type === '__checkme'\n ? self.selectable &&\n !self.dragging &&\n !self.hideCheckToggler &&\n self.rows.length\n : item.type === '__dragme'\n ? self.dragging\n : item.type === '__expandme'\n ? (getFootableColumns().length || self.isNested) && !self.dragging\n : (item.toggled || !item.toggable) &&\n (!self.footable ||\n !item.breakpoint ||\n !isBreakpoint(item.breakpoint)))\n );\n }\n\n function getFootableColumns() {\n return self.columns.filter(item =>\n item.type === '__checkme' ||\n item.type === '__dragme' ||\n item.type === '__expandme'\n ? false\n : (item.toggled || !item.toggable) &&\n self.footable &&\n item.breakpoint &&\n isBreakpoint(item.breakpoint)\n );\n }\n\n function getLeftFixedColumns() {\n if (self.dragging) {\n return [];\n }\n\n let columns = getFilteredColumns().filter(item => item.fixed === 'left');\n\n // 有才带过去,没有就不带了\n if (columns.length) {\n columns = getFilteredColumns().filter(\n item => item.fixed === 'left' || /^__/.test(item.type)\n );\n }\n\n return columns;\n }\n\n function getRightFixedColumns() {\n if (self.dragging) {\n return [];\n }\n\n return getFilteredColumns().filter(item => item.fixed === 'right');\n }\n\n function isSelected(row: IRow): boolean {\n return !!~self.selectedRows.indexOf(row);\n }\n\n function isExpanded(row: IRow): boolean {\n return self.expandedRows.includes(row.id);\n }\n\n function getTogglable() {\n if (self.columnsTogglable === 'auto') {\n return self.columns.filter(item => !/^__/.test(item.type)).length > 5;\n }\n\n return self.columnsTogglable;\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 getModifiedRows(rows: IRow[] = [], modifiedRows: IRow[] = []) {\n rows = rows && rows.length ? rows : self.rows;\n rows.forEach((item: IRow) => {\n if (item.children && item.children.length) {\n getModifiedRows(item.children, modifiedRows);\n }\n let diff = difference(item.data, item.pristine);\n let hasDifference = Object.keys(diff).length;\n if (hasDifference) {\n modifiedRows.push(item);\n }\n });\n return modifiedRows;\n }\n\n function getModified() {\n return getModifiedRows().length;\n }\n\n function getMovedRows() {\n return flattenTree(self.rows).filter((item: IRow) => item.moved);\n }\n\n function getMoved() {\n return getMovedRows().length;\n }\n\n function getHovedRow(): IRow | undefined {\n return flattenTree<IRow>(self.rows).find((item: IRow) => item.isHover);\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 hasColumnHidden() {\n return self.columns.findIndex(column => !column.toggled) !== -1;\n }\n\n function getColumnGroup() {\n const columns = getFilteredColumns();\n const len = columns.length;\n\n if (!len) {\n return [];\n }\n\n const groups: Array<{\n label: string;\n index: number;\n colSpan: number;\n rowSpan: number;\n has: Array<any>;\n }> = [\n {\n label: columns[0].groupName,\n colSpan: 1,\n rowSpan: 1,\n index: columns[0].index,\n has: [columns[0]]\n }\n ];\n\n // 如果是勾选栏,让它和下一列合并。\n if (columns[0].type === '__checkme' && columns[1]) {\n groups[0].label = columns[1].groupName;\n }\n\n for (let i = 1; i < len; i++) {\n let prev = groups[groups.length - 1];\n const current = columns[i];\n\n if (current.groupName === prev.label) {\n prev.colSpan++;\n prev.has.push(current);\n } else {\n groups.push({\n label: current.groupName,\n colSpan: 1,\n rowSpan: 1,\n index: current.index,\n has: [current]\n });\n }\n }\n\n if (groups.length === 1 && !groups[0].label) {\n groups.pop();\n }\n\n return groups.map(item => {\n const rowSpan =\n !item.label ||\n (item.has.length === 1 && item.label === item.has[0].label)\n ? 2\n : 1;\n return {\n ...item,\n rowSpan,\n label: rowSpan === 2 ? item.label || item.has[0].label : item.label\n };\n });\n }\n\n function getFirstToggledColumnIndex() {\n const column = self.columns.find(\n column => !/^__/.test(column.type) && column.toggled\n );\n\n return column == null ? null : column.index;\n }\n\n function getSearchableColumns() {\n return self.columns.filter(column => column.searchable);\n }\n\n return {\n get columnsData() {\n return getColumnsExceptBuiltinTypes();\n },\n\n get forms() {\n return getForms();\n },\n\n get searchableColumns() {\n return getSearchableColumns();\n },\n\n get activedSearchableColumns() {\n return getSearchableColumns().filter(column => column.enableSearch);\n },\n\n get filteredColumns() {\n return getFilteredColumns();\n },\n\n get footableColumns() {\n return getFootableColumns();\n },\n\n get leftFixedColumns() {\n return getLeftFixedColumns();\n },\n\n get rightFixedColumns() {\n return getRightFixedColumns();\n },\n\n get toggableColumns() {\n return getToggableColumns();\n },\n\n get activeToggaleColumns() {\n return getActiveToggableColumns();\n },\n\n get someChecked() {\n return !!self.selectedRows.length;\n },\n\n get allChecked(): boolean {\n return !!(\n self.selectedRows.length ===\n (self as ITableStore).checkableRows.length &&\n (self as ITableStore).checkableRows.length\n );\n },\n\n isSelected,\n\n get allExpanded() {\n return !!(\n self.expandedRows.length === this.expandableRows.length &&\n this.expandableRows.length\n );\n },\n\n isExpanded,\n\n get toggable() {\n return getTogglable();\n },\n\n get modified() {\n return getModified();\n },\n\n get modifiedRows() {\n return getModifiedRows();\n },\n\n get unSelectedRows() {\n return getUnSelectedRows();\n },\n\n get checkableRows() {\n return flattenTree<IRow>(self.rows).filter(\n (item: IRow) => item.checkable\n );\n },\n\n get expandableRows() {\n return self.rows.filter(item => item.expandable);\n },\n\n get moved() {\n return getMoved();\n },\n\n get movedRows() {\n return getMovedRows();\n },\n\n get hoverRow() {\n return getHovedRow();\n },\n\n get disabledHeadCheckbox() {\n const selectedLength = self.data?.selectedItems.length;\n const maxLength = self.maxKeepItemSelectionLength;\n\n if (!self.data || !self.keepItemSelectionOnPageChange || !maxLength) {\n return false;\n }\n\n return maxLength === selectedLength;\n },\n\n get firstToggledColumnIndex() {\n return getFirstToggledColumnIndex();\n },\n\n getData,\n\n get columnGroup() {\n return getColumnGroup();\n },\n\n getRowById(id: string) {\n return findTree(self.rows, item => item.id === id);\n },\n\n getItemsByName(name: string): any {\n return this.forms\n .filter(form => form.rowIndex === parseInt(name, 10))\n .map(item => item.store);\n },\n\n // 是否隐藏了某列\n hasColumnHidden() {\n return hasColumnHidden();\n },\n\n getExpandedRows() {\n const list: Array<IRow> = [];\n\n eachTree(self.rows, i => {\n if (self.expandedRows.includes(i.id)) {\n list.push(i as any);\n }\n });\n\n return list;\n }\n };\n })\n .actions(self => {\n function update(config: Partial<STableStore>) {\n config.primaryField !== void 0 &&\n (self.primaryField = config.primaryField);\n config.selectable !== void 0 && (self.selectable = config.selectable);\n config.columnsTogglable !== void 0 &&\n (self.columnsTogglable = config.columnsTogglable);\n config.draggable !== void 0 && (self.draggable = config.draggable);\n\n if (typeof config.orderBy === 'string') {\n setOrderByInfo(\n config.orderBy,\n config.orderDir === 'desc' ? 'desc' : 'asc'\n );\n }\n\n config.multiple !== void 0 && (self.multiple = config.multiple);\n config.footable !== void 0 && (self.footable = config.footable);\n config.expandConfig !== void 0 &&\n (self.expandConfig = config.expandConfig);\n config.itemCheckableOn !== void 0 &&\n (self.itemCheckableOn = config.itemCheckableOn);\n config.itemDraggableOn !== void 0 &&\n (self.itemDraggableOn = config.itemDraggableOn);\n config.hideCheckToggler !== void 0 &&\n (self.hideCheckToggler = !!config.hideCheckToggler);\n\n config.combineNum !== void 0 &&\n (self.combineNum = parseInt(config.combineNum as any, 10) || 0);\n config.combineFromIndex !== void 0 &&\n (self.combineFromIndex =\n parseInt(config.combineFromIndex as any, 10) || 0);\n\n config.maxKeepItemSelectionLength !== void 0 &&\n (self.maxKeepItemSelectionLength = config.maxKeepItemSelectionLength);\n config.keepItemSelectionOnPageChange !== void 0 &&\n (self.keepItemSelectionOnPageChange =\n config.keepItemSelectionOnPageChange);\n\n if (config.columns && Array.isArray(config.columns)) {\n let columns: Array<SColumn> = config.columns\n .filter(column => column)\n .concat();\n if (!columns.length) {\n columns.push({\n type: 'text',\n label: '空'\n });\n }\n\n columns.unshift({\n type: '__expandme',\n toggable: false,\n className: 'Table-expandCell'\n });\n\n columns.unshift({\n type: '__checkme',\n fixed: 'left',\n toggable: false,\n className: 'Table-checkCell'\n });\n\n columns.unshift({\n type: '__dragme',\n toggable: false,\n className: 'Table-dragCell'\n });\n\n columns = columns.map((item, index) => ({\n ...item,\n index,\n rawIndex: index - 3,\n type: item.type || 'plain',\n pristine: item,\n toggled: item.toggled !== false,\n breakpoint: item.breakpoint,\n isPrimary: index === 3,\n className: item.className || ''\n }));\n\n self.columns.replace(columns as any);\n }\n }\n\n function updateColumns(columns: Array<SColumn>) {\n if (columns && Array.isArray(columns)) {\n columns = columns.filter(column => column).concat();\n\n if (!columns.length) {\n columns.push({\n type: 'text',\n label: '空'\n });\n }\n\n columns.unshift({\n type: '__expandme',\n toggable: false,\n className: 'Table-expandCell'\n });\n\n columns.unshift({\n type: '__checkme',\n fixed: 'left',\n toggable: false,\n className: 'Table-checkCell'\n });\n\n columns.unshift({\n type: '__dragme',\n toggable: false,\n className: 'Table-dragCell'\n });\n\n columns = columns.map((item, index) => ({\n ...item,\n index,\n rawIndex: index - 3,\n type: item.type || 'plain',\n pristine: item.pristine || item,\n toggled: item.toggled !== false,\n breakpoint: item.breakpoint,\n isPrimary: index === 3\n }));\n\n self.columns.replace(columns as any);\n }\n }\n\n function combineCell(arr: Array<SRow>, keys: Array<string>): Array<SRow> {\n if (!keys.length || !arr.length) {\n return arr;\n }\n\n const key: string = keys.shift() as string;\n let rowIndex = 0;\n let row = arr[rowIndex];\n row.rowSpans[key] = 1;\n let value = resolveVariable(key, row.data);\n for (let i = 1, len = arr.length; i < len; i++) {\n const current = arr[i];\n if (isEqual(resolveVariable(key, current.data), value)) {\n row.rowSpans[key] += 1;\n current.rowSpans[key] = 0;\n } else {\n if (row.rowSpans[key] > 1) {\n combineCell(arr.slice(rowIndex, i), keys.concat());\n }\n\n rowIndex = i;\n row = current;\n row.rowSpans[key] = 1;\n value = resolveVariable(key, row.data);\n }\n }\n\n if (row.rowSpans[key] > 1 && keys.length) {\n combineCell(arr.slice(rowIndex, arr.length), keys.concat());\n }\n\n return arr;\n }\n\n function autoCombineCell(\n arr: Array<SRow>,\n columns: Array<IColumn>,\n maxCount: number,\n fromIndex = 0\n ): Array<SRow> {\n if (!columns.length || !maxCount || !arr.length) {\n return arr;\n }\n // 如果是嵌套模式,通常第一列都是存在差异的,所以从第二列开始。\n fromIndex =\n fromIndex ||\n (arr.some(item => Array.isArray(item.children) && item.children.length)\n ? 1\n : 0);\n\n const keys: Array<string> = [];\n const len = columns.length;\n for (let i = 0; i < len; i++) {\n const column = columns[i];\n\n // maxCount 可能比实际配置的 columns 还有多。\n if (!column) {\n break;\n }\n\n if ('__' === column.type.substring(0, 2)) {\n maxCount++;\n continue;\n }\n\n const key = column.name;\n if (!key) {\n break;\n }\n keys.push(key);\n }\n\n while (fromIndex--) {\n keys.shift();\n }\n\n while (keys.length > maxCount) {\n keys.pop();\n }\n\n return combineCell(arr, keys);\n }\n\n function initChildren(\n children: Array<any>,\n depth: number,\n pindex: number,\n parentId: string,\n path: string = ''\n ): any {\n depth += 1;\n return children.map((item, index) => {\n item = isObject(item)\n ? item\n : {\n item\n };\n const id = item.__id ?? guid();\n\n return {\n // id: String(item && (item as any)[self.primaryField] || `${pindex}-${depth}-${key}`),\n id: String(id),\n parentId: String(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.children)\n ? initChildren(\n item.children,\n depth,\n index,\n id,\n `${path}${index}.`\n )\n : [],\n expandable: !!(\n (item && Array.isArray(item.children) && item.children.length) ||\n (self.footable && self.footableColumns.length)\n )\n };\n });\n }\n\n function initRows(\n rows: Array<any>,\n getEntryId?: (entry: any, index: number) => string,\n reUseRow?: boolean\n ) {\n self.selectedRows.clear();\n // self.expandedRows.clear();\n\n let arr: Array<SRow> = rows.map((item, index) => {\n let id = String(\n getEntryId ? getEntryId(item, index) : item.__id ?? guid()\n );\n return {\n // id: getEntryId ? getEntryId(item, key) : String(item && (item as any)[self.primaryField] || `${key}-1-${key}`),\n id: id,\n key: String(`${index}-1-${index}`),\n depth: 1, // 最大父节点默认为第一层,逐层叠加\n index: index,\n newIndex: index,\n pristine: item,\n path: `${index}`,\n data: item,\n rowSpans: {},\n children:\n item && Array.isArray(item.children)\n ? initChildren(item.children, 1, index, id, `${index}.`)\n : [],\n expandable: !!(\n (item && Array.isArray(item.children) && item.children.length) ||\n (self.footable && self.footableColumns.length)\n )\n };\n });\n\n if (self.combineNum) {\n arr = autoCombineCell(\n arr,\n self.columns,\n self.combineNum,\n self.combineFromIndex\n );\n }\n\n replaceRow(arr, reUseRow);\n self.isNested = self.rows.some(item => item.children.length);\n\n const expand = self.footable && self.footable.expand;\n if (\n expand === 'first' ||\n (self.expandConfig && self.expandConfig.expand === 'first')\n ) {\n self.rows.length && self.expandedRows.push(self.rows[0].id);\n } else if (\n (expand === 'all' && !self.footable.accordion) ||\n (self.expandConfig &&\n self.expandConfig.expand === 'all' &&\n !self.expandConfig.accordion)\n ) {\n self.expandedRows.replace(self.rows.map(item => item.id));\n }\n\n self.dragging = false;\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 updateSelected(selected: Array<any>, valueField?: string) {\n self.selectedRows.clear();\n\n eachTree(self.rows, item => {\n if (~selected.indexOf(item.pristine)) {\n self.selectedRows.push(item.id);\n } else if (\n find(\n selected,\n a =>\n a[valueField || 'value'] &&\n a[valueField || 'value'] == item.pristine[valueField || 'value']\n )\n ) {\n self.selectedRows.push(item.id);\n }\n });\n\n updateCheckDisable();\n }\n\n function toggleAll() {\n const maxLength = self.maxKeepItemSelectionLength;\n const keep = self.keepItemSelectionOnPageChange;\n\n if (self.allChecked) {\n self.selectedRows.clear();\n } else {\n const selectedItems = self.data?.selectedItems;\n\n if (\n keep &&\n maxLength &&\n selectedItems &&\n maxLength >= selectedItems.length\n ) {\n const restCheckableRows = self.checkableRows.filter(\n item => !item.checked\n );\n const checkableRows = restCheckableRows.filter(\n (item, i) => i < maxLength - selectedItems.length\n );\n\n self.selectedRows.replace([...self.selectedRows, ...checkableRows]);\n } else {\n self.selectedRows.replace(self.checkableRows);\n }\n }\n }\n\n // 记录最近一次点击的多选框,主要用于 shift 多选时判断上一个选的是什么\n let lastCheckedRow: any = null;\n\n function toggle(row: IRow) {\n if (!row.checkable) {\n return;\n }\n\n lastCheckedRow = row;\n\n const idx = self.selectedRows.indexOf(row);\n\n if (self.multiple) {\n ~idx ? self.selectedRows.splice(idx, 1) : self.selectedRows.push(row);\n } else {\n ~idx\n ? self.selectedRows.splice(idx, 1)\n : self.selectedRows.replace([row]);\n }\n }\n\n // 按住 shift 的时候点击选项\n function toggleShift(row: IRow) {\n // 如果是同一个或非 multiple 模式下就和不用 shift 一样\n if (!lastCheckedRow || row === lastCheckedRow || !self.multiple) {\n toggle(row);\n return;\n }\n\n const maxLength = self.maxKeepItemSelectionLength;\n const checkableRows = self.checkableRows;\n const lastCheckedRowIndex = checkableRows.findIndex(\n row => row === lastCheckedRow\n );\n const rowIndex = checkableRows.findIndex(rowItem => row === rowItem);\n const minIndex =\n lastCheckedRowIndex > rowIndex ? rowIndex : lastCheckedRowIndex;\n const maxIndex =\n lastCheckedRowIndex > rowIndex ? lastCheckedRowIndex : rowIndex;\n\n const rows = checkableRows.slice(minIndex, maxIndex);\n rows.push(row); // 将当前行也加入进行判断\n for (const rowItem of rows) {\n const idx = self.selectedRows.indexOf(rowItem);\n if (idx === -1) {\n // 如果上一个是选中状态,则将之间的所有 check 都变成可选\n if (lastCheckedRow.checked) {\n if (maxLength) {\n if (self.selectedRows.length < maxLength) {\n self.selectedRows.push(rowItem);\n }\n } else {\n self.selectedRows.push(rowItem);\n }\n }\n } else {\n if (!lastCheckedRow.checked) {\n self.selectedRows.splice(idx, 1);\n }\n }\n }\n\n lastCheckedRow = row;\n }\n\n function updateCheckDisable() {\n if (!self.data) {\n return;\n }\n const maxLength = self.maxKeepItemSelectionLength;\n const selectedItems = self.data.selectedItems;\n\n self.selectedRows.map(item => item.setCheckdisable(false));\n if (maxLength && maxLength <= selectedItems.length) {\n self.unSelectedRows.map(\n item => !item.checked && item.setCheckdisable(true)\n );\n } else {\n self.unSelectedRows.map(\n item => item.checkdisable && item.setCheckdisable(false)\n );\n }\n }\n\n function clear() {\n self.selectedRows.clear();\n }\n\n function toggleExpandAll() {\n if (self.allExpanded) {\n self.expandedRows.clear();\n } else {\n self.expandedRows.replace(\n self.rows.filter(item => item.expandable).map(item => item.id)\n );\n }\n }\n\n function toggleExpanded(row: IRow) {\n const idx = self.expandedRows.indexOf(row.id);\n\n if (~idx) {\n self.expandedRows.splice(idx, 1);\n } else if (self.footable && self.footable.accordion) {\n self.expandedRows.replace([row.id]);\n } else if (self.expandConfig && self.expandConfig.accordion) {\n let rows = self\n .getExpandedRows()\n .filter(item => item.depth !== row.depth);\n rows.push(row);\n self.expandedRows.replace(rows.map(item => item.id));\n } else {\n self.expandedRows.push(row.id);\n }\n }\n\n function collapseAllAtDepth(depth: number) {\n let rows = self.getExpandedRows().filter(item => item.depth !== depth);\n self.expandedRows.replace(rows.map(item => item.id));\n }\n\n function setOrderByInfo(key: string, direction: 'asc' | 'desc') {\n self.orderBy = key;\n self.orderDir = direction;\n }\n\n function reset() {\n self.rows.forEach(item => item.reset());\n let rows = self.rows.concat();\n eachTree(rows, item => {\n if (item.children) {\n let rows = item.children.concat().sort((a, b) => a.index - b.index);\n rows.forEach(item => item.reset());\n item.children.replace(rows);\n }\n });\n rows.forEach(item => item.reset());\n rows = rows.sort((a, b) => a.index - b.index);\n self.rows.replace(rows);\n self.dragging = false;\n }\n\n function toggleDragging() {\n self.dragging = !self.dragging;\n }\n\n function stopDragging() {\n self.dragging = false;\n }\n\n function exchange(fromIndex: number, toIndex: number, item?: IRow) {\n item = item || self.rows[fromIndex];\n\n if (item.parentId) {\n const parent: IRow = self.getRowById(item.parentId) as any;\n const offset = parent.children.indexOf(item) - fromIndex;\n toIndex += offset;\n fromIndex += offset;\n\n const newRows = parent.children.concat();\n newRows.splice(fromIndex, 1);\n newRows.splice(toIndex, 0, item);\n newRows.forEach((item, index) => (item.newIndex = index));\n parent.children.replace(newRows);\n return;\n }\n\n const newRows = self.rows.concat();\n newRows.splice(fromIndex, 1);\n newRows.splice(toIndex, 0, item);\n\n newRows.forEach((item, index) => (item.newIndex = index));\n self.rows.replace(newRows);\n }\n\n function persistSaveToggledColumns() {\n const key =\n location.pathname +\n self.path +\n self.toggableColumns.map(item => item.name || item.index).join('-');\n localStorage.setItem(\n key,\n JSON.stringify(self.activeToggaleColumns.map(item => item.index))\n );\n }\n\n function addForm(form: IFormStore, rowIndex: number) {\n self.formsRef.push({\n id: form.id,\n rowIndex\n });\n }\n\n return {\n update,\n updateColumns,\n initRows,\n updateSelected,\n toggleAll,\n toggle,\n toggleShift,\n toggleExpandAll,\n toggleExpanded,\n collapseAllAtDepth,\n clear,\n setOrderByInfo,\n reset,\n toggleDragging,\n stopDragging,\n exchange,\n addForm,\n\n persistSaveToggledColumns,\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.name || 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 };\n });\n\nexport type ITableStore = Instance<typeof TableStore>;\nexport type STableStore = SnapshotIn<typeof TableStore>;\n"
|
12
12
|
]
|
13
13
|
}
|