@cfmm/umi-plugins-ui-v2 0.0.1
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/README.md +29 -0
- package/dist/cjs/components/ActionLogDrawer.tpl +148 -0
- package/dist/cjs/components/AddDrawerForm.tpl +38 -0
- package/dist/cjs/components/AuthorizeRender.tpl +11 -0
- package/dist/cjs/components/Authorized.tpl +39 -0
- package/dist/cjs/components/AuthorizedRoute.tpl +33 -0
- package/dist/cjs/components/AvatarDropdown.tpl +101 -0
- package/dist/cjs/components/CheckPermissions.tpl +100 -0
- package/dist/cjs/components/CopyButton.tpl +49 -0
- package/dist/cjs/components/CrudTable.tpl +650 -0
- package/dist/cjs/components/DicDropDownList.tpl +60 -0
- package/dist/cjs/components/DndTabs.tpl +159 -0
- package/dist/cjs/components/DndTag.tpl +89 -0
- package/dist/cjs/components/DropdownButton.tpl +123 -0
- package/dist/cjs/components/DynamicIcon.tpl +73 -0
- package/dist/cjs/components/DynamicIconModal.tpl +196 -0
- package/dist/cjs/components/EditMultiLangForm.tpl +366 -0
- package/dist/cjs/components/ExportPageWrapper.tpl +224 -0
- package/dist/cjs/components/FlieListModal.tpl +79 -0
- package/dist/cjs/components/FormUpload.tpl +561 -0
- package/dist/cjs/components/GlobalFooter.tpl +21 -0
- package/dist/cjs/components/GlobalHeader.less +51 -0
- package/dist/cjs/components/GlobalHeader.tpl +313 -0
- package/dist/cjs/components/HeaderSearch.less +32 -0
- package/dist/cjs/components/HeaderSearch.tpl +92 -0
- package/dist/cjs/components/HighlightStr.tpl +41 -0
- package/dist/cjs/components/ImportDataUpload.tpl +94 -0
- package/dist/cjs/components/ImportExecl.less +10 -0
- package/dist/cjs/components/ImportExecl.tpl +108 -0
- package/dist/cjs/components/KeepAliveDndTabs.tpl +151 -0
- package/dist/cjs/components/KeepAliveTabs.less +23 -0
- package/dist/cjs/components/KeepAliveTabs.tpl +136 -0
- package/dist/cjs/components/Loading.css +19 -0
- package/dist/cjs/components/LoadingSvg.tpl +14 -0
- package/dist/cjs/components/MenuFooter.css +13 -0
- package/dist/cjs/components/MenuFooter.tpl +24 -0
- package/dist/cjs/components/MyColorPicker.tpl +19 -0
- package/dist/cjs/components/MyFooterToolbar.css +6 -0
- package/dist/cjs/components/MyFooterToolbar.tpl +56 -0
- package/dist/cjs/components/MyPageContainer.tpl +43 -0
- package/dist/cjs/components/MyReactEcharts.tpl +11 -0
- package/dist/cjs/components/MySelect.tpl +267 -0
- package/dist/cjs/components/MySelectLang.tpl +22 -0
- package/dist/cjs/components/MySetps.tpl +85 -0
- package/dist/cjs/components/MyTagList.tpl +57 -0
- package/dist/cjs/components/MyUpload.less +39 -0
- package/dist/cjs/components/MyUpload.tpl +609 -0
- package/dist/cjs/components/NoFoundPage.tpl +46 -0
- package/dist/cjs/components/PDFWrapper.tpl +96 -0
- package/dist/cjs/components/PageLoading.tpl +16 -0
- package/dist/cjs/components/PermissionSelect.tpl +230 -0
- package/dist/cjs/components/ProFormUTCDatePicker.tpl +20 -0
- package/dist/cjs/components/ProFormUTCRangePicker.tpl +20 -0
- package/dist/cjs/components/PromiseRender.tpl +93 -0
- package/dist/cjs/components/QrCodeModal.tpl +19 -0
- package/dist/cjs/components/RandomAvatar.tpl +34 -0
- package/dist/cjs/components/RefDrawerForm.tpl +75 -0
- package/dist/cjs/components/ReportTable.tpl +336 -0
- package/dist/cjs/components/Secured.tpl +66 -0
- package/dist/cjs/components/ThemeSwitch.tpl +74 -0
- package/dist/cjs/components/TimeTypeSelect.tpl +35 -0
- package/dist/cjs/components/TipsTableTitle.tpl +37 -0
- package/dist/cjs/components/UTCDatePicker.tpl +107 -0
- package/dist/cjs/components/UTCRangePicker.tpl +142 -0
- package/dist/cjs/components/UpdateForm.tpl +32 -0
- package/dist/cjs/components/UserDisable.tpl +58 -0
- package/dist/cjs/components/UserNoPagePermission.tpl +58 -0
- package/dist/cjs/components/UserNoPermission.tpl +58 -0
- package/dist/cjs/components/ViewTableItemDrawer.tpl +29 -0
- package/dist/cjs/components/VolumeFormItem.tpl +59 -0
- package/dist/cjs/components/WangEditor.css +53 -0
- package/dist/cjs/components/WangEditor.tpl +174 -0
- package/dist/cjs/components/WangEditorView.tpl +24 -0
- package/dist/cjs/components/fileTypeMap.tpl +96 -0
- package/dist/cjs/components/renderAuthorize.tpl +44 -0
- package/dist/cjs/context/KeepAliveTabs.tpl +13 -0
- package/dist/cjs/context/index.tpl +1 -0
- package/dist/cjs/hooks/useAction.tpl +126 -0
- package/dist/cjs/hooks/useActionLocales.tpl +108 -0
- package/dist/cjs/hooks/useAuthority.tpl +27 -0
- package/dist/cjs/hooks/useColumnTitle.tpl +47 -0
- package/dist/cjs/hooks/useFormatLocale.tpl +82 -0
- package/dist/cjs/hooks/useKeepAliveTabs.tpl +255 -0
- package/dist/cjs/hooks/useMatchRoute.tpl +76 -0
- package/dist/cjs/hooks/useMemoizedFn.tpl +32 -0
- package/dist/cjs/hooks/useOutlet.tpl +20 -0
- package/dist/cjs/hooks/usePageExport.tpl +155 -0
- package/dist/cjs/hooks/useQueryTableList.tpl +91 -0
- package/dist/cjs/hooks/useRouteAuth.tpl +122 -0
- package/dist/cjs/index.d.ts +6 -0
- package/dist/cjs/index.js +122 -0
- package/dist/cjs/locales/en-US.d.ts +163 -0
- package/dist/cjs/locales/en-US.js +16 -0
- package/dist/cjs/locales/enUS/ActionLogDrawer.d.ts +6 -0
- package/dist/cjs/locales/enUS/ActionLogDrawer.js +11 -0
- package/dist/cjs/locales/enUS/DynamicIconModal.d.ts +4 -0
- package/dist/cjs/locales/enUS/DynamicIconModal.js +9 -0
- package/dist/cjs/locales/enUS/EditMultiLangForm.d.ts +16 -0
- package/dist/cjs/locales/enUS/EditMultiLangForm.js +21 -0
- package/dist/cjs/locales/enUS/File.d.ts +54 -0
- package/dist/cjs/locales/enUS/File.js +60 -0
- package/dist/cjs/locales/enUS/GlobalFooter.d.ts +4 -0
- package/dist/cjs/locales/enUS/GlobalFooter.js +9 -0
- package/dist/cjs/locales/enUS/GlobalHeader.d.ts +10 -0
- package/dist/cjs/locales/enUS/GlobalHeader.js +15 -0
- package/dist/cjs/locales/enUS/MyFooterToolbar.d.ts +5 -0
- package/dist/cjs/locales/enUS/MyFooterToolbar.js +10 -0
- package/dist/cjs/locales/enUS/PermissionSelect.d.ts +4 -0
- package/dist/cjs/locales/enUS/PermissionSelect.js +9 -0
- package/dist/cjs/locales/enUS/TimeTypeSelect.d.ts +6 -0
- package/dist/cjs/locales/enUS/TimeTypeSelect.js +11 -0
- package/dist/cjs/locales/enUS/common.d.ts +74 -0
- package/dist/cjs/locales/enUS/common.js +82 -0
- package/dist/cjs/locales/enUS/index.d.ts +163 -0
- package/dist/cjs/locales/enUS/index.js +25 -0
- package/dist/cjs/locales/enUS/pages.d.ts +10 -0
- package/dist/cjs/locales/enUS/pages.js +15 -0
- package/dist/cjs/locales/th-TH.d.ts +163 -0
- package/dist/cjs/locales/th-TH.js +16 -0
- package/dist/cjs/locales/zh-CN.d.ts +163 -0
- package/dist/cjs/locales/zh-CN.js +16 -0
- package/dist/cjs/locales/zh-TW.d.ts +162 -0
- package/dist/cjs/locales/zh-TW.js +16 -0
- package/dist/cjs/locales/zhCN/ActionLogDrawer.d.ts +6 -0
- package/dist/cjs/locales/zhCN/ActionLogDrawer.js +11 -0
- package/dist/cjs/locales/zhCN/DynamicIconModal.d.ts +4 -0
- package/dist/cjs/locales/zhCN/DynamicIconModal.js +9 -0
- package/dist/cjs/locales/zhCN/EditMultiLangForm.d.ts +16 -0
- package/dist/cjs/locales/zhCN/EditMultiLangForm.js +21 -0
- package/dist/cjs/locales/zhCN/File.d.ts +54 -0
- package/dist/cjs/locales/zhCN/File.js +60 -0
- package/dist/cjs/locales/zhCN/GlobalFooter.d.ts +4 -0
- package/dist/cjs/locales/zhCN/GlobalFooter.js +9 -0
- package/dist/cjs/locales/zhCN/GlobalHeader.d.ts +10 -0
- package/dist/cjs/locales/zhCN/GlobalHeader.js +15 -0
- package/dist/cjs/locales/zhCN/MyFooterToolbar.d.ts +5 -0
- package/dist/cjs/locales/zhCN/MyFooterToolbar.js +10 -0
- package/dist/cjs/locales/zhCN/PermissionSelect.d.ts +4 -0
- package/dist/cjs/locales/zhCN/PermissionSelect.js +9 -0
- package/dist/cjs/locales/zhCN/TimeTypeSelect.d.ts +6 -0
- package/dist/cjs/locales/zhCN/TimeTypeSelect.js +11 -0
- package/dist/cjs/locales/zhCN/common.d.ts +74 -0
- package/dist/cjs/locales/zhCN/common.js +82 -0
- package/dist/cjs/locales/zhCN/index.d.ts +163 -0
- package/dist/cjs/locales/zhCN/index.js +25 -0
- package/dist/cjs/locales/zhCN/pages.d.ts +10 -0
- package/dist/cjs/locales/zhCN/pages.js +15 -0
- package/dist/cjs/locales/zhTW/ActionLogDrawer.d.ts +6 -0
- package/dist/cjs/locales/zhTW/ActionLogDrawer.js +11 -0
- package/dist/cjs/locales/zhTW/DynamicIconModal.d.ts +4 -0
- package/dist/cjs/locales/zhTW/DynamicIconModal.js +9 -0
- package/dist/cjs/locales/zhTW/EditMultiLangForm.d.ts +16 -0
- package/dist/cjs/locales/zhTW/EditMultiLangForm.js +21 -0
- package/dist/cjs/locales/zhTW/File.d.ts +53 -0
- package/dist/cjs/locales/zhTW/File.js +59 -0
- package/dist/cjs/locales/zhTW/GlobalFooter.d.ts +4 -0
- package/dist/cjs/locales/zhTW/GlobalFooter.js +9 -0
- package/dist/cjs/locales/zhTW/GlobalHeader.d.ts +10 -0
- package/dist/cjs/locales/zhTW/GlobalHeader.js +15 -0
- package/dist/cjs/locales/zhTW/MyFooterToolbar.d.ts +5 -0
- package/dist/cjs/locales/zhTW/MyFooterToolbar.js +10 -0
- package/dist/cjs/locales/zhTW/PermissionSelect.d.ts +4 -0
- package/dist/cjs/locales/zhTW/PermissionSelect.js +9 -0
- package/dist/cjs/locales/zhTW/TimeTypeSelect.d.ts +6 -0
- package/dist/cjs/locales/zhTW/TimeTypeSelect.js +11 -0
- package/dist/cjs/locales/zhTW/common.d.ts +74 -0
- package/dist/cjs/locales/zhTW/common.js +82 -0
- package/dist/cjs/locales/zhTW/index.d.ts +162 -0
- package/dist/cjs/locales/zhTW/index.js +25 -0
- package/dist/cjs/locales/zhTW/pages.d.ts +10 -0
- package/dist/cjs/locales/zhTW/pages.js +15 -0
- package/dist/cjs/services/index.tpl +160 -0
- package/dist/cjs/types/ActionLogDrawerTypes.d.ts +1 -0
- package/dist/cjs/types/ActionLogDrawerTypes.js +7 -0
- package/dist/cjs/types/AvatarDropdownTypes.d.ts +1 -0
- package/dist/cjs/types/AvatarDropdownTypes.js +7 -0
- package/dist/cjs/types/CrudTableTypes.d.ts +1 -0
- package/dist/cjs/types/CrudTableTypes.js +7 -0
- package/dist/cjs/types/DatePickerTypes.d.ts +1 -0
- package/dist/cjs/types/DatePickerTypes.js +7 -0
- package/dist/cjs/types/DicDropDownListTypes.d.ts +1 -0
- package/dist/cjs/types/DicDropDownListTypes.js +7 -0
- package/dist/cjs/types/DndTabsTypes.d.ts +1 -0
- package/dist/cjs/types/DndTabsTypes.js +7 -0
- package/dist/cjs/types/DndTagTypes.d.ts +1 -0
- package/dist/cjs/types/DndTagTypes.js +7 -0
- package/dist/cjs/types/DropdownButtonTypes.d.ts +2 -0
- package/dist/cjs/types/DropdownButtonTypes.js +8 -0
- package/dist/cjs/types/DynamicIconTypes.d.ts +1 -0
- package/dist/cjs/types/DynamicIconTypes.js +7 -0
- package/dist/cjs/types/EditMultiLangFormTypes.d.ts +1 -0
- package/dist/cjs/types/EditMultiLangFormTypes.js +7 -0
- package/dist/cjs/types/ExportPageWrapperTypes.d.ts +1 -0
- package/dist/cjs/types/ExportPageWrapperTypes.js +7 -0
- package/dist/cjs/types/GlobalHeaderTypes.d.ts +1 -0
- package/dist/cjs/types/GlobalHeaderTypes.js +7 -0
- package/dist/cjs/types/HeaderSearchTypes.d.ts +1 -0
- package/dist/cjs/types/HeaderSearchTypes.js +7 -0
- package/dist/cjs/types/HighlightStrTypes.d.ts +1 -0
- package/dist/cjs/types/HighlightStrTypes.js +7 -0
- package/dist/cjs/types/ImportDataUploadTypes.d.ts +1 -0
- package/dist/cjs/types/ImportDataUploadTypes.js +7 -0
- package/dist/cjs/types/ImportExeclTypes.d.ts +1 -0
- package/dist/cjs/types/ImportExeclTypes.js +7 -0
- package/dist/cjs/types/KeepAliveTabsTypes.d.ts +1 -0
- package/dist/cjs/types/KeepAliveTabsTypes.js +7 -0
- package/dist/cjs/types/MenuFooterTypes.d.ts +1 -0
- package/dist/cjs/types/MenuFooterTypes.js +7 -0
- package/dist/cjs/types/MyFooterToolbarTypes.d.ts +1 -0
- package/dist/cjs/types/MyFooterToolbarTypes.js +7 -0
- package/dist/cjs/types/MyPageContainerTypes.d.ts +1 -0
- package/dist/cjs/types/MyPageContainerTypes.js +7 -0
- package/dist/cjs/types/MySelectLangTypes.d.ts +1 -0
- package/dist/cjs/types/MySelectLangTypes.js +7 -0
- package/dist/cjs/types/MySelectTypes.d.ts +1 -0
- package/dist/cjs/types/MySelectTypes.js +7 -0
- package/dist/cjs/types/MySetpsTypes.d.ts +1 -0
- package/dist/cjs/types/MySetpsTypes.js +7 -0
- package/dist/cjs/types/MyTagListTypes.d.ts +1 -0
- package/dist/cjs/types/MyTagListTypes.js +7 -0
- package/dist/cjs/types/MyUploadTypes.d.ts +1 -0
- package/dist/cjs/types/MyUploadTypes.js +7 -0
- package/dist/cjs/types/PermissionSelectTypes.d.ts +1 -0
- package/dist/cjs/types/PermissionSelectTypes.js +7 -0
- package/dist/cjs/types/QrCodeModalTypes.d.ts +1 -0
- package/dist/cjs/types/QrCodeModalTypes.js +7 -0
- package/dist/cjs/types/RandomAvatarTypes.d.ts +1 -0
- package/dist/cjs/types/RandomAvatarTypes.js +7 -0
- package/dist/cjs/types/RefDrawerFormTypes.d.ts +1 -0
- package/dist/cjs/types/RefDrawerFormTypes.js +7 -0
- package/dist/cjs/types/ReportTableTypes.d.ts +1 -0
- package/dist/cjs/types/ReportTableTypes.js +7 -0
- package/dist/cjs/types/ThemeSwitchTypes.d.ts +1 -0
- package/dist/cjs/types/ThemeSwitchTypes.js +7 -0
- package/dist/cjs/types/ViewTableItemDrawerTypes.d.ts +1 -0
- package/dist/cjs/types/ViewTableItemDrawerTypes.js +7 -0
- package/dist/cjs/types/VolumeFormItemTypes.d.ts +1 -0
- package/dist/cjs/types/VolumeFormItemTypes.js +7 -0
- package/dist/cjs/types/WangEditorTypes.d.ts +1 -0
- package/dist/cjs/types/WangEditorTypes.js +7 -0
- package/dist/cjs/types/index.d.ts +35 -0
- package/dist/cjs/types/index.js +250 -0
- package/dist/cjs/types/servicesTypes.d.ts +1 -0
- package/dist/cjs/types/servicesTypes.js +7 -0
- package/dist/cjs/utils/Authorized.tpl +17 -0
- package/dist/cjs/utils/authority.tpl +51 -0
- package/dist/cjs/utils/authorityFunction.tpl +17 -0
- package/dist/cjs/utils/excelHelper.tpl +825 -0
- package/dist/cjs/utils/exportPage.tpl +784 -0
- package/dist/cjs/utils/fileHelper.tpl +251 -0
- package/dist/cjs/utils/importHelper.tpl +283 -0
- package/dist/cjs/utils/utils.tpl +26 -0
- package/dist/cjs/utils/xmlRequest.tpl +92 -0
- package/dist/cjs/writeTmpFile/index.d.ts +5 -0
- package/dist/cjs/writeTmpFile/index.js +34 -0
- package/dist/cjs/writeTmpFile/runtime.d.ts +5 -0
- package/dist/cjs/writeTmpFile/runtime.js +15 -0
- package/dist/cjs/writeTmpFile/writeConstants.d.ts +6 -0
- package/dist/cjs/writeTmpFile/writeConstants.js +13 -0
- package/dist/cjs/writeTmpFile/writeIndex.d.ts +5 -0
- package/dist/cjs/writeTmpFile/writeIndex.js +10 -0
- package/dist/cjs/writeTmpFile/writeTypes.d.ts +5 -0
- package/dist/cjs/writeTmpFile/writeTypes.js +12 -0
- package/dist/esm/components/ActionLogDrawer.tpl +148 -0
- package/dist/esm/components/AddDrawerForm.tpl +38 -0
- package/dist/esm/components/AuthorizeRender.tpl +11 -0
- package/dist/esm/components/Authorized.tpl +39 -0
- package/dist/esm/components/AuthorizedRoute.tpl +33 -0
- package/dist/esm/components/AvatarDropdown.tpl +101 -0
- package/dist/esm/components/CheckPermissions.tpl +100 -0
- package/dist/esm/components/CopyButton.tpl +49 -0
- package/dist/esm/components/CrudTable.tpl +650 -0
- package/dist/esm/components/DicDropDownList.tpl +60 -0
- package/dist/esm/components/DndTabs.tpl +159 -0
- package/dist/esm/components/DndTag.tpl +89 -0
- package/dist/esm/components/DropdownButton.tpl +123 -0
- package/dist/esm/components/DynamicIcon.tpl +73 -0
- package/dist/esm/components/DynamicIconModal.tpl +196 -0
- package/dist/esm/components/EditMultiLangForm.tpl +366 -0
- package/dist/esm/components/ExportPageWrapper.tpl +224 -0
- package/dist/esm/components/FlieListModal.tpl +79 -0
- package/dist/esm/components/FormUpload.tpl +561 -0
- package/dist/esm/components/GlobalFooter.tpl +21 -0
- package/dist/esm/components/GlobalHeader.less +51 -0
- package/dist/esm/components/GlobalHeader.tpl +313 -0
- package/dist/esm/components/HeaderSearch.less +32 -0
- package/dist/esm/components/HeaderSearch.tpl +92 -0
- package/dist/esm/components/HighlightStr.tpl +41 -0
- package/dist/esm/components/ImportDataUpload.tpl +94 -0
- package/dist/esm/components/ImportExecl.less +10 -0
- package/dist/esm/components/ImportExecl.tpl +108 -0
- package/dist/esm/components/KeepAliveDndTabs.tpl +151 -0
- package/dist/esm/components/KeepAliveTabs.less +23 -0
- package/dist/esm/components/KeepAliveTabs.tpl +136 -0
- package/dist/esm/components/Loading.css +19 -0
- package/dist/esm/components/LoadingSvg.tpl +14 -0
- package/dist/esm/components/MenuFooter.css +13 -0
- package/dist/esm/components/MenuFooter.tpl +24 -0
- package/dist/esm/components/MyColorPicker.tpl +19 -0
- package/dist/esm/components/MyFooterToolbar.css +6 -0
- package/dist/esm/components/MyFooterToolbar.tpl +56 -0
- package/dist/esm/components/MyPageContainer.tpl +43 -0
- package/dist/esm/components/MyReactEcharts.tpl +11 -0
- package/dist/esm/components/MySelect.tpl +267 -0
- package/dist/esm/components/MySelectLang.tpl +22 -0
- package/dist/esm/components/MySetps.tpl +85 -0
- package/dist/esm/components/MyTagList.tpl +57 -0
- package/dist/esm/components/MyUpload.less +39 -0
- package/dist/esm/components/MyUpload.tpl +609 -0
- package/dist/esm/components/NoFoundPage.tpl +46 -0
- package/dist/esm/components/PDFWrapper.tpl +96 -0
- package/dist/esm/components/PageLoading.tpl +16 -0
- package/dist/esm/components/PermissionSelect.tpl +230 -0
- package/dist/esm/components/ProFormUTCDatePicker.tpl +20 -0
- package/dist/esm/components/ProFormUTCRangePicker.tpl +20 -0
- package/dist/esm/components/PromiseRender.tpl +93 -0
- package/dist/esm/components/QrCodeModal.tpl +19 -0
- package/dist/esm/components/RandomAvatar.tpl +34 -0
- package/dist/esm/components/RefDrawerForm.tpl +75 -0
- package/dist/esm/components/ReportTable.tpl +336 -0
- package/dist/esm/components/Secured.tpl +66 -0
- package/dist/esm/components/ThemeSwitch.tpl +74 -0
- package/dist/esm/components/TimeTypeSelect.tpl +35 -0
- package/dist/esm/components/TipsTableTitle.tpl +37 -0
- package/dist/esm/components/UTCDatePicker.tpl +107 -0
- package/dist/esm/components/UTCRangePicker.tpl +142 -0
- package/dist/esm/components/UpdateForm.tpl +32 -0
- package/dist/esm/components/UserDisable.tpl +58 -0
- package/dist/esm/components/UserNoPagePermission.tpl +58 -0
- package/dist/esm/components/UserNoPermission.tpl +58 -0
- package/dist/esm/components/ViewTableItemDrawer.tpl +29 -0
- package/dist/esm/components/VolumeFormItem.tpl +59 -0
- package/dist/esm/components/WangEditor.css +53 -0
- package/dist/esm/components/WangEditor.tpl +174 -0
- package/dist/esm/components/WangEditorView.tpl +24 -0
- package/dist/esm/components/fileTypeMap.tpl +96 -0
- package/dist/esm/components/renderAuthorize.tpl +44 -0
- package/dist/esm/context/KeepAliveTabs.tpl +13 -0
- package/dist/esm/context/index.tpl +1 -0
- package/dist/esm/hooks/useAction.tpl +126 -0
- package/dist/esm/hooks/useActionLocales.tpl +108 -0
- package/dist/esm/hooks/useAuthority.tpl +27 -0
- package/dist/esm/hooks/useColumnTitle.tpl +47 -0
- package/dist/esm/hooks/useFormatLocale.tpl +82 -0
- package/dist/esm/hooks/useKeepAliveTabs.tpl +255 -0
- package/dist/esm/hooks/useMatchRoute.tpl +76 -0
- package/dist/esm/hooks/useMemoizedFn.tpl +32 -0
- package/dist/esm/hooks/useOutlet.tpl +20 -0
- package/dist/esm/hooks/usePageExport.tpl +155 -0
- package/dist/esm/hooks/useQueryTableList.tpl +91 -0
- package/dist/esm/hooks/useRouteAuth.tpl +122 -0
- package/dist/esm/index.d.ts +6 -0
- package/dist/esm/index.js +115 -0
- package/dist/esm/locales/en-US.d.ts +163 -0
- package/dist/esm/locales/en-US.js +9 -0
- package/dist/esm/locales/enUS/ActionLogDrawer.d.ts +6 -0
- package/dist/esm/locales/enUS/ActionLogDrawer.js +5 -0
- package/dist/esm/locales/enUS/DynamicIconModal.d.ts +4 -0
- package/dist/esm/locales/enUS/DynamicIconModal.js +3 -0
- package/dist/esm/locales/enUS/EditMultiLangForm.d.ts +16 -0
- package/dist/esm/locales/enUS/EditMultiLangForm.js +15 -0
- package/dist/esm/locales/enUS/File.d.ts +54 -0
- package/dist/esm/locales/enUS/File.js +54 -0
- package/dist/esm/locales/enUS/GlobalFooter.d.ts +4 -0
- package/dist/esm/locales/enUS/GlobalFooter.js +3 -0
- package/dist/esm/locales/enUS/GlobalHeader.d.ts +10 -0
- package/dist/esm/locales/enUS/GlobalHeader.js +9 -0
- package/dist/esm/locales/enUS/MyFooterToolbar.d.ts +5 -0
- package/dist/esm/locales/enUS/MyFooterToolbar.js +4 -0
- package/dist/esm/locales/enUS/PermissionSelect.d.ts +4 -0
- package/dist/esm/locales/enUS/PermissionSelect.js +3 -0
- package/dist/esm/locales/enUS/TimeTypeSelect.d.ts +6 -0
- package/dist/esm/locales/enUS/TimeTypeSelect.js +5 -0
- package/dist/esm/locales/enUS/common.d.ts +74 -0
- package/dist/esm/locales/enUS/common.js +76 -0
- package/dist/esm/locales/enUS/index.d.ts +163 -0
- package/dist/esm/locales/enUS/index.js +18 -0
- package/dist/esm/locales/enUS/pages.d.ts +10 -0
- package/dist/esm/locales/enUS/pages.js +9 -0
- package/dist/esm/locales/th-TH.d.ts +163 -0
- package/dist/esm/locales/th-TH.js +9 -0
- package/dist/esm/locales/zh-CN.d.ts +163 -0
- package/dist/esm/locales/zh-CN.js +9 -0
- package/dist/esm/locales/zh-TW.d.ts +162 -0
- package/dist/esm/locales/zh-TW.js +9 -0
- package/dist/esm/locales/zhCN/ActionLogDrawer.d.ts +6 -0
- package/dist/esm/locales/zhCN/ActionLogDrawer.js +5 -0
- package/dist/esm/locales/zhCN/DynamicIconModal.d.ts +4 -0
- package/dist/esm/locales/zhCN/DynamicIconModal.js +3 -0
- package/dist/esm/locales/zhCN/EditMultiLangForm.d.ts +16 -0
- package/dist/esm/locales/zhCN/EditMultiLangForm.js +15 -0
- package/dist/esm/locales/zhCN/File.d.ts +54 -0
- package/dist/esm/locales/zhCN/File.js +54 -0
- package/dist/esm/locales/zhCN/GlobalFooter.d.ts +4 -0
- package/dist/esm/locales/zhCN/GlobalFooter.js +3 -0
- package/dist/esm/locales/zhCN/GlobalHeader.d.ts +10 -0
- package/dist/esm/locales/zhCN/GlobalHeader.js +9 -0
- package/dist/esm/locales/zhCN/MyFooterToolbar.d.ts +5 -0
- package/dist/esm/locales/zhCN/MyFooterToolbar.js +4 -0
- package/dist/esm/locales/zhCN/PermissionSelect.d.ts +4 -0
- package/dist/esm/locales/zhCN/PermissionSelect.js +3 -0
- package/dist/esm/locales/zhCN/TimeTypeSelect.d.ts +6 -0
- package/dist/esm/locales/zhCN/TimeTypeSelect.js +5 -0
- package/dist/esm/locales/zhCN/common.d.ts +74 -0
- package/dist/esm/locales/zhCN/common.js +76 -0
- package/dist/esm/locales/zhCN/index.d.ts +163 -0
- package/dist/esm/locales/zhCN/index.js +18 -0
- package/dist/esm/locales/zhCN/pages.d.ts +10 -0
- package/dist/esm/locales/zhCN/pages.js +9 -0
- package/dist/esm/locales/zhTW/ActionLogDrawer.d.ts +6 -0
- package/dist/esm/locales/zhTW/ActionLogDrawer.js +5 -0
- package/dist/esm/locales/zhTW/DynamicIconModal.d.ts +4 -0
- package/dist/esm/locales/zhTW/DynamicIconModal.js +3 -0
- package/dist/esm/locales/zhTW/EditMultiLangForm.d.ts +16 -0
- package/dist/esm/locales/zhTW/EditMultiLangForm.js +15 -0
- package/dist/esm/locales/zhTW/File.d.ts +53 -0
- package/dist/esm/locales/zhTW/File.js +53 -0
- package/dist/esm/locales/zhTW/GlobalFooter.d.ts +4 -0
- package/dist/esm/locales/zhTW/GlobalFooter.js +3 -0
- package/dist/esm/locales/zhTW/GlobalHeader.d.ts +10 -0
- package/dist/esm/locales/zhTW/GlobalHeader.js +9 -0
- package/dist/esm/locales/zhTW/MyFooterToolbar.d.ts +5 -0
- package/dist/esm/locales/zhTW/MyFooterToolbar.js +4 -0
- package/dist/esm/locales/zhTW/PermissionSelect.d.ts +4 -0
- package/dist/esm/locales/zhTW/PermissionSelect.js +3 -0
- package/dist/esm/locales/zhTW/TimeTypeSelect.d.ts +6 -0
- package/dist/esm/locales/zhTW/TimeTypeSelect.js +5 -0
- package/dist/esm/locales/zhTW/common.d.ts +74 -0
- package/dist/esm/locales/zhTW/common.js +76 -0
- package/dist/esm/locales/zhTW/index.d.ts +162 -0
- package/dist/esm/locales/zhTW/index.js +18 -0
- package/dist/esm/locales/zhTW/pages.d.ts +10 -0
- package/dist/esm/locales/zhTW/pages.js +9 -0
- package/dist/esm/services/index.tpl +160 -0
- package/dist/esm/types/ActionLogDrawerTypes.d.ts +1 -0
- package/dist/esm/types/ActionLogDrawerTypes.js +1 -0
- package/dist/esm/types/AvatarDropdownTypes.d.ts +1 -0
- package/dist/esm/types/AvatarDropdownTypes.js +1 -0
- package/dist/esm/types/CrudTableTypes.d.ts +1 -0
- package/dist/esm/types/CrudTableTypes.js +1 -0
- package/dist/esm/types/DatePickerTypes.d.ts +1 -0
- package/dist/esm/types/DatePickerTypes.js +1 -0
- package/dist/esm/types/DicDropDownListTypes.d.ts +1 -0
- package/dist/esm/types/DicDropDownListTypes.js +1 -0
- package/dist/esm/types/DndTabsTypes.d.ts +1 -0
- package/dist/esm/types/DndTabsTypes.js +1 -0
- package/dist/esm/types/DndTagTypes.d.ts +1 -0
- package/dist/esm/types/DndTagTypes.js +1 -0
- package/dist/esm/types/DropdownButtonTypes.d.ts +2 -0
- package/dist/esm/types/DropdownButtonTypes.js +2 -0
- package/dist/esm/types/DynamicIconTypes.d.ts +1 -0
- package/dist/esm/types/DynamicIconTypes.js +1 -0
- package/dist/esm/types/EditMultiLangFormTypes.d.ts +1 -0
- package/dist/esm/types/EditMultiLangFormTypes.js +1 -0
- package/dist/esm/types/ExportPageWrapperTypes.d.ts +1 -0
- package/dist/esm/types/ExportPageWrapperTypes.js +1 -0
- package/dist/esm/types/GlobalHeaderTypes.d.ts +1 -0
- package/dist/esm/types/GlobalHeaderTypes.js +1 -0
- package/dist/esm/types/HeaderSearchTypes.d.ts +1 -0
- package/dist/esm/types/HeaderSearchTypes.js +1 -0
- package/dist/esm/types/HighlightStrTypes.d.ts +1 -0
- package/dist/esm/types/HighlightStrTypes.js +1 -0
- package/dist/esm/types/ImportDataUploadTypes.d.ts +1 -0
- package/dist/esm/types/ImportDataUploadTypes.js +1 -0
- package/dist/esm/types/ImportExeclTypes.d.ts +1 -0
- package/dist/esm/types/ImportExeclTypes.js +1 -0
- package/dist/esm/types/KeepAliveTabsTypes.d.ts +1 -0
- package/dist/esm/types/KeepAliveTabsTypes.js +1 -0
- package/dist/esm/types/MenuFooterTypes.d.ts +1 -0
- package/dist/esm/types/MenuFooterTypes.js +1 -0
- package/dist/esm/types/MyFooterToolbarTypes.d.ts +1 -0
- package/dist/esm/types/MyFooterToolbarTypes.js +1 -0
- package/dist/esm/types/MyPageContainerTypes.d.ts +1 -0
- package/dist/esm/types/MyPageContainerTypes.js +1 -0
- package/dist/esm/types/MySelectLangTypes.d.ts +1 -0
- package/dist/esm/types/MySelectLangTypes.js +1 -0
- package/dist/esm/types/MySelectTypes.d.ts +1 -0
- package/dist/esm/types/MySelectTypes.js +1 -0
- package/dist/esm/types/MySetpsTypes.d.ts +1 -0
- package/dist/esm/types/MySetpsTypes.js +1 -0
- package/dist/esm/types/MyTagListTypes.d.ts +1 -0
- package/dist/esm/types/MyTagListTypes.js +1 -0
- package/dist/esm/types/MyUploadTypes.d.ts +1 -0
- package/dist/esm/types/MyUploadTypes.js +1 -0
- package/dist/esm/types/PermissionSelectTypes.d.ts +1 -0
- package/dist/esm/types/PermissionSelectTypes.js +1 -0
- package/dist/esm/types/QrCodeModalTypes.d.ts +1 -0
- package/dist/esm/types/QrCodeModalTypes.js +1 -0
- package/dist/esm/types/RandomAvatarTypes.d.ts +1 -0
- package/dist/esm/types/RandomAvatarTypes.js +1 -0
- package/dist/esm/types/RefDrawerFormTypes.d.ts +1 -0
- package/dist/esm/types/RefDrawerFormTypes.js +1 -0
- package/dist/esm/types/ReportTableTypes.d.ts +1 -0
- package/dist/esm/types/ReportTableTypes.js +1 -0
- package/dist/esm/types/ThemeSwitchTypes.d.ts +1 -0
- package/dist/esm/types/ThemeSwitchTypes.js +1 -0
- package/dist/esm/types/ViewTableItemDrawerTypes.d.ts +1 -0
- package/dist/esm/types/ViewTableItemDrawerTypes.js +1 -0
- package/dist/esm/types/VolumeFormItemTypes.d.ts +1 -0
- package/dist/esm/types/VolumeFormItemTypes.js +1 -0
- package/dist/esm/types/WangEditorTypes.d.ts +1 -0
- package/dist/esm/types/WangEditorTypes.js +1 -0
- package/dist/esm/types/index.d.ts +35 -0
- package/dist/esm/types/index.js +35 -0
- package/dist/esm/types/servicesTypes.d.ts +1 -0
- package/dist/esm/types/servicesTypes.js +1 -0
- package/dist/esm/utils/Authorized.tpl +17 -0
- package/dist/esm/utils/authority.tpl +51 -0
- package/dist/esm/utils/authorityFunction.tpl +17 -0
- package/dist/esm/utils/excelHelper.tpl +825 -0
- package/dist/esm/utils/exportPage.tpl +784 -0
- package/dist/esm/utils/fileHelper.tpl +251 -0
- package/dist/esm/utils/importHelper.tpl +283 -0
- package/dist/esm/utils/utils.tpl +26 -0
- package/dist/esm/utils/xmlRequest.tpl +92 -0
- package/dist/esm/writeTmpFile/index.d.ts +5 -0
- package/dist/esm/writeTmpFile/index.js +5 -0
- package/dist/esm/writeTmpFile/runtime.d.ts +5 -0
- package/dist/esm/writeTmpFile/runtime.js +8 -0
- package/dist/esm/writeTmpFile/writeConstants.d.ts +6 -0
- package/dist/esm/writeTmpFile/writeConstants.js +7 -0
- package/dist/esm/writeTmpFile/writeIndex.d.ts +5 -0
- package/dist/esm/writeTmpFile/writeIndex.js +4 -0
- package/dist/esm/writeTmpFile/writeTypes.d.ts +5 -0
- package/dist/esm/writeTmpFile/writeTypes.js +7 -0
- package/package.json +58 -0
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
import { KeepAliveTabContext } from '../context';
|
|
2
|
+
import { useKeepAliveTabs } from '../hooks/useKeepAliveTabs';
|
|
3
|
+
import { history, useIntl, useMemoizedFn } from '@umijs/max';
|
|
4
|
+
import { Dropdown } from 'antd';
|
|
5
|
+
import DndTabs from './DndTabs';
|
|
6
|
+
import React, { useMemo } from 'react';
|
|
7
|
+
import {
|
|
8
|
+
KeepAliveTab,
|
|
9
|
+
KeepAliveDndTabsParams,
|
|
10
|
+
KeepAliveTabsMenuItemType,
|
|
11
|
+
KeepAliveTabsMenuInfo
|
|
12
|
+
} from '../types';
|
|
13
|
+
import { KeepAliveTabsOperationType } from '../types.d';
|
|
14
|
+
import './KeepAliveTabs.less';
|
|
15
|
+
|
|
16
|
+
const KeepAliveDndTabs: React.FC<KeepAliveDndTabsParams> = (props) => {
|
|
17
|
+
const { defaultRoutePath, disabledKeys = [] } = props;
|
|
18
|
+
|
|
19
|
+
const { formatMessage } = useIntl();
|
|
20
|
+
|
|
21
|
+
const { keepAliveTabs, setKeepAliveTabs, activeTabRoutePath, closeTab, refreshTab, closeOtherTab, onHidden, onShow } = useKeepAliveTabs(
|
|
22
|
+
{ ...props },
|
|
23
|
+
);
|
|
24
|
+
|
|
25
|
+
const menuItems: KeepAliveTabsMenuItemType[] = useMemo(
|
|
26
|
+
() =>
|
|
27
|
+
[
|
|
28
|
+
{
|
|
29
|
+
label: formatMessage({ id: 'cfmmUI.tabs.refresh', defaultMessage: '刷新' }),
|
|
30
|
+
key: KeepAliveTabsOperationType.REFRESH,
|
|
31
|
+
},
|
|
32
|
+
keepAliveTabs.length <= 1
|
|
33
|
+
? null
|
|
34
|
+
: {
|
|
35
|
+
label: formatMessage({ id: 'cfmmUI.tabs.close', defaultMessage: '关闭' }),
|
|
36
|
+
key: KeepAliveTabsOperationType.CLOSE,
|
|
37
|
+
},
|
|
38
|
+
keepAliveTabs.length <= 1
|
|
39
|
+
? null
|
|
40
|
+
: {
|
|
41
|
+
label: formatMessage({ id: 'cfmmUI.tabs.close.others', defaultMessage: '关闭其他' }),
|
|
42
|
+
key: KeepAliveTabsOperationType.CLOSEOTHER,
|
|
43
|
+
},
|
|
44
|
+
].filter((o) => o),
|
|
45
|
+
[keepAliveTabs],
|
|
46
|
+
);
|
|
47
|
+
|
|
48
|
+
const keepAliveContextValue = useMemo(
|
|
49
|
+
() => ({
|
|
50
|
+
closeTab,
|
|
51
|
+
closeOtherTab,
|
|
52
|
+
refreshTab,
|
|
53
|
+
onHidden,
|
|
54
|
+
onShow,
|
|
55
|
+
}),
|
|
56
|
+
[closeTab, closeOtherTab, refreshTab, onHidden, onShow],
|
|
57
|
+
);
|
|
58
|
+
|
|
59
|
+
const renderTabTitle = useMemoizedFn((tab: KeepAliveTab) => {
|
|
60
|
+
return (
|
|
61
|
+
<Dropdown
|
|
62
|
+
menu={{
|
|
63
|
+
items:
|
|
64
|
+
tab.routePath === defaultRoutePath
|
|
65
|
+
? menuItems.filter((item) => item?.key !== KeepAliveTabsOperationType.CLOSE)
|
|
66
|
+
: menuItems,
|
|
67
|
+
onClick: (e) => menuClick(e, tab),
|
|
68
|
+
}}
|
|
69
|
+
trigger={['contextMenu']}
|
|
70
|
+
>
|
|
71
|
+
<div style={{ margin: '-12px 0', padding: '12px 0' }}>
|
|
72
|
+
{/* {tab.icon} */}
|
|
73
|
+
{tab.title}
|
|
74
|
+
</div>
|
|
75
|
+
</Dropdown>
|
|
76
|
+
);
|
|
77
|
+
});
|
|
78
|
+
|
|
79
|
+
const tabItems = useMemo(() => {
|
|
80
|
+
return keepAliveTabs.map((tab: KeepAliveTab) => {
|
|
81
|
+
return {
|
|
82
|
+
key: tab.routePath,
|
|
83
|
+
label: renderTabTitle(tab),
|
|
84
|
+
children: (
|
|
85
|
+
<div key={tab.key} style={{ height: 'calc(100vh - 112px)', overflow: 'auto' }}>
|
|
86
|
+
{React.cloneElement(tab.children, {
|
|
87
|
+
keepAliveHandle: keepAliveContextValue,
|
|
88
|
+
})}
|
|
89
|
+
</div>
|
|
90
|
+
),
|
|
91
|
+
closable: keepAliveTabs.length > 1 && tab.routePath !== defaultRoutePath,
|
|
92
|
+
};
|
|
93
|
+
});
|
|
94
|
+
}, [keepAliveTabs, keepAliveContextValue]);
|
|
95
|
+
|
|
96
|
+
const menuClick = useMemoizedFn(({ key, domEvent }: KeepAliveTabsMenuInfo, tab: KeepAliveTab) => {
|
|
97
|
+
domEvent.stopPropagation();
|
|
98
|
+
|
|
99
|
+
if (key === KeepAliveTabsOperationType.REFRESH) {
|
|
100
|
+
refreshTab(tab.routePath);
|
|
101
|
+
} else if (key === KeepAliveTabsOperationType.CLOSE) {
|
|
102
|
+
closeTab(tab.routePath);
|
|
103
|
+
} else if (key === KeepAliveTabsOperationType.CLOSEOTHER) {
|
|
104
|
+
closeOtherTab(tab.routePath);
|
|
105
|
+
}
|
|
106
|
+
});
|
|
107
|
+
|
|
108
|
+
const onTabsChange = useMemoizedFn((tabRoutePath: string) => {
|
|
109
|
+
const curTab = keepAliveTabs.find((tab: KeepAliveTab) => tab.routePath === tabRoutePath);
|
|
110
|
+
if (curTab) {
|
|
111
|
+
history.push(curTab?.pathname);
|
|
112
|
+
}
|
|
113
|
+
});
|
|
114
|
+
|
|
115
|
+
const onTabEdit = (targetKey: React.MouseEvent | React.KeyboardEvent | string, action: 'add' | 'remove') => {
|
|
116
|
+
if (action === 'remove') {
|
|
117
|
+
closeTab(targetKey as string);
|
|
118
|
+
}
|
|
119
|
+
};
|
|
120
|
+
|
|
121
|
+
return (
|
|
122
|
+
<KeepAliveTabContext.Provider value={keepAliveContextValue}>
|
|
123
|
+
<DndTabs
|
|
124
|
+
type="editable-card"
|
|
125
|
+
items={tabItems}
|
|
126
|
+
activeKey={activeTabRoutePath}
|
|
127
|
+
onChange={onTabsChange}
|
|
128
|
+
className="keep-alive-tabs"
|
|
129
|
+
disabledKeys={disabledKeys}
|
|
130
|
+
hideAdd
|
|
131
|
+
animated={false}
|
|
132
|
+
onEdit={onTabEdit}
|
|
133
|
+
onDragSorted={(newItems) => {
|
|
134
|
+
// 当拖拽排序后更新keepAliveTabs的顺序
|
|
135
|
+
if (newItems && newItems.length > 0) {
|
|
136
|
+
// 获取排序后的routePath数组
|
|
137
|
+
const newOrderedPaths = newItems.map((item) => item.key);
|
|
138
|
+
// 根据新顺序重新排列keepAliveTabs
|
|
139
|
+
setKeepAliveTabs((prevTabs) => {
|
|
140
|
+
const tabsMap = new Map(prevTabs.map((tab) => [tab.routePath, tab]));
|
|
141
|
+
const newTabs = newOrderedPaths.map((path) => tabsMap.get(path)!);
|
|
142
|
+
return newTabs;
|
|
143
|
+
});
|
|
144
|
+
}
|
|
145
|
+
}}
|
|
146
|
+
/>
|
|
147
|
+
</KeepAliveTabContext.Provider>
|
|
148
|
+
);
|
|
149
|
+
};
|
|
150
|
+
|
|
151
|
+
export default React.memo(KeepAliveDndTabs);
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
.keep-alive-tabs {
|
|
2
|
+
>.mainAnt-tabs-content-holder {
|
|
3
|
+
height: calc(100vh - 160px);
|
|
4
|
+
background-color: #F0F2F5;
|
|
5
|
+
|
|
6
|
+
.mainAnt-tabs-tabpane {
|
|
7
|
+
>div {
|
|
8
|
+
height: calc(100vh - 160px) !important;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
>.ant-tabs-content-holder {
|
|
14
|
+
height: calc(100vh - 160px);
|
|
15
|
+
background-color: #F0F2F5;
|
|
16
|
+
|
|
17
|
+
.ant-tabs-tabpane {
|
|
18
|
+
>div {
|
|
19
|
+
height: calc(100vh - 160px) !important;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
import { KeepAliveTabContext } from '../context';
|
|
2
|
+
import { useKeepAliveTabs } from '../hooks/useKeepAliveTabs';
|
|
3
|
+
import { history, useIntl, useMemoizedFn } from '@umijs/max';
|
|
4
|
+
import { Dropdown, Tabs } from 'antd';
|
|
5
|
+
import React, { useMemo } from 'react';
|
|
6
|
+
import {
|
|
7
|
+
KeepAliveTab,
|
|
8
|
+
KeepAliveTabsParams,
|
|
9
|
+
KeepAliveTabsMenuItemType,
|
|
10
|
+
KeepAliveTabsMenuInfo
|
|
11
|
+
} from '../types';
|
|
12
|
+
import { KeepAliveTabsOperationType } from '../types.d';
|
|
13
|
+
import './KeepAliveTabs.less';
|
|
14
|
+
|
|
15
|
+
const KeepAliveTabs: React.FC<KeepAliveTabsParams> = (props) => {
|
|
16
|
+
const { defaultRoutePath } = props;
|
|
17
|
+
|
|
18
|
+
const { formatMessage } = useIntl();
|
|
19
|
+
|
|
20
|
+
const { keepAliveTabs, activeTabRoutePath, closeTab, refreshTab, closeOtherTab, onHidden, onShow } = useKeepAliveTabs(
|
|
21
|
+
{ ...props },
|
|
22
|
+
);
|
|
23
|
+
|
|
24
|
+
const menuItems: KeepAliveTabsMenuItemType[] = useMemo(
|
|
25
|
+
() =>
|
|
26
|
+
[
|
|
27
|
+
{
|
|
28
|
+
label: formatMessage({ id: 'cfmmUI.tabs.refresh', defaultMessage: '刷新' }),
|
|
29
|
+
key: KeepAliveTabsOperationType.REFRESH,
|
|
30
|
+
},
|
|
31
|
+
keepAliveTabs.length <= 1
|
|
32
|
+
? null
|
|
33
|
+
: {
|
|
34
|
+
label: formatMessage({ id: 'cfmmUI.tabs.close', defaultMessage: '关闭' }),
|
|
35
|
+
key: KeepAliveTabsOperationType.CLOSE,
|
|
36
|
+
},
|
|
37
|
+
keepAliveTabs.length <= 1
|
|
38
|
+
? null
|
|
39
|
+
: {
|
|
40
|
+
label: formatMessage({ id: 'cfmmUI.tabs.close.others', defaultMessage: '关闭其他' }),
|
|
41
|
+
key: KeepAliveTabsOperationType.CLOSEOTHER,
|
|
42
|
+
},
|
|
43
|
+
].filter((o) => o),
|
|
44
|
+
[keepAliveTabs],
|
|
45
|
+
);
|
|
46
|
+
|
|
47
|
+
const keepAliveContextValue = useMemo(
|
|
48
|
+
() => ({
|
|
49
|
+
closeTab,
|
|
50
|
+
closeOtherTab,
|
|
51
|
+
refreshTab,
|
|
52
|
+
onHidden,
|
|
53
|
+
onShow,
|
|
54
|
+
}),
|
|
55
|
+
[closeTab, closeOtherTab, refreshTab, onHidden, onShow],
|
|
56
|
+
);
|
|
57
|
+
|
|
58
|
+
const renderTabTitle = useMemoizedFn((tab: KeepAliveTab) => {
|
|
59
|
+
return (
|
|
60
|
+
<Dropdown
|
|
61
|
+
menu={{
|
|
62
|
+
items:
|
|
63
|
+
tab.routePath === defaultRoutePath
|
|
64
|
+
? menuItems.filter((item) => item?.key !== KeepAliveTabsOperationType.CLOSE)
|
|
65
|
+
: menuItems,
|
|
66
|
+
onClick: (e) => menuClick(e, tab),
|
|
67
|
+
}}
|
|
68
|
+
trigger={['contextMenu']}
|
|
69
|
+
>
|
|
70
|
+
<div style={{ margin: '-12px 0', padding: '12px 0' }}>
|
|
71
|
+
{/* {tab.icon} */}
|
|
72
|
+
{tab.title}
|
|
73
|
+
</div>
|
|
74
|
+
</Dropdown>
|
|
75
|
+
);
|
|
76
|
+
});
|
|
77
|
+
|
|
78
|
+
const tabItems = useMemo(() => {
|
|
79
|
+
return keepAliveTabs.map((tab: KeepAliveTab) => {
|
|
80
|
+
return {
|
|
81
|
+
key: tab.routePath,
|
|
82
|
+
label: renderTabTitle(tab),
|
|
83
|
+
children: (
|
|
84
|
+
<div key={tab.key} style={{ height: 'calc(100vh - 112px)', overflow: 'auto' }}>
|
|
85
|
+
{React.cloneElement(tab.children, {
|
|
86
|
+
keepAliveHandle: keepAliveContextValue,
|
|
87
|
+
})}
|
|
88
|
+
</div>
|
|
89
|
+
),
|
|
90
|
+
closable: keepAliveTabs.length > 1 && tab.routePath !== defaultRoutePath,
|
|
91
|
+
};
|
|
92
|
+
});
|
|
93
|
+
}, [keepAliveTabs, keepAliveContextValue]);
|
|
94
|
+
|
|
95
|
+
const menuClick = useMemoizedFn(({ key, domEvent }: KeepAliveTabsMenuInfo, tab: KeepAliveTab) => {
|
|
96
|
+
domEvent.stopPropagation();
|
|
97
|
+
|
|
98
|
+
if (key === KeepAliveTabsOperationType.REFRESH) {
|
|
99
|
+
refreshTab(tab.routePath);
|
|
100
|
+
} else if (key === KeepAliveTabsOperationType.CLOSE) {
|
|
101
|
+
closeTab(tab.routePath);
|
|
102
|
+
} else if (key === KeepAliveTabsOperationType.CLOSEOTHER) {
|
|
103
|
+
closeOtherTab(tab.routePath);
|
|
104
|
+
}
|
|
105
|
+
});
|
|
106
|
+
|
|
107
|
+
const onTabsChange = useMemoizedFn((tabRoutePath: string) => {
|
|
108
|
+
const curTab = keepAliveTabs.find((tab: KeepAliveTab) => tab.routePath === tabRoutePath);
|
|
109
|
+
if (curTab) {
|
|
110
|
+
history.push(curTab?.pathname);
|
|
111
|
+
}
|
|
112
|
+
});
|
|
113
|
+
|
|
114
|
+
const onTabEdit = (targetKey: React.MouseEvent | React.KeyboardEvent | string, action: 'add' | 'remove') => {
|
|
115
|
+
if (action === 'remove') {
|
|
116
|
+
closeTab(targetKey as string);
|
|
117
|
+
}
|
|
118
|
+
};
|
|
119
|
+
|
|
120
|
+
return (
|
|
121
|
+
<KeepAliveTabContext.Provider value={keepAliveContextValue}>
|
|
122
|
+
<Tabs
|
|
123
|
+
type="editable-card"
|
|
124
|
+
items={tabItems}
|
|
125
|
+
activeKey={activeTabRoutePath}
|
|
126
|
+
onChange={onTabsChange}
|
|
127
|
+
className="keep-alive-tabs"
|
|
128
|
+
hideAdd
|
|
129
|
+
animated={false}
|
|
130
|
+
onEdit={onTabEdit}
|
|
131
|
+
/>
|
|
132
|
+
</KeepAliveTabContext.Provider>
|
|
133
|
+
);
|
|
134
|
+
};
|
|
135
|
+
|
|
136
|
+
export default React.memo(KeepAliveTabs);
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
.cfmmUI.loadingContainer {
|
|
2
|
+
animation: loading 0.5s linear infinite;
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
.cfmmUI.pageLoading.loadingContainer {
|
|
6
|
+
position: absolute;
|
|
7
|
+
left: 50%;
|
|
8
|
+
translate: -50%;
|
|
9
|
+
top: 20%;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
@keyframes loading {
|
|
13
|
+
0% {
|
|
14
|
+
opacity: 1;
|
|
15
|
+
}
|
|
16
|
+
100% {
|
|
17
|
+
opacity: 0.2;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import './Loading.css';
|
|
2
|
+
|
|
3
|
+
//页面加载
|
|
4
|
+
const Loading = (
|
|
5
|
+
<div className="cfmmUI loadingContainer">
|
|
6
|
+
<svg>
|
|
7
|
+
<path d="M 0,28 L 14,0 6,28 Z" fill="#172e8a" />
|
|
8
|
+
<path d="M 0,0 L 11,28 16.5,28 Z" fill="#172e8a" />
|
|
9
|
+
<path d="M 14,0 L 22.5,28 28,28 Z" fill="#172e8a" />
|
|
10
|
+
</svg>
|
|
11
|
+
</div>
|
|
12
|
+
);
|
|
13
|
+
|
|
14
|
+
export default Loading;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { MenuFoldOutlined, MenuUnfoldOutlined } from '@ant-design/icons';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { MenuFooterProps } from '../types';
|
|
4
|
+
import './MenuFooter.css';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* 下拉按钮组
|
|
8
|
+
* @param {DropdownButtonProps} props
|
|
9
|
+
*/
|
|
10
|
+
const MenuFooter: React.FC<MenuFooterProps> = (props) => {
|
|
11
|
+
const { isCollapsed, handleCollapsed } = props;
|
|
12
|
+
|
|
13
|
+
const handleClick = () => {
|
|
14
|
+
handleCollapsed();
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
return (
|
|
18
|
+
<div className="cfmmUI-menuFooter" onClick={handleClick}>
|
|
19
|
+
{isCollapsed ? <MenuUnfoldOutlined /> : <MenuFoldOutlined />}
|
|
20
|
+
</div>
|
|
21
|
+
);
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
export default React.memo(MenuFooter);
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { generate, green, presetPalettes, red } from '@ant-design/colors';
|
|
2
|
+
import { ColorPicker, ColorPickerProps, theme } from 'antd';
|
|
3
|
+
import React from 'react';
|
|
4
|
+
|
|
5
|
+
type Presets = Required<ColorPickerProps>['presets'][number];
|
|
6
|
+
|
|
7
|
+
const MyColorPicker: React.FC<ColorPickerProps> = (props) => {
|
|
8
|
+
const { token } = theme.useToken();
|
|
9
|
+
|
|
10
|
+
// 设置ColorPicker的面板
|
|
11
|
+
const genPresets = (presets = presetPalettes) => {
|
|
12
|
+
return Object.entries(presets).map<Presets>(([label, colors]) => ({ label, colors }));
|
|
13
|
+
};
|
|
14
|
+
const presets = genPresets({ primary: generate(token.colorPrimary), red, green });
|
|
15
|
+
|
|
16
|
+
return <ColorPicker presets={presets} {...props} />;
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
export default React.memo(MyColorPicker);
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { FooterToolbar } from '@ant-design/pro-components';
|
|
2
|
+
import { useIntl, useModel, useSelectedRoutes } from '@umijs/max';
|
|
3
|
+
import classnames from 'classnames';
|
|
4
|
+
import React, { useEffect, useRef, useState } from 'react';
|
|
5
|
+
import { MyFooterToolbarProps } from '../types';
|
|
6
|
+
import "./MyFooterToolbar.css";
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* 适配qiankun子应用的FooterToolbar(如果切换多语言有bug,因为pathnameRef缓存失效)
|
|
10
|
+
* @param {MyFooterToolbarProps} props
|
|
11
|
+
*/
|
|
12
|
+
const MyFooterToolbar = (props: MyFooterToolbarProps) => {
|
|
13
|
+
const { count, ...rest } = props;
|
|
14
|
+
const { formatMessage } = useIntl();
|
|
15
|
+
|
|
16
|
+
const { collapsed } = window.__POWERED_BY_QIANKUN__ ? useModel("@@qiankunStateFromMaster") : {};
|
|
17
|
+
const pathnameRef = useRef(location.pathname);
|
|
18
|
+
const selectedRoutes = useSelectedRoutes();
|
|
19
|
+
const [curIsActiveTabs, setCurIsActiveTabs] = useState<boolean>(false);
|
|
20
|
+
|
|
21
|
+
useEffect(() => {
|
|
22
|
+
setCurIsActiveTabs(pathnameRef.current === location.pathname);
|
|
23
|
+
}, [selectedRoutes]);
|
|
24
|
+
|
|
25
|
+
// 没有bug但是子应用需要传递appname
|
|
26
|
+
// const { collapsed } = useQiankunData();
|
|
27
|
+
// const { pathname } = useLocation();
|
|
28
|
+
// const selectedRoutes = useSelectedRoutes();
|
|
29
|
+
// const [curIsActiveTabs, setCurIsActiveTabs] = useState<boolean>(false);
|
|
30
|
+
|
|
31
|
+
// useEffect(() => {
|
|
32
|
+
// setCurIsActiveTabs(pathname === location.pathname.replace(`/${APP_NAME}`, ''));
|
|
33
|
+
// }, [selectedRoutes]);
|
|
34
|
+
|
|
35
|
+
return (
|
|
36
|
+
<>
|
|
37
|
+
{curIsActiveTabs && (
|
|
38
|
+
<FooterToolbar
|
|
39
|
+
extra={
|
|
40
|
+
<div>
|
|
41
|
+
<>{formatMessage({ id: 'cfmmUI.MyFooterToolbar.chosen', defaultMessage: '已选择' })}</>
|
|
42
|
+
<a style={{ fontWeight: 600, margin: '0 5px' }}>{count}</a>
|
|
43
|
+
<>{formatMessage({ id: 'cfmmUI.MyFooterToolbar.item', defaultMessage: '项' })}</>
|
|
44
|
+
</div>
|
|
45
|
+
}
|
|
46
|
+
{...rest}
|
|
47
|
+
className={classnames('cfmmUI-myFooterToolbar', collapsed ? 'fold' : 'unfold', props.className)}
|
|
48
|
+
>
|
|
49
|
+
{props.children}
|
|
50
|
+
</FooterToolbar>
|
|
51
|
+
)}
|
|
52
|
+
</>
|
|
53
|
+
);
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
export default React.memo(MyFooterToolbar);
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { PageContainer } from "@ant-design/pro-components";
|
|
2
|
+
import React, { useEffect, useMemo } from "react";
|
|
3
|
+
import { useModel } from "@umijs/max";
|
|
4
|
+
import { MyPageContainerProps } from "../types";
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* @param {boolean} autoCollapseMenu - 折叠菜单属性
|
|
8
|
+
*/
|
|
9
|
+
const MyPageContainer: React.FC<MyPageContainerProps> = ({
|
|
10
|
+
autoCollapseMenu = false,
|
|
11
|
+
tempWaterMark,
|
|
12
|
+
children,
|
|
13
|
+
...props
|
|
14
|
+
}) => {
|
|
15
|
+
const { currentUser } = window.__POWERED_BY_QIANKUN__ ? useModel("@@qiankunStateFromMaster") : useModel("user");
|
|
16
|
+
const { handleCollapsed } = window.__POWERED_BY_QIANKUN__ ? useModel("@@qiankunStateFromMaster") : useModel("global");
|
|
17
|
+
|
|
18
|
+
const waterMarkText = useMemo(() => {
|
|
19
|
+
// 否则使用传入的水印文本或默认用户名
|
|
20
|
+
return tempWaterMark ?? currentUser?.userName;
|
|
21
|
+
}, [tempWaterMark, currentUser]);
|
|
22
|
+
|
|
23
|
+
useEffect(() => {
|
|
24
|
+
if (autoCollapseMenu) {
|
|
25
|
+
handleCollapsed?.(true);
|
|
26
|
+
}
|
|
27
|
+
}, []);
|
|
28
|
+
|
|
29
|
+
return (
|
|
30
|
+
<PageContainer
|
|
31
|
+
waterMarkProps={{ content: waterMarkText }}
|
|
32
|
+
header={{
|
|
33
|
+
title: props.title,
|
|
34
|
+
breadcrumb: props.breadcrumb,
|
|
35
|
+
}}
|
|
36
|
+
{...props}
|
|
37
|
+
>
|
|
38
|
+
{children}
|
|
39
|
+
</PageContainer>
|
|
40
|
+
);
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
export default MyPageContainer;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { useModel } from '@umijs/max';
|
|
2
|
+
import ReactECharts, { EChartsReactProps } from 'echarts-for-react';
|
|
3
|
+
import React from 'react';
|
|
4
|
+
|
|
5
|
+
const MyReactECharts = (props: EChartsReactProps) => {
|
|
6
|
+
let { isDarkTheme } = window.__POWERED_BY_QIANKUN__ ? useModel("@@qiankunStateFromMaster") : useModel("global");
|
|
7
|
+
|
|
8
|
+
return <ReactECharts style={{height: '100%'}} theme={isDarkTheme ? 'echarsDarkTheme' : ''} {...props} />;
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
export default React.memo(MyReactECharts);
|