ele-admin-plus 1.3.0-beta.2 → 1.3.0-beta.3
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/es/core-components.d.ts +9 -0
- package/es/core-components.js +122 -104
- package/es/ele-autocomplete/index.d.ts +81 -0
- package/es/ele-autocomplete/index.js +73 -0
- package/es/ele-autocomplete/props.d.ts +27 -0
- package/es/ele-autocomplete/props.js +11 -0
- package/es/ele-autocomplete/style/index.d.ts +1 -0
- package/es/ele-autocomplete/style/index.js +1 -0
- package/es/ele-autocomplete/types.d.ts +18 -0
- package/es/ele-cascader/index.d.ts +15 -4
- package/es/ele-cascader/index.js +7 -3
- package/es/ele-cascader/props.d.ts +4 -2
- package/es/ele-cascader/props.js +2 -0
- package/es/ele-cascader/types.d.ts +9 -0
- package/es/ele-check-card/index.d.ts +4 -2
- package/es/ele-check-card/index.js +13 -3
- package/es/ele-check-card/props.d.ts +2 -2
- package/es/ele-check-card/props.js +1 -1
- package/es/ele-check-card/types.d.ts +5 -0
- package/es/ele-checkbox-group/index.d.ts +60 -0
- package/es/ele-checkbox-group/index.js +74 -0
- package/es/ele-checkbox-group/props.d.ts +29 -0
- package/es/ele-checkbox-group/props.js +13 -0
- package/es/ele-checkbox-group/style/index.d.ts +1 -0
- package/es/ele-checkbox-group/style/index.js +3 -0
- package/es/ele-checkbox-group/types.d.ts +25 -0
- package/es/ele-dropdown/components/pro-dropdown.d.ts +2 -2
- package/es/ele-ellipsis/index.d.ts +1 -1
- package/es/ele-icon/index.d.ts +26 -0
- package/es/ele-icon/index.js +7 -15
- package/es/ele-icon/props.d.ts +15 -0
- package/es/ele-icon/props.js +5 -1
- package/es/ele-icon/types.d.ts +4 -0
- package/es/ele-mention/index.d.ts +244 -0
- package/es/ele-mention/index.js +52 -0
- package/es/ele-mention/props.d.ts +105 -0
- package/es/ele-mention/props.js +11 -0
- package/es/ele-mention/style/index.d.ts +1 -0
- package/es/ele-mention/style/index.js +1 -0
- package/es/ele-mention/types.d.ts +16 -0
- package/es/ele-popover/index.d.ts +3 -3
- package/es/ele-pro-form/components/builder-wrapper.js +3 -3
- package/es/ele-pro-form/components/item-type-data.js +46 -95
- package/es/ele-pro-form/components/render-util.d.ts +58 -6
- package/es/ele-pro-form/components/render-util.js +207 -65
- package/es/ele-pro-form/index.d.ts +9 -3
- package/es/ele-pro-form/index.js +37 -8
- package/es/ele-pro-form/props.d.ts +17 -9
- package/es/ele-pro-form/props.js +18 -3
- package/es/ele-pro-form/style/index.js +16 -19
- package/es/ele-pro-form/style/index.scss +102 -0
- package/es/ele-pro-form/types.d.ts +3 -23
- package/es/ele-pro-form/util.d.ts +16 -1
- package/es/ele-pro-form/util.js +52 -4
- package/es/ele-pro-form-builder/components/body-form.d.ts +5 -1
- package/es/ele-pro-form-builder/components/body-form.js +9 -6
- package/es/ele-pro-form-builder/components/body-header.d.ts +16 -2
- package/es/ele-pro-form-builder/components/body-header.js +92 -30
- package/es/ele-pro-form-builder/components/build-core.d.ts +58 -0
- package/es/ele-pro-form-builder/components/build-core.js +195 -0
- package/es/ele-pro-form-builder/components/build-util.d.ts +3 -2
- package/es/ele-pro-form-builder/components/build-util.js +14 -6
- package/es/ele-pro-form-builder/components/children-edit.d.ts +2 -2
- package/es/ele-pro-form-builder/components/children-edit.js +55 -49
- package/es/ele-pro-form-builder/components/code-editer.d.ts +21 -0
- package/es/ele-pro-form-builder/components/code-editer.js +27 -0
- package/es/ele-pro-form-builder/components/code-generator.d.ts +110 -0
- package/es/ele-pro-form-builder/components/code-generator.js +476 -0
- package/es/ele-pro-form-builder/components/code-js-var.d.ts +2 -17
- package/es/ele-pro-form-builder/components/code-js-var.js +15 -84
- package/es/ele-pro-form-builder/components/code-template.d.ts +4 -118
- package/es/ele-pro-form-builder/components/code-template.js +34 -486
- package/es/ele-pro-form-builder/components/code-util.d.ts +13 -13
- package/es/ele-pro-form-builder/components/code-util.js +9 -9
- package/es/ele-pro-form-builder/components/component-data.d.ts +2 -0
- package/es/ele-pro-form-builder/components/component-data.js +4089 -1154
- package/es/ele-pro-form-builder/components/component-list.d.ts +5 -1
- package/es/ele-pro-form-builder/components/component-list.js +7 -4
- package/es/ele-pro-form-builder/components/component-name.js +1 -1
- package/es/ele-pro-form-builder/components/component-picker.d.ts +42 -0
- package/es/ele-pro-form-builder/components/component-picker.js +56 -0
- package/es/ele-pro-form-builder/components/config-form.d.ts +8 -0
- package/es/ele-pro-form-builder/components/config-form.js +38 -14
- package/es/ele-pro-form-builder/components/event-edit.d.ts +39 -0
- package/es/ele-pro-form-builder/components/event-edit.js +121 -0
- package/es/ele-pro-form-builder/components/html-edit.d.ts +31 -0
- package/es/ele-pro-form-builder/components/html-edit.js +97 -0
- package/es/ele-pro-form-builder/components/if-edit.d.ts +35 -0
- package/es/ele-pro-form-builder/components/if-edit.js +106 -0
- package/es/ele-pro-form-builder/components/import-modal.d.ts +38 -0
- package/es/ele-pro-form-builder/components/import-modal.js +125 -0
- package/es/ele-pro-form-builder/components/json-input.d.ts +4 -0
- package/es/ele-pro-form-builder/components/json-input.js +4 -3
- package/es/ele-pro-form-builder/components/options-code.d.ts +33 -0
- package/es/ele-pro-form-builder/components/options-code.js +56 -0
- package/es/ele-pro-form-builder/components/options-edit.d.ts +25 -30
- package/es/ele-pro-form-builder/components/options-edit.js +64 -428
- package/es/ele-pro-form-builder/components/options-table.d.ts +33 -0
- package/es/ele-pro-form-builder/components/options-table.js +381 -0
- package/es/ele-pro-form-builder/components/outline-list.js +8 -17
- package/es/ele-pro-form-builder/components/outline-tree.d.ts +8 -2
- package/es/ele-pro-form-builder/components/outline-tree.js +37 -64
- package/es/ele-pro-form-builder/components/preview-modal.d.ts +4 -0
- package/es/ele-pro-form-builder/components/preview-modal.js +14 -14
- package/es/ele-pro-form-builder/components/props-form.d.ts +19 -1
- package/es/ele-pro-form-builder/components/props-form.js +130 -55
- package/es/ele-pro-form-builder/components/source-edit.d.ts +31 -0
- package/es/ele-pro-form-builder/components/source-edit.js +111 -0
- package/es/ele-pro-form-builder/components/table-tool-menu.d.ts +6 -1
- package/es/ele-pro-form-builder/components/table-tool-menu.js +23 -7
- package/es/ele-pro-form-builder/components/table-util.d.ts +17 -9
- package/es/ele-pro-form-builder/components/table-util.js +52 -29
- package/es/ele-pro-form-builder/components/template-list.js +2 -5
- package/es/ele-pro-form-builder/index.d.ts +24 -4
- package/es/ele-pro-form-builder/index.js +175 -130
- package/es/ele-pro-form-builder/props.d.ts +17 -2
- package/es/ele-pro-form-builder/props.js +16 -1
- package/es/ele-pro-form-builder/style/index.js +10 -0
- package/es/ele-pro-form-builder/style/index.scss +96 -261
- package/es/ele-pro-form-builder/types.d.ts +68 -76
- package/es/ele-pro-form-builder/util.d.ts +10 -76
- package/es/ele-pro-form-builder/util.js +104 -200
- package/es/ele-pro-layout/index.d.ts +1 -1
- package/es/ele-pro-table/props.d.ts +3 -3
- package/es/ele-radio-group/index.d.ts +61 -0
- package/es/ele-radio-group/index.js +74 -0
- package/es/ele-radio-group/props.d.ts +28 -0
- package/es/ele-radio-group/props.js +13 -0
- package/es/ele-radio-group/style/index.d.ts +1 -0
- package/es/ele-radio-group/style/index.js +3 -0
- package/es/ele-radio-group/types.d.ts +25 -0
- package/es/ele-select/index.d.ts +14 -3
- package/es/ele-select/index.js +12 -6
- package/es/ele-select/props.d.ts +2 -2
- package/es/ele-select/props.js +1 -1
- package/es/ele-select/types.d.ts +6 -1
- package/es/ele-select-tree/index.d.ts +21 -0
- package/es/ele-select-tree/index.js +57 -0
- package/es/ele-select-tree/style/index.d.ts +1 -0
- package/es/ele-select-tree/style/index.js +1 -0
- package/es/ele-select-tree/types.d.ts +14 -0
- package/es/ele-steps/index.d.ts +8 -19
- package/es/ele-steps/index.js +13 -7
- package/es/ele-steps/props.d.ts +2 -5
- package/es/ele-steps/props.js +1 -4
- package/es/ele-steps/types.d.ts +5 -0
- package/es/ele-tab-bar/index.d.ts +20 -0
- package/es/ele-tab-bar/index.js +43 -0
- package/es/ele-tab-bar/props.d.ts +25 -0
- package/es/ele-tab-bar/props.js +18 -0
- package/es/ele-tab-bar/style/css-var.scss +8 -0
- package/es/ele-tab-bar/style/index.d.ts +1 -0
- package/es/ele-tab-bar/style/index.js +1 -0
- package/es/ele-tab-bar/style/index.scss +87 -0
- package/es/ele-tab-bar/types.d.ts +14 -0
- package/es/ele-timeline/style/css-var.scss +1 -1
- package/es/ele-timeline/style/index.scss +2 -2
- package/es/ele-transfer/index.d.ts +94 -0
- package/es/ele-transfer/index.js +54 -0
- package/es/ele-transfer/props.d.ts +39 -0
- package/es/ele-transfer/props.js +11 -0
- package/es/ele-transfer/style/index.d.ts +1 -0
- package/es/ele-transfer/style/index.js +1 -0
- package/es/ele-transfer/types.d.ts +16 -0
- package/es/ele-tree-select/index.d.ts +8 -4
- package/es/ele-tree-select/index.js +18 -12
- package/es/ele-tree-select/props.d.ts +4 -4
- package/es/ele-tree-select/types.d.ts +13 -0
- package/es/ele-tree-table/components/table-body.d.ts +57 -0
- package/es/ele-tree-table/components/table-body.js +100 -0
- package/es/ele-tree-table/components/table-row.d.ts +53 -0
- package/es/ele-tree-table/components/table-row.js +105 -0
- package/es/ele-tree-table/index.d.ts +30 -0
- package/es/ele-tree-table/index.js +155 -0
- package/es/ele-tree-table/props.d.ts +25 -0
- package/es/ele-tree-table/props.js +20 -0
- package/es/ele-tree-table/style/css-var.scss +8 -0
- package/es/ele-tree-table/style/index.d.ts +1 -0
- package/es/ele-tree-table/style/index.js +2 -0
- package/es/ele-tree-table/style/index.scss +224 -0
- package/es/ele-tree-table/types.d.ts +27 -0
- package/es/style/plus.scss +2 -0
- package/es/style/themes/default.scss +18 -0
- package/es/style/themes/theme-util.scss +4 -0
- package/es/utils/hook.d.ts +18 -3
- package/es/utils/hook.js +37 -1
- package/lib/core-components.cjs +122 -104
- package/lib/core-components.d.ts +9 -0
- package/lib/ele-autocomplete/index.cjs +72 -0
- package/lib/ele-autocomplete/index.d.ts +81 -0
- package/lib/ele-autocomplete/props.cjs +13 -0
- package/lib/ele-autocomplete/props.d.ts +27 -0
- package/lib/ele-autocomplete/style/index.cjs +2 -0
- package/lib/ele-autocomplete/style/index.d.ts +1 -0
- package/lib/ele-autocomplete/types.d.ts +18 -0
- package/lib/ele-cascader/index.cjs +6 -2
- package/lib/ele-cascader/index.d.ts +15 -4
- package/lib/ele-cascader/props.cjs +2 -0
- package/lib/ele-cascader/props.d.ts +4 -2
- package/lib/ele-cascader/types.d.ts +9 -0
- package/lib/ele-check-card/index.cjs +13 -3
- package/lib/ele-check-card/index.d.ts +4 -2
- package/lib/ele-check-card/props.cjs +1 -1
- package/lib/ele-check-card/props.d.ts +2 -2
- package/lib/ele-check-card/types.d.ts +5 -0
- package/lib/ele-checkbox-group/index.cjs +73 -0
- package/lib/ele-checkbox-group/index.d.ts +60 -0
- package/lib/ele-checkbox-group/props.cjs +15 -0
- package/lib/ele-checkbox-group/props.d.ts +29 -0
- package/lib/ele-checkbox-group/style/index.cjs +4 -0
- package/lib/ele-checkbox-group/style/index.d.ts +1 -0
- package/lib/ele-checkbox-group/types.d.ts +25 -0
- package/lib/ele-config-provider/components/receiver-view.cjs +2 -2
- package/lib/ele-dropdown/components/pro-dropdown.d.ts +2 -2
- package/lib/ele-ellipsis/index.d.ts +1 -1
- package/lib/ele-icon/index.cjs +7 -15
- package/lib/ele-icon/index.d.ts +26 -0
- package/lib/ele-icon/props.cjs +5 -1
- package/lib/ele-icon/props.d.ts +15 -0
- package/lib/ele-icon/types.d.ts +4 -0
- package/lib/ele-mention/index.cjs +51 -0
- package/lib/ele-mention/index.d.ts +244 -0
- package/lib/ele-mention/props.cjs +13 -0
- package/lib/ele-mention/props.d.ts +105 -0
- package/lib/ele-mention/style/index.cjs +2 -0
- package/lib/ele-mention/style/index.d.ts +1 -0
- package/lib/ele-mention/types.d.ts +16 -0
- package/lib/ele-popover/index.d.ts +3 -3
- package/lib/ele-pro-form/components/builder-wrapper.cjs +2 -2
- package/lib/ele-pro-form/components/item-type-data.cjs +45 -94
- package/lib/ele-pro-form/components/render-util.cjs +207 -65
- package/lib/ele-pro-form/components/render-util.d.ts +58 -6
- package/lib/ele-pro-form/index.cjs +36 -7
- package/lib/ele-pro-form/index.d.ts +9 -3
- package/lib/ele-pro-form/props.cjs +18 -3
- package/lib/ele-pro-form/props.d.ts +17 -9
- package/lib/ele-pro-form/style/index.cjs +16 -19
- package/lib/ele-pro-form/style/index.scss +102 -0
- package/lib/ele-pro-form/types.d.ts +3 -23
- package/lib/ele-pro-form/util.cjs +50 -4
- package/lib/ele-pro-form/util.d.ts +16 -1
- package/lib/ele-pro-form-builder/components/body-form.cjs +9 -6
- package/lib/ele-pro-form-builder/components/body-form.d.ts +5 -1
- package/lib/ele-pro-form-builder/components/body-header.cjs +89 -27
- package/lib/ele-pro-form-builder/components/body-header.d.ts +16 -2
- package/lib/ele-pro-form-builder/components/build-core.cjs +195 -0
- package/lib/ele-pro-form-builder/components/build-core.d.ts +58 -0
- package/lib/ele-pro-form-builder/components/build-util.cjs +16 -8
- package/lib/ele-pro-form-builder/components/build-util.d.ts +3 -2
- package/lib/ele-pro-form-builder/components/children-edit.cjs +55 -49
- package/lib/ele-pro-form-builder/components/children-edit.d.ts +2 -2
- package/lib/ele-pro-form-builder/components/code-editer.cjs +26 -0
- package/lib/ele-pro-form-builder/components/code-editer.d.ts +21 -0
- package/lib/ele-pro-form-builder/components/code-generator.cjs +476 -0
- package/lib/ele-pro-form-builder/components/code-generator.d.ts +110 -0
- package/lib/ele-pro-form-builder/components/code-js-var.cjs +14 -100
- package/lib/ele-pro-form-builder/components/code-js-var.d.ts +2 -17
- package/lib/ele-pro-form-builder/components/code-template.cjs +34 -486
- package/lib/ele-pro-form-builder/components/code-template.d.ts +4 -118
- package/lib/ele-pro-form-builder/components/code-util.cjs +9 -9
- package/lib/ele-pro-form-builder/components/code-util.d.ts +13 -13
- package/lib/ele-pro-form-builder/components/component-data.cjs +4088 -1153
- package/lib/ele-pro-form-builder/components/component-data.d.ts +2 -0
- package/lib/ele-pro-form-builder/components/component-list.cjs +9 -6
- package/lib/ele-pro-form-builder/components/component-list.d.ts +5 -1
- package/lib/ele-pro-form-builder/components/component-name.cjs +2 -2
- package/lib/ele-pro-form-builder/components/component-picker.cjs +55 -0
- package/lib/ele-pro-form-builder/components/component-picker.d.ts +42 -0
- package/lib/ele-pro-form-builder/components/config-form.cjs +38 -14
- package/lib/ele-pro-form-builder/components/config-form.d.ts +8 -0
- package/lib/ele-pro-form-builder/components/event-edit.cjs +120 -0
- package/lib/ele-pro-form-builder/components/event-edit.d.ts +39 -0
- package/lib/ele-pro-form-builder/components/html-edit.cjs +96 -0
- package/lib/ele-pro-form-builder/components/html-edit.d.ts +31 -0
- package/lib/ele-pro-form-builder/components/if-edit.cjs +105 -0
- package/lib/ele-pro-form-builder/components/if-edit.d.ts +35 -0
- package/lib/ele-pro-form-builder/components/import-modal.cjs +124 -0
- package/lib/ele-pro-form-builder/components/import-modal.d.ts +38 -0
- package/lib/ele-pro-form-builder/components/json-input.cjs +4 -3
- package/lib/ele-pro-form-builder/components/json-input.d.ts +4 -0
- package/lib/ele-pro-form-builder/components/options-code.cjs +55 -0
- package/lib/ele-pro-form-builder/components/options-code.d.ts +33 -0
- package/lib/ele-pro-form-builder/components/options-edit.cjs +62 -426
- package/lib/ele-pro-form-builder/components/options-edit.d.ts +25 -30
- package/lib/ele-pro-form-builder/components/options-table.cjs +380 -0
- package/lib/ele-pro-form-builder/components/options-table.d.ts +33 -0
- package/lib/ele-pro-form-builder/components/outline-list.cjs +8 -17
- package/lib/ele-pro-form-builder/components/outline-tree.cjs +36 -63
- package/lib/ele-pro-form-builder/components/outline-tree.d.ts +8 -2
- package/lib/ele-pro-form-builder/components/preview-modal.cjs +12 -12
- package/lib/ele-pro-form-builder/components/preview-modal.d.ts +4 -0
- package/lib/ele-pro-form-builder/components/props-form.cjs +129 -54
- package/lib/ele-pro-form-builder/components/props-form.d.ts +19 -1
- package/lib/ele-pro-form-builder/components/source-edit.cjs +110 -0
- package/lib/ele-pro-form-builder/components/source-edit.d.ts +31 -0
- package/lib/ele-pro-form-builder/components/table-tool-menu.cjs +23 -7
- package/lib/ele-pro-form-builder/components/table-tool-menu.d.ts +6 -1
- package/lib/ele-pro-form-builder/components/table-util.cjs +56 -33
- package/lib/ele-pro-form-builder/components/table-util.d.ts +17 -9
- package/lib/ele-pro-form-builder/components/template-list.cjs +1 -4
- package/lib/ele-pro-form-builder/index.cjs +174 -129
- package/lib/ele-pro-form-builder/index.d.ts +24 -4
- package/lib/ele-pro-form-builder/props.cjs +16 -1
- package/lib/ele-pro-form-builder/props.d.ts +17 -2
- package/lib/ele-pro-form-builder/style/index.cjs +10 -0
- package/lib/ele-pro-form-builder/style/index.scss +96 -261
- package/lib/ele-pro-form-builder/types.d.ts +68 -76
- package/lib/ele-pro-form-builder/util.cjs +104 -200
- package/lib/ele-pro-form-builder/util.d.ts +10 -76
- package/lib/ele-pro-layout/index.d.ts +1 -1
- package/lib/ele-pro-table/props.d.ts +3 -3
- package/lib/ele-radio-group/index.cjs +73 -0
- package/lib/ele-radio-group/index.d.ts +61 -0
- package/lib/ele-radio-group/props.cjs +15 -0
- package/lib/ele-radio-group/props.d.ts +28 -0
- package/lib/ele-radio-group/style/index.cjs +4 -0
- package/lib/ele-radio-group/style/index.d.ts +1 -0
- package/lib/ele-radio-group/types.d.ts +25 -0
- package/lib/ele-select/index.cjs +10 -4
- package/lib/ele-select/index.d.ts +14 -3
- package/lib/ele-select/props.cjs +1 -1
- package/lib/ele-select/props.d.ts +2 -2
- package/lib/ele-select/types.d.ts +6 -1
- package/lib/ele-select-tree/index.cjs +56 -0
- package/lib/ele-select-tree/index.d.ts +21 -0
- package/lib/ele-select-tree/style/index.cjs +2 -0
- package/lib/ele-select-tree/style/index.d.ts +1 -0
- package/lib/ele-select-tree/types.d.ts +14 -0
- package/lib/ele-steps/index.cjs +12 -6
- package/lib/ele-steps/index.d.ts +8 -19
- package/lib/ele-steps/props.cjs +1 -4
- package/lib/ele-steps/props.d.ts +2 -5
- package/lib/ele-steps/types.d.ts +5 -0
- package/lib/ele-tab-bar/index.cjs +42 -0
- package/lib/ele-tab-bar/index.d.ts +20 -0
- package/lib/ele-tab-bar/props.cjs +18 -0
- package/lib/ele-tab-bar/props.d.ts +25 -0
- package/lib/ele-tab-bar/style/css-var.scss +8 -0
- package/lib/ele-tab-bar/style/index.cjs +2 -0
- package/lib/ele-tab-bar/style/index.d.ts +1 -0
- package/lib/ele-tab-bar/style/index.scss +87 -0
- package/lib/ele-tab-bar/types.d.ts +14 -0
- package/lib/ele-timeline/style/css-var.scss +1 -1
- package/lib/ele-timeline/style/index.scss +2 -2
- package/lib/ele-transfer/index.cjs +53 -0
- package/lib/ele-transfer/index.d.ts +94 -0
- package/lib/ele-transfer/props.cjs +13 -0
- package/lib/ele-transfer/props.d.ts +39 -0
- package/lib/ele-transfer/style/index.cjs +2 -0
- package/lib/ele-transfer/style/index.d.ts +1 -0
- package/lib/ele-transfer/types.d.ts +16 -0
- package/lib/ele-tree-select/index.cjs +17 -11
- package/lib/ele-tree-select/index.d.ts +8 -4
- package/lib/ele-tree-select/props.d.ts +4 -4
- package/lib/ele-tree-select/types.d.ts +13 -0
- package/lib/ele-tree-table/components/table-body.cjs +99 -0
- package/lib/ele-tree-table/components/table-body.d.ts +57 -0
- package/lib/ele-tree-table/components/table-row.cjs +104 -0
- package/lib/ele-tree-table/components/table-row.d.ts +53 -0
- package/lib/ele-tree-table/index.cjs +154 -0
- package/lib/ele-tree-table/index.d.ts +30 -0
- package/lib/ele-tree-table/props.cjs +20 -0
- package/lib/ele-tree-table/props.d.ts +25 -0
- package/lib/ele-tree-table/style/css-var.scss +8 -0
- package/lib/ele-tree-table/style/index.cjs +3 -0
- package/lib/ele-tree-table/style/index.d.ts +1 -0
- package/lib/ele-tree-table/style/index.scss +224 -0
- package/lib/ele-tree-table/types.d.ts +27 -0
- package/lib/style/plus.scss +2 -0
- package/lib/style/themes/default.scss +18 -0
- package/lib/style/themes/theme-util.scss +4 -0
- package/lib/utils/hook.cjs +36 -0
- package/lib/utils/hook.d.ts +18 -3
- package/package.json +1 -1
- package/typings/global.d.ts +8 -0
- package/es/ele-pro-form-builder/components/tree-table.d.ts +0 -3253
- package/es/ele-pro-form-builder/components/tree-table.js +0 -239
- package/lib/ele-pro-form-builder/components/tree-table.cjs +0 -238
- package/lib/ele-pro-form-builder/components/tree-table.d.ts +0 -3253
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { defineComponent, ref, resolveComponent, openBlock, createElementBlock, normalizeClass, createElementVNode, normalizeStyle, toDisplayString, Fragment, renderList, createVNode, withCtx, createCommentVNode, renderSlot } from "vue";
|
|
2
|
+
import { ElIcon } from "element-plus";
|
|
3
|
+
import { ArrowDown } from "../../icons";
|
|
4
|
+
const _sfc_main = defineComponent({
|
|
5
|
+
name: "TableRow",
|
|
6
|
+
components: { ElIcon, ArrowDown },
|
|
7
|
+
props: {
|
|
8
|
+
/** 行索引 */
|
|
9
|
+
rowIndex: {
|
|
10
|
+
type: Number,
|
|
11
|
+
required: true
|
|
12
|
+
},
|
|
13
|
+
/** 是否有子级 */
|
|
14
|
+
hasChildren: Boolean,
|
|
15
|
+
/** 序号列宽度 */
|
|
16
|
+
indexColWidth: {
|
|
17
|
+
type: Number,
|
|
18
|
+
required: true
|
|
19
|
+
},
|
|
20
|
+
/** 所处深度 */
|
|
21
|
+
level: {
|
|
22
|
+
type: Number,
|
|
23
|
+
required: true
|
|
24
|
+
},
|
|
25
|
+
/** 最大深度 */
|
|
26
|
+
depth: {
|
|
27
|
+
type: Number,
|
|
28
|
+
required: true
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
setup() {
|
|
32
|
+
const isCollapse = ref(false);
|
|
33
|
+
const handleExpandClick = () => {
|
|
34
|
+
isCollapse.value = !isCollapse.value;
|
|
35
|
+
};
|
|
36
|
+
return {
|
|
37
|
+
isCollapse,
|
|
38
|
+
handleExpandClick
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
const _export_sfc = (sfc, props) => {
|
|
43
|
+
const target = sfc.__vccOpts || sfc;
|
|
44
|
+
for (const [key, val] of props) {
|
|
45
|
+
target[key] = val;
|
|
46
|
+
}
|
|
47
|
+
return target;
|
|
48
|
+
};
|
|
49
|
+
const _hoisted_1 = { class: "ele-tree-table-row-body" };
|
|
50
|
+
const _hoisted_2 = { class: "ele-tree-table-cells" };
|
|
51
|
+
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
52
|
+
const _component_ArrowDown = resolveComponent("ArrowDown");
|
|
53
|
+
const _component_ElIcon = resolveComponent("ElIcon");
|
|
54
|
+
return openBlock(), createElementBlock("div", {
|
|
55
|
+
class: normalizeClass(["ele-tree-table-row", { "is-collapse": _ctx.isCollapse }])
|
|
56
|
+
}, [
|
|
57
|
+
createElementVNode("div", {
|
|
58
|
+
style: normalizeStyle({
|
|
59
|
+
width: `${_ctx.indexColWidth}px`,
|
|
60
|
+
left: `${(_ctx.level - 1) * _ctx.indexColWidth}px`
|
|
61
|
+
}),
|
|
62
|
+
class: normalizeClass([
|
|
63
|
+
"ele-tree-table-cell is-tree-index is-fixed-left",
|
|
64
|
+
{ "is-fixed-left-last": _ctx.depth === _ctx.level }
|
|
65
|
+
])
|
|
66
|
+
}, toDisplayString(_ctx.rowIndex + 1), 7),
|
|
67
|
+
createElementVNode("div", _hoisted_1, [
|
|
68
|
+
createElementVNode("div", _hoisted_2, [
|
|
69
|
+
(openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.depth - _ctx.level, (num) => {
|
|
70
|
+
return openBlock(), createElementBlock("div", {
|
|
71
|
+
key: num,
|
|
72
|
+
style: normalizeStyle({
|
|
73
|
+
width: `${_ctx.indexColWidth}px`,
|
|
74
|
+
left: `${(_ctx.level - 1 + num) * _ctx.indexColWidth}px`,
|
|
75
|
+
textAlign: _ctx.hasChildren && num === 1 ? "left" : void 0
|
|
76
|
+
}),
|
|
77
|
+
class: normalizeClass([
|
|
78
|
+
"ele-tree-table-cell is-tree-index is-placeholder is-fixed-left",
|
|
79
|
+
{ "is-fixed-left-last": num === _ctx.depth - _ctx.level }
|
|
80
|
+
])
|
|
81
|
+
}, [
|
|
82
|
+
_ctx.hasChildren && num === 1 ? (openBlock(), createElementBlock("div", {
|
|
83
|
+
key: 0,
|
|
84
|
+
class: normalizeClass(["ele-tree-table-expand", { "is-collapse": _ctx.isCollapse }]),
|
|
85
|
+
onClick: _cache[0] || (_cache[0] = (...args) => _ctx.handleExpandClick && _ctx.handleExpandClick(...args))
|
|
86
|
+
}, [
|
|
87
|
+
createVNode(_component_ElIcon, null, {
|
|
88
|
+
default: withCtx(() => [
|
|
89
|
+
createVNode(_component_ArrowDown)
|
|
90
|
+
]),
|
|
91
|
+
_: 1
|
|
92
|
+
})
|
|
93
|
+
], 2)) : createCommentVNode("", true)
|
|
94
|
+
], 6);
|
|
95
|
+
}), 128)),
|
|
96
|
+
renderSlot(_ctx.$slots, "cells")
|
|
97
|
+
]),
|
|
98
|
+
renderSlot(_ctx.$slots, "default")
|
|
99
|
+
])
|
|
100
|
+
], 2);
|
|
101
|
+
}
|
|
102
|
+
const tableRow = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
|
|
103
|
+
export {
|
|
104
|
+
tableRow as default
|
|
105
|
+
};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
declare const _default: import('vue').DefineComponent<{
|
|
2
|
+
data: import('vue').PropType<import('./types').TreeTableDataItem[]>;
|
|
3
|
+
columns: import('vue').PropType<import('./types').TreeTableColumn[]>;
|
|
4
|
+
height: StringConstructor;
|
|
5
|
+
tableStyle: import('vue').PropType<import('../ele-app/types').StyleValue>;
|
|
6
|
+
headerStyle: import('vue').PropType<import('../ele-app/types').StyleValue>;
|
|
7
|
+
indexColWidth: {
|
|
8
|
+
type: NumberConstructor;
|
|
9
|
+
default: number;
|
|
10
|
+
};
|
|
11
|
+
}, {
|
|
12
|
+
tableRef: import('vue').Ref<HTMLElement | null>;
|
|
13
|
+
depth: import('vue').Ref<number>;
|
|
14
|
+
isPingLeft: import('vue').Ref<boolean>;
|
|
15
|
+
isPingRight: import('vue').Ref<boolean>;
|
|
16
|
+
handleTableScroll: (e: MouseEvent) => void;
|
|
17
|
+
}, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
|
|
18
|
+
data: import('vue').PropType<import('./types').TreeTableDataItem[]>;
|
|
19
|
+
columns: import('vue').PropType<import('./types').TreeTableColumn[]>;
|
|
20
|
+
height: StringConstructor;
|
|
21
|
+
tableStyle: import('vue').PropType<import('../ele-app/types').StyleValue>;
|
|
22
|
+
headerStyle: import('vue').PropType<import('../ele-app/types').StyleValue>;
|
|
23
|
+
indexColWidth: {
|
|
24
|
+
type: NumberConstructor;
|
|
25
|
+
default: number;
|
|
26
|
+
};
|
|
27
|
+
}>>, {
|
|
28
|
+
indexColWidth: number;
|
|
29
|
+
}, {}>;
|
|
30
|
+
export default _default;
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
import { defineComponent, ref, watch, nextTick, onMounted, resolveComponent, openBlock, createElementBlock, normalizeClass, createElementVNode, normalizeStyle, Fragment, renderList, renderSlot, createTextVNode, toDisplayString, createBlock, createSlots, withCtx, normalizeProps, guardReactiveProps } from "vue";
|
|
2
|
+
import TableBody from "./components/table-body";
|
|
3
|
+
import { treeTableProps } from "./props";
|
|
4
|
+
const _sfc_main = defineComponent({
|
|
5
|
+
name: "EleTreeTable",
|
|
6
|
+
components: { TableBody },
|
|
7
|
+
props: treeTableProps,
|
|
8
|
+
setup(props) {
|
|
9
|
+
const tableRef = ref(null);
|
|
10
|
+
const depth = ref(1);
|
|
11
|
+
const isPingLeft = ref(false);
|
|
12
|
+
const isPingRight = ref(false);
|
|
13
|
+
const checkTableScrollPing = (el) => {
|
|
14
|
+
if (el) {
|
|
15
|
+
const scrollLeft = el.scrollLeft;
|
|
16
|
+
isPingLeft.value = scrollLeft > 1;
|
|
17
|
+
const scrollWidth = el.scrollWidth - el.offsetWidth - 1;
|
|
18
|
+
isPingRight.value = scrollWidth > 1 && scrollLeft < scrollWidth;
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
const handleTableScroll = (e) => {
|
|
22
|
+
checkTableScrollPing(e.currentTarget);
|
|
23
|
+
};
|
|
24
|
+
const getTreeDepth = (data, level = 0) => {
|
|
25
|
+
let maxDepth = 0;
|
|
26
|
+
if (data) {
|
|
27
|
+
data.forEach((row) => {
|
|
28
|
+
if (row.children && row.children.length) {
|
|
29
|
+
const depth2 = getTreeDepth(row.children, level + 1);
|
|
30
|
+
maxDepth = Math.max(maxDepth, depth2);
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
return maxDepth + 1;
|
|
35
|
+
};
|
|
36
|
+
watch(
|
|
37
|
+
() => props.data,
|
|
38
|
+
(data) => {
|
|
39
|
+
depth.value = getTreeDepth(data);
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
immediate: true,
|
|
43
|
+
deep: true
|
|
44
|
+
}
|
|
45
|
+
);
|
|
46
|
+
watch(
|
|
47
|
+
() => props.columns,
|
|
48
|
+
() => {
|
|
49
|
+
nextTick(() => {
|
|
50
|
+
checkTableScrollPing(tableRef.value);
|
|
51
|
+
});
|
|
52
|
+
},
|
|
53
|
+
{ deep: true }
|
|
54
|
+
);
|
|
55
|
+
onMounted(() => {
|
|
56
|
+
checkTableScrollPing(tableRef.value);
|
|
57
|
+
});
|
|
58
|
+
return {
|
|
59
|
+
tableRef,
|
|
60
|
+
depth,
|
|
61
|
+
isPingLeft,
|
|
62
|
+
isPingRight,
|
|
63
|
+
handleTableScroll
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
const _export_sfc = (sfc, props) => {
|
|
68
|
+
const target = sfc.__vccOpts || sfc;
|
|
69
|
+
for (const [key, val] of props) {
|
|
70
|
+
target[key] = val;
|
|
71
|
+
}
|
|
72
|
+
return target;
|
|
73
|
+
};
|
|
74
|
+
const _hoisted_1 = { class: "ele-tree-table-row" };
|
|
75
|
+
const _hoisted_2 = {
|
|
76
|
+
key: 1,
|
|
77
|
+
class: "ele-tree-table-empty"
|
|
78
|
+
};
|
|
79
|
+
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
80
|
+
const _component_TableBody = resolveComponent("TableBody");
|
|
81
|
+
return openBlock(), createElementBlock("div", {
|
|
82
|
+
class: normalizeClass([
|
|
83
|
+
"ele-tree-table-wrapper",
|
|
84
|
+
{ "is-ping-left": _ctx.isPingLeft },
|
|
85
|
+
{ "is-ping-right": _ctx.isPingRight }
|
|
86
|
+
])
|
|
87
|
+
}, [
|
|
88
|
+
createElementVNode("div", {
|
|
89
|
+
ref: "tableRef",
|
|
90
|
+
class: "ele-tree-table",
|
|
91
|
+
style: normalizeStyle({ height: _ctx.height }),
|
|
92
|
+
onScroll: _cache[0] || (_cache[0] = (...args) => _ctx.handleTableScroll && _ctx.handleTableScroll(...args))
|
|
93
|
+
}, [
|
|
94
|
+
createElementVNode("div", {
|
|
95
|
+
class: "ele-tree-table-main",
|
|
96
|
+
style: normalizeStyle(_ctx.tableStyle)
|
|
97
|
+
}, [
|
|
98
|
+
createElementVNode("div", {
|
|
99
|
+
class: "ele-tree-table-header",
|
|
100
|
+
style: normalizeStyle(_ctx.headerStyle)
|
|
101
|
+
}, [
|
|
102
|
+
createElementVNode("div", _hoisted_1, [
|
|
103
|
+
(openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.depth, (num) => {
|
|
104
|
+
return openBlock(), createElementBlock("div", {
|
|
105
|
+
key: num,
|
|
106
|
+
style: normalizeStyle({
|
|
107
|
+
width: `${_ctx.indexColWidth}px`,
|
|
108
|
+
left: `${(num - 1) * _ctx.indexColWidth}px`
|
|
109
|
+
}),
|
|
110
|
+
class: normalizeClass([
|
|
111
|
+
"ele-tree-table-cell is-tree-index is-fixed-left",
|
|
112
|
+
{ "is-placeholder": num !== 1 },
|
|
113
|
+
{ "is-fixed-left-last": num === _ctx.depth }
|
|
114
|
+
])
|
|
115
|
+
}, null, 6);
|
|
116
|
+
}), 128)),
|
|
117
|
+
(openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.columns || [], (col) => {
|
|
118
|
+
return openBlock(), createElementBlock("div", {
|
|
119
|
+
key: col.key ?? col.prop,
|
|
120
|
+
style: normalizeStyle(col.style),
|
|
121
|
+
class: normalizeClass([col.class, "ele-tree-table-cell"])
|
|
122
|
+
}, [
|
|
123
|
+
renderSlot(_ctx.$slots, "headerCell", { column: col }, () => [
|
|
124
|
+
createTextVNode(toDisplayString(col.label), 1)
|
|
125
|
+
])
|
|
126
|
+
], 6);
|
|
127
|
+
}), 128))
|
|
128
|
+
])
|
|
129
|
+
], 4),
|
|
130
|
+
_ctx.data && _ctx.data.length ? (openBlock(), createBlock(_component_TableBody, {
|
|
131
|
+
key: 0,
|
|
132
|
+
data: _ctx.data,
|
|
133
|
+
columns: _ctx.columns || [],
|
|
134
|
+
level: 1,
|
|
135
|
+
depth: _ctx.depth,
|
|
136
|
+
indexColWidth: _ctx.indexColWidth,
|
|
137
|
+
class: "ele-tree-table-body"
|
|
138
|
+
}, createSlots({ _: 2 }, [
|
|
139
|
+
renderList(Object.keys(_ctx.$slots), (name) => {
|
|
140
|
+
return {
|
|
141
|
+
name,
|
|
142
|
+
fn: withCtx((slotProps) => [
|
|
143
|
+
renderSlot(_ctx.$slots, name, normalizeProps(guardReactiveProps(slotProps || {})))
|
|
144
|
+
])
|
|
145
|
+
};
|
|
146
|
+
})
|
|
147
|
+
]), 1032, ["data", "columns", "depth", "indexColWidth"])) : (openBlock(), createElementBlock("div", _hoisted_2, "无数据"))
|
|
148
|
+
], 4)
|
|
149
|
+
], 36)
|
|
150
|
+
], 2);
|
|
151
|
+
}
|
|
152
|
+
const index = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
|
|
153
|
+
export {
|
|
154
|
+
index as default
|
|
155
|
+
};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { PropType, ExtractPropTypes } from 'vue';
|
|
2
|
+
import { StyleValue } from '../ele-app/types';
|
|
3
|
+
import { TreeTableDataItem, TreeTableColumn } from './types';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* 属性
|
|
7
|
+
*/
|
|
8
|
+
export declare const treeTableProps: {
|
|
9
|
+
/** 数据 */
|
|
10
|
+
data: PropType<TreeTableDataItem[]>;
|
|
11
|
+
/** 列配置 */
|
|
12
|
+
columns: PropType<TreeTableColumn[]>;
|
|
13
|
+
/** 表格高度 */
|
|
14
|
+
height: StringConstructor;
|
|
15
|
+
/** 表格样式 */
|
|
16
|
+
tableStyle: PropType<StyleValue>;
|
|
17
|
+
/** 表头样式 */
|
|
18
|
+
headerStyle: PropType<StyleValue>;
|
|
19
|
+
/** 序号列宽度 */
|
|
20
|
+
indexColWidth: {
|
|
21
|
+
type: NumberConstructor;
|
|
22
|
+
default: number;
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
export type TreeTableProps = ExtractPropTypes<typeof treeTableProps>;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
const treeTableProps = {
|
|
2
|
+
/** 数据 */
|
|
3
|
+
data: Array,
|
|
4
|
+
/** 列配置 */
|
|
5
|
+
columns: Array,
|
|
6
|
+
/** 表格高度 */
|
|
7
|
+
height: String,
|
|
8
|
+
/** 表格样式 */
|
|
9
|
+
tableStyle: [Object, Array, String],
|
|
10
|
+
/** 表头样式 */
|
|
11
|
+
headerStyle: [Object, Array, String],
|
|
12
|
+
/** 序号列宽度 */
|
|
13
|
+
indexColWidth: {
|
|
14
|
+
type: Number,
|
|
15
|
+
default: 24
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
export {
|
|
19
|
+
treeTableProps
|
|
20
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
|
@@ -0,0 +1,224 @@
|
|
|
1
|
+
@use '../../style/themes/default.scss' as *;
|
|
2
|
+
@use '../../style/util.scss' as *;
|
|
3
|
+
@use './css-var.scss' as *;
|
|
4
|
+
|
|
5
|
+
@include set-tree-table-var($ele);
|
|
6
|
+
|
|
7
|
+
.ele-tree-table-wrapper {
|
|
8
|
+
border-top: 1px solid eleVar('table', 'border-color');
|
|
9
|
+
border-right: 1px solid eleVar('table', 'border-color');
|
|
10
|
+
border-radius: eleVar('table', 'radius');
|
|
11
|
+
box-sizing: border-box;
|
|
12
|
+
position: relative;
|
|
13
|
+
overflow: hidden;
|
|
14
|
+
|
|
15
|
+
&::after,
|
|
16
|
+
&::before {
|
|
17
|
+
content: '';
|
|
18
|
+
position: absolute;
|
|
19
|
+
bottom: 0;
|
|
20
|
+
box-sizing: border-box;
|
|
21
|
+
pointer-events: none;
|
|
22
|
+
z-index: 5;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
&::after {
|
|
26
|
+
height: calc(1px + #{eleVar('table', 'radius')});
|
|
27
|
+
left: 0;
|
|
28
|
+
right: 0;
|
|
29
|
+
border-bottom: 1px solid eleVar('table', 'border-color');
|
|
30
|
+
border-bottom-right-radius: eleVar('table', 'radius');
|
|
31
|
+
border-bottom-left-radius: eleVar('table', 'radius');
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
&::before {
|
|
35
|
+
width: calc(1px + #{eleVar('table', 'radius')});
|
|
36
|
+
top: 0;
|
|
37
|
+
left: 0;
|
|
38
|
+
border-left: 1px solid eleVar('table', 'border-color');
|
|
39
|
+
border-bottom-left-radius: eleVar('table', 'radius');
|
|
40
|
+
border-top-left-radius: eleVar('table', 'radius');
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
/* 表格 */
|
|
45
|
+
.ele-tree-table {
|
|
46
|
+
color: eleVar('table', 'color');
|
|
47
|
+
font-size: eleVar('table', 'font-size');
|
|
48
|
+
line-height: eleVar('table', 'line-height');
|
|
49
|
+
box-sizing: border-box;
|
|
50
|
+
overflow: auto;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
.ele-tree-table-main {
|
|
54
|
+
min-width: max-content;
|
|
55
|
+
box-sizing: border-box;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
.ele-tree-table-row,
|
|
59
|
+
.ele-tree-table-cells {
|
|
60
|
+
display: flex;
|
|
61
|
+
box-sizing: border-box;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
/* 单元格 */
|
|
65
|
+
.ele-tree-table-cell {
|
|
66
|
+
padding: eleVar('table', 'padding');
|
|
67
|
+
background: eleVar('table', 'tr-bg');
|
|
68
|
+
border-left: 1px solid eleVar('table', 'border-color');
|
|
69
|
+
border-bottom: 1px solid eleVar('table', 'border-color');
|
|
70
|
+
transition: background-color $transition-base;
|
|
71
|
+
box-sizing: border-box;
|
|
72
|
+
overflow: hidden;
|
|
73
|
+
|
|
74
|
+
&:not(.is-tree-index) {
|
|
75
|
+
flex: 1;
|
|
76
|
+
text-overflow: ellipsis;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
&.is-tree-index {
|
|
80
|
+
flex-shrink: 0;
|
|
81
|
+
padding-left: 0;
|
|
82
|
+
padding-right: 0;
|
|
83
|
+
white-space: nowrap;
|
|
84
|
+
word-break: break-all;
|
|
85
|
+
text-align: center;
|
|
86
|
+
|
|
87
|
+
&.is-placeholder {
|
|
88
|
+
border-left: none;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
/* 表头 */
|
|
94
|
+
.ele-tree-table-header {
|
|
95
|
+
color: eleVar('table', 'th-color');
|
|
96
|
+
font-weight: eleVar('table', 'th-font-weight');
|
|
97
|
+
box-sizing: border-box;
|
|
98
|
+
position: sticky;
|
|
99
|
+
top: 0;
|
|
100
|
+
z-index: 4;
|
|
101
|
+
|
|
102
|
+
.ele-tree-table-cell {
|
|
103
|
+
background: eleVar('table', 'th-bg');
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
/* 主体 */
|
|
108
|
+
.ele-tree-table-row-body {
|
|
109
|
+
flex: 1;
|
|
110
|
+
box-sizing: border-box;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
/* 行鼠标移入状态 */
|
|
114
|
+
.ele-tree-table-cells:hover .ele-tree-table-cell,
|
|
115
|
+
.ele-tree-table-body .ele-tree-table-row > .ele-tree-table-cell:hover {
|
|
116
|
+
background: eleVar('table', 'tr-hover-bg');
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
.ele-tree-table-cell:hover + .ele-tree-table-row-body > .ele-tree-table-cells {
|
|
120
|
+
.ele-tree-table-cell {
|
|
121
|
+
background: eleVar('table', 'tr-hover-bg');
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
.ele-tree-table-cell {
|
|
126
|
+
&:has(+ .ele-tree-table-row-body > .ele-tree-table-cells:hover) {
|
|
127
|
+
background: eleVar('table', 'tr-hover-bg');
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
/* 空状态 */
|
|
132
|
+
.ele-tree-table-empty {
|
|
133
|
+
padding: eleVar('table', 'padding');
|
|
134
|
+
box-sizing: border-box;
|
|
135
|
+
text-align: center;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
/* 固定列 */
|
|
139
|
+
.ele-tree-table-cell.is-fixed-left,
|
|
140
|
+
.ele-tree-table-cell.is-fixed-right {
|
|
141
|
+
position: sticky;
|
|
142
|
+
z-index: 3;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
.ele-tree-table-cell.is-fixed-left {
|
|
146
|
+
left: 0;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
.ele-tree-table-cell.is-fixed-right {
|
|
150
|
+
right: 0;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
.ele-tree-table-cell.is-fixed-left-last,
|
|
154
|
+
.ele-tree-table-cell.is-fixed-right-first {
|
|
155
|
+
overflow: visible;
|
|
156
|
+
|
|
157
|
+
&::before {
|
|
158
|
+
content: '';
|
|
159
|
+
width: 10px;
|
|
160
|
+
position: absolute;
|
|
161
|
+
top: 0;
|
|
162
|
+
bottom: 0;
|
|
163
|
+
transition: box-shadow $transition-base;
|
|
164
|
+
pointer-events: none;
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
.ele-tree-table-cell.is-fixed-left-last::before {
|
|
169
|
+
right: -10px;
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
.ele-tree-table-cell.is-fixed-right-first::before {
|
|
173
|
+
left: -10px;
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
.ele-tree-table-wrapper {
|
|
177
|
+
&.is-ping-left .ele-tree-table-cell.is-fixed-left-last {
|
|
178
|
+
border-right-color: transparent;
|
|
179
|
+
|
|
180
|
+
&::before {
|
|
181
|
+
box-shadow: eleVar('table', 'fixed-left-shadow');
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
&.is-ping-right .ele-tree-table-cell.is-fixed-right-first {
|
|
186
|
+
border-left-color: transparent;
|
|
187
|
+
|
|
188
|
+
&::before {
|
|
189
|
+
box-shadow: eleVar('table', 'fixed-right-shadow');
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
/* 展开图标 */
|
|
195
|
+
.ele-tree-table-expand {
|
|
196
|
+
width: 16px;
|
|
197
|
+
height: 16px;
|
|
198
|
+
font-size: 12px;
|
|
199
|
+
vertical-align: -1px;
|
|
200
|
+
display: inline-flex;
|
|
201
|
+
align-items: center;
|
|
202
|
+
justify-content: center;
|
|
203
|
+
border-radius: eleVar('table', 'icon-radius');
|
|
204
|
+
transition: (color $transition-base, background-color $transition-base);
|
|
205
|
+
cursor: pointer;
|
|
206
|
+
|
|
207
|
+
& > .el-icon {
|
|
208
|
+
transition: all $transition-base;
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
&.is-collapse > .el-icon {
|
|
212
|
+
transform: rotate(-90deg);
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
&:hover {
|
|
216
|
+
background: eleVar('table', 'icon-hover-bg');
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
.ele-tree-table-row.is-collapse {
|
|
221
|
+
& > .ele-tree-table-row-body > .ele-tree-table-children {
|
|
222
|
+
display: none;
|
|
223
|
+
}
|
|
224
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { StyleValue } from '../ele-app/types';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* 树表格数据
|
|
5
|
+
*/
|
|
6
|
+
export interface TreeTableDataItem extends Record<string, any> {
|
|
7
|
+
/** key */
|
|
8
|
+
key: any;
|
|
9
|
+
/** 子级 */
|
|
10
|
+
children?: TreeTableDataItem[];
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* 树表格列配置
|
|
15
|
+
*/
|
|
16
|
+
export interface TreeTableColumn extends Record<string, any> {
|
|
17
|
+
/** key */
|
|
18
|
+
key?: string;
|
|
19
|
+
/** 标题 */
|
|
20
|
+
label?: string;
|
|
21
|
+
/** 属性名 */
|
|
22
|
+
prop?: string;
|
|
23
|
+
/** 样式 */
|
|
24
|
+
style?: StyleValue;
|
|
25
|
+
/** 类名 */
|
|
26
|
+
class?: string;
|
|
27
|
+
}
|
package/es/style/plus.scss
CHANGED
|
@@ -34,6 +34,7 @@
|
|
|
34
34
|
@use '../ele-segmented/style/index.scss' as segmented;
|
|
35
35
|
@use '../ele-split-panel/style/index.scss' as splitPanel;
|
|
36
36
|
@use '../ele-steps/style/index.scss' as steps;
|
|
37
|
+
@use '../ele-tab-bar/style/index.scss' as tabBar;
|
|
37
38
|
@use '../ele-tabs/style/index.scss' as tabs;
|
|
38
39
|
@use '../ele-table/style/index.scss' as table;
|
|
39
40
|
@use '../ele-table-select/style/index.scss' as tableSelect;
|
|
@@ -44,5 +45,6 @@
|
|
|
44
45
|
@use '../ele-tooltip/style/index.scss' as tooltip;
|
|
45
46
|
@use '../ele-tour/style/index.scss' as tour;
|
|
46
47
|
@use '../ele-tree-select/style/index.scss' as treeSelect;
|
|
48
|
+
@use '../ele-tree-table/style/index.scss' as treeTable;
|
|
47
49
|
@use '../ele-upload-list/style/index.scss' as uploadList;
|
|
48
50
|
@use '../ele-virtual-table/style/index.scss' as virtualTable;
|
|
@@ -620,6 +620,24 @@ $ele: map.deep-merge(
|
|
|
620
620
|
'finish-line-color': elVar('color-primary'),
|
|
621
621
|
'vertical-margin': 16px
|
|
622
622
|
),
|
|
623
|
+
'tab-bar': (
|
|
624
|
+
// 标签栏
|
|
625
|
+
'padding': 0,
|
|
626
|
+
'line-color': elVar('border-color', 'light'),
|
|
627
|
+
'height': 40px,
|
|
628
|
+
'space': 16px,
|
|
629
|
+
'font-size': elVar('font-size', 'base'),
|
|
630
|
+
'color': elVar('text-color', 'regular'),
|
|
631
|
+
'hover-color': elVar('color-primary'),
|
|
632
|
+
'hover-bg': transparent,
|
|
633
|
+
'active-color': elVar('color-primary'),
|
|
634
|
+
'active-bg': transparent,
|
|
635
|
+
'active-font-weight': normal,
|
|
636
|
+
'active-line-size': 2px,
|
|
637
|
+
'active-line-color': elVar('color-primary'),
|
|
638
|
+
'item-padding': 0 2px,
|
|
639
|
+
'item-radius': 0
|
|
640
|
+
),
|
|
623
641
|
'tab': (
|
|
624
642
|
// 标签页
|
|
625
643
|
'bg': elVar('bg-color'),
|
|
@@ -24,6 +24,7 @@
|
|
|
24
24
|
@use '../../ele-pro-table/style/css-var.scss' as *;
|
|
25
25
|
@use '../../ele-segmented/style/css-var.scss' as *;
|
|
26
26
|
@use '../../ele-steps/style/css-var.scss' as *;
|
|
27
|
+
@use '../../ele-tab-bar/style/css-var.scss' as *;
|
|
27
28
|
@use '../../ele-table/style/css-var.scss' as *;
|
|
28
29
|
@use '../../ele-table-select/style/css-var.scss' as *;
|
|
29
30
|
@use '../../ele-tabs/style/css-var.scss' as *;
|
|
@@ -33,6 +34,7 @@
|
|
|
33
34
|
@use '../../ele-toolbar/style/css-var.scss' as *;
|
|
34
35
|
@use '../../ele-tooltip/style/css-var.scss' as *;
|
|
35
36
|
@use '../../ele-tree-select/style/css-var.scss' as *;
|
|
37
|
+
@use '../../ele-tree-table/style/css-var.scss' as *;
|
|
36
38
|
@use '../../ele-upload-list/style/css-var.scss' as *;
|
|
37
39
|
@use '../../ele-virtual-table/style/css-var.scss' as *;
|
|
38
40
|
|
|
@@ -65,6 +67,7 @@
|
|
|
65
67
|
@include set-pro-table-var($var);
|
|
66
68
|
@include set-segmented-var($var);
|
|
67
69
|
@include set-step-var($var);
|
|
70
|
+
@include set-tab-bar-var($var);
|
|
68
71
|
@include set-table-var($var);
|
|
69
72
|
@include set-table-select-var($var);
|
|
70
73
|
@include set-tab-var($var);
|
|
@@ -74,6 +77,7 @@
|
|
|
74
77
|
@include set-toolbar-var($var);
|
|
75
78
|
@include set-tooltip-var($var);
|
|
76
79
|
@include set-tree-select-var($var);
|
|
80
|
+
@include set-tree-table-var($var);
|
|
77
81
|
@include set-upload-list-var($var);
|
|
78
82
|
@include set-virtual-table-var($var);
|
|
79
83
|
}
|