@equinor/fusion-framework-module-widget 2.0.9 → 3.0.0

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 (66) hide show
  1. package/CHANGELOG.md +87 -65
  2. package/dist/esm/Widget.js +255 -0
  3. package/dist/esm/Widget.js.map +1 -0
  4. package/dist/esm/WidgetModuleConfigurator.js +39 -73
  5. package/dist/esm/WidgetModuleConfigurator.js.map +1 -1
  6. package/dist/esm/WidgetModuleProvider.js +85 -17
  7. package/dist/esm/WidgetModuleProvider.js.map +1 -1
  8. package/dist/esm/enable-widget-module.js +8 -2
  9. package/dist/esm/enable-widget-module.js.map +1 -1
  10. package/dist/esm/errors.js +22 -4
  11. package/dist/esm/errors.js.map +1 -1
  12. package/dist/esm/events.js +2 -0
  13. package/dist/esm/events.js.map +1 -0
  14. package/dist/esm/index.js +1 -1
  15. package/dist/esm/index.js.map +1 -1
  16. package/dist/esm/module.js +5 -2
  17. package/dist/esm/module.js.map +1 -1
  18. package/dist/esm/state/actions.js +31 -0
  19. package/dist/esm/state/actions.js.map +1 -0
  20. package/dist/esm/state/create-reducer.js +32 -0
  21. package/dist/esm/state/create-reducer.js.map +1 -0
  22. package/dist/esm/state/create-state.js +12 -0
  23. package/dist/esm/state/create-state.js.map +1 -0
  24. package/dist/esm/state/flows.js +21 -0
  25. package/dist/esm/state/flows.js.map +1 -0
  26. package/dist/esm/utils.js +43 -0
  27. package/dist/esm/utils.js.map +1 -0
  28. package/dist/esm/version.js +2 -1
  29. package/dist/esm/version.js.map +1 -1
  30. package/dist/tsconfig.tsbuildinfo +1 -1
  31. package/dist/types/Widget.d.ts +78 -0
  32. package/dist/types/WidgetModuleConfigurator.d.ts +27 -27
  33. package/dist/types/WidgetModuleProvider.d.ts +44 -5
  34. package/dist/types/enable-widget-module.d.ts +5 -1
  35. package/dist/types/errors.d.ts +7 -2
  36. package/dist/types/events.d.ts +54 -0
  37. package/dist/types/index.d.ts +1 -1
  38. package/dist/types/module.d.ts +3 -3
  39. package/dist/types/state/actions.d.ts +92 -0
  40. package/dist/types/state/create-reducer.d.ts +3 -0
  41. package/dist/types/state/create-state.d.ts +5 -0
  42. package/dist/types/state/flows.d.ts +7 -0
  43. package/dist/types/types.d.ts +81 -5
  44. package/dist/types/utils.d.ts +5 -0
  45. package/dist/types/version.d.ts +1 -1
  46. package/package.json +12 -9
  47. package/src/Widget.ts +324 -0
  48. package/src/WidgetModuleConfigurator.ts +48 -118
  49. package/src/WidgetModuleProvider.ts +110 -22
  50. package/src/enable-widget-module.ts +2 -2
  51. package/src/errors.ts +38 -4
  52. package/src/events.ts +75 -0
  53. package/src/index.ts +1 -5
  54. package/src/module.ts +8 -5
  55. package/src/state/actions.ts +70 -0
  56. package/src/state/create-reducer.ts +44 -0
  57. package/src/state/create-state.ts +21 -0
  58. package/src/state/flows.ts +75 -0
  59. package/src/types.ts +89 -9
  60. package/src/utils.ts +51 -0
  61. package/src/version.ts +1 -1
  62. package/tsconfig.json +1 -3
  63. package/dist/esm/WidgetModuleConfigBuilder.js +0 -42
  64. package/dist/esm/WidgetModuleConfigBuilder.js.map +0 -1
  65. package/dist/types/WidgetModuleConfigBuilder.d.ts +0 -19
  66. package/src/WidgetModuleConfigBuilder.ts +0 -70
package/CHANGELOG.md CHANGED
@@ -1,156 +1,178 @@
1
1
  # Change Log
2
2
 
