@platox/pivot-table 0.0.32 → 0.0.34

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (148) hide show
  1. package/es/dashboard-workbench/components/add-module-btn/index.d.ts +11 -0
  2. package/es/dashboard-workbench/components/add-module-btn/index.js +97 -0
  3. package/es/dashboard-workbench/components/add-module-btn/index.js.map +1 -0
  4. package/es/dashboard-workbench/components/add-module-modal/add-calendar-modal/custome-data.d.ts +20 -0
  5. package/es/dashboard-workbench/components/add-module-modal/add-calendar-modal/custome-data.js +178 -0
  6. package/es/dashboard-workbench/components/add-module-modal/add-calendar-modal/custome-data.js.map +1 -0
  7. package/es/dashboard-workbench/components/add-module-modal/add-calendar-modal/index.d.ts +17 -0
  8. package/es/dashboard-workbench/components/add-module-modal/add-calendar-modal/index.js +91 -0
  9. package/es/dashboard-workbench/components/add-module-modal/add-calendar-modal/index.js.map +1 -0
  10. package/es/dashboard-workbench/components/add-module-modal/add-chart-modal/custome-data.d.ts +27 -0
  11. package/es/dashboard-workbench/components/add-module-modal/add-chart-modal/custome-data.js +328 -0
  12. package/es/dashboard-workbench/components/add-module-modal/add-chart-modal/custome-data.js.map +1 -0
  13. package/es/dashboard-workbench/components/add-module-modal/add-chart-modal/custome-styles.d.ts +15 -0
  14. package/es/dashboard-workbench/components/add-module-modal/add-chart-modal/custome-styles.js +58 -0
  15. package/es/dashboard-workbench/components/add-module-modal/add-chart-modal/custome-styles.js.map +1 -0
  16. package/es/dashboard-workbench/components/add-module-modal/add-chart-modal/index.d.ts +20 -0
  17. package/es/dashboard-workbench/components/add-module-modal/add-chart-modal/index.js +123 -0
  18. package/es/dashboard-workbench/components/add-module-modal/add-chart-modal/index.js.map +1 -0
  19. package/es/dashboard-workbench/components/add-module-modal/add-statistics-modal/custome-data.d.ts +20 -0
  20. package/es/dashboard-workbench/components/add-module-modal/add-statistics-modal/custome-data.js +180 -0
  21. package/es/dashboard-workbench/components/add-module-modal/add-statistics-modal/custome-data.js.map +1 -0
  22. package/es/dashboard-workbench/components/add-module-modal/add-statistics-modal/custome-styles.d.ts +13 -0
  23. package/es/dashboard-workbench/components/add-module-modal/add-statistics-modal/custome-styles.js +119 -0
  24. package/es/dashboard-workbench/components/add-module-modal/add-statistics-modal/custome-styles.js.map +1 -0
  25. package/es/dashboard-workbench/components/add-module-modal/add-statistics-modal/index.d.ts +19 -0
  26. package/es/dashboard-workbench/components/add-module-modal/add-statistics-modal/index.js +120 -0
  27. package/es/dashboard-workbench/components/add-module-modal/add-statistics-modal/index.js.map +1 -0
  28. package/es/dashboard-workbench/components/add-module-modal/components/condition-modal/debounce-select.d.ts +12 -0
  29. package/es/dashboard-workbench/components/add-module-modal/components/condition-modal/debounce-select.js +44 -0
  30. package/es/dashboard-workbench/components/add-module-modal/components/condition-modal/debounce-select.js.map +1 -0
  31. package/es/dashboard-workbench/components/add-module-modal/components/condition-modal/index.d.ts +21 -0
  32. package/es/dashboard-workbench/components/add-module-modal/components/condition-modal/index.js +510 -0
  33. package/es/dashboard-workbench/components/add-module-modal/components/condition-modal/index.js.map +1 -0
  34. package/es/dashboard-workbench/components/add-module-modal/components/condition-modal/utils.d.ts +25 -0
  35. package/es/dashboard-workbench/components/add-module-modal/components/select-color/index.d.ts +12 -0
  36. package/es/dashboard-workbench/components/add-module-modal/components/select-color/index.js +45 -0
  37. package/es/dashboard-workbench/components/add-module-modal/components/select-color/index.js.map +1 -0
  38. package/es/dashboard-workbench/components/module-content/calendar-module/index.d.ts +14 -0
  39. package/es/dashboard-workbench/components/module-content/calendar-module/index.js +231 -0
  40. package/es/dashboard-workbench/components/module-content/calendar-module/index.js.map +1 -0
  41. package/es/dashboard-workbench/components/module-content/chart-module/base-chart/index.d.ts +8 -0
  42. package/es/dashboard-workbench/components/module-content/chart-module/base-chart/index.js +62 -0
  43. package/es/dashboard-workbench/components/module-content/chart-module/base-chart/index.js.map +1 -0
  44. package/es/dashboard-workbench/components/module-content/chart-module/index.d.ts +14 -0
  45. package/es/dashboard-workbench/components/module-content/chart-module/index.js +384 -0
  46. package/es/dashboard-workbench/components/module-content/chart-module/index.js.map +1 -0
  47. package/es/dashboard-workbench/components/module-content/chart-module/utils.d.ts +9 -0
  48. package/es/dashboard-workbench/components/module-content/chart-module/utils.js +200 -0
  49. package/es/dashboard-workbench/components/module-content/chart-module/utils.js.map +1 -0
  50. package/es/dashboard-workbench/components/module-content/index.d.ts +31 -0
  51. package/es/dashboard-workbench/components/module-content/index.js +81 -0
  52. package/es/dashboard-workbench/components/module-content/index.js.map +1 -0
  53. package/es/dashboard-workbench/components/module-content/statistics-module/index.d.ts +15 -0
  54. package/es/dashboard-workbench/components/module-content/statistics-module/index.js +305 -0
  55. package/es/dashboard-workbench/components/module-content/statistics-module/index.js.map +1 -0
  56. package/es/dashboard-workbench/components/module-content/statistics-module/utils.d.ts +4 -0
  57. package/es/dashboard-workbench/components/module-content/statistics-module/utils.js +41 -0
  58. package/es/dashboard-workbench/components/module-content/statistics-module/utils.js.map +1 -0
  59. package/es/dashboard-workbench/components/module-content/text-module/editor/index.d.ts +7 -0
  60. package/es/dashboard-workbench/components/module-content/text-module/editor/index.js +224 -0
  61. package/es/dashboard-workbench/components/module-content/text-module/editor/index.js.map +1 -0
  62. package/es/dashboard-workbench/components/module-content/text-module/editor/useDebounce.d.ts +2 -0
  63. package/es/dashboard-workbench/components/module-content/text-module/editor/useDebounce.js +24 -0
  64. package/es/dashboard-workbench/components/module-content/text-module/editor/useDebounce.js.map +1 -0
  65. package/es/dashboard-workbench/components/module-content/text-module/index.d.ts +7 -0
  66. package/es/dashboard-workbench/components/module-content/text-module/index.js +11 -0
  67. package/es/dashboard-workbench/components/module-content/text-module/index.js.map +1 -0
  68. package/es/dashboard-workbench/components/module-content/utils.d.ts +15 -0
  69. package/es/dashboard-workbench/components/module-content/utils.js +113 -0
  70. package/es/dashboard-workbench/components/module-content/utils.js.map +1 -0
  71. package/es/dashboard-workbench/components/module-header/index.d.ts +12 -0
  72. package/es/dashboard-workbench/components/module-header/index.js +115 -0
  73. package/es/dashboard-workbench/components/module-header/index.js.map +1 -0
  74. package/es/dashboard-workbench/context.d.ts +16 -0
  75. package/es/dashboard-workbench/context.js +21 -0
  76. package/es/dashboard-workbench/context.js.map +1 -0
  77. package/es/dashboard-workbench/icon/icon-bar-percentage.d.ts +2 -0
  78. package/es/dashboard-workbench/icon/icon-bar-percentage.js +17 -0
  79. package/es/dashboard-workbench/icon/icon-bar-percentage.js.map +1 -0
  80. package/es/dashboard-workbench/icon/icon-bar-pile.d.ts +2 -0
  81. package/es/dashboard-workbench/icon/icon-bar-pile.js +17 -0
  82. package/es/dashboard-workbench/icon/icon-bar-pile.js.map +1 -0
  83. package/es/dashboard-workbench/icon/icon-bar.d.ts +2 -0
  84. package/es/dashboard-workbench/icon/icon-bar.js +13 -0
  85. package/es/dashboard-workbench/icon/icon-bar.js.map +1 -0
  86. package/es/dashboard-workbench/icon/icon-calendar.d.ts +2 -0
  87. package/es/dashboard-workbench/icon/icon-calendar.js +40 -0
  88. package/es/dashboard-workbench/icon/icon-calendar.js.map +1 -0
  89. package/es/dashboard-workbench/icon/icon-drag.d.ts +2 -0
  90. package/es/dashboard-workbench/icon/icon-drag.js +25 -0
  91. package/es/dashboard-workbench/icon/icon-drag.js.map +1 -0
  92. package/es/dashboard-workbench/icon/icon-editor.d.ts +2 -0
  93. package/es/dashboard-workbench/icon/icon-editor.js +40 -0
  94. package/es/dashboard-workbench/icon/icon-editor.js.map +1 -0
  95. package/es/dashboard-workbench/icon/icon-line-smooth.d.ts +2 -0
  96. package/es/dashboard-workbench/icon/icon-line-smooth.js +28 -0
  97. package/es/dashboard-workbench/icon/icon-line-smooth.js.map +1 -0
  98. package/es/dashboard-workbench/icon/icon-line.d.ts +2 -0
  99. package/es/dashboard-workbench/icon/icon-line.js +28 -0
  100. package/es/dashboard-workbench/icon/icon-line.js.map +1 -0
  101. package/es/dashboard-workbench/icon/icon-move.d.ts +2 -0
  102. package/es/dashboard-workbench/icon/icon-move.js +25 -0
  103. package/es/dashboard-workbench/icon/icon-move.js.map +1 -0
  104. package/es/dashboard-workbench/icon/icon-pie-circular.d.ts +2 -0
  105. package/es/dashboard-workbench/icon/icon-pie-circular.js +30 -0
  106. package/es/dashboard-workbench/icon/icon-pie-circular.js.map +1 -0
  107. package/es/dashboard-workbench/icon/icon-pie.d.ts +2 -0
  108. package/es/dashboard-workbench/icon/icon-pie.js +24 -0
  109. package/es/dashboard-workbench/icon/icon-pie.js.map +1 -0
  110. package/es/dashboard-workbench/icon/icon-statistics.d.ts +2 -0
  111. package/es/dashboard-workbench/icon/icon-statistics.js +37 -0
  112. package/es/dashboard-workbench/icon/icon-statistics.js.map +1 -0
  113. package/es/dashboard-workbench/icon/icon-strip-bar-percentage.d.ts +2 -0
  114. package/es/dashboard-workbench/icon/icon-strip-bar-percentage.js +105 -0
  115. package/es/dashboard-workbench/icon/icon-strip-bar-percentage.js.map +1 -0
  116. package/es/dashboard-workbench/icon/icon-strip-bar-pile.d.ts +2 -0
  117. package/es/dashboard-workbench/icon/icon-strip-bar-pile.js +105 -0
  118. package/es/dashboard-workbench/icon/icon-strip-bar-pile.js.map +1 -0
  119. package/es/dashboard-workbench/icon/icon-strip-bar.d.ts +2 -0
  120. package/es/dashboard-workbench/icon/icon-strip-bar.js +57 -0
  121. package/es/dashboard-workbench/icon/icon-strip-bar.js.map +1 -0
  122. package/es/dashboard-workbench/index.d.ts +33 -0
  123. package/es/dashboard-workbench/index.js +435 -0
  124. package/es/dashboard-workbench/index.js.map +1 -0
  125. package/es/dashboard-workbench/lang/en-US.d.ts +146 -0
  126. package/es/dashboard-workbench/lang/en-US.js +157 -0
  127. package/es/dashboard-workbench/lang/en-US.js.map +1 -0
  128. package/es/dashboard-workbench/lang/index.d.ts +2 -0
  129. package/es/dashboard-workbench/lang/index.js +25 -0
  130. package/es/dashboard-workbench/lang/index.js.map +1 -0
  131. package/es/dashboard-workbench/lang/zh-CN.d.ts +146 -0
  132. package/es/dashboard-workbench/lang/zh-CN.js +157 -0
  133. package/es/dashboard-workbench/lang/zh-CN.js.map +1 -0
  134. package/es/dashboard-workbench/types.d.ts +22 -0
  135. package/es/dashboard-workbench/utils/index.d.ts +9 -0
  136. package/es/dashboard-workbench/utils/index.js +30 -0
  137. package/es/dashboard-workbench/utils/index.js.map +1 -0
  138. package/es/index.d.ts +1 -0
  139. package/es/index.js +5 -0
  140. package/es/index.js.map +1 -0
  141. package/es/style.css +1 -0
  142. package/package.json +27 -24
  143. package/umd/pivot-table.umd.cjs +178 -0
  144. package/umd/style.css +1 -0
  145. package/index.d.ts +0 -98
  146. package/lib/index.js +0 -52233
  147. package/lib/index.umd.cjs +0 -178
  148. package/lib/style.css +0 -1
