@fctc/widget-logic 1.3.0 → 1.3.2

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 (65) hide show
  1. package/dist/config.d.mts +7 -0
  2. package/dist/config.d.ts +7 -0
  3. package/dist/config.js +24 -0
  4. package/dist/config.mjs +2 -0
  5. package/dist/constants.d.mts +1 -0
  6. package/dist/constants.d.ts +1 -0
  7. package/dist/constants.js +24 -0
  8. package/dist/constants.mjs +2 -0
  9. package/dist/environment.d.mts +1 -0
  10. package/dist/environment.d.ts +1 -0
  11. package/dist/environment.js +24 -0
  12. package/dist/environment.mjs +2 -0
  13. package/dist/hooks.d.mts +970 -0
  14. package/dist/hooks.d.ts +970 -0
  15. package/dist/hooks.js +734 -0
  16. package/dist/hooks.mjs +720 -0
  17. package/dist/icons.d.mts +9 -0
  18. package/dist/icons.d.ts +9 -0
  19. package/dist/icons.js +139 -0
  20. package/dist/icons.mjs +110 -0
  21. package/dist/index.d.mts +314 -5
  22. package/dist/index.d.ts +314 -5
  23. package/dist/index.js +7216 -231
  24. package/dist/index.mjs +7340 -221
  25. package/dist/model.d.mts +1 -0
  26. package/dist/model.d.ts +1 -0
  27. package/dist/model.js +24 -0
  28. package/dist/model.mjs +2 -0
  29. package/dist/provider.d.mts +1 -0
  30. package/dist/provider.d.ts +1 -0
  31. package/dist/provider.js +24 -0
  32. package/dist/provider.mjs +2 -0
  33. package/dist/services.d.mts +1 -0
  34. package/dist/services.d.ts +1 -0
  35. package/dist/services.js +24 -0
  36. package/dist/services.mjs +2 -0
  37. package/dist/store.d.mts +1 -0
  38. package/dist/store.d.ts +1 -0
  39. package/dist/store.js +24 -0
  40. package/dist/store.mjs +2 -0
  41. package/dist/types.d.mts +31 -0
  42. package/dist/types.d.ts +31 -0
  43. package/dist/types.js +24 -0
  44. package/dist/types.mjs +2 -0
  45. package/dist/utils.d.mts +38 -0
  46. package/dist/utils.d.ts +38 -0
  47. package/dist/utils.js +282 -0
  48. package/dist/utils.mjs +242 -0
  49. package/package.json +70 -22
  50. package/dist/action.d.mts +0 -68
  51. package/dist/action.d.ts +0 -68
  52. package/dist/action.js +0 -152
  53. package/dist/action.mjs +0 -122
  54. package/dist/common.d.mts +0 -13
  55. package/dist/common.d.ts +0 -13
  56. package/dist/common.js +0 -60
  57. package/dist/common.mjs +0 -33
  58. package/dist/form.d.mts +0 -41
  59. package/dist/form.d.ts +0 -41
  60. package/dist/form.js +0 -116
  61. package/dist/form.mjs +0 -87
  62. package/dist/table.d.mts +0 -33
  63. package/dist/table.d.ts +0 -33
  64. package/dist/table.js +0 -118
  65. package/dist/table.mjs +0 -91
