@equinor/fusion-framework-module-context 8.0.2 → 8.0.3
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 +6 -0
- package/dist/esm/configurator.js +6 -1
- package/dist/esm/configurator.js.map +1 -1
- package/dist/esm/utils/resolve-initial-context.js +14 -7
- package/dist/esm/utils/resolve-initial-context.js.map +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types/utils/resolve-initial-context.d.ts +6 -3
- package/dist/types/version.d.ts +1 -1
- package/package.json +2 -2
- package/src/configurator.ts +6 -1
- package/src/utils/resolve-initial-context.ts +22 -7
- package/src/version.ts +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
# Change Log
|
|
2
2
|
|
|
3
|
+
## 8.0.3
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 73bfe52: Restore path-based resolution as a fallback in `resolveInitialContext`, composed with parent-context resolution. The context-navigation plugin introduced in #4751 removed this from the module, but consumers not yet migrated to the plugin lost initial-context resolution from the URL. `resolveInitialContext` now accepts a `path` option (`extract`/`validate`) used to resolve context from the URL before falling back to the parent context.
|
|
8
|
+
|
|
3
9
|
## 8.0.2
|
|
4
10
|
|
|
5
11
|
### Patch Changes
|
package/dist/esm/configurator.js
CHANGED
|
@@ -59,7 +59,12 @@ export class ContextModuleConfigurator {
|
|
|
59
59
|
// Merge this builder's config into the accumulator for the next iteration.
|
|
60
60
|
return Object.assign(cur, builder.config);
|
|
61
61
|
}, Promise.resolve({}));
|
|
62
|
-
config.resolveInitialContext ??= resolveInitialContext(
|
|
62
|
+
config.resolveInitialContext ??= resolveInitialContext({
|
|
63
|
+
path: {
|
|
64
|
+
extract: config.extractContextIdFromPath,
|
|
65
|
+
validate: config.extractContextIdFromPath ? () => true : undefined,
|
|
66
|
+
},
|
|
67
|
+
});
|
|
63
68
|
// TODO(#5119) - make less lazy
|
|
64
69
|
config.client ??= await (async () => {
|
|
65
70
|
const apiProvider = await this._getServiceProvider(init);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configurator.js","sourceRoot":"","sources":["../../src/configurator.ts"],"names":[],"mappings":"AAUA,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,wBAAwB,CAAC;AAShC,OAAO,EAAE,oBAAoB,EAAqC,MAAM,wBAAwB,CAAC;AAEjG,OAAO,qBAAqB,MAAM,iCAAiC,CAAC;AA4JpE;;;;;;;;;GASG;AACH,MAAM,OAAO,yBAAyB;IACpC,2DAA2D;IAC3D,iBAAiB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;IAElC,eAAe,GAAwC,EAAE,CAAC;IAE1D,kBAAkB;IAClB,gBAAgB,CAAC,IAAkC;QACjD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAED;;;;;;;OAOG;IACO,KAAK,CAAC,mBAAmB,CACjC,IAAyE;QAEzE,yDAAyD;QACzD,IAAI,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC;YAC/B,OAAO,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;QAC1C,CAAC;QACD,MAAM,mBAAmB,GAAI,IAAI,CAAC,GAA6C,EAAE,QAAQ,CAAC;QAC1F,qDAAqD;QACrD,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACzB,MAAM,KAAK,CAAC,0DAA0D,CAAC,CAAC;QAC1E,CAAC;QACD,OAAO,mBAAmB,CAAC;IAC7B,CAAC;IAED;;;;;;;;;;OAUG;IACI,KAAK,CAAC,YAAY,CACvB,IAA2F;QAE3F,8FAA8F;QAC9F,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAC9C,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE;YAChB,6LAA6L;YAC7L,MAAM,OAAO,GAAG,IAAI,oBAAoB,CAAW,IAAI,EAAE,MAAM,GAAG,CAAC,CAAC;YACpE,MAAM,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;YACnC,2EAA2E;YAC3E,OAAO,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QAC5C,CAAC,EACD,OAAO,CAAC,OAAO,CAAC,EAAkC,CAAC,CACpD,CAAC;QAEF,MAAM,CAAC,qBAAqB,KAAK,qBAAqB,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"configurator.js","sourceRoot":"","sources":["../../src/configurator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { concat, EMPTY,
|
|
1
|
+
import { concat, EMPTY, first, of } from 'rxjs';
|
|
2
|
+
import resolveContextFromPath from './resolve-context-from-path';
|
|
2
3
|
/**
|
|
3
4
|
* Resolves the initial context from the parent module.
|
|
4
5
|
*
|
|
@@ -7,6 +8,7 @@ import { concat, EMPTY, of, take } from 'rxjs';
|
|
|
7
8
|
*/
|
|
8
9
|
export const resolveContextFromParent = ({ ref }) => {
|
|
9
10
|
const parentContext = ref?.context;
|
|
11
|
+
// check if the parent has context module
|
|
10
12
|
if (!parentContext) {
|
|
11
13
|
// No parent context available — either portal level or parent lacks context module.
|
|
12
14
|
return EMPTY;
|
|
@@ -17,17 +19,22 @@ export const resolveContextFromParent = ({ ref }) => {
|
|
|
17
19
|
/**
|
|
18
20
|
* Resolves the initial context for a Fusion Framework context module.
|
|
19
21
|
*
|
|
20
|
-
*
|
|
21
|
-
* URL-based resolution is handled by the context-navigation plugin.
|
|
22
|
+
* will try to resolve the initial context from the path, and if that fails, it will try to resolve the context from the parent.
|
|
22
23
|
*
|
|
24
|
+
* @param options - Optional configuration for resolving the context path.
|
|
23
25
|
* @returns A function that accepts the module's reference and modules, and returns an Observable of the resolved initial context.
|
|
24
26
|
*/
|
|
25
27
|
// Deliberately co-located with resolveContextFromParent, which it composes with
|
|
26
28
|
// fusion-lint-disable-next-line single-export-per-file
|
|
27
|
-
export const resolveInitialContext = () => ({ ref, modules }) => {
|
|
28
|
-
|
|
29
|
-
//
|
|
30
|
-
|
|
29
|
+
export const resolveInitialContext = (options) => ({ ref, modules }) => {
|
|
30
|
+
const { context, navigation } = modules;
|
|
31
|
+
// create a path resolver from the context module
|
|
32
|
+
const pathResolver = resolveContextFromPath(context, options?.path);
|
|
33
|
+
// use the path from the navigation module, or the path from the parent navigation module
|
|
34
|
+
const pathname = navigation?.path.pathname ??
|
|
35
|
+
ref.navigation?.path.pathname;
|
|
36
|
+
// try to resolve the context from the path, and if that fails, try to resolve the context from the parent
|
|
37
|
+
return concat(pathname ? pathResolver(pathname) : EMPTY, resolveContextFromParent({ ref, modules })).pipe(first());
|
|
31
38
|
};
|
|
32
39
|
export default resolveInitialContext;
|
|
33
40
|
//# sourceMappingURL=resolve-initial-context.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve-initial-context.js","sourceRoot":"","sources":["../../../src/utils/resolve-initial-context.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"resolve-initial-context.js","sourceRoot":"","sources":["../../../src/utils/resolve-initial-context.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,MAAM,CAAC;AAChD,OAAO,sBAAuD,MAAM,6BAA6B,CAAC;AAGlG;;;;;GAKG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAiD,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE;IAChG,MAAM,aAAa,GAAI,GAAwC,EAAE,OAAO,CAAC;IACzE,yCAAyC;IACzC,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,oFAAoF;QACpF,OAAO,KAAK,CAAC;IACf,CAAC;IACD,4FAA4F;IAC5F,OAAO,aAAa,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AACjF,CAAC,CAAC;AAEF;;;;;;;GAOG;AAEH,gFAAgF;AAChF,uDAAuD;AACvD,MAAM,CAAC,MAAM,qBAAqB,GAChC,CAAC,OAEA,EAA0D,EAAE,CAC7D,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE;IACnB,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;IACxC,iDAAiD;IACjD,MAAM,YAAY,GAAG,sBAAsB,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IACpE,yFAAyF;IACzF,MAAM,QAAQ,GACZ,UAAU,EAAE,IAAI,CAAC,QAAQ;QACxB,GAAoD,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC;IAClF,0GAA0G;IAC1G,OAAO,MAAM,CACX,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,EACzC,wBAAwB,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAC3C,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;AAClB,CAAC,CAAC;AAEJ,eAAe,qBAAqB,CAAC"}
|
package/dist/esm/version.js
CHANGED