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.
Files changed (205) hide show
  1. package/dist/cjs/bootstrap.js +11 -0
  2. package/dist/cjs/calls/abstractApiListener.js +40 -0
  3. package/dist/cjs/calls/apiEventListener.js +40 -0
  4. package/dist/cjs/calls/dialogs/alert.js +2 -0
  5. package/dist/cjs/calls/dialogs/chaynsDialog.js +8 -2
  6. package/dist/cjs/calls/dialogs/close.js +2 -0
  7. package/dist/cjs/calls/dialogs/communication.js +16 -1
  8. package/dist/cjs/calls/dialogs/confirm.js +4 -0
  9. package/dist/cjs/calls/dialogs/date.js +53 -36
  10. package/dist/cjs/calls/dialogs/dropUpAlert.js +3 -0
  11. package/dist/cjs/calls/dialogs/fileSelect.js +10 -0
  12. package/dist/cjs/calls/dialogs/iFrame.js +8 -0
  13. package/dist/cjs/calls/dialogs/index.js +27 -0
  14. package/dist/cjs/calls/dialogs/input.js +6 -0
  15. package/dist/cjs/calls/dialogs/mediaSelect.js +7 -0
  16. package/dist/cjs/calls/dialogs/open.js +2 -0
  17. package/dist/cjs/calls/dialogs/select.js +9 -0
  18. package/dist/cjs/calls/dialogs/signature.js +5 -0
  19. package/dist/cjs/calls/dialogs/toast.js +3 -0
  20. package/dist/cjs/calls/dialogs/utils/callback.js +2 -0
  21. package/dist/cjs/calls/dialogs/utils/is.js +4 -0
  22. package/dist/cjs/calls/getUserInfo.js +11 -0
  23. package/dist/cjs/calls/index.js +155 -3
  24. package/dist/cjs/calls/sendMessage.js +26 -0
  25. package/dist/cjs/calls/setVisibilityChangeListener.js +1 -0
  26. package/dist/cjs/calls/visibilityChangeListener.js +12 -1
  27. package/dist/cjs/calls/windowMetricsListener.js +18 -0
  28. package/dist/cjs/components/App.js +32 -0
  29. package/dist/cjs/components/App.spec.js +16 -0
  30. package/dist/cjs/components/Button.js +32 -0
  31. package/dist/cjs/components/ChaynsContext.js +4 -2
  32. package/dist/cjs/components/ChaynsProvider.js +28 -6
  33. package/dist/cjs/components/ChaynsProviderExposed.js +16 -0
  34. package/dist/cjs/components/TestProvider.js +236 -0
  35. package/dist/cjs/components/Title.js +162 -0
  36. package/dist/cjs/components/WaitUntil.js +5 -0
  37. package/dist/cjs/components/withCompatMode.js +16 -1
  38. package/dist/cjs/functions/addApiListener.js +37 -0
  39. package/dist/cjs/functions/addGeoLocationListener.js +26 -0
  40. package/dist/cjs/functions/addScrollListener.js +26 -0
  41. package/dist/cjs/functions/addWindowMetricsListener.js +37 -0
  42. package/dist/cjs/helper/apiListenerHelper.js +9 -0
  43. package/dist/cjs/helper/cssLoader.js +28 -0
  44. package/dist/cjs/hooks/addGeoLocationListener.js +26 -0
  45. package/dist/cjs/hooks/addScrollListener.js +26 -0
  46. package/dist/cjs/hooks/addWindowMetricsListener.js +37 -0
  47. package/dist/cjs/hooks/geoLocation.js +48 -0
  48. package/dist/cjs/hooks/geoLocationListener.js +11 -2
  49. package/dist/cjs/hooks/index.js +16 -0
  50. package/dist/cjs/hooks/scrollListener.js +23 -4
  51. package/dist/cjs/hooks/useAccessToken.js +5 -0
  52. package/dist/cjs/hooks/useAddGeoLocationListener.js +26 -0
  53. package/dist/cjs/hooks/useAddScrollListener.js +48 -0
  54. package/dist/cjs/hooks/useAddWindowMetricsListener.js +45 -0
  55. package/dist/cjs/hooks/useAdddScrollListener.js +26 -0
  56. package/dist/cjs/hooks/useCurrentPage.js +4 -0
  57. package/dist/cjs/hooks/useCustomData.js +4 -0
  58. package/dist/cjs/hooks/useDevice.js +4 -0
  59. package/dist/cjs/hooks/useEnvironment.js +4 -0
  60. package/dist/cjs/hooks/useFunctions.js +4 -0
  61. package/dist/cjs/hooks/useIsAdminMode.js +5 -0
  62. package/dist/cjs/hooks/useLanguage.js +4 -0
  63. package/dist/cjs/hooks/usePages.js +12 -0
  64. package/dist/cjs/hooks/useParameters.js +4 -0
  65. package/dist/cjs/hooks/useSite.js +4 -0
  66. package/dist/cjs/hooks/useUser.js +4 -0
  67. package/dist/cjs/hooks/useValues.js +4 -0
  68. package/dist/cjs/hooks/windowMetrics.js +45 -0
  69. package/dist/cjs/hooks/windowMetricsListener.js +12 -2
  70. package/dist/cjs/host/ChaynsHost.js +12 -0
  71. package/dist/cjs/host/{module/PagemakerFrame.js → HostIframe.js} +75 -23
  72. package/dist/cjs/host/ModuleHost.js +11 -0
  73. package/dist/cjs/host/iframe/HostIframe.js +30 -23
  74. package/dist/cjs/host/iframe/utils/useUpdateData.js +3 -0
  75. package/dist/cjs/host/module/ModuleHost.js +13 -3
  76. package/dist/cjs/host/module/utils/loadComponent.js +18 -1
  77. package/dist/cjs/host/module/utils/useDynamicScript.js +18 -0
  78. package/dist/cjs/host/module/utils.js +25 -0
  79. package/dist/cjs/index.example.js +7 -0
  80. package/dist/cjs/index.js +19 -0
  81. package/dist/cjs/index2.js +64 -0
  82. package/dist/cjs/types/DynamicImport.d.js +5 -0
  83. package/dist/cjs/types/IChaynsReact.js +47 -0
  84. package/dist/cjs/types/chayns-components.d.js +1 -0
  85. package/dist/cjs/types/chayns-logger.d.js +1 -0
  86. package/dist/cjs/types/chayns.d.js +1 -0
  87. package/dist/cjs/types/tobit-websocket-service-client.d.js +1 -0
  88. package/dist/cjs/types/toolkit-types.d.js +1 -0
  89. package/dist/cjs/util/appCall.js +4 -1
  90. package/dist/cjs/util/deviceHelper.js +17 -2
  91. package/dist/cjs/util/heightHelper.js +9 -0
  92. package/dist/cjs/util/postIframeForm.js +5 -0
  93. package/dist/cjs/util/useFunctionsContext.js +16 -0
  94. package/dist/cjs/util/useIsAdminMode.js +18 -0
  95. package/dist/cjs/util/useUser.js +16 -0
  96. package/dist/cjs/wrapper/AppWrapper.js +144 -119
  97. package/dist/cjs/wrapper/FrameWrapper.js +248 -215
  98. package/dist/cjs/wrapper/ModuleFederationWrapper.js +27 -2
  99. package/dist/cjs/wrapper/SsrWrapper.js +8 -0
  100. package/dist/esm/bootstrap.js +4 -0
  101. package/dist/esm/calls/dialogs/alert.js +4 -4
  102. package/dist/esm/calls/dialogs/chaynsDialog.js +11 -7
  103. package/dist/esm/calls/dialogs/communication.js +26 -15
  104. package/dist/esm/calls/dialogs/confirm.js +8 -5
  105. package/dist/esm/calls/dialogs/date.js +94 -85
  106. package/dist/esm/calls/dialogs/dropUpAlert.js +1 -1
  107. package/dist/esm/calls/dialogs/fileSelect.js +62 -23
  108. package/dist/esm/calls/dialogs/iFrame.js +10 -7
  109. package/dist/esm/calls/dialogs/input.js +5 -2
  110. package/dist/esm/calls/dialogs/mediaSelect.js +55 -18
  111. package/dist/esm/calls/dialogs/open.js +2 -2
  112. package/dist/esm/calls/dialogs/select.js +9 -5
  113. package/dist/esm/calls/dialogs/signature.js +2 -0
  114. package/dist/esm/calls/dialogs/toast.js +11 -6
  115. package/dist/esm/calls/dialogs/utils/callback.js +5 -3
  116. package/dist/esm/calls/dialogs/utils/is.js +3 -1
  117. package/dist/esm/calls/getUserInfo.js +92 -32
  118. package/dist/esm/calls/index.js +276 -124
  119. package/dist/esm/calls/sendMessage.js +221 -91
  120. package/dist/esm/calls/visibilityChangeListener.js +15 -10
  121. package/dist/esm/components/App.js +35 -0
  122. package/dist/esm/components/App.spec.js +9 -0
  123. package/dist/esm/components/Button.js +34 -0
  124. package/dist/esm/components/ChaynsContext.js +3 -3
  125. package/dist/esm/components/ChaynsProvider.js +86 -45
  126. package/dist/esm/components/ChaynsProviderExposed.js +3 -0
  127. package/dist/esm/components/TestProvider.js +308 -0
  128. package/dist/esm/components/Title.js +210 -0
  129. package/dist/esm/components/WaitUntil.js +86 -21
  130. package/dist/esm/components/withCompatMode.js +77 -35
  131. package/dist/esm/helper/apiListenerHelper.js +15 -10
  132. package/dist/esm/helper/cssLoader.js +21 -0
  133. package/dist/esm/hooks/geoLocationListener.js +46 -20
  134. package/dist/esm/hooks/scrollListener.js +86 -50
  135. package/dist/esm/hooks/useAccessToken.js +28 -6
  136. package/dist/esm/hooks/useAddGeoLocationListener.js +18 -0
  137. package/dist/esm/hooks/useAddScrollListener.js +18 -0
  138. package/dist/esm/hooks/useAddWindowMetricsListener.js +18 -0
  139. package/dist/esm/hooks/useCurrentPage.js +6 -2
  140. package/dist/esm/hooks/useCustomData.js +6 -2
  141. package/dist/esm/hooks/useDevice.js +6 -1
  142. package/dist/esm/hooks/useEnvironment.js +6 -1
  143. package/dist/esm/hooks/useFunctions.js +5 -2
  144. package/dist/esm/hooks/useIsAdminMode.js +6 -2
  145. package/dist/esm/hooks/useLanguage.js +6 -1
  146. package/dist/esm/hooks/usePages.js +27 -14
  147. package/dist/esm/hooks/useParameters.js +6 -1
  148. package/dist/esm/hooks/useSite.js +6 -1
  149. package/dist/esm/hooks/useUser.js +6 -1
  150. package/dist/esm/hooks/useValues.js +5 -2
  151. package/dist/esm/hooks/windowMetricsListener.js +44 -18
  152. package/dist/esm/host/ChaynsHost.js +30 -21
  153. package/dist/esm/host/HostIframe.js +153 -0
  154. package/dist/esm/host/iframe/HostIframe.js +142 -86
  155. package/dist/esm/host/iframe/utils/useUpdateData.js +6 -4
  156. package/dist/esm/host/module/ModuleHost.js +49 -42
  157. package/dist/esm/host/module/utils/loadComponent.js +85 -47
  158. package/dist/esm/host/module/utils/useDynamicScript.js +74 -27
  159. package/dist/esm/index.example.js +1 -0
  160. package/dist/esm/index2.js +5 -0
  161. package/dist/esm/types/DynamicImport.d.js +1 -0
  162. package/dist/esm/types/IChaynsReact.js +61 -14
  163. package/dist/esm/types/chayns-components.d.js +0 -0
  164. package/dist/esm/types/chayns-logger.d.js +0 -0
  165. package/dist/esm/types/chayns.d.js +0 -0
  166. package/dist/esm/types/tobit-websocket-service-client.d.js +0 -0
  167. package/dist/esm/types/toolkit-types.d.js +0 -0
  168. package/dist/esm/util/appCall.js +4 -2
  169. package/dist/esm/util/deviceHelper.js +33 -11
  170. package/dist/esm/util/heightHelper.js +13 -10
  171. package/dist/esm/util/postIframeForm.js +57 -25
  172. package/dist/esm/util/useIsAdminMode.js +9 -0
  173. package/dist/esm/util/useUser.js +7 -0
  174. package/dist/esm/wrapper/AppWrapper.js +762 -179
  175. package/dist/esm/wrapper/FrameWrapper.js +1509 -258
  176. package/dist/esm/wrapper/ModuleFederationWrapper.js +284 -47
  177. package/dist/esm/wrapper/SsrWrapper.js +65 -19
  178. package/dist/types/bootstrap.d.ts +1 -0
  179. package/dist/types/calls/dialogs/confirm.d.ts +1 -1
  180. package/dist/types/calls/dialogs/date.d.ts +4 -4
  181. package/dist/types/calls/dialogs/dropUpAlert.d.ts +1 -1
  182. package/dist/types/calls/dialogs/fileSelect.d.ts +1 -1
  183. package/dist/types/calls/dialogs/iFrame.d.ts +1 -1
  184. package/dist/types/calls/dialogs/input.d.ts +1 -1
  185. package/dist/types/calls/dialogs/mediaSelect.d.ts +1 -1
  186. package/dist/types/calls/dialogs/signature.d.ts +1 -1
  187. package/dist/types/components/App.d.ts +5 -0
  188. package/dist/types/components/Button.d.ts +8 -0
  189. package/dist/types/components/ChaynsProvider.d.ts +1 -1
  190. package/dist/types/components/ChaynsProviderExposed.d.ts +13 -0
  191. package/dist/types/components/Title.d.ts +3 -0
  192. package/dist/types/components/WaitUntil.d.ts +1 -1
  193. package/dist/types/components/withCompatMode.d.ts +1 -1
  194. package/dist/types/hooks/useAccessToken.d.ts +1 -1
  195. package/dist/types/host/ChaynsHost.d.ts +2 -1
  196. package/dist/types/host/{module/PagemakerFrame.d.ts → HostIframe.d.ts} +5 -7
  197. package/dist/types/host/iframe/HostIframe.d.ts +1 -1
  198. package/dist/types/host/module/ModuleHost.d.ts +2 -2
  199. package/dist/types/index.example.d.ts +0 -0
  200. package/dist/types/types/IChaynsReact.d.ts +14 -14
  201. package/package.json +1 -1
  202. package/dist/cjs/calls/dialogs/utils/environment.js +0 -10
  203. package/dist/esm/calls/dialogs/utils/environment.js +0 -3
  204. package/dist/esm/host/module/PagemakerFrame.js +0 -97
  205. package/dist/types/calls/dialogs/utils/environment.d.ts +0 -3
