@fctc/widget-logic 1.1.0 → 1.1.1
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/dist/action.js +4 -4
- package/dist/action.mjs +4 -4
- package/dist/common.d.mts +13 -0
- package/dist/common.d.ts +13 -0
- package/dist/common.js +60 -0
- package/dist/common.mjs +33 -0
- package/dist/form.d.mts +7 -6
- package/dist/form.d.ts +7 -6
- package/dist/form.js +17 -12
- package/dist/form.mjs +17 -12
- package/dist/index.d.mts +2 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +66 -34
- package/dist/index.mjs +65 -34
- package/dist/table.d.mts +17 -3
- package/dist/table.d.ts +17 -3
- package/dist/table.js +12 -18
- package/dist/table.mjs +12 -18
- package/package.json +6 -1
package/dist/action.js
CHANGED
|
@@ -27,7 +27,7 @@ __export(action_exports, {
|
|
|
27
27
|
});
|
|
28
28
|
module.exports = __toCommonJS(action_exports);
|
|
29
29
|
|
|
30
|
-
// src/action/use-archieve-row.
|
|
30
|
+
// src/action/use-archieve-row.ts
|
|
31
31
|
var import_interface_logic = require("@fctc/interface-logic");
|
|
32
32
|
var useArchieveHandler = ({
|
|
33
33
|
data,
|
|
@@ -54,7 +54,7 @@ var useArchieveHandler = ({
|
|
|
54
54
|
return handleDuplicateRecord;
|
|
55
55
|
};
|
|
56
56
|
|
|
57
|
-
// src/action/use-duplicate-row.
|
|
57
|
+
// src/action/use-duplicate-row.ts
|
|
58
58
|
var import_interface_logic2 = require("@fctc/interface-logic");
|
|
59
59
|
var useDuplicateRowHandler = ({
|
|
60
60
|
data,
|
|
@@ -80,7 +80,7 @@ var useDuplicateRowHandler = ({
|
|
|
80
80
|
return handleDuplicateRecord;
|
|
81
81
|
};
|
|
82
82
|
|
|
83
|
-
// src/action/use-get-field-export.
|
|
83
|
+
// src/action/use-get-field-export.ts
|
|
84
84
|
var import_interface_logic3 = require("@fctc/interface-logic");
|
|
85
85
|
var useGetFieldExportHandler = ({
|
|
86
86
|
data,
|
|
@@ -113,7 +113,7 @@ var useGetFieldExportHandler = ({
|
|
|
113
113
|
return handleGetFieldExport;
|
|
114
114
|
};
|
|
115
115
|
|
|
116
|
-
// src/action/use-export-excel.
|
|
116
|
+
// src/action/use-export-excel.ts
|
|
117
117
|
var import_interface_logic4 = require("@fctc/interface-logic");
|
|
118
118
|
var useExportExcelHandler = ({
|
|
119
119
|
data,
|
package/dist/action.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// src/action/use-archieve-row.
|
|
1
|
+
// src/action/use-archieve-row.ts
|
|
2
2
|
import { useButton } from "@fctc/interface-logic";
|
|
3
3
|
var useArchieveHandler = ({
|
|
4
4
|
data,
|
|
@@ -25,7 +25,7 @@ var useArchieveHandler = ({
|
|
|
25
25
|
return handleDuplicateRecord;
|
|
26
26
|
};
|
|
27
27
|
|
|
28
|
-
// src/action/use-duplicate-row.
|
|
28
|
+
// src/action/use-duplicate-row.ts
|
|
29
29
|
import { useDuplicateRecord } from "@fctc/interface-logic";
|
|
30
30
|
var useDuplicateRowHandler = ({
|
|
31
31
|
data,
|
|
@@ -51,7 +51,7 @@ var useDuplicateRowHandler = ({
|
|
|
51
51
|
return handleDuplicateRecord;
|
|
52
52
|
};
|
|
53
53
|
|
|
54
|
-
// src/action/use-get-field-export.
|
|
54
|
+
// src/action/use-get-field-export.ts
|
|
55
55
|
import { useGetFieldExport } from "@fctc/interface-logic";
|
|
56
56
|
var useGetFieldExportHandler = ({
|
|
57
57
|
data,
|
|
@@ -84,7 +84,7 @@ var useGetFieldExportHandler = ({
|
|
|
84
84
|
return handleGetFieldExport;
|
|
85
85
|
};
|
|
86
86
|
|
|
87
|
-
// src/action/use-export-excel.
|
|
87
|
+
// src/action/use-export-excel.ts
|
|
88
88
|
import { evalJSONDomain, useExportExcel } from "@fctc/interface-logic";
|
|
89
89
|
var useExportExcelHandler = ({
|
|
90
90
|
data,
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { RefObject } from 'react';
|
|
2
|
+
|
|
3
|
+
declare const DEFAULT_EVENTS: readonly ["mousedown", "touchstart"];
|
|
4
|
+
type EventType = (typeof DEFAULT_EVENTS)[number];
|
|
5
|
+
interface UseClickOutsideOptions {
|
|
6
|
+
handler: (event?: Event) => void;
|
|
7
|
+
events?: readonly EventType[];
|
|
8
|
+
nodes?: (HTMLDivElement | null)[];
|
|
9
|
+
refs?: any;
|
|
10
|
+
}
|
|
11
|
+
declare const useClickOutside: ({ handler, events, nodes, refs, }: UseClickOutsideOptions) => RefObject<HTMLDivElement | null>;
|
|
12
|
+
|
|
13
|
+
export { useClickOutside };
|
package/dist/common.d.ts
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { RefObject } from 'react';
|
|
2
|
+
|
|
3
|
+
declare const DEFAULT_EVENTS: readonly ["mousedown", "touchstart"];
|
|
4
|
+
type EventType = (typeof DEFAULT_EVENTS)[number];
|
|
5
|
+
interface UseClickOutsideOptions {
|
|
6
|
+
handler: (event?: Event) => void;
|
|
7
|
+
events?: readonly EventType[];
|
|
8
|
+
nodes?: (HTMLDivElement | null)[];
|
|
9
|
+
refs?: any;
|
|
10
|
+
}
|
|
11
|
+
declare const useClickOutside: ({ handler, events, nodes, refs, }: UseClickOutsideOptions) => RefObject<HTMLDivElement | null>;
|
|
12
|
+
|
|
13
|
+
export { useClickOutside };
|
package/dist/common.js
ADDED
|
@@ -0,0 +1,60 @@
|
|
|
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/common.ts
|
|
21
|
+
var common_exports = {};
|
|
22
|
+
__export(common_exports, {
|
|
23
|
+
useClickOutside: () => useClickOutside
|
|
24
|
+
});
|
|
25
|
+
module.exports = __toCommonJS(common_exports);
|
|
26
|
+
|
|
27
|
+
// src/common/use-click-outside.ts
|
|
28
|
+
var import_react = require("react");
|
|
29
|
+
var DEFAULT_EVENTS = ["mousedown", "touchstart"];
|
|
30
|
+
var useClickOutside = ({
|
|
31
|
+
handler,
|
|
32
|
+
events = DEFAULT_EVENTS,
|
|
33
|
+
nodes = [],
|
|
34
|
+
refs
|
|
35
|
+
}) => {
|
|
36
|
+
const ref = (0, import_react.useRef)(null);
|
|
37
|
+
(0, import_react.useEffect)(() => {
|
|
38
|
+
const listener = (event) => {
|
|
39
|
+
const { target } = event;
|
|
40
|
+
if (refs && refs?.length > 0 && refs?.some((r) => r.current?.contains(target))) {
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
if (!(target instanceof HTMLElement)) return;
|
|
44
|
+
const shouldIgnore = target.hasAttribute("data-ignore-outside-clicks") || !document.body.contains(target) && target.tagName !== "HTML";
|
|
45
|
+
const shouldTrigger = nodes.length > 0 ? nodes.every((node) => node && !event.composedPath().includes(node)) : ref.current && !ref.current.contains(target);
|
|
46
|
+
if (shouldTrigger && !shouldIgnore) {
|
|
47
|
+
handler(event);
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
events.forEach((event) => document.addEventListener(event, listener));
|
|
51
|
+
return () => {
|
|
52
|
+
events.forEach((event) => document.removeEventListener(event, listener));
|
|
53
|
+
};
|
|
54
|
+
}, [handler, nodes, events]);
|
|
55
|
+
return ref;
|
|
56
|
+
};
|
|
57
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
58
|
+
0 && (module.exports = {
|
|
59
|
+
useClickOutside
|
|
60
|
+
});
|
package/dist/common.mjs
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
// src/common/use-click-outside.ts
|
|
2
|
+
import { useEffect, useRef } from "react";
|
|
3
|
+
var DEFAULT_EVENTS = ["mousedown", "touchstart"];
|
|
4
|
+
var useClickOutside = ({
|
|
5
|
+
handler,
|
|
6
|
+
events = DEFAULT_EVENTS,
|
|
7
|
+
nodes = [],
|
|
8
|
+
refs
|
|
9
|
+
}) => {
|
|
10
|
+
const ref = useRef(null);
|
|
11
|
+
useEffect(() => {
|
|
12
|
+
const listener = (event) => {
|
|
13
|
+
const { target } = event;
|
|
14
|
+
if (refs && refs?.length > 0 && refs?.some((r) => r.current?.contains(target))) {
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
if (!(target instanceof HTMLElement)) return;
|
|
18
|
+
const shouldIgnore = target.hasAttribute("data-ignore-outside-clicks") || !document.body.contains(target) && target.tagName !== "HTML";
|
|
19
|
+
const shouldTrigger = nodes.length > 0 ? nodes.every((node) => node && !event.composedPath().includes(node)) : ref.current && !ref.current.contains(target);
|
|
20
|
+
if (shouldTrigger && !shouldIgnore) {
|
|
21
|
+
handler(event);
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
events.forEach((event) => document.addEventListener(event, listener));
|
|
25
|
+
return () => {
|
|
26
|
+
events.forEach((event) => document.removeEventListener(event, listener));
|
|
27
|
+
};
|
|
28
|
+
}, [handler, nodes, events]);
|
|
29
|
+
return ref;
|
|
30
|
+
};
|
|
31
|
+
export {
|
|
32
|
+
useClickOutside
|
|
33
|
+
};
|
package/dist/form.d.mts
CHANGED
|
@@ -3,22 +3,23 @@ interface UseSaveFormProps$1 {
|
|
|
3
3
|
context: any;
|
|
4
4
|
model: string;
|
|
5
5
|
specification: any;
|
|
6
|
-
|
|
7
|
-
nameField
|
|
8
|
-
object
|
|
6
|
+
ids: any;
|
|
7
|
+
nameField?: any;
|
|
8
|
+
object?: any;
|
|
9
9
|
};
|
|
10
10
|
onSuccess?: (res: any) => void;
|
|
11
11
|
onError?: (err: any) => void;
|
|
12
12
|
onSettled?: (err: any) => void;
|
|
13
13
|
}
|
|
14
|
-
declare const UseOnChangeFormHandler: ({ data, onSuccess, onError, onSettled, }: UseSaveFormProps$1) =>
|
|
14
|
+
declare const UseOnChangeFormHandler: ({ data, onSuccess, onError, onSettled, }: UseSaveFormProps$1) => Promise<any>;
|
|
15
15
|
|
|
16
16
|
interface UseSaveFormProps {
|
|
17
17
|
data: {
|
|
18
18
|
context: any;
|
|
19
19
|
model: string;
|
|
20
|
-
specification
|
|
21
|
-
|
|
20
|
+
specification?: any;
|
|
21
|
+
ids: any;
|
|
22
|
+
records: any;
|
|
22
23
|
};
|
|
23
24
|
onSuccess?: (res: any) => void;
|
|
24
25
|
onError?: (err: any) => void;
|
package/dist/form.d.ts
CHANGED
|
@@ -3,22 +3,23 @@ interface UseSaveFormProps$1 {
|
|
|
3
3
|
context: any;
|
|
4
4
|
model: string;
|
|
5
5
|
specification: any;
|
|
6
|
-
|
|
7
|
-
nameField
|
|
8
|
-
object
|
|
6
|
+
ids: any;
|
|
7
|
+
nameField?: any;
|
|
8
|
+
object?: any;
|
|
9
9
|
};
|
|
10
10
|
onSuccess?: (res: any) => void;
|
|
11
11
|
onError?: (err: any) => void;
|
|
12
12
|
onSettled?: (err: any) => void;
|
|
13
13
|
}
|
|
14
|
-
declare const UseOnChangeFormHandler: ({ data, onSuccess, onError, onSettled, }: UseSaveFormProps$1) =>
|
|
14
|
+
declare const UseOnChangeFormHandler: ({ data, onSuccess, onError, onSettled, }: UseSaveFormProps$1) => Promise<any>;
|
|
15
15
|
|
|
16
16
|
interface UseSaveFormProps {
|
|
17
17
|
data: {
|
|
18
18
|
context: any;
|
|
19
19
|
model: string;
|
|
20
|
-
specification
|
|
21
|
-
|
|
20
|
+
specification?: any;
|
|
21
|
+
ids: any;
|
|
22
|
+
records: any;
|
|
22
23
|
};
|
|
23
24
|
onSuccess?: (res: any) => void;
|
|
24
25
|
onError?: (err: any) => void;
|
package/dist/form.js
CHANGED
|
@@ -26,7 +26,7 @@ __export(form_exports, {
|
|
|
26
26
|
});
|
|
27
27
|
module.exports = __toCommonJS(form_exports);
|
|
28
28
|
|
|
29
|
-
// src/widget/form/use-on-change-form.
|
|
29
|
+
// src/widget/form/use-on-change-form.ts
|
|
30
30
|
var import_interface_logic = require("@fctc/interface-logic");
|
|
31
31
|
var UseOnChangeFormHandler = ({
|
|
32
32
|
data,
|
|
@@ -35,27 +35,32 @@ var UseOnChangeFormHandler = ({
|
|
|
35
35
|
onSettled
|
|
36
36
|
}) => {
|
|
37
37
|
const fetchOnchange = (0, import_interface_logic.useOnChangeForm)();
|
|
38
|
-
|
|
38
|
+
return new Promise((resolve, reject) => {
|
|
39
39
|
fetchOnchange.mutate(
|
|
40
40
|
{
|
|
41
|
-
ids: data.
|
|
41
|
+
ids: data.ids ? data.ids : [],
|
|
42
42
|
model: data.model,
|
|
43
43
|
specification: data.specification,
|
|
44
44
|
context: data.context,
|
|
45
45
|
object: data.object,
|
|
46
|
-
fieldChange:
|
|
46
|
+
fieldChange: data.nameField
|
|
47
47
|
},
|
|
48
48
|
{
|
|
49
|
-
onSuccess
|
|
50
|
-
|
|
49
|
+
onSuccess: (res) => {
|
|
50
|
+
onSuccess?.(res);
|
|
51
|
+
resolve(res);
|
|
52
|
+
},
|
|
53
|
+
onError: (err) => {
|
|
54
|
+
onError?.(err);
|
|
55
|
+
reject(err);
|
|
56
|
+
},
|
|
51
57
|
onSettled
|
|
52
58
|
}
|
|
53
59
|
);
|
|
54
|
-
};
|
|
55
|
-
return handleOnChangeForm;
|
|
60
|
+
});
|
|
56
61
|
};
|
|
57
62
|
|
|
58
|
-
// src/widget/form/use-save-form.
|
|
63
|
+
// src/widget/form/use-save-form.ts
|
|
59
64
|
var import_interface_logic2 = require("@fctc/interface-logic");
|
|
60
65
|
var useSaveFormHandler = ({
|
|
61
66
|
data,
|
|
@@ -67,9 +72,9 @@ var useSaveFormHandler = ({
|
|
|
67
72
|
const handleSaveForm = () => {
|
|
68
73
|
fetchSave.mutate(
|
|
69
74
|
{
|
|
70
|
-
ids: data.
|
|
75
|
+
ids: data.ids ? [data.ids] : [],
|
|
71
76
|
model: data.model,
|
|
72
|
-
data,
|
|
77
|
+
data: data.records,
|
|
73
78
|
specification: data.specification,
|
|
74
79
|
context: data.context
|
|
75
80
|
},
|
|
@@ -83,7 +88,7 @@ var useSaveFormHandler = ({
|
|
|
83
88
|
return handleSaveForm;
|
|
84
89
|
};
|
|
85
90
|
|
|
86
|
-
// src/widget/form/use-remove-row.
|
|
91
|
+
// src/widget/form/use-remove-row.ts
|
|
87
92
|
var import_interface_logic3 = require("@fctc/interface-logic");
|
|
88
93
|
var useRemoveRowHandler = ({
|
|
89
94
|
data,
|
package/dist/form.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// src/widget/form/use-on-change-form.
|
|
1
|
+
// src/widget/form/use-on-change-form.ts
|
|
2
2
|
import { useOnChangeForm } from "@fctc/interface-logic";
|
|
3
3
|
var UseOnChangeFormHandler = ({
|
|
4
4
|
data,
|
|
@@ -7,27 +7,32 @@ var UseOnChangeFormHandler = ({
|
|
|
7
7
|
onSettled
|
|
8
8
|
}) => {
|
|
9
9
|
const fetchOnchange = useOnChangeForm();
|
|
10
|
-
|
|
10
|
+
return new Promise((resolve, reject) => {
|
|
11
11
|
fetchOnchange.mutate(
|
|
12
12
|
{
|
|
13
|
-
ids: data.
|
|
13
|
+
ids: data.ids ? data.ids : [],
|
|
14
14
|
model: data.model,
|
|
15
15
|
specification: data.specification,
|
|
16
16
|
context: data.context,
|
|
17
17
|
object: data.object,
|
|
18
|
-
fieldChange:
|
|
18
|
+
fieldChange: data.nameField
|
|
19
19
|
},
|
|
20
20
|
{
|
|
21
|
-
onSuccess
|
|
22
|
-
|
|
21
|
+
onSuccess: (res) => {
|
|
22
|
+
onSuccess?.(res);
|
|
23
|
+
resolve(res);
|
|
24
|
+
},
|
|
25
|
+
onError: (err) => {
|
|
26
|
+
onError?.(err);
|
|
27
|
+
reject(err);
|
|
28
|
+
},
|
|
23
29
|
onSettled
|
|
24
30
|
}
|
|
25
31
|
);
|
|
26
|
-
};
|
|
27
|
-
return handleOnChangeForm;
|
|
32
|
+
});
|
|
28
33
|
};
|
|
29
34
|
|
|
30
|
-
// src/widget/form/use-save-form.
|
|
35
|
+
// src/widget/form/use-save-form.ts
|
|
31
36
|
import { useSave } from "@fctc/interface-logic";
|
|
32
37
|
var useSaveFormHandler = ({
|
|
33
38
|
data,
|
|
@@ -39,9 +44,9 @@ var useSaveFormHandler = ({
|
|
|
39
44
|
const handleSaveForm = () => {
|
|
40
45
|
fetchSave.mutate(
|
|
41
46
|
{
|
|
42
|
-
ids: data.
|
|
47
|
+
ids: data.ids ? [data.ids] : [],
|
|
43
48
|
model: data.model,
|
|
44
|
-
data,
|
|
49
|
+
data: data.records,
|
|
45
50
|
specification: data.specification,
|
|
46
51
|
context: data.context
|
|
47
52
|
},
|
|
@@ -55,7 +60,7 @@ var useSaveFormHandler = ({
|
|
|
55
60
|
return handleSaveForm;
|
|
56
61
|
};
|
|
57
62
|
|
|
58
|
-
// src/widget/form/use-remove-row.
|
|
63
|
+
// src/widget/form/use-remove-row.ts
|
|
59
64
|
import { useRemoveRow } from "@fctc/interface-logic";
|
|
60
65
|
var useRemoveRowHandler = ({
|
|
61
66
|
data,
|
package/dist/index.d.mts
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
1
|
export { useArchieveHandler, useDuplicateRowHandler, useExportExcelHandler, useGetFieldExportHandler } from './action.mjs';
|
|
2
2
|
export { UseOnChangeFormHandler, useRemoveRowHandler, useSaveFormHandler } from './form.mjs';
|
|
3
3
|
export { useTableHandler } from './table.mjs';
|
|
4
|
+
export { useClickOutside } from './common.mjs';
|
|
5
|
+
import 'react';
|
package/dist/index.d.ts
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
1
|
export { useArchieveHandler, useDuplicateRowHandler, useExportExcelHandler, useGetFieldExportHandler } from './action.js';
|
|
2
2
|
export { UseOnChangeFormHandler, useRemoveRowHandler, useSaveFormHandler } from './form.js';
|
|
3
3
|
export { useTableHandler } from './table.js';
|
|
4
|
+
export { useClickOutside } from './common.js';
|
|
5
|
+
import 'react';
|
package/dist/index.js
CHANGED
|
@@ -22,6 +22,7 @@ var index_exports = {};
|
|
|
22
22
|
__export(index_exports, {
|
|
23
23
|
UseOnChangeFormHandler: () => UseOnChangeFormHandler,
|
|
24
24
|
useArchieveHandler: () => useArchieveHandler,
|
|
25
|
+
useClickOutside: () => useClickOutside,
|
|
25
26
|
useDuplicateRowHandler: () => useDuplicateRowHandler,
|
|
26
27
|
useExportExcelHandler: () => useExportExcelHandler,
|
|
27
28
|
useGetFieldExportHandler: () => useGetFieldExportHandler,
|
|
@@ -31,7 +32,7 @@ __export(index_exports, {
|
|
|
31
32
|
});
|
|
32
33
|
module.exports = __toCommonJS(index_exports);
|
|
33
34
|
|
|
34
|
-
// src/action/use-archieve-row.
|
|
35
|
+
// src/action/use-archieve-row.ts
|
|
35
36
|
var import_interface_logic = require("@fctc/interface-logic");
|
|
36
37
|
var useArchieveHandler = ({
|
|
37
38
|
data,
|
|
@@ -58,7 +59,7 @@ var useArchieveHandler = ({
|
|
|
58
59
|
return handleDuplicateRecord;
|
|
59
60
|
};
|
|
60
61
|
|
|
61
|
-
// src/action/use-duplicate-row.
|
|
62
|
+
// src/action/use-duplicate-row.ts
|
|
62
63
|
var import_interface_logic2 = require("@fctc/interface-logic");
|
|
63
64
|
var useDuplicateRowHandler = ({
|
|
64
65
|
data,
|
|
@@ -84,7 +85,7 @@ var useDuplicateRowHandler = ({
|
|
|
84
85
|
return handleDuplicateRecord;
|
|
85
86
|
};
|
|
86
87
|
|
|
87
|
-
// src/action/use-get-field-export.
|
|
88
|
+
// src/action/use-get-field-export.ts
|
|
88
89
|
var import_interface_logic3 = require("@fctc/interface-logic");
|
|
89
90
|
var useGetFieldExportHandler = ({
|
|
90
91
|
data,
|
|
@@ -117,7 +118,7 @@ var useGetFieldExportHandler = ({
|
|
|
117
118
|
return handleGetFieldExport;
|
|
118
119
|
};
|
|
119
120
|
|
|
120
|
-
// src/action/use-export-excel.
|
|
121
|
+
// src/action/use-export-excel.ts
|
|
121
122
|
var import_interface_logic4 = require("@fctc/interface-logic");
|
|
122
123
|
var useExportExcelHandler = ({
|
|
123
124
|
data,
|
|
@@ -148,7 +149,7 @@ var useExportExcelHandler = ({
|
|
|
148
149
|
return handleExport;
|
|
149
150
|
};
|
|
150
151
|
|
|
151
|
-
// src/widget/form/use-on-change-form.
|
|
152
|
+
// src/widget/form/use-on-change-form.ts
|
|
152
153
|
var import_interface_logic5 = require("@fctc/interface-logic");
|
|
153
154
|
var UseOnChangeFormHandler = ({
|
|
154
155
|
data,
|
|
@@ -157,27 +158,32 @@ var UseOnChangeFormHandler = ({
|
|
|
157
158
|
onSettled
|
|
158
159
|
}) => {
|
|
159
160
|
const fetchOnchange = (0, import_interface_logic5.useOnChangeForm)();
|
|
160
|
-
|
|
161
|
+
return new Promise((resolve, reject) => {
|
|
161
162
|
fetchOnchange.mutate(
|
|
162
163
|
{
|
|
163
|
-
ids: data.
|
|
164
|
+
ids: data.ids ? data.ids : [],
|
|
164
165
|
model: data.model,
|
|
165
166
|
specification: data.specification,
|
|
166
167
|
context: data.context,
|
|
167
168
|
object: data.object,
|
|
168
|
-
fieldChange:
|
|
169
|
+
fieldChange: data.nameField
|
|
169
170
|
},
|
|
170
171
|
{
|
|
171
|
-
onSuccess
|
|
172
|
-
|
|
172
|
+
onSuccess: (res) => {
|
|
173
|
+
onSuccess?.(res);
|
|
174
|
+
resolve(res);
|
|
175
|
+
},
|
|
176
|
+
onError: (err) => {
|
|
177
|
+
onError?.(err);
|
|
178
|
+
reject(err);
|
|
179
|
+
},
|
|
173
180
|
onSettled
|
|
174
181
|
}
|
|
175
182
|
);
|
|
176
|
-
};
|
|
177
|
-
return handleOnChangeForm;
|
|
183
|
+
});
|
|
178
184
|
};
|
|
179
185
|
|
|
180
|
-
// src/widget/form/use-save-form.
|
|
186
|
+
// src/widget/form/use-save-form.ts
|
|
181
187
|
var import_interface_logic6 = require("@fctc/interface-logic");
|
|
182
188
|
var useSaveFormHandler = ({
|
|
183
189
|
data,
|
|
@@ -189,9 +195,9 @@ var useSaveFormHandler = ({
|
|
|
189
195
|
const handleSaveForm = () => {
|
|
190
196
|
fetchSave.mutate(
|
|
191
197
|
{
|
|
192
|
-
ids: data.
|
|
198
|
+
ids: data.ids ? [data.ids] : [],
|
|
193
199
|
model: data.model,
|
|
194
|
-
data,
|
|
200
|
+
data: data.records,
|
|
195
201
|
specification: data.specification,
|
|
196
202
|
context: data.context
|
|
197
203
|
},
|
|
@@ -205,7 +211,7 @@ var useSaveFormHandler = ({
|
|
|
205
211
|
return handleSaveForm;
|
|
206
212
|
};
|
|
207
213
|
|
|
208
|
-
// src/widget/form/use-remove-row.
|
|
214
|
+
// src/widget/form/use-remove-row.ts
|
|
209
215
|
var import_interface_logic7 = require("@fctc/interface-logic");
|
|
210
216
|
var useRemoveRowHandler = ({
|
|
211
217
|
data,
|
|
@@ -231,7 +237,7 @@ var useRemoveRowHandler = ({
|
|
|
231
237
|
return handleRemoveRow;
|
|
232
238
|
};
|
|
233
239
|
|
|
234
|
-
// src/widget/table/use-table.
|
|
240
|
+
// src/widget/table/use-table.ts
|
|
235
241
|
var import_interface_logic8 = require("@fctc/interface-logic");
|
|
236
242
|
var import_react = require("react");
|
|
237
243
|
function mergeButtons(fields) {
|
|
@@ -245,20 +251,14 @@ function mergeButtons(fields) {
|
|
|
245
251
|
}
|
|
246
252
|
return others;
|
|
247
253
|
}
|
|
248
|
-
var useTableHandler = ({
|
|
249
|
-
|
|
250
|
-
data,
|
|
251
|
-
dataModel,
|
|
252
|
-
context,
|
|
253
|
-
typeTable
|
|
254
|
-
}) => {
|
|
255
|
-
const [rows, setRows] = (0, import_react.useState)(data || []);
|
|
254
|
+
var useTableHandler = ({ data }) => {
|
|
255
|
+
const [rows, setRows] = (0, import_react.useState)(data.records || []);
|
|
256
256
|
const [columns, setColumns] = (0, import_react.useState)([]);
|
|
257
|
-
const dataModelFields = fields?.map((field) => {
|
|
257
|
+
const dataModelFields = data.fields?.map((field) => {
|
|
258
258
|
return {
|
|
259
|
-
...dataModel?.[field?.name],
|
|
259
|
+
...data.dataModel?.[field?.name],
|
|
260
260
|
...field,
|
|
261
|
-
string: field?.string || dataModel?.[field?.name]?.string
|
|
261
|
+
string: field?.string || data.dataModel?.[field?.name]?.string
|
|
262
262
|
};
|
|
263
263
|
});
|
|
264
264
|
const mergeFields = mergeButtons(dataModelFields);
|
|
@@ -271,7 +271,7 @@ var useTableHandler = ({
|
|
|
271
271
|
if (item[field] && typeof item[field] === "object" && item[field].display_name) {
|
|
272
272
|
transformedItem[field] = item[field];
|
|
273
273
|
} else if (Array.isArray(item[field]) && item[field].length > 0) {
|
|
274
|
-
if (typeTable === "group" && item[field]?.length === 2 && typeof item[field]?.[1] === "string") {
|
|
274
|
+
if (data.typeTable === "group" && item[field]?.length === 2 && typeof item[field]?.[1] === "string") {
|
|
275
275
|
transformedItem["string"] = item[field]?.[1];
|
|
276
276
|
}
|
|
277
277
|
transformedItem[field] = item[field];
|
|
@@ -282,13 +282,13 @@ var useTableHandler = ({
|
|
|
282
282
|
});
|
|
283
283
|
};
|
|
284
284
|
(0, import_react.useEffect)(() => {
|
|
285
|
-
setRows(transformData(data || null));
|
|
286
|
-
}, [data]);
|
|
285
|
+
setRows(transformData(data.records || null));
|
|
286
|
+
}, [data.records]);
|
|
287
287
|
const handleGetColumns = () => {
|
|
288
288
|
let cols = [];
|
|
289
289
|
try {
|
|
290
290
|
cols = mergeFields?.filter((item) => {
|
|
291
|
-
return item?.widget !== "details_Receive_money" && !(item?.column_invisible ? import_interface_logic8.domainHelper.matchDomains(context, item?.column_invisible) : item?.invisible ? import_interface_logic8.domainHelper.matchDomains(context, item?.invisible) : false);
|
|
291
|
+
return item?.widget !== "details_Receive_money" && !(item?.column_invisible ? import_interface_logic8.domainHelper.matchDomains(data.context, item?.column_invisible) : item?.invisible ? import_interface_logic8.domainHelper.matchDomains(data.context, item?.invisible) : false);
|
|
292
292
|
})?.map((field) => {
|
|
293
293
|
return {
|
|
294
294
|
name: field?.name,
|
|
@@ -305,7 +305,7 @@ var useTableHandler = ({
|
|
|
305
305
|
(0, import_react.useEffect)(() => {
|
|
306
306
|
const columns2 = handleGetColumns();
|
|
307
307
|
setColumns(columns2);
|
|
308
|
-
}, [data]);
|
|
308
|
+
}, [data.records]);
|
|
309
309
|
const onToggleColumnOptional = (item) => {
|
|
310
310
|
const tempColumn = [...columns]?.map((val) => {
|
|
311
311
|
if (item?.name === val?.name) {
|
|
@@ -322,13 +322,45 @@ var useTableHandler = ({
|
|
|
322
322
|
rows,
|
|
323
323
|
columns,
|
|
324
324
|
onToggleColumnOptional,
|
|
325
|
-
typeTable
|
|
325
|
+
typeTable: data.typeTable
|
|
326
326
|
};
|
|
327
327
|
};
|
|
328
|
+
|
|
329
|
+
// src/common/use-click-outside.ts
|
|
330
|
+
var import_react2 = require("react");
|
|
331
|
+
var DEFAULT_EVENTS = ["mousedown", "touchstart"];
|
|
332
|
+
var useClickOutside = ({
|
|
333
|
+
handler,
|
|
334
|
+
events = DEFAULT_EVENTS,
|
|
335
|
+
nodes = [],
|
|
336
|
+
refs
|
|
337
|
+
}) => {
|
|
338
|
+
const ref = (0, import_react2.useRef)(null);
|
|
339
|
+
(0, import_react2.useEffect)(() => {
|
|
340
|
+
const listener = (event) => {
|
|
341
|
+
const { target } = event;
|
|
342
|
+
if (refs && refs?.length > 0 && refs?.some((r) => r.current?.contains(target))) {
|
|
343
|
+
return;
|
|
344
|
+
}
|
|
345
|
+
if (!(target instanceof HTMLElement)) return;
|
|
346
|
+
const shouldIgnore = target.hasAttribute("data-ignore-outside-clicks") || !document.body.contains(target) && target.tagName !== "HTML";
|
|
347
|
+
const shouldTrigger = nodes.length > 0 ? nodes.every((node) => node && !event.composedPath().includes(node)) : ref.current && !ref.current.contains(target);
|
|
348
|
+
if (shouldTrigger && !shouldIgnore) {
|
|
349
|
+
handler(event);
|
|
350
|
+
}
|
|
351
|
+
};
|
|
352
|
+
events.forEach((event) => document.addEventListener(event, listener));
|
|
353
|
+
return () => {
|
|
354
|
+
events.forEach((event) => document.removeEventListener(event, listener));
|
|
355
|
+
};
|
|
356
|
+
}, [handler, nodes, events]);
|
|
357
|
+
return ref;
|
|
358
|
+
};
|
|
328
359
|
// Annotate the CommonJS export names for ESM import in node:
|
|
329
360
|
0 && (module.exports = {
|
|
330
361
|
UseOnChangeFormHandler,
|
|
331
362
|
useArchieveHandler,
|
|
363
|
+
useClickOutside,
|
|
332
364
|
useDuplicateRowHandler,
|
|
333
365
|
useExportExcelHandler,
|
|
334
366
|
useGetFieldExportHandler,
|
package/dist/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// src/action/use-archieve-row.
|
|
1
|
+
// src/action/use-archieve-row.ts
|
|
2
2
|
import { useButton } from "@fctc/interface-logic";
|
|
3
3
|
var useArchieveHandler = ({
|
|
4
4
|
data,
|
|
@@ -25,7 +25,7 @@ var useArchieveHandler = ({
|
|
|
25
25
|
return handleDuplicateRecord;
|
|
26
26
|
};
|
|
27
27
|
|
|
28
|
-
// src/action/use-duplicate-row.
|
|
28
|
+
// src/action/use-duplicate-row.ts
|
|
29
29
|
import { useDuplicateRecord } from "@fctc/interface-logic";
|
|
30
30
|
var useDuplicateRowHandler = ({
|
|
31
31
|
data,
|
|
@@ -51,7 +51,7 @@ var useDuplicateRowHandler = ({
|
|
|
51
51
|
return handleDuplicateRecord;
|
|
52
52
|
};
|
|
53
53
|
|
|
54
|
-
// src/action/use-get-field-export.
|
|
54
|
+
// src/action/use-get-field-export.ts
|
|
55
55
|
import { useGetFieldExport } from "@fctc/interface-logic";
|
|
56
56
|
var useGetFieldExportHandler = ({
|
|
57
57
|
data,
|
|
@@ -84,7 +84,7 @@ var useGetFieldExportHandler = ({
|
|
|
84
84
|
return handleGetFieldExport;
|
|
85
85
|
};
|
|
86
86
|
|
|
87
|
-
// src/action/use-export-excel.
|
|
87
|
+
// src/action/use-export-excel.ts
|
|
88
88
|
import { evalJSONDomain, useExportExcel } from "@fctc/interface-logic";
|
|
89
89
|
var useExportExcelHandler = ({
|
|
90
90
|
data,
|
|
@@ -115,7 +115,7 @@ var useExportExcelHandler = ({
|
|
|
115
115
|
return handleExport;
|
|
116
116
|
};
|
|
117
117
|
|
|
118
|
-
// src/widget/form/use-on-change-form.
|
|
118
|
+
// src/widget/form/use-on-change-form.ts
|
|
119
119
|
import { useOnChangeForm } from "@fctc/interface-logic";
|
|
120
120
|
var UseOnChangeFormHandler = ({
|
|
121
121
|
data,
|
|
@@ -124,27 +124,32 @@ var UseOnChangeFormHandler = ({
|
|
|
124
124
|
onSettled
|
|
125
125
|
}) => {
|
|
126
126
|
const fetchOnchange = useOnChangeForm();
|
|
127
|
-
|
|
127
|
+
return new Promise((resolve, reject) => {
|
|
128
128
|
fetchOnchange.mutate(
|
|
129
129
|
{
|
|
130
|
-
ids: data.
|
|
130
|
+
ids: data.ids ? data.ids : [],
|
|
131
131
|
model: data.model,
|
|
132
132
|
specification: data.specification,
|
|
133
133
|
context: data.context,
|
|
134
134
|
object: data.object,
|
|
135
|
-
fieldChange:
|
|
135
|
+
fieldChange: data.nameField
|
|
136
136
|
},
|
|
137
137
|
{
|
|
138
|
-
onSuccess
|
|
139
|
-
|
|
138
|
+
onSuccess: (res) => {
|
|
139
|
+
onSuccess?.(res);
|
|
140
|
+
resolve(res);
|
|
141
|
+
},
|
|
142
|
+
onError: (err) => {
|
|
143
|
+
onError?.(err);
|
|
144
|
+
reject(err);
|
|
145
|
+
},
|
|
140
146
|
onSettled
|
|
141
147
|
}
|
|
142
148
|
);
|
|
143
|
-
};
|
|
144
|
-
return handleOnChangeForm;
|
|
149
|
+
});
|
|
145
150
|
};
|
|
146
151
|
|
|
147
|
-
// src/widget/form/use-save-form.
|
|
152
|
+
// src/widget/form/use-save-form.ts
|
|
148
153
|
import { useSave } from "@fctc/interface-logic";
|
|
149
154
|
var useSaveFormHandler = ({
|
|
150
155
|
data,
|
|
@@ -156,9 +161,9 @@ var useSaveFormHandler = ({
|
|
|
156
161
|
const handleSaveForm = () => {
|
|
157
162
|
fetchSave.mutate(
|
|
158
163
|
{
|
|
159
|
-
ids: data.
|
|
164
|
+
ids: data.ids ? [data.ids] : [],
|
|
160
165
|
model: data.model,
|
|
161
|
-
data,
|
|
166
|
+
data: data.records,
|
|
162
167
|
specification: data.specification,
|
|
163
168
|
context: data.context
|
|
164
169
|
},
|
|
@@ -172,7 +177,7 @@ var useSaveFormHandler = ({
|
|
|
172
177
|
return handleSaveForm;
|
|
173
178
|
};
|
|
174
179
|
|
|
175
|
-
// src/widget/form/use-remove-row.
|
|
180
|
+
// src/widget/form/use-remove-row.ts
|
|
176
181
|
import { useRemoveRow } from "@fctc/interface-logic";
|
|
177
182
|
var useRemoveRowHandler = ({
|
|
178
183
|
data,
|
|
@@ -198,7 +203,7 @@ var useRemoveRowHandler = ({
|
|
|
198
203
|
return handleRemoveRow;
|
|
199
204
|
};
|
|
200
205
|
|
|
201
|
-
// src/widget/table/use-table.
|
|
206
|
+
// src/widget/table/use-table.ts
|
|
202
207
|
import { domainHelper } from "@fctc/interface-logic";
|
|
203
208
|
import { useEffect, useState } from "react";
|
|
204
209
|
function mergeButtons(fields) {
|
|
@@ -212,20 +217,14 @@ function mergeButtons(fields) {
|
|
|
212
217
|
}
|
|
213
218
|
return others;
|
|
214
219
|
}
|
|
215
|
-
var useTableHandler = ({
|
|
216
|
-
|
|
217
|
-
data,
|
|
218
|
-
dataModel,
|
|
219
|
-
context,
|
|
220
|
-
typeTable
|
|
221
|
-
}) => {
|
|
222
|
-
const [rows, setRows] = useState(data || []);
|
|
220
|
+
var useTableHandler = ({ data }) => {
|
|
221
|
+
const [rows, setRows] = useState(data.records || []);
|
|
223
222
|
const [columns, setColumns] = useState([]);
|
|
224
|
-
const dataModelFields = fields?.map((field) => {
|
|
223
|
+
const dataModelFields = data.fields?.map((field) => {
|
|
225
224
|
return {
|
|
226
|
-
...dataModel?.[field?.name],
|
|
225
|
+
...data.dataModel?.[field?.name],
|
|
227
226
|
...field,
|
|
228
|
-
string: field?.string || dataModel?.[field?.name]?.string
|
|
227
|
+
string: field?.string || data.dataModel?.[field?.name]?.string
|
|
229
228
|
};
|
|
230
229
|
});
|
|
231
230
|
const mergeFields = mergeButtons(dataModelFields);
|
|
@@ -238,7 +237,7 @@ var useTableHandler = ({
|
|
|
238
237
|
if (item[field] && typeof item[field] === "object" && item[field].display_name) {
|
|
239
238
|
transformedItem[field] = item[field];
|
|
240
239
|
} else if (Array.isArray(item[field]) && item[field].length > 0) {
|
|
241
|
-
if (typeTable === "group" && item[field]?.length === 2 && typeof item[field]?.[1] === "string") {
|
|
240
|
+
if (data.typeTable === "group" && item[field]?.length === 2 && typeof item[field]?.[1] === "string") {
|
|
242
241
|
transformedItem["string"] = item[field]?.[1];
|
|
243
242
|
}
|
|
244
243
|
transformedItem[field] = item[field];
|
|
@@ -249,13 +248,13 @@ var useTableHandler = ({
|
|
|
249
248
|
});
|
|
250
249
|
};
|
|
251
250
|
useEffect(() => {
|
|
252
|
-
setRows(transformData(data || null));
|
|
253
|
-
}, [data]);
|
|
251
|
+
setRows(transformData(data.records || null));
|
|
252
|
+
}, [data.records]);
|
|
254
253
|
const handleGetColumns = () => {
|
|
255
254
|
let cols = [];
|
|
256
255
|
try {
|
|
257
256
|
cols = mergeFields?.filter((item) => {
|
|
258
|
-
return item?.widget !== "details_Receive_money" && !(item?.column_invisible ? domainHelper.matchDomains(context, item?.column_invisible) : item?.invisible ? domainHelper.matchDomains(context, item?.invisible) : false);
|
|
257
|
+
return item?.widget !== "details_Receive_money" && !(item?.column_invisible ? domainHelper.matchDomains(data.context, item?.column_invisible) : item?.invisible ? domainHelper.matchDomains(data.context, item?.invisible) : false);
|
|
259
258
|
})?.map((field) => {
|
|
260
259
|
return {
|
|
261
260
|
name: field?.name,
|
|
@@ -272,7 +271,7 @@ var useTableHandler = ({
|
|
|
272
271
|
useEffect(() => {
|
|
273
272
|
const columns2 = handleGetColumns();
|
|
274
273
|
setColumns(columns2);
|
|
275
|
-
}, [data]);
|
|
274
|
+
}, [data.records]);
|
|
276
275
|
const onToggleColumnOptional = (item) => {
|
|
277
276
|
const tempColumn = [...columns]?.map((val) => {
|
|
278
277
|
if (item?.name === val?.name) {
|
|
@@ -289,12 +288,44 @@ var useTableHandler = ({
|
|
|
289
288
|
rows,
|
|
290
289
|
columns,
|
|
291
290
|
onToggleColumnOptional,
|
|
292
|
-
typeTable
|
|
291
|
+
typeTable: data.typeTable
|
|
293
292
|
};
|
|
294
293
|
};
|
|
294
|
+
|
|
295
|
+
// src/common/use-click-outside.ts
|
|
296
|
+
import { useEffect as useEffect2, useRef } from "react";
|
|
297
|
+
var DEFAULT_EVENTS = ["mousedown", "touchstart"];
|
|
298
|
+
var useClickOutside = ({
|
|
299
|
+
handler,
|
|
300
|
+
events = DEFAULT_EVENTS,
|
|
301
|
+
nodes = [],
|
|
302
|
+
refs
|
|
303
|
+
}) => {
|
|
304
|
+
const ref = useRef(null);
|
|
305
|
+
useEffect2(() => {
|
|
306
|
+
const listener = (event) => {
|
|
307
|
+
const { target } = event;
|
|
308
|
+
if (refs && refs?.length > 0 && refs?.some((r) => r.current?.contains(target))) {
|
|
309
|
+
return;
|
|
310
|
+
}
|
|
311
|
+
if (!(target instanceof HTMLElement)) return;
|
|
312
|
+
const shouldIgnore = target.hasAttribute("data-ignore-outside-clicks") || !document.body.contains(target) && target.tagName !== "HTML";
|
|
313
|
+
const shouldTrigger = nodes.length > 0 ? nodes.every((node) => node && !event.composedPath().includes(node)) : ref.current && !ref.current.contains(target);
|
|
314
|
+
if (shouldTrigger && !shouldIgnore) {
|
|
315
|
+
handler(event);
|
|
316
|
+
}
|
|
317
|
+
};
|
|
318
|
+
events.forEach((event) => document.addEventListener(event, listener));
|
|
319
|
+
return () => {
|
|
320
|
+
events.forEach((event) => document.removeEventListener(event, listener));
|
|
321
|
+
};
|
|
322
|
+
}, [handler, nodes, events]);
|
|
323
|
+
return ref;
|
|
324
|
+
};
|
|
295
325
|
export {
|
|
296
326
|
UseOnChangeFormHandler,
|
|
297
327
|
useArchieveHandler,
|
|
328
|
+
useClickOutside,
|
|
298
329
|
useDuplicateRowHandler,
|
|
299
330
|
useExportExcelHandler,
|
|
300
331
|
useGetFieldExportHandler,
|
package/dist/table.d.mts
CHANGED
|
@@ -1,8 +1,22 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
interface UseTableProps {
|
|
2
|
+
data: {
|
|
3
|
+
fields: any[];
|
|
4
|
+
records: any[];
|
|
5
|
+
dataModel: {
|
|
6
|
+
[fieldName: string]: {
|
|
7
|
+
string?: string;
|
|
8
|
+
[key: string]: any;
|
|
9
|
+
};
|
|
10
|
+
};
|
|
11
|
+
context: any;
|
|
12
|
+
typeTable?: 'list' | 'group' | 'calendar';
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
declare const useTableHandler: ({ data }: UseTableProps) => {
|
|
16
|
+
rows: any[];
|
|
3
17
|
columns: any;
|
|
4
18
|
onToggleColumnOptional: (item: any) => void;
|
|
5
|
-
typeTable:
|
|
19
|
+
typeTable: "list" | "group" | "calendar" | undefined;
|
|
6
20
|
};
|
|
7
21
|
|
|
8
22
|
export { useTableHandler };
|
package/dist/table.d.ts
CHANGED
|
@@ -1,8 +1,22 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
interface UseTableProps {
|
|
2
|
+
data: {
|
|
3
|
+
fields: any[];
|
|
4
|
+
records: any[];
|
|
5
|
+
dataModel: {
|
|
6
|
+
[fieldName: string]: {
|
|
7
|
+
string?: string;
|
|
8
|
+
[key: string]: any;
|
|
9
|
+
};
|
|
10
|
+
};
|
|
11
|
+
context: any;
|
|
12
|
+
typeTable?: 'list' | 'group' | 'calendar';
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
declare const useTableHandler: ({ data }: UseTableProps) => {
|
|
16
|
+
rows: any[];
|
|
3
17
|
columns: any;
|
|
4
18
|
onToggleColumnOptional: (item: any) => void;
|
|
5
|
-
typeTable:
|
|
19
|
+
typeTable: "list" | "group" | "calendar" | undefined;
|
|
6
20
|
};
|
|
7
21
|
|
|
8
22
|
export { useTableHandler };
|
package/dist/table.js
CHANGED
|
@@ -24,7 +24,7 @@ __export(table_exports, {
|
|
|
24
24
|
});
|
|
25
25
|
module.exports = __toCommonJS(table_exports);
|
|
26
26
|
|
|
27
|
-
// src/widget/table/use-table.
|
|
27
|
+
// src/widget/table/use-table.ts
|
|
28
28
|
var import_interface_logic = require("@fctc/interface-logic");
|
|
29
29
|
var import_react = require("react");
|
|
30
30
|
function mergeButtons(fields) {
|
|
@@ -38,20 +38,14 @@ function mergeButtons(fields) {
|
|
|
38
38
|
}
|
|
39
39
|
return others;
|
|
40
40
|
}
|
|
41
|
-
var useTableHandler = ({
|
|
42
|
-
|
|
43
|
-
data,
|
|
44
|
-
dataModel,
|
|
45
|
-
context,
|
|
46
|
-
typeTable
|
|
47
|
-
}) => {
|
|
48
|
-
const [rows, setRows] = (0, import_react.useState)(data || []);
|
|
41
|
+
var useTableHandler = ({ data }) => {
|
|
42
|
+
const [rows, setRows] = (0, import_react.useState)(data.records || []);
|
|
49
43
|
const [columns, setColumns] = (0, import_react.useState)([]);
|
|
50
|
-
const dataModelFields = fields?.map((field) => {
|
|
44
|
+
const dataModelFields = data.fields?.map((field) => {
|
|
51
45
|
return {
|
|
52
|
-
...dataModel?.[field?.name],
|
|
46
|
+
...data.dataModel?.[field?.name],
|
|
53
47
|
...field,
|
|
54
|
-
string: field?.string || dataModel?.[field?.name]?.string
|
|
48
|
+
string: field?.string || data.dataModel?.[field?.name]?.string
|
|
55
49
|
};
|
|
56
50
|
});
|
|
57
51
|
const mergeFields = mergeButtons(dataModelFields);
|
|
@@ -64,7 +58,7 @@ var useTableHandler = ({
|
|
|
64
58
|
if (item[field] && typeof item[field] === "object" && item[field].display_name) {
|
|
65
59
|
transformedItem[field] = item[field];
|
|
66
60
|
} else if (Array.isArray(item[field]) && item[field].length > 0) {
|
|
67
|
-
if (typeTable === "group" && item[field]?.length === 2 && typeof item[field]?.[1] === "string") {
|
|
61
|
+
if (data.typeTable === "group" && item[field]?.length === 2 && typeof item[field]?.[1] === "string") {
|
|
68
62
|
transformedItem["string"] = item[field]?.[1];
|
|
69
63
|
}
|
|
70
64
|
transformedItem[field] = item[field];
|
|
@@ -75,13 +69,13 @@ var useTableHandler = ({
|
|
|
75
69
|
});
|
|
76
70
|
};
|
|
77
71
|
(0, import_react.useEffect)(() => {
|
|
78
|
-
setRows(transformData(data || null));
|
|
79
|
-
}, [data]);
|
|
72
|
+
setRows(transformData(data.records || null));
|
|
73
|
+
}, [data.records]);
|
|
80
74
|
const handleGetColumns = () => {
|
|
81
75
|
let cols = [];
|
|
82
76
|
try {
|
|
83
77
|
cols = mergeFields?.filter((item) => {
|
|
84
|
-
return item?.widget !== "details_Receive_money" && !(item?.column_invisible ? import_interface_logic.domainHelper.matchDomains(context, item?.column_invisible) : item?.invisible ? import_interface_logic.domainHelper.matchDomains(context, item?.invisible) : false);
|
|
78
|
+
return item?.widget !== "details_Receive_money" && !(item?.column_invisible ? import_interface_logic.domainHelper.matchDomains(data.context, item?.column_invisible) : item?.invisible ? import_interface_logic.domainHelper.matchDomains(data.context, item?.invisible) : false);
|
|
85
79
|
})?.map((field) => {
|
|
86
80
|
return {
|
|
87
81
|
name: field?.name,
|
|
@@ -98,7 +92,7 @@ var useTableHandler = ({
|
|
|
98
92
|
(0, import_react.useEffect)(() => {
|
|
99
93
|
const columns2 = handleGetColumns();
|
|
100
94
|
setColumns(columns2);
|
|
101
|
-
}, [data]);
|
|
95
|
+
}, [data.records]);
|
|
102
96
|
const onToggleColumnOptional = (item) => {
|
|
103
97
|
const tempColumn = [...columns]?.map((val) => {
|
|
104
98
|
if (item?.name === val?.name) {
|
|
@@ -115,7 +109,7 @@ var useTableHandler = ({
|
|
|
115
109
|
rows,
|
|
116
110
|
columns,
|
|
117
111
|
onToggleColumnOptional,
|
|
118
|
-
typeTable
|
|
112
|
+
typeTable: data.typeTable
|
|
119
113
|
};
|
|
120
114
|
};
|
|
121
115
|
// Annotate the CommonJS export names for ESM import in node:
|
package/dist/table.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// src/widget/table/use-table.
|
|
1
|
+
// src/widget/table/use-table.ts
|
|
2
2
|
import { domainHelper } from "@fctc/interface-logic";
|
|
3
3
|
import { useEffect, useState } from "react";
|
|
4
4
|
function mergeButtons(fields) {
|
|
@@ -12,20 +12,14 @@ function mergeButtons(fields) {
|
|
|
12
12
|
}
|
|
13
13
|
return others;
|
|
14
14
|
}
|
|
15
|
-
var useTableHandler = ({
|
|
16
|
-
|
|
17
|
-
data,
|
|
18
|
-
dataModel,
|
|
19
|
-
context,
|
|
20
|
-
typeTable
|
|
21
|
-
}) => {
|
|
22
|
-
const [rows, setRows] = useState(data || []);
|
|
15
|
+
var useTableHandler = ({ data }) => {
|
|
16
|
+
const [rows, setRows] = useState(data.records || []);
|
|
23
17
|
const [columns, setColumns] = useState([]);
|
|
24
|
-
const dataModelFields = fields?.map((field) => {
|
|
18
|
+
const dataModelFields = data.fields?.map((field) => {
|
|
25
19
|
return {
|
|
26
|
-
...dataModel?.[field?.name],
|
|
20
|
+
...data.dataModel?.[field?.name],
|
|
27
21
|
...field,
|
|
28
|
-
string: field?.string || dataModel?.[field?.name]?.string
|
|
22
|
+
string: field?.string || data.dataModel?.[field?.name]?.string
|
|
29
23
|
};
|
|
30
24
|
});
|
|
31
25
|
const mergeFields = mergeButtons(dataModelFields);
|
|
@@ -38,7 +32,7 @@ var useTableHandler = ({
|
|
|
38
32
|
if (item[field] && typeof item[field] === "object" && item[field].display_name) {
|
|
39
33
|
transformedItem[field] = item[field];
|
|
40
34
|
} else if (Array.isArray(item[field]) && item[field].length > 0) {
|
|
41
|
-
if (typeTable === "group" && item[field]?.length === 2 && typeof item[field]?.[1] === "string") {
|
|
35
|
+
if (data.typeTable === "group" && item[field]?.length === 2 && typeof item[field]?.[1] === "string") {
|
|
42
36
|
transformedItem["string"] = item[field]?.[1];
|
|
43
37
|
}
|
|
44
38
|
transformedItem[field] = item[field];
|
|
@@ -49,13 +43,13 @@ var useTableHandler = ({
|
|
|
49
43
|
});
|
|
50
44
|
};
|
|
51
45
|
useEffect(() => {
|
|
52
|
-
setRows(transformData(data || null));
|
|
53
|
-
}, [data]);
|
|
46
|
+
setRows(transformData(data.records || null));
|
|
47
|
+
}, [data.records]);
|
|
54
48
|
const handleGetColumns = () => {
|
|
55
49
|
let cols = [];
|
|
56
50
|
try {
|
|
57
51
|
cols = mergeFields?.filter((item) => {
|
|
58
|
-
return item?.widget !== "details_Receive_money" && !(item?.column_invisible ? domainHelper.matchDomains(context, item?.column_invisible) : item?.invisible ? domainHelper.matchDomains(context, item?.invisible) : false);
|
|
52
|
+
return item?.widget !== "details_Receive_money" && !(item?.column_invisible ? domainHelper.matchDomains(data.context, item?.column_invisible) : item?.invisible ? domainHelper.matchDomains(data.context, item?.invisible) : false);
|
|
59
53
|
})?.map((field) => {
|
|
60
54
|
return {
|
|
61
55
|
name: field?.name,
|
|
@@ -72,7 +66,7 @@ var useTableHandler = ({
|
|
|
72
66
|
useEffect(() => {
|
|
73
67
|
const columns2 = handleGetColumns();
|
|
74
68
|
setColumns(columns2);
|
|
75
|
-
}, [data]);
|
|
69
|
+
}, [data.records]);
|
|
76
70
|
const onToggleColumnOptional = (item) => {
|
|
77
71
|
const tempColumn = [...columns]?.map((val) => {
|
|
78
72
|
if (item?.name === val?.name) {
|
|
@@ -89,7 +83,7 @@ var useTableHandler = ({
|
|
|
89
83
|
rows,
|
|
90
84
|
columns,
|
|
91
85
|
onToggleColumnOptional,
|
|
92
|
-
typeTable
|
|
86
|
+
typeTable: data.typeTable
|
|
93
87
|
};
|
|
94
88
|
};
|
|
95
89
|
export {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fctc/widget-logic",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.1",
|
|
4
4
|
"main": "dist/index.cjs",
|
|
5
5
|
"module": "dist/index.mjs",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -24,6 +24,11 @@
|
|
|
24
24
|
"types": "./dist/table.d.ts",
|
|
25
25
|
"import": "./dist/table.mjs",
|
|
26
26
|
"require": "./dist/table.cjs"
|
|
27
|
+
},
|
|
28
|
+
"./common": {
|
|
29
|
+
"types": "./dist/common.d.ts",
|
|
30
|
+
"import": "./dist/common.mjs",
|
|
31
|
+
"require": "./dist/common.cjs"
|
|
27
32
|
}
|
|
28
33
|
},
|
|
29
34
|
"files": [
|