@equinor/fusion-framework-module-widget 2.0.10 → 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 +82 -70
  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 +4 -1
  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,166 +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
+
3
15
  ## 2.0.10
4
16
 
5
17
  ### Patch Changes
6
18
 
7
- - Updated dependencies [[`152cf73`](https://github.com/equinor/fusion-framework/commit/152cf73d39eb32ccbaddaa6941e315c437c4972d)]:
8
- - @equinor/fusion-framework-module@4.2.7
9
- - @equinor/fusion-framework-module-event@4.0.8
10
- - @equinor/fusion-framework-module-http@5.1.6
11
- - @equinor/fusion-framework-module-service-discovery@7.0.20
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
12
24
 
13
25
  ## 2.0.9
14
26
 
15
27
  ### Patch Changes
16
28
 
17
- - Updated dependencies []:
18
- - @equinor/fusion-query@4.0.6
19
- - @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
20
32
 
21
33
  ## 2.0.8
22
34
 
23
35
  ### Patch Changes
24
36
 
25
- - Updated dependencies []:
26
- - @equinor/fusion-framework-module-http@5.1.5
27
- - @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
28
40
 
29
41
  ## 2.0.7
30
42
 
31
43
  ### Patch Changes
32
44
 
33
- - Updated dependencies [[`1e4ba77`](https://github.com/equinor/fusion-framework/commit/1e4ba7707d3ce5cfd9c8d6673f760523aa47a45e)]:
34
- - @equinor/fusion-framework-module-http@5.1.4
35
- - @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
36
48
 
37
49
  ## 2.0.6
38
50
 
39
51
  ### Patch Changes
40
52
 
41
- - Updated dependencies [[`0af3540`](https://github.com/equinor/fusion-framework/commit/0af3540340bac85a19ca3a8ec4e0ccd42b3090ee)]:
42
- - @equinor/fusion-framework-module-http@5.1.3
43
- - @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
44
56
 
45
57
  ## 2.0.5
46
58
 
47
59
  ### Patch Changes
48
60
 
49
- - Updated dependencies []:
50
- - @equinor/fusion-query@4.0.5
51
- - @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
52
64
 
53
65
  ## 2.0.4
54
66
 
55
67
  ### Patch Changes
56
68
 
57
- - [#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
58
70
 
59
- - Updated dependencies [[`9c24e84`](https://github.com/equinor/fusion-framework/commit/9c24e847d041dea8384c77439e6b237f5bdb3125)]:
60
- - @equinor/fusion-framework-module-service-discovery@7.0.14
61
- - @equinor/fusion-framework-module@4.2.6
62
- - @equinor/fusion-framework-module-http@5.1.2
63
- - @equinor/fusion-query@4.0.4
64
- - @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
65
77
 
66
78
  ## 2.0.3
67
79
 
68
80
  ### Patch Changes
69
81
 
70
- - Updated dependencies [[`446b63ce`](https://github.com/equinor/fusion-framework/commit/446b63ce44b59a3aaab4399c0d877d3a1b560a0e)]:
71
- - @equinor/fusion-query@4.0.3
72
- - @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
73
85
 
74
86
  ## 2.0.2
75
87
 
76
88
  ### Patch Changes
77
89
 
78
- - Updated dependencies [[`7ad31761`](https://github.com/equinor/fusion-framework/commit/7ad3176102f92da108b67ede6fdf29b76149bed9)]:
79
- - @equinor/fusion-query@4.0.2
80
- - @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
81
93
 
82
94
  ## 2.0.1
83
95
 
84
96
  ### Patch Changes
85
97
 
86
- - [`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
87
99
 
88
- - Updated dependencies [[`b5dfe5d2`](https://github.com/equinor/fusion-framework/commit/b5dfe5d29a249e0cca6c9589322931dfedd06acc)]:
89
- - @equinor/fusion-framework-module-event@4.0.6
90
- - @equinor/fusion-framework-module-http@5.1.1
91
- - @equinor/fusion-framework-module@4.2.5
92
- - @equinor/fusion-framework-module-service-discovery@7.0.11
93
- - @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
94
106
 
95
107
  ## 2.0.0
96
108
 
97
109
  ### Patch Changes
98
110
 
99
- - 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)]:
100
- - @equinor/fusion-framework-module-http@5.1.0
101
- - @equinor/fusion-query@4.0.0
102
- - @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
103
115
 
104
116
  ## 1.0.9
105
117
 
106
118
  ### Patch Changes
107
119
 
108
- - Updated dependencies [[`e539e606`](https://github.com/equinor/fusion-framework/commit/e539e606d04bd8b7dc0c0bfed7cd4a7731996936)]:
109
- - @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
110
122
 
111
123
  ## 1.0.8
112
124
 
113
125
  ### Patch Changes
114
126
 
115
- - Updated dependencies [[`9076a498`](https://github.com/equinor/fusion-framework/commit/9076a49876e7a414a27557b7fb9095a67fe3a57f)]:
116
- - @equinor/fusion-framework-module@4.2.4
117
- - @equinor/fusion-query@3.0.7
118
- - @equinor/fusion-framework-module-event@4.0.5
119
- - @equinor/fusion-framework-module-http@5.0.6
120
- - @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
121
133
 
122
134
  ## 1.0.7
123
135
 
124
136
  ### Patch Changes
125
137
 
126
- - Updated dependencies [[`066d843c`](https://github.com/equinor/fusion-framework/commit/066d843c88cb974150f23f4fb9e7d0b066c93594)]:
127
- - @equinor/fusion-query@3.0.6
128
- - @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
129
141
 
130
142
  ## 1.0.6
131
143
 
132
144
  ### Patch Changes
133
145
 
134
- - [#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
135
147
 
136
- conflicts of `@types/react` made random outcomes when using `yarn`
148
+ conflicts of `@types/react` made random outcomes when using `yarn`
137
149
 
138
- 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.
139
151
 
140
- - [#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)
141
153
 
142
- - 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)]:
143
- - @equinor/fusion-framework-module-service-discovery@7.0.6
144
- - @equinor/fusion-framework-module@4.2.3
145
- - @equinor/fusion-framework-module-event@4.0.4
146
- - @equinor/fusion-framework-module-http@5.0.5
147
- - @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
148
160
 
149
161
  ## 1.0.5
150
162
 
151
163
  ### Patch Changes
152
164
 
153
- - [#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
154
166
 
155
167
  ## 1.0.4
156
168
 
157
169
  ### Patch Changes
158
170
 
159
- - [#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**
160
172
 
161
- - align all versions of typescript
162
- - update types to build
163
- - 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
164
176
 
165
177
  All notable changes to this project will be documented in this file.
166
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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"}