@@ -4,243 +4,268 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.FrameWrapper = void 0;
7
+
7
8
  var comlink = _interopRequireWildcard(require("comlink"));
9
+
8
10
  var _visibilityChangeListener = require("../calls/visibilityChangeListener");
11
+
9
12
  var _apiListenerHelper = require("../helper/apiListenerHelper");
13
+
10
14
  var _getUserInfo = _interopRequireDefault(require("../calls/getUserInfo"));
15
+
11
16
  var _sendMessage = require("../calls/sendMessage");
17
+
12
18
  var _heightHelper = require("../util/heightHelper");
19
+
13
20
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
+
14
22
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
23
+
15
24
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
16
- /* eslint-disable @typescript-eslint/no-non-null-assertion */
25
+
26
+ 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; }
17
27
 
18
28
  class FrameWrapper {
19
- resolve = null;
20
- exposedFunctions = null;
21
- resizeListener = null;
22
- ready = new Promise(res => {
23
- this.resolve = res;
24
- });
25
- values = null;
26
- functions = {
27
- addGeoLocationListener: async (value, callback) => {
28
- if (!this.initialized) await this.ready;
29
- return this.exposedFunctions.addGeoLocationListener(value, callback && comlink.proxy(result => callback(result)));
30
- },
31
- addScrollListener: async (value, callback) => {
32
- if (!this.initialized) await this.ready;
33
- return this.exposedFunctions.addScrollListener(value, callback && comlink.proxy(result => callback(result)));
34
- },
35
- addVisibilityChangeListener: async callback => (0, _visibilityChangeListener.addVisibilityChangeListener)(callback),
36
- addWindowMetricsListener: async callback => {
37
- if (!this.initialized) await this.ready;
38
- const {
39
- id,
40
- shouldInitialize
41
- } = (0, _apiListenerHelper.addApiListener)('windowMetricsListener', callback);
42
- if (shouldInitialize) {
43
- void this.exposedFunctions.addWindowMetricsListener(comlink.proxy(result => {
44
- (0, _apiListenerHelper.dispatchApiEvent)('windowMetricsListener', result);
29
+ constructor() {
30
+ _defineProperty(this, "resolve", null);
31
+
32
+ _defineProperty(this, "exposedFunctions", null);
33
+
34
+ _defineProperty(this, "resizeListener", null);
35
+
36
+ _defineProperty(this, "ready", new Promise(res => {
37
+ this.resolve = res;
38
+ }));
39
+
40
+ _defineProperty(this, "values", null);
41
+
42
+ _defineProperty(this, "functions", {
43
+ addGeoLocationListener: async (value, callback) => {
44
+ if (!this.initialized) await this.ready;
45
+ return this.exposedFunctions.addGeoLocationListener(value, callback && comlink.proxy(result => callback(result)));
46
+ },
47
+ addScrollListener: async (value, callback) => {
48
+ if (!this.initialized) await this.ready;
49
+ return this.exposedFunctions.addScrollListener(value, callback && comlink.proxy(result => callback(result)));
50
+ },
51
+ addVisibilityChangeListener: async callback => (0, _visibilityChangeListener.addVisibilityChangeListener)(callback),
52
+ addWindowMetricsListener: async callback => {
53
+ if (!this.initialized) await this.ready;
54
+ const {
55
+ id,
56
+ shouldInitialize
57
+ } = (0, _apiListenerHelper.addApiListener)('windowMetricsListener', callback);
58
+
59
+ if (shouldInitialize) {
60
+ void this.exposedFunctions.addWindowMetricsListener(comlink.proxy(result => {
61
+ (0, _apiListenerHelper.dispatchApiEvent)('windowMetricsListener', result);
62
+ }));
63
+ window.addEventListener('resize', this.resizeListener = () => {
64
+ void (async () => {
65
+ const metrics = await this.exposedFunctions.getWindowMetrics();
66
+ (0, _apiListenerHelper.dispatchApiEvent)('windowMetricsListener', metrics);
67
+ })();
68
+ });
69
+ }
70
+
71
+ return id;
72
+ },
73
+ customCallbackFunction: async (type, data) => {
74
+ if (!this.initialized) await this.ready;
75
+ return this.exposedFunctions.customCallbackFunction(type, data);
76
+ },
77
+ getAvailableSharingServices: async () => {
78
+ if (!this.initialized) await this.ready;
79
+ return this.exposedFunctions.getAvailableSharingServices();
80
+ },
81
+ getAccessToken: async accessToken => {
82
+ if (!this.initialized) await this.ready;
83
+ return this.exposedFunctions.getAccessToken(accessToken);
84
+ },
85
+ getGeoLocation: async value => {
86
+ if (!this.initialized) await this.ready;
87
+ return this.exposedFunctions.getGeoLocation(value);
88
+ },
89
+ getUserInfo: async query => {
90
+ if (!this.initialized) await this.ready;
91
+ return (0, _getUserInfo.default)(this, query);
92
+ },
93
+ getScrollPosition: async () => {
94
+ if (!this.initialized) await this.ready;
95
+ return this.exposedFunctions.getScrollPosition();
96
+ },
97
+ getWindowMetrics: async () => {
98
+ if (!this.initialized) await this.ready;
99
+ return this.exposedFunctions.getWindowMetrics();
100
+ },
101
+ invokeCall: async (value, callback) => {
102
+ if (!this.initialized) await this.ready;
103
+ return this.exposedFunctions.invokeCall(value, callback && comlink.proxy(result => callback(result)));
104
+ },
105
+ invokeDialogCall: async (value, callback) => {
106
+ if (!this.initialized) await this.ready;
107
+ return this.exposedFunctions.invokeDialogCall(value, callback && comlink.proxy(result => callback(result)));
108
+ },
109
+ login: async (value, callback, closeCallback) => {
110
+ if (!this.initialized) await this.ready;
111
+ return this.exposedFunctions.login(value, callback && comlink.proxy(result => callback(result)), closeCallback && comlink.proxy(() => closeCallback()));
112
+ },
113
+ logout: async () => {
114
+ if (!this.initialized) await this.ready;
115
+ return this.exposedFunctions.logout();
116
+ },
117
+ navigateBack: async () => {
118
+ if (!this.initialized) await this.ready;
119
+ return this.exposedFunctions.navigateBack();
120
+ },
121
+ openImage: async value => {
122
+ if (!this.initialized) await this.ready;
123
+ return this.exposedFunctions.openImage(value);
124
+ },
125
+ openUrl: async value => {
126
+ if (!this.initialized) await this.ready;
127
+ return this.exposedFunctions.openUrl(value);
128
+ },
129
+ openVideo: async value => {
130
+ if (!this.initialized) await this.ready;
131
+ return this.exposedFunctions.openVideo(value);
132
+ },
133
+ refreshAccessToken: async () => {
134
+ if (!this.initialized) await this.ready;
135
+ return this.exposedFunctions.refreshAccessToken();
136
+ },
137
+ refreshData: async value => {
138
+ if (!this.initialized) await this.ready;
139
+ return this.exposedFunctions.refreshData(value);
140
+ },
141
+ removeGeoLocationListener: async id => {
142
+ if (!this.initialized) await this.ready;
143
+ return this.exposedFunctions.removeGeoLocationListener(id);
144
+ },
145
+ removeScrollListener: async id => {
146
+ if (!this.initialized) await this.ready;
147
+ return this.exposedFunctions.removeScrollListener(id);
148
+ },
149
+
150
+ removeVisibilityChangeListener(number) {
151
+ (0, _visibilityChangeListener.removeVisibilityChangeListener)(number);
152
+ return Promise.resolve();
153
+ },
154
+
155
+ removeWindowMetricsListener: async id => {
156
+ if (!this.initialized) await this.ready;
157
+ const shouldRemove = (0, _apiListenerHelper.removeApiListener)('windowMetricsListener', id);
158
+
159
+ if (shouldRemove) {
160
+ void this.exposedFunctions.removeWindowMetricsListener(id);
161
+ if (this.resizeListener) window.removeEventListener('resize', this.resizeListener);
162
+ this.resizeListener = null;
163
+ }
164
+ },
165
+ selectPage: async options => {
166
+ if (!this.initialized) await this.ready;
167
+ await this.exposedFunctions.selectPage(options);
168
+ },
169
+ scrollToY: async (position, duration) => {
170
+ if (!this.initialized) await this.ready;
171
+ await this.exposedFunctions.scrollToY(position, duration);
172
+ },
173
+ sendMessageToGroup: async (groupId, message) => {
174
+ if (!this.initialized) await this.ready;
175
+ return (0, _sendMessage.sendMessageToGroup)(this, message, groupId);
176
+ },
177
+ sendMessageToPage: async message => {
178
+ if (!this.initialized) await this.ready;
179
+ return (0, _sendMessage.sendMessageToPage)(this, message);
180
+ },
181
+ sendMessageToUser: async (userId, message) => {
182
+ if (!this.initialized) await this.ready;
183
+ return (0, _sendMessage.sendMessageToUser)(this, message, userId);
184
+ },
185
+ setAdminMode: async enabled => {
186
+ if (!this.initialized) await this.ready;
187
+ return this.exposedFunctions.setAdminMode(enabled);
188
+ },
189
+ setDisplayTimeout: async value => {
190
+ if (!this.initialized) await this.ready;
191
+ return this.exposedFunctions.setDisplayTimeout(value);
192
+ },
193
+ setFloatingButton: async (value, callback) => {
194
+ var _value$items;
195
+
196
+ if (!this.initialized) await this.ready;
197
+ value.items = (_value$items = value.items) !== null && _value$items !== void 0 ? _value$items : [];
198
+ const itemClickFunctions = value.items.map(x => x.onClick);
199
+ value.items = value.items.map(x => ({ ...x,
200
+ onClick: undefined
45
201
  }));
46
- window.addEventListener('resize', this.resizeListener = () => {
47
- void (async () => {
48
- const metrics = await this.exposedFunctions.getWindowMetrics();
49
- (0, _apiListenerHelper.dispatchApiEvent)('windowMetricsListener', metrics);
50
- })();
202
+ const cb = callback && comlink.proxy(data => {
203
+ if (data !== null && data !== void 0 && data.item && itemClickFunctions[data.index]) {
204
+ itemClickFunctions[data.index]();
205
+ } else {
206
+ callback();
207
+ }
208
+ }); // @ts-ignore
209
+
210
+ return this.exposedFunctions.setFloatingButton(value, cb);
211
+ },
212
+ setHeight: async value => {
213
+ if (!this.initialized) await this.ready;
214
+ return this.exposedFunctions.setHeight(value);
215
+ },
216
+ setOverlay: async (value, callback) => {
217
+ if (!this.initialized) await this.ready;
218
+ return this.exposedFunctions.setOverlay(value, callback && comlink.proxy(() => callback()));
219
+ },
220
+ setRefreshScrollEnabled: async enabled => {
221
+ if (!this.initialized) await this.ready;
222
+ return this.exposedFunctions.setRefreshScrollEnabled(enabled);
223
+ },
224
+ setScanQrCode: async value => {
225
+ if (!this.initialized) await this.ready;
226
+ return this.exposedFunctions.setScanQrCode(value !== null && value !== void 0 ? value : {
227
+ cancel: false
51
228
  });
229
+ },
230
+ setTempDesignSettings: async value => {
231
+ if (!this.initialized) await this.ready;
232
+ return this.exposedFunctions.setTempDesignSettings(value);
233
+ },
234
+ setWaitCursor: async value => {
235
+ if (!this.initialized) await this.ready;
236
+ return this.exposedFunctions.setWaitCursor(value);
237
+ },
238
+ storageGetItem: async (key, accessMode) => {
239
+ if (!this.initialized) await this.ready;
240
+ return this.exposedFunctions.storageGetItem(key, accessMode);
241
+ },
242
+ storageRemoveItem: async (key, accessMode) => {
243
+ if (!this.initialized) await this.ready;
244
+ return this.exposedFunctions.storageRemoveItem(key, accessMode);
245
+ },
246
+ storageSetItem: async (key, value, accessMode, tappIds) => {
247
+ if (!this.initialized) await this.ready;
248
+ return this.exposedFunctions.storageSetItem(key, value, accessMode, tappIds);
249
+ },
250
+ vibrate: async value => {
251
+ if (!this.initialized) await this.ready;
252
+ return this.exposedFunctions.vibrate(value);
52
253
  }
53
- return id;
54
- },
55
- customCallbackFunction: async (type, data) => {
56
- if (!this.initialized) await this.ready;
57
- return this.exposedFunctions.customCallbackFunction(type, data);
58
- },
59
- getAvailableSharingServices: async () => {
60
- if (!this.initialized) await this.ready;
61
- return this.exposedFunctions.getAvailableSharingServices();
62
- },
63
- getAccessToken: async accessToken => {
64
- if (!this.initialized) await this.ready;
65
- return this.exposedFunctions.getAccessToken(accessToken);
66
- },
67
- getGeoLocation: async value => {
68
- if (!this.initialized) await this.ready;
69
- return this.exposedFunctions.getGeoLocation(value);
70
- },
71
- getUserInfo: async query => {
72
- if (!this.initialized) await this.ready;
73
- return (0, _getUserInfo.default)(this, query);
74
- },
75
- getScrollPosition: async () => {
76
- if (!this.initialized) await this.ready;
77
- return this.exposedFunctions.getScrollPosition();
78
- },
79
- getWindowMetrics: async () => {
80
- if (!this.initialized) await this.ready;
81
- return this.exposedFunctions.getWindowMetrics();
82
- },
83
- invokeCall: async (value, callback) => {
84
- if (!this.initialized) await this.ready;
85
- return this.exposedFunctions.invokeCall(value, callback && comlink.proxy(result => callback(result)));
86
- },
87
- invokeDialogCall: async (value, callback) => {
88
- if (!this.initialized) await this.ready;
89
- return this.exposedFunctions.invokeDialogCall(value, callback && comlink.proxy(result => callback(result)));
90
- },
91
- login: async (value, callback, closeCallback) => {
92
- if (!this.initialized) await this.ready;
93
- return this.exposedFunctions.login(value, callback && comlink.proxy(result => callback(result)), closeCallback && comlink.proxy(() => closeCallback()));
94
- },
95
- logout: async () => {
96
- if (!this.initialized) await this.ready;
97
- return this.exposedFunctions.logout();
98
- },
99
- navigateBack: async () => {
100
- if (!this.initialized) await this.ready;
101
- return this.exposedFunctions.navigateBack();
102
- },
103
- openImage: async value => {
104
- if (!this.initialized) await this.ready;
105
- return this.exposedFunctions.openImage(value);
106
- },
107
- openUrl: async value => {
108
- if (!this.initialized) await this.ready;
109
- return this.exposedFunctions.openUrl(value);
110
- },
111
- openVideo: async value => {
112
- if (!this.initialized) await this.ready;
113
- return this.exposedFunctions.openVideo(value);
114
- },
115
- refreshAccessToken: async () => {
116
- if (!this.initialized) await this.ready;
117
- return this.exposedFunctions.refreshAccessToken();
118
- },
119
- refreshData: async value => {
120
- if (!this.initialized) await this.ready;
121
- return this.exposedFunctions.refreshData(value);
122
- },
123
- removeGeoLocationListener: async id => {
124
- if (!this.initialized) await this.ready;
125
- return this.exposedFunctions.removeGeoLocationListener(id);
126
- },
127
- removeScrollListener: async id => {
128
- if (!this.initialized) await this.ready;
129
- return this.exposedFunctions.removeScrollListener(id);
130
- },
131
- removeVisibilityChangeListener(number) {
132
- (0, _visibilityChangeListener.removeVisibilityChangeListener)(number);
133
- return Promise.resolve();
134
- },
135
- removeWindowMetricsListener: async id => {
136
- if (!this.initialized) await this.ready;
137
- const shouldRemove = (0, _apiListenerHelper.removeApiListener)('windowMetricsListener', id);
138
- if (shouldRemove) {
139
- void this.exposedFunctions.removeWindowMetricsListener(id);
140
- if (this.resizeListener) window.removeEventListener('resize', this.resizeListener);
141
- this.resizeListener = null;
142
- }
143
- },
144
- selectPage: async options => {
145
- if (!this.initialized) await this.ready;
146
- await this.exposedFunctions.selectPage(options);
147
- },
148
- scrollToY: async (position, duration) => {
149
- if (!this.initialized) await this.ready;
150
- await this.exposedFunctions.scrollToY(position, duration);
151
- },
152
- sendMessageToGroup: async (groupId, message) => {
153
- if (!this.initialized) await this.ready;
154
- return (0, _sendMessage.sendMessageToGroup)(this, message, groupId);
155
- },
156
- sendMessageToPage: async message => {
157
- if (!this.initialized) await this.ready;
158
- return (0, _sendMessage.sendMessageToPage)(this, message);
159
- },
160
- sendMessageToUser: async (userId, message) => {
161
- if (!this.initialized) await this.ready;
162
- return (0, _sendMessage.sendMessageToUser)(this, message, userId);
163
- },
164
- setAdminMode: async enabled => {
165
- if (!this.initialized) await this.ready;
166
- return this.exposedFunctions.setAdminMode(enabled);
167
- },
168
- setDisplayTimeout: async value => {
169
- if (!this.initialized) await this.ready;
170
- return this.exposedFunctions.setDisplayTimeout(value);
171
- },
172
- setFloatingButton: async (value, callback) => {
173
- var _value$items;
174
- if (!this.initialized) await this.ready;
175
- value.items = (_value$items = value.items) !== null && _value$items !== void 0 ? _value$items : [];
176
- const itemClickFunctions = value.items.map(x => x.onClick);
177
- value.items = value.items.map(x => ({
178
- ...x,
179
- onClick: undefined
180
- }));
181
- const cb = callback && comlink.proxy(data => {
182
- if (data !== null && data !== void 0 && data.item && itemClickFunctions[data.index]) {
183
- itemClickFunctions[data.index]();
184
- } else {
185
- callback();
186
- }
187
- });
188
- // @ts-ignore
189
- return this.exposedFunctions.setFloatingButton(value, cb);
190
- },
191
- setHeight: async value => {
192
- if (!this.initialized) await this.ready;
193
- return this.exposedFunctions.setHeight(value);
194
- },
195
- setOverlay: async (value, callback) => {
196
- if (!this.initialized) await this.ready;
197
- return this.exposedFunctions.setOverlay(value, callback && comlink.proxy(() => callback()));
198
- },
199
- setRefreshScrollEnabled: async enabled => {
200
- if (!this.initialized) await this.ready;
201
- return this.exposedFunctions.setRefreshScrollEnabled(enabled);
202
- },
203
- setScanQrCode: async value => {
204
- if (!this.initialized) await this.ready;
205
- return this.exposedFunctions.setScanQrCode(value !== null && value !== void 0 ? value : {
206
- cancel: false
207
- });
208
- },
209
- setTempDesignSettings: async value => {
210
- if (!this.initialized) await this.ready;
211
- return this.exposedFunctions.setTempDesignSettings(value);
212
- },
213
- setWaitCursor: async value => {
214
- if (!this.initialized) await this.ready;
215
- return this.exposedFunctions.setWaitCursor(value);
216
- },
217
- storageGetItem: async (key, accessMode) => {
218
- if (!this.initialized) await this.ready;
219
- return this.exposedFunctions.storageGetItem(key, accessMode);
220
- },
221
- storageRemoveItem: async (key, accessMode) => {
222
- if (!this.initialized) await this.ready;
223
- return this.exposedFunctions.storageRemoveItem(key, accessMode);
224
- },
225
- storageSetItem: async (key, value, accessMode, tappIds) => {
226
- if (!this.initialized) await this.ready;
227
- return this.exposedFunctions.storageSetItem(key, value, accessMode, tappIds);
228
- },
229
- vibrate: async value => {
230
- if (!this.initialized) await this.ready;
231
- return this.exposedFunctions.vibrate(value);
232
- }
233
- };
234
- initialized = false;
235
- constructor() {
254
+ });
255
+
256
+ _defineProperty(this, "initialized", false);
257
+
236
258
  const initialDataTag = document.querySelector('#__CHAYNS_DATA__');
259
+
237
260
  if (initialDataTag) {
238
261
  this.values = JSON.parse(initialDataTag.innerHTML);
239
262
  }
240
263
  }
264
+
241
265
  async init() {
242
266
  if (this.initialized) return;
243
267
  const exposed = comlink.wrap(comlink.windowEndpoint(window.parent))[window.name];
268
+
244
269
  const dataListener = () => exposed.addDataListener(comlink.proxy(({
245
270
  type,
246
271
  value
@@ -248,6 +273,7 @@ class FrameWrapper {
248
273
  if (this.initialized) {
249
274
  this.values[type] = value;
250
275
  }
276
+
251
277
  this.values[type] = value;
252
278
  document.dispatchEvent(new CustomEvent('chayns_api_data', {
253
279
  detail: {
@@ -256,6 +282,7 @@ class FrameWrapper {
256
282
  }
257
283
  }));
258
284
  }));
285
+
259
286
  let hostReadyCallback = null;
260
287
  await Promise.race([dataListener(), new Promise(resolve => {
261
288
  window.addEventListener('message', hostReadyCallback = ev => {
@@ -271,18 +298,24 @@ class FrameWrapper {
271
298
  this.resolve(null);
272
299
  (0, _heightHelper.setTappHeight)(this.functions.setHeight);
273
300
  }
301
+
274
302
  addDataListener(cb) {
275
303
  const listener = ev => ev.detail && cb(ev.detail);
304
+
276
305
  document.addEventListener('chayns_api_data', listener);
277
306
  return () => {
278
307
  document.removeEventListener('chayns_api_data', listener);
279
308
  };
280
309
  }
310
+
281
311
  getSSRData() {
282
312
  return null;
283
313
  }
314
+
284
315
  getInitialData() {
285
316
  return this.values;
286
317
  }
318
+
287
319
  }
320
+
288
321
  exports.FrameWrapper = FrameWrapper;
@@ -4,58 +4,83 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.ModuleFederationWrapper = void 0;
7
+
7
8
  var _visibilityChangeListener = require("../calls/visibilityChangeListener");
9
+
8
10
  var _apiListenerHelper = require("../helper/apiListenerHelper");
11
+
9
12
  var _getUserInfo = _interopRequireDefault(require("../calls/getUserInfo"));
13
+
10
14
  var _sendMessage = require("../calls/sendMessage");
15
+
11
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
+
12
18
  class ModuleFederationWrapper {
13
19
  constructor(values, functions) {
14
20
  this.values = values;
15
21
  this.functions = {};
22
+
16
23
  this.functions.addVisibilityChangeListener = async callback => (0, _visibilityChangeListener.addVisibilityChangeListener)(callback);
24
+
17
25
  this.functions.removeVisibilityChangeListener = async id => (0, _visibilityChangeListener.removeVisibilityChangeListener)(id);
26
+
18
27
  this.functions.getUserInfo = async query => (0, _getUserInfo.default)(this, query);
28
+
19
29
  this.functions.sendMessageToGroup = async (groupId, object) => (0, _sendMessage.sendMessageToGroup)(this, object, groupId);
30
+
20
31
  this.functions.sendMessageToPage = async object => (0, _sendMessage.sendMessageToPage)(this, object);
21
- this.functions.sendMessageToUser = async (userId, object) => (0, _sendMessage.sendMessageToUser)(this, object, userId);
22
- // make all functions async to be consistent with frame wrapper
32
+
33
+ this.functions.sendMessageToUser = async (userId, object) => (0, _sendMessage.sendMessageToUser)(this, object, userId); // make all functions async to be consistent with frame wrapper
34
+
35
+
23
36
  Object.entries(functions).forEach(([k, fn]) => {
24
37
  // eslint-disable-next-line
25
38
  this.functions[k] = async (...args) => fn(...args);
26
39
  });
40
+
27
41
  this.functions.addWindowMetricsListener = async callback => {
28
42
  const {
29
43
  id,
30
44
  shouldInitialize
31
45
  } = (0, _apiListenerHelper.addApiListener)('windowMetrics', callback);
46
+
32
47
  if (shouldInitialize) {
33
48
  void functions.addWindowMetricsListener(value => (0, _apiListenerHelper.dispatchApiEvent)('windowMetrics', value));
34
49
  }
50
+
35
51
  return id;
36
52
  };
53
+
37
54
  this.functions.removeWindowMetricsListener = async id => {
38
55
  const shouldRemove = (0, _apiListenerHelper.removeApiListener)('windowMetrics', id);
56
+
39
57
  if (shouldRemove) {
40
58
  void functions.removeWindowMetricsListener(id);
41
59
  }
42
60
  };
43
61
  }
62
+
44
63
  async init() {
45
64
  return undefined;
46
65
  }
66
+
47
67
  addDataListener(cb) {
48
68
  const listener = ev => ev.detail && cb(ev.detail);
69
+
49
70
  document.addEventListener('chayns_api_data', listener);
50
71
  return () => {
51
72
  document.removeEventListener('chayns_api_data', listener);
52
73
  };
53
74
  }
75
+
54
76
  getSSRData() {
55
77
  return null;
56
78
  }
79
+
57
80
  getInitialData() {
58
81
  return this.values;
59
82
  }
83
+
60
84
  }
85
+
61
86
  exports.ModuleFederationWrapper = ModuleFederationWrapper;
@@ -4,27 +4,35 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.SsrWrapper = void 0;
7
+
7
8
  class SsrWrapper {
8
9
  constructor(values, functions) {
9
10
  this.initialData = values;
10
11
  this.values = values;
11
12
  this.functions = functions;
12
13
  }
14
+
13
15
  async init() {
14
16
  return undefined;
15
17
  }
18
+
16
19
  addDataListener(cb) {
17
20
  const listener = ev => ev.detail && cb(ev.detail);
21
+
18
22
  document.addEventListener('chayns_api_data', listener);
19
23
  return () => {
20
24
  document.removeEventListener('chayns_api_data', listener);
21
25
  };
22
26
  }
27
+
23
28
  getSSRData() {
24
29
  return this.initialData;
25
30
  }
31
+
26
32
  getInitialData() {
27
33
  return this.values;
28
34
  }
35
+
29
36
  }
37
+
30
38
  exports.SsrWrapper = SsrWrapper;
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import ReactDOM from 'react-dom';
3
+ import App from './components/App';
4
+ ReactDOM.render( /*#__PURE__*/React.createElement(App, null), document.querySelector('#root'));
@@ -1,11 +1,11 @@
1
1
  import { buttonText, buttonType, chaynsDialog } from './chaynsDialog';
2
2
  export function alert() {
3
- let title = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
4
- let message = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
3
+ var title = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
4
+ var message = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
5
5
  return chaynsDialog({
6
6
  'dialog': {
7
- title,
8
- message,
7
+ title: title,
8
+ message: message,
9
9
  'buttons': [{
10
10
  'text': buttonText.OK,
11
11
  'buttonType': buttonType.POSITIVE