@platox/pivot-table 0.0.44 → 0.0.46

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.
Files changed (38) hide show
  1. package/es/dashboard-workbench/components/add-module-modal/add-chart-modal/index.js +17 -13
  2. package/es/dashboard-workbench/components/add-module-modal/add-chart-modal/index.js.map +1 -1
  3. package/es/dashboard-workbench/components/add-module-modal/add-statistics-modal/custome-styles.js +29 -23
  4. package/es/dashboard-workbench/components/add-module-modal/add-statistics-modal/custome-styles.js.map +1 -1
  5. package/es/dashboard-workbench/components/add-module-modal/components/condition-modal/EnumSelect.d.ts +15 -0
  6. package/es/dashboard-workbench/components/add-module-modal/components/condition-modal/EnumSelect.js +89 -0
  7. package/es/dashboard-workbench/components/add-module-modal/components/condition-modal/EnumSelect.js.map +1 -0
  8. package/es/dashboard-workbench/components/add-module-modal/components/condition-modal/config.js +9 -6
  9. package/es/dashboard-workbench/components/add-module-modal/components/condition-modal/config.js.map +1 -1
  10. package/es/dashboard-workbench/components/add-module-modal/components/condition-modal/index.js +31 -28
  11. package/es/dashboard-workbench/components/add-module-modal/components/condition-modal/index.js.map +1 -1
  12. package/es/dashboard-workbench/components/global-filter-condition/ConditionSymbolAndValuePicker.d.ts +6 -2
  13. package/es/dashboard-workbench/components/global-filter-condition/ConditionSymbolAndValuePicker.js +36 -12
  14. package/es/dashboard-workbench/components/global-filter-condition/ConditionSymbolAndValuePicker.js.map +1 -1
  15. package/es/dashboard-workbench/components/global-filter-condition/index.js +1 -1
  16. package/es/dashboard-workbench/components/global-filter-condition/index.js.map +1 -1
  17. package/es/dashboard-workbench/components/module-content/statistics-module/index.js +7 -12
  18. package/es/dashboard-workbench/components/module-content/statistics-module/index.js.map +1 -1
  19. package/es/dashboard-workbench/components/module-content/utils.js +51 -12
  20. package/es/dashboard-workbench/components/module-content/utils.js.map +1 -1
  21. package/es/dashboard-workbench/context.d.ts +1 -0
  22. package/es/dashboard-workbench/context.js.map +1 -1
  23. package/es/dashboard-workbench/index.d.ts +1 -0
  24. package/es/dashboard-workbench/index.js +1 -0
  25. package/es/dashboard-workbench/index.js.map +1 -1
  26. package/es/dashboard-workbench/lang/en-US.d.ts +5 -0
  27. package/es/dashboard-workbench/lang/en-US.js +7 -2
  28. package/es/dashboard-workbench/lang/en-US.js.map +1 -1
  29. package/es/dashboard-workbench/lang/zh-CN.d.ts +5 -0
  30. package/es/dashboard-workbench/lang/zh-CN.js +7 -2
  31. package/es/dashboard-workbench/lang/zh-CN.js.map +1 -1
  32. package/es/dashboard-workbench/utils/index.js +1 -0
  33. package/es/dashboard-workbench/utils/index.js.map +1 -1
  34. package/package.json +1 -1
  35. package/umd/pivot-table.umd.cjs +45 -45
  36. package/es/dashboard-workbench/components/add-module-modal/components/condition-modal/debounce-select.d.ts +0 -12
  37. package/es/dashboard-workbench/components/add-module-modal/components/condition-modal/debounce-select.js +0 -44
  38. package/es/dashboard-workbench/components/add-module-modal/components/condition-modal/debounce-select.js.map +0 -1
