@fctc/widget-logic 1.0.11 → 1.2.0
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 +61 -0
- package/dist/common.mjs +34 -0
- package/dist/form.js +3 -3
- package/dist/form.mjs +3 -3
- package/dist/index.d.mts +2 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +61 -3162
- package/dist/index.mjs +52 -3167
- package/dist/table.d.mts +28 -3
- package/dist/table.d.ts +28 -3
- package/dist/table.js +9 -3144
- package/dist/table.mjs +13 -3161
- 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,61 @@
|
|
|
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
|
+
// Default to empty array to avoid undefined errors
|
|
35
|
+
refs
|
|
36
|
+
}) => {
|
|
37
|
+
const ref = (0, import_react.useRef)(null);
|
|
38
|
+
(0, import_react.useEffect)(() => {
|
|
39
|
+
const listener = (event) => {
|
|
40
|
+
const { target } = event;
|
|
41
|
+
if (refs && refs?.length > 0 && refs?.some((r) => r.current?.contains(target))) {
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
if (!(target instanceof HTMLElement)) return;
|
|
45
|
+
const shouldIgnore = target.hasAttribute("data-ignore-outside-clicks") || !document.body.contains(target) && target.tagName !== "HTML";
|
|
46
|
+
const shouldTrigger = nodes.length > 0 ? nodes.every((node) => node && !event.composedPath().includes(node)) : ref.current && !ref.current.contains(target);
|
|
47
|
+
if (shouldTrigger && !shouldIgnore) {
|
|
48
|
+
handler(event);
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
events.forEach((event) => document.addEventListener(event, listener));
|
|
52
|
+
return () => {
|
|
53
|
+
events.forEach((event) => document.removeEventListener(event, listener));
|
|
54
|
+
};
|
|
55
|
+
}, [handler, nodes, events]);
|
|
56
|
+
return ref;
|
|
57
|
+
};
|
|
58
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
59
|
+
0 && (module.exports = {
|
|
60
|
+
useClickOutside
|
|
61
|
+
});
|
package/dist/common.mjs
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
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
|
+
// Default to empty array to avoid undefined errors
|
|
9
|
+
refs
|
|
10
|
+
}) => {
|
|
11
|
+
const ref = useRef(null);
|
|
12
|
+
useEffect(() => {
|
|
13
|
+
const listener = (event) => {
|
|
14
|
+
const { target } = event;
|
|
15
|
+
if (refs && refs?.length > 0 && refs?.some((r) => r.current?.contains(target))) {
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
18
|
+
if (!(target instanceof HTMLElement)) return;
|
|
19
|
+
const shouldIgnore = target.hasAttribute("data-ignore-outside-clicks") || !document.body.contains(target) && target.tagName !== "HTML";
|
|
20
|
+
const shouldTrigger = nodes.length > 0 ? nodes.every((node) => node && !event.composedPath().includes(node)) : ref.current && !ref.current.contains(target);
|
|
21
|
+
if (shouldTrigger && !shouldIgnore) {
|
|
22
|
+
handler(event);
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
events.forEach((event) => document.addEventListener(event, listener));
|
|
26
|
+
return () => {
|
|
27
|
+
events.forEach((event) => document.removeEventListener(event, listener));
|
|
28
|
+
};
|
|
29
|
+
}, [handler, nodes, events]);
|
|
30
|
+
return ref;
|
|
31
|
+
};
|
|
32
|
+
export {
|
|
33
|
+
useClickOutside
|
|
34
|
+
};
|
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,
|
|
@@ -55,7 +55,7 @@ var UseOnChangeFormHandler = ({
|
|
|
55
55
|
return handleOnChangeForm;
|
|
56
56
|
};
|
|
57
57
|
|
|
58
|
-
// src/widget/form/use-save-form.
|
|
58
|
+
// src/widget/form/use-save-form.ts
|
|
59
59
|
var import_interface_logic2 = require("@fctc/interface-logic");
|
|
60
60
|
var useSaveFormHandler = ({
|
|
61
61
|
data,
|
|
@@ -83,7 +83,7 @@ var useSaveFormHandler = ({
|
|
|
83
83
|
return handleSaveForm;
|
|
84
84
|
};
|
|
85
85
|
|
|
86
|
-
// src/widget/form/use-remove-row.
|
|
86
|
+
// src/widget/form/use-remove-row.ts
|
|
87
87
|
var import_interface_logic3 = require("@fctc/interface-logic");
|
|
88
88
|
var useRemoveRowHandler = ({
|
|
89
89
|
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,
|
|
@@ -27,7 +27,7 @@ var UseOnChangeFormHandler = ({
|
|
|
27
27
|
return handleOnChangeForm;
|
|
28
28
|
};
|
|
29
29
|
|
|
30
|
-
// src/widget/form/use-save-form.
|
|
30
|
+
// src/widget/form/use-save-form.ts
|
|
31
31
|
import { useSave } from "@fctc/interface-logic";
|
|
32
32
|
var useSaveFormHandler = ({
|
|
33
33
|
data,
|
|
@@ -55,7 +55,7 @@ var useSaveFormHandler = ({
|
|
|
55
55
|
return handleSaveForm;
|
|
56
56
|
};
|
|
57
57
|
|
|
58
|
-
// src/widget/form/use-remove-row.
|
|
58
|
+
// src/widget/form/use-remove-row.ts
|
|
59
59
|
import { useRemoveRow } from "@fctc/interface-logic";
|
|
60
60
|
var useRemoveRowHandler = ({
|
|
61
61
|
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';
|