package/dist/utils.mjs ADDED
@@ -0,0 +1,242 @@
1
+ // src/utils/constants.ts
2
+ var languages = [
3
+ { id: "vi_VN", name: "VIE" },
4
+ { id: "en_US", name: "ENG" }
5
+ ];
6
+ var API_PRESCHOOL_URL = {
7
+ baseURL: "https://preschool.vitrust.app"
8
+ };
9
+ var API_APP_URL = {
10
+ baseUrl: "https://api.vitrust.app",
11
+ c2: "https://api.vitrust.app/c2",
12
+ apiV2: "https://api.vitrust.app/c2/api/v2"
13
+ };
14
+
15
+ // src/utils/function.ts
16
+ import { useCallback, useEffect, useReducer, useRef, useState } from "react";
17
+ var countSum = (data, field) => {
18
+ if (!data || !field) return 0;
19
+ return data.reduce(
20
+ (total, item) => total + (item?.[`${field}_count`] || 0),
21
+ 0
22
+ );
23
+ };
24
+ function mergeButtons(fields) {
25
+ const buttons = fields?.filter((f) => f.type_co === "button");
26
+ const others = fields?.filter((f) => f.type_co !== "button");
27
+ if (buttons?.length) {
28
+ others.push({
29
+ type_co: "buttons",
30
+ buttons
31
+ });
32
+ }
33
+ return others;
34
+ }
35
+ function isElementVisible(el) {
36
+ const style = window.getComputedStyle(el);
37
+ return style.display !== "none" && style.visibility !== "hidden" && style.opacity !== "0";
38
+ }
39
+ function arraysAreEqual(a, b) {
40
+ if (a.length !== b.length) return false;
41
+ const setA = new Set(a);
42
+ const setB = new Set(b);
43
+ if (setA.size !== setB.size) return false;
44
+ for (const val of setA) {
45
+ if (!setB.has(val)) return false;
46
+ }
47
+ return true;
48
+ }
49
+ function useGetRowIds(tableRef) {
50
+ const [rowIds, setRowIds] = useState([]);
51
+ const lastRowIdsRef = useRef([]);
52
+ const updateVisibleRowIds = useCallback(() => {
53
+ const table = tableRef?.current;
54
+ if (!table) return;
55
+ const rows = table.querySelectorAll("tr[data-row-id]");
56
+ const ids = [];
57
+ rows.forEach((row) => {
58
+ const el = row;
59
+ if (isElementVisible(el)) {
60
+ const id = el.getAttribute("data-row-id");
61
+ if (id) ids.push(id);
62
+ }
63
+ });
64
+ const uniqueIds = Array.from(new Set(ids));
65
+ if (!arraysAreEqual(lastRowIdsRef.current, uniqueIds)) {
66
+ lastRowIdsRef.current = uniqueIds;
67
+ setRowIds(uniqueIds);
68
+ }
69
+ }, [tableRef]);
70
+ useEffect(() => {
71
+ const table = tableRef?.current;
72
+ if (!table) return;
73
+ const observer = new MutationObserver(() => {
74
+ updateVisibleRowIds();
75
+ });
76
+ observer.observe(table, {
77
+ childList: true,
78
+ subtree: true,
79
+ attributes: true,
80
+ attributeFilter: ["style", "class"]
81
+ });
82
+ updateVisibleRowIds();
83
+ return () => {
84
+ observer.disconnect();
85
+ };
86
+ }, [updateVisibleRowIds, tableRef]);
87
+ return { rowIds, refresh: updateVisibleRowIds };
88
+ }
89
+ var getDateRange = (currentDate, unit) => {
90
+ const date = new Date(currentDate);
91
+ let dateStart, dateEnd;
92
+ function formatDate(d) {
93
+ return d.getFullYear() + "-" + String(d.getMonth() + 1).padStart(2, "0") + "-" + String(d.getDate()).padStart(2, "0") + " " + String(d.getHours()).padStart(2, "0") + ":" + String(d.getMinutes()).padStart(2, "0") + ":" + String(d.getSeconds()).padStart(2, "0");
94
+ }
95
+ switch (unit) {
96
+ case "month":
97
+ dateStart = new Date(
98
+ date.getFullYear(),
99
+ date.getMonth() + 1,
100
+ date.getDate(),
101
+ 23,
102
+ 59,
103
+ 59
104
+ );
105
+ dateStart.setHours(dateStart.getHours() - 7);
106
+ dateEnd = new Date(date.getFullYear(), date.getMonth(), 0, 0, 0, 0);
107
+ dateEnd.setHours(dateEnd.getHours() - 7);
108
+ break;
109
+ case "day":
110
+ dateStart = new Date(
111
+ date.getFullYear(),
112
+ date.getMonth(),
113
+ date.getDate(),
114
+ 23,
115
+ 59,
116
+ 59
117
+ );
118
+ dateStart.setHours(dateStart.getHours() - 7);
119
+ dateEnd = new Date(
120
+ date.getFullYear(),
121
+ date.getMonth(),
122
+ date.getDate(),
123
+ 0,
124
+ 0,
125
+ 0
126
+ );
127
+ dateEnd.setHours(dateEnd.getHours() - 7);
128
+ break;
129
+ case "week":
130
+ const dayOfWeek = date.getDay();
131
+ const daysToMonday = dayOfWeek === 0 ? -6 : 1 - dayOfWeek;
132
+ const daysToSunday = dayOfWeek === 0 ? 0 : 7 - dayOfWeek;
133
+ dateStart = new Date(
134
+ date.getFullYear(),
135
+ date.getMonth(),
136
+ date.getDate() + daysToSunday,
137
+ 23,
138
+ 59,
139
+ 59
140
+ );
141
+ dateStart.setHours(dateStart.getHours() - 7);
142
+ dateEnd = new Date(
143
+ date.getFullYear(),
144
+ date.getMonth(),
145
+ date.getDate() + daysToMonday,
146
+ 0,
147
+ 0,
148
+ 0
149
+ );
150
+ dateEnd.setHours(dateEnd.getHours() - 7);
151
+ break;
152
+ case "year":
153
+ dateStart = new Date(date.getFullYear(), 11, 31, 23, 59, 59);
154
+ dateStart.setHours(dateStart.getHours() - 7);
155
+ dateEnd = new Date(date.getFullYear() - 1, 11, 31, 0, 0, 0);
156
+ dateEnd.setHours(dateEnd.getHours() - 7);
157
+ break;
158
+ default:
159
+ throw new Error(
160
+ "\u0110\u01A1n v\u1ECB kh\xF4ng h\u1EE3p l\u1EC7. Ch\u1EC9 ch\u1EA5p nh\u1EADn: week, day, month, year"
161
+ );
162
+ }
163
+ return [
164
+ ["date_start", "<=", formatDate(dateStart)],
165
+ ["date_end", ">=", formatDate(dateEnd)]
166
+ ];
167
+ };
168
+ var convertFieldsToArray = (fields) => {
169
+ const defaultFields = ["display_name", "date_start", "date_end"];
170
+ if (!fields || !Array.isArray(fields)) {
171
+ return defaultFields;
172
+ }
173
+ const inputFields = fields.filter((field) => field && field.type_co === "field").map((field) => field.name);
174
+ return [...defaultFields, ...inputFields];
175
+ };
176
+ function combineContexts(contexts) {
177
+ if (contexts.some((context) => !context)) {
178
+ return void 0;
179
+ } else {
180
+ const res = contexts.reduce((acc, context) => {
181
+ return { ...acc, ...context };
182
+ }, {});
183
+ return res;
184
+ }
185
+ }
186
+ var STORAGES = {
187
+ TOKEN: "accessToken",
188
+ USER_INFO: "USER_INFO"
189
+ };
190
+ function useAsyncState(initialValue = [true, null]) {
191
+ return useReducer(
192
+ (_state, action = null) => [false, action],
193
+ initialValue
194
+ );
195
+ }
196
+ async function setStorageItemAsync(key, value) {
197
+ try {
198
+ if (value === null) {
199
+ localStorage.removeItem(key);
200
+ } else {
201
+ localStorage.setItem(key, value);
202
+ }
203
+ } catch (e) {
204
+ console.error("Local storage is unavailable:", e);
205
+ }
206
+ }
207
+ function useStorageState(key) {
208
+ const [state, setState] = useAsyncState();
209
+ useEffect(() => {
210
+ try {
211
+ const storedValue = localStorage.getItem(key);
212
+ setState(storedValue);
213
+ } catch (e) {
214
+ console.error("Local storage is unavailable:", e);
215
+ }
216
+ }, [key]);
217
+ const setValue = useCallback(
218
+ (value) => {
219
+ setState(value);
220
+ setStorageItemAsync(key, value);
221
+ },
222
+ [key]
223
+ );
224
+ return [state, setValue];
225
+ }
226
+
227
+ // src/utils.ts
228
+ export * from "@fctc/interface-logic/utils";
229
+ export {
230
+ API_APP_URL,
231
+ API_PRESCHOOL_URL,
232
+ STORAGES,
233
+ combineContexts,
234
+ convertFieldsToArray,
235
+ countSum,
236
+ getDateRange,
237
+ languages,
238
+ mergeButtons,
239
+ setStorageItemAsync,
240
+ useGetRowIds,
241
+ useStorageState
242
+ };
package/package.json CHANGED
@@ -1,34 +1,74 @@
1
1
  {
2
2
  "name": "@fctc/widget-logic",
3
- "version": "1.3.0",
3
+ "version": "1.3.2",
4
+ "types": "dist/index.d.ts",
4
5
  "main": "dist/index.cjs",
5
6
  "module": "dist/index.mjs",
6
- "types": "dist/index.d.ts",
7
7
  "exports": {
8
8
  ".": {
9
9
  "types": "./dist/index.d.ts",
10
10
  "import": "./dist/index.mjs",
11
11
  "require": "./dist/index.cjs"
12
12
  },
13
- "./action": {
14
- "types": "./dist/action.d.ts",
15
- "import": "./dist/action.mjs",
16
- "require": "./dist/action.cjs"
17
- },
18
- "./form": {
19
- "types": "./dist/form.d.ts",
20
- "import": "./dist/form.mjs",
21
- "require": "./dist/form.cjs"
22
- },
23
- "./table": {
24
- "types": "./dist/table.d.ts",
25
- "import": "./dist/table.mjs",
26
- "require": "./dist/table.cjs"
27
- },
28
- "./common": {
29
- "types": "./dist/common.d.ts",
30
- "import": "./dist/common.mjs",
31
- "require": "./dist/common.cjs"
13
+ "./hooks": {
14
+ "types": "./dist/hooks.d.ts",
15
+ "import": "./dist/hooks.mjs",
16
+ "require": "./dist/hooks.cjs"
17
+ },
18
+ "./types": {
19
+ "types": "./dist/types.d.ts",
20
+ "import": "./dist/types.mjs",
21
+ "require": "./dist/types.cjs"
22
+ },
23
+ "./widget": {
24
+ "types": "./dist/widget.d.ts",
25
+ "import": "./dist/widget.mjs",
26
+ "require": "./dist/widget.cjs"
27
+ },
28
+ "./icons": {
29
+ "types": "./dist/icons.d.ts",
30
+ "import": "./dist/icons.mjs",
31
+ "require": "./dist/icons.cjs"
32
+ },
33
+ "./utils": {
34
+ "types": "./dist/utils.d.ts",
35
+ "import": "./dist/utils.mjs",
36
+ "require": "./dist/utils.cjs"
37
+ },
38
+ "./store": {
39
+ "types": "./dist/store.d.ts",
40
+ "import": "./dist/store.mjs",
41
+ "require": "./dist/store.cjs"
42
+ },
43
+ "./config": {
44
+ "types": "./dist/config.d.ts",
45
+ "import": "./dist/config.mjs",
46
+ "require": "./dist/config.cjs"
47
+ },
48
+ "./constants": {
49
+ "types": "./dist/constants.d.ts",
50
+ "import": "./dist/constants.mjs",
51
+ "require": "./dist/constants.cjs"
52
+ },
53
+ "./environment": {
54
+ "types": "./dist/environment.d.ts",
55
+ "import": "./dist/environment.mjs",
56
+ "require": "./dist/environment.cjs"
57
+ },
58
+ "./model": {
59
+ "types": "./dist/model.d.ts",
60
+ "import": "./dist/model.mjs",
61
+ "require": "./dist/model.cjs"
62
+ },
63
+ "./provider": {
64
+ "types": "./dist/provider.d.ts",
65
+ "import": "./dist/provider.mjs",
66
+ "require": "./dist/provider.cjs"
67
+ },
68
+ "./services": {
69
+ "types": "./dist/services.d.ts",
70
+ "import": "./dist/services.mjs",
71
+ "require": "./dist/services.cjs"
32
72
  }
33
73
  },
34
74
  "files": [
@@ -39,7 +79,15 @@
39
79
  "test": "jest"
40
80
  },
41
81
  "dependencies": {
42
- "@fctc/interface-logic": "^1.0.4"
82
+ "@fctc/interface-logic": "^1.2.6",
83
+ "@headlessui/react": "^2.2.6",
84
+ "@tanstack/react-query": "^5.84.0",
85
+ "@types/react-dom": "^19.1.7",
86
+ "i18next": "^25.3.2",
87
+ "i18next-browser-languagedetector": "^8.2.0",
88
+ "react-dom": "^19.1.1",
89
+ "react-i18next": "^15.6.1",
90
+ "react-tooltip": "^5.29.1"
43
91
  },
44
92
  "devDependencies": {
45
93
  "@types/react": "18.0.0",
package/dist/action.d.mts DELETED
@@ -1,68 +0,0 @@
1
- interface UseArchieveProps {
2
- data: {
3
- method: string;
4
- model: string;
5
- ids: number[];
6
- context: any;
7
- actionName: 'archive' | 'unarchive';
8
- };
9
- onSuccess?: (res: any) => void;
10
- onError?: (err: any) => void;
11
- onSettled?: (err: any) => void;
12
- }
13
- declare const useArchieveHandler: ({ data, onSuccess, onError, onSettled, }: UseArchieveProps) => () => void;
14
-
15
- interface UseDuplicateRowProps {
16
- data: {
17
- model: string;
18
- ids: any;
19
- context: any;
20
- };
21
- onSuccess?: (res: any) => void;
22
- onError?: (err: any) => void;
23
- onSettled?: (err: any) => void;
24
- }
25
- declare const useDuplicateRowHandler: ({ data, onSuccess, onError, onSettled, }: UseDuplicateRowProps) => () => void;
26
-
27
- interface UseGetFieldExportProps {
28
- data: {
29
- ids: number[];
30
- model: string;
31
- isShow?: boolean;
32
- fieldType?: any;
33
- importCompat?: boolean;
34
- name?: string;
35
- parentField?: any;
36
- parentName?: string;
37
- prefix?: any;
38
- context?: any;
39
- };
40
- onSuccess?: (res: any) => void;
41
- onError?: (err: any) => void;
42
- onSettled?: (err: any) => void;
43
- }
44
- declare const useGetFieldExportHandler: ({ data, onSuccess, onError, onSettled, }: UseGetFieldExportProps) => () => void;
45
-
46
- interface UseExportExcelProps {
47
- data: {
48
- context: any;
49
- model: string;
50
- fields: {
51
- name: string;
52
- label: string;
53
- type: string;
54
- }[];
55
- domain: any;
56
- title?: string;
57
- ids?: number[];
58
- groupby?: any;
59
- importCompat?: boolean;
60
- type?: 'xlsx' | 'csv';
61
- };
62
- onSuccess?: (res: any) => void;
63
- onError?: (err: any) => void;
64
- onSettled?: (err: any) => void;
65
- }
66
- declare const useExportExcelHandler: ({ data, onSuccess, onError, onSettled, }: UseExportExcelProps) => () => void;
67
-
68
- export { useArchieveHandler, useDuplicateRowHandler, useExportExcelHandler, useGetFieldExportHandler };
package/dist/action.d.ts DELETED
@@ -1,68 +0,0 @@
1
- interface UseArchieveProps {
2
- data: {
3
- method: string;
4
- model: string;
5
- ids: number[];
6
- context: any;
7
- actionName: 'archive' | 'unarchive';
8
- };
9
- onSuccess?: (res: any) => void;
10
- onError?: (err: any) => void;
11
- onSettled?: (err: any) => void;
12
- }
13
- declare const useArchieveHandler: ({ data, onSuccess, onError, onSettled, }: UseArchieveProps) => () => void;
14
-
15
- interface UseDuplicateRowProps {
16
- data: {
17
- model: string;
18
- ids: any;
19
- context: any;
20
- };
21
- onSuccess?: (res: any) => void;
22
- onError?: (err: any) => void;
23
- onSettled?: (err: any) => void;
24
- }
25
- declare const useDuplicateRowHandler: ({ data, onSuccess, onError, onSettled, }: UseDuplicateRowProps) => () => void;
26
-
27
- interface UseGetFieldExportProps {
28
- data: {
29
- ids: number[];
30
- model: string;
31
- isShow?: boolean;
32
- fieldType?: any;
33
- importCompat?: boolean;
34
- name?: string;
35
- parentField?: any;
36
- parentName?: string;
37
- prefix?: any;
38
- context?: any;
39
- };
40
- onSuccess?: (res: any) => void;
41
- onError?: (err: any) => void;
42
- onSettled?: (err: any) => void;
43
- }
44
- declare const useGetFieldExportHandler: ({ data, onSuccess, onError, onSettled, }: UseGetFieldExportProps) => () => void;
45
-
46
- interface UseExportExcelProps {
47
- data: {
48
- context: any;
49
- model: string;
50
- fields: {
51
- name: string;
52
- label: string;
53
- type: string;
54
- }[];
55
- domain: any;
56
- title?: string;
57
- ids?: number[];
58
- groupby?: any;
59
- importCompat?: boolean;
60
- type?: 'xlsx' | 'csv';
61
- };
62
- onSuccess?: (res: any) => void;
63
- onError?: (err: any) => void;
64
- onSettled?: (err: any) => void;
65
- }
66
- declare const useExportExcelHandler: ({ data, onSuccess, onError, onSettled, }: UseExportExcelProps) => () => void;
67
-
68
- export { useArchieveHandler, useDuplicateRowHandler, useExportExcelHandler, useGetFieldExportHandler };
package/dist/action.js DELETED
@@ -1,152 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
-
20
- // src/action.ts
21
- var action_exports = {};
22
- __export(action_exports, {
23
- useArchieveHandler: () => useArchieveHandler,
24
- useDuplicateRowHandler: () => useDuplicateRowHandler,
25
- useExportExcelHandler: () => useExportExcelHandler,
26
- useGetFieldExportHandler: () => useGetFieldExportHandler
27
- });
28
- module.exports = __toCommonJS(action_exports);
29
-
30
- // src/action/use-archieve-row.ts
31
- var import_interface_logic = require("@fctc/interface-logic");
32
- var useArchieveHandler = ({
33
- data,
34
- onSuccess,
35
- onError,
36
- onSettled
37
- }) => {
38
- const archieve = (0, import_interface_logic.useButton)();
39
- const handleDuplicateRecord = () => {
40
- archieve.mutate(
41
- {
42
- method: `action_${data.actionName}`,
43
- model: data.model,
44
- ids: Array.isArray(data.ids) ? [...data.ids] : data.ids,
45
- context: data.context
46
- },
47
- {
48
- onSuccess,
49
- onError,
50
- onSettled
51
- }
52
- );
53
- };
54
- return handleDuplicateRecord;
55
- };
56
-
57
- // src/action/use-duplicate-row.ts
58
- var import_interface_logic2 = require("@fctc/interface-logic");
59
- var useDuplicateRowHandler = ({
60
- data,
61
- onSuccess,
62
- onError,
63
- onSettled
64
- }) => {
65
- const duplicateRecord = (0, import_interface_logic2.useDuplicateRecord)();
66
- const handleDuplicateRecord = () => {
67
- duplicateRecord.mutate(
68
- {
69
- model: data.model,
70
- id: Array.isArray(data.ids) ? [...data.ids] : data.ids,
71
- context: data.context
72
- },
73
- {
74
- onSuccess,
75
- onError,
76
- onSettled
77
- }
78
- );
79
- };
80
- return handleDuplicateRecord;
81
- };
82
-
83
- // src/action/use-get-field-export.ts
84
- var import_interface_logic3 = require("@fctc/interface-logic");
85
- var useGetFieldExportHandler = ({
86
- data,
87
- onSuccess,
88
- onError,
89
- onSettled
90
- }) => {
91
- const fieldExport = (0, import_interface_logic3.useGetFieldExport)();
92
- const handleGetFieldExport = () => {
93
- fieldExport.mutate(
94
- {
95
- context: data.context,
96
- ids: data.ids,
97
- model: data.model,
98
- isShow: data.isShow,
99
- fieldType: data.fieldType,
100
- importCompat: data.importCompat,
101
- name: data.name,
102
- parentField: data.parentField,
103
- parentName: data.parentName,
104
- prefix: data.prefix
105
- },
106
- {
107
- onSuccess,
108
- onError,
109
- onSettled
110
- }
111
- );
112
- };
113
- return handleGetFieldExport;
114
- };
115
-
116
- // src/action/use-export-excel.ts
117
- var import_interface_logic4 = require("@fctc/interface-logic");
118
- var useExportExcelHandler = ({
119
- data,
120
- onSuccess,
121
- onError,
122
- onSettled
123
- }) => {
124
- const exportExcel = (0, import_interface_logic4.useExportExcel)();
125
- const handleExport = () => {
126
- exportExcel.mutate(
127
- {
128
- model: data.model,
129
- ids: data?.ids,
130
- fields: data.fields,
131
- domain: (0, import_interface_logic4.evalJSONDomain)(data.domain, data.context),
132
- importCompat: data?.importCompat,
133
- type: data.type,
134
- context: data.context,
135
- groupby: data?.groupby
136
- },
137
- {
138
- onSuccess,
139
- onError,
140
- onSettled
141
- }
142
- );
143
- };
144
- return handleExport;
145
- };
146
- // Annotate the CommonJS export names for ESM import in node:
147
- 0 && (module.exports = {
148
- useArchieveHandler,
149
- useDuplicateRowHandler,
150
- useExportExcelHandler,
151
- useGetFieldExportHandler
152
- });