@@ -15,10 +15,12 @@ const AddStatisticsModal = ({
15
15
  selectModuleData,
16
16
  enumDataApi
17
17
  }) => {
18
+ var _a;
18
19
  const { t } = useTranslation();
19
20
  const [customData, setCustomData] = useState();
20
21
  const [customeStyle, setCustomeStyle] = useState();
21
22
  React.useRef(null);
23
+ const isPieChart = (_a = customData == null ? void 0 : customData.type) == null ? void 0 : _a.includes("pie");
22
24
  useEffect(() => {
23
25
  if (selectModuleData) {
24
26
  setCustomData(selectModuleData == null ? void 0 : selectModuleData.customData);
@@ -71,20 +73,22 @@ const AddStatisticsModal = ({
71
73
  }
72
74
  )
73
75
  },
74
- {
75
- key: "2",
76
- label: t("customStyle"),
77
- children: /* @__PURE__ */ jsx(
78
- CustomeStyles,
79
- {
80
- customData,
81
- selectModuleData,
82
- onAllValuesChange: (allVal) => {
83
- setCustomeStyle(allVal);
76
+ ...!isPieChart ? [
77
+ {
78
+ key: "2",
79
+ label: t("customStyle"),
80
+ children: /* @__PURE__ */ jsx(
81
+ CustomeStyles,
82
+ {
83
+ customData,
84
+ selectModuleData,
85
+ onAllValuesChange: (allVal) => {
86
+ setCustomeStyle(allVal);
87
+ }
84
88
  }
85
- }
86
- )
87
- }
89
+ )
90
+ }
91
+ ] : []
88
92
  ]
89
93
  }
90
94
  ) }),
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../packages/dashboard-workbench/components/add-module-modal/add-chart-modal/index.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport React, { useEffect, useState } from 'react'\nimport { Button, Modal, Tabs } from 'antd'\nimport { CloseOutlined } from '@ant-design/icons'\nimport { useTranslation } from 'react-i18next'\nimport EditorHeader from '@platox/pivot-table/components/modal-editor-header'\nimport { EnumDataApi, ModuleDataApi } from '../../../types'\nimport { ModuleData } from '../../module-content'\nimport ChartModule from '../../module-content/chart-module'\nimport CustomData from './custome-data'\nimport CustomeStyles from './custome-styles'\nimport { ChartCustomDataType } from './interface'\n\n// import CombinationChartOption from './components/CombinationChartOptionPicker'\n// import GroupFieldConfigPicker from './components/GroupFieldConfigPicker'\n\ninterface AddStatisticsModalProps {\n open: boolean\n onClose?: () => void\n onOk?: (data: Partial<ModuleData>) => void\n\n selectModuleData?: ModuleData\n moduleDataApi?: ModuleDataApi\n enumDataApi?: EnumDataApi\n}\n\nconst AddStatisticsModal: React.FC<AddStatisticsModalProps> = ({\n open,\n onClose,\n onOk,\n moduleDataApi,\n selectModuleData,\n enumDataApi,\n}) => {\n const { t } = useTranslation()\n const [customData, setCustomData] = useState<ChartCustomDataType>()\n const [customeStyle, setCustomeStyle] = useState<any>()\n const containerRef = React.useRef<HTMLDivElement>(null)\n\n useEffect(() => {\n if (selectModuleData) {\n setCustomData(selectModuleData?.customData)\n setCustomeStyle(selectModuleData?.customeStyle)\n }\n }, [selectModuleData])\n\n /* ============================== split =============================== */\n const [title, setTitle] = useState<string>('')\n useEffect(() => {\n if (open) {\n setTitle(!!selectModuleData?.title ? selectModuleData?.title : t('chartText'))\n }\n }, [open])\n\n return (\n <>\n <Modal\n width=\"65%\"\n title={<EditorHeader value={title} onChange={setTitle} />}\n footer={null}\n open={open}\n onCancel={onClose}\n destroyOnClose\n closeIcon={<CloseOutlined />}\n className=\"ow-modal ow-modal-2\"\n >\n <div className=\"config-widget-dialog-container\">\n {/* <CombinationChartOption /> */}\n {/* <GroupFieldConfigPicker /> */}\n\n <div className=\"config-widget-dialog-content\">\n <div className=\"config-widget-dialog-preview\">\n <ChartModule\n customData={customData}\n customeStyle={customeStyle}\n moduleDataApi={moduleDataApi}\n />\n </div>\n </div>\n <div className=\"config-widget-dialog-panel\">\n <div className=\"bitable-dashboard edit-panel-container\">\n <Tabs\n defaultActiveKey=\"1\"\n items={[\n {\n key: '1',\n label: t('typeData'),\n children: (\n <CustomData\n enumDataApi={enumDataApi}\n selectModuleData={selectModuleData}\n onAllValuesChange={allVal => {\n setCustomData(allVal)\n }}\n />\n ),\n },\n {\n key: '2',\n label: t('customStyle'),\n children: (\n <CustomeStyles\n customData={customData}\n selectModuleData={selectModuleData}\n onAllValuesChange={allVal => {\n setCustomeStyle(allVal)\n }}\n />\n ),\n },\n ]}\n />\n </div>\n <div className=\"button-container\">\n <Button\n type=\"primary\"\n onClick={() => {\n onOk?.({\n id: selectModuleData?.id,\n type: selectModuleData?.type,\n customData,\n customeStyle,\n title,\n })\n }}\n >\n {t('confirm')}\n </Button>\n </div>\n </div>\n </div>\n </Modal>\n </>\n )\n}\n\nexport default AddStatisticsModal\n"],"names":[],"mappings":";;;;;;;;;AA0BA,MAAM,qBAAwD,CAAC;AAAA,EAC7D;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAM;AACE,QAAA,EAAE,EAAE,IAAI,eAAe;AAC7B,QAAM,CAAC,YAAY,aAAa,IAAI,SAA8B;AAClE,QAAM,CAAC,cAAc,eAAe,IAAI,SAAc;AACjC,QAAM,OAAuB,IAAI;AAEtD,YAAU,MAAM;AACd,QAAI,kBAAkB;AACpB,oBAAc,qDAAkB,UAAU;AAC1C,sBAAgB,qDAAkB,YAAY;AAAA,IAAA;AAAA,EAChD,GACC,CAAC,gBAAgB,CAAC;AAGrB,QAAM,CAAC,OAAO,QAAQ,IAAI,SAAiB,EAAE;AAC7C,YAAU,MAAM;AACd,QAAI,MAAM;AACC,eAAA,CAAC,EAAC,qDAAkB,SAAQ,qDAAkB,QAAQ,EAAE,WAAW,CAAC;AAAA,IAAA;AAAA,EAC/E,GACC,CAAC,IAAI,CAAC;AAET,SAEI,oBAAA,UAAA,EAAA,UAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,OAAM;AAAA,MACN,OAAQ,oBAAA,cAAA,EAAa,OAAO,OAAO,UAAU,UAAU;AAAA,MACvD,QAAQ;AAAA,MACR;AAAA,MACA,UAAU;AAAA,MACV,gBAAc;AAAA,MACd,+BAAY,eAAc,EAAA;AAAA,MAC1B,WAAU;AAAA,MAEV,UAAA,qBAAC,OAAI,EAAA,WAAU,kCAIb,UAAA;AAAA,QAAA,oBAAC,SAAI,WAAU,gCACb,UAAC,oBAAA,OAAA,EAAI,WAAU,gCACb,UAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC;AAAA,YACA;AAAA,YACA;AAAA,UAAA;AAAA,WAEJ,EACF,CAAA;AAAA,QACA,qBAAC,OAAI,EAAA,WAAU,8BACb,UAAA;AAAA,UAAC,oBAAA,OAAA,EAAI,WAAU,0CACb,UAAA;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,kBAAiB;AAAA,cACjB,OAAO;AAAA,gBACL;AAAA,kBACE,KAAK;AAAA,kBACL,OAAO,EAAE,UAAU;AAAA,kBACnB,UACE;AAAA,oBAAC;AAAA,oBAAA;AAAA,sBACC;AAAA,sBACA;AAAA,sBACA,mBAAmB,CAAU,WAAA;AAC3B,sCAAc,MAAM;AAAA,sBAAA;AAAA,oBACtB;AAAA,kBAAA;AAAA,gBAGN;AAAA,gBACA;AAAA,kBACE,KAAK;AAAA,kBACL,OAAO,EAAE,aAAa;AAAA,kBACtB,UACE;AAAA,oBAAC;AAAA,oBAAA;AAAA,sBACC;AAAA,sBACA;AAAA,sBACA,mBAAmB,CAAU,WAAA;AAC3B,wCAAgB,MAAM;AAAA,sBAAA;AAAA,oBACxB;AAAA,kBAAA;AAAA,gBACF;AAAA,cAEJ;AAAA,YACF;AAAA,UAAA,GAEJ;AAAA,UACA,oBAAC,OAAI,EAAA,WAAU,oBACb,UAAA;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,MAAK;AAAA,cACL,SAAS,MAAM;AACN,6CAAA;AAAA,kBACL,IAAI,qDAAkB;AAAA,kBACtB,MAAM,qDAAkB;AAAA,kBACxB;AAAA,kBACA;AAAA,kBACA;AAAA,gBAAA;AAAA,cAEJ;AAAA,cAEC,YAAE,SAAS;AAAA,YAAA;AAAA,UAAA,EAEhB,CAAA;AAAA,QAAA,EACF,CAAA;AAAA,MAAA,EACF,CAAA;AAAA,IAAA;AAAA,EAAA,GAEJ;AAEJ;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../packages/dashboard-workbench/components/add-module-modal/add-chart-modal/index.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport React, { useEffect, useState } from 'react'\nimport { Button, Modal, Tabs } from 'antd'\nimport { CloseOutlined } from '@ant-design/icons'\nimport { useTranslation } from 'react-i18next'\nimport EditorHeader from '@platox/pivot-table/components/modal-editor-header'\nimport { EnumDataApi, ModuleDataApi } from '../../../types'\nimport { ModuleData } from '../../module-content'\nimport ChartModule from '../../module-content/chart-module'\nimport CustomData from './custome-data'\nimport CustomeStyles from './custome-styles'\nimport { ChartCustomDataType } from './interface'\n\n// import CombinationChartOption from './components/CombinationChartOptionPicker'\n// import GroupFieldConfigPicker from './components/GroupFieldConfigPicker'\n\ninterface AddStatisticsModalProps {\n open: boolean\n onClose?: () => void\n onOk?: (data: Partial<ModuleData>) => void\n\n selectModuleData?: ModuleData\n moduleDataApi?: ModuleDataApi\n enumDataApi?: EnumDataApi\n}\n\nconst AddStatisticsModal: React.FC<AddStatisticsModalProps> = ({\n open,\n onClose,\n onOk,\n moduleDataApi,\n selectModuleData,\n enumDataApi,\n}) => {\n const { t } = useTranslation()\n const [customData, setCustomData] = useState<ChartCustomDataType>()\n const [customeStyle, setCustomeStyle] = useState<any>()\n const containerRef = React.useRef<HTMLDivElement>(null)\n const isPieChart = customData?.type?.includes('pie')\n\n useEffect(() => {\n if (selectModuleData) {\n setCustomData(selectModuleData?.customData)\n setCustomeStyle(selectModuleData?.customeStyle)\n }\n }, [selectModuleData])\n\n /* ============================== split =============================== */\n const [title, setTitle] = useState<string>('')\n useEffect(() => {\n if (open) {\n setTitle(!!selectModuleData?.title ? selectModuleData?.title : t('chartText'))\n }\n }, [open])\n\n return (\n <>\n <Modal\n width=\"65%\"\n title={<EditorHeader value={title} onChange={setTitle} />}\n footer={null}\n open={open}\n onCancel={onClose}\n destroyOnClose\n closeIcon={<CloseOutlined />}\n className=\"ow-modal ow-modal-2\"\n >\n <div className=\"config-widget-dialog-container\">\n {/* <CombinationChartOption /> */}\n {/* <GroupFieldConfigPicker /> */}\n\n <div className=\"config-widget-dialog-content\">\n <div className=\"config-widget-dialog-preview\">\n <ChartModule\n customData={customData}\n customeStyle={customeStyle}\n moduleDataApi={moduleDataApi}\n />\n </div>\n </div>\n <div className=\"config-widget-dialog-panel\">\n <div className=\"bitable-dashboard edit-panel-container\">\n <Tabs\n defaultActiveKey=\"1\"\n items={[\n {\n key: '1',\n label: t('typeData'),\n children: (\n <CustomData\n enumDataApi={enumDataApi}\n selectModuleData={selectModuleData}\n onAllValuesChange={allVal => {\n setCustomData(allVal)\n }}\n />\n ),\n },\n ...(!isPieChart\n ? [\n {\n key: '2',\n label: t('customStyle'),\n children: (\n <CustomeStyles\n customData={customData}\n selectModuleData={selectModuleData}\n onAllValuesChange={allVal => {\n setCustomeStyle(allVal)\n }}\n />\n ),\n },\n ]\n : []),\n ]}\n />\n </div>\n <div className=\"button-container\">\n <Button\n type=\"primary\"\n onClick={() => {\n onOk?.({\n id: selectModuleData?.id,\n type: selectModuleData?.type,\n customData,\n customeStyle,\n title,\n })\n }}\n >\n {t('confirm')}\n </Button>\n </div>\n </div>\n </div>\n </Modal>\n </>\n )\n}\n\nexport default AddStatisticsModal\n"],"names":[],"mappings":";;;;;;;;;AA0BA,MAAM,qBAAwD,CAAC;AAAA,EAC7D;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAM;;AACE,QAAA,EAAE,EAAE,IAAI,eAAe;AAC7B,QAAM,CAAC,YAAY,aAAa,IAAI,SAA8B;AAClE,QAAM,CAAC,cAAc,eAAe,IAAI,SAAc;AACjC,QAAM,OAAuB,IAAI;AACtD,QAAM,cAAa,8CAAY,SAAZ,mBAAkB,SAAS;AAE9C,YAAU,MAAM;AACd,QAAI,kBAAkB;AACpB,oBAAc,qDAAkB,UAAU;AAC1C,sBAAgB,qDAAkB,YAAY;AAAA,IAAA;AAAA,EAChD,GACC,CAAC,gBAAgB,CAAC;AAGrB,QAAM,CAAC,OAAO,QAAQ,IAAI,SAAiB,EAAE;AAC7C,YAAU,MAAM;AACd,QAAI,MAAM;AACC,eAAA,CAAC,EAAC,qDAAkB,SAAQ,qDAAkB,QAAQ,EAAE,WAAW,CAAC;AAAA,IAAA;AAAA,EAC/E,GACC,CAAC,IAAI,CAAC;AAET,SAEI,oBAAA,UAAA,EAAA,UAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,OAAM;AAAA,MACN,OAAQ,oBAAA,cAAA,EAAa,OAAO,OAAO,UAAU,UAAU;AAAA,MACvD,QAAQ;AAAA,MACR;AAAA,MACA,UAAU;AAAA,MACV,gBAAc;AAAA,MACd,+BAAY,eAAc,EAAA;AAAA,MAC1B,WAAU;AAAA,MAEV,UAAA,qBAAC,OAAI,EAAA,WAAU,kCAIb,UAAA;AAAA,QAAA,oBAAC,SAAI,WAAU,gCACb,UAAC,oBAAA,OAAA,EAAI,WAAU,gCACb,UAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC;AAAA,YACA;AAAA,YACA;AAAA,UAAA;AAAA,WAEJ,EACF,CAAA;AAAA,QACA,qBAAC,OAAI,EAAA,WAAU,8BACb,UAAA;AAAA,UAAC,oBAAA,OAAA,EAAI,WAAU,0CACb,UAAA;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,kBAAiB;AAAA,cACjB,OAAO;AAAA,gBACL;AAAA,kBACE,KAAK;AAAA,kBACL,OAAO,EAAE,UAAU;AAAA,kBACnB,UACE;AAAA,oBAAC;AAAA,oBAAA;AAAA,sBACC;AAAA,sBACA;AAAA,sBACA,mBAAmB,CAAU,WAAA;AAC3B,sCAAc,MAAM;AAAA,sBAAA;AAAA,oBACtB;AAAA,kBAAA;AAAA,gBAGN;AAAA,gBACA,GAAI,CAAC,aACD;AAAA,kBACE;AAAA,oBACE,KAAK;AAAA,oBACL,OAAO,EAAE,aAAa;AAAA,oBACtB,UACE;AAAA,sBAAC;AAAA,sBAAA;AAAA,wBACC;AAAA,wBACA;AAAA,wBACA,mBAAmB,CAAU,WAAA;AAC3B,0CAAgB,MAAM;AAAA,wBAAA;AAAA,sBACxB;AAAA,oBAAA;AAAA,kBACF;AAAA,gBAEJ,IAEF,CAAA;AAAA,cAAC;AAAA,YACP;AAAA,UAAA,GAEJ;AAAA,UACA,oBAAC,OAAI,EAAA,WAAU,oBACb,UAAA;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,MAAK;AAAA,cACL,SAAS,MAAM;AACN,6CAAA;AAAA,kBACL,IAAI,qDAAkB;AAAA,kBACtB,MAAM,qDAAkB;AAAA,kBACxB;AAAA,kBACA;AAAA,kBACA;AAAA,gBAAA;AAAA,cAEJ;AAAA,cAEC,YAAE,SAAS;AAAA,YAAA;AAAA,UAAA,EAEhB,CAAA;AAAA,QAAA,EACF,CAAA;AAAA,MAAA,EACF,CAAA;AAAA,IAAA;AAAA,EAAA,GAEJ;AAEJ;"}
@@ -23,30 +23,35 @@ const CustomeStyles = ({ selectModuleData, onAllValuesChange }) => {
23
23
  value: "3",
24
24
  label: t("statistics.t7")
25
25
  },
