@platox/pivot-table 0.0.35 → 0.0.36

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 (123) hide show
  1. package/es/dashboard-workbench/components/add-module-btn/index.js +14 -5
  2. package/es/dashboard-workbench/components/add-module-btn/index.js.map +1 -1
  3. package/es/dashboard-workbench/components/add-module-modal/add-calendar-modal/custome-data.d.ts +3 -3
  4. package/es/dashboard-workbench/components/add-module-modal/add-calendar-modal/custome-data.js +3 -3
  5. package/es/dashboard-workbench/components/add-module-modal/add-calendar-modal/custome-data.js.map +1 -1
  6. package/es/dashboard-workbench/components/add-module-modal/add-calendar-modal/index.js +3 -3
  7. package/es/dashboard-workbench/components/add-module-modal/add-calendar-modal/index.js.map +1 -1
  8. package/es/dashboard-workbench/components/add-module-modal/add-chart-modal/components/CombinationChartOptionPicker.d.ts +18 -0
  9. package/es/dashboard-workbench/components/add-module-modal/add-chart-modal/components/CombinationChartOptionPicker.js +103 -0
  10. package/es/dashboard-workbench/components/add-module-modal/add-chart-modal/components/CombinationChartOptionPicker.js.map +1 -0
  11. package/es/dashboard-workbench/components/add-module-modal/add-chart-modal/components/GroupFieldConfigPicker.d.ts +14 -0
  12. package/es/dashboard-workbench/components/add-module-modal/add-chart-modal/components/GroupFieldConfigPicker.js +79 -0
  13. package/es/dashboard-workbench/components/add-module-modal/add-chart-modal/components/GroupFieldConfigPicker.js.map +1 -0
  14. package/es/dashboard-workbench/components/add-module-modal/add-chart-modal/components/index.module.less.js +11 -0
  15. package/es/dashboard-workbench/components/add-module-modal/add-chart-modal/components/index.module.less.js.map +1 -0
  16. package/es/dashboard-workbench/components/add-module-modal/add-chart-modal/config.d.ts +14 -0
  17. package/es/dashboard-workbench/components/add-module-modal/add-chart-modal/config.js +153 -0
  18. package/es/dashboard-workbench/components/add-module-modal/add-chart-modal/config.js.map +1 -0
  19. package/es/dashboard-workbench/components/add-module-modal/add-chart-modal/custome-data.d.ts +1 -21
  20. package/es/dashboard-workbench/components/add-module-modal/add-chart-modal/custome-data.js +132 -101
  21. package/es/dashboard-workbench/components/add-module-modal/add-chart-modal/custome-data.js.map +1 -1
  22. package/es/dashboard-workbench/components/add-module-modal/add-chart-modal/custome-styles.d.ts +0 -6
  23. package/es/dashboard-workbench/components/add-module-modal/add-chart-modal/custome-styles.js +2 -4
  24. package/es/dashboard-workbench/components/add-module-modal/add-chart-modal/custome-styles.js.map +1 -1
  25. package/es/dashboard-workbench/components/add-module-modal/add-chart-modal/index.js +3 -3
  26. package/es/dashboard-workbench/components/add-module-modal/add-chart-modal/index.js.map +1 -1
  27. package/es/dashboard-workbench/components/add-module-modal/add-chart-modal/index.module.less.js +7 -0
  28. package/es/dashboard-workbench/components/add-module-modal/add-chart-modal/index.module.less.js.map +1 -0
  29. package/es/dashboard-workbench/components/add-module-modal/add-chart-modal/interface.d.ts +62 -0
  30. package/es/dashboard-workbench/components/add-module-modal/add-chart-modal/interface.js +31 -0
  31. package/es/dashboard-workbench/components/add-module-modal/add-chart-modal/interface.js.map +1 -0
  32. package/es/dashboard-workbench/components/add-module-modal/add-statistics-modal/custome-data.d.ts +3 -3
  33. package/es/dashboard-workbench/components/add-module-modal/add-statistics-modal/custome-data.js +2 -2
  34. package/es/dashboard-workbench/components/add-module-modal/add-statistics-modal/custome-data.js.map +1 -1
  35. package/es/dashboard-workbench/components/add-module-modal/add-statistics-modal/custome-styles.js +16 -11
  36. package/es/dashboard-workbench/components/add-module-modal/add-statistics-modal/custome-styles.js.map +1 -1
  37. package/es/dashboard-workbench/components/add-module-modal/add-statistics-modal/index.js +3 -3
  38. package/es/dashboard-workbench/components/add-module-modal/add-statistics-modal/index.js.map +1 -1
  39. package/es/dashboard-workbench/components/add-module-modal/components/condition-modal/config.d.ts +30 -0
  40. package/es/dashboard-workbench/components/add-module-modal/components/condition-modal/config.js +132 -0
  41. package/es/dashboard-workbench/components/add-module-modal/components/condition-modal/config.js.map +1 -0
  42. package/es/dashboard-workbench/components/add-module-modal/components/condition-modal/debounce-select.js.map +1 -1
  43. package/es/dashboard-workbench/components/add-module-modal/components/condition-modal/index.d.ts +4 -12
  44. package/es/dashboard-workbench/components/add-module-modal/components/condition-modal/index.js +6 -200
  45. package/es/dashboard-workbench/components/add-module-modal/components/condition-modal/index.js.map +1 -1
  46. package/es/dashboard-workbench/components/add-module-modal/components/condition-modal/interface.d.ts +14 -0
  47. package/es/dashboard-workbench/components/global-filter-condition/ConditionRowItem.d.ts +9 -0
  48. package/es/dashboard-workbench/components/global-filter-condition/ConditionRowItem.js +90 -0
  49. package/es/dashboard-workbench/components/global-filter-condition/ConditionRowItem.js.map +1 -0
  50. package/es/dashboard-workbench/components/global-filter-condition/ConditionSymbolAndValuePicker.d.ts +15 -0
  51. package/es/dashboard-workbench/components/global-filter-condition/ConditionSymbolAndValuePicker.js +218 -0
  52. package/es/dashboard-workbench/components/global-filter-condition/ConditionSymbolAndValuePicker.js.map +1 -0
  53. package/es/dashboard-workbench/components/global-filter-condition/FieldPicker.d.ts +13 -0
  54. package/es/dashboard-workbench/components/global-filter-condition/FieldPicker.js +56 -0
  55. package/es/dashboard-workbench/components/global-filter-condition/FieldPicker.js.map +1 -0
  56. package/es/dashboard-workbench/components/global-filter-condition/index.d.ts +13 -0
  57. package/es/dashboard-workbench/components/global-filter-condition/index.js +311 -0
  58. package/es/dashboard-workbench/components/global-filter-condition/index.js.map +1 -0
  59. package/es/dashboard-workbench/components/global-filter-condition/index.module.less.js +8 -0
  60. package/es/dashboard-workbench/components/global-filter-condition/index.module.less.js.map +1 -0
  61. package/es/dashboard-workbench/components/global-filter-condition/interface.d.ts +9 -0
  62. package/es/dashboard-workbench/components/global-filter-condition/useContext.d.ts +13 -0
  63. package/es/dashboard-workbench/components/global-filter-condition/useContext.js +10 -0
  64. package/es/dashboard-workbench/components/global-filter-condition/useContext.js.map +1 -0
  65. package/es/dashboard-workbench/components/global-filter-condition/util.d.ts +1 -0
  66. package/es/dashboard-workbench/components/global-filter-condition/util.js +7 -0
  67. package/es/dashboard-workbench/components/global-filter-condition/util.js.map +1 -0
  68. package/es/dashboard-workbench/components/{ui/modal/editor-header.js → modal-editor-header/index.js} +4 -4
  69. package/es/dashboard-workbench/components/modal-editor-header/index.js.map +1 -0
  70. package/es/dashboard-workbench/components/modal-editor-header/index.module.less.js +9 -0
  71. package/es/dashboard-workbench/components/module-content/calendar-module/index.js +33 -19
  72. package/es/dashboard-workbench/components/module-content/calendar-module/index.js.map +1 -1
  73. package/es/dashboard-workbench/components/module-content/chart-module/Empty.js +1 -1
  74. package/es/dashboard-workbench/components/module-content/chart-module/Empty.js.map +1 -1
  75. package/es/dashboard-workbench/components/module-content/chart-module/base-chart/index.js +1 -1
  76. package/es/dashboard-workbench/components/module-content/chart-module/base-chart/index.js.map +1 -1
  77. package/es/dashboard-workbench/components/module-content/chart-module/index.d.ts +3 -4
  78. package/es/dashboard-workbench/components/module-content/chart-module/index.js +239 -158
  79. package/es/dashboard-workbench/components/module-content/chart-module/index.js.map +1 -1
  80. package/es/dashboard-workbench/components/module-content/chart-module/utils.d.ts +100 -2
  81. package/es/dashboard-workbench/components/module-content/chart-module/utils.js +66 -13
  82. package/es/dashboard-workbench/components/module-content/chart-module/utils.js.map +1 -1
  83. package/es/dashboard-workbench/components/module-content/index.js +3 -3
  84. package/es/dashboard-workbench/components/module-content/index.js.map +1 -1
  85. package/es/dashboard-workbench/components/module-content/statistics-module/index.d.ts +1 -1
  86. package/es/dashboard-workbench/components/module-content/statistics-module/index.js +17 -7
  87. package/es/dashboard-workbench/components/module-content/statistics-module/index.js.map +1 -1
  88. package/es/dashboard-workbench/components/module-content/text-module/editor/index.js +5 -5
  89. package/es/dashboard-workbench/components/module-content/text-module/editor/index.js.map +1 -1
  90. package/es/dashboard-workbench/components/module-content/utils.d.ts +2 -15
  91. package/es/dashboard-workbench/components/module-content/utils.js.map +1 -1
  92. package/es/dashboard-workbench/components/module-header/index.d.ts +1 -1
  93. package/es/dashboard-workbench/components/module-header/index.js +3 -3
  94. package/es/dashboard-workbench/components/module-header/index.js.map +1 -1
  95. package/es/dashboard-workbench/context.d.ts +21 -9
  96. package/es/dashboard-workbench/context.js +2 -9
  97. package/es/dashboard-workbench/context.js.map +1 -1
  98. package/es/dashboard-workbench/icon/icon-chart-combination.d.ts +3 -0
  99. package/es/dashboard-workbench/icon/icon-chart-combination.js +36 -0
  100. package/es/dashboard-workbench/icon/icon-chart-combination.js.map +1 -0
  101. package/es/dashboard-workbench/index.d.ts +2 -2
  102. package/es/dashboard-workbench/index.js +60 -30
  103. package/es/dashboard-workbench/index.js.map +1 -1
  104. package/es/dashboard-workbench/lang/en-US.d.ts +37 -0
  105. package/es/dashboard-workbench/lang/en-US.js +30 -3
  106. package/es/dashboard-workbench/lang/en-US.js.map +1 -1
  107. package/es/dashboard-workbench/lang/index.js +2 -2
  108. package/es/dashboard-workbench/lang/index.js.map +1 -1
  109. package/es/dashboard-workbench/lang/zh-CN.d.ts +37 -0
  110. package/es/dashboard-workbench/lang/zh-CN.js +30 -3
  111. package/es/dashboard-workbench/lang/zh-CN.js.map +1 -1
  112. package/es/dashboard-workbench/types.d.ts +18 -5
  113. package/es/dashboard-workbench/utils/index.d.ts +6 -4
  114. package/es/dashboard-workbench/utils/index.js +24 -3
  115. package/es/dashboard-workbench/utils/index.js.map +1 -1
  116. package/es/style.css +1 -1
  117. package/package.json +26 -24
  118. package/umd/pivot-table.umd.cjs +75 -75
  119. package/umd/style.css +1 -1
  120. package/es/dashboard-workbench/components/ui/modal/editor-header.js.map +0 -1
  121. package/es/dashboard-workbench/components/ui/modal/index.module.less.js +0 -9
  122. /package/es/dashboard-workbench/components/{ui/modal/editor-header.d.ts → modal-editor-header/index.d.ts} +0 -0
  123. /package/es/dashboard-workbench/components/{ui/modal → modal-editor-header}/index.module.less.js.map +0 -0
