@platox/pivot-table 0.0.93 → 0.0.95
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/dashboard-workbench/components/InputWrapper/index.js.map +1 -1
- package/es/dashboard-workbench/components/SelectWrapper/index.js.map +1 -1
- package/es/dashboard-workbench/components/add-module-btn/index.js.map +1 -1
- package/es/dashboard-workbench/components/add-module-modal/add-calendar-modal/custome-data.js.map +1 -1
- package/es/dashboard-workbench/components/add-module-modal/add-calendar-modal/index.js +20 -2
- package/es/dashboard-workbench/components/add-module-modal/add-calendar-modal/index.js.map +1 -1
- package/es/dashboard-workbench/components/add-module-modal/add-chart-modal/components/CombinationChartOptionPicker.js +0 -1
- package/es/dashboard-workbench/components/add-module-modal/add-chart-modal/components/CombinationChartOptionPicker.js.map +1 -1
- package/es/dashboard-workbench/components/add-module-modal/add-chart-modal/components/GroupFieldConfigPicker.js.map +1 -1
- package/es/dashboard-workbench/components/add-module-modal/add-chart-modal/config.js.map +1 -1
- package/es/dashboard-workbench/components/add-module-modal/add-chart-modal/custome-data.js.map +1 -1
- package/es/dashboard-workbench/components/add-module-modal/add-chart-modal/custome-styles.js.map +1 -1
- package/es/dashboard-workbench/components/add-module-modal/add-chart-modal/index.js +31 -2
- package/es/dashboard-workbench/components/add-module-modal/add-chart-modal/index.js.map +1 -1
- package/es/dashboard-workbench/components/add-module-modal/add-chart-modal/interface.js.map +1 -1
- package/es/dashboard-workbench/components/add-module-modal/add-statistics-modal/custome-data.js.map +1 -1
- package/es/dashboard-workbench/components/add-module-modal/add-statistics-modal/custome-styles.js.map +1 -1
- package/es/dashboard-workbench/components/add-module-modal/add-statistics-modal/index.js +27 -2
- package/es/dashboard-workbench/components/add-module-modal/add-statistics-modal/index.js.map +1 -1
- package/es/dashboard-workbench/components/add-module-modal/components/condition-modal/EnumSelect.js +2 -2
- package/es/dashboard-workbench/components/add-module-modal/components/condition-modal/EnumSelect.js.map +1 -1
- package/es/dashboard-workbench/components/add-module-modal/components/condition-modal/config.js.map +1 -1
- package/es/dashboard-workbench/components/add-module-modal/components/condition-modal/index.js.map +1 -1
- package/es/dashboard-workbench/components/add-module-modal/components/select-color/index.js.map +1 -1
- package/es/dashboard-workbench/components/global-filter-condition/ConditionRowItem.js.map +1 -1
- package/es/dashboard-workbench/components/global-filter-condition/ConditionSymbolAndValuePicker.js +1 -1
- package/es/dashboard-workbench/components/global-filter-condition/ConditionSymbolAndValuePicker.js.map +1 -1
- package/es/dashboard-workbench/components/global-filter-condition/FieldPicker.js.map +1 -1
- package/es/dashboard-workbench/components/global-filter-condition/index.js +1 -2
- package/es/dashboard-workbench/components/global-filter-condition/index.js.map +1 -1
- package/es/dashboard-workbench/components/global-filter-condition/useContext.js.map +1 -1
- package/es/dashboard-workbench/components/global-filter-condition/util.js.map +1 -1
- package/es/dashboard-workbench/components/modal-editor-header/index.js.map +1 -1
- package/es/dashboard-workbench/components/modal-editor-header/index.module.less.js +3 -3
- package/es/dashboard-workbench/components/module-content/calendar-module/index.js.map +1 -1
- package/es/dashboard-workbench/components/module-content/calendar-module/locales/zh.js.map +1 -1
- package/es/dashboard-workbench/components/module-content/chart-module/Empty.js.map +1 -1
- package/es/dashboard-workbench/components/module-content/chart-module/base-chart/index.js +27 -1
- package/es/dashboard-workbench/components/module-content/chart-module/base-chart/index.js.map +1 -1
- package/es/dashboard-workbench/components/module-content/chart-module/index.js +90 -39
- package/es/dashboard-workbench/components/module-content/chart-module/index.js.map +1 -1
- package/es/dashboard-workbench/components/module-content/chart-module/utils.d.ts +1 -1
- package/es/dashboard-workbench/components/module-content/chart-module/utils.js +153 -35
- package/es/dashboard-workbench/components/module-content/chart-module/utils.js.map +1 -1
- package/es/dashboard-workbench/components/module-content/index.js.map +1 -1
- package/es/dashboard-workbench/components/module-content/statistics-module/index.js.map +1 -1
- package/es/dashboard-workbench/components/module-content/statistics-module/utils.js.map +1 -1
- package/es/dashboard-workbench/components/module-content/text-module/editor/index.js +1 -1
- package/es/dashboard-workbench/components/module-content/text-module/editor/index.js.map +1 -1
- package/es/dashboard-workbench/components/module-content/text-module/editor/useDebounce.js.map +1 -1
- package/es/dashboard-workbench/components/module-content/text-module/index.js.map +1 -1
- package/es/dashboard-workbench/components/module-content/utils.js.map +1 -1
- package/es/dashboard-workbench/components/module-header/index.js.map +1 -1
- package/es/dashboard-workbench/context.js.map +1 -1
- package/es/dashboard-workbench/icon/icon-Filter.js.map +1 -1
- package/es/dashboard-workbench/icon/icon-bar-percentage.js.map +1 -1
- package/es/dashboard-workbench/icon/icon-bar-pile.js.map +1 -1
- package/es/dashboard-workbench/icon/icon-bar.js.map +1 -1
- package/es/dashboard-workbench/icon/icon-calendar.js.map +1 -1
- package/es/dashboard-workbench/icon/icon-chart-combination.js.map +1 -1
- package/es/dashboard-workbench/icon/icon-drag.js.map +1 -1
- package/es/dashboard-workbench/icon/icon-editor.js.map +1 -1
- package/es/dashboard-workbench/icon/icon-empty.js.map +1 -1
- package/es/dashboard-workbench/icon/icon-line-smooth.js.map +1 -1
- package/es/dashboard-workbench/icon/icon-line.js.map +1 -1
- package/es/dashboard-workbench/icon/icon-move.js.map +1 -1
- package/es/dashboard-workbench/icon/icon-pie-circular.js.map +1 -1
- package/es/dashboard-workbench/icon/icon-pie.js.map +1 -1
- package/es/dashboard-workbench/icon/icon-statistics.js.map +1 -1
- package/es/dashboard-workbench/icon/icon-strip-bar-percentage.js.map +1 -1
- package/es/dashboard-workbench/icon/icon-strip-bar-pile.js.map +1 -1
- package/es/dashboard-workbench/icon/icon-strip-bar.js.map +1 -1
- package/es/dashboard-workbench/index.js +215 -43
- package/es/dashboard-workbench/index.js.map +1 -1
- package/es/dashboard-workbench/lang/en-US.d.ts +7 -0
- package/es/dashboard-workbench/lang/en-US.js +9 -2
- package/es/dashboard-workbench/lang/en-US.js.map +1 -1
- package/es/dashboard-workbench/lang/index.js.map +1 -1
- package/es/dashboard-workbench/lang/zh-CN.d.ts +7 -0
- package/es/dashboard-workbench/lang/zh-CN.js +9 -2
- package/es/dashboard-workbench/lang/zh-CN.js.map +1 -1
- package/es/dashboard-workbench/utils/index.js +2 -2
- package/es/dashboard-workbench/utils/index.js.map +1 -1
- package/es/style.css +1 -1
- package/package.json +2 -2
- package/umd/pivot-table.umd.cjs +49 -47
- package/umd/style.css +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../packages/dashboard-workbench/components/add-module-modal/add-chart-modal/index.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport React, { useEffect, useState } from 'react'\nimport { Button, Modal, Tabs } from 'antd'\nimport { CloseOutlined } from '@ant-design/icons'\nimport { useTranslation } from 'react-i18next'\nimport EditorHeader from '@platox/pivot-table/components/modal-editor-header'\nimport { EnumDataApi, ModuleDataApi } from '../../../types'\nimport { ModuleData } from '../../module-content'\nimport ChartModule from '../../module-content/chart-module'\nimport CustomData from './custome-data'\nimport CustomeStyles from './custome-styles'\nimport { ChartCustomDataType } from './interface'\n\n// import CombinationChartOption from './components/CombinationChartOptionPicker'\n// import GroupFieldConfigPicker from './components/GroupFieldConfigPicker'\n\ninterface AddStatisticsModalProps {\n open: boolean\n onClose?: () => void\n onOk?: (data: Partial<ModuleData>) => void\n\n selectModuleData?: ModuleData\n moduleDataApi?: ModuleDataApi\n enumDataApi?: EnumDataApi\n}\n\nconst AddStatisticsModal: React.FC<AddStatisticsModalProps> = ({\n open,\n onClose,\n onOk,\n moduleDataApi,\n selectModuleData,\n enumDataApi,\n}) => {\n const { t } = useTranslation()\n const [customData, setCustomData] = useState<ChartCustomDataType>()\n const [customeStyle, setCustomeStyle] = useState<any>()\n const containerRef = React.useRef<HTMLDivElement>(null)\n const isPieChart = customData?.type?.includes('pie')\n\n useEffect(() => {\n if (selectModuleData) {\n setCustomData(selectModuleData?.customData)\n setCustomeStyle(selectModuleData?.customeStyle)\n }\n }, [selectModuleData])\n\n /* ============================== split =============================== */\n const [title, setTitle] = useState<string>('')\n useEffect(() => {\n if (open) {\n setTitle(!!selectModuleData?.title ? selectModuleData?.title : t('chartText'))\n }\n }, [open])\n\n return (\n <>\n <Modal\n width=\"65%\"\n title={<EditorHeader value={title} onChange={setTitle} />}\n footer={null}\n open={open}\n onCancel={onClose}\n destroyOnClose\n closeIcon={<CloseOutlined />}\n className=\"ow-modal ow-modal-2\"\n >\n <div className=\"config-widget-dialog-container\">\n {/* <CombinationChartOption /> */}\n {/* <GroupFieldConfigPicker /> */}\n\n <div className=\"config-widget-dialog-content\">\n <div className=\"config-widget-dialog-preview\">\n <ChartModule\n customData={customData}\n customeStyle={customeStyle}\n moduleDataApi={moduleDataApi}\n />\n </div>\n </div>\n <div className=\"config-widget-dialog-panel\">\n <div className=\"bitable-dashboard edit-panel-container\">\n <Tabs\n defaultActiveKey=\"1\"\n items={[\n {\n key: '1',\n label: t('typeData'),\n children: (\n <CustomData\n enumDataApi={enumDataApi}\n selectModuleData={selectModuleData}\n onAllValuesChange={allVal => {\n setCustomData(allVal)\n }}\n />\n ),\n },\n ...(!isPieChart\n ? [\n {\n key: '2',\n label: t('customStyle'),\n children: (\n <CustomeStyles\n customData={customData}\n selectModuleData={selectModuleData}\n onAllValuesChange={allVal => {\n setCustomeStyle(allVal)\n }}\n />\n ),\n },\n ]\n : []),\n ]}\n />\n </div>\n <div className=\"button-container\">\n <Button\n type=\"primary\"\n onClick={() => {\n onOk?.({\n id: selectModuleData?.id,\n type: selectModuleData?.type,\n customData,\n customeStyle,\n title,\n })\n }}\n >\n {t('confirm')}\n </Button>\n </div>\n </div>\n </div>\n </Modal>\n </>\n )\n}\n\nexport default AddStatisticsModal\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../packages/dashboard-workbench/components/add-module-modal/add-chart-modal/index.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport React, { useEffect, useRef, useState } from 'react'\nimport { Button, Modal, Tabs } from 'antd'\nimport { CloseOutlined } from '@ant-design/icons'\nimport { useTranslation } from 'react-i18next'\nimport EditorHeader from '@platox/pivot-table/components/modal-editor-header'\nimport { useAppContext } from '../../../context'\nimport { EnumDataApi, ModuleDataApi } from '../../../types'\nimport { ModuleData } from '../../module-content'\nimport ChartModule from '../../module-content/chart-module'\nimport CustomData from './custome-data'\nimport CustomeStyles from './custome-styles'\nimport { ChartCustomDataType } from './interface'\n\n// import CombinationChartOption from './components/CombinationChartOptionPicker'\n// import GroupFieldConfigPicker from './components/GroupFieldConfigPicker'\n\ninterface AddStatisticsModalProps {\n open: boolean\n onClose?: () => void\n onOk?: (data: Partial<ModuleData>) => void\n\n selectModuleData?: ModuleData\n moduleDataApi?: ModuleDataApi\n enumDataApi?: EnumDataApi\n}\n\nconst AddStatisticsModal: React.FC<AddStatisticsModalProps> = ({\n open,\n onClose,\n onOk,\n moduleDataApi,\n selectModuleData,\n enumDataApi,\n}) => {\n const { t } = useTranslation()\n const { globalData } = useAppContext()\n const [customData, setCustomData] = useState<ChartCustomDataType>()\n const [customeStyle, setCustomeStyle] = useState<any>()\n const containerRef = React.useRef<HTMLDivElement>(null)\n const isPieChart = customData?.type?.includes('pie')\n const isTitleCustomizedRef = useRef(false)\n\n useEffect(() => {\n if (selectModuleData) {\n setCustomData(selectModuleData?.customData)\n setCustomeStyle(selectModuleData?.customeStyle)\n }\n }, [selectModuleData])\n\n /* ============================== split =============================== */\n const [title, setTitle] = useState<string>('')\n useEffect(() => {\n if (open) {\n isTitleCustomizedRef.current = !!selectModuleData?.title\n setTitle(!!selectModuleData?.title ? selectModuleData?.title : t('chartText'))\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\n // yAxis description: \"Count\" or \"Sum Amount\"\n let yDesc = 'Count'\n if (customData.yAxis === 'fieldValue' && customData.yAxisField) {\n const yField = source.fields?.find(f => f.value === customData.yAxisField)\n const typeMap: Record<string, string> = { sum: 'Sum', max: 'Max', min: 'Min', avg: 'Avg' }\n const typeLabel = typeMap[customData.yAxisFieldType] || ''\n yDesc = yField?.label ? `${typeLabel} ${yField.label}`.trim() : typeLabel\n }\n\n // xAxis field label\n const xField = source.fields?.find(f => f.value === customData.xAxis)\n const xLabel = xField?.label || ''\n\n // \"{Source} {yDesc} by {xLabel}\"\n let newTitle = `${source.label} ${yDesc}`\n if (xLabel) newTitle += ` by ${xLabel}`\n setTitle(newTitle)\n }\n\n useEffect(() => {\n if (isTitleCustomizedRef.current) return\n generateTitle()\n }, [customData?.dataSourceId, customData?.xAxis, customData?.yAxis, customData?.yAxisField, customData?.yAxisFieldType])\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 onCancel={onClose}\n destroyOnClose\n closeIcon={<CloseOutlined />}\n className=\"ow-modal ow-modal-2\"\n >\n <div className=\"config-widget-dialog-container\">\n {/* <CombinationChartOption /> */}\n {/* <GroupFieldConfigPicker /> */}\n\n <div className=\"config-widget-dialog-content\">\n <div className=\"config-widget-dialog-preview\">\n <ChartModule\n customData={customData}\n customeStyle={customeStyle}\n moduleDataApi={moduleDataApi}\n />\n </div>\n </div>\n <div className=\"config-widget-dialog-panel\">\n <div className=\"bitable-dashboard edit-panel-container\">\n <Tabs\n defaultActiveKey=\"1\"\n items={[\n {\n key: '1',\n label: t('typeData'),\n children: (\n <CustomData\n enumDataApi={enumDataApi}\n selectModuleData={selectModuleData}\n onAllValuesChange={allVal => {\n setCustomData(allVal)\n }}\n />\n ),\n },\n ...(!isPieChart\n ? [\n {\n key: '2',\n label: t('customStyle'),\n children: (\n <CustomeStyles\n customData={customData}\n selectModuleData={selectModuleData}\n onAllValuesChange={allVal => {\n setCustomeStyle(allVal)\n }}\n />\n ),\n },\n ]\n : []),\n ]}\n />\n </div>\n <div className=\"button-container\">\n <Button\n type=\"primary\"\n onClick={() => {\n onOk?.({\n id: selectModuleData?.id,\n type: selectModuleData?.type,\n customData,\n customeStyle,\n title,\n })\n }}\n >\n {t('confirm')}\n </Button>\n </div>\n </div>\n </div>\n </Modal>\n </>\n )\n}\n\nexport default AddStatisticsModal\n"],"names":["_a"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interface.js","sources":["../../../../../packages/dashboard-workbench/components/add-module-modal/add-chart-modal/interface.tsx"],"sourcesContent":["import { ConditionListItem } from '@platox/pivot-table/components/add-module-modal/components/condition-modal/interface'\n\nconst chartOption = ['legend', 'label', 'axis', 'splitLine'] as const\ntype ChartOptionItem = (typeof chartOption)[number]\n\nexport enum ChartType {\n ChartBar = 'chart-bar',\n ChartBarPile = 'chart-bar-pile',\n ChartBarPercentage = 'chart-bar-percentage',\n ChartLine = 'chart-line',\n ChartLineSmooth = 'chart-line-smooth',\n ChartStripBar = 'chart-strip-bar',\n ChartStripBarPile = 'chart-strip-bar-pile',\n ChartStripBarPercentage = 'chart-strip-bar-percentage',\n ChartPie = 'chart-pie',\n ChartPieCircular = 'chart-pie-circular',\n chartCombination = 'chart-combination',\n}\nexport type ChartTypeUnion = `${ChartType}`\n\n// 组件字段\nexport interface CombinationChartConfig {\n chartType: ChartType.ChartBar | ChartType.ChartLine\n yAxisPos: 'left' | 'right'\n}\n\nexport type TimeGroupInterval = 'day' | 'week' | 'month' | 'year'\n\nexport enum DisplayRange {\n 'ALL' = 'ALL',\n 'TOP5' = 'TOP_5',\n 'TOP10' = 'TOP_10',\n 'TOP20' = 'TOP_20',\n 'TOP30' = 'TOP_30',\n 'BOTTOM5' = 'BOTTOM_5',\n 'BOTTOM10' = 'BOTTOM_10',\n 'BOTTOM20' = 'BOTTOM_20',\n 'BOTTOM30' = 'BOTTOM_30',\n}\n\nexport type ChartCustomDataType = {\n //数据源\n dataSourceId?: string\n //过滤条件\n conditionData?: {\n conditionList: ConditionListItem[]\n conditionType: 'all' | 'any'\n }\n // 图表类型\n type: ChartTypeUnion\n // 图标类型\n chartOptions: ChartOptionItem[]\n\n // x轴数据\n xAxis: string //field\n // 时间汇总 xAxis 是time的时候有效\n timeGroupInterval: TimeGroupInterval\n // display range\n displayRange: `${DisplayRange}`\n\n // sort\n sortField: 'xAxis' | 'yAxisField' | 'recordValue'\n sortOrder: 'asc' | 'desc'\n\n // y轴数据\n yAxis: 'recordTotal' | 'fieldValue'\n yAxisField: string // field\n yAxisFieldType: 'sum' | 'max' | 'min' | 'avg'\n yAxisFieldConfig: CombinationChartConfig\n\n isGroup: boolean\n groupField: string // field\n\n // ChartType 是 chartCombination的时候这个字段才有用\n groupFieldConfig: {\n value: unknown //聚合后的数据字段\n config: CombinationChartConfig\n }[]\n}\n\nexport type ChartCustomeStylesTypes = {\n xtitle: string //横轴标题\n ytitle: string //纵轴标题\n}\n"],"names":["ChartType","DisplayRange"],"mappings":"
|
|
1
|
+
{"version":3,"file":"interface.js","sources":["../../../../../packages/dashboard-workbench/components/add-module-modal/add-chart-modal/interface.tsx"],"sourcesContent":["import { ConditionListItem } from '@platox/pivot-table/components/add-module-modal/components/condition-modal/interface'\n\nconst chartOption = ['legend', 'label', 'axis', 'splitLine'] as const\ntype ChartOptionItem = (typeof chartOption)[number]\n\nexport enum ChartType {\n ChartBar = 'chart-bar',\n ChartBarPile = 'chart-bar-pile',\n ChartBarPercentage = 'chart-bar-percentage',\n ChartLine = 'chart-line',\n ChartLineSmooth = 'chart-line-smooth',\n ChartStripBar = 'chart-strip-bar',\n ChartStripBarPile = 'chart-strip-bar-pile',\n ChartStripBarPercentage = 'chart-strip-bar-percentage',\n ChartPie = 'chart-pie',\n ChartPieCircular = 'chart-pie-circular',\n chartCombination = 'chart-combination',\n}\nexport type ChartTypeUnion = `${ChartType}`\n\n// 组件字段\nexport interface CombinationChartConfig {\n chartType: ChartType.ChartBar | ChartType.ChartLine\n yAxisPos: 'left' | 'right'\n}\n\nexport type TimeGroupInterval = 'day' | 'week' | 'month' | 'year'\n\nexport enum DisplayRange {\n 'ALL' = 'ALL',\n 'TOP5' = 'TOP_5',\n 'TOP10' = 'TOP_10',\n 'TOP20' = 'TOP_20',\n 'TOP30' = 'TOP_30',\n 'BOTTOM5' = 'BOTTOM_5',\n 'BOTTOM10' = 'BOTTOM_10',\n 'BOTTOM20' = 'BOTTOM_20',\n 'BOTTOM30' = 'BOTTOM_30',\n}\n\nexport type ChartCustomDataType = {\n //数据源\n dataSourceId?: string\n //过滤条件\n conditionData?: {\n conditionList: ConditionListItem[]\n conditionType: 'all' | 'any'\n }\n // 图表类型\n type: ChartTypeUnion\n // 图标类型\n chartOptions: ChartOptionItem[]\n\n // x轴数据\n xAxis: string //field\n // 时间汇总 xAxis 是time的时候有效\n timeGroupInterval: TimeGroupInterval\n // display range\n displayRange: `${DisplayRange}`\n\n // sort\n sortField: 'xAxis' | 'yAxisField' | 'recordValue'\n sortOrder: 'asc' | 'desc'\n\n // y轴数据\n yAxis: 'recordTotal' | 'fieldValue'\n yAxisField: string // field\n yAxisFieldType: 'sum' | 'max' | 'min' | 'avg'\n yAxisFieldConfig: CombinationChartConfig\n\n isGroup: boolean\n groupField: string // field\n\n // ChartType 是 chartCombination的时候这个字段才有用\n groupFieldConfig: {\n value: unknown //聚合后的数据字段\n config: CombinationChartConfig\n }[]\n}\n\nexport type ChartCustomeStylesTypes = {\n xtitle: string //横轴标题\n ytitle: string //纵轴标题\n}\n"],"names":["ChartType","DisplayRange"],"mappings":"AAKO,IAAK,8BAAAA,eAAL;AACLA,aAAA,UAAA,IAAW;AACXA,aAAA,cAAA,IAAe;AACfA,aAAA,oBAAA,IAAqB;AACrBA,aAAA,WAAA,IAAY;AACZA,aAAA,iBAAA,IAAkB;AAClBA,aAAA,eAAA,IAAgB;AAChBA,aAAA,mBAAA,IAAoB;AACpBA,aAAA,yBAAA,IAA0B;AAC1BA,aAAA,UAAA,IAAW;AACXA,aAAA,kBAAA,IAAmB;AACnBA,aAAA,kBAAA,IAAmB;AAXT,SAAAA;AAAA,GAAA,aAAA,CAAA,CAAA;AAuBL,IAAK,iCAAAC,kBAAL;AACLA,gBAAA,KAAA,IAAQ;AACRA,gBAAA,MAAA,IAAS;AACTA,gBAAA,OAAA,IAAU;AACVA,gBAAA,OAAA,IAAU;AACVA,gBAAA,OAAA,IAAU;AACVA,gBAAA,SAAA,IAAY;AACZA,gBAAA,UAAA,IAAa;AACbA,gBAAA,UAAA,IAAa;AACbA,gBAAA,UAAA,IAAa;AATH,SAAAA;AAAA,GAAA,gBAAA,CAAA,CAAA;"}
|
package/es/dashboard-workbench/components/add-module-modal/add-statistics-modal/custome-data.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"custome-data.js","sources":["../../../../../packages/dashboard-workbench/components/add-module-modal/add-statistics-modal/custome-data.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { useEffect, useRef, useState } from 'react'\nimport { Button, Divider, Form, Select, Space } from 'antd'\nimport { useTranslation } from 'react-i18next'\nimport { ConditionListItem } from '@platox/pivot-table/components/add-module-modal/components/condition-modal/interface'\nimport { useAppContext } from '../../../context'\nimport { EnumDataApi, FieldItem } from '../../../types'\nimport { ModuleData } from '../../module-content'\nimport ConditionModal from '../components/condition-modal'\n\nexport type StatisticsCustomeDataTypes = {\n conditionData?: {\n conditionList: ConditionListItem[]\n conditionType: 'all' | 'any'\n }\n dataSourceId?: string\n statisticalMethod?: string\n statisticalType?: 'sum' | 'max' | 'min' | 'avg'\n field: 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 const { globalData } = useAppContext()\n const { t } = useTranslation()\n\n /* ============================== split =============================== */\n const [fieldOptions, setFieldOptions] = useState<FieldItem[]>()\n const [numberFieldOptions, setNumberFieldOptions] = useState<FieldItem[]>()\n\n const getFieldOptions = (name?: string) => {\n const list = globalData?.sourceData?.find(item => item.value === name)?.fields\n setFieldOptions(list)\n setNumberFieldOptions(list?.filter(item => item.type === 'int' || item.type === 'float'))\n }\n\n const getStatisticalMethodOptions = (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 // 从后端配置中获取允许的统计方法选项\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 /* ============================== split =============================== */\n const [form] = Form.useForm()\n\n const initialValues = {\n dataSourceId: '',\n statisticalMethod: 'recordTotal',\n field: '',\n }\n\n const allValuesChange = () => {\n setTimeout(() => {\n onAllValuesChange?.({\n ...form.getFieldsValue(),\n conditionData: conditionDataRef.current,\n })\n })\n }\n /* ============================== split =============================== */\n\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 /* ============================== split =============================== */\n\n useEffect(() => {\n if (selectModuleData?.customData) {\n const customData = selectModuleData.customData\n form.setFieldsValue(customData)\n getFieldOptions(customData?.dataSourceId)\n } else {\n const currSourceData = globalData?.sourceData?.[0]\n form.setFieldsValue({\n ...initialValues,\n dataSourceId: currSourceData?.value,\n })\n getFieldOptions(currSourceData?.value)\n allValuesChange()\n }\n setCondition(selectModuleData?.customData?.conditionData)\n }, [selectModuleData, globalData])\n\n return (\n <>\n <Form form={form} name=\"customData\" layout=\"vertical\" initialValues={initialValues}>\n <Form.Item<StatisticsCustomeDataTypes> label={t('dataSource')} name=\"dataSourceId\">\n <Select\n options={globalData?.sourceData}\n onChange={val => {\n const methodOptions = getStatisticalMethodOptions(val)\n // 如果只有一个选项且是 fieldValue,则默认选中它\n const defaultMethod =\n methodOptions.length === 1 && methodOptions[0].value === 'fieldValue'\n ? 'fieldValue'\n : 'recordTotal'\n\n // 获取新数据源的字段选项\n getFieldOptions(val)\n\n // 获取新数据源的数字字段列表\n const newFieldList = globalData?.sourceData?.find(item => item.value === val)?.fields\n const newNumberFieldOptions = newFieldList?.filter(item => item.type === 'int' || item.type === 'float')\n\n form.setFieldsValue({\n statisticalMethod: defaultMethod,\n field: defaultMethod === 'fieldValue' ? newNumberFieldOptions?.[0]?.value : '',\n statisticalType: defaultMethod === 'fieldValue' ? 'sum' : undefined,\n })\n allValuesChange()\n setCondition({\n conditionList: [],\n conditionType: 'all',\n })\n }}\n />\n </Form.Item>\n\n <Form.Item<StatisticsCustomeDataTypes> 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 style={{ borderColor: '#e2e2e2', marginTop: 0 }} />\n\n <Form.Item<StatisticsCustomeDataTypes>\n label={t('statisticstMethods')}\n name=\"statisticalMethod\"\n >\n <Select\n onChange={val => {\n form.setFieldsValue({\n field: val === 'fieldValue' ? numberFieldOptions?.[0].value : '',\n statisticalType: 'sum',\n })\n allValuesChange()\n }}\n options={getStatisticalMethodOptions(form.getFieldValue('dataSourceId'))}\n />\n </Form.Item>\n\n <Form.Item<StatisticsCustomeDataTypes> dependencies={['statisticalMethod']}>\n {({ getFieldValue }) =>\n getFieldValue('statisticalMethod') === 'fieldValue' ? (\n <Form.Item label={t('selectField')}>\n <Space.Compact>\n <Form.Item noStyle name=\"field\">\n <Select\n style={{ width: '100px' }}\n dropdownStyle={{ width: 250 }}\n onChange={() => {\n allValuesChange()\n }}\n options={numberFieldOptions}\n />\n </Form.Item>\n <Form.Item name=\"statisticalType\" noStyle>\n <Select\n style={{ width: '100px' }}\n dropdownStyle={{ width: 180 }}\n onChange={() => {\n allValuesChange()\n }}\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 </Form.Item>\n ) : null\n }\n </Form.Item>\n </Form>\n\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 allValuesChange()\n }}\n />\n </>\n )\n}\nexport default CustomData\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"custome-data.js","sources":["../../../../../packages/dashboard-workbench/components/add-module-modal/add-statistics-modal/custome-data.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { useEffect, useRef, useState } from 'react'\nimport { Button, Divider, Form, Select, Space } from 'antd'\nimport { useTranslation } from 'react-i18next'\nimport { ConditionListItem } from '@platox/pivot-table/components/add-module-modal/components/condition-modal/interface'\nimport { useAppContext } from '../../../context'\nimport { EnumDataApi, FieldItem } from '../../../types'\nimport { ModuleData } from '../../module-content'\nimport ConditionModal from '../components/condition-modal'\n\nexport type StatisticsCustomeDataTypes = {\n conditionData?: {\n conditionList: ConditionListItem[]\n conditionType: 'all' | 'any'\n }\n dataSourceId?: string\n statisticalMethod?: string\n statisticalType?: 'sum' | 'max' | 'min' | 'avg'\n field: 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 const { globalData } = useAppContext()\n const { t } = useTranslation()\n\n /* ============================== split =============================== */\n const [fieldOptions, setFieldOptions] = useState<FieldItem[]>()\n const [numberFieldOptions, setNumberFieldOptions] = useState<FieldItem[]>()\n\n const getFieldOptions = (name?: string) => {\n const list = globalData?.sourceData?.find(item => item.value === name)?.fields\n setFieldOptions(list)\n setNumberFieldOptions(list?.filter(item => item.type === 'int' || item.type === 'float'))\n }\n\n const getStatisticalMethodOptions = (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 // 从后端配置中获取允许的统计方法选项\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 /* ============================== split =============================== */\n const [form] = Form.useForm()\n\n const initialValues = {\n dataSourceId: '',\n statisticalMethod: 'recordTotal',\n field: '',\n }\n\n const allValuesChange = () => {\n setTimeout(() => {\n onAllValuesChange?.({\n ...form.getFieldsValue(),\n conditionData: conditionDataRef.current,\n })\n })\n }\n /* ============================== split =============================== */\n\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 /* ============================== split =============================== */\n\n useEffect(() => {\n if (selectModuleData?.customData) {\n const customData = selectModuleData.customData\n form.setFieldsValue(customData)\n getFieldOptions(customData?.dataSourceId)\n } else {\n const currSourceData = globalData?.sourceData?.[0]\n form.setFieldsValue({\n ...initialValues,\n dataSourceId: currSourceData?.value,\n })\n getFieldOptions(currSourceData?.value)\n allValuesChange()\n }\n setCondition(selectModuleData?.customData?.conditionData)\n }, [selectModuleData, globalData])\n\n return (\n <>\n <Form form={form} name=\"customData\" layout=\"vertical\" initialValues={initialValues}>\n <Form.Item<StatisticsCustomeDataTypes> label={t('dataSource')} name=\"dataSourceId\">\n <Select\n options={globalData?.sourceData}\n onChange={val => {\n const methodOptions = getStatisticalMethodOptions(val)\n // 如果只有一个选项且是 fieldValue,则默认选中它\n const defaultMethod =\n methodOptions.length === 1 && methodOptions[0].value === 'fieldValue'\n ? 'fieldValue'\n : 'recordTotal'\n\n // 获取新数据源的字段选项\n getFieldOptions(val)\n\n // 获取新数据源的数字字段列表\n const newFieldList = globalData?.sourceData?.find(item => item.value === val)?.fields\n const newNumberFieldOptions = newFieldList?.filter(item => item.type === 'int' || item.type === 'float')\n\n form.setFieldsValue({\n statisticalMethod: defaultMethod,\n field: defaultMethod === 'fieldValue' ? newNumberFieldOptions?.[0]?.value : '',\n statisticalType: defaultMethod === 'fieldValue' ? 'sum' : undefined,\n })\n allValuesChange()\n setCondition({\n conditionList: [],\n conditionType: 'all',\n })\n }}\n />\n </Form.Item>\n\n <Form.Item<StatisticsCustomeDataTypes> 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 style={{ borderColor: '#e2e2e2', marginTop: 0 }} />\n\n <Form.Item<StatisticsCustomeDataTypes>\n label={t('statisticstMethods')}\n name=\"statisticalMethod\"\n >\n <Select\n onChange={val => {\n form.setFieldsValue({\n field: val === 'fieldValue' ? numberFieldOptions?.[0].value : '',\n statisticalType: 'sum',\n })\n allValuesChange()\n }}\n options={getStatisticalMethodOptions(form.getFieldValue('dataSourceId'))}\n />\n </Form.Item>\n\n <Form.Item<StatisticsCustomeDataTypes> dependencies={['statisticalMethod']}>\n {({ getFieldValue }) =>\n getFieldValue('statisticalMethod') === 'fieldValue' ? (\n <Form.Item label={t('selectField')}>\n <Space.Compact>\n <Form.Item noStyle name=\"field\">\n <Select\n style={{ width: '100px' }}\n dropdownStyle={{ width: 250 }}\n onChange={() => {\n allValuesChange()\n }}\n options={numberFieldOptions}\n />\n </Form.Item>\n <Form.Item name=\"statisticalType\" noStyle>\n <Select\n style={{ width: '100px' }}\n dropdownStyle={{ width: 180 }}\n onChange={() => {\n allValuesChange()\n }}\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 </Form.Item>\n ) : null\n }\n </Form.Item>\n </Form>\n\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 allValuesChange()\n }}\n />\n </>\n )\n}\nexport default CustomData\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"custome-styles.js","sources":["../../../../../packages/dashboard-workbench/components/add-module-modal/add-statistics-modal/custome-styles.tsx"],"sourcesContent":["import { useEffect, useMemo } from 'react'\nimport { Form, Input, InputNumber, Select, Space } from 'antd'\nimport { useTranslation } from 'react-i18next'\nimport InputWrapper from '../../InputWrapper'\nimport { ModuleData } from '../../module-content'\nimport SelectColor from '../components/select-color'\n\nexport type StatisticsCustomeStylesTypes = {\n color?: string\n unit?: string\n precision?: number\n desc: string\n}\n\ninterface CustomeStylesProps {\n selectModuleData?: ModuleData\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n onAllValuesChange?: ((values: any) => void) | undefined\n}\nconst CustomeStyles: React.FC<CustomeStylesProps> = ({ selectModuleData, onAllValuesChange }) => {\n const [form] = Form.useForm()\n const { t, i18n } = useTranslation()\n\n const UnitOptions = useMemo(() => {\n return [\n {\n // 数字 千分位\n value: '1',\n label: t('statistics.t5'),\n },\n {\n // 数字\n value: '2',\n label: t('statistics.t6'),\n },\n {\n // 百分比\n value: '3',\n label: t('statistics.t7'),\n },\n // {\n // //人民币\n // value: '4',\n // label: t('statistics.t8'),\n // },\n // {\n // //美元\n // value: '5',\n // label: t('statistics.t9'),\n // },\n // {\n // // 欧元\n // value: '6',\n // label: t('statistics.t11'),\n // },\n // {\n // // 英镑\n // value: '7',\n // label: t('statistics.t12'),\n // },\n // {\n // // 泰铢\n // value: '8',\n // label: t('statistics.t13'),\n // },\n {\n // 币种\n value: '9',\n label: t('statistics.currency'),\n },\n ]\n }, [i18n.language])\n\n const initialValues = {\n color: '#373c43',\n unit: '1',\n precision: '',\n desc: '',\n }\n\n const allValuesChange = () => {\n setTimeout(() => {\n onAllValuesChange?.(form.getFieldsValue())\n })\n }\n\n useEffect(() => {\n if (selectModuleData?.customeStyle) {\n let unit = `${selectModuleData.customeStyle.unit ?? initialValues.unit}`\n\n //兼容之前的币种\n if (['4', '5', '6', '7', '8'].includes(unit)) {\n unit = '9'\n }\n\n let _initialValues = {\n ...initialValues,\n ...selectModuleData.customeStyle,\n unit: `${selectModuleData.customeStyle.unit ?? initialValues.unit}`,\n }\n form.setFieldsValue(_initialValues)\n } else {\n form.setFieldsValue(initialValues)\n }\n }, [selectModuleData])\n\n return (\n <Form form={form} name=\"customeStyle\" layout=\"vertical\" initialValues={initialValues}>\n <Form.Item label={t('statistics.t1')} name=\"color\">\n <SelectColor\n onChange={() => {\n allValuesChange()\n }}\n />\n </Form.Item>\n\n <Form.Item label={t('statistics.t2')} extra={t('statistics.t3')}>\n <Space.Compact>\n <Form.Item name=\"precision\" noStyle>\n <InputNumber\n min={1}\n max={10}\n style={{ width: '60%' }}\n placeholder={t('statistics.t4')}\n onChange={() => {\n allValuesChange()\n }}\n />\n </Form.Item>\n <Form.Item name=\"unit\" noStyle>\n <Select\n onChange={() => {\n allValuesChange()\n }}\n dropdownStyle={{ width: 240 }}\n >\n {UnitOptions.map(v => {\n const { value, label } = v\n return (\n <Select.Option key={value} value={value}>\n {label}\n </Select.Option>\n )\n })}\n {/* <Select.Option value=\"1\">{t('statistics.t5')}</Select.Option>\n <Select.Option value=\"2\">{t('statistics.t6')}</Select.Option>\n <Select.Option value=\"3\">{t('statistics.t7')}</Select.Option>\n <Select.Option value=\"4\">{t('statistics.t8')}</Select.Option>\n <Select.Option value=\"5\">{t('statistics.t9')}</Select.Option>\n <Select.Option value=\"6\">{t('statistics.t11')}</Select.Option>\n <Select.Option value=\"7\">{t('statistics.t12')}</Select.Option>\n <Select.Option value=\"8\">{t('statistics.t13')}</Select.Option> */}\n </Select>\n </Form.Item>\n </Space.Compact>\n </Form.Item>\n\n <Form.Item label={t('statistics.t10')} name=\"desc\">\n <InputWrapper\n onChange={() => {\n allValuesChange()\n }}\n />\n </Form.Item>\n </Form>\n )\n}\nexport default CustomeStyles\n"],"names":["SelectColor"],"mappings":";;;;;;AAmBA,MAAM,gBAA8C,CAAC,EAAE,kBAAkB,wBAAwB;AAC/F,QAAM,CAAC,IAAI,IAAI,KAAK,
|
|
1
|
+
{"version":3,"file":"custome-styles.js","sources":["../../../../../packages/dashboard-workbench/components/add-module-modal/add-statistics-modal/custome-styles.tsx"],"sourcesContent":["import { useEffect, useMemo } from 'react'\nimport { Form, Input, InputNumber, Select, Space } from 'antd'\nimport { useTranslation } from 'react-i18next'\nimport InputWrapper from '../../InputWrapper'\nimport { ModuleData } from '../../module-content'\nimport SelectColor from '../components/select-color'\n\nexport type StatisticsCustomeStylesTypes = {\n color?: string\n unit?: string\n precision?: number\n desc: string\n}\n\ninterface CustomeStylesProps {\n selectModuleData?: ModuleData\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n onAllValuesChange?: ((values: any) => void) | undefined\n}\nconst CustomeStyles: React.FC<CustomeStylesProps> = ({ selectModuleData, onAllValuesChange }) => {\n const [form] = Form.useForm()\n const { t, i18n } = useTranslation()\n\n const UnitOptions = useMemo(() => {\n return [\n {\n // 数字 千分位\n value: '1',\n label: t('statistics.t5'),\n },\n {\n // 数字\n value: '2',\n label: t('statistics.t6'),\n },\n {\n // 百分比\n value: '3',\n label: t('statistics.t7'),\n },\n // {\n // //人民币\n // value: '4',\n // label: t('statistics.t8'),\n // },\n // {\n // //美元\n // value: '5',\n // label: t('statistics.t9'),\n // },\n // {\n // // 欧元\n // value: '6',\n // label: t('statistics.t11'),\n // },\n // {\n // // 英镑\n // value: '7',\n // label: t('statistics.t12'),\n // },\n // {\n // // 泰铢\n // value: '8',\n // label: t('statistics.t13'),\n // },\n {\n // 币种\n value: '9',\n label: t('statistics.currency'),\n },\n ]\n }, [i18n.language])\n\n const initialValues = {\n color: '#373c43',\n unit: '1',\n precision: '',\n desc: '',\n }\n\n const allValuesChange = () => {\n setTimeout(() => {\n onAllValuesChange?.(form.getFieldsValue())\n })\n }\n\n useEffect(() => {\n if (selectModuleData?.customeStyle) {\n let unit = `${selectModuleData.customeStyle.unit ?? initialValues.unit}`\n\n //兼容之前的币种\n if (['4', '5', '6', '7', '8'].includes(unit)) {\n unit = '9'\n }\n\n let _initialValues = {\n ...initialValues,\n ...selectModuleData.customeStyle,\n unit: `${selectModuleData.customeStyle.unit ?? initialValues.unit}`,\n }\n form.setFieldsValue(_initialValues)\n } else {\n form.setFieldsValue(initialValues)\n }\n }, [selectModuleData])\n\n return (\n <Form form={form} name=\"customeStyle\" layout=\"vertical\" initialValues={initialValues}>\n <Form.Item label={t('statistics.t1')} name=\"color\">\n <SelectColor\n onChange={() => {\n allValuesChange()\n }}\n />\n </Form.Item>\n\n <Form.Item label={t('statistics.t2')} extra={t('statistics.t3')}>\n <Space.Compact>\n <Form.Item name=\"precision\" noStyle>\n <InputNumber\n min={1}\n max={10}\n style={{ width: '60%' }}\n placeholder={t('statistics.t4')}\n onChange={() => {\n allValuesChange()\n }}\n />\n </Form.Item>\n <Form.Item name=\"unit\" noStyle>\n <Select\n onChange={() => {\n allValuesChange()\n }}\n dropdownStyle={{ width: 240 }}\n >\n {UnitOptions.map(v => {\n const { value, label } = v\n return (\n <Select.Option key={value} value={value}>\n {label}\n </Select.Option>\n )\n })}\n {/* <Select.Option value=\"1\">{t('statistics.t5')}</Select.Option>\n <Select.Option value=\"2\">{t('statistics.t6')}</Select.Option>\n <Select.Option value=\"3\">{t('statistics.t7')}</Select.Option>\n <Select.Option value=\"4\">{t('statistics.t8')}</Select.Option>\n <Select.Option value=\"5\">{t('statistics.t9')}</Select.Option>\n <Select.Option value=\"6\">{t('statistics.t11')}</Select.Option>\n <Select.Option value=\"7\">{t('statistics.t12')}</Select.Option>\n <Select.Option value=\"8\">{t('statistics.t13')}</Select.Option> */}\n </Select>\n </Form.Item>\n </Space.Compact>\n </Form.Item>\n\n <Form.Item label={t('statistics.t10')} name=\"desc\">\n <InputWrapper\n onChange={() => {\n allValuesChange()\n }}\n />\n </Form.Item>\n </Form>\n )\n}\nexport default CustomeStyles\n"],"names":["SelectColor"],"mappings":"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"}
|
|
@@ -1,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, 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 StatisticsModule from "../../module-content/statistics-module/index.js";
|
|
8
9
|
import CustomData from "./custome-data.js";
|
|
9
10
|
import CustomeStyles from "./custome-styles.js";
|
|
@@ -16,8 +17,10 @@ const AddStatisticsModal = ({
|
|
|
16
17
|
enumDataApi
|
|
17
18
|
}) => {
|
|
18
19
|
const { t } = useTranslation();
|
|
20
|
+
const { globalData } = useAppContext();
|
|
19
21
|
const [customData, setCustomData] = useState();
|
|
20
22
|
const [customeStyle, setCustomeStyle] = useState();
|
|
23
|
+
const isTitleCustomizedRef = useRef(false);
|
|
21
24
|
useEffect(() => {
|
|
22
25
|
if (selectModuleData) {
|
|
23
26
|
setCustomData(selectModuleData == null ? void 0 : selectModuleData.customData);
|
|
@@ -27,14 +30,36 @@ const AddStatisticsModal = ({
|
|
|
27
30
|
const [title, setTitle] = useState("");
|
|
28
31
|
useEffect(() => {
|
|
29
32
|
if (open) {
|
|
33
|
+
isTitleCustomizedRef.current = !!(selectModuleData == null ? void 0 : selectModuleData.title);
|
|
30
34
|
setTitle(!!(selectModuleData == null ? void 0 : selectModuleData.title) ? selectModuleData == null ? void 0 : selectModuleData.title : t("statisticsText"));
|
|
31
35
|
}
|
|
32
36
|
}, [open]);
|
|
37
|
+
const generateTitle = () => {
|
|
38
|
+
var _a, _b;
|
|
39
|
+
if (!(customData == null ? void 0 : customData.dataSourceId)) return;
|
|
40
|
+
const source = (_a = globalData == null ? void 0 : globalData.sourceData) == null ? void 0 : _a.find((item) => item.value === customData.dataSourceId);
|
|
41
|
+
if (!(source == null ? void 0 : source.label)) return;
|
|
42
|
+
let desc = "Count";
|
|
43
|
+
if (customData.statisticalMethod === "fieldValue" && customData.field) {
|
|
44
|
+
const fieldItem = (_b = source.fields) == null ? void 0 : _b.find((f) => f.value === customData.field);
|
|
45
|
+
const typeMap = { sum: "Sum", max: "Max", min: "Min", avg: "Avg" };
|
|
46
|
+
const typeLabel = typeMap[customData.statisticalType || ""] || "";
|
|
47
|
+
desc = (fieldItem == null ? void 0 : fieldItem.label) ? `${typeLabel} ${fieldItem.label}`.trim() : typeLabel;
|
|
48
|
+
}
|
|
49
|
+
setTitle(`${source.label} ${desc}`);
|
|
50
|
+
};
|
|
51
|
+
useEffect(() => {
|
|
52
|
+
if (isTitleCustomizedRef.current) return;
|
|
53
|
+
generateTitle();
|
|
54
|
+
}, [customData == null ? void 0 : customData.dataSourceId, customData == null ? void 0 : customData.statisticalMethod, customData == null ? void 0 : customData.statisticalType, customData == null ? void 0 : customData.field]);
|
|
33
55
|
return /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsx(
|
|
34
56
|
Modal,
|
|
35
57
|
{
|
|
36
58
|
width: "65%",
|
|
37
|
-
title: /* @__PURE__ */ jsx(EditorHeader, { value: title, onChange:
|
|
59
|
+
title: /* @__PURE__ */ jsx(EditorHeader, { value: title, onChange: (val) => {
|
|
60
|
+
isTitleCustomizedRef.current = true;
|
|
61
|
+
setTitle(val);
|
|
62
|
+
} }),
|
|
38
63
|
footer: null,
|
|
39
64
|
open,
|
|
40
65
|
onCancel: onClose,
|
package/es/dashboard-workbench/components/add-module-modal/add-statistics-modal/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../packages/dashboard-workbench/components/add-module-modal/add-statistics-modal/index.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport React, { useEffect,
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../packages/dashboard-workbench/components/add-module-modal/add-statistics-modal/index.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport React, { useEffect, useRef, useState } from 'react'\nimport { Button, Modal, Tabs } from 'antd'\nimport { CloseOutlined } from '@ant-design/icons'\nimport { useTranslation } from 'react-i18next'\nimport EditorHeader from '@platox/pivot-table/components/modal-editor-header'\nimport { useAppContext } from '../../../context'\nimport { ModuleDataApi } from '../../../types'\nimport { ModuleData } from '../../module-content'\nimport StatisticsModule from '../../module-content/statistics-module'\nimport CustomData, { StatisticsCustomeDataTypes } from './custome-data'\nimport CustomeStyles from './custome-styles'\n\ninterface AddStatisticsModalProps {\n open: boolean\n onClose?: () => void\n onOk?: (data: Partial<ModuleData>) => void\n\n selectModuleData?: ModuleData\n moduleDataApi?: ModuleDataApi\n enumDataApi?: any\n}\n\nconst AddStatisticsModal: React.FC<AddStatisticsModalProps> = ({\n open,\n onClose,\n onOk,\n\n moduleDataApi,\n selectModuleData,\n enumDataApi,\n}) => {\n const { t } = useTranslation()\n const { globalData } = useAppContext()\n const [customData, setCustomData] = useState<StatisticsCustomeDataTypes>()\n const [customeStyle, setCustomeStyle] = useState<any>()\n const isTitleCustomizedRef = useRef(false)\n\n useEffect(() => {\n if (selectModuleData) {\n setCustomData(selectModuleData?.customData)\n setCustomeStyle(selectModuleData?.customeStyle)\n }\n }, [selectModuleData])\n\n /* ============================== split =============================== */\n const [title, setTitle] = useState<string>('')\n useEffect(() => {\n if (open) {\n isTitleCustomizedRef.current = !!selectModuleData?.title\n setTitle(!!selectModuleData?.title ? selectModuleData?.title : t('statisticsText'))\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\n let desc = 'Count'\n if (customData.statisticalMethod === 'fieldValue' && customData.field) {\n const fieldItem = source.fields?.find(f => f.value === customData.field)\n const typeMap: Record<string, string> = { sum: 'Sum', max: 'Max', min: 'Min', avg: 'Avg' }\n const typeLabel = typeMap[customData.statisticalType || ''] || ''\n desc = fieldItem?.label ? `${typeLabel} ${fieldItem.label}`.trim() : typeLabel\n }\n\n setTitle(`${source.label} ${desc}`)\n }\n\n useEffect(() => {\n if (isTitleCustomizedRef.current) return\n generateTitle()\n }, [customData?.dataSourceId, customData?.statisticalMethod, customData?.statisticalType, customData?.field])\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 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 className=\"config-widget-dialog-preview\">\n <StatisticsModule\n customData={customData}\n customeStyle={customeStyle}\n moduleDataApi={moduleDataApi}\n />\n </div>\n </div>\n <div className=\"config-widget-dialog-panel\">\n <div className=\"bitable-dashboard edit-panel-container\">\n <Tabs\n defaultActiveKey=\"1\"\n items={[\n {\n key: '1',\n label: t('typeData'),\n children: (\n <CustomData\n selectModuleData={selectModuleData}\n enumDataApi={enumDataApi}\n onAllValuesChange={allVal => {\n setCustomData(allVal)\n }}\n />\n ),\n },\n {\n key: '2',\n label: t('customStyle'),\n children: (\n <CustomeStyles\n selectModuleData={selectModuleData}\n onAllValuesChange={allVal => {\n setCustomeStyle(allVal)\n }}\n />\n ),\n },\n ]}\n />\n </div>\n <div className=\"button-container\">\n <Button\n type=\"primary\"\n onClick={() => {\n onOk?.({\n id: selectModuleData?.id,\n customData,\n customeStyle,\n title,\n })\n }}\n >\n {t('confirm')}\n </Button>\n </div>\n </div>\n </div>\n </Modal>\n </>\n )\n}\n\nexport default AddStatisticsModal\n"],"names":[],"mappings":"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"}
|
package/es/dashboard-workbench/components/add-module-modal/components/condition-modal/EnumSelect.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx } from "react/jsx-runtime";
|
|
2
|
-
import { useState, useRef,
|
|
2
|
+
import { useMemo, useState, useRef, useEffect } from "react";
|
|
3
3
|
import { Select, Spin } from "antd";
|
|
4
|
-
import {
|
|
4
|
+
import { isArray, debounce } from "lodash-es";
|
|
5
5
|
function DebounceEnumSelectWrapper(props) {
|
|
6
6
|
const { fetchOptions, debounceTimeout = 800, value: _value, ...others } = props;
|
|
7
7
|
const [fetching, setFetching] = useState(false);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EnumSelect.js","sources":["../../../../../../packages/dashboard-workbench/components/add-module-modal/components/condition-modal/EnumSelect.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport React, { useEffect, useMemo, useRef, useState } from 'react'\nimport { Select, Spin, type SelectProps } from 'antd'\nimport { isString } from 'antd/es/button'\nimport { debounce, isArray, isObject } from 'lodash-es'\n\nexport interface DebounceSelectProps<ValueType = any>\n extends Omit<SelectProps<ValueType | ValueType[]>, 'options' | 'children' | 'value'> {\n value?: ValueType | ValueType[]\n // onChange?: (v: string) => void\n fetchOptions: (search: string) => Promise<ValueType[]>\n debounceTimeout?: number\n}\n\nexport function DebounceEnumSelectWrapper<\n ValueType extends {\n key?: string\n label: React.ReactNode\n value: string | number\n } = any,\n>(props: DebounceSelectProps<ValueType>) {\n const { fetchOptions, debounceTimeout = 800, value: _value, ...others } = props\n\n const [fetching, setFetching] = useState(false)\n const [options, setOptions] = useState<ValueType[]>([])\n const fetchRef = useRef(0)\n\n const debounceFetcher = useMemo(() => {\n const loadOptions = (value: string) => {\n fetchRef.current += 1\n const fetchId = fetchRef.current\n setOptions([])\n setFetching(true)\n const trimValue = value.trim()\n\n fetchOptions(trimValue).then(newOptions => {\n if (fetchId !== fetchRef.current) {\n // for fetch callback order\n return\n }\n setOptions(newOptions)\n setFetching(false)\n })\n }\n\n return debounce(loadOptions, debounceTimeout)\n }, [fetchOptions, debounceTimeout])\n\n useEffect(() => {\n debounceFetcher('')\n }, [])\n\n /* ============================== split =============================== */\n const value = useMemo(() => {\n let isMultiple = others?.mode === 'multiple'\n\n if (isMultiple) {\n let ret: ValueType[] = isArray(_value) ? (_value as ValueType[]) : []\n return ret\n } else {\n let ret: ValueType = {} as ValueType\n if (!isArray(_value) && _value?.value) {\n ret = _value\n }\n return ret\n }\n\n // //兼容旧数据\n // if (isMultiple) {\n // let ret: ValueType[] = []\n // if (isArray(_value)) {\n // ret = _value as ValueType[]\n // } else if (isObject(_value) && _value?.value) {\n // ret = [_value as ValueType]\n // }\n // return ret\n // } else {\n // let ret: ValueType = {} as ValueType\n // if (!isArray(_value) && _value?.value) {\n // ret = _value\n // }\n // return ret\n // }\n }, [_value, props?.mode])\n\n return (\n <Select\n key={props?.mode}\n labelInValue\n showSearch\n filterOption={false}\n onSearch={debounceFetcher}\n notFoundContent={fetching ? <Spin size=\"small\" /> : null}\n {...others}\n value={value}\n options={options}\n />\n )\n}\n\n/* ============================== split =============================== */\n\nexport const EnumSelectWrapper = (\n props: {\n value?: string | string[]\n } & Omit<SelectProps, 'value'>\n) => {\n const { value: _value = '', onChange, ...others } = props\n\n const value = useMemo(() => {\n let isMultiple = props?.mode === 'multiple'\n\n if (isMultiple) {\n let ret: string[] = isArray(_value) ? (_value as string[]) : []\n return ret\n } else {\n let ret: string = ''\n if (!isArray(_value) && !!_value) {\n ret = _value as string\n }\n return ret\n }\n\n // if (isMultiple) {\n // let ret: string[] = []\n\n // if (isArray(_value)) {\n // ret = _value as string[]\n // } else if (isString(_value) && !!_value) {\n // //兼容旧数据\n // ret = [_value as string]\n // }\n // return ret\n // } else {\n // let ret = ''\n // if (isArray(_value)) {\n // ret = _value?.[0] ?? ''\n // } else {\n // ret = _value as string\n // }\n // return ret\n // }\n }, [_value, props?.mode])\n\n return (\n <Select\n key={props?.mode}\n {...others}\n value={value}\n onChange={(...arg) => {\n props?.onChange?.(...arg)\n }}\n />\n )\n}\n"],"names":["value"],"mappings":";;;;AAcO,SAAS,0BAMd,OAAuC;
|
|
1
|
+
{"version":3,"file":"EnumSelect.js","sources":["../../../../../../packages/dashboard-workbench/components/add-module-modal/components/condition-modal/EnumSelect.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport React, { useEffect, useMemo, useRef, useState } from 'react'\nimport { Select, Spin, type SelectProps } from 'antd'\nimport { isString } from 'antd/es/button'\nimport { debounce, isArray, isObject } from 'lodash-es'\n\nexport interface DebounceSelectProps<ValueType = any>\n extends Omit<SelectProps<ValueType | ValueType[]>, 'options' | 'children' | 'value'> {\n value?: ValueType | ValueType[]\n // onChange?: (v: string) => void\n fetchOptions: (search: string) => Promise<ValueType[]>\n debounceTimeout?: number\n}\n\nexport function DebounceEnumSelectWrapper<\n ValueType extends {\n key?: string\n label: React.ReactNode\n value: string | number\n } = any,\n>(props: DebounceSelectProps<ValueType>) {\n const { fetchOptions, debounceTimeout = 800, value: _value, ...others } = props\n\n const [fetching, setFetching] = useState(false)\n const [options, setOptions] = useState<ValueType[]>([])\n const fetchRef = useRef(0)\n\n const debounceFetcher = useMemo(() => {\n const loadOptions = (value: string) => {\n fetchRef.current += 1\n const fetchId = fetchRef.current\n setOptions([])\n setFetching(true)\n const trimValue = value.trim()\n\n fetchOptions(trimValue).then(newOptions => {\n if (fetchId !== fetchRef.current) {\n // for fetch callback order\n return\n }\n setOptions(newOptions)\n setFetching(false)\n })\n }\n\n return debounce(loadOptions, debounceTimeout)\n }, [fetchOptions, debounceTimeout])\n\n useEffect(() => {\n debounceFetcher('')\n }, [])\n\n /* ============================== split =============================== */\n const value = useMemo(() => {\n let isMultiple = others?.mode === 'multiple'\n\n if (isMultiple) {\n let ret: ValueType[] = isArray(_value) ? (_value as ValueType[]) : []\n return ret\n } else {\n let ret: ValueType = {} as ValueType\n if (!isArray(_value) && _value?.value) {\n ret = _value\n }\n return ret\n }\n\n // //兼容旧数据\n // if (isMultiple) {\n // let ret: ValueType[] = []\n // if (isArray(_value)) {\n // ret = _value as ValueType[]\n // } else if (isObject(_value) && _value?.value) {\n // ret = [_value as ValueType]\n // }\n // return ret\n // } else {\n // let ret: ValueType = {} as ValueType\n // if (!isArray(_value) && _value?.value) {\n // ret = _value\n // }\n // return ret\n // }\n }, [_value, props?.mode])\n\n return (\n <Select\n key={props?.mode}\n labelInValue\n showSearch\n filterOption={false}\n onSearch={debounceFetcher}\n notFoundContent={fetching ? <Spin size=\"small\" /> : null}\n {...others}\n value={value}\n options={options}\n />\n )\n}\n\n/* ============================== split =============================== */\n\nexport const EnumSelectWrapper = (\n props: {\n value?: string | string[]\n } & Omit<SelectProps, 'value'>\n) => {\n const { value: _value = '', onChange, ...others } = props\n\n const value = useMemo(() => {\n let isMultiple = props?.mode === 'multiple'\n\n if (isMultiple) {\n let ret: string[] = isArray(_value) ? (_value as string[]) : []\n return ret\n } else {\n let ret: string = ''\n if (!isArray(_value) && !!_value) {\n ret = _value as string\n }\n return ret\n }\n\n // if (isMultiple) {\n // let ret: string[] = []\n\n // if (isArray(_value)) {\n // ret = _value as string[]\n // } else if (isString(_value) && !!_value) {\n // //兼容旧数据\n // ret = [_value as string]\n // }\n // return ret\n // } else {\n // let ret = ''\n // if (isArray(_value)) {\n // ret = _value?.[0] ?? ''\n // } else {\n // ret = _value as string\n // }\n // return ret\n // }\n }, [_value, props?.mode])\n\n return (\n <Select\n key={props?.mode}\n {...others}\n value={value}\n onChange={(...arg) => {\n props?.onChange?.(...arg)\n }}\n />\n )\n}\n"],"names":["value"],"mappings":";;;;AAcO,SAAS,0BAMd,OAAuC;AACvC,QAAM,EAAE,cAAc,kBAAkB,KAAK,OAAO,QAAQ,GAAG,WAAW;AAE1E,QAAM,CAAC,UAAU,WAAW,IAAI,SAAS,KAAK;AAC9C,QAAM,CAAC,SAAS,UAAU,IAAI,SAAsB,CAAA,CAAE;AACtD,QAAM,WAAW,OAAO,CAAC;AAEzB,QAAM,kBAAkB,QAAQ,MAAM;AACpC,UAAM,cAAc,CAACA,WAAkB;AACrC,eAAS,WAAW;AACpB,YAAM,UAAU,SAAS;AACzB,iBAAW,CAAA,CAAE;AACb,kBAAY,IAAI;AAChB,YAAM,YAAYA,OAAM,KAAA;AAExB,mBAAa,SAAS,EAAE,KAAK,CAAA,eAAc;AACzC,YAAI,YAAY,SAAS,SAAS;AAEhC;AAAA,QACF;AACA,mBAAW,UAAU;AACrB,oBAAY,KAAK;AAAA,MACnB,CAAC;AAAA,IACH;AAEA,WAAO,SAAS,aAAa,eAAe;AAAA,EAC9C,GAAG,CAAC,cAAc,eAAe,CAAC;AAElC,YAAU,MAAM;AACd,oBAAgB,EAAE;AAAA,EACpB,GAAG,CAAA,CAAE;AAGL,QAAM,QAAQ,QAAQ,MAAM;AAC1B,QAAI,cAAa,iCAAQ,UAAS;AAElC,QAAI,YAAY;AACd,UAAI,MAAmB,QAAQ,MAAM,IAAK,SAAyB,CAAA;AACnE,aAAO;AAAA,IACT,OAAO;AACL,UAAI,MAAiB,CAAA;AACrB,UAAI,CAAC,QAAQ,MAAM,MAAK,iCAAQ,QAAO;AACrC,cAAM;AAAA,MACR;AACA,aAAO;AAAA,IACT;AAAA,EAkBF,GAAG,CAAC,QAAQ,+BAAO,IAAI,CAAC;AAExB,SACE;AAAA,IAAC;AAAA,IAAA;AAAA,MAEC,cAAY;AAAA,MACZ,YAAU;AAAA,MACV,cAAc;AAAA,MACd,UAAU;AAAA,MACV,iBAAiB,WAAW,oBAAC,MAAA,EAAK,MAAK,SAAQ,IAAK;AAAA,MACnD,GAAG;AAAA,MACJ;AAAA,MACA;AAAA,IAAA;AAAA,IARK,+BAAO;AAAA,EAAA;AAWlB;AAIO,MAAM,oBAAoB,CAC/B,UAGG;AACH,QAAM,EAAE,OAAO,SAAS,IAAI,UAAU,GAAG,WAAW;AAEpD,QAAM,QAAQ,QAAQ,MAAM;AAC1B,QAAI,cAAa,+BAAO,UAAS;AAEjC,QAAI,YAAY;AACd,UAAI,MAAgB,QAAQ,MAAM,IAAK,SAAsB,CAAA;AAC7D,aAAO;AAAA,IACT,OAAO;AACL,UAAI,MAAc;AAClB,UAAI,CAAC,QAAQ,MAAM,KAAK,CAAC,CAAC,QAAQ;AAChC,cAAM;AAAA,MACR;AACA,aAAO;AAAA,IACT;AAAA,EAqBF,GAAG,CAAC,QAAQ,+BAAO,IAAI,CAAC;AAExB,SACE;AAAA,IAAC;AAAA,IAAA;AAAA,MAEE,GAAG;AAAA,MACJ;AAAA,MACA,UAAU,IAAI,QAAQ;;AACpB,6CAAO,aAAP,+BAAkB,GAAG;AAAA,MACvB;AAAA,IAAA;AAAA,IALK,+BAAO;AAAA,EAAA;AAQlB;"}
|
package/es/dashboard-workbench/components/add-module-modal/components/condition-modal/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sources":["../../../../../../packages/dashboard-workbench/components/add-module-modal/components/condition-modal/config.tsx"],"sourcesContent":["import { useMemo } from 'react'\nimport { useTranslation } from 'react-i18next'\n\nexport const useConditionSymbolOptions = () => {\n const { t, i18n } = useTranslation()\n\n const timeOptions = useMemo(\n () => [\n { label: t('add.add13'), value: '=' }, // \"等于\"\n // { label: t('add.add14'), value: '<' }, // \"早于\"\n // { label: t('add.add15'), value: '>' }, // \"晚于\"\n // { label: t('add.add16'), value: 'contain' }, // \"范围内\"\n { label: t('add.timeBefore'), value: '<' }, // \"早于(不含当天)\"\n { label: t('add.timeAfter'), value: '>' }, // \"晚于(不含当天)\"\n { label: t('add.timeRange'), value: 'contain' }, // \"日期区间(含当天)\"\n { label: t('add.add17'), value: 'null' }, // \"为空\"\n { label: t('add.add18'), value: 'notnull' }, // \"不为空\"\n ],\n [i18n.language]\n )\n\n const boolOptions = useMemo(\n () => [\n { label: t('add.add13'), value: '=' }, // \"等于\"\n ],\n [i18n.language]\n )\n\n const intOptions = useMemo(\n () => [\n { label: t('add.add13'), value: '=' }, // \"等于\"\n { label: t('add.add19'), value: '!=' }, // \"不等于\"\n { label: t('add.add20'), value: '>' }, // \"大于\"\n { label: t('add.add21'), value: '>=' }, // \"大于等于\"\n { label: t('add.add22'), value: '<' }, // \"小于\"\n { label: t('add.add23'), value: '=<' }, // \"小于等于\"\n { label: t('add.add16'), value: 'contain' }, // \"范围内\"\n { label: t('add.add17'), value: 'null' }, // \"为空\"\n { label: t('add.add18'), value: 'notnull' }, // \"不为空\"\n ],\n [i18n.language]\n )\n\n const stringOptions = useMemo(\n () => [\n { label: t('add.add13'), value: '=' }, // \"等于\"\n { label: t('add.add19'), value: '!=' }, // \"不等于\"\n { label: t('add.add24'), value: 'include' }, // \"包含\"\n { label: t('add.add25'), value: 'notinclude' }, // \"不包含\"\n { label: t('add.add17'), value: 'null' }, // \"为空\"\n { label: t('add.add18'), value: 'notnull' }, // \"不为空\"\n ],\n [i18n.language]\n )\n\n const rdateOptions = useMemo(\n () => [\n { label: t('add.add26'), value: 'exactdate' }, // \"具体日期\"\n { label: t('add.add27'), value: 'today' }, // \"今天\"\n { label: t('add.add28'), value: 'yesterday' }, // \"昨天\"\n { label: t('add.add29'), value: 'thisweek' }, // \"本周\"\n { label: t('add.add30'), value: 'lastweek' }, // \"上周\"\n { label: t('add.add31'), value: 'thismonth' }, // \"本月\"\n { label: t('add.add32'), value: 'lastmonth' }, // \"上月\"\n { label: t('add.add37'), value: 'thisMonthBeforeLast' }, // \"上上月\"\n { label: t('add.add33'), value: 'last7days' }, // \"过去7天\"\n { label: t('add.add34'), value: 'last30days' }, // \"过去30天\"\n { label: t('add.add36'), value: 'thisyear' }, // \"今年\"\n { label: t('add.add35'), value: 'lastyear' }, // \"去年\"\n ],\n [i18n.language]\n )\n\n const rdateOptions2 = useMemo(\n () => [\n { label: t('add.add26'), value: 'exactdate' }, // \"具体日期\"\n { label: t('add.add27'), value: 'today' }, // \"今天\"\n { label: t('add.add28'), value: 'yesterday' }, // \"昨天\"\n ],\n [i18n.language]\n )\n\n return {\n timeOptions,\n boolOptions,\n intOptions,\n stringOptions,\n rdateOptions,\n rdateOptions2,\n }\n}\n\nexport const useConditionTypeOptions = () => {\n const { t, i18n } = useTranslation()\n\n const options = useMemo(() => {\n return [\n {\n label: t('all'),\n value: 'all',\n },\n {\n label: t('everyone'),\n value: 'any',\n },\n ]\n }, [i18n.language])\n\n return options\n}\n"],"names":[],"mappings":";;AAGO,MAAM,4BAA4B,MAAM;AAC7C,QAAM,EAAE,GAAG,
|
|
1
|
+
{"version":3,"file":"config.js","sources":["../../../../../../packages/dashboard-workbench/components/add-module-modal/components/condition-modal/config.tsx"],"sourcesContent":["import { useMemo } from 'react'\nimport { useTranslation } from 'react-i18next'\n\nexport const useConditionSymbolOptions = () => {\n const { t, i18n } = useTranslation()\n\n const timeOptions = useMemo(\n () => [\n { label: t('add.add13'), value: '=' }, // \"等于\"\n // { label: t('add.add14'), value: '<' }, // \"早于\"\n // { label: t('add.add15'), value: '>' }, // \"晚于\"\n // { label: t('add.add16'), value: 'contain' }, // \"范围内\"\n { label: t('add.timeBefore'), value: '<' }, // \"早于(不含当天)\"\n { label: t('add.timeAfter'), value: '>' }, // \"晚于(不含当天)\"\n { label: t('add.timeRange'), value: 'contain' }, // \"日期区间(含当天)\"\n { label: t('add.add17'), value: 'null' }, // \"为空\"\n { label: t('add.add18'), value: 'notnull' }, // \"不为空\"\n ],\n [i18n.language]\n )\n\n const boolOptions = useMemo(\n () => [\n { label: t('add.add13'), value: '=' }, // \"等于\"\n ],\n [i18n.language]\n )\n\n const intOptions = useMemo(\n () => [\n { label: t('add.add13'), value: '=' }, // \"等于\"\n { label: t('add.add19'), value: '!=' }, // \"不等于\"\n { label: t('add.add20'), value: '>' }, // \"大于\"\n { label: t('add.add21'), value: '>=' }, // \"大于等于\"\n { label: t('add.add22'), value: '<' }, // \"小于\"\n { label: t('add.add23'), value: '=<' }, // \"小于等于\"\n { label: t('add.add16'), value: 'contain' }, // \"范围内\"\n { label: t('add.add17'), value: 'null' }, // \"为空\"\n { label: t('add.add18'), value: 'notnull' }, // \"不为空\"\n ],\n [i18n.language]\n )\n\n const stringOptions = useMemo(\n () => [\n { label: t('add.add13'), value: '=' }, // \"等于\"\n { label: t('add.add19'), value: '!=' }, // \"不等于\"\n { label: t('add.add24'), value: 'include' }, // \"包含\"\n { label: t('add.add25'), value: 'notinclude' }, // \"不包含\"\n { label: t('add.add17'), value: 'null' }, // \"为空\"\n { label: t('add.add18'), value: 'notnull' }, // \"不为空\"\n ],\n [i18n.language]\n )\n\n const rdateOptions = useMemo(\n () => [\n { label: t('add.add26'), value: 'exactdate' }, // \"具体日期\"\n { label: t('add.add27'), value: 'today' }, // \"今天\"\n { label: t('add.add28'), value: 'yesterday' }, // \"昨天\"\n { label: t('add.add29'), value: 'thisweek' }, // \"本周\"\n { label: t('add.add30'), value: 'lastweek' }, // \"上周\"\n { label: t('add.add31'), value: 'thismonth' }, // \"本月\"\n { label: t('add.add32'), value: 'lastmonth' }, // \"上月\"\n { label: t('add.add37'), value: 'thisMonthBeforeLast' }, // \"上上月\"\n { label: t('add.add33'), value: 'last7days' }, // \"过去7天\"\n { label: t('add.add34'), value: 'last30days' }, // \"过去30天\"\n { label: t('add.add36'), value: 'thisyear' }, // \"今年\"\n { label: t('add.add35'), value: 'lastyear' }, // \"去年\"\n ],\n [i18n.language]\n )\n\n const rdateOptions2 = useMemo(\n () => [\n { label: t('add.add26'), value: 'exactdate' }, // \"具体日期\"\n { label: t('add.add27'), value: 'today' }, // \"今天\"\n { label: t('add.add28'), value: 'yesterday' }, // \"昨天\"\n ],\n [i18n.language]\n )\n\n return {\n timeOptions,\n boolOptions,\n intOptions,\n stringOptions,\n rdateOptions,\n rdateOptions2,\n }\n}\n\nexport const useConditionTypeOptions = () => {\n const { t, i18n } = useTranslation()\n\n const options = useMemo(() => {\n return [\n {\n label: t('all'),\n value: 'all',\n },\n {\n label: t('everyone'),\n value: 'any',\n },\n ]\n }, [i18n.language])\n\n return options\n}\n"],"names":[],"mappings":"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"}
|
package/es/dashboard-workbench/components/add-module-modal/components/condition-modal/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../../packages/dashboard-workbench/components/add-module-modal/components/condition-modal/index.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { useCallback, useEffect, useRef, useState } from 'react'\nimport {\n Button,\n DatePicker,\n Flex,\n Form,\n Input,\n InputNumber,\n Modal,\n Select,\n Space,\n Switch,\n} from 'antd'\nimport { MinusCircleOutlined, PlusOutlined } from '@ant-design/icons'\nimport { useTranslation } from 'react-i18next'\nimport {\n DatePickerWrapper,\n RangePickerWrapper,\n} from '@platox/pivot-table/components/global-filter-condition/ConditionSymbolAndValuePicker'\nimport InputWrapper from '@platox/pivot-table/components/InputWrapper'\nimport { getSafeRegExp } from '@platox/pivot-table/components/SelectWrapper'\nimport { useAppContext } from '../../../../context'\nimport { EnumDataApi, FieldItem } from '../../../../types'\nimport { useConditionSymbolOptions, useConditionTypeOptions } from './config'\nimport { DebounceEnumSelectWrapper, EnumSelectWrapper } from './EnumSelect'\nimport { ConditionBlock } from './interface'\n\ninterface ConditionModalProps {\n open?: boolean\n fieldOptions?: FieldItem[]\n onSubmit?: ((values: any) => void) | undefined\n onClose?: () => void\n onOk?: ((values: any) => void) | undefined\n enumDataApi?: EnumDataApi\n value?: ConditionBlock\n}\n\nconst ConditionModal: React.FC<ConditionModalProps> = ({\n open,\n onClose,\n onOk,\n fieldOptions,\n value,\n enumDataApi,\n}) => {\n const [form] = Form.useForm()\n const { t } = useTranslation()\n const { globalData } = useAppContext()\n\n /* ============================== split =============================== */\n const conditionTypeOptions = useConditionTypeOptions()\n\n const { timeOptions, boolOptions, intOptions, stringOptions, rdateOptions, rdateOptions2 } =\n useConditionSymbolOptions()\n\n const conditionOptions = {\n int: intOptions,\n timestamp: timeOptions,\n string: stringOptions,\n bool: boolOptions,\n float: intOptions,\n enum: stringOptions,\n }\n\n const initData = useCallback(() => {\n if (value?.conditionList) {\n const conditionList = JSON.parse(JSON.stringify(value?.conditionList))\n form.setFieldsValue({\n conditionList: conditionList.map((item: any) => {\n if (item.val === undefined || item.val === '') {\n item.val = ''\n }\n if (item.val2 === undefined || item.val2 === '') {\n item.val2 = ''\n }\n return item\n }),\n conditionType: value.conditionType,\n })\n } else {\n form.setFieldsValue({\n conditionList: [],\n conditionType: 'all',\n })\n }\n }, [value])\n\n useEffect(() => {\n if (open) {\n initData()\n }\n }, [value, open])\n return (\n <>\n <Modal\n title={t('setFilteringCriteria')}\n open={open}\n destroyOnClose\n width=\"650px\"\n onOk={() => {\n const val = form.getFieldsValue()\n const conditionList = val.conditionList\n ? JSON.parse(JSON.stringify(val.conditionList))\n : ''\n const conditionType = val.conditionType || 'all'\n const newVal = {\n conditionList: conditionList.map((item: any) => {\n return item\n }),\n conditionType,\n }\n onClose?.()\n onOk?.(newVal)\n }}\n onCancel={() => {\n initData()\n onClose?.()\n }}\n >\n <Form\n name=\"dynamicForm\"\n form={form}\n initialValues={{ conditionType: 'all' }}\n style={{ maxWidth: 650, marginTop: '30px' }}\n >\n <Form.Item noStyle dependencies={['conditionList']}>\n {({ getFieldValue }) =>\n getFieldValue('conditionList')?.length > 1 ? (\n <Flex align=\"center\" gap={5} style={{ marginBottom: '20px' }}>\n {t('conformTo')}\n <Form.Item name=\"conditionType\" noStyle>\n <Select style={{ width: '150px' }} options={conditionTypeOptions} />\n </Form.Item>{' '}\n {t('condition')}\n </Flex>\n ) : null\n }\n </Form.Item>\n\n <Form.List name=\"conditionList\">\n {(fields, { add, remove }) => (\n <>\n {fields.map(({ key, name, ...restField }) => {\n console.log('field', key, name, restField)\n let matchOptions = fieldOptions?.find(\n item => item.value === form.getFieldValue(['conditionList', name, 'field'])\n )\n let disabled = matchOptions?.disabled || false\n return (\n <Space key={key} style={{ display: 'flex', marginBottom: 8 }} align=\"baseline\">\n <Form.Item {...restField} name={[name, 'field']} noStyle>\n <Select\n style={{ width: '150px' }}\n options={fieldOptions || []}\n onChange={val => {\n const values = form.getFieldValue('conditionList')\n const currField = fieldOptions?.find(item => item.value === val)\n values[name].condition = '='\n values[name].type = currField?.type\n values[name].val = ''\n values[name].val2 = ''\n if (currField?.type === 'timestamp') {\n values[name].rdate = 'exactdate'\n }\n\n form.setFieldsValue({\n conditionList: values,\n })\n }}\n />\n </Form.Item>\n\n <Form.Item noStyle dependencies={[['conditionList', name, 'field']]}>\n {({ getFieldValue }) => {\n const type = fieldOptions?.find(\n item => item.value === getFieldValue(['conditionList', name, 'field'])\n )?.type\n return (\n <>\n <Form.Item {...restField} name={[name, 'condition']} noStyle>\n <Select\n disabled={disabled}\n style={{ width: '100px' }}\n popupMatchSelectWidth={200}\n options={\n type\n ? conditionOptions[type as keyof typeof conditionOptions]\n : []\n }\n onChange={() => {\n const values = form.getFieldValue('conditionList')\n if (type === 'timestamp') {\n values[name].rdate = 'exactdate'\n }\n form.setFieldsValue({\n conditionList: values,\n })\n }}\n />\n </Form.Item>\n </>\n )\n }}\n </Form.Item>\n\n <Form.Item\n noStyle\n dependencies={[\n ['conditionList', name, 'field'],\n ['conditionList', name, 'condition'],\n ['conditionList', name, 'rdate'],\n ]}\n >\n {({ getFieldValue }) => {\n const field = getFieldValue(['conditionList', name, 'field'])\n const fieldData = fieldOptions?.find(item => item.value === field)\n const type = fieldData?.type || ''\n const enumOptions = fieldData?.enum?.map(item => ({\n ...item,\n label: globalData?.fieldMap?.[item.label] || item.label,\n }))\n const enumUrl = fieldData?.dynamic_call_enum_api\n const condition = getFieldValue(['conditionList', name, 'condition'])\n const rdate = getFieldValue(['conditionList', name, 'rdate'])\n return (\n <>\n {['int', 'float'].includes(type) &&\n !['null', 'notnull'].includes(condition) ? (\n <>\n <Form.Item {...restField} name={[name, 'val']} noStyle>\n <InputNumber\n disabled={disabled}\n style={{ width: '100px' }}\n placeholder={t('pleaseEnter')}\n />\n </Form.Item>\n {condition === 'contain' ? (\n <Form.Item {...restField} name={[name, 'val2']} noStyle>\n <InputNumber\n disabled={disabled}\n style={{\n width: '100px',\n marginLeft: '5px',\n }}\n placeholder={t('pleaseEnter')}\n />\n </Form.Item>\n ) : null}\n </>\n ) : null}\n {type === 'timestamp' && !['null', 'notnull'].includes(condition) ? (\n <>\n {condition === '=' || condition === '<' || condition === '>' ? (\n <Form.Item {...restField} name={[name, 'rdate']} noStyle>\n <Select\n disabled={disabled}\n showSearch\n filterOption={(input, option) => {\n const reg = getSafeRegExp(input)\n return reg ? reg?.test(option?.label ?? '') : false\n }}\n optionFilterProp=\"label\"\n style={{ width: '150px' }}\n dropdownStyle={{ width: 200 }}\n options={condition === '=' ? rdateOptions : rdateOptions2}\n />\n </Form.Item>\n ) : null}\n\n {rdate == 'exactdate' && condition !== 'contain' ? (\n <Form.Item {...restField} name={[name, 'val']} noStyle>\n <DatePickerWrapper\n disabled={disabled}\n style={{ width: '150px' }}\n />\n </Form.Item>\n ) : null}\n\n {condition === 'contain' ? (\n <Form.Item {...restField} noStyle>\n <RangePickerWrapper\n disabled={disabled}\n value={[\n getFieldValue(['conditionList', name, 'val']),\n getFieldValue(['conditionList', name, 'val2']),\n ]}\n onChange={v => {\n form.setFieldsValue({\n ['conditionList']: [\n ...form\n .getFieldValue('conditionList')\n .map((item: any) => {\n if (item.field === field) {\n return {\n ...item,\n val: v[0],\n val2: v[1],\n }\n }\n return item\n }),\n ],\n })\n }}\n />\n </Form.Item>\n ) : null}\n </>\n ) : null}\n {['string'].includes(type) &&\n !['null', 'notnull'].includes(condition) ? (\n <>\n <Form.Item {...restField} name={[name, 'val']} noStyle>\n <InputWrapper\n disabled={disabled}\n style={{ width: '150px' }}\n placeholder={t('pleaseEnter')}\n />\n </Form.Item>\n {condition === 'contain' ? (\n <Form.Item {...restField} name={[name, 'val2']} noStyle>\n <InputWrapper\n disabled={disabled}\n style={{\n width: '150px',\n marginLeft: '5px',\n }}\n placeholder={t('pleaseEnter')}\n />\n </Form.Item>\n ) : null}\n </>\n ) : null}\n {['bool'].includes(type) ? (\n <>\n <Form.Item {...restField} name={[name, 'val']} noStyle>\n <Switch disabled={disabled} />\n </Form.Item>\n </>\n ) : null}\n {['enum'].includes(type) &&\n !['null', 'notnull'].includes(condition) ? (\n <>\n <Form.Item {...restField} name={[name, 'val']} noStyle>\n {enumOptions && enumOptions?.length > 0 ? (\n <EnumSelectWrapper\n disabled={disabled}\n showSearch\n filterOption={(input, option) => {\n const reg = getSafeRegExp(input)\n return reg ? reg?.test(`${option?.label ?? ''}`) : false\n }}\n optionFilterProp=\"label\"\n style={{ width: '320px' }}\n options={enumOptions}\n {...(['include', 'notinclude'].includes(condition)\n ? { mode: 'multiple', maxTagCount: 'responsive' }\n : {})}\n />\n ) : enumUrl ? (\n <DebounceEnumSelectWrapper\n disabled={disabled}\n style={{ width: '320px' }}\n // popupMatchSelectWidth={300}\n {...(['include', 'notinclude'].includes(condition)\n ? { mode: 'multiple', maxTagCount: 'responsive' }\n : {})}\n fetchOptions={async value => {\n let dfUrl = enumUrl\n if (value) {\n dfUrl = `${dfUrl}?q=${value}`\n }\n return (await enumDataApi?.(dfUrl)?.then(\n (res: any) => res.data?.list\n )) as any\n }}\n />\n ) : null}\n </Form.Item>\n </>\n ) : null}\n </>\n )\n }}\n </Form.Item>\n <MinusCircleOutlined onClick={() => remove(name)} />\n </Space>\n )\n })}\n <Form.Item>\n <Button\n type=\"dashed\"\n onClick={() => {\n const type = fieldOptions?.[0].value\n add(\n type !== 'timestamp'\n ? {\n field: fieldOptions?.[0].value,\n condition: '=',\n type: fieldOptions?.[0].type,\n val: '',\n val2: '',\n }\n : {\n field: fieldOptions?.[0].value,\n condition: '=',\n type: fieldOptions?.[0].type,\n exactdate: 'exactdate',\n val: '',\n val2: '',\n }\n )\n }}\n block\n icon={<PlusOutlined />}\n >\n {t('addCondition')}\n </Button>\n </Form.Item>\n </>\n )}\n </Form.List>\n </Form>\n </Modal>\n </>\n )\n}\nexport default ConditionModal\n"],"names":["_a","value"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../../packages/dashboard-workbench/components/add-module-modal/components/condition-modal/index.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { useCallback, useEffect, useRef, useState } from 'react'\nimport {\n Button,\n DatePicker,\n Flex,\n Form,\n Input,\n InputNumber,\n Modal,\n Select,\n Space,\n Switch,\n} from 'antd'\nimport { MinusCircleOutlined, PlusOutlined } from '@ant-design/icons'\nimport { useTranslation } from 'react-i18next'\nimport {\n DatePickerWrapper,\n RangePickerWrapper,\n} from '@platox/pivot-table/components/global-filter-condition/ConditionSymbolAndValuePicker'\nimport InputWrapper from '@platox/pivot-table/components/InputWrapper'\nimport { getSafeRegExp } from '@platox/pivot-table/components/SelectWrapper'\nimport { useAppContext } from '../../../../context'\nimport { EnumDataApi, FieldItem } from '../../../../types'\nimport { useConditionSymbolOptions, useConditionTypeOptions } from './config'\nimport { DebounceEnumSelectWrapper, EnumSelectWrapper } from './EnumSelect'\nimport { ConditionBlock } from './interface'\n\ninterface ConditionModalProps {\n open?: boolean\n fieldOptions?: FieldItem[]\n onSubmit?: ((values: any) => void) | undefined\n onClose?: () => void\n onOk?: ((values: any) => void) | undefined\n enumDataApi?: EnumDataApi\n value?: ConditionBlock\n}\n\nconst ConditionModal: React.FC<ConditionModalProps> = ({\n open,\n onClose,\n onOk,\n fieldOptions,\n value,\n enumDataApi,\n}) => {\n const [form] = Form.useForm()\n const { t } = useTranslation()\n const { globalData } = useAppContext()\n\n /* ============================== split =============================== */\n const conditionTypeOptions = useConditionTypeOptions()\n\n const { timeOptions, boolOptions, intOptions, stringOptions, rdateOptions, rdateOptions2 } =\n useConditionSymbolOptions()\n\n const conditionOptions = {\n int: intOptions,\n timestamp: timeOptions,\n string: stringOptions,\n bool: boolOptions,\n float: intOptions,\n enum: stringOptions,\n }\n\n const initData = useCallback(() => {\n if (value?.conditionList) {\n const conditionList = JSON.parse(JSON.stringify(value?.conditionList))\n form.setFieldsValue({\n conditionList: conditionList.map((item: any) => {\n if (item.val === undefined || item.val === '') {\n item.val = ''\n }\n if (item.val2 === undefined || item.val2 === '') {\n item.val2 = ''\n }\n return item\n }),\n conditionType: value.conditionType,\n })\n } else {\n form.setFieldsValue({\n conditionList: [],\n conditionType: 'all',\n })\n }\n }, [value])\n\n useEffect(() => {\n if (open) {\n initData()\n }\n }, [value, open])\n return (\n <>\n <Modal\n title={t('setFilteringCriteria')}\n open={open}\n destroyOnClose\n width=\"650px\"\n onOk={() => {\n const val = form.getFieldsValue()\n const conditionList = val.conditionList\n ? JSON.parse(JSON.stringify(val.conditionList))\n : ''\n const conditionType = val.conditionType || 'all'\n const newVal = {\n conditionList: conditionList.map((item: any) => {\n return item\n }),\n conditionType,\n }\n onClose?.()\n onOk?.(newVal)\n }}\n onCancel={() => {\n initData()\n onClose?.()\n }}\n >\n <Form\n name=\"dynamicForm\"\n form={form}\n initialValues={{ conditionType: 'all' }}\n style={{ maxWidth: 650, marginTop: '30px' }}\n >\n <Form.Item noStyle dependencies={['conditionList']}>\n {({ getFieldValue }) =>\n getFieldValue('conditionList')?.length > 1 ? (\n <Flex align=\"center\" gap={5} style={{ marginBottom: '20px' }}>\n {t('conformTo')}\n <Form.Item name=\"conditionType\" noStyle>\n <Select style={{ width: '150px' }} options={conditionTypeOptions} />\n </Form.Item>{' '}\n {t('condition')}\n </Flex>\n ) : null\n }\n </Form.Item>\n\n <Form.List name=\"conditionList\">\n {(fields, { add, remove }) => (\n <>\n {fields.map(({ key, name, ...restField }) => {\n console.log('field', key, name, restField)\n let matchOptions = fieldOptions?.find(\n item => item.value === form.getFieldValue(['conditionList', name, 'field'])\n )\n let disabled = matchOptions?.disabled || false\n return (\n <Space key={key} style={{ display: 'flex', marginBottom: 8 }} align=\"baseline\">\n <Form.Item {...restField} name={[name, 'field']} noStyle>\n <Select\n style={{ width: '150px' }}\n options={fieldOptions || []}\n onChange={val => {\n const values = form.getFieldValue('conditionList')\n const currField = fieldOptions?.find(item => item.value === val)\n values[name].condition = '='\n values[name].type = currField?.type\n values[name].val = ''\n values[name].val2 = ''\n if (currField?.type === 'timestamp') {\n values[name].rdate = 'exactdate'\n }\n\n form.setFieldsValue({\n conditionList: values,\n })\n }}\n />\n </Form.Item>\n\n <Form.Item noStyle dependencies={[['conditionList', name, 'field']]}>\n {({ getFieldValue }) => {\n const type = fieldOptions?.find(\n item => item.value === getFieldValue(['conditionList', name, 'field'])\n )?.type\n return (\n <>\n <Form.Item {...restField} name={[name, 'condition']} noStyle>\n <Select\n disabled={disabled}\n style={{ width: '100px' }}\n popupMatchSelectWidth={200}\n options={\n type\n ? conditionOptions[type as keyof typeof conditionOptions]\n : []\n }\n onChange={() => {\n const values = form.getFieldValue('conditionList')\n if (type === 'timestamp') {\n values[name].rdate = 'exactdate'\n }\n form.setFieldsValue({\n conditionList: values,\n })\n }}\n />\n </Form.Item>\n </>\n )\n }}\n </Form.Item>\n\n <Form.Item\n noStyle\n dependencies={[\n ['conditionList', name, 'field'],\n ['conditionList', name, 'condition'],\n ['conditionList', name, 'rdate'],\n ]}\n >\n {({ getFieldValue }) => {\n const field = getFieldValue(['conditionList', name, 'field'])\n const fieldData = fieldOptions?.find(item => item.value === field)\n const type = fieldData?.type || ''\n const enumOptions = fieldData?.enum?.map(item => ({\n ...item,\n label: globalData?.fieldMap?.[item.label] || item.label,\n }))\n const enumUrl = fieldData?.dynamic_call_enum_api\n const condition = getFieldValue(['conditionList', name, 'condition'])\n const rdate = getFieldValue(['conditionList', name, 'rdate'])\n return (\n <>\n {['int', 'float'].includes(type) &&\n !['null', 'notnull'].includes(condition) ? (\n <>\n <Form.Item {...restField} name={[name, 'val']} noStyle>\n <InputNumber\n disabled={disabled}\n style={{ width: '100px' }}\n placeholder={t('pleaseEnter')}\n />\n </Form.Item>\n {condition === 'contain' ? (\n <Form.Item {...restField} name={[name, 'val2']} noStyle>\n <InputNumber\n disabled={disabled}\n style={{\n width: '100px',\n marginLeft: '5px',\n }}\n placeholder={t('pleaseEnter')}\n />\n </Form.Item>\n ) : null}\n </>\n ) : null}\n {type === 'timestamp' && !['null', 'notnull'].includes(condition) ? (\n <>\n {condition === '=' || condition === '<' || condition === '>' ? (\n <Form.Item {...restField} name={[name, 'rdate']} noStyle>\n <Select\n disabled={disabled}\n showSearch\n filterOption={(input, option) => {\n const reg = getSafeRegExp(input)\n return reg ? reg?.test(option?.label ?? '') : false\n }}\n optionFilterProp=\"label\"\n style={{ width: '150px' }}\n dropdownStyle={{ width: 200 }}\n options={condition === '=' ? rdateOptions : rdateOptions2}\n />\n </Form.Item>\n ) : null}\n\n {rdate == 'exactdate' && condition !== 'contain' ? (\n <Form.Item {...restField} name={[name, 'val']} noStyle>\n <DatePickerWrapper\n disabled={disabled}\n style={{ width: '150px' }}\n />\n </Form.Item>\n ) : null}\n\n {condition === 'contain' ? (\n <Form.Item {...restField} noStyle>\n <RangePickerWrapper\n disabled={disabled}\n value={[\n getFieldValue(['conditionList', name, 'val']),\n getFieldValue(['conditionList', name, 'val2']),\n ]}\n onChange={v => {\n form.setFieldsValue({\n ['conditionList']: [\n ...form\n .getFieldValue('conditionList')\n .map((item: any) => {\n if (item.field === field) {\n return {\n ...item,\n val: v[0],\n val2: v[1],\n }\n }\n return item\n }),\n ],\n })\n }}\n />\n </Form.Item>\n ) : null}\n </>\n ) : null}\n {['string'].includes(type) &&\n !['null', 'notnull'].includes(condition) ? (\n <>\n <Form.Item {...restField} name={[name, 'val']} noStyle>\n <InputWrapper\n disabled={disabled}\n style={{ width: '150px' }}\n placeholder={t('pleaseEnter')}\n />\n </Form.Item>\n {condition === 'contain' ? (\n <Form.Item {...restField} name={[name, 'val2']} noStyle>\n <InputWrapper\n disabled={disabled}\n style={{\n width: '150px',\n marginLeft: '5px',\n }}\n placeholder={t('pleaseEnter')}\n />\n </Form.Item>\n ) : null}\n </>\n ) : null}\n {['bool'].includes(type) ? (\n <>\n <Form.Item {...restField} name={[name, 'val']} noStyle>\n <Switch disabled={disabled} />\n </Form.Item>\n </>\n ) : null}\n {['enum'].includes(type) &&\n !['null', 'notnull'].includes(condition) ? (\n <>\n <Form.Item {...restField} name={[name, 'val']} noStyle>\n {enumOptions && enumOptions?.length > 0 ? (\n <EnumSelectWrapper\n disabled={disabled}\n showSearch\n filterOption={(input, option) => {\n const reg = getSafeRegExp(input)\n return reg ? reg?.test(`${option?.label ?? ''}`) : false\n }}\n optionFilterProp=\"label\"\n style={{ width: '320px' }}\n options={enumOptions}\n {...(['include', 'notinclude'].includes(condition)\n ? { mode: 'multiple', maxTagCount: 'responsive' }\n : {})}\n />\n ) : enumUrl ? (\n <DebounceEnumSelectWrapper\n disabled={disabled}\n style={{ width: '320px' }}\n // popupMatchSelectWidth={300}\n {...(['include', 'notinclude'].includes(condition)\n ? { mode: 'multiple', maxTagCount: 'responsive' }\n : {})}\n fetchOptions={async value => {\n let dfUrl = enumUrl\n if (value) {\n dfUrl = `${dfUrl}?q=${value}`\n }\n return (await enumDataApi?.(dfUrl)?.then(\n (res: any) => res.data?.list\n )) as any\n }}\n />\n ) : null}\n </Form.Item>\n </>\n ) : null}\n </>\n )\n }}\n </Form.Item>\n <MinusCircleOutlined onClick={() => remove(name)} />\n </Space>\n )\n })}\n <Form.Item>\n <Button\n type=\"dashed\"\n onClick={() => {\n const type = fieldOptions?.[0].value\n add(\n type !== 'timestamp'\n ? {\n field: fieldOptions?.[0].value,\n condition: '=',\n type: fieldOptions?.[0].type,\n val: '',\n val2: '',\n }\n : {\n field: fieldOptions?.[0].value,\n condition: '=',\n type: fieldOptions?.[0].type,\n exactdate: 'exactdate',\n val: '',\n val2: '',\n }\n )\n }}\n block\n icon={<PlusOutlined />}\n >\n {t('addCondition')}\n </Button>\n </Form.Item>\n </>\n )}\n </Form.List>\n </Form>\n </Modal>\n </>\n )\n}\nexport default ConditionModal\n"],"names":["_a","value"],"mappings":"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"}
|
package/es/dashboard-workbench/components/add-module-modal/components/select-color/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../../packages/dashboard-workbench/components/add-module-modal/components/select-color/index.tsx"],"sourcesContent":["import { CheckOutlined } from '@ant-design/icons'\nimport './index.less'\nimport { useEffect, useState } from 'react'\n\nexport type StatisticsCustomeStylesTypes = {\n color?: string\n unit?: string\n precision?: number\n desc: string\n}\n\ninterface CustomeStylesProps {\n value?: string\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n onChange?: ((values: any) => void) | undefined\n}\nconst CustomeStyles: React.FC<CustomeStylesProps> = ({ value, onChange }) => {\n const [color, setColor] = useState<string | undefined>()\n const colors = [\n '#373c43',\n '#3370ff',\n '#4954e6',\n '#34c724',\n '#14c0ff',\n '#ffc60a',\n '#f80',\n '#f76964',\n ]\n\n useEffect(() => {\n setColor(value)\n }, [value])\n\n return (\n <div className=\"pane-item-body item-body-column\">\n <div className=\"panel-single-color-selector\">\n {colors.map((item, idx) => (\n <div\n key={idx}\n className=\"panel-single-color-selector-color-item\"\n onClick={() => {\n setColor(item)\n onChange?.(item)\n }}\n >\n <div\n className=\"panel-single-color-selector-color-item-background\"\n style={{ background: item }}\n ></div>\n {color === item ? (\n <span className=\"panel-icon\">\n <CheckOutlined />\n </span>\n ) : null}\n </div>\n ))}\n </div>\n </div>\n )\n}\nexport default CustomeStyles\n"],"names":[],"mappings":";;;;AAgBA,MAAM,gBAA8C,CAAC,EAAE,OAAO,eAAe;AAC3E,QAAM,CAAC,OAAO,QAAQ,IAAI,
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../../packages/dashboard-workbench/components/add-module-modal/components/select-color/index.tsx"],"sourcesContent":["import { CheckOutlined } from '@ant-design/icons'\nimport './index.less'\nimport { useEffect, useState } from 'react'\n\nexport type StatisticsCustomeStylesTypes = {\n color?: string\n unit?: string\n precision?: number\n desc: string\n}\n\ninterface CustomeStylesProps {\n value?: string\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n onChange?: ((values: any) => void) | undefined\n}\nconst CustomeStyles: React.FC<CustomeStylesProps> = ({ value, onChange }) => {\n const [color, setColor] = useState<string | undefined>()\n const colors = [\n '#373c43',\n '#3370ff',\n '#4954e6',\n '#34c724',\n '#14c0ff',\n '#ffc60a',\n '#f80',\n '#f76964',\n ]\n\n useEffect(() => {\n setColor(value)\n }, [value])\n\n return (\n <div className=\"pane-item-body item-body-column\">\n <div className=\"panel-single-color-selector\">\n {colors.map((item, idx) => (\n <div\n key={idx}\n className=\"panel-single-color-selector-color-item\"\n onClick={() => {\n setColor(item)\n onChange?.(item)\n }}\n >\n <div\n className=\"panel-single-color-selector-color-item-background\"\n style={{ background: item }}\n ></div>\n {color === item ? (\n <span className=\"panel-icon\">\n <CheckOutlined />\n </span>\n ) : null}\n </div>\n ))}\n </div>\n </div>\n )\n}\nexport default CustomeStyles\n"],"names":[],"mappings":";;;;AAgBA,MAAM,gBAA8C,CAAC,EAAE,OAAO,eAAe;AAC3E,QAAM,CAAC,OAAO,QAAQ,IAAI,SAAA;AAC1B,QAAM,SAAS;AAAA,IACb;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAGF,YAAU,MAAM;AACd,aAAS,KAAK;AAAA,EAChB,GAAG,CAAC,KAAK,CAAC;AAEV,SACE,oBAAC,OAAA,EAAI,WAAU,mCACb,UAAA,oBAAC,OAAA,EAAI,WAAU,+BACZ,UAAA,OAAO,IAAI,CAAC,MAAM,QACjB;AAAA,IAAC;AAAA,IAAA;AAAA,MAEC,WAAU;AAAA,MACV,SAAS,MAAM;AACb,iBAAS,IAAI;AACb,6CAAW;AAAA,MACb;AAAA,MAEA,UAAA;AAAA,QAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAU;AAAA,YACV,OAAO,EAAE,YAAY,KAAA;AAAA,UAAK;AAAA,QAAA;AAAA,QAE3B,UAAU,OACT,oBAAC,QAAA,EAAK,WAAU,cACd,UAAA,oBAAC,eAAA,CAAA,CAAc,EAAA,CACjB,IACE;AAAA,MAAA;AAAA,IAAA;AAAA,IAfC;AAAA,EAAA,CAiBR,GACH,EAAA,CACF;AAEJ;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConditionRowItem.js","sources":["../../../../packages/dashboard-workbench/components/global-filter-condition/ConditionRowItem.tsx"],"sourcesContent":["import React, { useMemo } from 'react'\nimport { MinusCircleOutlined } from '@ant-design/icons'\nimport { useControllableValue, useMemoizedFn } from 'ahooks'\nimport { omit } from 'lodash-es'\nimport ConditionSymbolAndValuePicker from './ConditionSymbolAndValuePicker'\nimport { FieldPicker, FiledPickerValue } from './FieldPicker'\nimport { ConditionListItemWrapper } from './interface'\nimport { useContext } from './useContext'\nimport { getMergeId } from './util'\n\nconst componentName = 'ConditionRowItem'\n\nexport interface ConditionRowItemProps {\n value?: ConditionListItemWrapper\n onChange?: (value: ConditionListItemWrapper) => void\n\n onDelete?: () => void\n}\n\nexport const ConditionRowItem: React.FC<ConditionRowItemProps> = props => {\n const [value, onChange] = useControllableValue<ConditionListItemWrapper>(props)\n\n /* ============================== split =============================== */\n const fieldPickerValue = useMemo(() => {\n let fieldPickerValue = !!value?.field\n ? {\n dataSourceId: value?.dataSourceId!,\n field: value?.field!,\n }\n : undefined\n\n return fieldPickerValue\n }, [value?.field, value?.dataSourceId])\n\n const handleFieldePickerChange = (v: FiledPickerValue) => {\n // 切换了数据源,清空字段\n const initialValues: Omit<ConditionListItemWrapper, 'field'> = {\n condition: '=',\n val: '',\n val2: '',\n rdate: 'exactdate',\n }\n if (v) {\n let selectField = flattenFieldMap?.get(getMergeId(v.dataSourceId, v.field))\n onChange({\n ...initialValues,\n dataSourceId: v.dataSourceId!,\n field: v.field!,\n type: selectField?.field?.type!,\n } as Partial<ConditionListItemWrapper>)\n } else {\n onChange({\n ...initialValues,\n dataSourceId: undefined,\n field: undefined,\n type: undefined,\n })\n }\n }\n\n /* ============================== split =============================== */\n const { flattenFieldMap } = useContext()\n const flattenFieldMapItem = flattenFieldMap?.get(getMergeId(value?.dataSourceId!, value?.field!))\n const conditionSymbolAndValuePickerValue = omit(value, ['field'])\n const handleConditionSymbolAndValuePickerValue = useMemoizedFn(\n (v: Omit<ConditionListItemWrapper, 'field'>) => {\n return onChange({\n ...value,\n ...v,\n })\n }\n )\n\n return (\n <div\n style={{\n display: 'flex',\n gap: '10px',\n }}\n >\n <FieldPicker value={fieldPickerValue} onChange={handleFieldePickerChange} />\n <ConditionSymbolAndValuePicker\n value={conditionSymbolAndValuePickerValue}\n onChange={handleConditionSymbolAndValuePickerValue}\n field={flattenFieldMapItem?.field}\n />\n <MinusCircleOutlined\n style={{\n cursor: 'pointer',\n }}\n onClick={props.onDelete}\n />\n </div>\n )\n}\n\nConditionRowItem.displayName = 'ConditionRowItem'\n\nexport default ConditionRowItem\n"],"names":["fieldPickerValue"],"mappings":";;;;;;;;;AAmBO,MAAM,mBAAoD,
|
|
1
|
+
{"version":3,"file":"ConditionRowItem.js","sources":["../../../../packages/dashboard-workbench/components/global-filter-condition/ConditionRowItem.tsx"],"sourcesContent":["import React, { useMemo } from 'react'\nimport { MinusCircleOutlined } from '@ant-design/icons'\nimport { useControllableValue, useMemoizedFn } from 'ahooks'\nimport { omit } from 'lodash-es'\nimport ConditionSymbolAndValuePicker from './ConditionSymbolAndValuePicker'\nimport { FieldPicker, FiledPickerValue } from './FieldPicker'\nimport { ConditionListItemWrapper } from './interface'\nimport { useContext } from './useContext'\nimport { getMergeId } from './util'\n\nconst componentName = 'ConditionRowItem'\n\nexport interface ConditionRowItemProps {\n value?: ConditionListItemWrapper\n onChange?: (value: ConditionListItemWrapper) => void\n\n onDelete?: () => void\n}\n\nexport const ConditionRowItem: React.FC<ConditionRowItemProps> = props => {\n const [value, onChange] = useControllableValue<ConditionListItemWrapper>(props)\n\n /* ============================== split =============================== */\n const fieldPickerValue = useMemo(() => {\n let fieldPickerValue = !!value?.field\n ? {\n dataSourceId: value?.dataSourceId!,\n field: value?.field!,\n }\n : undefined\n\n return fieldPickerValue\n }, [value?.field, value?.dataSourceId])\n\n const handleFieldePickerChange = (v: FiledPickerValue) => {\n // 切换了数据源,清空字段\n const initialValues: Omit<ConditionListItemWrapper, 'field'> = {\n condition: '=',\n val: '',\n val2: '',\n rdate: 'exactdate',\n }\n if (v) {\n let selectField = flattenFieldMap?.get(getMergeId(v.dataSourceId, v.field))\n onChange({\n ...initialValues,\n dataSourceId: v.dataSourceId!,\n field: v.field!,\n type: selectField?.field?.type!,\n } as Partial<ConditionListItemWrapper>)\n } else {\n onChange({\n ...initialValues,\n dataSourceId: undefined,\n field: undefined,\n type: undefined,\n })\n }\n }\n\n /* ============================== split =============================== */\n const { flattenFieldMap } = useContext()\n const flattenFieldMapItem = flattenFieldMap?.get(getMergeId(value?.dataSourceId!, value?.field!))\n const conditionSymbolAndValuePickerValue = omit(value, ['field'])\n const handleConditionSymbolAndValuePickerValue = useMemoizedFn(\n (v: Omit<ConditionListItemWrapper, 'field'>) => {\n return onChange({\n ...value,\n ...v,\n })\n }\n )\n\n return (\n <div\n style={{\n display: 'flex',\n gap: '10px',\n }}\n >\n <FieldPicker value={fieldPickerValue} onChange={handleFieldePickerChange} />\n <ConditionSymbolAndValuePicker\n value={conditionSymbolAndValuePickerValue}\n onChange={handleConditionSymbolAndValuePickerValue}\n field={flattenFieldMapItem?.field}\n />\n <MinusCircleOutlined\n style={{\n cursor: 'pointer',\n }}\n onClick={props.onDelete}\n />\n </div>\n )\n}\n\nConditionRowItem.displayName = 'ConditionRowItem'\n\nexport default ConditionRowItem\n"],"names":["fieldPickerValue"],"mappings":";;;;;;;;;AAmBO,MAAM,mBAAoD,CAAA,UAAS;AACxE,QAAM,CAAC,OAAO,QAAQ,IAAI,qBAA+C,KAAK;AAG9E,QAAM,mBAAmB,QAAQ,MAAM;AACrC,QAAIA,oBAAmB,CAAC,EAAC,+BAAO,SAC5B;AAAA,MACE,cAAc,+BAAO;AAAA,MACrB,OAAO,+BAAO;AAAA,IAAA,IAEhB;AAEJ,WAAOA;AAAAA,EACT,GAAG,CAAC,+BAAO,OAAO,+BAAO,YAAY,CAAC;AAEtC,QAAM,2BAA2B,CAAC,MAAwB;;AAExD,UAAM,gBAAyD;AAAA,MAC7D,WAAW;AAAA,MACX,KAAK;AAAA,MACL,MAAM;AAAA,MACN,OAAO;AAAA,IAAA;AAET,QAAI,GAAG;AACL,UAAI,cAAc,mDAAiB,IAAI,WAAW,EAAE,cAAc,EAAE,KAAK;AACzE,eAAS;AAAA,QACP,GAAG;AAAA,QACH,cAAc,EAAE;AAAA,QAChB,OAAO,EAAE;AAAA,QACT,OAAM,gDAAa,UAAb,mBAAoB;AAAA,MAAA,CACU;AAAA,IACxC,OAAO;AACL,eAAS;AAAA,QACP,GAAG;AAAA,QACH,cAAc;AAAA,QACd,OAAO;AAAA,QACP,MAAM;AAAA,MAAA,CACP;AAAA,IACH;AAAA,EACF;AAGA,QAAM,EAAE,gBAAA,IAAoB,WAAA;AAC5B,QAAM,sBAAsB,mDAAiB,IAAI,WAAW,+BAAO,cAAe,+BAAO,KAAM;AAC/F,QAAM,qCAAqC,KAAK,OAAO,CAAC,OAAO,CAAC;AAChE,QAAM,2CAA2C;AAAA,IAC/C,CAAC,MAA+C;AAC9C,aAAO,SAAS;AAAA,QACd,GAAG;AAAA,QACH,GAAG;AAAA,MAAA,CACJ;AAAA,IACH;AAAA,EAAA;AAGF,SACE;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,OAAO;AAAA,QACL,SAAS;AAAA,QACT,KAAK;AAAA,MAAA;AAAA,MAGP,UAAA;AAAA,QAAA,oBAAC,aAAA,EAAY,OAAO,kBAAkB,UAAU,0BAA0B;AAAA,QAC1E;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,OAAO;AAAA,YACP,UAAU;AAAA,YACV,OAAO,2DAAqB;AAAA,UAAA;AAAA,QAAA;AAAA,QAE9B;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,OAAO;AAAA,cACL,QAAQ;AAAA,YAAA;AAAA,YAEV,SAAS,MAAM;AAAA,UAAA;AAAA,QAAA;AAAA,MACjB;AAAA,IAAA;AAAA,EAAA;AAGN;AAEA,iBAAiB,cAAc;"}
|