26
+ // {
27
+ // //人民币
28
+ // value: '4',
29
+ // label: t('statistics.t8'),
30
+ // },
31
+ // {
32
+ // //美元
33
+ // value: '5',
34
+ // label: t('statistics.t9'),
35
+ // },
36
+ // {
37
+ // // 欧元
38
+ // value: '6',
39
+ // label: t('statistics.t11'),
40
+ // },
41
+ // {
42
+ // // 英镑
43
+ // value: '7',
44
+ // label: t('statistics.t12'),
45
+ // },
46
+ // {
47
+ // // 泰铢
48
+ // value: '8',
49
+ // label: t('statistics.t13'),
50
+ // },
26
51
  {
27
- //人民币
28
- value: "4",
29
- label: t("statistics.t8")
30
- },
31
- {
32
- //美元
33
- value: "5",
34
- label: t("statistics.t9")
35
- },
36
- {
37
- // 欧元
38
- value: "6",
39
- label: t("statistics.t11")
40
- },
41
- {
42
- // 英镑
43
- value: "7",
44
- label: t("statistics.t12")
45
- },
46
- {
47
- // 泰铢
48
- value: "8",
49
- label: t("statistics.t13")
52
+ // 币种
53
+ value: "9",
54
+ label: t("statistics.currency")
50
55
  }
51
56
  ];
52
57
  }, [i18n.language]);
@@ -63,6 +68,7 @@ const CustomeStyles = ({ selectModuleData, onAllValuesChange }) => {
63
68
  };