@@ -1,16 +1,20 @@
1
1
  import { jsx, Fragment, jsxs } from "react/jsx-runtime";
2
- import { Popover, Button } from "antd";
3
2
  import { useState } from "react";
3
+ import { Popover, Button } from "antd";
4
+ import { useTranslation } from "react-i18next";
5
+ import SvgComponent from "../../icon/icon-chart-combination.js";
4
6
  import IconBar from "../../icon/icon-bar.js";
7
+ import IconCalendar from "../../icon/icon-calendar.js";
8
+ import IconEditor from "../../icon/icon-editor.js";
5
9
  import IconLine from "../../icon/icon-line.js";
6
10
  import IconPie from "../../icon/icon-pie.js";
7
- import IconStripBar from "../../icon/icon-strip-bar.js";
8
11
  import IconStatistics from "../../icon/icon-statistics.js";
9
- import IconEditor from "../../icon/icon-editor.js";
10
- import IconCalendar from "../../icon/icon-calendar.js";
11
- import { useTranslation } from "react-i18next";
12
+ import IconStripBar from "../../icon/icon-strip-bar.js";
13
+ import { useChartTypeOption } from "../add-module-modal/add-chart-modal/config.js";
14
+ import { ChartType } from "../add-module-modal/add-chart-modal/interface.js";
12
15
  const AddModuleBtn = ({ onOk }) => {
13
16
  const { t } = useTranslation();
17
+ useChartTypeOption();
14
18
  const navs = [
15
19
  {
16
20
  title: t("add.add1"),
@@ -34,6 +38,11 @@ const AddModuleBtn = ({ onOk }) => {
34
38
  title: t("add.add5"),
35
39
  type: "chart-strip-bar",
36
40
  icon: /* @__PURE__ */ jsx(IconStripBar, {})
41
+ },
42
+ {
43
+ title: t("add._add5"),
44
+ type: ChartType["chartCombination"],
45
+ icon: /* @__PURE__ */ jsx(SvgComponent, {})
37
46
  }
38
47
  ]
39
48
  },
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../packages/dashboard-workbench/components/add-module-btn/index.tsx"],"sourcesContent":["import { Button, Popover } from 'antd'\nimport { useState } from 'react'\nimport IconBar from '../../icon/icon-bar'\nimport IconLine from '../../icon/icon-line'\nimport IconPie from '../../icon/icon-pie'\nimport IconStripBar from '../../icon/icon-strip-bar'\nimport IconStatistics from '../../icon/icon-statistics'\nimport IconEditor from '../../icon/icon-editor'\nimport IconCalendar from '../../icon/icon-calendar'\nimport { useTranslation } from 'react-i18next'\n\nexport interface ModuleValueType {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n id?: any\n type?:\n | 'text'\n | 'statistics'\n | 'chart-bar'\n | 'chart-bar-pile'\n | 'chart-bar-percentage'\n | 'chart-line'\n | 'chart-line-smooth'\n | 'chart-strip-bar'\n | 'chart-strip-bar-pile'\n | 'chart-strip-bar-percentage'\n | 'chart-pie'\n | 'chart-pie-circular'\n | 'calendar'\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n customData?: any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n customeStyle?: any\n}\n\ninterface AddModuleBtnProps {\n onOk?: (type: ModuleValueType['type']) => void\n}\n\nconst AddModuleBtn: React.FC<AddModuleBtnProps> = ({ onOk }) => {\n const { t } = useTranslation()\n const navs = [\n {\n title: t('add.add1'),\n child: [\n {\n title: t('add.add2'),\n type: 'chart-bar',\n icon: <IconBar />,\n },\n {\n title: t('add.add3'),\n type: 'chart-line',\n icon: <IconLine />,\n },\n {\n title: t('add.add4'),\n type: 'chart-pie',\n icon: <IconPie />,\n },\n {\n title: t('add.add5'),\n type: 'chart-strip-bar',\n icon: <IconStripBar />,\n },\n ],\n },\n {\n title: t('add.add6'),\n child: [\n {\n title: t('add.add7'),\n type: 'statistics',\n icon: <IconStatistics />,\n },\n {\n title: t('add.add8'),\n type: 'text',\n icon: <IconEditor />,\n },\n {\n title: t('add.add9'),\n type: 'calendar',\n icon: <IconCalendar />,\n },\n ],\n },\n ]\n\n const [open, setOpen] = useState(false)\n const onAdd = (value: ModuleValueType['type']) => {\n setOpen(false)\n onOk?.(value)\n }\n\n return (\n <>\n <Popover\n placement=\"bottomRight\"\n open={open}\n onOpenChange={setOpen}\n content={\n <div className=\"pivot-table-modal box-widget-popover-item-container\">\n {navs.map((item, key) => (\n <div key={key} className=\"box-widget-popover-item-group\">\n <p className=\"box-widget-popover-item-group-header\">{item.title}</p>\n <div className=\"box-widget-popover-item-group-content\">\n {item.child.map((child, childKey) => (\n <div\n key={childKey}\n onClick={() => {\n onAdd(child.type as ModuleValueType['type'])\n }}\n className=\"box-widget-popover-item\"\n >\n <div className=\"img\">{child.icon}</div>\n <div className=\"title\">{child.title}</div>\n </div>\n ))}\n </div>\n </div>\n ))}\n </div>\n }\n trigger=\"click\"\n >\n <Button>{t('add.add10')}</Button>\n </Popover>\n </>\n )\n}\n\nexport default AddModuleBtn\n"],"names":[],"mappings":";;;;;;;;;;;AAsCA,MAAM,eAA4C,CAAC,EAAE,WAAW;AACxD,QAAA,EAAE,EAAE,IAAI,eAAe;AAC7B,QAAM,OAAO;AAAA,IACX;AAAA,MACE,OAAO,EAAE,UAAU;AAAA,MACnB,OAAO;AAAA,QACL;AAAA,UACE,OAAO,EAAE,UAAU;AAAA,UACnB,MAAM;AAAA,UACN,0BAAO,SAAQ,CAAA,CAAA;AAAA,QACjB;AAAA,QACA;AAAA,UACE,OAAO,EAAE,UAAU;AAAA,UACnB,MAAM;AAAA,UACN,0BAAO,UAAS,CAAA,CAAA;AAAA,QAClB;AAAA,QACA;AAAA,UACE,OAAO,EAAE,UAAU;AAAA,UACnB,MAAM;AAAA,UACN,0BAAO,SAAQ,CAAA,CAAA;AAAA,QACjB;AAAA,QACA;AAAA,UACE,OAAO,EAAE,UAAU;AAAA,UACnB,MAAM;AAAA,UACN,0BAAO,cAAa,CAAA,CAAA;AAAA,QAAA;AAAA,MACtB;AAAA,IAEJ;AAAA,IACA;AAAA,MACE,OAAO,EAAE,UAAU;AAAA,MACnB,OAAO;AAAA,QACL;AAAA,UACE,OAAO,EAAE,UAAU;AAAA,UACnB,MAAM;AAAA,UACN,0BAAO,gBAAe,CAAA,CAAA;AAAA,QACxB;AAAA,QACA;AAAA,UACE,OAAO,EAAE,UAAU;AAAA,UACnB,MAAM;AAAA,UACN,0BAAO,YAAW,CAAA,CAAA;AAAA,QACpB;AAAA,QACA;AAAA,UACE,OAAO,EAAE,UAAU;AAAA,UACnB,MAAM;AAAA,UACN,0BAAO,cAAa,CAAA,CAAA;AAAA,QAAA;AAAA,MACtB;AAAA,IACF;AAAA,EAEJ;AAEA,QAAM,CAAC,MAAM,OAAO,IAAI,SAAS,KAAK;AAChC,QAAA,QAAQ,CAAC,UAAmC;AAChD,YAAQ,KAAK;AACb,iCAAO;AAAA,EACT;AAEA,SAEI,oBAAA,UAAA,EAAA,UAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAU;AAAA,MACV;AAAA,MACA,cAAc;AAAA,MACd,SACE,oBAAC,OAAI,EAAA,WAAU,uDACZ,UAAA,KAAK,IAAI,CAAC,MAAM,QACd,qBAAA,OAAA,EAAc,WAAU,iCACvB,UAAA;AAAA,QAAA,oBAAC,KAAE,EAAA,WAAU,wCAAwC,UAAA,KAAK,OAAM;AAAA,QAChE,oBAAC,SAAI,WAAU,yCACZ,eAAK,MAAM,IAAI,CAAC,OAAO,aACtB;AAAA,UAAC;AAAA,UAAA;AAAA,YAEC,SAAS,MAAM;AACb,oBAAM,MAAM,IAA+B;AAAA,YAC7C;AAAA,YACA,WAAU;AAAA,YAEV,UAAA;AAAA,cAAA,oBAAC,OAAI,EAAA,WAAU,OAAO,UAAA,MAAM,MAAK;AAAA,cAChC,oBAAA,OAAA,EAAI,WAAU,SAAS,gBAAM,MAAM,CAAA;AAAA,YAAA;AAAA,UAAA;AAAA,UAP/B;AAAA,QAAA,CASR,EACH,CAAA;AAAA,MAAA,KAfQ,GAgBV,CACD,GACH;AAAA,MAEF,SAAQ;AAAA,MAER,UAAC,oBAAA,QAAA,EAAQ,UAAE,EAAA,WAAW,EAAE,CAAA;AAAA,IAAA;AAAA,EAAA,GAE5B;AAEJ;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../packages/dashboard-workbench/components/add-module-btn/index.tsx"],"sourcesContent":["import { useState } from 'react'\nimport { Button, Popover } from 'antd'\nimport { useTranslation } from 'react-i18next'\nimport IconChartCombination from '@platox/pivot-table/icon/icon-chart-combination'\nimport IconBar from '../../icon/icon-bar'\nimport IconCalendar from '../../icon/icon-calendar'\nimport IconEditor from '../../icon/icon-editor'\nimport IconLine from '../../icon/icon-line'\nimport IconPie from '../../icon/icon-pie'\nimport IconStatistics from '../../icon/icon-statistics'\nimport IconStripBar from '../../icon/icon-strip-bar'\nimport { useChartTypeOption } from '../add-module-modal/add-chart-modal/config'\nimport { ChartType } from '../add-module-modal/add-chart-modal/interface'\n\nexport interface ModuleValueType {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n id?: any\n type?:\n | 'text'\n | 'statistics'\n | 'chart-bar'\n | 'chart-bar-pile'\n | 'chart-bar-percentage'\n | 'chart-line'\n | 'chart-line-smooth'\n | 'chart-strip-bar'\n | 'chart-strip-bar-pile'\n | 'chart-strip-bar-percentage'\n | 'chart-pie'\n | 'chart-pie-circular'\n | 'calendar'\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n customData?: any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n customeStyle?: any\n}\n\ninterface AddModuleBtnProps {\n onOk?: (type: ModuleValueType['type']) => void\n}\n\nconst AddModuleBtn: React.FC<AddModuleBtnProps> = ({ onOk }) => {\n const { t } = useTranslation()\n\n const chartTypeOptions = useChartTypeOption()\n\n const navs = [\n {\n title: t('add.add1'),\n child: [\n {\n title: t('add.add2'),\n type: 'chart-bar',\n icon: <IconBar />,\n },\n {\n title: t('add.add3'),\n type: 'chart-line',\n icon: <IconLine />,\n },\n {\n title: t('add.add4'),\n type: 'chart-pie',\n icon: <IconPie />,\n },\n {\n title: t('add.add5'),\n type: 'chart-strip-bar',\n icon: <IconStripBar />,\n },\n {\n title: t('add._add5'),\n type: ChartType['chartCombination'],\n icon: <IconChartCombination />,\n },\n ],\n },\n {\n title: t('add.add6'),\n child: [\n {\n title: t('add.add7'),\n type: 'statistics',\n icon: <IconStatistics />,\n },\n {\n title: t('add.add8'),\n type: 'text',\n icon: <IconEditor />,\n },\n {\n title: t('add.add9'),\n type: 'calendar',\n icon: <IconCalendar />,\n },\n ],\n },\n ]\n\n const [open, setOpen] = useState(false)\n const onAdd = (value: ModuleValueType['type']) => {\n setOpen(false)\n onOk?.(value)\n }\n\n return (\n <>\n <Popover\n placement=\"bottomRight\"\n open={open}\n onOpenChange={setOpen}\n content={\n <div className=\"pivot-table-modal box-widget-popover-item-container\">\n {navs.map((item, key) => (\n <div key={key} className=\"box-widget-popover-item-group\">\n <p className=\"box-widget-popover-item-group-header\">{item.title}</p>\n <div className=\"box-widget-popover-item-group-content\">\n {item.child.map((child, childKey) => (\n <div\n key={childKey}\n onClick={() => {\n onAdd(child.type as ModuleValueType['type'])\n }}\n className=\"box-widget-popover-item\"\n >\n <div className=\"img\">{child.icon}</div>\n <div className=\"title\">{child.title}</div>\n </div>\n ))}\n </div>\n </div>\n ))}\n </div>\n }\n trigger=\"click\"\n >\n <Button>{t('add.add10')}</Button>\n </Popover>\n </>\n )\n}\n\nexport default AddModuleBtn\n"],"names":["IconChartCombination"],"mappings":";;;;;;;;;;;;;;AAyCA,MAAM,eAA4C,CAAC,EAAE,WAAW;AACxD,QAAA,EAAE,EAAE,IAAI,eAAe;AAEJ,qBAAmB;AAE5C,QAAM,OAAO;AAAA,IACX;AAAA,MACE,OAAO,EAAE,UAAU;AAAA,MACnB,OAAO;AAAA,QACL;AAAA,UACE,OAAO,EAAE,UAAU;AAAA,UACnB,MAAM;AAAA,UACN,0BAAO,SAAQ,CAAA,CAAA;AAAA,QACjB;AAAA,QACA;AAAA,UACE,OAAO,EAAE,UAAU;AAAA,UACnB,MAAM;AAAA,UACN,0BAAO,UAAS,CAAA,CAAA;AAAA,QAClB;AAAA,QACA;AAAA,UACE,OAAO,EAAE,UAAU;AAAA,UACnB,MAAM;AAAA,UACN,0BAAO,SAAQ,CAAA,CAAA;AAAA,QACjB;AAAA,QACA;AAAA,UACE,OAAO,EAAE,UAAU;AAAA,UACnB,MAAM;AAAA,UACN,0BAAO,cAAa,CAAA,CAAA;AAAA,QACtB;AAAA,QACA;AAAA,UACE,OAAO,EAAE,WAAW;AAAA,UACpB,MAAM,UAAU,kBAAkB;AAAA,UAClC,0BAAOA,cAAqB,CAAA,CAAA;AAAA,QAAA;AAAA,MAC9B;AAAA,IAEJ;AAAA,IACA;AAAA,MACE,OAAO,EAAE,UAAU;AAAA,MACnB,OAAO;AAAA,QACL;AAAA,UACE,OAAO,EAAE,UAAU;AAAA,UACnB,MAAM;AAAA,UACN,0BAAO,gBAAe,CAAA,CAAA;AAAA,QACxB;AAAA,QACA;AAAA,UACE,OAAO,EAAE,UAAU;AAAA,UACnB,MAAM;AAAA,UACN,0BAAO,YAAW,CAAA,CAAA;AAAA,QACpB;AAAA,QACA;AAAA,UACE,OAAO,EAAE,UAAU;AAAA,UACnB,MAAM;AAAA,UACN,0BAAO,cAAa,CAAA,CAAA;AAAA,QAAA;AAAA,MACtB;AAAA,IACF;AAAA,EAEJ;AAEA,QAAM,CAAC,MAAM,OAAO,IAAI,SAAS,KAAK;AAChC,QAAA,QAAQ,CAAC,UAAmC;AAChD,YAAQ,KAAK;AACb,iCAAO;AAAA,EACT;AAEA,SAEI,oBAAA,UAAA,EAAA,UAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAU;AAAA,MACV;AAAA,MACA,cAAc;AAAA,MACd,SACE,oBAAC,OAAI,EAAA,WAAU,uDACZ,UAAA,KAAK,IAAI,CAAC,MAAM,QACd,qBAAA,OAAA,EAAc,WAAU,iCACvB,UAAA;AAAA,QAAA,oBAAC,KAAE,EAAA,WAAU,wCAAwC,UAAA,KAAK,OAAM;AAAA,QAChE,oBAAC,SAAI,WAAU,yCACZ,eAAK,MAAM,IAAI,CAAC,OAAO,aACtB;AAAA,UAAC;AAAA,UAAA;AAAA,YAEC,SAAS,MAAM;AACb,oBAAM,MAAM,IAA+B;AAAA,YAC7C;AAAA,YACA,WAAU;AAAA,YAEV,UAAA;AAAA,cAAA,oBAAC,OAAI,EAAA,WAAU,OAAO,UAAA,MAAM,MAAK;AAAA,cAChC,oBAAA,OAAA,EAAI,WAAU,SAAS,gBAAM,MAAM,CAAA;AAAA,YAAA;AAAA,UAAA;AAAA,UAP/B;AAAA,QAAA,CASR,EACH,CAAA;AAAA,MAAA,KAfQ,GAgBV,CACD,GACH;AAAA,MAEF,SAAQ;AAAA,MAER,UAAC,oBAAA,QAAA,EAAQ,UAAE,EAAA,WAAW,EAAE,CAAA;AAAA,IAAA;AAAA,EAAA,GAE5B;AAEJ;"}
@@ -1,10 +1,10 @@
1
- import { ModuleData } from '../../module-content';
1
+ import { ConditionListItem } from '../components/condition-modal/interface';
2
2
  import { EnumDataApi } from '../../../types';
