@kizenapps/engine 0.0.1-b1f3597
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/LICENSE.md +674 -0
- package/README.md +160 -0
- package/dist/ThirdPartyScript-DdrF7zh7.d.ts +459 -0
- package/dist/automation-C8hsM_Rc.d.ts +36 -0
- package/dist/chunk-2MW4AGSN.js +2415 -0
- package/dist/chunk-2MW4AGSN.js.map +1 -0
- package/dist/chunk-3LDUYA57.js +61 -0
- package/dist/chunk-3LDUYA57.js.map +1 -0
- package/dist/chunk-5WRI5ZAA.js +29 -0
- package/dist/chunk-5WRI5ZAA.js.map +1 -0
- package/dist/chunk-727AYMPR.js +120 -0
- package/dist/chunk-727AYMPR.js.map +1 -0
- package/dist/chunk-GGGXYD3K.js +40 -0
- package/dist/chunk-GGGXYD3K.js.map +1 -0
- package/dist/chunk-LGJYUPYZ.js +3 -0
- package/dist/chunk-LGJYUPYZ.js.map +1 -0
- package/dist/chunk-NXLAROEM.js +730 -0
- package/dist/chunk-NXLAROEM.js.map +1 -0
- package/dist/chunk-P7GQBCEH.js +172 -0
- package/dist/chunk-P7GQBCEH.js.map +1 -0
- package/dist/chunk-UOTNQL56.js +46 -0
- package/dist/chunk-UOTNQL56.js.map +1 -0
- package/dist/chunk-VYBEGZLN.js +319 -0
- package/dist/chunk-VYBEGZLN.js.map +1 -0
- package/dist/chunk-XKKZPZMB.js +121 -0
- package/dist/chunk-XKKZPZMB.js.map +1 -0
- package/dist/communication.d.ts +13 -0
- package/dist/communication.js +6 -0
- package/dist/communication.js.map +1 -0
- package/dist/contexts/base.d.ts +99 -0
- package/dist/contexts/base.js +7 -0
- package/dist/contexts/base.js.map +1 -0
- package/dist/contexts/floatingFrame.d.ts +18 -0
- package/dist/contexts/floatingFrame.js +8 -0
- package/dist/contexts/floatingFrame.js.map +1 -0
- package/dist/contexts/recordDetail.d.ts +32 -0
- package/dist/contexts/recordDetail.js +8 -0
- package/dist/contexts/recordDetail.js.map +1 -0
- package/dist/floatingFrames-BzaoL7cq.d.ts +8 -0
- package/dist/generic-RiEgdDAq.d.ts +19 -0
- package/dist/index.d.ts +19 -0
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -0
- package/dist/merge-translations.js +28 -0
- package/dist/react.d.ts +367 -0
- package/dist/react.js +2732 -0
- package/dist/react.js.map +1 -0
- package/dist/routeScript-kttY2YZh.d.ts +303 -0
- package/dist/translation.json +8 -0
- package/dist/types.d.ts +90 -0
- package/dist/types.js +3 -0
- package/dist/types.js.map +1 -0
- package/dist/util.d.ts +40 -0
- package/dist/util.js +87 -0
- package/dist/util.js.map +1 -0
- package/dist/vite.d.ts +11 -0
- package/dist/vite.js +19 -0
- package/dist/vite.js.map +1 -0
- package/dist/workers/calendarSource.worker.d.ts +2 -0
- package/dist/workers/calendarSource.worker.js +62 -0
- package/dist/workers/calendarSource.worker.js.map +1 -0
- package/dist/workers/expression.worker.d.ts +2 -0
- package/dist/workers/expression.worker.js +35 -0
- package/dist/workers/expression.worker.js.map +1 -0
- package/dist/workers/floatingFrame.worker.d.ts +2 -0
- package/dist/workers/floatingFrame.worker.js +57 -0
- package/dist/workers/floatingFrame.worker.js.map +1 -0
- package/dist/workers/generic.worker.d.ts +2 -0
- package/dist/workers/generic.worker.js +57 -0
- package/dist/workers/generic.worker.js.map +1 -0
- package/dist/workers/recordDetail.worker.d.ts +2 -0
- package/dist/workers/recordDetail.worker.js +59 -0
- package/dist/workers/recordDetail.worker.js.map +1 -0
- package/package.json +93 -0
|
@@ -0,0 +1,319 @@
|
|
|
1
|
+
import { ACTIONS, RESPONSES } from './chunk-P7GQBCEH.js';
|
|
2
|
+
|
|
3
|
+
// src/workers/util.ts
|
|
4
|
+
var getFieldFromAction = (action) => {
|
|
5
|
+
return {
|
|
6
|
+
key: `action__${action.api_name}`,
|
|
7
|
+
type: "custom_object",
|
|
8
|
+
label: action.name,
|
|
9
|
+
allow_multiple: true
|
|
10
|
+
};
|
|
11
|
+
};
|
|
12
|
+
var getAllNestedInputsFromConfig = (config, parentWhen) => {
|
|
13
|
+
const regular = (config.fields ?? []).filter((entry) => entry.type !== "container" && entry.type !== "description").map((r) => {
|
|
14
|
+
return {
|
|
15
|
+
...r,
|
|
16
|
+
when: parentWhen ? `(${parentWhen}) && (${r.when ?? "true"})` : r.when
|
|
17
|
+
};
|
|
18
|
+
});
|
|
19
|
+
const containers = (config.fields ?? []).filter((entry) => entry.type === "container");
|
|
20
|
+
const recursiveRegulars = containers.flatMap(
|
|
21
|
+
(container) => getAllNestedInputsFromConfig(container, container.when)
|
|
22
|
+
);
|
|
23
|
+
const actionObjects = config.actions?.filter((action) => action.hint_object_name) ?? [];
|
|
24
|
+
return [
|
|
25
|
+
...regular,
|
|
26
|
+
...recursiveRegulars,
|
|
27
|
+
...actionObjects.map((action) => {
|
|
28
|
+
return {
|
|
29
|
+
...getFieldFromAction(action),
|
|
30
|
+
match_hint: action.hint_object_name ?? ""
|
|
31
|
+
};
|
|
32
|
+
})
|
|
33
|
+
];
|
|
34
|
+
};
|
|
35
|
+
var cleanConfig = (setupAssistantConfig, configValues) => {
|
|
36
|
+
const flattened = getAllNestedInputsFromConfig(setupAssistantConfig);
|
|
37
|
+
const configReference = flattened.reduce((acc, curr) => {
|
|
38
|
+
return {
|
|
39
|
+
...acc,
|
|
40
|
+
[curr.key]: curr
|
|
41
|
+
};
|
|
42
|
+
}, {});
|
|
43
|
+
const configKeysToClean = Object.keys(configValues);
|
|
44
|
+
const cleanConfig2 = {};
|
|
45
|
+
configKeysToClean.forEach((key) => {
|
|
46
|
+
const value = configValues[key];
|
|
47
|
+
const configReferenceValue = configReference[key];
|
|
48
|
+
if (!configReferenceValue?.type) {
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
switch (configReferenceValue.type) {
|
|
52
|
+
case "boolean":
|
|
53
|
+
const consideredValue = value;
|
|
54
|
+
if (!consideredValue) {
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
cleanConfig2[key] = consideredValue.value;
|
|
58
|
+
return;
|
|
59
|
+
case "custom_object": {
|
|
60
|
+
const consideredValue2 = value;
|
|
61
|
+
if (!consideredValue2) {
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
cleanConfig2[key] = {
|
|
65
|
+
objectId: consideredValue2.value?.id,
|
|
66
|
+
objectName: consideredValue2.value?.objectName
|
|
67
|
+
};
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
case "field": {
|
|
71
|
+
const consideredValue2 = value;
|
|
72
|
+
if (!consideredValue2?.value) {
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
75
|
+
if (Array.isArray(consideredValue2.value)) {
|
|
76
|
+
cleanConfig2[key] = consideredValue2.value.map((item) => ({
|
|
77
|
+
fieldId: item.value,
|
|
78
|
+
fieldName: item.label,
|
|
79
|
+
objectId: consideredValue2.associatedObject?.id,
|
|
80
|
+
objectName: consideredValue2.associatedObject?.name
|
|
81
|
+
}));
|
|
82
|
+
} else if (typeof consideredValue2.value === "object" && typeof consideredValue2.associatedObject === "object") {
|
|
83
|
+
cleanConfig2[key] = {
|
|
84
|
+
fieldId: consideredValue2.value.value,
|
|
85
|
+
fieldName: consideredValue2.value.label,
|
|
86
|
+
objectId: consideredValue2.associatedObject.id,
|
|
87
|
+
objectName: consideredValue2.associatedObject.name
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
case "number": {
|
|
93
|
+
const consideredValue2 = value;
|
|
94
|
+
if (!consideredValue2) {
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
97
|
+
try {
|
|
98
|
+
const parsed = Number(consideredValue2.value);
|
|
99
|
+
if (!parsed && parsed !== 0) {
|
|
100
|
+
return;
|
|
101
|
+
}
|
|
102
|
+
cleanConfig2[key] = parsed;
|
|
103
|
+
} catch {
|
|
104
|
+
cleanConfig2[key] = NaN;
|
|
105
|
+
}
|
|
106
|
+
return;
|
|
107
|
+
}
|
|
108
|
+
case "select": {
|
|
109
|
+
const consideredValue2 = value;
|
|
110
|
+
if (!consideredValue2) {
|
|
111
|
+
return;
|
|
112
|
+
}
|
|
113
|
+
cleanConfig2[key] = consideredValue2.value;
|
|
114
|
+
return;
|
|
115
|
+
}
|
|
116
|
+
case "text": {
|
|
117
|
+
const consideredValue2 = value;
|
|
118
|
+
const textValue = consideredValue2?.value;
|
|
119
|
+
if (textValue) {
|
|
120
|
+
cleanConfig2[key] = textValue;
|
|
121
|
+
return;
|
|
122
|
+
}
|
|
123
|
+
const defaultValue = configReferenceValue.default;
|
|
124
|
+
if (defaultValue) {
|
|
125
|
+
cleanConfig2[key] = defaultValue;
|
|
126
|
+
}
|
|
127
|
+
return;
|
|
128
|
+
}
|
|
129
|
+
case "description":
|
|
130
|
+
case "container":
|
|
131
|
+
return;
|
|
132
|
+
}
|
|
133
|
+
return value?.value;
|
|
134
|
+
});
|
|
135
|
+
return cleanConfig2;
|
|
136
|
+
};
|
|
137
|
+
var kizenRequestHandler = (instance, promises) => (method) => async (url, payload, options) => {
|
|
138
|
+
return new Promise((resolve, reject) => {
|
|
139
|
+
const id = promises.register(resolve, reject);
|
|
140
|
+
instance.postMessage(
|
|
141
|
+
JSON.stringify({
|
|
142
|
+
action: ACTIONS.QUERY_REQUEST,
|
|
143
|
+
id,
|
|
144
|
+
method,
|
|
145
|
+
url,
|
|
146
|
+
payload,
|
|
147
|
+
options
|
|
148
|
+
})
|
|
149
|
+
);
|
|
150
|
+
});
|
|
151
|
+
};
|
|
152
|
+
var postFormDataHandler = (instance, promises) => (url, payload, createNewTab = true) => {
|
|
153
|
+
return new Promise((resolve, reject) => {
|
|
154
|
+
const id = promises.register(resolve, reject);
|
|
155
|
+
instance.postMessage(
|
|
156
|
+
JSON.stringify({
|
|
157
|
+
action: ACTIONS.POSTFORMDATA_REQUEST,
|
|
158
|
+
url,
|
|
159
|
+
id,
|
|
160
|
+
payload,
|
|
161
|
+
createNewTab
|
|
162
|
+
})
|
|
163
|
+
);
|
|
164
|
+
});
|
|
165
|
+
};
|
|
166
|
+
var promptHandler = (instance, promises) => (config) => {
|
|
167
|
+
return new Promise((resolve, reject) => {
|
|
168
|
+
const id = promises.register(resolve, reject);
|
|
169
|
+
instance.postMessage(
|
|
170
|
+
JSON.stringify({
|
|
171
|
+
action: ACTIONS.PROMPT_REQUEST,
|
|
172
|
+
id,
|
|
173
|
+
config
|
|
174
|
+
})
|
|
175
|
+
);
|
|
176
|
+
});
|
|
177
|
+
};
|
|
178
|
+
var dynamicPromptHandler = (instance, promises) => (config) => {
|
|
179
|
+
return new Promise((resolve, reject) => {
|
|
180
|
+
const id = promises.register(resolve, reject);
|
|
181
|
+
instance.postMessage(
|
|
182
|
+
JSON.stringify({
|
|
183
|
+
action: ACTIONS.DYNAMIC_PROMPT_REQUEST,
|
|
184
|
+
id,
|
|
185
|
+
config
|
|
186
|
+
})
|
|
187
|
+
);
|
|
188
|
+
});
|
|
189
|
+
};
|
|
190
|
+
var uploadFileHandler = (instance, promises) => (payload) => {
|
|
191
|
+
return new Promise((resolve, reject) => {
|
|
192
|
+
const id = promises.register(resolve, reject);
|
|
193
|
+
instance.postMessage(
|
|
194
|
+
JSON.stringify({
|
|
195
|
+
action: ACTIONS.UPLOADFILE_REQUEST,
|
|
196
|
+
id,
|
|
197
|
+
payload
|
|
198
|
+
})
|
|
199
|
+
);
|
|
200
|
+
});
|
|
201
|
+
};
|
|
202
|
+
var installThirdPartyScriptHandler = (instance, promises) => (url, args) => {
|
|
203
|
+
return new Promise((resolve, reject) => {
|
|
204
|
+
const id = promises.register(resolve, reject);
|
|
205
|
+
instance.postMessage(
|
|
206
|
+
JSON.stringify({
|
|
207
|
+
action: ACTIONS.INSTALL_THIRD_PARTY_SCRIPT_REQUEST,
|
|
208
|
+
url,
|
|
209
|
+
id,
|
|
210
|
+
args
|
|
211
|
+
})
|
|
212
|
+
);
|
|
213
|
+
});
|
|
214
|
+
};
|
|
215
|
+
var refreshEntityHandler = (instance, promises) => (entityId) => {
|
|
216
|
+
return new Promise((resolve, reject) => {
|
|
217
|
+
const id = promises.register(resolve, reject);
|
|
218
|
+
instance.postMessage(
|
|
219
|
+
JSON.stringify({
|
|
220
|
+
action: ACTIONS.REFRESH_ENTITY,
|
|
221
|
+
id,
|
|
222
|
+
entityId
|
|
223
|
+
})
|
|
224
|
+
);
|
|
225
|
+
});
|
|
226
|
+
};
|
|
227
|
+
var openCreateRecordHandler = (instance, promises) => (objectId) => {
|
|
228
|
+
return new Promise((resolve, reject) => {
|
|
229
|
+
const id = promises.register(resolve, reject);
|
|
230
|
+
instance.postMessage(
|
|
231
|
+
JSON.stringify({
|
|
232
|
+
action: ACTIONS.OPEN_CREATE_RECORD_MODAL_REQUEST,
|
|
233
|
+
id,
|
|
234
|
+
entityId: objectId
|
|
235
|
+
})
|
|
236
|
+
);
|
|
237
|
+
});
|
|
238
|
+
};
|
|
239
|
+
var openCreateRelatedRecordHandler = (instance, promises) => (objectId, relatedEntityId) => {
|
|
240
|
+
return new Promise((resolve, reject) => {
|
|
241
|
+
const id = promises.register(resolve, reject);
|
|
242
|
+
instance.postMessage(
|
|
243
|
+
JSON.stringify({
|
|
244
|
+
action: ACTIONS.OPEN_CREATE_RELATED_RECORD_MODAL_REQUEST,
|
|
245
|
+
id,
|
|
246
|
+
objectId,
|
|
247
|
+
relatedEntityId
|
|
248
|
+
})
|
|
249
|
+
);
|
|
250
|
+
});
|
|
251
|
+
};
|
|
252
|
+
var handleCommonResponse = (action, e, promises) => {
|
|
253
|
+
switch (action) {
|
|
254
|
+
case RESPONSES.QUERY_RESPONSE: {
|
|
255
|
+
const { id, data, error } = JSON.parse(e.data);
|
|
256
|
+
if (error) {
|
|
257
|
+
promises.reject(id, error);
|
|
258
|
+
} else {
|
|
259
|
+
promises.resolve(id, data);
|
|
260
|
+
}
|
|
261
|
+
break;
|
|
262
|
+
}
|
|
263
|
+
case RESPONSES.POSTFORMDATA_RESPONSE: {
|
|
264
|
+
const { id, success } = JSON.parse(e.data);
|
|
265
|
+
if (success) {
|
|
266
|
+
promises.resolve(id);
|
|
267
|
+
} else {
|
|
268
|
+
promises.reject(id);
|
|
269
|
+
}
|
|
270
|
+
break;
|
|
271
|
+
}
|
|
272
|
+
case RESPONSES.UPLOADFILE_RESPONSE: {
|
|
273
|
+
const { id, data, error } = JSON.parse(e.data);
|
|
274
|
+
if (data) {
|
|
275
|
+
promises.resolve(id, data);
|
|
276
|
+
} else {
|
|
277
|
+
promises.reject(id, error);
|
|
278
|
+
}
|
|
279
|
+
break;
|
|
280
|
+
}
|
|
281
|
+
case RESPONSES.INSTALL_THIRD_PARTY_SCRIPT_RESPONSE: {
|
|
282
|
+
const { id, data } = JSON.parse(e.data);
|
|
283
|
+
if (data.success) {
|
|
284
|
+
promises.resolve(id, data);
|
|
285
|
+
} else {
|
|
286
|
+
promises.reject(id);
|
|
287
|
+
}
|
|
288
|
+
break;
|
|
289
|
+
}
|
|
290
|
+
case RESPONSES.PROMPT_RESPONSE: {
|
|
291
|
+
const { id, data } = JSON.parse(e.data);
|
|
292
|
+
promises.resolve(id, data);
|
|
293
|
+
break;
|
|
294
|
+
}
|
|
295
|
+
case RESPONSES.CREATE_RECORD_RESPONSE: {
|
|
296
|
+
const { id, data } = JSON.parse(e.data);
|
|
297
|
+
promises.resolve(id, data);
|
|
298
|
+
break;
|
|
299
|
+
}
|
|
300
|
+
case RESPONSES.CREATE_RELATED_RECORD_RESPONSE: {
|
|
301
|
+
const { id, data } = JSON.parse(e.data);
|
|
302
|
+
promises.resolve(id, data);
|
|
303
|
+
break;
|
|
304
|
+
}
|
|
305
|
+
case RESPONSES.REFRESH_ENTITY_RESPONSE: {
|
|
306
|
+
const { id, data } = JSON.parse(e.data);
|
|
307
|
+
if (data.success) {
|
|
308
|
+
promises.resolve(id, true);
|
|
309
|
+
} else {
|
|
310
|
+
promises.reject(id);
|
|
311
|
+
}
|
|
312
|
+
break;
|
|
313
|
+
}
|
|
314
|
+
}
|
|
315
|
+
};
|
|
316
|
+
|
|
317
|
+
export { cleanConfig, dynamicPromptHandler, getAllNestedInputsFromConfig, getFieldFromAction, handleCommonResponse, installThirdPartyScriptHandler, kizenRequestHandler, openCreateRecordHandler, openCreateRelatedRecordHandler, postFormDataHandler, promptHandler, refreshEntityHandler, uploadFileHandler };
|
|
318
|
+
//# sourceMappingURL=chunk-VYBEGZLN.js.map
|
|
319
|
+
//# sourceMappingURL=chunk-VYBEGZLN.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/workers/util.ts"],"names":["cleanConfig","consideredValue"],"mappings":"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","file":"chunk-VYBEGZLN.js","sourcesContent":["/*\n * Note - this file contains utility functions used in the worker threads for the plugin engine.\n * These functions must be self-contained and cannot rely on imports that would inadvertently\n * include React, which would break local development and bloat the worker in production.\n */\n\nimport { ACTIONS, RESPONSES } from '../communication/constants.js';\nimport type {\n AssistantConfigAction,\n AssistantField,\n BooleanValueStore,\n CleanValueStore,\n CurriedDynamicPromptFn,\n CustomObjectCleanValue,\n CustomObjectValueStore,\n FieldCleanValue,\n FieldValueStore,\n ModalContainer,\n NumberValueStore,\n SelectValueStore,\n SetupAssistantConfig,\n TextValueStore,\n ValueStore,\n} from '../types/modals.js';\nimport type { CurriedKizenRequestFn } from '../types/request.js';\nimport type { PromiseResolve } from '../types/promise.js';\nimport type {\n CurriedInstallThirdPartyScriptFn,\n CurriedOpenCreateRecordFn,\n CurriedOpenCreateRelatedRecordFn,\n CurriedPostFormDataFn,\n CurriedPromptFn,\n CurriedRefreshEntityFn,\n CurriedUploadFileFn,\n} from '../types/contexts.js';\nimport type {\n CreateRecordResponsePayload,\n CreateRelatedRecordResponsePayload,\n InstallThirdPartyScriptResponsePayload,\n PostFormDataResponsePayload,\n PromptResponsePayload,\n QueryResponsePayload,\n RefreshEntityResponsePayload,\n UploadFileResponsePayload,\n} from '../types/workers.js';\nimport type { WorkerPromise } from './WorkerPromise.js';\n\nexport const getFieldFromAction = (action: AssistantConfigAction): AssistantField => {\n return {\n key: `action__${action.api_name}`,\n type: 'custom_object',\n label: action.name,\n allow_multiple: true,\n };\n};\n\nexport const getAllNestedInputsFromConfig = (\n config: SetupAssistantConfig,\n parentWhen?: string,\n): AssistantField[] => {\n const regular = (config.fields ?? [])\n .filter((entry) => entry.type !== 'container' && entry.type !== 'description')\n .map((r) => {\n return {\n ...r,\n when: parentWhen ? `(${parentWhen}) && (${r.when ?? 'true'})` : r.when,\n };\n }) as AssistantField[];\n\n const containers = (config.fields ?? []).filter((entry) => entry.type === 'container');\n\n const recursiveRegulars = containers.flatMap((container) =>\n getAllNestedInputsFromConfig(container as ModalContainer, container.when),\n );\n\n const actionObjects = config.actions?.filter((action) => action.hint_object_name) ?? [];\n\n return [\n ...regular,\n ...recursiveRegulars,\n ...actionObjects.map((action) => {\n return {\n ...getFieldFromAction(action),\n match_hint: action.hint_object_name ?? '',\n };\n }),\n ];\n};\n\nexport const cleanConfig = (\n setupAssistantConfig: SetupAssistantConfig,\n configValues: Record<string, ValueStore>,\n): CleanValueStore => {\n const flattened = getAllNestedInputsFromConfig(setupAssistantConfig);\n\n const configReference: Record<string, AssistantField> = flattened.reduce((acc, curr) => {\n return {\n ...acc,\n [curr.key]: curr,\n };\n }, {});\n\n const configKeysToClean = Object.keys(configValues);\n\n const cleanConfig: CleanValueStore = {};\n\n configKeysToClean.forEach((key) => {\n const value = configValues[key];\n const configReferenceValue = configReference[key];\n\n if (!configReferenceValue?.type) {\n return;\n }\n\n switch (configReferenceValue.type) {\n case 'boolean':\n const consideredValue = value as BooleanValueStore | undefined;\n\n if (!consideredValue) {\n return;\n }\n\n cleanConfig[key] = consideredValue.value;\n\n return;\n case 'custom_object': {\n const consideredValue = value as CustomObjectValueStore | undefined;\n\n if (!consideredValue) {\n return;\n }\n\n cleanConfig[key] = {\n objectId: consideredValue.value?.id,\n objectName: consideredValue.value?.objectName,\n } as CustomObjectCleanValue;\n\n return;\n }\n case 'field': {\n const consideredValue = value as FieldValueStore | undefined;\n\n if (!consideredValue?.value) {\n return;\n }\n\n if (Array.isArray(consideredValue.value)) {\n cleanConfig[key] = consideredValue.value.map((item) => ({\n fieldId: item.value,\n fieldName: item.label,\n objectId: consideredValue.associatedObject?.id,\n objectName: consideredValue.associatedObject?.name,\n })) as FieldCleanValue;\n } else if (\n typeof consideredValue.value === 'object' &&\n typeof consideredValue.associatedObject === 'object'\n ) {\n cleanConfig[key] = {\n fieldId: consideredValue.value.value,\n fieldName: consideredValue.value.label,\n objectId: consideredValue.associatedObject.id,\n objectName: consideredValue.associatedObject.name,\n } as FieldCleanValue;\n }\n return;\n }\n case 'number': {\n const consideredValue = value as NumberValueStore | undefined;\n\n if (!consideredValue) {\n return;\n }\n\n try {\n const parsed = Number(consideredValue.value);\n\n if (!parsed && parsed !== 0) {\n return;\n }\n\n cleanConfig[key] = parsed;\n } catch {\n cleanConfig[key] = NaN;\n }\n\n return;\n }\n case 'select': {\n const consideredValue = value as SelectValueStore | undefined;\n\n if (!consideredValue) {\n return;\n }\n\n cleanConfig[key] = consideredValue.value;\n return;\n }\n case 'text': {\n const consideredValue = value as TextValueStore | undefined;\n\n const textValue = consideredValue?.value;\n\n if (textValue) {\n cleanConfig[key] = textValue;\n return;\n }\n\n const defaultValue = configReferenceValue.default;\n\n if (defaultValue) {\n cleanConfig[key] = defaultValue;\n }\n\n return;\n }\n case 'description':\n case 'container':\n return;\n }\n\n return value?.value;\n });\n\n return cleanConfig;\n};\n\nexport const kizenRequestHandler: CurriedKizenRequestFn =\n (instance, promises) => (method) => async (url, payload, options) => {\n return new Promise((resolve, reject) => {\n const id = promises.register(resolve as PromiseResolve, reject);\n\n instance.postMessage(\n JSON.stringify({\n action: ACTIONS.QUERY_REQUEST,\n id,\n method,\n url,\n payload,\n options,\n }),\n );\n });\n };\n\nexport const postFormDataHandler: CurriedPostFormDataFn =\n (instance, promises) =>\n (url, payload, createNewTab = true) => {\n return new Promise((resolve, reject) => {\n const id = promises.register(resolve, reject);\n\n instance.postMessage(\n JSON.stringify({\n action: ACTIONS.POSTFORMDATA_REQUEST,\n url,\n id,\n payload,\n createNewTab,\n }),\n );\n });\n };\n\nexport const promptHandler: CurriedPromptFn = (instance, promises) => (config) => {\n return new Promise((resolve, reject) => {\n const id = promises.register(resolve, reject);\n instance.postMessage(\n JSON.stringify({\n action: ACTIONS.PROMPT_REQUEST,\n id,\n config,\n }),\n );\n });\n};\n\nexport const dynamicPromptHandler: CurriedDynamicPromptFn = (instance, promises) => (config) => {\n return new Promise((resolve, reject) => {\n const id = promises.register(resolve as PromiseResolve, reject);\n instance.postMessage(\n JSON.stringify({\n action: ACTIONS.DYNAMIC_PROMPT_REQUEST,\n id,\n config,\n }),\n );\n });\n};\n\nexport const uploadFileHandler: CurriedUploadFileFn = (instance, promises) => (payload) => {\n return new Promise((resolve, reject) => {\n const id = promises.register(resolve, reject);\n instance.postMessage(\n JSON.stringify({\n action: ACTIONS.UPLOADFILE_REQUEST,\n id,\n payload,\n }),\n );\n });\n};\n\nexport const installThirdPartyScriptHandler: CurriedInstallThirdPartyScriptFn =\n (instance, promises) => (url, args) => {\n return new Promise((resolve, reject) => {\n const id = promises.register(resolve as PromiseResolve, reject);\n instance.postMessage(\n JSON.stringify({\n action: ACTIONS.INSTALL_THIRD_PARTY_SCRIPT_REQUEST,\n url,\n id,\n args,\n }),\n );\n });\n };\n\nexport const refreshEntityHandler: CurriedRefreshEntityFn =\n (instance, promises) => (entityId: string) => {\n return new Promise((resolve, reject) => {\n const id = promises.register(resolve, reject);\n instance.postMessage(\n JSON.stringify({\n action: ACTIONS.REFRESH_ENTITY,\n id,\n entityId,\n }),\n );\n });\n };\n\nexport const openCreateRecordHandler: CurriedOpenCreateRecordFn =\n (instance, promises) => (objectId: string) => {\n return new Promise((resolve, reject) => {\n const id = promises.register(resolve, reject);\n instance.postMessage(\n JSON.stringify({\n action: ACTIONS.OPEN_CREATE_RECORD_MODAL_REQUEST,\n id,\n entityId: objectId,\n }),\n );\n });\n };\n\nexport const openCreateRelatedRecordHandler: CurriedOpenCreateRelatedRecordFn =\n (instance, promises) => (objectId: string, relatedEntityId: string) => {\n return new Promise((resolve, reject) => {\n const id = promises.register(resolve, reject);\n instance.postMessage(\n JSON.stringify({\n action: ACTIONS.OPEN_CREATE_RELATED_RECORD_MODAL_REQUEST,\n id,\n objectId,\n relatedEntityId,\n }),\n );\n });\n };\n\nexport const handleCommonResponse = (\n action: string,\n e: MessageEvent<string>,\n promises: WorkerPromise,\n): void => {\n switch (action) {\n case RESPONSES.QUERY_RESPONSE: {\n const { id, data, error } = JSON.parse(e.data) as QueryResponsePayload;\n if (error) {\n promises.reject(id, error);\n } else {\n promises.resolve(id, data);\n }\n\n break;\n }\n case RESPONSES.POSTFORMDATA_RESPONSE: {\n const { id, success } = JSON.parse(e.data) as PostFormDataResponsePayload;\n if (success) {\n promises.resolve(id);\n } else {\n promises.reject(id);\n }\n\n break;\n }\n\n case RESPONSES.UPLOADFILE_RESPONSE: {\n const { id, data, error } = JSON.parse(e.data) as UploadFileResponsePayload;\n if (data) {\n promises.resolve(id, data);\n } else {\n promises.reject(id, error);\n }\n\n break;\n }\n\n case RESPONSES.INSTALL_THIRD_PARTY_SCRIPT_RESPONSE: {\n const { id, data } = JSON.parse(e.data) as InstallThirdPartyScriptResponsePayload;\n if (data.success) {\n promises.resolve(id, data);\n } else {\n promises.reject(id);\n }\n\n break;\n }\n\n case RESPONSES.PROMPT_RESPONSE: {\n const { id, data } = JSON.parse(e.data) as PromptResponsePayload;\n promises.resolve(id, data);\n\n break;\n }\n\n case RESPONSES.CREATE_RECORD_RESPONSE: {\n const { id, data } = JSON.parse(e.data) as CreateRecordResponsePayload;\n promises.resolve(id, data);\n\n break;\n }\n\n case RESPONSES.CREATE_RELATED_RECORD_RESPONSE: {\n const { id, data } = JSON.parse(e.data) as CreateRelatedRecordResponsePayload;\n promises.resolve(id, data);\n\n break;\n }\n\n case RESPONSES.REFRESH_ENTITY_RESPONSE: {\n const { id, data } = JSON.parse(e.data) as RefreshEntityResponsePayload;\n if (data.success) {\n promises.resolve(id, true);\n } else {\n promises.reject(id);\n }\n\n break;\n }\n }\n};\n"]}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import { ROUTE_CHANGE_INTERNAL_EVENT } from './chunk-P7GQBCEH.js';
|
|
2
|
+
|
|
3
|
+
// src/util/run.ts
|
|
4
|
+
var getPartialLocation = () => {
|
|
5
|
+
return {
|
|
6
|
+
host: window.location.host,
|
|
7
|
+
hash: window.location.hash,
|
|
8
|
+
href: window.location.href,
|
|
9
|
+
origin: window.location.origin,
|
|
10
|
+
pathname: window.location.pathname,
|
|
11
|
+
search: window.location.search,
|
|
12
|
+
port: window.location.port,
|
|
13
|
+
protocol: window.location.protocol
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
var generateUUIDV4 = () => {
|
|
17
|
+
let d = (/* @__PURE__ */ new Date()).getTime();
|
|
18
|
+
if (typeof performance !== "undefined" && typeof performance.now === "function") {
|
|
19
|
+
d += performance.now();
|
|
20
|
+
}
|
|
21
|
+
return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, (c) => {
|
|
22
|
+
const r = (d + Math.random() * 16) % 16 | 0;
|
|
23
|
+
d = Math.floor(d / 16);
|
|
24
|
+
return (c === "x" ? r : r & 3 | 8).toString(16);
|
|
25
|
+
});
|
|
26
|
+
};
|
|
27
|
+
var AsyncFunction = Object.getPrototypeOf(async function() {
|
|
28
|
+
}).constructor;
|
|
29
|
+
var getFnWithReturn = (script) => {
|
|
30
|
+
const functionBody = `
|
|
31
|
+
const __cleanup = this.__cleanup.bind(this);
|
|
32
|
+
const __error = this.onError.bind(this);
|
|
33
|
+
let __kizen_internal_result;
|
|
34
|
+
{
|
|
35
|
+
this.__setup();
|
|
36
|
+
}
|
|
37
|
+
try {
|
|
38
|
+
__kizen_internal_result = await (async () => { ${script} })();
|
|
39
|
+
} catch (ex) {
|
|
40
|
+
__error(ex);
|
|
41
|
+
} finally {
|
|
42
|
+
__cleanup(__kizen_internal_result);
|
|
43
|
+
}
|
|
44
|
+
`;
|
|
45
|
+
try {
|
|
46
|
+
const fn = new AsyncFunction(functionBody);
|
|
47
|
+
return { fn, functionBody };
|
|
48
|
+
} catch {
|
|
49
|
+
const errorFnBody = `
|
|
50
|
+
this.__setup();
|
|
51
|
+
this.onError({ message: "The script has a syntax error and could not be parsed" });
|
|
52
|
+
this.__cleanup();
|
|
53
|
+
`;
|
|
54
|
+
const fn = new AsyncFunction(errorFnBody);
|
|
55
|
+
return { fn, functionBody: errorFnBody };
|
|
56
|
+
}
|
|
57
|
+
};
|
|
58
|
+
var getFn = (script) => {
|
|
59
|
+
const functionBody = `
|
|
60
|
+
const __cleanup = this.__cleanup.bind(this);
|
|
61
|
+
const __error = this.onError.bind(this);
|
|
62
|
+
{
|
|
63
|
+
this.__setup();
|
|
64
|
+
}
|
|
65
|
+
try {
|
|
66
|
+
${script}
|
|
67
|
+
} catch (ex) {
|
|
68
|
+
__error(ex);
|
|
69
|
+
} finally {
|
|
70
|
+
__cleanup();
|
|
71
|
+
}
|
|
72
|
+
`;
|
|
73
|
+
try {
|
|
74
|
+
const fn = new AsyncFunction(functionBody);
|
|
75
|
+
return { fn, functionBody };
|
|
76
|
+
} catch {
|
|
77
|
+
const errorFnBody = `
|
|
78
|
+
this.__setup();
|
|
79
|
+
this.onError({ message: "The script has a syntax error and could not be parsed" });
|
|
80
|
+
this.__cleanup();
|
|
81
|
+
`;
|
|
82
|
+
const fn = new AsyncFunction(errorFnBody);
|
|
83
|
+
return { fn, functionBody: errorFnBody };
|
|
84
|
+
}
|
|
85
|
+
};
|
|
86
|
+
var generateExecutionKey = (pluginConfig) => {
|
|
87
|
+
return `${pluginConfig?.plugin_api_name ?? ""}-${pluginConfig?.id ?? ""}-${pluginConfig?.api_name ?? ""}-${pluginConfig?.script_id ?? ""}`;
|
|
88
|
+
};
|
|
89
|
+
var emitRouteChange = () => {
|
|
90
|
+
const event = new CustomEvent(ROUTE_CHANGE_INTERNAL_EVENT, {
|
|
91
|
+
detail: {
|
|
92
|
+
location: getPartialLocation()
|
|
93
|
+
}
|
|
94
|
+
});
|
|
95
|
+
window.dispatchEvent(event);
|
|
96
|
+
};
|
|
97
|
+
var splitScriptApiName = (scriptApiName) => {
|
|
98
|
+
const [pluginApiName, actionApiName] = scriptApiName.split(".");
|
|
99
|
+
return {
|
|
100
|
+
pluginApiName,
|
|
101
|
+
actionApiName
|
|
102
|
+
};
|
|
103
|
+
};
|
|
104
|
+
var findMatchingAction = (availableActions, apiName) => {
|
|
105
|
+
if (!apiName) {
|
|
106
|
+
return null;
|
|
107
|
+
}
|
|
108
|
+
const { pluginApiName, actionApiName } = splitScriptApiName(apiName);
|
|
109
|
+
if (!pluginApiName) {
|
|
110
|
+
const action2 = availableActions.find((act) => !act.pluginApp && act.apiName === actionApiName);
|
|
111
|
+
return action2;
|
|
112
|
+
}
|
|
113
|
+
const action = availableActions.find(
|
|
114
|
+
(act) => act.apiName === actionApiName && act.pluginApp?.apiName === pluginApiName
|
|
115
|
+
);
|
|
116
|
+
return action;
|
|
117
|
+
};
|
|
118
|
+
|
|
119
|
+
export { emitRouteChange, findMatchingAction, generateExecutionKey, generateUUIDV4, getFn, getFnWithReturn, getPartialLocation };
|
|
120
|
+
//# sourceMappingURL=chunk-XKKZPZMB.js.map
|
|
121
|
+
//# sourceMappingURL=chunk-XKKZPZMB.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/util/run.ts"],"names":["action"],"mappings":";;;AAKO,IAAM,qBAAqB,MAAuB;AACvD,EAAA,OAAO;AAAA,IACL,IAAA,EAAM,OAAO,QAAA,CAAS,IAAA;AAAA,IACtB,IAAA,EAAM,OAAO,QAAA,CAAS,IAAA;AAAA,IACtB,IAAA,EAAM,OAAO,QAAA,CAAS,IAAA;AAAA,IACtB,MAAA,EAAQ,OAAO,QAAA,CAAS,MAAA;AAAA,IACxB,QAAA,EAAU,OAAO,QAAA,CAAS,QAAA;AAAA,IAC1B,MAAA,EAAQ,OAAO,QAAA,CAAS,MAAA;AAAA,IACxB,IAAA,EAAM,OAAO,QAAA,CAAS,IAAA;AAAA,IACtB,QAAA,EAAU,OAAO,QAAA,CAAS;AAAA,GAC5B;AACF;AAEO,IAAM,iBAAiB,MAAc;AAC1C,EAAA,IAAI,CAAA,GAAA,iBAAI,IAAI,IAAA,EAAK,EAAE,OAAA,EAAQ;AAE3B,EAAA,IAAI,OAAO,WAAA,KAAgB,WAAA,IAAe,OAAO,WAAA,CAAY,QAAQ,UAAA,EAAY;AAC/E,IAAA,CAAA,IAAK,YAAY,GAAA,EAAI;AAAA,EACvB;AAEA,EAAA,OAAO,sCAAA,CAAuC,OAAA,CAAQ,OAAA,EAAS,CAAC,CAAA,KAAM;AACpE,IAAA,MAAM,KAAM,CAAA,GAAI,IAAA,CAAK,MAAA,EAAO,GAAI,MAAM,EAAA,GAAM,CAAA;AAC5C,IAAA,CAAA,GAAI,IAAA,CAAK,KAAA,CAAM,CAAA,GAAI,EAAE,CAAA;AACrB,IAAA,OAAA,CAAQ,MAAM,GAAA,GAAM,CAAA,GAAK,IAAI,CAAA,GAAO,CAAA,EAAK,SAAS,EAAE,CAAA;AAAA,EACtD,CAAC,CAAA;AACH;AAEA,IAAM,aAAA,GACJ,MAAA,CAAO,cAAA,CAAe,iBAAkB;AAExC,CAAC,CAAA,CACD,WAAA;AAEK,IAAM,eAAA,GAAkB,CAAC,MAAA,KAAiC;AAC/D,EAAA,MAAM,YAAA,GAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uDAAA,EAQkC,MAAM,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAAA,CAAA;AAQ7D,EAAA,IAAI;AACF,IAAA,MAAM,EAAA,GAAK,IAAI,aAAA,CAAc,YAAY,CAAA;AAEzC,IAAA,OAAO,EAAE,IAAI,YAAA,EAAa;AAAA,EAC5B,CAAA,CAAA,MAAQ;AACN,IAAA,MAAM,WAAA,GAAc;AAAA;AAAA;AAAA;AAAA,IAAA,CAAA;AAMpB,IAAA,MAAM,EAAA,GAAK,IAAI,aAAA,CAAc,WAAW,CAAA;AAExC,IAAA,OAAO,EAAE,EAAA,EAAI,YAAA,EAAc,WAAA,EAAY;AAAA,EACzC;AACF;AAEO,IAAM,KAAA,GAAQ,CAAC,MAAA,KAAiC;AACrD,EAAA,MAAM,YAAA,GAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAAA,EAOb,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAAA,CAAA;AAQd,EAAA,IAAI;AACF,IAAA,MAAM,EAAA,GAAK,IAAI,aAAA,CAAc,YAAY,CAAA;AAEzC,IAAA,OAAO,EAAE,IAAI,YAAA,EAAa;AAAA,EAC5B,CAAA,CAAA,MAAQ;AACN,IAAA,MAAM,WAAA,GAAc;AAAA;AAAA;AAAA;AAAA,IAAA,CAAA;AAMpB,IAAA,MAAM,EAAA,GAAK,IAAI,aAAA,CAAc,WAAW,CAAA;AAExC,IAAA,OAAO,EAAE,EAAA,EAAI,YAAA,EAAc,WAAA,EAAY;AAAA,EACzC;AACF;AAEO,IAAM,oBAAA,GAAuB,CAClC,YAAA,KACW;AACX,EAAA,OAAO,CAAA,EAAG,YAAA,EAAc,eAAA,IAAmB,EAAE,IAAI,YAAA,EAAc,EAAA,IAAM,EAAE,CAAA,CAAA,EAAI,cAAc,QAAA,IAAY,EAAE,CAAA,CAAA,EAAI,YAAA,EAAc,aAAa,EAAE,CAAA,CAAA;AAC1I;AAEO,IAAM,kBAAkB,MAAY;AACzC,EAAA,MAAM,KAAA,GAAQ,IAAI,WAAA,CAAY,2BAAA,EAA6B;AAAA,IACzD,MAAA,EAAQ;AAAA,MACN,UAAU,kBAAA;AAAmB;AAC/B,GACD,CAAA;AAED,EAAA,MAAA,CAAO,cAAc,KAAK,CAAA;AAC5B;AAEA,IAAM,kBAAA,GAAqB,CACzB,aAAA,KAC6E;AAC7E,EAAA,MAAM,CAAC,aAAA,EAAe,aAAa,CAAA,GAAI,aAAA,CAAc,MAAM,GAAG,CAAA;AAE9D,EAAA,OAAO;AAAA,IACL,aAAA;AAAA,IACA;AAAA,GACF;AACF,CAAA;AAEO,IAAM,kBAAA,GAAqB,CAChC,gBAAA,EAMA,OAAA,KACY;AACZ,EAAA,IAAI,CAAC,OAAA,EAAS;AACZ,IAAA,OAAO,IAAA;AAAA,EACT;AAEA,EAAA,MAAM,EAAE,aAAA,EAAe,aAAA,EAAc,GAAI,mBAAmB,OAAO,CAAA;AAEnE,EAAA,IAAI,CAAC,aAAA,EAAe;AAClB,IAAA,MAAMA,OAAAA,GAAS,gBAAA,CAAiB,IAAA,CAAK,CAAC,GAAA,KAAQ,CAAC,GAAA,CAAI,SAAA,IAAa,GAAA,CAAI,OAAA,KAAY,aAAa,CAAA;AAE7F,IAAA,OAAOA,OAAAA;AAAA,EACT;AAEA,EAAA,MAAM,SAAS,gBAAA,CAAiB,IAAA;AAAA,IAC9B,CAAC,GAAA,KAAQ,GAAA,CAAI,YAAY,aAAA,IAAiB,GAAA,CAAI,WAAW,OAAA,KAAY;AAAA,GACvE;AAEA,EAAA,OAAO,MAAA;AACT","file":"chunk-XKKZPZMB.js","sourcesContent":["import { ROUTE_CHANGE_INTERNAL_EVENT } from '../communication/constants.js';\nimport type { PartialLocation } from '../types/common.js';\nimport type { CommonExecutionPlugin, CommonPluginDefinition } from '../types/run.js';\nimport type { AsyncFunctionConstructor, BuiltAsyncFn } from '../types/workers.js';\n\nexport const getPartialLocation = (): PartialLocation => {\n return {\n host: window.location.host,\n hash: window.location.hash,\n href: window.location.href,\n origin: window.location.origin,\n pathname: window.location.pathname,\n search: window.location.search,\n port: window.location.port,\n protocol: window.location.protocol,\n };\n};\n\nexport const generateUUIDV4 = (): string => {\n let d = new Date().getTime();\n\n if (typeof performance !== 'undefined' && typeof performance.now === 'function') {\n d += performance.now();\n }\n\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {\n const r = ((d + Math.random() * 16) % 16) | 0;\n d = Math.floor(d / 16);\n return (c === 'x' ? r : (r & 0x3) | 0x8).toString(16);\n });\n};\n\nconst AsyncFunction = (\n Object.getPrototypeOf(async function () {\n /* empty */\n }) as { constructor: AsyncFunctionConstructor }\n).constructor;\n\nexport const getFnWithReturn = (script: string): BuiltAsyncFn => {\n const functionBody = `\n const __cleanup = this.__cleanup.bind(this);\n const __error = this.onError.bind(this);\n let __kizen_internal_result;\n {\n this.__setup();\n }\n try {\n __kizen_internal_result = await (async () => { ${script} })();\n } catch (ex) {\n __error(ex);\n } finally {\n __cleanup(__kizen_internal_result);\n }\n `;\n\n try {\n const fn = new AsyncFunction(functionBody);\n\n return { fn, functionBody };\n } catch {\n const errorFnBody = `\n this.__setup();\n this.onError({ message: \"The script has a syntax error and could not be parsed\" });\n this.__cleanup();\n `;\n\n const fn = new AsyncFunction(errorFnBody);\n\n return { fn, functionBody: errorFnBody };\n }\n};\n\nexport const getFn = (script: string): BuiltAsyncFn => {\n const functionBody = `\n const __cleanup = this.__cleanup.bind(this);\n const __error = this.onError.bind(this);\n {\n this.__setup();\n }\n try {\n ${script}\n } catch (ex) {\n __error(ex);\n } finally {\n __cleanup();\n }\n `;\n\n try {\n const fn = new AsyncFunction(functionBody);\n\n return { fn, functionBody };\n } catch {\n const errorFnBody = `\n this.__setup();\n this.onError({ message: \"The script has a syntax error and could not be parsed\" });\n this.__cleanup();\n `;\n\n const fn = new AsyncFunction(errorFnBody);\n\n return { fn, functionBody: errorFnBody };\n }\n};\n\nexport const generateExecutionKey = (\n pluginConfig?: CommonPluginDefinition | CommonExecutionPlugin,\n): string => {\n return `${pluginConfig?.plugin_api_name ?? ''}-${pluginConfig?.id ?? ''}-${pluginConfig?.api_name ?? ''}-${pluginConfig?.script_id ?? ''}`;\n};\n\nexport const emitRouteChange = (): void => {\n const event = new CustomEvent(ROUTE_CHANGE_INTERNAL_EVENT, {\n detail: {\n location: getPartialLocation(),\n },\n });\n\n window.dispatchEvent(event);\n};\n\nconst splitScriptApiName = (\n scriptApiName: string,\n): { pluginApiName: string | undefined; actionApiName: string | undefined } => {\n const [pluginApiName, actionApiName] = scriptApiName.split('.');\n\n return {\n pluginApiName,\n actionApiName,\n };\n};\n\nexport const findMatchingAction = (\n availableActions: {\n pluginApp?: {\n apiName: string;\n };\n apiName: string;\n }[],\n apiName?: string,\n): unknown => {\n if (!apiName) {\n return null;\n }\n\n const { pluginApiName, actionApiName } = splitScriptApiName(apiName);\n\n if (!pluginApiName) {\n const action = availableActions.find((act) => !act.pluginApp && act.apiName === actionApiName);\n\n return action;\n }\n\n const action = availableActions.find(\n (act) => act.apiName === actionApiName && act.pluginApp?.apiName === pluginApiName,\n );\n\n return action;\n};\n"]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { I as Instance } from './ThirdPartyScript-DdrF7zh7.js';
|
|
2
|
+
export { aR as IFRAME_PREFIX, aS as INDICATOR_TYPE, T as ThirdPartyScript } from './ThirdPartyScript-DdrF7zh7.js';
|
|
3
|
+
import 'react';
|
|
4
|
+
|
|
5
|
+
declare const runFrameScriptEventName: string;
|
|
6
|
+
declare class Communicate {
|
|
7
|
+
private instance;
|
|
8
|
+
constructor(instance: Instance);
|
|
9
|
+
runFrameScript(frameAPIName: string, scriptId: string, args?: Record<string, string | number>): void;
|
|
10
|
+
sendMessageToOwnFrame(payload: unknown, path: string): void;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export { Communicate, runFrameScriptEventName };
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import './chunk-LGJYUPYZ.js';
|
|
2
|
+
export { Communicate, runFrameScriptEventName } from './chunk-GGGXYD3K.js';
|
|
3
|
+
export { IFRAME_PREFIX, INDICATOR_TYPE, ThirdPartyScript } from './chunk-P7GQBCEH.js';
|
|
4
|
+
import './chunk-5WRI5ZAA.js';
|
|
5
|
+
//# sourceMappingURL=communication.js.map
|
|
6
|
+
//# sourceMappingURL=communication.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"communication.js"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import { Communicate } from '../communication.js';
|
|
2
|
+
import { b as PartialUser, c as PartialTeamMember, d as PartialBusiness, e as PartialClientObject, D as DataCache, f as PostFormDataFn, S as StateChangePayload, I as Instance, A as Args, g as PromptState, W as WorkerContextArgs, U as UnknownJSON, C as CurrentUser, h as InternalSessionData, i as PartialLocation, G as GetOptions, R as RequestWithErrorsResponse, j as RequestOptions, k as ShowToastOptions, M as ModalConfig, l as DynamicPromptConfig, T as ThirdPartyScript } from '../ThirdPartyScript-DdrF7zh7.js';
|
|
3
|
+
import 'react';
|
|
4
|
+
|
|
5
|
+
declare class BaseWorkerContext {
|
|
6
|
+
protected user?: PartialUser;
|
|
7
|
+
protected teamMember?: PartialTeamMember;
|
|
8
|
+
protected business?: PartialBusiness;
|
|
9
|
+
protected clientObject?: PartialClientObject | undefined;
|
|
10
|
+
protected appPath?: string;
|
|
11
|
+
protected dataCache: DataCache<unknown>;
|
|
12
|
+
protected queryOptions: {};
|
|
13
|
+
private api;
|
|
14
|
+
postFormData: PostFormDataFn;
|
|
15
|
+
private executionTimer;
|
|
16
|
+
private setupExecutions;
|
|
17
|
+
private cleanupExecutions;
|
|
18
|
+
protected isDebug: boolean;
|
|
19
|
+
protected scriptBody: string;
|
|
20
|
+
protected internalState: StateChangePayload;
|
|
21
|
+
console: Console;
|
|
22
|
+
protected instance: Instance;
|
|
23
|
+
private breakOnException;
|
|
24
|
+
args: Args;
|
|
25
|
+
communicate: Communicate;
|
|
26
|
+
private shouldPreserve;
|
|
27
|
+
private uploadFileHandler;
|
|
28
|
+
private internalSessionData;
|
|
29
|
+
private pluginComponentId;
|
|
30
|
+
private installThirdPartyScriptHandler;
|
|
31
|
+
private promptHandler;
|
|
32
|
+
private dynamicPromptHandler;
|
|
33
|
+
private refreshEntityHandler;
|
|
34
|
+
private openCreateRecordHandler;
|
|
35
|
+
private openCreateRelatedRecordHandler;
|
|
36
|
+
protected runnerType: 'base' | 'floatingFrame' | 'recordDetail';
|
|
37
|
+
pluginApiName: string;
|
|
38
|
+
tempPromptState: PromptState;
|
|
39
|
+
private partialLocation;
|
|
40
|
+
constructor({ user, teamMember, business, clientObject, appPath, isDebug, kizenRequest, postFormData, scriptBody, instance, args, uploadFile, sessionData, pluginComponentId, installThirdPartyScript, prompt, refreshEntity, openCreateRecord, openCreateRelatedRecord, pluginApiName, dynamicPrompt, location, }: WorkerContextArgs);
|
|
41
|
+
onError(error?: UnknownJSON | Error): void;
|
|
42
|
+
set debug(value: boolean);
|
|
43
|
+
set preserve(value: boolean);
|
|
44
|
+
get preserve(): boolean;
|
|
45
|
+
parseDate(date: string): string[];
|
|
46
|
+
parsePhone(phone: string): string;
|
|
47
|
+
openWindow(url: string, target?: string): void;
|
|
48
|
+
authorize(serviceName?: string, config?: {
|
|
49
|
+
successRedirectPath?: string;
|
|
50
|
+
errorRedirectPath?: string;
|
|
51
|
+
}): void;
|
|
52
|
+
getServiceUrl(serviceName: string, path: string): string;
|
|
53
|
+
get currentBusiness(): PartialBusiness | undefined;
|
|
54
|
+
get applicationPath(): string | undefined;
|
|
55
|
+
get currentUser(): CurrentUser;
|
|
56
|
+
get sessionData(): InternalSessionData;
|
|
57
|
+
get config(): unknown;
|
|
58
|
+
get location(): PartialLocation;
|
|
59
|
+
get userConfig(): unknown;
|
|
60
|
+
setSessionData(update: UnknownJSON): void;
|
|
61
|
+
get(url: string, options?: GetOptions): Promise<unknown>;
|
|
62
|
+
getWithErrors(url: string, options?: Omit<GetOptions, 'returnErrors'>): Promise<RequestWithErrorsResponse>;
|
|
63
|
+
getUserConfig(): Promise<UnknownJSON>;
|
|
64
|
+
setUserConfig(config: UnknownJSON): Promise<unknown>;
|
|
65
|
+
patch(url: string, body?: UnknownJSON, options?: RequestOptions): Promise<unknown>;
|
|
66
|
+
patchWithErrors(url: string, body: UnknownJSON, options?: Omit<RequestOptions, 'returnErrors'>): Promise<RequestWithErrorsResponse>;
|
|
67
|
+
post(url: string, body?: UnknownJSON, options?: RequestOptions): Promise<unknown>;
|
|
68
|
+
postWithErrors(url: string, body: UnknownJSON, options?: Omit<RequestOptions, 'returnErrors'>): Promise<RequestWithErrorsResponse>;
|
|
69
|
+
delete(url: string, options?: RequestOptions): Promise<unknown>;
|
|
70
|
+
deleteWithErrors(url: string, options?: Omit<RequestOptions, 'returnErrors'>): Promise<RequestWithErrorsResponse>;
|
|
71
|
+
openCreateRecordModal(objectId: string): Promise<unknown>;
|
|
72
|
+
openCreateRelatedRecordModal(objectId: string, relatedEntityId: string): Promise<unknown>;
|
|
73
|
+
showToast(message: string, toastOptions: ShowToastOptions): void;
|
|
74
|
+
clearToasts(): void;
|
|
75
|
+
outputUI(markup: string): void;
|
|
76
|
+
prompt(config: ModalConfig): Promise<unknown>;
|
|
77
|
+
dynamicPrompt(_config: DynamicPromptConfig): Promise<unknown>;
|
|
78
|
+
outputIframe(url: string, allow?: string[], sandbox?: string): void;
|
|
79
|
+
private getBase64EncodedBlob;
|
|
80
|
+
uploadFile(data: Blob, fileName?: string, isPublic?: boolean): Promise<unknown>;
|
|
81
|
+
protected afterSetup(): void;
|
|
82
|
+
protected __setup(): void;
|
|
83
|
+
protected __cleanup(result?: unknown): void;
|
|
84
|
+
setIndicator(indicator?: StateChangePayload['indicator']): void;
|
|
85
|
+
wait(ms: number): Promise<void>;
|
|
86
|
+
private done;
|
|
87
|
+
private setState;
|
|
88
|
+
protected isRelativeUrl(url: string): boolean;
|
|
89
|
+
private buildHeaders;
|
|
90
|
+
refreshTimelineForId(id?: string): void;
|
|
91
|
+
refreshEntityForId(id?: string): unknown;
|
|
92
|
+
installThirdPartyScript(scriptUrl: string): Promise<ThirdPartyScript | undefined>;
|
|
93
|
+
releaseBlockingScript(): void;
|
|
94
|
+
copyToClipboard(text: string): void;
|
|
95
|
+
createDateObject(dateString: string): Date;
|
|
96
|
+
formatDateForResponse(date: Date): number;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
export { BaseWorkerContext };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"base.js"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { W as WorkerContextArgs } from '../ThirdPartyScript-DdrF7zh7.js';
|
|
2
|
+
import { H as HideConfig, S as ShowConfig } from '../floatingFrames-BzaoL7cq.js';
|
|
3
|
+
import { BaseWorkerContext } from './base.js';
|
|
4
|
+
import 'react';
|
|
5
|
+
import '../communication.js';
|
|
6
|
+
|
|
7
|
+
declare class FloatingFrameWorkerContext extends BaseWorkerContext {
|
|
8
|
+
constructor(args: WorkerContextArgs);
|
|
9
|
+
hide(config?: HideConfig): void;
|
|
10
|
+
hideHeader(): void;
|
|
11
|
+
showHeader(): void;
|
|
12
|
+
show(config?: ShowConfig): void;
|
|
13
|
+
expand(): void;
|
|
14
|
+
collapse(): void;
|
|
15
|
+
protected afterSetup(): void;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export { FloatingFrameWorkerContext };
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export { FloatingFrameWorkerContext } from '../chunk-3LDUYA57.js';
|
|
2
|
+
import '../chunk-NXLAROEM.js';
|
|
3
|
+
import '../chunk-VYBEGZLN.js';
|
|
4
|
+
import '../chunk-GGGXYD3K.js';
|
|
5
|
+
import '../chunk-P7GQBCEH.js';
|
|
6
|
+
import '../chunk-5WRI5ZAA.js';
|
|
7
|
+
//# sourceMappingURL=floatingFrame.js.map
|
|
8
|
+
//# sourceMappingURL=floatingFrame.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"floatingFrame.js"}
|