fast-element-plus 1.0.20 → 1.0.21
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/dist/index.full.js +27739 -28664
- package/dist/index.full.js.map +1 -1
- package/dist/index.full.min.js +11042 -2
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +11033 -2
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +27730 -28662
- package/dist/index.full.mjs.map +1 -1
- package/es/_virtual/_rolldown/runtime.mjs +1 -0
- package/es/component.mjs +2 -2
- package/es/component.mjs.map +1 -1
- package/es/components/avatar/index.mjs +2 -2
- package/es/components/avatar/index.mjs.map +1 -1
- package/es/components/avatar/src/avatar.d.ts +10 -10
- package/es/components/avatar/src/avatar.mjs +2 -2
- package/es/components/avatar/src/avatar.mjs.map +1 -1
- package/es/components/button/index.mjs +2 -2
- package/es/components/button/index.mjs.map +1 -1
- package/es/components/button/src/button.d.ts +21 -17
- package/es/components/button/src/button.mjs +2 -2
- package/es/components/button/src/button.mjs.map +1 -1
- package/es/components/carNumber/index.mjs +2 -2
- package/es/components/carNumber/index.mjs.map +1 -1
- package/es/components/carNumber/src/carNumber.d.ts +36 -33
- package/es/components/carNumber/src/carNumber.mjs +2 -2
- package/es/components/carNumber/src/carNumber.mjs.map +1 -1
- package/es/components/carNumber/src/common.mjs +2 -2
- package/es/components/carNumber/src/common.mjs.map +1 -1
- package/es/components/contextMenu/index.mjs +2 -2
- package/es/components/contextMenu/index.mjs.map +1 -1
- package/es/components/contextMenu/src/contextMenu.mjs +2 -2
- package/es/components/contextMenu/src/contextMenu.mjs.map +1 -1
- package/es/components/contextMenu/src/contextMenu.type.mjs +0 -2
- package/es/components/dialog/index.mjs +2 -2
- package/es/components/dialog/index.mjs.map +1 -1
- package/es/components/dialog/src/dialog.d.ts +11 -11
- package/es/components/dialog/src/dialog.mjs +2 -2
- package/es/components/dialog/src/dialog.mjs.map +1 -1
- package/es/components/drawer/index.mjs +2 -2
- package/es/components/drawer/index.mjs.map +1 -1
- package/es/components/drawer/src/drawer.d.ts +10 -18
- package/es/components/drawer/src/drawer.mjs +2 -2
- package/es/components/drawer/src/drawer.mjs.map +1 -1
- package/es/components/form/index.mjs +2 -2
- package/es/components/form/index.mjs.map +1 -1
- package/es/components/form/src/form.d.ts +15 -15
- package/es/components/form/src/form.mjs +2 -2
- package/es/components/form/src/form.mjs.map +1 -1
- package/es/components/form/src/formItem.d.ts +14 -14
- package/es/components/form/src/formItem.mjs +2 -2
- package/es/components/form/src/formItem.mjs.map +1 -1
- package/es/components/form/utils/form.mjs +2 -2
- package/es/components/form/utils/form.mjs.map +1 -1
- package/es/components/formItemTip/index.mjs +2 -2
- package/es/components/formItemTip/index.mjs.map +1 -1
- package/es/components/formItemTip/src/formItemTip.mjs +2 -2
- package/es/components/formItemTip/src/formItemTip.mjs.map +1 -1
- package/es/components/icon/index.mjs +2 -2
- package/es/components/icon/index.mjs.map +1 -1
- package/es/components/icon/src/icon.mjs +2 -2
- package/es/components/icon/src/icon.mjs.map +1 -1
- package/es/components/iconSelector/index.mjs +2 -2
- package/es/components/iconSelector/index.mjs.map +1 -1
- package/es/components/iconSelector/src/iconSelector.mjs +2 -2
- package/es/components/iconSelector/src/iconSelector.mjs.map +1 -1
- package/es/components/image/index.mjs +2 -2
- package/es/components/image/index.mjs.map +1 -1
- package/es/components/image/src/image.d.ts +13 -13
- package/es/components/image/src/image.mjs +2 -2
- package/es/components/image/src/image.mjs.map +1 -1
- package/es/components/index.mjs +2 -2
- package/es/components/index.mjs.map +1 -1
- package/es/components/inputDialogPage/index.mjs +2 -2
- package/es/components/inputDialogPage/index.mjs.map +1 -1
- package/es/components/inputDialogPage/src/inputDialogPage.mjs +2 -2
- package/es/components/inputDialogPage/src/inputDialogPage.mjs.map +1 -1
- package/es/components/layoutGrid/index.mjs +2 -2
- package/es/components/layoutGrid/index.mjs.map +1 -1
- package/es/components/layoutGrid/src/layoutGrid.mjs +2 -2
- package/es/components/layoutGrid/src/layoutGrid.mjs.map +1 -1
- package/es/components/layoutGrid/src/layoutGrid.type.mjs +0 -2
- package/es/components/layoutGrid/src/layoutGridItem.mjs +2 -2
- package/es/components/layoutGrid/src/layoutGridItem.mjs.map +1 -1
- package/es/components/select/index.mjs +2 -2
- package/es/components/select/index.mjs.map +1 -1
- package/es/components/select/src/select.d.ts +21 -21
- package/es/components/select/src/select.mjs +2 -2
- package/es/components/select/src/select.mjs.map +1 -1
- package/es/components/select/src/select.type.mjs +0 -2
- package/es/components/select/src/selectOption.mjs +2 -2
- package/es/components/select/src/selectOption.mjs.map +1 -1
- package/es/components/selectPage/index.mjs +2 -2
- package/es/components/selectPage/index.mjs.map +1 -1
- package/es/components/selectPage/src/selectPage.d.ts +27 -27
- package/es/components/selectPage/src/selectPage.mjs +2 -2
- package/es/components/selectPage/src/selectPage.mjs.map +1 -1
- package/es/components/selectV2/index.mjs +2 -2
- package/es/components/selectV2/index.mjs.map +1 -1
- package/es/components/selectV2/src/selectV2.d.ts +19 -19
- package/es/components/selectV2/src/selectV2.mjs +2 -2
- package/es/components/selectV2/src/selectV2.mjs.map +1 -1
- package/es/components/table/images/artwork.mjs +2 -0
- package/es/components/table/images/artwork.mjs.map +1 -0
- package/es/components/table/images/notImage.mjs +2 -0
- package/es/components/table/images/notImage.mjs.map +1 -0
- package/es/components/table/index.mjs +2 -2
- package/es/components/table/index.mjs.map +1 -1
- package/es/components/table/src/page.type.mjs +2 -2
- package/es/components/table/src/page.type.mjs.map +1 -1
- package/es/components/table/src/table.d.ts +20 -4
- package/es/components/table/src/table.mjs +2 -2
- package/es/components/table/src/table.mjs.map +1 -1
- package/es/components/table/src/table.state.mjs +0 -2
- package/es/components/table/src/table.type.d.ts +1 -1
- package/es/components/table/src/table.type.mjs +2 -2
- package/es/components/table/src/table.type.mjs.map +1 -1
- package/es/components/table/src/tableColumn.mjs +2 -2
- package/es/components/table/src/tableColumn.mjs.map +1 -1
- package/es/components/table/src/tableColumnSettingDialog.mjs +2 -2
- package/es/components/table/src/tableColumnSettingDialog.mjs.map +1 -1
- package/es/components/table/src/tablePagination.mjs +2 -2
- package/es/components/table/src/tablePagination.mjs.map +1 -1
- package/es/components/table/src/tableSearchForm.mjs +2 -2
- package/es/components/table/src/tableSearchForm.mjs.map +1 -1
- package/es/components/table/src/tableSearchFormItem.mjs +2 -2
- package/es/components/table/src/tableSearchFormItem.mjs.map +1 -1
- package/es/components/table/src/useTable.mjs +2 -2
- package/es/components/table/src/useTable.mjs.map +1 -1
- package/es/components/table/utils/table.mjs +2 -2
- package/es/components/table/utils/table.mjs.map +1 -1
- package/es/components/tree/index.mjs +2 -2
- package/es/components/tree/index.mjs.map +1 -1
- package/es/components/tree/src/tree.d.ts +40 -40
- package/es/components/tree/src/tree.mjs +2 -2
- package/es/components/tree/src/tree.mjs.map +1 -1
- package/es/components/tree/src/tree.props.mjs +2 -2
- package/es/components/tree/src/tree.props.mjs.map +1 -1
- package/es/components/tree/src/tree.type.mjs +0 -2
- package/es/components/treeSelect/index.mjs +2 -2
- package/es/components/treeSelect/index.mjs.map +1 -1
- package/es/components/treeSelect/src/treeSelect.d.ts +60 -60
- package/es/components/treeSelect/src/treeSelect.mjs +2 -2
- package/es/components/treeSelect/src/treeSelect.mjs.map +1 -1
- package/es/components/upload/index.mjs +2 -2
- package/es/components/upload/index.mjs.map +1 -1
- package/es/components/upload/src/upload.d.ts +73 -73
- package/es/components/upload/src/upload.mjs +2 -2
- package/es/components/upload/src/upload.mjs.map +1 -1
- package/es/components/upload/src/useUpload.mjs +2 -2
- package/es/components/upload/src/useUpload.mjs.map +1 -1
- package/es/components/upload/utils/upload.mjs +2 -2
- package/es/components/upload/utils/upload.mjs.map +1 -1
- package/es/components/uploadImage/index.mjs +2 -2
- package/es/components/uploadImage/index.mjs.map +1 -1
- package/es/components/uploadImage/src/uploadImage.d.ts +69 -69
- package/es/components/uploadImage/src/uploadImage.mjs +2 -2
- package/es/components/uploadImage/src/uploadImage.mjs.map +1 -1
- package/es/components/uploadImages/index.mjs +2 -2
- package/es/components/uploadImages/index.mjs.map +1 -1
- package/es/components/uploadImages/src/uploadImages.d.ts +70 -70
- package/es/components/uploadImages/src/uploadImages.mjs +2 -2
- package/es/components/uploadImages/src/uploadImages.mjs.map +1 -1
- package/es/constants/index.mjs +1 -2
- package/es/constants/mime.mjs +2 -2
- package/es/constants/mime.mjs.map +1 -1
- package/es/constants/regex.mjs +2 -2
- package/es/constants/regex.mjs.map +1 -1
- package/es/directive.mjs +2 -2
- package/es/directive.mjs.map +1 -1
- package/es/directives/click-copy/index.mjs +2 -2
- package/es/directives/click-copy/index.mjs.map +1 -1
- package/es/directives/click-debounce/index.mjs +2 -2
- package/es/directives/click-debounce/index.mjs.map +1 -1
- package/es/directives/click-draggable/index.mjs +2 -2
- package/es/directives/click-draggable/index.mjs.map +1 -1
- package/es/directives/click-icon-copy/index.mjs +2 -2
- package/es/directives/click-icon-copy/index.mjs.map +1 -1
- package/es/directives/click-longpress/index.mjs +2 -2
- package/es/directives/click-longpress/index.mjs.map +1 -1
- package/es/directives/click-throttle/index.mjs +2 -2
- package/es/directives/click-throttle/index.mjs.map +1 -1
- package/es/directives/index.mjs +1 -2
- package/es/element-plus.mjs +2 -2
- package/es/element-plus.mjs.map +1 -1
- package/es/hooks/index.mjs +1 -2
- package/es/hooks/use-loading/index.mjs +2 -2
- package/es/hooks/use-loading/index.mjs.map +1 -1
- package/es/hooks/use-overlay/index.mjs +2 -2
- package/es/hooks/use-overlay/index.mjs.map +1 -1
- package/es/hooks/use-screenFull/index.mjs +2 -2
- package/es/hooks/use-screenFull/index.mjs.map +1 -1
- package/es/index.mjs +2 -2
- package/es/index.mjs.map +1 -1
- package/es/make-installer.mjs +2 -2
- package/es/make-installer.mjs.map +1 -1
- package/es/version.d.ts +1 -1
- package/es/version.mjs +2 -2
- package/es/version.mjs.map +1 -1
- package/lib/_virtual/_rolldown/runtime.js +1 -0
- package/lib/component.js +2 -2
- package/lib/component.js.map +1 -1
- package/lib/components/avatar/index.js +2 -2
- package/lib/components/avatar/index.js.map +1 -1
- package/lib/components/avatar/src/avatar.d.ts +10 -10
- package/lib/components/avatar/src/avatar.js +2 -2
- package/lib/components/avatar/src/avatar.js.map +1 -1
- package/lib/components/button/index.js +2 -2
- package/lib/components/button/index.js.map +1 -1
- package/lib/components/button/src/button.d.ts +21 -17
- package/lib/components/button/src/button.js +2 -2
- package/lib/components/button/src/button.js.map +1 -1
- package/lib/components/carNumber/index.js +2 -2
- package/lib/components/carNumber/index.js.map +1 -1
- package/lib/components/carNumber/src/carNumber.d.ts +36 -33
- package/lib/components/carNumber/src/carNumber.js +2 -2
- package/lib/components/carNumber/src/carNumber.js.map +1 -1
- package/lib/components/carNumber/src/common.js +2 -2
- package/lib/components/carNumber/src/common.js.map +1 -1
- package/lib/components/contextMenu/index.js +2 -2
- package/lib/components/contextMenu/index.js.map +1 -1
- package/lib/components/contextMenu/src/contextMenu.js +2 -2
- package/lib/components/contextMenu/src/contextMenu.js.map +1 -1
- package/lib/components/contextMenu/src/contextMenu.type.js +0 -2
- package/lib/components/dialog/index.js +2 -2
- package/lib/components/dialog/index.js.map +1 -1
- package/lib/components/dialog/src/dialog.d.ts +11 -11
- package/lib/components/dialog/src/dialog.js +2 -2
- package/lib/components/dialog/src/dialog.js.map +1 -1
- package/lib/components/drawer/index.js +2 -2
- package/lib/components/drawer/index.js.map +1 -1
- package/lib/components/drawer/src/drawer.d.ts +10 -18
- package/lib/components/drawer/src/drawer.js +2 -2
- package/lib/components/drawer/src/drawer.js.map +1 -1
- package/lib/components/form/index.js +2 -2
- package/lib/components/form/index.js.map +1 -1
- package/lib/components/form/src/form.d.ts +15 -15
- package/lib/components/form/src/form.js +2 -2
- package/lib/components/form/src/form.js.map +1 -1
- package/lib/components/form/src/formItem.d.ts +14 -14
- package/lib/components/form/src/formItem.js +2 -2
- package/lib/components/form/src/formItem.js.map +1 -1
- package/lib/components/form/utils/form.js +2 -2
- package/lib/components/form/utils/form.js.map +1 -1
- package/lib/components/formItemTip/index.js +2 -2
- package/lib/components/formItemTip/index.js.map +1 -1
- package/lib/components/formItemTip/src/formItemTip.js +2 -2
- package/lib/components/formItemTip/src/formItemTip.js.map +1 -1
- package/lib/components/icon/index.js +2 -2
- package/lib/components/icon/index.js.map +1 -1
- package/lib/components/icon/src/icon.js +2 -2
- package/lib/components/icon/src/icon.js.map +1 -1
- package/lib/components/iconSelector/index.js +2 -2
- package/lib/components/iconSelector/index.js.map +1 -1
- package/lib/components/iconSelector/src/iconSelector.js +2 -2
- package/lib/components/iconSelector/src/iconSelector.js.map +1 -1
- package/lib/components/image/index.js +2 -2
- package/lib/components/image/index.js.map +1 -1
- package/lib/components/image/src/image.d.ts +13 -13
- package/lib/components/image/src/image.js +2 -2
- package/lib/components/image/src/image.js.map +1 -1
- package/lib/components/index.js +2 -2
- package/lib/components/index.js.map +1 -1
- package/lib/components/inputDialogPage/index.js +2 -2
- package/lib/components/inputDialogPage/index.js.map +1 -1
- package/lib/components/inputDialogPage/src/inputDialogPage.js +2 -2
- package/lib/components/inputDialogPage/src/inputDialogPage.js.map +1 -1
- package/lib/components/layoutGrid/index.js +2 -2
- package/lib/components/layoutGrid/index.js.map +1 -1
- package/lib/components/layoutGrid/src/layoutGrid.js +2 -2
- package/lib/components/layoutGrid/src/layoutGrid.js.map +1 -1
- package/lib/components/layoutGrid/src/layoutGrid.type.js +0 -2
- package/lib/components/layoutGrid/src/layoutGridItem.js +2 -2
- package/lib/components/layoutGrid/src/layoutGridItem.js.map +1 -1
- package/lib/components/select/index.js +2 -2
- package/lib/components/select/index.js.map +1 -1
- package/lib/components/select/src/select.d.ts +21 -21
- package/lib/components/select/src/select.js +2 -2
- package/lib/components/select/src/select.js.map +1 -1
- package/lib/components/select/src/select.type.js +0 -2
- package/lib/components/select/src/selectOption.js +2 -2
- package/lib/components/select/src/selectOption.js.map +1 -1
- package/lib/components/selectPage/index.js +2 -2
- package/lib/components/selectPage/index.js.map +1 -1
- package/lib/components/selectPage/src/selectPage.d.ts +27 -27
- package/lib/components/selectPage/src/selectPage.js +2 -2
- package/lib/components/selectPage/src/selectPage.js.map +1 -1
- package/lib/components/selectV2/index.js +2 -2
- package/lib/components/selectV2/index.js.map +1 -1
- package/lib/components/selectV2/src/selectV2.d.ts +19 -19
- package/lib/components/selectV2/src/selectV2.js +2 -2
- package/lib/components/selectV2/src/selectV2.js.map +1 -1
- package/lib/components/table/images/artwork.js +2 -0
- package/lib/components/table/images/artwork.js.map +1 -0
- package/lib/components/table/images/notImage.js +2 -0
- package/lib/components/table/images/notImage.js.map +1 -0
- package/lib/components/table/index.js +2 -2
- package/lib/components/table/index.js.map +1 -1
- package/lib/components/table/src/page.type.js +2 -2
- package/lib/components/table/src/page.type.js.map +1 -1
- package/lib/components/table/src/table.d.ts +20 -4
- package/lib/components/table/src/table.js +2 -2
- package/lib/components/table/src/table.js.map +1 -1
- package/lib/components/table/src/table.state.js +0 -2
- package/lib/components/table/src/table.type.d.ts +1 -1
- package/lib/components/table/src/table.type.js +2 -2
- package/lib/components/table/src/table.type.js.map +1 -1
- package/lib/components/table/src/tableColumn.js +2 -2
- package/lib/components/table/src/tableColumn.js.map +1 -1
- package/lib/components/table/src/tableColumnSettingDialog.js +2 -2
- package/lib/components/table/src/tableColumnSettingDialog.js.map +1 -1
- package/lib/components/table/src/tablePagination.js +2 -2
- package/lib/components/table/src/tablePagination.js.map +1 -1
- package/lib/components/table/src/tableSearchForm.js +2 -2
- package/lib/components/table/src/tableSearchForm.js.map +1 -1
- package/lib/components/table/src/tableSearchFormItem.js +2 -2
- package/lib/components/table/src/tableSearchFormItem.js.map +1 -1
- package/lib/components/table/src/useTable.js +2 -2
- package/lib/components/table/src/useTable.js.map +1 -1
- package/lib/components/table/utils/table.js +2 -2
- package/lib/components/table/utils/table.js.map +1 -1
- package/lib/components/tree/index.js +2 -2
- package/lib/components/tree/index.js.map +1 -1
- package/lib/components/tree/src/tree.d.ts +40 -40
- package/lib/components/tree/src/tree.js +2 -2
- package/lib/components/tree/src/tree.js.map +1 -1
- package/lib/components/tree/src/tree.props.js +2 -2
- package/lib/components/tree/src/tree.props.js.map +1 -1
- package/lib/components/tree/src/tree.type.js +0 -2
- package/lib/components/treeSelect/index.js +2 -2
- package/lib/components/treeSelect/index.js.map +1 -1
- package/lib/components/treeSelect/src/treeSelect.d.ts +60 -60
- package/lib/components/treeSelect/src/treeSelect.js +2 -2
- package/lib/components/treeSelect/src/treeSelect.js.map +1 -1
- package/lib/components/upload/index.js +2 -2
- package/lib/components/upload/index.js.map +1 -1
- package/lib/components/upload/src/upload.d.ts +73 -73
- package/lib/components/upload/src/upload.js +2 -2
- package/lib/components/upload/src/upload.js.map +1 -1
- package/lib/components/upload/src/useUpload.js +2 -2
- package/lib/components/upload/src/useUpload.js.map +1 -1
- package/lib/components/upload/utils/upload.js +2 -2
- package/lib/components/upload/utils/upload.js.map +1 -1
- package/lib/components/uploadImage/index.js +2 -2
- package/lib/components/uploadImage/index.js.map +1 -1
- package/lib/components/uploadImage/src/uploadImage.d.ts +69 -69
- package/lib/components/uploadImage/src/uploadImage.js +2 -2
- package/lib/components/uploadImage/src/uploadImage.js.map +1 -1
- package/lib/components/uploadImages/index.js +2 -2
- package/lib/components/uploadImages/index.js.map +1 -1
- package/lib/components/uploadImages/src/uploadImages.d.ts +70 -70
- package/lib/components/uploadImages/src/uploadImages.js +2 -2
- package/lib/components/uploadImages/src/uploadImages.js.map +1 -1
- package/lib/constants/index.js +1 -2
- package/lib/constants/mime.js +2 -2
- package/lib/constants/mime.js.map +1 -1
- package/lib/constants/regex.js +2 -2
- package/lib/constants/regex.js.map +1 -1
- package/lib/directive.js +2 -2
- package/lib/directive.js.map +1 -1
- package/lib/directives/click-copy/index.js +2 -2
- package/lib/directives/click-copy/index.js.map +1 -1
- package/lib/directives/click-debounce/index.js +2 -2
- package/lib/directives/click-debounce/index.js.map +1 -1
- package/lib/directives/click-draggable/index.js +2 -2
- package/lib/directives/click-draggable/index.js.map +1 -1
- package/lib/directives/click-icon-copy/index.js +2 -2
- package/lib/directives/click-icon-copy/index.js.map +1 -1
- package/lib/directives/click-longpress/index.js +2 -2
- package/lib/directives/click-longpress/index.js.map +1 -1
- package/lib/directives/click-throttle/index.js +2 -2
- package/lib/directives/click-throttle/index.js.map +1 -1
- package/lib/directives/index.js +1 -2
- package/lib/element-plus.js +2 -2
- package/lib/element-plus.js.map +1 -1
- package/lib/hooks/index.js +1 -2
- package/lib/hooks/use-loading/index.js +2 -2
- package/lib/hooks/use-loading/index.js.map +1 -1
- package/lib/hooks/use-overlay/index.js +2 -2
- package/lib/hooks/use-overlay/index.js.map +1 -1
- package/lib/hooks/use-screenFull/index.js +2 -2
- package/lib/hooks/use-screenFull/index.js.map +1 -1
- package/lib/index.js +2 -2
- package/lib/index.js.map +1 -1
- package/lib/make-installer.js +2 -2
- package/lib/make-installer.js.map +1 -1
- package/lib/version.d.ts +1 -1
- package/lib/version.js +2 -2
- package/lib/version.js.map +1 -1
- package/package.json +7 -7
- package/es/components/contextMenu/src/contextMenu.type.mjs.map +0 -1
- package/es/components/layoutGrid/src/layoutGrid.type.mjs.map +0 -1
- package/es/components/select/src/select.type.mjs.map +0 -1
- package/es/components/table/images/artwork.png.mjs +0 -2
- package/es/components/table/images/artwork.png.mjs.map +0 -1
- package/es/components/table/images/notImage.png.mjs +0 -2
- package/es/components/table/images/notImage.png.mjs.map +0 -1
- package/es/components/table/src/table.state.mjs.map +0 -1
- package/es/components/tree/src/tree.type.mjs.map +0 -1
- package/es/constants/index.mjs.map +0 -1
- package/es/directives/index.mjs.map +0 -1
- package/es/hooks/index.mjs.map +0 -1
- package/lib/components/contextMenu/src/contextMenu.type.js.map +0 -1
- package/lib/components/layoutGrid/src/layoutGrid.type.js.map +0 -1
- package/lib/components/select/src/select.type.js.map +0 -1
- package/lib/components/table/images/artwork.png.js +0 -2
- package/lib/components/table/images/artwork.png.js.map +0 -1
- package/lib/components/table/images/notImage.png.js +0 -2
- package/lib/components/table/images/notImage.png.js.map +0 -1
- package/lib/components/table/src/table.state.js.map +0 -1
- package/lib/components/tree/src/tree.type.js.map +0 -1
- package/lib/constants/index.js.map +0 -1
- package/lib/directives/index.js.map +0 -1
- package/lib/hooks/index.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tableSearchFormItem.mjs","sources":["../../../../../packages/components/table/src/tableSearchFormItem.tsx"],"sourcesContent":["import { Fragment, defineComponent, h, inject, reactive, resolveComponent } from \"vue\";\nimport { ElOption } from \"element-plus\";\nimport { dateUtil, definePropType, makeSlots, useRender, withDefineType } from \"@fast-china/utils\";\nimport { isString } from \"lodash-unified\";\nimport { getTableDefaultSlots } from \"./table.type\";\nimport { enumMapKey, tableStateKey } from \"./useTable\";\nimport type { FaTableColumnCtx, FaTableDefaultSlotsResult, FaTableEnumColumnCtx } from \"./table.type\";\n\n/**\n * 已知默认支持的el组件:\n * \tel-input\n * \tel-input-number\n * \tel-select\n * \tel-select-v2\n * \tel-tree-select\n * \tel-cascader\n * \tel-date-picker\n * \tel-time-picker\n * \tel-time-select,\n * \tel-switch\n * 已知组件的默认props\n * clearable:el-input,el-input-number,el-select,el-select-v2,el-tree-select,el-cascader,el-date-picker,el-time-picker,el-time-select\n * filterable:el-select,el-select-v2,el-tree-select\n * placeholder-请输入:el-input,el-input-number\n * placeholder-请选择:el-select,el-select-v2,el-tree-select,el-cascader\n * defaultTime:el-date-picker\n * shortcuts:el-date-picker\n * options:el-select-v2,el-cascader\n * data:el-tree-select\n * startPlaceholder:\n * \t\tel-date-picker type in [\"datetimerange\", \"daterange\", \"monthrange\", \"yearrange\"]\n * \t\tel-time-picker isRange is true\n * endPlaceholder:\n * \t\tel-date-picker type in [\"datetimerange\", \"daterange\", \"monthrange\", \"yearrange\"]\n * \t\tel-time-picker isRange is true\n * rangeSeparator:\n * \t\tel-date-picker type in [\"datetimerange\", \"daterange\", \"monthrange\", \"yearrange\"]\n * \t\tel-time-picker isRange is true\n * unlinkPanels:el-date-picker type in [\"datetimerange\", \"daterange\", \"monthrange\", \"yearrange\"]\n * 后缀 -select Select -page Page -cascader Cascader 结尾的\n * \tplaceholder:请选择\n * 后缀 -input Input 结尾的\n * \tplaceholder:请输入\n */\n\nconst clearableEls = [\n\t\"el-input\",\n\t\"ELInput\",\n\t\"el-input-number\",\n\t\"ELInputNumber\",\n\t\"el-select\",\n\t\"ElSelect\",\n\t\"el-select-v2\",\n\t\"ElSelectV2\",\n\t\"el-tree-select\",\n\t\"ElTreeSelect\",\n\t\"el-cascader\",\n\t\"ElCascader\",\n\t\"el-date-picker\",\n\t\"ElDatePicker\",\n\t\"el-time-picker\",\n\t\"ElTimePicker\",\n\t\"el-time-select\",\n\t\"ElTimeSelect\",\n];\n\ntype FaTableSearchFormItemSlots = {\n\t[key: string]: FaTableDefaultSlotsResult & {\n\t\tcolumn?: FaTableColumnCtx;\n\t\tsearch?: () => void;\n\t};\n};\n\nconst filterableEls = [\"el-select\", \"ElSelect\", \"el-select-v2\", \"ElSelectV2\", \"el-tree-select\", \"ElTreeSelect\"];\n\nconst inputPlaceholderEls = [\"el-input\", \"ELInput\", \"el-input-number\", \"ELInputNumber\"];\n\nconst selectPlaceholderEls = [\"el-select\", \"ElSelect\", \"el-select-v2\", \"ElSelectV2\", \"el-tree-select\", \"ElTreeSelect\", \"el-cascader\", \"ElCascader\"];\n\nexport default defineComponent({\n\tname: \"FaTableSearchFormItem\",\n\tprops: {\n\t\t/** @description 列配置 */\n\t\tcolumn: {\n\t\t\ttype: definePropType<FaTableColumnCtx>(Object),\n\t\t\trequired: true,\n\t\t\t/** 这里的 default 不知道为什么,不写识别不出来类型 */\n\t\t\tdefault: {} as FaTableColumnCtx,\n\t\t},\n\t\t/** @description 搜索 */\n\t\tsearch: {\n\t\t\ttype: definePropType<() => void>(Function),\n\t\t\trequired: true,\n\t\t},\n\t},\n\tslots: makeSlots<FaTableSearchFormItemSlots>(),\n\tsetup(props, { slots }) {\n\t\tconst tableState = inject(tableStateKey);\n\t\tconst enumMap = inject(enumMapKey);\n\n\t\tconst state = reactive({\n\t\t\tenumDict: withDefineType<FaTableEnumColumnCtx[]>([]),\n\t\t});\n\n\t\tconst handleUpdateModelValue = (value: any): void => {\n\t\t\tif (isString(value)) {\n\t\t\t\t// 如果是字符串,则去除前后空格\n\t\t\t\tvalue = value.trim();\n\t\t\t}\n\t\t\ttableState.searchParam[props.column?.search?.key ?? props.column.prop] = value;\n\t\t};\n\n\t\tconst handleChange = (value: any): void => {\n\t\t\tprops.search();\n\t\t};\n\n\t\tconst handleDefaultProps = (): any => {\n\t\t\tconst search = props.column.search;\n\t\t\tconst defaultProps: any = {};\n\t\t\tif (clearableEls.includes(search?.el)) {\n\t\t\t\tdefaultProps.clearable = true;\n\t\t\t}\n\t\t\tif (filterableEls.includes(search?.el)) {\n\t\t\t\tdefaultProps.filterable = true;\n\t\t\t}\n\t\t\tif (inputPlaceholderEls.includes(search?.el)) {\n\t\t\t\tdefaultProps.placeholder = \"请输入\";\n\t\t\t}\n\t\t\tif (selectPlaceholderEls.includes(search?.el)) {\n\t\t\t\tdefaultProps.placeholder = \"请选择\";\n\t\t\t}\n\t\t\tif ([\"el-date-picker\", \"ElDatePicker\"].includes(search?.el)) {\n\t\t\t\tdefaultProps.unlinkPanels = true;\n\t\t\t\tif ([\"datetimerange\", \"daterange\", \"monthrange\", \"yearrange\"].includes(search?.props?.type)) {\n\t\t\t\t\tdefaultProps.defaultTime = dateUtil.getDefaultTime();\n\t\t\t\t\tdefaultProps.shortcuts = dateUtil.getShortcuts();\n\t\t\t\t\tdefaultProps.rangeSeparator = \"至\";\n\t\t\t\t\tdefaultProps.startPlaceholder = \"开始时间\";\n\t\t\t\t\tdefaultProps.endPlaceholder = \"结束时间\";\n\t\t\t\t} else {\n\t\t\t\t\tdefaultProps.defaultTime = dateUtil.getSimpleTime();\n\t\t\t\t\tdefaultProps.shortcuts = dateUtil.getSimpleShortcuts();\n\t\t\t\t\tdefaultProps.placeholder = \"请选择\";\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ([\"el-time-picker\", \"ElTimePicker\"].includes(search?.el) && search?.props?.isRange) {\n\t\t\t\tdefaultProps.rangeSeparator = \"至\";\n\t\t\t\tdefaultProps.startPlaceholder = \"开始时间\";\n\t\t\t\tdefaultProps.endPlaceholder = \"结束时间\";\n\t\t\t}\n\t\t\tif (\n\t\t\t\t[\"el-select\", \"ElSelect\", \"el-select-v2\", \"ElSelectV2\", \"el-cascader\", \"ElCascader\", \"el-tree-select\", \"ElTreeSelect\"].includes(\n\t\t\t\t\tsearch?.el\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\tlet enumData;\n\t\t\t\tif (props.column.enum && isString(props.column.enum)) {\n\t\t\t\t\tenumData = enumMap.get(props.column.enum);\n\t\t\t\t} else {\n\t\t\t\t\tenumData = enumMap.get(props.column.prop ?? props.column.search?.key);\n\t\t\t\t}\n\t\t\t\tenumData = enumData.filter((f: any) => f?.show !== false);\n\t\t\t\tstate.enumDict = enumData ?? [];\n\t\t\t}\n\t\t\tif ([\"el-select-v2\", \"ElSelectV2\", \"el-cascader\", \"ElCascader\"].includes(search?.el)) {\n\t\t\t\tdefaultProps.options = state.enumDict;\n\t\t\t}\n\t\t\tif ([\"el-tree-select\", \"ElTreeSelect\"].includes(search?.el)) {\n\t\t\t\tdefaultProps.data = state.enumDict;\n\t\t\t}\n\n\t\t\treturn defaultProps;\n\t\t};\n\n\t\tuseRender(() => (\n\t\t\t<Fragment>\n\t\t\t\t{props.column.search?.el &&\n\t\t\t\t\th(\n\t\t\t\t\t\tresolveComponent(props.column.search.el),\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t...handleDefaultProps(),\n\t\t\t\t\t\t\t...props.column.search.props,\n\t\t\t\t\t\t\tmodelValue: tableState.searchParam[props.column?.search?.key ?? props.column.prop],\n\t\t\t\t\t\t\t\"onUpdate:modelValue\": handleUpdateModelValue,\n\t\t\t\t\t\t\tonChange: handleChange,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tdefault: () =>\n\t\t\t\t\t\t\t\t[\"el-select\", \"ElSelect\"].includes(props.column.search.el)\n\t\t\t\t\t\t\t\t\t? state.enumDict.map((selData: any, index: number) =>\n\t\t\t\t\t\t\t\t\t\t\th(ElOption, {\n\t\t\t\t\t\t\t\t\t\t\t\tkey: index,\n\t\t\t\t\t\t\t\t\t\t\t\tlabel: selData[props.column.search.props?.label ?? \"label\"],\n\t\t\t\t\t\t\t\t\t\t\t\tvalue: selData[props.column.search.props?.value ?? \"value\"],\n\t\t\t\t\t\t\t\t\t\t\t\tdisabled: selData[props.column.search.props?.disabled ?? \"disabled\"],\n\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t: slots.default &&\n\t\t\t\t\t\t\t\t\t\tslots.default({\n\t\t\t\t\t\t\t\t\t\t\tcolumn: props.column,\n\t\t\t\t\t\t\t\t\t\t\tsearch: props.search,\n\t\t\t\t\t\t\t\t\t\t\t...getTableDefaultSlots(tableState),\n\t\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t}\n\t\t\t\t\t)}\n\t\t\t</Fragment>\n\t\t));\n\t},\n});\n"],"names":["clearableEls","filterableEls","inputPlaceholderEls","selectPlaceholderEls","TableSearchFormItem","name","props","column","type","definePropType","Object","required","default","search","Function","slots","makeSlots","setup","tableState","inject","tableStateKey","enumMap","enumMapKey","state","reactive","enumDict","withDefineType","handleUpdateModelValue","value","isString","trim","searchParam","key","prop","handleChange","handleDefaultProps","defaultProps","includes","el","clearable","filterable","placeholder","unlinkPanels","defaultTime","dateUtil","getDefaultTime","shortcuts","getShortcuts","rangeSeparator","startPlaceholder","endPlaceholder","getSimpleTime","getSimpleShortcuts","isRange","enumData","enum","get","filter","f","show","options","data","useRender","_createVNode","_Fragment","h","resolveComponent","modelValue","onChange","map","selData","index","ElOption","label","disabled","getTableDefaultSlots"],"mappings":"wbA6CA,MAAMA,EAAe,CACpB,WACA,UACA,kBACA,gBACA,YACA,WACA,eACA,aACA,iBACA,eACA,cACA,aACA,iBACA,eACA,iBACA,eACA,iBACA,gBAUKC,EAAgB,CAAC,YAAa,WAAY,eAAgB,aAAc,iBAAkB,gBAE1FC,EAAsB,CAAC,WAAY,UAAW,kBAAmB,iBAEjEC,EAAuB,CAAC,YAAa,WAAY,eAAgB,aAAc,iBAAkB,eAAgB,cAAe,cAEtIC,mBAA+B,CAC9BC,KAAM,wBACNC,MAAO,CAENC,OAAQ,CACPC,KAAMC,EAAiCC,QACvCC,UAAU,EAEVC,QAAS,CAAA,GAGVC,OAAQ,CACPL,KAAMC,EAA2BK,UACjCH,UAAU,IAGZI,MAAOC,IACPC,KAAAA,CAAMX,GAAOS,MAAEA,IACd,MAAMG,EAAaC,EAAOC,GACpBC,EAAUF,EAAOG,GAEjBC,EAAQC,EAAS,CACtBC,SAAUC,EAAuC,MAG5CC,EAA0BC,IAC3BC,EAASD,KAEZA,EAAQA,EAAME,QAEfZ,EAAWa,YAAYzB,EAAMC,QAAQM,QAAQmB,KAAO1B,EAAMC,OAAO0B,MAAQL,GAGpEM,EAAgBN,IACrBtB,EAAMO,UAGDsB,EAAqBA,KAC1B,MAAMtB,EAASP,EAAMC,OAAOM,OACtBuB,EAAoB,CAAA,EAgC1B,GA/BIpC,EAAaqC,SAASxB,GAAQyB,MACjCF,EAAaG,WAAY,GAEtBtC,EAAcoC,SAASxB,GAAQyB,MAClCF,EAAaI,YAAa,GAEvBtC,EAAoBmC,SAASxB,GAAQyB,MACxCF,EAAaK,YAAc,OAExBtC,EAAqBkC,SAASxB,GAAQyB,MACzCF,EAAaK,YAAc,OAExB,CAAC,iBAAkB,gBAAgBJ,SAASxB,GAAQyB,MACvDF,EAAaM,cAAe,EACxB,CAAC,gBAAiB,YAAa,aAAc,aAAaL,SAASxB,GAAQP,OAAOE,OACrF4B,EAAaO,YAAcC,EAASC,iBACpCT,EAAaU,UAAYF,EAASG,eAClCX,EAAaY,eAAiB,IAC9BZ,EAAaa,iBAAmB,OAChCb,EAAac,eAAiB,SAE9Bd,EAAaO,YAAcC,EAASO,gBACpCf,EAAaU,UAAYF,EAASQ,qBAClChB,EAAaK,YAAc,QAGzB,CAAC,iBAAkB,gBAAgBJ,SAASxB,GAAQyB,KAAOzB,GAAQP,OAAO+C,UAC7EjB,EAAaY,eAAiB,IAC9BZ,EAAaa,iBAAmB,OAChCb,EAAac,eAAiB,QAG9B,CAAC,YAAa,WAAY,eAAgB,aAAc,cAAe,aAAc,iBAAkB,gBAAgBb,SACtHxB,GAAQyB,IAER,CACD,IAAIgB,EAEHA,EADGhD,EAAMC,OAAOgD,MAAQ1B,EAASvB,EAAMC,OAAOgD,MACnClC,EAAQmC,IAAIlD,EAAMC,OAAOgD,MAEzBlC,EAAQmC,IAAIlD,EAAMC,OAAO0B,MAAQ3B,EAAMC,OAAOM,QAAQmB,KAElEsB,EAAWA,EAASG,OAAQC,IAAuB,IAAZA,GAAGC,MAC1CpC,EAAME,SAAW6B,GAAY,EAC9B,CAQA,MAPI,CAAC,eAAgB,aAAc,cAAe,cAAcjB,SAASxB,GAAQyB,MAChFF,EAAawB,QAAUrC,EAAME,UAE1B,CAAC,iBAAkB,gBAAgBY,SAASxB,GAAQyB,MACvDF,EAAayB,KAAOtC,EAAME,UAGpBW,GAGR0B,EAAU,IAAAC,EAAAC,EAAA,KAAA,CAEP1D,EAAMC,OAAOM,QAAQyB,IACrB2B,EACCC,EAAiB5D,EAAMC,OAAOM,OAAOyB,IACrC,IACIH,OACA7B,EAAMC,OAAOM,OAAOP,MACvB6D,WAAYjD,EAAWa,YAAYzB,EAAMC,QAAQM,QAAQmB,KAAO1B,EAAMC,OAAO0B,MAC7E,sBAAuBN,EACvByC,SAAUlC,GAEX,CACCtB,QAASA,IACR,CAAC,YAAa,YAAYyB,SAAS/B,EAAMC,OAAOM,OAAOyB,IACpDf,EAAME,SAAS4C,IAAI,CAACC,EAAcC,IAClCN,EAAEO,EAAU,CACXxC,IAAKuC,EACLE,MAAOH,EAAQhE,EAAMC,OAAOM,OAAOP,OAAOmE,OAAS,SACnD7C,MAAO0C,EAAQhE,EAAMC,OAAOM,OAAOP,OAAOsB,OAAS,SACnD8C,SAAUJ,EAAQhE,EAAMC,OAAOM,OAAOP,OAAOoE,UAAY,eAG1D3D,EAAMH,SACPG,EAAMH,QAAQ,CACbL,OAAQD,EAAMC,OACdM,OAAQP,EAAMO,UACX8D,EAAqBzD,SAMlC"}
|
|
1
|
+
{"version":3,"file":"tableSearchFormItem.mjs","names":["Fragment","defineComponent","h","inject","reactive","resolveComponent","_Fragment","createVNode","_createVNode","ElOption","dateUtil","definePropType","makeSlots","useRender","withDefineType","isString","getTableDefaultSlots","enumMapKey","tableStateKey","clearableEls","filterableEls","inputPlaceholderEls","selectPlaceholderEls","name","props","column","type","Object","required","default","search","Function","slots","setup","tableState","enumMap","state","enumDict","handleUpdateModelValue","value","trim","searchParam","key","prop","handleChange","handleDefaultProps","defaultProps","includes","el","clearable","filterable","placeholder","unlinkPanels","defaultTime","getDefaultTime","shortcuts","getShortcuts","rangeSeparator","startPlaceholder","endPlaceholder","getSimpleTime","getSimpleShortcuts","isRange","enumData","enum","get","filter","f","show","options","data","modelValue","onChange","map","selData","index","label","disabled"],"sources":["../../../../../packages/components/table/src/tableSearchFormItem.tsx"],"sourcesContent":["import { Fragment, defineComponent, h, inject, reactive, resolveComponent } from \"vue\";\nimport { ElOption } from \"element-plus\";\nimport { dateUtil, definePropType, makeSlots, useRender, withDefineType } from \"@fast-china/utils\";\nimport { isString } from \"lodash-unified\";\nimport { getTableDefaultSlots } from \"./table.type\";\nimport { enumMapKey, tableStateKey } from \"./useTable\";\nimport type { FaTableColumnCtx, FaTableDefaultSlotsResult, FaTableEnumColumnCtx } from \"./table.type\";\n\n/**\n * 已知默认支持的el组件:\n * \tel-input\n * \tel-input-number\n * \tel-select\n * \tel-select-v2\n * \tel-tree-select\n * \tel-cascader\n * \tel-date-picker\n * \tel-time-picker\n * \tel-time-select,\n * \tel-switch\n * 已知组件的默认props\n * clearable:el-input,el-input-number,el-select,el-select-v2,el-tree-select,el-cascader,el-date-picker,el-time-picker,el-time-select\n * filterable:el-select,el-select-v2,el-tree-select\n * placeholder-请输入:el-input,el-input-number\n * placeholder-请选择:el-select,el-select-v2,el-tree-select,el-cascader\n * defaultTime:el-date-picker\n * shortcuts:el-date-picker\n * options:el-select-v2,el-cascader\n * data:el-tree-select\n * startPlaceholder:\n * \t\tel-date-picker type in [\"datetimerange\", \"daterange\", \"monthrange\", \"yearrange\"]\n * \t\tel-time-picker isRange is true\n * endPlaceholder:\n * \t\tel-date-picker type in [\"datetimerange\", \"daterange\", \"monthrange\", \"yearrange\"]\n * \t\tel-time-picker isRange is true\n * rangeSeparator:\n * \t\tel-date-picker type in [\"datetimerange\", \"daterange\", \"monthrange\", \"yearrange\"]\n * \t\tel-time-picker isRange is true\n * unlinkPanels:el-date-picker type in [\"datetimerange\", \"daterange\", \"monthrange\", \"yearrange\"]\n * 后缀 -select Select -page Page -cascader Cascader 结尾的\n * \tplaceholder:请选择\n * 后缀 -input Input 结尾的\n * \tplaceholder:请输入\n */\n\nconst clearableEls = [\n\t\"el-input\",\n\t\"ELInput\",\n\t\"el-input-number\",\n\t\"ELInputNumber\",\n\t\"el-select\",\n\t\"ElSelect\",\n\t\"el-select-v2\",\n\t\"ElSelectV2\",\n\t\"el-tree-select\",\n\t\"ElTreeSelect\",\n\t\"el-cascader\",\n\t\"ElCascader\",\n\t\"el-date-picker\",\n\t\"ElDatePicker\",\n\t\"el-time-picker\",\n\t\"ElTimePicker\",\n\t\"el-time-select\",\n\t\"ElTimeSelect\",\n];\n\ntype FaTableSearchFormItemSlots = {\n\t[key: string]: FaTableDefaultSlotsResult & {\n\t\tcolumn?: FaTableColumnCtx;\n\t\tsearch?: () => void;\n\t};\n};\n\nconst filterableEls = [\"el-select\", \"ElSelect\", \"el-select-v2\", \"ElSelectV2\", \"el-tree-select\", \"ElTreeSelect\"];\n\nconst inputPlaceholderEls = [\"el-input\", \"ELInput\", \"el-input-number\", \"ELInputNumber\"];\n\nconst selectPlaceholderEls = [\"el-select\", \"ElSelect\", \"el-select-v2\", \"ElSelectV2\", \"el-tree-select\", \"ElTreeSelect\", \"el-cascader\", \"ElCascader\"];\n\nexport default defineComponent({\n\tname: \"FaTableSearchFormItem\",\n\tprops: {\n\t\t/** @description 列配置 */\n\t\tcolumn: {\n\t\t\ttype: definePropType<FaTableColumnCtx>(Object),\n\t\t\trequired: true,\n\t\t\t/** 这里的 default 不知道为什么,不写识别不出来类型 */\n\t\t\tdefault: {} as FaTableColumnCtx,\n\t\t},\n\t\t/** @description 搜索 */\n\t\tsearch: {\n\t\t\ttype: definePropType<() => void>(Function),\n\t\t\trequired: true,\n\t\t},\n\t},\n\tslots: makeSlots<FaTableSearchFormItemSlots>(),\n\tsetup(props, { slots }) {\n\t\tconst tableState = inject(tableStateKey);\n\t\tconst enumMap = inject(enumMapKey);\n\n\t\tconst state = reactive({\n\t\t\tenumDict: withDefineType<FaTableEnumColumnCtx[]>([]),\n\t\t});\n\n\t\tconst handleUpdateModelValue = (value: any): void => {\n\t\t\tif (isString(value)) {\n\t\t\t\t// 如果是字符串,则去除前后空格\n\t\t\t\tvalue = value.trim();\n\t\t\t}\n\t\t\ttableState.searchParam[props.column?.search?.key ?? props.column.prop] = value;\n\t\t};\n\n\t\tconst handleChange = (value: any): void => {\n\t\t\tprops.search();\n\t\t};\n\n\t\tconst handleDefaultProps = (): any => {\n\t\t\tconst search = props.column.search;\n\t\t\tconst defaultProps: any = {};\n\t\t\tif (clearableEls.includes(search?.el)) {\n\t\t\t\tdefaultProps.clearable = true;\n\t\t\t}\n\t\t\tif (filterableEls.includes(search?.el)) {\n\t\t\t\tdefaultProps.filterable = true;\n\t\t\t}\n\t\t\tif (inputPlaceholderEls.includes(search?.el)) {\n\t\t\t\tdefaultProps.placeholder = \"请输入\";\n\t\t\t}\n\t\t\tif (selectPlaceholderEls.includes(search?.el)) {\n\t\t\t\tdefaultProps.placeholder = \"请选择\";\n\t\t\t}\n\t\t\tif ([\"el-date-picker\", \"ElDatePicker\"].includes(search?.el)) {\n\t\t\t\tdefaultProps.unlinkPanels = true;\n\t\t\t\tif ([\"datetimerange\", \"daterange\", \"monthrange\", \"yearrange\"].includes(search?.props?.type)) {\n\t\t\t\t\tdefaultProps.defaultTime = dateUtil.getDefaultTime();\n\t\t\t\t\tdefaultProps.shortcuts = dateUtil.getShortcuts();\n\t\t\t\t\tdefaultProps.rangeSeparator = \"至\";\n\t\t\t\t\tdefaultProps.startPlaceholder = \"开始时间\";\n\t\t\t\t\tdefaultProps.endPlaceholder = \"结束时间\";\n\t\t\t\t} else {\n\t\t\t\t\tdefaultProps.defaultTime = dateUtil.getSimpleTime();\n\t\t\t\t\tdefaultProps.shortcuts = dateUtil.getSimpleShortcuts();\n\t\t\t\t\tdefaultProps.placeholder = \"请选择\";\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ([\"el-time-picker\", \"ElTimePicker\"].includes(search?.el) && search?.props?.isRange) {\n\t\t\t\tdefaultProps.rangeSeparator = \"至\";\n\t\t\t\tdefaultProps.startPlaceholder = \"开始时间\";\n\t\t\t\tdefaultProps.endPlaceholder = \"结束时间\";\n\t\t\t}\n\t\t\tif (\n\t\t\t\t[\"el-select\", \"ElSelect\", \"el-select-v2\", \"ElSelectV2\", \"el-cascader\", \"ElCascader\", \"el-tree-select\", \"ElTreeSelect\"].includes(\n\t\t\t\t\tsearch?.el\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\tlet enumData;\n\t\t\t\tif (props.column.enum && isString(props.column.enum)) {\n\t\t\t\t\tenumData = enumMap.get(props.column.enum);\n\t\t\t\t} else {\n\t\t\t\t\tenumData = enumMap.get(props.column.prop ?? props.column.search?.key);\n\t\t\t\t}\n\t\t\t\tenumData = enumData.filter((f: any) => f?.show !== false);\n\t\t\t\tstate.enumDict = enumData ?? [];\n\t\t\t}\n\t\t\tif ([\"el-select-v2\", \"ElSelectV2\", \"el-cascader\", \"ElCascader\"].includes(search?.el)) {\n\t\t\t\tdefaultProps.options = state.enumDict;\n\t\t\t}\n\t\t\tif ([\"el-tree-select\", \"ElTreeSelect\"].includes(search?.el)) {\n\t\t\t\tdefaultProps.data = state.enumDict;\n\t\t\t}\n\n\t\t\treturn defaultProps;\n\t\t};\n\n\t\tuseRender(() => (\n\t\t\t<Fragment>\n\t\t\t\t{props.column.search?.el &&\n\t\t\t\t\th(\n\t\t\t\t\t\tresolveComponent(props.column.search.el),\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t...handleDefaultProps(),\n\t\t\t\t\t\t\t...props.column.search.props,\n\t\t\t\t\t\t\tmodelValue: tableState.searchParam[props.column?.search?.key ?? props.column.prop],\n\t\t\t\t\t\t\t\"onUpdate:modelValue\": handleUpdateModelValue,\n\t\t\t\t\t\t\tonChange: handleChange,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tdefault: () =>\n\t\t\t\t\t\t\t\t[\"el-select\", \"ElSelect\"].includes(props.column.search.el)\n\t\t\t\t\t\t\t\t\t? state.enumDict.map((selData: any, index: number) =>\n\t\t\t\t\t\t\t\t\t\t\th(ElOption, {\n\t\t\t\t\t\t\t\t\t\t\t\tkey: index,\n\t\t\t\t\t\t\t\t\t\t\t\tlabel: selData[props.column.search.props?.label ?? \"label\"],\n\t\t\t\t\t\t\t\t\t\t\t\tvalue: selData[props.column.search.props?.value ?? \"value\"],\n\t\t\t\t\t\t\t\t\t\t\t\tdisabled: selData[props.column.search.props?.disabled ?? \"disabled\"],\n\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t: slots.default &&\n\t\t\t\t\t\t\t\t\t\tslots.default({\n\t\t\t\t\t\t\t\t\t\t\tcolumn: props.column,\n\t\t\t\t\t\t\t\t\t\t\tsearch: props.search,\n\t\t\t\t\t\t\t\t\t\t\t...getTableDefaultSlots(tableState),\n\t\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t}\n\t\t\t\t\t)}\n\t\t\t</Fragment>\n\t\t));\n\t},\n});\n"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{
|
|
2
|
-
//# sourceMappingURL=useTable.mjs.map
|
|
1
|
+
import{getTableDefaultSlots as a}from"./table.type.mjs";import{tableUtil as e}from"../utils/table.mjs";import{clickUtil as t,consoleError as r,execFunction as o}from"@fast-china/utils";import{computed as s,nextTick as n,provide as l,reactive as i,ref as c,watch as p}from"vue";import{dayjs as h,useGlobalSize as g}from"element-plus";import{isArray as u,isFunction as m}from"lodash-unified";var d=Symbol("tableState"),b=Symbol("enumMap"),P=(P,f,C)=>{const w=g(),D=c(),S=c(),_=i(new Map);l(b,_);const y=i({loading:!1,loadingText:"加载中...",orgColumns:[],tableColumns:s(()=>y.orgColumns.filter(a=>a.prop&&!a.pureSearch)),searchColumns:s(()=>y.orgColumns.filter(a=>a.pureSearch||a.search).sort((a,e)=>a.search?.order-e.search?.order)),spanColumns:s(()=>[...y.orgColumns.filter(a=>a.spanProp).map(a=>({prop:a?.prop,spanProp:a?.spanProp})),...P.props.span?[{prop:"__table-index",spanProp:P.props.span},{prop:"__table-selection",spanProp:P.props.span},{prop:"__table-operation",spanProp:P.props.span}]:[]]),tableData:[],tableSpanData:s(()=>{if(y.spanColumns?.length>0&&y.tableData?.length>0){const a=[];y.spanColumns.forEach(e=>{a[e.prop]=new Array(y.tableData.length).fill(1,0,1).fill(0,1),a[`${e.prop}-index`]=0});for(let e=1;e<y.tableData.length;e++)y.spanColumns.forEach(t=>{y.tableData[e][t.spanProp]===y.tableData[e-1][t.spanProp]?a[t.prop][a[`${t.prop}-index`]]++:(a[`${t.prop}-index`]=e,a[t.prop][e]=1)});return a}return[]}),tablePagination:{pageIndex:1,pageSize:20,totalRows:0},initParam:{},searchParam:{},searchValueUpdate:"",searchForm:P.searchForm,selected:!1,selectedList:[],selectedListIds:s(()=>y.selectedList.map(a=>m(P.rowKey)?P.rowKey(a):a[P.rowKey])),indeterminateSelectedListIds:[],responseConfig:void 0,operationColumnWidth:s(()=>{const a=y.autoColumnWidth.find(a=>"__table-operation"===a.prop);if(a)return`${a.width}px`;switch(w.value){case"large":case"default":return"54px";case"small":return"42px";default:return"auto"}}),imagePreview:!1,previewList:[],tableWidth:void 0,tableHeight:void 0,autoColumnWidth:[]});l(d,y);const M=()=>{y.loading=!0,y.loadingText="加载中...",y.autoColumnWidth=[];const a=y.tableColumns.filter(a=>a.autoWidth);if(f?.operation&&a.push({prop:"__table-operation"}),a?.length>0){const e="default"===w.value?25:17;n(()=>{const t=document.querySelector(`.fa-table__${P.tableKey}`);t&&a.forEach(a=>{const r=t.querySelector(`.__fa-table__auto-width-column__cell-header__${a?.prop}`),o=t.querySelectorAll(`.__fa-table__auto-width-column__cell__${a?.prop}`);let s=0;r&&(s=Math.ceil(r.scrollWidth)+e,a?.sortable&&(s+=24)),o.forEach(a=>{const t=Math.ceil(a.scrollWidth)+e;t>s&&(s=t)});const n=y.autoColumnWidth.find(e=>e.prop===a?.prop);n?n.width=Math.max(n.width,s):y.autoColumnWidth.push({prop:a?.prop,width:s})})})}y.loading=!1},x=a=>{if(P.treeData){const e=[];return a.forEach(a=>{const t=a[P.props.children];u(t)?t.forEach(t=>e.push({...a,...t})):e.push({...a,...t||{}})}),e}return a},k=()=>{const a={...y.searchParam,...P.pagination?y.tablePagination:{}};return delete a.totalRows,a},Y=async()=>{if(y.loading=!0,y.loadingText="加载中...",P.requestApi){const e=k();C("refresh",e);let t=[];try{const a=await P.requestApi(e);if(P.dataCallback&&P.dataCallback(a),P.pagination){const e=a;t=e.rows,Object.assign(y.tablePagination,{pageIndex:e.pageIndex,pageSize:e.pageSize,totalRows:e.totalRows})}else t=a,Object.assign(y.tablePagination,{pageIndex:1,pageSize:0,totalRows:t.length});y.tableData=x(t)}catch(a){r("FaTable",a),y.tableData=[]}finally{y.loading=!1}}else{C("refresh",{searchValue:y.searchParam.searchValue});let a=x(P.data);if(a=a.filter(a=>!y.searchParam.searchValue||y.tableColumns.some(e=>a[e.prop]?.toString()?.toLowerCase().includes(y.searchParam.searchValue?.toLowerCase()))),y.searchParam.sortList?.length>0&&(a=a.sort(e.arrayDynamicSort(y.searchParam.sortList))),P.pagination){Object.assign(y.tablePagination,{totalRows:a.length});const e=(y.tablePagination.pageIndex-1)*y.tablePagination.pageSize,t=e+y.tablePagination.pageSize;y.tableData=a.slice(e,t)}else y.tableData=a,Object.assign(y.tablePagination,{pageIndex:1,pageSize:0,totalRows:a.length});y.loading=!1}M()},z=()=>{let a=P.columns?P.columns:[];a.forEach(a=>{(a.pureSearch||a.search)&&(a.search.key??=a.prop,a.search.label??=a.label,a.search.defaultValue&&(y.searchParam[a.search.key]=a.search.defaultValue))}),a=a.sort((a,e)=>a?.order-e?.order),y.orgColumns=e.flatColumns(a,_)},F=()=>{if(P.hideSearchTime)y.searchParam.searchTimeList=void 0;else{const a=new Date,e=new Date;if(P.futureSearchTime)switch(P.dataSearchRange){case"Past1D":a.setDate(a.getDate()+1);break;case"Past3D":a.setDate(a.getDate()+3);break;case"Past1W":a.setDate(a.getDate()+7);break;case"Past1M":a.setMonth(a.getMonth()+1);break;case"Past3M":a.setMonth(a.getMonth()+3);break;case"Past6M":a.setMonth(a.getMonth()+6);break;case"Past1Y":a.setFullYear(a.getFullYear()+1);break;case"Past3Y":a.setFullYear(a.getFullYear()+3)}else switch(P.dataSearchRange){case"Past1D":e.setDate(e.getDate()-1);break;case"Past3D":e.setDate(e.getDate()-3);break;case"Past1W":e.setDate(e.getDate()-7);break;case"Past1M":e.setMonth(e.getMonth()-1);break;case"Past3M":e.setMonth(e.getMonth()-3);break;case"Past6M":e.setMonth(e.getMonth()-6);break;case"Past1Y":e.setFullYear(e.getFullYear()-1);break;case"Past3Y":e.setFullYear(e.getFullYear()-3)}y.searchParam.searchTimeList=[h(e).format("YYYY-MM-DD 00:00:00"),h(a).format("YYYY-MM-DD 23:59:59")]}},R=async()=>{y.tablePagination.pageIndex=1,(()=>{const a={};for(const e in y.searchParam)y.searchParam[e]||!1===y.searchParam[e]||0===y.searchParam[e]?a[e]=y.searchParam[e]:y.searchParam[e]||delete y.searchParam[e];Object.assign(y.searchParam,a)})(),await Y()},W=async()=>{y.orgColumns=[],y.autoColumnWidth=[],y.tableData=[],await t.debounceAsync(async()=>{z(),await R()},300)};return p(()=>P.tableKey,async()=>{await W()}),p(()=>P.searchForm,a=>{y.searchForm=a}),{_globalSize:w,state:y,elementRef:D,tableRef:S,handleTableColumnAutoWidth:M,getRequestParam:k,loadTableColumns:z,handleSizeChange:a=>{y.tablePagination.pageIndex=1,y.tablePagination.pageSize=a,C("sizeChange",a),C("paginationChange",1,a),Y()},handlePaginationChange:a=>{y.tablePagination.pageIndex=a,C("sizeChange",y.tablePagination.pageSize),C("paginationChange",a,y.tablePagination.pageSize),Y()},defaultSearchTime:F,tableSearch:R,tableReset:async()=>{y.tablePagination.pageIndex=1,y.searchParam={},F(),Object.keys(y.initParam??{}).forEach(a=>{y.searchParam[a]=y.initParam[a]}),C("reset",y.searchParam),await Y()},doRender:W,doLoading:(a,e="加载中...")=>{y.loading=!0,y.loadingText=e,o(a).then().catch(a=>{r("FaTable",a)}).finally(()=>{y.loading=!1})},handleCustomCellClick:(e,{row:t,column:r,$index:o})=>{C("customCellClick",e,{row:t,column:r,$index:o,...a(y)})}}};export{b as enumMapKey,d as tableStateKey,P as useTable};
|
|
2
|
+
//# sourceMappingURL=useTable.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTable.mjs","sources":["../../../../../packages/components/table/src/useTable.ts"],"sourcesContent":["import { computed, nextTick, provide, reactive, ref, watch } from \"vue\";\nimport { dayjs, useGlobalSize } from \"element-plus\";\nimport { clickUtil, consoleError, execFunction, type makeSlots } from \"@fast-china/utils\";\nimport { isArray, isFunction } from \"lodash-unified\";\nimport { tableUtil } from \"../utils/table\";\nimport { getTableDefaultSlots } from \"./table.type\";\nimport type { PagedInput, PagedResult } from \"./page.type\";\nimport type { FaTableSlots, faTableEmits, faTableProps } from \"./table\";\nimport type { FaTableState } from \"./table.state\";\nimport type { FaTableColumnCtx, FaTableEnumColumnCtx } from \"./table.type\";\nimport type { TableInstance } from \"element-plus\";\nimport type { ExtractPropTypes, InjectionKey, SetupContext } from \"vue\";\n\nexport const tableStateKey: InjectionKey<FaTableState> = Symbol(\"tableState\");\nexport const enumMapKey: InjectionKey<Map<string, FaTableEnumColumnCtx[]>> = Symbol(\"enumMap\");\n\ntype TableSetupContext = SetupContext<typeof faTableEmits, ReturnType<typeof makeSlots<FaTableSlots>>>;\n\n// eslint-disable-next-line @typescript-eslint/explicit-function-return-type, @typescript-eslint/explicit-module-boundary-types\nexport const useTable = (props: ExtractPropTypes<typeof faTableProps>, slots: TableSetupContext[\"slots\"], emit: TableSetupContext[\"emit\"]) => {\n\tconst _globalSize = useGlobalSize();\n\n\tconst elementRef = ref<HTMLElement>();\n\tconst tableRef = ref<TableInstance>();\n\n\t/**\n\t * 定义 enumMap 存储 enum 值(避免异步请求无法格式化单元格内容 || 无法填充搜索下拉选择)\n\t */\n\tconst enumMap = reactive(new Map<string, FaTableEnumColumnCtx[]>());\n\tprovide(enumMapKey, enumMap);\n\n\tconst state: FaTableState = reactive({\n\t\tloading: false,\n\t\tloadingText: \"加载中...\",\n\t\torgColumns: [],\n\t\ttableColumns: computed(() => state.orgColumns.filter((f) => f.prop && !f.pureSearch)),\n\t\tsearchColumns: computed(() =>\n\t\t\tstate.orgColumns\n\t\t\t\t.filter((f) => f.pureSearch || f.search)\n\t\t\t\t.sort((a, b) => {\n\t\t\t\t\treturn a.search?.order - b.search?.order;\n\t\t\t\t})\n\t\t),\n\t\tspanColumns: computed(() => [\n\t\t\t...state.orgColumns\n\t\t\t\t.filter((f) => f.spanProp)\n\t\t\t\t.map((col) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tprop: col?.prop,\n\t\t\t\t\t\tspanProp: col?.spanProp,\n\t\t\t\t\t};\n\t\t\t\t}),\n\t\t\t...(props.props.span\n\t\t\t\t? [\n\t\t\t\t\t\t{ prop: \"__table-index\", spanProp: props.props.span },\n\t\t\t\t\t\t{ prop: \"__table-selection\", spanProp: props.props.span },\n\t\t\t\t\t\t{ prop: \"__table-operation\", spanProp: props.props.span },\n\t\t\t\t\t]\n\t\t\t\t: []),\n\t\t]),\n\t\ttableData: [],\n\t\ttableSpanData: computed(() => {\n\t\t\tif (state.spanColumns?.length > 0 && state.tableData?.length > 0) {\n\t\t\t\tconst result = [];\n\t\t\t\tstate.spanColumns.forEach((item) => {\n\t\t\t\t\tresult[item.prop] = new Array(state.tableData.length).fill(1, 0, 1).fill(0, 1);\n\t\t\t\t\tresult[`${item.prop}-index`] = 0;\n\t\t\t\t});\n\t\t\t\tfor (let i = 1; i < state.tableData.length; i++) {\n\t\t\t\t\tstate.spanColumns.forEach((item) => {\n\t\t\t\t\t\tif (state.tableData[i][item.spanProp] === state.tableData[i - 1][item.spanProp]) {\n\t\t\t\t\t\t\tresult[item.prop][result[`${item.prop}-index`]]++;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tresult[`${item.prop}-index`] = i;\n\t\t\t\t\t\t\tresult[item.prop][i] = 1;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\treturn result;\n\t\t\t}\n\t\t\treturn [];\n\t\t}),\n\t\ttablePagination: {\n\t\t\tpageIndex: 1,\n\t\t\tpageSize: 20,\n\t\t\ttotalRows: 0,\n\t\t},\n\t\tinitParam: {},\n\t\tsearchParam: {},\n\t\tsearchValueUpdate: \"\",\n\t\tsearchForm: props.searchForm,\n\t\tselected: false,\n\t\tselectedList: [],\n\t\tselectedListIds: computed(() => state.selectedList.map((item) => (isFunction(props.rowKey) ? props.rowKey(item) : item[props.rowKey]))),\n\t\tindeterminateSelectedListIds: [],\n\t\tresponseConfig: undefined,\n\t\toperationColumnWidth: computed(() => {\n\t\t\tconst findAutoCol = state.autoColumnWidth.find((f) => f.prop === \"__table-operation\");\n\t\t\tif (findAutoCol) {\n\t\t\t\treturn `${findAutoCol.width}px`;\n\t\t\t}\n\t\t\tswitch (_globalSize.value) {\n\t\t\t\tcase \"large\":\n\t\t\t\tcase \"default\":\n\t\t\t\t\treturn \"54px\";\n\t\t\t\tcase \"small\":\n\t\t\t\t\treturn \"42px\";\n\t\t\t\tdefault:\n\t\t\t\t\treturn \"auto\";\n\t\t\t}\n\t\t}),\n\t\timagePreview: false,\n\t\tpreviewList: [],\n\t\ttableWidth: undefined,\n\t\ttableHeight: undefined,\n\t\tautoColumnWidth: [],\n\t});\n\n\tprovide(tableStateKey, state);\n\n\tconst handleTableColumnAutoWidth = (): void => {\n\t\tstate.loading = true;\n\t\tstate.loadingText = \"加载中...\";\n\t\tstate.autoColumnWidth = [];\n\t\tconst autoWidthColumns = state.tableColumns.filter((f) => f.autoWidth);\n\t\tif (slots?.operation) {\n\t\t\t// 操作列自动宽度\n\t\t\tautoWidthColumns.push({\n\t\t\t\tprop: \"__table-operation\",\n\t\t\t});\n\t\t}\n\t\tif (autoWidthColumns?.length > 0) {\n\t\t\t// padding24/16 + border1\n\t\t\tconst otherWidth = _globalSize.value === \"default\" ? 25 : 17;\n\t\t\tnextTick(() => {\n\t\t\t\tconst tableDom = document.querySelector(`.fa-table__${props.tableKey}`);\n\t\t\t\tif (tableDom) {\n\t\t\t\t\tautoWidthColumns.forEach((item) => {\n\t\t\t\t\t\tconst headerColumnDom = tableDom.querySelector(`.__fa-table__auto-width-column__cell-header__${item?.prop}`);\n\t\t\t\t\t\tconst cellColumnDoms = tableDom.querySelectorAll(`.__fa-table__auto-width-column__cell__${item?.prop}`);\n\t\t\t\t\t\tlet maxWidth = 0;\n\t\t\t\t\t\tif (headerColumnDom) {\n\t\t\t\t\t\t\tmaxWidth = Math.ceil(headerColumnDom.scrollWidth) + otherWidth;\n\t\t\t\t\t\t\tif (item?.sortable) {\n\t\t\t\t\t\t\t\tmaxWidth += 24;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcellColumnDoms.forEach((cellDom) => {\n\t\t\t\t\t\t\tconst curWidth = Math.ceil(cellDom.scrollWidth) + otherWidth;\n\t\t\t\t\t\t\tif (curWidth > maxWidth) {\n\t\t\t\t\t\t\t\tmaxWidth = curWidth;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t\tconst findInfo = state.autoColumnWidth.find((f) => f.prop === item?.prop);\n\t\t\t\t\t\tif (findInfo) {\n\t\t\t\t\t\t\tfindInfo.width = Math.max(findInfo.width, maxWidth);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tstate.autoColumnWidth.push({\n\t\t\t\t\t\t\t\tprop: item?.prop,\n\t\t\t\t\t\t\t\twidth: maxWidth,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\tstate.loading = false;\n\t};\n\n\tconst handleTableData = (data: any[]): any[] => {\n\t\tif (props.treeData) {\n\t\t\tconst result: any[] = [];\n\t\t\tdata.forEach((row) => {\n\t\t\t\tconst rowList = row[props.props.children];\n\t\t\t\tif (isArray(rowList)) {\n\t\t\t\t\t// 如果 rowList 是数组,遍历并合并每个子项\n\t\t\t\t\trowList.forEach((cRow) => result.push({ ...row, ...cRow }));\n\t\t\t\t} else {\n\t\t\t\t\tresult.push({ ...row, ...(rowList || {}) });\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn result;\n\t\t} else {\n\t\t\treturn data;\n\t\t}\n\t};\n\n\tconst getRequestParam = (): PagedInput => {\n\t\tconst params = { ...state.searchParam, ...(props.pagination ? state.tablePagination : {}) };\n\t\t// 删除总条数\n\t\tdelete params.totalRows;\n\t\treturn params;\n\t};\n\n\tconst loadData = async (): Promise<void> => {\n\t\tstate.loading = true;\n\t\tstate.loadingText = \"加载中...\";\n\t\tif (props.requestApi) {\n\t\t\tconst params = getRequestParam();\n\t\t\temit(\"refresh\", params);\n\t\t\tlet pageData = [];\n\t\t\ttry {\n\t\t\t\tconst resData = await props.requestApi(params);\n\t\t\t\t// 数据回调\n\t\t\t\tprops.dataCallback && props.dataCallback(resData);\n\t\t\t\t// 解析 API 接口返回的分页数据(如果有分页更新分页信息)\n\t\t\t\tif (props.pagination) {\n\t\t\t\t\tconst pageRes = resData as PagedResult;\n\t\t\t\t\tpageData = pageRes.rows;\n\t\t\t\t\t// 更新分页信息\n\t\t\t\t\tObject.assign(state.tablePagination, {\n\t\t\t\t\t\tpageIndex: pageRes.pageIndex,\n\t\t\t\t\t\tpageSize: pageRes.pageSize,\n\t\t\t\t\t\ttotalRows: pageRes.totalRows,\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tpageData = resData as any[];\n\t\t\t\t\t// 更新分页信息\n\t\t\t\t\tObject.assign(state.tablePagination, {\n\t\t\t\t\t\tpageIndex: 1,\n\t\t\t\t\t\tpageSize: 0,\n\t\t\t\t\t\ttotalRows: pageData.length,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tstate.tableData = handleTableData(pageData);\n\t\t\t} catch (error) {\n\t\t\t\tconsoleError(\"FaTable\", error);\n\t\t\t\tstate.tableData = [];\n\t\t\t} finally {\n\t\t\t\tstate.loading = false;\n\t\t\t}\n\t\t} else {\n\t\t\temit(\"refresh\", { searchValue: state.searchParam.searchValue });\n\t\t\tlet _value = handleTableData(props.data);\n\t\t\t_value = _value.filter((f) => {\n\t\t\t\tif (!state.searchParam.searchValue) return true;\n\t\t\t\treturn state.tableColumns.some((col) => {\n\t\t\t\t\treturn f[col.prop]?.toString()?.toLowerCase().includes(state.searchParam.searchValue?.toLowerCase());\n\t\t\t\t});\n\t\t\t});\n\t\t\tif (state.searchParam.sortList?.length > 0) {\n\t\t\t\t_value = _value.sort(tableUtil.arrayDynamicSort(state.searchParam.sortList));\n\t\t\t}\n\t\t\tif (props.pagination) {\n\t\t\t\t// 更新分页信息\n\t\t\t\tObject.assign(state.tablePagination, {\n\t\t\t\t\ttotalRows: _value.length,\n\t\t\t\t});\n\t\t\t\tconst pageStart = (state.tablePagination.pageIndex - 1) * state.tablePagination.pageSize;\n\t\t\t\tconst pageEnd = pageStart + state.tablePagination.pageSize;\n\t\t\t\tstate.tableData = _value.slice(pageStart, pageEnd);\n\t\t\t} else {\n\t\t\t\tstate.tableData = _value;\n\t\t\t\t// 更新分页信息\n\t\t\t\tObject.assign(state.tablePagination, {\n\t\t\t\t\tpageIndex: 1,\n\t\t\t\t\tpageSize: 0,\n\t\t\t\t\ttotalRows: _value.length,\n\t\t\t\t});\n\t\t\t}\n\t\t\tstate.loading = false;\n\t\t}\n\t\thandleTableColumnAutoWidth();\n\t};\n\n\tconst loadTableColumns = (): void => {\n\t\tlet columns: FaTableColumnCtx[] = props.columns ? props.columns : [];\n\t\t// 默认值处理\n\t\tcolumns.forEach((col) => {\n\t\t\t// 处理搜索项的 key 和 label\n\t\t\tif (col.pureSearch || col.search) {\n\t\t\t\tcol.search.key ??= col.prop;\n\t\t\t\tcol.search.label ??= col.label;\n\t\t\t\t// 处理默认值\n\t\t\t\tif (col.search.defaultValue) {\n\t\t\t\t\tstate.searchParam[col.search.key] = col.search.defaultValue;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\t// 排序\n\t\tcolumns = columns.sort((a, b) => {\n\t\t\treturn a?.order - b?.order;\n\t\t});\n\n\t\t// TODO:这里的扁平化暂时没用到\n\t\tstate.orgColumns = tableUtil.flatColumns(columns, enumMap);\n\t};\n\n\tconst handleSizeChange = (pageSize: number): void => {\n\t\tstate.tablePagination.pageIndex = 1;\n\t\tstate.tablePagination.pageSize = pageSize;\n\t\temit(\"sizeChange\", pageSize);\n\t\temit(\"paginationChange\", 1, pageSize);\n\t\tloadData();\n\t};\n\tconst handlePaginationChange = (val: number): void => {\n\t\tstate.tablePagination.pageIndex = val;\n\t\temit(\"sizeChange\", state.tablePagination.pageSize);\n\t\temit(\"paginationChange\", val, state.tablePagination.pageSize);\n\t\tloadData();\n\t};\n\n\tconst updatedTotalParam = (): void => {\n\t\t// 处理查询参数,可以给查询参数加自定义前缀操作\n\t\tconst newSearchParam = {};\n\t\t// 防止手动清空输入框携带参数(这里可以自定义查询参数前缀)\n\t\tfor (const key in state.searchParam) {\n\t\t\t// * 某些情况下参数为 false/0 也应该携带参数\n\t\t\tif (state.searchParam[key] || state.searchParam[key] === false || state.searchParam[key] === 0) {\n\t\t\t\tnewSearchParam[key] = state.searchParam[key];\n\t\t\t}\n\t\t\t// 处理某些情况下如果为空字符串,其实是不需要传到后端的\n\t\t\telse if (!state.searchParam[key]) {\n\t\t\t\tdelete state.searchParam[key];\n\t\t\t}\n\t\t}\n\t\tObject.assign(state.searchParam, newSearchParam);\n\t};\n\n\tconst defaultSearchTime = (): void => {\n\t\tif (props.hideSearchTime) {\n\t\t\tstate.searchParam.searchTimeList = undefined;\n\t\t} else {\n\t\t\tconst end = new Date();\n\t\t\tconst start = new Date();\n\t\t\tif (props.futureSearchTime) {\n\t\t\t\tswitch (props.dataSearchRange) {\n\t\t\t\t\tcase \"Past1D\":\n\t\t\t\t\t\tend.setDate(end.getDate() + 1);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"Past3D\":\n\t\t\t\t\t\tend.setDate(end.getDate() + 3);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"Past1W\":\n\t\t\t\t\t\tend.setDate(end.getDate() + 7);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"Past1M\":\n\t\t\t\t\t\tend.setMonth(end.getMonth() + 1);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"Past3M\":\n\t\t\t\t\t\tend.setMonth(end.getMonth() + 3);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"Past6M\":\n\t\t\t\t\t\tend.setMonth(end.getMonth() + 6);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"Past1Y\":\n\t\t\t\t\t\tend.setFullYear(end.getFullYear() + 1);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"Past3Y\":\n\t\t\t\t\t\tend.setFullYear(end.getFullYear() + 3);\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tswitch (props.dataSearchRange) {\n\t\t\t\t\tcase \"Past1D\":\n\t\t\t\t\t\tstart.setDate(start.getDate() - 1);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"Past3D\":\n\t\t\t\t\t\tstart.setDate(start.getDate() - 3);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"Past1W\":\n\t\t\t\t\t\tstart.setDate(start.getDate() - 7);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"Past1M\":\n\t\t\t\t\t\tstart.setMonth(start.getMonth() - 1);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"Past3M\":\n\t\t\t\t\t\tstart.setMonth(start.getMonth() - 3);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"Past6M\":\n\t\t\t\t\t\tstart.setMonth(start.getMonth() - 6);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"Past1Y\":\n\t\t\t\t\t\tstart.setFullYear(start.getFullYear() - 1);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"Past3Y\":\n\t\t\t\t\t\tstart.setFullYear(start.getFullYear() - 3);\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\tstate.searchParam.searchTimeList = [dayjs(start).format(\"YYYY-MM-DD 00:00:00\"), dayjs(end).format(\"YYYY-MM-DD 23:59:59\")];\n\t\t}\n\t};\n\n\tconst tableSearch = async (): Promise<void> => {\n\t\t// 重置到第一页\n\t\tstate.tablePagination.pageIndex = 1;\n\t\tupdatedTotalParam();\n\t\tawait loadData();\n\t};\n\n\tconst tableReset = async (): Promise<void> => {\n\t\t// 重置到第一页\n\t\tstate.tablePagination.pageIndex = 1;\n\t\t// 清除搜索条件\n\t\tstate.searchParam = {};\n\t\tdefaultSearchTime();\n\t\t// 重置搜索表单的时候,如果有默认搜索参数,则重置默认的搜索参数\n\t\tObject.keys(state.initParam ?? {}).forEach((key) => {\n\t\t\tstate.searchParam[key] = state.initParam[key];\n\t\t});\n\t\temit(\"reset\", state.searchParam);\n\t\tawait loadData();\n\t};\n\n\tconst doRender = async (): Promise<void> => {\n\t\tstate.orgColumns = [];\n\t\tstate.autoColumnWidth = [];\n\t\tstate.tableData = [];\n\t\tawait clickUtil.debounceAsync(async () => {\n\t\t\tloadTableColumns();\n\t\t\tawait tableSearch();\n\t\t}, 300);\n\t};\n\n\tconst doLoading = (loadingFunction: () => void | Promise<void>, loadingText = \"加载中...\"): void => {\n\t\tstate.loading = true;\n\t\tstate.loadingText = loadingText;\n\t\texecFunction(loadingFunction)\n\t\t\t.then()\n\t\t\t.catch((error) => {\n\t\t\t\tconsoleError(\"FaTable\", error);\n\t\t\t})\n\t\t\t.finally(() => {\n\t\t\t\tstate.loading = false;\n\t\t\t});\n\t};\n\n\tconst handleCustomCellClick = (emitName: string, { row, column, $index }: { row: any; column: FaTableColumnCtx; $index: number }): void => {\n\t\temit(\"customCellClick\", emitName, { row, column, $index, ...getTableDefaultSlots(state) });\n\t};\n\n\twatch(\n\t\t() => props.tableKey,\n\t\tasync () => {\n\t\t\tawait doRender();\n\t\t}\n\t);\n\n\twatch(\n\t\t() => props.searchForm,\n\t\t(newValue) => {\n\t\t\tstate.searchForm = newValue;\n\t\t}\n\t);\n\n\treturn {\n\t\t_globalSize,\n\t\tstate,\n\t\telementRef,\n\t\ttableRef,\n\t\thandleTableColumnAutoWidth,\n\t\tgetRequestParam,\n\t\tloadTableColumns,\n\t\thandleSizeChange,\n\t\thandlePaginationChange,\n\t\tdefaultSearchTime,\n\t\ttableSearch,\n\t\ttableReset,\n\t\tdoRender,\n\t\tdoLoading,\n\t\thandleCustomCellClick,\n\t};\n};\n"],"names":["tableStateKey","enumMapKey","useTable","props","slots","emit","_globalSize","useGlobalSize","elementRef","ref","tableRef","enumMap","reactive","Map","provide","state","loading","loadingText","orgColumns","tableColumns","computed","filter","f","prop","pureSearch","searchColumns","search","sort","a","b","order","spanColumns","spanProp","map","col","span","tableData","tableSpanData","length","result","forEach","item","Array","fill","i","tablePagination","pageIndex","pageSize","totalRows","initParam","searchParam","searchValueUpdate","searchForm","selected","selectedList","selectedListIds","isFunction","rowKey","indeterminateSelectedListIds","responseConfig","operationColumnWidth","findAutoCol","autoColumnWidth","find","width","value","imagePreview","previewList","tableWidth","tableHeight","handleTableColumnAutoWidth","autoWidthColumns","autoWidth","operation","push","otherWidth","nextTick","tableDom","document","querySelector","tableKey","headerColumnDom","cellColumnDoms","querySelectorAll","maxWidth","Math","ceil","scrollWidth","sortable","cellDom","curWidth","findInfo","max","handleTableData","data","treeData","row","rowList","children","isArray","cRow","getRequestParam","params","pagination","loadData","async","requestApi","pageData","resData","dataCallback","pageRes","rows","Object","assign","error","consoleError","searchValue","_value","some","toString","toLowerCase","includes","sortList","tableUtil","arrayDynamicSort","pageStart","pageEnd","slice","loadTableColumns","columns","key","label","defaultValue","flatColumns","defaultSearchTime","hideSearchTime","searchTimeList","end","Date","start","futureSearchTime","dataSearchRange","setDate","getDate","setMonth","getMonth","setFullYear","getFullYear","dayjs","format","tableSearch","newSearchParam","updatedTotalParam","doRender","clickUtil","debounceAsync","watch","newValue","handleSizeChange","handlePaginationChange","val","tableReset","keys","doLoading","loadingFunction","execFunction","then","catch","finally","handleCustomCellClick","emitName","column","$index","getTableDefaultSlots"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useTable.mjs","names":[],"sources":["../../../../../packages/components/table/src/useTable.ts"],"sourcesContent":["import { computed, nextTick, provide, reactive, ref, watch } from \"vue\";\nimport { dayjs, useGlobalSize } from \"element-plus\";\nimport { clickUtil, consoleError, execFunction, type makeSlots } from \"@fast-china/utils\";\nimport { isArray, isFunction } from \"lodash-unified\";\nimport { tableUtil } from \"../utils/table\";\nimport { getTableDefaultSlots } from \"./table.type\";\nimport type { PagedInput, PagedResult } from \"./page.type\";\nimport type { FaTableSlots, faTableEmits, faTableProps } from \"./table\";\nimport type { FaTableState } from \"./table.state\";\nimport type { FaTableColumnCtx, FaTableEnumColumnCtx } from \"./table.type\";\nimport type { TableInstance } from \"element-plus\";\nimport type { ExtractPropTypes, InjectionKey, SetupContext } from \"vue\";\n\nexport const tableStateKey: InjectionKey<FaTableState> = Symbol(\"tableState\");\nexport const enumMapKey: InjectionKey<Map<string, FaTableEnumColumnCtx[]>> = Symbol(\"enumMap\");\n\ntype TableSetupContext = SetupContext<typeof faTableEmits, ReturnType<typeof makeSlots<FaTableSlots>>>;\n\n// eslint-disable-next-line @typescript-eslint/explicit-function-return-type, @typescript-eslint/explicit-module-boundary-types\nexport const useTable = (props: ExtractPropTypes<typeof faTableProps>, slots: TableSetupContext[\"slots\"], emit: TableSetupContext[\"emit\"]) => {\n\tconst _globalSize = useGlobalSize();\n\n\tconst elementRef = ref<HTMLElement>();\n\tconst tableRef = ref<TableInstance>();\n\n\t/**\n\t * 定义 enumMap 存储 enum 值(避免异步请求无法格式化单元格内容 || 无法填充搜索下拉选择)\n\t */\n\tconst enumMap = reactive(new Map<string, FaTableEnumColumnCtx[]>());\n\tprovide(enumMapKey, enumMap);\n\n\tconst state: FaTableState = reactive({\n\t\tloading: false,\n\t\tloadingText: \"加载中...\",\n\t\torgColumns: [],\n\t\ttableColumns: computed(() => state.orgColumns.filter((f) => f.prop && !f.pureSearch)),\n\t\tsearchColumns: computed(() =>\n\t\t\tstate.orgColumns\n\t\t\t\t.filter((f) => f.pureSearch || f.search)\n\t\t\t\t.sort((a, b) => {\n\t\t\t\t\treturn a.search?.order - b.search?.order;\n\t\t\t\t})\n\t\t),\n\t\tspanColumns: computed(() => [\n\t\t\t...state.orgColumns\n\t\t\t\t.filter((f) => f.spanProp)\n\t\t\t\t.map((col) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tprop: col?.prop,\n\t\t\t\t\t\tspanProp: col?.spanProp,\n\t\t\t\t\t};\n\t\t\t\t}),\n\t\t\t...(props.props.span\n\t\t\t\t? [\n\t\t\t\t\t\t{ prop: \"__table-index\", spanProp: props.props.span },\n\t\t\t\t\t\t{ prop: \"__table-selection\", spanProp: props.props.span },\n\t\t\t\t\t\t{ prop: \"__table-operation\", spanProp: props.props.span },\n\t\t\t\t\t]\n\t\t\t\t: []),\n\t\t]),\n\t\ttableData: [],\n\t\ttableSpanData: computed(() => {\n\t\t\tif (state.spanColumns?.length > 0 && state.tableData?.length > 0) {\n\t\t\t\tconst result = [];\n\t\t\t\tstate.spanColumns.forEach((item) => {\n\t\t\t\t\tresult[item.prop] = new Array(state.tableData.length).fill(1, 0, 1).fill(0, 1);\n\t\t\t\t\tresult[`${item.prop}-index`] = 0;\n\t\t\t\t});\n\t\t\t\tfor (let i = 1; i < state.tableData.length; i++) {\n\t\t\t\t\tstate.spanColumns.forEach((item) => {\n\t\t\t\t\t\tif (state.tableData[i][item.spanProp] === state.tableData[i - 1][item.spanProp]) {\n\t\t\t\t\t\t\tresult[item.prop][result[`${item.prop}-index`]]++;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tresult[`${item.prop}-index`] = i;\n\t\t\t\t\t\t\tresult[item.prop][i] = 1;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\treturn result;\n\t\t\t}\n\t\t\treturn [];\n\t\t}),\n\t\ttablePagination: {\n\t\t\tpageIndex: 1,\n\t\t\tpageSize: 20,\n\t\t\ttotalRows: 0,\n\t\t},\n\t\tinitParam: {},\n\t\tsearchParam: {},\n\t\tsearchValueUpdate: \"\",\n\t\tsearchForm: props.searchForm,\n\t\tselected: false,\n\t\tselectedList: [],\n\t\tselectedListIds: computed(() => state.selectedList.map((item) => (isFunction(props.rowKey) ? props.rowKey(item) : item[props.rowKey]))),\n\t\tindeterminateSelectedListIds: [],\n\t\tresponseConfig: undefined,\n\t\toperationColumnWidth: computed(() => {\n\t\t\tconst findAutoCol = state.autoColumnWidth.find((f) => f.prop === \"__table-operation\");\n\t\t\tif (findAutoCol) {\n\t\t\t\treturn `${findAutoCol.width}px`;\n\t\t\t}\n\t\t\tswitch (_globalSize.value) {\n\t\t\t\tcase \"large\":\n\t\t\t\tcase \"default\":\n\t\t\t\t\treturn \"54px\";\n\t\t\t\tcase \"small\":\n\t\t\t\t\treturn \"42px\";\n\t\t\t\tdefault:\n\t\t\t\t\treturn \"auto\";\n\t\t\t}\n\t\t}),\n\t\timagePreview: false,\n\t\tpreviewList: [],\n\t\ttableWidth: undefined,\n\t\ttableHeight: undefined,\n\t\tautoColumnWidth: [],\n\t});\n\n\tprovide(tableStateKey, state);\n\n\tconst handleTableColumnAutoWidth = (): void => {\n\t\tstate.loading = true;\n\t\tstate.loadingText = \"加载中...\";\n\t\tstate.autoColumnWidth = [];\n\t\tconst autoWidthColumns = state.tableColumns.filter((f) => f.autoWidth);\n\t\tif (slots?.operation) {\n\t\t\t// 操作列自动宽度\n\t\t\tautoWidthColumns.push({\n\t\t\t\tprop: \"__table-operation\",\n\t\t\t});\n\t\t}\n\t\tif (autoWidthColumns?.length > 0) {\n\t\t\t// padding24/16 + border1\n\t\t\tconst otherWidth = _globalSize.value === \"default\" ? 25 : 17;\n\t\t\tnextTick(() => {\n\t\t\t\tconst tableDom = document.querySelector(`.fa-table__${props.tableKey}`);\n\t\t\t\tif (tableDom) {\n\t\t\t\t\tautoWidthColumns.forEach((item) => {\n\t\t\t\t\t\tconst headerColumnDom = tableDom.querySelector(`.__fa-table__auto-width-column__cell-header__${item?.prop}`);\n\t\t\t\t\t\tconst cellColumnDoms = tableDom.querySelectorAll(`.__fa-table__auto-width-column__cell__${item?.prop}`);\n\t\t\t\t\t\tlet maxWidth = 0;\n\t\t\t\t\t\tif (headerColumnDom) {\n\t\t\t\t\t\t\tmaxWidth = Math.ceil(headerColumnDom.scrollWidth) + otherWidth;\n\t\t\t\t\t\t\tif (item?.sortable) {\n\t\t\t\t\t\t\t\tmaxWidth += 24;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcellColumnDoms.forEach((cellDom) => {\n\t\t\t\t\t\t\tconst curWidth = Math.ceil(cellDom.scrollWidth) + otherWidth;\n\t\t\t\t\t\t\tif (curWidth > maxWidth) {\n\t\t\t\t\t\t\t\tmaxWidth = curWidth;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t\tconst findInfo = state.autoColumnWidth.find((f) => f.prop === item?.prop);\n\t\t\t\t\t\tif (findInfo) {\n\t\t\t\t\t\t\tfindInfo.width = Math.max(findInfo.width, maxWidth);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tstate.autoColumnWidth.push({\n\t\t\t\t\t\t\t\tprop: item?.prop,\n\t\t\t\t\t\t\t\twidth: maxWidth,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\tstate.loading = false;\n\t};\n\n\tconst handleTableData = (data: any[]): any[] => {\n\t\tif (props.treeData) {\n\t\t\tconst result: any[] = [];\n\t\t\tdata.forEach((row) => {\n\t\t\t\tconst rowList = row[props.props.children];\n\t\t\t\tif (isArray(rowList)) {\n\t\t\t\t\t// 如果 rowList 是数组,遍历并合并每个子项\n\t\t\t\t\trowList.forEach((cRow) => result.push({ ...row, ...cRow }));\n\t\t\t\t} else {\n\t\t\t\t\tresult.push({ ...row, ...(rowList || {}) });\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn result;\n\t\t} else {\n\t\t\treturn data;\n\t\t}\n\t};\n\n\tconst getRequestParam = (): PagedInput => {\n\t\tconst params = { ...state.searchParam, ...(props.pagination ? state.tablePagination : {}) };\n\t\t// 删除总条数\n\t\tdelete params.totalRows;\n\t\treturn params;\n\t};\n\n\tconst loadData = async (): Promise<void> => {\n\t\tstate.loading = true;\n\t\tstate.loadingText = \"加载中...\";\n\t\tif (props.requestApi) {\n\t\t\tconst params = getRequestParam();\n\t\t\temit(\"refresh\", params);\n\t\t\tlet pageData = [];\n\t\t\ttry {\n\t\t\t\tconst resData = await props.requestApi(params);\n\t\t\t\t// 数据回调\n\t\t\t\tprops.dataCallback && props.dataCallback(resData);\n\t\t\t\t// 解析 API 接口返回的分页数据(如果有分页更新分页信息)\n\t\t\t\tif (props.pagination) {\n\t\t\t\t\tconst pageRes = resData as PagedResult;\n\t\t\t\t\tpageData = pageRes.rows;\n\t\t\t\t\t// 更新分页信息\n\t\t\t\t\tObject.assign(state.tablePagination, {\n\t\t\t\t\t\tpageIndex: pageRes.pageIndex,\n\t\t\t\t\t\tpageSize: pageRes.pageSize,\n\t\t\t\t\t\ttotalRows: pageRes.totalRows,\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tpageData = resData as any[];\n\t\t\t\t\t// 更新分页信息\n\t\t\t\t\tObject.assign(state.tablePagination, {\n\t\t\t\t\t\tpageIndex: 1,\n\t\t\t\t\t\tpageSize: 0,\n\t\t\t\t\t\ttotalRows: pageData.length,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tstate.tableData = handleTableData(pageData);\n\t\t\t} catch (error) {\n\t\t\t\tconsoleError(\"FaTable\", error);\n\t\t\t\tstate.tableData = [];\n\t\t\t} finally {\n\t\t\t\tstate.loading = false;\n\t\t\t}\n\t\t} else {\n\t\t\temit(\"refresh\", { searchValue: state.searchParam.searchValue });\n\t\t\tlet _value = handleTableData(props.data);\n\t\t\t_value = _value.filter((f) => {\n\t\t\t\tif (!state.searchParam.searchValue) return true;\n\t\t\t\treturn state.tableColumns.some((col) => {\n\t\t\t\t\treturn f[col.prop]?.toString()?.toLowerCase().includes(state.searchParam.searchValue?.toLowerCase());\n\t\t\t\t});\n\t\t\t});\n\t\t\tif (state.searchParam.sortList?.length > 0) {\n\t\t\t\t_value = _value.sort(tableUtil.arrayDynamicSort(state.searchParam.sortList));\n\t\t\t}\n\t\t\tif (props.pagination) {\n\t\t\t\t// 更新分页信息\n\t\t\t\tObject.assign(state.tablePagination, {\n\t\t\t\t\ttotalRows: _value.length,\n\t\t\t\t});\n\t\t\t\tconst pageStart = (state.tablePagination.pageIndex - 1) * state.tablePagination.pageSize;\n\t\t\t\tconst pageEnd = pageStart + state.tablePagination.pageSize;\n\t\t\t\tstate.tableData = _value.slice(pageStart, pageEnd);\n\t\t\t} else {\n\t\t\t\tstate.tableData = _value;\n\t\t\t\t// 更新分页信息\n\t\t\t\tObject.assign(state.tablePagination, {\n\t\t\t\t\tpageIndex: 1,\n\t\t\t\t\tpageSize: 0,\n\t\t\t\t\ttotalRows: _value.length,\n\t\t\t\t});\n\t\t\t}\n\t\t\tstate.loading = false;\n\t\t}\n\t\thandleTableColumnAutoWidth();\n\t};\n\n\tconst loadTableColumns = (): void => {\n\t\tlet columns: FaTableColumnCtx[] = props.columns ? props.columns : [];\n\t\t// 默认值处理\n\t\tcolumns.forEach((col) => {\n\t\t\t// 处理搜索项的 key 和 label\n\t\t\tif (col.pureSearch || col.search) {\n\t\t\t\tcol.search.key ??= col.prop;\n\t\t\t\tcol.search.label ??= col.label;\n\t\t\t\t// 处理默认值\n\t\t\t\tif (col.search.defaultValue) {\n\t\t\t\t\tstate.searchParam[col.search.key] = col.search.defaultValue;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\t// 排序\n\t\tcolumns = columns.sort((a, b) => {\n\t\t\treturn a?.order - b?.order;\n\t\t});\n\n\t\t// TODO:这里的扁平化暂时没用到\n\t\tstate.orgColumns = tableUtil.flatColumns(columns, enumMap);\n\t};\n\n\tconst handleSizeChange = (pageSize: number): void => {\n\t\tstate.tablePagination.pageIndex = 1;\n\t\tstate.tablePagination.pageSize = pageSize;\n\t\temit(\"sizeChange\", pageSize);\n\t\temit(\"paginationChange\", 1, pageSize);\n\t\tloadData();\n\t};\n\tconst handlePaginationChange = (val: number): void => {\n\t\tstate.tablePagination.pageIndex = val;\n\t\temit(\"sizeChange\", state.tablePagination.pageSize);\n\t\temit(\"paginationChange\", val, state.tablePagination.pageSize);\n\t\tloadData();\n\t};\n\n\tconst updatedTotalParam = (): void => {\n\t\t// 处理查询参数,可以给查询参数加自定义前缀操作\n\t\tconst newSearchParam = {};\n\t\t// 防止手动清空输入框携带参数(这里可以自定义查询参数前缀)\n\t\tfor (const key in state.searchParam) {\n\t\t\t// * 某些情况下参数为 false/0 也应该携带参数\n\t\t\tif (state.searchParam[key] || state.searchParam[key] === false || state.searchParam[key] === 0) {\n\t\t\t\tnewSearchParam[key] = state.searchParam[key];\n\t\t\t}\n\t\t\t// 处理某些情况下如果为空字符串,其实是不需要传到后端的\n\t\t\telse if (!state.searchParam[key]) {\n\t\t\t\tdelete state.searchParam[key];\n\t\t\t}\n\t\t}\n\t\tObject.assign(state.searchParam, newSearchParam);\n\t};\n\n\tconst defaultSearchTime = (): void => {\n\t\tif (props.hideSearchTime) {\n\t\t\tstate.searchParam.searchTimeList = undefined;\n\t\t} else {\n\t\t\tconst end = new Date();\n\t\t\tconst start = new Date();\n\t\t\tif (props.futureSearchTime) {\n\t\t\t\tswitch (props.dataSearchRange) {\n\t\t\t\t\tcase \"Past1D\":\n\t\t\t\t\t\tend.setDate(end.getDate() + 1);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"Past3D\":\n\t\t\t\t\t\tend.setDate(end.getDate() + 3);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"Past1W\":\n\t\t\t\t\t\tend.setDate(end.getDate() + 7);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"Past1M\":\n\t\t\t\t\t\tend.setMonth(end.getMonth() + 1);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"Past3M\":\n\t\t\t\t\t\tend.setMonth(end.getMonth() + 3);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"Past6M\":\n\t\t\t\t\t\tend.setMonth(end.getMonth() + 6);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"Past1Y\":\n\t\t\t\t\t\tend.setFullYear(end.getFullYear() + 1);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"Past3Y\":\n\t\t\t\t\t\tend.setFullYear(end.getFullYear() + 3);\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tswitch (props.dataSearchRange) {\n\t\t\t\t\tcase \"Past1D\":\n\t\t\t\t\t\tstart.setDate(start.getDate() - 1);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"Past3D\":\n\t\t\t\t\t\tstart.setDate(start.getDate() - 3);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"Past1W\":\n\t\t\t\t\t\tstart.setDate(start.getDate() - 7);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"Past1M\":\n\t\t\t\t\t\tstart.setMonth(start.getMonth() - 1);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"Past3M\":\n\t\t\t\t\t\tstart.setMonth(start.getMonth() - 3);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"Past6M\":\n\t\t\t\t\t\tstart.setMonth(start.getMonth() - 6);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"Past1Y\":\n\t\t\t\t\t\tstart.setFullYear(start.getFullYear() - 1);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"Past3Y\":\n\t\t\t\t\t\tstart.setFullYear(start.getFullYear() - 3);\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\tstate.searchParam.searchTimeList = [dayjs(start).format(\"YYYY-MM-DD 00:00:00\"), dayjs(end).format(\"YYYY-MM-DD 23:59:59\")];\n\t\t}\n\t};\n\n\tconst tableSearch = async (): Promise<void> => {\n\t\t// 重置到第一页\n\t\tstate.tablePagination.pageIndex = 1;\n\t\tupdatedTotalParam();\n\t\tawait loadData();\n\t};\n\n\tconst tableReset = async (): Promise<void> => {\n\t\t// 重置到第一页\n\t\tstate.tablePagination.pageIndex = 1;\n\t\t// 清除搜索条件\n\t\tstate.searchParam = {};\n\t\tdefaultSearchTime();\n\t\t// 重置搜索表单的时候,如果有默认搜索参数,则重置默认的搜索参数\n\t\tObject.keys(state.initParam ?? {}).forEach((key) => {\n\t\t\tstate.searchParam[key] = state.initParam[key];\n\t\t});\n\t\temit(\"reset\", state.searchParam);\n\t\tawait loadData();\n\t};\n\n\tconst doRender = async (): Promise<void> => {\n\t\tstate.orgColumns = [];\n\t\tstate.autoColumnWidth = [];\n\t\tstate.tableData = [];\n\t\tawait clickUtil.debounceAsync(async () => {\n\t\t\tloadTableColumns();\n\t\t\tawait tableSearch();\n\t\t}, 300);\n\t};\n\n\tconst doLoading = (loadingFunction: () => void | Promise<void>, loadingText = \"加载中...\"): void => {\n\t\tstate.loading = true;\n\t\tstate.loadingText = loadingText;\n\t\texecFunction(loadingFunction)\n\t\t\t.then()\n\t\t\t.catch((error) => {\n\t\t\t\tconsoleError(\"FaTable\", error);\n\t\t\t})\n\t\t\t.finally(() => {\n\t\t\t\tstate.loading = false;\n\t\t\t});\n\t};\n\n\tconst handleCustomCellClick = (emitName: string, { row, column, $index }: { row: any; column: FaTableColumnCtx; $index: number }): void => {\n\t\temit(\"customCellClick\", emitName, { row, column, $index, ...getTableDefaultSlots(state) });\n\t};\n\n\twatch(\n\t\t() => props.tableKey,\n\t\tasync () => {\n\t\t\tawait doRender();\n\t\t}\n\t);\n\n\twatch(\n\t\t() => props.searchForm,\n\t\t(newValue) => {\n\t\t\tstate.searchForm = newValue;\n\t\t}\n\t);\n\n\treturn {\n\t\t_globalSize,\n\t\tstate,\n\t\telementRef,\n\t\ttableRef,\n\t\thandleTableColumnAutoWidth,\n\t\tgetRequestParam,\n\t\tloadTableColumns,\n\t\thandleSizeChange,\n\t\thandlePaginationChange,\n\t\tdefaultSearchTime,\n\t\ttableSearch,\n\t\ttableReset,\n\t\tdoRender,\n\t\tdoLoading,\n\t\thandleCustomCellClick,\n\t};\n};\n"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{
|
|
2
|
-
//# sourceMappingURL=table.mjs.map
|
|
1
|
+
import{isArray as e,isFunction as n,isString as t}from"lodash-unified";var r={formatValue:n=>e(n)?n.length?n.join(" , "):null:n,handleRowAccordingToProp:(e,n)=>n.includes(".")?(n.split(".").forEach(n=>e=e[n]),e):e[n],handleProp(e){const n=e.split(".");return 1===n.length?e:n[n.length-1]},filterEnum(n,t,r,l){const i=r?.value??"value",o=r?.label??"label";let s={};return e(t)&&(s=t.find(e=>e[i]===n)),"tag"===l?s?.type??"info":s?s[o]:null},arrayDynamicSort:e=>function(n,t){if(e&&e.length>0)for(const r of e){const e=r.enField,l=r.mode,i=n[e],o=t[e];if("string"==typeof i&&"string"==typeof o){if("ascending"===l){const e=i.localeCompare(o,"zh-CN");if(0!==e)return e}else if("descending"===l){const e=o.localeCompare(i,"zh-CN");if(0!==e)return e}}else if("ascending"===l){if(i<o)return-1;if(i>o)return 1}else if("descending"===l){if(i>o)return-1;if(i<o)return 1}}return 0},setEnumMap(t,r,l){t&&(n(t)?l.set(r,t()):e(t)&&l.set(r,t))},flatColumns(e,n){const r=[];return e.forEach(e=>{e._children?.length&&r.push(...this.flatColumns(e._children)),r.push(e),e.show=e.show??!0;let l=e.prop??e.search?.key;e.enum&&t(e.enum)&&(l=e.enum),this.setEnumMap(e.enum,l,n)}),r.filter(e=>!e._children?.length)}};export{r as tableUtil};
|
|
2
|
+
//# sourceMappingURL=table.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table.mjs","sources":["../../../../../packages/components/table/utils/table.ts"],"sourcesContent":["import { isArray, isFunction, isString } from \"lodash-unified\";\nimport type { FaTableColumnCtx, FaTableEnumColumnCtx, FaTableEnumColumnType, PagedSortInput } from \"@fast-element-plus/components\";\n\n/**\n * 表格工具类\n */\nexport const tableUtil = {\n\t/**\n\t * @description 处理无数据情况\n\t * @param {String} callValue 需要处理的值\n\t */\n\tformatValue(callValue: any): any {\n\t\t// 如果当前值为数组,使用 / 拼接(根据需求自定义)\n\t\tif (isArray(callValue)) return callValue.length ? callValue.join(` , `) : null;\n\t\treturn callValue;\n\t},\n\t/**\n\t * @description 处理 prop 为多级嵌套的情况(列如: prop:user.name)\n\t * @param {Object} row 当前行数据\n\t * @param {String} prop 当前 prop\n\t */\n\thandleRowAccordingToProp(row: any, prop: string): any {\n\t\tif (!prop.includes(\".\")) return row[prop];\n\t\tprop.split(\".\").forEach((item) => (row = row[item]));\n\t\treturn row;\n\t},\n\t/**\n\t * @description 处理 prop,当 prop 为多级嵌套时 ==> 返回最后一级 prop\n\t * @param {String} prop 当前 prop\n\t */\n\thandleProp(prop: string): string {\n\t\tconst propArr = prop.split(\".\");\n\t\tif (propArr.length === 1) return prop;\n\t\treturn propArr[propArr.length - 1];\n\t},\n\t/**\n\t * @description 根据枚举列表查询当需要的数据(如果指定了 label 和 value 的 key值,会自动识别格式化)\n\t * @param {String} callValue 当前单元格值\n\t * @param {Array} enumData 字典列表\n\t * @param {Array} fieldNames 指定 label && value 的 key 值\n\t * @param {String} type 过滤类型(目前只有 tag)\n\t */\n\tfilterEnum(callValue: any, enumData: FaTableEnumColumnCtx[], fieldNames?: { label: string; value: string }, type?: \"tag\"): string {\n\t\tconst value = fieldNames?.value ?? \"value\";\n\t\tconst label = fieldNames?.label ?? \"label\";\n\t\tlet filterData: any = {};\n\t\tif (isArray(enumData)) {\n\t\t\tfilterData = enumData.find((item: any) => item[value] === callValue);\n\t\t}\n\t\tif (type === \"tag\") {\n\t\t\treturn filterData?.type ?? \"info\";\n\t\t}\n\t\treturn filterData ? filterData[label] : null;\n\t},\n\t/**\n\t * 数组动态排序\n\t */\n\tarrayDynamicSort(sortList: PagedSortInput[]): (a: any, b: any) => number {\n\t\treturn function (a: any, b: any) {\n\t\t\tif (sortList && sortList.length > 0) {\n\t\t\t\tfor (const condition of sortList) {\n\t\t\t\t\tconst property = condition.enField;\n\t\t\t\t\tconst order = condition.mode;\n\n\t\t\t\t\tconst aValue = a[property];\n\t\t\t\t\tconst bValue = b[property];\n\n\t\t\t\t\tif (typeof aValue === \"string\" && typeof bValue === \"string\") {\n\t\t\t\t\t\tif (order === \"ascending\") {\n\t\t\t\t\t\t\tconst comparison = aValue.localeCompare(bValue, \"zh-CN\");\n\t\t\t\t\t\t\tif (comparison !== 0) {\n\t\t\t\t\t\t\t\treturn comparison;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else if (order === \"descending\") {\n\t\t\t\t\t\t\tconst comparison = bValue.localeCompare(aValue, \"zh-CN\");\n\t\t\t\t\t\t\tif (comparison !== 0) {\n\t\t\t\t\t\t\t\treturn comparison;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (order === \"ascending\") {\n\t\t\t\t\t\t\tif (aValue < bValue) return -1;\n\t\t\t\t\t\t\tif (aValue > bValue) return 1;\n\t\t\t\t\t\t} else if (order === \"descending\") {\n\t\t\t\t\t\t\tif (aValue > bValue) return -1;\n\t\t\t\t\t\t\tif (aValue < bValue) return 1;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn 0;\n\t\t};\n\t},\n\t/**\n\t * 设置枚举\n\t */\n\tsetEnumMap(columnEnum: FaTableEnumColumnType, prop: string, enumMap: Map<string, FaTableEnumColumnCtx[]>): void {\n\t\tif (!columnEnum) return;\n\t\tif (isFunction(columnEnum)) {\n\t\t\tenumMap.set(prop, columnEnum());\n\t\t} else if (isArray(columnEnum)) {\n\t\t\tenumMap.set(prop, columnEnum);\n\t\t}\n\t},\n\t/**\n\t * 扁平化 columns\n\t */\n\tflatColumns(columns: FaTableColumnCtx[], enumMap?: Map<string, FaTableEnumColumnCtx[]>): FaTableColumnCtx[] {\n\t\tconst flatArr: FaTableColumnCtx[] = [];\n\t\tcolumns.forEach((col) => {\n\t\t\tif (col._children?.length) {\n\t\t\t\tflatArr.push(...this.flatColumns(col._children));\n\t\t\t}\n\n\t\t\tflatArr.push(col);\n\n\t\t\t// 给每一项 column 添加 show && filterEnum 默认属性\n\t\t\tcol.show = col.show ?? true;\n\t\t\t// col.filterEnum = col.filterEnum ?? col.tag ?? false;\n\n\t\t\tlet enumKey = col.prop ?? col.search?.key;\n\n\t\t\tif (col.enum && isString(col.enum)) {\n\t\t\t\tenumKey = col.enum;\n\t\t\t}\n\n\t\t\t// 设置 enumMap\n\t\t\tthis.setEnumMap(col.enum, enumKey, enumMap);\n\t\t});\n\t\treturn flatArr.filter((item) => !item._children?.length);\n\t},\n};\n"],"
|
|
1
|
+
{"version":3,"file":"table.mjs","names":[],"sources":["../../../../../packages/components/table/utils/table.ts"],"sourcesContent":["import { isArray, isFunction, isString } from \"lodash-unified\";\nimport type { FaTableColumnCtx, FaTableEnumColumnCtx, FaTableEnumColumnType, PagedSortInput } from \"@fast-element-plus/components\";\n\n/**\n * 表格工具类\n */\nexport const tableUtil = {\n\t/**\n\t * @description 处理无数据情况\n\t * @param {String} callValue 需要处理的值\n\t */\n\tformatValue(callValue: any): any {\n\t\t// 如果当前值为数组,使用 / 拼接(根据需求自定义)\n\t\tif (isArray(callValue)) return callValue.length ? callValue.join(` , `) : null;\n\t\treturn callValue;\n\t},\n\t/**\n\t * @description 处理 prop 为多级嵌套的情况(列如: prop:user.name)\n\t * @param {Object} row 当前行数据\n\t * @param {String} prop 当前 prop\n\t */\n\thandleRowAccordingToProp(row: any, prop: string): any {\n\t\tif (!prop.includes(\".\")) return row[prop];\n\t\tprop.split(\".\").forEach((item) => (row = row[item]));\n\t\treturn row;\n\t},\n\t/**\n\t * @description 处理 prop,当 prop 为多级嵌套时 ==> 返回最后一级 prop\n\t * @param {String} prop 当前 prop\n\t */\n\thandleProp(prop: string): string {\n\t\tconst propArr = prop.split(\".\");\n\t\tif (propArr.length === 1) return prop;\n\t\treturn propArr[propArr.length - 1];\n\t},\n\t/**\n\t * @description 根据枚举列表查询当需要的数据(如果指定了 label 和 value 的 key值,会自动识别格式化)\n\t * @param {String} callValue 当前单元格值\n\t * @param {Array} enumData 字典列表\n\t * @param {Array} fieldNames 指定 label && value 的 key 值\n\t * @param {String} type 过滤类型(目前只有 tag)\n\t */\n\tfilterEnum(callValue: any, enumData: FaTableEnumColumnCtx[], fieldNames?: { label: string; value: string }, type?: \"tag\"): string {\n\t\tconst value = fieldNames?.value ?? \"value\";\n\t\tconst label = fieldNames?.label ?? \"label\";\n\t\tlet filterData: any = {};\n\t\tif (isArray(enumData)) {\n\t\t\tfilterData = enumData.find((item: any) => item[value] === callValue);\n\t\t}\n\t\tif (type === \"tag\") {\n\t\t\treturn filterData?.type ?? \"info\";\n\t\t}\n\t\treturn filterData ? filterData[label] : null;\n\t},\n\t/**\n\t * 数组动态排序\n\t */\n\tarrayDynamicSort(sortList: PagedSortInput[]): (a: any, b: any) => number {\n\t\treturn function (a: any, b: any) {\n\t\t\tif (sortList && sortList.length > 0) {\n\t\t\t\tfor (const condition of sortList) {\n\t\t\t\t\tconst property = condition.enField;\n\t\t\t\t\tconst order = condition.mode;\n\n\t\t\t\t\tconst aValue = a[property];\n\t\t\t\t\tconst bValue = b[property];\n\n\t\t\t\t\tif (typeof aValue === \"string\" && typeof bValue === \"string\") {\n\t\t\t\t\t\tif (order === \"ascending\") {\n\t\t\t\t\t\t\tconst comparison = aValue.localeCompare(bValue, \"zh-CN\");\n\t\t\t\t\t\t\tif (comparison !== 0) {\n\t\t\t\t\t\t\t\treturn comparison;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else if (order === \"descending\") {\n\t\t\t\t\t\t\tconst comparison = bValue.localeCompare(aValue, \"zh-CN\");\n\t\t\t\t\t\t\tif (comparison !== 0) {\n\t\t\t\t\t\t\t\treturn comparison;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (order === \"ascending\") {\n\t\t\t\t\t\t\tif (aValue < bValue) return -1;\n\t\t\t\t\t\t\tif (aValue > bValue) return 1;\n\t\t\t\t\t\t} else if (order === \"descending\") {\n\t\t\t\t\t\t\tif (aValue > bValue) return -1;\n\t\t\t\t\t\t\tif (aValue < bValue) return 1;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn 0;\n\t\t};\n\t},\n\t/**\n\t * 设置枚举\n\t */\n\tsetEnumMap(columnEnum: FaTableEnumColumnType, prop: string, enumMap: Map<string, FaTableEnumColumnCtx[]>): void {\n\t\tif (!columnEnum) return;\n\t\tif (isFunction(columnEnum)) {\n\t\t\tenumMap.set(prop, columnEnum());\n\t\t} else if (isArray(columnEnum)) {\n\t\t\tenumMap.set(prop, columnEnum);\n\t\t}\n\t},\n\t/**\n\t * 扁平化 columns\n\t */\n\tflatColumns(columns: FaTableColumnCtx[], enumMap?: Map<string, FaTableEnumColumnCtx[]>): FaTableColumnCtx[] {\n\t\tconst flatArr: FaTableColumnCtx[] = [];\n\t\tcolumns.forEach((col) => {\n\t\t\tif (col._children?.length) {\n\t\t\t\tflatArr.push(...this.flatColumns(col._children));\n\t\t\t}\n\n\t\t\tflatArr.push(col);\n\n\t\t\t// 给每一项 column 添加 show && filterEnum 默认属性\n\t\t\tcol.show = col.show ?? true;\n\t\t\t// col.filterEnum = col.filterEnum ?? col.tag ?? false;\n\n\t\t\tlet enumKey = col.prop ?? col.search?.key;\n\n\t\t\tif (col.enum && isString(col.enum)) {\n\t\t\t\tenumKey = col.enum;\n\t\t\t}\n\n\t\t\t// 设置 enumMap\n\t\t\tthis.setEnumMap(col.enum, enumKey, enumMap);\n\t\t});\n\t\treturn flatArr.filter((item) => !item._children?.length);\n\t},\n};\n"],"mappings":"uEAMA,IAAa,EAAY,CAKxB,YAAY,GAEP,EAAQ,GAAmB,EAAU,OAAS,EAAU,KAAK,OAAS,KACnE,EAOR,yBAAA,CAAyB,EAAU,IAC7B,EAAK,SAAS,MACnB,EAAK,MAAM,KAAK,QAAS,GAAU,EAAM,EAAI,IACtC,GAFyB,EAAI,GAQrC,UAAA,CAAW,GACV,MAAM,EAAU,EAAK,MAAM,KAC3B,OAAuB,IAAnB,EAAQ,OAAqB,EAC1B,EAAQ,EAAQ,OAAS,IASjC,UAAA,CAAW,EAAgB,EAAkC,EAA+C,GAC3G,MAAM,EAAQ,GAAY,OAAS,QAC7B,EAAQ,GAAY,OAAS,QACnC,IAAI,EAAkB,CAAA,EAItB,OAHI,EAAQ,KACX,EAAa,EAAS,KAAM,GAAc,EAAK,KAAW,IAE9C,QAAT,EACI,GAAY,MAAQ,OAErB,EAAa,EAAW,GAAS,MAKzC,iBAAiB,GACT,SAAU,EAAQ,GACxB,GAAI,GAAY,EAAS,OAAS,EACjC,IAAK,MAAM,KAAa,EAAU,CACjC,MAAM,EAAW,EAAU,QACrB,EAAQ,EAAU,KAElB,EAAS,EAAE,GACX,EAAS,EAAE,GAEjB,GAAsB,iBAAX,GAAyC,iBAAX,GACxC,GAAc,cAAV,EAAuB,CAC1B,MAAM,EAAa,EAAO,cAAc,EAAQ,SAChD,GAAmB,IAAf,EACH,OAAO,UAEY,eAAV,EAAwB,CAClC,MAAM,EAAa,EAAO,cAAc,EAAQ,SAChD,GAAmB,IAAf,EACH,OAAO,QAIT,GAAc,cAAV,EAAuB,CAC1B,GAAI,EAAS,EAAQ,OAAQ,EAC7B,GAAI,EAAS,EAAQ,OAAO,UACR,eAAV,EAAwB,CAClC,GAAI,EAAS,EAAQ,OAAQ,EAC7B,GAAI,EAAS,EAAQ,OAAO,GAMhC,OAAO,GAMT,UAAA,CAAW,EAAmC,EAAc,GACtD,IACD,EAAW,GACd,EAAQ,IAAI,EAAM,KACR,EAAQ,IAClB,EAAQ,IAAI,EAAM,KAMpB,WAAA,CAAY,EAA6B,GACxC,MAAM,EAA8B,GAqBpC,OApBA,EAAQ,QAAS,IACZ,EAAI,WAAW,QAClB,EAAQ,QAAQ,KAAK,YAAY,EAAI,YAGtC,EAAQ,KAAK,GAGb,EAAI,KAAO,EAAI,OAAQ,EAGvB,IAAI,EAAU,EAAI,MAAQ,EAAI,QAAQ,IAElC,EAAI,MAAQ,EAAS,EAAI,QAC5B,EAAU,EAAI,MAIf,KAAK,WAAW,EAAI,KAAM,EAAS,KAE7B,EAAQ,OAAQ,IAAU,EAAK,WAAW"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import
|
|
2
|
-
//# sourceMappingURL=index.mjs.map
|
|
1
|
+
import r,{faTreeEmits as t,faTreeProps as e}from"./src/tree.mjs";import"./src/tree.type.mjs";import{withInstall as m}from"@fast-china/utils";var s=m(r);export{s as default};
|
|
2
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../../../packages/components/tree/index.ts"],"sourcesContent":["import { withInstall } from \"@fast-china/utils\";\nimport Tree, { faTreeEmits, faTreeProps } from \"./src/tree\";\nimport type { ExtractPropTypes } from \"vue\";\n\nexport const FaTree = withInstall(Tree);\nexport default FaTree;\n\nexport { faTreeProps, faTreeEmits };\nexport * from \"./src/tree.type\";\n\nexport declare type FaTreeInstance = InstanceType<typeof Tree>;\n\nexport declare type FaTreeProps = ExtractPropTypes<typeof faTreeProps>;\n\nexport declare type FaTreeEmits = typeof faTreeEmits;\n"],"
|
|
1
|
+
{"version":3,"file":"index.mjs","names":[],"sources":["../../../../packages/components/tree/index.ts"],"sourcesContent":["import { withInstall } from \"@fast-china/utils\";\nimport Tree, { faTreeEmits, faTreeProps } from \"./src/tree\";\nimport type { ExtractPropTypes } from \"vue\";\n\nexport const FaTree = withInstall(Tree);\nexport default FaTree;\n\nexport { faTreeProps, faTreeEmits };\nexport * from \"./src/tree.type\";\n\nexport declare type FaTreeInstance = InstanceType<typeof Tree>;\n\nexport declare type FaTreeProps = ExtractPropTypes<typeof faTreeProps>;\n\nexport declare type FaTreeEmits = typeof faTreeEmits;\n"],"mappings":"6IAIA,IAAa,EAAS,EAAY"}
|
|
@@ -139,18 +139,18 @@ export declare const faTreeEmits: {
|
|
|
139
139
|
/** @description 改变 */
|
|
140
140
|
change: (data: ElTreeOutput, node: any, instance: ComponentInternalInstance, event: MouseEvent) => boolean;
|
|
141
141
|
'check-change': (data: any, checked: boolean, indeterminate: boolean) => any;
|
|
142
|
-
'current-change': (data: any | null, node: import('element-plus/es/components/tree/src/model/node.mjs').
|
|
143
|
-
'node-click': (data: any, node: import('element-plus/es/components/tree/src/model/node.mjs').
|
|
144
|
-
'node-contextmenu': (evt: Event, data: any, node: import('element-plus/es/components/tree/src/model/node.mjs').
|
|
145
|
-
'node-collapse': (data: any, node: import('element-plus/es/components/tree/src/model/node.mjs').
|
|
146
|
-
'node-expand': (data: any, node: import('element-plus/es/components/tree/src/model/node.mjs').
|
|
142
|
+
'current-change': (data: any | null, node: import('element-plus/es/components/tree/src/model/node.mjs').Node | null) => boolean;
|
|
143
|
+
'node-click': (data: any, node: import('element-plus/es/components/tree/src/model/node.mjs').Node, nodeInstance: ComponentInternalInstance | null, evt: MouseEvent) => any;
|
|
144
|
+
'node-contextmenu': (evt: Event, data: any, node: import('element-plus/es/components/tree/src/model/node.mjs').Node, nodeInstance: ComponentInternalInstance | null) => any;
|
|
145
|
+
'node-collapse': (data: any, node: import('element-plus/es/components/tree/src/model/node.mjs').Node, nodeInstance: ComponentInternalInstance | null) => any;
|
|
146
|
+
'node-expand': (data: any, node: import('element-plus/es/components/tree/src/model/node.mjs').Node, nodeInstance: ComponentInternalInstance | null) => any;
|
|
147
147
|
check: (data: any, checkedInfo: import('element-plus').CheckedInfo) => any;
|
|
148
|
-
'node-drag-start': (node: import('element-plus/es/components/tree/src/model/node.mjs').
|
|
149
|
-
'node-drag-end': (draggingNode: import('element-plus/es/components/tree/src/model/node.mjs').
|
|
150
|
-
'node-drop': (draggingNode: import('element-plus/es/components/tree/src/model/node.mjs').
|
|
151
|
-
'node-drag-leave': (draggingNode: import('element-plus/es/components/tree/src/model/node.mjs').
|
|
152
|
-
'node-drag-enter': (draggingNode: import('element-plus/es/components/tree/src/model/node.mjs').
|
|
153
|
-
'node-drag-over': (draggingNode: import('element-plus/es/components/tree/src/model/node.mjs').
|
|
148
|
+
'node-drag-start': (node: import('element-plus/es/components/tree/src/model/node.mjs').Node, evt: DragEvent) => DragEvent;
|
|
149
|
+
'node-drag-end': (draggingNode: import('element-plus/es/components/tree/src/model/node.mjs').Node, dropNode: import('element-plus/es/components/tree/src/model/node.mjs').Node | null, dropType: import('element-plus').NodeDropType, evt: DragEvent) => DragEvent;
|
|
150
|
+
'node-drop': (draggingNode: import('element-plus/es/components/tree/src/model/node.mjs').Node, dropNode: import('element-plus/es/components/tree/src/model/node.mjs').Node, dropType: Exclude<import('element-plus').NodeDropType, "none">, evt: DragEvent) => DragEvent;
|
|
151
|
+
'node-drag-leave': (draggingNode: import('element-plus/es/components/tree/src/model/node.mjs').Node, oldDropNode: import('element-plus/es/components/tree/src/model/node.mjs').Node, evt: DragEvent) => DragEvent;
|
|
152
|
+
'node-drag-enter': (draggingNode: import('element-plus/es/components/tree/src/model/node.mjs').Node, dropNode: import('element-plus/es/components/tree/src/model/node.mjs').Node, evt: DragEvent) => DragEvent;
|
|
153
|
+
'node-drag-over': (draggingNode: import('element-plus/es/components/tree/src/model/node.mjs').Node, dropNode: import('element-plus/es/components/tree/src/model/node.mjs').Node, evt: DragEvent) => DragEvent;
|
|
154
154
|
};
|
|
155
155
|
type FaTreeSlots = {
|
|
156
156
|
/** @description 默认内容插槽 */
|
|
@@ -302,7 +302,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
302
302
|
/** @description 如果节点可以被选中,(show-checkbox 为 true), 本方法将返回当前选中节点的数组 */
|
|
303
303
|
getCheckedNodes: import('vue').ComputedRef<(leafOnly?: boolean, includeHalfChecked?: boolean) => import('element-plus').TreeNodeData[]>;
|
|
304
304
|
/** @description 设置目前勾选的节点,使用此方法必须提前设置 node-key 属性 */
|
|
305
|
-
setCheckedNodes: import('vue').ComputedRef<(nodes: import('element-plus/es/components/tree/src/model/node.mjs').
|
|
305
|
+
setCheckedNodes: import('vue').ComputedRef<(nodes: import('element-plus/es/components/tree/src/model/node.mjs').Node[], leafOnly?: boolean) => void>;
|
|
306
306
|
/** @description 若节点可用被选中 (show-checkbox 为 true), 它将返回当前选中节点 key 的数组 */
|
|
307
307
|
getCheckedKeys: import('vue').ComputedRef<(leafOnly?: boolean) => import('element-plus').TreeKey[]>;
|
|
308
308
|
/** @description 设置目前选中的节点,使用此方法必须设置 node-key 属性 */
|
|
@@ -320,17 +320,17 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
320
320
|
/** @description 通过 key 设置某个节点的当前选中状态,使用此方法必须设置 node-key 属性 */
|
|
321
321
|
setCurrentKey: import('vue').ComputedRef<(key?: import('element-plus').TreeKey | null, shouldAutoExpandParent?: boolean) => void>;
|
|
322
322
|
/** @description 设置节点为选中状态,使用此方法必须设置 node-key 属性 */
|
|
323
|
-
setCurrentNode: import('vue').ComputedRef<(node: import('element-plus/es/components/tree/src/model/node.mjs').
|
|
323
|
+
setCurrentNode: import('vue').ComputedRef<(node: import('element-plus/es/components/tree/src/model/node.mjs').Node, shouldAutoExpandParent?: boolean) => void>;
|
|
324
324
|
/** @description 根据 data 或者 key 拿到 Tree 组件中的 node */
|
|
325
|
-
getNode: import('vue').ComputedRef<(data: import('element-plus').TreeKey | import('element-plus').TreeNodeData) => import('element-plus/es/components/tree/src/model/node.mjs').
|
|
325
|
+
getNode: import('vue').ComputedRef<(data: import('element-plus').TreeKey | import('element-plus').TreeNodeData) => import('element-plus/es/components/tree/src/model/node.mjs').Node>;
|
|
326
326
|
/** @description 删除 Tree 中的一个节点,使用此方法必须设置 node-key 属性 */
|
|
327
|
-
remove: import('vue').ComputedRef<(data: import('element-plus').TreeNodeData | import('element-plus/es/components/tree/src/model/node.mjs').
|
|
327
|
+
remove: import('vue').ComputedRef<(data: import('element-plus').TreeNodeData | import('element-plus/es/components/tree/src/model/node.mjs').Node) => void>;
|
|
328
328
|
/** @description 为 Tree 中的一个节点追加一个子节点 */
|
|
329
|
-
append: import('vue').ComputedRef<(data: import('element-plus').TreeNodeData, parentNode: import('element-plus').TreeNodeData | import('element-plus').TreeKey | import('element-plus/es/components/tree/src/model/node.mjs').
|
|
329
|
+
append: import('vue').ComputedRef<(data: import('element-plus').TreeNodeData, parentNode: import('element-plus').TreeNodeData | import('element-plus').TreeKey | import('element-plus/es/components/tree/src/model/node.mjs').Node) => void>;
|
|
330
330
|
/** @description 在 Tree 中给定节点前插入一个节点 */
|
|
331
|
-
insertBefore: import('vue').ComputedRef<(data: import('element-plus').TreeNodeData, refNode: import('element-plus').TreeKey | import('element-plus').TreeNodeData | import('element-plus/es/components/tree/src/model/node.mjs').
|
|
331
|
+
insertBefore: import('vue').ComputedRef<(data: import('element-plus').TreeNodeData, refNode: import('element-plus').TreeKey | import('element-plus').TreeNodeData | import('element-plus/es/components/tree/src/model/node.mjs').Node) => void>;
|
|
332
332
|
/** @description 在 Tree 中给定节点后插入一个节点 */
|
|
333
|
-
insertAfter: import('vue').ComputedRef<(data: import('element-plus').TreeNodeData, refNode: import('element-plus').TreeKey | import('element-plus').TreeNodeData | import('element-plus/es/components/tree/src/model/node.mjs').
|
|
333
|
+
insertAfter: import('vue').ComputedRef<(data: import('element-plus').TreeNodeData, refNode: import('element-plus').TreeKey | import('element-plus').TreeNodeData | import('element-plus/es/components/tree/src/model/node.mjs').Node) => void>;
|
|
334
334
|
/** @description 加载状态 */
|
|
335
335
|
loading: import('vue').ComputedRef<boolean>;
|
|
336
336
|
/** @description 刷新 */
|
|
@@ -345,18 +345,18 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
345
345
|
/** @description 改变 */
|
|
346
346
|
change: (data: ElTreeOutput, node: any, instance: ComponentInternalInstance, event: MouseEvent) => boolean;
|
|
347
347
|
'check-change': (data: any, checked: boolean, indeterminate: boolean) => any;
|
|
348
|
-
'current-change': (data: any | null, node: import('element-plus/es/components/tree/src/model/node.mjs').
|
|
349
|
-
'node-click': (data: any, node: import('element-plus/es/components/tree/src/model/node.mjs').
|
|
350
|
-
'node-contextmenu': (evt: Event, data: any, node: import('element-plus/es/components/tree/src/model/node.mjs').
|
|
351
|
-
'node-collapse': (data: any, node: import('element-plus/es/components/tree/src/model/node.mjs').
|
|
352
|
-
'node-expand': (data: any, node: import('element-plus/es/components/tree/src/model/node.mjs').
|
|
348
|
+
'current-change': (data: any | null, node: import('element-plus/es/components/tree/src/model/node.mjs').Node | null) => boolean;
|
|
349
|
+
'node-click': (data: any, node: import('element-plus/es/components/tree/src/model/node.mjs').Node, nodeInstance: ComponentInternalInstance | null, evt: MouseEvent) => any;
|
|
350
|
+
'node-contextmenu': (evt: Event, data: any, node: import('element-plus/es/components/tree/src/model/node.mjs').Node, nodeInstance: ComponentInternalInstance | null) => any;
|
|
351
|
+
'node-collapse': (data: any, node: import('element-plus/es/components/tree/src/model/node.mjs').Node, nodeInstance: ComponentInternalInstance | null) => any;
|
|
352
|
+
'node-expand': (data: any, node: import('element-plus/es/components/tree/src/model/node.mjs').Node, nodeInstance: ComponentInternalInstance | null) => any;
|
|
353
353
|
check: (data: any, checkedInfo: import('element-plus').CheckedInfo) => any;
|
|
354
|
-
'node-drag-start': (node: import('element-plus/es/components/tree/src/model/node.mjs').
|
|
355
|
-
'node-drag-end': (draggingNode: import('element-plus/es/components/tree/src/model/node.mjs').
|
|
356
|
-
'node-drop': (draggingNode: import('element-plus/es/components/tree/src/model/node.mjs').
|
|
357
|
-
'node-drag-leave': (draggingNode: import('element-plus/es/components/tree/src/model/node.mjs').
|
|
358
|
-
'node-drag-enter': (draggingNode: import('element-plus/es/components/tree/src/model/node.mjs').
|
|
359
|
-
'node-drag-over': (draggingNode: import('element-plus/es/components/tree/src/model/node.mjs').
|
|
354
|
+
'node-drag-start': (node: import('element-plus/es/components/tree/src/model/node.mjs').Node, evt: DragEvent) => DragEvent;
|
|
355
|
+
'node-drag-end': (draggingNode: import('element-plus/es/components/tree/src/model/node.mjs').Node, dropNode: import('element-plus/es/components/tree/src/model/node.mjs').Node | null, dropType: import('element-plus').NodeDropType, evt: DragEvent) => DragEvent;
|
|
356
|
+
'node-drop': (draggingNode: import('element-plus/es/components/tree/src/model/node.mjs').Node, dropNode: import('element-plus/es/components/tree/src/model/node.mjs').Node, dropType: Exclude<import('element-plus').NodeDropType, "none">, evt: DragEvent) => DragEvent;
|
|
357
|
+
'node-drag-leave': (draggingNode: import('element-plus/es/components/tree/src/model/node.mjs').Node, oldDropNode: import('element-plus/es/components/tree/src/model/node.mjs').Node, evt: DragEvent) => DragEvent;
|
|
358
|
+
'node-drag-enter': (draggingNode: import('element-plus/es/components/tree/src/model/node.mjs').Node, dropNode: import('element-plus/es/components/tree/src/model/node.mjs').Node, evt: DragEvent) => DragEvent;
|
|
359
|
+
'node-drag-over': (draggingNode: import('element-plus/es/components/tree/src/model/node.mjs').Node, dropNode: import('element-plus/es/components/tree/src/model/node.mjs').Node, evt: DragEvent) => DragEvent;
|
|
360
360
|
}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
|
|
361
361
|
/** @description whether Select is disabled 重载使其支持 ElForm*/
|
|
362
362
|
disabled: {
|
|
@@ -511,18 +511,18 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
511
511
|
quantity?: number;
|
|
512
512
|
}[]) => any;
|
|
513
513
|
"onCheck-change"?: (data: any, checked: boolean, indeterminate: boolean) => any;
|
|
514
|
-
"onCurrent-change"?: (data: any, node: import('element-plus/es/components/tree/src/model/node.mjs').
|
|
515
|
-
"onNode-click"?: (data: any, node: import('element-plus/es/components/tree/src/model/node.mjs').
|
|
516
|
-
"onNode-contextmenu"?: (evt: Event, data: any, node: import('element-plus/es/components/tree/src/model/node.mjs').
|
|
517
|
-
"onNode-collapse"?: (data: any, node: import('element-plus/es/components/tree/src/model/node.mjs').
|
|
518
|
-
"onNode-expand"?: (data: any, node: import('element-plus/es/components/tree/src/model/node.mjs').
|
|
514
|
+
"onCurrent-change"?: (data: any, node: import('element-plus/es/components/tree/src/model/node.mjs').Node) => any;
|
|
515
|
+
"onNode-click"?: (data: any, node: import('element-plus/es/components/tree/src/model/node.mjs').Node, nodeInstance: ComponentInternalInstance, evt: MouseEvent) => any;
|
|
516
|
+
"onNode-contextmenu"?: (evt: Event, data: any, node: import('element-plus/es/components/tree/src/model/node.mjs').Node, nodeInstance: ComponentInternalInstance) => any;
|
|
517
|
+
"onNode-collapse"?: (data: any, node: import('element-plus/es/components/tree/src/model/node.mjs').Node, nodeInstance: ComponentInternalInstance) => any;
|
|
518
|
+
"onNode-expand"?: (data: any, node: import('element-plus/es/components/tree/src/model/node.mjs').Node, nodeInstance: ComponentInternalInstance) => any;
|
|
519
519
|
onCheck?: (data: any, checkedInfo: import('element-plus').CheckedInfo) => any;
|
|
520
|
-
"onNode-drag-start"?: (node: import('element-plus/es/components/tree/src/model/node.mjs').
|
|
521
|
-
"onNode-drag-end"?: (draggingNode: import('element-plus/es/components/tree/src/model/node.mjs').
|
|
522
|
-
"onNode-drop"?: (draggingNode: import('element-plus/es/components/tree/src/model/node.mjs').
|
|
523
|
-
"onNode-drag-leave"?: (draggingNode: import('element-plus/es/components/tree/src/model/node.mjs').
|
|
524
|
-
"onNode-drag-enter"?: (draggingNode: import('element-plus/es/components/tree/src/model/node.mjs').
|
|
525
|
-
"onNode-drag-over"?: (draggingNode: import('element-plus/es/components/tree/src/model/node.mjs').
|
|
520
|
+
"onNode-drag-start"?: (node: import('element-plus/es/components/tree/src/model/node.mjs').Node, evt: DragEvent) => any;
|
|
521
|
+
"onNode-drag-end"?: (draggingNode: import('element-plus/es/components/tree/src/model/node.mjs').Node, dropNode: import('element-plus/es/components/tree/src/model/node.mjs').Node, dropType: import('element-plus').NodeDropType, evt: DragEvent) => any;
|
|
522
|
+
"onNode-drop"?: (draggingNode: import('element-plus/es/components/tree/src/model/node.mjs').Node, dropNode: import('element-plus/es/components/tree/src/model/node.mjs').Node, dropType: "before" | "after" | "inner", evt: DragEvent) => any;
|
|
523
|
+
"onNode-drag-leave"?: (draggingNode: import('element-plus/es/components/tree/src/model/node.mjs').Node, oldDropNode: import('element-plus/es/components/tree/src/model/node.mjs').Node, evt: DragEvent) => any;
|
|
524
|
+
"onNode-drag-enter"?: (draggingNode: import('element-plus/es/components/tree/src/model/node.mjs').Node, dropNode: import('element-plus/es/components/tree/src/model/node.mjs').Node, evt: DragEvent) => any;
|
|
525
|
+
"onNode-drag-over"?: (draggingNode: import('element-plus/es/components/tree/src/model/node.mjs').Node, dropNode: import('element-plus/es/components/tree/src/model/node.mjs').Node, evt: DragEvent) => any;
|
|
526
526
|
}>, {
|
|
527
527
|
props: import('./tree.props').TreeOptionProps;
|
|
528
528
|
data: {
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{
|
|
2
|
-
//# sourceMappingURL=tree.mjs.map
|
|
1
|
+
import{treeProps as e}from"./tree.props.mjs";import{addUnit as l,consoleError as a,definePropType as t,makeSlots as r,useEmits as d,useExpose as u,useProps as n,useRender as o,withDefineType as i}from"@fast-china/utils";import{computed as s,createTextVNode as c,createVNode as p,defineComponent as h,mergeProps as f,nextTick as g,onMounted as m,reactive as v,ref as y,resolveDirective as C,watch as b,withDirectives as k}from"vue";import{ElIcon as N,ElInput as K,ElScrollbar as B,ElTree as x,treeEmits as O,useGlobalSize as V}from"element-plus";import{Expand as D,Fold as S}from"@element-plus/icons-vue";import{isArray as A,isBoolean as _,isNull as w,isNumber as T,isObject as q,isString as F}from"lodash-unified";import{useVModel as M}from"@vueuse/core";var j={...e,disabled:{type:Boolean,default:void 0},nodeKey:{type:String,default:"value"},defaultExpandAll:{type:Boolean,default:!0},checkOnClickNode:{type:Boolean,default:!0},highlightCurrent:{type:Boolean,default:!0},collapseOnClickNode:Boolean,modelValue:{type:t([String,Number,Boolean,Object]),default:void 0},label:String,width:{type:[String,Number],default:180},defaultSelection:[String,Number],title:String,hamburger:Boolean,hideAll:Boolean,hideFilter:Boolean,allValue:{type:t([String,Number,Boolean,Object]),default:void 0},data:{type:t(Array),default:()=>[]},requestApi:{type:t(Function)},initParam:t([String,Number,Object])},H={...O,"update:modelValue":e=>F(e)||T(e)||_(e)||q(e)||w(e),"update:label":e=>F(e)||w(e),dataChangeCallBack:e=>A(e),change:(e,l,a,t)=>!0},P=/* @__PURE__ */h({name:"FaTree",props:j,emits:H,slots:r(),setup(t,{attrs:r,slots:h,emit:A,expose:_}){const w=M(t,"label",A,{passive:!0}),T=V(),q=v({value:i(),loading:!1,searchValue:i(),orgTreeData:i([]),treeData:i([]),hamburger:t.hamburger||!1,width:s(()=>{if(q.hamburger)return"130px";{const e=l(t.width);return"small"===T.value?`calc(${e} * 0.9)`:e}})}),F=s(()=>0===[...q.orgTreeData].filter(e=>e[t.props.children]?.length>0).length),j=y(),H=async()=>{let e;t.nodeKey&&(e=j.value.getCurrentKey());let l=[];if(t.requestApi){q.loading=!0;const e={...t.initParam??{},searchValue:q.searchValue};try{l=await t.requestApi(e)}catch(r){a("FaTree",r)}finally{q.loading=!1}}else l=t.data;t.hideAll||l.unshift({[t.nodeKey]:t.allValue,label:"全部",value:null,all:!0}),q.orgTreeData=l,q.treeData=l,A("dataChangeCallBack",q.treeData),t.nodeKey&&e?g(()=>{j.value.setCurrentKey(e)}):t.defaultSelection&&g(()=>{j.value.setCurrentKey(t.defaultSelection)})},P=()=>{q.hamburger?q.treeData=q.orgTreeData:q.treeData=q.orgTreeData.map(e=>({...e,[t.props.children]:[]})),q.hamburger=!q.hamburger},$=(e,l,a)=>{if(!e)return!0;let r=a.parent,d=l.all?[l.label]:[a.label],u=1;for(;u<a.level;)d=[...d,r.label],r=r.parent,u++;const n=d.some(l=>-1!==l.indexOf(e));return t.filterNodeMethod?n&&t.filterNodeMethod(e,l,a):n},E=(e,l,a,r)=>{t.expandOnClickNode&&(l.expanded?l.expanded&&t.collapseOnClickNode&&l.collapse():l.expand()),q.value=l.key,w.value=l.label,A("update:modelValue",q.value),A("change",e,l,a,r),A("node-click",e,l,a,r)};m(async()=>{await H(),b(()=>t.data,async()=>{t.requestApi||await H()},{deep:!0})});const I=n(t,e,["data","expandOnClickNode","filterNodeMethod"]),L=d(O,A,["node-click"]);return o(()=>k(p("div",{class:["el-card fa-tree",`fa-tree-${T.value}`,{"fa-tree__fold":q.hamburger||F.value}],style:{width:q.width}},[(t.title||t.hamburger)&&p("div",{class:"fa-tree__title"},[t.title&&p("h4",null,[t.title]),t.hamburger&&(q.hamburger?p(N,{onClick:P,title:"展开"},{default:()=>[p(D,null,null)]}):p(N,{onClick:P,title:"折叠"},{default:()=>[p(S,null,null)]}))]),!t.hideFilter&&p(K,{class:"fa-tree__search-input",modelValue:q.searchValue,modelModifiers:{trim:!0},"onUpdate:modelValue":e=>q.searchValue=e,placeholder:q.hamburger?"关键字过滤":"输入关键字进行过滤",clearable:!0,onInput:e=>j.value.filter(e)},null),p(B,{class:"fa-tree__scrollbar"},{default:()=>[p(x,f(I.value,L.value,{ref:j,data:q.treeData,expandOnClickNode:!t.checkOnClickNode&&t.expandOnClickNode,filterNodeMethod:$,onNodeClick:E}),{default:({node:e,data:l})=>p("span",{class:"el-tree-node__label",title:l?.all?l.label:e.label,style:{paddingLeft:F.value?"3px":""}},[p("div",null,[l?.all?l.label:h.label?h.label({node:e,data:l}):e.label]),e.key&&l.showQuantity?p("span",null,[c("["),l.quantity,c("]")]):null,!l?.all&&h.default&&p("span",null,[h.default({node:e,data:l})])]),...h.empty&&{empty:()=>h.empty()}})]})]),[[C("loading"),q.loading]])),u(_,{filter:s(()=>j.value?.filter),updateKeyChildren:s(()=>j.value?.updateKeyChildren),getCheckedNodes:s(()=>j.value?.getCheckedNodes),setCheckedNodes:s(()=>j.value?.setCheckedNodes),getCheckedKeys:s(()=>j.value?.getCheckedKeys),setCheckedKeys:s(()=>j.value?.setCheckedKeys),setChecked:s(()=>j.value?.setChecked),getHalfCheckedNodes:s(()=>j.value?.getHalfCheckedNodes),getHalfCheckedKeys:s(()=>j.value?.getHalfCheckedKeys),getCurrentKey:s(()=>j.value?.getCurrentKey),getCurrentNode:s(()=>j.value?.getCurrentNode),setCurrentKey:s(()=>j.value?.setCurrentKey),setCurrentNode:s(()=>j.value?.setCurrentNode),getNode:s(()=>j.value?.getNode),remove:s(()=>j.value?.remove),append:s(()=>j.value?.append),insertBefore:s(()=>j.value?.insertBefore),insertAfter:s(()=>j.value?.insertAfter),loading:s(()=>q.loading),refresh:H})}});export{P as default,H as faTreeEmits,j as faTreeProps};
|
|
2
|
+
//# sourceMappingURL=tree.mjs.map
|