@platox/pivot-table 0.0.34 → 0.0.35
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/add-module-modal/add-calendar-modal/custome-data.js +72 -81
- 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.d.ts +1 -5
- package/es/dashboard-workbench/components/add-module-modal/add-calendar-modal/index.js +11 -20
- 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/custome-data.d.ts +4 -2
- 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/index.d.ts +1 -8
- package/es/dashboard-workbench/components/add-module-modal/add-chart-modal/index.js +11 -20
- 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-statistics-modal/index.d.ts +1 -7
- package/es/dashboard-workbench/components/add-module-modal/add-statistics-modal/index.js +11 -20
- package/es/dashboard-workbench/components/add-module-modal/add-statistics-modal/index.js.map +1 -1
- package/es/dashboard-workbench/components/module-content/calendar-module/index.js +5 -7
- package/es/dashboard-workbench/components/module-content/calendar-module/index.js.map +1 -1
- package/es/dashboard-workbench/components/module-content/calendar-module/locales/en.d.ts +7 -0
- package/es/dashboard-workbench/components/module-content/calendar-module/locales/en.js +10 -0
- package/es/dashboard-workbench/components/module-content/calendar-module/locales/en.js.map +1 -0
- package/es/dashboard-workbench/components/module-content/calendar-module/locales/zh.d.ts +22 -0
- package/es/dashboard-workbench/components/module-content/calendar-module/locales/zh.js +29 -0
- package/es/dashboard-workbench/components/module-content/calendar-module/locales/zh.js.map +1 -0
- package/es/dashboard-workbench/components/module-content/chart-module/Empty.d.ts +5 -0
- package/es/dashboard-workbench/components/module-content/chart-module/Empty.js +30 -0
- package/es/dashboard-workbench/components/module-content/chart-module/Empty.js.map +1 -0
- package/es/dashboard-workbench/components/module-content/chart-module/index.js +39 -17
- package/es/dashboard-workbench/components/module-content/chart-module/index.js.map +1 -1
- package/es/dashboard-workbench/components/module-content/utils.js.map +1 -1
- package/es/dashboard-workbench/components/ui/modal/editor-header.d.ts +12 -0
- package/es/dashboard-workbench/components/ui/modal/editor-header.js +59 -0
- package/es/dashboard-workbench/components/ui/modal/editor-header.js.map +1 -0
- package/es/dashboard-workbench/components/ui/modal/index.module.less.js +9 -0
- package/es/dashboard-workbench/components/ui/modal/index.module.less.js.map +1 -0
- package/es/dashboard-workbench/icon/icon-empty.d.ts +2 -0
- package/es/dashboard-workbench/icon/icon-empty.js +139 -0
- package/es/dashboard-workbench/icon/icon-empty.js.map +1 -0
- package/es/dashboard-workbench/index.js +34 -55
- package/es/dashboard-workbench/index.js.map +1 -1
- package/es/dashboard-workbench/lang/en-US.d.ts +1 -0
- package/es/dashboard-workbench/lang/en-US.js +3 -2
- package/es/dashboard-workbench/lang/en-US.js.map +1 -1
- package/es/dashboard-workbench/lang/zh-CN.d.ts +1 -0
- package/es/dashboard-workbench/lang/zh-CN.js +2 -1
- package/es/dashboard-workbench/lang/zh-CN.js.map +1 -1
- package/es/style.css +1 -1
- package/package.json +8 -2
- package/umd/pivot-table.umd.cjs +49 -49
- package/umd/style.css +1 -1
package/es/dashboard-workbench/components/add-module-modal/add-calendar-modal/custome-data.js
CHANGED
|
@@ -1,25 +1,16 @@
|
|
|
1
1
|
import { jsxs, Fragment, jsx } from "react/jsx-runtime";
|
|
2
2
|
import { Form, Select, Button, Divider } from "antd";
|
|
3
|
-
import { useState, useRef, useEffect } from "react";
|
|
3
|
+
import { useMemo, useState, useRef, useEffect } from "react";
|
|
4
4
|
import { useAppContext } from "../../../context.js";
|
|
5
5
|
import { useTranslation } from "react-i18next";
|
|
6
6
|
import ConditionModal from "../components/condition-modal/index.js";
|
|
7
|
+
import { useMemoizedFn, useDebounceFn } from "ahooks";
|
|
7
8
|
const CustomData = ({
|
|
8
9
|
selectModuleData,
|
|
9
10
|
onAllValuesChange,
|
|
10
11
|
enumDataApi
|
|
11
12
|
}) => {
|
|
12
13
|
const { globalData } = useAppContext();
|
|
13
|
-
const [form] = Form.useForm();
|
|
14
|
-
const [fieldOptions, setFieldOptions] = useState();
|
|
15
|
-
const [isModalOpen, setIsModalOpen] = useState(false);
|
|
16
|
-
const conditionDataRef = useRef();
|
|
17
|
-
const [conditionData, setConditionData] = useState({
|
|
18
|
-
conditionList: [],
|
|
19
|
-
conditionType: "all"
|
|
20
|
-
});
|
|
21
|
-
const [conditionDataNum, setConditionDataNum] = useState(0);
|
|
22
|
-
const [timeFieldOptions, setTimeFieldOptions] = useState();
|
|
23
14
|
const { t } = useTranslation();
|
|
24
15
|
const initialValues = {
|
|
25
16
|
dataSourceId: "",
|
|
@@ -27,50 +18,88 @@ const CustomData = ({
|
|
|
27
18
|
endDateField: "",
|
|
28
19
|
titleField: ""
|
|
29
20
|
};
|
|
30
|
-
const
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
21
|
+
const [form] = Form.useForm();
|
|
22
|
+
const dataSourceId = Form.useWatch("dataSourceId", form);
|
|
23
|
+
const getDataSourceOption = useMemoizedFn(() => {
|
|
24
|
+
const filterField = ["customers", "vendors", "payees"];
|
|
25
|
+
let ret = ((globalData == null ? void 0 : globalData.sourceData) ?? []).filter((v) => {
|
|
26
|
+
return !filterField.includes(v.value);
|
|
36
27
|
});
|
|
37
|
-
|
|
38
|
-
|
|
28
|
+
return ret;
|
|
29
|
+
});
|
|
30
|
+
const dataSourceOptions = useMemo(() => {
|
|
31
|
+
return getDataSourceOption();
|
|
32
|
+
}, [globalData == null ? void 0 : globalData.sourceData]);
|
|
33
|
+
const getFieldOptions = useMemoizedFn((dataSourceId2) => {
|
|
39
34
|
var _a, _b;
|
|
40
|
-
const list = (_b = (_a = globalData == null ? void 0 : globalData.sourceData) == null ? void 0 : _a.find((item) => item.value ===
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
35
|
+
const list = ((_b = (_a = globalData == null ? void 0 : globalData.sourceData) == null ? void 0 : _a.find((item) => item.value === dataSourceId2)) == null ? void 0 : _b.fields) ?? [];
|
|
36
|
+
return list;
|
|
37
|
+
});
|
|
38
|
+
const { fieldOptions, timeFieldOptions } = useMemo(() => {
|
|
39
|
+
const fieldOptions2 = getFieldOptions(dataSourceId);
|
|
40
|
+
const timeFieldOptions2 = fieldOptions2 == null ? void 0 : fieldOptions2.filter((item) => item.type === "timestamp");
|
|
44
41
|
return {
|
|
45
|
-
|
|
42
|
+
fieldOptions: fieldOptions2,
|
|
46
43
|
timeFieldOptions: timeFieldOptions2
|
|
47
44
|
};
|
|
48
|
-
};
|
|
45
|
+
}, [dataSourceId]);
|
|
46
|
+
const [isModalOpen, setIsModalOpen] = useState(false);
|
|
47
|
+
const conditionDataRef = useRef();
|
|
48
|
+
const [conditionData, setConditionData] = useState({
|
|
49
|
+
conditionList: [],
|
|
50
|
+
conditionType: "all"
|
|
51
|
+
});
|
|
52
|
+
const [conditionDataNum, setConditionDataNum] = useState(0);
|
|
49
53
|
const setCondition = (val) => {
|
|
50
54
|
var _a;
|
|
51
55
|
setConditionData(val);
|
|
52
56
|
conditionDataRef.current = val;
|
|
53
57
|
setConditionDataNum(((_a = val == null ? void 0 : val.conditionList) == null ? void 0 : _a.length) || 0);
|
|
54
58
|
};
|
|
59
|
+
const { run: debounceSubmit } = useDebounceFn(
|
|
60
|
+
useMemoizedFn(() => {
|
|
61
|
+
onAllValuesChange == null ? void 0 : onAllValuesChange({
|
|
62
|
+
...form.getFieldsValue(),
|
|
63
|
+
conditionData: conditionDataRef.current
|
|
64
|
+
});
|
|
65
|
+
}),
|
|
66
|
+
{
|
|
67
|
+
wait: 100
|
|
68
|
+
}
|
|
69
|
+
);
|
|
70
|
+
const handleValuesChange = useMemoizedFn((changedValues, allValues) => {
|
|
71
|
+
var _a, _b, _c;
|
|
72
|
+
if (changedValues.dataSourceId) {
|
|
73
|
+
const newFieldOptions = getFieldOptions(changedValues.dataSourceId);
|
|
74
|
+
const timeFieldOptions2 = fieldOptions.filter((item) => item.type === "timestamp");
|
|
75
|
+
form.setFieldsValue({
|
|
76
|
+
titleField: (_a = newFieldOptions == null ? void 0 : newFieldOptions[0]) == null ? void 0 : _a.value,
|
|
77
|
+
startDateField: (_b = timeFieldOptions2 == null ? void 0 : timeFieldOptions2[0]) == null ? void 0 : _b.value,
|
|
78
|
+
endDateField: (_c = timeFieldOptions2 == null ? void 0 : timeFieldOptions2[0]) == null ? void 0 : _c.value
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
debounceSubmit();
|
|
82
|
+
});
|
|
55
83
|
useEffect(() => {
|
|
56
|
-
var _a, _b, _c
|
|
84
|
+
var _a, _b, _c;
|
|
57
85
|
if (selectModuleData == null ? void 0 : selectModuleData.customData) {
|
|
58
|
-
|
|
59
|
-
|
|
86
|
+
const customData = selectModuleData.customData;
|
|
87
|
+
form.setFieldsValue(customData);
|
|
60
88
|
} else {
|
|
61
|
-
const
|
|
62
|
-
const
|
|
89
|
+
const dataSourceOptions2 = getDataSourceOption();
|
|
90
|
+
const dataSourceId2 = (_a = dataSourceOptions2 == null ? void 0 : dataSourceOptions2[0]) == null ? void 0 : _a.value;
|
|
91
|
+
const fieldOptions2 = getFieldOptions(dataSourceId2);
|
|
92
|
+
const timeFieldOptions2 = fieldOptions2.filter((item) => item.type === "timestamp");
|
|
63
93
|
form.setFieldsValue({
|
|
64
94
|
...initialValues,
|
|
65
|
-
dataSourceId:
|
|
66
|
-
titleField: (
|
|
67
|
-
startDateField:
|
|
68
|
-
endDateField:
|
|
95
|
+
dataSourceId: dataSourceOptions2,
|
|
96
|
+
titleField: (_b = fieldOptions2 == null ? void 0 : fieldOptions2[0]) == null ? void 0 : _b.value,
|
|
97
|
+
startDateField: timeFieldOptions2 == null ? void 0 : timeFieldOptions2[0].value,
|
|
98
|
+
endDateField: timeFieldOptions2 == null ? void 0 : timeFieldOptions2[0].value
|
|
69
99
|
});
|
|
70
|
-
|
|
71
|
-
allValuesChange();
|
|
100
|
+
debounceSubmit();
|
|
72
101
|
}
|
|
73
|
-
setCondition((
|
|
102
|
+
setCondition((_c = selectModuleData == null ? void 0 : selectModuleData.customData) == null ? void 0 : _c.conditionData);
|
|
74
103
|
}, [selectModuleData, globalData]);
|
|
75
104
|
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
76
105
|
/* @__PURE__ */ jsxs(
|
|
@@ -81,6 +110,7 @@ const CustomData = ({
|
|
|
81
110
|
labelCol: { span: 8 },
|
|
82
111
|
wrapperCol: { span: 16 },
|
|
83
112
|
labelAlign: "left",
|
|
113
|
+
onValuesChange: handleValuesChange,
|
|
84
114
|
initialValues,
|
|
85
115
|
children: [
|
|
86
116
|
/* @__PURE__ */ jsx(
|
|
@@ -93,22 +123,7 @@ const CustomData = ({
|
|
|
93
123
|
children: t("data")
|
|
94
124
|
}
|
|
95
125
|
),
|
|
96
|
-
/* @__PURE__ */ jsx(Form.Item, { label: t("dataSource"), name: "dataSourceId", children: /* @__PURE__ */ jsx(
|
|
97
|
-
Select,
|
|
98
|
-
{
|
|
99
|
-
options: globalData == null ? void 0 : globalData.sourceData,
|
|
100
|
-
onChange: (val) => {
|
|
101
|
-
var _a, _b, _c;
|
|
102
|
-
const { list, timeFieldOptions: timeFieldOptions2 } = getFieldOptions(val);
|
|
103
|
-
form.setFieldsValue({
|
|
104
|
-
titleField: (_a = list == null ? void 0 : list[0]) == null ? void 0 : _a.value,
|
|
105
|
-
startDateField: (_b = timeFieldOptions2 == null ? void 0 : timeFieldOptions2[0]) == null ? void 0 : _b.value,
|
|
106
|
-
endDateField: (_c = timeFieldOptions2 == null ? void 0 : timeFieldOptions2[0]) == null ? void 0 : _c.value
|
|
107
|
-
});
|
|
108
|
-
allValuesChange();
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
) }),
|
|
126
|
+
/* @__PURE__ */ jsx(Form.Item, { label: t("dataSource"), name: "dataSourceId", children: /* @__PURE__ */ jsx(Select, { options: dataSourceOptions }) }),
|
|
112
127
|
/* @__PURE__ */ jsxs(Form.Item, { label: t("dataRange"), children: [
|
|
113
128
|
/* @__PURE__ */ jsx(
|
|
114
129
|
Button,
|
|
@@ -124,33 +139,9 @@ const CustomData = ({
|
|
|
124
139
|
conditionDataNum > 0 ? `${t("selectNcondition", { n: conditionDataNum })}` : null
|
|
125
140
|
] }),
|
|
126
141
|
/* @__PURE__ */ jsx(Divider, { orientation: "left", orientationMargin: "0", children: t("calendar.t1") }),
|
|
127
|
-
/* @__PURE__ */ jsx(Form.Item, { label: t("calendar.t2"), name: "startDateField", children: /* @__PURE__ */ jsx(
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
onChange: () => {
|
|
131
|
-
allValuesChange();
|
|
132
|
-
},
|
|
133
|
-
options: timeFieldOptions
|
|
134
|
-
}
|
|
135
|
-
) }),
|
|
136
|
-
/* @__PURE__ */ jsx(Form.Item, { label: t("calendar.t3"), name: "endDateField", children: /* @__PURE__ */ jsx(
|
|
137
|
-
Select,
|
|
138
|
-
{
|
|
139
|
-
onChange: () => {
|
|
140
|
-
allValuesChange();
|
|
141
|
-
},
|
|
142
|
-
options: timeFieldOptions
|
|
143
|
-
}
|
|
144
|
-
) }),
|
|
145
|
-
/* @__PURE__ */ jsx(Form.Item, { label: t("calendar.t4"), name: "titleField", children: /* @__PURE__ */ jsx(
|
|
146
|
-
Select,
|
|
147
|
-
{
|
|
148
|
-
onChange: () => {
|
|
149
|
-
allValuesChange();
|
|
150
|
-
},
|
|
151
|
-
options: fieldOptions
|
|
152
|
-
}
|
|
153
|
-
) })
|
|
142
|
+
/* @__PURE__ */ jsx(Form.Item, { label: t("calendar.t2"), name: "startDateField", children: /* @__PURE__ */ jsx(Select, { options: timeFieldOptions }) }),
|
|
143
|
+
/* @__PURE__ */ jsx(Form.Item, { label: t("calendar.t3"), name: "endDateField", children: /* @__PURE__ */ jsx(Select, { options: timeFieldOptions }) }),
|
|
144
|
+
/* @__PURE__ */ jsx(Form.Item, { label: t("calendar.t4"), name: "titleField", children: /* @__PURE__ */ jsx(Select, { options: fieldOptions }) })
|
|
154
145
|
]
|
|
155
146
|
}
|
|
156
147
|
),
|
|
@@ -166,7 +157,7 @@ const CustomData = ({
|
|
|
166
157
|
},
|
|
167
158
|
onOk: (val) => {
|
|
168
159
|
setCondition(val);
|
|
169
|
-
|
|
160
|
+
debounceSubmit();
|
|
170
161
|
}
|
|
171
162
|
}
|
|
172
163
|
)
|
package/es/dashboard-workbench/components/add-module-modal/add-calendar-modal/custome-data.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"custome-data.js","sources":["../../../../../packages/dashboard-workbench/components/add-module-modal/add-calendar-modal/custome-data.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { Button, Divider, Form, Select } from 'antd'\n\nimport { useEffect, useRef, useState } from 'react'\nimport { useAppContext } from '../../../context'\nimport { ModuleData } from '../../module-content'\nimport { EnumDataApi, SourceDataFieldsTypes } from '../../../types'\nimport { useTranslation } from 'react-i18next'\nimport ConditionModal, { ConditionListItemTypes } from '../components/condition-modal'\n\nexport type CalendarCustomeDataTypes = {\n dataSourceId?: string\n conditionData?: {\n conditionList: ConditionListItemTypes[]\n conditionType: 'all' | 'any'\n }\n startDateField?: string\n endDateField?: string\n titleField: string\n}\n\ninterface CustomDataProps {\n selectModuleData?: ModuleData\n onAllValuesChange?: ((values: any) => void) | undefined\n enumDataApi?: EnumDataApi\n}\nconst CustomData: React.FC<CustomDataProps> = ({\n selectModuleData,\n onAllValuesChange,\n enumDataApi,\n}) => {\n const { globalData } = useAppContext()\n const [form] = Form.useForm()\n const [fieldOptions, setFieldOptions] = useState<SourceDataFieldsTypes[]>()\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 const [timeFieldOptions, setTimeFieldOptions] = useState<SourceDataFieldsTypes[]>()\n const { t } = useTranslation()\n\n const initialValues = {\n dataSourceId: '',\n startDateField: '',\n endDateField: '',\n titleField: '',\n }\n\n const allValuesChange = () => {\n setTimeout(() => {\n onAllValuesChange?.({\n ...form.getFieldsValue(),\n conditionData: conditionDataRef.current,\n })\n })\n }\n\n const getFieldOptions = (name?: string) => {\n const list = globalData?.sourceData?.find(item => item.value === name)?.fields\n setFieldOptions(list)\n let timeFieldOptions = list?.filter(item => item.type === 'timestamp')\n setTimeFieldOptions(list?.filter(item => item.type === 'timestamp'))\n return {\n list,\n timeFieldOptions,\n }\n }\n\n const setCondition = (val: any) => {\n setConditionData(val)\n conditionDataRef.current = val\n setConditionDataNum(val?.conditionList?.length || 0)\n }\n\n useEffect(() => {\n if (selectModuleData?.customData) {\n form.setFieldsValue(selectModuleData.customData)\n getFieldOptions(selectModuleData?.customData?.dataSourceId)\n } else {\n const list = globalData?.sourceData?.[0]\n const times = list?.fields?.filter(item => item.type === 'timestamp')\n form.setFieldsValue({\n ...initialValues,\n dataSourceId: list?.value,\n titleField: list?.fields?.[0]?.value,\n startDateField: times?.[0].value,\n endDateField: times?.[0].value,\n })\n getFieldOptions(list?.value)\n allValuesChange()\n }\n setCondition(selectModuleData?.customData?.conditionData)\n }, [selectModuleData, globalData])\n\n return (\n <>\n <Form\n form={form}\n name=\"customData\"\n labelCol={{ span: 8 }}\n wrapperCol={{ span: 16 }}\n labelAlign=\"left\"\n initialValues={initialValues}\n >\n <div\n style={{\n fontSize: '14px',\n marginBottom: '5px',\n }}\n >\n {t('data')}\n </div>\n\n <Form.Item<CalendarCustomeDataTypes> label={t('dataSource')} name=\"dataSourceId\">\n <Select\n options={globalData?.sourceData}\n onChange={val => {\n const { list, timeFieldOptions } = getFieldOptions(val)\n form.setFieldsValue({\n titleField: list?.[0]?.value,\n startDateField: timeFieldOptions?.[0]?.value,\n endDateField: timeFieldOptions?.[0]?.value,\n })\n allValuesChange()\n }}\n />\n </Form.Item>\n\n <Form.Item<CalendarCustomeDataTypes> label={t('dataRange')}>\n <Button\n style={{ marginLeft: '-15px' }}\n onClick={() => {\n setIsModalOpen(true)\n }}\n type=\"link\"\n >\n {t('filterData')}\n </Button>\n {conditionDataNum > 0 ? `${t('selectNcondition', { n: conditionDataNum })}` : null}\n </Form.Item>\n\n <Divider orientation=\"left\" orientationMargin=\"0\">\n {t('calendar.t1')}\n </Divider>\n\n <Form.Item<CalendarCustomeDataTypes> label={t('calendar.t2')} name=\"startDateField\">\n <Select\n onChange={() => {\n allValuesChange()\n }}\n options={timeFieldOptions}\n />\n </Form.Item>\n\n <Form.Item<CalendarCustomeDataTypes> label={t('calendar.t3')} name=\"endDateField\">\n <Select\n onChange={() => {\n allValuesChange()\n }}\n options={timeFieldOptions}\n />\n </Form.Item>\n\n <Form.Item<CalendarCustomeDataTypes> label={t('calendar.t4')} name=\"titleField\">\n <Select\n onChange={() => {\n allValuesChange()\n }}\n options={fieldOptions}\n />\n </Form.Item>\n </Form>\n <ConditionModal\n open={isModalOpen}\n value={conditionData}\n fieldOptions={fieldOptions}\n enumDataApi={enumDataApi}\n onClose={() => {\n setIsModalOpen(false)\n }}\n onOk={val => {\n setCondition(val)\n allValuesChange()\n }}\n />\n </>\n )\n}\nexport default CustomData\n"],"names":["timeFieldOptions"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"custome-data.js","sources":["../../../../../packages/dashboard-workbench/components/add-module-modal/add-calendar-modal/custome-data.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { Button, Divider, Form, Select } from 'antd'\n\nimport { useEffect, useMemo, useRef, useState } from 'react'\nimport { useAppContext } from '../../../context'\nimport { ModuleData } from '../../module-content'\nimport { EnumDataApi } from '../../../types'\nimport { useTranslation } from 'react-i18next'\nimport ConditionModal, { ConditionListItemTypes } from '../components/condition-modal'\nimport { useDebounceFn, useMemoizedFn } from 'ahooks'\n\nexport type CalendarCustomeDataTypes = {\n dataSourceId?: string\n conditionData?: {\n conditionList: ConditionListItemTypes[]\n conditionType: 'all' | 'any'\n }\n startDateField?: string\n endDateField?: string\n titleField: string\n}\n\ninterface CustomDataProps {\n selectModuleData?: ModuleData\n onAllValuesChange?: ((values: any) => void) | undefined\n enumDataApi?: EnumDataApi\n}\nconst CustomData: React.FC<CustomDataProps> = ({\n selectModuleData,\n onAllValuesChange,\n enumDataApi,\n}) => {\n /* ============================== split =============================== */\n const { globalData } = useAppContext()\n const { t } = useTranslation()\n\n /* ============================== split =============================== */\n const initialValues = {\n dataSourceId: '',\n startDateField: '',\n endDateField: '',\n titleField: '',\n }\n const [form] = Form.useForm()\n const dataSourceId = Form.useWatch('dataSourceId', form)\n\n const getDataSourceOption = useMemoizedFn(() => {\n // 产品约定过滤字段\n const filterField: string[] = ['customers', 'vendors', 'payees']\n let ret = (globalData?.sourceData ?? []).filter(v => {\n return !filterField.includes(v.value)\n })\n return ret\n })\n\n const dataSourceOptions = useMemo(() => {\n return getDataSourceOption()\n }, [globalData?.sourceData])\n\n const getFieldOptions = useMemoizedFn((dataSourceId?: string) => {\n const list = globalData?.sourceData?.find(item => item.value === dataSourceId)?.fields ?? []\n return list\n })\n const { fieldOptions, timeFieldOptions } = useMemo(() => {\n const fieldOptions = getFieldOptions(dataSourceId)\n const timeFieldOptions = fieldOptions?.filter(item => item.type === 'timestamp')\n return {\n fieldOptions,\n timeFieldOptions,\n }\n }, [dataSourceId])\n\n /* ============================== split =============================== */\n const [isModalOpen, setIsModalOpen] = useState(false)\n const conditionDataRef = useRef()\n const [conditionData, setConditionData] = useState<any>({\n conditionList: [],\n conditionType: 'all',\n })\n const [conditionDataNum, setConditionDataNum] = useState(0)\n\n const setCondition = (val: any) => {\n setConditionData(val)\n conditionDataRef.current = val\n setConditionDataNum(val?.conditionList?.length || 0)\n }\n\n /* ============================== split =============================== */\n // debounc 2个作用 一个默认值的设置会延后,另一个是防止多次请求\n const { run: debounceSubmit } = useDebounceFn(\n useMemoizedFn(() => {\n onAllValuesChange?.({\n ...form.getFieldsValue(),\n conditionData: conditionDataRef.current,\n })\n }),\n {\n wait: 100,\n }\n )\n\n const handleValuesChange = useMemoizedFn((changedValues, allValues) => {\n if (changedValues.dataSourceId) {\n const newFieldOptions = getFieldOptions(changedValues.dataSourceId)\n const timeFieldOptions = fieldOptions.filter(item => item.type === 'timestamp')\n form.setFieldsValue({\n titleField: newFieldOptions?.[0]?.value,\n startDateField: timeFieldOptions?.[0]?.value,\n endDateField: timeFieldOptions?.[0]?.value,\n })\n }\n\n debounceSubmit()\n })\n\n useEffect(() => {\n if (selectModuleData?.customData) {\n const customData = selectModuleData.customData\n form.setFieldsValue(customData)\n } else {\n const dataSourceOptions = getDataSourceOption()\n const dataSourceId = dataSourceOptions?.[0]?.value\n const fieldOptions = getFieldOptions(dataSourceId)\n const timeFieldOptions = fieldOptions.filter(item => item.type === 'timestamp')\n form.setFieldsValue({\n ...initialValues,\n dataSourceId: dataSourceOptions,\n titleField: fieldOptions?.[0]?.value,\n startDateField: timeFieldOptions?.[0].value,\n endDateField: timeFieldOptions?.[0].value,\n })\n debounceSubmit()\n }\n setCondition(selectModuleData?.customData?.conditionData)\n }, [selectModuleData, globalData])\n\n return (\n <>\n <Form\n form={form}\n name=\"customData\"\n labelCol={{ span: 8 }}\n wrapperCol={{ span: 16 }}\n labelAlign=\"left\"\n onValuesChange={handleValuesChange}\n initialValues={initialValues}\n >\n <div\n style={{\n fontSize: '14px',\n marginBottom: '5px',\n }}\n >\n {t('data')}\n </div>\n\n <Form.Item<CalendarCustomeDataTypes> label={t('dataSource')} name=\"dataSourceId\">\n <Select options={dataSourceOptions} />\n </Form.Item>\n\n <Form.Item<CalendarCustomeDataTypes> label={t('dataRange')}>\n <Button\n style={{ marginLeft: '-15px' }}\n onClick={() => {\n setIsModalOpen(true)\n }}\n type=\"link\"\n >\n {t('filterData')}\n </Button>\n {conditionDataNum > 0 ? `${t('selectNcondition', { n: conditionDataNum })}` : null}\n </Form.Item>\n\n <Divider orientation=\"left\" orientationMargin=\"0\">\n {t('calendar.t1')}\n </Divider>\n\n <Form.Item<CalendarCustomeDataTypes> label={t('calendar.t2')} name=\"startDateField\">\n <Select options={timeFieldOptions} />\n </Form.Item>\n\n <Form.Item<CalendarCustomeDataTypes> label={t('calendar.t3')} name=\"endDateField\">\n <Select options={timeFieldOptions} />\n </Form.Item>\n\n <Form.Item<CalendarCustomeDataTypes> label={t('calendar.t4')} name=\"titleField\">\n <Select options={fieldOptions} />\n </Form.Item>\n </Form>\n <ConditionModal\n open={isModalOpen}\n value={conditionData}\n fieldOptions={fieldOptions}\n enumDataApi={enumDataApi}\n onClose={() => {\n setIsModalOpen(false)\n }}\n onOk={val => {\n setCondition(val)\n debounceSubmit()\n }}\n />\n </>\n )\n}\nexport default CustomData\n"],"names":["dataSourceId","fieldOptions","timeFieldOptions","dataSourceOptions"],"mappings":"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"}
|
|
@@ -1,15 +1,11 @@
|
|
|
1
1
|
import { default as React } from 'react';
|
|
2
|
-
import { CalendarCustomeDataTypes } from './custome-data';
|
|
3
2
|
import { EnumDataApi, ModuleDataApi } from '../../../types';
|
|
4
3
|
import { ModuleData } from '../../module-content';
|
|
5
4
|
interface AddStatisticsModalProps {
|
|
6
5
|
open: boolean;
|
|
7
6
|
onClose?: () => void;
|
|
7
|
+
onOk?: (data: Partial<ModuleData>) => void;
|
|
8
8
|
selectModuleData?: ModuleData;
|
|
9
|
-
onOk?: ({ id, customData, }: {
|
|
10
|
-
id?: ModuleData['id'];
|
|
11
|
-
customData?: CalendarCustomeDataTypes;
|
|
12
|
-
}) => void;
|
|
13
9
|
moduleDataApi?: ModuleDataApi;
|
|
14
10
|
enumDataApi?: EnumDataApi;
|
|
15
11
|
}
|
|
@@ -5,6 +5,7 @@ import { CloseOutlined } from "@ant-design/icons";
|
|
|
5
5
|
import CustomData from "./custome-data.js";
|
|
6
6
|
import CalendarModule from "../../module-content/calendar-module/index.js";
|
|
7
7
|
import { useTranslation } from "react-i18next";
|
|
8
|
+
import { EditorHeader } from "../../ui/modal/editor-header.js";
|
|
8
9
|
const AddStatisticsModal = ({
|
|
9
10
|
open,
|
|
10
11
|
onClose,
|
|
@@ -15,38 +16,27 @@ const AddStatisticsModal = ({
|
|
|
15
16
|
}) => {
|
|
16
17
|
const { t } = useTranslation();
|
|
17
18
|
const [customData, setCustomData] = useState();
|
|
18
|
-
const handleOk = () => {
|
|
19
|
-
onClose == null ? void 0 : onClose();
|
|
20
|
-
};
|
|
21
19
|
useEffect(() => {
|
|
22
20
|
if (selectModuleData) {
|
|
23
21
|
setCustomData(selectModuleData == null ? void 0 : selectModuleData.customData);
|
|
24
22
|
}
|
|
25
23
|
}, [selectModuleData]);
|
|
24
|
+
const [title, setTitle] = useState("");
|
|
25
|
+
useEffect(() => {
|
|
26
|
+
if (open) {
|
|
27
|
+
setTitle((selectModuleData == null ? void 0 : selectModuleData.title) ? selectModuleData == null ? void 0 : selectModuleData.title : t("calendarText"));
|
|
28
|
+
}
|
|
29
|
+
}, [open]);
|
|
26
30
|
return /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsx(
|
|
27
31
|
Modal,
|
|
28
32
|
{
|
|
29
33
|
width: "65%",
|
|
30
|
-
title:
|
|
34
|
+
title: /* @__PURE__ */ jsx(EditorHeader, { value: title, onChange: setTitle }),
|
|
31
35
|
footer: null,
|
|
32
36
|
open,
|
|
33
|
-
onOk: handleOk,
|
|
34
37
|
onCancel: onClose,
|
|
35
38
|
closeIcon: /* @__PURE__ */ jsx(CloseOutlined, {}),
|
|
36
|
-
|
|
37
|
-
content: "ow"
|
|
38
|
-
},
|
|
39
|
-
styles: {
|
|
40
|
-
header: {
|
|
41
|
-
padding: "10px",
|
|
42
|
-
borderBottom: "1px solid #dee0e3",
|
|
43
|
-
marginBottom: "10px"
|
|
44
|
-
},
|
|
45
|
-
body: {
|
|
46
|
-
overflowY: "auto",
|
|
47
|
-
flex: 1
|
|
48
|
-
}
|
|
49
|
-
},
|
|
39
|
+
className: "ow",
|
|
50
40
|
children: /* @__PURE__ */ jsxs("div", { className: "config-widget-dialog-container", children: [
|
|
51
41
|
/* @__PURE__ */ jsx("div", { className: "config-widget-dialog-content", children: /* @__PURE__ */ jsx(
|
|
52
42
|
"div",
|
|
@@ -74,7 +64,8 @@ const AddStatisticsModal = ({
|
|
|
74
64
|
onClick: () => {
|
|
75
65
|
onOk == null ? void 0 : onOk({
|
|
76
66
|
id: selectModuleData == null ? void 0 : selectModuleData.id,
|
|
77
|
-
customData
|
|
67
|
+
customData,
|
|
68
|
+
title
|
|
78
69
|
});
|
|
79
70
|
},
|
|
80
71
|
children: t("confirm")
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../packages/dashboard-workbench/components/add-module-modal/add-calendar-modal/index.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react'\nimport { Button, Modal } from 'antd'\nimport { CloseOutlined } from '@ant-design/icons'\nimport CustomData, { CalendarCustomeDataTypes } from './custome-data'\nimport { EnumDataApi, ModuleDataApi } from '../../../types'\nimport CalendarModule from '../../module-content/calendar-module'\nimport { ModuleData } from '../../module-content'\nimport { useTranslation } from 'react-i18next'\n\ninterface AddStatisticsModalProps {\n open: boolean\n onClose?: () => void\n
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../packages/dashboard-workbench/components/add-module-modal/add-calendar-modal/index.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react'\nimport { Button, Modal } from 'antd'\nimport { CloseOutlined } from '@ant-design/icons'\nimport CustomData, { CalendarCustomeDataTypes } from './custome-data'\nimport { EnumDataApi, ModuleDataApi } from '../../../types'\nimport CalendarModule from '../../module-content/calendar-module'\nimport { ModuleData } from '../../module-content'\nimport { useTranslation } from 'react-i18next'\nimport EditorHeader from '@platox/pivot-table/dashboard-workbench/components/ui/modal/editor-header'\n\ninterface AddStatisticsModalProps {\n open: boolean\n onClose?: () => void\n onOk?: (data: Partial<ModuleData>) => void\n\n selectModuleData?: ModuleData\n moduleDataApi?: ModuleDataApi\n enumDataApi?: EnumDataApi\n}\n\nconst AddStatisticsModal: React.FC<AddStatisticsModalProps> = ({\n open,\n onClose,\n onOk,\n moduleDataApi,\n selectModuleData,\n enumDataApi,\n}) => {\n const { t } = useTranslation()\n const [customData, setCustomData] = useState<CalendarCustomeDataTypes>()\n\n useEffect(() => {\n if (selectModuleData) {\n setCustomData(selectModuleData?.customData)\n }\n }, [selectModuleData])\n\n /* ============================== split =============================== */\n const [title, setTitle] = useState<string>('')\n useEffect(() => {\n if (open) {\n setTitle(selectModuleData?.title ? selectModuleData?.title : t('calendarText'))\n }\n }, [open])\n\n return (\n <>\n <Modal\n width=\"65%\"\n title={<EditorHeader value={title} onChange={setTitle} />}\n footer={null}\n open={open}\n onCancel={onClose}\n closeIcon={<CloseOutlined />}\n className=\"ow\"\n >\n <div className=\"config-widget-dialog-container\">\n <div className=\"config-widget-dialog-content\">\n <div\n className=\"config-widget-dialog-preview\"\n style={{ borderRight: '1px solid #e0e0e0' }}\n >\n <CalendarModule customData={customData} moduleDataApi={moduleDataApi} />\n </div>\n </div>\n <div className=\"config-widget-dialog-panel\" style={{ borderLeft: 'none' }}>\n <div className=\"bitable-dashboard edit-panel-container\" style={{ paddingTop: '20px' }}>\n <CustomData\n enumDataApi={enumDataApi}\n selectModuleData={selectModuleData}\n onAllValuesChange={allVal => {\n setCustomData(allVal)\n }}\n />\n </div>\n <div className=\"button-container\">\n <Button\n type=\"primary\"\n onClick={() => {\n onOk?.({\n id: selectModuleData?.id,\n customData,\n title,\n })\n }}\n >\n {t('confirm')}\n </Button>\n </div>\n </div>\n </div>\n </Modal>\n </>\n )\n}\n\nexport default AddStatisticsModal\n"],"names":[],"mappings":";;;;;;;;AAoBA,MAAM,qBAAwD,CAAC;AAAA,EAC7D;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAM;AACE,QAAA,EAAE,EAAE,IAAI,eAAe;AAC7B,QAAM,CAAC,YAAY,aAAa,IAAI,SAAmC;AAEvE,YAAU,MAAM;AACd,QAAI,kBAAkB;AACpB,oBAAc,qDAAkB,UAAU;AAAA,IAAA;AAAA,EAC5C,GACC,CAAC,gBAAgB,CAAC;AAGrB,QAAM,CAAC,OAAO,QAAQ,IAAI,SAAiB,EAAE;AAC7C,YAAU,MAAM;AACd,QAAI,MAAM;AACR,gBAAS,qDAAkB,SAAQ,qDAAkB,QAAQ,EAAE,cAAc,CAAC;AAAA,IAAA;AAAA,EAChF,GACC,CAAC,IAAI,CAAC;AAET,SAEI,oBAAA,UAAA,EAAA,UAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,OAAM;AAAA,MACN,OAAQ,oBAAA,cAAA,EAAa,OAAO,OAAO,UAAU,UAAU;AAAA,MACvD,QAAQ;AAAA,MACR;AAAA,MACA,UAAU;AAAA,MACV,+BAAY,eAAc,EAAA;AAAA,MAC1B,WAAU;AAAA,MAEV,UAAA,qBAAC,OAAI,EAAA,WAAU,kCACb,UAAA;AAAA,QAAC,oBAAA,OAAA,EAAI,WAAU,gCACb,UAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAU;AAAA,YACV,OAAO,EAAE,aAAa,oBAAoB;AAAA,YAE1C,UAAA,oBAAC,gBAAe,EAAA,YAAwB,cAA8B,CAAA;AAAA,UAAA;AAAA,QAAA,GAE1E;AAAA,QACA,qBAAC,SAAI,WAAU,8BAA6B,OAAO,EAAE,YAAY,OAC/D,GAAA,UAAA;AAAA,UAAA,oBAAC,SAAI,WAAU,0CAAyC,OAAO,EAAE,YAAY,UAC3E,UAAA;AAAA,YAAC;AAAA,YAAA;AAAA,cACC;AAAA,cACA;AAAA,cACA,mBAAmB,CAAU,WAAA;AAC3B,8BAAc,MAAM;AAAA,cAAA;AAAA,YACtB;AAAA,UAAA,GAEJ;AAAA,UACA,oBAAC,OAAI,EAAA,WAAU,oBACb,UAAA;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,MAAK;AAAA,cACL,SAAS,MAAM;AACN,6CAAA;AAAA,kBACL,IAAI,qDAAkB;AAAA,kBACtB;AAAA,kBACA;AAAA,gBAAA;AAAA,cAEJ;AAAA,cAEC,YAAE,SAAS;AAAA,YAAA;AAAA,UAAA,EAEhB,CAAA;AAAA,QAAA,EACF,CAAA;AAAA,MAAA,EACF,CAAA;AAAA,IAAA;AAAA,EAAA,GAEJ;AAEJ;"}
|
package/es/dashboard-workbench/components/add-module-modal/add-chart-modal/custome-data.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { ModuleData } from '../../module-content';
|
|
2
2
|
import { EnumDataApi } from '../../../types';
|
|
3
3
|
import { ConditionListItemTypes } from '../components/condition-modal';
|
|
4
|
+
declare const chartOption: readonly ["legend", "label", "axis", "splitLine"];
|
|
5
|
+
type ChartOptionItem = (typeof chartOption)[number];
|
|
4
6
|
export type ChartCustomeDataTypes = {
|
|
5
7
|
conditionData?: {
|
|
6
8
|
conditionList: ConditionListItemTypes[];
|
|
@@ -9,12 +11,12 @@ export type ChartCustomeDataTypes = {
|
|
|
9
11
|
dataSourceId?: string;
|
|
10
12
|
type: 'chart-bar' | 'chart-bar-pile' | 'chart-bar-percentage' | 'chart-line' | 'chart-line-smooth' | 'chart-strip-bar' | 'chart-strip-bar-pile' | 'chart-strip-bar-percentage' | 'chart-pie' | 'chart-pie-circular';
|
|
11
13
|
xAxis: string;
|
|
12
|
-
yAxis:
|
|
14
|
+
yAxis: 'recordTotal' | 'fieldValue';
|
|
13
15
|
yAxisField: string;
|
|
14
16
|
yAxisFieldType: 'sum' | 'max' | 'min' | 'avg';
|
|
15
17
|
groupField: string;
|
|
16
18
|
isGroup: boolean;
|
|
17
|
-
chartOptions:
|
|
19
|
+
chartOptions: ChartOptionItem[];
|
|
18
20
|
sortField: 'xAxis' | 'yAxisField' | 'recordValue';
|
|
19
21
|
sortOrder: 'asc' | 'desc';
|
|
20
22
|
};
|
package/es/dashboard-workbench/components/add-module-modal/add-chart-modal/custome-data.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"custome-data.js","sources":["../../../../../packages/dashboard-workbench/components/add-module-modal/add-chart-modal/custome-data.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { Button, Checkbox, Divider, Flex, Form, Radio, Select, Space } from 'antd'\n\nimport { useEffect, useMemo, useRef, useState } from 'react'\nimport { useAppContext } from '../../../context'\nimport { ModuleData } from '../../module-content'\nimport IconBarPercentage from '../../../icon/icon-bar-percentage'\nimport IconBarPile from '../../../icon/icon-bar-pile'\nimport IconStripBar from '../../../icon/icon-strip-bar'\nimport IconStripBarPercentage from '../../../icon/icon-strip-bar-percentage'\nimport IconStripBarPile from '../../../icon/icon-strip-bar-pile'\nimport IconBar from '../../../icon/icon-bar'\nimport IconLineSmooth from '../../../icon/icon-line-smooth'\nimport IconLine from '../../../icon/icon-line'\nimport IconPie from '../../../icon/icon-pie'\nimport IconPieCircular from '../../../icon/icon-pie-circular'\nimport { EnumDataApi } from '../../../types'\nimport ConditionModal, { ConditionListItemTypes } from '../components/condition-modal'\nimport { useTranslation } from 'react-i18next'\nimport { useDebounceFn, useMemoizedFn } from 'ahooks'\n\nexport type ChartCustomeDataTypes = {\n conditionData?: {\n conditionList: ConditionListItemTypes[]\n conditionType: 'all' | 'any'\n }\n dataSourceId?: string\n type:\n | 'chart-bar'\n | 'chart-bar-pile'\n | 'chart-bar-percentage'\n | 'chart-line'\n | 'chart-line-smooth'\n | 'chart-strip-bar'\n | 'chart-strip-bar-pile'\n | 'chart-strip-bar-percentage'\n | 'chart-pie'\n | 'chart-pie-circular'\n xAxis: string\n yAxis: string\n yAxisField: string\n yAxisFieldType: 'sum' | 'max' | 'min' | 'avg'\n groupField: string\n isGroup: boolean\n chartOptions: any\n sortField: 'xAxis' | 'yAxisField' | 'recordValue'\n sortOrder: 'asc' | 'desc'\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, i18n } = useTranslation()\n\n const ChartOption = useMemo(() => {\n return [\n {\n label: t('chart.t2'),\n value: 'chart-bar',\n icon: <IconBar />,\n },\n {\n label: t('chart.t3'),\n value: 'chart-bar-pile',\n icon: <IconBarPile />,\n },\n {\n label: t('chart.t4'),\n value: 'chart-bar-percentage',\n icon: <IconBarPercentage />,\n },\n {\n label: t('chart.t5'),\n value: 'chart-strip-bar',\n icon: <IconStripBar />,\n },\n {\n label: t('chart.t6'),\n value: 'chart-strip-bar-pile',\n icon: <IconStripBarPile />,\n },\n {\n label: t('chart.t7'),\n value: 'chart-strip-bar-percentage',\n icon: <IconStripBarPercentage />,\n },\n {\n label: t('chart.t8'),\n value: 'chart-line',\n icon: <IconLine />,\n },\n {\n label: t('chart.t9'),\n value: 'chart-line-smooth',\n icon: <IconLineSmooth />,\n },\n {\n label: t('chart.t10'),\n value: 'chart-pie',\n icon: <IconPie />,\n },\n {\n label: t('chart.t11'),\n value: 'chart-pie-circular',\n icon: <IconPieCircular />,\n },\n ]\n }, [i18n.language])\n\n /* ============================== split =============================== */\n const initialValues = {\n dataSourceId: '',\n yAxis: 'recordTotal',\n chartOptions: ['legend', 'label', 'axis', 'splitLine'],\n sortField: 'xAxis',\n sortOrder: 'asc',\n }\n const [form] = Form.useForm()\n\n const type = Form.useWatch('type', form)\n const dataSourceId = Form.useWatch('dataSourceId', form)\n const xAxis = Form.useWatch('xAxis', form)\n const yAxisField = Form.useWatch('yAxisField', form)\n const groupField = Form.useWatch('groupField', form)\n\n /* ============================== split =============================== */\n const getFieldOptions = useMemoizedFn((dataSourceId?: string) => {\n const list = globalData?.sourceData?.find(item => item.value === dataSourceId)?.fields ?? []\n return list\n })\n\n const { fieldOptions, xAxisFieldOption, yAxisFieldOption, groupFieldOption } = useMemo(() => {\n const fieldOptions = getFieldOptions(dataSourceId)\n\n const xAxisFieldOption = fieldOptions.filter(item => {\n let hasPicked = [yAxisField, groupField].includes(item.value)\n return !hasPicked\n })\n\n const yAxisFieldOption = fieldOptions.filter(item => {\n let isNumberField = item.type === 'int' || item.type === 'float'\n let hasPicked = [xAxis, groupField].includes(item.value)\n return isNumberField && !hasPicked\n })\n\n const groupFieldOption = fieldOptions.filter(item => {\n let hasPicked = [xAxis, yAxisField].includes(item.value)\n return !hasPicked\n })\n\n return {\n fieldOptions,\n xAxisFieldOption,\n yAxisFieldOption,\n groupFieldOption,\n }\n }, [dataSourceId, xAxis, yAxisField, groupField])\n\n /* ============================== split =============================== */\n const [isModalOpen, setIsModalOpen] = useState(false)\n const conditionDataRef = useRef()\n const [conditionData, setConditionData] = useState<any>({\n conditionList: [],\n conditionType: 'all',\n })\n const [conditionDataNum, setConditionDataNum] = useState(0)\n\n const setCondition = (val: any) => {\n setConditionData(val)\n conditionDataRef.current = val\n setConditionDataNum(val?.conditionList?.length || 0)\n }\n\n /* ============================== split =============================== */\n // debounc 2个作用 一个默认值的设置会延后,另一个是防止多次请求\n const { run: debounceSubmit } = useDebounceFn(\n useMemoizedFn(() => {\n onAllValuesChange?.({\n ...form.getFieldsValue(),\n conditionData: conditionDataRef.current,\n })\n }),\n {\n wait: 100,\n }\n )\n const handleValuesChange = useMemoizedFn((changedValues, allValues) => {\n if (changedValues.dataSourceId) {\n const newFieldOptions = getFieldOptions(changedValues.dataSourceId)\n form.setFieldsValue({\n xAxis: newFieldOptions?.[0]?.value,\n yAxis: 'recordTotal',\n isGroup: false,\n })\n }\n\n if (changedValues.yAxis) {\n let value = changedValues.yAxis\n form.setFieldsValue({\n yAxisField: value === 'fieldValue' ? yAxisFieldOption?.[0]?.value : '',\n yAxisFieldType: 'sum',\n })\n }\n\n if (changedValues.isGroup) {\n form.setFieldsValue({\n groupField: groupFieldOption?.[0]?.value,\n })\n }\n\n debounceSubmit()\n })\n\n useEffect(() => {\n if (selectModuleData?.customData) {\n const customData = selectModuleData.customData\n form.setFieldsValue(customData)\n } else {\n const currSourceData = globalData?.sourceData?.[0]\n const list = getFieldOptions(currSourceData?.value) || []\n form.setFieldsValue({\n ...initialValues,\n dataSourceId: currSourceData?.value,\n type: selectModuleData?.type,\n xAxis: list?.[0]?.value,\n })\n }\n setCondition(selectModuleData?.customData?.conditionData)\n debounceSubmit()\n }, [selectModuleData, globalData])\n\n return (\n <div style={{ height: '50vh', overflowX: 'auto' }}>\n <Form\n form={form}\n name=\"customData\"\n layout=\"vertical\"\n onValuesChange={handleValuesChange}\n initialValues={initialValues}\n >\n <Form.Item<ChartCustomeDataTypes> label={t('dataSource')} name=\"dataSourceId\">\n <Select options={globalData?.sourceData ?? []} />\n </Form.Item>\n\n <Form.Item<ChartCustomeDataTypes> label={t('dataRange')}>\n <Button\n style={{ marginLeft: '-15px' }}\n onClick={() => {\n setIsModalOpen(true)\n }}\n type=\"link\"\n >\n {t('filterData')}\n </Button>\n {conditionDataNum > 0 ? `${t('selectNcondition', { n: conditionDataNum })}` : null}\n </Form.Item>\n\n <Form.Item<ChartCustomeDataTypes> label={t('chart.t1')} name=\"type\">\n <Select\n options={ChartOption}\n optionRender={option => (\n <Flex align=\"center\">\n <span role=\"img\" style={{ marginTop: '5px' }} aria-label={option.data.label}>\n {option.data.icon}\n </span>\n {option.data.label}\n </Flex>\n )}\n />\n </Form.Item>\n\n <Form.Item name=\"chartOptions\" label={t('chart.t12')}>\n <Checkbox.Group>\n <Checkbox value=\"legend\" className='\"ow' style={{ lineHeight: '32px' }}>\n {t('chart.t13')}\n </Checkbox>\n\n <Checkbox value=\"label\" className='\"ow' style={{ lineHeight: '32px' }}>\n {t('chart.t14')}\n </Checkbox>\n\n {!['chart-pie', 'chart-pie-circular'].includes(type) ? (\n <>\n <Checkbox value=\"axis\" className='\"ow' style={{ lineHeight: '32px' }}>\n {t('chart.t15')}\n </Checkbox>\n <Checkbox value=\"splitLine\" className='\"ow' style={{ lineHeight: '32px' }}>\n {t('chart.t16')}\n </Checkbox>\n </>\n ) : null}\n </Checkbox.Group>\n </Form.Item>\n\n <Divider style={{ borderColor: '#e2e2e2', marginTop: 0 }} />\n\n <Form.Item<ChartCustomeDataTypes>\n label={type?.includes('pie') ? t('chart.t17') : t('chart.t18')}\n name=\"xAxis\"\n >\n <Select options={xAxisFieldOption} />\n </Form.Item>\n\n <Form.Item dependencies={['type']}>\n {({ getFieldValue }) =>\n !getFieldValue('type')?.includes('pie') ? (\n <>\n <Form.Item<ChartCustomeDataTypes> name=\"sortField\" label={t('chart.t31')}>\n <Radio.Group>\n <Radio value=\"xAxis\">{t('chart.t32')}</Radio>\n <Radio value=\"yAxisField\">{t('chart.t33')}</Radio>\n <Radio value=\"recordValue\">{t('chart.t34')}</Radio>\n </Radio.Group>\n </Form.Item>\n <Form.Item<ChartCustomeDataTypes> name=\"sortOrder\" label={t('chart.t35')}>\n <Radio.Group>\n <Radio value=\"asc\">{t('chart.t36')}</Radio>\n <Radio value=\"desc\">{t('chart.t37')}</Radio>\n </Radio.Group>\n </Form.Item>\n </>\n ) : null\n }\n </Form.Item>\n\n <Form.Item<ChartCustomeDataTypes>\n label={type?.includes('pie') ? t('chart.t19') : t('chart.t20')}\n name=\"yAxis\"\n >\n <Select\n options={[\n {\n value: 'recordTotal',\n label: t('statisticstRecordNum'),\n },\n { value: 'fieldValue', label: t('statisticstFieldVal') },\n ]}\n />\n </Form.Item>\n\n <Form.Item dependencies={['yAxis']} noStyle>\n {({ getFieldValue }) =>\n getFieldValue('yAxis') === 'fieldValue' ? (\n <Form.Item label={t('selectField')}>\n <Space.Compact>\n <Form.Item noStyle name=\"yAxisField\">\n <Select style={{ width: '100px' }} options={yAxisFieldOption} />\n </Form.Item>\n <Form.Item name=\"yAxisFieldType\" noStyle>\n <Select\n style={{ width: '100px' }}\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\n <Form.Item dependencies={['type']}>\n {({ getFieldValue }) =>\n !getFieldValue('type')?.includes('pie') ? (\n <Form.Item>\n <Form.Item<ChartCustomeDataTypes> name=\"isGroup\" valuePropName=\"checked\" noStyle>\n <Checkbox style={{ marginBottom: '5px' }}>{t('chart.t38')}</Checkbox>\n </Form.Item>\n <Form.Item dependencies={['isGroup']}>\n {({ getFieldValue }) =>\n getFieldValue('isGroup') ? (\n <Form.Item<ChartCustomeDataTypes> name=\"groupField\">\n <Select options={groupFieldOption} />\n </Form.Item>\n ) : null\n }\n </Form.Item>\n </Form.Item>\n ) : null\n }\n </Form.Item>\n </Form>\n <ConditionModal\n open={isModalOpen}\n value={conditionData}\n fieldOptions={fieldOptions}\n enumDataApi={enumDataApi}\n onClose={() => {\n setIsModalOpen(false)\n }}\n onOk={val => {\n setCondition(val)\n debounceSubmit()\n }}\n />\n </div>\n )\n}\nexport default CustomData\n"],"names":["dataSourceId","fieldOptions","xAxisFieldOption","yAxisFieldOption","groupFieldOption","getFieldValue"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"custome-data.js","sources":["../../../../../packages/dashboard-workbench/components/add-module-modal/add-chart-modal/custome-data.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { Button, Checkbox, Divider, Flex, Form, Radio, Select, Space } from 'antd'\n\nimport { useEffect, useMemo, useRef, useState } from 'react'\nimport { useAppContext } from '../../../context'\nimport { ModuleData } from '../../module-content'\nimport IconBarPercentage from '../../../icon/icon-bar-percentage'\nimport IconBarPile from '../../../icon/icon-bar-pile'\nimport IconStripBar from '../../../icon/icon-strip-bar'\nimport IconStripBarPercentage from '../../../icon/icon-strip-bar-percentage'\nimport IconStripBarPile from '../../../icon/icon-strip-bar-pile'\nimport IconBar from '../../../icon/icon-bar'\nimport IconLineSmooth from '../../../icon/icon-line-smooth'\nimport IconLine from '../../../icon/icon-line'\nimport IconPie from '../../../icon/icon-pie'\nimport IconPieCircular from '../../../icon/icon-pie-circular'\nimport { EnumDataApi } from '../../../types'\nimport ConditionModal, { ConditionListItemTypes } from '../components/condition-modal'\nimport { useTranslation } from 'react-i18next'\nimport { useDebounceFn, useMemoizedFn } from 'ahooks'\n\nconst chartOption = ['legend', 'label', 'axis', 'splitLine'] as const\ntype ChartOptionItem = (typeof chartOption)[number]\n\nexport type ChartCustomeDataTypes = {\n conditionData?: {\n conditionList: ConditionListItemTypes[]\n conditionType: 'all' | 'any'\n }\n dataSourceId?: string\n type:\n | 'chart-bar'\n | 'chart-bar-pile'\n | 'chart-bar-percentage'\n | 'chart-line'\n | 'chart-line-smooth'\n | 'chart-strip-bar'\n | 'chart-strip-bar-pile'\n | 'chart-strip-bar-percentage'\n | 'chart-pie'\n | 'chart-pie-circular'\n xAxis: string //field\n yAxis: 'recordTotal' | 'fieldValue'\n yAxisField: string // field\n yAxisFieldType: 'sum' | 'max' | 'min' | 'avg'\n groupField: string // field\n isGroup: boolean\n chartOptions: ChartOptionItem[]\n sortField: 'xAxis' | 'yAxisField' | 'recordValue'\n sortOrder: 'asc' | 'desc'\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, i18n } = useTranslation()\n\n const ChartOption = useMemo(() => {\n return [\n {\n label: t('chart.t2'),\n value: 'chart-bar',\n icon: <IconBar />,\n },\n {\n label: t('chart.t3'),\n value: 'chart-bar-pile',\n icon: <IconBarPile />,\n },\n {\n label: t('chart.t4'),\n value: 'chart-bar-percentage',\n icon: <IconBarPercentage />,\n },\n {\n label: t('chart.t5'),\n value: 'chart-strip-bar',\n icon: <IconStripBar />,\n },\n {\n label: t('chart.t6'),\n value: 'chart-strip-bar-pile',\n icon: <IconStripBarPile />,\n },\n {\n label: t('chart.t7'),\n value: 'chart-strip-bar-percentage',\n icon: <IconStripBarPercentage />,\n },\n {\n label: t('chart.t8'),\n value: 'chart-line',\n icon: <IconLine />,\n },\n {\n label: t('chart.t9'),\n value: 'chart-line-smooth',\n icon: <IconLineSmooth />,\n },\n {\n label: t('chart.t10'),\n value: 'chart-pie',\n icon: <IconPie />,\n },\n {\n label: t('chart.t11'),\n value: 'chart-pie-circular',\n icon: <IconPieCircular />,\n },\n ]\n }, [i18n.language])\n\n /* ============================== split =============================== */\n const initialValues = {\n dataSourceId: '',\n yAxis: 'recordTotal',\n chartOptions: ['legend', 'label', 'axis', 'splitLine'],\n sortField: 'xAxis',\n sortOrder: 'asc',\n }\n const [form] = Form.useForm()\n\n const type = Form.useWatch('type', form)\n const dataSourceId = Form.useWatch('dataSourceId', form)\n const xAxis = Form.useWatch('xAxis', form)\n const yAxisField = Form.useWatch('yAxisField', form)\n const groupField = Form.useWatch('groupField', form)\n\n /* ============================== split =============================== */\n const getFieldOptions = useMemoizedFn((dataSourceId?: string) => {\n const list = globalData?.sourceData?.find(item => item.value === dataSourceId)?.fields ?? []\n return list\n })\n\n const { fieldOptions, xAxisFieldOption, yAxisFieldOption, groupFieldOption } = useMemo(() => {\n const fieldOptions = getFieldOptions(dataSourceId)\n\n const xAxisFieldOption = fieldOptions.filter(item => {\n let hasPicked = [yAxisField, groupField].includes(item.value)\n return !hasPicked\n })\n\n const yAxisFieldOption = fieldOptions.filter(item => {\n let isNumberField = item.type === 'int' || item.type === 'float'\n let hasPicked = [xAxis, groupField].includes(item.value)\n return isNumberField && !hasPicked\n })\n\n const groupFieldOption = fieldOptions.filter(item => {\n let hasPicked = [xAxis, yAxisField].includes(item.value)\n return !hasPicked\n })\n\n return {\n fieldOptions,\n xAxisFieldOption,\n yAxisFieldOption,\n groupFieldOption,\n }\n }, [dataSourceId, xAxis, yAxisField, groupField])\n\n /* ============================== split =============================== */\n const [isModalOpen, setIsModalOpen] = useState(false)\n const conditionDataRef = useRef()\n const [conditionData, setConditionData] = useState<any>({\n conditionList: [],\n conditionType: 'all',\n })\n const [conditionDataNum, setConditionDataNum] = useState(0)\n\n const setCondition = (val: any) => {\n setConditionData(val)\n conditionDataRef.current = val\n setConditionDataNum(val?.conditionList?.length || 0)\n }\n\n /* ============================== split =============================== */\n // debounc 2个作用 一个默认值的设置会延后,另一个是防止多次请求\n const { run: debounceSubmit } = useDebounceFn(\n useMemoizedFn(() => {\n onAllValuesChange?.({\n ...form.getFieldsValue(),\n conditionData: conditionDataRef.current,\n })\n }),\n {\n wait: 100,\n }\n )\n const handleValuesChange = useMemoizedFn((changedValues, allValues) => {\n if (changedValues.dataSourceId) {\n const newFieldOptions = getFieldOptions(changedValues.dataSourceId)\n form.setFieldsValue({\n xAxis: newFieldOptions?.[0]?.value,\n yAxis: 'recordTotal',\n isGroup: false,\n })\n }\n\n if (changedValues.yAxis) {\n let value = changedValues.yAxis\n form.setFieldsValue({\n yAxisField: value === 'fieldValue' ? yAxisFieldOption?.[0]?.value : '',\n yAxisFieldType: 'sum',\n })\n }\n\n if (changedValues.isGroup) {\n form.setFieldsValue({\n groupField: groupFieldOption?.[0]?.value,\n })\n }\n\n debounceSubmit()\n })\n\n useEffect(() => {\n if (selectModuleData?.customData) {\n const customData = selectModuleData.customData\n form.setFieldsValue(customData)\n } else {\n const currSourceData = globalData?.sourceData?.[0]\n const list = getFieldOptions(currSourceData?.value) || []\n form.setFieldsValue({\n ...initialValues,\n dataSourceId: currSourceData?.value,\n type: selectModuleData?.type,\n xAxis: list?.[0]?.value,\n })\n }\n setCondition(selectModuleData?.customData?.conditionData)\n debounceSubmit()\n }, [selectModuleData, globalData])\n\n return (\n <div style={{ height: '50vh', overflowX: 'auto' }}>\n <Form\n form={form}\n name=\"customData\"\n layout=\"vertical\"\n onValuesChange={handleValuesChange}\n initialValues={initialValues}\n >\n <Form.Item<ChartCustomeDataTypes> label={t('dataSource')} name=\"dataSourceId\">\n <Select options={globalData?.sourceData ?? []} />\n </Form.Item>\n\n <Form.Item<ChartCustomeDataTypes> label={t('dataRange')}>\n <Button\n style={{ marginLeft: '-15px' }}\n onClick={() => {\n setIsModalOpen(true)\n }}\n type=\"link\"\n >\n {t('filterData')}\n </Button>\n {conditionDataNum > 0 ? `${t('selectNcondition', { n: conditionDataNum })}` : null}\n </Form.Item>\n\n <Form.Item<ChartCustomeDataTypes> label={t('chart.t1')} name=\"type\">\n <Select\n options={ChartOption}\n optionRender={option => (\n <Flex align=\"center\">\n <span role=\"img\" style={{ marginTop: '5px' }} aria-label={option.data.label}>\n {option.data.icon}\n </span>\n {option.data.label}\n </Flex>\n )}\n />\n </Form.Item>\n\n <Form.Item name=\"chartOptions\" label={t('chart.t12')}>\n <Checkbox.Group>\n <Checkbox value=\"legend\" className='\"ow' style={{ lineHeight: '32px' }}>\n {t('chart.t13')}\n </Checkbox>\n\n <Checkbox value=\"label\" className='\"ow' style={{ lineHeight: '32px' }}>\n {t('chart.t14')}\n </Checkbox>\n\n {!['chart-pie', 'chart-pie-circular'].includes(type) ? (\n <>\n <Checkbox value=\"axis\" className='\"ow' style={{ lineHeight: '32px' }}>\n {t('chart.t15')}\n </Checkbox>\n <Checkbox value=\"splitLine\" className='\"ow' style={{ lineHeight: '32px' }}>\n {t('chart.t16')}\n </Checkbox>\n </>\n ) : null}\n </Checkbox.Group>\n </Form.Item>\n\n <Divider style={{ borderColor: '#e2e2e2', marginTop: 0 }} />\n\n <Form.Item<ChartCustomeDataTypes>\n label={type?.includes('pie') ? t('chart.t17') : t('chart.t18')}\n name=\"xAxis\"\n >\n <Select options={xAxisFieldOption} />\n </Form.Item>\n\n <Form.Item dependencies={['type']}>\n {({ getFieldValue }) =>\n !getFieldValue('type')?.includes('pie') ? (\n <>\n <Form.Item<ChartCustomeDataTypes> name=\"sortField\" label={t('chart.t31')}>\n <Radio.Group>\n <Radio value=\"xAxis\">{t('chart.t32')}</Radio>\n <Radio value=\"yAxisField\">{t('chart.t33')}</Radio>\n <Radio value=\"recordValue\">{t('chart.t34')}</Radio>\n </Radio.Group>\n </Form.Item>\n <Form.Item<ChartCustomeDataTypes> name=\"sortOrder\" label={t('chart.t35')}>\n <Radio.Group>\n <Radio value=\"asc\">{t('chart.t36')}</Radio>\n <Radio value=\"desc\">{t('chart.t37')}</Radio>\n </Radio.Group>\n </Form.Item>\n </>\n ) : null\n }\n </Form.Item>\n\n <Form.Item<ChartCustomeDataTypes>\n label={type?.includes('pie') ? t('chart.t19') : t('chart.t20')}\n name=\"yAxis\"\n >\n <Select\n options={[\n {\n value: 'recordTotal',\n label: t('statisticstRecordNum'),\n },\n { value: 'fieldValue', label: t('statisticstFieldVal') },\n ]}\n />\n </Form.Item>\n\n <Form.Item dependencies={['yAxis']} noStyle>\n {({ getFieldValue }) =>\n getFieldValue('yAxis') === 'fieldValue' ? (\n <Form.Item label={t('selectField')}>\n <Space.Compact>\n <Form.Item noStyle name=\"yAxisField\">\n <Select style={{ width: '100px' }} options={yAxisFieldOption} />\n </Form.Item>\n <Form.Item name=\"yAxisFieldType\" noStyle>\n <Select\n style={{ width: '100px' }}\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\n <Form.Item dependencies={['type']}>\n {({ getFieldValue }) =>\n !getFieldValue('type')?.includes('pie') ? (\n <Form.Item>\n <Form.Item<ChartCustomeDataTypes> name=\"isGroup\" valuePropName=\"checked\" noStyle>\n <Checkbox style={{ marginBottom: '5px' }}>{t('chart.t38')}</Checkbox>\n </Form.Item>\n <Form.Item dependencies={['isGroup']}>\n {({ getFieldValue }) =>\n getFieldValue('isGroup') ? (\n <Form.Item<ChartCustomeDataTypes> name=\"groupField\">\n <Select options={groupFieldOption} />\n </Form.Item>\n ) : null\n }\n </Form.Item>\n </Form.Item>\n ) : null\n }\n </Form.Item>\n </Form>\n <ConditionModal\n open={isModalOpen}\n value={conditionData}\n fieldOptions={fieldOptions}\n enumDataApi={enumDataApi}\n onClose={() => {\n setIsModalOpen(false)\n }}\n onOk={val => {\n setCondition(val)\n debounceSubmit()\n }}\n />\n </div>\n )\n}\nexport default CustomData\n"],"names":["dataSourceId","fieldOptions","xAxisFieldOption","yAxisFieldOption","groupFieldOption","getFieldValue"],"mappings":"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"}
|
|
@@ -1,18 +1,11 @@
|
|
|
1
1
|
import { default as React } from 'react';
|
|
2
|
-
import { ChartCustomeDataTypes } from './custome-data';
|
|
3
|
-
import { ChartCustomeStylesTypes } from './custome-styles';
|
|
4
2
|
import { EnumDataApi, ModuleDataApi } from '../../../types';
|
|
5
3
|
import { ModuleData } from '../../module-content';
|
|
6
4
|
interface AddStatisticsModalProps {
|
|
7
5
|
open: boolean;
|
|
8
6
|
onClose?: () => void;
|
|
7
|
+
onOk?: (data: Partial<ModuleData>) => void;
|
|
9
8
|
selectModuleData?: ModuleData;
|
|
10
|
-
onOk?: ({ id, type, customData, customeStyle, }: {
|
|
11
|
-
id?: ModuleData['id'];
|
|
12
|
-
type?: ModuleData['type'];
|
|
13
|
-
customData?: ChartCustomeDataTypes;
|
|
14
|
-
customeStyle?: ChartCustomeStylesTypes;
|
|
15
|
-
}) => void;
|
|
16
9
|
moduleDataApi?: ModuleDataApi;
|
|
17
10
|
enumDataApi?: EnumDataApi;
|
|
18
11
|
}
|
|
@@ -6,6 +6,7 @@ import CustomData from "./custome-data.js";
|
|
|
6
6
|
import CustomeStyles from "./custome-styles.js";
|
|
7
7
|
import ChartModule from "../../module-content/chart-module/index.js";
|
|
8
8
|
import { useTranslation } from "react-i18next";
|
|
9
|
+
import { EditorHeader } from "../../ui/modal/editor-header.js";
|
|
9
10
|
const AddStatisticsModal = ({
|
|
10
11
|
open,
|
|
11
12
|
onClose,
|
|
@@ -17,40 +18,29 @@ const AddStatisticsModal = ({
|
|
|
17
18
|
const { t } = useTranslation();
|
|
18
19
|
const [customData, setCustomData] = useState();
|
|
19
20
|
const [customeStyle, setCustomeStyle] = useState();
|
|
20
|
-
const handleOk = () => {
|
|
21
|
-
onClose == null ? void 0 : onClose();
|
|
22
|
-
};
|
|
23
21
|
useEffect(() => {
|
|
24
22
|
if (selectModuleData) {
|
|
25
23
|
setCustomData(selectModuleData == null ? void 0 : selectModuleData.customData);
|
|
26
24
|
setCustomeStyle(selectModuleData == null ? void 0 : selectModuleData.customeStyle);
|
|
27
25
|
}
|
|
28
26
|
}, [selectModuleData]);
|
|
27
|
+
const [title, setTitle] = useState("");
|
|
28
|
+
useEffect(() => {
|
|
29
|
+
if (open) {
|
|
30
|
+
setTitle(!!(selectModuleData == null ? void 0 : selectModuleData.title) ? selectModuleData == null ? void 0 : selectModuleData.title : t("chartText"));
|
|
31
|
+
}
|
|
32
|
+
}, [open]);
|
|
29
33
|
return /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsx(
|
|
30
34
|
Modal,
|
|
31
35
|
{
|
|
32
36
|
width: "65%",
|
|
33
|
-
title:
|
|
37
|
+
title: /* @__PURE__ */ jsx(EditorHeader, { value: title, onChange: setTitle }),
|
|
34
38
|
footer: null,
|
|
35
39
|
open,
|
|
36
|
-
onOk: handleOk,
|
|
37
40
|
onCancel: onClose,
|
|
38
41
|
destroyOnClose: true,
|
|
39
42
|
closeIcon: /* @__PURE__ */ jsx(CloseOutlined, {}),
|
|
40
|
-
|
|
41
|
-
content: "ow"
|
|
42
|
-
},
|
|
43
|
-
styles: {
|
|
44
|
-
header: {
|
|
45
|
-
padding: "10px",
|
|
46
|
-
borderBottom: "1px solid #dee0e3",
|
|
47
|
-
marginBottom: "10px"
|
|
48
|
-
},
|
|
49
|
-
body: {
|
|
50
|
-
overflowY: "auto",
|
|
51
|
-
flex: 1
|
|
52
|
-
}
|
|
53
|
-
},
|
|
43
|
+
className: "ow",
|
|
54
44
|
children: /* @__PURE__ */ jsxs("div", { className: "config-widget-dialog-container", children: [
|
|
55
45
|
/* @__PURE__ */ jsx("div", { className: "config-widget-dialog-content", children: /* @__PURE__ */ jsx("div", { className: "config-widget-dialog-preview", children: /* @__PURE__ */ jsx(
|
|
56
46
|
ChartModule,
|
|
@@ -106,7 +96,8 @@ const AddStatisticsModal = ({
|
|
|
106
96
|
id: selectModuleData == null ? void 0 : selectModuleData.id,
|
|
107
97
|
type: selectModuleData == null ? void 0 : selectModuleData.type,
|
|
108
98
|
customData,
|
|
109
|
-
customeStyle
|
|
99
|
+
customeStyle,
|
|
100
|
+
title
|
|
110
101
|
});
|
|
111
102
|
},
|
|
112
103
|
children: t("confirm")
|