@@ -0,0 +1,328 @@
1
+ import { jsx, jsxs, Fragment } from "react/jsx-runtime";
2
+ import { Form, Select, Button, Flex, Checkbox, Divider, Radio, Space } from "antd";
3
+ import { useMemo, useState, useRef, useEffect } from "react";
4
+ import { useAppContext } from "../../../context.js";
5
+ import IconBarPercentage from "../../../icon/icon-bar-percentage.js";
6
+ import IconBarPile from "../../../icon/icon-bar-pile.js";
7
+ import IconStripBar from "../../../icon/icon-strip-bar.js";
8
+ import IconStripBarPercentage from "../../../icon/icon-strip-bar-percentage.js";
9
+ import IconStripBarPile from "../../../icon/icon-strip-bar-pile.js";
10
+ import IconBar from "../../../icon/icon-bar.js";
11
+ import IconLineSmooth from "../../../icon/icon-line-smooth.js";
12
+ import IconLine from "../../../icon/icon-line.js";
13
+ import IconPie from "../../../icon/icon-pie.js";
14
+ import IconPieCircular from "../../../icon/icon-pie-circular.js";
15
+ import ConditionModal from "../components/condition-modal/index.js";
16
+ import { useTranslation } from "react-i18next";
17
+ import { useMemoizedFn, useDebounceFn } from "ahooks";
18
+ const CustomData = ({
19
+ selectModuleData,
20
+ onAllValuesChange,
21
+ enumDataApi
22
+ }) => {
23
+ const { globalData } = useAppContext();
24
+ const { t, i18n } = useTranslation();
25
+ const ChartOption = useMemo(() => {
26
+ return [
27
+ {
28
+ label: t("chart.t2"),
29
+ value: "chart-bar",
30
+ icon: /* @__PURE__ */ jsx(IconBar, {})
31
+ },
32
+ {
33
+ label: t("chart.t3"),
34
+ value: "chart-bar-pile",
35
+ icon: /* @__PURE__ */ jsx(IconBarPile, {})
36
+ },
37
+ {
38
+ label: t("chart.t4"),
39
+ value: "chart-bar-percentage",
40
+ icon: /* @__PURE__ */ jsx(IconBarPercentage, {})
41
+ },
42
+ {
43
+ label: t("chart.t5"),
44
+ value: "chart-strip-bar",
45
+ icon: /* @__PURE__ */ jsx(IconStripBar, {})
46
+ },
47
+ {
48
+ label: t("chart.t6"),
49
+ value: "chart-strip-bar-pile",
50
+ icon: /* @__PURE__ */ jsx(IconStripBarPile, {})
51
+ },
52
+ {
53
+ label: t("chart.t7"),
54
+ value: "chart-strip-bar-percentage",
55
+ icon: /* @__PURE__ */ jsx(IconStripBarPercentage, {})
56
+ },
57
+ {
58
+ label: t("chart.t8"),
59
+ value: "chart-line",
60
+ icon: /* @__PURE__ */ jsx(IconLine, {})
61
+ },
62
+ {
63
+ label: t("chart.t9"),
64
+ value: "chart-line-smooth",
65
+ icon: /* @__PURE__ */ jsx(IconLineSmooth, {})
66
+ },
67
+ {
68
+ label: t("chart.t10"),
69
+ value: "chart-pie",
70
+ icon: /* @__PURE__ */ jsx(IconPie, {})
71
+ },
72
+ {
73
+ label: t("chart.t11"),
74
+ value: "chart-pie-circular",
75
+ icon: /* @__PURE__ */ jsx(IconPieCircular, {})
76
+ }
77
+ ];
78
+ }, [i18n.language]);
79
+ const initialValues = {
80
+ dataSourceId: "",
81
+ yAxis: "recordTotal",
82
+ chartOptions: ["legend", "label", "axis", "splitLine"],
83
+ sortField: "xAxis",
84
+ sortOrder: "asc"
85
+ };
86
+ const [form] = Form.useForm();
87
+ const type = Form.useWatch("type", form);
88
+ const dataSourceId = Form.useWatch("dataSourceId", form);
89
+ const xAxis = Form.useWatch("xAxis", form);
90
+ const yAxisField = Form.useWatch("yAxisField", form);
91
+ const groupField = Form.useWatch("groupField", form);
92
+ const getFieldOptions = useMemoizedFn((dataSourceId2) => {
93
+ var _a, _b;
94
+ const list = ((_b = (_a = globalData == null ? void 0 : globalData.sourceData) == null ? void 0 : _a.find((item) => item.value === dataSourceId2)) == null ? void 0 : _b.fields) ?? [];
95
+ return list;
96
+ });
97
+ const { fieldOptions, xAxisFieldOption, yAxisFieldOption, groupFieldOption } = useMemo(() => {
98
+ const fieldOptions2 = getFieldOptions(dataSourceId);
99
+ const xAxisFieldOption2 = fieldOptions2.filter((item) => {
100
+ let hasPicked = [yAxisField, groupField].includes(item.value);
101
+ return !hasPicked;
102
+ });
103
+ const yAxisFieldOption2 = fieldOptions2.filter((item) => {
104
+ let isNumberField = item.type === "int" || item.type === "float";
105
+ let hasPicked = [xAxis, groupField].includes(item.value);
106
+ return isNumberField && !hasPicked;
107
+ });
108
+ const groupFieldOption2 = fieldOptions2.filter((item) => {
109
+ let hasPicked = [xAxis, yAxisField].includes(item.value);
110
+ return !hasPicked;
111
+ });
112
+ return {
113
+ fieldOptions: fieldOptions2,
114
+ xAxisFieldOption: xAxisFieldOption2,
115
+ yAxisFieldOption: yAxisFieldOption2,
116
+ groupFieldOption: groupFieldOption2
117
+ };
118
+ }, [dataSourceId, xAxis, yAxisField, groupField]);
119
+ const [isModalOpen, setIsModalOpen] = useState(false);
120
+ const conditionDataRef = useRef();
121
+ const [conditionData, setConditionData] = useState({
122
+ conditionList: [],
123
+ conditionType: "all"
124
+ });
125
+ const [conditionDataNum, setConditionDataNum] = useState(0);
126
+ const setCondition = (val) => {
127
+ var _a;
128
+ setConditionData(val);
129
+ conditionDataRef.current = val;
130
+ setConditionDataNum(((_a = val == null ? void 0 : val.conditionList) == null ? void 0 : _a.length) || 0);
131
+ };
132
+ const { run: debounceSubmit } = useDebounceFn(
133
+ useMemoizedFn(() => {
134
+ onAllValuesChange == null ? void 0 : onAllValuesChange({
135
+ ...form.getFieldsValue(),
136
+ conditionData: conditionDataRef.current
137
+ });
138
+ }),
139
+ {
140
+ wait: 100
141
+ }
142
+ );
143
+ const handleValuesChange = useMemoizedFn((changedValues, allValues) => {
144
+ var _a, _b, _c;
145
+ if (changedValues.dataSourceId) {
146
+ const newFieldOptions = getFieldOptions(changedValues.dataSourceId);
147
+ form.setFieldsValue({
148
+ xAxis: (_a = newFieldOptions == null ? void 0 : newFieldOptions[0]) == null ? void 0 : _a.value,
149
+ yAxis: "recordTotal",
150
+ isGroup: false
151
+ });
152
+ }
153
+ if (changedValues.yAxis) {
154
+ let value = changedValues.yAxis;
155
+ form.setFieldsValue({
156
+ yAxisField: value === "fieldValue" ? (_b = yAxisFieldOption == null ? void 0 : yAxisFieldOption[0]) == null ? void 0 : _b.value : "",
157
+ yAxisFieldType: "sum"
158
+ });
159
+ }
160
+ if (changedValues.isGroup) {
161
+ form.setFieldsValue({
162
+ groupField: (_c = groupFieldOption == null ? void 0 : groupFieldOption[0]) == null ? void 0 : _c.value
163
+ });
164
+ }
165
+ debounceSubmit();
166
+ });
167
+ useEffect(() => {
168
+ var _a, _b, _c;
169
+ if (selectModuleData == null ? void 0 : selectModuleData.customData) {
170
+ const customData = selectModuleData.customData;
171
+ form.setFieldsValue(customData);
172
+ } else {
173
+ const currSourceData = (_a = globalData == null ? void 0 : globalData.sourceData) == null ? void 0 : _a[0];
174
+ const list = getFieldOptions(currSourceData == null ? void 0 : currSourceData.value) || [];
175
+ form.setFieldsValue({
176
+ ...initialValues,
177
+ dataSourceId: currSourceData == null ? void 0 : currSourceData.value,
178
+ type: selectModuleData == null ? void 0 : selectModuleData.type,
179
+ xAxis: (_b = list == null ? void 0 : list[0]) == null ? void 0 : _b.value
180
+ });
181
+ }
182
+ setCondition((_c = selectModuleData == null ? void 0 : selectModuleData.customData) == null ? void 0 : _c.conditionData);
183
+ debounceSubmit();
184
+ }, [selectModuleData, globalData]);
185
+ return /* @__PURE__ */ jsxs("div", { style: { height: "50vh", overflowX: "auto" }, children: [
186
+ /* @__PURE__ */ jsxs(
187
+ Form,
188
+ {
189
+ form,
190
+ name: "customData",
191
+ layout: "vertical",
192
+ onValuesChange: handleValuesChange,
193
+ initialValues,
194
+ children: [
195
+ /* @__PURE__ */ jsx(Form.Item, { label: t("dataSource"), name: "dataSourceId", children: /* @__PURE__ */ jsx(Select, { options: (globalData == null ? void 0 : globalData.sourceData) ?? [] }) }),
196
+ /* @__PURE__ */ jsxs(Form.Item, { label: t("dataRange"), children: [
197
+ /* @__PURE__ */ jsx(
198
+ Button,
199
+ {
200
+ style: { marginLeft: "-15px" },
201
+ onClick: () => {
202
+ setIsModalOpen(true);
203
+ },
204
+ type: "link",
205
+ children: t("filterData")
206
+ }
207
+ ),
208
+ conditionDataNum > 0 ? `${t("selectNcondition", { n: conditionDataNum })}` : null
209
+ ] }),
210
+ /* @__PURE__ */ jsx(Form.Item, { label: t("chart.t1"), name: "type", children: /* @__PURE__ */ jsx(
211
+ Select,
212
+ {
213
+ options: ChartOption,
214
+ optionRender: (option) => /* @__PURE__ */ jsxs(Flex, { align: "center", children: [
215
+ /* @__PURE__ */ jsx("span", { role: "img", style: { marginTop: "5px" }, "aria-label": option.data.label, children: option.data.icon }),
216
+ option.data.label
217
+ ] })
218
+ }
219
+ ) }),
220
+ /* @__PURE__ */ jsx(Form.Item, { name: "chartOptions", label: t("chart.t12"), children: /* @__PURE__ */ jsxs(Checkbox.Group, { children: [
221
+ /* @__PURE__ */ jsx(Checkbox, { value: "legend", className: '"ow', style: { lineHeight: "32px" }, children: t("chart.t13") }),
222
+ /* @__PURE__ */ jsx(Checkbox, { value: "label", className: '"ow', style: { lineHeight: "32px" }, children: t("chart.t14") }),
223
+ !["chart-pie", "chart-pie-circular"].includes(type) ? /* @__PURE__ */ jsxs(Fragment, { children: [
224
+ /* @__PURE__ */ jsx(Checkbox, { value: "axis", className: '"ow', style: { lineHeight: "32px" }, children: t("chart.t15") }),
225
+ /* @__PURE__ */ jsx(Checkbox, { value: "splitLine", className: '"ow', style: { lineHeight: "32px" }, children: t("chart.t16") })
226
+ ] }) : null
227
+ ] }) }),
228
+ /* @__PURE__ */ jsx(Divider, { style: { borderColor: "#e2e2e2", marginTop: 0 } }),
229
+ /* @__PURE__ */ jsx(
230
+ Form.Item,
231
+ {
232
+ label: (type == null ? void 0 : type.includes("pie")) ? t("chart.t17") : t("chart.t18"),
233
+ name: "xAxis",
234
+ children: /* @__PURE__ */ jsx(Select, { options: xAxisFieldOption })
235
+ }
236
+ ),
237
+ /* @__PURE__ */ jsx(Form.Item, { dependencies: ["type"], children: ({ getFieldValue }) => {
238
+ var _a;
239
+ return !((_a = getFieldValue("type")) == null ? void 0 : _a.includes("pie")) ? /* @__PURE__ */ jsxs(Fragment, { children: [
240
+ /* @__PURE__ */ jsx(Form.Item, { name: "sortField", label: t("chart.t31"), children: /* @__PURE__ */ jsxs(Radio.Group, { children: [
241
+ /* @__PURE__ */ jsx(Radio, { value: "xAxis", children: t("chart.t32") }),
242
+ /* @__PURE__ */ jsx(Radio, { value: "yAxisField", children: t("chart.t33") }),
243
+ /* @__PURE__ */ jsx(Radio, { value: "recordValue", children: t("chart.t34") })
244
+ ] }) }),
245
+ /* @__PURE__ */ jsx(Form.Item, { name: "sortOrder", label: t("chart.t35"), children: /* @__PURE__ */ jsxs(Radio.Group, { children: [
246
+ /* @__PURE__ */ jsx(Radio, { value: "asc", children: t("chart.t36") }),
247
+ /* @__PURE__ */ jsx(Radio, { value: "desc", children: t("chart.t37") })
248
+ ] }) })
249
+ ] }) : null;
250
+ } }),
251
+ /* @__PURE__ */ jsx(
252
+ Form.Item,
253
+ {
254
+ label: (type == null ? void 0 : type.includes("pie")) ? t("chart.t19") : t("chart.t20"),
255
+ name: "yAxis",
256
+ children: /* @__PURE__ */ jsx(
257
+ Select,
258
+ {
259
+ options: [
260
+ {
261
+ value: "recordTotal",
262
+ label: t("statisticstRecordNum")
263
+ },
264
+ { value: "fieldValue", label: t("statisticstFieldVal") }
265
+ ]
266
+ }
267
+ )
268
+ }
269
+ ),
270
+ /* @__PURE__ */ jsx(Form.Item, { dependencies: ["yAxis"], noStyle: true, children: ({ getFieldValue }) => getFieldValue("yAxis") === "fieldValue" ? /* @__PURE__ */ jsx(Form.Item, { label: t("selectField"), children: /* @__PURE__ */ jsxs(Space.Compact, { children: [
271
+ /* @__PURE__ */ jsx(Form.Item, { noStyle: true, name: "yAxisField", children: /* @__PURE__ */ jsx(Select, { style: { width: "100px" }, options: yAxisFieldOption }) }),
272
+ /* @__PURE__ */ jsx(Form.Item, { name: "yAxisFieldType", noStyle: true, children: /* @__PURE__ */ jsx(
273
+ Select,
274
+ {
275
+ style: { width: "100px" },
276
+ options: [
277
+ {
278
+ value: "sum",
279
+ label: t("sumVal")
280
+ },
281
+ {
282
+ value: "max",
283
+ label: t("maxVal")
284
+ },
285
+ {
286
+ value: "min",
287
+ label: t("minVal")
288
+ },
289
+ {
290
+ value: "avg",
291
+ label: t("averageVal")
292
+ }
293
+ ]
294
+ }
295
+ ) })
296
+ ] }) }) : null }),
297
+ /* @__PURE__ */ jsx(Form.Item, { dependencies: ["type"], children: ({ getFieldValue }) => {
298
+ var _a;
299
+ return !((_a = getFieldValue("type")) == null ? void 0 : _a.includes("pie")) ? /* @__PURE__ */ jsxs(Form.Item, { children: [
300
+ /* @__PURE__ */ jsx(Form.Item, { name: "isGroup", valuePropName: "checked", noStyle: true, children: /* @__PURE__ */ jsx(Checkbox, { style: { marginBottom: "5px" }, children: t("chart.t38") }) }),
301
+ /* @__PURE__ */ jsx(Form.Item, { dependencies: ["isGroup"], children: ({ getFieldValue: getFieldValue2 }) => getFieldValue2("isGroup") ? /* @__PURE__ */ jsx(Form.Item, { name: "groupField", children: /* @__PURE__ */ jsx(Select, { options: groupFieldOption }) }) : null })
302
+ ] }) : null;
303
+ } })
304
+ ]
305
+ }
306
+ ),
307
+ /* @__PURE__ */ jsx(
308
+ ConditionModal,
309
+ {
310
+ open: isModalOpen,
311
+ value: conditionData,
312
+ fieldOptions,
313
+ enumDataApi,
314
+ onClose: () => {
315
+ setIsModalOpen(false);
316
+ },
317
+ onOk: (val) => {
318
+ setCondition(val);
319
+ debounceSubmit();
320
+ }
321
+ }
322
+ )
323
+ ] });
324
+ };
325
+ export {
326
+ CustomData as default
327
+ };
328
+ //# sourceMappingURL=custome-data.js.map
@@ -0,0 +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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"}
@@ -0,0 +1,15 @@
1
+ import { ModuleData } from '../../module-content';
2
+ export type ChartCustomeStylesTypes = {
3
+ xtitle: string;
4
+ ytitle: string;
5
+ xchartOptions: any;
6
+ ychartOptions: any;
7
+ };
8
+ interface CustomeStylesProps {
9
+ customData?: any;
10
+ selectModuleData?: ModuleData;
11
+ onAllValuesChange?: ((values: any) => void) | undefined;
12
+ customeStylesRef?: any;
13
+ }
14
+ declare const CustomeStyles: React.FC<CustomeStylesProps>;
15
+ export default CustomeStyles;
@@ -0,0 +1,58 @@
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import { Form, Divider, Input } from "antd";
3
+ import { useEffect } from "react";
4
+ import { useTranslation } from "react-i18next";
5
+ const CustomeStyles = ({
6
+ customData,
7
+ selectModuleData,
8
+ onAllValuesChange
9
+ }) => {
10
+ var _a, _b, _c;
11
+ const [form] = Form.useForm();
12
+ const { t } = useTranslation();
13
+ const initialValues = {
14
+ xtitle: "",
15
+ ytitle: "",
16
+ xchartOptions: [],
17
+ ychartOptions: []
18
+ };
19
+ const allValuesChange = () => {
20
+ setTimeout(() => {
21
+ onAllValuesChange == null ? void 0 : onAllValuesChange(form.getFieldsValue());
22
+ });
23
+ };
24
+ useEffect(() => {
25
+ if (selectModuleData == null ? void 0 : selectModuleData.customeStyle) {
26
+ form.setFieldsValue(selectModuleData.customeStyle);
27
+ } else {
28
+ form.setFieldsValue(initialValues);
29
+ }
30
+ }, [selectModuleData]);
31
+ if ((_a = customData == null ? void 0 : customData.type) == null ? void 0 : _a.includes("pie")) {
32
+ return /* @__PURE__ */ jsx("div", { style: { height: "50vh", overflowX: "auto" } });
33
+ }
34
+ return /* @__PURE__ */ jsx("div", { style: { height: "50vh", overflowX: "auto" }, children: /* @__PURE__ */ jsxs(Form, { form, name: "customeStyle", layout: "vertical", initialValues, children: [
35
+ /* @__PURE__ */ jsx(Divider, { orientation: "left", orientationMargin: "0", children: t("chart.t21") }),
36
+ !((_b = customData == null ? void 0 : customData.type) == null ? void 0 : _b.includes("pie")) ? /* @__PURE__ */ jsx(Form.Item, { label: t("chart.t22"), name: "xtitle", children: /* @__PURE__ */ jsx(
37
+ Input,
38
+ {
39
+ onChange: () => {
40
+ allValuesChange();
41
+ }
42
+ }
43
+ ) }) : null,
44
+ /* @__PURE__ */ jsx(Divider, { orientation: "left", orientationMargin: "0", children: t("chart.t26") }),
45
+ !((_c = customData == null ? void 0 : customData.type) == null ? void 0 : _c.includes("pie")) ? /* @__PURE__ */ jsx(Form.Item, { label: t("chart.t27"), name: "ytitle", children: /* @__PURE__ */ jsx(
46
+ Input,
47
+ {
48
+ onChange: () => {
49
+ allValuesChange();
50
+ }
51
+ }
52
+ ) }) : null
53
+ ] }) });
54
+ };
55
+ export {
56
+ CustomeStyles as default
57
+ };
58
+ //# sourceMappingURL=custome-styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custome-styles.js","sources":["../../../../../packages/dashboard-workbench/components/add-module-modal/add-chart-modal/custome-styles.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { Checkbox, Col, Divider, Form, Input, Row } from 'antd'\nimport { useEffect } from 'react'\nimport { ModuleData } from '../../module-content'\nimport { useTranslation } from 'react-i18next'\n\nexport type ChartCustomeStylesTypes = {\n xtitle: string\n ytitle: string\n xchartOptions: any\n ychartOptions: any\n}\n\ninterface CustomeStylesProps {\n customData?: any\n selectModuleData?: ModuleData\n onAllValuesChange?: ((values: any) => void) | undefined\n customeStylesRef?: any\n}\nconst CustomeStyles: React.FC<CustomeStylesProps> = ({\n customData,\n selectModuleData,\n onAllValuesChange,\n}) => {\n const [form] = Form.useForm()\n const { t } = useTranslation()\n const initialValues = {\n xtitle: '',\n ytitle: '',\n xchartOptions: [],\n ychartOptions: [],\n }\n\n const allValuesChange = () => {\n setTimeout(() => {\n onAllValuesChange?.(form.getFieldsValue())\n })\n }\n\n useEffect(() => {\n if (selectModuleData?.customeStyle) {\n form.setFieldsValue(selectModuleData.customeStyle)\n } else {\n form.setFieldsValue(initialValues)\n }\n }, [selectModuleData])\n\n if (customData?.type?.includes('pie')) {\n return <div style={{ height: '50vh', overflowX: 'auto' }}></div>\n }\n\n return (\n <div style={{ height: '50vh', overflowX: 'auto' }}>\n <Form form={form} name=\"customeStyle\" layout=\"vertical\" initialValues={initialValues}>\n <Divider orientation=\"left\" orientationMargin=\"0\">\n {t('chart.t21')}\n </Divider>\n\n {!customData?.type?.includes('pie') ? (\n <Form.Item label={t('chart.t22')} name=\"xtitle\">\n <Input\n onChange={() => {\n allValuesChange()\n }}\n />\n </Form.Item>\n ) : null}\n\n {/* <Form.Item name=\"xchartOptions\" label={t('chart.t23')}>\n <Checkbox.Group\n onChange={() => {\n allValuesChange()\n }}\n >\n <Row>\n <Col span={12}>\n <Checkbox value=\"label\" className='\"ow' style={{ lineHeight: '32px' }}>\n {t('chart.t24')}\n </Checkbox>\n </Col>\n <Col span={12}>\n <Checkbox value=\"axisLine\" className='\"ow' style={{ lineHeight: '32px' }}>\n {t('chart.t25')}\n </Checkbox>\n </Col>\n </Row>\n </Checkbox.Group>\n </Form.Item> */}\n\n <Divider orientation=\"left\" orientationMargin=\"0\">\n {t('chart.t26')}\n </Divider>\n\n {!customData?.type?.includes('pie') ? (\n <Form.Item label={t('chart.t27')} name=\"ytitle\">\n <Input\n onChange={() => {\n allValuesChange()\n }}\n />\n </Form.Item>\n ) : null}\n\n {/* <Form.Item name=\"ychartOptions\" label={t('chart.t28')}>\n <Checkbox.Group\n onChange={() => {\n allValuesChange()\n }}\n >\n <Row>\n <Col span={12}>\n <Checkbox value=\"label\" className='\"ow' style={{ lineHeight: '32px' }}>\n {t('chart.t29')}\n </Checkbox>\n </Col>\n <Col span={12}>\n <Checkbox value=\"axisLine\" className='\"ow' style={{ lineHeight: '32px' }}>\n {t('chart.t30')}\n </Checkbox>\n </Col>\n </Row>\n </Checkbox.Group>\n </Form.Item> */}\n </Form>\n </div>\n )\n}\nexport default CustomeStyles\n"],"names":[],"mappings":";;;;AAmBA,MAAM,gBAA8C,CAAC;AAAA,EACnD;AAAA,EACA;AAAA,EACA;AACF,MAAM;;AACJ,QAAM,CAAC,IAAI,IAAI,KAAK,QAAQ;AACtB,QAAA,EAAE,EAAE,IAAI,eAAe;AAC7B,QAAM,gBAAgB;AAAA,IACpB,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,eAAe,CAAC;AAAA,IAChB,eAAe,CAAA;AAAA,EACjB;AAEA,QAAM,kBAAkB,MAAM;AAC5B,eAAW,MAAM;AACK,6DAAA,KAAK;IAAgB,CAC1C;AAAA,EACH;AAEA,YAAU,MAAM;AACd,QAAI,qDAAkB,cAAc;AAC7B,WAAA,eAAe,iBAAiB,YAAY;AAAA,IAAA,OAC5C;AACL,WAAK,eAAe,aAAa;AAAA,IAAA;AAAA,EACnC,GACC,CAAC,gBAAgB,CAAC;AAErB,OAAI,8CAAY,SAAZ,mBAAkB,SAAS,QAAQ;AAC9B,WAAA,oBAAC,SAAI,OAAO,EAAE,QAAQ,QAAQ,WAAW,UAAU;AAAA,EAAA;AAG5D,6BACG,OAAI,EAAA,OAAO,EAAE,QAAQ,QAAQ,WAAW,UACvC,UAAA,qBAAC,QAAK,MAAY,MAAK,gBAAe,QAAO,YAAW,eACtD,UAAA;AAAA,IAAA,oBAAC,WAAQ,aAAY,QAAO,mBAAkB,KAC3C,UAAA,EAAE,WAAW,GAChB;AAAA,IAEC,GAAC,8CAAY,SAAZ,mBAAkB,SAAS,UAC3B,oBAAC,KAAK,MAAL,EAAU,OAAO,EAAE,WAAW,GAAG,MAAK,UACrC,UAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,UAAU,MAAM;AACE,0BAAA;AAAA,QAAA;AAAA,MAClB;AAAA,OAEJ,IACE;AAAA,IAuBJ,oBAAC,WAAQ,aAAY,QAAO,mBAAkB,KAC3C,UAAA,EAAE,WAAW,GAChB;AAAA,IAEC,GAAC,8CAAY,SAAZ,mBAAkB,SAAS,UAC3B,oBAAC,KAAK,MAAL,EAAU,OAAO,EAAE,WAAW,GAAG,MAAK,UACrC,UAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,UAAU,MAAM;AACE,0BAAA;AAAA,QAAA;AAAA,MAClB;AAAA,OAEJ,IACE;AAAA,EAAA,EAAA,CAsBN,EACF,CAAA;AAEJ;"}
@@ -0,0 +1,20 @@
1
+ import { default as React } from 'react';
2
+ import { ChartCustomeDataTypes } from './custome-data';
3
+ import { ChartCustomeStylesTypes } from './custome-styles';
4
+ import { EnumDataApi, ModuleDataApi } from '../../../types';
5
+ import { ModuleData } from '../../module-content';
6
+ interface AddStatisticsModalProps {
7
+ open: boolean;
8
+ onClose?: () => void;
9
+ 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
+ moduleDataApi?: ModuleDataApi;
17
+ enumDataApi?: EnumDataApi;
18
+ }
19
+ declare const AddStatisticsModal: React.FC<AddStatisticsModalProps>;
20
+ export default AddStatisticsModal;
@@ -0,0 +1,123 @@
1
+ import { jsx, Fragment, jsxs } from "react/jsx-runtime";
2
+ import { useState, useEffect } from "react";
3
+ import { Modal, Tabs, Button } from "antd";
4
+ import { CloseOutlined } from "@ant-design/icons";
5
+ import CustomData from "./custome-data.js";
6
+ import CustomeStyles from "./custome-styles.js";
7
+ import ChartModule from "../../module-content/chart-module/index.js";
8
+ import { useTranslation } from "react-i18next";
9
+ const AddStatisticsModal = ({
10
+ open,
11
+ onClose,
12
+ onOk,
13
+ moduleDataApi,
14
+ selectModuleData,
15
+ enumDataApi
16
+ }) => {
17
+ const { t } = useTranslation();
18
+ const [customData, setCustomData] = useState();
19
+ const [customeStyle, setCustomeStyle] = useState();
20
+ const handleOk = () => {
21
+ onClose == null ? void 0 : onClose();
22
+ };
23
+ useEffect(() => {
24
+ if (selectModuleData) {
25
+ setCustomData(selectModuleData == null ? void 0 : selectModuleData.customData);
26
+ setCustomeStyle(selectModuleData == null ? void 0 : selectModuleData.customeStyle);
27
+ }
28
+ }, [selectModuleData]);
29
+ return /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsx(
30
+ Modal,
31
+ {
32
+ width: "65%",
33
+ title: t("chartText"),
34
+ footer: null,
35
+ open,
36
+ onOk: handleOk,
37
+ onCancel: onClose,
38
+ destroyOnClose: true,
39
+ closeIcon: /* @__PURE__ */ jsx(CloseOutlined, {}),
40
+ classNames: {
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
+ },
54
+ children: /* @__PURE__ */ jsxs("div", { className: "config-widget-dialog-container", children: [
55
+ /* @__PURE__ */ jsx("div", { className: "config-widget-dialog-content", children: /* @__PURE__ */ jsx("div", { className: "config-widget-dialog-preview", children: /* @__PURE__ */ jsx(
56
+ ChartModule,
57
+ {
58
+ customData,
59
+ customeStyle,
60
+ moduleDataApi
61
+ }
62
+ ) }) }),
63
+ /* @__PURE__ */ jsxs("div", { className: "config-widget-dialog-panel", children: [
64
+ /* @__PURE__ */ jsx("div", { className: "bitable-dashboard edit-panel-container", children: /* @__PURE__ */ jsx(
65
+ Tabs,
66
+ {
67
+ defaultActiveKey: "1",
68
+ items: [
69
+ {
70
+ key: "1",
71
+ label: t("typeData"),
72
+ children: /* @__PURE__ */ jsx(
73
+ CustomData,
74
+ {
75
+ enumDataApi,
76
+ selectModuleData,
77
+ onAllValuesChange: (allVal) => {
78
+ setCustomData(allVal);
79
+ }
80
+ }
81
+ )
82
+ },
83
+ {
84
+ key: "2",
85
+ label: t("customStyle"),
86
+ children: /* @__PURE__ */ jsx(
87
+ CustomeStyles,
88
+ {
89
+ customData,
90
+ selectModuleData,
91
+ onAllValuesChange: (allVal) => {
92
+ setCustomeStyle(allVal);
93
+ }
94
+ }
95
+ )
96
+ }
97
+ ]
98
+ }
99
+ ) }),
100
+ /* @__PURE__ */ jsx("div", { className: "button-container", children: /* @__PURE__ */ jsx(
101
+ Button,
102
+ {
103
+ type: "primary",
104
+ onClick: () => {
105
+ onOk == null ? void 0 : onOk({
106
+ id: selectModuleData == null ? void 0 : selectModuleData.id,
107
+ type: selectModuleData == null ? void 0 : selectModuleData.type,
108
+ customData,
109
+ customeStyle
110
+ });
111
+ },
112
+ children: t("confirm")
113
+ }
114
+ ) })
115
+ ] })
116
+ ] })
117
+ }
118
+ ) });
119
+ };
120
+ export {
121
+ AddStatisticsModal as default
122
+ };
123
+ //# sourceMappingURL=index.js.map
@@ -0,0 +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 CustomData, { ChartCustomeDataTypes } from './custome-data'\nimport CustomeStyles, { ChartCustomeStylesTypes } from './custome-styles'\nimport { EnumDataApi, ModuleDataApi } from '../../../types'\nimport ChartModule from '../../module-content/chart-module'\nimport { ModuleData } from '../../module-content'\nimport { useTranslation } from 'react-i18next'\n\ninterface AddStatisticsModalProps {\n open: boolean\n onClose?: () => void\n selectModuleData?: ModuleData\n onOk?: ({\n id,\n type,\n customData,\n customeStyle,\n }: {\n id?: ModuleData['id']\n type?: ModuleData['type']\n customData?: ChartCustomeDataTypes\n customeStyle?: ChartCustomeStylesTypes\n }) => void\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<ChartCustomeDataTypes>()\n const [customeStyle, setCustomeStyle] = useState<any>()\n const handleOk = () => {\n onClose?.()\n }\n\n useEffect(() => {\n if (selectModuleData) {\n setCustomData(selectModuleData?.customData)\n setCustomeStyle(selectModuleData?.customeStyle)\n }\n }, [selectModuleData])\n\n return (\n <>\n <Modal\n width=\"65%\"\n title={t('chartText')}\n footer={null}\n open={open}\n onOk={handleOk}\n onCancel={onClose}\n destroyOnClose\n closeIcon={<CloseOutlined />}\n classNames={{\n content: 'ow',\n }}\n styles={{\n header: {\n padding: '10px',\n borderBottom: '1px solid #dee0e3',\n marginBottom: '10px',\n },\n body: {\n overflowY: 'auto',\n flex: 1,\n },\n }}\n >\n <div className=\"config-widget-dialog-container\">\n <div className=\"config-widget-dialog-content\">\n <div className=\"config-widget-dialog-preview\">\n <ChartModule\n customData={customData}\n customeStyle={customeStyle}\n moduleDataApi={moduleDataApi}\n />\n </div>\n </div>\n <div className=\"config-widget-dialog-panel\">\n <div className=\"bitable-dashboard edit-panel-container\">\n <Tabs\n defaultActiveKey=\"1\"\n items={[\n {\n key: '1',\n label: t('typeData'),\n children: (\n <CustomData\n enumDataApi={enumDataApi}\n selectModuleData={selectModuleData}\n onAllValuesChange={allVal => {\n setCustomData(allVal)\n }}\n />\n ),\n },\n {\n key: '2',\n label: t('customStyle'),\n children: (\n <CustomeStyles\n customData={customData}\n selectModuleData={selectModuleData}\n onAllValuesChange={allVal => {\n setCustomeStyle(allVal)\n }}\n />\n ),\n },\n ]}\n />\n </div>\n <div className=\"button-container\">\n <Button\n type=\"primary\"\n onClick={() => {\n onOk?.({\n id: selectModuleData?.id,\n type: selectModuleData?.type,\n customData,\n customeStyle,\n })\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":";;;;;;;;AA8BA,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,SAAgC;AACpE,QAAM,CAAC,cAAc,eAAe,IAAI,SAAc;AACtD,QAAM,WAAW,MAAM;AACX;AAAA,EACZ;AAEA,YAAU,MAAM;AACd,QAAI,kBAAkB;AACpB,oBAAc,qDAAkB,UAAU;AAC1C,sBAAgB,qDAAkB,YAAY;AAAA,IAAA;AAAA,EAChD,GACC,CAAC,gBAAgB,CAAC;AAErB,SAEI,oBAAA,UAAA,EAAA,UAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,OAAM;AAAA,MACN,OAAO,EAAE,WAAW;AAAA,MACpB,QAAQ;AAAA,MACR;AAAA,MACA,MAAM;AAAA,MACN,UAAU;AAAA,MACV,gBAAc;AAAA,MACd,+BAAY,eAAc,EAAA;AAAA,MAC1B,YAAY;AAAA,QACV,SAAS;AAAA,MACX;AAAA,MACA,QAAQ;AAAA,QACN,QAAQ;AAAA,UACN,SAAS;AAAA,UACT,cAAc;AAAA,UACd,cAAc;AAAA,QAChB;AAAA,QACA,MAAM;AAAA,UACJ,WAAW;AAAA,UACX,MAAM;AAAA,QAAA;AAAA,MAEV;AAAA,MAEA,UAAA,qBAAC,OAAI,EAAA,WAAU,kCACb,UAAA;AAAA,QAAA,oBAAC,SAAI,WAAU,gCACb,UAAC,oBAAA,OAAA,EAAI,WAAU,gCACb,UAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC;AAAA,YACA;AAAA,YACA;AAAA,UAAA;AAAA,WAEJ,EACF,CAAA;AAAA,QACA,qBAAC,OAAI,EAAA,WAAU,8BACb,UAAA;AAAA,UAAC,oBAAA,OAAA,EAAI,WAAU,0CACb,UAAA;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,kBAAiB;AAAA,cACjB,OAAO;AAAA,gBACL;AAAA,kBACE,KAAK;AAAA,kBACL,OAAO,EAAE,UAAU;AAAA,kBACnB,UACE;AAAA,oBAAC;AAAA,oBAAA;AAAA,sBACC;AAAA,sBACA;AAAA,sBACA,mBAAmB,CAAU,WAAA;AAC3B,sCAAc,MAAM;AAAA,sBAAA;AAAA,oBACtB;AAAA,kBAAA;AAAA,gBAGN;AAAA,gBACA;AAAA,kBACE,KAAK;AAAA,kBACL,OAAO,EAAE,aAAa;AAAA,kBACtB,UACE;AAAA,oBAAC;AAAA,oBAAA;AAAA,sBACC;AAAA,sBACA;AAAA,sBACA,mBAAmB,CAAU,WAAA;AAC3B,wCAAgB,MAAM;AAAA,sBAAA;AAAA,oBACxB;AAAA,kBAAA;AAAA,gBACF;AAAA,cAEJ;AAAA,YACF;AAAA,UAAA,GAEJ;AAAA,UACA,oBAAC,OAAI,EAAA,WAAU,oBACb,UAAA;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,MAAK;AAAA,cACL,SAAS,MAAM;AACN,6CAAA;AAAA,kBACL,IAAI,qDAAkB;AAAA,kBACtB,MAAM,qDAAkB;AAAA,kBACxB;AAAA,kBACA;AAAA,gBAAA;AAAA,cAEJ;AAAA,cAEC,YAAE,SAAS;AAAA,YAAA;AAAA,UAAA,EAEhB,CAAA;AAAA,QAAA,EACF,CAAA;AAAA,MAAA,EACF,CAAA;AAAA,IAAA;AAAA,EAAA,GAEJ;AAEJ;"}
@@ -0,0 +1,20 @@
1
+ import { ModuleData } from '../../module-content';
2
+ import { ConditionListItemTypes } from '../components/condition-modal';
3
+ import { EnumDataApi } from '../../../types';
4
+ export type StatisticsCustomeDataTypes = {
5
+ conditionData?: {
6
+ conditionList: ConditionListItemTypes[];
7
+ conditionType: 'all' | 'any';
8
+ };
9
+ dataSourceId?: string;
10
+ statisticalMethod?: string;
11
+ statisticalType?: 'sum' | 'max' | 'min' | 'avg';
12
+ field: string;
13
+ };
14
+ interface CustomDataProps {
15
+ selectModuleData?: ModuleData;
16
+ onAllValuesChange?: ((values: any) => void) | undefined;
17
+ enumDataApi?: EnumDataApi;
18
+ }
19
+ declare const CustomData: React.FC<CustomDataProps>;
20
+ export default CustomData;