chayns-api 1.0.1 → 1.0.2
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/calls/dialogs/alert.js +0 -2
- package/dist/cjs/calls/dialogs/chaynsDialog.js +2 -8
- package/dist/cjs/calls/dialogs/close.js +0 -2
- package/dist/cjs/calls/dialogs/communication.js +1 -16
- package/dist/cjs/calls/dialogs/confirm.js +0 -4
- package/dist/cjs/calls/dialogs/date.js +36 -53
- package/dist/cjs/calls/dialogs/dropUpAlert.js +0 -3
- package/dist/cjs/calls/dialogs/fileSelect.js +0 -10
- package/dist/cjs/calls/dialogs/iFrame.js +0 -8
- package/dist/cjs/calls/dialogs/index.js +0 -27
- package/dist/cjs/calls/dialogs/input.js +0 -6
- package/dist/cjs/calls/dialogs/mediaSelect.js +0 -7
- package/dist/cjs/calls/dialogs/open.js +0 -2
- package/dist/cjs/calls/dialogs/select.js +0 -9
- package/dist/cjs/calls/dialogs/signature.js +0 -5
- package/dist/cjs/calls/dialogs/toast.js +0 -3
- package/dist/cjs/calls/dialogs/utils/callback.js +0 -2
- package/dist/cjs/calls/dialogs/utils/environment.js +10 -0
- package/dist/cjs/calls/dialogs/utils/is.js +0 -4
- package/dist/cjs/calls/getUserInfo.js +0 -11
- package/dist/cjs/calls/index.js +3 -155
- package/dist/cjs/calls/sendMessage.js +0 -26
- package/dist/cjs/calls/visibilityChangeListener.js +1 -12
- package/dist/cjs/components/ChaynsContext.js +2 -4
- package/dist/cjs/components/ChaynsProvider.js +6 -28
- package/dist/cjs/components/WaitUntil.js +0 -5
- package/dist/cjs/components/withCompatMode.js +1 -16
- package/dist/cjs/helper/apiListenerHelper.js +0 -9
- package/dist/cjs/hooks/geoLocationListener.js +2 -11
- package/dist/cjs/hooks/index.js +6 -16
- package/dist/cjs/hooks/scrollListener.js +4 -23
- package/dist/cjs/hooks/useAccessToken.js +0 -5
- package/dist/cjs/hooks/useCurrentPage.js +0 -4
- package/dist/cjs/hooks/useCustomData.js +0 -4
- package/dist/cjs/hooks/useDevice.js +0 -4
- package/dist/cjs/hooks/useEnvironment.js +0 -4
- package/dist/cjs/hooks/useFunctions.js +0 -4
- package/dist/cjs/hooks/useIsAdminMode.js +0 -5
- package/dist/cjs/hooks/useLanguage.js +0 -4
- package/dist/cjs/hooks/usePages.js +22 -14
- package/dist/cjs/hooks/useParameters.js +0 -4
- package/dist/cjs/hooks/useSite.js +0 -4
- package/dist/cjs/hooks/useUser.js +0 -5
- package/dist/cjs/hooks/useValues.js +0 -4
- package/dist/cjs/hooks/windowMetricsListener.js +2 -12
- package/dist/cjs/host/ChaynsHost.js +0 -10
- package/dist/cjs/host/iframe/HostIframe.js +23 -30
- package/dist/cjs/host/iframe/utils/useUpdateData.js +0 -3
- package/dist/cjs/host/module/ModuleHost.js +3 -13
- package/dist/cjs/host/{HostIframe.js → module/PagemakerFrame.js} +23 -75
- package/dist/cjs/host/module/utils/loadComponent.js +1 -18
- package/dist/cjs/host/module/utils/useDynamicScript.js +0 -18
- package/dist/cjs/index.js +0 -19
- package/dist/cjs/types/IChaynsReact.js +27 -48
- package/dist/cjs/util/appCall.js +1 -4
- package/dist/cjs/util/deviceHelper.js +4 -21
- package/dist/cjs/util/heightHelper.js +0 -9
- package/dist/cjs/util/postIframeForm.js +0 -5
- package/dist/cjs/wrapper/AppWrapper.js +318 -159
- package/dist/cjs/wrapper/FrameWrapper.js +215 -248
- package/dist/cjs/wrapper/ModuleFederationWrapper.js +2 -27
- package/dist/cjs/wrapper/SsrWrapper.js +0 -8
- package/dist/esm/calls/dialogs/alert.js +4 -4
- package/dist/esm/calls/dialogs/chaynsDialog.js +7 -11
- package/dist/esm/calls/dialogs/communication.js +15 -26
- package/dist/esm/calls/dialogs/confirm.js +5 -8
- package/dist/esm/calls/dialogs/date.js +85 -94
- package/dist/esm/calls/dialogs/dropUpAlert.js +1 -1
- package/dist/esm/calls/dialogs/fileSelect.js +23 -62
- package/dist/esm/calls/dialogs/iFrame.js +7 -10
- package/dist/esm/calls/dialogs/input.js +2 -5
- package/dist/esm/calls/dialogs/mediaSelect.js +18 -55
- package/dist/esm/calls/dialogs/open.js +2 -2
- package/dist/esm/calls/dialogs/select.js +5 -9
- package/dist/esm/calls/dialogs/signature.js +0 -2
- package/dist/esm/calls/dialogs/toast.js +6 -11
- package/dist/esm/calls/dialogs/utils/callback.js +3 -5
- package/dist/esm/calls/dialogs/utils/environment.js +3 -0
- package/dist/esm/calls/dialogs/utils/is.js +1 -3
- package/dist/esm/calls/getUserInfo.js +32 -92
- package/dist/esm/calls/index.js +124 -276
- package/dist/esm/calls/sendMessage.js +91 -221
- package/dist/esm/calls/visibilityChangeListener.js +10 -15
- package/dist/esm/components/ChaynsContext.js +3 -3
- package/dist/esm/components/ChaynsProvider.js +45 -86
- package/dist/esm/components/WaitUntil.js +21 -86
- package/dist/esm/components/withCompatMode.js +35 -77
- package/dist/esm/helper/apiListenerHelper.js +10 -15
- package/dist/esm/hooks/geoLocationListener.js +20 -46
- package/dist/esm/hooks/index.js +1 -1
- package/dist/esm/hooks/scrollListener.js +50 -86
- package/dist/esm/hooks/useAccessToken.js +6 -28
- package/dist/esm/hooks/useCurrentPage.js +2 -6
- package/dist/esm/hooks/useCustomData.js +2 -6
- package/dist/esm/hooks/useDevice.js +1 -6
- package/dist/esm/hooks/useEnvironment.js +1 -6
- package/dist/esm/hooks/useFunctions.js +2 -5
- package/dist/esm/hooks/useIsAdminMode.js +2 -6
- package/dist/esm/hooks/useLanguage.js +1 -6
- package/dist/esm/hooks/usePages.js +34 -27
- package/dist/esm/hooks/useParameters.js +1 -6
- package/dist/esm/hooks/useSite.js +1 -6
- package/dist/esm/hooks/useUser.js +1 -7
- package/dist/esm/hooks/useValues.js +2 -5
- package/dist/esm/hooks/windowMetricsListener.js +18 -44
- package/dist/esm/host/ChaynsHost.js +22 -29
- package/dist/esm/host/iframe/HostIframe.js +86 -142
- package/dist/esm/host/iframe/utils/useUpdateData.js +4 -6
- package/dist/esm/host/module/ModuleHost.js +42 -49
- package/dist/esm/host/module/PagemakerFrame.js +97 -0
- package/dist/esm/host/module/utils/loadComponent.js +47 -85
- package/dist/esm/host/module/utils/useDynamicScript.js +27 -74
- package/dist/esm/types/IChaynsReact.js +37 -61
- package/dist/esm/util/appCall.js +2 -4
- package/dist/esm/util/deviceHelper.js +12 -36
- package/dist/esm/util/heightHelper.js +10 -13
- package/dist/esm/util/postIframeForm.js +25 -57
- package/dist/esm/wrapper/AppWrapper.js +380 -781
- package/dist/esm/wrapper/FrameWrapper.js +258 -1509
- package/dist/esm/wrapper/ModuleFederationWrapper.js +47 -284
- package/dist/esm/wrapper/SsrWrapper.js +19 -65
- 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/calls/dialogs/utils/environment.d.ts +3 -0
- package/dist/types/calls/index.d.ts +0 -6
- package/dist/types/components/ChaynsProvider.d.ts +1 -1
- package/dist/types/components/WaitUntil.d.ts +1 -1
- package/dist/types/components/withCompatMode.d.ts +1 -1
- package/dist/types/hooks/index.d.ts +1 -1
- package/dist/types/hooks/useAccessToken.d.ts +1 -1
- package/dist/types/hooks/usePages.d.ts +4 -0
- package/dist/types/host/ChaynsHost.d.ts +1 -1
- package/dist/types/host/iframe/HostIframe.d.ts +1 -1
- package/dist/types/host/module/ModuleHost.d.ts +2 -2
- package/dist/types/host/{HostIframe.d.ts → module/PagemakerFrame.d.ts} +7 -5
- package/dist/types/types/IChaynsReact.d.ts +55 -24
- package/dist/types/util/deviceHelper.d.ts +2 -2
- package/dist/types/wrapper/AppWrapper.d.ts +6 -4
- package/package.json +1 -1
- package/dist/cjs/bootstrap.js +0 -11
- package/dist/cjs/calls/abstractApiListener.js +0 -40
- package/dist/cjs/calls/apiEventListener.js +0 -40
- package/dist/cjs/calls/setVisibilityChangeListener.js +0 -1
- package/dist/cjs/calls/windowMetricsListener.js +0 -18
- package/dist/cjs/components/App.js +0 -32
- package/dist/cjs/components/App.spec.js +0 -16
- package/dist/cjs/components/Button.js +0 -32
- package/dist/cjs/components/ChaynsProviderExposed.js +0 -16
- package/dist/cjs/components/TestProvider.js +0 -236
- package/dist/cjs/components/Title.js +0 -162
- package/dist/cjs/functions/addApiListener.js +0 -37
- package/dist/cjs/functions/addGeoLocationListener.js +0 -26
- package/dist/cjs/functions/addScrollListener.js +0 -26
- package/dist/cjs/functions/addWindowMetricsListener.js +0 -37
- package/dist/cjs/helper/cssLoader.js +0 -28
- package/dist/cjs/hooks/addGeoLocationListener.js +0 -26
- package/dist/cjs/hooks/addScrollListener.js +0 -26
- package/dist/cjs/hooks/addWindowMetricsListener.js +0 -37
- package/dist/cjs/hooks/geoLocation.js +0 -48
- package/dist/cjs/hooks/useAddGeoLocationListener.js +0 -26
- package/dist/cjs/hooks/useAddScrollListener.js +0 -48
- package/dist/cjs/hooks/useAddWindowMetricsListener.js +0 -45
- package/dist/cjs/hooks/useAdddScrollListener.js +0 -26
- package/dist/cjs/hooks/windowMetrics.js +0 -45
- package/dist/cjs/host/ModuleHost.js +0 -11
- package/dist/cjs/host/module/utils.js +0 -25
- package/dist/cjs/index.example.js +0 -7
- package/dist/cjs/index2.js +0 -64
- package/dist/cjs/types/DynamicImport.d.js +0 -5
- package/dist/cjs/types/chayns-components.d.js +0 -1
- package/dist/cjs/types/chayns-logger.d.js +0 -1
- package/dist/cjs/types/chayns.d.js +0 -1
- package/dist/cjs/types/tobit-websocket-service-client.d.js +0 -1
- package/dist/cjs/types/toolkit-types.d.js +0 -1
- package/dist/cjs/util/useFunctionsContext.js +0 -16
- package/dist/cjs/util/useIsAdminMode.js +0 -18
- package/dist/cjs/util/useUser.js +0 -16
- package/dist/esm/bootstrap.js +0 -4
- package/dist/esm/components/App.js +0 -35
- package/dist/esm/components/App.spec.js +0 -9
- package/dist/esm/components/Button.js +0 -34
- package/dist/esm/components/ChaynsProviderExposed.js +0 -3
- package/dist/esm/components/TestProvider.js +0 -308
- package/dist/esm/components/Title.js +0 -210
- package/dist/esm/helper/cssLoader.js +0 -21
- package/dist/esm/hooks/useAddGeoLocationListener.js +0 -18
- package/dist/esm/hooks/useAddScrollListener.js +0 -18
- package/dist/esm/hooks/useAddWindowMetricsListener.js +0 -18
- package/dist/esm/host/HostIframe.js +0 -153
- package/dist/esm/index.example.js +0 -1
- package/dist/esm/index2.js +0 -5
- package/dist/esm/types/DynamicImport.d.js +0 -1
- 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/useIsAdminMode.js +0 -9
- package/dist/esm/util/useUser.js +0 -7
- package/dist/types/bootstrap.d.ts +0 -1
- package/dist/types/components/App.d.ts +0 -5
- package/dist/types/components/Button.d.ts +0 -8
- package/dist/types/components/ChaynsProviderExposed.d.ts +0 -13
- package/dist/types/components/Title.d.ts +0 -3
- package/dist/types/index.example.d.ts +0 -0
|
@@ -1,16 +1,14 @@
|
|
|
1
1
|
import { useEffect } from 'react';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
useEffect(function () {
|
|
2
|
+
const useUpdateData = (target, type, value) => {
|
|
3
|
+
useEffect(() => {
|
|
5
4
|
if (target) {
|
|
6
5
|
target.dispatchEvent(new CustomEvent('data_update', {
|
|
7
6
|
detail: {
|
|
8
|
-
type
|
|
9
|
-
value
|
|
7
|
+
type,
|
|
8
|
+
value
|
|
10
9
|
}
|
|
11
10
|
}));
|
|
12
11
|
}
|
|
13
12
|
}, [target, type, value]);
|
|
14
13
|
};
|
|
15
|
-
|
|
16
14
|
export default useUpdateData;
|
|
@@ -1,71 +1,65 @@
|
|
|
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
|
-
|
|
7
1
|
import React, { useMemo } from 'react';
|
|
8
2
|
import useDynamicScript from './utils/useDynamicScript';
|
|
9
3
|
import loadComponent from './utils/loadComponent';
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
4
|
+
const System = _ref => {
|
|
5
|
+
let {
|
|
6
|
+
system,
|
|
7
|
+
fallback,
|
|
8
|
+
...props
|
|
9
|
+
} = _ref;
|
|
10
|
+
const {
|
|
11
|
+
ready,
|
|
12
|
+
failed
|
|
13
|
+
} = useDynamicScript({
|
|
17
14
|
url: system === null || system === void 0 ? void 0 : system.url,
|
|
18
15
|
scope: system === null || system === void 0 ? void 0 : system.scope
|
|
19
|
-
})
|
|
20
|
-
|
|
21
|
-
failed = _useDynamicScript.failed;
|
|
22
|
-
|
|
23
|
-
var Component = useMemo(function () {
|
|
16
|
+
});
|
|
17
|
+
const Component = useMemo(() => {
|
|
24
18
|
// maybe return waitcursor instead
|
|
25
19
|
if (!system || !ready || failed) {
|
|
26
20
|
return null;
|
|
27
21
|
}
|
|
28
|
-
|
|
29
22
|
return /*#__PURE__*/React.lazy(loadComponent(system.scope, system.module, system.url));
|
|
23
|
+
|
|
30
24
|
/* eslint-disable react-hooks/exhaustive-deps */
|
|
31
25
|
}, [system === null || system === void 0 ? void 0 : system.scope, ready, system === null || system === void 0 ? void 0 : system.url]);
|
|
32
26
|
return Component ? /*#__PURE__*/React.createElement(React.Suspense, {
|
|
33
27
|
fallback: fallback || ''
|
|
34
28
|
}, /*#__PURE__*/React.createElement(Component, props)) : fallback;
|
|
35
29
|
};
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
30
|
+
const ModuleHost = _ref2 => {
|
|
31
|
+
let {
|
|
32
|
+
system,
|
|
33
|
+
children = null,
|
|
34
|
+
functions,
|
|
35
|
+
// shallow data
|
|
36
|
+
pages,
|
|
37
|
+
isAdminModeActive,
|
|
38
|
+
site,
|
|
39
|
+
user,
|
|
40
|
+
currentPage,
|
|
41
|
+
device,
|
|
42
|
+
language,
|
|
43
|
+
parameters,
|
|
44
|
+
customData,
|
|
45
|
+
environment
|
|
46
|
+
} = _ref2;
|
|
52
47
|
// region initialData
|
|
53
|
-
|
|
54
|
-
site
|
|
55
|
-
isAdminModeActive
|
|
56
|
-
pages
|
|
57
|
-
currentPage
|
|
58
|
-
device
|
|
59
|
-
language
|
|
60
|
-
parameters
|
|
61
|
-
customData
|
|
62
|
-
environment
|
|
48
|
+
const initialData = {
|
|
49
|
+
site,
|
|
50
|
+
isAdminModeActive,
|
|
51
|
+
pages,
|
|
52
|
+
currentPage,
|
|
53
|
+
device,
|
|
54
|
+
language,
|
|
55
|
+
parameters,
|
|
56
|
+
customData,
|
|
57
|
+
environment
|
|
63
58
|
};
|
|
64
|
-
|
|
65
59
|
if (user) {
|
|
66
60
|
initialData.user = user;
|
|
67
|
-
}
|
|
68
|
-
|
|
61
|
+
}
|
|
62
|
+
// endregion
|
|
69
63
|
|
|
70
64
|
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
|
|
71
65
|
className: "module-css"
|
|
@@ -77,5 +71,4 @@ var ModuleHost = function ModuleHost(_ref2) {
|
|
|
77
71
|
isModule: true
|
|
78
72
|
}));
|
|
79
73
|
};
|
|
80
|
-
|
|
81
74
|
export default ModuleHost;
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
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; }
|
|
2
|
+
|
|
3
|
+
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; }
|
|
4
|
+
|
|
5
|
+
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; }
|
|
6
|
+
|
|
7
|
+
import { useEffect, useRef } from 'react';
|
|
8
|
+
import * as comlink from 'comlink';
|
|
9
|
+
import useUpdateData from "../iframe/utils/useUpdateData";
|
|
10
|
+
|
|
11
|
+
var PagemakerFrame = function PagemakerFrame(_ref) {
|
|
12
|
+
var iFrameProps = _ref.iFrameProps,
|
|
13
|
+
_ref$postForm = _ref.postForm,
|
|
14
|
+
postForm = _ref$postForm === void 0 ? false : _ref$postForm,
|
|
15
|
+
children = _ref.children,
|
|
16
|
+
iFrameRef = _ref.iFrameRef,
|
|
17
|
+
pages = _ref.pages,
|
|
18
|
+
isAdminModeActive = _ref.isAdminModeActive,
|
|
19
|
+
site = _ref.site,
|
|
20
|
+
user = _ref.user,
|
|
21
|
+
currentPage = _ref.currentPage,
|
|
22
|
+
functions = _ref.functions,
|
|
23
|
+
device = _ref.device,
|
|
24
|
+
language = _ref.language,
|
|
25
|
+
parameters = _ref.parameters,
|
|
26
|
+
environment = _ref.environment;
|
|
27
|
+
var eventTarget = useRef();
|
|
28
|
+
var ref = useRef();
|
|
29
|
+
var currentDataRef = useRef();
|
|
30
|
+
|
|
31
|
+
if (!eventTarget.current) {
|
|
32
|
+
eventTarget.current = global.document ? document.createElement('div') : undefined; // global.EventTarget ? new EventTarget() : undefined
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
var setHeight = function setHeight(value) {
|
|
36
|
+
if (ref.current) {
|
|
37
|
+
ref.current.height = "".concat(value, "px");
|
|
38
|
+
}
|
|
39
|
+
}; // region initialData
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
var initialData = {
|
|
43
|
+
site: site,
|
|
44
|
+
isAdminModeActive: isAdminModeActive,
|
|
45
|
+
pages: pages,
|
|
46
|
+
currentPage: currentPage,
|
|
47
|
+
device: device,
|
|
48
|
+
user: user,
|
|
49
|
+
language: language,
|
|
50
|
+
parameters: parameters,
|
|
51
|
+
environment: environment
|
|
52
|
+
}; // endregion
|
|
53
|
+
|
|
54
|
+
currentDataRef.current = initialData;
|
|
55
|
+
console.debug('functions', functions); // region expose data and functions to iframe
|
|
56
|
+
|
|
57
|
+
useEffect(function () {
|
|
58
|
+
var _ref$current;
|
|
59
|
+
|
|
60
|
+
if ((_ref$current = ref.current) !== null && _ref$current !== void 0 && _ref$current.contentWindow) {
|
|
61
|
+
var obj = _defineProperty({}, iFrameProps.name, {
|
|
62
|
+
functions: _objectSpread(_objectSpread({}, functions), {}, {
|
|
63
|
+
setHeight: setHeight
|
|
64
|
+
}),
|
|
65
|
+
addDataListener: function addDataListener(cb) {
|
|
66
|
+
if (eventTarget.current) eventTarget.current.addEventListener('data_update', function (e) {
|
|
67
|
+
return e.detail && cb(e.detail);
|
|
68
|
+
});
|
|
69
|
+
},
|
|
70
|
+
getInitialData: function getInitialData() {
|
|
71
|
+
return currentDataRef.current;
|
|
72
|
+
}
|
|
73
|
+
});
|
|
74
|
+
|
|
75
|
+
comlink.expose(obj, comlink.windowEndpoint(ref.current.contentWindow));
|
|
76
|
+
ref.current.contentWindow.postMessage('chayns-api-host-ready', '*'); // https://github.com/GoogleChromeLabs/comlink/pull/469 might be better approach once released
|
|
77
|
+
|
|
78
|
+
return function () {
|
|
79
|
+
delete obj[iFrameProps.name];
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
return undefined; // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
84
|
+
}, []); // endregion
|
|
85
|
+
// region dispatch data update
|
|
86
|
+
|
|
87
|
+
useUpdateData(eventTarget.current, 'isAdminModeActive', isAdminModeActive);
|
|
88
|
+
useUpdateData(eventTarget.current, 'user', user);
|
|
89
|
+
useUpdateData(eventTarget.current, 'site', site);
|
|
90
|
+
useUpdateData(eventTarget.current, 'pages', pages);
|
|
91
|
+
useUpdateData(eventTarget.current, 'language', language);
|
|
92
|
+
useUpdateData(eventTarget.current, 'parameters', parameters); // endregion
|
|
93
|
+
|
|
94
|
+
return children;
|
|
95
|
+
};
|
|
96
|
+
|
|
97
|
+
export default PagemakerFrame;
|
|
@@ -1,93 +1,55 @@
|
|
|
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
|
-
|
|
5
1
|
/* eslint-disable */
|
|
6
2
|
// @ts-nocheck
|
|
3
|
+
|
|
7
4
|
import semver from 'semver';
|
|
8
5
|
import React from 'react';
|
|
9
6
|
import { semaphore } from './useDynamicScript';
|
|
10
|
-
|
|
7
|
+
let instances = {};
|
|
11
8
|
export default function loadComponent(scope, module, url) {
|
|
12
|
-
|
|
13
|
-
return
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
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
|
-
}
|
|
9
|
+
let skipCompatMode = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
|
|
10
|
+
return async () => {
|
|
11
|
+
// Initializes the shared scope. Fills it with known provided modules from this build and all remotes
|
|
12
|
+
// eslint-disable-next-line no-undef
|
|
13
|
+
await __webpack_init_sharing__('default');
|
|
14
|
+
const {
|
|
15
|
+
container
|
|
16
|
+
} = window[scope + "_list"].find(x => x.url === url); // or get the container somewhere else
|
|
17
|
+
// Initialize the container, it may provide shared modules
|
|
18
|
+
// eslint-disable-next-line no-undef
|
|
19
|
+
await container.init(__webpack_share_scopes__.default);
|
|
20
|
+
const factory = await container.get(module);
|
|
21
|
+
semaphore[scope].release();
|
|
22
|
+
let ModuleMap = instances[`${scope}__${module}`];
|
|
23
|
+
let Module;
|
|
24
|
+
if (!ModuleMap) {
|
|
25
|
+
ModuleMap = {};
|
|
26
|
+
instances[`${scope}__${module}`] = ModuleMap;
|
|
27
|
+
}
|
|
28
|
+
if (Object.keys(ModuleMap).length > 0) {
|
|
29
|
+
const newModule = factory();
|
|
30
|
+
Module = ModuleMap[`${newModule.default.buildEnv}__${newModule.default.appVersion}`];
|
|
31
|
+
if (!Module) {
|
|
32
|
+
Module = newModule;
|
|
33
|
+
ModuleMap[`${newModule.default.buildEnv}__${newModule.default.appVersion}`] = newModule;
|
|
90
34
|
}
|
|
91
|
-
}
|
|
92
|
-
|
|
35
|
+
} else {
|
|
36
|
+
Module = factory();
|
|
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
|
+
};
|
|
93
55
|
}
|
|
@@ -1,97 +1,50 @@
|
|
|
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
|
-
|
|
5
|
-
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
6
|
-
|
|
7
|
-
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
8
|
-
|
|
9
|
-
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
10
|
-
|
|
11
|
-
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
12
|
-
|
|
13
|
-
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
|
14
|
-
|
|
15
|
-
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
16
|
-
|
|
17
1
|
import React, { useEffect } from 'react';
|
|
18
2
|
import Semaphore from 'semaphore-async-await';
|
|
19
|
-
export
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
ready = _React$useState2[0],
|
|
25
|
-
setReady = _React$useState2[1];
|
|
26
|
-
|
|
27
|
-
var _React$useState3 = React.useState(false),
|
|
28
|
-
_React$useState4 = _slicedToArray(_React$useState3, 2),
|
|
29
|
-
failed = _React$useState4[0],
|
|
30
|
-
setFailed = _React$useState4[1];
|
|
31
|
-
|
|
32
|
-
useEffect(function () {
|
|
3
|
+
export const semaphore = {};
|
|
4
|
+
const useDynamicScript = args => {
|
|
5
|
+
const [ready, setReady] = React.useState(false);
|
|
6
|
+
const [failed, setFailed] = React.useState(false);
|
|
7
|
+
useEffect(() => {
|
|
33
8
|
if (!args.url) {
|
|
34
9
|
return undefined;
|
|
35
10
|
}
|
|
36
|
-
|
|
37
|
-
var element = document.createElement('script');
|
|
11
|
+
const element = document.createElement('script');
|
|
38
12
|
element.src = args.url;
|
|
39
13
|
element.type = 'text/javascript';
|
|
40
14
|
element.async = true;
|
|
41
15
|
setReady(false);
|
|
42
16
|
setFailed(false);
|
|
43
|
-
|
|
44
17
|
if (!(args.scope in semaphore)) {
|
|
45
18
|
semaphore[args.scope] = new Semaphore(1);
|
|
46
19
|
}
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
};
|
|
67
|
-
|
|
68
|
-
element.onerror = function () {
|
|
69
|
-
setReady(false);
|
|
70
|
-
setFailed(true);
|
|
71
|
-
};
|
|
72
|
-
|
|
73
|
-
document.head.appendChild(element);
|
|
74
|
-
|
|
75
|
-
case 5:
|
|
76
|
-
case "end":
|
|
77
|
-
return _context.stop();
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
}, _callee);
|
|
81
|
-
}))();
|
|
82
|
-
|
|
83
|
-
return function () {
|
|
20
|
+
(async () => {
|
|
21
|
+
await semaphore[args.scope].acquire();
|
|
22
|
+
element.onload = () => {
|
|
23
|
+
setReady(true);
|
|
24
|
+
const listKey = args.scope + "_list";
|
|
25
|
+
if (!window[listKey]) window[listKey] = [];
|
|
26
|
+
window[listKey].push({
|
|
27
|
+
url: args.url,
|
|
28
|
+
container: window[args.scope]
|
|
29
|
+
});
|
|
30
|
+
window[args.scope] = null;
|
|
31
|
+
};
|
|
32
|
+
element.onerror = () => {
|
|
33
|
+
setReady(false);
|
|
34
|
+
setFailed(true);
|
|
35
|
+
};
|
|
36
|
+
document.head.appendChild(element);
|
|
37
|
+
})();
|
|
38
|
+
return () => {
|
|
84
39
|
semaphore[args.scope].release();
|
|
85
|
-
|
|
86
40
|
if (document.head.contains(element)) {
|
|
87
41
|
document.head.removeChild(element);
|
|
88
42
|
}
|
|
89
43
|
};
|
|
90
44
|
}, [args.url]);
|
|
91
45
|
return {
|
|
92
|
-
ready
|
|
93
|
-
failed
|
|
46
|
+
ready,
|
|
47
|
+
failed
|
|
94
48
|
};
|
|
95
49
|
};
|
|
96
|
-
|
|
97
50
|
export default useDynamicScript;
|