3
+ ## 3.0.0
4
+
5
+ ### Major Changes
6
+
7
+ - [#1746](https://github.com/equinor/fusion-framework/pull/1746) [`7a70bfb`](https://github.com/equinor/fusion-framework/commit/7a70bfb6674c5cf8624ce090e318239a41c8fb86) Thanks [@Noggling](https://github.com/Noggling)! - Widget has had a complete makeover all from the loading Component to the Module itself.
8
+ - adding events to widget module some include `onWidgetInitialized` , `onWidgetInitializeFailure` and `onWidgetScriptLoaded` and more.
9
+ - Enabling for multiple widget loading.
10
+ - Complex overhaul on the widget configuration utilizing th new BaseConfigBuilder class.
11
+ - Now able to configure baseImport url and widgetClient
12
+ - New widget component for loading of widgets
13
+ - Updated documentation
14
+
15
+ ## 2.0.10
16
+
17
+ ### Patch Changes
18
+
19
+ - Updated dependencies [[`152cf73`](https://github.com/equinor/fusion-framework/commit/152cf73d39eb32ccbaddaa6941e315c437c4972d)]:
20
+ - @equinor/fusion-framework-module@4.2.7
21
+ - @equinor/fusion-framework-module-event@4.0.8
22
+ - @equinor/fusion-framework-module-http@5.1.6
23
+ - @equinor/fusion-framework-module-service-discovery@7.0.20
24
+
3
25
  ## 2.0.9
4
26
 
5
27
  ### Patch Changes
6
28
 
7
- - Updated dependencies []:
8
- - @equinor/fusion-query@4.0.6
9
- - @equinor/fusion-framework-module-service-discovery@7.0.19
29
+ - Updated dependencies []:
30
+ - @equinor/fusion-query@4.0.6
31
+ - @equinor/fusion-framework-module-service-discovery@7.0.19
10
32
 
11
33
  ## 2.0.8
12
34
 
13
35
  ### Patch Changes
14
36
 
15
- - Updated dependencies []:
16
- - @equinor/fusion-framework-module-http@5.1.5
17
- - @equinor/fusion-framework-module-service-discovery@7.0.18
37
+ - Updated dependencies []:
38
+ - @equinor/fusion-framework-module-http@5.1.5
39
+ - @equinor/fusion-framework-module-service-discovery@7.0.18
18
40
 
19
41
  ## 2.0.7
20
42
 
21
43
  ### Patch Changes
22
44
 
23
- - Updated dependencies [[`1e4ba77`](https://github.com/equinor/fusion-framework/commit/1e4ba7707d3ce5cfd9c8d6673f760523aa47a45e)]:
24
- - @equinor/fusion-framework-module-http@5.1.4
25
- - @equinor/fusion-framework-module-service-discovery@7.0.17
45
+ - Updated dependencies [[`1e4ba77`](https://github.com/equinor/fusion-framework/commit/1e4ba7707d3ce5cfd9c8d6673f760523aa47a45e)]:
46
+ - @equinor/fusion-framework-module-http@5.1.4
47
+ - @equinor/fusion-framework-module-service-discovery@7.0.17
26
48
 
27
49
  ## 2.0.6
28
50
 
29
51
  ### Patch Changes
30
52
 
31
- - Updated dependencies [[`0af3540`](https://github.com/equinor/fusion-framework/commit/0af3540340bac85a19ca3a8ec4e0ccd42b3090ee)]:
32
- - @equinor/fusion-framework-module-http@5.1.3
33
- - @equinor/fusion-framework-module-service-discovery@7.0.16
53
+ - Updated dependencies [[`0af3540`](https://github.com/equinor/fusion-framework/commit/0af3540340bac85a19ca3a8ec4e0ccd42b3090ee)]:
54
+ - @equinor/fusion-framework-module-http@5.1.3
55
+ - @equinor/fusion-framework-module-service-discovery@7.0.16
34
56
 
35
57
  ## 2.0.5
36
58
 
37
59
  ### Patch Changes
38
60
 
39
- - Updated dependencies []:
40
- - @equinor/fusion-query@4.0.5
41
- - @equinor/fusion-framework-module-service-discovery@7.0.15
61
+ - Updated dependencies []:
62
+ - @equinor/fusion-query@4.0.5
63
+ - @equinor/fusion-framework-module-service-discovery@7.0.15
42
64
 
43
65
  ## 2.0.4
44
66
 
45
67
  ### Patch Changes
46
68
 
47
- - [#1595](https://github.com/equinor/fusion-framework/pull/1595) [`9c24e84`](https://github.com/equinor/fusion-framework/commit/9c24e847d041dea8384c77439e6b237f5bdb3125) Thanks [@Gustav-Eikaas](https://github.com/Gustav-Eikaas)! - support for module resolution NodeNext & Bundler
69
+ - [#1595](https://github.com/equinor/fusion-framework/pull/1595) [`9c24e84`](https://github.com/equinor/fusion-framework/commit/9c24e847d041dea8384c77439e6b237f5bdb3125) Thanks [@Gustav-Eikaas](https://github.com/Gustav-Eikaas)! - support for module resolution NodeNext & Bundler
48
70
 
49
- - Updated dependencies [[`9c24e84`](https://github.com/equinor/fusion-framework/commit/9c24e847d041dea8384c77439e6b237f5bdb3125)]:
50
- - @equinor/fusion-framework-module-service-discovery@7.0.14
51
- - @equinor/fusion-framework-module@4.2.6
52
- - @equinor/fusion-framework-module-http@5.1.2
53
- - @equinor/fusion-query@4.0.4
54
- - @equinor/fusion-framework-module-event@4.0.7
71
+ - Updated dependencies [[`9c24e84`](https://github.com/equinor/fusion-framework/commit/9c24e847d041dea8384c77439e6b237f5bdb3125)]:
72
+ - @equinor/fusion-framework-module-service-discovery@7.0.14
73
+ - @equinor/fusion-framework-module@4.2.6
74
+ - @equinor/fusion-framework-module-http@5.1.2
75
+ - @equinor/fusion-query@4.0.4
76
+ - @equinor/fusion-framework-module-event@4.0.7
55
77
 
56
78
  ## 2.0.3
57
79
 
58
80
  ### Patch Changes
59
81
 
60
- - Updated dependencies [[`446b63ce`](https://github.com/equinor/fusion-framework/commit/446b63ce44b59a3aaab4399c0d877d3a1b560a0e)]:
61
- - @equinor/fusion-query@4.0.3
62
- - @equinor/fusion-framework-module-service-discovery@7.0.13
82
+ - Updated dependencies [[`446b63ce`](https://github.com/equinor/fusion-framework/commit/446b63ce44b59a3aaab4399c0d877d3a1b560a0e)]:
83
+ - @equinor/fusion-query@4.0.3
84
+ - @equinor/fusion-framework-module-service-discovery@7.0.13
63
85
 
64
86
  ## 2.0.2
65
87
 
66
88
  ### Patch Changes
67
89
 
68
- - Updated dependencies [[`7ad31761`](https://github.com/equinor/fusion-framework/commit/7ad3176102f92da108b67ede6fdf29b76149bed9)]:
69
- - @equinor/fusion-query@4.0.2
70
- - @equinor/fusion-framework-module-service-discovery@7.0.12
90
+ - Updated dependencies [[`7ad31761`](https://github.com/equinor/fusion-framework/commit/7ad3176102f92da108b67ede6fdf29b76149bed9)]:
91
+ - @equinor/fusion-query@4.0.2
92
+ - @equinor/fusion-framework-module-service-discovery@7.0.12
71
93
 
72
94
  ## 2.0.1
73
95
 
74
96
  ### Patch Changes
75
97
 
76
- - [`b5dfe5d2`](https://github.com/equinor/fusion-framework/commit/b5dfe5d29a249e0cca6c9589322931dfedd06acc) Thanks [@odinr](https://github.com/odinr)! - force patch bump, realign missing snapshot
98
+ - [`b5dfe5d2`](https://github.com/equinor/fusion-framework/commit/b5dfe5d29a249e0cca6c9589322931dfedd06acc) Thanks [@odinr](https://github.com/odinr)! - force patch bump, realign missing snapshot
77
99
 
78
- - Updated dependencies [[`b5dfe5d2`](https://github.com/equinor/fusion-framework/commit/b5dfe5d29a249e0cca6c9589322931dfedd06acc)]:
79
- - @equinor/fusion-framework-module-event@4.0.6
80
- - @equinor/fusion-framework-module-http@5.1.1
81
- - @equinor/fusion-framework-module@4.2.5
82
- - @equinor/fusion-framework-module-service-discovery@7.0.11
83
- - @equinor/fusion-query@4.0.1
100
+ - Updated dependencies [[`b5dfe5d2`](https://github.com/equinor/fusion-framework/commit/b5dfe5d29a249e0cca6c9589322931dfedd06acc)]:
101
+ - @equinor/fusion-framework-module-event@4.0.6
102
+ - @equinor/fusion-framework-module-http@5.1.1
103
+ - @equinor/fusion-framework-module@4.2.5
104
+ - @equinor/fusion-framework-module-service-discovery@7.0.11
105
+ - @equinor/fusion-query@4.0.1
84
106
 
85
107
  ## 2.0.0
86
108
 
87
109
  ### Patch Changes
88
110
 
89
- - Updated dependencies [[`8e9e34a0`](https://github.com/equinor/fusion-framework/commit/8e9e34a06a6905d092ad8ca3f9330a3699da20fa), [`ebcabd0e`](https://github.com/equinor/fusion-framework/commit/ebcabd0e6945e1420a0a9a7d82bd9255da1b8578), [`8739a5a6`](https://github.com/equinor/fusion-framework/commit/8739a5a65d8aaa46ce9ef56cce013efeeb006e8a)]:
90
- - @equinor/fusion-framework-module-http@5.1.0
91
- - @equinor/fusion-query@4.0.0
92
- - @equinor/fusion-framework-module-service-discovery@7.0.10
111
+ - Updated dependencies [[`8e9e34a0`](https://github.com/equinor/fusion-framework/commit/8e9e34a06a6905d092ad8ca3f9330a3699da20fa), [`ebcabd0e`](https://github.com/equinor/fusion-framework/commit/ebcabd0e6945e1420a0a9a7d82bd9255da1b8578), [`8739a5a6`](https://github.com/equinor/fusion-framework/commit/8739a5a65d8aaa46ce9ef56cce013efeeb006e8a)]:
112
+ - @equinor/fusion-framework-module-http@5.1.0
113
+ - @equinor/fusion-query@4.0.0
114
+ - @equinor/fusion-framework-module-service-discovery@7.0.10
93
115
 
94
116
  ## 1.0.9
95
117
 
96
118
  ### Patch Changes
97
119
 
98
- - Updated dependencies [[`e539e606`](https://github.com/equinor/fusion-framework/commit/e539e606d04bd8b7dc0c0bfed7cd4a7731996936)]:
99
- - @equinor/fusion-framework-module-service-discovery@7.0.9
120
+ - Updated dependencies [[`e539e606`](https://github.com/equinor/fusion-framework/commit/e539e606d04bd8b7dc0c0bfed7cd4a7731996936)]:
121
+ - @equinor/fusion-framework-module-service-discovery@7.0.9
100
122
 
101
123
  ## 1.0.8
102
124
 
103
125
  ### Patch Changes
104
126
 
105
- - Updated dependencies [[`9076a498`](https://github.com/equinor/fusion-framework/commit/9076a49876e7a414a27557b7fb9095a67fe3a57f)]:
106
- - @equinor/fusion-framework-module@4.2.4
107
- - @equinor/fusion-query@3.0.7
108
- - @equinor/fusion-framework-module-event@4.0.5
109
- - @equinor/fusion-framework-module-http@5.0.6
110
- - @equinor/fusion-framework-module-service-discovery@7.0.8
127
+ - Updated dependencies [[`9076a498`](https://github.com/equinor/fusion-framework/commit/9076a49876e7a414a27557b7fb9095a67fe3a57f)]:
128
+ - @equinor/fusion-framework-module@4.2.4
129
+ - @equinor/fusion-query@3.0.7
130
+ - @equinor/fusion-framework-module-event@4.0.5
131
+ - @equinor/fusion-framework-module-http@5.0.6
132
+ - @equinor/fusion-framework-module-service-discovery@7.0.8
111
133
 
112
134
  ## 1.0.7
113
135
 
114
136
  ### Patch Changes
115
137
 
116
- - Updated dependencies [[`066d843c`](https://github.com/equinor/fusion-framework/commit/066d843c88cb974150f23f4fb9e7d0b066c93594)]:
117
- - @equinor/fusion-query@3.0.6
118
- - @equinor/fusion-framework-module-service-discovery@7.0.7
138
+ - Updated dependencies [[`066d843c`](https://github.com/equinor/fusion-framework/commit/066d843c88cb974150f23f4fb9e7d0b066c93594)]:
139
+ - @equinor/fusion-query@3.0.6
140
+ - @equinor/fusion-framework-module-service-discovery@7.0.7
119
141
 
120
142
  ## 1.0.6
121
143
 
122
144
  ### Patch Changes
123
145
 
124
- - [#1109](https://github.com/equinor/fusion-framework/pull/1109) [`7ec195d4`](https://github.com/equinor/fusion-framework/commit/7ec195d42098fec8794db13e83b71ef7753ff862) Thanks [@odinr](https://github.com/odinr)! - Change packaged manager from yarn to pnpm
146
+ - [#1109](https://github.com/equinor/fusion-framework/pull/1109) [`7ec195d4`](https://github.com/equinor/fusion-framework/commit/7ec195d42098fec8794db13e83b71ef7753ff862) Thanks [@odinr](https://github.com/odinr)! - Change packaged manager from yarn to pnpm
125
147
 
126
- conflicts of `@types/react` made random outcomes when using `yarn`
148
+ conflicts of `@types/react` made random outcomes when using `yarn`
127
149
 
128
- this change should not affect consumer of the packages, but might conflict dependent on local package manager.
150
+ this change should not affect consumer of the packages, but might conflict dependent on local package manager.
129
151
 
130
- - [#1145](https://github.com/equinor/fusion-framework/pull/1145) [`d276fc5d`](https://github.com/equinor/fusion-framework/commit/d276fc5d514566d05c64705076a1cb91c6a44272) Thanks [@dependabot](https://github.com/apps/dependabot)! - build(deps): bump rxjs from 7.5.7 to [7.8.1](https://github.com/ReactiveX/rxjs/blob/7.8.1/CHANGELOG.md)
152
+ - [#1145](https://github.com/equinor/fusion-framework/pull/1145) [`d276fc5d`](https://github.com/equinor/fusion-framework/commit/d276fc5d514566d05c64705076a1cb91c6a44272) Thanks [@dependabot](https://github.com/apps/dependabot)! - build(deps): bump rxjs from 7.5.7 to [7.8.1](https://github.com/ReactiveX/rxjs/blob/7.8.1/CHANGELOG.md)
131
153
 
132
- - Updated dependencies [[`7ec195d4`](https://github.com/equinor/fusion-framework/commit/7ec195d42098fec8794db13e83b71ef7753ff862), [`2dccccd1`](https://github.com/equinor/fusion-framework/commit/2dccccd124fbe3cdde2132c29c27d3da9fc6f1f5), [`d276fc5d`](https://github.com/equinor/fusion-framework/commit/d276fc5d514566d05c64705076a1cb91c6a44272), [`52d98701`](https://github.com/equinor/fusion-framework/commit/52d98701627e93c7284c0b9a5bfd8dab1da43bd3)]:
133
- - @equinor/fusion-framework-module-service-discovery@7.0.6
134
- - @equinor/fusion-framework-module@4.2.3
135
- - @equinor/fusion-framework-module-event@4.0.4
136
- - @equinor/fusion-framework-module-http@5.0.5
137
- - @equinor/fusion-query@3.0.5
154
+ - Updated dependencies [[`7ec195d4`](https://github.com/equinor/fusion-framework/commit/7ec195d42098fec8794db13e83b71ef7753ff862), [`2dccccd1`](https://github.com/equinor/fusion-framework/commit/2dccccd124fbe3cdde2132c29c27d3da9fc6f1f5), [`d276fc5d`](https://github.com/equinor/fusion-framework/commit/d276fc5d514566d05c64705076a1cb91c6a44272), [`52d98701`](https://github.com/equinor/fusion-framework/commit/52d98701627e93c7284c0b9a5bfd8dab1da43bd3)]:
155
+ - @equinor/fusion-framework-module-service-discovery@7.0.6
156
+ - @equinor/fusion-framework-module@4.2.3
157
+ - @equinor/fusion-framework-module-event@4.0.4
158
+ - @equinor/fusion-framework-module-http@5.0.5
159
+ - @equinor/fusion-query@3.0.5
138
160
 
139
161
  ## 1.0.5
140
162
 
141
163
  ### Patch Changes
142
164
 
143
- - [#946](https://github.com/equinor/fusion-framework/pull/946) [`5a160d88`](https://github.com/equinor/fusion-framework/commit/5a160d88981ddfe861d391cfefe10f54dda3d352) Thanks [@odinr](https://github.com/odinr)! - Build/update typescript to 5
165
+ - [#946](https://github.com/equinor/fusion-framework/pull/946) [`5a160d88`](https://github.com/equinor/fusion-framework/commit/5a160d88981ddfe861d391cfefe10f54dda3d352) Thanks [@odinr](https://github.com/odinr)! - Build/update typescript to 5
144
166
 
145
167
  ## 1.0.4
146
168
 
147
169
  ### Patch Changes
148
170
 
149
- - [#905](https://github.com/equinor/fusion-framework/pull/905) [`a7858a1c`](https://github.com/equinor/fusion-framework/commit/a7858a1c01542e2dc94370709f122b4b99c3219c) Thanks [@odinr](https://github.com/odinr)! - **🚧 Chore: dedupe packages**
171
+ - [#905](https://github.com/equinor/fusion-framework/pull/905) [`a7858a1c`](https://github.com/equinor/fusion-framework/commit/a7858a1c01542e2dc94370709f122b4b99c3219c) Thanks [@odinr](https://github.com/odinr)! - **🚧 Chore: dedupe packages**
150
172
 
151
- - align all versions of typescript
152
- - update types to build
153
- - a couple of typecasts did not [satisfies](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-5-0.html#satisfies-support-in-jsdoc) and was recasted as `unknwon`, marked with `TODO`, should be fixed in future
173
+ - align all versions of typescript
174
+ - update types to build
175
+ - a couple of typecasts did not [satisfies](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-5-0.html#satisfies-support-in-jsdoc) and was recasted as `unknwon`, marked with `TODO`, should be fixed in future
154
176
 
155
177
  All notable changes to this project will be documented in this file.
156
178
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
@@ -0,0 +1,255 @@
1
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
2
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
3
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
4
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
5
+ };
6
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
7
+ if (kind === "m") throw new TypeError("Private method is not writable");
8
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
9
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
10
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
11
+ };
12
+ var _Widget_instances, _Widget_state, _Widget_subscription, _Widget_registerEvents;
13
+ import { actions } from './state/actions';
14
+ import { createState } from './state/create-state';
15
+ import { Observable, Subscription, combineLatest, firstValueFrom, lastValueFrom, of } from 'rxjs';
16
+ import './events';
17
+ // Class representing a fusion widget
18
+ export class Widget {
19
+ // Getter for accessing the current state of the widget
20
+ get state() {
21
+ return __classPrivateFieldGet(this, _Widget_state, "f").value;
22
+ }
23
+ /**
24
+ * Constructs a new Widget instance.
25
+ * @param value - Initial state of the widget.
26
+ * @param args - Configuration and event parameters for the widget.
27
+ */
28
+ constructor(value, args) {
29
+ _Widget_instances.add(this);
30
+ _Widget_state.set(this, void 0);
31
+ _Widget_subscription.set(this, new Subscription());
32
+ this.name = value.name;
33
+ this.widgetPrams = args.widgetPrams;
34
+ this.config = args.config;
35
+ __classPrivateFieldSet(this, _Widget_state, createState(value, args.provider), "f");
36
+ args.event && __classPrivateFieldGet(this, _Widget_instances, "m", _Widget_registerEvents).call(this, args.event);
37
+ }
38
+ /**
39
+ * Retrieves the manifest of the widget as an observable stream.
40
+ * @param force_refresh - Flag to force refresh the manifest.
41
+ * @returns An observable stream of the widget manifest.
42
+ */
43
+ getManifest(force_refresh = false) {
44
+ return new Observable((subscriber) => {
45
+ if (__classPrivateFieldGet(this, _Widget_state, "f").value.manifest) {
46
+ subscriber.next(__classPrivateFieldGet(this, _Widget_state, "f").value.manifest);
47
+ if (!force_refresh) {
48
+ return subscriber.complete();
49
+ }
50
+ }
51
+ subscriber.add(__classPrivateFieldGet(this, _Widget_state, "f").addEffect('set_manifest', ({ payload }) => {
52
+ subscriber.next(payload);
53
+ }));
54
+ subscriber.add(__classPrivateFieldGet(this, _Widget_state, "f").addEffect('fetch_manifest::success', ({ payload }) => {
55
+ subscriber.next(payload);
56
+ subscriber.complete();
57
+ }));
58
+ subscriber.add(__classPrivateFieldGet(this, _Widget_state, "f").addEffect('fetch_manifest::failure', ({ payload }) => {
59
+ subscriber.error(Error('failed to load widget manifest', {
60
+ cause: payload,
61
+ }));
62
+ }));
63
+ this.loadManifest();
64
+ });
65
+ }
66
+ /**
67
+ * Retrieves the configuration of the widget as an observable stream.
68
+ * @param force_refresh - Flag to force refresh the configuration.
69
+ * @returns An observable stream of the widget configuration.
70
+ */
71
+ getConfig(force_refresh = false) {
72
+ return new Observable((subscriber) => {
73
+ if (__classPrivateFieldGet(this, _Widget_state, "f").value.manifest) {
74
+ subscriber.next(__classPrivateFieldGet(this, _Widget_state, "f").value.config);
75
+ if (!force_refresh) {
76
+ return subscriber.complete();
77
+ }
78
+ }
79
+ subscriber.add(__classPrivateFieldGet(this, _Widget_state, "f").addEffect('set_config', ({ payload }) => {
80
+ subscriber.next(payload);
81
+ }));
82
+ subscriber.add(__classPrivateFieldGet(this, _Widget_state, "f").addEffect('fetch_config::success', ({ payload }) => {
83
+ subscriber.next(payload);
84
+ subscriber.complete();
85
+ }));
86
+ subscriber.add(__classPrivateFieldGet(this, _Widget_state, "f").addEffect('fetch_config::failure', ({ payload }) => {
87
+ subscriber.error(Error('failed to load widget manifest', {
88
+ cause: payload,
89
+ }));
90
+ }));
91
+ this.loadConfig();
92
+ });
93
+ }
94
+ /**
95
+ * Loads the configuration for the widget.
96
+ * @param update - Flag to force an update of the configuration.
97
+ */
98
+ loadConfig(update) {
99
+ __classPrivateFieldGet(this, _Widget_state, "f").next(actions.fetchConfig(Object.assign({ key: this.name }, this.widgetPrams), update));
100
+ }
101
+ /**
102
+ * Loads the manifest for the widget.
103
+ * @param update - Flag to force an update of the manifest.
104
+ */
105
+ loadManifest(update) {
106
+ __classPrivateFieldGet(this, _Widget_state, "f").next(actions.fetchManifest(Object.assign({ key: this.name }, this.widgetPrams), update));
107
+ }
108
+ /**
109
+ * Retrieves the widget module as an observable stream.
110
+ * @param force_refresh - Flag to force refresh the widget module.
111
+ * @returns An observable stream of the widget module.
112
+ */
113
+ getWidgetModule(force_refresh = false) {
114
+ return new Observable((subscriber) => {
115
+ if (__classPrivateFieldGet(this, _Widget_state, "f").value.modules) {
116
+ subscriber.next(__classPrivateFieldGet(this, _Widget_state, "f").value.modules);
117
+ if (!force_refresh) {
118
+ return subscriber.complete();
119
+ }
120
+ }
121
+ subscriber.add(__classPrivateFieldGet(this, _Widget_state, "f").addEffect('set_module', ({ payload }) => {
122
+ subscriber.next(payload);
123
+ }));
124
+ subscriber.add(__classPrivateFieldGet(this, _Widget_state, "f").addEffect('import_widget::success', ({ payload }) => {
125
+ subscriber.next(payload);
126
+ subscriber.complete();
127
+ }));
128
+ subscriber.add(__classPrivateFieldGet(this, _Widget_state, "f").addEffect('import_widget::failure', ({ payload }) => {
129
+ subscriber.error(Error('failed to load widget modules from script', {
130
+ cause: payload,
131
+ }));
132
+ }));
133
+ subscriber.add(this.getManifest().subscribe((manifest) => {
134
+ var _a, _b, _c;
135
+ const path = manifest.assetPath
136
+ ? `${manifest.assetPath}/${manifest.entryPoint}?api-version=${(_a = this.config) === null || _a === void 0 ? void 0 : _a.client.apiVersion}`
137
+ : `${manifest.entryPoint}?api-version=${(_b = this.config) === null || _b === void 0 ? void 0 : _b.client.apiVersion}`;
138
+ const url = new URL(path, (_c = this.config) === null || _c === void 0 ? void 0 : _c.client.baseImportUrl);
139
+ return of(__classPrivateFieldGet(this, _Widget_state, "f").next(actions.importWidget(url.href)));
140
+ }));
141
+ });
142
+ }
143
+ /**
144
+ * Initializes the widget and returns an observable stream with the combined results.
145
+ * @returns An observable stream with the manifest, script, and configuration.
146
+ */
147
+ initialize() {
148
+ return new Observable((observer) => {
149
+ __classPrivateFieldGet(this, _Widget_state, "f").next(actions.initialize());
150
+ observer.add(combineLatest([
151
+ this.getManifest(),
152
+ this.getWidgetModule(),
153
+ // this.getConfig(),
154
+ ]).subscribe({
155
+ next: ([manifest, script]) => observer.next({
156
+ manifest,
157
+ script,
158
+ //Todo: uncomment the getConfig on line #273 and replace config when backend support widget config.
159
+ config: {
160
+ environment: {},
161
+ endpoints: {},
162
+ },
163
+ }),
164
+ error: (err) => {
165
+ observer.error(err), __classPrivateFieldGet(this, _Widget_state, "f").next(actions.initialize.failure(err));
166
+ },
167
+ complete: () => {
168
+ __classPrivateFieldGet(this, _Widget_state, "f").next(actions.initialize.success());
169
+ observer.complete();
170
+ },
171
+ }));
172
+ });
173
+ }
174
+ /**
175
+ * Retrieves the widget module asynchronously as a Promise.
176
+ * @param allow_cache - Flag to allow caching of the widget module.
177
+ * @returns A Promise containing the widget module.
178
+ */
179
+ getWidgetModuleAsync(allow_cache = true) {
180
+ const operator = allow_cache ? firstValueFrom : lastValueFrom;
181
+ return operator(this.getWidgetModule(!allow_cache));
182
+ }
183
+ /**
184
+ * Updates the manifest of the widget.
185
+ * @param manifest - The new manifest for the widget.
186
+ * @param replace - Flag to replace the existing manifest.
187
+ */
188
+ updateManifest(manifest, replace) {
189
+ __classPrivateFieldGet(this, _Widget_state, "f").next(actions.setManifest(manifest, !replace));
190
+ }
191
+ /**
192
+ * Disposes of the widget by unsubscribing from any active subscriptions.
193
+ */
194
+ dispose() {
195
+ __classPrivateFieldGet(this, _Widget_subscription, "f").unsubscribe();
196
+ }
197
+ }
198
+ _Widget_state = new WeakMap(), _Widget_subscription = new WeakMap(), _Widget_instances = new WeakSet(), _Widget_registerEvents = function _Widget_registerEvents(event) {
199
+ const { name } = this;
200
+ __classPrivateFieldGet(this, _Widget_state, "f").addEffect(actions.fetchManifest.type, () => {
201
+ event.dispatchEvent('onWidgetManifestLoad', {
202
+ detail: { name },
203
+ source: this,
204
+ });
205
+ });
206
+ __classPrivateFieldGet(this, _Widget_state, "f").addEffect(actions.fetchManifest.success.type, (action) => {
207
+ event.dispatchEvent('onWidgetManifestLoaded', {
208
+ detail: { name, manifest: action.payload },
209
+ source: this,
210
+ });
211
+ });
212
+ __classPrivateFieldGet(this, _Widget_state, "f").addEffect(actions.fetchManifest.failure.type, (action) => {
213
+ event.dispatchEvent('onWidgetManifestFailure', {
214
+ detail: { name, error: action.payload },
215
+ source: this,
216
+ });
217
+ });
218
+ __classPrivateFieldGet(this, _Widget_state, "f").addEffect(actions.importWidget.type, () => {
219
+ event.dispatchEvent('onWidgetScriptLoad', {
220
+ detail: { name },
221
+ source: this,
222
+ });
223
+ });
224
+ __classPrivateFieldGet(this, _Widget_state, "f").addEffect(actions.importWidget.success.type, (action) => {
225
+ event.dispatchEvent('onWidgetScriptLoaded', {
226
+ detail: { name, script: action.payload },
227
+ source: this,
228
+ });
229
+ });
230
+ __classPrivateFieldGet(this, _Widget_state, "f").addEffect(actions.importWidget.failure.type, (action) => {
231
+ event.dispatchEvent('onWidgetScriptFailure', {
232
+ detail: { name, error: action.payload },
233
+ source: this,
234
+ });
235
+ });
236
+ __classPrivateFieldGet(this, _Widget_state, "f").addEffect(actions.initialize.type, () => {
237
+ event.dispatchEvent('onWidgetInitialize', {
238
+ detail: { name },
239
+ source: this,
240
+ });
241
+ });
242
+ __classPrivateFieldGet(this, _Widget_state, "f").addEffect(actions.initialize.success.type, () => {
243
+ event.dispatchEvent('onWidgetInitialized', {
244
+ detail: { name },
245
+ source: this,
246
+ });
247
+ });
248
+ __classPrivateFieldGet(this, _Widget_state, "f").addEffect(actions.initialize.failure.type, ({ payload }) => {
249
+ event.dispatchEvent('onWidgetInitializeFailure', {
250
+ detail: { name, error: payload },
251
+ source: this,
252
+ });
253
+ });
254
+ };
255
+ //# sourceMappingURL=Widget.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Widget.js","sourceRoot":"","sources":["../../src/Widget.ts"],"names":[],"mappings":"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"}