@yoka-ui/ui 1.0.10-test
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/@Docs-yoka/exports.generated.md +92 -0
- package/@Docs-yoka/llms.txt +23 -0
- package/README.md +291 -0
- package/dist/es/Themes/InputTheme/index.d.ts +6 -0
- package/dist/es/Themes/InputTheme/index.js +22 -0
- package/dist/es/Themes/InputTheme/index.js.map +7 -0
- package/dist/es/Themes/TableTheme/index.d.ts +7 -0
- package/dist/es/Themes/TableTheme/index.js +31 -0
- package/dist/es/Themes/TableTheme/index.js.map +7 -0
- package/dist/es/Themes/TableTheme/index.less +46 -0
- package/dist/es/assets/image/YKUI-logo.png +0 -0
- package/dist/es/assets/less/ant-reset.less +402 -0
- package/dist/es/assets/less/index.less +1 -0
- package/dist/es/assets/less/variables.less +16 -0
- package/dist/es/business/AiChat/MarkdownRender.d.ts +9 -0
- package/dist/es/business/AiChat/MarkdownRender.js +72 -0
- package/dist/es/business/AiChat/MarkdownRender.js.map +7 -0
- package/dist/es/business/AiChat/index.d.ts +16 -0
- package/dist/es/business/AiChat/index.js +521 -0
- package/dist/es/business/AiChat/index.js.map +7 -0
- package/dist/es/business/AiChat/intentRecognizer.d.ts +33 -0
- package/dist/es/business/AiChat/intentRecognizer.js +166 -0
- package/dist/es/business/AiChat/intentRecognizer.js.map +7 -0
- package/dist/es/business/AiChat/navigationManager.d.ts +94 -0
- package/dist/es/business/AiChat/navigationManager.js +208 -0
- package/dist/es/business/AiChat/navigationManager.js.map +7 -0
- package/dist/es/business/AiChat/sse.d.ts +1 -0
- package/dist/es/business/AiChat/sse.js +60 -0
- package/dist/es/business/AiChat/sse.js.map +7 -0
- package/dist/es/business/AiChat/type.d.ts +157 -0
- package/dist/es/business/AiChat/type.js +1 -0
- package/dist/es/business/AiChat/type.js.map +7 -0
- package/dist/es/business/AiChat/useAiChat.d.ts +2 -0
- package/dist/es/business/AiChat/useAiChat.js +238 -0
- package/dist/es/business/AiChat/useAiChat.js.map +7 -0
- package/dist/es/business/AiChat/useTaskWorkflow.d.ts +26 -0
- package/dist/es/business/AiChat/useTaskWorkflow.js +230 -0
- package/dist/es/business/AiChat/useTaskWorkflow.js.map +7 -0
- package/dist/es/business/DrawerPageInfo/index.d.ts +35 -0
- package/dist/es/business/DrawerPageInfo/index.js +133 -0
- package/dist/es/business/DrawerPageInfo/index.js.map +7 -0
- package/dist/es/business/DrawerPageInfo/index.module.less +87 -0
- package/dist/es/business/DrawerPageInfo/test.png +0 -0
- package/dist/es/business/Editor/index.d.ts +11 -0
- package/dist/es/business/Editor/index.js +86 -0
- package/dist/es/business/Editor/index.js.map +7 -0
- package/dist/es/business/Editor/index.less +31 -0
- package/dist/es/business/Empty/empty.png +0 -0
- package/dist/es/business/Empty/index.d.ts +19 -0
- package/dist/es/business/Empty/index.js +51 -0
- package/dist/es/business/Empty/index.js.map +7 -0
- package/dist/es/business/ModCommonFilter/assets/images/empty.png +0 -0
- package/dist/es/business/ModCommonFilter/components/FilterButton/IconClose.d.ts +13 -0
- package/dist/es/business/ModCommonFilter/components/FilterButton/IconClose.js +51 -0
- package/dist/es/business/ModCommonFilter/components/FilterButton/IconClose.js.map +7 -0
- package/dist/es/business/ModCommonFilter/components/FilterButton/IconXiala.d.ts +13 -0
- package/dist/es/business/ModCommonFilter/components/FilterButton/IconXiala.js +51 -0
- package/dist/es/business/ModCommonFilter/components/FilterButton/IconXiala.js.map +7 -0
- package/dist/es/business/ModCommonFilter/components/FilterButton/index.d.ts +25 -0
- package/dist/es/business/ModCommonFilter/components/FilterButton/index.js +30 -0
- package/dist/es/business/ModCommonFilter/components/FilterButton/index.js.map +7 -0
- package/dist/es/business/ModCommonFilter/components/FilterButton/index.module.less +97 -0
- package/dist/es/business/ModCommonFilter/components/PopoverContent/Category.d.ts +18 -0
- package/dist/es/business/ModCommonFilter/components/PopoverContent/Category.js +74 -0
- package/dist/es/business/ModCommonFilter/components/PopoverContent/Category.js.map +7 -0
- package/dist/es/business/ModCommonFilter/components/PopoverContent/Content.d.ts +37 -0
- package/dist/es/business/ModCommonFilter/components/PopoverContent/Content.js +216 -0
- package/dist/es/business/ModCommonFilter/components/PopoverContent/Content.js.map +7 -0
- package/dist/es/business/ModCommonFilter/components/PopoverContent/Selected.d.ts +26 -0
- package/dist/es/business/ModCommonFilter/components/PopoverContent/Selected.js +102 -0
- package/dist/es/business/ModCommonFilter/components/PopoverContent/Selected.js.map +7 -0
- package/dist/es/business/ModCommonFilter/components/PopoverContent/index.d.ts +51 -0
- package/dist/es/business/ModCommonFilter/components/PopoverContent/index.js +71 -0
- package/dist/es/business/ModCommonFilter/components/PopoverContent/index.js.map +7 -0
- package/dist/es/business/ModCommonFilter/components/PopoverContent/index.module.less +260 -0
- package/dist/es/business/ModCommonFilter/index.d.ts +53 -0
- package/dist/es/business/ModCommonFilter/index.js +129 -0
- package/dist/es/business/ModCommonFilter/index.js.map +7 -0
- package/dist/es/business/ModCommonFilter/index.module.less +7 -0
- package/dist/es/business/ModCommonFilter/typing.d.ts +20 -0
- package/dist/es/business/ModCommonFilter/typing.js +1 -0
- package/dist/es/business/ModCommonFilter/typing.js.map +7 -0
- package/dist/es/business/YkPorjectSelect/icon-product.png +0 -0
- package/dist/es/business/YkPorjectSelect/index.d.ts +51 -0
- package/dist/es/business/YkPorjectSelect/index.js +260 -0
- package/dist/es/business/YkPorjectSelect/index.js.map +7 -0
- package/dist/es/business/YkPorjectSelect/index.module.less +334 -0
- package/dist/es/business/YkPorjectSelect/product-close.png +0 -0
- package/dist/es/components/Clock/index.d.ts +19 -0
- package/dist/es/components/Clock/index.js +55 -0
- package/dist/es/components/Clock/index.js.map +7 -0
- package/dist/es/components/DebounceInput/index.d.ts +16 -0
- package/dist/es/components/DebounceInput/index.js +77 -0
- package/dist/es/components/DebounceInput/index.js.map +7 -0
- package/dist/es/components/DebounceInput/index.module.less +23 -0
- package/dist/es/components/MultipleSelect/index.d.ts +23 -0
- package/dist/es/components/MultipleSelect/index.js +249 -0
- package/dist/es/components/MultipleSelect/index.js.map +7 -0
- package/dist/es/components/MultipleSelect/index.module.less +174 -0
- package/dist/es/components/NumericInput/index.d.ts +19 -0
- package/dist/es/components/NumericInput/index.js +56 -0
- package/dist/es/components/NumericInput/index.js.map +7 -0
- package/dist/es/components/RefreshButton/index.d.ts +8 -0
- package/dist/es/components/RefreshButton/index.js +21 -0
- package/dist/es/components/RefreshButton/index.js.map +7 -0
- package/dist/es/components/SearchWithHistory/index.d.ts +21 -0
- package/dist/es/components/SearchWithHistory/index.js +115 -0
- package/dist/es/components/SearchWithHistory/index.js.map +7 -0
- package/dist/es/components/SearchWithHistory/index.module.less +64 -0
- package/dist/es/components/TextWithInput/index.d.ts +15 -0
- package/dist/es/components/TextWithInput/index.js +35 -0
- package/dist/es/components/TextWithInput/index.js.map +7 -0
- package/dist/es/components/TextWithToolTip/index.d.ts +17 -0
- package/dist/es/components/TextWithToolTip/index.js +118 -0
- package/dist/es/components/TextWithToolTip/index.js.map +7 -0
- package/dist/es/components/TreeTransfer/components/TreeTransferPanel/index.d.ts +28 -0
- package/dist/es/components/TreeTransfer/components/TreeTransferPanel/index.js +161 -0
- package/dist/es/components/TreeTransfer/components/TreeTransferPanel/index.js.map +7 -0
- package/dist/es/components/TreeTransfer/components/TreeTransferPanel/index.less +151 -0
- package/dist/es/components/TreeTransfer/index.d.ts +28 -0
- package/dist/es/components/TreeTransfer/index.js +210 -0
- package/dist/es/components/TreeTransfer/index.js.map +7 -0
- package/dist/es/components/TreeTransfer/index.less +69 -0
- package/dist/es/components/TreeTransfer/types.d.ts +122 -0
- package/dist/es/components/TreeTransfer/types.js +6 -0
- package/dist/es/components/TreeTransfer/types.js.map +7 -0
- package/dist/es/components/TreeTransfer/utils/index.d.ts +120 -0
- package/dist/es/components/TreeTransfer/utils/index.js +195 -0
- package/dist/es/components/TreeTransfer/utils/index.js.map +7 -0
- package/dist/es/components/YkDateRangePicker/index.d.ts +57 -0
- package/dist/es/components/YkDateRangePicker/index.js +261 -0
- package/dist/es/components/YkDateRangePicker/index.js.map +7 -0
- package/dist/es/components/YkDateRangePicker/index.module.less +281 -0
- package/dist/es/components/YkRangeDateWithVS/YkRangeDateWithVSCompare.d.ts +16 -0
- package/dist/es/components/YkRangeDateWithVS/YkRangeDateWithVSCompare.js +193 -0
- package/dist/es/components/YkRangeDateWithVS/YkRangeDateWithVSCompare.js.map +7 -0
- package/dist/es/components/YkRangeDateWithVS/YkRangeDateWithVSRange.d.ts +31 -0
- package/dist/es/components/YkRangeDateWithVS/YkRangeDateWithVSRange.js +556 -0
- package/dist/es/components/YkRangeDateWithVS/YkRangeDateWithVSRange.js.map +7 -0
- package/dist/es/components/YkRangeDateWithVS/YkRangeDateWithVSSelect.d.ts +16 -0
- package/dist/es/components/YkRangeDateWithVS/YkRangeDateWithVSSelect.js +55 -0
- package/dist/es/components/YkRangeDateWithVS/YkRangeDateWithVSSelect.js.map +7 -0
- package/dist/es/components/YkRangeDateWithVS/index.d.ts +62 -0
- package/dist/es/components/YkRangeDateWithVS/index.js +130 -0
- package/dist/es/components/YkRangeDateWithVS/index.js.map +7 -0
- package/dist/es/components/YkRangeDateWithVS/index.module.less +548 -0
- package/dist/es/components/YkRangeDateWithVS/styles.d.ts +2 -0
- package/dist/es/components/YkRangeDateWithVS/styles.js +18 -0
- package/dist/es/components/YkRangeDateWithVS/styles.js.map +7 -0
- package/dist/es/components/YkRangeDateWithVS/typing.d.ts +15 -0
- package/dist/es/components/YkRangeTimeWithRecent/constants.d.ts +48 -0
- package/dist/es/components/YkRangeTimeWithRecent/constants.js +288 -0
- package/dist/es/components/YkRangeTimeWithRecent/constants.js.map +7 -0
- package/dist/es/components/YkRangeTimeWithRecent/index.d.ts +26 -0
- package/dist/es/components/YkRangeTimeWithRecent/index.js +647 -0
- package/dist/es/components/YkRangeTimeWithRecent/index.js.map +7 -0
- package/dist/es/components/YkRangeTimeWithRecent/index.module.less +263 -0
- package/dist/es/creative/ButtonRadioWithInfo/index.d.ts +17 -0
- package/dist/es/creative/ButtonRadioWithInfo/index.js +103 -0
- package/dist/es/creative/ButtonRadioWithInfo/index.js.map +7 -0
- package/dist/es/creative/ButtonRadioWithInfo/index.less +106 -0
- package/dist/es/creative/ButtonWithProgress/index.d.ts +11 -0
- package/dist/es/creative/ButtonWithProgress/index.js +79 -0
- package/dist/es/creative/ButtonWithProgress/index.js.map +7 -0
- package/dist/es/creative/ButtonWithProgress/index.less +66 -0
- package/dist/es/global.less +12 -0
- package/dist/es/index.d.ts +41 -0
- package/dist/es/index.js +85 -0
- package/dist/es/index.js.map +7 -0
- package/dist/es/layout/FlexGrid/index.d.ts +25 -0
- package/dist/es/layout/FlexGrid/index.js +63 -0
- package/dist/es/layout/FlexGrid/index.js.map +7 -0
- package/dist/es/layout/YkContainer/index.d.ts +27 -0
- package/dist/es/layout/YkContainer/index.js +79 -0
- package/dist/es/layout/YkContainer/index.js.map +7 -0
- package/dist/es/layout/YkDrawer/index.d.ts +22 -0
- package/dist/es/layout/YkDrawer/index.js +160 -0
- package/dist/es/layout/YkDrawer/index.js.map +7 -0
- package/dist/es/layout/YkDrawer/index.module.less +45 -0
- package/dist/es/ui/LabelSelect/demo.d.ts +3 -0
- package/dist/es/ui/LabelSelect/demo.js +83 -0
- package/dist/es/ui/LabelSelect/demo.js.map +7 -0
- package/dist/es/ui/LabelSelect/index.d.ts +41 -0
- package/dist/es/ui/LabelSelect/index.js +136 -0
- package/dist/es/ui/LabelSelect/index.js.map +7 -0
- package/dist/es/ui/LogicOperator/index.d.ts +10 -0
- package/dist/es/ui/LogicOperator/index.js +12 -0
- package/dist/es/ui/LogicOperator/index.js.map +7 -0
- package/dist/es/ui/LogicOperator/index.module.less +97 -0
- package/dist/es/ui/YkButton/index.d.ts +9 -0
- package/dist/es/ui/YkButton/index.js +59 -0
- package/dist/es/ui/YkButton/index.js.map +7 -0
- package/dist/es/ui/YkCard/index.d.ts +4 -0
- package/dist/es/ui/YkCard/index.js +79 -0
- package/dist/es/ui/YkCard/index.js.map +7 -0
- package/dist/es/ui/YkCard/index.module.less +30 -0
- package/dist/es/ui/YkCheckbox/index.d.ts +4 -0
- package/dist/es/ui/YkCheckbox/index.js +45 -0
- package/dist/es/ui/YkCheckbox/index.js.map +7 -0
- package/dist/es/ui/YkCheckbox/index.module.less +22 -0
- package/dist/es/ui/YkDescriptions/index.d.ts +4 -0
- package/dist/es/ui/YkDescriptions/index.js +41 -0
- package/dist/es/ui/YkDescriptions/index.js.map +7 -0
- package/dist/es/ui/YkPagination/index.d.ts +4 -0
- package/dist/es/ui/YkPagination/index.js +63 -0
- package/dist/es/ui/YkPagination/index.js.map +7 -0
- package/dist/es/ui/YkPagination/index.module.less +22 -0
- package/dist/es/ui/YkRadio/index.d.ts +4 -0
- package/dist/es/ui/YkRadio/index.js +51 -0
- package/dist/es/ui/YkRadio/index.js.map +7 -0
- package/dist/es/ui/YkRadio/index.module.less +22 -0
- package/dist/es/ui/YkRadioBtnSpecial/index.d.ts +15 -0
- package/dist/es/ui/YkRadioBtnSpecial/index.js +23 -0
- package/dist/es/ui/YkRadioBtnSpecial/index.js.map +7 -0
- package/dist/es/ui/YkRadioBtnSpecial/index.module.less +112 -0
- package/dist/es/ui/YkSegmented/index.d.ts +4 -0
- package/dist/es/ui/YkSegmented/index.js +41 -0
- package/dist/es/ui/YkSegmented/index.js.map +7 -0
- package/dist/es/ui/YkSelect/index.d.ts +7 -0
- package/dist/es/ui/YkSelect/index.js +54 -0
- package/dist/es/ui/YkSelect/index.js.map +7 -0
- package/dist/es/ui/YkSpin/index.d.ts +4 -0
- package/dist/es/ui/YkSpin/index.js +41 -0
- package/dist/es/ui/YkSpin/index.js.map +7 -0
- package/dist/es/ui/YkStatistic/index.d.ts +4 -0
- package/dist/es/ui/YkStatistic/index.js +41 -0
- package/dist/es/ui/YkStatistic/index.js.map +7 -0
- package/dist/es/ui/YkSwitch/index.d.ts +4 -0
- package/dist/es/ui/YkSwitch/index.js +51 -0
- package/dist/es/ui/YkSwitch/index.js.map +7 -0
- package/dist/es/ui/YkTabs/index.d.ts +12 -0
- package/dist/es/ui/YkTabs/index.js +75 -0
- package/dist/es/ui/YkTabs/index.js.map +7 -0
- package/dist/es/ui/YkTabs/index.module.less +11 -0
- package/dist/es/ui/YkTooltip/index.d.ts +4 -0
- package/dist/es/ui/YkTooltip/index.js +50 -0
- package/dist/es/ui/YkTooltip/index.js.map +7 -0
- package/dist/es/utils/styleUtils.d.ts +18 -0
- package/dist/es/utils/styleUtils.js +57 -0
- package/dist/es/utils/styleUtils.js.map +7 -0
- package/dist/es/utils/ykStorybookDoc.d.ts +17 -0
- package/dist/es/utils/ykStorybookDoc.js +18 -0
- package/dist/es/utils/ykStorybookDoc.js.map +7 -0
- package/dist/lib/Themes/InputTheme/index.d.ts +6 -0
- package/dist/lib/Themes/InputTheme/index.js +52 -0
- package/dist/lib/Themes/InputTheme/index.js.map +7 -0
- package/dist/lib/Themes/TableTheme/index.d.ts +7 -0
- package/dist/lib/Themes/TableTheme/index.js +61 -0
- package/dist/lib/Themes/TableTheme/index.js.map +7 -0
- package/dist/lib/Themes/TableTheme/index.less +46 -0
- package/dist/lib/assets/image/YKUI-logo.png +0 -0
- package/dist/lib/assets/less/ant-reset.less +402 -0
- package/dist/lib/assets/less/index.less +1 -0
- package/dist/lib/assets/less/variables.less +16 -0
- package/dist/lib/business/AiChat/MarkdownRender.d.ts +9 -0
- package/dist/lib/business/AiChat/MarkdownRender.js +102 -0
- package/dist/lib/business/AiChat/MarkdownRender.js.map +7 -0
- package/dist/lib/business/AiChat/index.d.ts +16 -0
- package/dist/lib/business/AiChat/index.js +514 -0
- package/dist/lib/business/AiChat/index.js.map +7 -0
- package/dist/lib/business/AiChat/intentRecognizer.d.ts +33 -0
- package/dist/lib/business/AiChat/intentRecognizer.js +193 -0
- package/dist/lib/business/AiChat/intentRecognizer.js.map +7 -0
- package/dist/lib/business/AiChat/navigationManager.d.ts +94 -0
- package/dist/lib/business/AiChat/navigationManager.js +214 -0
- package/dist/lib/business/AiChat/navigationManager.js.map +7 -0
- package/dist/lib/business/AiChat/sse.d.ts +1 -0
- package/dist/lib/business/AiChat/sse.js +61 -0
- package/dist/lib/business/AiChat/sse.js.map +7 -0
- package/dist/lib/business/AiChat/type.d.ts +157 -0
- package/dist/lib/business/AiChat/type.js +18 -0
- package/dist/lib/business/AiChat/type.js.map +7 -0
- package/dist/lib/business/AiChat/useAiChat.d.ts +2 -0
- package/dist/lib/business/AiChat/useAiChat.js +222 -0
- package/dist/lib/business/AiChat/useAiChat.js.map +7 -0
- package/dist/lib/business/AiChat/useTaskWorkflow.d.ts +26 -0
- package/dist/lib/business/AiChat/useTaskWorkflow.js +216 -0
- package/dist/lib/business/AiChat/useTaskWorkflow.js.map +7 -0
- package/dist/lib/business/DrawerPageInfo/index.d.ts +35 -0
- package/dist/lib/business/DrawerPageInfo/index.js +163 -0
- package/dist/lib/business/DrawerPageInfo/index.js.map +7 -0
- package/dist/lib/business/DrawerPageInfo/index.module.less +87 -0
- package/dist/lib/business/DrawerPageInfo/test.png +0 -0
- package/dist/lib/business/Editor/index.d.ts +11 -0
- package/dist/lib/business/Editor/index.js +99 -0
- package/dist/lib/business/Editor/index.js.map +7 -0
- package/dist/lib/business/Editor/index.less +31 -0
- package/dist/lib/business/Empty/empty.png +0 -0
- package/dist/lib/business/Empty/index.d.ts +19 -0
- package/dist/lib/business/Empty/index.js +65 -0
- package/dist/lib/business/Empty/index.js.map +7 -0
- package/dist/lib/business/ModCommonFilter/assets/images/empty.png +0 -0
- package/dist/lib/business/ModCommonFilter/components/FilterButton/IconClose.d.ts +13 -0
- package/dist/lib/business/ModCommonFilter/components/FilterButton/IconClose.js +50 -0
- package/dist/lib/business/ModCommonFilter/components/FilterButton/IconClose.js.map +7 -0
- package/dist/lib/business/ModCommonFilter/components/FilterButton/IconXiala.d.ts +13 -0
- package/dist/lib/business/ModCommonFilter/components/FilterButton/IconXiala.js +50 -0
- package/dist/lib/business/ModCommonFilter/components/FilterButton/IconXiala.js.map +7 -0
- package/dist/lib/business/ModCommonFilter/components/FilterButton/index.d.ts +25 -0
- package/dist/lib/business/ModCommonFilter/components/FilterButton/index.js +60 -0
- package/dist/lib/business/ModCommonFilter/components/FilterButton/index.js.map +7 -0
- package/dist/lib/business/ModCommonFilter/components/FilterButton/index.module.less +97 -0
- package/dist/lib/business/ModCommonFilter/components/PopoverContent/Category.d.ts +18 -0
- package/dist/lib/business/ModCommonFilter/components/PopoverContent/Category.js +69 -0
- package/dist/lib/business/ModCommonFilter/components/PopoverContent/Category.js.map +7 -0
- package/dist/lib/business/ModCommonFilter/components/PopoverContent/Content.d.ts +37 -0
- package/dist/lib/business/ModCommonFilter/components/PopoverContent/Content.js +211 -0
- package/dist/lib/business/ModCommonFilter/components/PopoverContent/Content.js.map +7 -0
- package/dist/lib/business/ModCommonFilter/components/PopoverContent/Selected.d.ts +26 -0
- package/dist/lib/business/ModCommonFilter/components/PopoverContent/Selected.js +97 -0
- package/dist/lib/business/ModCommonFilter/components/PopoverContent/Selected.js.map +7 -0
- package/dist/lib/business/ModCommonFilter/components/PopoverContent/index.d.ts +51 -0
- package/dist/lib/business/ModCommonFilter/components/PopoverContent/index.js +101 -0
- package/dist/lib/business/ModCommonFilter/components/PopoverContent/index.js.map +7 -0
- package/dist/lib/business/ModCommonFilter/components/PopoverContent/index.module.less +260 -0
- package/dist/lib/business/ModCommonFilter/index.d.ts +53 -0
- package/dist/lib/business/ModCommonFilter/index.js +143 -0
- package/dist/lib/business/ModCommonFilter/index.js.map +7 -0
- package/dist/lib/business/ModCommonFilter/index.module.less +7 -0
- package/dist/lib/business/ModCommonFilter/typing.d.ts +20 -0
- package/dist/lib/business/ModCommonFilter/typing.js +18 -0
- package/dist/lib/business/ModCommonFilter/typing.js.map +7 -0
- package/dist/lib/business/YkPorjectSelect/icon-product.png +0 -0
- package/dist/lib/business/YkPorjectSelect/index.d.ts +51 -0
- package/dist/lib/business/YkPorjectSelect/index.js +235 -0
- package/dist/lib/business/YkPorjectSelect/index.js.map +7 -0
- package/dist/lib/business/YkPorjectSelect/index.module.less +334 -0
- package/dist/lib/business/YkPorjectSelect/product-close.png +0 -0
- package/dist/lib/components/Clock/index.d.ts +19 -0
- package/dist/lib/components/Clock/index.js +85 -0
- package/dist/lib/components/Clock/index.js.map +7 -0
- package/dist/lib/components/DebounceInput/index.d.ts +16 -0
- package/dist/lib/components/DebounceInput/index.js +107 -0
- package/dist/lib/components/DebounceInput/index.js.map +7 -0
- package/dist/lib/components/DebounceInput/index.module.less +23 -0
- package/dist/lib/components/MultipleSelect/index.d.ts +23 -0
- package/dist/lib/components/MultipleSelect/index.js +279 -0
- package/dist/lib/components/MultipleSelect/index.js.map +7 -0
- package/dist/lib/components/MultipleSelect/index.module.less +174 -0
- package/dist/lib/components/NumericInput/index.d.ts +19 -0
- package/dist/lib/components/NumericInput/index.js +67 -0
- package/dist/lib/components/NumericInput/index.js.map +7 -0
- package/dist/lib/components/RefreshButton/index.d.ts +8 -0
- package/dist/lib/components/RefreshButton/index.js +51 -0
- package/dist/lib/components/RefreshButton/index.js.map +7 -0
- package/dist/lib/components/SearchWithHistory/index.d.ts +21 -0
- package/dist/lib/components/SearchWithHistory/index.js +145 -0
- package/dist/lib/components/SearchWithHistory/index.js.map +7 -0
- package/dist/lib/components/SearchWithHistory/index.module.less +64 -0
- package/dist/lib/components/TextWithInput/index.d.ts +15 -0
- package/dist/lib/components/TextWithInput/index.js +65 -0
- package/dist/lib/components/TextWithInput/index.js.map +7 -0
- package/dist/lib/components/TextWithToolTip/index.d.ts +17 -0
- package/dist/lib/components/TextWithToolTip/index.js +134 -0
- package/dist/lib/components/TextWithToolTip/index.js.map +7 -0
- package/dist/lib/components/TreeTransfer/components/TreeTransferPanel/index.d.ts +28 -0
- package/dist/lib/components/TreeTransfer/components/TreeTransferPanel/index.js +191 -0
- package/dist/lib/components/TreeTransfer/components/TreeTransferPanel/index.js.map +7 -0
- package/dist/lib/components/TreeTransfer/components/TreeTransferPanel/index.less +151 -0
- package/dist/lib/components/TreeTransfer/index.d.ts +28 -0
- package/dist/lib/components/TreeTransfer/index.js +214 -0
- package/dist/lib/components/TreeTransfer/index.js.map +7 -0
- package/dist/lib/components/TreeTransfer/index.less +69 -0
- package/dist/lib/components/TreeTransfer/types.d.ts +122 -0
- package/dist/lib/components/TreeTransfer/types.js +30 -0
- package/dist/lib/components/TreeTransfer/types.js.map +7 -0
- package/dist/lib/components/TreeTransfer/utils/index.d.ts +120 -0
- package/dist/lib/components/TreeTransfer/utils/index.js +208 -0
- package/dist/lib/components/TreeTransfer/utils/index.js.map +7 -0
- package/dist/lib/components/YkDateRangePicker/index.d.ts +57 -0
- package/dist/lib/components/YkDateRangePicker/index.js +282 -0
- package/dist/lib/components/YkDateRangePicker/index.js.map +7 -0
- package/dist/lib/components/YkDateRangePicker/index.module.less +281 -0
- package/dist/lib/components/YkRangeDateWithVS/YkRangeDateWithVSCompare.d.ts +16 -0
- package/dist/lib/components/YkRangeDateWithVS/YkRangeDateWithVSCompare.js +223 -0
- package/dist/lib/components/YkRangeDateWithVS/YkRangeDateWithVSCompare.js.map +7 -0
- package/dist/lib/components/YkRangeDateWithVS/YkRangeDateWithVSRange.d.ts +31 -0
- package/dist/lib/components/YkRangeDateWithVS/YkRangeDateWithVSRange.js +567 -0
- package/dist/lib/components/YkRangeDateWithVS/YkRangeDateWithVSRange.js.map +7 -0
- package/dist/lib/components/YkRangeDateWithVS/YkRangeDateWithVSSelect.d.ts +16 -0
- package/dist/lib/components/YkRangeDateWithVS/YkRangeDateWithVSSelect.js +85 -0
- package/dist/lib/components/YkRangeDateWithVS/YkRangeDateWithVSSelect.js.map +7 -0
- package/dist/lib/components/YkRangeDateWithVS/index.d.ts +62 -0
- package/dist/lib/components/YkRangeDateWithVS/index.js +140 -0
- package/dist/lib/components/YkRangeDateWithVS/index.js.map +7 -0
- package/dist/lib/components/YkRangeDateWithVS/index.module.less +548 -0
- package/dist/lib/components/YkRangeDateWithVS/styles.d.ts +2 -0
- package/dist/lib/components/YkRangeDateWithVS/styles.js +48 -0
- package/dist/lib/components/YkRangeDateWithVS/styles.js.map +7 -0
- package/dist/lib/components/YkRangeDateWithVS/typing.d.ts +15 -0
- package/dist/lib/components/YkRangeTimeWithRecent/constants.d.ts +48 -0
- package/dist/lib/components/YkRangeTimeWithRecent/constants.js +333 -0
- package/dist/lib/components/YkRangeTimeWithRecent/constants.js.map +7 -0
- package/dist/lib/components/YkRangeTimeWithRecent/index.d.ts +26 -0
- package/dist/lib/components/YkRangeTimeWithRecent/index.js +647 -0
- package/dist/lib/components/YkRangeTimeWithRecent/index.js.map +7 -0
- package/dist/lib/components/YkRangeTimeWithRecent/index.module.less +263 -0
- package/dist/lib/creative/ButtonRadioWithInfo/index.d.ts +17 -0
- package/dist/lib/creative/ButtonRadioWithInfo/index.js +102 -0
- package/dist/lib/creative/ButtonRadioWithInfo/index.js.map +7 -0
- package/dist/lib/creative/ButtonRadioWithInfo/index.less +106 -0
- package/dist/lib/creative/ButtonWithProgress/index.d.ts +11 -0
- package/dist/lib/creative/ButtonWithProgress/index.js +70 -0
- package/dist/lib/creative/ButtonWithProgress/index.js.map +7 -0
- package/dist/lib/creative/ButtonWithProgress/index.less +66 -0
- package/dist/lib/global.less +12 -0
- package/dist/lib/index.d.ts +41 -0
- package/dist/lib/index.js +158 -0
- package/dist/lib/index.js.map +7 -0
- package/dist/lib/layout/FlexGrid/index.d.ts +25 -0
- package/dist/lib/layout/FlexGrid/index.js +77 -0
- package/dist/lib/layout/FlexGrid/index.js.map +7 -0
- package/dist/lib/layout/YkContainer/index.d.ts +27 -0
- package/dist/lib/layout/YkContainer/index.js +79 -0
- package/dist/lib/layout/YkContainer/index.js.map +7 -0
- package/dist/lib/layout/YkDrawer/index.d.ts +22 -0
- package/dist/lib/layout/YkDrawer/index.js +152 -0
- package/dist/lib/layout/YkDrawer/index.js.map +7 -0
- package/dist/lib/layout/YkDrawer/index.module.less +45 -0
- package/dist/lib/ui/LabelSelect/demo.d.ts +3 -0
- package/dist/lib/ui/LabelSelect/demo.js +113 -0
- package/dist/lib/ui/LabelSelect/demo.js.map +7 -0
- package/dist/lib/ui/LabelSelect/index.d.ts +41 -0
- package/dist/lib/ui/LabelSelect/index.js +124 -0
- package/dist/lib/ui/LabelSelect/index.js.map +7 -0
- package/dist/lib/ui/LogicOperator/index.d.ts +10 -0
- package/dist/lib/ui/LogicOperator/index.js +42 -0
- package/dist/lib/ui/LogicOperator/index.js.map +7 -0
- package/dist/lib/ui/LogicOperator/index.module.less +97 -0
- package/dist/lib/ui/YkButton/index.d.ts +9 -0
- package/dist/lib/ui/YkButton/index.js +55 -0
- package/dist/lib/ui/YkButton/index.js.map +7 -0
- package/dist/lib/ui/YkCard/index.d.ts +4 -0
- package/dist/lib/ui/YkCard/index.js +76 -0
- package/dist/lib/ui/YkCard/index.js.map +7 -0
- package/dist/lib/ui/YkCard/index.module.less +30 -0
- package/dist/lib/ui/YkCheckbox/index.d.ts +4 -0
- package/dist/lib/ui/YkCheckbox/index.js +42 -0
- package/dist/lib/ui/YkCheckbox/index.js.map +7 -0
- package/dist/lib/ui/YkCheckbox/index.module.less +22 -0
- package/dist/lib/ui/YkDescriptions/index.d.ts +4 -0
- package/dist/lib/ui/YkDescriptions/index.js +41 -0
- package/dist/lib/ui/YkDescriptions/index.js.map +7 -0
- package/dist/lib/ui/YkPagination/index.d.ts +4 -0
- package/dist/lib/ui/YkPagination/index.js +60 -0
- package/dist/lib/ui/YkPagination/index.js.map +7 -0
- package/dist/lib/ui/YkPagination/index.module.less +22 -0
- package/dist/lib/ui/YkRadio/index.d.ts +4 -0
- package/dist/lib/ui/YkRadio/index.js +51 -0
- package/dist/lib/ui/YkRadio/index.js.map +7 -0
- package/dist/lib/ui/YkRadio/index.module.less +22 -0
- package/dist/lib/ui/YkRadioBtnSpecial/index.d.ts +15 -0
- package/dist/lib/ui/YkRadioBtnSpecial/index.js +53 -0
- package/dist/lib/ui/YkRadioBtnSpecial/index.js.map +7 -0
- package/dist/lib/ui/YkRadioBtnSpecial/index.module.less +112 -0
- package/dist/lib/ui/YkSegmented/index.d.ts +4 -0
- package/dist/lib/ui/YkSegmented/index.js +41 -0
- package/dist/lib/ui/YkSegmented/index.js.map +7 -0
- package/dist/lib/ui/YkSelect/index.d.ts +7 -0
- package/dist/lib/ui/YkSelect/index.js +54 -0
- package/dist/lib/ui/YkSelect/index.js.map +7 -0
- package/dist/lib/ui/YkSpin/index.d.ts +4 -0
- package/dist/lib/ui/YkSpin/index.js +41 -0
- package/dist/lib/ui/YkSpin/index.js.map +7 -0
- package/dist/lib/ui/YkStatistic/index.d.ts +4 -0
- package/dist/lib/ui/YkStatistic/index.js +41 -0
- package/dist/lib/ui/YkStatistic/index.js.map +7 -0
- package/dist/lib/ui/YkSwitch/index.d.ts +4 -0
- package/dist/lib/ui/YkSwitch/index.js +51 -0
- package/dist/lib/ui/YkSwitch/index.js.map +7 -0
- package/dist/lib/ui/YkTabs/index.d.ts +12 -0
- package/dist/lib/ui/YkTabs/index.js +70 -0
- package/dist/lib/ui/YkTabs/index.js.map +7 -0
- package/dist/lib/ui/YkTabs/index.module.less +11 -0
- package/dist/lib/ui/YkTooltip/index.d.ts +4 -0
- package/dist/lib/ui/YkTooltip/index.js +45 -0
- package/dist/lib/ui/YkTooltip/index.js.map +7 -0
- package/dist/lib/utils/styleUtils.d.ts +18 -0
- package/dist/lib/utils/styleUtils.js +84 -0
- package/dist/lib/utils/styleUtils.js.map +7 -0
- package/dist/lib/utils/ykStorybookDoc.d.ts +17 -0
- package/dist/lib/utils/ykStorybookDoc.js +41 -0
- package/dist/lib/utils/ykStorybookDoc.js.map +7 -0
- package/package.json +147 -0
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __defProps = Object.defineProperties;
|
|
3
|
+
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
4
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
7
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
8
|
+
var __spreadValues = (a, b) => {
|
|
9
|
+
for (var prop in b || (b = {}))
|
|
10
|
+
if (__hasOwnProp.call(b, prop))
|
|
11
|
+
__defNormalProp(a, prop, b[prop]);
|
|
12
|
+
if (__getOwnPropSymbols)
|
|
13
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
14
|
+
if (__propIsEnum.call(b, prop))
|
|
15
|
+
__defNormalProp(a, prop, b[prop]);
|
|
16
|
+
}
|
|
17
|
+
return a;
|
|
18
|
+
};
|
|
19
|
+
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
20
|
+
var __objRest = (source, exclude) => {
|
|
21
|
+
var target = {};
|
|
22
|
+
for (var prop in source)
|
|
23
|
+
if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
|
|
24
|
+
target[prop] = source[prop];
|
|
25
|
+
if (source != null && __getOwnPropSymbols)
|
|
26
|
+
for (var prop of __getOwnPropSymbols(source)) {
|
|
27
|
+
if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
|
|
28
|
+
target[prop] = source[prop];
|
|
29
|
+
}
|
|
30
|
+
return target;
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
// src/business/ModCommonFilter/components/PopoverContent/Content.tsx
|
|
34
|
+
import DebouncedInput from "../../../../components/DebounceInput";
|
|
35
|
+
import TextWithTooltip from "../../../../components/TextWithToolTip";
|
|
36
|
+
import { Checkbox, Divider, Tabs } from "antd";
|
|
37
|
+
import React, { useEffect, useMemo, useRef, useState } from "react";
|
|
38
|
+
import { Scrollbars } from "react-custom-scrollbars";
|
|
39
|
+
import { Grid } from "react-virtualized";
|
|
40
|
+
import emptyImg from "../../assets/images/empty.png";
|
|
41
|
+
import styles from "./index.module.less";
|
|
42
|
+
var Content = ({
|
|
43
|
+
terminal,
|
|
44
|
+
list,
|
|
45
|
+
selected,
|
|
46
|
+
setSelected,
|
|
47
|
+
placeholder,
|
|
48
|
+
categorySelected,
|
|
49
|
+
columnCount = 1,
|
|
50
|
+
contentWidth = 510,
|
|
51
|
+
rowHeight = 32,
|
|
52
|
+
cellRender,
|
|
53
|
+
showCode = false,
|
|
54
|
+
setHasOperation
|
|
55
|
+
}) => {
|
|
56
|
+
const [searchKey, setSearchKey] = useState("");
|
|
57
|
+
const [terminalSelected, setTerminalSelected] = useState("");
|
|
58
|
+
const [modalChecked, setModalChecked] = useState(selected);
|
|
59
|
+
const modalCheckMap = useMemo(() => {
|
|
60
|
+
return new Map(modalChecked.map((item) => [item, true]));
|
|
61
|
+
}, [modalChecked]);
|
|
62
|
+
const scrollbarsRef = useRef(null);
|
|
63
|
+
const gridRef = useRef(null);
|
|
64
|
+
const isInternalUpdate = useRef(false);
|
|
65
|
+
useEffect(() => {
|
|
66
|
+
if (isInternalUpdate.current) {
|
|
67
|
+
isInternalUpdate.current = false;
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
setModalChecked(selected);
|
|
71
|
+
}, [selected]);
|
|
72
|
+
const filterList = useMemo(() => {
|
|
73
|
+
const key = searchKey.trim().toUpperCase();
|
|
74
|
+
return list.filter((v) => v.name.toUpperCase().includes(key) || showCode && v.code.toUpperCase().includes(key)).filter((f) => terminalSelected === "" || f.terminal === terminalSelected).filter((f) => categorySelected === "" || f.category === categorySelected);
|
|
75
|
+
}, [list, searchKey, terminalSelected, categorySelected]);
|
|
76
|
+
const { allChecked, isIndeterminate } = useMemo(() => {
|
|
77
|
+
if (filterList.length === 0) {
|
|
78
|
+
return { allChecked: false, isIndeterminate: false };
|
|
79
|
+
}
|
|
80
|
+
const checkedCount = filterList.filter((item) => modalCheckMap.get(item.code)).length;
|
|
81
|
+
const allChecked2 = checkedCount === filterList.length;
|
|
82
|
+
const isIndeterminate2 = checkedCount > 0 && checkedCount < filterList.length;
|
|
83
|
+
return { allChecked: allChecked2, isIndeterminate: isIndeterminate2 };
|
|
84
|
+
}, [filterList, modalChecked]);
|
|
85
|
+
const useTerminal = useMemo(() => {
|
|
86
|
+
const newTerminal = terminal ? [...terminal] : [];
|
|
87
|
+
newTerminal.unshift({
|
|
88
|
+
code: "",
|
|
89
|
+
name: "全部"
|
|
90
|
+
});
|
|
91
|
+
return newTerminal;
|
|
92
|
+
}, [terminal]);
|
|
93
|
+
function updateModalChecked(checked) {
|
|
94
|
+
isInternalUpdate.current = true;
|
|
95
|
+
setModalChecked(checked);
|
|
96
|
+
setSelected(checked);
|
|
97
|
+
setHasOperation(true);
|
|
98
|
+
}
|
|
99
|
+
const handleAllChecked = (checked) => {
|
|
100
|
+
const filterCodes = filterList.map((item) => item.code);
|
|
101
|
+
if (checked) {
|
|
102
|
+
const newChecked = Array.from(/* @__PURE__ */ new Set([...modalChecked, ...filterCodes]));
|
|
103
|
+
updateModalChecked(newChecked);
|
|
104
|
+
} else {
|
|
105
|
+
const newChecked = modalChecked.filter((code) => !filterCodes.includes(code));
|
|
106
|
+
updateModalChecked(newChecked);
|
|
107
|
+
}
|
|
108
|
+
};
|
|
109
|
+
const handleScrollbarScroll = (event) => {
|
|
110
|
+
const { scrollTop, scrollLeft } = event.target;
|
|
111
|
+
if (gridRef.current) {
|
|
112
|
+
gridRef.current.handleScrollEvent({ scrollTop, scrollLeft });
|
|
113
|
+
}
|
|
114
|
+
};
|
|
115
|
+
function isItemChecked(value) {
|
|
116
|
+
return modalCheckMap.get(value);
|
|
117
|
+
}
|
|
118
|
+
function checkItem(value) {
|
|
119
|
+
if (isItemChecked(value)) {
|
|
120
|
+
updateModalChecked(modalChecked.filter((item) => item !== value));
|
|
121
|
+
} else {
|
|
122
|
+
updateModalChecked([...modalChecked, value]);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
return /* @__PURE__ */ React.createElement("div", { className: styles.content }, /* @__PURE__ */ React.createElement("div", { className: styles.contentHeader }, terminal && terminal.length > 0 && /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(
|
|
126
|
+
Tabs,
|
|
127
|
+
{
|
|
128
|
+
activeKey: terminalSelected,
|
|
129
|
+
items: useTerminal.map((v) => ({
|
|
130
|
+
key: v.code,
|
|
131
|
+
label: v.name
|
|
132
|
+
})),
|
|
133
|
+
onChange: (value) => {
|
|
134
|
+
setTerminalSelected(value);
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
), /* @__PURE__ */ React.createElement(Divider, { type: "vertical", style: { margin: "0 0 0 20px" } })), /* @__PURE__ */ React.createElement(
|
|
138
|
+
DebouncedInput,
|
|
139
|
+
{
|
|
140
|
+
allowClear: false,
|
|
141
|
+
placeholder,
|
|
142
|
+
currentValue: searchKey,
|
|
143
|
+
onChange: (value) => {
|
|
144
|
+
setSearchKey(value);
|
|
145
|
+
},
|
|
146
|
+
inputClass: styles.search
|
|
147
|
+
}
|
|
148
|
+
)), /* @__PURE__ */ React.createElement("div", { className: styles.contentList }, /* @__PURE__ */ React.createElement("div", { className: styles.checkAll }, /* @__PURE__ */ React.createElement(
|
|
149
|
+
Checkbox,
|
|
150
|
+
{
|
|
151
|
+
checked: allChecked,
|
|
152
|
+
indeterminate: isIndeterminate,
|
|
153
|
+
onChange: () => {
|
|
154
|
+
handleAllChecked(!allChecked);
|
|
155
|
+
}
|
|
156
|
+
},
|
|
157
|
+
"全选"
|
|
158
|
+
)), /* @__PURE__ */ React.createElement(
|
|
159
|
+
Scrollbars,
|
|
160
|
+
{
|
|
161
|
+
style: { height: 285, width: contentWidth },
|
|
162
|
+
renderThumbVertical: (_a) => {
|
|
163
|
+
var _b = _a, { style } = _b, props = __objRest(_b, ["style"]);
|
|
164
|
+
return /* @__PURE__ */ React.createElement("div", __spreadProps(__spreadValues({}, props), { style: __spreadProps(__spreadValues({}, style), { background: "#EFEFEF", borderRadius: 3 }) }));
|
|
165
|
+
},
|
|
166
|
+
ref: scrollbarsRef,
|
|
167
|
+
onScroll: handleScrollbarScroll
|
|
168
|
+
},
|
|
169
|
+
/* @__PURE__ */ React.createElement("div", { className: styles.contentListInner }, /* @__PURE__ */ React.createElement(
|
|
170
|
+
Grid,
|
|
171
|
+
{
|
|
172
|
+
style: { overflowX: "visible", overflowY: "visible" },
|
|
173
|
+
overscanRowCount: 5,
|
|
174
|
+
ref: gridRef,
|
|
175
|
+
columnCount,
|
|
176
|
+
rowCount: Math.ceil(filterList.length / columnCount),
|
|
177
|
+
height: 285,
|
|
178
|
+
width: contentWidth - 40,
|
|
179
|
+
columnWidth: (contentWidth - 40) / columnCount,
|
|
180
|
+
rowHeight,
|
|
181
|
+
cellRenderer: ({
|
|
182
|
+
columnIndex,
|
|
183
|
+
key,
|
|
184
|
+
rowIndex,
|
|
185
|
+
style
|
|
186
|
+
}) => {
|
|
187
|
+
const item = filterList[rowIndex * columnCount + columnIndex];
|
|
188
|
+
if (!item)
|
|
189
|
+
return;
|
|
190
|
+
return /* @__PURE__ */ React.createElement("div", { key, style }, /* @__PURE__ */ React.createElement(
|
|
191
|
+
Checkbox,
|
|
192
|
+
{
|
|
193
|
+
checked: isItemChecked(item.code),
|
|
194
|
+
onChange: () => {
|
|
195
|
+
checkItem(item.code);
|
|
196
|
+
}
|
|
197
|
+
},
|
|
198
|
+
cellRender ? cellRender(item) : /* @__PURE__ */ React.createElement(
|
|
199
|
+
TextWithTooltip,
|
|
200
|
+
{
|
|
201
|
+
text: (item == null ? void 0 : item.name) + (showCode ? "(" + (item == null ? void 0 : item.code) + ")" : ""),
|
|
202
|
+
width: (contentWidth - 40 * columnCount) / columnCount
|
|
203
|
+
}
|
|
204
|
+
)
|
|
205
|
+
));
|
|
206
|
+
},
|
|
207
|
+
noContentRenderer: () => /* @__PURE__ */ React.createElement("div", { className: styles.empty }, /* @__PURE__ */ React.createElement("img", { src: emptyImg, alt: "" }), /* @__PURE__ */ React.createElement("p", null, "当前搜索条件无数据"))
|
|
208
|
+
}
|
|
209
|
+
))
|
|
210
|
+
)));
|
|
211
|
+
};
|
|
212
|
+
var Content_default = Content;
|
|
213
|
+
export {
|
|
214
|
+
Content_default as default
|
|
215
|
+
};
|
|
216
|
+
//# sourceMappingURL=Content.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../../src/business/ModCommonFilter/components/PopoverContent/Content.tsx"],
|
|
4
|
+
"sourcesContent": ["import DebouncedInput from '@/components/DebounceInput';\nimport TextWithTooltip from '@/components/TextWithToolTip';\nimport { Checkbox, Divider, Tabs } from 'antd';\nimport React, { useEffect, useMemo, useRef, useState } from 'react';\nimport { Scrollbars } from 'react-custom-scrollbars';\nimport { Grid } from 'react-virtualized';\nimport emptyImg from '../../assets/images/empty.png';\nimport type { ListItem, TerminalItem } from '../../typing';\nimport styles from './index.module.less';\n\n/**\n * 可选列表内容区的 Props\n */\ninterface PropsType {\n /** 终端 Tab 数据(如 全部/PC/APP),无则不展示终端 Tab */\n terminal?: TerminalItem[];\n /** 当前分类下的可选列表 */\n list: ListItem[];\n /** 当前已选中的 code 列表 */\n selected: string[];\n /** 更新已选中列表 */\n setSelected: (selected: string[]) => void;\n /** 搜索框占位文案 */\n placeholder: string;\n /** 当前选中的分类 code,用于过滤 list */\n categorySelected: string;\n /** 网格列数 */\n columnCount?: number;\n /** 内容区宽度 */\n contentWidth?: number;\n /** 每行高度 */\n rowHeight?: number;\n /** 每格自定义渲染 */\n cellRender?: (item: ListItem) => React.ReactNode;\n /** 是否在名称后展示 code */\n showCode?: boolean;\n /** 通知父组件「用户是否有过勾选操作」 */\n setHasOperation: (hasOperation: boolean) => void;\n}\n\n/**\n * 筛选弹层中间区域:终端 Tab(可选)+ 搜索 + 全选 + 虚拟列表勾选。\n * 内部维护 modalChecked 与外部 selected 同步,并用 isInternalUpdate 区分内外更新避免循环。\n */\nconst Content: React.FC<PropsType> = ({\n terminal,\n list,\n selected,\n setSelected,\n placeholder,\n categorySelected,\n columnCount = 1,\n contentWidth = 510,\n rowHeight = 32,\n cellRender,\n showCode = false,\n setHasOperation,\n}) => {\n const [searchKey, setSearchKey] = useState<string>('');\n /** 当前选中的终端 Tab(code),空字符串表示「全部」 */\n const [terminalSelected, setTerminalSelected] = useState<string>('');\n /** 弹层内勾选状态(与 selected 同步,用于避免直接改 selected 导致父组件重渲染影响虚拟列表) */\n const [modalChecked, setModalChecked] = useState<string[]>(selected);\n\n /** 已选 code -> true 的 Map,用于 O(1) 判断是否选中 */\n const modalCheckMap = useMemo(() => {\n return new Map(modalChecked.map((item) => [item, true]));\n }, [modalChecked]);\n\n const scrollbarsRef = useRef(null);\n const gridRef = useRef(null);\n /** 标记本次 selected 变更是否由本组件内部更新引起,避免 useEffect 把外部重置误同步进 modalChecked */\n const isInternalUpdate = useRef(false);\n\n /** 外部 selected 变化时同步到 modalChecked;若为内部更新触发的 effect 则跳过避免覆盖 */\n useEffect(() => {\n if (isInternalUpdate.current) {\n isInternalUpdate.current = false;\n return;\n }\n setModalChecked(selected);\n }, [selected]);\n\n /** 根据搜索关键词、终端、分类过滤后的列表,供虚拟列表与全选使用 */\n const filterList = useMemo(() => {\n const key = searchKey.trim().toUpperCase();\n return list\n .filter((v) => v.name.toUpperCase().includes(key) || (showCode && v.code.toUpperCase().includes(key)))\n .filter((f) => terminalSelected === '' || f.terminal === terminalSelected)\n .filter((f) => categorySelected === '' || f.category === categorySelected);\n }, [list, searchKey, terminalSelected, categorySelected]);\n\n /** 全选勾选状态与半选状态(基于当前 filterList 与 modalChecked) */\n const { allChecked, isIndeterminate } = useMemo(() => {\n if (filterList.length === 0) {\n return { allChecked: false, isIndeterminate: false };\n }\n const checkedCount = filterList.filter((item) => modalCheckMap.get(item.code)).length;\n const allChecked = checkedCount === filterList.length;\n const isIndeterminate = checkedCount > 0 && checkedCount < filterList.length;\n return { allChecked, isIndeterminate };\n }, [filterList, modalChecked]);\n\n /** 终端选项列表,头部插入「全部」(code: '') */\n const useTerminal = useMemo(() => {\n const newTerminal: TerminalItem[] = terminal ? [...terminal] : [];\n newTerminal.unshift({\n code: '',\n name: '全部',\n });\n return newTerminal;\n }, [terminal]);\n\n /** 更新弹层内勾选状态并同步到父组件 selected,并标记有过操作 */\n function updateModalChecked(checked: string[]) {\n isInternalUpdate.current = true;\n setModalChecked(checked);\n setSelected(checked);\n setHasOperation(true);\n }\n\n /** 全选/取消全选:仅针对当前 filterList 中的项 */\n const handleAllChecked = (checked: boolean) => {\n const filterCodes = filterList.map((item) => item.code);\n if (checked) {\n // 全选:将过滤列表中的所有项添加到已选列表(去重)\n const newChecked = Array.from(new Set([...modalChecked, ...filterCodes]));\n updateModalChecked(newChecked);\n } else {\n // 取消全选:从已选列表中移除过滤列表中的所有项\n const newChecked = modalChecked.filter((code) => !filterCodes.includes(code));\n updateModalChecked(newChecked);\n }\n };\n\n /** 将 Scrollbars 的滚动事件转发给 Grid,保证虚拟列表滚动一致 */\n const handleScrollbarScroll = (event: React.UIEvent<HTMLDivElement>) => {\n const { scrollTop, scrollLeft } = event.target as HTMLElement;\n if (gridRef.current) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (gridRef.current as any).handleScrollEvent({ scrollTop, scrollLeft });\n }\n };\n\n /** 根据 code 判断该项是否已选中 */\n function isItemChecked(value: string) {\n return modalCheckMap.get(value);\n }\n\n /** 切换单项勾选状态 */\n function checkItem(value: string) {\n if (isItemChecked(value)) {\n updateModalChecked(modalChecked.filter((item) => item !== value));\n } else {\n updateModalChecked([...modalChecked, value]);\n }\n }\n\n return (\n <div className={styles.content}>\n <div className={styles.contentHeader}>\n {terminal && terminal.length > 0 && (\n <>\n <Tabs\n activeKey={terminalSelected}\n items={useTerminal.map((v) => ({\n key: v.code,\n label: v.name,\n }))}\n onChange={(value) => {\n setTerminalSelected(value);\n }}\n />\n <Divider type='vertical' style={{ margin: '0 0 0 20px' }} />\n </>\n )}\n <DebouncedInput\n allowClear={false}\n placeholder={placeholder}\n currentValue={searchKey}\n onChange={(value) => {\n setSearchKey(value);\n }}\n inputClass={styles.search}\n ></DebouncedInput>\n </div>\n <div className={styles.contentList}>\n <div className={styles.checkAll}>\n <Checkbox\n checked={allChecked}\n indeterminate={isIndeterminate}\n onChange={() => {\n handleAllChecked(!allChecked);\n }}\n >\n 全选\n </Checkbox>\n </div>\n <Scrollbars\n style={{ height: 285, width: contentWidth }}\n renderThumbVertical={({ style, ...props }) => (\n <div {...props} style={{ ...style, background: '#EFEFEF', borderRadius: 3 }} />\n )}\n ref={scrollbarsRef}\n onScroll={handleScrollbarScroll}\n >\n <div className={styles.contentListInner}>\n <Grid\n style={{ overflowX: 'visible', overflowY: 'visible' }}\n overscanRowCount={5}\n ref={gridRef}\n columnCount={columnCount}\n rowCount={Math.ceil(filterList.length / columnCount)}\n height={285}\n width={contentWidth - 40}\n columnWidth={(contentWidth - 40) / columnCount}\n rowHeight={rowHeight}\n cellRenderer={({\n columnIndex,\n key,\n rowIndex,\n style,\n }: {\n columnIndex: number;\n key: string;\n rowIndex: number;\n style: React.CSSProperties;\n }) => {\n const item = filterList[rowIndex * columnCount + columnIndex];\n if (!item) return;\n return (\n <div key={key} style={style}>\n <Checkbox\n checked={isItemChecked(item.code)}\n onChange={() => {\n checkItem(item.code);\n }}\n >\n {cellRender ? (\n cellRender(item)\n ) : (\n <TextWithTooltip\n text={item?.name + (showCode ? '(' + item?.code + ')' : '')}\n width={(contentWidth - 40 * columnCount) / columnCount}\n ></TextWithTooltip>\n )}\n </Checkbox>\n </div>\n );\n }}\n noContentRenderer={() => (\n <div className={styles.empty}>\n <img src={emptyImg} alt='' />\n <p>当前搜索条件无数据</p>\n </div>\n )}\n />\n </div>\n </Scrollbars>\n </div>\n </div>\n );\n};\n\nexport default Content;\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["allChecked", "isIndeterminate"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { ListItem } from '../../typing';
|
|
3
|
+
/**
|
|
4
|
+
* 已选列表组件的 Props
|
|
5
|
+
*/
|
|
6
|
+
interface PropsType {
|
|
7
|
+
/** 完整列表数据,用于根据 selected 中的 code 取 name 等信息 */
|
|
8
|
+
list: ListItem[];
|
|
9
|
+
/** 已选中的 code 数组(顺序即展示顺序) */
|
|
10
|
+
selected: string[];
|
|
11
|
+
/** 更新已选列表 */
|
|
12
|
+
setSelected: (selected: string[]) => void;
|
|
13
|
+
/** 内容宽度(当前未在 Selected 内使用,可做预留) */
|
|
14
|
+
contentWidth?: number;
|
|
15
|
+
/** 每行高度 */
|
|
16
|
+
rowHeight?: number;
|
|
17
|
+
/** 是否在名称后展示 code */
|
|
18
|
+
showCode?: boolean;
|
|
19
|
+
/** 已选列表中每行的自定义渲染 */
|
|
20
|
+
checkedCellRender?: (item: ListItem) => React.ReactNode;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* 筛选弹层右侧已选列表:展示已选数量、清空、虚拟列表逐项展示并可删除。
|
|
24
|
+
*/
|
|
25
|
+
declare const Selected: React.FC<PropsType>;
|
|
26
|
+
export default Selected;
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __defProps = Object.defineProperties;
|
|
3
|
+
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
4
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
7
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
8
|
+
var __spreadValues = (a, b) => {
|
|
9
|
+
for (var prop in b || (b = {}))
|
|
10
|
+
if (__hasOwnProp.call(b, prop))
|
|
11
|
+
__defNormalProp(a, prop, b[prop]);
|
|
12
|
+
if (__getOwnPropSymbols)
|
|
13
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
14
|
+
if (__propIsEnum.call(b, prop))
|
|
15
|
+
__defNormalProp(a, prop, b[prop]);
|
|
16
|
+
}
|
|
17
|
+
return a;
|
|
18
|
+
};
|
|
19
|
+
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
20
|
+
var __objRest = (source, exclude) => {
|
|
21
|
+
var target = {};
|
|
22
|
+
for (var prop in source)
|
|
23
|
+
if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
|
|
24
|
+
target[prop] = source[prop];
|
|
25
|
+
if (source != null && __getOwnPropSymbols)
|
|
26
|
+
for (var prop of __getOwnPropSymbols(source)) {
|
|
27
|
+
if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
|
|
28
|
+
target[prop] = source[prop];
|
|
29
|
+
}
|
|
30
|
+
return target;
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
// src/business/ModCommonFilter/components/PopoverContent/Selected.tsx
|
|
34
|
+
import TextWithTooltip from "../../../../components/TextWithToolTip";
|
|
35
|
+
import classNames from "classnames";
|
|
36
|
+
import React, { useRef } from "react";
|
|
37
|
+
import { Scrollbars } from "react-custom-scrollbars";
|
|
38
|
+
import { AutoSizer, List } from "react-virtualized";
|
|
39
|
+
import styles from "./index.module.less";
|
|
40
|
+
var Selected = ({
|
|
41
|
+
list,
|
|
42
|
+
selected,
|
|
43
|
+
setSelected,
|
|
44
|
+
rowHeight = 32,
|
|
45
|
+
showCode,
|
|
46
|
+
checkedCellRender
|
|
47
|
+
}) => {
|
|
48
|
+
const listScrollbarsRef = useRef(null);
|
|
49
|
+
const listRef = useRef(null);
|
|
50
|
+
const handleListScrollbarScroll = (event) => {
|
|
51
|
+
const { scrollTop, scrollLeft } = event.target;
|
|
52
|
+
if (listRef.current) {
|
|
53
|
+
listRef.current.Grid.handleScrollEvent({ scrollTop, scrollLeft });
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
return /* @__PURE__ */ React.createElement("div", { className: styles.selected }, /* @__PURE__ */ React.createElement("div", { className: styles.selectedHeader }, /* @__PURE__ */ React.createElement("span", null, "已选", selected.length, "个"), /* @__PURE__ */ React.createElement("span", { className: styles.clear, onClick: () => setSelected([]) }, "清空")), /* @__PURE__ */ React.createElement(
|
|
57
|
+
Scrollbars,
|
|
58
|
+
{
|
|
59
|
+
style: { height: 325 },
|
|
60
|
+
renderThumbVertical: (_a) => {
|
|
61
|
+
var _b = _a, { style } = _b, props = __objRest(_b, ["style"]);
|
|
62
|
+
return /* @__PURE__ */ React.createElement("div", __spreadProps(__spreadValues({}, props), { style: __spreadProps(__spreadValues({}, style), { background: "#EFEFEF", borderRadius: 3 }) }));
|
|
63
|
+
},
|
|
64
|
+
ref: listScrollbarsRef,
|
|
65
|
+
onScroll: handleListScrollbarScroll
|
|
66
|
+
},
|
|
67
|
+
/* @__PURE__ */ React.createElement("div", { className: styles.selectedContent }, /* @__PURE__ */ React.createElement(AutoSizer, { disableHeight: true }, ({ width }) => /* @__PURE__ */ React.createElement(
|
|
68
|
+
List,
|
|
69
|
+
{
|
|
70
|
+
ref: listRef,
|
|
71
|
+
style: { overflowX: "visible", overflowY: "visible" },
|
|
72
|
+
rowCount: selected.length,
|
|
73
|
+
height: 325,
|
|
74
|
+
width,
|
|
75
|
+
rowHeight,
|
|
76
|
+
rowRenderer: ({ index, key, style }) => {
|
|
77
|
+
const option = list.find((option2) => option2.code === selected[index]);
|
|
78
|
+
return /* @__PURE__ */ React.createElement("div", { className: styles.selectedItem, key, style }, option && checkedCellRender ? checkedCellRender(option) : /* @__PURE__ */ React.createElement(
|
|
79
|
+
TextWithTooltip,
|
|
80
|
+
{
|
|
81
|
+
text: (option == null ? void 0 : option.name) + (showCode ? "(" + (option == null ? void 0 : option.code) + ")" : ""),
|
|
82
|
+
width: "100%"
|
|
83
|
+
}
|
|
84
|
+
), /* @__PURE__ */ React.createElement(
|
|
85
|
+
"i",
|
|
86
|
+
{
|
|
87
|
+
className: classNames("iconfont icon-lajitong", styles.close),
|
|
88
|
+
onClick: () => {
|
|
89
|
+
setSelected(selected.filter((item) => item !== selected[index]));
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
));
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
)))
|
|
96
|
+
));
|
|
97
|
+
};
|
|
98
|
+
var Selected_default = Selected;
|
|
99
|
+
export {
|
|
100
|
+
Selected_default as default
|
|
101
|
+
};
|
|
102
|
+
//# sourceMappingURL=Selected.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../../src/business/ModCommonFilter/components/PopoverContent/Selected.tsx"],
|
|
4
|
+
"sourcesContent": ["import TextWithTooltip from '@/components/TextWithToolTip';\nimport classNames from 'classnames';\nimport React, { useRef } from 'react';\nimport { Scrollbars } from 'react-custom-scrollbars';\nimport { AutoSizer, List } from 'react-virtualized';\nimport type { ListItem } from '../../typing';\nimport styles from './index.module.less';\n\n/**\n * 已选列表组件的 Props\n */\ninterface PropsType {\n /** 完整列表数据,用于根据 selected 中的 code 取 name 等信息 */\n list: ListItem[];\n /** 已选中的 code 数组(顺序即展示顺序) */\n selected: string[];\n /** 更新已选列表 */\n setSelected: (selected: string[]) => void;\n /** 内容宽度(当前未在 Selected 内使用,可做预留) */\n contentWidth?: number;\n /** 每行高度 */\n rowHeight?: number;\n /** 是否在名称后展示 code */\n showCode?: boolean;\n /** 已选列表中每行的自定义渲染 */\n checkedCellRender?: (item: ListItem) => React.ReactNode;\n}\n\n/**\n * 筛选弹层右侧已选列表:展示已选数量、清空、虚拟列表逐项展示并可删除。\n */\nconst Selected: React.FC<PropsType> = ({\n list,\n selected,\n setSelected,\n rowHeight = 32,\n showCode,\n checkedCellRender,\n}) => {\n const listScrollbarsRef = useRef<typeof Scrollbars>(null);\n const listRef = useRef(null);\n\n /** 将 Scrollbars 滚动同步到 List,保证虚拟列表与滚动条一致 */\n const handleListScrollbarScroll = (event: React.UIEvent<HTMLDivElement>) => {\n const { scrollTop, scrollLeft } = event.target as HTMLElement;\n if (listRef.current) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (listRef.current as any).Grid.handleScrollEvent({ scrollTop, scrollLeft });\n }\n };\n\n return (\n <div className={styles.selected}>\n <div className={styles.selectedHeader}>\n <span>已选{selected.length}个</span>\n <span className={styles.clear} onClick={() => setSelected([])}>\n 清空\n </span>\n </div>\n\n <Scrollbars\n style={{ height: 325 }}\n renderThumbVertical={({ style, ...props }) => (\n <div {...props} style={{ ...style, background: '#EFEFEF', borderRadius: 3 }} />\n )}\n ref={listScrollbarsRef}\n onScroll={handleListScrollbarScroll}\n >\n <div className={styles.selectedContent}>\n <AutoSizer disableHeight>\n {({ width }: { width: number }) => (\n <List\n ref={listRef}\n style={{ overflowX: 'visible', overflowY: 'visible' }}\n rowCount={selected.length}\n height={325}\n width={width}\n rowHeight={rowHeight}\n rowRenderer={({ index, key, style }: { index: number; key: string; style: React.CSSProperties }) => {\n const option = list.find((option) => option.code === selected[index]);\n return (\n <div className={styles.selectedItem} key={key} style={style}>\n {option && checkedCellRender ? (\n checkedCellRender(option)\n ) : (\n <TextWithTooltip\n text={option?.name + (showCode ? '(' + option?.code + ')' : '')}\n width='100%'\n ></TextWithTooltip>\n )}\n\n <i\n className={classNames('iconfont icon-lajitong', styles.close)}\n onClick={() => {\n setSelected(selected.filter((item) => item !== selected[index]));\n }}\n ></i>\n </div>\n );\n }}\n ></List>\n )}\n </AutoSizer>\n </div>\n </Scrollbars>\n </div>\n );\n};\n\nexport default Selected;\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,qBAAqB;AAC5B,OAAO,gBAAgB;AACvB,OAAO,SAAS,cAAc;AAC9B,SAAS,kBAAkB;AAC3B,SAAS,WAAW,YAAY;AAEhC,OAAO,YAAY;AAyBnB,IAAM,WAAgC,CAAC;AAAA,EACrC;AAAA,EACA;AAAA,EACA;AAAA,EACA,YAAY;AAAA,EACZ;AAAA,EACA;AACF,MAAM;AACJ,QAAM,oBAAoB,OAA0B,IAAI;AACxD,QAAM,UAAU,OAAO,IAAI;AAG3B,QAAM,4BAA4B,CAAC,UAAyC;AAC1E,UAAM,EAAE,WAAW,WAAW,IAAI,MAAM;AACxC,QAAI,QAAQ,SAAS;AAEnB,MAAC,QAAQ,QAAgB,KAAK,kBAAkB,EAAE,WAAW,WAAW,CAAC;AAAA,IAC3E;AAAA,EACF;AAEA,SACE,oCAAC,SAAI,WAAW,OAAO,YACrB,oCAAC,SAAI,WAAW,OAAO,kBACrB,oCAAC,cAAK,MAAG,SAAS,QAAO,GAAC,GAC1B,oCAAC,UAAK,WAAW,OAAO,OAAO,SAAS,MAAM,YAAY,CAAC,CAAC,KAAG,IAE/D,CACF,GAEA;AAAA,IAAC;AAAA;AAAA,MACC,OAAO,EAAE,QAAQ,IAAI;AAAA,MACrB,qBAAqB,CAAC,OAAqB;AAArB,qBAAE,QA9DhC,IA8D8B,IAAY,kBAAZ,IAAY,CAAV;AACtB,mDAAC,wCAAQ,QAAR,EAAe,OAAO,iCAAK,QAAL,EAAY,YAAY,WAAW,cAAc,EAAE,KAAG;AAAA;AAAA,MAE/E,KAAK;AAAA,MACL,UAAU;AAAA;AAAA,IAEV,oCAAC,SAAI,WAAW,OAAO,mBACrB,oCAAC,aAAU,eAAa,QACrB,CAAC,EAAE,MAAM,MACR;AAAA,MAAC;AAAA;AAAA,QACC,KAAK;AAAA,QACL,OAAO,EAAE,WAAW,WAAW,WAAW,UAAU;AAAA,QACpD,UAAU,SAAS;AAAA,QACnB,QAAQ;AAAA,QACR;AAAA,QACA;AAAA,QACA,aAAa,CAAC,EAAE,OAAO,KAAK,MAAM,MAAkE;AAClG,gBAAM,SAAS,KAAK,KAAK,CAACA,YAAWA,QAAO,SAAS,SAAS,KAAK,CAAC;AACpE,iBACE,oCAAC,SAAI,WAAW,OAAO,cAAc,KAAU,SAC5C,UAAU,oBACT,kBAAkB,MAAM,IAExB;AAAA,YAAC;AAAA;AAAA,cACC,OAAM,iCAAQ,SAAQ,WAAW,OAAM,iCAAQ,QAAO,MAAM;AAAA,cAC5D,OAAM;AAAA;AAAA,UACP,GAGH;AAAA,YAAC;AAAA;AAAA,cACC,WAAW,WAAW,0BAA0B,OAAO,KAAK;AAAA,cAC5D,SAAS,MAAM;AACb,4BAAY,SAAS,OAAO,CAAC,SAAS,SAAS,SAAS,KAAK,CAAC,CAAC;AAAA,cACjE;AAAA;AAAA,UACD,CACH;AAAA,QAEJ;AAAA;AAAA,IACD,CAEL,CACF;AAAA,EACF,CACF;AAEJ;AAEA,IAAO,mBAAQ;",
|
|
6
|
+
"names": ["option"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { CategoryItem, ListItem, TerminalItem } from '../../typing';
|
|
3
|
+
/**
|
|
4
|
+
* 筛选弹层内容组件的 Props
|
|
5
|
+
*/
|
|
6
|
+
interface PropsType {
|
|
7
|
+
/** 弹层是否打开,用于重置「是否操作过」状态 */
|
|
8
|
+
popOpen: boolean;
|
|
9
|
+
/** 分类列表,用于左侧分类 Tab */
|
|
10
|
+
category?: CategoryItem[];
|
|
11
|
+
/** 终端列表,用于 Content 内终端 Tab(如全部/PC/APP) */
|
|
12
|
+
terminal?: TerminalItem[];
|
|
13
|
+
/** 可选列表数据 */
|
|
14
|
+
list: ListItem[];
|
|
15
|
+
/** 搜索框占位文案 */
|
|
16
|
+
placeholder: string;
|
|
17
|
+
/** 标题后缀,如「筛选{title}」中的 title */
|
|
18
|
+
title: string;
|
|
19
|
+
/** 当前已选中的项(code 数组) */
|
|
20
|
+
selected: string[];
|
|
21
|
+
/** 设置已选中项 */
|
|
22
|
+
setSelected: (selected: string[]) => void;
|
|
23
|
+
/** 当前选中的分类 code */
|
|
24
|
+
categorySelected: string;
|
|
25
|
+
/** 设置选中的分类 */
|
|
26
|
+
setCategorySelected: (categorySelected: string) => void;
|
|
27
|
+
/** 列表列数(多列网格) */
|
|
28
|
+
columnCount: number;
|
|
29
|
+
/** 是否展示 code(名称后是否带括号 code) */
|
|
30
|
+
showCode: boolean;
|
|
31
|
+
/** 内容区宽度 */
|
|
32
|
+
contentWidth?: number;
|
|
33
|
+
/** 行高 */
|
|
34
|
+
rowHeight?: number;
|
|
35
|
+
/** 底部备注文案或节点 */
|
|
36
|
+
remark?: string | React.ReactNode;
|
|
37
|
+
/** 已选列表中每项的渲染函数 */
|
|
38
|
+
checkedCellRender?: (item: ListItem) => React.ReactNode;
|
|
39
|
+
/** 可选列表中每项的渲染函数 */
|
|
40
|
+
cellRender?: (item: ListItem) => React.ReactNode;
|
|
41
|
+
/** 点击「确认」时的回调 */
|
|
42
|
+
handleVerify: () => void;
|
|
43
|
+
/** 点击「取消」时的回调 */
|
|
44
|
+
handleClear: () => void;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* 通用筛选弹层内容:左侧分类 + 中间可选列表 + 右侧已选列表 + 底部确认/取消。
|
|
48
|
+
* 未产生任何勾选变化时,「确认」按钮禁用。
|
|
49
|
+
*/
|
|
50
|
+
declare const PopoverContent: React.FC<PropsType>;
|
|
51
|
+
export default PopoverContent;
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
// src/business/ModCommonFilter/components/PopoverContent/index.tsx
|
|
2
|
+
import { Button } from "antd";
|
|
3
|
+
import classNames from "classnames";
|
|
4
|
+
import React, { useEffect, useState } from "react";
|
|
5
|
+
import Category from "./Category";
|
|
6
|
+
import Content from "./Content";
|
|
7
|
+
import styles from "./index.module.less";
|
|
8
|
+
import Selected from "./Selected";
|
|
9
|
+
var PopoverContent = ({
|
|
10
|
+
popOpen,
|
|
11
|
+
category,
|
|
12
|
+
terminal,
|
|
13
|
+
list,
|
|
14
|
+
placeholder,
|
|
15
|
+
title,
|
|
16
|
+
selected,
|
|
17
|
+
setSelected,
|
|
18
|
+
categorySelected,
|
|
19
|
+
setCategorySelected,
|
|
20
|
+
columnCount = 1,
|
|
21
|
+
showCode = false,
|
|
22
|
+
contentWidth,
|
|
23
|
+
rowHeight,
|
|
24
|
+
checkedCellRender,
|
|
25
|
+
cellRender,
|
|
26
|
+
handleVerify,
|
|
27
|
+
handleClear,
|
|
28
|
+
remark
|
|
29
|
+
}) => {
|
|
30
|
+
const [hasOperation, setHasOperation] = useState(false);
|
|
31
|
+
useEffect(() => {
|
|
32
|
+
if (popOpen) {
|
|
33
|
+
setHasOperation(false);
|
|
34
|
+
}
|
|
35
|
+
}, [popOpen]);
|
|
36
|
+
const submitButtonClass = classNames(styles.item, styles.submit, !hasOperation && styles.disabled);
|
|
37
|
+
const cancelButtonClass = classNames(styles.item, styles.cancel);
|
|
38
|
+
return /* @__PURE__ */ React.createElement("div", { className: styles.popoverContent }, /* @__PURE__ */ React.createElement("div", { className: styles.header }, "筛选", title), /* @__PURE__ */ React.createElement("div", { className: styles.body }, /* @__PURE__ */ React.createElement(Category, { category, categorySelected, setCategorySelected }), /* @__PURE__ */ React.createElement(
|
|
39
|
+
Content,
|
|
40
|
+
{
|
|
41
|
+
terminal,
|
|
42
|
+
list,
|
|
43
|
+
selected,
|
|
44
|
+
setSelected,
|
|
45
|
+
placeholder,
|
|
46
|
+
categorySelected,
|
|
47
|
+
columnCount,
|
|
48
|
+
contentWidth,
|
|
49
|
+
rowHeight,
|
|
50
|
+
showCode,
|
|
51
|
+
setHasOperation,
|
|
52
|
+
cellRender
|
|
53
|
+
}
|
|
54
|
+
), /* @__PURE__ */ React.createElement(
|
|
55
|
+
Selected,
|
|
56
|
+
{
|
|
57
|
+
list,
|
|
58
|
+
selected,
|
|
59
|
+
setSelected,
|
|
60
|
+
contentWidth,
|
|
61
|
+
rowHeight,
|
|
62
|
+
showCode,
|
|
63
|
+
checkedCellRender
|
|
64
|
+
}
|
|
65
|
+
)), /* @__PURE__ */ React.createElement("div", { className: styles.footer }, /* @__PURE__ */ React.createElement("span", { className: styles.remark }, remark), /* @__PURE__ */ React.createElement(Button, { className: submitButtonClass, disabled: !hasOperation, type: "primary", onClick: handleVerify }, "确认"), /* @__PURE__ */ React.createElement(Button, { className: cancelButtonClass, type: "default", onClick: handleClear }, "取消")));
|
|
66
|
+
};
|
|
67
|
+
var PopoverContent_default = PopoverContent;
|
|
68
|
+
export {
|
|
69
|
+
PopoverContent_default as default
|
|
70
|
+
};
|
|
71
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../../src/business/ModCommonFilter/components/PopoverContent/index.tsx"],
|
|
4
|
+
"sourcesContent": ["import { Button } from 'antd';\nimport classNames from 'classnames';\nimport React, { useEffect, useState } from 'react';\nimport type { CategoryItem, ListItem, TerminalItem } from '../../typing';\nimport Category from './Category';\nimport Content from './Content';\nimport styles from './index.module.less';\nimport Selected from './Selected';\n\n/**\n * 筛选弹层内容组件的 Props\n */\ninterface PropsType {\n /** 弹层是否打开,用于重置「是否操作过」状态 */\n popOpen: boolean;\n /** 分类列表,用于左侧分类 Tab */\n category?: CategoryItem[];\n /** 终端列表,用于 Content 内终端 Tab(如全部/PC/APP) */\n terminal?: TerminalItem[];\n /** 可选列表数据 */\n list: ListItem[];\n /** 搜索框占位文案 */\n placeholder: string;\n /** 标题后缀,如「筛选{title}」中的 title */\n title: string;\n /** 当前已选中的项(code 数组) */\n selected: string[];\n /** 设置已选中项 */\n setSelected: (selected: string[]) => void;\n /** 当前选中的分类 code */\n categorySelected: string;\n /** 设置选中的分类 */\n setCategorySelected: (categorySelected: string) => void;\n /** 列表列数(多列网格) */\n columnCount: number;\n /** 是否展示 code(名称后是否带括号 code) */\n showCode: boolean;\n /** 内容区宽度 */\n contentWidth?: number;\n /** 行高 */\n rowHeight?: number;\n /** 底部备注文案或节点 */\n remark?: string | React.ReactNode;\n /** 已选列表中每项的渲染函数 */\n checkedCellRender?: (item: ListItem) => React.ReactNode;\n /** 可选列表中每项的渲染函数 */\n cellRender?: (item: ListItem) => React.ReactNode;\n /** 点击「确认」时的回调 */\n handleVerify: () => void;\n /** 点击「取消」时的回调 */\n handleClear: () => void;\n}\n\n/**\n * 通用筛选弹层内容:左侧分类 + 中间可选列表 + 右侧已选列表 + 底部确认/取消。\n * 未产生任何勾选变化时,「确认」按钮禁用。\n */\nconst PopoverContent: React.FC<PropsType> = ({\n popOpen,\n category,\n terminal,\n list,\n placeholder,\n title,\n selected,\n setSelected,\n categorySelected,\n setCategorySelected,\n columnCount = 1,\n showCode = false,\n contentWidth,\n rowHeight,\n checkedCellRender,\n cellRender,\n handleVerify,\n handleClear,\n remark,\n}) => {\n /** 是否在本次弹层内有过勾选操作,未操作时确认按钮禁用 */\n const [hasOperation, setHasOperation] = useState(false);\n\n /** 弹层打开时重置「是否操作过」,避免沿用上次状态 */\n useEffect(() => {\n if (popOpen) {\n setHasOperation(false);\n }\n }, [popOpen]);\n\n const submitButtonClass = classNames(styles.item, styles.submit, !hasOperation && styles.disabled);\n const cancelButtonClass = classNames(styles.item, styles.cancel);\n\n return (\n <div className={styles.popoverContent}>\n <div className={styles.header}>筛选{title}</div>\n <div className={styles.body}>\n <Category category={category} categorySelected={categorySelected} setCategorySelected={setCategorySelected} />\n <Content\n terminal={terminal}\n list={list}\n selected={selected}\n setSelected={setSelected}\n placeholder={placeholder}\n categorySelected={categorySelected}\n columnCount={columnCount}\n contentWidth={contentWidth}\n rowHeight={rowHeight}\n showCode={showCode}\n setHasOperation={setHasOperation}\n cellRender={cellRender}\n />\n <Selected\n list={list}\n selected={selected}\n setSelected={setSelected}\n contentWidth={contentWidth}\n rowHeight={rowHeight}\n showCode={showCode}\n checkedCellRender={checkedCellRender}\n />\n </div>\n <div className={styles.footer}>\n <span className={styles.remark}>{remark}</span>\n <Button className={submitButtonClass} disabled={!hasOperation} type='primary' onClick={handleVerify}>\n 确认\n </Button>\n <Button className={cancelButtonClass} type='default' onClick={handleClear}>\n 取消\n </Button>\n </div>\n </div>\n );\n};\n\nexport default PopoverContent;\n"],
|
|
5
|
+
"mappings": ";AAAA,SAAS,cAAc;AACvB,OAAO,gBAAgB;AACvB,OAAO,SAAS,WAAW,gBAAgB;AAE3C,OAAO,cAAc;AACrB,OAAO,aAAa;AACpB,OAAO,YAAY;AACnB,OAAO,cAAc;AAkDrB,IAAM,iBAAsC,CAAC;AAAA,EAC3C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,cAAc;AAAA,EACd,WAAW;AAAA,EACX;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAM;AAEJ,QAAM,CAAC,cAAc,eAAe,IAAI,SAAS,KAAK;AAGtD,YAAU,MAAM;AACd,QAAI,SAAS;AACX,sBAAgB,KAAK;AAAA,IACvB;AAAA,EACF,GAAG,CAAC,OAAO,CAAC;AAEZ,QAAM,oBAAoB,WAAW,OAAO,MAAM,OAAO,QAAQ,CAAC,gBAAgB,OAAO,QAAQ;AACjG,QAAM,oBAAoB,WAAW,OAAO,MAAM,OAAO,MAAM;AAE/D,SACE,oCAAC,SAAI,WAAW,OAAO,kBACrB,oCAAC,SAAI,WAAW,OAAO,UAAQ,MAAG,KAAM,GACxC,oCAAC,SAAI,WAAW,OAAO,QACrB,oCAAC,YAAS,UAAoB,kBAAoC,qBAA0C,GAC5G;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA,EACF,GACA;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA,EACF,CACF,GACA,oCAAC,SAAI,WAAW,OAAO,UACrB,oCAAC,UAAK,WAAW,OAAO,UAAS,MAAO,GACxC,oCAAC,UAAO,WAAW,mBAAmB,UAAU,CAAC,cAAc,MAAK,WAAU,SAAS,gBAAc,IAErG,GACA,oCAAC,UAAO,WAAW,mBAAmB,MAAK,WAAU,SAAS,eAAa,IAE3E,CACF,CACF;AAEJ;AAEA,IAAO,yBAAQ;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|