@platox/pivot-table 0.0.94 → 0.0.96

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 (87) hide show
  1. package/es/dashboard-workbench/components/InputWrapper/index.js.map +1 -1
  2. package/es/dashboard-workbench/components/SelectWrapper/index.js.map +1 -1
  3. package/es/dashboard-workbench/components/add-module-btn/index.js.map +1 -1
  4. package/es/dashboard-workbench/components/add-module-modal/add-calendar-modal/custome-data.js.map +1 -1
  5. package/es/dashboard-workbench/components/add-module-modal/add-calendar-modal/index.js +20 -2
  6. package/es/dashboard-workbench/components/add-module-modal/add-calendar-modal/index.js.map +1 -1
  7. package/es/dashboard-workbench/components/add-module-modal/add-chart-modal/components/CombinationChartOptionPicker.js +0 -1
  8. package/es/dashboard-workbench/components/add-module-modal/add-chart-modal/components/CombinationChartOptionPicker.js.map +1 -1
  9. package/es/dashboard-workbench/components/add-module-modal/add-chart-modal/components/GroupFieldConfigPicker.js.map +1 -1
  10. package/es/dashboard-workbench/components/add-module-modal/add-chart-modal/config.js.map +1 -1
  11. package/es/dashboard-workbench/components/add-module-modal/add-chart-modal/custome-data.js.map +1 -1
  12. package/es/dashboard-workbench/components/add-module-modal/add-chart-modal/custome-styles.js.map +1 -1
  13. package/es/dashboard-workbench/components/add-module-modal/add-chart-modal/index.js +31 -2
  14. package/es/dashboard-workbench/components/add-module-modal/add-chart-modal/index.js.map +1 -1
  15. package/es/dashboard-workbench/components/add-module-modal/add-chart-modal/interface.js.map +1 -1
  16. package/es/dashboard-workbench/components/add-module-modal/add-statistics-modal/custome-data.js.map +1 -1
  17. package/es/dashboard-workbench/components/add-module-modal/add-statistics-modal/custome-styles.js.map +1 -1
  18. package/es/dashboard-workbench/components/add-module-modal/add-statistics-modal/index.js +27 -2
  19. package/es/dashboard-workbench/components/add-module-modal/add-statistics-modal/index.js.map +1 -1
  20. package/es/dashboard-workbench/components/add-module-modal/components/condition-modal/EnumSelect.js +2 -2
  21. package/es/dashboard-workbench/components/add-module-modal/components/condition-modal/EnumSelect.js.map +1 -1
  22. package/es/dashboard-workbench/components/add-module-modal/components/condition-modal/config.js.map +1 -1
  23. package/es/dashboard-workbench/components/add-module-modal/components/condition-modal/index.js.map +1 -1
  24. package/es/dashboard-workbench/components/add-module-modal/components/select-color/index.js.map +1 -1
  25. package/es/dashboard-workbench/components/global-filter-condition/ConditionRowItem.js.map +1 -1
  26. package/es/dashboard-workbench/components/global-filter-condition/ConditionSymbolAndValuePicker.js +1 -1
  27. package/es/dashboard-workbench/components/global-filter-condition/ConditionSymbolAndValuePicker.js.map +1 -1
  28. package/es/dashboard-workbench/components/global-filter-condition/FieldPicker.js.map +1 -1
  29. package/es/dashboard-workbench/components/global-filter-condition/index.js +1 -2
  30. package/es/dashboard-workbench/components/global-filter-condition/index.js.map +1 -1
  31. package/es/dashboard-workbench/components/global-filter-condition/useContext.js.map +1 -1
  32. package/es/dashboard-workbench/components/global-filter-condition/util.js.map +1 -1
  33. package/es/dashboard-workbench/components/modal-editor-header/index.js.map +1 -1
  34. package/es/dashboard-workbench/components/modal-editor-header/index.module.less.js +3 -3
  35. package/es/dashboard-workbench/components/module-content/calendar-module/index.js.map +1 -1
  36. package/es/dashboard-workbench/components/module-content/calendar-module/locales/zh.js.map +1 -1
  37. package/es/dashboard-workbench/components/module-content/chart-module/Empty.js.map +1 -1
  38. package/es/dashboard-workbench/components/module-content/chart-module/base-chart/index.js +27 -1
  39. package/es/dashboard-workbench/components/module-content/chart-module/base-chart/index.js.map +1 -1
  40. package/es/dashboard-workbench/components/module-content/chart-module/index.js +90 -39
  41. package/es/dashboard-workbench/components/module-content/chart-module/index.js.map +1 -1
  42. package/es/dashboard-workbench/components/module-content/chart-module/utils.d.ts +1 -1
  43. package/es/dashboard-workbench/components/module-content/chart-module/utils.js +153 -35
  44. package/es/dashboard-workbench/components/module-content/chart-module/utils.js.map +1 -1
  45. package/es/dashboard-workbench/components/module-content/index.js.map +1 -1
  46. package/es/dashboard-workbench/components/module-content/statistics-module/index.js.map +1 -1
  47. package/es/dashboard-workbench/components/module-content/statistics-module/utils.js.map +1 -1
  48. package/es/dashboard-workbench/components/module-content/text-module/editor/index.js +1 -1
  49. package/es/dashboard-workbench/components/module-content/text-module/editor/index.js.map +1 -1
  50. package/es/dashboard-workbench/components/module-content/text-module/editor/useDebounce.js.map +1 -1
  51. package/es/dashboard-workbench/components/module-content/text-module/index.js.map +1 -1
  52. package/es/dashboard-workbench/components/module-content/utils.js.map +1 -1
  53. package/es/dashboard-workbench/components/module-header/index.js.map +1 -1
  54. package/es/dashboard-workbench/context.js.map +1 -1
  55. package/es/dashboard-workbench/icon/icon-Filter.js.map +1 -1
  56. package/es/dashboard-workbench/icon/icon-bar-percentage.js.map +1 -1
  57. package/es/dashboard-workbench/icon/icon-bar-pile.js.map +1 -1
  58. package/es/dashboard-workbench/icon/icon-bar.js.map +1 -1
  59. package/es/dashboard-workbench/icon/icon-calendar.js.map +1 -1
  60. package/es/dashboard-workbench/icon/icon-chart-combination.js.map +1 -1
  61. package/es/dashboard-workbench/icon/icon-drag.js.map +1 -1
  62. package/es/dashboard-workbench/icon/icon-editor.js.map +1 -1
  63. package/es/dashboard-workbench/icon/icon-empty.js.map +1 -1
  64. package/es/dashboard-workbench/icon/icon-line-smooth.js.map +1 -1
  65. package/es/dashboard-workbench/icon/icon-line.js.map +1 -1
  66. package/es/dashboard-workbench/icon/icon-move.js.map +1 -1
  67. package/es/dashboard-workbench/icon/icon-pie-circular.js.map +1 -1
  68. package/es/dashboard-workbench/icon/icon-pie.js.map +1 -1
  69. package/es/dashboard-workbench/icon/icon-statistics.js.map +1 -1
  70. package/es/dashboard-workbench/icon/icon-strip-bar-percentage.js.map +1 -1
  71. package/es/dashboard-workbench/icon/icon-strip-bar-pile.js.map +1 -1
  72. package/es/dashboard-workbench/icon/icon-strip-bar.js.map +1 -1
  73. package/es/dashboard-workbench/index.js +204 -43
  74. package/es/dashboard-workbench/index.js.map +1 -1
  75. package/es/dashboard-workbench/lang/en-US.d.ts +7 -0
  76. package/es/dashboard-workbench/lang/en-US.js +9 -2
  77. package/es/dashboard-workbench/lang/en-US.js.map +1 -1
  78. package/es/dashboard-workbench/lang/index.js.map +1 -1
  79. package/es/dashboard-workbench/lang/zh-CN.d.ts +7 -0
  80. package/es/dashboard-workbench/lang/zh-CN.js +9 -2
  81. package/es/dashboard-workbench/lang/zh-CN.js.map +1 -1
  82. package/es/dashboard-workbench/utils/index.js +2 -2
  83. package/es/dashboard-workbench/utils/index.js.map +1 -1
  84. package/es/style.css +1 -1
  85. package/package.json +3 -3
  86. package/umd/pivot-table.umd.cjs +49 -47
  87. package/umd/style.css +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../packages/dashboard-workbench/components/InputWrapper/index.tsx"],"sourcesContent":["import { useRef } from 'react'\nimport { Input, InputProps } from 'antd'\nimport { useControllableValue } from 'ahooks'\n\nexport type InputWrapperProps = Omit<InputProps, 'onChange'> & {\n value?: string\n onChange?: (v?: string) => void\n}\n\nexport const InputWrapper = (props: InputWrapperProps) => {\n const valueRef = useRef(props.value)\n return (\n <Input\n {...props}\n onChange={e => {\n valueRef.current = e.target.value\n props?.onChange?.(e.target.value)\n }}\n onBlur={() => {\n let value = `${props?.value || valueRef.current || ''}`\n props?.onChange?.(value.trim())\n }}\n />\n )\n}\n\nInputWrapper.displayName = 'InputWrapper'\n\nexport default InputWrapper\n"],"names":[],"mappings":";;;AASa,MAAA,eAAe,CAAC,UAA6B;AAClD,QAAA,WAAW,OAAO,MAAM,KAAK;AAEjC,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACE,GAAG;AAAA,MACJ,UAAU,CAAK,MAAA;;AACJ,iBAAA,UAAU,EAAE,OAAO;AACrB,6CAAA,aAAA,+BAAW,EAAE,OAAO;AAAA,MAC7B;AAAA,MACA,QAAQ,MAAM;;AACZ,YAAI,QAAQ,IAAG,+BAAO,UAAS,SAAS,WAAW,EAAE;AAC9C,6CAAA,aAAA,+BAAW,MAAM;MAAM;AAAA,IAChC;AAAA,EACF;AAEJ;AAEA,aAAa,cAAc;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../packages/dashboard-workbench/components/InputWrapper/index.tsx"],"sourcesContent":["import { useRef } from 'react'\nimport { Input, InputProps } from 'antd'\nimport { useControllableValue } from 'ahooks'\n\nexport type InputWrapperProps = Omit<InputProps, 'onChange'> & {\n value?: string\n onChange?: (v?: string) => void\n}\n\nexport const InputWrapper = (props: InputWrapperProps) => {\n const valueRef = useRef(props.value)\n return (\n <Input\n {...props}\n onChange={e => {\n valueRef.current = e.target.value\n props?.onChange?.(e.target.value)\n }}\n onBlur={() => {\n let value = `${props?.value || valueRef.current || ''}`\n props?.onChange?.(value.trim())\n }}\n />\n )\n}\n\nInputWrapper.displayName = 'InputWrapper'\n\nexport default InputWrapper\n"],"names":[],"mappings":";;;AASO,MAAM,eAAe,CAAC,UAA6B;AACxD,QAAM,WAAW,OAAO,MAAM,KAAK;AACnC,SACE;AAAA,IAAC;AAAA,IAAA;AAAA,MACE,GAAG;AAAA,MACJ,UAAU,CAAA,MAAK;;AACb,iBAAS,UAAU,EAAE,OAAO;AAC5B,6CAAO,aAAP,+BAAkB,EAAE,OAAO;AAAA,MAC7B;AAAA,MACA,QAAQ,MAAM;;AACZ,YAAI,QAAQ,IAAG,+BAAO,UAAS,SAAS,WAAW,EAAE;AACrD,6CAAO,aAAP,+BAAkB,MAAM;MAC1B;AAAA,IAAA;AAAA,EAAA;AAGN;AAEA,aAAa,cAAc;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../packages/dashboard-workbench/components/SelectWrapper/index.tsx"],"sourcesContent":["import { useState } from 'react'\nimport { Select, SelectProps } from 'antd'\nimport type { BaseOptionType, DefaultOptionType } from 'antd/es/select'\n\nexport const SelectWrapper = <\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ValueType = any,\n OptionType extends BaseOptionType | DefaultOptionType = DefaultOptionType,\n>(\n props: SelectProps<ValueType, OptionType>\n) => {\n const [searchText, setSearchText] = useState<string>('')\n\n return (\n <Select\n searchValue={searchText}\n onSearch={text => setSearchText(text.trim())}\n {...props}\n // filterOption={(input, option) => {\n // const reg = getSafeRegExp(input)\n // return reg ? reg?.test(option?.label ?? '') : false\n // }}\n />\n )\n}\n\nSelectWrapper.displayName = 'SelectWrapper'\n\nexport default SelectWrapper\n\n/* ============================== split =============================== */\n\n/**\n * @description escape Regular_Expressions special_characters '^$.|*+?{\\\\[()'\n * eg: '^\\+[1-9]\\d{1,14}$' 导致正则报错\n */\nexport function getSafeRegExp(str?: string) {\n if (!str) {\n return null\n }\n try {\n // see: https://github.com/rsuite/rsuite/blob/17c6f7dfb7afa5861ec0528bf8d303f6c0227caf/src/internals/utils/getSafeRegExpString.ts\n // eslint-disable-next-line no-useless-escape\n const safePattern = str.trim().replace(/([\\^\\$\\.\\|\\*\\+\\?\\{\\\\\\[\\(\\)])/g, '\\\\$1')\n return new RegExp(safePattern, 'i')\n } catch (error) {\n return null\n }\n}\n"],"names":[],"mappings":";;;AAoCO,SAAS,cAAc,KAAc;AAC1C,MAAI,CAAC,KAAK;AACD,WAAA;AAAA,EAAA;AAEL,MAAA;AAGF,UAAM,cAAc,IAAI,KAAO,EAAA,QAAQ,iCAAiC,MAAM;AACvE,WAAA,IAAI,OAAO,aAAa,GAAG;AAAA,WAC3B,OAAO;AACP,WAAA;AAAA,EAAA;AAEX;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../packages/dashboard-workbench/components/SelectWrapper/index.tsx"],"sourcesContent":["import { useState } from 'react'\nimport { Select, SelectProps } from 'antd'\nimport type { BaseOptionType, DefaultOptionType } from 'antd/es/select'\n\nexport const SelectWrapper = <\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ValueType = any,\n OptionType extends BaseOptionType | DefaultOptionType = DefaultOptionType,\n>(\n props: SelectProps<ValueType, OptionType>\n) => {\n const [searchText, setSearchText] = useState<string>('')\n\n return (\n <Select\n searchValue={searchText}\n onSearch={text => setSearchText(text.trim())}\n {...props}\n // filterOption={(input, option) => {\n // const reg = getSafeRegExp(input)\n // return reg ? reg?.test(option?.label ?? '') : false\n // }}\n />\n )\n}\n\nSelectWrapper.displayName = 'SelectWrapper'\n\nexport default SelectWrapper\n\n/* ============================== split =============================== */\n\n/**\n * @description escape Regular_Expressions special_characters '^$.|*+?{\\\\[()'\n * eg: '^\\+[1-9]\\d{1,14}$' 导致正则报错\n */\nexport function getSafeRegExp(str?: string) {\n if (!str) {\n return null\n }\n try {\n // see: https://github.com/rsuite/rsuite/blob/17c6f7dfb7afa5861ec0528bf8d303f6c0227caf/src/internals/utils/getSafeRegExpString.ts\n // eslint-disable-next-line no-useless-escape\n const safePattern = str.trim().replace(/([\\^\\$\\.\\|\\*\\+\\?\\{\\\\\\[\\(\\)])/g, '\\\\$1')\n return new RegExp(safePattern, 'i')\n } catch (error) {\n return null\n }\n}\n"],"names":[],"mappings":";;;AAoCO,SAAS,cAAc,KAAc;AAC1C,MAAI,CAAC,KAAK;AACR,WAAO;AAAA,EACT;AACA,MAAI;AAGF,UAAM,cAAc,IAAI,KAAA,EAAO,QAAQ,iCAAiC,MAAM;AAC9E,WAAO,IAAI,OAAO,aAAa,GAAG;AAAA,EACpC,SAAS,OAAO;AACd,WAAO;AAAA,EACT;AACF;"}
@@ -1 +1 @@
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 { PlusOutlined } from '@ant-design/icons'\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 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=\"bottomLeft\"\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 <span>\n <AddBtn />\n </span>\n </Popover>\n </>\n )\n}\n\nexport default AddModuleBtn\n\n/* ============================== split =============================== */\n\nexport const AddBtn = () => {\n return (\n <div\n style={{\n width: '1.75rem',\n height: '1.75rem',\n backgroundColor: 'var(--brand)',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n borderRadius: '9999px',\n cursor: 'pointer',\n }}\n >\n <div\n style={{\n color: 'rgba(0,0,0,0.88)',\n lineHeight: '1.25rem',\n fontSize: '14px',\n }}\n >\n <PlusOutlined\n style={{\n color: 'rgba(0,0,0,0.88)',\n }}\n />\n </div>\n </div>\n )\n}\n"],"names":["IconChartCombination"],"mappings":"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"}
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 { PlusOutlined } from '@ant-design/icons'\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 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=\"bottomLeft\"\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 <span>\n <AddBtn />\n </span>\n </Popover>\n </>\n )\n}\n\nexport default AddModuleBtn\n\n/* ============================== split =============================== */\n\nexport const AddBtn = () => {\n return (\n <div\n style={{\n width: '1.75rem',\n height: '1.75rem',\n backgroundColor: 'var(--brand)',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n borderRadius: '9999px',\n cursor: 'pointer',\n }}\n >\n <div\n style={{\n color: 'rgba(0,0,0,0.88)',\n lineHeight: '1.25rem',\n fontSize: '14px',\n }}\n >\n <PlusOutlined\n style={{\n color: 'rgba(0,0,0,0.88)',\n }}\n />\n </div>\n </div>\n )\n}\n"],"names":["IconChartCombination"],"mappings":"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"}
@@ -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 { 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\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 setCondition({\n conditionList: [],\n conditionType: 'all',\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: dataSourceId,\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\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 setCondition({\n conditionList: [],\n conditionType: 'all',\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: dataSourceId,\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,9 +1,10 @@
1
1
  import { jsx, Fragment, jsxs } from "react/jsx-runtime";
2
- import { useState, useEffect } from "react";
2
+ import { useState, useRef, useEffect } from "react";
3
3
  import { Modal, Button } from "antd";
4
4
  import { CloseOutlined } from "@ant-design/icons";
5
5
  import { useTranslation } from "react-i18next";
6
6
  import { EditorHeader } from "../../modal-editor-header/index.js";
7
+ import { useAppContext } from "../../../context.js";
7
8
  import CalendarModule from "../../module-content/calendar-module/index.js";
8
9
  import CustomData from "./custome-data.js";
9
10
  const AddStatisticsModal = ({
@@ -15,7 +16,9 @@ const AddStatisticsModal = ({
15
16
  enumDataApi
16
17
  }) => {
17
18
  const { t } = useTranslation();
19
+ const { globalData } = useAppContext();
18
20
  const [customData, setCustomData] = useState();
21
+ const isTitleCustomizedRef = useRef(false);
19
22
  useEffect(() => {
20
23
  if (selectModuleData) {
21
24
  setCustomData(selectModuleData == null ? void 0 : selectModuleData.customData);
@@ -24,14 +27,29 @@ const AddStatisticsModal = ({
24
27
  const [title, setTitle] = useState("");
25
28
  useEffect(() => {
26
29
  if (open) {
30
+ isTitleCustomizedRef.current = !!(selectModuleData == null ? void 0 : selectModuleData.title);
27
31
  setTitle((selectModuleData == null ? void 0 : selectModuleData.title) ? selectModuleData == null ? void 0 : selectModuleData.title : t("calendarText"));
28
32
  }
29
33
  }, [open]);
34
+ const generateTitle = () => {
35
+ var _a;
36
+ if (!(customData == null ? void 0 : customData.dataSourceId)) return;
37
+ const source = (_a = globalData == null ? void 0 : globalData.sourceData) == null ? void 0 : _a.find((item) => item.value === customData.dataSourceId);
38
+ if (!(source == null ? void 0 : source.label)) return;
39
+ setTitle(source.label);
40
+ };
41
+ useEffect(() => {
42
+ if (isTitleCustomizedRef.current) return;
43
+ generateTitle();
44
+ }, [customData == null ? void 0 : customData.dataSourceId]);
30
45
  return /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsx(
31
46
  Modal,
32
47
  {
33
48
  width: "65%",
34
- title: /* @__PURE__ */ jsx(EditorHeader, { value: title, onChange: setTitle }),
49
+ title: /* @__PURE__ */ jsx(EditorHeader, { value: title, onChange: (val) => {
50
+ isTitleCustomizedRef.current = true;
51
+ setTitle(val);
52
+ } }),
35
53
  footer: null,
36
54
  open,
37
55
  destroyOnClose: true,
@@ -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 { 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 destroyOnClose\n onCancel={onClose}\n closeIcon={<CloseOutlined />}\n className=\"ow-modal ow-modal-2\"\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 {open && <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,gBAAc;AAAA,MACd,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,YAEzC,UAAQ,QAAA,oBAAC,gBAAe,EAAA,YAAwB,cAA8B,CAAA;AAAA,UAAA;AAAA,QAAA,GAEnF;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, useRef, 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 { useAppContext } from '../../../context'\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 { globalData } = useAppContext()\n const [customData, setCustomData] = useState<CalendarCustomeDataTypes>()\n const isTitleCustomizedRef = useRef(false)\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 isTitleCustomizedRef.current = !!selectModuleData?.title\n setTitle(selectModuleData?.title ? selectModuleData?.title : t('calendarText'))\n }\n }, [open])\n\n const generateTitle = () => {\n if (!customData?.dataSourceId) return\n const source = globalData?.sourceData?.find(item => item.value === customData.dataSourceId)\n if (!source?.label) return\n setTitle(source.label)\n }\n\n useEffect(() => {\n if (isTitleCustomizedRef.current) return\n generateTitle()\n }, [customData?.dataSourceId])\n\n return (\n <>\n <Modal\n width=\"65%\"\n title={<EditorHeader value={title} onChange={(val: string) => { isTitleCustomizedRef.current = true; setTitle(val) }} />}\n footer={null}\n open={open}\n destroyOnClose\n onCancel={onClose}\n closeIcon={<CloseOutlined />}\n className=\"ow-modal ow-modal-2\"\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 {open && <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":";;;;;;;;;AAqBA,MAAM,qBAAwD,CAAC;AAAA,EAC7D;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAM;AACJ,QAAM,EAAE,EAAA,IAAM,eAAA;AACd,QAAM,EAAE,WAAA,IAAe,cAAA;AACvB,QAAM,CAAC,YAAY,aAAa,IAAI,SAAA;AACpC,QAAM,uBAAuB,OAAO,KAAK;AAEzC,YAAU,MAAM;AACd,QAAI,kBAAkB;AACpB,oBAAc,qDAAkB,UAAU;AAAA,IAC5C;AAAA,EACF,GAAG,CAAC,gBAAgB,CAAC;AAGrB,QAAM,CAAC,OAAO,QAAQ,IAAI,SAAiB,EAAE;AAC7C,YAAU,MAAM;AACd,QAAI,MAAM;AACR,2BAAqB,UAAU,CAAC,EAAC,qDAAkB;AACnD,gBAAS,qDAAkB,SAAQ,qDAAkB,QAAQ,EAAE,cAAc,CAAC;AAAA,IAChF;AAAA,EACF,GAAG,CAAC,IAAI,CAAC;AAET,QAAM,gBAAgB,MAAM;;AAC1B,QAAI,EAAC,yCAAY,cAAc;AAC/B,UAAM,UAAS,8CAAY,eAAZ,mBAAwB,KAAK,UAAQ,KAAK,UAAU,WAAW;AAC9E,QAAI,EAAC,iCAAQ,OAAO;AACpB,aAAS,OAAO,KAAK;AAAA,EACvB;AAEA,YAAU,MAAM;AACd,QAAI,qBAAqB,QAAS;AAClC,kBAAA;AAAA,EACF,GAAG,CAAC,yCAAY,YAAY,CAAC;AAE7B,SACE,oBAAA,UAAA,EACE,UAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,OAAM;AAAA,MACN,OAAO,oBAAC,cAAA,EAAa,OAAO,OAAO,UAAU,CAAC,QAAgB;AAAE,6BAAqB,UAAU;AAAM,iBAAS,GAAG;AAAA,MAAE,GAAG;AAAA,MACtH,QAAQ;AAAA,MACR;AAAA,MACA,gBAAc;AAAA,MACd,UAAU;AAAA,MACV,+BAAY,eAAA,EAAc;AAAA,MAC1B,WAAU;AAAA,MAEV,UAAA,qBAAC,OAAA,EAAI,WAAU,kCACb,UAAA;AAAA,QAAA,oBAAC,OAAA,EAAI,WAAU,gCACb,UAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAU;AAAA,YACV,OAAO,EAAE,aAAa,oBAAA;AAAA,YAErB,UAAA,QAAQ,oBAAC,gBAAA,EAAe,YAAwB,cAAA,CAA8B;AAAA,UAAA;AAAA,QAAA,GAEnF;AAAA,QACA,qBAAC,SAAI,WAAU,8BAA6B,OAAO,EAAE,YAAY,UAC/D,UAAA;AAAA,UAAA,oBAAC,SAAI,WAAU,0CAAyC,OAAO,EAAE,YAAY,UAC3E,UAAA;AAAA,YAAC;AAAA,YAAA;AAAA,cACC;AAAA,cACA;AAAA,cACA,mBAAmB,CAAA,WAAU;AAC3B,8BAAc,MAAM;AAAA,cACtB;AAAA,YAAA;AAAA,UAAA,GAEJ;AAAA,UACA,oBAAC,OAAA,EAAI,WAAU,oBACb,UAAA;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,MAAK;AAAA,cACL,SAAS,MAAM;AACb,6CAAO;AAAA,kBACL,IAAI,qDAAkB;AAAA,kBACtB;AAAA,kBACA;AAAA,gBAAA;AAAA,cAEJ;AAAA,cAEC,YAAE,SAAS;AAAA,YAAA;AAAA,UAAA,EACd,CACF;AAAA,QAAA,EAAA,CACF;AAAA,MAAA,EAAA,CACF;AAAA,IAAA;AAAA,EAAA,GAEJ;AAEJ;"}
@@ -97,7 +97,6 @@ const CombinationChartOptionPicker = (props) => {
97
97
  CombinationChartOptionPicker.displayName = "CombinationChartOptionPicker";
98
98
  export {
99
99
  CombinationChartOptionPicker,
100
- CombinationChartOptionPicker as default,
101
100
  defaultValue
102
101
  };
103
102
  //# sourceMappingURL=CombinationChartOptionPicker.js.map
@@ -1 +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;"}
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;AAcO,MAAM,+BAA+B,CAAC,UAA6C;AACxF,QAAM,EAAE,OAAO,WAAW,oBAAoB,UAAU;AACxD,QAAM,EAAE,EAAA,IAAM,eAAA;AAEd,QAAM,CAAC,OAAO,QAAQ,IAAI,qBAA6C,KAAK;AAG5E,QAAM,kBAAkB;AAAA,IACtB;AAAA,MACE,OAAO,EAAE,UAAU;AAAA,MACnB,KAAK,UAAU;AAAA,MACf,0BAAO,kBAAA,CAAA,CAAiB;AAAA,IAAA;AAAA,IAE1B;AAAA,MACE,OAAO,EAAE,UAAU;AAAA,MACnB,KAAK,UAAU;AAAA,MACf,0BAAO,mBAAA,CAAA,CAAkB;AAAA,IAAA;AAAA,EAC3B;AAEF,QAAM,YAAY;AAAA,IAChB;AAAA,MACE,OAAO,EAAE,YAAY;AAAA,MACrB,KAAK;AAAA,MACL,0BAAO,oBAAA,CAAA,CAAmB;AAAA,IAAA;AAAA,IAE5B;AAAA,MACE,OAAO,EAAE,aAAa;AAAA,MACtB,KAAK;AAAA,MACL,0BAAO,qBAAA,CAAA,CAAoB;AAAA,IAAA;AAAA,EAC7B;AAKF,QAAM,aAAY,+BAAO,eAAa,6CAAc;AACpD,QAAM,YAAW,+BAAO,cAAY,6CAAc;AAElD,QAAM,kBAAkB,QAAQ,MAAM;AACpC,WAAO,gBAAgB,KAAK,CAAA,MAAK,EAAE,QAAQ,SAAS;AAAA,EACtD,GAAG,CAAC,WAAW,eAAe,CAAC;AAE/B,QAAM,gBAAgB,QAAQ,MAAM;AAClC,WAAO,UAAU,KAAK,CAAA,MAAK,EAAE,QAAQ,QAAQ;AAAA,EAC/C,GAAG,CAAC,UAAU,SAAS,CAAC;AAExB,SACE,qBAAC,OAAA,EAAI,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,CAAA,MAAK;AAC9B,mBAAO;AAAA,cACL,GAAG;AAAA,cACH,SAAS,MAAM;AACb,yBAAS;AAAA,kBACP,WAAW,EAAE;AAAA,kBACb;AAAA,gBAAA,CACD;AAAA,cACH;AAAA,YAAA;AAAA,UAEJ,CAAC;AAAA,QAAA;AAAA,QAGH,UAAA,oBAAC,SAAA,EAAQ,OAAO,mDAAiB,OAC/B,UAAA,oBAAC,QAAA,EAAO,MAAK,SAAQ,MAAK,QACvB,UAAA,mDAAiB,MACpB,EAAA,CACF;AAAA,MAAA;AAAA,IAAA;AAAA,IAEF,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,CAAA,MAAK;AACxB,mBAAO;AAAA,cACL,GAAG;AAAA,cACH,SAAS,MAAM;AACb,yBAAS;AAAA,kBACP;AAAA,kBACA,UAAU,EAAE;AAAA,gBAAA,CACb;AAAA,cACH;AAAA,YAAA;AAAA,UAEJ,CAAC;AAAA,QAAA;AAAA,QAGH,UAAA,oBAAC,SAAA,EAAQ,OAAO,+CAAe,OAC7B,UAAA,oBAAC,QAAA,EAAO,MAAK,SAAQ,MAAK,QACvB,UAAA,+CAAe,MAClB,EAAA,CACF;AAAA,MAAA;AAAA,IAAA;AAAA,EACF,GACF;AAEJ;AAEA,6BAA6B,cAAc;"}
@@ -1 +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 InputWrapper from '@platox/pivot-table/components/InputWrapper'\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 <InputWrapper\n value={str}\n disabled={true}\n style={{\n width: 200,\n pointerEvents: 'none',\n }}\n ></InputWrapper>\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":";;;;;;;;;AASA,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;"}
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 InputWrapper from '@platox/pivot-table/components/InputWrapper'\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 <InputWrapper\n value={str}\n disabled={true}\n style={{\n width: 200,\n pointerEvents: 'none',\n }}\n ></InputWrapper>\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":";;;;;;;;;AASA,MAAM,gBAAgB;AAEtB,MAAM,QAAmB,CAAA;AAYlB,MAAM,yBAAyB,CAAK,UAA0C;AACnF,QAAM,EAAE,OAAO,WAAW,UAAU,UAAiB;AAErD,QAAM,CAAC,QAAQ,OAAkD,QAAQ,IACvE,qBAA8D,KAAK;AAErE,QAAM,gBAAgB,cAAc,CAAC,QAAW;AAC9C,QAAI,SAAS,SAAS,IAAI,KAAK,CAAA,MAAK,EAAE,UAAU,GAAG;AACnD,WAAO,QAAQ,MAAM,SAAS;AAAA,EAChC,CAAC;AAED,QAAM,oBAAoB,cAAc,CAAC,KAAQ,WAAmC;AAClF,QAAI,UAAU,CAAC,GAAI,SAAS,EAAG;AAC/B,QAAI,QAAQ,QAAQ,KAAK,CAAA,MAAK,EAAE,UAAU,GAAG;AAC7C,QAAI,OAAO;AACT,YAAM,SAAS;AAAA,IACjB,OAAO;AACL,cAAQ,KAAK,EAAE,OAAO,KAAK,QAAQ;AAAA,IACrC;AACA,aAAS,OAAO;AAChB;AAAA,EACF,CAAC;AAGD,YAAU,MAAM;AACd,SAAI,mCAAS,UAAS,GAAG;AACvB,UAAI,UAAmD,QAAQ,IAAI,CAAA,MAAK;AACtE,eAAO;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,QAC3B;AAAA,MAEJ,CAAC;AACD,eAAS,OAAO;AAAA,IAClB;AAAA,EACF,GAAG,CAAC,OAAO,CAAC;AAEZ,SAAO;AAAA,IACL,0BACG,OAAA,EAAI,WAAW,KAAK,WAAW,OAAO,GAAG,aAAa,EAAE,CAAC,GAAG,OAC3D,8BAAC,OAAA,EACG,YAAA,+BAAO,YAAW,CAAA,GAAI,IAAI,CAAA,cAAa;AACvC,UAAI,MAAM,GAAG,SAAS;AACtB,YAAMA,SAAQ,cAAc,SAAS;AACrC,aACE,qBAAC,SAAI,WAAW,KAAK,OAAO,GAAG,aAAa,QAAQ,CAAC,GACnD,UAAA;AAAA,QAAA,oBAAC,SAAA,EAAQ,OAAO,KACd,UAAA,oBAAC,OAAA,EAAI,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,QAAA,GAEJ,EAAA,CACF;AAAA,QAEA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,OAAOA;AAAAA,YACP,UAAU,CAAA,MAAK;AACb,gCAAkB,WAAW,CAAC;AAAA,YAChC;AAAA,UAAA;AAAA,QAAA;AAAA,MACF,EAAA,GAnB2D,GAoB7D;AAAA,IAEJ,CAAC,GACH,GACF;AAAA,IAEF,CAAC,OAAO,OAAO;AAAA,EAAA;AAEnB;AAEA,uBAAuB,cAAc;"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sources":["../../../../../packages/dashboard-workbench/components/add-module-modal/add-chart-modal/config.tsx"],"sourcesContent":["import { useMemo } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport IconChartCombination from '@platox/pivot-table/icon/icon-chart-combination'\nimport IconBar from '../../../icon/icon-bar'\nimport IconBarPercentage from '../../../icon/icon-bar-percentage'\nimport IconBarPile from '../../../icon/icon-bar-pile'\nimport IconLine from '../../../icon/icon-line'\nimport IconLineSmooth from '../../../icon/icon-line-smooth'\nimport IconPie from '../../../icon/icon-pie'\nimport IconPieCircular from '../../../icon/icon-pie-circular'\nimport IconStripBar from '../../../icon/icon-strip-bar'\nimport IconStripBarPercentage from '../../../icon/icon-strip-bar-percentage'\nimport IconStripBarPile from '../../../icon/icon-strip-bar-pile'\nimport { ChartType, DisplayRange } from './interface'\n\nexport const useChartTypeOption = () => {\n const { t, i18n } = useTranslation()\n\n const ret = useMemo(() => {\n return [\n {\n label: t('chart.t2'),\n value: 'chart-bar',\n icon: <IconBar />,\n },\n {\n label: t('chart.t3'),\n value: 'chart-bar-pile',\n icon: <IconBarPile />,\n },\n {\n label: t('chart.t4'),\n value: 'chart-bar-percentage',\n icon: <IconBarPercentage />,\n },\n {\n label: t('chart.t5'),\n value: 'chart-strip-bar',\n icon: <IconStripBar />,\n },\n {\n label: t('chart.t6'),\n value: 'chart-strip-bar-pile',\n icon: <IconStripBarPile />,\n },\n {\n label: t('chart.t7'),\n value: 'chart-strip-bar-percentage',\n icon: <IconStripBarPercentage />,\n },\n {\n label: t('chart.t8'),\n value: 'chart-line',\n icon: <IconLine />,\n },\n {\n label: t('chart.t9'),\n value: 'chart-line-smooth',\n icon: <IconLineSmooth />,\n },\n {\n label: t('chart.t10'),\n value: 'chart-pie',\n icon: <IconPie />,\n },\n {\n label: t('chart.t11'),\n value: 'chart-pie-circular',\n icon: <IconPieCircular />,\n },\n {\n label: t('chart._t12'),\n value: ChartType['chartCombination'],\n // icon: <IconPieCircular />,\n icon: <IconChartCombination />,\n },\n ]\n }, [i18n.language])\n\n return ret\n}\n\nexport const useTimeGroupIntervalOption = () => {\n const { t, i18n } = useTranslation()\n\n const ret = useMemo(() => {\n return [\n {\n label: t('chart.t40'),\n value: 'day',\n },\n {\n label: t('chart.t41'),\n value: 'week',\n },\n {\n label: t('chart.t42'),\n value: 'month',\n },\n {\n label: t('chart.t43'),\n value: 'year',\n },\n ]\n }, [i18n.language])\n\n return ret\n}\n\nexport const useDisplayRangeOption = () => {\n const { t, i18n } = useTranslation()\n\n const ret = useMemo(() => {\n return [\n {\n label: t('displayRange.all', 'ALL'),\n value: DisplayRange['ALL'],\n },\n {\n label: t('displayRange.top5', 'TOP5'),\n value: DisplayRange['TOP5'],\n },\n {\n label: t('displayRange.top10', 'TOP10'),\n value: DisplayRange['TOP10'],\n },\n {\n label: t('displayRange.top20', 'TOP20'),\n value: DisplayRange['TOP20'],\n },\n {\n label: t('displayRange.top30', 'TOP30'),\n value: DisplayRange['TOP30'],\n },\n {\n label: t('displayRange.bottom5', 'BOTTOM5'),\n value: DisplayRange['BOTTOM5'],\n },\n {\n label: t('displayRange.bottom10', 'BOTTOM10'),\n value: DisplayRange['BOTTOM10'],\n },\n {\n label: t('displayRange.bottom20', 'BOTTOM20'),\n value: DisplayRange['BOTTOM20'],\n },\n {\n label: t('displayRange.bottom30', 'BOTTOM30'),\n value: DisplayRange['BOTTOM30'],\n },\n ]\n }, [i18n.language])\n\n return ret\n}\n"],"names":["IconChartCombination"],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sources":["../../../../../packages/dashboard-workbench/components/add-module-modal/add-chart-modal/config.tsx"],"sourcesContent":["import { useMemo } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport IconChartCombination from '@platox/pivot-table/icon/icon-chart-combination'\nimport IconBar from '../../../icon/icon-bar'\nimport IconBarPercentage from '../../../icon/icon-bar-percentage'\nimport IconBarPile from '../../../icon/icon-bar-pile'\nimport IconLine from '../../../icon/icon-line'\nimport IconLineSmooth from '../../../icon/icon-line-smooth'\nimport IconPie from '../../../icon/icon-pie'\nimport IconPieCircular from '../../../icon/icon-pie-circular'\nimport IconStripBar from '../../../icon/icon-strip-bar'\nimport IconStripBarPercentage from '../../../icon/icon-strip-bar-percentage'\nimport IconStripBarPile from '../../../icon/icon-strip-bar-pile'\nimport { ChartType, DisplayRange } from './interface'\n\nexport const useChartTypeOption = () => {\n const { t, i18n } = useTranslation()\n\n const ret = useMemo(() => {\n return [\n {\n label: t('chart.t2'),\n value: 'chart-bar',\n icon: <IconBar />,\n },\n {\n label: t('chart.t3'),\n value: 'chart-bar-pile',\n icon: <IconBarPile />,\n },\n {\n label: t('chart.t4'),\n value: 'chart-bar-percentage',\n icon: <IconBarPercentage />,\n },\n {\n label: t('chart.t5'),\n value: 'chart-strip-bar',\n icon: <IconStripBar />,\n },\n {\n label: t('chart.t6'),\n value: 'chart-strip-bar-pile',\n icon: <IconStripBarPile />,\n },\n {\n label: t('chart.t7'),\n value: 'chart-strip-bar-percentage',\n icon: <IconStripBarPercentage />,\n },\n {\n label: t('chart.t8'),\n value: 'chart-line',\n icon: <IconLine />,\n },\n {\n label: t('chart.t9'),\n value: 'chart-line-smooth',\n icon: <IconLineSmooth />,\n },\n {\n label: t('chart.t10'),\n value: 'chart-pie',\n icon: <IconPie />,\n },\n {\n label: t('chart.t11'),\n value: 'chart-pie-circular',\n icon: <IconPieCircular />,\n },\n {\n label: t('chart._t12'),\n value: ChartType['chartCombination'],\n // icon: <IconPieCircular />,\n icon: <IconChartCombination />,\n },\n ]\n }, [i18n.language])\n\n return ret\n}\n\nexport const useTimeGroupIntervalOption = () => {\n const { t, i18n } = useTranslation()\n\n const ret = useMemo(() => {\n return [\n {\n label: t('chart.t40'),\n value: 'day',\n },\n {\n label: t('chart.t41'),\n value: 'week',\n },\n {\n label: t('chart.t42'),\n value: 'month',\n },\n {\n label: t('chart.t43'),\n value: 'year',\n },\n ]\n }, [i18n.language])\n\n return ret\n}\n\nexport const useDisplayRangeOption = () => {\n const { t, i18n } = useTranslation()\n\n const ret = useMemo(() => {\n return [\n {\n label: t('displayRange.all', 'ALL'),\n value: DisplayRange['ALL'],\n },\n {\n label: t('displayRange.top5', 'TOP5'),\n value: DisplayRange['TOP5'],\n },\n {\n label: t('displayRange.top10', 'TOP10'),\n value: DisplayRange['TOP10'],\n },\n {\n label: t('displayRange.top20', 'TOP20'),\n value: DisplayRange['TOP20'],\n },\n {\n label: t('displayRange.top30', 'TOP30'),\n value: DisplayRange['TOP30'],\n },\n {\n label: t('displayRange.bottom5', 'BOTTOM5'),\n value: DisplayRange['BOTTOM5'],\n },\n {\n label: t('displayRange.bottom10', 'BOTTOM10'),\n value: DisplayRange['BOTTOM10'],\n },\n {\n label: t('displayRange.bottom20', 'BOTTOM20'),\n value: DisplayRange['BOTTOM20'],\n },\n {\n label: t('displayRange.bottom30', 'BOTTOM30'),\n value: DisplayRange['BOTTOM30'],\n },\n ]\n }, [i18n.language])\n\n return ret\n}\n"],"names":["IconChartCombination"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"custome-data.js","sources":["../../../../../packages/dashboard-workbench/components/add-module-modal/add-chart-modal/custome-data.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { useEffect, useMemo, useRef, useState } from 'react'\nimport clsx from 'clsx'\nimport { Button, Checkbox, Divider, Flex, Form, message, Radio, Select, Space, Spin } from 'antd'\nimport { useTranslation } from 'react-i18next'\nimport { useDebounceFn, useMemoizedFn, useRequest } from 'ahooks'\nimport { getTransformValue } from '@platox/pivot-table/utils'\nimport { useAppContext } from '../../../context'\nimport { EnumDataApi } from '../../../types'\nimport { ModuleData } from '../../module-content'\nimport {\n filterConditionBlockByDisabledField,\n mapConditionsToPostgrest,\n} from '../../module-content/utils'\nimport ConditionModal from '../components/condition-modal'\nimport CombinationChartOptionPicker from './components/CombinationChartOptionPicker'\nimport GroupFieldConfigPicker from './components/GroupFieldConfigPicker'\nimport { useChartTypeOption, useDisplayRangeOption, useTimeGroupIntervalOption } from './config'\nimport styles from './index.module.less'\nimport { ChartCustomDataType, ChartType } from './interface'\n\nconst componentName = 'chart-modal'\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 const { globalData } = useAppContext()\n const { t } = useTranslation()\n const containerRef = useRef<HTMLDivElement>(null)\n\n const ChartTypeOption = useChartTypeOption()\n const TimeGroupIntervalOption = useTimeGroupIntervalOption()\n const DisplayRangeOption = useDisplayRangeOption()\n\n /* ============================== split =============================== */\n const initialValues = {\n dataSourceId: '',\n yAxis: 'recordTotal',\n chartOptions: ['legend', 'label', 'axis', 'splitLine'],\n sortField: 'xAxis',\n sortOrder: 'asc',\n timeGroupInterval: 'day',\n displayRange: 'ALL',\n yAxisFieldConfig: {\n chartType: ChartType.ChartBar,\n yAxisPos: 'left',\n },\n }\n const [form] = Form.useForm()\n\n const type = Form.useWatch('type', form)\n const dataSourceId = Form.useWatch('dataSourceId', form)\n const isGroup = Form.useWatch('isGroup', form)\n const xAxis = Form.useWatch('xAxis', form)\n const yAxisField = Form.useWatch('yAxisField', form)\n const groupField = Form.useWatch('groupField', form)\n\n /* ============================== split =============================== */\n const getFieldOptions = useMemoizedFn((dataSourceId?: string) => {\n const list = globalData?.sourceData?.find(item => item.value === dataSourceId)?.fields ?? []\n return list\n })\n\n const getYAxisOptions = useMemoizedFn((dataSourceId?: string) => {\n const baseOptions = [\n {\n value: 'recordTotal',\n label: t('statisticstRecordNum'),\n },\n {\n value: 'fieldValue',\n label: t('statisticstFieldVal'),\n },\n ]\n\n // 从后端配置中获取允许的 Y 轴选项\n const sourceConfig = globalData?.sourceData?.find(item => item.value === dataSourceId)\n const allowedOptions = sourceConfig?.chart_config?.allowed_y_axis_options\n\n // 如果配置了允许的选项,则过滤\n if (allowedOptions && allowedOptions.length > 0) {\n return baseOptions.filter(opt => allowedOptions.includes(opt.value))\n }\n\n // 默认返回所有选项(向后兼容)\n return baseOptions\n })\n\n const { fieldOptions, xAxisFieldOption, yAxisFieldOption, groupFieldOption } = useMemo(() => {\n const fieldOptions = getFieldOptions(dataSourceId)\n\n const xAxisFieldOption = fieldOptions.filter(item => {\n let hasPicked = [yAxisField, groupField].includes(item.value)\n return !hasPicked\n })\n\n const yAxisFieldOption = fieldOptions.filter(item => {\n let isNumberField = item.type === 'int' || item.type === 'float'\n let hasPicked = [xAxis, groupField].includes(item.value)\n return isNumberField && !hasPicked\n })\n\n const groupFieldOption = fieldOptions.filter(item => {\n let hasPicked = [xAxis, yAxisField].includes(item.value)\n return !hasPicked\n })\n\n return {\n fieldOptions,\n xAxisFieldOption,\n yAxisFieldOption,\n groupFieldOption,\n }\n }, [dataSourceId, xAxis, yAxisField, groupField])\n\n const isTimeField = useMemoizedFn(fieldName => {\n return fieldOptions.find(item => item.value === fieldName)?.type === 'timestamp'\n })\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 /* ============================== 获取分组聚合的字段数据 =============================== */\n const { service } = useAppContext()\n const { data: CombinationGroupOptions, loading: isGetCombinationGroupOptionsLoading } =\n useRequest(\n async () => {\n if (isGroup && type === ChartType['chartCombination'] && !!groupField) {\n const newGroupField = groupField === 'tags' ? 'tag' : groupField\n let queryString = `select=${newGroupField}`\n if (conditionData?.conditionList?.length > 0) {\n let DSLStr = mapConditionsToPostgrest(conditionData)\n queryString += !!DSLStr ? `&${DSLStr}` : ''\n }\n let res = await service?.moduleDataApi?.({\n id: dataSourceId,\n query: queryString,\n })\n\n //获取分组聚合的字段数据\n let options = res?.data?.map((item: any) => {\n return getTransformValue({\n fieldOptions,\n val: item[newGroupField],\n field: newGroupField,\n fieldMap: globalData?.fieldMap,\n })\n })\n return [...new Set(options)]\n } else {\n return []\n }\n },\n {\n refreshDeps: [type, isGroup, groupField, conditionData, dataSourceId],\n }\n )\n\n /* ============================== split =============================== */\n // debounce 2个作用 一个默认值的设置会延后,另一个是防止多次请求\n const { run: debounceSubmit } = useDebounceFn(\n useMemoizedFn(() => {\n onAllValuesChange?.({\n ...initialValues,\n ...form.getFieldsValue(),\n conditionData: conditionDataRef.current,\n })\n }),\n {\n wait: 100,\n }\n )\n const handleValuesChange = useMemoizedFn((changedValues, allValues) => {\n if (changedValues.dataSourceId) {\n const newFieldOptions = getFieldOptions(changedValues.dataSourceId)\n const yAxisOptions = getYAxisOptions(changedValues.dataSourceId)\n // 如果只有一个选项且是 fieldValue,则默认选中它\n const defaultYAxis =\n yAxisOptions.length === 1 && yAxisOptions[0].value === 'fieldValue'\n ? 'fieldValue'\n : 'recordTotal'\n\n // 获取新数据源的数字字段(用于 yAxisField)\n const newYAxisFieldOptions = newFieldOptions.filter(item => {\n return item.type === 'int' || item.type === 'float'\n })\n\n form.setFieldsValue({\n xAxis: newFieldOptions?.[0]?.value,\n yAxis: defaultYAxis,\n yAxisField: defaultYAxis === 'fieldValue' ? newYAxisFieldOptions?.[0]?.value : '',\n yAxisFieldType: defaultYAxis === 'fieldValue' ? 'sum' : undefined,\n isGroup: false,\n groupField: undefined,\n })\n setCondition({\n conditionList: [],\n conditionType: 'all',\n })\n }\n if (changedValues.xAxis) {\n form.setFieldsValue(\n isTimeField(changedValues.xAxis)\n ? {\n timeGroupInterval: initialValues?.timeGroupInterval,\n }\n : {\n displayRange: initialValues?.displayRange,\n }\n )\n }\n\n if (changedValues.yAxis) {\n let value = changedValues.yAxis\n form.setFieldsValue({\n yAxisField: value === 'fieldValue' ? yAxisFieldOption?.[0]?.value : '',\n yAxisFieldType: 'sum',\n })\n }\n\n if (changedValues.isGroup) {\n form.setFieldsValue({\n groupField: groupFieldOption?.[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 currSourceData = globalData?.sourceData?.[0]\n const list = getFieldOptions(currSourceData?.value) || []\n form.setFieldsValue({\n ...initialValues,\n dataSourceId: currSourceData?.value,\n type: selectModuleData?.type,\n xAxis: list?.[0]?.value,\n })\n }\n setCondition(selectModuleData?.customData?.conditionData)\n debounceSubmit()\n }, [selectModuleData, globalData])\n\n return (\n <div\n style={{ height: '50vh', overflowX: 'auto' }}\n className={clsx(styles[`${componentName}`])}\n ref={containerRef}\n >\n <Form\n form={form}\n name=\"customData\"\n layout=\"vertical\"\n onValuesChange={handleValuesChange}\n initialValues={initialValues}\n >\n <Form.Item<ChartCustomDataType> label={t('dataSource')} name=\"dataSourceId\">\n <Select\n options={globalData?.sourceData ?? []}\n getPopupContainer={trigger => trigger.parentElement || document.body}\n />\n </Form.Item>\n\n <Form.Item<ChartCustomDataType> 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 <Form.Item<ChartCustomDataType> label={t('chart.t1')} name=\"type\">\n <Select\n options={ChartTypeOption}\n getPopupContainer={trigger => trigger.parentElement || document.body}\n optionRender={option => (\n <Flex align=\"center\">\n <span role=\"img\" style={{ marginTop: '5px' }} aria-label={option.data.label}>\n {option.data.icon}\n </span>\n {option.data.label}\n </Flex>\n )}\n />\n </Form.Item>\n\n <Form.Item name=\"chartOptions\" label={t('chart.t12')}>\n <Checkbox.Group>\n <Checkbox value=\"legend\" className=\"ow-checkbox\" style={{ lineHeight: '32px' }}>\n {t('chart.t13')}\n </Checkbox>\n\n <Checkbox value=\"label\" className=\"ow-checkbox\" style={{ lineHeight: '32px' }}>\n {t('chart.t14')}\n </Checkbox>\n\n {!['chart-pie', 'chart-pie-circular'].includes(type) ? (\n <>\n <Checkbox value=\"axis\" className=\"ow-checkbox\" style={{ lineHeight: '32px' }}>\n {t('chart.t15')}\n </Checkbox>\n <Checkbox value=\"splitLine\" className=\"ow-checkbox\" style={{ lineHeight: '32px' }}>\n {t('chart.t16')}\n </Checkbox>\n </>\n ) : null}\n </Checkbox.Group>\n </Form.Item>\n\n <Divider style={{ borderColor: '#e2e2e2', marginTop: 0 }} />\n\n <Form.Item<ChartCustomDataType>\n label={type?.includes('pie') ? t('chart.t17') : t('chart.t18')}\n name=\"xAxis\"\n >\n <Select\n options={xAxisFieldOption}\n getPopupContainer={trigger => trigger.parentElement || document.body}\n />\n </Form.Item>\n\n {/* 时间分组 */}\n <Form.Item noStyle dependencies={['type', 'xAxis']}>\n {({ getFieldValue }) =>\n isTimeField(getFieldValue('xAxis')) ? (\n <>\n <Form.Item<ChartCustomDataType> name=\"timeGroupInterval\" label={t('chart.t39')}>\n <Select\n options={TimeGroupIntervalOption}\n getPopupContainer={trigger => trigger.parentElement || document.body}\n />\n </Form.Item>\n </>\n ) : (\n <>\n <Form.Item<ChartCustomDataType> name=\"displayRange\" label={t('displayRange.title')}>\n <Select\n options={DisplayRangeOption}\n getPopupContainer={trigger => trigger.parentElement || document.body}\n />\n </Form.Item>\n </>\n )\n }\n </Form.Item>\n\n <Form.Item dependencies={['type']} noStyle>\n {({ getFieldValue }) =>\n !getFieldValue('type')?.includes('pie') ? (\n <>\n <Form.Item<ChartCustomDataType> name=\"sortField\" label={t('chart.t31')}>\n <Radio.Group>\n <Radio value=\"xAxis\">{t('chart.t32')}</Radio>\n <Radio value=\"yAxisField\">{t('chart.t33')}</Radio>\n <Radio value=\"recordValue\">{t('chart.t34')}</Radio>\n </Radio.Group>\n </Form.Item>\n <Form.Item<ChartCustomDataType> name=\"sortOrder\" label={t('chart.t35')}>\n <Radio.Group>\n <Radio value=\"asc\">{t('chart.t36')}</Radio>\n <Radio value=\"desc\">{t('chart.t37')}</Radio>\n </Radio.Group>\n </Form.Item>\n </>\n ) : null\n }\n </Form.Item>\n\n <Form.Item<ChartCustomDataType>\n label={type?.includes('pie') ? t('chart.t19') : t('chart.t20')}\n name=\"yAxis\"\n >\n <Select\n options={getYAxisOptions(dataSourceId)}\n getPopupContainer={trigger => trigger.parentElement || document.body}\n />\n </Form.Item>\n\n <Form.Item dependencies={['yAxis', 'type', 'isGroup']} noStyle>\n {({ getFieldValue }) =>\n getFieldValue('yAxis') === 'fieldValue' ? (\n <Form.Item label={t('selectField')}>\n <div\n style={{\n display: 'flex',\n justifyContent: 'space-between',\n }}\n >\n <Space.Compact>\n <Form.Item noStyle name=\"yAxisField\">\n <Select\n style={{ width: '100px' }}\n options={yAxisFieldOption}\n dropdownStyle={{ width: 250 }}\n getPopupContainer={trigger => trigger.parentElement || document.body}\n />\n </Form.Item>\n <Form.Item name=\"yAxisFieldType\" noStyle>\n <Select\n style={{ width: '100px' }}\n dropdownStyle={{ width: 136 }}\n getPopupContainer={trigger => trigger.parentElement || document.body}\n options={[\n {\n value: 'sum',\n label: t('sumVal'),\n },\n {\n value: 'max',\n label: t('maxVal'),\n },\n {\n value: 'min',\n label: t('minVal'),\n },\n {\n value: 'avg',\n label: t('averageVal'),\n },\n ]}\n />\n </Form.Item>\n </Space.Compact>\n\n {/* <Form.Item\n noStyle\n name=\"yAxisFieldConfig\"\n dependencies={['type', 'isGroup']}\n hidden={\n !(\n getFieldValue('type') === ChartType['chartCombination'] &&\n !getFieldValue('isGroup')\n )\n }\n >\n <CombinationChartOptionPicker />\n </Form.Item> */}\n </div>\n </Form.Item>\n ) : null\n }\n </Form.Item>\n\n <Form.Item dependencies={['type', 'isGroup']} noStyle>\n {({ getFieldValue }) =>\n !getFieldValue('type')?.includes('pie') ? (\n <>\n <Form.Item<ChartCustomDataType> name=\"isGroup\" valuePropName=\"checked\" noStyle>\n <Checkbox style={{ marginBottom: '5px' }}>{t('chart.t38')}</Checkbox>\n </Form.Item>\n <Form.Item dependencies={['isGroup']} noStyle>\n {({ getFieldValue }) =>\n getFieldValue('isGroup') ? (\n <Form.Item<ChartCustomDataType> name=\"groupField\">\n <Select\n options={groupFieldOption}\n getPopupContainer={trigger => trigger.parentElement || document.body}\n />\n </Form.Item>\n ) : null\n }\n </Form.Item>\n\n <Spin spinning={isGetCombinationGroupOptionsLoading}>\n <Form.Item<ChartCustomDataType>\n name=\"groupFieldConfig\"\n label={t('chart.groupFieldConfig')}\n hidden={\n !(\n getFieldValue('type') === ChartType['chartCombination'] &&\n getFieldValue('isGroup')\n )\n }\n >\n <GroupFieldConfigPicker options={CombinationGroupOptions} />\n </Form.Item>\n </Spin>\n </>\n ) : null\n }\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 </div>\n )\n}\nexport default CustomData\n"],"names":["dataSourceId","fieldOptions","xAxisFieldOption","yAxisFieldOption","groupFieldOption","getFieldValue"],"mappings":"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"}
1
+ {"version":3,"file":"custome-data.js","sources":["../../../../../packages/dashboard-workbench/components/add-module-modal/add-chart-modal/custome-data.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { useEffect, useMemo, useRef, useState } from 'react'\nimport clsx from 'clsx'\nimport { Button, Checkbox, Divider, Flex, Form, message, Radio, Select, Space, Spin } from 'antd'\nimport { useTranslation } from 'react-i18next'\nimport { useDebounceFn, useMemoizedFn, useRequest } from 'ahooks'\nimport { getTransformValue } from '@platox/pivot-table/utils'\nimport { useAppContext } from '../../../context'\nimport { EnumDataApi } from '../../../types'\nimport { ModuleData } from '../../module-content'\nimport {\n filterConditionBlockByDisabledField,\n mapConditionsToPostgrest,\n} from '../../module-content/utils'\nimport ConditionModal from '../components/condition-modal'\nimport CombinationChartOptionPicker from './components/CombinationChartOptionPicker'\nimport GroupFieldConfigPicker from './components/GroupFieldConfigPicker'\nimport { useChartTypeOption, useDisplayRangeOption, useTimeGroupIntervalOption } from './config'\nimport styles from './index.module.less'\nimport { ChartCustomDataType, ChartType } from './interface'\n\nconst componentName = 'chart-modal'\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 const { globalData } = useAppContext()\n const { t } = useTranslation()\n const containerRef = useRef<HTMLDivElement>(null)\n\n const ChartTypeOption = useChartTypeOption()\n const TimeGroupIntervalOption = useTimeGroupIntervalOption()\n const DisplayRangeOption = useDisplayRangeOption()\n\n /* ============================== split =============================== */\n const initialValues = {\n dataSourceId: '',\n yAxis: 'recordTotal',\n chartOptions: ['legend', 'label', 'axis', 'splitLine'],\n sortField: 'xAxis',\n sortOrder: 'asc',\n timeGroupInterval: 'day',\n displayRange: 'ALL',\n yAxisFieldConfig: {\n chartType: ChartType.ChartBar,\n yAxisPos: 'left',\n },\n }\n const [form] = Form.useForm()\n\n const type = Form.useWatch('type', form)\n const dataSourceId = Form.useWatch('dataSourceId', form)\n const isGroup = Form.useWatch('isGroup', form)\n const xAxis = Form.useWatch('xAxis', form)\n const yAxisField = Form.useWatch('yAxisField', form)\n const groupField = Form.useWatch('groupField', form)\n\n /* ============================== split =============================== */\n const getFieldOptions = useMemoizedFn((dataSourceId?: string) => {\n const list = globalData?.sourceData?.find(item => item.value === dataSourceId)?.fields ?? []\n return list\n })\n\n const getYAxisOptions = useMemoizedFn((dataSourceId?: string) => {\n const baseOptions = [\n {\n value: 'recordTotal',\n label: t('statisticstRecordNum'),\n },\n {\n value: 'fieldValue',\n label: t('statisticstFieldVal'),\n },\n ]\n\n // 从后端配置中获取允许的 Y 轴选项\n const sourceConfig = globalData?.sourceData?.find(item => item.value === dataSourceId)\n const allowedOptions = sourceConfig?.chart_config?.allowed_y_axis_options\n\n // 如果配置了允许的选项,则过滤\n if (allowedOptions && allowedOptions.length > 0) {\n return baseOptions.filter(opt => allowedOptions.includes(opt.value))\n }\n\n // 默认返回所有选项(向后兼容)\n return baseOptions\n })\n\n const { fieldOptions, xAxisFieldOption, yAxisFieldOption, groupFieldOption } = useMemo(() => {\n const fieldOptions = getFieldOptions(dataSourceId)\n\n const xAxisFieldOption = fieldOptions.filter(item => {\n let hasPicked = [yAxisField, groupField].includes(item.value)\n return !hasPicked\n })\n\n const yAxisFieldOption = fieldOptions.filter(item => {\n let isNumberField = item.type === 'int' || item.type === 'float'\n let hasPicked = [xAxis, groupField].includes(item.value)\n return isNumberField && !hasPicked\n })\n\n const groupFieldOption = fieldOptions.filter(item => {\n let hasPicked = [xAxis, yAxisField].includes(item.value)\n return !hasPicked\n })\n\n return {\n fieldOptions,\n xAxisFieldOption,\n yAxisFieldOption,\n groupFieldOption,\n }\n }, [dataSourceId, xAxis, yAxisField, groupField])\n\n const isTimeField = useMemoizedFn(fieldName => {\n return fieldOptions.find(item => item.value === fieldName)?.type === 'timestamp'\n })\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 /* ============================== 获取分组聚合的字段数据 =============================== */\n const { service } = useAppContext()\n const { data: CombinationGroupOptions, loading: isGetCombinationGroupOptionsLoading } =\n useRequest(\n async () => {\n if (isGroup && type === ChartType['chartCombination'] && !!groupField) {\n const newGroupField = groupField === 'tags' ? 'tag' : groupField\n let queryString = `select=${newGroupField}`\n if (conditionData?.conditionList?.length > 0) {\n let DSLStr = mapConditionsToPostgrest(conditionData)\n queryString += !!DSLStr ? `&${DSLStr}` : ''\n }\n let res = await service?.moduleDataApi?.({\n id: dataSourceId,\n query: queryString,\n })\n\n //获取分组聚合的字段数据\n let options = res?.data?.map((item: any) => {\n return getTransformValue({\n fieldOptions,\n val: item[newGroupField],\n field: newGroupField,\n fieldMap: globalData?.fieldMap,\n })\n })\n return [...new Set(options)]\n } else {\n return []\n }\n },\n {\n refreshDeps: [type, isGroup, groupField, conditionData, dataSourceId],\n }\n )\n\n /* ============================== split =============================== */\n // debounce 2个作用 一个默认值的设置会延后,另一个是防止多次请求\n const { run: debounceSubmit } = useDebounceFn(\n useMemoizedFn(() => {\n onAllValuesChange?.({\n ...initialValues,\n ...form.getFieldsValue(),\n conditionData: conditionDataRef.current,\n })\n }),\n {\n wait: 100,\n }\n )\n const handleValuesChange = useMemoizedFn((changedValues, allValues) => {\n if (changedValues.dataSourceId) {\n const newFieldOptions = getFieldOptions(changedValues.dataSourceId)\n const yAxisOptions = getYAxisOptions(changedValues.dataSourceId)\n // 如果只有一个选项且是 fieldValue,则默认选中它\n const defaultYAxis =\n yAxisOptions.length === 1 && yAxisOptions[0].value === 'fieldValue'\n ? 'fieldValue'\n : 'recordTotal'\n\n // 获取新数据源的数字字段(用于 yAxisField)\n const newYAxisFieldOptions = newFieldOptions.filter(item => {\n return item.type === 'int' || item.type === 'float'\n })\n\n form.setFieldsValue({\n xAxis: newFieldOptions?.[0]?.value,\n yAxis: defaultYAxis,\n yAxisField: defaultYAxis === 'fieldValue' ? newYAxisFieldOptions?.[0]?.value : '',\n yAxisFieldType: defaultYAxis === 'fieldValue' ? 'sum' : undefined,\n isGroup: false,\n groupField: undefined,\n })\n setCondition({\n conditionList: [],\n conditionType: 'all',\n })\n }\n if (changedValues.xAxis) {\n form.setFieldsValue(\n isTimeField(changedValues.xAxis)\n ? {\n timeGroupInterval: initialValues?.timeGroupInterval,\n }\n : {\n displayRange: initialValues?.displayRange,\n }\n )\n }\n\n if (changedValues.yAxis) {\n let value = changedValues.yAxis\n form.setFieldsValue({\n yAxisField: value === 'fieldValue' ? yAxisFieldOption?.[0]?.value : '',\n yAxisFieldType: 'sum',\n })\n }\n\n if (changedValues.isGroup) {\n form.setFieldsValue({\n groupField: groupFieldOption?.[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 currSourceData = globalData?.sourceData?.[0]\n const list = getFieldOptions(currSourceData?.value) || []\n form.setFieldsValue({\n ...initialValues,\n dataSourceId: currSourceData?.value,\n type: selectModuleData?.type,\n xAxis: list?.[0]?.value,\n })\n }\n setCondition(selectModuleData?.customData?.conditionData)\n debounceSubmit()\n }, [selectModuleData, globalData])\n\n return (\n <div\n style={{ height: '50vh', overflowX: 'auto' }}\n className={clsx(styles[`${componentName}`])}\n ref={containerRef}\n >\n <Form\n form={form}\n name=\"customData\"\n layout=\"vertical\"\n onValuesChange={handleValuesChange}\n initialValues={initialValues}\n >\n <Form.Item<ChartCustomDataType> label={t('dataSource')} name=\"dataSourceId\">\n <Select\n options={globalData?.sourceData ?? []}\n getPopupContainer={trigger => trigger.parentElement || document.body}\n />\n </Form.Item>\n\n <Form.Item<ChartCustomDataType> 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 <Form.Item<ChartCustomDataType> label={t('chart.t1')} name=\"type\">\n <Select\n options={ChartTypeOption}\n getPopupContainer={trigger => trigger.parentElement || document.body}\n optionRender={option => (\n <Flex align=\"center\">\n <span role=\"img\" style={{ marginTop: '5px' }} aria-label={option.data.label}>\n {option.data.icon}\n </span>\n {option.data.label}\n </Flex>\n )}\n />\n </Form.Item>\n\n <Form.Item name=\"chartOptions\" label={t('chart.t12')}>\n <Checkbox.Group>\n <Checkbox value=\"legend\" className=\"ow-checkbox\" style={{ lineHeight: '32px' }}>\n {t('chart.t13')}\n </Checkbox>\n\n <Checkbox value=\"label\" className=\"ow-checkbox\" style={{ lineHeight: '32px' }}>\n {t('chart.t14')}\n </Checkbox>\n\n {!['chart-pie', 'chart-pie-circular'].includes(type) ? (\n <>\n <Checkbox value=\"axis\" className=\"ow-checkbox\" style={{ lineHeight: '32px' }}>\n {t('chart.t15')}\n </Checkbox>\n <Checkbox value=\"splitLine\" className=\"ow-checkbox\" style={{ lineHeight: '32px' }}>\n {t('chart.t16')}\n </Checkbox>\n </>\n ) : null}\n </Checkbox.Group>\n </Form.Item>\n\n <Divider style={{ borderColor: '#e2e2e2', marginTop: 0 }} />\n\n <Form.Item<ChartCustomDataType>\n label={type?.includes('pie') ? t('chart.t17') : t('chart.t18')}\n name=\"xAxis\"\n >\n <Select\n options={xAxisFieldOption}\n getPopupContainer={trigger => trigger.parentElement || document.body}\n />\n </Form.Item>\n\n {/* 时间分组 */}\n <Form.Item noStyle dependencies={['type', 'xAxis']}>\n {({ getFieldValue }) =>\n isTimeField(getFieldValue('xAxis')) ? (\n <>\n <Form.Item<ChartCustomDataType> name=\"timeGroupInterval\" label={t('chart.t39')}>\n <Select\n options={TimeGroupIntervalOption}\n getPopupContainer={trigger => trigger.parentElement || document.body}\n />\n </Form.Item>\n </>\n ) : (\n <>\n <Form.Item<ChartCustomDataType> name=\"displayRange\" label={t('displayRange.title')}>\n <Select\n options={DisplayRangeOption}\n getPopupContainer={trigger => trigger.parentElement || document.body}\n />\n </Form.Item>\n </>\n )\n }\n </Form.Item>\n\n <Form.Item dependencies={['type']} noStyle>\n {({ getFieldValue }) =>\n !getFieldValue('type')?.includes('pie') ? (\n <>\n <Form.Item<ChartCustomDataType> name=\"sortField\" label={t('chart.t31')}>\n <Radio.Group>\n <Radio value=\"xAxis\">{t('chart.t32')}</Radio>\n <Radio value=\"yAxisField\">{t('chart.t33')}</Radio>\n <Radio value=\"recordValue\">{t('chart.t34')}</Radio>\n </Radio.Group>\n </Form.Item>\n <Form.Item<ChartCustomDataType> name=\"sortOrder\" label={t('chart.t35')}>\n <Radio.Group>\n <Radio value=\"asc\">{t('chart.t36')}</Radio>\n <Radio value=\"desc\">{t('chart.t37')}</Radio>\n </Radio.Group>\n </Form.Item>\n </>\n ) : null\n }\n </Form.Item>\n\n <Form.Item<ChartCustomDataType>\n label={type?.includes('pie') ? t('chart.t19') : t('chart.t20')}\n name=\"yAxis\"\n >\n <Select\n options={getYAxisOptions(dataSourceId)}\n getPopupContainer={trigger => trigger.parentElement || document.body}\n />\n </Form.Item>\n\n <Form.Item dependencies={['yAxis', 'type', 'isGroup']} noStyle>\n {({ getFieldValue }) =>\n getFieldValue('yAxis') === 'fieldValue' ? (\n <Form.Item label={t('selectField')}>\n <div\n style={{\n display: 'flex',\n justifyContent: 'space-between',\n }}\n >\n <Space.Compact>\n <Form.Item noStyle name=\"yAxisField\">\n <Select\n style={{ width: '100px' }}\n options={yAxisFieldOption}\n dropdownStyle={{ width: 250 }}\n getPopupContainer={trigger => trigger.parentElement || document.body}\n />\n </Form.Item>\n <Form.Item name=\"yAxisFieldType\" noStyle>\n <Select\n style={{ width: '100px' }}\n dropdownStyle={{ width: 136 }}\n getPopupContainer={trigger => trigger.parentElement || document.body}\n options={[\n {\n value: 'sum',\n label: t('sumVal'),\n },\n {\n value: 'max',\n label: t('maxVal'),\n },\n {\n value: 'min',\n label: t('minVal'),\n },\n {\n value: 'avg',\n label: t('averageVal'),\n },\n ]}\n />\n </Form.Item>\n </Space.Compact>\n\n {/* <Form.Item\n noStyle\n name=\"yAxisFieldConfig\"\n dependencies={['type', 'isGroup']}\n hidden={\n !(\n getFieldValue('type') === ChartType['chartCombination'] &&\n !getFieldValue('isGroup')\n )\n }\n >\n <CombinationChartOptionPicker />\n </Form.Item> */}\n </div>\n </Form.Item>\n ) : null\n }\n </Form.Item>\n\n <Form.Item dependencies={['type', 'isGroup']} noStyle>\n {({ getFieldValue }) =>\n !getFieldValue('type')?.includes('pie') ? (\n <>\n <Form.Item<ChartCustomDataType> name=\"isGroup\" valuePropName=\"checked\" noStyle>\n <Checkbox style={{ marginBottom: '5px' }}>{t('chart.t38')}</Checkbox>\n </Form.Item>\n <Form.Item dependencies={['isGroup']} noStyle>\n {({ getFieldValue }) =>\n getFieldValue('isGroup') ? (\n <Form.Item<ChartCustomDataType> name=\"groupField\">\n <Select\n options={groupFieldOption}\n getPopupContainer={trigger => trigger.parentElement || document.body}\n />\n </Form.Item>\n ) : null\n }\n </Form.Item>\n\n <Spin spinning={isGetCombinationGroupOptionsLoading}>\n <Form.Item<ChartCustomDataType>\n name=\"groupFieldConfig\"\n label={t('chart.groupFieldConfig')}\n hidden={\n !(\n getFieldValue('type') === ChartType['chartCombination'] &&\n getFieldValue('isGroup')\n )\n }\n >\n <GroupFieldConfigPicker options={CombinationGroupOptions} />\n </Form.Item>\n </Spin>\n </>\n ) : null\n }\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 </div>\n )\n}\nexport default CustomData\n"],"names":["dataSourceId","fieldOptions","xAxisFieldOption","yAxisFieldOption","groupFieldOption","getFieldValue"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"custome-styles.js","sources":["../../../../../packages/dashboard-workbench/components/add-module-modal/add-chart-modal/custome-styles.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { useEffect } from 'react'\nimport { Checkbox, Col, Divider, Form, Input, Row } from 'antd'\nimport { useTranslation } from 'react-i18next'\nimport InputWrapper from '../../InputWrapper'\nimport { ModuleData } from '../../module-content'\nimport { ChartCustomeStylesTypes } from './interface'\n\ninterface CustomeStylesProps {\n customData?: any\n selectModuleData?: ModuleData\n onAllValuesChange?: ((values: any) => void) | undefined\n customeStylesRef?: any\n}\nconst CustomeStyles: React.FC<CustomeStylesProps> = ({\n customData,\n selectModuleData,\n onAllValuesChange,\n}) => {\n const [form] = Form.useForm()\n const { t } = useTranslation()\n const initialValues = {\n xtitle: '',\n ytitle: '',\n }\n\n const allValuesChange = () => {\n setTimeout(() => {\n onAllValuesChange?.(form.getFieldsValue())\n })\n }\n\n useEffect(() => {\n if (selectModuleData?.customeStyle) {\n form.setFieldsValue(selectModuleData.customeStyle)\n } else {\n form.setFieldsValue(initialValues)\n }\n }, [selectModuleData])\n\n if (customData?.type?.includes('pie')) {\n return <div style={{ height: '50vh', overflowX: 'auto' }}></div>\n }\n\n return (\n <div style={{ height: '50vh', overflowX: 'auto' }}>\n <Form form={form} name=\"customeStyle\" layout=\"vertical\" initialValues={initialValues}>\n <Divider orientation=\"left\" orientationMargin=\"0\">\n {t('chart.t21')}\n </Divider>\n\n {!customData?.type?.includes('pie') ? (\n <Form.Item label={t('chart.t22')} name=\"xtitle\">\n <InputWrapper\n onChange={() => {\n allValuesChange()\n }}\n />\n </Form.Item>\n ) : null}\n\n <Divider orientation=\"left\" orientationMargin=\"0\">\n {t('chart.t26')}\n </Divider>\n\n {!customData?.type?.includes('pie') ? (\n <Form.Item label={t('chart.t27')} name=\"ytitle\">\n <InputWrapper\n onChange={() => {\n allValuesChange()\n }}\n />\n </Form.Item>\n ) : null}\n </Form>\n </div>\n )\n}\nexport default CustomeStyles\n"],"names":[],"mappings":";;;;;AAcA,MAAM,gBAA8C,CAAC;AAAA,EACnD;AAAA,EACA;AAAA,EACA;AACF,MAAM;;AACJ,QAAM,CAAC,IAAI,IAAI,KAAK,QAAQ;AACtB,QAAA,EAAE,EAAE,IAAI,eAAe;AAC7B,QAAM,gBAAgB;AAAA,IACpB,QAAQ;AAAA,IACR,QAAQ;AAAA,EACV;AAEA,QAAM,kBAAkB,MAAM;AAC5B,eAAW,MAAM;AACK,6DAAA,KAAK;IAAgB,CAC1C;AAAA,EACH;AAEA,YAAU,MAAM;AACd,QAAI,qDAAkB,cAAc;AAC7B,WAAA,eAAe,iBAAiB,YAAY;AAAA,IAAA,OAC5C;AACL,WAAK,eAAe,aAAa;AAAA,IAAA;AAAA,EACnC,GACC,CAAC,gBAAgB,CAAC;AAErB,OAAI,8CAAY,SAAZ,mBAAkB,SAAS,QAAQ;AAC9B,WAAA,oBAAC,SAAI,OAAO,EAAE,QAAQ,QAAQ,WAAW,UAAU;AAAA,EAAA;AAG5D,6BACG,OAAI,EAAA,OAAO,EAAE,QAAQ,QAAQ,WAAW,UACvC,UAAA,qBAAC,QAAK,MAAY,MAAK,gBAAe,QAAO,YAAW,eACtD,UAAA;AAAA,IAAA,oBAAC,WAAQ,aAAY,QAAO,mBAAkB,KAC3C,UAAA,EAAE,WAAW,GAChB;AAAA,IAEC,GAAC,8CAAY,SAAZ,mBAAkB,SAAS,UAC3B,oBAAC,KAAK,MAAL,EAAU,OAAO,EAAE,WAAW,GAAG,MAAK,UACrC,UAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,UAAU,MAAM;AACE,0BAAA;AAAA,QAAA;AAAA,MAClB;AAAA,OAEJ,IACE;AAAA,IAEJ,oBAAC,WAAQ,aAAY,QAAO,mBAAkB,KAC3C,UAAA,EAAE,WAAW,GAChB;AAAA,IAEC,GAAC,8CAAY,SAAZ,mBAAkB,SAAS,UAC3B,oBAAC,KAAK,MAAL,EAAU,OAAO,EAAE,WAAW,GAAG,MAAK,UACrC,UAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,UAAU,MAAM;AACE,0BAAA;AAAA,QAAA;AAAA,MAClB;AAAA,OAEJ,IACE;AAAA,EAAA,EAAA,CACN,EACF,CAAA;AAEJ;"}
1
+ {"version":3,"file":"custome-styles.js","sources":["../../../../../packages/dashboard-workbench/components/add-module-modal/add-chart-modal/custome-styles.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { useEffect } from 'react'\nimport { Checkbox, Col, Divider, Form, Input, Row } from 'antd'\nimport { useTranslation } from 'react-i18next'\nimport InputWrapper from '../../InputWrapper'\nimport { ModuleData } from '../../module-content'\nimport { ChartCustomeStylesTypes } from './interface'\n\ninterface CustomeStylesProps {\n customData?: any\n selectModuleData?: ModuleData\n onAllValuesChange?: ((values: any) => void) | undefined\n customeStylesRef?: any\n}\nconst CustomeStyles: React.FC<CustomeStylesProps> = ({\n customData,\n selectModuleData,\n onAllValuesChange,\n}) => {\n const [form] = Form.useForm()\n const { t } = useTranslation()\n const initialValues = {\n xtitle: '',\n ytitle: '',\n }\n\n const allValuesChange = () => {\n setTimeout(() => {\n onAllValuesChange?.(form.getFieldsValue())\n })\n }\n\n useEffect(() => {\n if (selectModuleData?.customeStyle) {\n form.setFieldsValue(selectModuleData.customeStyle)\n } else {\n form.setFieldsValue(initialValues)\n }\n }, [selectModuleData])\n\n if (customData?.type?.includes('pie')) {\n return <div style={{ height: '50vh', overflowX: 'auto' }}></div>\n }\n\n return (\n <div style={{ height: '50vh', overflowX: 'auto' }}>\n <Form form={form} name=\"customeStyle\" layout=\"vertical\" initialValues={initialValues}>\n <Divider orientation=\"left\" orientationMargin=\"0\">\n {t('chart.t21')}\n </Divider>\n\n {!customData?.type?.includes('pie') ? (\n <Form.Item label={t('chart.t22')} name=\"xtitle\">\n <InputWrapper\n onChange={() => {\n allValuesChange()\n }}\n />\n </Form.Item>\n ) : null}\n\n <Divider orientation=\"left\" orientationMargin=\"0\">\n {t('chart.t26')}\n </Divider>\n\n {!customData?.type?.includes('pie') ? (\n <Form.Item label={t('chart.t27')} name=\"ytitle\">\n <InputWrapper\n onChange={() => {\n allValuesChange()\n }}\n />\n </Form.Item>\n ) : null}\n </Form>\n </div>\n )\n}\nexport default CustomeStyles\n"],"names":[],"mappings":";;;;;AAcA,MAAM,gBAA8C,CAAC;AAAA,EACnD;AAAA,EACA;AAAA,EACA;AACF,MAAM;;AACJ,QAAM,CAAC,IAAI,IAAI,KAAK,QAAA;AACpB,QAAM,EAAE,EAAA,IAAM,eAAA;AACd,QAAM,gBAAgB;AAAA,IACpB,QAAQ;AAAA,IACR,QAAQ;AAAA,EAAA;AAGV,QAAM,kBAAkB,MAAM;AAC5B,eAAW,MAAM;AACf,6DAAoB,KAAK;IAC3B,CAAC;AAAA,EACH;AAEA,YAAU,MAAM;AACd,QAAI,qDAAkB,cAAc;AAClC,WAAK,eAAe,iBAAiB,YAAY;AAAA,IACnD,OAAO;AACL,WAAK,eAAe,aAAa;AAAA,IACnC;AAAA,EACF,GAAG,CAAC,gBAAgB,CAAC;AAErB,OAAI,8CAAY,SAAZ,mBAAkB,SAAS,QAAQ;AACrC,WAAO,oBAAC,SAAI,OAAO,EAAE,QAAQ,QAAQ,WAAW,UAAU;AAAA,EAC5D;AAEA,6BACG,OAAA,EAAI,OAAO,EAAE,QAAQ,QAAQ,WAAW,UACvC,UAAA,qBAAC,QAAK,MAAY,MAAK,gBAAe,QAAO,YAAW,eACtD,UAAA;AAAA,IAAA,oBAAC,WAAQ,aAAY,QAAO,mBAAkB,KAC3C,UAAA,EAAE,WAAW,GAChB;AAAA,IAEC,GAAC,8CAAY,SAAZ,mBAAkB,SAAS,UAC3B,oBAAC,KAAK,MAAL,EAAU,OAAO,EAAE,WAAW,GAAG,MAAK,UACrC,UAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,UAAU,MAAM;AACd,0BAAA;AAAA,QACF;AAAA,MAAA;AAAA,IAAA,GAEJ,IACE;AAAA,IAEJ,oBAAC,WAAQ,aAAY,QAAO,mBAAkB,KAC3C,UAAA,EAAE,WAAW,GAChB;AAAA,IAEC,GAAC,8CAAY,SAAZ,mBAAkB,SAAS,UAC3B,oBAAC,KAAK,MAAL,EAAU,OAAO,EAAE,WAAW,GAAG,MAAK,UACrC,UAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,UAAU,MAAM;AACd,0BAAA;AAAA,QACF;AAAA,MAAA;AAAA,IAAA,GAEJ,IACE;AAAA,EAAA,EAAA,CACN,EAAA,CACF;AAEJ;"}
@@ -1,9 +1,10 @@
1
1
  import { jsx, Fragment, jsxs } from "react/jsx-runtime";
2
- import React, { useState, useEffect } from "react";
2
+ import React, { useState, useRef, useEffect } from "react";
3
3
  import { Modal, Tabs, Button } from "antd";
4
4
  import { CloseOutlined } from "@ant-design/icons";
5
5
  import { useTranslation } from "react-i18next";
6
6
  import { EditorHeader } from "../../modal-editor-header/index.js";
7
+ import { useAppContext } from "../../../context.js";
7
8
  import ChartModule from "../../module-content/chart-module/index.js";
8
9
  import CustomData from "./custome-data.js";
9
10
  import CustomeStyles from "./custome-styles.js";
@@ -17,10 +18,12 @@ const AddStatisticsModal = ({
17
18
  }) => {
18
19
  var _a;
19
20
  const { t } = useTranslation();
21
+ const { globalData } = useAppContext();
20
22
  const [customData, setCustomData] = useState();
21
23
  const [customeStyle, setCustomeStyle] = useState();
22
24
  React.useRef(null);
23
25
  const isPieChart = (_a = customData == null ? void 0 : customData.type) == null ? void 0 : _a.includes("pie");
26
+ const isTitleCustomizedRef = useRef(false);
24
27
  useEffect(() => {
25
28
  if (selectModuleData) {
26
29
  setCustomData(selectModuleData == null ? void 0 : selectModuleData.customData);
@@ -30,14 +33,40 @@ const AddStatisticsModal = ({
30
33
  const [title, setTitle] = useState("");
31
34
  useEffect(() => {
32
35
  if (open) {
36
+ isTitleCustomizedRef.current = !!(selectModuleData == null ? void 0 : selectModuleData.title);
33
37
  setTitle(!!(selectModuleData == null ? void 0 : selectModuleData.title) ? selectModuleData == null ? void 0 : selectModuleData.title : t("chartText"));
34
38
  }
35
39
  }, [open]);
40
+ const generateTitle = () => {
41
+ var _a2, _b, _c;
42
+ if (!(customData == null ? void 0 : customData.dataSourceId)) return;
43
+ const source = (_a2 = globalData == null ? void 0 : globalData.sourceData) == null ? void 0 : _a2.find((item) => item.value === customData.dataSourceId);
44
+ if (!(source == null ? void 0 : source.label)) return;
45
+ let yDesc = "Count";
46
+ if (customData.yAxis === "fieldValue" && customData.yAxisField) {
47
+ const yField = (_b = source.fields) == null ? void 0 : _b.find((f) => f.value === customData.yAxisField);
48
+ const typeMap = { sum: "Sum", max: "Max", min: "Min", avg: "Avg" };
49
+ const typeLabel = typeMap[customData.yAxisFieldType] || "";
50
+ yDesc = (yField == null ? void 0 : yField.label) ? `${typeLabel} ${yField.label}`.trim() : typeLabel;
51
+ }
52
+ const xField = (_c = source.fields) == null ? void 0 : _c.find((f) => f.value === customData.xAxis);
53
+ const xLabel = (xField == null ? void 0 : xField.label) || "";
54
+ let newTitle = `${source.label} ${yDesc}`;
55
+ if (xLabel) newTitle += ` by ${xLabel}`;
56
+ setTitle(newTitle);
57
+ };
58
+ useEffect(() => {
59
+ if (isTitleCustomizedRef.current) return;
60
+ generateTitle();
61
+ }, [customData == null ? void 0 : customData.dataSourceId, customData == null ? void 0 : customData.xAxis, customData == null ? void 0 : customData.yAxis, customData == null ? void 0 : customData.yAxisField, customData == null ? void 0 : customData.yAxisFieldType]);
36
62
  return /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsx(
37
63
  Modal,
38
64
  {
39
65
  width: "65%",
40
- title: /* @__PURE__ */ jsx(EditorHeader, { value: title, onChange: setTitle }),
66
+ title: /* @__PURE__ */ jsx(EditorHeader, { value: title, onChange: (val) => {
67
+ isTitleCustomizedRef.current = true;
68
+ setTitle(val);
69
+ } }),
41
70
  footer: null,
42
71
  open,
43
72
  onCancel: onClose,