3
- import { ConditionListItemTypes } from '../components/condition-modal';
3
+ import { ModuleData } from '../../module-content';
4
4
  export type CalendarCustomeDataTypes = {
5
5
  dataSourceId?: string;
6
6
  conditionData?: {
7
- conditionList: ConditionListItemTypes[];
7
+ conditionList: ConditionListItem[];
8
8
  conditionType: 'all' | 'any';
9
9
  };
10
10
  startDateField?: string;
@@ -1,10 +1,10 @@
1
1
  import { jsxs, Fragment, jsx } from "react/jsx-runtime";
2
- import { Form, Select, Button, Divider } from "antd";
3
2
  import { useMemo, useState, useRef, useEffect } from "react";
4
- import { useAppContext } from "../../../context.js";
3
+ import { Form, Select, Button, Divider } from "antd";
5
4
  import { useTranslation } from "react-i18next";
6
- import ConditionModal from "../components/condition-modal/index.js";
7
5
  import { useMemoizedFn, useDebounceFn } from "ahooks";
6
+ import { useAppContext } from "../../../context.js";
7
+ import ConditionModal from "../components/condition-modal/index.js";
8
8
  const CustomData = ({
9
9
  selectModuleData,
10
10
  onAllValuesChange,
@@ -1 +1 @@
1
- {"version":3,"file":"custome-data.js","sources":["../../../../../packages/dashboard-workbench/components/add-module-modal/add-calendar-modal/custome-data.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { Button, Divider, Form, Select } from 'antd'\n\nimport { useEffect, useMemo, useRef, useState } from 'react'\nimport { useAppContext } from '../../../context'\nimport { ModuleData } from '../../module-content'\nimport { EnumDataApi } from '../../../types'\nimport { useTranslation } from 'react-i18next'\nimport ConditionModal, { ConditionListItemTypes } from '../components/condition-modal'\nimport { useDebounceFn, useMemoizedFn } from 'ahooks'\n\nexport type CalendarCustomeDataTypes = {\n dataSourceId?: string\n conditionData?: {\n conditionList: ConditionListItemTypes[]\n conditionType: 'all' | 'any'\n }\n startDateField?: string\n endDateField?: string\n titleField: string\n}\n\ninterface CustomDataProps {\n selectModuleData?: ModuleData\n onAllValuesChange?: ((values: any) => void) | undefined\n enumDataApi?: EnumDataApi\n}\nconst CustomData: React.FC<CustomDataProps> = ({\n selectModuleData,\n onAllValuesChange,\n enumDataApi,\n}) => {\n /* ============================== split =============================== */\n const { globalData } = useAppContext()\n const { t } = useTranslation()\n\n /* ============================== split =============================== */\n const initialValues = {\n dataSourceId: '',\n startDateField: '',\n endDateField: '',\n titleField: '',\n }\n const [form] = Form.useForm()\n const dataSourceId = Form.useWatch('dataSourceId', form)\n\n const getDataSourceOption = useMemoizedFn(() => {\n // 产品约定过滤字段\n const filterField: string[] = ['customers', 'vendors', 'payees']\n let ret = (globalData?.sourceData ?? []).filter(v => {\n return !filterField.includes(v.value)\n })\n return ret\n })\n\n const dataSourceOptions = useMemo(() => {\n return getDataSourceOption()\n }, [globalData?.sourceData])\n\n const getFieldOptions = useMemoizedFn((dataSourceId?: string) => {\n const list = globalData?.sourceData?.find(item => item.value === dataSourceId)?.fields ?? []\n return list\n })\n const { fieldOptions, timeFieldOptions } = useMemo(() => {\n const fieldOptions = getFieldOptions(dataSourceId)\n const timeFieldOptions = fieldOptions?.filter(item => item.type === 'timestamp')\n return {\n fieldOptions,\n timeFieldOptions,\n }\n }, [dataSourceId])\n\n /* ============================== split =============================== */\n const [isModalOpen, setIsModalOpen] = useState(false)\n const conditionDataRef = useRef()\n const [conditionData, setConditionData] = useState<any>({\n conditionList: [],\n conditionType: 'all',\n })\n const [conditionDataNum, setConditionDataNum] = useState(0)\n\n const setCondition = (val: any) => {\n setConditionData(val)\n conditionDataRef.current = val\n setConditionDataNum(val?.conditionList?.length || 0)\n }\n\n /* ============================== split =============================== */\n // debounc 2个作用 一个默认值的设置会延后,另一个是防止多次请求\n const { run: debounceSubmit } = useDebounceFn(\n useMemoizedFn(() => {\n onAllValuesChange?.({\n ...form.getFieldsValue(),\n conditionData: conditionDataRef.current,\n })\n }),\n {\n wait: 100,\n }\n )\n\n const handleValuesChange = useMemoizedFn((changedValues, allValues) => {\n if (changedValues.dataSourceId) {\n const newFieldOptions = getFieldOptions(changedValues.dataSourceId)\n const timeFieldOptions = fieldOptions.filter(item => item.type === 'timestamp')\n form.setFieldsValue({\n titleField: newFieldOptions?.[0]?.value,\n startDateField: timeFieldOptions?.[0]?.value,\n endDateField: timeFieldOptions?.[0]?.value,\n })\n }\n\n debounceSubmit()\n })\n\n useEffect(() => {\n if (selectModuleData?.customData) {\n const customData = selectModuleData.customData\n form.setFieldsValue(customData)\n } else {\n const dataSourceOptions = getDataSourceOption()\n const dataSourceId = dataSourceOptions?.[0]?.value\n const fieldOptions = getFieldOptions(dataSourceId)\n const timeFieldOptions = fieldOptions.filter(item => item.type === 'timestamp')\n form.setFieldsValue({\n ...initialValues,\n dataSourceId: dataSourceOptions,\n titleField: fieldOptions?.[0]?.value,\n startDateField: timeFieldOptions?.[0].value,\n endDateField: timeFieldOptions?.[0].value,\n })\n debounceSubmit()\n }\n setCondition(selectModuleData?.customData?.conditionData)\n }, [selectModuleData, globalData])\n\n return (\n <>\n <Form\n form={form}\n name=\"customData\"\n labelCol={{ span: 8 }}\n wrapperCol={{ span: 16 }}\n labelAlign=\"left\"\n onValuesChange={handleValuesChange}\n initialValues={initialValues}\n >\n <div\n style={{\n fontSize: '14px',\n marginBottom: '5px',\n }}\n >\n {t('data')}\n </div>\n\n <Form.Item<CalendarCustomeDataTypes> label={t('dataSource')} name=\"dataSourceId\">\n <Select options={dataSourceOptions} />\n </Form.Item>\n\n <Form.Item<CalendarCustomeDataTypes> label={t('dataRange')}>\n <Button\n style={{ marginLeft: '-15px' }}\n onClick={() => {\n setIsModalOpen(true)\n }}\n type=\"link\"\n >\n {t('filterData')}\n </Button>\n {conditionDataNum > 0 ? `${t('selectNcondition', { n: conditionDataNum })}` : null}\n </Form.Item>\n\n <Divider orientation=\"left\" orientationMargin=\"0\">\n {t('calendar.t1')}\n </Divider>\n\n <Form.Item<CalendarCustomeDataTypes> label={t('calendar.t2')} name=\"startDateField\">\n <Select options={timeFieldOptions} />\n </Form.Item>\n\n <Form.Item<CalendarCustomeDataTypes> label={t('calendar.t3')} name=\"endDateField\">\n <Select options={timeFieldOptions} />\n </Form.Item>\n\n <Form.Item<CalendarCustomeDataTypes> label={t('calendar.t4')} name=\"titleField\">\n <Select options={fieldOptions} />\n </Form.Item>\n </Form>\n <ConditionModal\n open={isModalOpen}\n value={conditionData}\n fieldOptions={fieldOptions}\n enumDataApi={enumDataApi}\n onClose={() => {\n setIsModalOpen(false)\n }}\n onOk={val => {\n setCondition(val)\n debounceSubmit()\n }}\n />\n </>\n )\n}\nexport default CustomData\n"],"names":["dataSourceId","fieldOptions","timeFieldOptions","dataSourceOptions"],"mappings":"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"}
1
+ {"version":3,"file":"custome-data.js","sources":["../../../../../packages/dashboard-workbench/components/add-module-modal/add-calendar-modal/custome-data.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { useEffect, useMemo, useRef, useState } from 'react'\nimport { Button, Divider, Form, Select } from 'antd'\nimport { useTranslation } from 'react-i18next'\nimport { useDebounceFn, useMemoizedFn } from 'ahooks'\nimport { ConditionListItem } from '@platox/pivot-table/components/add-module-modal/components/condition-modal/interface'\nimport { useAppContext } from '../../../context'\nimport { EnumDataApi } from '../../../types'\nimport { ModuleData } from '../../module-content'\nimport ConditionModal from '../components/condition-modal'\n\nexport type CalendarCustomeDataTypes = {\n dataSourceId?: string\n conditionData?: {\n conditionList: ConditionListItem[]\n conditionType: 'all' | 'any'\n }\n startDateField?: string\n endDateField?: string\n titleField: string\n}\n\ninterface CustomDataProps {\n selectModuleData?: ModuleData\n onAllValuesChange?: ((values: any) => void) | undefined\n enumDataApi?: EnumDataApi\n}\nconst CustomData: React.FC<CustomDataProps> = ({\n selectModuleData,\n onAllValuesChange,\n enumDataApi,\n}) => {\n /* ============================== split =============================== */\n const { globalData } = useAppContext()\n const { t } = useTranslation()\n\n /* ============================== split =============================== */\n const initialValues = {\n dataSourceId: '',\n startDateField: '',\n endDateField: '',\n titleField: '',\n }\n const [form] = Form.useForm()\n const dataSourceId = Form.useWatch('dataSourceId', form)\n\n const getDataSourceOption = useMemoizedFn(() => {\n // 产品约定过滤字段\n const filterField: string[] = ['customers', 'vendors', 'payees']\n let ret = (globalData?.sourceData ?? []).filter(v => {\n return !filterField.includes(v.value)\n })\n return ret\n })\n\n const dataSourceOptions = useMemo(() => {\n return getDataSourceOption()\n }, [globalData?.sourceData])\n\n const getFieldOptions = useMemoizedFn((dataSourceId?: string) => {\n const list = globalData?.sourceData?.find(item => item.value === dataSourceId)?.fields ?? []\n return list\n })\n const { fieldOptions, timeFieldOptions } = useMemo(() => {\n const fieldOptions = getFieldOptions(dataSourceId)\n const timeFieldOptions = fieldOptions?.filter(item => item.type === 'timestamp')\n return {\n fieldOptions,\n timeFieldOptions,\n }\n }, [dataSourceId])\n\n /* ============================== split =============================== */\n const [isModalOpen, setIsModalOpen] = useState(false)\n const conditionDataRef = useRef()\n const [conditionData, setConditionData] = useState<any>({\n conditionList: [],\n conditionType: 'all',\n })\n const [conditionDataNum, setConditionDataNum] = useState(0)\n\n const setCondition = (val: any) => {\n setConditionData(val)\n conditionDataRef.current = val\n setConditionDataNum(val?.conditionList?.length || 0)\n }\n\n /* ============================== split =============================== */\n // debounc 2个作用 一个默认值的设置会延后,另一个是防止多次请求\n const { run: debounceSubmit } = useDebounceFn(\n useMemoizedFn(() => {\n onAllValuesChange?.({\n ...form.getFieldsValue(),\n conditionData: conditionDataRef.current,\n })\n }),\n {\n wait: 100,\n }\n )\n\n const handleValuesChange = useMemoizedFn((changedValues, allValues) => {\n if (changedValues.dataSourceId) {\n const newFieldOptions = getFieldOptions(changedValues.dataSourceId)\n const timeFieldOptions = fieldOptions.filter(item => item.type === 'timestamp')\n form.setFieldsValue({\n titleField: newFieldOptions?.[0]?.value,\n startDateField: timeFieldOptions?.[0]?.value,\n endDateField: timeFieldOptions?.[0]?.value,\n })\n }\n\n debounceSubmit()\n })\n\n useEffect(() => {\n if (selectModuleData?.customData) {\n const customData = selectModuleData.customData\n form.setFieldsValue(customData)\n } else {\n const dataSourceOptions = getDataSourceOption()\n const dataSourceId = dataSourceOptions?.[0]?.value\n const fieldOptions = getFieldOptions(dataSourceId)\n const timeFieldOptions = fieldOptions.filter(item => item.type === 'timestamp')\n form.setFieldsValue({\n ...initialValues,\n dataSourceId: dataSourceOptions,\n titleField: fieldOptions?.[0]?.value,\n startDateField: timeFieldOptions?.[0].value,\n endDateField: timeFieldOptions?.[0].value,\n })\n debounceSubmit()\n }\n setCondition(selectModuleData?.customData?.conditionData)\n }, [selectModuleData, globalData])\n\n return (\n <>\n <Form\n form={form}\n name=\"customData\"\n labelCol={{ span: 8 }}\n wrapperCol={{ span: 16 }}\n labelAlign=\"left\"\n onValuesChange={handleValuesChange}\n initialValues={initialValues}\n >\n <div\n style={{\n fontSize: '14px',\n marginBottom: '5px',\n }}\n >\n {t('data')}\n </div>\n\n <Form.Item<CalendarCustomeDataTypes> label={t('dataSource')} name=\"dataSourceId\">\n <Select options={dataSourceOptions} />\n </Form.Item>\n\n <Form.Item<CalendarCustomeDataTypes> label={t('dataRange')}>\n <Button\n style={{ marginLeft: '-15px' }}\n onClick={() => {\n setIsModalOpen(true)\n }}\n type=\"link\"\n >\n {t('filterData')}\n </Button>\n {conditionDataNum > 0 ? `${t('selectNcondition', { n: conditionDataNum })}` : null}\n </Form.Item>\n\n <Divider orientation=\"left\" orientationMargin=\"0\">\n {t('calendar.t1')}\n </Divider>\n\n <Form.Item<CalendarCustomeDataTypes> label={t('calendar.t2')} name=\"startDateField\">\n <Select options={timeFieldOptions} />\n </Form.Item>\n\n <Form.Item<CalendarCustomeDataTypes> label={t('calendar.t3')} name=\"endDateField\">\n <Select options={timeFieldOptions} />\n </Form.Item>\n\n <Form.Item<CalendarCustomeDataTypes> label={t('calendar.t4')} name=\"titleField\">\n <Select options={fieldOptions} />\n </Form.Item>\n </Form>\n <ConditionModal\n open={isModalOpen}\n value={conditionData}\n fieldOptions={fieldOptions}\n enumDataApi={enumDataApi}\n onClose={() => {\n setIsModalOpen(false)\n }}\n onOk={val => {\n setCondition(val)\n debounceSubmit()\n }}\n />\n </>\n )\n}\nexport default CustomData\n"],"names":["dataSourceId","fieldOptions","timeFieldOptions","dataSourceOptions"],"mappings":"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"}
@@ -2,10 +2,10 @@ import { jsx, Fragment, jsxs } from "react/jsx-runtime";
2
2
  import { useState, useEffect } from "react";
3
3
  import { Modal, Button } from "antd";
4
4
  import { CloseOutlined } from "@ant-design/icons";
5
- import CustomData from "./custome-data.js";
6
- import CalendarModule from "../../module-content/calendar-module/index.js";
7
5
  import { useTranslation } from "react-i18next";
8
- import { EditorHeader } from "../../ui/modal/editor-header.js";
6
+ import { EditorHeader } from "../../modal-editor-header/index.js";
7
+ import CalendarModule from "../../module-content/calendar-module/index.js";
8
+ import CustomData from "./custome-data.js";
9
9
  const AddStatisticsModal = ({
10
10
  open,
11
11
  onClose,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../packages/dashboard-workbench/components/add-module-modal/add-calendar-modal/index.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react'\nimport { Button, Modal } from 'antd'\nimport { CloseOutlined } from '@ant-design/icons'\nimport CustomData, { CalendarCustomeDataTypes } from './custome-data'\nimport { EnumDataApi, ModuleDataApi } from '../../../types'\nimport CalendarModule from '../../module-content/calendar-module'\nimport { ModuleData } from '../../module-content'\nimport { useTranslation } from 'react-i18next'\nimport EditorHeader from '@platox/pivot-table/dashboard-workbench/components/ui/modal/editor-header'\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<CalendarCustomeDataTypes>()\n\n useEffect(() => {\n if (selectModuleData) {\n setCustomData(selectModuleData?.customData)\n }\n }, [selectModuleData])\n\n /* ============================== split =============================== */\n const [title, setTitle] = useState<string>('')\n useEffect(() => {\n if (open) {\n setTitle(selectModuleData?.title ? selectModuleData?.title : t('calendarText'))\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 closeIcon={<CloseOutlined />}\n className=\"ow\"\n >\n <div className=\"config-widget-dialog-container\">\n <div className=\"config-widget-dialog-content\">\n <div\n className=\"config-widget-dialog-preview\"\n style={{ borderRight: '1px solid #e0e0e0' }}\n >\n <CalendarModule customData={customData} moduleDataApi={moduleDataApi} />\n </div>\n </div>\n <div className=\"config-widget-dialog-panel\" style={{ borderLeft: 'none' }}>\n <div className=\"bitable-dashboard edit-panel-container\" style={{ paddingTop: '20px' }}>\n <CustomData\n enumDataApi={enumDataApi}\n selectModuleData={selectModuleData}\n onAllValuesChange={allVal => {\n setCustomData(allVal)\n }}\n />\n </div>\n <div className=\"button-container\">\n <Button\n type=\"primary\"\n onClick={() => {\n onOk?.({\n id: selectModuleData?.id,\n customData,\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":";;;;;;;;AAoBA,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,SAAmC;AAEvE,YAAU,MAAM;AACd,QAAI,kBAAkB;AACpB,oBAAc,qDAAkB,UAAU;AAAA,IAAA;AAAA,EAC5C,GACC,CAAC,gBAAgB,CAAC;AAGrB,QAAM,CAAC,OAAO,QAAQ,IAAI,SAAiB,EAAE;AAC7C,YAAU,MAAM;AACd,QAAI,MAAM;AACR,gBAAS,qDAAkB,SAAQ,qDAAkB,QAAQ,EAAE,cAAc,CAAC;AAAA,IAAA;AAAA,EAChF,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,+BAAY,eAAc,EAAA;AAAA,MAC1B,WAAU;AAAA,MAEV,UAAA,qBAAC,OAAI,EAAA,WAAU,kCACb,UAAA;AAAA,QAAC,oBAAA,OAAA,EAAI,WAAU,gCACb,UAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAU;AAAA,YACV,OAAO,EAAE,aAAa,oBAAoB;AAAA,YAE1C,UAAA,oBAAC,gBAAe,EAAA,YAAwB,cAA8B,CAAA;AAAA,UAAA;AAAA,QAAA,GAE1E;AAAA,QACA,qBAAC,SAAI,WAAU,8BAA6B,OAAO,EAAE,YAAY,OAC/D,GAAA,UAAA;AAAA,UAAA,oBAAC,SAAI,WAAU,0CAAyC,OAAO,EAAE,YAAY,UAC3E,UAAA;AAAA,YAAC;AAAA,YAAA;AAAA,cACC;AAAA,cACA;AAAA,cACA,mBAAmB,CAAU,WAAA;AAC3B,8BAAc,MAAM;AAAA,cAAA;AAAA,YACtB;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;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-calendar-modal/index.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react'\nimport { Button, Modal } 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 CalendarModule from '../../module-content/calendar-module'\nimport CustomData, { CalendarCustomeDataTypes } from './custome-data'\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<CalendarCustomeDataTypes>()\n\n useEffect(() => {\n if (selectModuleData) {\n setCustomData(selectModuleData?.customData)\n }\n }, [selectModuleData])\n\n /* ============================== split =============================== */\n const [title, setTitle] = useState<string>('')\n useEffect(() => {\n if (open) {\n setTitle(selectModuleData?.title ? selectModuleData?.title : t('calendarText'))\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 closeIcon={<CloseOutlined />}\n className=\"ow\"\n >\n <div className=\"config-widget-dialog-container\">\n <div className=\"config-widget-dialog-content\">\n <div\n className=\"config-widget-dialog-preview\"\n style={{ borderRight: '1px solid #e0e0e0' }}\n >\n <CalendarModule customData={customData} moduleDataApi={moduleDataApi} />\n </div>\n </div>\n <div className=\"config-widget-dialog-panel\" style={{ borderLeft: 'none' }}>\n <div className=\"bitable-dashboard edit-panel-container\" style={{ paddingTop: '20px' }}>\n <CustomData\n enumDataApi={enumDataApi}\n selectModuleData={selectModuleData}\n onAllValuesChange={allVal => {\n setCustomData(allVal)\n }}\n />\n </div>\n <div className=\"button-container\">\n <Button\n type=\"primary\"\n onClick={() => {\n onOk?.({\n id: selectModuleData?.id,\n customData,\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":";;;;;;;;AAoBA,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,SAAmC;AAEvE,YAAU,MAAM;AACd,QAAI,kBAAkB;AACpB,oBAAc,qDAAkB,UAAU;AAAA,IAAA;AAAA,EAC5C,GACC,CAAC,gBAAgB,CAAC;AAGrB,QAAM,CAAC,OAAO,QAAQ,IAAI,SAAiB,EAAE;AAC7C,YAAU,MAAM;AACd,QAAI,MAAM;AACR,gBAAS,qDAAkB,SAAQ,qDAAkB,QAAQ,EAAE,cAAc,CAAC;AAAA,IAAA;AAAA,EAChF,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,+BAAY,eAAc,EAAA;AAAA,MAC1B,WAAU;AAAA,MAEV,UAAA,qBAAC,OAAI,EAAA,WAAU,kCACb,UAAA;AAAA,QAAC,oBAAA,OAAA,EAAI,WAAU,gCACb,UAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAU;AAAA,YACV,OAAO,EAAE,aAAa,oBAAoB;AAAA,YAE1C,UAAA,oBAAC,gBAAe,EAAA,YAAwB,cAA8B,CAAA;AAAA,UAAA;AAAA,QAAA,GAE1E;AAAA,QACA,qBAAC,SAAI,WAAU,8BAA6B,OAAO,EAAE,YAAY,OAC/D,GAAA,UAAA;AAAA,UAAA,oBAAC,SAAI,WAAU,0CAAyC,OAAO,EAAE,YAAY,UAC3E,UAAA;AAAA,YAAC;AAAA,YAAA;AAAA,cACC;AAAA,cACA;AAAA,cACA,mBAAmB,CAAU,WAAA;AAC3B,8BAAc,MAAM;AAAA,cAAA;AAAA,YACtB;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;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;"}
@@ -0,0 +1,18 @@
1
+ import { CSSProperties } from 'react';
2
+ import { ChartType, CombinationChartConfig } from '../interface';
3
+ export declare const defaultValue: {
4
+ chartType: ChartType;
5
+ yAxisPos: string;
6
+ };
7
+ export type CombinationChartOptionPickerProps = {
8
+ style?: CSSProperties;
9
+ className?: string;
10
+ value?: CombinationChartConfig;
11
+ onChange?: (v: CombinationChartConfig) => void;
12
+ initTriggerChange?: boolean;
13
+ };
14
+ export declare const CombinationChartOptionPicker: {
15
+ (props: CombinationChartOptionPickerProps): import("react/jsx-runtime").JSX.Element;
16
+ displayName: string;
17
+ };
18
+ export default CombinationChartOptionPicker;
@@ -0,0 +1,103 @@
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import { useMemo } from "react";
3
+ import clsx from "clsx";
4
+ import { Dropdown, Tooltip, Button, Divider } from "antd";
5
+ import { BarChartOutlined, LineChartOutlined, BorderLeftOutlined, BorderRightOutlined } from "@ant-design/icons";
6
+ import { useTranslation } from "react-i18next";
7
+ import { useControllableValue } from "ahooks";
8
+ import { ChartType } from "../interface.js";
9
+ import styles from "./index.module.less.js";
10
+ const componentName = "combination-chart-option";
11
+ const defaultValue = {
12
+ chartType: ChartType.ChartBar,
13
+ yAxisPos: "left"
14
+ };
15
+ const CombinationChartOptionPicker = (props) => {
16
+ const { style, className, initTriggerChange = false } = props;
17
+ const { t } = useTranslation();
18
+ const [value, setValue] = useControllableValue(props);
19
+ const ChartTypeOption = [
20
+ {
21
+ label: t("chart.t2"),
22
+ key: ChartType.ChartBar,
23
+ icon: /* @__PURE__ */ jsx(BarChartOutlined, {})
24
+ },
25
+ {
26
+ label: t("chart.t8"),
27
+ key: ChartType.ChartLine,
28
+ icon: /* @__PURE__ */ jsx(LineChartOutlined, {})
29
+ }
30
+ ];
31
+ const PosOption = [
32
+ {
33
+ label: t("chart.left"),
34
+ key: "left",
35
+ icon: /* @__PURE__ */ jsx(BorderLeftOutlined, {})
36
+ },
37
+ {
38
+ label: t("chart.right"),
39
+ key: "right",
40
+ icon: /* @__PURE__ */ jsx(BorderRightOutlined, {})
41
+ }
42
+ ];
43
+ const chartType = (value == null ? void 0 : value.chartType) ?? (defaultValue == null ? void 0 : defaultValue.chartType);
44
+ const yAxisPos = (value == null ? void 0 : value.yAxisPos) ?? (defaultValue == null ? void 0 : defaultValue.yAxisPos);
45
+ const selectChartItem = useMemo(() => {
46
+ return ChartTypeOption.find((v) => v.key === chartType);
47
+ }, [chartType, ChartTypeOption]);
48
+ const selectPosItem = useMemo(() => {
49
+ return PosOption.find((v) => v.key === yAxisPos);
50
+ }, [yAxisPos, PosOption]);
51
+ return /* @__PURE__ */ jsxs("div", { className: clsx(styles[`${componentName}`], componentName), style, children: [
52
+ /* @__PURE__ */ jsx(
53
+ Dropdown,
54
+ {
55
+ trigger: ["click"],
56
+ placement: "bottom",
57
+ menu: {
58
+ items: ChartTypeOption.map((v) => {
59
+ return {
60
+ ...v,
61
+ onClick: () => {
62
+ setValue({
63
+ chartType: v.key,
64
+ yAxisPos
65
+ });
66
+ }
67
+ };
68
+ })
69
+ },
70
+ children: /* @__PURE__ */ jsx(Tooltip, { title: selectChartItem == null ? void 0 : selectChartItem.label, children: /* @__PURE__ */ jsx(Button, { size: "small", type: "text", children: selectChartItem == null ? void 0 : selectChartItem.icon }) })
71
+ }
72
+ ),
73
+ /* @__PURE__ */ jsx(Divider, { type: "vertical", style: { margin: "0 2px" } }),
74
+ /* @__PURE__ */ jsx(
75
+ Dropdown,
76
+ {
77
+ trigger: ["click"],
78
+ placement: "bottom",
79
+ menu: {
80
+ items: PosOption.map((v) => {
81
+ return {
82
+ ...v,
83
+ onClick: () => {
84
+ setValue({
85
+ chartType,
86
+ yAxisPos: v.key
87
+ });
88
+ }
89
+ };
90
+ })
91
+ },
92
+ children: /* @__PURE__ */ jsx(Tooltip, { title: selectPosItem == null ? void 0 : selectPosItem.label, children: /* @__PURE__ */ jsx(Button, { size: "small", type: "text", children: selectPosItem == null ? void 0 : selectPosItem.icon }) })
93
+ }
94
+ )
95
+ ] });
96
+ };
97
+ CombinationChartOptionPicker.displayName = "CombinationChartOptionPicker";
98
+ export {
99
+ CombinationChartOptionPicker,
100
+ CombinationChartOptionPicker as default,
101
+ defaultValue
102
+ };
103
+ //# sourceMappingURL=CombinationChartOptionPicker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CombinationChartOptionPicker.js","sources":["../../../../../../packages/dashboard-workbench/components/add-module-modal/add-chart-modal/components/CombinationChartOptionPicker.tsx"],"sourcesContent":["import { useEffect, useMemo, type CSSProperties } from 'react'\nimport clsx from 'clsx'\nimport { Button, Divider, Dropdown, Popover, Tooltip } from 'antd'\nimport {\n AreaChartOutlined,\n BarChartOutlined,\n BorderLeftOutlined,\n BorderRightOutlined,\n LineChartOutlined,\n PieChartOutlined,\n} from '@ant-design/icons'\nimport { useTranslation } from 'react-i18next'\nimport { useControllableValue } from 'ahooks'\nimport IconBar from '@platox/pivot-table/icon/icon-bar'\nimport IconLine from '@platox/pivot-table/icon/icon-line'\nimport { ChartType, CombinationChartConfig } from '../interface'\nimport styles from './index.module.less'\n\nconst componentName = 'combination-chart-option'\n\nexport const defaultValue = {\n chartType: ChartType.ChartBar,\n yAxisPos: 'left',\n}\n\n/* ============================== split =============================== */\n\nexport type CombinationChartOptionPickerProps = {\n style?: CSSProperties\n className?: string\n\n value?: CombinationChartConfig\n onChange?: (v: CombinationChartConfig) => void\n\n initTriggerChange?: boolean\n}\n\nexport const CombinationChartOptionPicker = (props: CombinationChartOptionPickerProps) => {\n const { style, className, initTriggerChange = false } = props\n const { t } = useTranslation()\n\n const [value, setValue] = useControllableValue<CombinationChartConfig>(props)\n\n /* ============================== split =============================== */\n const ChartTypeOption = [\n {\n label: t('chart.t2'),\n key: ChartType.ChartBar,\n icon: <BarChartOutlined />,\n },\n {\n label: t('chart.t8'),\n key: ChartType.ChartLine,\n icon: <LineChartOutlined />,\n },\n ]\n const PosOption = [\n {\n label: t('chart.left'),\n key: 'left',\n icon: <BorderLeftOutlined />,\n },\n {\n label: t('chart.right'),\n key: 'right',\n icon: <BorderRightOutlined />,\n },\n ]\n\n /* ============================== split =============================== */\n\n const chartType = value?.chartType ?? defaultValue?.chartType\n const yAxisPos = value?.yAxisPos ?? defaultValue?.yAxisPos\n\n const selectChartItem = useMemo(() => {\n return ChartTypeOption.find(v => v.key === chartType)\n }, [chartType, ChartTypeOption])\n\n const selectPosItem = useMemo(() => {\n return PosOption.find(v => v.key === yAxisPos)\n }, [yAxisPos, PosOption])\n\n return (\n <div className={clsx(styles[`${componentName}`], componentName)} style={style}>\n <Dropdown\n trigger={['click']}\n placement=\"bottom\"\n menu={{\n items: ChartTypeOption.map(v => {\n return {\n ...v,\n onClick: () => {\n setValue({\n chartType: v.key as CombinationChartConfig['chartType'],\n yAxisPos,\n })\n },\n }\n }),\n }}\n >\n <Tooltip title={selectChartItem?.label}>\n <Button size=\"small\" type=\"text\">\n {selectChartItem?.icon}\n </Button>\n </Tooltip>\n </Dropdown>\n <Divider type=\"vertical\" style={{ margin: '0 2px' }} />\n <Dropdown\n trigger={['click']}\n placement=\"bottom\"\n menu={{\n items: PosOption.map(v => {\n return {\n ...v,\n onClick: () => {\n setValue({\n chartType,\n yAxisPos: v.key as CombinationChartConfig['yAxisPos'],\n })\n },\n }\n }),\n }}\n >\n <Tooltip title={selectPosItem?.label}>\n <Button size=\"small\" type=\"text\">\n {selectPosItem?.icon}\n </Button>\n </Tooltip>\n </Dropdown>\n </div>\n )\n}\n\nCombinationChartOptionPicker.displayName = 'CombinationChartOptionPicker'\n\nexport default CombinationChartOptionPicker\n"],"names":[],"mappings":";;;;;;;;;AAkBA,MAAM,gBAAgB;AAEf,MAAM,eAAe;AAAA,EAC1B,WAAW,UAAU;AAAA,EACrB,UAAU;AACZ;AAca,MAAA,+BAA+B,CAAC,UAA6C;AACxF,QAAM,EAAE,OAAO,WAAW,oBAAoB,MAAU,IAAA;AAClD,QAAA,EAAE,EAAE,IAAI,eAAe;AAE7B,QAAM,CAAC,OAAO,QAAQ,IAAI,qBAA6C,KAAK;AAG5E,QAAM,kBAAkB;AAAA,IACtB;AAAA,MACE,OAAO,EAAE,UAAU;AAAA,MACnB,KAAK,UAAU;AAAA,MACf,0BAAO,kBAAiB,CAAA,CAAA;AAAA,IAC1B;AAAA,IACA;AAAA,MACE,OAAO,EAAE,UAAU;AAAA,MACnB,KAAK,UAAU;AAAA,MACf,0BAAO,mBAAkB,CAAA,CAAA;AAAA,IAAA;AAAA,EAE7B;AACA,QAAM,YAAY;AAAA,IAChB;AAAA,MACE,OAAO,EAAE,YAAY;AAAA,MACrB,KAAK;AAAA,MACL,0BAAO,oBAAmB,CAAA,CAAA;AAAA,IAC5B;AAAA,IACA;AAAA,MACE,OAAO,EAAE,aAAa;AAAA,MACtB,KAAK;AAAA,MACL,0BAAO,qBAAoB,CAAA,CAAA;AAAA,IAAA;AAAA,EAE/B;AAIM,QAAA,aAAY,+BAAO,eAAa,6CAAc;AAC9C,QAAA,YAAW,+BAAO,cAAY,6CAAc;AAE5C,QAAA,kBAAkB,QAAQ,MAAM;AACpC,WAAO,gBAAgB,KAAK,CAAK,MAAA,EAAE,QAAQ,SAAS;AAAA,EAAA,GACnD,CAAC,WAAW,eAAe,CAAC;AAEzB,QAAA,gBAAgB,QAAQ,MAAM;AAClC,WAAO,UAAU,KAAK,CAAK,MAAA,EAAE,QAAQ,QAAQ;AAAA,EAAA,GAC5C,CAAC,UAAU,SAAS,CAAC;AAGtB,SAAA,qBAAC,OAAI,EAAA,WAAW,KAAK,OAAO,GAAG,aAAa,EAAE,GAAG,aAAa,GAAG,OAC/D,UAAA;AAAA,IAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,SAAS,CAAC,OAAO;AAAA,QACjB,WAAU;AAAA,QACV,MAAM;AAAA,UACJ,OAAO,gBAAgB,IAAI,CAAK,MAAA;AACvB,mBAAA;AAAA,cACL,GAAG;AAAA,cACH,SAAS,MAAM;AACJ,yBAAA;AAAA,kBACP,WAAW,EAAE;AAAA,kBACb;AAAA,gBAAA,CACD;AAAA,cAAA;AAAA,YAEL;AAAA,UACD,CAAA;AAAA,QACH;AAAA,QAEA,UAAC,oBAAA,SAAA,EAAQ,OAAO,mDAAiB,OAC/B,UAAA,oBAAC,QAAO,EAAA,MAAK,SAAQ,MAAK,QACvB,UAAA,mDAAiB,MACpB,EACF,CAAA;AAAA,MAAA;AAAA,IACF;AAAA,IACA,oBAAC,WAAQ,MAAK,YAAW,OAAO,EAAE,QAAQ,WAAW;AAAA,IACrD;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,SAAS,CAAC,OAAO;AAAA,QACjB,WAAU;AAAA,QACV,MAAM;AAAA,UACJ,OAAO,UAAU,IAAI,CAAK,MAAA;AACjB,mBAAA;AAAA,cACL,GAAG;AAAA,cACH,SAAS,MAAM;AACJ,yBAAA;AAAA,kBACP;AAAA,kBACA,UAAU,EAAE;AAAA,gBAAA,CACb;AAAA,cAAA;AAAA,YAEL;AAAA,UACD,CAAA;AAAA,QACH;AAAA,QAEA,UAAC,oBAAA,SAAA,EAAQ,OAAO,+CAAe,OAC7B,UAAA,oBAAC,QAAO,EAAA,MAAK,SAAQ,MAAK,QACvB,UAAA,+CAAe,MAClB,EACF,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EACF,GACF;AAEJ;AAEA,6BAA6B,cAAc;"}
@@ -0,0 +1,14 @@
1
+ import { CSSProperties } from 'react';
2
+ import { ChartCustomDataType } from '../interface';
3
+ export type GroupFieldConfigPickerProps<T> = {
4
+ style?: CSSProperties;
5
+ className?: string;
6
+ options?: T[];
7
+ value?: ChartCustomDataType['groupFieldConfig'];
8
+ onChange?: (v: ChartCustomDataType['groupFieldConfig']) => void;
9
+ };
10
+ export declare const GroupFieldConfigPicker: {
11
+ <T>(props: GroupFieldConfigPickerProps<T>): import("react/jsx-runtime").JSX.Element;
12
+ displayName: string;
13
+ };
14
+ export default GroupFieldConfigPicker;
@@ -0,0 +1,79 @@
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import { useEffect, useMemo } from "react";
3
+ import clsx from "clsx";
4
+ import { Tooltip, Input } from "antd";
5
+ import { useControllableValue, useMemoizedFn } from "ahooks";
6
+ import { ChartType } from "../interface.js";
7
+ import { CombinationChartOptionPicker } from "./CombinationChartOptionPicker.js";
8
+ import styles from "./index.module.less.js";
9
+ const componentName = "group-field-config-picker";
10
+ const empty = [];
11
+ const GroupFieldConfigPicker = (props) => {
12
+ const { style, className, options = empty } = props;
13
+ const [value = empty, setValue] = useControllableValue(props);
14
+ const getFieldValue = useMemoizedFn((key) => {
15
+ let match = (value ?? []).find((v) => v.value === key);
16
+ return match ? match.config : void 0;
17
+ });
18
+ const handleFieldChange = useMemoizedFn((key, config) => {
19
+ let newData = [...value ?? []];
20
+ let match = newData.find((v) => v.value === key);
21
+ if (match) {
22
+ match.config = config;
23
+ } else {
24
+ newData.push({ value: key, config });
25
+ }
26
+ setValue(newData);
27
+ return;
28
+ });
29
+ useEffect(() => {
30
+ if ((options == null ? void 0 : options.length) > 0) {
31
+ let newData = options.map((v) => {
32
+ return {
33
+ value: v,
34
+ config: {
35
+ chartType: ChartType["ChartBar"],
36
+ yAxisPos: "left",
37
+ ...getFieldValue(v) ?? {}
38
+ }
39
+ };
40
+ });
41
+ setValue(newData);
42
+ }
43
+ }, [options]);
44
+ return useMemo(
45
+ () => /* @__PURE__ */ jsx("div", { className: clsx(className, styles[`${componentName}`]), style, children: /* @__PURE__ */ jsx("div", { children: ((props == null ? void 0 : props.options) ?? []).map((fieldName) => {
46
+ let str = `${fieldName}`;
47
+ const value2 = getFieldValue(fieldName);
48
+ return /* @__PURE__ */ jsxs("div", { className: clsx(styles[`${componentName}__item`]), children: [
49
+ /* @__PURE__ */ jsx(Tooltip, { title: str, children: /* @__PURE__ */ jsx("div", { className: clsx(styles[`${componentName}__input`]), children: /* @__PURE__ */ jsx(
50
+ Input,
51
+ {
52
+ value: str,
53
+ disabled: true,
54
+ style: {
55
+ width: 200,
56
+ pointerEvents: "none"
57
+ }
58
+ }
59
+ ) }) }),
60
+ /* @__PURE__ */ jsx(
61
+ CombinationChartOptionPicker,
62
+ {
63
+ value: value2,
64
+ onChange: (v) => {
65
+ handleFieldChange(fieldName, v);
66
+ }
67
+ }
68
+ )
69
+ ] }, str);
70
+ }) }) }),
71
+ [value, options]
72
+ );
73
+ };
74
+ GroupFieldConfigPicker.displayName = "GroupFieldConfigPicker";
75
+ export {
76
+ GroupFieldConfigPicker,
77
+ GroupFieldConfigPicker as default
78
+ };
79
+ //# sourceMappingURL=GroupFieldConfigPicker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GroupFieldConfigPicker.js","sources":["../../../../../../packages/dashboard-workbench/components/add-module-modal/add-chart-modal/components/GroupFieldConfigPicker.tsx"],"sourcesContent":["import { useEffect, useMemo, type CSSProperties } from 'react'\nimport clsx from 'clsx'\nimport { Input, Tooltip } from 'antd'\nimport { useControllableValue, useMemoizedFn } from 'ahooks'\nimport { ChartCustomDataType, ChartType, CombinationChartConfig } from '../interface'\nimport { CombinationChartOptionPicker } from './CombinationChartOptionPicker'\nimport styles from './index.module.less'\n\nconst componentName = 'group-field-config-picker'\n\nconst empty: unknown[] = []\n\nexport type GroupFieldConfigPickerProps<T> = {\n style?: CSSProperties\n className?: string\n\n options?: T[]\n\n value?: ChartCustomDataType['groupFieldConfig']\n onChange?: (v: ChartCustomDataType['groupFieldConfig']) => void\n}\n\nexport const GroupFieldConfigPicker = <T,>(props: GroupFieldConfigPickerProps<T>) => {\n const { style, className, options = empty as T[] } = props\n\n const [value = empty as ChartCustomDataType['groupFieldConfig'], setValue] =\n useControllableValue<ChartCustomDataType['groupFieldConfig']>(props)\n\n const getFieldValue = useMemoizedFn((key: T) => {\n let match = (value ?? []).find(v => v.value === key)\n return match ? match.config : undefined\n })\n\n const handleFieldChange = useMemoizedFn((key: T, config: CombinationChartConfig) => {\n let newData = [...(value ?? [])]\n let match = newData.find(v => v.value === key)\n if (match) {\n match.config = config\n } else {\n newData.push({ value: key, config })\n }\n setValue(newData)\n return\n })\n\n /* ============================== 默认值 =============================== */\n useEffect(() => {\n if (options?.length > 0) {\n let newData: ChartCustomDataType['groupFieldConfig'] = options.map(v => {\n return {\n value: v,\n config: {\n chartType: ChartType['ChartBar'],\n yAxisPos: 'left',\n ...(getFieldValue(v) ?? {}),\n },\n }\n })\n setValue(newData)\n }\n }, [options])\n\n return useMemo(\n () => (\n <div className={clsx(className, styles[`${componentName}`])} style={style}>\n <div>\n {(props?.options ?? []).map(fieldName => {\n let str = `${fieldName}`\n const value = getFieldValue(fieldName)\n return (\n <div className={clsx(styles[`${componentName}__item`])} key={str}>\n <Tooltip title={str}>\n <div className={clsx(styles[`${componentName}__input`])}>\n <Input\n value={str}\n disabled={true}\n style={{\n width: 200,\n pointerEvents: 'none',\n }}\n ></Input>\n </div>\n </Tooltip>\n\n <CombinationChartOptionPicker\n value={value}\n onChange={v => {\n handleFieldChange(fieldName, v)\n }}\n />\n </div>\n )\n })}\n </div>\n </div>\n ),\n [value, options]\n )\n}\n\nGroupFieldConfigPicker.displayName = 'GroupFieldConfigPicker'\n\nexport default GroupFieldConfigPicker\n"],"names":["value"],"mappings":";;;;;;;;AAQA,MAAM,gBAAgB;AAEtB,MAAM,QAAmB,CAAC;AAYb,MAAA,yBAAyB,CAAK,UAA0C;AACnF,QAAM,EAAE,OAAO,WAAW,UAAU,MAAiB,IAAA;AAErD,QAAM,CAAC,QAAQ,OAAkD,QAAQ,IACvE,qBAA8D,KAAK;AAE/D,QAAA,gBAAgB,cAAc,CAAC,QAAW;AAC1C,QAAA,SAAS,SAAS,IAAI,KAAK,CAAK,MAAA,EAAE,UAAU,GAAG;AAC5C,WAAA,QAAQ,MAAM,SAAS;AAAA,EAAA,CAC/B;AAED,QAAM,oBAAoB,cAAc,CAAC,KAAQ,WAAmC;AAClF,QAAI,UAAU,CAAC,GAAI,SAAS,EAAG;AAC/B,QAAI,QAAQ,QAAQ,KAAK,CAAK,MAAA,EAAE,UAAU,GAAG;AAC7C,QAAI,OAAO;AACT,YAAM,SAAS;AAAA,IAAA,OACV;AACL,cAAQ,KAAK,EAAE,OAAO,KAAK,QAAQ;AAAA,IAAA;AAErC,aAAS,OAAO;AAChB;AAAA,EAAA,CACD;AAGD,YAAU,MAAM;AACV,SAAA,mCAAS,UAAS,GAAG;AACnB,UAAA,UAAmD,QAAQ,IAAI,CAAK,MAAA;AAC/D,eAAA;AAAA,UACL,OAAO;AAAA,UACP,QAAQ;AAAA,YACN,WAAW,UAAU,UAAU;AAAA,YAC/B,UAAU;AAAA,YACV,GAAI,cAAc,CAAC,KAAK,CAAA;AAAA,UAAC;AAAA,QAE7B;AAAA,MAAA,CACD;AACD,eAAS,OAAO;AAAA,IAAA;AAAA,EAClB,GACC,CAAC,OAAO,CAAC;AAEL,SAAA;AAAA,IACL,0BACG,OAAI,EAAA,WAAW,KAAK,WAAW,OAAO,GAAG,aAAa,EAAE,CAAC,GAAG,OAC3D,8BAAC,OACG,EAAA,YAAA,+BAAO,YAAW,CAAC,GAAG,IAAI,CAAa,cAAA;AACnC,UAAA,MAAM,GAAG,SAAS;AAChBA,YAAAA,SAAQ,cAAc,SAAS;AAEnC,aAAA,qBAAC,SAAI,WAAW,KAAK,OAAO,GAAG,aAAa,QAAQ,CAAC,GACnD,UAAA;AAAA,QAAA,oBAAC,SAAQ,EAAA,OAAO,KACd,UAAA,oBAAC,OAAI,EAAA,WAAW,KAAK,OAAO,GAAG,aAAa,SAAS,CAAC,GACpD,UAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,OAAO;AAAA,YACP,UAAU;AAAA,YACV,OAAO;AAAA,cACL,OAAO;AAAA,cACP,eAAe;AAAA,YAAA;AAAA,UACjB;AAAA,WAEJ,EACF,CAAA;AAAA,QAEA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,OAAOA;AAAAA,YACP,UAAU,CAAK,MAAA;AACb,gCAAkB,WAAW,CAAC;AAAA,YAAA;AAAA,UAChC;AAAA,QAAA;AAAA,MACF,EAAA,GAnB2D,GAoB7D;AAAA,IAAA,CAEH,GACH,EACF,CAAA;AAAA,IAEF,CAAC,OAAO,OAAO;AAAA,EACjB;AACF;AAEA,uBAAuB,cAAc;"}
@@ -0,0 +1,11 @@
1
+ const styles = {
2
+ "combination-chart-option": "_combination-chart-option_1cwba_1",
3
+ "group-field-config-picker": "_group-field-config-picker_1cwba_11",
4
+ "group-field-config-picker__title": "_group-field-config-picker__title_1cwba_14",
5
+ "group-field-config-picker__item": "_group-field-config-picker__item_1cwba_18",
6
+ "group-field-config-picker__input": "_group-field-config-picker__input_1cwba_23"
7
+ };
8
+ export {
9
+ styles as default
10
+ };
11
+ //# sourceMappingURL=index.module.less.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.module.less.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
@@ -0,0 +1,14 @@
1
+ import { DisplayRange } from './interface';
2
+ export declare const useChartTypeOption: () => {
3
+ label: string;
4
+ value: string;
5
+ icon: import("react/jsx-runtime").JSX.Element;
6
+ }[];
7
+ export declare const useTimeGroupIntervalOption: () => {
8
+ label: string;
9
+ value: string;
10
+ }[];
11
+ export declare const useDisplayRangeOption: () => {
12
+ label: string;
13
+ value: DisplayRange;
14
+ }[];
@@ -0,0 +1,153 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { useMemo } from "react";
3
+ import { useTranslation } from "react-i18next";
4
+ import SvgComponent from "../../../icon/icon-chart-combination.js";
5
+ import IconBar from "../../../icon/icon-bar.js";
6
+ import IconBarPercentage from "../../../icon/icon-bar-percentage.js";
7
+ import IconBarPile from "../../../icon/icon-bar-pile.js";
8
+ import IconLine from "../../../icon/icon-line.js";
9
+ import IconLineSmooth from "../../../icon/icon-line-smooth.js";
10
+ import IconPie from "../../../icon/icon-pie.js";
11
+ import IconPieCircular from "../../../icon/icon-pie-circular.js";
12
+ import IconStripBar from "../../../icon/icon-strip-bar.js";
13
+ import IconStripBarPercentage from "../../../icon/icon-strip-bar-percentage.js";
14
+ import IconStripBarPile from "../../../icon/icon-strip-bar-pile.js";
15
+ import { ChartType, DisplayRange } from "./interface.js";
16
+ const useChartTypeOption = () => {
17
+ const { t, i18n } = useTranslation();
18
+ const ret = useMemo(() => {
19
+ return [
20
+ {
21
+ label: t("chart.t2"),
22
+ value: "chart-bar",
23
+ icon: /* @__PURE__ */ jsx(IconBar, {})
24
+ },
25
+ {
26
+ label: t("chart.t3"),
27
+ value: "chart-bar-pile",
28
+ icon: /* @__PURE__ */ jsx(IconBarPile, {})
29
+ },
30
+ {
31
+ label: t("chart.t4"),
32
+ value: "chart-bar-percentage",
33
+ icon: /* @__PURE__ */ jsx(IconBarPercentage, {})
34
+ },
35
+ {
36
+ label: t("chart.t5"),
37
+ value: "chart-strip-bar",
38
+ icon: /* @__PURE__ */ jsx(IconStripBar, {})
39
+ },
40
+ {
41
+ label: t("chart.t6"),
42
+ value: "chart-strip-bar-pile",
43
+ icon: /* @__PURE__ */ jsx(IconStripBarPile, {})
44
+ },
45
+ {
46
+ label: t("chart.t7"),
47
+ value: "chart-strip-bar-percentage",
48
+ icon: /* @__PURE__ */ jsx(IconStripBarPercentage, {})
49
+ },
50
+ {
51
+ label: t("chart.t8"),
52
+ value: "chart-line",
53
+ icon: /* @__PURE__ */ jsx(IconLine, {})
54
+ },
55
+ {
56
+ label: t("chart.t9"),
57
+ value: "chart-line-smooth",
58
+ icon: /* @__PURE__ */ jsx(IconLineSmooth, {})
59
+ },
60
+ {
61
+ label: t("chart.t10"),
62
+ value: "chart-pie",
63
+ icon: /* @__PURE__ */ jsx(IconPie, {})
64
+ },
65
+ {
66
+ label: t("chart.t11"),
67
+ value: "chart-pie-circular",
68
+ icon: /* @__PURE__ */ jsx(IconPieCircular, {})
69
+ },
70
+ {
71
+ label: t("chart._t12"),
72
+ value: ChartType["chartCombination"],
73
+ // icon: <IconPieCircular />,
74
+ icon: /* @__PURE__ */ jsx(SvgComponent, {})
75
+ }
76
+ ];
77
+ }, [i18n.language]);
78
+ return ret;
79
+ };
80
+ const useTimeGroupIntervalOption = () => {
81
+ const { t, i18n } = useTranslation();
82
+ const ret = useMemo(() => {
83
+ return [
84
+ {
85
+ label: t("chart.t40"),
86
+ value: "day"
87
+ },
88
+ {
89
+ label: t("chart.t41"),
90
+ value: "week"
91
+ },
92
+ {
93
+ label: t("chart.t42"),
94
+ value: "month"
95
+ },
96
+ {
97
+ label: t("chart.t43"),
98
+ value: "year"
99
+ }
100
+ ];
101
+ }, [i18n.language]);
102
+ return ret;
103
+ };
104
+ const useDisplayRangeOption = () => {
105
+ const { t, i18n } = useTranslation();
106
+ const ret = useMemo(() => {
107
+ return [
108
+ {
109
+ label: t("displayRange.all", "ALL"),
110
+ value: DisplayRange["ALL"]
111
+ },
112
+ {
113
+ label: t("displayRange.top5", "TOP5"),
114
+ value: DisplayRange["TOP5"]
115
+ },
116
+ {
117
+ label: t("displayRange.top10", "TOP10"),
118
+ value: DisplayRange["TOP10"]
119
+ },
120
+ {
121
+ label: t("displayRange.top20", "TOP20"),
122
+ value: DisplayRange["TOP20"]
123
+ },
124
+ {
125
+ label: t("displayRange.top30", "TOP30"),
126
+ value: DisplayRange["TOP30"]
127
+ },
128
+ {
129
+ label: t("displayRange.bottom5", "BOTTOM5"),
130
+ value: DisplayRange["BOTTOM5"]
131
+ },
132
+ {
133
+ label: t("displayRange.bottom10", "BOTTOM10"),
134
+ value: DisplayRange["BOTTOM10"]
135
+ },
136
+ {
137
+ label: t("displayRange.bottom20", "BOTTOM20"),
138
+ value: DisplayRange["BOTTOM20"]
139
+ },
140
+ {
141
+ label: t("displayRange.bottom30", "BOTTOM30"),
142
+ value: DisplayRange["BOTTOM30"]
143
+ }
144
+ ];
145
+ }, [i18n.language]);
146
+ return ret;
147
+ };
148
+ export {
149
+ useChartTypeOption,
150
+ useDisplayRangeOption,
151
+ useTimeGroupIntervalOption
152
+ };
153
+ //# sourceMappingURL=config.js.map