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
|
@@ -10,6 +10,68 @@ function _isSlot(s) {
|
|
|
10
10
|
return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !isVNode(s);
|
|
11
11
|
}
|
|
12
12
|
const sortableGroupName = "ProFormBuilderBodySortGroup";
|
|
13
|
+
const codeStringPrefix = "/*__PRO_FORM__*/";
|
|
14
|
+
function getItemTypeData(item, itemTypeData) {
|
|
15
|
+
var _a;
|
|
16
|
+
let itemType = item.type;
|
|
17
|
+
const divTag = (_a = item.props) == null ? void 0 : _a.is;
|
|
18
|
+
if (itemType === "div" && divTag) {
|
|
19
|
+
if (divTag === "tr") {
|
|
20
|
+
itemType = "tableRow";
|
|
21
|
+
} else if (divTag === "td") {
|
|
22
|
+
itemType = "tableCell";
|
|
23
|
+
} else if (divTag === "ele-table" || divTag === "EleTable") {
|
|
24
|
+
itemType = "table";
|
|
25
|
+
} else if (divTag === "el-carousel" || divTag === "ElCarousel") {
|
|
26
|
+
itemType = "carousel";
|
|
27
|
+
} else if (divTag === "el-carousel-item" || divTag === "ElCarouselItem") {
|
|
28
|
+
itemType = "carouselItem";
|
|
29
|
+
} else if (divTag === "el-icon" || divTag === "ElIcon") {
|
|
30
|
+
itemType = "icon";
|
|
31
|
+
} else if (divTag === "ele-admin-layout" || divTag === "EleAdminLayout") {
|
|
32
|
+
itemType = "adminLayout";
|
|
33
|
+
} else if (divTag === "el-alert" || divTag === "EleAlert") {
|
|
34
|
+
itemType = "alert";
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
const typeData = [...itemTypeData || [], ...defaultItemTypeData].find((d) => d.type === itemType);
|
|
38
|
+
return typeData;
|
|
39
|
+
}
|
|
40
|
+
function getComponentLegacyProps(item) {
|
|
41
|
+
const result = {};
|
|
42
|
+
const itemType = item.type;
|
|
43
|
+
if (itemType) {
|
|
44
|
+
const options = item.options;
|
|
45
|
+
if (options) {
|
|
46
|
+
if (["select", "multipleSelect", "radio", "radioButton", "checkbox", "checkboxButton", "cascader", "multipleCascader", "mention"].includes(itemType)) {
|
|
47
|
+
result.options = options;
|
|
48
|
+
} else if (["treeSelect", "treeMultipleSelect"].includes(itemType)) {
|
|
49
|
+
result.data = options;
|
|
50
|
+
} else if (["checkCard", "multipleCheckCard"].includes(itemType)) {
|
|
51
|
+
result.items = options;
|
|
52
|
+
} else if (itemType === "autocomplete") {
|
|
53
|
+
result.fetchSuggestions = options;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
if (item.label != null) {
|
|
57
|
+
if (["descriptionsItem", "carouselItem"].includes(itemType)) {
|
|
58
|
+
result.label = item.label;
|
|
59
|
+
} else if (["alert", "collapseItem", "descriptions"].includes(itemType)) {
|
|
60
|
+
result.title = item.label;
|
|
61
|
+
} else if (itemType === "card") {
|
|
62
|
+
result.header = item.label;
|
|
63
|
+
} else if (itemType === "image") {
|
|
64
|
+
result.alt = item.label;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
if (item.prop != null) {
|
|
68
|
+
if (["collapseItem", "carouselItem"].includes(itemType)) {
|
|
69
|
+
result.name = item.prop;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
return result;
|
|
74
|
+
}
|
|
13
75
|
function getRuleMessage(label, requiredMessage, placeholder) {
|
|
14
76
|
if (typeof requiredMessage === "string" && requiredMessage) {
|
|
15
77
|
return requiredMessage;
|
|
@@ -19,8 +81,25 @@ function getRuleMessage(label, requiredMessage, placeholder) {
|
|
|
19
81
|
}
|
|
20
82
|
return `${label ?? ""}必填`;
|
|
21
83
|
}
|
|
22
|
-
function
|
|
23
|
-
|
|
84
|
+
function getComponentRefName(item) {
|
|
85
|
+
const prop = item.prop;
|
|
86
|
+
if (prop == null || prop === "" || String(prop).trim() === "") {
|
|
87
|
+
return `${String(item.key)}Ref`;
|
|
88
|
+
}
|
|
89
|
+
return `${String(prop)}Ref`;
|
|
90
|
+
}
|
|
91
|
+
function getCodeResult(code, form, items, searchExpand, httpRequest, getProFormRefs) {
|
|
92
|
+
try {
|
|
93
|
+
return new Function("form", "items", "searchExpand", "httpRequest", "getProFormRefs", `return (${code})`)(form, items, searchExpand, httpRequest, getProFormRefs);
|
|
94
|
+
} catch (e) {
|
|
95
|
+
console.error(e);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
function isShowItem(item, form, items, searchExpand, editable) {
|
|
99
|
+
if (editable) {
|
|
100
|
+
return true;
|
|
101
|
+
}
|
|
102
|
+
if (item.prop == null && item.key == null) {
|
|
24
103
|
return false;
|
|
25
104
|
}
|
|
26
105
|
if (item.vIf != null) {
|
|
@@ -28,12 +107,7 @@ function isShowItem(item, form, items, searchExpand) {
|
|
|
28
107
|
return item.vIf(form, items, searchExpand);
|
|
29
108
|
}
|
|
30
109
|
if (typeof item.vIf === "string" && item.vIf.trim().length) {
|
|
31
|
-
|
|
32
|
-
return new Function("form", "items", "searchExpand", "formItems", "formData", `return (${item.vIf})`)(form, items, searchExpand, items, form);
|
|
33
|
-
} catch (e) {
|
|
34
|
-
console.error(e);
|
|
35
|
-
return false;
|
|
36
|
-
}
|
|
110
|
+
return getCodeResult(item.vIf, form, items, searchExpand);
|
|
37
111
|
}
|
|
38
112
|
if (item.vIf === false) {
|
|
39
113
|
return false;
|
|
@@ -41,49 +115,100 @@ function isShowItem(item, form, items, searchExpand) {
|
|
|
41
115
|
}
|
|
42
116
|
return true;
|
|
43
117
|
}
|
|
44
|
-
function translateJsCode(code,
|
|
118
|
+
function translateJsCode(code, form, items, searchExpand, httpRequest, getProFormRefs, getAndCacheCode) {
|
|
45
119
|
if (code != null) {
|
|
46
120
|
if (typeof code === "string") {
|
|
47
|
-
if (code.startsWith(
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
121
|
+
if (code.startsWith(codeStringPrefix)) {
|
|
122
|
+
const result = getCodeResult(code, form, items, searchExpand, httpRequest, getProFormRefs);
|
|
123
|
+
if (getAndCacheCode && typeof result === "function") {
|
|
124
|
+
return {
|
|
125
|
+
result: getAndCacheCode(code, result),
|
|
126
|
+
isCode: true
|
|
127
|
+
};
|
|
52
128
|
}
|
|
129
|
+
return {
|
|
130
|
+
result,
|
|
131
|
+
isCode: true
|
|
132
|
+
};
|
|
53
133
|
}
|
|
54
|
-
return
|
|
134
|
+
return {
|
|
135
|
+
result: code,
|
|
136
|
+
isCode: false
|
|
137
|
+
};
|
|
55
138
|
} else if (Array.isArray(code)) {
|
|
56
|
-
|
|
139
|
+
const arrayResult = [];
|
|
140
|
+
let arrayIsCode = false;
|
|
141
|
+
code.forEach((c) => {
|
|
142
|
+
const {
|
|
143
|
+
result,
|
|
144
|
+
isCode
|
|
145
|
+
} = translateJsCode(c, form, items, searchExpand, httpRequest, getProFormRefs, getAndCacheCode);
|
|
146
|
+
arrayResult.push(result);
|
|
147
|
+
if (isCode) {
|
|
148
|
+
arrayIsCode = true;
|
|
149
|
+
}
|
|
150
|
+
});
|
|
151
|
+
if (arrayIsCode) {
|
|
152
|
+
return {
|
|
153
|
+
result: arrayResult,
|
|
154
|
+
isCode: true
|
|
155
|
+
};
|
|
156
|
+
}
|
|
157
|
+
return {
|
|
158
|
+
result: code,
|
|
159
|
+
isCode: false
|
|
160
|
+
};
|
|
57
161
|
} else if (typeof code === "object") {
|
|
58
|
-
const
|
|
162
|
+
const objectResult = {};
|
|
163
|
+
let objectIsCode = false;
|
|
59
164
|
Object.keys(code).forEach((k) => {
|
|
60
|
-
|
|
165
|
+
const {
|
|
166
|
+
result,
|
|
167
|
+
isCode
|
|
168
|
+
} = translateJsCode(code[k], form, items, searchExpand, httpRequest, getProFormRefs, getAndCacheCode);
|
|
169
|
+
objectResult[k] = result;
|
|
170
|
+
if (isCode) {
|
|
171
|
+
objectIsCode = true;
|
|
172
|
+
}
|
|
61
173
|
});
|
|
62
|
-
|
|
174
|
+
if (objectIsCode) {
|
|
175
|
+
return {
|
|
176
|
+
result: objectResult,
|
|
177
|
+
isCode: true
|
|
178
|
+
};
|
|
179
|
+
}
|
|
180
|
+
return {
|
|
181
|
+
result: code,
|
|
182
|
+
isCode: false
|
|
183
|
+
};
|
|
63
184
|
}
|
|
64
185
|
}
|
|
65
|
-
return
|
|
186
|
+
return {
|
|
187
|
+
result: code,
|
|
188
|
+
isCode: false
|
|
189
|
+
};
|
|
66
190
|
}
|
|
67
191
|
function renderProFormItem(props) {
|
|
68
|
-
var _a, _b, _c;
|
|
192
|
+
var _a, _b, _c, _d;
|
|
69
193
|
const slots = props.slots || {};
|
|
70
|
-
const itemType = props.item.type;
|
|
71
194
|
const formData = props.model || {};
|
|
72
|
-
const
|
|
73
|
-
const
|
|
195
|
+
const typeData = getItemTypeData(props.item, props.itemTypeData);
|
|
196
|
+
const typeSlot = ((_a = props.item) == null ? void 0 : _a.type) ? slots[props.item.type] : void 0;
|
|
74
197
|
if (!typeSlot && !typeData) {
|
|
75
198
|
return;
|
|
76
199
|
}
|
|
77
200
|
const modelValue = props.item.prop == null ? void 0 : getValue(formData, props.item.prop);
|
|
78
201
|
const handleUpdateModelValue = (value) => {
|
|
79
202
|
const propName = props.item.prop;
|
|
80
|
-
props.updateItemValue
|
|
203
|
+
if (propName != null && props.updateItemValue) {
|
|
204
|
+
props.updateItemValue(propName, value);
|
|
205
|
+
}
|
|
81
206
|
};
|
|
82
207
|
const propsFunctionParams = {
|
|
83
208
|
item: props.item,
|
|
84
209
|
modelValue,
|
|
85
210
|
updateModelValue: handleUpdateModelValue,
|
|
86
|
-
isShowFormItem: (cItem) => isShowItem(cItem, formData, props.formItems || [], props.searchExpand),
|
|
211
|
+
isShowFormItem: (cItem) => isShowItem(cItem, formData, props.formItems || [], props.searchExpand, props.editable),
|
|
87
212
|
renderChildren: (cItem, cSortDisabled, cContainerSelectable) => renderProFormContent({
|
|
88
213
|
model: formData,
|
|
89
214
|
items: cItem.children,
|
|
@@ -100,8 +225,11 @@ function renderProFormItem(props) {
|
|
|
100
225
|
updateItemValue: props.updateItemValue,
|
|
101
226
|
updateItemsData: props.updateItemsData,
|
|
102
227
|
updateActiveItemKey: props.updateActiveItemKey,
|
|
103
|
-
|
|
104
|
-
itemTypeData: props.itemTypeData
|
|
228
|
+
getAndCacheCode: props.getAndCacheCode,
|
|
229
|
+
itemTypeData: props.itemTypeData,
|
|
230
|
+
httpRequest: props.httpRequest,
|
|
231
|
+
getProFormRefs: props.getProFormRefs,
|
|
232
|
+
slots
|
|
105
233
|
})
|
|
106
234
|
};
|
|
107
235
|
const slotProFormParams = {
|
|
@@ -113,6 +241,8 @@ function renderProFormItem(props) {
|
|
|
113
241
|
editable: props.editable,
|
|
114
242
|
activeItemKey: props.activeItemKey,
|
|
115
243
|
itemTypeData: props.itemTypeData,
|
|
244
|
+
httpRequest: props.httpRequest,
|
|
245
|
+
getProFormRefs: props.getProFormRefs,
|
|
116
246
|
updateItemValue: props.updateItemValue,
|
|
117
247
|
updateItemsData: props.updateItemsData,
|
|
118
248
|
updateActiveItemKey: props.updateActiveItemKey,
|
|
@@ -141,10 +271,10 @@ function renderProFormItem(props) {
|
|
|
141
271
|
});
|
|
142
272
|
}
|
|
143
273
|
if (!itemSlots.default) {
|
|
274
|
+
const csd = !(props.item.containerDraggable ?? !(typeData == null ? void 0 : typeData.sortDisabled));
|
|
144
275
|
const isRenderLabel = (typeData == null ? void 0 : typeData.renderLabelText) && props.item.label != null && props.item.label !== "";
|
|
145
|
-
const isRenderChildren = (!typeData || typeData.isContainer) && (!
|
|
146
|
-
|
|
147
|
-
if (isRenderLabel || isRenderChildren || isRenderOptions) {
|
|
276
|
+
const isRenderChildren = (!typeData || typeData.isContainer) && (!csd && props.editable || props.item.children && props.item.children.length);
|
|
277
|
+
if (isRenderLabel || isRenderChildren) {
|
|
148
278
|
itemSlots.default = () => {
|
|
149
279
|
const nodes = [];
|
|
150
280
|
if (isRenderLabel && props.item.label != null) {
|
|
@@ -161,14 +291,17 @@ function renderProFormItem(props) {
|
|
|
161
291
|
formItems: props.formItems,
|
|
162
292
|
searchExpand: props.searchExpand,
|
|
163
293
|
editable: props.editable,
|
|
164
|
-
sortDisabled:
|
|
294
|
+
sortDisabled: csd,
|
|
165
295
|
containerSelectable: !!(typeData == null ? void 0 : typeData.containerSelectable),
|
|
166
296
|
activeItemKey: props.activeItemKey,
|
|
167
297
|
updateItemValue: props.updateItemValue,
|
|
168
298
|
updateItemsData: props.updateItemsData,
|
|
169
299
|
updateActiveItemKey: props.updateActiveItemKey,
|
|
170
|
-
|
|
171
|
-
itemTypeData: props.itemTypeData
|
|
300
|
+
getAndCacheCode: props.getAndCacheCode,
|
|
301
|
+
itemTypeData: props.itemTypeData,
|
|
302
|
+
httpRequest: props.httpRequest,
|
|
303
|
+
getProFormRefs: props.getProFormRefs,
|
|
304
|
+
slots
|
|
172
305
|
});
|
|
173
306
|
if (contentNode) {
|
|
174
307
|
if (Array.isArray(contentNode)) {
|
|
@@ -179,16 +312,6 @@ function renderProFormItem(props) {
|
|
|
179
312
|
nodes.push(contentNode);
|
|
180
313
|
}
|
|
181
314
|
}
|
|
182
|
-
} else if (isRenderOptions && (typeData == null ? void 0 : typeData.optionsComponent)) {
|
|
183
|
-
const optionsComponent = typeData.optionsComponent;
|
|
184
|
-
(props.item.options || []).forEach((option) => {
|
|
185
|
-
var _a2;
|
|
186
|
-
const defaultProps = {
|
|
187
|
-
key: option.key ?? option.value
|
|
188
|
-
};
|
|
189
|
-
const userProps = (_a2 = typeData.optionsComponentProps) == null ? void 0 : _a2.call(typeData, option);
|
|
190
|
-
nodes.push(h(optionsComponent, userProps ? mergeProps(defaultProps, userProps) : defaultProps));
|
|
191
|
-
});
|
|
192
315
|
}
|
|
193
316
|
return nodes;
|
|
194
317
|
};
|
|
@@ -197,7 +320,7 @@ function renderProFormItem(props) {
|
|
|
197
320
|
}
|
|
198
321
|
const componentTag = (typeData == null ? void 0 : typeData.component) || "div";
|
|
199
322
|
const isDivTag = componentTag === "div" || componentTag === "td";
|
|
200
|
-
const componentPropsData = translateJsCode(props.item.props || {}, formData, props.formItems || [], props.searchExpand);
|
|
323
|
+
const componentPropsData = translateJsCode(props.item.props || {}, formData, props.formItems || [], props.searchExpand, props.httpRequest, props.getProFormRefs, props.getAndCacheCode).result;
|
|
201
324
|
const componentNode = typeSlot ? typeSlot({
|
|
202
325
|
item: props.item,
|
|
203
326
|
model: formData,
|
|
@@ -205,13 +328,15 @@ function renderProFormItem(props) {
|
|
|
205
328
|
updateValue: handleUpdateModelValue,
|
|
206
329
|
updatePropValue: props.updateItemValue,
|
|
207
330
|
proForm: slotProFormParams
|
|
208
|
-
}) : h((isDivTag ? (
|
|
331
|
+
}) : h((isDivTag ? (_b = props.item.props) == null ? void 0 : _b.is : void 0) || componentTag, mergeProps({
|
|
209
332
|
key: props.key
|
|
210
|
-
}, ((
|
|
333
|
+
}, getComponentLegacyProps(props.item), ((_c = typeData == null ? void 0 : typeData.defaultProps) == null ? void 0 : _c.call(typeData, propsFunctionParams)) || {}, isDivTag ? omit(componentPropsData, ["is"]) : componentPropsData, ((_d = typeData == null ? void 0 : typeData.reservedProps) == null ? void 0 : _d.call(typeData, propsFunctionParams)) || {}, {
|
|
334
|
+
ref: getComponentRefName(props.item)
|
|
335
|
+
}), itemSlots);
|
|
211
336
|
if ((typeData == null ? void 0 : typeData.isContainer) || props.item.itemType === "container" || props.item.itemType === "view") {
|
|
212
337
|
return componentNode;
|
|
213
338
|
}
|
|
214
|
-
const itemPropsData = translateJsCode(props.item.itemProps || {}, formData, props.formItems || [], props.searchExpand);
|
|
339
|
+
const itemPropsData = translateJsCode(props.item.itemProps || {}, formData, props.formItems || [], props.searchExpand, props.httpRequest, props.getProFormRefs, props.getAndCacheCode).result;
|
|
215
340
|
const labelWidth = itemPropsData.labelWidth;
|
|
216
341
|
const formItemLabelWidth = typeof labelWidth === "number" ? `${labelWidth}px` : labelWidth;
|
|
217
342
|
const formItemSlots = {};
|
|
@@ -224,7 +349,7 @@ function renderProFormItem(props) {
|
|
|
224
349
|
formItemSlots.default = () => componentNode;
|
|
225
350
|
const iRule = itemPropsData.rules;
|
|
226
351
|
const iRules = iRule ? Array.isArray(iRule) ? iRule : [iRule] : void 0;
|
|
227
|
-
const fRule = props.rules ? props.rules
|
|
352
|
+
const fRule = props.rules && props.item.prop ? getValue(props.rules, props.item.prop) : void 0;
|
|
228
353
|
const fRules = fRule ? Array.isArray(fRule) ? fRule : [fRule] : void 0;
|
|
229
354
|
const formItemRules = iRules || fRules || [];
|
|
230
355
|
const trigger = (typeData == null ? void 0 : typeData.requiredTrigger) ?? "change";
|
|
@@ -268,8 +393,11 @@ function renderProFormContent(props) {
|
|
|
268
393
|
updateItemValue: props.updateItemValue,
|
|
269
394
|
updateItemsData: props.updateItemsData,
|
|
270
395
|
updateActiveItemKey: props.updateActiveItemKey,
|
|
271
|
-
|
|
272
|
-
itemTypeData: props.itemTypeData
|
|
396
|
+
getAndCacheCode: props.getAndCacheCode,
|
|
397
|
+
itemTypeData: props.itemTypeData,
|
|
398
|
+
httpRequest: props.httpRequest,
|
|
399
|
+
getProFormRefs: props.getProFormRefs,
|
|
400
|
+
slots: omit(slots, ownSlots)
|
|
273
401
|
});
|
|
274
402
|
};
|
|
275
403
|
if (!editable) {
|
|
@@ -293,7 +421,7 @@ function renderProFormContent(props) {
|
|
|
293
421
|
const gridColProps = props.grid === true ? {
|
|
294
422
|
span: 12
|
|
295
423
|
} : props.grid;
|
|
296
|
-
const itemColProps = translateJsCode(item.colProps || {}, formData, props.formItems || [], props.searchExpand);
|
|
424
|
+
const itemColProps = translateJsCode(item.colProps || {}, formData, props.formItems || [], props.searchExpand, props.httpRequest, props.getProFormRefs, props.getAndCacheCode).result;
|
|
297
425
|
if (props.editable && !props.sortDisabled) {
|
|
298
426
|
let _slot;
|
|
299
427
|
nodes.push(createVNode(ElCol, mergeProps({
|
|
@@ -301,7 +429,7 @@ function renderProFormContent(props) {
|
|
|
301
429
|
}, gridColProps, itemColProps), _isSlot(_slot = getProFormItemNode(item, true, true)) ? _slot : {
|
|
302
430
|
default: () => [_slot]
|
|
303
431
|
}));
|
|
304
|
-
} else if (isShowItem(item, formData, props.formItems || [], props.searchExpand)) {
|
|
432
|
+
} else if (isShowItem(item, formData, props.formItems || [], props.searchExpand, props.editable)) {
|
|
305
433
|
let _slot2;
|
|
306
434
|
nodes.push(createVNode(ElCol, mergeProps({
|
|
307
435
|
"key": itemKey
|
|
@@ -312,11 +440,11 @@ function renderProFormContent(props) {
|
|
|
312
440
|
});
|
|
313
441
|
if (slots.contentExtra) {
|
|
314
442
|
let _slot3;
|
|
315
|
-
nodes.push(createVNode(ElCol, translateJsCode(props.contentExtraColProps || {}, formData, props.formItems || [], props.searchExpand), _isSlot(_slot3 = slots.contentExtra()) ? _slot3 : {
|
|
443
|
+
nodes.push(createVNode(ElCol, translateJsCode(props.contentExtraColProps || {}, formData, props.formItems || [], props.searchExpand, props.httpRequest, props.getProFormRefs, props.getAndCacheCode).result, _isSlot(_slot3 = slots.contentExtra()) ? _slot3 : {
|
|
316
444
|
default: () => [_slot3]
|
|
317
445
|
}));
|
|
318
446
|
}
|
|
319
|
-
return createVNode(ElRow, translateJsCode(props.rowProps || {}, formData, props.formItems || [], props.searchExpand), _isSlot(nodes) ? nodes : {
|
|
447
|
+
return createVNode(ElRow, translateJsCode(props.rowProps || {}, formData, props.formItems || [], props.searchExpand, props.httpRequest, props.getProFormRefs, props.getAndCacheCode).result, _isSlot(nodes) ? nodes : {
|
|
320
448
|
default: () => [nodes]
|
|
321
449
|
});
|
|
322
450
|
}
|
|
@@ -340,14 +468,18 @@ function renderProFormContent(props) {
|
|
|
340
468
|
}) : void 0])]);
|
|
341
469
|
};
|
|
342
470
|
const handleUpdateModelValue = (data) => {
|
|
343
|
-
props.updateItemsData
|
|
471
|
+
if (props.updateItemsData) {
|
|
472
|
+
props.updateItemsData(data, props.parentItem);
|
|
473
|
+
}
|
|
344
474
|
};
|
|
345
475
|
const handleContainerBuilderWrapperClick = (e) => {
|
|
346
476
|
var _a;
|
|
347
477
|
const parentItemKey = (_a = props.parentItem) == null ? void 0 : _a.key;
|
|
348
478
|
if (props.containerSelectable && parentItemKey != null) {
|
|
349
479
|
e.stopPropagation();
|
|
350
|
-
props.updateActiveItemKey
|
|
480
|
+
if (props.updateActiveItemKey) {
|
|
481
|
+
props.updateActiveItemKey(parentItemKey);
|
|
482
|
+
}
|
|
351
483
|
}
|
|
352
484
|
};
|
|
353
485
|
nodes.push(createVNode(VueDraggable, {
|
|
@@ -373,7 +505,7 @@ function renderProFormContent(props) {
|
|
|
373
505
|
}));
|
|
374
506
|
} else {
|
|
375
507
|
itemsData.forEach((item) => {
|
|
376
|
-
if (isShowItem(item, formData, props.formItems || [], props.searchExpand)) {
|
|
508
|
+
if (isShowItem(item, formData, props.formItems || [], props.searchExpand, props.editable)) {
|
|
377
509
|
const proFormItemNode = getProFormItemNode(item);
|
|
378
510
|
if (proFormItemNode) {
|
|
379
511
|
if (Array.isArray(proFormItemNode)) {
|
|
@@ -422,17 +554,27 @@ const ChildrenRender = /* @__PURE__ */ defineComponent({
|
|
|
422
554
|
const handleUpdateActiveItemKey = (activeKey) => {
|
|
423
555
|
emit("update:activeItemKey", activeKey);
|
|
424
556
|
};
|
|
425
|
-
return () =>
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
557
|
+
return () => {
|
|
558
|
+
var _a;
|
|
559
|
+
return renderProFormContent({
|
|
560
|
+
...omit(props, ["item"]),
|
|
561
|
+
items: props.items ?? ((_a = props.item) == null ? void 0 : _a.children),
|
|
562
|
+
// 兼容旧版
|
|
563
|
+
updateItemValue: props.updateItemValue ?? handleUpdateItemValue,
|
|
564
|
+
updateItemsData: props.updateItemsData ?? handleUpdateItemsData,
|
|
565
|
+
updateActiveItemKey: props.updateActiveItemKey ?? handleUpdateActiveItemKey,
|
|
566
|
+
slots: props.slots ?? slots
|
|
567
|
+
});
|
|
568
|
+
};
|
|
432
569
|
}
|
|
433
570
|
});
|
|
434
571
|
export {
|
|
435
572
|
ChildrenRender,
|
|
573
|
+
codeStringPrefix,
|
|
574
|
+
getCodeResult,
|
|
575
|
+
getComponentLegacyProps,
|
|
576
|
+
getComponentRefName,
|
|
577
|
+
getItemTypeData,
|
|
436
578
|
getRuleMessage,
|
|
437
579
|
isShowItem,
|
|
438
580
|
renderProFormContent,
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { ElFormInstance, ElFormItemProp } from '../ele-app/el';
|
|
2
|
+
import { ChildrenRenderInstance } from './components/render-util';
|
|
2
3
|
import { ProFormItemProps, ProFormItemKey } from './types';
|
|
3
4
|
|
|
4
5
|
declare const _default: import('vue').DefineComponent<{
|
|
@@ -47,6 +48,7 @@ declare const _default: import('vue').DefineComponent<{
|
|
|
47
48
|
editable: BooleanConstructor;
|
|
48
49
|
activeItemKey: import('vue').PropType<ProFormItemKey>;
|
|
49
50
|
itemTypeData: import('vue').PropType<import('./types').ProFormItemTypeData[]>;
|
|
51
|
+
httpRequest: (ObjectConstructor | FunctionConstructor)[];
|
|
50
52
|
model: ObjectConstructor;
|
|
51
53
|
rules: {
|
|
52
54
|
readonly type: import('vue').PropType<Partial<Record<string, import('element-plus/es/utils/typescript').Arrayable<import('element-plus').FormItemRule>>>>;
|
|
@@ -82,6 +84,7 @@ declare const _default: import('vue').DefineComponent<{
|
|
|
82
84
|
footerSlotExcludes: string[];
|
|
83
85
|
formItems: import('vue').ModelRef<ProFormItemProps[] | undefined, PropertyKey>;
|
|
84
86
|
formRef: import('vue').Ref<ElFormInstance>;
|
|
87
|
+
childrenRef: import('vue').Ref<ChildrenRenderInstance>;
|
|
85
88
|
formSearchExpand: import('vue').Ref<boolean>;
|
|
86
89
|
currentActiveKey: import('vue').Ref<string | number | symbol | undefined>;
|
|
87
90
|
footerStyleData: import('vue').ComputedRef<any>;
|
|
@@ -93,6 +96,8 @@ declare const _default: import('vue').DefineComponent<{
|
|
|
93
96
|
handleReset: () => void;
|
|
94
97
|
handleFormSubmit: (e: MouseEvent) => void;
|
|
95
98
|
handleFormValidate: (prop: ElFormItemProp, isValid: boolean, message: string) => void;
|
|
99
|
+
getProFormRefs: () => Record<string, any>;
|
|
100
|
+
getAndCacheCode: (code: string, codeResult: any) => any;
|
|
96
101
|
validate: (callback?: import('element-plus').FormValidateCallback | undefined) => import('element-plus').FormValidationResult;
|
|
97
102
|
validateField: (props?: import('element-plus/es/utils/typescript').Arrayable<import('element-plus').FormItemProp> | undefined, callback?: import('element-plus').FormValidateCallback | undefined) => import('element-plus').FormValidationResult;
|
|
98
103
|
resetFields: (props?: import('element-plus/es/utils/typescript').Arrayable<import('element-plus').FormItemProp> | undefined) => void;
|
|
@@ -152,6 +157,7 @@ declare const _default: import('vue').DefineComponent<{
|
|
|
152
157
|
editable: BooleanConstructor;
|
|
153
158
|
activeItemKey: import('vue').PropType<ProFormItemKey>;
|
|
154
159
|
itemTypeData: import('vue').PropType<import('./types').ProFormItemTypeData[]>;
|
|
160
|
+
httpRequest: (ObjectConstructor | FunctionConstructor)[];
|
|
155
161
|
model: ObjectConstructor;
|
|
156
162
|
rules: {
|
|
157
163
|
readonly type: import('vue').PropType<Partial<Record<string, import('element-plus/es/utils/typescript').Arrayable<import('element-plus').FormItemRule>>>>;
|
|
@@ -205,13 +211,13 @@ declare const _default: import('vue').DefineComponent<{
|
|
|
205
211
|
hideRequiredAsterisk: boolean;
|
|
206
212
|
scrollToError: boolean;
|
|
207
213
|
editable: boolean;
|
|
208
|
-
footerColProps: import('../ele-app/el').ElColProps;
|
|
209
|
-
submitText: string;
|
|
210
214
|
resetText: string;
|
|
215
|
+
submitText: string;
|
|
211
216
|
showSearchExpand: boolean;
|
|
217
|
+
searchExpand: boolean;
|
|
212
218
|
searchExpandText: string;
|
|
213
219
|
searchShrinkText: string;
|
|
214
|
-
|
|
220
|
+
footerColProps: import('../ele-app/el').ElColProps;
|
|
215
221
|
preventFormSubmit: boolean;
|
|
216
222
|
}, {}>;
|
|
217
223
|
export default _default;
|
package/es/ele-pro-form/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineComponent, useModel, ref, computed, watch, nextTick, resolveComponent, openBlock, createBlock, normalizeClass, withCtx, renderSlot, createVNode, createSlots, renderList, normalizeProps, guardReactiveProps } from "vue";
|
|
1
|
+
import { defineComponent, useModel, ref, computed, watch, onBeforeUnmount, nextTick, resolveComponent, openBlock, createBlock, normalizeClass, withCtx, renderSlot, createVNode, createSlots, renderList, normalizeProps, guardReactiveProps } from "vue";
|
|
2
2
|
import { ElForm } from "element-plus";
|
|
3
3
|
import { eachTree } from "../utils/core";
|
|
4
4
|
import { ChildrenRender, translateJsCode } from "./components/render-util";
|
|
@@ -34,18 +34,20 @@ const _sfc_main = defineComponent({
|
|
|
34
34
|
});
|
|
35
35
|
const formItems = useModel(props, "items");
|
|
36
36
|
const formRef = ref(null);
|
|
37
|
+
const childrenRef = ref(null);
|
|
37
38
|
const formSearchExpand = ref(!!props.searchExpand);
|
|
38
39
|
const currentActiveKey = ref(
|
|
39
40
|
props.activeItemKey
|
|
40
41
|
);
|
|
41
|
-
const footerStyleData = computed(
|
|
42
|
-
|
|
42
|
+
const footerStyleData = computed(() => {
|
|
43
|
+
return translateJsCode(
|
|
43
44
|
props.footerStyle || {},
|
|
44
45
|
props.model || {},
|
|
45
46
|
formItems.value || [],
|
|
46
|
-
formSearchExpand.value
|
|
47
|
-
|
|
48
|
-
|
|
47
|
+
formSearchExpand.value,
|
|
48
|
+
props.httpRequest
|
|
49
|
+
).result;
|
|
50
|
+
});
|
|
49
51
|
const updateSearchExpand = (expand) => {
|
|
50
52
|
formSearchExpand.value = expand;
|
|
51
53
|
if (props.searchExpand !== expand) {
|
|
@@ -86,6 +88,7 @@ const _sfc_main = defineComponent({
|
|
|
86
88
|
}
|
|
87
89
|
};
|
|
88
90
|
const handleReset = () => {
|
|
91
|
+
clearCodeCache();
|
|
89
92
|
emit("reset");
|
|
90
93
|
exposeMethods.clearValidate();
|
|
91
94
|
nextTick(() => {
|
|
@@ -119,12 +122,32 @@ const _sfc_main = defineComponent({
|
|
|
119
122
|
}
|
|
120
123
|
}
|
|
121
124
|
);
|
|
125
|
+
const getProFormRefs = () => {
|
|
126
|
+
var _a;
|
|
127
|
+
return ((_a = childrenRef.value) == null ? void 0 : _a.$refs) || {};
|
|
128
|
+
};
|
|
129
|
+
const codeCache = /* @__PURE__ */ new Map();
|
|
130
|
+
const getAndCacheCode = (code, codeResult) => {
|
|
131
|
+
const cacheResult = codeCache.get(code);
|
|
132
|
+
if (cacheResult) {
|
|
133
|
+
return cacheResult;
|
|
134
|
+
}
|
|
135
|
+
codeCache.set(code, codeResult);
|
|
136
|
+
return codeResult;
|
|
137
|
+
};
|
|
138
|
+
const clearCodeCache = () => {
|
|
139
|
+
codeCache.clear();
|
|
140
|
+
};
|
|
141
|
+
onBeforeUnmount(() => {
|
|
142
|
+
clearCodeCache();
|
|
143
|
+
});
|
|
122
144
|
return {
|
|
123
145
|
...exposeMethods,
|
|
124
146
|
slotExcludes,
|
|
125
147
|
footerSlotExcludes,
|
|
126
148
|
formItems,
|
|
127
149
|
formRef,
|
|
150
|
+
childrenRef,
|
|
128
151
|
formSearchExpand,
|
|
129
152
|
currentActiveKey,
|
|
130
153
|
footerStyleData,
|
|
@@ -135,7 +158,9 @@ const _sfc_main = defineComponent({
|
|
|
135
158
|
handleSubmit,
|
|
136
159
|
handleReset,
|
|
137
160
|
handleFormSubmit,
|
|
138
|
-
handleFormValidate
|
|
161
|
+
handleFormValidate,
|
|
162
|
+
getProFormRefs,
|
|
163
|
+
getAndCacheCode
|
|
139
164
|
};
|
|
140
165
|
}
|
|
141
166
|
});
|
|
@@ -174,6 +199,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
174
199
|
default: withCtx(() => [
|
|
175
200
|
renderSlot(_ctx.$slots, "topExtra"),
|
|
176
201
|
createVNode(_component_ChildrenRender, {
|
|
202
|
+
ref: "childrenRef",
|
|
177
203
|
model: _ctx.model,
|
|
178
204
|
items: _ctx.formItems,
|
|
179
205
|
rules: _ctx.rules,
|
|
@@ -185,6 +211,9 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
185
211
|
editable: _ctx.editable,
|
|
186
212
|
activeItemKey: _ctx.currentActiveKey,
|
|
187
213
|
itemTypeData: _ctx.itemTypeData,
|
|
214
|
+
httpRequest: _ctx.httpRequest,
|
|
215
|
+
getProFormRefs: _ctx.getProFormRefs,
|
|
216
|
+
getAndCacheCode: _ctx.getAndCacheCode,
|
|
188
217
|
onUpdateItemValue: _ctx.updateValue,
|
|
189
218
|
onUpdateItemsData: _ctx.handleUpdateItemsData,
|
|
190
219
|
"onUpdate:activeItemKey": _ctx.handleUpdateActiveItemKey
|
|
@@ -233,7 +262,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
233
262
|
]),
|
|
234
263
|
key: "0"
|
|
235
264
|
} : void 0
|
|
236
|
-
]), 1032, ["model", "items", "rules", "grid", "rowProps", "contentExtraColProps", "formItems", "searchExpand", "editable", "activeItemKey", "itemTypeData", "onUpdateItemValue", "onUpdateItemsData", "onUpdate:activeItemKey"]),
|
|
265
|
+
]), 1032, ["model", "items", "rules", "grid", "rowProps", "contentExtraColProps", "formItems", "searchExpand", "editable", "activeItemKey", "itemTypeData", "httpRequest", "getProFormRefs", "getAndCacheCode", "onUpdateItemValue", "onUpdateItemsData", "onUpdate:activeItemKey"]),
|
|
237
266
|
renderSlot(_ctx.$slots, "bottomExtra")
|
|
238
267
|
]),
|
|
239
268
|
_: 3
|
|
@@ -73,6 +73,8 @@ export declare const proFormProps: {
|
|
|
73
73
|
activeItemKey: PropType<ProFormItemKey>;
|
|
74
74
|
/** 组件类型数据 */
|
|
75
75
|
itemTypeData: PropType<ProFormItemTypeData[]>;
|
|
76
|
+
/** 远程数据源请求工具 */
|
|
77
|
+
httpRequest: (ObjectConstructor | FunctionConstructor)[];
|
|
76
78
|
model: ObjectConstructor;
|
|
77
79
|
rules: {
|
|
78
80
|
readonly type: import('vue').PropType<Partial<Record<string, import('element-plus/es/utils/typescript').Arrayable<import('element-plus').FormItemRule>>>>;
|
|
@@ -135,6 +137,18 @@ export declare const childrenRenderProps: {
|
|
|
135
137
|
containerSelectable: BooleanConstructor;
|
|
136
138
|
/** 直接传递插槽数据 */
|
|
137
139
|
slots: PropType<ProFormItemRenderSlots>;
|
|
140
|
+
/** 获取表单组件的组件引用数据方法 */
|
|
141
|
+
getProFormRefs: PropType<() => Record<string, any>>;
|
|
142
|
+
/** 获取并缓存代码解析结果方法 */
|
|
143
|
+
getAndCacheCode: PropType<(code: string, codeResult: any) => any>;
|
|
144
|
+
/** 更新表单数据属性值方法 */
|
|
145
|
+
updateItemValue: PropType<(prop: string, value: any) => void>;
|
|
146
|
+
/** 编辑模式更新表单项数据方法 */
|
|
147
|
+
updateItemsData: PropType<(items: ProFormItemProps[], parentItem?: ProFormItemProps) => void>;
|
|
148
|
+
/** 更新编辑模式选中项方法 */
|
|
149
|
+
updateActiveItemKey: PropType<(activeKey?: ProFormItemKey) => void>;
|
|
150
|
+
/** 兼容旧版 */
|
|
151
|
+
item: PropType<ProFormItemProps>;
|
|
138
152
|
model: ObjectConstructor;
|
|
139
153
|
rules: {
|
|
140
154
|
readonly type: import('vue').PropType<Partial<Record<string, import('element-plus/es/utils/typescript').Arrayable<import('element-plus').FormItemRule>>>>;
|
|
@@ -148,23 +162,17 @@ export declare const childrenRenderProps: {
|
|
|
148
162
|
items: PropType<ProFormItemProps[]>;
|
|
149
163
|
activeItemKey: PropType<ProFormItemKey>;
|
|
150
164
|
itemTypeData: PropType<ProFormItemTypeData[]>;
|
|
165
|
+
httpRequest: (ObjectConstructor | FunctionConstructor)[];
|
|
151
166
|
};
|
|
152
167
|
export type ChildrenRenderProps = ExtractPropTypes<typeof childrenRenderProps>;
|
|
153
168
|
/**
|
|
154
169
|
* 渲染表单项数据方法参数
|
|
155
170
|
*/
|
|
156
|
-
export
|
|
157
|
-
/** 更新表单数据属性值方法 */
|
|
158
|
-
updateItemValue: (prop: string, value: any) => void;
|
|
159
|
-
/** 编辑模式更新表单项数据方法 */
|
|
160
|
-
updateItemsData: (items: ProFormItemProps[], parentItem?: ProFormItemProps) => void;
|
|
161
|
-
/** 更新编辑模式选中项方法 */
|
|
162
|
-
updateActiveItemKey: (activeKey?: ProFormItemKey) => void;
|
|
163
|
-
}
|
|
171
|
+
export type RenderProFormContentProps = Omit<ChildrenRenderProps, 'item'>;
|
|
164
172
|
/**
|
|
165
173
|
* 渲染表单项组件方法参数
|
|
166
174
|
*/
|
|
167
|
-
export interface RenderProFormItemProps extends Pick<RenderProFormContentProps, 'model' | 'rules' | 'formItems' | 'searchExpand' | 'editable' | 'activeItemKey' | 'updateItemValue' | 'updateItemsData' | 'updateActiveItemKey' | '
|
|
175
|
+
export interface RenderProFormItemProps extends Pick<RenderProFormContentProps, 'model' | 'rules' | 'formItems' | 'searchExpand' | 'editable' | 'activeItemKey' | 'updateItemValue' | 'updateItemsData' | 'updateActiveItemKey' | 'getProFormRefs' | 'getAndCacheCode' | 'itemTypeData' | 'httpRequest' | 'slots'> {
|
|
168
176
|
/** 循环的 key */
|
|
169
177
|
key?: ProFormItemKey;
|
|
170
178
|
/** 表单项 */
|