64
69
  useEffect(() => {
65
70
  if (selectModuleData == null ? void 0 : selectModuleData.customeStyle) {
71
+ `${selectModuleData.customeStyle.unit ?? initialValues.unit}`;
66
72
  let _initialValues = {
67
73
  ...initialValues,
68
74
  ...selectModuleData.customeStyle,
@@ -1 +1 @@
1
- {"version":3,"file":"custome-styles.js","sources":["../../../../../packages/dashboard-workbench/components/add-module-modal/add-statistics-modal/custome-styles.tsx"],"sourcesContent":["import { useEffect, useMemo } from 'react'\nimport { Form, Input, InputNumber, Select, Space } from 'antd'\nimport { useTranslation } from 'react-i18next'\nimport { ModuleData } from '../../module-content'\nimport SelectColor from '../components/select-color'\n\nexport type StatisticsCustomeStylesTypes = {\n color?: string\n unit?: string\n precision?: number\n desc: string\n}\n\ninterface CustomeStylesProps {\n selectModuleData?: ModuleData\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n onAllValuesChange?: ((values: any) => void) | undefined\n}\nconst CustomeStyles: React.FC<CustomeStylesProps> = ({ selectModuleData, onAllValuesChange }) => {\n const [form] = Form.useForm()\n const { t, i18n } = useTranslation()\n\n const UnitOptions = useMemo(() => {\n return [\n {\n // 数字 千分位\n value: '1',\n label: t('statistics.t5'),\n },\n {\n // 数字\n value: '2',\n label: t('statistics.t6'),\n },\n {\n // 百分比\n value: '3',\n label: t('statistics.t7'),\n },\n {\n //人民币\n value: '4',\n label: t('statistics.t8'),\n },\n {\n //美元\n value: '5',\n label: t('statistics.t9'),\n },\n {\n // 欧元\n value: '6',\n label: t('statistics.t11'),\n },\n {\n // 英镑\n value: '7',\n label: t('statistics.t12'),\n },\n {\n // 泰铢\n value: '8',\n label: t('statistics.t13'),\n },\n ]\n }, [i18n.language])\n\n const initialValues = {\n color: '#373c43',\n unit: '1',\n precision: '',\n desc: '',\n }\n\n const allValuesChange = () => {\n setTimeout(() => {\n onAllValuesChange?.(form.getFieldsValue())\n })\n }\n\n useEffect(() => {\n if (selectModuleData?.customeStyle) {\n let _initialValues = {\n ...initialValues,\n ...selectModuleData.customeStyle,\n unit: `${selectModuleData.customeStyle.unit ?? initialValues.unit}`,\n }\n form.setFieldsValue(_initialValues)\n } else {\n form.setFieldsValue(initialValues)\n }\n }, [selectModuleData])\n\n return (\n <Form form={form} name=\"customeStyle\" layout=\"vertical\" initialValues={initialValues}>\n <Form.Item label={t('statistics.t1')} name=\"color\">\n <SelectColor\n onChange={() => {\n allValuesChange()\n }}\n />\n </Form.Item>\n\n <Form.Item label={t('statistics.t2')} extra={t('statistics.t3')}>\n <Space.Compact>\n <Form.Item name=\"precision\" noStyle>\n <InputNumber\n min={1}\n max={10}\n style={{ width: '60%' }}\n placeholder={t('statistics.t4')}\n onChange={() => {\n allValuesChange()\n }}\n />\n </Form.Item>\n <Form.Item name=\"unit\" noStyle>\n <Select\n onChange={() => {\n allValuesChange()\n }}\n >\n {UnitOptions.map(v => {\n const { value, label } = v\n return (\n <Select.Option key={value} value={value}>\n {label}\n </Select.Option>\n )\n })}\n {/* <Select.Option value=\"1\">{t('statistics.t5')}</Select.Option>\n <Select.Option value=\"2\">{t('statistics.t6')}</Select.Option>\n <Select.Option value=\"3\">{t('statistics.t7')}</Select.Option>\n <Select.Option value=\"4\">{t('statistics.t8')}</Select.Option>\n <Select.Option value=\"5\">{t('statistics.t9')}</Select.Option>\n <Select.Option value=\"6\">{t('statistics.t11')}</Select.Option>\n <Select.Option value=\"7\">{t('statistics.t12')}</Select.Option>\n <Select.Option value=\"8\">{t('statistics.t13')}</Select.Option> */}\n </Select>\n </Form.Item>\n </Space.Compact>\n </Form.Item>\n\n <Form.Item label={t('statistics.t10')} name=\"desc\">\n <Input\n onChange={() => {\n allValuesChange()\n }}\n />\n </Form.Item>\n </Form>\n )\n}\nexport default CustomeStyles\n"],"names":["SelectColor"],"mappings":"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"}
1
+ {"version":3,"file":"custome-styles.js","sources":["../../../../../packages/dashboard-workbench/components/add-module-modal/add-statistics-modal/custome-styles.tsx"],"sourcesContent":["import { useEffect, useMemo } from 'react'\nimport { Form, Input, InputNumber, Select, Space } from 'antd'\nimport { useTranslation } from 'react-i18next'\nimport { ModuleData } from '../../module-content'\nimport SelectColor from '../components/select-color'\n\nexport type StatisticsCustomeStylesTypes = {\n color?: string\n unit?: string\n precision?: number\n desc: string\n}\n\ninterface CustomeStylesProps {\n selectModuleData?: ModuleData\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n onAllValuesChange?: ((values: any) => void) | undefined\n}\nconst CustomeStyles: React.FC<CustomeStylesProps> = ({ selectModuleData, onAllValuesChange }) => {\n const [form] = Form.useForm()\n const { t, i18n } = useTranslation()\n\n const UnitOptions = useMemo(() => {\n return [\n {\n // 数字 千分位\n value: '1',\n label: t('statistics.t5'),\n },\n {\n // 数字\n value: '2',\n label: t('statistics.t6'),\n },\n {\n // 百分比\n value: '3',\n label: t('statistics.t7'),\n },\n // {\n // //人民币\n // value: '4',\n // label: t('statistics.t8'),\n // },\n // {\n // //美元\n // value: '5',\n // label: t('statistics.t9'),\n // },\n // {\n // // 欧元\n // value: '6',\n // label: t('statistics.t11'),\n // },\n // {\n // // 英镑\n // value: '7',\n // label: t('statistics.t12'),\n // },\n // {\n // // 泰铢\n // value: '8',\n // label: t('statistics.t13'),\n // },\n {\n // 币种\n value: '9',\n label: t('statistics.currency'),\n },\n ]\n }, [i18n.language])\n\n const initialValues = {\n color: '#373c43',\n unit: '1',\n precision: '',\n desc: '',\n }\n\n const allValuesChange = () => {\n setTimeout(() => {\n onAllValuesChange?.(form.getFieldsValue())\n })\n }\n\n useEffect(() => {\n if (selectModuleData?.customeStyle) {\n let unit = `${selectModuleData.customeStyle.unit ?? initialValues.unit}`\n\n //兼容之前的币种\n if (['4', '5', '6', '7', '8'].includes(unit)) {\n unit = '9'\n }\n\n let _initialValues = {\n ...initialValues,\n ...selectModuleData.customeStyle,\n unit: `${selectModuleData.customeStyle.unit ?? initialValues.unit}`,\n }\n form.setFieldsValue(_initialValues)\n } else {\n form.setFieldsValue(initialValues)\n }\n }, [selectModuleData])\n\n return (\n <Form form={form} name=\"customeStyle\" layout=\"vertical\" initialValues={initialValues}>\n <Form.Item label={t('statistics.t1')} name=\"color\">\n <SelectColor\n onChange={() => {\n allValuesChange()\n }}\n />\n </Form.Item>\n\n <Form.Item label={t('statistics.t2')} extra={t('statistics.t3')}>\n <Space.Compact>\n <Form.Item name=\"precision\" noStyle>\n <InputNumber\n min={1}\n max={10}\n style={{ width: '60%' }}\n placeholder={t('statistics.t4')}\n onChange={() => {\n allValuesChange()\n }}\n />\n </Form.Item>\n <Form.Item name=\"unit\" noStyle>\n <Select\n onChange={() => {\n allValuesChange()\n }}\n >\n {UnitOptions.map(v => {\n const { value, label } = v\n return (\n <Select.Option key={value} value={value}>\n {label}\n </Select.Option>\n )\n })}\n {/* <Select.Option value=\"1\">{t('statistics.t5')}</Select.Option>\n <Select.Option value=\"2\">{t('statistics.t6')}</Select.Option>\n <Select.Option value=\"3\">{t('statistics.t7')}</Select.Option>\n <Select.Option value=\"4\">{t('statistics.t8')}</Select.Option>\n <Select.Option value=\"5\">{t('statistics.t9')}</Select.Option>\n <Select.Option value=\"6\">{t('statistics.t11')}</Select.Option>\n <Select.Option value=\"7\">{t('statistics.t12')}</Select.Option>\n <Select.Option value=\"8\">{t('statistics.t13')}</Select.Option> */}\n </Select>\n </Form.Item>\n </Space.Compact>\n </Form.Item>\n\n <Form.Item label={t('statistics.t10')} name=\"desc\">\n <Input\n onChange={() => {\n allValuesChange()\n }}\n />\n </Form.Item>\n </Form>\n )\n}\nexport default CustomeStyles\n"],"names":["SelectColor"],"mappings":";;;;;AAkBA,MAAM,gBAA8C,CAAC,EAAE,kBAAkB,wBAAwB;AAC/F,QAAM,CAAC,IAAI,IAAI,KAAK,QAAQ;AAC5B,QAAM,EAAE,GAAG,KAAK,IAAI,eAAe;AAE7B,QAAA,cAAc,QAAQ,MAAM;AACzB,WAAA;AAAA,MACL;AAAA;AAAA,QAEE,OAAO;AAAA,QACP,OAAO,EAAE,eAAe;AAAA,MAC1B;AAAA,MACA;AAAA;AAAA,QAEE,OAAO;AAAA,QACP,OAAO,EAAE,eAAe;AAAA,MAC1B;AAAA,MACA;AAAA;AAAA,QAEE,OAAO;AAAA,QACP,OAAO,EAAE,eAAe;AAAA,MAC1B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MA0BA;AAAA;AAAA,QAEE,OAAO;AAAA,QACP,OAAO,EAAE,qBAAqB;AAAA,MAAA;AAAA,IAElC;AAAA,EAAA,GACC,CAAC,KAAK,QAAQ,CAAC;AAElB,QAAM,gBAAgB;AAAA,IACpB,OAAO;AAAA,IACP,MAAM;AAAA,IACN,WAAW;AAAA,IACX,MAAM;AAAA,EACR;AAEA,QAAM,kBAAkB,MAAM;AAC5B,eAAW,MAAM;AACK,6DAAA,KAAK;IAAgB,CAC1C;AAAA,EACH;AAEA,YAAU,MAAM;AACd,QAAI,qDAAkB,cAAc;AACvB,SAAG,iBAAiB,aAAa,QAAQ,cAAc,IAAI;AAOtE,UAAI,iBAAiB;AAAA,QACnB,GAAG;AAAA,QACH,GAAG,iBAAiB;AAAA,QACpB,MAAM,GAAG,iBAAiB,aAAa,QAAQ,cAAc,IAAI;AAAA,MACnE;AACA,WAAK,eAAe,cAAc;AAAA,IAAA,OAC7B;AACL,WAAK,eAAe,aAAa;AAAA,IAAA;AAAA,EACnC,GACC,CAAC,gBAAgB,CAAC;AAErB,8BACG,MAAK,EAAA,MAAY,MAAK,gBAAe,QAAO,YAAW,eACtD,UAAA;AAAA,IAAC,oBAAA,KAAK,MAAL,EAAU,OAAO,EAAE,eAAe,GAAG,MAAK,SACzC,UAAA;AAAA,MAACA;AAAAA,MAAA;AAAA,QACC,UAAU,MAAM;AACE,0BAAA;AAAA,QAAA;AAAA,MAClB;AAAA,IAAA,GAEJ;AAAA,IAEC,oBAAA,KAAK,MAAL,EAAU,OAAO,EAAE,eAAe,GAAG,OAAO,EAAE,eAAe,GAC5D,UAAC,qBAAA,MAAM,SAAN,EACC,UAAA;AAAA,MAAA,oBAAC,KAAK,MAAL,EAAU,MAAK,aAAY,SAAO,MACjC,UAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,KAAK;AAAA,UACL,KAAK;AAAA,UACL,OAAO,EAAE,OAAO,MAAM;AAAA,UACtB,aAAa,EAAE,eAAe;AAAA,UAC9B,UAAU,MAAM;AACE,4BAAA;AAAA,UAAA;AAAA,QAClB;AAAA,MAAA,GAEJ;AAAA,0BACC,KAAK,MAAL,EAAU,MAAK,QAAO,SAAO,MAC5B,UAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,UAAU,MAAM;AACE,4BAAA;AAAA,UAClB;AAAA,UAEC,UAAA,YAAY,IAAI,CAAK,MAAA;AACd,kBAAA,EAAE,OAAO,MAAA,IAAU;AACzB,uCACG,OAAO,QAAP,EAA0B,OACxB,mBADiB,KAEpB;AAAA,UAEH,CAAA;AAAA,QAAA;AAAA,MAAA,EAUL,CAAA;AAAA,IAAA,EAAA,CACF,EACF,CAAA;AAAA,IAEA,oBAAC,KAAK,MAAL,EAAU,OAAO,EAAE,gBAAgB,GAAG,MAAK,QAC1C,UAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,UAAU,MAAM;AACE,0BAAA;AAAA,QAAA;AAAA,MAClB;AAAA,IAAA,EAEJ,CAAA;AAAA,EAAA,GACF;AAEJ;"}
@@ -0,0 +1,15 @@
1
+ import { default as React } from 'react';
2
+ import { SelectProps } from 'antd';
3
+ export interface DebounceSelectProps<ValueType = any> extends Omit<SelectProps<ValueType | ValueType[]>, 'options' | 'children' | 'value'> {
4
+ value?: ValueType | ValueType[];
5
+ fetchOptions: (search: string) => Promise<ValueType[]>;
6
+ debounceTimeout?: number;
7
+ }
8
+ export declare function DebounceEnumSelectWrapper<ValueType extends {
9
+ key?: string;
10
+ label: React.ReactNode;
11
+ value: string | number;
12
+ } = any>(props: DebounceSelectProps<ValueType>): import("react/jsx-runtime").JSX.Element;
13
+ export declare const EnumSelectWrapper: (props: {
14
+ value?: string | string[];
15
+ } & Omit<SelectProps, "value">) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,89 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { useState, useRef, useMemo, useEffect } from "react";
3
+ import { Select, Spin } from "antd";
4
+ import { debounce, isArray } from "lodash-es";
5
+ function DebounceEnumSelectWrapper(props) {
6
+ const { fetchOptions, debounceTimeout = 800, value: _value, ...others } = props;
7
+ const [fetching, setFetching] = useState(false);
8
+ const [options, setOptions] = useState([]);
9
+ const fetchRef = useRef(0);
10
+ const debounceFetcher = useMemo(() => {
11
+ const loadOptions = (value2) => {
12
+ fetchRef.current += 1;
13
+ const fetchId = fetchRef.current;
14
+ setOptions([]);
15
+ setFetching(true);
16
+ fetchOptions(value2).then((newOptions) => {
17
+ if (fetchId !== fetchRef.current) {
18
+ return;
19
+ }
20
+ setOptions(newOptions);
21
+ setFetching(false);
22
+ });
23
+ };
24
+ return debounce(loadOptions, debounceTimeout);
25
+ }, [fetchOptions, debounceTimeout]);
26
+ useEffect(() => {
27
+ debounceFetcher("");
28
+ }, []);
29
+ const value = useMemo(() => {
30
+ let isMultiple = (others == null ? void 0 : others.mode) === "multiple";
31
+ if (isMultiple) {
32
+ let ret = isArray(_value) ? _value : [];
33
+ return ret;
34
+ } else {
35
+ let ret = {};
36
+ if (!isArray(_value) && (_value == null ? void 0 : _value.value)) {
37
+ ret = _value;
38
+ }
39
+ return ret;
40
+ }
41
+ }, [_value, props == null ? void 0 : props.mode]);
42
+ return /* @__PURE__ */ jsx(
43
+ Select,
44
+ {
45
+ labelInValue: true,
46
+ showSearch: true,
47
+ filterOption: false,
48
+ onSearch: debounceFetcher,
49
+ notFoundContent: fetching ? /* @__PURE__ */ jsx(Spin, { size: "small" }) : null,
50
+ ...others,
51
+ value,
52
+ options
53
+ },
54
+ props == null ? void 0 : props.mode
55
+ );
56
+ }
57
+ const EnumSelectWrapper = (props) => {
58
+ const { value: _value = "", onChange, ...others } = props;
59
+ const value = useMemo(() => {
60
+ let isMultiple = (props == null ? void 0 : props.mode) === "multiple";
61
+ if (isMultiple) {
62
+ let ret = isArray(_value) ? _value : [];
63
+ return ret;
64
+ } else {
65
+ let ret = "";
66
+ if (!isArray(_value) && !!_value) {
67
+ ret = _value;
68
+ }
69
+ return ret;
70
+ }
71
+ }, [_value, props == null ? void 0 : props.mode]);
72
+ return /* @__PURE__ */ jsx(
73
+ Select,
74
+ {
75
+ ...others,
76
+ value,
77
+ onChange: (...arg) => {
78
+ var _a;
79
+ (_a = props == null ? void 0 : props.onChange) == null ? void 0 : _a.call(props, ...arg);
80
+ }
81
+ },
82
+ props == null ? void 0 : props.mode
83
+ );
84
+ };
85
+ export {
86
+ DebounceEnumSelectWrapper,
87
+ EnumSelectWrapper
88
+ };
89
+ //# sourceMappingURL=EnumSelect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EnumSelect.js","sources":["../../../../../../packages/dashboard-workbench/components/add-module-modal/components/condition-modal/EnumSelect.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport React, { useEffect, useMemo, useRef, useState } from 'react'\nimport { Select, Spin, type SelectProps } from 'antd'\nimport { isString } from 'antd/es/button'\nimport { debounce, isArray, isObject } from 'lodash-es'\n\nexport interface DebounceSelectProps<ValueType = any>\n extends Omit<SelectProps<ValueType | ValueType[]>, 'options' | 'children' | 'value'> {\n value?: ValueType | ValueType[]\n // onChange?: (v: string) => void\n fetchOptions: (search: string) => Promise<ValueType[]>\n debounceTimeout?: number\n}\n\nexport function DebounceEnumSelectWrapper<\n ValueType extends {\n key?: string\n label: React.ReactNode\n value: string | number\n } = any,\n>(props: DebounceSelectProps<ValueType>) {\n const { fetchOptions, debounceTimeout = 800, value: _value, ...others } = props\n\n const [fetching, setFetching] = useState(false)\n const [options, setOptions] = useState<ValueType[]>([])\n const fetchRef = useRef(0)\n\n const debounceFetcher = useMemo(() => {\n const loadOptions = (value: string) => {\n fetchRef.current += 1\n const fetchId = fetchRef.current\n setOptions([])\n setFetching(true)\n\n fetchOptions(value).then(newOptions => {\n if (fetchId !== fetchRef.current) {\n // for fetch callback order\n return\n }\n setOptions(newOptions)\n setFetching(false)\n })\n }\n\n return debounce(loadOptions, debounceTimeout)\n }, [fetchOptions, debounceTimeout])\n\n useEffect(() => {\n debounceFetcher('')\n }, [])\n\n /* ============================== split =============================== */\n const value = useMemo(() => {\n let isMultiple = others?.mode === 'multiple'\n\n if (isMultiple) {\n let ret: ValueType[] = isArray(_value) ? (_value as ValueType[]) : []\n return ret\n } else {\n let ret: ValueType = {} as ValueType\n if (!isArray(_value) && _value?.value) {\n ret = _value\n }\n return ret\n }\n\n // //兼容旧数据\n // if (isMultiple) {\n // let ret: ValueType[] = []\n // if (isArray(_value)) {\n // ret = _value as ValueType[]\n // } else if (isObject(_value) && _value?.value) {\n // ret = [_value as ValueType]\n // }\n // return ret\n // } else {\n // let ret: ValueType = {} as ValueType\n // if (!isArray(_value) && _value?.value) {\n // ret = _value\n // }\n // return ret\n // }\n }, [_value, props?.mode])\n\n return (\n <Select\n key={props?.mode}\n labelInValue\n showSearch\n filterOption={false}\n onSearch={debounceFetcher}\n notFoundContent={fetching ? <Spin size=\"small\" /> : null}\n {...others}\n value={value}\n options={options}\n />\n )\n}\n\n/* ============================== split =============================== */\n\nexport const EnumSelectWrapper = (\n props: {\n value?: string | string[]\n } & Omit<SelectProps, 'value'>\n) => {\n const { value: _value = '', onChange, ...others } = props\n\n const value = useMemo(() => {\n let isMultiple = props?.mode === 'multiple'\n\n if (isMultiple) {\n let ret: string[] = isArray(_value) ? (_value as string[]) : []\n return ret\n } else {\n let ret: string = ''\n if (!isArray(_value) && !!_value) {\n ret = _value as string\n }\n return ret\n }\n\n // if (isMultiple) {\n // let ret: string[] = []\n\n // if (isArray(_value)) {\n // ret = _value as string[]\n // } else if (isString(_value) && !!_value) {\n // //兼容旧数据\n // ret = [_value as string]\n // }\n // return ret\n // } else {\n // let ret = ''\n // if (isArray(_value)) {\n // ret = _value?.[0] ?? ''\n // } else {\n // ret = _value as string\n // }\n // return ret\n // }\n }, [_value, props?.mode])\n\n return (\n <Select\n key={props?.mode}\n {...others}\n value={value}\n onChange={(...arg) => {\n props?.onChange?.(...arg)\n }}\n />\n )\n}\n"],"names":["value"],"mappings":";;;;AAcO,SAAS,0BAMd,OAAuC;AACjC,QAAA,EAAE,cAAc,kBAAkB,KAAK,OAAO,QAAQ,GAAG,WAAW;AAE1E,QAAM,CAAC,UAAU,WAAW,IAAI,SAAS,KAAK;AAC9C,QAAM,CAAC,SAAS,UAAU,IAAI,SAAsB,CAAA,CAAE;AAChD,QAAA,WAAW,OAAO,CAAC;AAEnB,QAAA,kBAAkB,QAAQ,MAAM;AAC9B,UAAA,cAAc,CAACA,WAAkB;AACrC,eAAS,WAAW;AACpB,YAAM,UAAU,SAAS;AACzB,iBAAW,CAAA,CAAE;AACb,kBAAY,IAAI;AAEHA,mBAAAA,MAAK,EAAE,KAAK,CAAc,eAAA;AACjC,YAAA,YAAY,SAAS,SAAS;AAEhC;AAAA,QAAA;AAEF,mBAAW,UAAU;AACrB,oBAAY,KAAK;AAAA,MAAA,CAClB;AAAA,IACH;AAEO,WAAA,SAAS,aAAa,eAAe;AAAA,EAAA,GAC3C,CAAC,cAAc,eAAe,CAAC;AAElC,YAAU,MAAM;AACd,oBAAgB,EAAE;AAAA,EACpB,GAAG,EAAE;AAGC,QAAA,QAAQ,QAAQ,MAAM;AACtB,QAAA,cAAa,iCAAQ,UAAS;AAElC,QAAI,YAAY;AACd,UAAI,MAAmB,QAAQ,MAAM,IAAK,SAAyB,CAAC;AAC7D,aAAA;AAAA,IAAA,OACF;AACL,UAAI,MAAiB,CAAC;AACtB,UAAI,CAAC,QAAQ,MAAM,MAAK,iCAAQ,QAAO;AAC/B,cAAA;AAAA,MAAA;AAED,aAAA;AAAA,IAAA;AAAA,EAmBR,GAAA,CAAC,QAAQ,+BAAO,IAAI,CAAC;AAGtB,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MAEC,cAAY;AAAA,MACZ,YAAU;AAAA,MACV,cAAc;AAAA,MACd,UAAU;AAAA,MACV,iBAAiB,WAAW,oBAAC,MAAK,EAAA,MAAK,QAAQ,CAAA,IAAK;AAAA,MACnD,GAAG;AAAA,MACJ;AAAA,MACA;AAAA,IAAA;AAAA,IARK,+BAAO;AAAA,EASd;AAEJ;AAIa,MAAA,oBAAoB,CAC/B,UAGG;AACH,QAAM,EAAE,OAAO,SAAS,IAAI,UAAU,GAAG,WAAW;AAE9C,QAAA,QAAQ,QAAQ,MAAM;AACtB,QAAA,cAAa,+BAAO,UAAS;AAEjC,QAAI,YAAY;AACd,UAAI,MAAgB,QAAQ,MAAM,IAAK,SAAsB,CAAC;AACvD,aAAA;AAAA,IAAA,OACF;AACL,UAAI,MAAc;AAClB,UAAI,CAAC,QAAQ,MAAM,KAAK,CAAC,CAAC,QAAQ;AAC1B,cAAA;AAAA,MAAA;AAED,aAAA;AAAA,IAAA;AAAA,EAsBR,GAAA,CAAC,QAAQ,+BAAO,IAAI,CAAC;AAGtB,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MAEE,GAAG;AAAA,MACJ;AAAA,MACA,UAAU,IAAI,QAAQ;;AACb,6CAAA,aAAA,+BAAW,GAAG;AAAA,MAAG;AAAA,IAC1B;AAAA,IALK,+BAAO;AAAA,EAMd;AAEJ;"}
@@ -6,12 +6,15 @@ const useConditionSymbolOptions = () => {
6
6
  () => [
7
7
  { label: t("add.add13"), value: "=" },
8
8
  // "等于"
9
- { label: t("add.add14"), value: "<" },
10
- // "早于"
11
- { label: t("add.add15"), value: ">" },
12
- // "晚于"
13
- { label: t("add.add16"), value: "contain" },
14
- // "范围内"
9
+ // { label: t('add.add14'), value: '<' }, // "早于"
10
+ // { label: t('add.add15'), value: '>' }, // "晚于"
11
+ // { label: t('add.add16'), value: 'contain' }, // "范围内"
12
+ { label: t("add.timeBefore"), value: "<" },
13
+ // "早于(不含当天)"
14
+ { label: t("add.timeAfter"), value: ">" },
15
+ // "晚于(不含当天)"
16
+ { label: t("add.timeRange"), value: "contain" },
17
+ // "日期区间(含当天)"
15
18
  { label: t("add.add17"), value: "null" },
16
19
  // "为空"
17
20
  { label: t("add.add18"), value: "notnull" }
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sources":["../../../../../../packages/dashboard-workbench/components/add-module-modal/components/condition-modal/config.tsx"],"sourcesContent":["import { useMemo } from 'react'\nimport { useTranslation } from 'react-i18next'\n\nexport const useConditionSymbolOptions = () => {\n const { t, i18n } = useTranslation()\n\n const timeOptions = useMemo(\n () => [\n { label: t('add.add13'), value: '=' }, // \"等于\"\n { label: t('add.add14'), value: '<' }, // \"早于\"\n { label: t('add.add15'), value: '>' }, // \"晚于\"\n { label: t('add.add16'), value: 'contain' }, // \"范围内\"\n { label: t('add.add17'), value: 'null' }, // \"为空\"\n { label: t('add.add18'), value: 'notnull' }, // \"不为空\"\n ],\n [i18n.language]\n )\n\n const boolOptions = useMemo(\n () => [\n { label: t('add.add13'), value: '=' }, // \"等于\"\n ],\n [i18n.language]\n )\n\n const intOptions = useMemo(\n () => [\n { label: t('add.add13'), value: '=' }, // \"等于\"\n { label: t('add.add19'), value: '!=' }, // \"不等于\"\n { label: t('add.add20'), value: '>' }, // \"大于\"\n { label: t('add.add21'), value: '>=' }, // \"大于等于\"\n { label: t('add.add22'), value: '<' }, // \"小于\"\n { label: t('add.add23'), value: '=<' }, // \"小于等于\"\n { label: t('add.add16'), value: 'contain' }, // \"范围内\"\n { label: t('add.add17'), value: 'null' }, // \"为空\"\n { label: t('add.add18'), value: 'notnull' }, // \"不为空\"\n ],\n [i18n.language]\n )\n\n const stringOptions = useMemo(\n () => [\n { label: t('add.add13'), value: '=' }, // \"等于\"\n { label: t('add.add19'), value: '!=' }, // \"不等于\"\n { label: t('add.add24'), value: 'include' }, // \"包含\"\n { label: t('add.add25'), value: 'notinclude' }, // \"不包含\"\n { label: t('add.add17'), value: 'null' }, // \"为空\"\n { label: t('add.add18'), value: 'notnull' }, // \"不为空\"\n ],\n [i18n.language]\n )\n\n const rdateOptions = useMemo(\n () => [\n { label: t('add.add26'), value: 'exactdate' }, // \"具体日期\"\n { label: t('add.add27'), value: 'today' }, // \"今天\"\n { label: t('add.add28'), value: 'yesterday' }, // \"昨天\"\n { label: t('add.add29'), value: 'thisweek' }, // \"本周\"\n { label: t('add.add30'), value: 'lastweek' }, // \"上周\"\n { label: t('add.add31'), value: 'thismonth' }, // \"本月\"\n { label: t('add.add32'), value: 'lastmonth' }, // \"上月\"\n { label: t('add.add33'), value: 'last7days' }, // \"过去7天\"\n { label: t('add.add34'), value: 'last30days' }, // \"过去30天\"\n ],\n [i18n.language]\n )\n\n const rdateOptions2 = useMemo(\n () => [\n { label: t('add.add26'), value: 'exactdate' }, // \"具体日期\"\n { label: t('add.add27'), value: 'today' }, // \"今天\"\n { label: t('add.add28'), value: 'yesterday' }, // \"昨天\"\n ],\n [i18n.language]\n )\n\n return {\n timeOptions,\n boolOptions,\n intOptions,\n stringOptions,\n rdateOptions,\n rdateOptions2,\n }\n}\n\nexport const useConditionTypeOptions = () => {\n const { t, i18n } = useTranslation()\n\n const options = useMemo(() => {\n return [\n {\n label: t('all'),\n value: 'all',\n },\n {\n label: t('everyone'),\n value: 'any',\n },\n ]\n }, [i18n.language])\n\n return options\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sources":["../../../../../../packages/dashboard-workbench/components/add-module-modal/components/condition-modal/config.tsx"],"sourcesContent":["import { useMemo } from 'react'\nimport { useTranslation } from 'react-i18next'\n\nexport const useConditionSymbolOptions = () => {\n const { t, i18n } = useTranslation()\n\n const timeOptions = useMemo(\n () => [\n { label: t('add.add13'), value: '=' }, // \"等于\"\n // { label: t('add.add14'), value: '<' }, // \"早于\"\n // { label: t('add.add15'), value: '>' }, // \"晚于\"\n // { label: t('add.add16'), value: 'contain' }, // \"范围内\"\n { label: t('add.timeBefore'), value: '<' }, // \"早于(不含当天)\"\n { label: t('add.timeAfter'), value: '>' }, // \"晚于(不含当天)\"\n { label: t('add.timeRange'), value: 'contain' }, // \"日期区间(含当天)\"\n { label: t('add.add17'), value: 'null' }, // \"为空\"\n { label: t('add.add18'), value: 'notnull' }, // \"不为空\"\n ],\n [i18n.language]\n )\n\n const boolOptions = useMemo(\n () => [\n { label: t('add.add13'), value: '=' }, // \"等于\"\n ],\n [i18n.language]\n )\n\n const intOptions = useMemo(\n () => [\n { label: t('add.add13'), value: '=' }, // \"等于\"\n { label: t('add.add19'), value: '!=' }, // \"不等于\"\n { label: t('add.add20'), value: '>' }, // \"大于\"\n { label: t('add.add21'), value: '>=' }, // \"大于等于\"\n { label: t('add.add22'), value: '<' }, // \"小于\"\n { label: t('add.add23'), value: '=<' }, // \"小于等于\"\n { label: t('add.add16'), value: 'contain' }, // \"范围内\"\n { label: t('add.add17'), value: 'null' }, // \"为空\"\n { label: t('add.add18'), value: 'notnull' }, // \"不为空\"\n ],\n [i18n.language]\n )\n\n const stringOptions = useMemo(\n () => [\n { label: t('add.add13'), value: '=' }, // \"等于\"\n { label: t('add.add19'), value: '!=' }, // \"不等于\"\n { label: t('add.add24'), value: 'include' }, // \"包含\"\n { label: t('add.add25'), value: 'notinclude' }, // \"不包含\"\n { label: t('add.add17'), value: 'null' }, // \"为空\"\n { label: t('add.add18'), value: 'notnull' }, // \"不为空\"\n ],\n [i18n.language]\n )\n\n const rdateOptions = useMemo(\n () => [\n { label: t('add.add26'), value: 'exactdate' }, // \"具体日期\"\n { label: t('add.add27'), value: 'today' }, // \"今天\"\n { label: t('add.add28'), value: 'yesterday' }, // \"昨天\"\n { label: t('add.add29'), value: 'thisweek' }, // \"本周\"\n { label: t('add.add30'), value: 'lastweek' }, // \"上周\"\n { label: t('add.add31'), value: 'thismonth' }, // \"本月\"\n { label: t('add.add32'), value: 'lastmonth' }, // \"上月\"\n { label: t('add.add33'), value: 'last7days' }, // \"过去7天\"\n { label: t('add.add34'), value: 'last30days' }, // \"过去30天\"\n ],\n [i18n.language]\n )\n\n const rdateOptions2 = useMemo(\n () => [\n { label: t('add.add26'), value: 'exactdate' }, // \"具体日期\"\n { label: t('add.add27'), value: 'today' }, // \"今天\"\n { label: t('add.add28'), value: 'yesterday' }, // \"昨天\"\n ],\n [i18n.language]\n )\n\n return {\n timeOptions,\n boolOptions,\n intOptions,\n stringOptions,\n rdateOptions,\n rdateOptions2,\n }\n}\n\nexport const useConditionTypeOptions = () => {\n const { t, i18n } = useTranslation()\n\n const options = useMemo(() => {\n return [\n {\n label: t('all'),\n value: 'all',\n },\n {\n label: t('everyone'),\n value: 'any',\n },\n ]\n }, [i18n.language])\n\n return options\n}\n"],"names":[],"mappings":"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"}
@@ -1,12 +1,12 @@
1
1
  import { jsx, Fragment, jsxs } from "react/jsx-runtime";
2
2
  import { useCallback, useEffect } from "react";
3
- import { Form, Modal, Flex, Select, Space, InputNumber, DatePicker, Input, Switch, Button } from "antd";
3
+ import { Form, Modal, Flex, Select, Space, InputNumber, Input, Switch, Button } from "antd";
4
4
  import { MinusCircleOutlined, PlusOutlined } from "@ant-design/icons";
5
5
  import { useTranslation } from "react-i18next";
6
- import dayjs from "dayjs";
6
+ import { DatePickerWrapper, RangePickerWrapper } from "../../../global-filter-condition/ConditionSymbolAndValuePicker.js";
7
7
  import { useAppContext } from "../../../../context.js";
8
8
  import { useConditionTypeOptions, useConditionSymbolOptions } from "./config.js";
9
- import DebounceSelect from "./debounce-select.js";
9
+ import { EnumSelectWrapper, DebounceEnumSelectWrapper } from "./EnumSelect.js";
10
10
  const ConditionModal = ({
11
11
  open,
12
12
  onClose,
@@ -33,14 +33,6 @@ const ConditionModal = ({
33
33
  const conditionList = JSON.parse(JSON.stringify(value == null ? void 0 : value.conditionList));
34
34
  form.setFieldsValue({
35
35
  conditionList: conditionList.map((item) => {
36
- if (item.type === "timestamp") {
37
- if (item.val) {
38
- item.val = dayjs(new Date(item.val));
39
- }
40
- if (item.val2) {
41
- item.val2 = dayjs(new Date(item.val2));
42
- }
43
- }
44
36
  if (item.val === void 0 || item.val === "") {
45
37
  item.val = "";
46
38
  }
@@ -76,14 +68,6 @@ const ConditionModal = ({
76
68
  const conditionType = val.conditionType || "all";
77
69
  const newVal = {
78
70
  conditionList: conditionList.map((item) => {
79
- if (item.type === "timestamp") {
80
- if (item.val) {
81
- item.val = dayjs(item.val).format("YYYY-MM-DD");
82
- }
83
- if (item.val2) {
84
- item.val2 = item.val2 ? dayjs(item.val2).format("YYYY-MM-DD") : "";
85
- }
86
- }
87
71
  return item;
88
72
  }),
89
73
  conditionType
@@ -144,6 +128,7 @@ const ConditionModal = ({
144
128
  Select,
145
129
  {
146
130
  style: { width: "100px" },
131
+ popupMatchSelectWidth: 200,
147
132
  options: type ? conditionOptions[type] : [],
148
133
  onChange: () => {
149
134
  const values = form.getFieldValue("conditionList");
@@ -211,13 +196,29 @@ const ConditionModal = ({
211
196
  options: condition === "=" ? rdateOptions : rdateOptions2
212
197
  }
213
198
  ) }) : null,
214
- rdate == "exactdate" ? /* @__PURE__ */ jsx(Form.Item, { ...restField, name: [name, "val"], noStyle: true, children: /* @__PURE__ */ jsx(DatePicker, { style: { width: "150px" } }) }) : null,
215
- condition === "contain" ? /* @__PURE__ */ jsx(Form.Item, { ...restField, name: [name, "val2"], noStyle: true, children: /* @__PURE__ */ jsx(
216
- DatePicker,
199
+ rdate == "exactdate" && condition !== "contain" ? /* @__PURE__ */ jsx(Form.Item, { ...restField, name: [name, "val"], noStyle: true, children: /* @__PURE__ */ jsx(DatePickerWrapper, { style: { width: "150px" } }) }) : null,
200
+ condition === "contain" ? /* @__PURE__ */ jsx(Form.Item, { ...restField, noStyle: true, children: /* @__PURE__ */ jsx(
201
+ RangePickerWrapper,
217
202
  {
218
- style: {
219
- width: "150px",
220
- marginLeft: "5px"
203
+ value: [
204
+ getFieldValue(["conditionList", name, "val"]),
205
+ getFieldValue(["conditionList", name, "val2"])
206
+ ],
207
+ onChange: (v) => {
208
+ form.setFieldsValue({
209
+ ["conditionList"]: [
210
+ ...form.getFieldValue("conditionList").map((item) => {
211
+ if (item.field === field) {
212
+ return {
213
+ ...item,
214
+ val: v[0],
215
+ val2: v[1]
216
+ };
217
+ }
218
+ return item;
219
+ })
220
+ ]
221
+ });
221
222
  }
222
223
  }
223
224
  ) }) : null
@@ -243,17 +244,19 @@ const ConditionModal = ({
243
244
  ] }) : null,
244
245
  ["bool"].includes(type) ? /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsx(Form.Item, { ...restField, name: [name, "val"], noStyle: true, children: /* @__PURE__ */ jsx(Switch, {}) }) }) : null,
245
246
  ["enum"].includes(type) && !["null", "notnull"].includes(condition) ? /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsx(Form.Item, { ...restField, name: [name, "val"], noStyle: true, children: enumOptions && (enumOptions == null ? void 0 : enumOptions.length) > 0 ? /* @__PURE__ */ jsx(
246
- Select,
247
+ EnumSelectWrapper,
247
248
  {
248
249
  showSearch: true,
249
250
  optionFilterProp: "label",
250
251
  style: { width: "150px" },
251
- options: enumOptions
252
+ options: enumOptions,
253
+ ...["include", "notinclude"].includes(condition) ? { mode: "multiple", maxTagCount: "responsive" } : {}
252
254
  }
253
255
  ) : enumUrl ? /* @__PURE__ */ jsx(
254
- DebounceSelect,
256
+ DebounceEnumSelectWrapper,
255
257
  {
256
258
  style: { width: "150px" },
259
+ ...["include", "notinclude"].includes(condition) ? { mode: "multiple", maxTagCount: "responsive" } : {},
257
260
  fetchOptions: async (value2) => {
258
261
  var _a2;
259
262
  let dfUrl = enumUrl;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../../packages/dashboard-workbench/components/add-module-modal/components/condition-modal/index.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { useCallback, useEffect, useRef } from 'react'\nimport {\n Button,\n DatePicker,\n Flex,\n Form,\n Input,\n InputNumber,\n Modal,\n Select,\n Space,\n Switch,\n} from 'antd'\nimport { MinusCircleOutlined, PlusOutlined } from '@ant-design/icons'\nimport { useTranslation } from 'react-i18next'\nimport dayjs from 'dayjs'\nimport { useAppContext } from '../../../../context'\nimport { EnumDataApi, FieldItem } from '../../../../types'\nimport { useConditionSymbolOptions, useConditionTypeOptions } from './config'\nimport DebounceSelect from './debounce-select'\nimport { ConditionBlock } from './interface'\n\ninterface ConditionModalProps {\n open?: boolean\n fieldOptions?: FieldItem[]\n onSubmit?: ((values: any) => void) | undefined\n onClose?: () => void\n onOk?: ((values: any) => void) | undefined\n enumDataApi?: EnumDataApi\n value?: ConditionBlock\n}\n\nconst ConditionModal: React.FC<ConditionModalProps> = ({\n open,\n onClose,\n onOk,\n fieldOptions,\n value,\n enumDataApi,\n}) => {\n const [form] = Form.useForm()\n const { t } = useTranslation()\n const { globalData } = useAppContext()\n\n const conditionTypeOptions = useConditionTypeOptions()\n\n const { timeOptions, boolOptions, intOptions, stringOptions, rdateOptions, rdateOptions2 } =\n useConditionSymbolOptions()\n\n const conditionOptions = {\n int: intOptions,\n timestamp: timeOptions,\n string: stringOptions,\n bool: boolOptions,\n float: intOptions,\n enum: stringOptions,\n }\n\n const initData = useCallback(() => {\n if (value?.conditionList) {\n const conditionList = JSON.parse(JSON.stringify(value?.conditionList))\n form.setFieldsValue({\n conditionList: conditionList.map((item: any) => {\n if (item.type === 'timestamp') {\n if (item.val) {\n item.val = dayjs(new Date(item.val))\n }\n if (item.val2) {\n item.val2 = dayjs(new Date(item.val2))\n }\n }\n if (item.val === undefined || item.val === '') {\n item.val = ''\n }\n if (item.val2 === undefined || item.val2 === '') {\n item.val2 = ''\n }\n return item\n }),\n conditionType: value.conditionType,\n })\n } else {\n form.setFieldsValue({\n conditionList: [],\n conditionType: 'all',\n })\n }\n }, [value])\n\n useEffect(() => {\n if (open) {\n initData()\n }\n }, [value, open])\n return (\n <>\n <Modal\n title={t('setFilteringCriteria')}\n open={open}\n destroyOnClose\n width=\"650px\"\n onOk={() => {\n const val = form.getFieldsValue()\n const conditionList = val.conditionList\n ? JSON.parse(JSON.stringify(val.conditionList))\n : ''\n const conditionType = val.conditionType || 'all'\n const newVal = {\n conditionList: conditionList.map((item: any) => {\n if (item.type === 'timestamp') {\n if (item.val) {\n item.val = dayjs(item.val).format('YYYY-MM-DD')\n }\n if (item.val2) {\n item.val2 = item.val2 ? dayjs(item.val2).format('YYYY-MM-DD') : ''\n }\n }\n return item\n }),\n conditionType,\n }\n onClose?.()\n onOk?.(newVal)\n }}\n onCancel={() => {\n initData()\n onClose?.()\n }}\n >\n <Form\n name=\"dynamicForm\"\n form={form}\n initialValues={{ conditionType: 'all' }}\n style={{ maxWidth: 650, marginTop: '30px' }}\n >\n <Form.Item noStyle dependencies={['conditionList']}>\n {({ getFieldValue }) =>\n getFieldValue('conditionList')?.length > 1 ? (\n <Flex align=\"center\" gap={5} style={{ marginBottom: '20px' }}>\n {t('conformTo')}\n <Form.Item name=\"conditionType\" noStyle>\n <Select style={{ width: '150px' }} options={conditionTypeOptions} />\n </Form.Item>{' '}\n {t('condition')}\n </Flex>\n ) : null\n }\n </Form.Item>\n\n <Form.List name=\"conditionList\">\n {(fields, { add, remove }) => (\n <>\n {fields.map(({ key, name, ...restField }) => (\n <Space key={key} style={{ display: 'flex', marginBottom: 8 }} align=\"baseline\">\n <Form.Item {...restField} name={[name, 'field']} noStyle>\n <Select\n style={{ width: '150px' }}\n options={fieldOptions || []}\n onChange={val => {\n const values = form.getFieldValue('conditionList')\n const currField = fieldOptions?.find(item => item.value === val)\n values[name].condition = '='\n values[name].type = currField?.type\n values[name].val = ''\n values[name].val2 = ''\n if (currField?.type === 'timestamp') {\n values[name].rdate = 'exactdate'\n }\n form.setFieldsValue({\n conditionList: values,\n })\n }}\n />\n </Form.Item>\n\n <Form.Item noStyle dependencies={[['conditionList', name, 'field']]}>\n {({ getFieldValue }) => {\n const type = fieldOptions?.find(\n item => item.value === getFieldValue(['conditionList', name, 'field'])\n )?.type\n return (\n <>\n <Form.Item {...restField} name={[name, 'condition']} noStyle>\n <Select\n style={{ width: '100px' }}\n options={\n type\n ? conditionOptions[type as keyof typeof conditionOptions]\n : []\n }\n onChange={() => {\n const values = form.getFieldValue('conditionList')\n if (type === 'timestamp') {\n values[name].rdate = 'exactdate'\n }\n form.setFieldsValue({\n conditionList: values,\n })\n }}\n />\n </Form.Item>\n </>\n )\n }}\n </Form.Item>\n\n <Form.Item\n noStyle\n dependencies={[\n ['conditionList', name, 'field'],\n ['conditionList', name, 'condition'],\n ['conditionList', name, 'rdate'],\n ]}\n >\n {({ getFieldValue }) => {\n const field = getFieldValue(['conditionList', name, 'field'])\n const fieldData = fieldOptions?.find(item => item.value === field)\n const type = fieldData?.type || ''\n const enumOptions = fieldData?.enum?.map(item => ({\n ...item,\n label: globalData?.fieldMap?.[item.label] || item.label,\n }))\n const enumUrl = fieldData?.dynamic_call_enum_api\n const condition = getFieldValue(['conditionList', name, 'condition'])\n const rdate = getFieldValue(['conditionList', name, 'rdate'])\n return (\n <>\n {['int', 'float'].includes(type) &&\n !['null', 'notnull'].includes(condition) ? (\n <>\n <Form.Item {...restField} name={[name, 'val']} noStyle>\n <InputNumber\n style={{ width: '100px' }}\n placeholder={t('pleaseEnter')}\n />\n </Form.Item>\n {condition === 'contain' ? (\n <Form.Item {...restField} name={[name, 'val2']} noStyle>\n <InputNumber\n style={{\n width: '100px',\n marginLeft: '5px',\n }}\n placeholder={t('pleaseEnter')}\n />\n </Form.Item>\n ) : null}\n </>\n ) : null}\n {type === 'timestamp' && !['null', 'notnull'].includes(condition) ? (\n <>\n {condition === '=' || condition === '<' || condition === '>' ? (\n <Form.Item {...restField} name={[name, 'rdate']} noStyle>\n <Select\n showSearch\n optionFilterProp=\"label\"\n style={{ width: '150px' }}\n options={condition === '=' ? rdateOptions : rdateOptions2}\n />\n </Form.Item>\n ) : null}\n\n {rdate == 'exactdate' ? (\n <Form.Item {...restField} name={[name, 'val']} noStyle>\n <DatePicker style={{ width: '150px' }} />\n </Form.Item>\n ) : null}\n\n {condition === 'contain' ? (\n <Form.Item {...restField} name={[name, 'val2']} noStyle>\n <DatePicker\n style={{\n width: '150px',\n marginLeft: '5px',\n }}\n />\n </Form.Item>\n ) : null}\n </>\n ) : null}\n {['string'].includes(type) &&\n !['null', 'notnull'].includes(condition) ? (\n <>\n <Form.Item {...restField} name={[name, 'val']} noStyle>\n <Input\n style={{ width: '150px' }}\n placeholder={t('pleaseEnter')}\n />\n </Form.Item>\n {condition === 'contain' ? (\n <Form.Item {...restField} name={[name, 'val2']} noStyle>\n <Input\n style={{\n width: '150px',\n marginLeft: '5px',\n }}\n placeholder={t('pleaseEnter')}\n />\n </Form.Item>\n ) : null}\n </>\n ) : null}\n {['bool'].includes(type) ? (\n <>\n <Form.Item {...restField} name={[name, 'val']} noStyle>\n <Switch />\n </Form.Item>\n </>\n ) : null}\n {['enum'].includes(type) && !['null', 'notnull'].includes(condition) ? (\n <>\n <Form.Item {...restField} name={[name, 'val']} noStyle>\n {enumOptions && enumOptions?.length > 0 ? (\n <Select\n showSearch\n optionFilterProp=\"label\"\n style={{ width: '150px' }}\n options={enumOptions}\n />\n ) : enumUrl ? (\n <DebounceSelect\n style={{ width: '150px' }}\n fetchOptions={async value => {\n let dfUrl = enumUrl\n if (value) {\n dfUrl = `${dfUrl}?q=${value}`\n }\n return (await enumDataApi?.(dfUrl)?.then(\n (res: any) => res.data?.list\n )) as any\n }}\n />\n ) : null}\n </Form.Item>\n </>\n ) : null}\n </>\n )\n }}\n </Form.Item>\n <MinusCircleOutlined onClick={() => remove(name)} />\n </Space>\n ))}\n <Form.Item>\n <Button\n type=\"dashed\"\n onClick={() => {\n const type = fieldOptions?.[0].value\n add(\n type !== 'timestamp'\n ? {\n field: fieldOptions?.[0].value,\n condition: '=',\n type: fieldOptions?.[0].type,\n val: '',\n val2: '',\n }\n : {\n field: fieldOptions?.[0].value,\n condition: '=',\n type: fieldOptions?.[0].type,\n exactdate: 'exactdate',\n val: '',\n val2: '',\n }\n )\n }}\n block\n icon={<PlusOutlined />}\n >\n {t('addCondition')}\n </Button>\n </Form.Item>\n </>\n )}\n </Form.List>\n </Form>\n </Modal>\n </>\n )\n}\nexport default ConditionModal\n"],"names":["_a","value"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../../packages/dashboard-workbench/components/add-module-modal/components/condition-modal/index.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { useCallback, useEffect, useRef } from 'react'\nimport {\n Button,\n DatePicker,\n Flex,\n Form,\n Input,\n InputNumber,\n Modal,\n Select,\n Space,\n Switch,\n} from 'antd'\nimport { MinusCircleOutlined, PlusOutlined } from '@ant-design/icons'\nimport { useTranslation } from 'react-i18next'\nimport {\n DatePickerWrapper,\n RangePickerWrapper,\n} from '@platox/pivot-table/components/global-filter-condition/ConditionSymbolAndValuePicker'\nimport { useAppContext } from '../../../../context'\nimport { EnumDataApi, FieldItem } from '../../../../types'\nimport { useConditionSymbolOptions, useConditionTypeOptions } from './config'\nimport { DebounceEnumSelectWrapper, EnumSelectWrapper } from './EnumSelect'\nimport { ConditionBlock } from './interface'\n\ninterface ConditionModalProps {\n open?: boolean\n fieldOptions?: FieldItem[]\n onSubmit?: ((values: any) => void) | undefined\n onClose?: () => void\n onOk?: ((values: any) => void) | undefined\n enumDataApi?: EnumDataApi\n value?: ConditionBlock\n}\n\nconst ConditionModal: React.FC<ConditionModalProps> = ({\n open,\n onClose,\n onOk,\n fieldOptions,\n value,\n enumDataApi,\n}) => {\n const [form] = Form.useForm()\n const { t } = useTranslation()\n const { globalData } = useAppContext()\n\n const conditionTypeOptions = useConditionTypeOptions()\n\n const { timeOptions, boolOptions, intOptions, stringOptions, rdateOptions, rdateOptions2 } =\n useConditionSymbolOptions()\n\n const conditionOptions = {\n int: intOptions,\n timestamp: timeOptions,\n string: stringOptions,\n bool: boolOptions,\n float: intOptions,\n enum: stringOptions,\n }\n\n const initData = useCallback(() => {\n if (value?.conditionList) {\n const conditionList = JSON.parse(JSON.stringify(value?.conditionList))\n form.setFieldsValue({\n conditionList: conditionList.map((item: any) => {\n if (item.val === undefined || item.val === '') {\n item.val = ''\n }\n if (item.val2 === undefined || item.val2 === '') {\n item.val2 = ''\n }\n return item\n }),\n conditionType: value.conditionType,\n })\n } else {\n form.setFieldsValue({\n conditionList: [],\n conditionType: 'all',\n })\n }\n }, [value])\n\n useEffect(() => {\n if (open) {\n initData()\n }\n }, [value, open])\n return (\n <>\n <Modal\n title={t('setFilteringCriteria')}\n open={open}\n destroyOnClose\n width=\"650px\"\n onOk={() => {\n const val = form.getFieldsValue()\n const conditionList = val.conditionList\n ? JSON.parse(JSON.stringify(val.conditionList))\n : ''\n const conditionType = val.conditionType || 'all'\n const newVal = {\n conditionList: conditionList.map((item: any) => {\n return item\n }),\n conditionType,\n }\n onClose?.()\n onOk?.(newVal)\n }}\n onCancel={() => {\n initData()\n onClose?.()\n }}\n >\n <Form\n name=\"dynamicForm\"\n form={form}\n initialValues={{ conditionType: 'all' }}\n style={{ maxWidth: 650, marginTop: '30px' }}\n >\n <Form.Item noStyle dependencies={['conditionList']}>\n {({ getFieldValue }) =>\n getFieldValue('conditionList')?.length > 1 ? (\n <Flex align=\"center\" gap={5} style={{ marginBottom: '20px' }}>\n {t('conformTo')}\n <Form.Item name=\"conditionType\" noStyle>\n <Select style={{ width: '150px' }} options={conditionTypeOptions} />\n </Form.Item>{' '}\n {t('condition')}\n </Flex>\n ) : null\n }\n </Form.Item>\n\n <Form.List name=\"conditionList\">\n {(fields, { add, remove }) => (\n <>\n {fields.map(({ key, name, ...restField }) => (\n <Space key={key} style={{ display: 'flex', marginBottom: 8 }} align=\"baseline\">\n <Form.Item {...restField} name={[name, 'field']} noStyle>\n <Select\n style={{ width: '150px' }}\n options={fieldOptions || []}\n onChange={val => {\n const values = form.getFieldValue('conditionList')\n const currField = fieldOptions?.find(item => item.value === val)\n values[name].condition = '='\n values[name].type = currField?.type\n values[name].val = ''\n values[name].val2 = ''\n if (currField?.type === 'timestamp') {\n values[name].rdate = 'exactdate'\n }\n form.setFieldsValue({\n conditionList: values,\n })\n }}\n />\n </Form.Item>\n\n <Form.Item noStyle dependencies={[['conditionList', name, 'field']]}>\n {({ getFieldValue }) => {\n const type = fieldOptions?.find(\n item => item.value === getFieldValue(['conditionList', name, 'field'])\n )?.type\n return (\n <>\n <Form.Item {...restField} name={[name, 'condition']} noStyle>\n <Select\n style={{ width: '100px' }}\n popupMatchSelectWidth={200}\n options={\n type\n ? conditionOptions[type as keyof typeof conditionOptions]\n : []\n }\n onChange={() => {\n const values = form.getFieldValue('conditionList')\n if (type === 'timestamp') {\n values[name].rdate = 'exactdate'\n }\n form.setFieldsValue({\n conditionList: values,\n })\n }}\n />\n </Form.Item>\n </>\n )\n }}\n </Form.Item>\n\n <Form.Item\n noStyle\n dependencies={[\n ['conditionList', name, 'field'],\n ['conditionList', name, 'condition'],\n ['conditionList', name, 'rdate'],\n ]}\n >\n {({ getFieldValue }) => {\n const field = getFieldValue(['conditionList', name, 'field'])\n const fieldData = fieldOptions?.find(item => item.value === field)\n const type = fieldData?.type || ''\n const enumOptions = fieldData?.enum?.map(item => ({\n ...item,\n label: globalData?.fieldMap?.[item.label] || item.label,\n }))\n const enumUrl = fieldData?.dynamic_call_enum_api\n const condition = getFieldValue(['conditionList', name, 'condition'])\n const rdate = getFieldValue(['conditionList', name, 'rdate'])\n return (\n <>\n {['int', 'float'].includes(type) &&\n !['null', 'notnull'].includes(condition) ? (\n <>\n <Form.Item {...restField} name={[name, 'val']} noStyle>\n <InputNumber\n style={{ width: '100px' }}\n placeholder={t('pleaseEnter')}\n />\n </Form.Item>\n {condition === 'contain' ? (\n <Form.Item {...restField} name={[name, 'val2']} noStyle>\n <InputNumber\n style={{\n width: '100px',\n marginLeft: '5px',\n }}\n placeholder={t('pleaseEnter')}\n />\n </Form.Item>\n ) : null}\n </>\n ) : null}\n {type === 'timestamp' && !['null', 'notnull'].includes(condition) ? (\n <>\n {condition === '=' || condition === '<' || condition === '>' ? (\n <Form.Item {...restField} name={[name, 'rdate']} noStyle>\n <Select\n showSearch\n optionFilterProp=\"label\"\n style={{ width: '150px' }}\n options={condition === '=' ? rdateOptions : rdateOptions2}\n />\n </Form.Item>\n ) : null}\n\n {rdate == 'exactdate' && condition !== 'contain' ? (\n <Form.Item {...restField} name={[name, 'val']} noStyle>\n <DatePickerWrapper style={{ width: '150px' }} />\n </Form.Item>\n ) : null}\n\n {condition === 'contain' ? (\n <Form.Item {...restField} noStyle>\n <RangePickerWrapper\n value={[\n getFieldValue(['conditionList', name, 'val']),\n getFieldValue(['conditionList', name, 'val2']),\n ]}\n onChange={v => {\n form.setFieldsValue({\n ['conditionList']: [\n ...form\n .getFieldValue('conditionList')\n .map((item: any) => {\n if (item.field === field) {\n return {\n ...item,\n val: v[0],\n val2: v[1],\n }\n }\n return item\n }),\n ],\n })\n }}\n />\n </Form.Item>\n ) : null}\n </>\n ) : null}\n {['string'].includes(type) &&\n !['null', 'notnull'].includes(condition) ? (\n <>\n <Form.Item {...restField} name={[name, 'val']} noStyle>\n <Input\n style={{ width: '150px' }}\n placeholder={t('pleaseEnter')}\n />\n </Form.Item>\n {condition === 'contain' ? (\n <Form.Item {...restField} name={[name, 'val2']} noStyle>\n <Input\n style={{\n width: '150px',\n marginLeft: '5px',\n }}\n placeholder={t('pleaseEnter')}\n />\n </Form.Item>\n ) : null}\n </>\n ) : null}\n {['bool'].includes(type) ? (\n <>\n <Form.Item {...restField} name={[name, 'val']} noStyle>\n <Switch />\n </Form.Item>\n </>\n ) : null}\n {['enum'].includes(type) && !['null', 'notnull'].includes(condition) ? (\n <>\n <Form.Item {...restField} name={[name, 'val']} noStyle>\n {enumOptions && enumOptions?.length > 0 ? (\n <EnumSelectWrapper\n showSearch\n optionFilterProp=\"label\"\n style={{ width: '150px' }}\n options={enumOptions}\n {...(['include', 'notinclude'].includes(condition)\n ? { mode: 'multiple', maxTagCount: 'responsive' }\n : {})}\n />\n ) : enumUrl ? (\n <DebounceEnumSelectWrapper\n style={{ width: '150px' }}\n {...(['include', 'notinclude'].includes(condition)\n ? { mode: 'multiple', maxTagCount: 'responsive' }\n : {})}\n fetchOptions={async value => {\n let dfUrl = enumUrl\n if (value) {\n dfUrl = `${dfUrl}?q=${value}`\n }\n return (await enumDataApi?.(dfUrl)?.then(\n (res: any) => res.data?.list\n )) as any\n }}\n />\n ) : null}\n </Form.Item>\n </>\n ) : null}\n </>\n )\n }}\n </Form.Item>\n <MinusCircleOutlined onClick={() => remove(name)} />\n </Space>\n ))}\n <Form.Item>\n <Button\n type=\"dashed\"\n onClick={() => {\n const type = fieldOptions?.[0].value\n add(\n type !== 'timestamp'\n ? {\n field: fieldOptions?.[0].value,\n condition: '=',\n type: fieldOptions?.[0].type,\n val: '',\n val2: '',\n }\n : {\n field: fieldOptions?.[0].value,\n condition: '=',\n type: fieldOptions?.[0].type,\n exactdate: 'exactdate',\n val: '',\n val2: '',\n }\n )\n }}\n block\n icon={<PlusOutlined />}\n >\n {t('addCondition')}\n </Button>\n </Form.Item>\n </>\n )}\n </Form.List>\n </Form>\n </Modal>\n </>\n )\n}\nexport default ConditionModal\n"],"names":["_a","value"],"mappings":"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"}