chayns-api 1.0.9 → 1.0.10-beta.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/.babelrc +30 -30
- package/.eslintrc +17 -17
- package/.github/workflows/deploy_docs.yml +28 -28
- package/.github/workflows/publish.yml +21 -21
- package/LICENSE +21 -21
- package/README.md +47 -47
- package/dist/cjs/calls/dialogs/date.js +10 -10
- package/dist/cjs/calls/index.js +102 -97
- package/dist/cjs/calls/sendMessage.js +8 -8
- package/dist/cjs/calls/visibilityChangeListener.js +4 -4
- package/dist/cjs/components/AppDialogWrapper.js +40 -0
- package/dist/cjs/components/ChaynsProvider.js +5 -2
- package/dist/cjs/components/withCompatMode.js +3 -0
- package/dist/cjs/hooks/geoLocationListener.js +4 -4
- package/dist/cjs/hooks/index.js +14 -1
- package/dist/cjs/hooks/scrollListener.js +8 -8
- package/dist/cjs/hooks/useAccessToken.js +2 -2
- package/dist/cjs/hooks/useCurrentPage.js +2 -2
- package/dist/cjs/hooks/useCustomData.js +2 -2
- package/dist/cjs/hooks/useDevice.js +2 -2
- package/dist/cjs/hooks/useDialogState.js +31 -0
- package/dist/cjs/hooks/useEnvironment.js +2 -2
- package/dist/cjs/hooks/useFunctions.js +2 -2
- package/dist/cjs/hooks/useIsAdminMode.js +2 -2
- package/dist/cjs/hooks/useLanguage.js +2 -2
- package/dist/cjs/hooks/usePages.js +4 -4
- package/dist/cjs/hooks/useParameters.js +2 -2
- package/dist/cjs/hooks/useSite.js +2 -2
- package/dist/cjs/hooks/useUser.js +2 -2
- package/dist/cjs/hooks/useValues.js +2 -2
- package/dist/cjs/hooks/windowMetricsListener.js +4 -4
- package/dist/cjs/host/ChaynsHost.js +6 -3
- package/dist/cjs/host/iframe/HostIframe.js +6 -3
- package/dist/cjs/types/IChaynsReact.js +22 -2
- package/dist/cjs/util/deviceHelper.js +7 -6
- package/dist/cjs/wrapper/AppWrapper.js +59 -0
- package/dist/cjs/wrapper/FrameWrapper.js +16 -1
- package/dist/cjs/wrapper/ModuleFederationWrapper.js +11 -0
- package/dist/esm/calls/dialogs/date.js +34 -34
- package/dist/esm/calls/index.js +102 -96
- package/dist/esm/calls/sendMessage.js +8 -8
- package/dist/esm/calls/visibilityChangeListener.js +4 -4
- package/dist/esm/components/AppDialogWrapper.js +31 -0
- package/dist/esm/components/ChaynsProvider.js +5 -2
- package/dist/esm/components/withCompatMode.js +3 -0
- package/dist/esm/hooks/geoLocationListener.js +4 -4
- package/dist/esm/hooks/index.js +2 -1
- package/dist/esm/hooks/scrollListener.js +8 -8
- package/dist/esm/hooks/useAccessToken.js +2 -2
- package/dist/esm/hooks/useCurrentPage.js +2 -2
- package/dist/esm/hooks/useCustomData.js +2 -2
- package/dist/esm/hooks/useDevice.js +2 -2
- package/dist/esm/hooks/useDialogState.js +24 -0
- package/dist/esm/hooks/useEnvironment.js +2 -2
- package/dist/esm/hooks/useFunctions.js +2 -2
- package/dist/esm/hooks/useIsAdminMode.js +2 -2
- package/dist/esm/hooks/useLanguage.js +2 -2
- package/dist/esm/hooks/usePages.js +4 -4
- package/dist/esm/hooks/useParameters.js +2 -2
- package/dist/esm/hooks/useSite.js +2 -2
- package/dist/esm/hooks/useUser.js +2 -2
- package/dist/esm/hooks/useValues.js +2 -2
- package/dist/esm/hooks/windowMetricsListener.js +4 -4
- package/dist/esm/host/ChaynsHost.js +6 -3
- package/dist/esm/host/iframe/HostIframe.js +6 -3
- package/dist/esm/types/IChaynsReact.js +19 -1
- package/dist/esm/util/deviceHelper.js +7 -6
- package/dist/esm/wrapper/AppWrapper.js +63 -1
- package/dist/esm/wrapper/FrameWrapper.js +19 -2
- package/dist/esm/wrapper/ModuleFederationWrapper.js +11 -0
- package/dist/types/calls/dialogs/alert.d.ts +1 -1
- package/dist/types/calls/dialogs/chaynsDialog.d.ts +24 -24
- package/dist/types/calls/dialogs/close.d.ts +1 -1
- package/dist/types/calls/dialogs/communication.d.ts +3 -3
- package/dist/types/calls/dialogs/confirm.d.ts +13 -13
- package/dist/types/calls/dialogs/date.d.ts +96 -96
- package/dist/types/calls/dialogs/dropUpAlert.d.ts +5 -5
- package/dist/types/calls/dialogs/fileSelect.d.ts +16 -16
- package/dist/types/calls/dialogs/iFrame.d.ts +10 -10
- package/dist/types/calls/dialogs/index.d.ts +14 -14
- package/dist/types/calls/dialogs/input.d.ts +15 -15
- package/dist/types/calls/dialogs/mediaSelect.d.ts +8 -8
- package/dist/types/calls/dialogs/open.d.ts +1 -1
- package/dist/types/calls/dialogs/select.d.ts +6 -6
- package/dist/types/calls/dialogs/signature.d.ts +7 -7
- package/dist/types/calls/dialogs/toast.d.ts +1 -1
- package/dist/types/calls/dialogs/utils/callback.d.ts +1 -1
- package/dist/types/calls/dialogs/utils/is.d.ts +4 -4
- package/dist/types/calls/getUserInfo.d.ts +9 -9
- package/dist/types/calls/index.d.ts +237 -233
- package/dist/types/calls/sendMessage.d.ts +13 -13
- package/dist/types/calls/visibilityChangeListener.d.ts +9 -9
- package/dist/types/components/AppDialogWrapper.d.ts +5 -0
- package/dist/types/components/ChaynsContext.d.ts +3 -3
- package/dist/types/components/ChaynsProvider.d.ts +14 -13
- package/dist/types/components/WaitUntil.d.ts +8 -7
- package/dist/types/components/withCompatMode.d.ts +13 -13
- package/dist/types/helper/apiListenerHelper.d.ts +6 -6
- package/dist/types/hooks/geoLocationListener.d.ts +18 -18
- package/dist/types/hooks/index.d.ts +17 -16
- package/dist/types/hooks/scrollListener.d.ts +28 -28
- package/dist/types/hooks/useAccessToken.d.ts +5 -5
- package/dist/types/hooks/useCurrentPage.d.ts +4 -4
- package/dist/types/hooks/useCustomData.d.ts +4 -4
- package/dist/types/hooks/useDevice.d.ts +5 -5
- package/dist/types/hooks/useDialogState.d.ts +9 -0
- package/dist/types/hooks/useEnvironment.d.ts +5 -5
- package/dist/types/hooks/useFunctions.d.ts +5 -5
- package/dist/types/hooks/useIsAdminMode.d.ts +4 -4
- package/dist/types/hooks/useLanguage.d.ts +5 -5
- package/dist/types/hooks/usePages.d.ts +18 -18
- package/dist/types/hooks/useParameters.d.ts +5 -5
- package/dist/types/hooks/useSite.d.ts +5 -5
- package/dist/types/hooks/useUser.d.ts +5 -5
- package/dist/types/hooks/useValues.d.ts +5 -5
- package/dist/types/hooks/windowMetricsListener.d.ts +11 -11
- package/dist/types/host/ChaynsHost.d.ts +30 -29
- package/dist/types/host/iframe/HostIframe.d.ts +26 -25
- package/dist/types/host/iframe/utils/useUpdateData.d.ts +3 -3
- package/dist/types/host/module/ModuleHost.d.ts +25 -24
- package/dist/types/host/module/utils/loadComponent.d.ts +1 -1
- package/dist/types/host/module/utils/useDynamicScript.d.ts +9 -9
- package/dist/types/index.d.ts +16 -16
- package/dist/types/types/IChaynsReact.d.ts +700 -622
- package/dist/types/types/dialog.d.ts +41 -41
- package/dist/types/util/appCall.d.ts +2 -2
- package/dist/types/util/deviceHelper.d.ts +7 -7
- package/dist/types/util/heightHelper.d.ts +1 -1
- package/dist/types/util/postIframeForm.d.ts +1 -1
- package/dist/types/util/url.d.ts +1 -1
- package/dist/types/wrapper/AppWrapper.d.ts +27 -18
- package/dist/types/wrapper/FrameWrapper.d.ts +15 -15
- package/dist/types/wrapper/ModuleFederationWrapper.d.ts +10 -10
- package/dist/types/wrapper/SsrWrapper.d.ts +11 -11
- package/package.json +75 -76
- package/tsconfig.json +56 -56
- package/toolkit.config.js +0 -52
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { useContextSelector } from 'use-context-selector';
|
|
2
2
|
import { ChaynsContext } from '../components/ChaynsContext';
|
|
3
|
-
/**
|
|
4
|
-
* @category Hooks
|
|
3
|
+
/**
|
|
4
|
+
* @category Hooks
|
|
5
5
|
*/
|
|
6
6
|
export const useLanguage = () => useContextSelector(ChaynsContext, v => v === null || v === void 0 ? void 0 : v.language);
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { useContextSelector } from 'use-context-selector';
|
|
2
2
|
import { ChaynsContext } from '../components/ChaynsContext';
|
|
3
3
|
import { moduleWrapper } from "../components/ChaynsProvider";
|
|
4
|
-
/**
|
|
5
|
-
* @category Hooks
|
|
4
|
+
/**
|
|
5
|
+
* @category Hooks
|
|
6
6
|
*/
|
|
7
7
|
export const usePages = function () {
|
|
8
8
|
let {
|
|
@@ -16,8 +16,8 @@ export const usePages = function () {
|
|
|
16
16
|
}
|
|
17
17
|
return pages;
|
|
18
18
|
};
|
|
19
|
-
/**
|
|
20
|
-
* @category Hooks
|
|
19
|
+
/**
|
|
20
|
+
* @category Hooks
|
|
21
21
|
*/
|
|
22
22
|
export const usePage = _ref => {
|
|
23
23
|
let {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { useContextSelector } from 'use-context-selector';
|
|
2
2
|
import { ChaynsContext } from '../components/ChaynsContext';
|
|
3
|
-
/**
|
|
4
|
-
* @category Hooks
|
|
3
|
+
/**
|
|
4
|
+
* @category Hooks
|
|
5
5
|
*/
|
|
6
6
|
export const useParameters = () => useContextSelector(ChaynsContext, v => (v === null || v === void 0 ? void 0 : v.parameters) || []);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { useContextSelector } from 'use-context-selector';
|
|
2
2
|
import { ChaynsContext } from '../components/ChaynsContext';
|
|
3
|
-
/**
|
|
4
|
-
* @category Hooks
|
|
3
|
+
/**
|
|
4
|
+
* @category Hooks
|
|
5
5
|
*/
|
|
6
6
|
export const useSite = () => useContextSelector(ChaynsContext, v => v === null || v === void 0 ? void 0 : v.site);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { useContextSelector } from 'use-context-selector';
|
|
2
2
|
import { ChaynsContext } from '../components/ChaynsContext';
|
|
3
|
-
/**
|
|
4
|
-
* @category Hooks
|
|
3
|
+
/**
|
|
4
|
+
* @category Hooks
|
|
5
5
|
*/
|
|
6
6
|
export const useUser = () => useContextSelector(ChaynsContext, v => (v === null || v === void 0 ? void 0 : v.user) || {});
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { useContextSelector } from 'use-context-selector';
|
|
2
2
|
import { ChaynsContext } from '../components/ChaynsContext';
|
|
3
|
-
/**
|
|
4
|
-
* @category Hooks
|
|
3
|
+
/**
|
|
4
|
+
* @category Hooks
|
|
5
5
|
*/
|
|
6
6
|
export const useValues = () => {
|
|
7
7
|
const t = useContextSelector(ChaynsContext, v => v || {});
|
|
@@ -2,8 +2,8 @@ import { useContextSelector } from 'use-context-selector';
|
|
|
2
2
|
import { useCallback, useEffect, useRef, useState } from 'react';
|
|
3
3
|
import { ChaynsFunctionsContext } from '../components/ChaynsContext';
|
|
4
4
|
import { ScreenSize } from '../types/IChaynsReact';
|
|
5
|
-
/**
|
|
6
|
-
* @category Hooks
|
|
5
|
+
/**
|
|
6
|
+
* @category Hooks
|
|
7
7
|
*/
|
|
8
8
|
export const useWindowMetricsListener = () => {
|
|
9
9
|
const addListener = useContextSelector(ChaynsFunctionsContext, v => v.addWindowMetricsListener);
|
|
@@ -18,8 +18,8 @@ export const useWindowMetricsListener = () => {
|
|
|
18
18
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
19
19
|
}, []);
|
|
20
20
|
};
|
|
21
|
-
/**
|
|
22
|
-
* @category Hooks
|
|
21
|
+
/**
|
|
22
|
+
* @category Hooks
|
|
23
23
|
*/
|
|
24
24
|
export const useWindowMetrics = function () {
|
|
25
25
|
let {
|
|
@@ -22,7 +22,8 @@ const ChaynsHost = _ref => {
|
|
|
22
22
|
parameters,
|
|
23
23
|
customData,
|
|
24
24
|
environment,
|
|
25
|
-
preventStagingReplacement
|
|
25
|
+
preventStagingReplacement,
|
|
26
|
+
dialog
|
|
26
27
|
} = _ref;
|
|
27
28
|
switch (type) {
|
|
28
29
|
case 'client-iframe':
|
|
@@ -41,7 +42,8 @@ const ChaynsHost = _ref => {
|
|
|
41
42
|
parameters: parameters,
|
|
42
43
|
environment: environment,
|
|
43
44
|
customData: customData,
|
|
44
|
-
preventStagingReplacement: preventStagingReplacement
|
|
45
|
+
preventStagingReplacement: preventStagingReplacement,
|
|
46
|
+
dialog: dialog
|
|
45
47
|
});
|
|
46
48
|
case 'client-module':
|
|
47
49
|
return /*#__PURE__*/React.createElement(ModuleHost, {
|
|
@@ -77,7 +79,8 @@ const ChaynsHost = _ref => {
|
|
|
77
79
|
parameters: parameters,
|
|
78
80
|
environment: environment,
|
|
79
81
|
customData: customData,
|
|
80
|
-
preventStagingReplacement: preventStagingReplacement
|
|
82
|
+
preventStagingReplacement: preventStagingReplacement,
|
|
83
|
+
dialog: dialog
|
|
81
84
|
});
|
|
82
85
|
case 'server-module':
|
|
83
86
|
return /*#__PURE__*/React.createElement(ModuleHost, {
|
|
@@ -22,7 +22,8 @@ const HostIframe = _ref => {
|
|
|
22
22
|
parameters,
|
|
23
23
|
environment,
|
|
24
24
|
customData,
|
|
25
|
-
preventStagingReplacement
|
|
25
|
+
preventStagingReplacement,
|
|
26
|
+
dialog
|
|
26
27
|
} = _ref;
|
|
27
28
|
const eventTarget = useRef();
|
|
28
29
|
const ref = useRef();
|
|
@@ -48,7 +49,8 @@ const HostIframe = _ref => {
|
|
|
48
49
|
language,
|
|
49
50
|
parameters,
|
|
50
51
|
environment,
|
|
51
|
-
customData
|
|
52
|
+
customData,
|
|
53
|
+
dialog
|
|
52
54
|
};
|
|
53
55
|
// endregion
|
|
54
56
|
|
|
@@ -60,7 +62,7 @@ const HostIframe = _ref => {
|
|
|
60
62
|
if (postForm) {
|
|
61
63
|
var _await$functions$getA;
|
|
62
64
|
const accessToken = (_await$functions$getA = await functions.getAccessToken()) !== null && _await$functions$getA !== void 0 ? _await$functions$getA : {};
|
|
63
|
-
void postIframeForm(replaceStagingUrl(preventStagingReplacement, src, environment.
|
|
65
|
+
void postIframeForm(replaceStagingUrl(preventStagingReplacement, src, environment.buildEnvironment), JSON.stringify({
|
|
64
66
|
...initialData,
|
|
65
67
|
pages: undefined,
|
|
66
68
|
...accessToken
|
|
@@ -108,6 +110,7 @@ const HostIframe = _ref => {
|
|
|
108
110
|
useUpdateData(eventTarget.current, 'parameters', parameters);
|
|
109
111
|
useUpdateData(eventTarget.current, 'environment', environment);
|
|
110
112
|
useUpdateData(eventTarget.current, 'customData', customData);
|
|
113
|
+
useUpdateData(eventTarget.current, 'dialog', dialog);
|
|
111
114
|
// endregion
|
|
112
115
|
|
|
113
116
|
return /*#__PURE__*/React.createElement("iframe", _extends({
|
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
export let DialogButtonType;
|
|
2
|
+
(function (DialogButtonType) {
|
|
3
|
+
DialogButtonType[DialogButtonType["OK"] = 1] = "OK";
|
|
4
|
+
DialogButtonType[DialogButtonType["CANCEL"] = -1] = "CANCEL";
|
|
5
|
+
DialogButtonType[DialogButtonType["NEGATIVE"] = 0] = "NEGATIVE";
|
|
6
|
+
})(DialogButtonType || (DialogButtonType = {}));
|
|
1
7
|
export let ScreenSize;
|
|
2
8
|
(function (ScreenSize) {
|
|
3
9
|
ScreenSize[ScreenSize["XS"] = 0] = "XS";
|
|
@@ -235,4 +241,16 @@ var selectType;
|
|
|
235
241
|
(function (selectType) {
|
|
236
242
|
selectType[selectType["DEFAULT"] = 0] = "DEFAULT";
|
|
237
243
|
selectType[selectType["ICON"] = 1] = "ICON";
|
|
238
|
-
})(selectType || (selectType = {}));
|
|
244
|
+
})(selectType || (selectType = {}));
|
|
245
|
+
export let DialogType;
|
|
246
|
+
(function (DialogType) {
|
|
247
|
+
DialogType["ALERT"] = "alert";
|
|
248
|
+
DialogType["CONFIRM"] = "confirm";
|
|
249
|
+
DialogType["DATE"] = "date";
|
|
250
|
+
DialogType["FILE_SELECT"] = "fileSelect";
|
|
251
|
+
DialogType["IFRAME"] = "iframe";
|
|
252
|
+
DialogType["MODULE"] = "module";
|
|
253
|
+
DialogType["INPUT"] = "input";
|
|
254
|
+
DialogType["SELECT"] = "select";
|
|
255
|
+
DialogType["TOAST"] = "toast";
|
|
256
|
+
})(DialogType || (DialogType = {}));
|
|
@@ -29,7 +29,7 @@ const getDeviceInfo = (userAgent, acceptHeader) => {
|
|
|
29
29
|
result.accessToken = undefined; // TODO
|
|
30
30
|
result.os = parsedUA === null || parsedUA === void 0 ? void 0 : parsedUA.os;
|
|
31
31
|
if (typeof window !== 'undefined') {
|
|
32
|
-
result.screenSize = getScreenSize(window.innerWidth);
|
|
32
|
+
result.screenSize = getScreenSize(window.innerWidth, window.innerHeight);
|
|
33
33
|
} else {
|
|
34
34
|
// estimate size over user agent, very inaccurate, could be improved by setting a cookie with the screensize
|
|
35
35
|
const screenSizeByUA = /mobi/i.test(userAgent) ? ScreenSize.SM : ScreenSize.XL;
|
|
@@ -42,15 +42,16 @@ const getDeviceInfo = (userAgent, acceptHeader) => {
|
|
|
42
42
|
export const getClientDeviceInfo = () => ({
|
|
43
43
|
isTouch: navigator.maxTouchPoints > 0 && window.matchMedia('(pointer: coarse)')
|
|
44
44
|
});
|
|
45
|
-
export const getScreenSize = width => {
|
|
45
|
+
export const getScreenSize = (width, height) => {
|
|
46
|
+
const size = Math.max(width, height);
|
|
46
47
|
let value;
|
|
47
|
-
if (
|
|
48
|
+
if (size > 1200) {
|
|
48
49
|
value = ScreenSize.XL;
|
|
49
|
-
} else if (
|
|
50
|
+
} else if (size > 993) {
|
|
50
51
|
value = ScreenSize.LG;
|
|
51
|
-
} else if (
|
|
52
|
+
} else if (size > 769) {
|
|
52
53
|
value = ScreenSize.MD;
|
|
53
|
-
} else if (
|
|
54
|
+
} else if (size > 556) {
|
|
54
55
|
value = ScreenSize.SM;
|
|
55
56
|
} else {
|
|
56
57
|
value = ScreenSize.XS;
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
1
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
2
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
|
3
|
+
function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
2
4
|
/* eslint-disable */
|
|
3
5
|
// @ts-nocheck
|
|
4
6
|
|
|
@@ -9,6 +11,7 @@ import getDeviceInfo, { getScreenSize } from '../util/deviceHelper';
|
|
|
9
11
|
import getUserInfo from '../calls/getUserInfo';
|
|
10
12
|
import { sendMessageToGroup, sendMessageToPage, sendMessageToUser } from '../calls/sendMessage';
|
|
11
13
|
import { addApiListener, dispatchApiEvent, removeApiListener } from '../helper/apiListenerHelper';
|
|
14
|
+
let appWrapperDialogId = 0;
|
|
12
15
|
export class AppWrapper {
|
|
13
16
|
mapOldApiToNew(retVal) {
|
|
14
17
|
var _window, _window2, _AppInfo$TappSelected;
|
|
@@ -85,6 +88,7 @@ export class AppWrapper {
|
|
|
85
88
|
};
|
|
86
89
|
}
|
|
87
90
|
constructor() {
|
|
91
|
+
var _this = this;
|
|
88
92
|
_defineProperty(this, "values", null);
|
|
89
93
|
_defineProperty(this, "accessToken", '');
|
|
90
94
|
_defineProperty(this, "counter", 0);
|
|
@@ -425,12 +429,44 @@ export class AppWrapper {
|
|
|
425
429
|
void this.appCall(19, value, {
|
|
426
430
|
awaitResult: false
|
|
427
431
|
});
|
|
432
|
+
},
|
|
433
|
+
openDialog: async function () {
|
|
434
|
+
return _this.openDialog(...arguments);
|
|
435
|
+
},
|
|
436
|
+
createDialog: config => {
|
|
437
|
+
return {
|
|
438
|
+
close: async value => {
|
|
439
|
+
this.dialogs.find(x => x.dialogId === dialogId).eventTarget.dispatchEvent(new CustomEvent('close', {
|
|
440
|
+
detail: data
|
|
441
|
+
}));
|
|
442
|
+
},
|
|
443
|
+
open: async () => {
|
|
444
|
+
return await this.openDialog(config);
|
|
445
|
+
}
|
|
446
|
+
};
|
|
447
|
+
},
|
|
448
|
+
closeDialog: (dialogId, data) => {
|
|
449
|
+
try {
|
|
450
|
+
this.dialogs.find(x => x.dialogId === dialogId).eventTarget.dispatchEvent(new CustomEvent('requestClose', {
|
|
451
|
+
detail: data
|
|
452
|
+
}));
|
|
453
|
+
} catch (e) {
|
|
454
|
+
console.error(e);
|
|
455
|
+
}
|
|
428
456
|
}
|
|
429
457
|
});
|
|
458
|
+
_defineProperty(this, "dialogs", []);
|
|
459
|
+
_defineProperty(this, "dialogEventTarget", new EventTarget());
|
|
430
460
|
}
|
|
431
461
|
notImplemented(call) {
|
|
432
462
|
console.warn(`call ${call} not implement in app`);
|
|
433
463
|
}
|
|
464
|
+
dispatchDialogChange(detail) {
|
|
465
|
+
this.dialogs = detail;
|
|
466
|
+
this.dialogEventTarget.dispatchEvent(new CustomEvent('change', {
|
|
467
|
+
detail
|
|
468
|
+
}));
|
|
469
|
+
}
|
|
434
470
|
appCall(action) {
|
|
435
471
|
let value = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
436
472
|
let {
|
|
@@ -463,6 +499,23 @@ export class AppWrapper {
|
|
|
463
499
|
});
|
|
464
500
|
});
|
|
465
501
|
}
|
|
502
|
+
async openDialog(config) {
|
|
503
|
+
const currentDialogId = appWrapperDialogId;
|
|
504
|
+
const res = await new Promise(resolve => {
|
|
505
|
+
const eventTarget = new EventTarget();
|
|
506
|
+
this.dispatchDialogChange([...(this.dialogs || []), {
|
|
507
|
+
config,
|
|
508
|
+
resolve,
|
|
509
|
+
dialogId: appWrapperDialogId++,
|
|
510
|
+
eventTarget
|
|
511
|
+
}]);
|
|
512
|
+
});
|
|
513
|
+
this.dispatchDialogChange(this.dialogs.filter(x => x.dialogId !== currentDialogId));
|
|
514
|
+
return res;
|
|
515
|
+
}
|
|
516
|
+
getDialogEventTarget() {
|
|
517
|
+
return this.dialogEventTarget;
|
|
518
|
+
}
|
|
466
519
|
async init() {
|
|
467
520
|
this.values = this.mapOldApiToNew(await this.appCall(18));
|
|
468
521
|
return undefined;
|
|
@@ -480,4 +533,13 @@ export class AppWrapper {
|
|
|
480
533
|
getInitialData() {
|
|
481
534
|
return this.values;
|
|
482
535
|
}
|
|
536
|
+
createDialog(config) {
|
|
537
|
+
return {
|
|
538
|
+
close: () => {},
|
|
539
|
+
open: async () => {
|
|
540
|
+
const dialog = await functions.openDialog(config);
|
|
541
|
+
return dialog;
|
|
542
|
+
}
|
|
543
|
+
};
|
|
544
|
+
}
|
|
483
545
|
}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
1
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
2
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
|
3
|
+
function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
2
4
|
/* eslint-disable @typescript-eslint/no-non-null-assertion */
|
|
3
5
|
import * as comlink from 'comlink';
|
|
4
6
|
import { addVisibilityChangeListener, removeVisibilityChangeListener } from '../calls/visibilityChangeListener';
|
|
@@ -225,7 +227,22 @@ export class FrameWrapper {
|
|
|
225
227
|
scrollByY: async (value, duration) => {
|
|
226
228
|
if (!this.initialized) await this.ready;
|
|
227
229
|
return this.exposedFunctions.scrollByY(value, duration);
|
|
228
|
-
}
|
|
230
|
+
},
|
|
231
|
+
createDialog: config => {
|
|
232
|
+
return {
|
|
233
|
+
close: async (buttonType, data) => {
|
|
234
|
+
await this.exposedFunctions.closeDialog(buttonType, data);
|
|
235
|
+
},
|
|
236
|
+
open: async () => {
|
|
237
|
+
return await this.exposedFunctions.openDialog(config);
|
|
238
|
+
}
|
|
239
|
+
};
|
|
240
|
+
},
|
|
241
|
+
closeDialog: async (buttonType, value) => {
|
|
242
|
+
if (!this.initialized) await this.ready;
|
|
243
|
+
return this.exposedFunctions.closeDialog(buttonType, value);
|
|
244
|
+
},
|
|
245
|
+
openDialog: async value => {}
|
|
229
246
|
});
|
|
230
247
|
_defineProperty(this, "initialized", false);
|
|
231
248
|
const initialDataTag = document.querySelector('#__CHAYNS_DATA__');
|
|
@@ -20,6 +20,17 @@ export class ModuleFederationWrapper {
|
|
|
20
20
|
return fn(...arguments);
|
|
21
21
|
};
|
|
22
22
|
});
|
|
23
|
+
this.functions.createDialog = config => {
|
|
24
|
+
return {
|
|
25
|
+
close: (buttonType, data) => {
|
|
26
|
+
return functions.closeDialog(buttonType, data);
|
|
27
|
+
},
|
|
28
|
+
open: async () => {
|
|
29
|
+
const dialog = await functions.openDialog(config);
|
|
30
|
+
return dialog;
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
};
|
|
23
34
|
this.functions.addWindowMetricsListener = async callback => {
|
|
24
35
|
const {
|
|
25
36
|
id,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare function alert(title?: string, message?: string): Promise<any> | "unsupported";
|
|
1
|
+
export declare function alert(title?: string, message?: string): Promise<any> | "unsupported";
|
|
@@ -1,24 +1,24 @@
|
|
|
1
|
-
export declare const buttonText: {
|
|
2
|
-
YES: string;
|
|
3
|
-
NO: string;
|
|
4
|
-
OK: string;
|
|
5
|
-
CANCEL: string;
|
|
6
|
-
};
|
|
7
|
-
export declare const buttonType: {
|
|
8
|
-
CANCEL: number;
|
|
9
|
-
NEGATIVE: number;
|
|
10
|
-
POSITIVE: number;
|
|
11
|
-
};
|
|
12
|
-
export declare const dialogAction: {
|
|
13
|
-
ALERT_CONFIRM: number;
|
|
14
|
-
INPUT: number;
|
|
15
|
-
SELECT: number;
|
|
16
|
-
DATE: number;
|
|
17
|
-
ADVANCED_DATE: number;
|
|
18
|
-
DROP_UP_ALERT: number;
|
|
19
|
-
MEDIA_SELECT: number;
|
|
20
|
-
FILE_SELECT: number;
|
|
21
|
-
SIGNATURE: number;
|
|
22
|
-
IFRAME: number;
|
|
23
|
-
};
|
|
24
|
-
export declare function chaynsDialog(config: any): Promise<any> | "unsupported";
|
|
1
|
+
export declare const buttonText: {
|
|
2
|
+
YES: string;
|
|
3
|
+
NO: string;
|
|
4
|
+
OK: string;
|
|
5
|
+
CANCEL: string;
|
|
6
|
+
};
|
|
7
|
+
export declare const buttonType: {
|
|
8
|
+
CANCEL: number;
|
|
9
|
+
NEGATIVE: number;
|
|
10
|
+
POSITIVE: number;
|
|
11
|
+
};
|
|
12
|
+
export declare const dialogAction: {
|
|
13
|
+
ALERT_CONFIRM: number;
|
|
14
|
+
INPUT: number;
|
|
15
|
+
SELECT: number;
|
|
16
|
+
DATE: number;
|
|
17
|
+
ADVANCED_DATE: number;
|
|
18
|
+
DROP_UP_ALERT: number;
|
|
19
|
+
MEDIA_SELECT: number;
|
|
20
|
+
FILE_SELECT: number;
|
|
21
|
+
SIGNATURE: number;
|
|
22
|
+
IFRAME: number;
|
|
23
|
+
};
|
|
24
|
+
export declare function chaynsDialog(config: any): Promise<any> | "unsupported";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare function close(): Promise<any>;
|
|
1
|
+
export declare function close(): Promise<any>;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export declare function sendData(data: any, isApiEvent: any): Promise<any>;
|
|
2
|
-
export declare function addDialogDataListener(callback: any, getApiEvents?: boolean): boolean;
|
|
3
|
-
export declare function removeDialogDataListener(callback: any, getApiEvents?: boolean): boolean;
|
|
1
|
+
export declare function sendData(data: any, isApiEvent: any): Promise<any>;
|
|
2
|
+
export declare function addDialogDataListener(callback: any, getApiEvents?: boolean): boolean;
|
|
3
|
+
export declare function removeDialogDataListener(callback: any, getApiEvents?: boolean): boolean;
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import {
|
|
2
|
-
type Confirm = {
|
|
3
|
-
headline?: string;
|
|
4
|
-
text?: string;
|
|
5
|
-
buttons?:
|
|
6
|
-
buttons?:
|
|
7
|
-
links?:
|
|
8
|
-
};
|
|
9
|
-
links?: unknown;
|
|
10
|
-
select?: unknown;
|
|
11
|
-
};
|
|
12
|
-
export declare function confirm(title?: string, message?: string, config?: Confirm): Promise<any> | "unsupported";
|
|
13
|
-
export {};
|
|
1
|
+
import { DialogButtonOld } from "../../types/dialog";
|
|
2
|
+
type Confirm = {
|
|
3
|
+
headline?: string;
|
|
4
|
+
text?: string;
|
|
5
|
+
buttons?: DialogButtonOld[] | {
|
|
6
|
+
buttons?: DialogButtonOld[];
|
|
7
|
+
links?: DialogButtonOld[];
|
|
8
|
+
};
|
|
9
|
+
links?: unknown;
|
|
10
|
+
select?: unknown;
|
|
11
|
+
};
|
|
12
|
+
export declare function confirm(title?: string, message?: string, config?: Confirm): Promise<any> | "unsupported";
|
|
13
|
+
export {};
|