@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.
- package/CHANGELOG.md +87 -65
- package/dist/esm/Widget.js +255 -0
- package/dist/esm/Widget.js.map +1 -0
- package/dist/esm/WidgetModuleConfigurator.js +39 -73
- package/dist/esm/WidgetModuleConfigurator.js.map +1 -1
- package/dist/esm/WidgetModuleProvider.js +85 -17
- package/dist/esm/WidgetModuleProvider.js.map +1 -1
- package/dist/esm/enable-widget-module.js +8 -2
- package/dist/esm/enable-widget-module.js.map +1 -1
- package/dist/esm/errors.js +22 -4
- package/dist/esm/errors.js.map +1 -1
- package/dist/esm/events.js +2 -0
- package/dist/esm/events.js.map +1 -0
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/module.js +5 -2
- package/dist/esm/module.js.map +1 -1
- package/dist/esm/state/actions.js +31 -0
- package/dist/esm/state/actions.js.map +1 -0
- package/dist/esm/state/create-reducer.js +32 -0
- package/dist/esm/state/create-reducer.js.map +1 -0
- package/dist/esm/state/create-state.js +12 -0
- package/dist/esm/state/create-state.js.map +1 -0
- package/dist/esm/state/flows.js +21 -0
- package/dist/esm/state/flows.js.map +1 -0
- package/dist/esm/utils.js +43 -0
- package/dist/esm/utils.js.map +1 -0
- package/dist/esm/version.js +2 -1
- package/dist/esm/version.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types/Widget.d.ts +78 -0
- package/dist/types/WidgetModuleConfigurator.d.ts +27 -27
- package/dist/types/WidgetModuleProvider.d.ts +44 -5
- package/dist/types/enable-widget-module.d.ts +5 -1
- package/dist/types/errors.d.ts +7 -2
- package/dist/types/events.d.ts +54 -0
- package/dist/types/index.d.ts +1 -1
- package/dist/types/module.d.ts +3 -3
- package/dist/types/state/actions.d.ts +92 -0
- package/dist/types/state/create-reducer.d.ts +3 -0
- package/dist/types/state/create-state.d.ts +5 -0
- package/dist/types/state/flows.d.ts +7 -0
- package/dist/types/types.d.ts +81 -5
- package/dist/types/utils.d.ts +5 -0
- package/dist/types/version.d.ts +1 -1
- package/package.json +12 -9
- package/src/Widget.ts +324 -0
- package/src/WidgetModuleConfigurator.ts +48 -118
- package/src/WidgetModuleProvider.ts +110 -22
- package/src/enable-widget-module.ts +2 -2
- package/src/errors.ts +38 -4
- package/src/events.ts +75 -0
- package/src/index.ts +1 -5
- package/src/module.ts +8 -5
- package/src/state/actions.ts +70 -0
- package/src/state/create-reducer.ts +44 -0
- package/src/state/create-state.ts +21 -0
- package/src/state/flows.ts +75 -0
- package/src/types.ts +89 -9
- package/src/utils.ts +51 -0
- package/src/version.ts +1 -1
- package/tsconfig.json +1 -3
- package/dist/esm/WidgetModuleConfigBuilder.js +0 -42
- package/dist/esm/WidgetModuleConfigBuilder.js.map +0 -1
- package/dist/types/WidgetModuleConfigBuilder.d.ts +0 -19
- package/src/WidgetModuleConfigBuilder.ts +0 -70
|
@@ -7,92 +7,58 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
7
7
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
8
|
});
|
|
9
9
|
};
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
18
|
-
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");
|
|
19
|
-
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
20
|
-
};
|
|
21
|
-
var _WidgetModuleConfigurator_configBuilders, _WidgetModuleConfigurator_apiVersion;
|
|
22
|
-
import { WidgetModuleConfigBuilder, } from './WidgetModuleConfigBuilder';
|
|
23
|
-
import { moduleKey } from './module';
|
|
24
|
-
const defaultEndpointBuilder = (params) => {
|
|
25
|
-
const { widgetKey, args } = params;
|
|
26
|
-
const { type, value } = args !== null && args !== void 0 ? args : {};
|
|
27
|
-
switch (type) {
|
|
28
|
-
case 'tag':
|
|
29
|
-
case 'version':
|
|
30
|
-
return `/widgets/${widgetKey}/versions/${value}`;
|
|
31
|
-
default:
|
|
32
|
-
return `/widgets/${widgetKey}`;
|
|
33
|
-
}
|
|
34
|
-
};
|
|
35
|
-
const widgetSelector = (args) => (response) => __awaiter(void 0, void 0, void 0, function* () {
|
|
36
|
-
const data = yield response.json();
|
|
37
|
-
return Object.assign(Object.assign({}, data), { importBundle: () => __awaiter(void 0, void 0, void 0, function* () {
|
|
38
|
-
return import(new URL(`${data.assetPath}/${data.entryPoint}?api-version=${args.apiVersion}`, args.uri).toString());
|
|
39
|
-
}) });
|
|
40
|
-
});
|
|
41
|
-
export class WidgetModuleConfigurator {
|
|
42
|
-
addConfigBuilder(init) {
|
|
43
|
-
__classPrivateFieldGet(this, _WidgetModuleConfigurator_configBuilders, "f").push(init);
|
|
44
|
-
}
|
|
45
|
-
constructor(apiVersion) {
|
|
10
|
+
import { BaseConfigBuilder } from '@equinor/fusion-framework-module';
|
|
11
|
+
import { createDefaultClient } from './utils';
|
|
12
|
+
// Class responsible for configuring the WidgetModule
|
|
13
|
+
export class WidgetModuleConfigurator extends BaseConfigBuilder {
|
|
14
|
+
constructor() {
|
|
15
|
+
super(...arguments);
|
|
16
|
+
// Default expiration time for configurations (1 minute)
|
|
46
17
|
this.defaultExpireTime = 1 * 60 * 1000;
|
|
47
|
-
_WidgetModuleConfigurator_configBuilders.set(this, []);
|
|
48
|
-
_WidgetModuleConfigurator_apiVersion.set(this, '1.0');
|
|
49
|
-
if (apiVersion) {
|
|
50
|
-
__classPrivateFieldSet(this, _WidgetModuleConfigurator_apiVersion, apiVersion, "f");
|
|
51
|
-
}
|
|
52
18
|
}
|
|
53
|
-
|
|
19
|
+
/**
|
|
20
|
+
* Set the client for the WidgetModule configuration.
|
|
21
|
+
* @param cb - Callback function to configure the client.
|
|
22
|
+
*/
|
|
23
|
+
setClient(cb) {
|
|
24
|
+
this._set('client', cb);
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Create an HTTP client based on the provided parameters.
|
|
28
|
+
* @param clientId - Identifier for the client.
|
|
29
|
+
* @param init - Configuration builder callback arguments.
|
|
30
|
+
* @returns An instance of the HTTP client.
|
|
31
|
+
*/
|
|
32
|
+
_createHttpClient(clientId, init) {
|
|
54
33
|
return __awaiter(this, void 0, void 0, function* () {
|
|
55
34
|
const http = yield init.requireInstance('http');
|
|
56
|
-
if (http.hasClient(
|
|
57
|
-
return http.createClient(
|
|
35
|
+
if (http.hasClient(clientId)) {
|
|
36
|
+
return http.createClient(clientId);
|
|
58
37
|
}
|
|
59
38
|
else {
|
|
39
|
+
/** load service discovery module */
|
|
60
40
|
const serviceDiscovery = yield init.requireInstance('serviceDiscovery');
|
|
61
|
-
|
|
62
|
-
return discoClient;
|
|
41
|
+
return yield serviceDiscovery.createClient(clientId);
|
|
63
42
|
}
|
|
64
43
|
});
|
|
65
44
|
}
|
|
66
|
-
|
|
67
|
-
|
|
45
|
+
/**
|
|
46
|
+
* Process the WidgetModule configuration and create an HTTP client if needed.
|
|
47
|
+
* @param config - Partial configuration for the WidgetModule.
|
|
48
|
+
* @param _init - Configuration builder callback arguments.
|
|
49
|
+
* @returns The processed WidgetModule configuration.
|
|
50
|
+
*/
|
|
51
|
+
_processConfig(config, _init) {
|
|
68
52
|
return __awaiter(this, void 0, void 0, function* () {
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
const httpClient = yield this._createHttpClient(init);
|
|
77
|
-
httpClient.requestHandler.setHeader('api-version', __classPrivateFieldGet(this, _WidgetModuleConfigurator_apiVersion, "f"));
|
|
78
|
-
return {
|
|
79
|
-
getWidget: {
|
|
80
|
-
client: {
|
|
81
|
-
fn: (args) => httpClient.json$(endpointBuilder(args), {
|
|
82
|
-
selector: widgetSelector({
|
|
83
|
-
apiVersion: __classPrivateFieldGet(this, _WidgetModuleConfigurator_apiVersion, "f"),
|
|
84
|
-
uri: httpClient.uri,
|
|
85
|
-
}),
|
|
86
|
-
}),
|
|
87
|
-
},
|
|
88
|
-
key: (args) => JSON.stringify(args),
|
|
89
|
-
expire: this.defaultExpireTime,
|
|
90
|
-
},
|
|
91
|
-
};
|
|
92
|
-
}))());
|
|
53
|
+
// Create an HTTP client using the specified client ID and initialization parameters
|
|
54
|
+
const httpClient = yield this._createHttpClient('apps', _init);
|
|
55
|
+
// If the configuration does not have a client, use the default client
|
|
56
|
+
if (!config.client) {
|
|
57
|
+
config.client = createDefaultClient(httpClient);
|
|
58
|
+
}
|
|
59
|
+
// Return the processed configuration as a WidgetModuleConfig object
|
|
93
60
|
return config;
|
|
94
61
|
});
|
|
95
62
|
}
|
|
96
63
|
}
|
|
97
|
-
_WidgetModuleConfigurator_configBuilders = new WeakMap(), _WidgetModuleConfigurator_apiVersion = new WeakMap();
|
|
98
64
|
//# sourceMappingURL=WidgetModuleConfigurator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WidgetModuleConfigurator.js","sourceRoot":"","sources":["../../src/WidgetModuleConfigurator.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"WidgetModuleConfigurator.js","sourceRoot":"","sources":["../../src/WidgetModuleConfigurator.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,iBAAiB,EAA8B,MAAM,kCAAkC,CAAC;AAEjG,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAa9C,qDAAqD;AACrD,MAAM,OAAO,wBAAyB,SAAQ,iBAAqC;IAAnF;;QACI,wDAAwD;QACxD,sBAAiB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;IAgDtC,CAAC;IA9CG;;;OAGG;IACI,SAAS,CAAC,EAAkC;QAC/C,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAC5B,CAAC;IAED;;;;;OAKG;IACW,iBAAiB,CAAC,QAAgB,EAAE,IAA+B;;YAC7E,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;YAEhD,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE;gBAC1B,OAAO,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;aACtC;iBAAM;gBACH,oCAAoC;gBACpC,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,CAAC;gBACxE,OAAO,MAAM,gBAAgB,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;aACxD;QACL,CAAC;KAAA;IAED;;;;;OAKG;IACa,cAAc,CAC1B,MAAmC,EACnC,KAAgC;;YAEhC,oFAAoF;YACpF,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YAE/D,sEAAsE;YACtE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;gBAChB,MAAM,CAAC,MAAM,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;aACnD;YACD,oEAAoE;YACpE,OAAO,MAA4B,CAAC;QACxC,CAAC;KAAA;CACJ"}
|
|
@@ -9,44 +9,112 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
9
9
|
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");
|
|
10
10
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
11
11
|
};
|
|
12
|
-
var
|
|
12
|
+
var _WidgetModuleProvider_subscription, _WidgetModuleProvider_config, _WidgetModuleProvider_event;
|
|
13
13
|
import { catchError, Subscription } from 'rxjs';
|
|
14
14
|
import { HttpResponseError } from '@equinor/fusion-framework-module-http';
|
|
15
15
|
import { Query } from '@equinor/fusion-query';
|
|
16
|
-
import {
|
|
16
|
+
import { WidgetManifestLoadError, WidgetConfigLoadError } from './errors';
|
|
17
|
+
import { Widget } from './Widget';
|
|
18
|
+
/**
|
|
19
|
+
* The `WidgetModuleProvider` class implements the `IWidgetModuleProvider` interface and serves as a provider for managing widgets.
|
|
20
|
+
*/
|
|
17
21
|
export class WidgetModuleProvider {
|
|
22
|
+
/**
|
|
23
|
+
* Constructs a new `WidgetModuleProvider` instance.
|
|
24
|
+
* @param args - An object containing configuration and optional event module for the widget provider.
|
|
25
|
+
*/
|
|
18
26
|
constructor(args) {
|
|
19
|
-
|
|
27
|
+
// Private fields
|
|
20
28
|
_WidgetModuleProvider_subscription.set(this, new Subscription());
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
29
|
+
_WidgetModuleProvider_config.set(this, void 0);
|
|
30
|
+
_WidgetModuleProvider_event.set(this, void 0);
|
|
31
|
+
const { config, event } = args;
|
|
32
|
+
__classPrivateFieldSet(this, _WidgetModuleProvider_event, event, "f");
|
|
33
|
+
__classPrivateFieldSet(this, _WidgetModuleProvider_config, config, "f");
|
|
24
34
|
}
|
|
25
|
-
|
|
26
|
-
|
|
35
|
+
/**
|
|
36
|
+
* Retrieves a widget instance based on the provided name and optional parameters.
|
|
37
|
+
* @param name - The name of the widget.
|
|
38
|
+
* @param widgetParams - Optional parameters for the widget.
|
|
39
|
+
* @returns A new `Widget` instance.
|
|
40
|
+
*/
|
|
41
|
+
getWidget(name, widgetPrams) {
|
|
42
|
+
return new Widget({ name }, { provider: this, event: __classPrivateFieldGet(this, _WidgetModuleProvider_event, "f"), widgetPrams, config: __classPrivateFieldGet(this, _WidgetModuleProvider_config, "f") });
|
|
27
43
|
}
|
|
28
|
-
|
|
29
|
-
|
|
44
|
+
/**
|
|
45
|
+
* Retrieves the manifest of a widget as an observable stream.
|
|
46
|
+
* @param name - The name of the widget.
|
|
47
|
+
* @param widgetParams - Optional parameters for the widget.
|
|
48
|
+
* @returns An observable stream of the widget manifest.
|
|
49
|
+
*/
|
|
50
|
+
getWidgetManifest(name, widgetPrams) {
|
|
51
|
+
return this._getWidget(name, widgetPrams);
|
|
30
52
|
}
|
|
31
|
-
|
|
32
|
-
|
|
53
|
+
/**
|
|
54
|
+
* Retrieves the config of a widget as an observable stream.
|
|
55
|
+
* @param name - The name of the widget.
|
|
56
|
+
* @param widgetParams - Optional parameters for the widget.
|
|
57
|
+
* @returns An observable stream of the widget config.
|
|
58
|
+
*/
|
|
59
|
+
getWidgetConfig(name, widgetPrams) {
|
|
60
|
+
return this._getWidgetConfig(name, widgetPrams);
|
|
33
61
|
}
|
|
62
|
+
_getWidgetConfig(widgetKey, args) {
|
|
63
|
+
const client = new Query(__classPrivateFieldGet(this, _WidgetModuleProvider_config, "f").client.getWidgetConfig);
|
|
64
|
+
__classPrivateFieldGet(this, _WidgetModuleProvider_subscription, "f").add(() => client.complete());
|
|
65
|
+
return Query.extractQueryValue(client.query({ widgetKey, args }).pipe(catchError((err) => {
|
|
66
|
+
// Extract the cause since the error will be a `QueryError`
|
|
67
|
+
const { cause } = err;
|
|
68
|
+
// Handle specific errors and throw a `GetWidgetManifestError` if applicable
|
|
69
|
+
if (cause instanceof WidgetManifestLoadError) {
|
|
70
|
+
throw cause;
|
|
71
|
+
}
|
|
72
|
+
if (cause instanceof HttpResponseError) {
|
|
73
|
+
throw WidgetManifestLoadError.fromHttpResponse(cause.response, {
|
|
74
|
+
cause,
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
// Throw a generic `GetWidgetManifestError` for unknown errors
|
|
78
|
+
throw new WidgetManifestLoadError('unknown', 'failed to load config', {
|
|
79
|
+
cause,
|
|
80
|
+
});
|
|
81
|
+
})));
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Fetches the configuration for a widget using a query.
|
|
85
|
+
* @param widgetKey - The key identifying the widget.
|
|
86
|
+
* @param args - Optional arguments for the widget.
|
|
87
|
+
* @returns An observable stream of the widget manifest.
|
|
88
|
+
* @protected
|
|
89
|
+
*/
|
|
34
90
|
_getWidget(widgetKey, args) {
|
|
35
|
-
|
|
91
|
+
// Create a new query using the configured client
|
|
92
|
+
const client = new Query(__classPrivateFieldGet(this, _WidgetModuleProvider_config, "f").client.getWidgetManifest);
|
|
93
|
+
__classPrivateFieldGet(this, _WidgetModuleProvider_subscription, "f").add(() => client.complete());
|
|
94
|
+
// Execute the query and handle errors
|
|
95
|
+
return Query.extractQueryValue(client.query({ widgetKey, args }).pipe(catchError((err) => {
|
|
96
|
+
// Extract the cause since the error will be a `QueryError`
|
|
36
97
|
const { cause } = err;
|
|
37
|
-
|
|
98
|
+
// Handle specific errors and throw a `GetWidgetConfigError` if applicable
|
|
99
|
+
if (cause instanceof WidgetConfigLoadError) {
|
|
38
100
|
throw cause;
|
|
39
101
|
}
|
|
40
102
|
if (cause instanceof HttpResponseError) {
|
|
41
|
-
throw
|
|
103
|
+
throw WidgetConfigLoadError.fromHttpResponse(cause.response, { cause });
|
|
42
104
|
}
|
|
43
|
-
|
|
105
|
+
// Throw a generic `GetWidgetManifestError` for unknown errors
|
|
106
|
+
throw new WidgetConfigLoadError('unknown', 'failed to load config', {
|
|
107
|
+
cause,
|
|
108
|
+
});
|
|
44
109
|
})));
|
|
45
110
|
}
|
|
111
|
+
/**
|
|
112
|
+
* Disposes of the widget provider by unsubscribing from any active subscriptions.
|
|
113
|
+
*/
|
|
46
114
|
dispose() {
|
|
47
115
|
__classPrivateFieldGet(this, _WidgetModuleProvider_subscription, "f").unsubscribe();
|
|
48
116
|
}
|
|
49
117
|
}
|
|
50
|
-
|
|
118
|
+
_WidgetModuleProvider_subscription = new WeakMap(), _WidgetModuleProvider_config = new WeakMap(), _WidgetModuleProvider_event = new WeakMap();
|
|
51
119
|
export default WidgetModuleProvider;
|
|
52
120
|
//# sourceMappingURL=WidgetModuleProvider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WidgetModuleProvider.js","sourceRoot":"","sources":["../../src/WidgetModuleProvider.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAc,YAAY,EAAE,MAAM,MAAM,CAAC;AAG5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAG1E,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAK9C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"WidgetModuleProvider.js","sourceRoot":"","sources":["../../src/WidgetModuleProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,15 @@
|
|
|
1
1
|
import { module } from './module';
|
|
2
|
-
|
|
2
|
+
/**
|
|
3
|
+
* Method for enabling the widget module
|
|
4
|
+
* @param configurator - configuration object
|
|
5
|
+
*/
|
|
6
|
+
export const enableWidgetModule = (
|
|
7
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
8
|
+
configurator, builder) => {
|
|
3
9
|
configurator.addConfig({
|
|
4
10
|
module,
|
|
5
11
|
configure: (widgetConfigurator) => {
|
|
6
|
-
builder && widgetConfigurator
|
|
12
|
+
builder && builder(widgetConfigurator);
|
|
7
13
|
},
|
|
8
14
|
});
|
|
9
15
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enable-widget-module.js","sourceRoot":"","sources":["../../src/enable-widget-module.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"enable-widget-module.js","sourceRoot":"","sources":["../../src/enable-widget-module.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGlC;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG;AAC9B,8DAA8D;AAC9D,YAA4C,EAC5C,OAA2C,EACvC,EAAE;IACN,YAAY,CAAC,SAAS,CAAC;QACnB,MAAM;QACN,SAAS,EAAE,CAAC,kBAAkB,EAAE,EAAE;YAC9B,OAAO,IAAI,OAAO,CAAC,kBAAkB,CAAC,CAAC;QAC3C,CAAC;KACJ,CAAC,CAAC;AACP,CAAC,CAAC"}
|
package/dist/esm/errors.js
CHANGED
|
@@ -1,22 +1,40 @@
|
|
|
1
|
-
export class
|
|
1
|
+
export class WidgetManifestLoadError extends Error {
|
|
2
2
|
static fromHttpResponse(response, options) {
|
|
3
3
|
switch (response.status) {
|
|
4
4
|
case 401:
|
|
5
|
-
return new
|
|
5
|
+
return new WidgetManifestLoadError('unauthorized', 'failed to load widget manifest, request not authorized', options);
|
|
6
6
|
case 404:
|
|
7
|
-
return new
|
|
7
|
+
return new WidgetManifestLoadError('not_found', 'widget manifest not found', options);
|
|
8
8
|
}
|
|
9
|
-
return new
|
|
9
|
+
return new WidgetManifestLoadError('unknown', `failed to load widget manifest, status code ${response.status}`, options);
|
|
10
10
|
}
|
|
11
11
|
constructor(type, message, options) {
|
|
12
12
|
super(message, options);
|
|
13
13
|
this.type = type;
|
|
14
|
+
this.name = 'GetWidgetLoadManifestErrors';
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
export class WidgetConfigLoadError extends Error {
|
|
18
|
+
static fromHttpResponse(response, options) {
|
|
19
|
+
switch (response.status) {
|
|
20
|
+
case 401:
|
|
21
|
+
return new WidgetConfigLoadError('unauthorized', 'failed to load widget config, request not authorized', options);
|
|
22
|
+
case 404:
|
|
23
|
+
return new WidgetConfigLoadError('not_found', 'widget config not found', options);
|
|
24
|
+
}
|
|
25
|
+
return new WidgetConfigLoadError('unknown', `failed to load widget config, status code ${response.status}`, options);
|
|
26
|
+
}
|
|
27
|
+
constructor(type, message, options) {
|
|
28
|
+
super(message, options);
|
|
29
|
+
this.type = type;
|
|
30
|
+
this.name = 'GetWidgetLoadConfigError';
|
|
14
31
|
}
|
|
15
32
|
}
|
|
16
33
|
export class WidgetScriptModuleError extends Error {
|
|
17
34
|
constructor(type, message, options) {
|
|
18
35
|
super(message, options);
|
|
19
36
|
this.type = type;
|
|
37
|
+
this.name = 'WidgetScriptModuleError';
|
|
20
38
|
}
|
|
21
39
|
}
|
|
22
40
|
//# sourceMappingURL=errors.js.map
|
package/dist/esm/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,uBAAwB,SAAQ,KAAK;IAC9C,MAAM,CAAC,gBAAgB,CAAC,QAAkB,EAAE,OAAsB;QAC9D,QAAQ,QAAQ,CAAC,MAAM,EAAE;YACrB,KAAK,GAAG;gBACJ,OAAO,IAAI,uBAAuB,CAC9B,cAAc,EACd,wDAAwD,EACxD,OAAO,CACV,CAAC;YACN,KAAK,GAAG;gBACJ,OAAO,IAAI,uBAAuB,CAC9B,WAAW,EACX,2BAA2B,EAC3B,OAAO,CACV,CAAC;SACT;QACD,OAAO,IAAI,uBAAuB,CAC9B,SAAS,EACT,+CAA+C,QAAQ,CAAC,MAAM,EAAE,EAChE,OAAO,CACV,CAAC;IACN,CAAC;IACD,YACoB,IAAqB,EACrC,OAAgB,EAChB,OAAsB;QAEtB,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAJR,SAAI,GAAJ,IAAI,CAAiB;QAKrC,IAAI,CAAC,IAAI,GAAG,6BAA6B,CAAC;IAC9C,CAAC;CACJ;AAED,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IAC5C,MAAM,CAAC,gBAAgB,CAAC,QAAkB,EAAE,OAAsB;QAC9D,QAAQ,QAAQ,CAAC,MAAM,EAAE;YACrB,KAAK,GAAG;gBACJ,OAAO,IAAI,qBAAqB,CAC5B,cAAc,EACd,sDAAsD,EACtD,OAAO,CACV,CAAC;YACN,KAAK,GAAG;gBACJ,OAAO,IAAI,qBAAqB,CAAC,WAAW,EAAE,yBAAyB,EAAE,OAAO,CAAC,CAAC;SACzF;QACD,OAAO,IAAI,qBAAqB,CAC5B,SAAS,EACT,6CAA6C,QAAQ,CAAC,MAAM,EAAE,EAC9D,OAAO,CACV,CAAC;IACN,CAAC;IACD,YACoB,IAAqB,EACrC,OAAgB,EAChB,OAAsB;QAEtB,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAJR,SAAI,GAAJ,IAAI,CAAiB;QAKrC,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAC;IAC3C,CAAC;CACJ;AAED,MAAM,OAAO,uBAAwB,SAAQ,KAAK;IAC9C,YACoB,IAAqB,EACrC,OAAgB,EAChB,OAAsB;QAEtB,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAJR,SAAI,GAAJ,IAAI,CAAiB;QAKrC,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC;IAC1C,CAAC;CACJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/events.ts"],"names":[],"mappings":""}
|
package/dist/esm/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { WidgetModuleConfigurator
|
|
1
|
+
export { WidgetModuleConfigurator } from './WidgetModuleConfigurator';
|
|
2
2
|
export { WidgetModuleProvider } from './WidgetModuleProvider';
|
|
3
3
|
export * from './types';
|
|
4
4
|
export { enableWidgetModule } from './enable-widget-module';
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAsB,MAAM,4BAA4B,CAAC;AAE1F,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAI9D,cAAc,SAAS,CAAC;AAExB,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D,OAAO,EAAE,OAAO,EAAgB,MAAM,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC"}
|
package/dist/esm/module.js
CHANGED
|
@@ -12,9 +12,12 @@ import { WidgetModuleProvider } from './WidgetModuleProvider';
|
|
|
12
12
|
export const moduleKey = 'widget';
|
|
13
13
|
export const module = {
|
|
14
14
|
name: moduleKey,
|
|
15
|
-
configure
|
|
15
|
+
configure() {
|
|
16
|
+
const config = new WidgetModuleConfigurator();
|
|
17
|
+
return config;
|
|
18
|
+
},
|
|
16
19
|
initialize: (args) => __awaiter(void 0, void 0, void 0, function* () {
|
|
17
|
-
const config = yield args.config.
|
|
20
|
+
const config = yield args.config.createConfigAsync(args);
|
|
18
21
|
const event = yield args.requireInstance('event').catch(() => undefined);
|
|
19
22
|
return new WidgetModuleProvider({ config, event });
|
|
20
23
|
}),
|
package/dist/esm/module.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.js","sourceRoot":"","sources":["../../src/module.ts"],"names":[],"mappings":";;;;;;;;;AAGA,OAAO,
|
|
1
|
+
{"version":3,"file":"module.js","sourceRoot":"","sources":["../../src/module.ts"],"names":[],"mappings":";;;;;;;;;AAGA,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAyB,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAErF,MAAM,CAAC,MAAM,SAAS,GAAG,QAAQ,CAAC;AASlC,MAAM,CAAC,MAAM,MAAM,GAAiB;IAChC,IAAI,EAAE,SAAS;IACf,SAAS;QACL,MAAM,MAAM,GAAG,IAAI,wBAAwB,EAAE,CAAC;QAC9C,OAAO,MAAM,CAAC;IAClB,CAAC;IACD,UAAU,EAAE,CAAO,IAAI,EAAE,EAAE;QACvB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACzD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QACzE,OAAO,IAAI,oBAAoB,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IACvD,CAAC,CAAA;IACD,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;QACb,IAAI,CAAC,QAA4C,CAAC,OAAO,EAAE,CAAC;IACjE,CAAC;CACJ,CAAC;AAEF,eAAe,MAAM,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { createAction, createAsyncAction, } from '@equinor/fusion-observable';
|
|
2
|
+
const createActions = () => ({
|
|
3
|
+
/** Manifest loading */
|
|
4
|
+
setManifest: createAction('set_manifest', (manifest, update) => ({
|
|
5
|
+
payload: manifest,
|
|
6
|
+
meta: {
|
|
7
|
+
created: Date.now(),
|
|
8
|
+
update,
|
|
9
|
+
},
|
|
10
|
+
})),
|
|
11
|
+
fetchManifest: createAsyncAction('fetch_manifest', (payload, update) => ({
|
|
12
|
+
payload,
|
|
13
|
+
meta: { update },
|
|
14
|
+
}), (manifest) => ({ payload: manifest }), (error) => ({ payload: error })),
|
|
15
|
+
/** Config loading */
|
|
16
|
+
setConfig: createAction('set_config', (config) => ({ payload: config })),
|
|
17
|
+
fetchConfig: createAsyncAction('fetch_config', (payload, update) => ({
|
|
18
|
+
payload,
|
|
19
|
+
meta: { update },
|
|
20
|
+
}), (config) => ({ payload: config }), (error) => ({ payload: error })),
|
|
21
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
22
|
+
setModule: createAction('set_module', (module) => ({ payload: module })),
|
|
23
|
+
importWidget: createAsyncAction('import_widget', (entrypoint) => ({ payload: entrypoint }), (module) => ({ payload: module }), (error) => ({ payload: error })),
|
|
24
|
+
// widget Instance
|
|
25
|
+
setInstance: createAction('set_instance', (instance) => ({
|
|
26
|
+
payload: instance,
|
|
27
|
+
})),
|
|
28
|
+
initialize: createAsyncAction('initialize_widget', () => ({ payload: null }), () => ({ payload: null }), (error) => ({ payload: error })),
|
|
29
|
+
});
|
|
30
|
+
export const actions = createActions();
|
|
31
|
+
//# sourceMappingURL=actions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"actions.js","sourceRoot":"","sources":["../../../src/state/actions.ts"],"names":[],"mappings":"AAAA,OAAO,EAGH,YAAY,EACZ,iBAAiB,GACpB,MAAM,4BAA4B,CAAC;AASpC,MAAM,aAAa,GAAG,GAAG,EAAE,CAAC,CAAC;IACzB,uBAAuB;IACvB,WAAW,EAAE,YAAY,CAAC,cAAc,EAAE,CAAC,QAAwB,EAAE,MAAgB,EAAE,EAAE,CAAC,CAAC;QACvF,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE;YACF,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE;YACnB,MAAM;SACT;KACJ,CAAC,CAAC;IACH,aAAa,EAAE,iBAAiB,CAC5B,gBAAgB,EAChB,CAAC,OAA4D,EAAE,MAAgB,EAAE,EAAE,CAAC,CAAC;QACjF,OAAO;QACP,IAAI,EAAE,EAAE,MAAM,EAAE;KACnB,CAAC,EACF,CAAC,QAAwB,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EACrD,CAAC,KAAc,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAC3C;IACD,qBAAqB;IACrB,SAAS,EAAE,YAAY,CAAC,YAAY,EAAE,CAAC,MAAoB,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IACtF,WAAW,EAAE,iBAAiB,CAC1B,cAAc,EACd,CAAC,OAA4D,EAAE,MAAgB,EAAE,EAAE,CAAC,CAAC;QACjF,OAAO;QACP,IAAI,EAAE,EAAE,MAAM,EAAE;KACnB,CAAC,EACF,CAAC,MAAoB,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,EAC/C,CAAC,KAAc,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAC3C;IACD,8DAA8D;IAC9D,SAAS,EAAE,YAAY,CAAC,YAAY,EAAE,CAAC,MAAW,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IAC7E,YAAY,EAAE,iBAAiB,CAC3B,eAAe,EACf,CAAC,UAAkB,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,EACjD,CAAC,MAA0B,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,EACrD,CAAC,KAAc,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAC3C;IACD,kBAAkB;IAClB,WAAW,EAAE,YAAY,CAAC,cAAc,EAAE,CAAC,QAA+B,EAAE,EAAE,CAAC,CAAC;QAC5E,OAAO,EAAE,QAAQ;KACpB,CAAC,CAAC;IACH,UAAU,EAAE,iBAAiB,CACzB,mBAAmB,EACnB,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EACzB,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EACzB,CAAC,KAAc,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAC3C;CACJ,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { actionBaseType, createReducer as makeReducer, isCompleteAction, isRequestAction, } from '@equinor/fusion-observable';
|
|
2
|
+
import { enableMapSet } from 'immer';
|
|
3
|
+
enableMapSet();
|
|
4
|
+
import { actions } from './actions';
|
|
5
|
+
export const createReducer = (value) => makeReducer(Object.assign(Object.assign({}, value), { status: new Set() }), (builder) => builder
|
|
6
|
+
.addCase(actions.setManifest, (state, action) => {
|
|
7
|
+
if (action.meta.update) {
|
|
8
|
+
state.manifest = Object.assign(Object.assign({}, state.manifest), action.payload);
|
|
9
|
+
}
|
|
10
|
+
else {
|
|
11
|
+
state.manifest = action.payload;
|
|
12
|
+
}
|
|
13
|
+
})
|
|
14
|
+
.addCase(actions.setConfig, (state, action) => {
|
|
15
|
+
state.config = action.payload;
|
|
16
|
+
})
|
|
17
|
+
.addCase(actions.setModule, (state, action) => {
|
|
18
|
+
state.modules = action.payload;
|
|
19
|
+
})
|
|
20
|
+
.addCase(actions.setInstance, (state, action) => {
|
|
21
|
+
state.instance = action.payload;
|
|
22
|
+
})
|
|
23
|
+
/** mark status as loading {{type}} */
|
|
24
|
+
.addMatcher(isRequestAction, (state, action) => {
|
|
25
|
+
state.status.add(actionBaseType(action));
|
|
26
|
+
})
|
|
27
|
+
/** clear status {{type}} */
|
|
28
|
+
.addMatcher(isCompleteAction, (state, action) => {
|
|
29
|
+
state.status.delete(actionBaseType(action));
|
|
30
|
+
}));
|
|
31
|
+
export default createReducer;
|
|
32
|
+
//# sourceMappingURL=create-reducer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-reducer.js","sourceRoot":"","sources":["../../../src/state/create-reducer.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,cAAc,EACd,aAAa,IAAI,WAAW,EAC5B,gBAAgB,EAChB,eAAe,GAClB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAErC,YAAY,EAAE,CAAC;AAEf,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAAyB,EAAE,EAAE,CACvD,WAAW,CAAC,gCAAK,KAAK,KAAE,MAAM,EAAE,IAAI,GAAG,EAAE,GAAiB,EAAE,CAAC,OAAO,EAAE,EAAE,CACpE,OAAO;KACF,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;IAC5C,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE;QACpB,KAAK,CAAC,QAAQ,mCAAQ,KAAK,CAAC,QAAQ,GAAK,MAAM,CAAC,OAAO,CAAE,CAAC;KAC7D;SAAM;QACH,KAAK,CAAC,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC;KACnC;AACL,CAAC,CAAC;KACD,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;IAC1C,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC;AAClC,CAAC,CAAC;KACD,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;IAC1C,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;AACnC,CAAC,CAAC;KACD,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;IAC5C,KAAK,CAAC,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC;AACpC,CAAC,CAAC;IACF,sCAAsC;KACrC,UAAU,CAAC,eAAe,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;IAC3C,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;AAC7C,CAAC,CAAC;IACF,4BAA4B;KAC3B,UAAU,CAAC,gBAAgB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;IAC5C,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;AAChD,CAAC,CAAC,CACT,CAAC;AAEN,eAAe,aAAa,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { FlowSubject } from '@equinor/fusion-observable';
|
|
2
|
+
import { createReducer } from './create-reducer';
|
|
3
|
+
import { handleFetchManifest, handleImportWidget, handleFetchConfig } from './flows';
|
|
4
|
+
export const createState = (value, provider) => {
|
|
5
|
+
const reducer = createReducer(value);
|
|
6
|
+
const state = new FlowSubject(reducer);
|
|
7
|
+
state.addFlow(handleFetchManifest(provider));
|
|
8
|
+
state.addFlow(handleImportWidget());
|
|
9
|
+
state.addFlow(handleFetchConfig(provider));
|
|
10
|
+
return state;
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=create-state.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-state.js","sourceRoot":"","sources":["../../../src/state/create-state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAEzD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAMrF,MAAM,CAAC,MAAM,WAAW,GAAG,CACvB,KAAyB,EACzB,QAA8B,EACG,EAAE;IACnC,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IACrC,MAAM,KAAK,GAAG,IAAI,WAAW,CAAuB,OAAO,CAAC,CAAC;IAC7D,KAAK,CAAC,OAAO,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC7C,KAAK,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAC;IACpC,KAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC3C,OAAO,KAAK,CAAC;AACjB,CAAC,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { from, of, concat } from 'rxjs';
|
|
2
|
+
import { catchError, filter, last, map, share, switchMap } from 'rxjs/operators';
|
|
3
|
+
import { actions } from './actions';
|
|
4
|
+
export const handleFetchManifest = (provider) => (action$) => action$.pipe(filter(actions.fetchManifest.match), switchMap((action) => {
|
|
5
|
+
const { payload: { key, args }, meta: { update }, } = action;
|
|
6
|
+
const subject = from(provider.getWidgetManifest(key, args)).pipe(filter((x) => !!x), share());
|
|
7
|
+
return concat(subject.pipe(map((manifest) => actions.setManifest(manifest, update))), subject.pipe(last(), map((manifest) => actions.fetchManifest.success(manifest)))).pipe(catchError((err) => {
|
|
8
|
+
console.log(err, action.payload);
|
|
9
|
+
return of(actions.fetchManifest.failure(err));
|
|
10
|
+
}));
|
|
11
|
+
}));
|
|
12
|
+
export const handleFetchConfig = (provider) => (action$) => action$.pipe(filter(actions.fetchConfig.match), switchMap(({ payload: { key, args } }) => {
|
|
13
|
+
const subject = from(provider.getWidgetConfig(key, args)).pipe(filter((x) => !!x), share());
|
|
14
|
+
return concat(subject.pipe(map((manifest) => actions.setConfig(manifest))), subject.pipe(last(), map((manifest) => actions.fetchConfig.success(manifest)))).pipe(catchError((err) => {
|
|
15
|
+
return of(actions.fetchConfig.failure(err));
|
|
16
|
+
}));
|
|
17
|
+
}));
|
|
18
|
+
export const handleImportWidget = () => (action$) => action$.pipe(filter(actions.importWidget.match), switchMap(({ payload }) => {
|
|
19
|
+
return from(import(/* @vite-ignore */ payload)).pipe(map(actions.importWidget.success), catchError((err) => of(actions.importWidget.failure(err))));
|
|
20
|
+
}));
|
|
21
|
+
//# sourceMappingURL=flows.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flows.js","sourceRoot":"","sources":["../../../src/state/flows.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEjF,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC,MAAM,CAAC,MAAM,mBAAmB,GAC5B,CAAC,QAA8B,EAA8B,EAAE,CAC/D,CAAC,OAAO,EAAE,EAAE,CACR,OAAO,CAAC,IAAI,CACR,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,EACnC,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE;IACjB,MAAM,EACF,OAAO,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,EACtB,IAAI,EAAE,EAAE,MAAM,EAAE,GACnB,GAAG,MAAM,CAAC;IAEX,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAC5D,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAClB,KAAK,EAAE,CACV,CAAC;IACF,OAAO,MAAM,CACT,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,EACtE,OAAO,CAAC,IAAI,CACR,IAAI,EAAE,EACN,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAC7D,CACJ,CAAC,IAAI,CACF,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE;QACf,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;QACjC,OAAO,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IAClD,CAAC,CAAC,CACL,CAAC;AACN,CAAC,CAAC,CACL,CAAC;AAEV,MAAM,CAAC,MAAM,iBAAiB,GAC1B,CAAC,QAA8B,EAA8B,EAAE,CAC/D,CAAC,OAAO,EAAE,EAAE,CACR,OAAO,CAAC,IAAI,CACR,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,EACjC,SAAS,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE;IACrC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAC1D,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAClB,KAAK,EAAE,CACV,CAAC;IACF,OAAO,MAAM,CACT,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,EAC5D,OAAO,CAAC,IAAI,CACR,IAAI,EAAE,EACN,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAC3D,CACJ,CAAC,IAAI,CACF,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE;QACf,OAAO,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IAChD,CAAC,CAAC,CACL,CAAC;AACN,CAAC,CAAC,CACL,CAAC;AAEV,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAA+B,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAC5E,OAAO,CAAC,IAAI,CACR,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,EAClC,SAAS,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;IACtB,OAAO,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAChD,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,EACjC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAC7D,CAAC;AACN,CAAC,CAAC,CACL,CAAC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
export const defaultManifestEndpointBuilder = (apiVersion) => (params) => {
|
|
2
|
+
const { widgetKey, args } = params;
|
|
3
|
+
const { type, value } = args !== null && args !== void 0 ? args : {};
|
|
4
|
+
switch (type) {
|
|
5
|
+
case 'tag':
|
|
6
|
+
case 'version':
|
|
7
|
+
return `/widgets/${widgetKey}/versions/${value}?api-version=${apiVersion}`;
|
|
8
|
+
default:
|
|
9
|
+
return `/widgets/${widgetKey}?api-version=${apiVersion}`;
|
|
10
|
+
}
|
|
11
|
+
};
|
|
12
|
+
export const defaultConfigEndpointBuilder = (apiVersion) => (params) => {
|
|
13
|
+
const { widgetKey, args } = params;
|
|
14
|
+
const { type, value } = args !== null && args !== void 0 ? args : {};
|
|
15
|
+
// Todo Align endpoints with backend when its done!
|
|
16
|
+
switch (type) {
|
|
17
|
+
case 'tag':
|
|
18
|
+
case 'version':
|
|
19
|
+
return `/widgets/${widgetKey}/versions/${value}/config?api-version=${apiVersion}`;
|
|
20
|
+
default:
|
|
21
|
+
return `/widgets/${widgetKey}/config?api-version=${apiVersion}`;
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
export const createDefaultClient = (httpClient) => {
|
|
25
|
+
const apiVersion = '1.0-preview';
|
|
26
|
+
return {
|
|
27
|
+
apiVersion,
|
|
28
|
+
baseImportUrl: httpClient.uri,
|
|
29
|
+
getWidgetManifest: {
|
|
30
|
+
client: {
|
|
31
|
+
fn: (args) => httpClient.json$(defaultManifestEndpointBuilder(apiVersion)(args)),
|
|
32
|
+
},
|
|
33
|
+
key: (args) => JSON.stringify(args),
|
|
34
|
+
},
|
|
35
|
+
getWidgetConfig: {
|
|
36
|
+
client: {
|
|
37
|
+
fn: (args) => httpClient.json$(defaultConfigEndpointBuilder(apiVersion)(args)),
|
|
38
|
+
},
|
|
39
|
+
key: (args) => JSON.stringify(args),
|
|
40
|
+
},
|
|
41
|
+
};
|
|
42
|
+
};
|
|
43
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,8BAA8B,GACvC,CAAC,UAAkB,EAAyB,EAAE,CAC9C,CAAC,MAA2B,EAAE,EAAE;IAC5B,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;IACnC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,EAAE,CAAC;IACnC,QAAQ,IAAI,EAAE;QACV,KAAK,KAAK,CAAC;QACX,KAAK,SAAS;YACV,OAAO,YAAY,SAAS,aAAa,KAAK,gBAAgB,UAAU,EAAE,CAAC;QAC/E;YACI,OAAO,YAAY,SAAS,gBAAgB,UAAU,EAAE,CAAC;KAChE;AACL,CAAC,CAAC;AAEN,MAAM,CAAC,MAAM,4BAA4B,GACrC,CAAC,UAAkB,EAAyB,EAAE,CAC9C,CAAC,MAA2B,EAAE,EAAE;IAC5B,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;IACnC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,EAAE,CAAC;IACnC,mDAAmD;IACnD,QAAQ,IAAI,EAAE;QACV,KAAK,KAAK,CAAC;QACX,KAAK,SAAS;YACV,OAAO,YAAY,SAAS,aAAa,KAAK,uBAAuB,UAAU,EAAE,CAAC;QACtF;YACI,OAAO,YAAY,SAAS,uBAAuB,UAAU,EAAE,CAAC;KACvE;AACL,CAAC,CAAC;AAEN,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,UAAuB,EAAW,EAAE;IACpE,MAAM,UAAU,GAAG,aAAa,CAAC;IACjC,OAAO;QACH,UAAU;QACV,aAAa,EAAE,UAAU,CAAC,GAAG;QAC7B,iBAAiB,EAAE;YACf,MAAM,EAAE;gBACJ,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,8BAA8B,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC;aACnF;YACD,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;SACtC;QACD,eAAe,EAAE;YACb,MAAM,EAAE;gBACJ,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,4BAA4B,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC;aACjF;YACD,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;SACtC;KACJ,CAAC;AACN,CAAC,CAAC"}
|
package/dist/esm/version.js
CHANGED
package/dist/esm/version.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,2BAA2B;AAC3B,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC"}
|