chayns-api 1.0.0 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/bootstrap.js +11 -0
- package/dist/cjs/calls/abstractApiListener.js +40 -0
- package/dist/cjs/calls/apiEventListener.js +40 -0
- package/dist/cjs/calls/dialogs/alert.js +2 -0
- package/dist/cjs/calls/dialogs/chaynsDialog.js +8 -2
- package/dist/cjs/calls/dialogs/close.js +2 -0
- package/dist/cjs/calls/dialogs/communication.js +16 -1
- package/dist/cjs/calls/dialogs/confirm.js +4 -0
- package/dist/cjs/calls/dialogs/date.js +53 -36
- package/dist/cjs/calls/dialogs/dropUpAlert.js +3 -0
- package/dist/cjs/calls/dialogs/fileSelect.js +10 -0
- package/dist/cjs/calls/dialogs/iFrame.js +8 -0
- package/dist/cjs/calls/dialogs/index.js +27 -0
- package/dist/cjs/calls/dialogs/input.js +6 -0
- package/dist/cjs/calls/dialogs/mediaSelect.js +7 -0
- package/dist/cjs/calls/dialogs/open.js +2 -0
- package/dist/cjs/calls/dialogs/select.js +9 -0
- package/dist/cjs/calls/dialogs/signature.js +5 -0
- package/dist/cjs/calls/dialogs/toast.js +3 -0
- package/dist/cjs/calls/dialogs/utils/callback.js +2 -0
- package/dist/cjs/calls/dialogs/utils/is.js +4 -0
- package/dist/cjs/calls/getUserInfo.js +11 -0
- package/dist/cjs/calls/index.js +155 -3
- package/dist/cjs/calls/sendMessage.js +26 -0
- package/dist/cjs/calls/setVisibilityChangeListener.js +1 -0
- package/dist/cjs/calls/visibilityChangeListener.js +12 -1
- package/dist/cjs/calls/windowMetricsListener.js +18 -0
- package/dist/cjs/components/App.js +32 -0
- package/dist/cjs/components/App.spec.js +16 -0
- package/dist/cjs/components/Button.js +32 -0
- package/dist/cjs/components/ChaynsContext.js +4 -2
- package/dist/cjs/components/ChaynsProvider.js +28 -6
- package/dist/cjs/components/ChaynsProviderExposed.js +16 -0
- package/dist/cjs/components/TestProvider.js +236 -0
- package/dist/cjs/components/Title.js +162 -0
- package/dist/cjs/components/WaitUntil.js +5 -0
- package/dist/cjs/components/withCompatMode.js +16 -1
- package/dist/cjs/functions/addApiListener.js +37 -0
- package/dist/cjs/functions/addGeoLocationListener.js +26 -0
- package/dist/cjs/functions/addScrollListener.js +26 -0
- package/dist/cjs/functions/addWindowMetricsListener.js +37 -0
- package/dist/cjs/helper/apiListenerHelper.js +9 -0
- package/dist/cjs/helper/cssLoader.js +28 -0
- package/dist/cjs/hooks/addGeoLocationListener.js +26 -0
- package/dist/cjs/hooks/addScrollListener.js +26 -0
- package/dist/cjs/hooks/addWindowMetricsListener.js +37 -0
- package/dist/cjs/hooks/geoLocation.js +48 -0
- package/dist/cjs/hooks/geoLocationListener.js +11 -2
- package/dist/cjs/hooks/index.js +16 -0
- package/dist/cjs/hooks/scrollListener.js +23 -4
- package/dist/cjs/hooks/useAccessToken.js +5 -0
- package/dist/cjs/hooks/useAddGeoLocationListener.js +26 -0
- package/dist/cjs/hooks/useAddScrollListener.js +48 -0
- package/dist/cjs/hooks/useAddWindowMetricsListener.js +45 -0
- package/dist/cjs/hooks/useAdddScrollListener.js +26 -0
- package/dist/cjs/hooks/useCurrentPage.js +4 -0
- package/dist/cjs/hooks/useCustomData.js +4 -0
- package/dist/cjs/hooks/useDevice.js +4 -0
- package/dist/cjs/hooks/useEnvironment.js +4 -0
- package/dist/cjs/hooks/useFunctions.js +4 -0
- package/dist/cjs/hooks/useIsAdminMode.js +5 -0
- package/dist/cjs/hooks/useLanguage.js +4 -0
- package/dist/cjs/hooks/usePages.js +12 -0
- package/dist/cjs/hooks/useParameters.js +4 -0
- package/dist/cjs/hooks/useSite.js +4 -0
- package/dist/cjs/hooks/useUser.js +4 -0
- package/dist/cjs/hooks/useValues.js +4 -0
- package/dist/cjs/hooks/windowMetrics.js +45 -0
- package/dist/cjs/hooks/windowMetricsListener.js +12 -2
- package/dist/cjs/host/ChaynsHost.js +12 -0
- package/dist/cjs/host/{module/PagemakerFrame.js → HostIframe.js} +75 -23
- package/dist/cjs/host/ModuleHost.js +11 -0
- package/dist/cjs/host/iframe/HostIframe.js +30 -23
- package/dist/cjs/host/iframe/utils/useUpdateData.js +3 -0
- package/dist/cjs/host/module/ModuleHost.js +13 -3
- package/dist/cjs/host/module/utils/loadComponent.js +18 -1
- package/dist/cjs/host/module/utils/useDynamicScript.js +18 -0
- package/dist/cjs/host/module/utils.js +25 -0
- package/dist/cjs/index.example.js +7 -0
- package/dist/cjs/index.js +19 -0
- package/dist/cjs/index2.js +64 -0
- package/dist/cjs/types/DynamicImport.d.js +5 -0
- package/dist/cjs/types/IChaynsReact.js +47 -0
- package/dist/cjs/types/chayns-components.d.js +1 -0
- package/dist/cjs/types/chayns-logger.d.js +1 -0
- package/dist/cjs/types/chayns.d.js +1 -0
- package/dist/cjs/types/tobit-websocket-service-client.d.js +1 -0
- package/dist/cjs/types/toolkit-types.d.js +1 -0
- package/dist/cjs/util/appCall.js +4 -1
- package/dist/cjs/util/deviceHelper.js +17 -2
- package/dist/cjs/util/heightHelper.js +9 -0
- package/dist/cjs/util/postIframeForm.js +5 -0
- package/dist/cjs/util/useFunctionsContext.js +16 -0
- package/dist/cjs/util/useIsAdminMode.js +18 -0
- package/dist/cjs/util/useUser.js +16 -0
- package/dist/cjs/wrapper/AppWrapper.js +144 -119
- package/dist/cjs/wrapper/FrameWrapper.js +248 -215
- package/dist/cjs/wrapper/ModuleFederationWrapper.js +27 -2
- package/dist/cjs/wrapper/SsrWrapper.js +8 -0
- package/dist/esm/bootstrap.js +4 -0
- package/dist/esm/calls/dialogs/alert.js +4 -4
- package/dist/esm/calls/dialogs/chaynsDialog.js +11 -7
- package/dist/esm/calls/dialogs/communication.js +26 -15
- package/dist/esm/calls/dialogs/confirm.js +8 -5
- package/dist/esm/calls/dialogs/date.js +94 -85
- package/dist/esm/calls/dialogs/dropUpAlert.js +1 -1
- package/dist/esm/calls/dialogs/fileSelect.js +62 -23
- package/dist/esm/calls/dialogs/iFrame.js +10 -7
- package/dist/esm/calls/dialogs/input.js +5 -2
- package/dist/esm/calls/dialogs/mediaSelect.js +55 -18
- package/dist/esm/calls/dialogs/open.js +2 -2
- package/dist/esm/calls/dialogs/select.js +9 -5
- package/dist/esm/calls/dialogs/signature.js +2 -0
- package/dist/esm/calls/dialogs/toast.js +11 -6
- package/dist/esm/calls/dialogs/utils/callback.js +5 -3
- package/dist/esm/calls/dialogs/utils/is.js +3 -1
- package/dist/esm/calls/getUserInfo.js +92 -32
- package/dist/esm/calls/index.js +276 -124
- package/dist/esm/calls/sendMessage.js +221 -91
- package/dist/esm/calls/visibilityChangeListener.js +15 -10
- package/dist/esm/components/App.js +35 -0
- package/dist/esm/components/App.spec.js +9 -0
- package/dist/esm/components/Button.js +34 -0
- package/dist/esm/components/ChaynsContext.js +3 -3
- package/dist/esm/components/ChaynsProvider.js +86 -45
- package/dist/esm/components/ChaynsProviderExposed.js +3 -0
- package/dist/esm/components/TestProvider.js +308 -0
- package/dist/esm/components/Title.js +210 -0
- package/dist/esm/components/WaitUntil.js +86 -21
- package/dist/esm/components/withCompatMode.js +77 -35
- package/dist/esm/helper/apiListenerHelper.js +15 -10
- package/dist/esm/helper/cssLoader.js +21 -0
- package/dist/esm/hooks/geoLocationListener.js +46 -20
- package/dist/esm/hooks/scrollListener.js +86 -50
- package/dist/esm/hooks/useAccessToken.js +28 -6
- package/dist/esm/hooks/useAddGeoLocationListener.js +18 -0
- package/dist/esm/hooks/useAddScrollListener.js +18 -0
- package/dist/esm/hooks/useAddWindowMetricsListener.js +18 -0
- package/dist/esm/hooks/useCurrentPage.js +6 -2
- package/dist/esm/hooks/useCustomData.js +6 -2
- package/dist/esm/hooks/useDevice.js +6 -1
- package/dist/esm/hooks/useEnvironment.js +6 -1
- package/dist/esm/hooks/useFunctions.js +5 -2
- package/dist/esm/hooks/useIsAdminMode.js +6 -2
- package/dist/esm/hooks/useLanguage.js +6 -1
- package/dist/esm/hooks/usePages.js +27 -14
- package/dist/esm/hooks/useParameters.js +6 -1
- package/dist/esm/hooks/useSite.js +6 -1
- package/dist/esm/hooks/useUser.js +6 -1
- package/dist/esm/hooks/useValues.js +5 -2
- package/dist/esm/hooks/windowMetricsListener.js +44 -18
- package/dist/esm/host/ChaynsHost.js +30 -21
- package/dist/esm/host/HostIframe.js +153 -0
- package/dist/esm/host/iframe/HostIframe.js +142 -86
- package/dist/esm/host/iframe/utils/useUpdateData.js +6 -4
- package/dist/esm/host/module/ModuleHost.js +49 -42
- package/dist/esm/host/module/utils/loadComponent.js +85 -47
- package/dist/esm/host/module/utils/useDynamicScript.js +74 -27
- package/dist/esm/index.example.js +1 -0
- package/dist/esm/index2.js +5 -0
- package/dist/esm/types/DynamicImport.d.js +1 -0
- package/dist/esm/types/IChaynsReact.js +61 -14
- package/dist/esm/types/chayns-components.d.js +0 -0
- package/dist/esm/types/chayns-logger.d.js +0 -0
- package/dist/esm/types/chayns.d.js +0 -0
- package/dist/esm/types/tobit-websocket-service-client.d.js +0 -0
- package/dist/esm/types/toolkit-types.d.js +0 -0
- package/dist/esm/util/appCall.js +4 -2
- package/dist/esm/util/deviceHelper.js +33 -11
- package/dist/esm/util/heightHelper.js +13 -10
- package/dist/esm/util/postIframeForm.js +57 -25
- package/dist/esm/util/useIsAdminMode.js +9 -0
- package/dist/esm/util/useUser.js +7 -0
- package/dist/esm/wrapper/AppWrapper.js +762 -179
- package/dist/esm/wrapper/FrameWrapper.js +1509 -258
- package/dist/esm/wrapper/ModuleFederationWrapper.js +284 -47
- package/dist/esm/wrapper/SsrWrapper.js +65 -19
- package/dist/types/bootstrap.d.ts +1 -0
- package/dist/types/calls/dialogs/confirm.d.ts +1 -1
- package/dist/types/calls/dialogs/date.d.ts +4 -4
- package/dist/types/calls/dialogs/dropUpAlert.d.ts +1 -1
- package/dist/types/calls/dialogs/fileSelect.d.ts +1 -1
- package/dist/types/calls/dialogs/iFrame.d.ts +1 -1
- package/dist/types/calls/dialogs/input.d.ts +1 -1
- package/dist/types/calls/dialogs/mediaSelect.d.ts +1 -1
- package/dist/types/calls/dialogs/signature.d.ts +1 -1
- package/dist/types/components/App.d.ts +5 -0
- package/dist/types/components/Button.d.ts +8 -0
- package/dist/types/components/ChaynsProvider.d.ts +1 -1
- package/dist/types/components/ChaynsProviderExposed.d.ts +13 -0
- package/dist/types/components/Title.d.ts +3 -0
- package/dist/types/components/WaitUntil.d.ts +1 -1
- package/dist/types/components/withCompatMode.d.ts +1 -1
- package/dist/types/hooks/useAccessToken.d.ts +1 -1
- package/dist/types/host/ChaynsHost.d.ts +2 -1
- package/dist/types/host/{module/PagemakerFrame.d.ts → HostIframe.d.ts} +5 -7
- package/dist/types/host/iframe/HostIframe.d.ts +1 -1
- package/dist/types/host/module/ModuleHost.d.ts +2 -2
- package/dist/types/index.example.d.ts +0 -0
- package/dist/types/types/IChaynsReact.d.ts +14 -14
- package/package.json +1 -1
- package/dist/cjs/calls/dialogs/utils/environment.js +0 -10
- package/dist/esm/calls/dialogs/utils/environment.js +0 -3
- package/dist/esm/host/module/PagemakerFrame.js +0 -97
- package/dist/types/calls/dialogs/utils/environment.d.ts +0 -3
|
@@ -1,103 +1,158 @@
|
|
|
1
|
-
function _extends() { _extends = Object.assign
|
|
1
|
+
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
2
|
+
|
|
3
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
4
|
+
|
|
5
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
6
|
+
|
|
7
|
+
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; }
|
|
8
|
+
|
|
9
|
+
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
|
|
10
|
+
|
|
11
|
+
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
|
|
12
|
+
|
|
2
13
|
import React, { useEffect, useRef } from 'react';
|
|
3
14
|
import * as comlink from 'comlink';
|
|
4
15
|
import postIframeForm from '../../util/postIframeForm';
|
|
5
16
|
import useUpdateData from './utils/useUpdateData';
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
17
|
+
|
|
18
|
+
var HostIframe = function HostIframe(_ref) {
|
|
19
|
+
var iFrameProps = _ref.iFrameProps,
|
|
20
|
+
src = _ref.src,
|
|
21
|
+
_ref$postForm = _ref.postForm,
|
|
22
|
+
postForm = _ref$postForm === void 0 ? false : _ref$postForm,
|
|
23
|
+
iFrameRef = _ref.iFrameRef,
|
|
24
|
+
pages = _ref.pages,
|
|
25
|
+
isAdminModeActive = _ref.isAdminModeActive,
|
|
26
|
+
site = _ref.site,
|
|
27
|
+
user = _ref.user,
|
|
28
|
+
currentPage = _ref.currentPage,
|
|
29
|
+
functions = _ref.functions,
|
|
30
|
+
device = _ref.device,
|
|
31
|
+
language = _ref.language,
|
|
32
|
+
parameters = _ref.parameters,
|
|
33
|
+
environment = _ref.environment,
|
|
34
|
+
customData = _ref.customData;
|
|
35
|
+
var eventTarget = useRef();
|
|
36
|
+
|
|
37
|
+
var _ref3 = useRef();
|
|
38
|
+
|
|
39
|
+
var currentDataRef = useRef();
|
|
40
|
+
|
|
28
41
|
if (!eventTarget.current) {
|
|
29
42
|
eventTarget.current = global.document ? document.createElement('div') : undefined; // global.EventTarget ? new EventTarget() : undefined
|
|
30
43
|
}
|
|
31
44
|
|
|
32
|
-
|
|
33
|
-
if (
|
|
34
|
-
|
|
45
|
+
var setHeight = function setHeight(value) {
|
|
46
|
+
if (_ref3.current) {
|
|
47
|
+
_ref3.current.height = "".concat(value, "px");
|
|
35
48
|
}
|
|
36
|
-
};
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
site,
|
|
41
|
-
isAdminModeActive,
|
|
42
|
-
pages,
|
|
43
|
-
currentPage,
|
|
44
|
-
device,
|
|
45
|
-
user,
|
|
46
|
-
language,
|
|
47
|
-
parameters,
|
|
48
|
-
environment,
|
|
49
|
-
customData
|
|
50
|
-
};
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
49
|
+
}; // region initialData
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
var initialData = {
|
|
53
|
+
site: site,
|
|
54
|
+
isAdminModeActive: isAdminModeActive,
|
|
55
|
+
pages: pages,
|
|
56
|
+
currentPage: currentPage,
|
|
57
|
+
device: device,
|
|
58
|
+
user: user,
|
|
59
|
+
language: language,
|
|
60
|
+
parameters: parameters,
|
|
61
|
+
environment: environment,
|
|
62
|
+
customData: customData
|
|
63
|
+
}; // endregion
|
|
64
|
+
|
|
65
|
+
currentDataRef.current = initialData; // region postIframeForm
|
|
66
|
+
|
|
67
|
+
useEffect(function () {
|
|
68
|
+
_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
|
|
69
|
+
var _yield$functions$getA, accessToken;
|
|
70
|
+
|
|
71
|
+
return regeneratorRuntime.wrap(function _callee$(_context) {
|
|
72
|
+
while (1) {
|
|
73
|
+
switch (_context.prev = _context.next) {
|
|
74
|
+
case 0:
|
|
75
|
+
if (!postForm) {
|
|
76
|
+
_context.next = 14;
|
|
77
|
+
break;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
_context.next = 3;
|
|
81
|
+
return functions.getAccessToken();
|
|
82
|
+
|
|
83
|
+
case 3:
|
|
84
|
+
_context.t1 = _yield$functions$getA = _context.sent;
|
|
85
|
+
_context.t0 = _context.t1 !== null;
|
|
71
86
|
|
|
87
|
+
if (!_context.t0) {
|
|
88
|
+
_context.next = 7;
|
|
89
|
+
break;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
_context.t0 = _yield$functions$getA !== void 0;
|
|
93
|
+
|
|
94
|
+
case 7:
|
|
95
|
+
if (!_context.t0) {
|
|
96
|
+
_context.next = 11;
|
|
97
|
+
break;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
_context.t2 = _yield$functions$getA;
|
|
101
|
+
_context.next = 12;
|
|
102
|
+
break;
|
|
103
|
+
|
|
104
|
+
case 11:
|
|
105
|
+
_context.t2 = {};
|
|
106
|
+
|
|
107
|
+
case 12:
|
|
108
|
+
accessToken = _context.t2;
|
|
109
|
+
void postIframeForm(src, JSON.stringify(_objectSpread(_objectSpread({}, initialData), {}, {
|
|
110
|
+
pages: undefined
|
|
111
|
+
}, accessToken)), 'chayns', iFrameProps.name);
|
|
112
|
+
|
|
113
|
+
case 14:
|
|
114
|
+
case "end":
|
|
115
|
+
return _context.stop();
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
}, _callee);
|
|
119
|
+
}))(); // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
120
|
+
|
|
121
|
+
}, []); // endregion
|
|
72
122
|
// region expose data and functions to iframe
|
|
73
|
-
|
|
123
|
+
|
|
124
|
+
useEffect(function () {
|
|
74
125
|
var _ref$current;
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
}
|
|
85
|
-
|
|
126
|
+
|
|
127
|
+
if ((_ref$current = _ref3.current) !== null && _ref$current !== void 0 && _ref$current.contentWindow) {
|
|
128
|
+
var obj = _defineProperty({}, iFrameProps.name, {
|
|
129
|
+
functions: _objectSpread(_objectSpread({}, functions), {}, {
|
|
130
|
+
setHeight: setHeight
|
|
131
|
+
}),
|
|
132
|
+
addDataListener: function addDataListener(cb) {
|
|
133
|
+
if (eventTarget.current) eventTarget.current.addEventListener('data_update', function (e) {
|
|
134
|
+
return e.detail && cb(e.detail);
|
|
135
|
+
});
|
|
136
|
+
},
|
|
137
|
+
getInitialData: function getInitialData() {
|
|
138
|
+
return currentDataRef.current;
|
|
86
139
|
}
|
|
87
|
-
};
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
140
|
+
});
|
|
141
|
+
|
|
142
|
+
comlink.expose(obj, comlink.windowEndpoint(_ref3.current.contentWindow));
|
|
143
|
+
|
|
144
|
+
_ref3.current.contentWindow.postMessage('chayns-api-host-ready', '*'); // https://github.com/GoogleChromeLabs/comlink/pull/469 might be better approach once released
|
|
145
|
+
|
|
146
|
+
|
|
147
|
+
return function () {
|
|
92
148
|
delete obj[iFrameProps.name];
|
|
93
149
|
};
|
|
94
150
|
}
|
|
95
|
-
return undefined;
|
|
96
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
97
|
-
}, []);
|
|
98
|
-
// endregion
|
|
99
151
|
|
|
152
|
+
return undefined; // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
153
|
+
}, []); // endregion
|
|
100
154
|
// region dispatch data update
|
|
155
|
+
|
|
101
156
|
useUpdateData(eventTarget.current, 'isAdminModeActive', isAdminModeActive);
|
|
102
157
|
useUpdateData(eventTarget.current, 'user', user);
|
|
103
158
|
useUpdateData(eventTarget.current, 'site', site);
|
|
@@ -105,12 +160,12 @@ const HostIframe = _ref => {
|
|
|
105
160
|
useUpdateData(eventTarget.current, 'language', language);
|
|
106
161
|
useUpdateData(eventTarget.current, 'parameters', parameters);
|
|
107
162
|
useUpdateData(eventTarget.current, 'environment', environment);
|
|
108
|
-
useUpdateData(eventTarget.current, 'customData', customData);
|
|
109
|
-
// endregion
|
|
163
|
+
useUpdateData(eventTarget.current, 'customData', customData); // endregion
|
|
110
164
|
|
|
111
165
|
return /*#__PURE__*/React.createElement("iframe", _extends({
|
|
112
|
-
ref: r
|
|
113
|
-
|
|
166
|
+
ref: function ref(r) {
|
|
167
|
+
_ref3.current = r;
|
|
168
|
+
|
|
114
169
|
if (iFrameRef) {
|
|
115
170
|
// eslint-disable-next-line no-param-reassign
|
|
116
171
|
iFrameRef.current = r;
|
|
@@ -121,4 +176,5 @@ const HostIframe = _ref => {
|
|
|
121
176
|
src: postForm ? undefined : src
|
|
122
177
|
}));
|
|
123
178
|
};
|
|
179
|
+
|
|
124
180
|
export default HostIframe;
|
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
import { useEffect } from 'react';
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
|
|
3
|
+
var useUpdateData = function useUpdateData(target, type, value) {
|
|
4
|
+
useEffect(function () {
|
|
4
5
|
if (target) {
|
|
5
6
|
target.dispatchEvent(new CustomEvent('data_update', {
|
|
6
7
|
detail: {
|
|
7
|
-
type,
|
|
8
|
-
value
|
|
8
|
+
type: type,
|
|
9
|
+
value: value
|
|
9
10
|
}
|
|
10
11
|
}));
|
|
11
12
|
}
|
|
12
13
|
}, [target, type, value]);
|
|
13
14
|
};
|
|
15
|
+
|
|
14
16
|
export default useUpdateData;
|
|
@@ -1,65 +1,71 @@
|
|
|
1
|
+
var _excluded = ["system", "fallback"];
|
|
2
|
+
|
|
3
|
+
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
4
|
+
|
|
5
|
+
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
6
|
+
|
|
1
7
|
import React, { useMemo } from 'react';
|
|
2
8
|
import useDynamicScript from './utils/useDynamicScript';
|
|
3
9
|
import loadComponent from './utils/loadComponent';
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
ready,
|
|
12
|
-
failed
|
|
13
|
-
} = useDynamicScript({
|
|
10
|
+
|
|
11
|
+
var System = function System(_ref) {
|
|
12
|
+
var system = _ref.system,
|
|
13
|
+
fallback = _ref.fallback,
|
|
14
|
+
props = _objectWithoutProperties(_ref, _excluded);
|
|
15
|
+
|
|
16
|
+
var _useDynamicScript = useDynamicScript({
|
|
14
17
|
url: system === null || system === void 0 ? void 0 : system.url,
|
|
15
18
|
scope: system === null || system === void 0 ? void 0 : system.scope
|
|
16
|
-
})
|
|
17
|
-
|
|
19
|
+
}),
|
|
20
|
+
ready = _useDynamicScript.ready,
|
|
21
|
+
failed = _useDynamicScript.failed;
|
|
22
|
+
|
|
23
|
+
var Component = useMemo(function () {
|
|
18
24
|
// maybe return waitcursor instead
|
|
19
25
|
if (!system || !ready || failed) {
|
|
20
26
|
return null;
|
|
21
27
|
}
|
|
22
|
-
return /*#__PURE__*/React.lazy(loadComponent(system.scope, system.module, system.url));
|
|
23
28
|
|
|
29
|
+
return /*#__PURE__*/React.lazy(loadComponent(system.scope, system.module, system.url));
|
|
24
30
|
/* eslint-disable react-hooks/exhaustive-deps */
|
|
25
31
|
}, [system === null || system === void 0 ? void 0 : system.scope, ready, system === null || system === void 0 ? void 0 : system.url]);
|
|
26
32
|
return Component ? /*#__PURE__*/React.createElement(React.Suspense, {
|
|
27
33
|
fallback: fallback || ''
|
|
28
34
|
}, /*#__PURE__*/React.createElement(Component, props)) : fallback;
|
|
29
35
|
};
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
} = _ref2;
|
|
36
|
+
|
|
37
|
+
var ModuleHost = function ModuleHost(_ref2) {
|
|
38
|
+
var system = _ref2.system,
|
|
39
|
+
_ref2$children = _ref2.children,
|
|
40
|
+
children = _ref2$children === void 0 ? null : _ref2$children,
|
|
41
|
+
functions = _ref2.functions,
|
|
42
|
+
pages = _ref2.pages,
|
|
43
|
+
isAdminModeActive = _ref2.isAdminModeActive,
|
|
44
|
+
site = _ref2.site,
|
|
45
|
+
user = _ref2.user,
|
|
46
|
+
currentPage = _ref2.currentPage,
|
|
47
|
+
device = _ref2.device,
|
|
48
|
+
language = _ref2.language,
|
|
49
|
+
parameters = _ref2.parameters,
|
|
50
|
+
customData = _ref2.customData,
|
|
51
|
+
environment = _ref2.environment;
|
|
47
52
|
// region initialData
|
|
48
|
-
|
|
49
|
-
site,
|
|
50
|
-
isAdminModeActive,
|
|
51
|
-
pages,
|
|
52
|
-
currentPage,
|
|
53
|
-
device,
|
|
54
|
-
language,
|
|
55
|
-
parameters,
|
|
56
|
-
customData,
|
|
57
|
-
environment
|
|
53
|
+
var initialData = {
|
|
54
|
+
site: site,
|
|
55
|
+
isAdminModeActive: isAdminModeActive,
|
|
56
|
+
pages: pages,
|
|
57
|
+
currentPage: currentPage,
|
|
58
|
+
device: device,
|
|
59
|
+
language: language,
|
|
60
|
+
parameters: parameters,
|
|
61
|
+
customData: customData,
|
|
62
|
+
environment: environment
|
|
58
63
|
};
|
|
64
|
+
|
|
59
65
|
if (user) {
|
|
60
66
|
initialData.user = user;
|
|
61
|
-
}
|
|
62
|
-
|
|
67
|
+
} // endregion
|
|
68
|
+
|
|
63
69
|
|
|
64
70
|
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
|
|
65
71
|
className: "module-css"
|
|
@@ -71,4 +77,5 @@ const ModuleHost = _ref2 => {
|
|
|
71
77
|
isModule: true
|
|
72
78
|
}));
|
|
73
79
|
};
|
|
80
|
+
|
|
74
81
|
export default ModuleHost;
|
|
@@ -1,55 +1,93 @@
|
|
|
1
|
+
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
|
|
2
|
+
|
|
3
|
+
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
|
|
4
|
+
|
|
1
5
|
/* eslint-disable */
|
|
2
6
|
// @ts-nocheck
|
|
3
|
-
|
|
4
7
|
import semver from 'semver';
|
|
5
8
|
import React from 'react';
|
|
6
9
|
import { semaphore } from './useDynamicScript';
|
|
7
|
-
|
|
10
|
+
var instances = {};
|
|
8
11
|
export default function loadComponent(scope, module, url) {
|
|
9
|
-
|
|
10
|
-
return
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
12
|
+
var skipCompatMode = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
|
|
13
|
+
return /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
|
|
14
|
+
var _window$find, container, factory, ModuleMap, Module, newModule, hostVersion, _Module$default, requiredVersion, environment, matchReactVersion;
|
|
15
|
+
|
|
16
|
+
return regeneratorRuntime.wrap(function _callee$(_context) {
|
|
17
|
+
while (1) {
|
|
18
|
+
switch (_context.prev = _context.next) {
|
|
19
|
+
case 0:
|
|
20
|
+
_context.next = 2;
|
|
21
|
+
return __webpack_init_sharing__('default');
|
|
22
|
+
|
|
23
|
+
case 2:
|
|
24
|
+
_window$find = window[scope + "_list"].find(function (x) {
|
|
25
|
+
return x.url === url;
|
|
26
|
+
}), container = _window$find.container; // or get the container somewhere else
|
|
27
|
+
// Initialize the container, it may provide shared modules
|
|
28
|
+
// eslint-disable-next-line no-undef
|
|
29
|
+
|
|
30
|
+
_context.next = 5;
|
|
31
|
+
return container.init(__webpack_share_scopes__.default);
|
|
32
|
+
|
|
33
|
+
case 5:
|
|
34
|
+
_context.next = 7;
|
|
35
|
+
return container.get(module);
|
|
36
|
+
|
|
37
|
+
case 7:
|
|
38
|
+
factory = _context.sent;
|
|
39
|
+
semaphore[scope].release();
|
|
40
|
+
ModuleMap = instances["".concat(scope, "__").concat(module)];
|
|
41
|
+
|
|
42
|
+
if (!ModuleMap) {
|
|
43
|
+
ModuleMap = {};
|
|
44
|
+
instances["".concat(scope, "__").concat(module)] = ModuleMap;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
if (Object.keys(ModuleMap).length > 0) {
|
|
48
|
+
newModule = factory();
|
|
49
|
+
Module = ModuleMap["".concat(newModule.default.buildEnv, "__").concat(newModule.default.appVersion)];
|
|
50
|
+
|
|
51
|
+
if (!Module) {
|
|
52
|
+
Module = newModule;
|
|
53
|
+
ModuleMap["".concat(newModule.default.buildEnv, "__").concat(newModule.default.appVersion)] = newModule;
|
|
54
|
+
}
|
|
55
|
+
} else {
|
|
56
|
+
Module = factory();
|
|
57
|
+
ModuleMap["".concat(Module.default.buildEnv, "__").concat(Module.default.appVersion)] = Module;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
if (!skipCompatMode) {
|
|
61
|
+
_context.next = 14;
|
|
62
|
+
break;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
return _context.abrupt("return", Module);
|
|
66
|
+
|
|
67
|
+
case 14:
|
|
68
|
+
hostVersion = semver.minVersion(React.version);
|
|
69
|
+
_Module$default = Module.default, requiredVersion = _Module$default.requiredVersion, environment = _Module$default.environment;
|
|
70
|
+
matchReactVersion = requiredVersion && semver.satisfies(hostVersion, requiredVersion);
|
|
71
|
+
|
|
72
|
+
if (!(!matchReactVersion || environment !== 'production')) {
|
|
73
|
+
_context.next = 19;
|
|
74
|
+
break;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
return _context.abrupt("return", {
|
|
78
|
+
default: Module.default.CompatComponent
|
|
79
|
+
});
|
|
80
|
+
|
|
81
|
+
case 19:
|
|
82
|
+
return _context.abrupt("return", {
|
|
83
|
+
default: Module.default.Component
|
|
84
|
+
});
|
|
85
|
+
|
|
86
|
+
case 20:
|
|
87
|
+
case "end":
|
|
88
|
+
return _context.stop();
|
|
89
|
+
}
|
|
34
90
|
}
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
ModuleMap[`${Module.default.buildEnv}__${Module.default.appVersion}`] = Module;
|
|
38
|
-
}
|
|
39
|
-
if (skipCompatMode) return Module;
|
|
40
|
-
const hostVersion = semver.minVersion(React.version);
|
|
41
|
-
const {
|
|
42
|
-
requiredVersion,
|
|
43
|
-
environment
|
|
44
|
-
} = Module.default;
|
|
45
|
-
const matchReactVersion = requiredVersion && semver.satisfies(hostVersion, requiredVersion);
|
|
46
|
-
if (!matchReactVersion || environment !== 'production') {
|
|
47
|
-
return {
|
|
48
|
-
default: Module.default.CompatComponent
|
|
49
|
-
};
|
|
50
|
-
}
|
|
51
|
-
return {
|
|
52
|
-
default: Module.default.Component
|
|
53
|
-
};
|
|
54
|
-
};
|
|
91
|
+
}, _callee);
|
|
92
|
+
}));
|
|
55
93
|
}
|