@leav/ui 0.4.0-fb972a7 → 0.4.0-fd9dcf3f
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/README.md +1 -0
- package/dist/_gqlTypes/index.d.ts +216 -0
- package/dist/_gqlTypes/index.js +179 -2
- package/dist/_gqlTypes/index.js.map +1 -1
- package/dist/_queries/trees/treeNodeChildrenQuery.js +12 -2
- package/dist/_queries/trees/treeNodeChildrenQuery.js.map +1 -1
- package/dist/components/Explorer/DataView.js +3 -3
- package/dist/components/Explorer/DataView.js.map +1 -1
- package/dist/components/Explorer/Explorer.d.ts +2 -1
- package/dist/components/Explorer/Explorer.js +2 -2
- package/dist/components/Explorer/Explorer.js.map +1 -1
- package/dist/components/Explorer/ExplorerToolbar.d.ts +2 -1
- package/dist/components/Explorer/ExplorerToolbar.js +5 -4
- package/dist/components/Explorer/ExplorerToolbar.js.map +1 -1
- package/dist/components/Explorer/_types.d.ts +3 -0
- package/dist/components/Explorer/_types.js.map +1 -1
- package/dist/components/Explorer/manage-view-settings/_shared/useTransformFilters.js +4 -0
- package/dist/components/Explorer/manage-view-settings/_shared/useTransformFilters.js.map +1 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/TreeField.js +8 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/TreeField.js.map +1 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/manage-tree-node-selection/SelectTreeNodeModal.d.ts +2 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/manage-tree-node-selection/SelectTreeNodeModal.js +2 -2
- package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/manage-tree-node-selection/SelectTreeNodeModal.js.map +1 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/manage-tree-node-selection/useManageTreeNodeSelection.d.ts +3 -2
- package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/manage-tree-node-selection/useManageTreeNodeSelection.js +2 -2
- package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/manage-tree-node-selection/useManageTreeNodeSelection.js.map +1 -1
- package/dist/components/SelectTreeNode/SelectTreeNode.d.ts +2 -0
- package/dist/components/SelectTreeNode/SelectTreeNode.js +2 -2
- package/dist/components/SelectTreeNode/SelectTreeNode.js.map +1 -1
- package/dist/components/SelectTreeNode/SelectTreeNodeContent.d.ts +2 -0
- package/dist/components/SelectTreeNode/SelectTreeNodeContent.js +3 -2
- package/dist/components/SelectTreeNode/SelectTreeNodeContent.js.map +1 -1
- package/dist/hooks/index.d.ts +2 -0
- package/dist/hooks/index.js +2 -0
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/useIFrameMessenger/messageHandlers.d.ts +2 -1
- package/dist/hooks/useIFrameMessenger/messageHandlers.js +3 -0
- package/dist/hooks/useIFrameMessenger/messageHandlers.js.map +1 -1
- package/dist/hooks/useIFrameMessenger/schema.d.ts +21 -0
- package/dist/hooks/useIFrameMessenger/schema.js +76 -0
- package/dist/hooks/useIFrameMessenger/schema.js.map +1 -0
- package/dist/hooks/useIFrameMessenger/types.d.ts +27 -56
- package/dist/hooks/useIFrameMessenger/types.js.map +1 -1
- package/dist/hooks/useIFrameMessenger/useIFrameMessenger.d.ts +9 -1
- package/dist/hooks/useIFrameMessenger/useIFrameMessenger.js +51 -20
- package/dist/hooks/useIFrameMessenger/useIFrameMessenger.js.map +1 -1
- package/dist/hooks/useIFrameMessengerClient/IFrameMessengerClient.d.ts +4 -0
- package/dist/hooks/useIFrameMessengerClient/IFrameMessengerClient.js +15 -0
- package/dist/hooks/useIFrameMessengerClient/IFrameMessengerClient.js.map +1 -0
- package/dist/hooks/useIFrameMessengerClient/iFrameMessengerClientContext.d.ts +13 -0
- package/dist/hooks/useIFrameMessengerClient/iFrameMessengerClientContext.js +6 -0
- package/dist/hooks/useIFrameMessengerClient/iFrameMessengerClientContext.js.map +1 -0
- package/dist/hooks/useIFrameMessengerClient/useIFrameMessengerClient.d.ts +13 -0
- package/dist/hooks/useIFrameMessengerClient/useIFrameMessengerClient.js +13 -0
- package/dist/hooks/useIFrameMessengerClient/useIFrameMessengerClient.js.map +1 -0
- package/package.json +4 -3
package/dist/hooks/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,sCAAsC;AACtC,sEAAsE;AAEtE,OAAO,EAAC,0BAA0B,EAAC,MAAM,cAAc,CAAC;AACxD,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAC,OAAO,IAAI,UAAU,EAAC,MAAM,cAAc,CAAC;AACnD,OAAO,EAAC,OAAO,IAAI,OAAO,EAAC,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAC,OAAO,IAAI,gBAAgB,EAAC,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAC,+BAA+B,EAAC,MAAM,mCAAmC,CAAC;AAClF,OAAO,EAAC,OAAO,IAAI,OAAO,EAAC,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAC,OAAO,IAAI,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAC,OAAO,IAAI,6BAA6B,EAAC,MAAM,iCAAiC,CAAC;AACzF,OAAO,EAAC,qBAAqB,EAAC,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAC,OAAO,IAAI,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAC,OAAO,IAAI,kBAAkB,EAAC,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAC;AAClC,OAAO,EAAC,oBAAoB,EAAC,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAC,kBAAkB,EAAC,MAAM,yCAAyC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,sCAAsC;AACtC,sEAAsE;AAEtE,OAAO,EAAC,0BAA0B,EAAC,MAAM,cAAc,CAAC;AACxD,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAC,OAAO,IAAI,UAAU,EAAC,MAAM,cAAc,CAAC;AACnD,OAAO,EAAC,OAAO,IAAI,OAAO,EAAC,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAC,OAAO,IAAI,gBAAgB,EAAC,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAC,+BAA+B,EAAC,MAAM,mCAAmC,CAAC;AAClF,OAAO,EAAC,OAAO,IAAI,OAAO,EAAC,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAC,OAAO,IAAI,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAC,OAAO,IAAI,6BAA6B,EAAC,MAAM,iCAAiC,CAAC;AACzF,OAAO,EAAC,qBAAqB,EAAC,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAC,OAAO,IAAI,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAC,OAAO,IAAI,kBAAkB,EAAC,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAC;AAClC,OAAO,EAAC,oBAAoB,EAAC,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAC,kBAAkB,EAAC,MAAM,yCAAyC,CAAC;AAC3E,OAAO,EAAC,wBAAwB,EAAC,MAAM,qDAAqD,CAAC;AAC7F,OAAO,EAAC,qBAAqB,EAAC,MAAM,kDAAkD,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type MutableRefObject } from 'react';
|
|
2
|
-
import { type AlertMessage, type Callbacks, type CallCbFunction, type IUseIFrameMessengerOptions, type Message, type MessageDispatcher, type MessageHandler, type ModalConfirmMessage, type ModalFormMessage, type NavigateToPanelMessage, type NotificationMessage, type SidePanelFormMessage, type SimpleMessage } from './types';
|
|
2
|
+
import { type AlertMessage, type Callbacks, type CallCbFunction, type IUseIFrameMessengerOptions, type Message, type MessageDispatcher, type MessageHandler, type MessageToPanelMessage, type ModalConfirmMessage, type ModalFormMessage, type NavigateToPanelMessage, type NotificationMessage, type SidePanelFormMessage, type SimpleMessage } from './types';
|
|
3
3
|
export declare const encodeMessage: (message: Message) => string;
|
|
4
4
|
export declare const decodeMessage: (raw: string) => Message | undefined;
|
|
5
5
|
export declare const initClientHandlers: (callCb: CallCbFunction, options?: IUseIFrameMessengerOptions, callbacksList?: MutableRefObject<Callbacks>) => MessageHandler;
|
|
@@ -11,4 +11,5 @@ export declare const getExposedMethods: (callbacksStore: MutableRefObject<Callba
|
|
|
11
11
|
showNotification: (data: NotificationMessage["data"]) => void;
|
|
12
12
|
messageToParent: (data: SimpleMessage["data"]) => void;
|
|
13
13
|
navigateToPanel: (data: NavigateToPanelMessage["data"]) => void;
|
|
14
|
+
messageToPanel: (data: MessageToPanelMessage["data"]) => void;
|
|
14
15
|
};
|
|
@@ -113,6 +113,9 @@ export const getExposedMethods = (callbacksStore, dispatch) => ({
|
|
|
113
113
|
},
|
|
114
114
|
navigateToPanel: (data) => {
|
|
115
115
|
dispatch?.({ type: 'navigate-to-panel', data });
|
|
116
|
+
},
|
|
117
|
+
messageToPanel: (data) => {
|
|
118
|
+
dispatch?.({ type: 'message-to-panel', data });
|
|
116
119
|
}
|
|
117
120
|
});
|
|
118
121
|
//# sourceMappingURL=messageHandlers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messageHandlers.js","sourceRoot":"","sources":["../../../src/hooks/useIFrameMessenger/messageHandlers.ts"],"names":[],"mappings":"AAIA,OAAO,
|
|
1
|
+
{"version":3,"file":"messageHandlers.js","sourceRoot":"","sources":["../../../src/hooks/useIFrameMessenger/messageHandlers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import * as z from 'zod/v4';
|
|
2
|
+
export declare const PanelIdSchema: z.ZodString;
|
|
3
|
+
export declare const LanguageSchema: z.ZodString;
|
|
4
|
+
export declare const LibraryExplorerPropsSchema: z.ZodObject<{
|
|
5
|
+
showSearch: z.ZodOptional<z.ZodBoolean>;
|
|
6
|
+
defaultActionsForItem: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodLiteral<"edit">, z.ZodLiteral<"replaceLink">, z.ZodLiteral<"remove">, z.ZodLiteral<"activate">]>>>;
|
|
7
|
+
defaultPrimaryActions: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodLiteral<"create">]>>>;
|
|
8
|
+
defaultMassActions: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodLiteral<"deactivate">]>>>;
|
|
9
|
+
showFilters: z.ZodOptional<z.ZodBoolean>;
|
|
10
|
+
showSorts: z.ZodOptional<z.ZodBoolean>;
|
|
11
|
+
freezeView: z.ZodOptional<z.ZodBoolean>;
|
|
12
|
+
showAttributeLabels: z.ZodOptional<z.ZodBoolean>;
|
|
13
|
+
creationFormId: z.ZodOptional<z.ZodString>;
|
|
14
|
+
editionFormId: z.ZodOptional<z.ZodString>;
|
|
15
|
+
noPagination: z.ZodOptional<z.ZodLiteral<true>>;
|
|
16
|
+
}, z.core.$strip>;
|
|
17
|
+
export declare const ItemActionsSchema: z.ZodArray<z.ZodObject<{
|
|
18
|
+
where: z.ZodUnion<readonly [z.ZodLiteral<"popup">, z.ZodLiteral<"slider">, z.ZodLiteral<"fullpage">]>;
|
|
19
|
+
what: z.ZodLazy<any>;
|
|
20
|
+
}, z.core.$strip>>;
|
|
21
|
+
export declare const PanelSchema: any;
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
// Copyright LEAV Solutions 2017 until 2023/11/05, Copyright Aristid from 2023/11/06
|
|
2
|
+
// This file is released under LGPL V3
|
|
3
|
+
// License text available at https://www.gnu.org/licenses/lgpl-3.0.txt
|
|
4
|
+
import * as z from 'zod/v4';
|
|
5
|
+
export const PanelIdSchema = z.string();
|
|
6
|
+
export const LanguageSchema = z.string();
|
|
7
|
+
const CommonExplorerPropsSchema = z.object({
|
|
8
|
+
showSearch: z.boolean().optional(),
|
|
9
|
+
defaultActionsForItem: z
|
|
10
|
+
.array(z.union([z.literal('edit'), z.literal('replaceLink'), z.literal('remove'), z.literal('activate')]))
|
|
11
|
+
.optional(),
|
|
12
|
+
defaultPrimaryActions: z.array(z.union([z.literal('create')])).optional(),
|
|
13
|
+
defaultMassActions: z.array(z.union([z.literal('deactivate')])).optional(),
|
|
14
|
+
showFilters: z.boolean().optional(),
|
|
15
|
+
showSorts: z.boolean().optional(),
|
|
16
|
+
freezeView: z.boolean().optional(),
|
|
17
|
+
showAttributeLabels: z.boolean().optional(),
|
|
18
|
+
creationFormId: z.string().optional(),
|
|
19
|
+
editionFormId: z.string().optional()
|
|
20
|
+
});
|
|
21
|
+
const LinkExplorerPropsSchema = CommonExplorerPropsSchema;
|
|
22
|
+
export const LibraryExplorerPropsSchema = CommonExplorerPropsSchema.extend({
|
|
23
|
+
noPagination: z.literal(true).optional()
|
|
24
|
+
});
|
|
25
|
+
export const ItemActionsSchema = z.array(z.object({
|
|
26
|
+
where: z.union([z.literal('popup'), z.literal('slider'), z.literal('fullpage')]),
|
|
27
|
+
what: z.lazy(() => PanelSchema)
|
|
28
|
+
}));
|
|
29
|
+
export const PanelSchema = z.lazy(() => z
|
|
30
|
+
.object({
|
|
31
|
+
id: PanelIdSchema,
|
|
32
|
+
name: z.record(LanguageSchema, z.string()).optional()
|
|
33
|
+
})
|
|
34
|
+
.and(z.union([
|
|
35
|
+
z.object({
|
|
36
|
+
content: z.union([
|
|
37
|
+
z
|
|
38
|
+
.object({
|
|
39
|
+
type: z.literal('explorer'), // TODO: you can split types into link-explorer and library-explorer
|
|
40
|
+
viewId: z.string().optional(),
|
|
41
|
+
actions: ItemActionsSchema
|
|
42
|
+
})
|
|
43
|
+
.and(z.union([
|
|
44
|
+
z.object({
|
|
45
|
+
// TODO: later add behavior on click on explorer item
|
|
46
|
+
libraryId: z.string(),
|
|
47
|
+
attributeSource: z.string(),
|
|
48
|
+
explorerProps: LinkExplorerPropsSchema.optional()
|
|
49
|
+
}),
|
|
50
|
+
z.object({
|
|
51
|
+
libraryId: z.union([z.literal('<props>'), z.string()]),
|
|
52
|
+
explorerProps: LibraryExplorerPropsSchema.optional()
|
|
53
|
+
})
|
|
54
|
+
])),
|
|
55
|
+
z.object({
|
|
56
|
+
type: z.literal('custom'),
|
|
57
|
+
iframeSource: z.string()
|
|
58
|
+
}),
|
|
59
|
+
z.object({
|
|
60
|
+
type: z.literal('editionForm'),
|
|
61
|
+
formId: z.string(),
|
|
62
|
+
libraryId: z.string()
|
|
63
|
+
}),
|
|
64
|
+
z.object({
|
|
65
|
+
type: z.literal('creationForm'),
|
|
66
|
+
formId: z.string(),
|
|
67
|
+
libraryId: z.string()
|
|
68
|
+
})
|
|
69
|
+
])
|
|
70
|
+
}),
|
|
71
|
+
z.object({
|
|
72
|
+
children: z.array(z.lazy(() => PanelSchema)),
|
|
73
|
+
libraryId: z.string().optional()
|
|
74
|
+
})
|
|
75
|
+
])));
|
|
76
|
+
//# sourceMappingURL=schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/hooks/useIFrameMessenger/schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
|
+
import { type RefObject, type ComponentProps, type Key, type JSXElementConstructor } from 'react';
|
|
2
|
+
import * as z from 'zod/v4';
|
|
1
3
|
import { type KitNotification } from 'aristid-ds';
|
|
2
4
|
import { type IKitConfirmDialog } from 'aristid-ds/dist/Kit/Feedback/Modal/types';
|
|
3
|
-
import { type
|
|
4
|
-
import { EditRecordModal
|
|
5
|
-
import {
|
|
5
|
+
import { type ToastedAlertProps } from 'aristid-ds/dist/Kit/Feedback/Alert/types';
|
|
6
|
+
import { type EditRecordModal } from '../../components';
|
|
7
|
+
import { ItemActionsSchema, type PanelIdSchema, PanelSchema } from '../../hooks/useIFrameMessenger/schema';
|
|
6
8
|
export declare const packetId = "__fromIframeMessenger";
|
|
7
9
|
export interface IEncodedMessage {
|
|
8
10
|
payload: string;
|
|
@@ -59,10 +61,18 @@ export type RegisterMessage = IMessageBase & {
|
|
|
59
61
|
type: 'register';
|
|
60
62
|
id: string;
|
|
61
63
|
};
|
|
62
|
-
type
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
64
|
+
export type UnregisterMessage = IMessageBase & {
|
|
65
|
+
type: 'unregister';
|
|
66
|
+
id: string;
|
|
67
|
+
};
|
|
68
|
+
export type Panel = z.infer<typeof PanelSchema>;
|
|
69
|
+
type PanelId = z.infer<typeof PanelIdSchema>;
|
|
70
|
+
type ItemActions = z.infer<typeof ItemActionsSchema>;
|
|
71
|
+
export interface INestedPanel {
|
|
72
|
+
where: ItemActions[number]['where'];
|
|
73
|
+
what: Panel & {
|
|
74
|
+
recordId?: string;
|
|
75
|
+
};
|
|
66
76
|
}
|
|
67
77
|
export type NavigateToPanelMessage = IMessageBase & {
|
|
68
78
|
type: 'navigate-to-panel';
|
|
@@ -70,56 +80,15 @@ export type NavigateToPanelMessage = IMessageBase & {
|
|
|
70
80
|
panelId: PanelId;
|
|
71
81
|
} | INestedPanel;
|
|
72
82
|
};
|
|
73
|
-
export
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
freezeView?: boolean;
|
|
80
|
-
showAttributeLabels?: boolean;
|
|
81
|
-
creationFormId?: string;
|
|
82
|
-
editionFormId?: string;
|
|
83
|
-
}
|
|
84
|
-
export type LinkExplorerProps = ICommonExplorerProps;
|
|
85
|
-
export type LibraryExplorerProps = {
|
|
86
|
-
noPagination?: true;
|
|
87
|
-
} & ICommonExplorerProps;
|
|
88
|
-
export type ItemActions = Array<{
|
|
89
|
-
what: Panel;
|
|
90
|
-
where: 'popup' | 'slider' | 'fullpage';
|
|
91
|
-
}>;
|
|
92
|
-
export type Panel = {
|
|
93
|
-
id: PanelId;
|
|
94
|
-
name: Record<string, string>;
|
|
95
|
-
} & ({
|
|
96
|
-
content: {
|
|
97
|
-
type: 'explorer';
|
|
98
|
-
attributeSource: string;
|
|
99
|
-
explorerProps?: LinkExplorerProps;
|
|
100
|
-
viewId?: string | null;
|
|
101
|
-
actions: ItemActions;
|
|
102
|
-
} | {
|
|
103
|
-
type: 'explorer';
|
|
104
|
-
libraryId: '<props>' | string;
|
|
105
|
-
explorerProps?: LibraryExplorerProps;
|
|
106
|
-
viewId?: string | null;
|
|
107
|
-
actions: ItemActions;
|
|
108
|
-
} | {
|
|
109
|
-
type: 'custom';
|
|
110
|
-
iframeSource: string;
|
|
111
|
-
child?: Panel;
|
|
112
|
-
} | {
|
|
113
|
-
type: 'editionForm';
|
|
114
|
-
formId: string;
|
|
115
|
-
} | {
|
|
116
|
-
type: 'creationForm';
|
|
117
|
-
formId: string;
|
|
83
|
+
export type MessageToPanelMessage = IMessageBase & {
|
|
84
|
+
type: 'message-to-panel';
|
|
85
|
+
data: {
|
|
86
|
+
type: string;
|
|
87
|
+
target?: string;
|
|
88
|
+
payload: unknown;
|
|
118
89
|
};
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
});
|
|
122
|
-
export type MessageToParent = SidePanelFormMessage | ModalConfirmMessage | ModalFormMessage | AlertMessage | NotificationMessage | SimpleMessage | RegisterMessage | NavigateToPanelMessage;
|
|
90
|
+
};
|
|
91
|
+
export type MessageToParent = SidePanelFormMessage | ModalConfirmMessage | ModalFormMessage | AlertMessage | NotificationMessage | SimpleMessage | RegisterMessage | UnregisterMessage | NavigateToPanelMessage | MessageToPanelMessage;
|
|
123
92
|
export type MessageFromParent = (IMessageBase & {
|
|
124
93
|
type: 'on-call-callback';
|
|
125
94
|
path: string;
|
|
@@ -131,6 +100,8 @@ export type MessageDispatcher<T = Message> = (message: T, frameId?: string) => v
|
|
|
131
100
|
export type CallCbFunction = (path: string, data: unknown, frameId: string) => void;
|
|
132
101
|
export type CallbackFunction = (...args: never[]) => void;
|
|
133
102
|
export type Callbacks = Record<string, Record<string, CallbackFunction>>;
|
|
103
|
+
export type MessageToPanelMessageHandler = (data: MessageToPanelMessage['data']['payload']) => void;
|
|
104
|
+
export type AddMessageToPanelMessageHandler = (type: string, handler: MessageToPanelMessageHandler) => void;
|
|
134
105
|
export interface IUseIFrameMessengerOptions {
|
|
135
106
|
ref?: RefObject<HTMLIFrameElement>;
|
|
136
107
|
id?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/hooks/useIFrameMessenger/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/hooks/useIFrameMessenger/types.ts"],"names":[],"mappings":"AAWA,MAAM,CAAC,MAAM,QAAQ,GAAG,uBAAuB,CAAC"}
|
|
@@ -1,6 +1,13 @@
|
|
|
1
|
-
import { type IUseIFrameMessengerOptions } from './types';
|
|
1
|
+
import { AddMessageToPanelMessageHandler, type IUseIFrameMessengerOptions } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* This is the core of useIFrameMessenger. should be used for top level apps, such as app-studio
|
|
4
|
+
* For client apps (apps that need to consume the messenger), please use the useIFrameMessengerClient
|
|
5
|
+
*/
|
|
6
|
+
export { IUseIFrameMessengerOptions };
|
|
2
7
|
export declare const useIFrameMessenger: (options?: IUseIFrameMessengerOptions) => {
|
|
8
|
+
unregister: () => void;
|
|
3
9
|
changeLangInAllFrames: (newLanguage: string) => void;
|
|
10
|
+
addPanelMessageHandler: AddMessageToPanelMessageHandler;
|
|
4
11
|
showSidePanelForm: (data: import("./types").SidePanelFormMessage["data"]) => void;
|
|
5
12
|
showModalConfirm: (data: import("./types").ModalConfirmMessage["data"]) => void;
|
|
6
13
|
showModalForm: (data: import("./types").ModalFormMessage["data"]) => void;
|
|
@@ -8,4 +15,5 @@ export declare const useIFrameMessenger: (options?: IUseIFrameMessengerOptions)
|
|
|
8
15
|
showNotification: (data: import("./types").NotificationMessage["data"]) => void;
|
|
9
16
|
messageToParent: (data: import("./types").SimpleMessage["data"]) => void;
|
|
10
17
|
navigateToPanel: (data: import("./types").NavigateToPanelMessage["data"]) => void;
|
|
18
|
+
messageToPanel: (data: import("./types").MessageToPanelMessage["data"]) => void;
|
|
11
19
|
};
|
|
@@ -15,6 +15,10 @@ export const useIFrameMessenger = (options) => {
|
|
|
15
15
|
language: newLanguage
|
|
16
16
|
}, 'all');
|
|
17
17
|
};
|
|
18
|
+
const panelMessageHandlerRegistry = useRef({});
|
|
19
|
+
const addPanelMessageHandler = (type, handler) => {
|
|
20
|
+
panelMessageHandlerRegistry.current[type] = handler;
|
|
21
|
+
};
|
|
18
22
|
const dispatch = useCallback((message, frameId) => {
|
|
19
23
|
if (window !== window.top) {
|
|
20
24
|
window.parent.postMessage(encodeMessage({ ...message, __frameId: selfId.current }), '*');
|
|
@@ -23,16 +27,29 @@ export const useIFrameMessenger = (options) => {
|
|
|
23
27
|
registry.current[frameId].postMessage(encodeMessage({ ...message, __frameId: selfId.current }), '*');
|
|
24
28
|
}
|
|
25
29
|
else if (frameId === 'all') {
|
|
26
|
-
Object.
|
|
27
|
-
|
|
30
|
+
Object.entries(registry.current).forEach(([id, frame]) => {
|
|
31
|
+
if (id !== message.__frameId) {
|
|
32
|
+
// DO not send message to sender
|
|
33
|
+
frame.postMessage(encodeMessage({ ...message, __frameId: selfId.current }), '*');
|
|
34
|
+
}
|
|
28
35
|
});
|
|
29
36
|
}
|
|
30
37
|
}, [registry.current]);
|
|
31
38
|
const callCb = useCallback((path, data, frameId) => {
|
|
32
39
|
dispatch({ type: 'on-call-callback', path, data }, frameId);
|
|
33
40
|
}, [dispatch]);
|
|
41
|
+
const unregister = () => {
|
|
42
|
+
if (window !== window.top) {
|
|
43
|
+
dispatch({ type: 'unregister', id: selfId.current });
|
|
44
|
+
}
|
|
45
|
+
};
|
|
34
46
|
const callbacksStore = useRef({});
|
|
35
|
-
const methods = useRef(
|
|
47
|
+
const methods = useRef({
|
|
48
|
+
...getExposedMethods(callbacksStore, dispatch),
|
|
49
|
+
unregister,
|
|
50
|
+
changeLangInAllFrames,
|
|
51
|
+
addPanelMessageHandler
|
|
52
|
+
});
|
|
36
53
|
useEffect(() => {
|
|
37
54
|
const clientHandlers = initClientHandlers(callCb, { ...options, id: selfId.current }, callbacksStore);
|
|
38
55
|
const onMessage = (event) => {
|
|
@@ -40,23 +57,37 @@ export const useIFrameMessenger = (options) => {
|
|
|
40
57
|
if (message === undefined) {
|
|
41
58
|
return;
|
|
42
59
|
}
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
60
|
+
switch (message.type) {
|
|
61
|
+
case 'register':
|
|
62
|
+
const frames = window.frames;
|
|
63
|
+
// Due to weak typing on Window, we cannot iterate directly on window.frames
|
|
64
|
+
// eslint-disable-next-line @typescript-eslint/prefer-for-of
|
|
65
|
+
for (let i = 0; i < frames.length; i++) {
|
|
66
|
+
if (event.source === frames[i]) {
|
|
67
|
+
registry.current[message.id] = frames[i];
|
|
68
|
+
}
|
|
50
69
|
}
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
70
|
+
break;
|
|
71
|
+
case 'unregister':
|
|
72
|
+
if (registry.current[message.id]) {
|
|
73
|
+
delete registry.current[message.id];
|
|
74
|
+
}
|
|
75
|
+
break;
|
|
76
|
+
case 'message-to-panel':
|
|
77
|
+
panelMessageHandlerRegistry.current[message.data.type]?.(message.data.payload);
|
|
78
|
+
if (window === window.top) {
|
|
79
|
+
const target = message.data.target ?? 'all';
|
|
80
|
+
dispatch(message, target);
|
|
81
|
+
}
|
|
82
|
+
break;
|
|
83
|
+
default:
|
|
84
|
+
if (message.type === 'change-language') {
|
|
85
|
+
setLang(message.language);
|
|
86
|
+
}
|
|
87
|
+
else {
|
|
88
|
+
clientHandlers(message, dispatch);
|
|
89
|
+
}
|
|
90
|
+
break;
|
|
60
91
|
}
|
|
61
92
|
};
|
|
62
93
|
window.addEventListener('message', onMessage);
|
|
@@ -68,6 +99,6 @@ export const useIFrameMessenger = (options) => {
|
|
|
68
99
|
window.removeEventListener('message', onMessage);
|
|
69
100
|
};
|
|
70
101
|
}, []);
|
|
71
|
-
return
|
|
102
|
+
return methods.current;
|
|
72
103
|
};
|
|
73
104
|
//# sourceMappingURL=useIFrameMessenger.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useIFrameMessenger.js","sourceRoot":"","sources":["../../../src/hooks/useIFrameMessenger/useIFrameMessenger.
|
|
1
|
+
{"version":3,"file":"useIFrameMessenger.js","sourceRoot":"","sources":["../../../src/hooks/useIFrameMessenger/useIFrameMessenger.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
// Copyright LEAV Solutions 2017 until 2023/11/05, Copyright Aristid from 2023/11/06
|
|
3
|
+
// This file is released under LGPL V3
|
|
4
|
+
// License text available at https://www.gnu.org/licenses/lgpl-3.0.txt
|
|
5
|
+
import { useEffect } from 'react';
|
|
6
|
+
import { useIFrameMessenger } from '../useIFrameMessenger/useIFrameMessenger';
|
|
7
|
+
import { IframeMessengerClientContext } from './iFrameMessengerClientContext';
|
|
8
|
+
export const IFrameMessengerClient = ({ children, id }) => {
|
|
9
|
+
const iFrameMessenger = useIFrameMessenger({
|
|
10
|
+
id
|
|
11
|
+
});
|
|
12
|
+
useEffect(() => () => iFrameMessenger.unregister(), []);
|
|
13
|
+
return (_jsx(IframeMessengerClientContext.Provider, { value: iFrameMessenger, children: children }));
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=IFrameMessengerClient.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IFrameMessengerClient.js","sourceRoot":"","sources":["../../../src/hooks/useIFrameMessengerClient/IFrameMessengerClient.tsx"],"names":[],"mappings":";AAAA,oFAAoF;AACpF,sCAAsC;AACtC,sEAAsE;AACtE,OAAO,EAAoB,SAAS,EAAC,MAAM,OAAO,CAAC;AACnD,OAAO,EAAC,kBAAkB,EAAC,MAAM,0CAA0C,CAAC;AAC5E,OAAO,EAAC,4BAA4B,EAAC,MAAM,gCAAgC,CAAC;AAE5E,MAAM,CAAC,MAAM,qBAAqB,GAAqC,CAAC,EAAC,QAAQ,EAAE,EAAE,EAAC,EAAE,EAAE;IACtF,MAAM,eAAe,GAAG,kBAAkB,CAAC;QACvC,EAAE;KACL,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,eAAe,CAAC,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC;IAExD,OAAO,CACH,KAAC,4BAA4B,CAAC,QAAQ,IAAC,KAAK,EAAE,eAAe,YACxD,QAAQ,GAC2B,CAC3C,CAAC;AACN,CAAC,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export declare const IframeMessengerClientContext: import("react").Context<{
|
|
2
|
+
unregister: () => void;
|
|
3
|
+
changeLangInAllFrames: (newLanguage: string) => void;
|
|
4
|
+
addPanelMessageHandler: import("../useIFrameMessenger/types").AddMessageToPanelMessageHandler;
|
|
5
|
+
showSidePanelForm: (data: import("../useIFrameMessenger/types").SidePanelFormMessage["data"]) => void;
|
|
6
|
+
showModalConfirm: (data: import("../useIFrameMessenger/types").ModalConfirmMessage["data"]) => void;
|
|
7
|
+
showModalForm: (data: import("../useIFrameMessenger/types").ModalFormMessage["data"]) => void;
|
|
8
|
+
showAlert: (data: import("../useIFrameMessenger/types").AlertMessage["data"]) => void;
|
|
9
|
+
showNotification: (data: import("../useIFrameMessenger/types").NotificationMessage["data"]) => void;
|
|
10
|
+
messageToParent: (data: import("../useIFrameMessenger/types").SimpleMessage["data"]) => void;
|
|
11
|
+
navigateToPanel: (data: import("../useIFrameMessenger/types").NavigateToPanelMessage["data"]) => void;
|
|
12
|
+
messageToPanel: (data: import("../useIFrameMessenger/types").MessageToPanelMessage["data"]) => void;
|
|
13
|
+
}>;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
// Copyright LEAV Solutions 2017 until 2023/11/05, Copyright Aristid from 2023/11/06
|
|
2
|
+
// This file is released under LGPL V3
|
|
3
|
+
// License text available at https://www.gnu.org/licenses/lgpl-3.0.txt
|
|
4
|
+
import { createContext } from 'react';
|
|
5
|
+
export const IframeMessengerClientContext = createContext(null);
|
|
6
|
+
//# sourceMappingURL=iFrameMessengerClientContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"iFrameMessengerClientContext.js","sourceRoot":"","sources":["../../../src/hooks/useIFrameMessengerClient/iFrameMessengerClientContext.tsx"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,sCAAsC;AACtC,sEAAsE;AACtE,OAAO,EAAC,aAAa,EAAC,MAAM,OAAO,CAAC;AAKpC,MAAM,CAAC,MAAM,4BAA4B,GAAG,aAAa,CAAoC,IAAI,CAAC,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export declare const useIFrameMessengerClient: () => {
|
|
2
|
+
unregister: () => void;
|
|
3
|
+
changeLangInAllFrames: (newLanguage: string) => void;
|
|
4
|
+
addPanelMessageHandler: import("../useIFrameMessenger/types").AddMessageToPanelMessageHandler;
|
|
5
|
+
showSidePanelForm: (data: import("../useIFrameMessenger/types").SidePanelFormMessage["data"]) => void;
|
|
6
|
+
showModalConfirm: (data: import("../useIFrameMessenger/types").ModalConfirmMessage["data"]) => void;
|
|
7
|
+
showModalForm: (data: import("../useIFrameMessenger/types").ModalFormMessage["data"]) => void;
|
|
8
|
+
showAlert: (data: import("../useIFrameMessenger/types").AlertMessage["data"]) => void;
|
|
9
|
+
showNotification: (data: import("../useIFrameMessenger/types").NotificationMessage["data"]) => void;
|
|
10
|
+
messageToParent: (data: import("../useIFrameMessenger/types").SimpleMessage["data"]) => void;
|
|
11
|
+
navigateToPanel: (data: import("../useIFrameMessenger/types").NavigateToPanelMessage["data"]) => void;
|
|
12
|
+
messageToPanel: (data: import("../useIFrameMessenger/types").MessageToPanelMessage["data"]) => void;
|
|
13
|
+
};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
// Copyright LEAV Solutions 2017 until 2023/11/05, Copyright Aristid from 2023/11/06
|
|
2
|
+
// This file is released under LGPL V3
|
|
3
|
+
// License text available at https://www.gnu.org/licenses/lgpl-3.0.txt
|
|
4
|
+
import { useContext } from 'react';
|
|
5
|
+
import { IframeMessengerClientContext } from './iFrameMessengerClientContext';
|
|
6
|
+
export const useIFrameMessengerClient = () => {
|
|
7
|
+
const context = useContext(IframeMessengerClientContext);
|
|
8
|
+
if (!context) {
|
|
9
|
+
throw new Error('IframeMessengerClientContext must be used within an IframeMessengerClient');
|
|
10
|
+
}
|
|
11
|
+
return context;
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=useIFrameMessengerClient.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useIFrameMessengerClient.js","sourceRoot":"","sources":["../../../src/hooks/useIFrameMessengerClient/useIFrameMessengerClient.tsx"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,sCAAsC;AACtC,sEAAsE;AACtE,OAAO,EAAC,UAAU,EAAC,MAAM,OAAO,CAAC;AACjC,OAAO,EAAC,4BAA4B,EAAC,MAAM,gCAAgC,CAAC;AAE5E,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAG,EAAE;IACzC,MAAM,OAAO,GAAG,UAAU,CAAC,4BAA4B,CAAC,CAAC;IACzD,IAAI,CAAC,OAAO,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,2EAA2E,CAAC,CAAC;IACjG,CAAC;IACD,OAAO,OAAO,CAAC;AACnB,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@leav/ui",
|
|
3
|
-
"version": "0.4.0-
|
|
3
|
+
"version": "0.4.0-fd9dcf3f",
|
|
4
4
|
"description": "Shared React components and hooks",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"prepublishOnly": "yarn build",
|
|
@@ -82,6 +82,7 @@
|
|
|
82
82
|
"react-table": "7.8.0",
|
|
83
83
|
"react-table-sticky": "1.1.3",
|
|
84
84
|
"uuid": "9.0.1",
|
|
85
|
-
"xlsx": "0.18.5"
|
|
85
|
+
"xlsx": "0.18.5",
|
|
86
|
+
"zod": "3.25.67"
|
|
86
87
|
}
|
|
87
|
-
}
|
|
88
|
+
}
|