@o3r/dynamic-content 11.6.0-prerelease.2 → 11.6.0-prerelease.21
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/esm2022/fixtures/jasmine/index.mjs +1 -1
- package/esm2022/fixtures/jasmine/request-parameters.fixture.jasmine.mjs +3 -3
- package/esm2022/fixtures/jest/index.mjs +1 -1
- package/esm2022/fixtures/jest/request-parameters.fixture.jest.mjs +3 -3
- package/esm2022/rules-engine/asset.handler-action.mjs +8 -8
- package/esm2022/rules-engine/asset.interfaces.mjs +1 -1
- package/esm2022/rules-engine/asset.rules-engine.module.mjs +8 -8
- package/esm2022/services/dynamic-content/dynamic-content.module.mjs +9 -9
- package/esm2022/services/dynamic-content/dynamic-content.pipe.mjs +9 -9
- package/esm2022/services/dynamic-content/dynamic-content.service.mjs +12 -12
- package/esm2022/services/dynamic-content/dynamic-content.token.mjs +2 -2
- package/esm2022/services/dynamic-content/index.mjs +1 -1
- package/esm2022/services/request-parameters/index.mjs +2 -2
- package/esm2022/services/request-parameters/request-parameters.config.mjs +8 -9
- package/esm2022/services/request-parameters/request-parameters.module.mjs +8 -8
- package/esm2022/services/request-parameters/request-parameters.service.mjs +10 -10
- package/esm2022/services/request-parameters/request-parameters.token.mjs +2 -2
- package/esm2022/services/styling/style-lazy-loader.module.mjs +7 -7
- package/esm2022/services/styling/style-lazy-loader.service.mjs +12 -12
- package/esm2022/stores/asset-path-override/asset-path-override.actions.mjs +2 -2
- package/esm2022/stores/asset-path-override/asset-path-override.module.mjs +9 -9
- package/esm2022/stores/asset-path-override/asset-path-override.reducer.mjs +2 -2
- package/esm2022/stores/asset-path-override/asset-path-override.selectors.mjs +3 -3
- package/esm2022/stores/asset-path-override/asset-path-override.state.mjs +1 -1
- package/esm2022/stores/asset-path-override/asset-path-override.sync.mjs +2 -2
- package/esm2022/stores/asset-path-override/index.mjs +1 -2
- package/fesm2022/o3r-dynamic-content-fixtures-jasmine.mjs +1 -1
- package/fesm2022/o3r-dynamic-content-fixtures-jasmine.mjs.map +1 -1
- package/fesm2022/o3r-dynamic-content-fixtures-jest.mjs +1 -1
- package/fesm2022/o3r-dynamic-content-fixtures-jest.mjs.map +1 -1
- package/fesm2022/o3r-dynamic-content-rules-engine.mjs +7 -7
- package/fesm2022/o3r-dynamic-content-rules-engine.mjs.map +1 -1
- package/fesm2022/o3r-dynamic-content.mjs +47 -48
- package/fesm2022/o3r-dynamic-content.mjs.map +1 -1
- package/fixtures/jasmine/request-parameters.fixture.jasmine.d.ts.map +1 -1
- package/fixtures/jest/request-parameters.fixture.jest.d.ts.map +1 -1
- package/middlewares/parameter-extractor.middleware.d.ts +2 -1
- package/middlewares/parameter-extractor.middleware.d.ts.map +1 -1
- package/middlewares/parameter-extractor.middleware.js +5 -4
- package/package.json +3 -3
- package/rules-engine/asset.handler-action.d.ts +1 -1
- package/rules-engine/asset.handler-action.d.ts.map +1 -1
- package/rules-engine/asset.interfaces.d.ts.map +1 -1
- package/rules-engine/asset.rules-engine.module.d.ts.map +1 -1
- package/schematics/ng-add/index.d.ts.map +1 -1
- package/schematics/ng-add/schema.d.ts.map +1 -1
- package/schematics/ng-update/v10-0/index.d.ts.map +1 -1
- package/schematics/ng-update/v10-0/index.js +2 -1
- package/services/dynamic-content/dynamic-content.module.d.ts.map +1 -1
- package/services/dynamic-content/dynamic-content.pipe.d.ts.map +1 -1
- package/services/dynamic-content/dynamic-content.service.d.ts.map +1 -1
- package/services/dynamic-content/dynamic-content.token.d.ts.map +1 -1
- package/services/request-parameters/index.d.ts +1 -1
- package/services/request-parameters/index.d.ts.map +1 -1
- package/services/request-parameters/request-parameters.config.d.ts +1 -1
- package/services/request-parameters/request-parameters.config.d.ts.map +1 -1
- package/services/request-parameters/request-parameters.module.d.ts.map +1 -1
- package/services/request-parameters/request-parameters.service.d.ts.map +1 -1
- package/services/request-parameters/request-parameters.token.d.ts.map +1 -1
- package/services/styling/style-lazy-loader.module.d.ts.map +1 -1
- package/services/styling/style-lazy-loader.service.d.ts.map +1 -1
- package/stores/asset-path-override/asset-path-override.actions.d.ts.map +1 -1
- package/stores/asset-path-override/asset-path-override.module.d.ts.map +1 -1
- package/stores/asset-path-override/asset-path-override.reducer.d.ts.map +1 -1
- package/stores/asset-path-override/asset-path-override.selectors.d.ts.map +1 -1
- package/stores/asset-path-override/asset-path-override.state.d.ts.map +1 -1
- package/stores/asset-path-override/asset-path-override.sync.d.ts.map +1 -1
- package/stores/asset-path-override/index.d.ts +0 -1
- package/stores/asset-path-override/index.d.ts.map +1 -1
|
@@ -47,13 +47,13 @@ class AssetPathOverrideStoreModule {
|
|
|
47
47
|
]
|
|
48
48
|
};
|
|
49
49
|
}
|
|
50
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
51
|
-
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.
|
|
52
|
-
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.
|
|
50
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AssetPathOverrideStoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
51
|
+
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: AssetPathOverrideStoreModule, imports: [i1.StoreFeatureModule] }); }
|
|
52
|
+
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AssetPathOverrideStoreModule, providers: [
|
|
53
53
|
{ provide: ASSET_PATH_OVERRIDE_REDUCER_TOKEN, useFactory: getDefaultAssetPathOverrideReducer }
|
|
54
54
|
], imports: [StoreModule.forFeature(ASSET_PATH_OVERRIDE_STORE_NAME, ASSET_PATH_OVERRIDE_REDUCER_TOKEN)] }); }
|
|
55
55
|
}
|
|
56
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
56
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AssetPathOverrideStoreModule, decorators: [{
|
|
57
57
|
type: NgModule,
|
|
58
58
|
args: [{
|
|
59
59
|
imports: [
|
|
@@ -106,11 +106,11 @@ class DynamicContentService {
|
|
|
106
106
|
this.mediaFolder = MEDIA_FOLDER_NAME;
|
|
107
107
|
}
|
|
108
108
|
normalizePath(assetPath) {
|
|
109
|
-
return
|
|
109
|
+
return assetPath ? assetPath.replace(/^\//, '') : '';
|
|
110
110
|
}
|
|
111
111
|
getContentPath(assetPath) {
|
|
112
112
|
const normalizedAssetPath = this.normalizePath(assetPath);
|
|
113
|
-
return this.basePath
|
|
113
|
+
return this.basePath === '' ? assetPath || '' : `${this.basePath}/${normalizedAssetPath}`;
|
|
114
114
|
}
|
|
115
115
|
getMediaPath(assetPath) {
|
|
116
116
|
if (this.cmsOnlyAssetsPath && assetPath) {
|
|
@@ -146,10 +146,10 @@ class DynamicContentService {
|
|
|
146
146
|
}
|
|
147
147
|
return this.store.pipe(select(selectAssetPathOverride), map((entities) => assetPath && entities && entities[assetPath] ? entities[assetPath] : assetPath), map((finalAssetPath) => this.getMediaPath(finalAssetPath)), distinctUntilChanged(), shareReplay({ bufferSize: 1, refCount: true }));
|
|
148
148
|
}
|
|
149
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
150
|
-
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.
|
|
149
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DynamicContentService, deps: [{ token: DYNAMIC_CONTENT_BASE_PATH_TOKEN }, { token: CMS_ASSETS_PATH_TOKEN }, { token: i1.Store, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
150
|
+
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DynamicContentService }); }
|
|
151
151
|
}
|
|
152
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
152
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DynamicContentService, decorators: [{
|
|
153
153
|
type: Injectable
|
|
154
154
|
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
155
155
|
type: Inject,
|
|
@@ -188,19 +188,19 @@ class O3rDynamicContentPipe {
|
|
|
188
188
|
this.onMediaPathChange.unsubscribe();
|
|
189
189
|
}
|
|
190
190
|
}
|
|
191
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
192
|
-
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.
|
|
191
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: O3rDynamicContentPipe, deps: [{ token: DynamicContentService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
192
|
+
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: O3rDynamicContentPipe, name: "o3rDynamicContent", pure: false }); }
|
|
193
193
|
}
|
|
194
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
194
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: O3rDynamicContentPipe, decorators: [{
|
|
195
195
|
type: Pipe,
|
|
196
196
|
args: [{ name: 'o3rDynamicContent', pure: false }]
|
|
197
197
|
}], ctorParameters: () => [{ type: DynamicContentService }, { type: i0.ChangeDetectorRef }] });
|
|
198
198
|
/** @deprecated please use O3rDynamicContentPipe, will be removed in v12. */
|
|
199
199
|
class DynamicContentPipe extends O3rDynamicContentPipe {
|
|
200
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
201
|
-
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.
|
|
200
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DynamicContentPipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
201
|
+
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: DynamicContentPipe, name: "dynamicContent", pure: false }); }
|
|
202
202
|
}
|
|
203
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
203
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DynamicContentPipe, decorators: [{
|
|
204
204
|
type: Pipe,
|
|
205
205
|
args: [{ name: 'dynamicContent', pure: false }]
|
|
206
206
|
}] });
|
|
@@ -248,9 +248,9 @@ class DynamicContentModule {
|
|
|
248
248
|
providers
|
|
249
249
|
};
|
|
250
250
|
}
|
|
251
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
252
|
-
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.
|
|
253
|
-
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.
|
|
251
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DynamicContentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
252
|
+
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: DynamicContentModule, declarations: [DynamicContentPipe, O3rDynamicContentPipe], exports: [DynamicContentPipe, O3rDynamicContentPipe] }); }
|
|
253
|
+
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DynamicContentModule, providers: [
|
|
254
254
|
{
|
|
255
255
|
provide: DYNAMIC_CONTENT_BASE_PATH_TOKEN,
|
|
256
256
|
useFactory: getDynamicContent
|
|
@@ -262,7 +262,7 @@ class DynamicContentModule {
|
|
|
262
262
|
DynamicContentService
|
|
263
263
|
] }); }
|
|
264
264
|
}
|
|
265
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
265
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DynamicContentModule, decorators: [{
|
|
266
266
|
type: NgModule,
|
|
267
267
|
args: [{
|
|
268
268
|
declarations: [DynamicContentPipe, O3rDynamicContentPipe],
|
|
@@ -288,23 +288,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
|
|
|
288
288
|
* Replace: storage data will be completely replaced by the ones provided
|
|
289
289
|
* ReplaceIfNotEmpty: If no parameters are provided, use the content from storage. Otherwise use the ones provided and update the storage with them.
|
|
290
290
|
*/
|
|
291
|
-
// eslint-disable-next-line no-shadow
|
|
292
291
|
var StorageStrategy;
|
|
293
292
|
(function (StorageStrategy) {
|
|
294
|
-
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
293
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention -- required naming convention
|
|
295
294
|
StorageStrategy[StorageStrategy["Rehydrate"] = 0] = "Rehydrate";
|
|
296
|
-
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
295
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention -- required naming convention
|
|
297
296
|
StorageStrategy[StorageStrategy["Merge"] = 1] = "Merge";
|
|
298
|
-
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
297
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention -- required naming convention
|
|
299
298
|
StorageStrategy[StorageStrategy["Replace"] = 2] = "Replace";
|
|
300
|
-
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
299
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention -- required naming convention
|
|
301
300
|
StorageStrategy[StorageStrategy["ReplaceIfNotEmpty"] = 3] = "ReplaceIfNotEmpty";
|
|
302
301
|
})(StorageStrategy || (StorageStrategy = {}));
|
|
303
302
|
const defaultRequestParametersConfig = {
|
|
304
|
-
storage: (typeof window
|
|
303
|
+
storage: (typeof window === 'undefined') ? undefined : window.sessionStorage,
|
|
305
304
|
strategy: StorageStrategy.Rehydrate,
|
|
306
|
-
queryParamsValue: typeof document !== 'undefined' && document.body
|
|
307
|
-
postParamsValue: typeof document !== 'undefined' && document.body
|
|
305
|
+
queryParamsValue: (typeof document !== 'undefined' && document.body?.dataset?.query) || '{}',
|
|
306
|
+
postParamsValue: (typeof document !== 'undefined' && document.body?.dataset?.post) || '{}'
|
|
308
307
|
};
|
|
309
308
|
|
|
310
309
|
/**
|
|
@@ -433,7 +432,7 @@ class RequestParametersService {
|
|
|
433
432
|
* @param paramsToClear the list on key that you want to clear in get parameters
|
|
434
433
|
*/
|
|
435
434
|
clearQueryParameters(paramsToClear) {
|
|
436
|
-
const newQuery = (paramsToClear ? Object.keys(this._query).filter((key) => paramsToClear.
|
|
435
|
+
const newQuery = (paramsToClear ? Object.keys(this._query).filter((key) => !paramsToClear.includes(key)) : [])
|
|
437
436
|
.reduce((acc, key) => {
|
|
438
437
|
acc[key] = this._query[key];
|
|
439
438
|
return acc;
|
|
@@ -448,7 +447,7 @@ class RequestParametersService {
|
|
|
448
447
|
* @param paramsToClear the list on key that you want to clean in post parameters
|
|
449
448
|
*/
|
|
450
449
|
clearPostParameters(paramsToClear) {
|
|
451
|
-
const newPost = (paramsToClear ? Object.keys(this._post).filter((key) => paramsToClear.
|
|
450
|
+
const newPost = (paramsToClear ? Object.keys(this._post).filter((key) => !paramsToClear.includes(key)) : [])
|
|
452
451
|
.reduce((acc, key) => {
|
|
453
452
|
acc[key] = this._post[key];
|
|
454
453
|
return acc;
|
|
@@ -476,16 +475,16 @@ class RequestParametersService {
|
|
|
476
475
|
return params;
|
|
477
476
|
}
|
|
478
477
|
return Object.keys(params)
|
|
479
|
-
.filter((key) => paramstoFilter.
|
|
478
|
+
.filter((key) => !paramstoFilter.includes(key))
|
|
480
479
|
.reduce((acc, key) => {
|
|
481
480
|
acc[key] = params[key];
|
|
482
481
|
return acc;
|
|
483
482
|
}, {});
|
|
484
483
|
}
|
|
485
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
486
|
-
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.
|
|
484
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RequestParametersService, deps: [{ token: REQUEST_PARAMETERS_CONFIG_TOKEN }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
485
|
+
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RequestParametersService }); }
|
|
487
486
|
}
|
|
488
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
487
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RequestParametersService, decorators: [{
|
|
489
488
|
type: Injectable
|
|
490
489
|
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
491
490
|
type: Inject,
|
|
@@ -514,9 +513,9 @@ class RequestParametersModule {
|
|
|
514
513
|
]
|
|
515
514
|
};
|
|
516
515
|
}
|
|
517
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
518
|
-
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.
|
|
519
|
-
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.
|
|
516
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RequestParametersModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
517
|
+
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: RequestParametersModule }); }
|
|
518
|
+
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RequestParametersModule, providers: [
|
|
520
519
|
{
|
|
521
520
|
provide: REQUEST_PARAMETERS_CONFIG_TOKEN,
|
|
522
521
|
useValue: {}
|
|
@@ -524,7 +523,7 @@ class RequestParametersModule {
|
|
|
524
523
|
RequestParametersService
|
|
525
524
|
] }); }
|
|
526
525
|
}
|
|
527
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
526
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RequestParametersModule, decorators: [{
|
|
528
527
|
type: NgModule,
|
|
529
528
|
args: [{
|
|
530
529
|
imports: [],
|
|
@@ -539,11 +538,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
|
|
|
539
538
|
}] });
|
|
540
539
|
|
|
541
540
|
class StyleLazyLoaderModule {
|
|
542
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
543
|
-
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.
|
|
544
|
-
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.
|
|
541
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: StyleLazyLoaderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
542
|
+
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: StyleLazyLoaderModule, imports: [DynamicContentModule] }); }
|
|
543
|
+
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: StyleLazyLoaderModule, imports: [DynamicContentModule] }); }
|
|
545
544
|
}
|
|
546
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
545
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: StyleLazyLoaderModule, decorators: [{
|
|
547
546
|
type: NgModule,
|
|
548
547
|
args: [{
|
|
549
548
|
imports: [DynamicContentModule]
|
|
@@ -564,14 +563,14 @@ class StyleLazyLoader {
|
|
|
564
563
|
* and the styleId id of the dynamic style in the body tag.
|
|
565
564
|
*/
|
|
566
565
|
loadStyleFromURL(styleUrlConfig) {
|
|
567
|
-
const elementId = styleUrlConfig.id
|
|
568
|
-
let style = document.
|
|
566
|
+
const elementId = styleUrlConfig.id || this.DEFAULT_STYLE_ELEMENT_ID;
|
|
567
|
+
let style = document.querySelector(`#${elementId}`);
|
|
569
568
|
if (style === null) {
|
|
570
569
|
style = document.createElement('link');
|
|
571
570
|
style.rel = 'stylesheet';
|
|
572
571
|
style.type = 'text/css';
|
|
573
|
-
const head = document.
|
|
574
|
-
head.
|
|
572
|
+
const head = document.querySelectorAll('head')[0];
|
|
573
|
+
head.append(style);
|
|
575
574
|
}
|
|
576
575
|
if (styleUrlConfig.integrity) {
|
|
577
576
|
style.integrity = styleUrlConfig.integrity;
|
|
@@ -592,10 +591,10 @@ class StyleLazyLoader {
|
|
|
592
591
|
styleUrlConfig.href = dynamicContentPath;
|
|
593
592
|
this.loadStyleFromURL(styleUrlConfig);
|
|
594
593
|
}
|
|
595
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
596
|
-
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.
|
|
594
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: StyleLazyLoader, deps: [{ token: DynamicContentService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
595
|
+
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: StyleLazyLoader, providedIn: StyleLazyLoaderModule }); }
|
|
597
596
|
}
|
|
598
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
597
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: StyleLazyLoader, decorators: [{
|
|
599
598
|
type: Injectable,
|
|
600
599
|
args: [{
|
|
601
600
|
providedIn: StyleLazyLoaderModule
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"o3r-dynamic-content.mjs","sources":["../../src/stores/asset-path-override/asset-path-override.actions.ts","../../src/stores/asset-path-override/asset-path-override.reducer.ts","../../src/stores/asset-path-override/asset-path-override.state.ts","../../src/stores/asset-path-override/asset-path-override.module.ts","../../src/stores/asset-path-override/asset-path-override.selectors.ts","../../src/stores/asset-path-override/asset-path-override.sync.ts","../../src/services/dynamic-content/dynamic-content.token.ts","../../src/services/dynamic-content/dynamic-content.service.ts","../../src/services/dynamic-content/dynamic-content.pipe.ts","../../src/services/dynamic-content/dynamic-content.module.ts","../../src/services/request-parameters/request-parameters.config.ts","../../src/services/request-parameters/request-parameters.token.ts","../../src/services/request-parameters/request-parameters.service.ts","../../src/services/request-parameters/request-parameters.module.ts","../../src/services/styling/style-lazy-loader.module.ts","../../src/services/styling/style-lazy-loader.service.ts","../../src/o3r-dynamic-content.ts"],"sourcesContent":["import { createAction, props } from '@ngrx/store';\nimport type { SetStateActionPayload } from '@o3r/core';\nimport { AssetPathOverrideState } from './asset-path-override.state';\n\n/** Actions */\nconst ACTION_SET = '[AssetPathOverride] set entities';\n\n/**\n * Clear all overrides and fill the store with the payload\n */\nexport const setAssetPathOverride = createAction(ACTION_SET, props<SetStateActionPayload<AssetPathOverrideState>>());\n","import {ActionCreator, createReducer, on, ReducerTypes} from '@ngrx/store';\nimport * as actions from './asset-path-override.actions';\n\nimport {AssetPathOverrideState} from './asset-path-override.state';\n\n/**\n * AssetPathOverride Store initial value\n */\nexport const assetPathOverrideInitialState: AssetPathOverrideState = {assetPathOverrides: {}};\n\n/**\n * List of basic actions for AssetPathOverride Store\n */\nexport const assetPathOverrideReducerFeatures: ReducerTypes<AssetPathOverrideState, ActionCreator[]>[] = [\n on(actions.setAssetPathOverride, (_state, payload) => ({...payload.state}))\n];\n\n/**\n * AssetPathOverride Store reducer\n */\nexport const assetPathOverrideReducer = createReducer(\n assetPathOverrideInitialState,\n ...assetPathOverrideReducerFeatures\n);\n","/**\n * AssetPathOverride store state\n */\nexport interface AssetPathOverrideState {\n /** Mapping of asset path (key) and its override (value)*/\n assetPathOverrides: Record<string,string>;\n}\n\n/**\n * Name of the AssetPathOverride Store\n */\nexport const ASSET_PATH_OVERRIDE_STORE_NAME = 'assetPathOverride';\n\n/**\n * AssetPathOverride Store Interface\n */\nexport interface AssetPathOverrideStore {\n /** AssetPathOverride state */\n [ASSET_PATH_OVERRIDE_STORE_NAME]: AssetPathOverrideState;\n}\n","import { InjectionToken, ModuleWithProviders, NgModule } from '@angular/core';\nimport { Action, ActionReducer, StoreModule } from '@ngrx/store';\n\nimport { assetPathOverrideReducer } from './asset-path-override.reducer';\nimport { ASSET_PATH_OVERRIDE_STORE_NAME, AssetPathOverrideState } from './asset-path-override.state';\n\n/** Token of the AssetPathOverride reducer */\nexport const ASSET_PATH_OVERRIDE_REDUCER_TOKEN = new InjectionToken<ActionReducer<AssetPathOverrideState, Action>>('Feature AssetPathOverride Reducer');\n\n/** Provide default reducer for AssetPathOverride store */\nexport function getDefaultAssetPathOverrideReducer() {\n return assetPathOverrideReducer;\n}\n\n@NgModule({\n imports: [\n StoreModule.forFeature(ASSET_PATH_OVERRIDE_STORE_NAME, ASSET_PATH_OVERRIDE_REDUCER_TOKEN)\n ],\n providers: [\n { provide: ASSET_PATH_OVERRIDE_REDUCER_TOKEN, useFactory: getDefaultAssetPathOverrideReducer }\n ]\n})\nexport class AssetPathOverrideStoreModule {\n public static forRoot<T extends AssetPathOverrideState>(reducerFactory: () => ActionReducer<T, Action>): ModuleWithProviders<AssetPathOverrideStoreModule> {\n return {\n ngModule: AssetPathOverrideStoreModule,\n providers: [\n { provide: ASSET_PATH_OVERRIDE_REDUCER_TOKEN, useFactory: reducerFactory }\n ]\n };\n }\n}\n","import { createFeatureSelector, createSelector } from '@ngrx/store';\nimport { ASSET_PATH_OVERRIDE_STORE_NAME, AssetPathOverrideState } from './asset-path-override.state';\n\n/** Select AssetPathOverride State */\nexport const selectAssetPathOverrideState = createFeatureSelector<AssetPathOverrideState>(ASSET_PATH_OVERRIDE_STORE_NAME);\n\n/** Select all assetPath override map */\nexport const selectAssetPathOverride = createSelector(selectAssetPathOverrideState, (state) => state?.assetPathOverrides || {});\n\n","import type { Serializer } from '@o3r/core';\nimport { assetPathOverrideInitialState } from './asset-path-override.reducer';\nimport { AssetPathOverrideState } from './asset-path-override.state';\n\n/**\n * Deserializer\n * @param rawObject\n */\nexport const assetPathOverrideStorageDeserializer = (rawObject: any) => {\n if (!rawObject) {\n return assetPathOverrideInitialState;\n }\n return rawObject;\n};\n\nexport const assetPathOverrideStorageSync: Serializer<AssetPathOverrideState> = {\n deserialize: assetPathOverrideStorageDeserializer\n};\n","import {InjectionToken} from '@angular/core';\n\n/**\n * Injection token for the rootpath of dynamic content\n */\nexport const DYNAMIC_CONTENT_BASE_PATH_TOKEN: InjectionToken<string> = new InjectionToken('Dynamic content path injection token');\n\n/**\n * Injection token for the assets path injected by the cms\n * This token will be injected only in editor mode\n */\nexport const CMS_ASSETS_PATH_TOKEN: InjectionToken<string> = new InjectionToken('CMS assets path injection token');\n","import { Inject, Injectable, Optional } from '@angular/core';\nimport { select, Store } from '@ngrx/store';\nimport { of } from 'rxjs';\nimport { distinctUntilChanged, map, shareReplay } from 'rxjs/operators';\nimport { AssetPathOverrideStore, selectAssetPathOverride } from '../../stores/index';\nimport { CMS_ASSETS_PATH_TOKEN, DYNAMIC_CONTENT_BASE_PATH_TOKEN } from './dynamic-content.token';\n\nconst MEDIA_FOLDER_NAME = 'assets';\n\n/**\n * Service for getting dynamic content path\n */\n@Injectable()\nexport class DynamicContentService {\n public readonly basePath: string;\n\n private readonly mediaFolder: string;\n\n constructor(@Inject(DYNAMIC_CONTENT_BASE_PATH_TOKEN) dynamicContentPath: string,\n @Inject(CMS_ASSETS_PATH_TOKEN) private readonly cmsOnlyAssetsPath: string,\n @Optional() private readonly store?: Store<AssetPathOverrideStore>) {\n this.basePath = dynamicContentPath.replace(/\\/$/, '');\n this.mediaFolder = MEDIA_FOLDER_NAME;\n }\n\n private normalizePath(assetPath?: string) {\n return !assetPath ? '' : assetPath.replace(/^\\//, '');\n }\n\n private getContentPath(assetPath?: string) {\n const normalizedAssetPath = this.normalizePath(assetPath);\n return this.basePath !== '' ? `${this.basePath}/${normalizedAssetPath}` : assetPath || '';\n }\n\n private getMediaPath(assetPath?: string) {\n if (this.cmsOnlyAssetsPath && assetPath) {\n return assetPath.startsWith('/') ? assetPath : `${this.cmsOnlyAssetsPath.replace(/\\/$/, '')}/${assetPath}`;\n }\n return this.getContentPath(this.mediaFolder ? `${this.mediaFolder}/${this.normalizePath(assetPath)}` : assetPath);\n }\n\n /**\n * Gets the full path of a content relative to the root\n * Content path doesn't consider any override, you will always get the same file\n * @param assetPath asset location in the root folder\n * @example\n * ```typescript\n * getMediaPath('assets/imgs/my-image.png') // will give you the basePath + 'assets/imgs/my-image.png'\n * ```\n */\n public getContentPathStream(assetPath?: string) {\n return of(this.getContentPath(assetPath));\n }\n\n /**\n * Gets the stream that provides the full path of a media content\n * A Media content is always stored in the 'assets' media folder, no external content will be accessible through this function\n * If any override is applied to the content, returns the override path instead\n * @param assetPath asset location in the media folder (e.g imgs/my-image.png)\n * @example\n * ```typescript\n * getMediaPathStream('imgs/my-image.png') // will give you the basePath + mediaFolder + 'imgs/my-image.png'\n * ```\n */\n public getMediaPathStream(assetPath?: string) {\n if (!this.store) {\n return of(this.getMediaPath(assetPath));\n }\n return this.store.pipe(\n select(selectAssetPathOverride),\n map((entities) => assetPath && entities && entities[assetPath] ? entities[assetPath] : assetPath),\n map((finalAssetPath) => this.getMediaPath(finalAssetPath)),\n distinctUntilChanged(),\n shareReplay({bufferSize: 1, refCount: true})\n );\n }\n}\n","import { ChangeDetectorRef, OnDestroy, Pipe, PipeTransform } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { DynamicContentService } from './dynamic-content.service';\n\n@Pipe({name: 'o3rDynamicContent', pure: false})\nexport class O3rDynamicContentPipe implements PipeTransform, OnDestroy {\n /** Last query value */\n protected lastQuery?: string;\n\n /** Subscription to retrieve media path */\n protected onMediaPathChange?: Subscription;\n\n /** Path to the media */\n protected mediaPath = '';\n\n constructor(protected readonly service: DynamicContentService, protected readonly cd: ChangeDetectorRef) {}\n\n /** @inheritDoc */\n public transform(query?: string) {\n if (query !== this.lastQuery) {\n this.lastQuery = query;\n if (this.onMediaPathChange) {\n this.onMediaPathChange.unsubscribe();\n }\n this.onMediaPathChange = this.service.getMediaPathStream(query).subscribe((mediaPath) => {\n this.mediaPath = mediaPath;\n this.cd.markForCheck();\n });\n }\n\n return this.mediaPath;\n }\n\n /** @inheritDoc */\n public ngOnDestroy(): void {\n if (this.onMediaPathChange) {\n this.onMediaPathChange.unsubscribe();\n }\n }\n}\n\n/** @deprecated please use O3rDynamicContentPipe, will be removed in v12. */\n@Pipe({name: 'dynamicContent', pure: false})\nexport class DynamicContentPipe extends O3rDynamicContentPipe implements PipeTransform {}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { DynamicContentPipe, O3rDynamicContentPipe } from './dynamic-content.pipe';\nimport { DynamicContentService } from './dynamic-content.service';\nimport { CMS_ASSETS_PATH_TOKEN, DYNAMIC_CONTENT_BASE_PATH_TOKEN } from './dynamic-content.token';\n\n/**\n * Function to get dynamic content from body dataset\n */\nexport function getDynamicContent() {\n return document.body.dataset.dynamiccontentpath || '';\n}\n\n/**\n * Function to get the cms assets from body dataset\n * This will be used only in a CMS context(not in local or prod) to display correctly the assets in the editor\n */\nexport function getCmsAssets() {\n return document.body.dataset.cmsassetspath || '';\n}\n\n@NgModule({\n declarations: [DynamicContentPipe, O3rDynamicContentPipe],\n providers: [\n {\n provide: DYNAMIC_CONTENT_BASE_PATH_TOKEN,\n useFactory: getDynamicContent\n },\n {\n provide: CMS_ASSETS_PATH_TOKEN,\n useFactory: getCmsAssets\n },\n DynamicContentService\n ],\n exports: [DynamicContentPipe, O3rDynamicContentPipe]\n})\n/**\n * DynamicContent module\n */\nexport class DynamicContentModule {\n\n /**\n * Customize the location where the application will search for the base path of dynamic content\n * @param dynamicPath Configuration for dynamic content path\n * @param dynamicPath.content The string will be used as base path of dynamic content\n * @param dynamicPath.cmsAssets The string will be used for the the base path of cms assets\n * @note The cmsAssets will be used only in the cms editor mode and it will take priority over dynamic content\n */\n public static forRoot(dynamicPath: {content: string} | {cmsAssets: string}): ModuleWithProviders<DynamicContentModule> {\n const providers = [];\n if ('content' in dynamicPath) {\n providers.push({\n provide: DYNAMIC_CONTENT_BASE_PATH_TOKEN,\n useValue: dynamicPath.content\n });\n }\n if ('cmsAssets' in dynamicPath) {\n providers.push({\n provide: CMS_ASSETS_PATH_TOKEN,\n useValue: dynamicPath.cmsAssets\n });\n }\n\n return {\n ngModule: DynamicContentModule,\n providers\n };\n }\n}\n","/**\n * Strategies available to read / write data in the RequestParameters service.\n * Rehydrate: if the storage already have data, those will be used by the service, ignoring new data. Otherwise set the storage\n * Merge: storage data will be merged with the ones provided. (provided data has priority)\n * Replace: storage data will be completely replaced by the ones provided\n * ReplaceIfNotEmpty: If no parameters are provided, use the content from storage. Otherwise use the ones provided and update the storage with them.\n */\n// eslint-disable-next-line no-shadow\nexport enum StorageStrategy {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n Rehydrate = 0,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n Merge = 1,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n Replace = 2,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n ReplaceIfNotEmpty = 3\n}\n\n/**\n * Configuration used by a user to feed the request parameters service.\n */\nexport interface RequestParametersConfig {\n /**\n * Strategy used by the RequestParameters Service. See StorageStrategy for more info\n */\n strategy: StorageStrategy;\n /**\n * Storage used by the RequestParameters service\n */\n storage?: Storage;\n /**\n * Value of the DOM element containing your query parameters (e.g. `document.body.dataset.query`)\n */\n queryParamsValue: string;\n /**\n * Value of the DOM element containing your post parameters (e.g. `document.body.dataset.post`)\n */\n postParamsValue: string;\n}\n\nexport const defaultRequestParametersConfig: RequestParametersConfig = {\n storage: (typeof window !== 'undefined') ? window.sessionStorage : undefined,\n strategy: StorageStrategy.Rehydrate,\n queryParamsValue: typeof document !== 'undefined' && document.body && document.body.dataset && document.body.dataset.query || '{}',\n postParamsValue: typeof document !== 'undefined' && document.body && document.body.dataset && document.body.dataset.post || '{}'\n};\n","import { InjectionToken } from '@angular/core';\nimport { RequestParametersConfig } from './request-parameters.config';\n\n/**\n * Token to be provided in case of service customization needs.\n */\nexport const REQUEST_PARAMETERS_CONFIG_TOKEN = new InjectionToken<Partial<RequestParametersConfig>>('RequestParametersConfig injection token', {factory: () => ({})});\n","import {Inject, Injectable} from '@angular/core';\n\nimport {defaultRequestParametersConfig, RequestParametersConfig, StorageStrategy} from './request-parameters.config';\n\nimport {REQUEST_PARAMETERS_CONFIG_TOKEN} from './request-parameters.token';\n\nexport type ParamsList = 'query' | 'post';\n\nexport type ParamsType = {[k in ParamsList]: {[key: string]: string}};\n\n/**\n * Partial configuration for RequestParameters Service\n */\nexport interface PartialRequestParametersConfig extends Partial<RequestParametersConfig> {}\n\n/**\n * Service used to store the request parameters of your requests so that subsequent calls or refresh the page will preserve\n * them.\n */\n@Injectable()\nexport class RequestParametersService implements ParamsType {\n private _query: {[key: string]: any} = {};\n private _post: {[key: string]: any} = {};\n\n private readonly config: RequestParametersConfig;\n\n constructor(@Inject(REQUEST_PARAMETERS_CONFIG_TOKEN) config: PartialRequestParametersConfig) {\n this.config = defaultRequestParametersConfig;\n (Object.keys(config) as (keyof RequestParametersConfig)[])\n .filter((key) => config[key] !== undefined)\n .forEach((key) => (this.config as any)[key] = config[key]);\n\n this.setParameters('query', JSON.parse(this.config.queryParamsValue));\n this.setParameters('post', JSON.parse(this.config.postParamsValue));\n }\n\n /**\n * Depending on the strategy, set the internal values for the parameters.\n * See StorageStrategy for more info.\n * @param key\n * @param value\n */\n private setParameters(key: ParamsList, value: {[key: string]: string}) {\n const privateKey: `_${ParamsList}` = `_${key}`;\n if (!this.config.storage) {\n // No storage is available , cannot set items\n return;\n }\n switch (this.config.strategy) {\n case StorageStrategy.Rehydrate: {\n if (!this.config.storage.getItem(privateKey)) {\n this[privateKey] = value;\n this.config.storage.setItem(privateKey, JSON.stringify(value));\n break;\n }\n this[privateKey] = JSON.parse(this.config.storage.getItem(privateKey) || '{}');\n break;\n }\n case StorageStrategy.Replace: {\n this[privateKey] = value;\n this.config.storage.setItem(privateKey, JSON.stringify(value));\n break;\n }\n case StorageStrategy.Merge: {\n const storageData = Object.assign(JSON.parse(this.config.storage.getItem(privateKey) || '{}'), value);\n this[privateKey] = storageData;\n this.config.storage.setItem(privateKey, JSON.stringify(storageData));\n break;\n }\n case StorageStrategy.ReplaceIfNotEmpty: {\n if (Object.keys(value).length > 0) {\n this[privateKey] = value;\n this.config.storage.setItem(privateKey, JSON.stringify(value));\n break;\n }\n this[privateKey] = JSON.parse(this.config.storage.getItem(privateKey) || '{}');\n break;\n }\n }\n }\n\n /**\n * Get all the query parameters in a map.\n */\n public get query() {\n return this._query;\n }\n\n /**\n * Get all the post parameters in a map.\n */\n public get post() {\n return this._post;\n }\n\n /**\n * Get a specific query parameter value, given the key.\n * @param key\n */\n public getQueryParameter(key: string): string | undefined {\n return this._query[key];\n }\n\n /**\n * Get a specific query parameter value as boolean, given the key.\n * @param key\n */\n public getQueryParameterAsBoolean(key: string): boolean | undefined {\n const queryParameter: string | undefined = this.getQueryParameter(key);\n return queryParameter ? queryParameter.toLowerCase() === 'true' : undefined;\n }\n\n /**\n * Get a specific post parameter value, given the key.\n * @param key\n */\n public getPostParameter(key: string): string | undefined {\n return this._post[key];\n }\n\n /**\n * Get a specific post parameter value as boolean, given the key.\n * @param key\n */\n public getPostParameterAsBoolean(key: string): boolean | undefined {\n const postParameter: string | undefined = this.getPostParameter(key);\n return postParameter ? postParameter.toLowerCase() === 'true' : undefined;\n }\n\n /**\n * Get a specific parameter value, given the key.\n * @param key\n */\n public getParameter(key: string): string | undefined {\n return this._query[key] || this._post[key];\n }\n\n /**\n * Get a specific parameter value as boolean, given the key.\n * @param key\n */\n public getParameterAsBoolean(key: string): boolean | undefined {\n const parameter: string | undefined = this.getParameter(key);\n return parameter ? parameter.toLowerCase() === 'true' : undefined;\n }\n\n /**\n * Clear GET parameters from the storage\n * @param paramsToClear the list on key that you want to clear in get parameters\n */\n public clearQueryParameters(paramsToClear?: string[]) {\n const newQuery = (paramsToClear ? Object.keys(this._query).filter((key) => paramsToClear.indexOf(key) === -1) : [])\n .reduce<{[k: string]: string}>((acc, key) => {\n acc[key] = this._query[key];\n return acc;\n }, {});\n if (this.config.storage) {\n this.config.storage.setItem('_query', JSON.stringify(newQuery));\n }\n this._query = newQuery;\n }\n\n /**\n * Clear POST parameters from the storage\n * @param paramsToClear the list on key that you want to clean in post parameters\n */\n public clearPostParameters(paramsToClear?: string[]) {\n const newPost = (paramsToClear ? Object.keys(this._post).filter((key) => paramsToClear.indexOf(key) === -1) : [])\n .reduce<{[k: string]: string}>((acc, key) => {\n acc[key] = this._post[key];\n return acc;\n }, {});\n if (this.config.storage) {\n this.config.storage.setItem('_post', JSON.stringify(newPost));\n }\n this._post = newPost;\n }\n\n /**\n * Get all the parameters in a map.\n * @param priority the parameter to be given priority in case same key is in get and post params.\n */\n public getParams(priority: ParamsList = 'query') {\n return priority === 'query' ? { ...this._post, ...this._query } : { ...this._query, ...this._post };\n }\n\n /**\n * Filter Parameters(both Query/POST) from the storage\n * @param paramstoFilter the list on key that you want to filter from parameters\n * @param priority the priorty of the parameter type(POST/Query)\n */\n public getFilteredParameters(paramstoFilter?: string[], priority: ParamsList = 'query') {\n const params = this.getParams(priority);\n if (!paramstoFilter) {\n return params;\n }\n return Object.keys(params)\n .filter((key) => paramstoFilter.indexOf(key) === -1)\n .reduce<{ [k: string]: string }>((acc, key) => {\n acc[key] = params[key];\n return acc;\n }, {});\n }\n}\n","import {ModuleWithProviders, NgModule} from '@angular/core';\n\nimport { RequestParametersService} from './request-parameters.service';\nimport { REQUEST_PARAMETERS_CONFIG_TOKEN } from './request-parameters.token';\n\nimport {RequestParametersConfig} from './request-parameters.config';\n\n/**\n * Empty configuration factory, used when config is not provided. It needs a separate function for AOT.\n */\nexport function defaultConfigFactory() {\n return {};\n}\n/**\n * RequestParametersService Module\n */\n@NgModule({\n imports: [],\n providers: [\n {\n provide: REQUEST_PARAMETERS_CONFIG_TOKEN,\n useValue: {}\n },\n RequestParametersService\n ]\n})\nexport class RequestParametersModule {\n public static forRoot(config: () => Partial<RequestParametersConfig> = defaultConfigFactory): ModuleWithProviders<RequestParametersModule> {\n return {\n ngModule: RequestParametersModule,\n providers: [\n {\n provide: REQUEST_PARAMETERS_CONFIG_TOKEN,\n useFactory: config\n },\n RequestParametersService\n ]\n };\n }\n}\n","import { NgModule } from '@angular/core';\nimport { DynamicContentModule } from '../dynamic-content/index';\n\n@NgModule({\n imports: [DynamicContentModule]\n})\nexport class StyleLazyLoaderModule {}\n","import { Injectable } from '@angular/core';\nimport { firstValueFrom } from 'rxjs';\nimport { StyleLazyLoaderModule } from './style-lazy-loader.module';\nimport { DynamicContentService } from '../dynamic-content/index';\n\n/**\n * Interface to describe a style to lazy load from a url.\n */\nexport interface StyleURL {\n /** url to file */\n href: string;\n /** id of the HTML element */\n id?: string;\n /** html integrity attribute to verify fetched resources */\n integrity?: string;\n /** html crossOrigin attribute for CORS support. */\n crossOrigin?: 'anonymous' | 'use-credentials' | '';\n}\n\n/**\n * Service to lazy load a CSS file\n */\n@Injectable({\n providedIn: StyleLazyLoaderModule\n})\nexport class StyleLazyLoader {\n\n private readonly DEFAULT_STYLE_ELEMENT_ID = 'external-theme';\n\n constructor(private readonly dcService: DynamicContentService) {\n }\n\n /**\n * Load a new CSS from an absolute URL, if we already HTML element exists with the url, otherwise\n * @param styleUrlConfig object containing CSS File absolute URL to load, integrity and crossOrigin attributes\n * and the styleId id of the dynamic style in the body tag.\n */\n public loadStyleFromURL(styleUrlConfig: StyleURL) {\n\n const elementId = styleUrlConfig.id ? styleUrlConfig.id : this.DEFAULT_STYLE_ELEMENT_ID;\n let style = document.getElementById(elementId) as HTMLLinkElement | null;\n\n if (style === null) {\n style = document.createElement('link');\n style.rel = 'stylesheet';\n style.type = 'text/css';\n const head = document.getElementsByTagName('head')[0];\n head.appendChild(style);\n }\n if (styleUrlConfig.integrity) {\n style.integrity = styleUrlConfig.integrity;\n }\n if (styleUrlConfig.crossOrigin !== undefined) {\n style.crossOrigin = styleUrlConfig.crossOrigin;\n }\n style.href = styleUrlConfig.href;\n\n return style;\n }\n\n /**\n * Load a new CSS File\n * @param styleUrlConfig CSS File config containing URL to load, integrity and crossOrigin attributes\n * and the styleId id of the dynamic style in the body tag\n */\n public async asyncLoadStyleFromDynamicContent(styleUrlConfig: StyleURL) {\n const dynamicContentPath = await firstValueFrom(\n this.dcService.getContentPathStream(styleUrlConfig.href)\n );\n styleUrlConfig.href = dynamicContentPath;\n this.loadStyleFromURL(styleUrlConfig);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["actions.setAssetPathOverride","i1.DynamicContentService"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"o3r-dynamic-content.mjs","sources":["../../src/stores/asset-path-override/asset-path-override.actions.ts","../../src/stores/asset-path-override/asset-path-override.reducer.ts","../../src/stores/asset-path-override/asset-path-override.state.ts","../../src/stores/asset-path-override/asset-path-override.module.ts","../../src/stores/asset-path-override/asset-path-override.selectors.ts","../../src/stores/asset-path-override/asset-path-override.sync.ts","../../src/services/dynamic-content/dynamic-content.token.ts","../../src/services/dynamic-content/dynamic-content.service.ts","../../src/services/dynamic-content/dynamic-content.pipe.ts","../../src/services/dynamic-content/dynamic-content.module.ts","../../src/services/request-parameters/request-parameters.config.ts","../../src/services/request-parameters/request-parameters.token.ts","../../src/services/request-parameters/request-parameters.service.ts","../../src/services/request-parameters/request-parameters.module.ts","../../src/services/styling/style-lazy-loader.module.ts","../../src/services/styling/style-lazy-loader.service.ts","../../src/o3r-dynamic-content.ts"],"sourcesContent":["import {\n createAction,\n props,\n} from '@ngrx/store';\nimport type {\n SetStateActionPayload,\n} from '@o3r/core';\nimport {\n AssetPathOverrideState,\n} from './asset-path-override.state';\n\n/** Actions */\nconst ACTION_SET = '[AssetPathOverride] set entities';\n\n/**\n * Clear all overrides and fill the store with the payload\n */\nexport const setAssetPathOverride = createAction(ACTION_SET, props<SetStateActionPayload<AssetPathOverrideState>>());\n","import {\n ActionCreator,\n createReducer,\n on,\n ReducerTypes,\n} from '@ngrx/store';\nimport * as actions from './asset-path-override.actions';\nimport {\n AssetPathOverrideState,\n} from './asset-path-override.state';\n\n/**\n * AssetPathOverride Store initial value\n */\nexport const assetPathOverrideInitialState: AssetPathOverrideState = { assetPathOverrides: {} };\n\n/**\n * List of basic actions for AssetPathOverride Store\n */\nexport const assetPathOverrideReducerFeatures: ReducerTypes<AssetPathOverrideState, ActionCreator[]>[] = [\n on(actions.setAssetPathOverride, (_state, payload) => ({ ...payload.state }))\n];\n\n/**\n * AssetPathOverride Store reducer\n */\nexport const assetPathOverrideReducer = createReducer(\n assetPathOverrideInitialState,\n ...assetPathOverrideReducerFeatures\n);\n","/**\n * AssetPathOverride store state\n */\nexport interface AssetPathOverrideState {\n /** Mapping of asset path (key) and its override (value)*/\n assetPathOverrides: Record<string, string>;\n}\n\n/**\n * Name of the AssetPathOverride Store\n */\nexport const ASSET_PATH_OVERRIDE_STORE_NAME = 'assetPathOverride';\n\n/**\n * AssetPathOverride Store Interface\n */\nexport interface AssetPathOverrideStore {\n /** AssetPathOverride state */\n [ASSET_PATH_OVERRIDE_STORE_NAME]: AssetPathOverrideState;\n}\n","import {\n InjectionToken,\n ModuleWithProviders,\n NgModule,\n} from '@angular/core';\nimport {\n Action,\n ActionReducer,\n StoreModule,\n} from '@ngrx/store';\nimport {\n assetPathOverrideReducer,\n} from './asset-path-override.reducer';\nimport {\n ASSET_PATH_OVERRIDE_STORE_NAME,\n AssetPathOverrideState,\n} from './asset-path-override.state';\n\n/** Token of the AssetPathOverride reducer */\nexport const ASSET_PATH_OVERRIDE_REDUCER_TOKEN = new InjectionToken<ActionReducer<AssetPathOverrideState, Action>>('Feature AssetPathOverride Reducer');\n\n/** Provide default reducer for AssetPathOverride store */\nexport function getDefaultAssetPathOverrideReducer() {\n return assetPathOverrideReducer;\n}\n\n@NgModule({\n imports: [\n StoreModule.forFeature(ASSET_PATH_OVERRIDE_STORE_NAME, ASSET_PATH_OVERRIDE_REDUCER_TOKEN)\n ],\n providers: [\n { provide: ASSET_PATH_OVERRIDE_REDUCER_TOKEN, useFactory: getDefaultAssetPathOverrideReducer }\n ]\n})\nexport class AssetPathOverrideStoreModule {\n public static forRoot<T extends AssetPathOverrideState>(reducerFactory: () => ActionReducer<T, Action>): ModuleWithProviders<AssetPathOverrideStoreModule> {\n return {\n ngModule: AssetPathOverrideStoreModule,\n providers: [\n { provide: ASSET_PATH_OVERRIDE_REDUCER_TOKEN, useFactory: reducerFactory }\n ]\n };\n }\n}\n","import {\n createFeatureSelector,\n createSelector,\n} from '@ngrx/store';\nimport {\n ASSET_PATH_OVERRIDE_STORE_NAME,\n AssetPathOverrideState,\n} from './asset-path-override.state';\n\n/** Select AssetPathOverride State */\nexport const selectAssetPathOverrideState = createFeatureSelector<AssetPathOverrideState>(ASSET_PATH_OVERRIDE_STORE_NAME);\n\n/** Select all assetPath override map */\nexport const selectAssetPathOverride = createSelector(selectAssetPathOverrideState, (state) => state?.assetPathOverrides || {});\n","import type {\n Serializer,\n} from '@o3r/core';\nimport {\n assetPathOverrideInitialState,\n} from './asset-path-override.reducer';\nimport {\n AssetPathOverrideState,\n} from './asset-path-override.state';\n\n/**\n * Deserializer\n * @param rawObject\n */\nexport const assetPathOverrideStorageDeserializer = (rawObject: any) => {\n if (!rawObject) {\n return assetPathOverrideInitialState;\n }\n return rawObject;\n};\n\nexport const assetPathOverrideStorageSync: Serializer<AssetPathOverrideState> = {\n deserialize: assetPathOverrideStorageDeserializer\n};\n","import {\n InjectionToken,\n} from '@angular/core';\n\n/**\n * Injection token for the rootpath of dynamic content\n */\nexport const DYNAMIC_CONTENT_BASE_PATH_TOKEN: InjectionToken<string> = new InjectionToken('Dynamic content path injection token');\n\n/**\n * Injection token for the assets path injected by the cms\n * This token will be injected only in editor mode\n */\nexport const CMS_ASSETS_PATH_TOKEN: InjectionToken<string> = new InjectionToken('CMS assets path injection token');\n","import {\n Inject,\n Injectable,\n Optional,\n} from '@angular/core';\nimport {\n select,\n Store,\n} from '@ngrx/store';\nimport {\n of,\n} from 'rxjs';\nimport {\n distinctUntilChanged,\n map,\n shareReplay,\n} from 'rxjs/operators';\nimport {\n AssetPathOverrideStore,\n selectAssetPathOverride,\n} from '../../stores/index';\nimport {\n CMS_ASSETS_PATH_TOKEN,\n DYNAMIC_CONTENT_BASE_PATH_TOKEN,\n} from './dynamic-content.token';\n\nconst MEDIA_FOLDER_NAME = 'assets';\n\n/**\n * Service for getting dynamic content path\n */\n@Injectable()\nexport class DynamicContentService {\n public readonly basePath: string;\n\n private readonly mediaFolder: string;\n\n constructor(@Inject(DYNAMIC_CONTENT_BASE_PATH_TOKEN) dynamicContentPath: string,\n @Inject(CMS_ASSETS_PATH_TOKEN) private readonly cmsOnlyAssetsPath: string,\n @Optional() private readonly store?: Store<AssetPathOverrideStore>) {\n this.basePath = dynamicContentPath.replace(/\\/$/, '');\n this.mediaFolder = MEDIA_FOLDER_NAME;\n }\n\n private normalizePath(assetPath?: string) {\n return assetPath ? assetPath.replace(/^\\//, '') : '';\n }\n\n private getContentPath(assetPath?: string) {\n const normalizedAssetPath = this.normalizePath(assetPath);\n return this.basePath === '' ? assetPath || '' : `${this.basePath}/${normalizedAssetPath}`;\n }\n\n private getMediaPath(assetPath?: string) {\n if (this.cmsOnlyAssetsPath && assetPath) {\n return assetPath.startsWith('/') ? assetPath : `${this.cmsOnlyAssetsPath.replace(/\\/$/, '')}/${assetPath}`;\n }\n return this.getContentPath(this.mediaFolder ? `${this.mediaFolder}/${this.normalizePath(assetPath)}` : assetPath);\n }\n\n /**\n * Gets the full path of a content relative to the root\n * Content path doesn't consider any override, you will always get the same file\n * @param assetPath asset location in the root folder\n * @example\n * ```typescript\n * getMediaPath('assets/imgs/my-image.png') // will give you the basePath + 'assets/imgs/my-image.png'\n * ```\n */\n public getContentPathStream(assetPath?: string) {\n return of(this.getContentPath(assetPath));\n }\n\n /**\n * Gets the stream that provides the full path of a media content\n * A Media content is always stored in the 'assets' media folder, no external content will be accessible through this function\n * If any override is applied to the content, returns the override path instead\n * @param assetPath asset location in the media folder (e.g imgs/my-image.png)\n * @example\n * ```typescript\n * getMediaPathStream('imgs/my-image.png') // will give you the basePath + mediaFolder + 'imgs/my-image.png'\n * ```\n */\n public getMediaPathStream(assetPath?: string) {\n if (!this.store) {\n return of(this.getMediaPath(assetPath));\n }\n return this.store.pipe(\n select(selectAssetPathOverride),\n map((entities) => assetPath && entities && entities[assetPath] ? entities[assetPath] : assetPath),\n map((finalAssetPath) => this.getMediaPath(finalAssetPath)),\n distinctUntilChanged(),\n shareReplay({ bufferSize: 1, refCount: true })\n );\n }\n}\n","import {\n ChangeDetectorRef,\n OnDestroy,\n Pipe,\n PipeTransform,\n} from '@angular/core';\nimport {\n Subscription,\n} from 'rxjs';\nimport {\n DynamicContentService,\n} from './dynamic-content.service';\n\n@Pipe({ name: 'o3rDynamicContent', pure: false })\nexport class O3rDynamicContentPipe implements PipeTransform, OnDestroy {\n /** Last query value */\n protected lastQuery?: string;\n\n /** Subscription to retrieve media path */\n protected onMediaPathChange?: Subscription;\n\n /** Path to the media */\n protected mediaPath = '';\n\n constructor(protected readonly service: DynamicContentService, protected readonly cd: ChangeDetectorRef) {}\n\n /** @inheritDoc */\n public transform(query?: string) {\n if (query !== this.lastQuery) {\n this.lastQuery = query;\n if (this.onMediaPathChange) {\n this.onMediaPathChange.unsubscribe();\n }\n this.onMediaPathChange = this.service.getMediaPathStream(query).subscribe((mediaPath) => {\n this.mediaPath = mediaPath;\n this.cd.markForCheck();\n });\n }\n\n return this.mediaPath;\n }\n\n /** @inheritDoc */\n public ngOnDestroy(): void {\n if (this.onMediaPathChange) {\n this.onMediaPathChange.unsubscribe();\n }\n }\n}\n\n/** @deprecated please use O3rDynamicContentPipe, will be removed in v12. */\n@Pipe({ name: 'dynamicContent', pure: false })\nexport class DynamicContentPipe extends O3rDynamicContentPipe implements PipeTransform {}\n","import {\n ModuleWithProviders,\n NgModule,\n} from '@angular/core';\nimport {\n DynamicContentPipe,\n O3rDynamicContentPipe,\n} from './dynamic-content.pipe';\nimport {\n DynamicContentService,\n} from './dynamic-content.service';\nimport {\n CMS_ASSETS_PATH_TOKEN,\n DYNAMIC_CONTENT_BASE_PATH_TOKEN,\n} from './dynamic-content.token';\n\n/**\n * Function to get dynamic content from body dataset\n */\nexport function getDynamicContent() {\n return document.body.dataset.dynamiccontentpath || '';\n}\n\n/**\n * Function to get the cms assets from body dataset\n * This will be used only in a CMS context(not in local or prod) to display correctly the assets in the editor\n */\nexport function getCmsAssets() {\n return document.body.dataset.cmsassetspath || '';\n}\n\n@NgModule({\n declarations: [DynamicContentPipe, O3rDynamicContentPipe],\n providers: [\n {\n provide: DYNAMIC_CONTENT_BASE_PATH_TOKEN,\n useFactory: getDynamicContent\n },\n {\n provide: CMS_ASSETS_PATH_TOKEN,\n useFactory: getCmsAssets\n },\n DynamicContentService\n ],\n exports: [DynamicContentPipe, O3rDynamicContentPipe]\n})\n/**\n * DynamicContent module\n */\nexport class DynamicContentModule {\n /**\n * Customize the location where the application will search for the base path of dynamic content\n * @param dynamicPath Configuration for dynamic content path\n * @param dynamicPath.content The string will be used as base path of dynamic content\n * @param dynamicPath.cmsAssets The string will be used for the the base path of cms assets\n * @note The cmsAssets will be used only in the cms editor mode and it will take priority over dynamic content\n */\n public static forRoot(dynamicPath: { content: string } | { cmsAssets: string }): ModuleWithProviders<DynamicContentModule> {\n const providers = [];\n if ('content' in dynamicPath) {\n providers.push({\n provide: DYNAMIC_CONTENT_BASE_PATH_TOKEN,\n useValue: dynamicPath.content\n });\n }\n if ('cmsAssets' in dynamicPath) {\n providers.push({\n provide: CMS_ASSETS_PATH_TOKEN,\n useValue: dynamicPath.cmsAssets\n });\n }\n\n return {\n ngModule: DynamicContentModule,\n providers\n };\n }\n}\n","/**\n * Strategies available to read / write data in the RequestParameters service.\n * Rehydrate: if the storage already have data, those will be used by the service, ignoring new data. Otherwise set the storage\n * Merge: storage data will be merged with the ones provided. (provided data has priority)\n * Replace: storage data will be completely replaced by the ones provided\n * ReplaceIfNotEmpty: If no parameters are provided, use the content from storage. Otherwise use the ones provided and update the storage with them.\n */\n\nexport enum StorageStrategy {\n // eslint-disable-next-line @typescript-eslint/naming-convention -- required naming convention\n Rehydrate = 0,\n // eslint-disable-next-line @typescript-eslint/naming-convention -- required naming convention\n Merge = 1,\n // eslint-disable-next-line @typescript-eslint/naming-convention -- required naming convention\n Replace = 2,\n // eslint-disable-next-line @typescript-eslint/naming-convention -- required naming convention\n ReplaceIfNotEmpty = 3\n}\n\n/**\n * Configuration used by a user to feed the request parameters service.\n */\nexport interface RequestParametersConfig {\n /**\n * Strategy used by the RequestParameters Service. See StorageStrategy for more info\n */\n strategy: StorageStrategy;\n /**\n * Storage used by the RequestParameters service\n */\n storage?: Storage;\n /**\n * Value of the DOM element containing your query parameters (e.g. `document.body.dataset.query`)\n */\n queryParamsValue: string;\n /**\n * Value of the DOM element containing your post parameters (e.g. `document.body.dataset.post`)\n */\n postParamsValue: string;\n}\n\nexport const defaultRequestParametersConfig: Readonly<RequestParametersConfig> = {\n storage: (typeof window === 'undefined') ? undefined : window.sessionStorage,\n strategy: StorageStrategy.Rehydrate,\n queryParamsValue: (typeof document !== 'undefined' && document.body?.dataset?.query) || '{}',\n postParamsValue: (typeof document !== 'undefined' && document.body?.dataset?.post) || '{}'\n} as const;\n","import {\n InjectionToken,\n} from '@angular/core';\nimport {\n RequestParametersConfig,\n} from './request-parameters.config';\n\n/**\n * Token to be provided in case of service customization needs.\n */\nexport const REQUEST_PARAMETERS_CONFIG_TOKEN = new InjectionToken<Partial<RequestParametersConfig>>('RequestParametersConfig injection token', { factory: () => ({}) });\n","import {\n Inject,\n Injectable,\n} from '@angular/core';\nimport {\n defaultRequestParametersConfig,\n RequestParametersConfig,\n StorageStrategy,\n} from './request-parameters.config';\nimport {\n REQUEST_PARAMETERS_CONFIG_TOKEN,\n} from './request-parameters.token';\n\nexport type ParamsList = 'query' | 'post';\n\nexport type ParamsType = { [k in ParamsList]: { [key: string]: string } };\n\n/**\n * Partial configuration for RequestParameters Service\n */\nexport interface PartialRequestParametersConfig extends Partial<RequestParametersConfig> {}\n\n/**\n * Service used to store the request parameters of your requests so that subsequent calls or refresh the page will preserve\n * them.\n */\n@Injectable()\nexport class RequestParametersService implements ParamsType {\n private _query: { [key: string]: any } = {};\n private _post: { [key: string]: any } = {};\n\n private readonly config: RequestParametersConfig;\n\n constructor(@Inject(REQUEST_PARAMETERS_CONFIG_TOKEN) config: PartialRequestParametersConfig) {\n this.config = defaultRequestParametersConfig;\n (Object.keys(config) as (keyof RequestParametersConfig)[])\n .filter((key) => config[key] !== undefined)\n .forEach((key) => (this.config as any)[key] = config[key]);\n\n this.setParameters('query', JSON.parse(this.config.queryParamsValue));\n this.setParameters('post', JSON.parse(this.config.postParamsValue));\n }\n\n /**\n * Depending on the strategy, set the internal values for the parameters.\n * See StorageStrategy for more info.\n * @param key\n * @param value\n */\n private setParameters(key: ParamsList, value: { [key: string]: string }) {\n const privateKey: `_${ParamsList}` = `_${key}`;\n if (!this.config.storage) {\n // No storage is available , cannot set items\n return;\n }\n switch (this.config.strategy) {\n case StorageStrategy.Rehydrate: {\n if (!this.config.storage.getItem(privateKey)) {\n this[privateKey] = value;\n this.config.storage.setItem(privateKey, JSON.stringify(value));\n break;\n }\n this[privateKey] = JSON.parse(this.config.storage.getItem(privateKey) || '{}');\n break;\n }\n case StorageStrategy.Replace: {\n this[privateKey] = value;\n this.config.storage.setItem(privateKey, JSON.stringify(value));\n break;\n }\n case StorageStrategy.Merge: {\n const storageData = Object.assign(JSON.parse(this.config.storage.getItem(privateKey) || '{}'), value);\n this[privateKey] = storageData;\n this.config.storage.setItem(privateKey, JSON.stringify(storageData));\n break;\n }\n case StorageStrategy.ReplaceIfNotEmpty: {\n if (Object.keys(value).length > 0) {\n this[privateKey] = value;\n this.config.storage.setItem(privateKey, JSON.stringify(value));\n break;\n }\n this[privateKey] = JSON.parse(this.config.storage.getItem(privateKey) || '{}');\n break;\n }\n }\n }\n\n /**\n * Get all the query parameters in a map.\n */\n public get query() {\n return this._query;\n }\n\n /**\n * Get all the post parameters in a map.\n */\n public get post() {\n return this._post;\n }\n\n /**\n * Get a specific query parameter value, given the key.\n * @param key\n */\n public getQueryParameter(key: string): string | undefined {\n return this._query[key];\n }\n\n /**\n * Get a specific query parameter value as boolean, given the key.\n * @param key\n */\n public getQueryParameterAsBoolean(key: string): boolean | undefined {\n const queryParameter: string | undefined = this.getQueryParameter(key);\n return queryParameter ? queryParameter.toLowerCase() === 'true' : undefined;\n }\n\n /**\n * Get a specific post parameter value, given the key.\n * @param key\n */\n public getPostParameter(key: string): string | undefined {\n return this._post[key];\n }\n\n /**\n * Get a specific post parameter value as boolean, given the key.\n * @param key\n */\n public getPostParameterAsBoolean(key: string): boolean | undefined {\n const postParameter: string | undefined = this.getPostParameter(key);\n return postParameter ? postParameter.toLowerCase() === 'true' : undefined;\n }\n\n /**\n * Get a specific parameter value, given the key.\n * @param key\n */\n public getParameter(key: string): string | undefined {\n return this._query[key] || this._post[key];\n }\n\n /**\n * Get a specific parameter value as boolean, given the key.\n * @param key\n */\n public getParameterAsBoolean(key: string): boolean | undefined {\n const parameter: string | undefined = this.getParameter(key);\n return parameter ? parameter.toLowerCase() === 'true' : undefined;\n }\n\n /**\n * Clear GET parameters from the storage\n * @param paramsToClear the list on key that you want to clear in get parameters\n */\n public clearQueryParameters(paramsToClear?: string[]) {\n const newQuery = (paramsToClear ? Object.keys(this._query).filter((key) => !paramsToClear.includes(key)) : [])\n .reduce<{ [k: string]: string }>((acc, key) => {\n acc[key] = this._query[key];\n return acc;\n }, {});\n if (this.config.storage) {\n this.config.storage.setItem('_query', JSON.stringify(newQuery));\n }\n this._query = newQuery;\n }\n\n /**\n * Clear POST parameters from the storage\n * @param paramsToClear the list on key that you want to clean in post parameters\n */\n public clearPostParameters(paramsToClear?: string[]) {\n const newPost = (paramsToClear ? Object.keys(this._post).filter((key) => !paramsToClear.includes(key)) : [])\n .reduce<{ [k: string]: string }>((acc, key) => {\n acc[key] = this._post[key];\n return acc;\n }, {});\n if (this.config.storage) {\n this.config.storage.setItem('_post', JSON.stringify(newPost));\n }\n this._post = newPost;\n }\n\n /**\n * Get all the parameters in a map.\n * @param priority the parameter to be given priority in case same key is in get and post params.\n */\n public getParams(priority: ParamsList = 'query') {\n return priority === 'query' ? { ...this._post, ...this._query } : { ...this._query, ...this._post };\n }\n\n /**\n * Filter Parameters(both Query/POST) from the storage\n * @param paramstoFilter the list on key that you want to filter from parameters\n * @param priority the priorty of the parameter type(POST/Query)\n */\n public getFilteredParameters(paramstoFilter?: string[], priority: ParamsList = 'query') {\n const params = this.getParams(priority);\n if (!paramstoFilter) {\n return params;\n }\n return Object.keys(params)\n .filter((key) => !paramstoFilter.includes(key))\n .reduce<{ [k: string]: string }>((acc, key) => {\n acc[key] = params[key];\n return acc;\n }, {});\n }\n}\n","import {\n ModuleWithProviders,\n NgModule,\n} from '@angular/core';\nimport {\n RequestParametersConfig,\n} from './request-parameters.config';\nimport {\n RequestParametersService,\n} from './request-parameters.service';\nimport {\n REQUEST_PARAMETERS_CONFIG_TOKEN,\n} from './request-parameters.token';\n\n/**\n * Empty configuration factory, used when config is not provided. It needs a separate function for AOT.\n */\nexport function defaultConfigFactory() {\n return {};\n}\n/**\n * RequestParametersService Module\n */\n@NgModule({\n imports: [],\n providers: [\n {\n provide: REQUEST_PARAMETERS_CONFIG_TOKEN,\n useValue: {}\n },\n RequestParametersService\n ]\n})\nexport class RequestParametersModule {\n public static forRoot(config: () => Partial<RequestParametersConfig> = defaultConfigFactory): ModuleWithProviders<RequestParametersModule> {\n return {\n ngModule: RequestParametersModule,\n providers: [\n {\n provide: REQUEST_PARAMETERS_CONFIG_TOKEN,\n useFactory: config\n },\n RequestParametersService\n ]\n };\n }\n}\n","import {\n NgModule,\n} from '@angular/core';\nimport {\n DynamicContentModule,\n} from '../dynamic-content/index';\n\n@NgModule({\n imports: [DynamicContentModule]\n})\nexport class StyleLazyLoaderModule {}\n","import {\n Injectable,\n} from '@angular/core';\nimport {\n firstValueFrom,\n} from 'rxjs';\nimport {\n DynamicContentService,\n} from '../dynamic-content/index';\nimport {\n StyleLazyLoaderModule,\n} from './style-lazy-loader.module';\n\n/**\n * Interface to describe a style to lazy load from a url.\n */\nexport interface StyleURL {\n /** url to file */\n href: string;\n /** id of the HTML element */\n id?: string;\n /** html integrity attribute to verify fetched resources */\n integrity?: string;\n /** html crossOrigin attribute for CORS support. */\n crossOrigin?: 'anonymous' | 'use-credentials' | '';\n}\n\n/**\n * Service to lazy load a CSS file\n */\n@Injectable({\n providedIn: StyleLazyLoaderModule\n})\nexport class StyleLazyLoader {\n private readonly DEFAULT_STYLE_ELEMENT_ID = 'external-theme';\n\n constructor(private readonly dcService: DynamicContentService) {}\n\n /**\n * Load a new CSS from an absolute URL, if we already HTML element exists with the url, otherwise\n * @param styleUrlConfig object containing CSS File absolute URL to load, integrity and crossOrigin attributes\n * and the styleId id of the dynamic style in the body tag.\n */\n public loadStyleFromURL(styleUrlConfig: StyleURL) {\n const elementId = styleUrlConfig.id || this.DEFAULT_STYLE_ELEMENT_ID;\n let style = document.querySelector<HTMLLinkElement>(`#${elementId}`);\n\n if (style === null) {\n style = document.createElement('link');\n style.rel = 'stylesheet';\n style.type = 'text/css';\n const head = document.querySelectorAll('head')[0];\n head.append(style);\n }\n if (styleUrlConfig.integrity) {\n style.integrity = styleUrlConfig.integrity;\n }\n if (styleUrlConfig.crossOrigin !== undefined) {\n style.crossOrigin = styleUrlConfig.crossOrigin;\n }\n style.href = styleUrlConfig.href;\n\n return style;\n }\n\n /**\n * Load a new CSS File\n * @param styleUrlConfig CSS File config containing URL to load, integrity and crossOrigin attributes\n * and the styleId id of the dynamic style in the body tag\n */\n public async asyncLoadStyleFromDynamicContent(styleUrlConfig: StyleURL) {\n const dynamicContentPath = await firstValueFrom(\n this.dcService.getContentPathStream(styleUrlConfig.href)\n );\n styleUrlConfig.href = dynamicContentPath;\n this.loadStyleFromURL(styleUrlConfig);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["actions.setAssetPathOverride","i1.DynamicContentService"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request-parameters.fixture.jasmine.d.ts","sourceRoot":"","sources":["../../../src/fixtures/jasmine/request-parameters.fixture.jasmine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"request-parameters.fixture.jasmine.d.ts","sourceRoot":"","sources":["../../../src/fixtures/jasmine/request-parameters.fixture.jasmine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACZ,MAAM,WAAW,CAAC;AACnB,OAAO,KAAK,EACV,uBAAuB,EACvB,wBAAwB,EACzB,MAAM,sBAAsB,CAAC;AAK9B;;GAEG;AACH,qBAAa,+BAAgC,YAAW,WAAW,CAAC,wBAAwB,CAAC;IACpF,KAAK,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAM;IACtC,IAAI,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAM;IACrC,MAAM,EAAE,uBAAuB,CAKpC;IAEK,iBAAiB,EAAE,OAAO,CAAC,GAAG,CAAC;IAC/B,0BAA0B,EAAE,OAAO,CAAC,GAAG,CAAC;IACxC,gBAAgB,EAAE,OAAO,CAAC,GAAG,CAAC;IAC9B,yBAAyB,EAAE,OAAO,CAAC,GAAG,CAAC;IACvC,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC;IAC1B,qBAAqB,EAAE,OAAO,CAAC,GAAG,CAAC;IACnC,oBAAoB,EAAE,OAAO,CAAC,GAAG,CAAC;IAClC,mBAAmB,EAAE,OAAO,CAAC,GAAG,CAAC;IACjC,qBAAqB,EAAE,OAAO,CAAC,GAAG,CAAC;IACnC,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC;;CAc/B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request-parameters.fixture.jest.d.ts","sourceRoot":"","sources":["../../../src/fixtures/jest/request-parameters.fixture.jest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"request-parameters.fixture.jest.d.ts","sourceRoot":"","sources":["../../../src/fixtures/jest/request-parameters.fixture.jest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACZ,MAAM,WAAW,CAAC;AACnB,OAAO,KAAK,EACV,uBAAuB,EACvB,wBAAwB,EACzB,MAAM,sBAAsB,CAAC;AAK9B;;GAEG;AACH,qBAAa,+BAAgC,YAAW,WAAW,CAAC,wBAAwB,CAAC;IACpF,KAAK,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAM;IACtC,IAAI,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAM;IACrC,MAAM,EAAE,uBAAuB,CAKpC;IAEK,iBAAiB,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACvC,0BAA0B,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAChD,gBAAgB,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACtC,yBAAyB,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC/C,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAClC,qBAAqB,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC3C,oBAAoB,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC1C,mBAAmB,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACzC,qBAAqB,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC3C,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;;CAcvC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parameter-extractor.middleware.d.ts","sourceRoot":"","sources":["../../middlewares/parameter-extractor.middleware.ts"],"names":[],"mappings":"AAwBA
|
|
1
|
+
{"version":3,"file":"parameter-extractor.middleware.d.ts","sourceRoot":"","sources":["../../middlewares/parameter-extractor.middleware.ts"],"names":[],"mappings":"AAwBA;;;GAGG;AACH,wBAAgB,KAAK,CAAC,GAAG,EAAE;IAAE,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,QAW9C"}
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.setup = setup;
|
|
4
4
|
const cheerio = require("cheerio");
|
|
5
|
-
|
|
6
|
-
//
|
|
7
|
-
// @ts-ignore -- no type are provided for express-interceptor
|
|
5
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment -- no type are provided for express-interceptor
|
|
6
|
+
// @ts-ignore
|
|
8
7
|
const expressInterceptor = require("express-interceptor");
|
|
8
|
+
const querystring = require("node:querystring");
|
|
9
9
|
let previousPostParams = {};
|
|
10
10
|
const middleware = () => expressInterceptor((req, res) => ({
|
|
11
11
|
isInterceptable: () => /text\/html/.test(res.get('Content-Type')),
|
|
@@ -20,7 +20,8 @@ const middleware = () => expressInterceptor((req, res) => ({
|
|
|
20
20
|
}
|
|
21
21
|
}));
|
|
22
22
|
/**
|
|
23
|
-
*
|
|
23
|
+
* Set up application
|
|
24
|
+
* @param app
|
|
24
25
|
*/
|
|
25
26
|
function setup(app) {
|
|
26
27
|
app.post('*', (req, res) => {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@o3r/dynamic-content",
|
|
3
|
-
"version": "11.6.0-prerelease.
|
|
3
|
+
"version": "11.6.0-prerelease.21",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -50,8 +50,8 @@
|
|
|
50
50
|
"@angular/core": "~18.2.0",
|
|
51
51
|
"@angular/platform-browser-dynamic": "~18.2.0",
|
|
52
52
|
"@ngrx/store": "~18.0.0",
|
|
53
|
-
"@o3r/core": "^11.6.0-prerelease.
|
|
54
|
-
"@o3r/schematics": "^11.6.0-prerelease.
|
|
53
|
+
"@o3r/core": "^11.6.0-prerelease.21",
|
|
54
|
+
"@o3r/schematics": "^11.6.0-prerelease.21",
|
|
55
55
|
"@schematics/angular": "~18.2.0",
|
|
56
56
|
"cheerio": "^1.0.0-rc.10",
|
|
57
57
|
"express-interceptor": "^1.2.0",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Store } from '@ngrx/store';
|
|
2
2
|
import type { RulesEngineActionHandler } from '@o3r/core';
|
|
3
|
-
import { AssetPathOverrideStore } from '@o3r/dynamic-content';
|
|
4
3
|
import { ActionUpdateAssetBlock } from './asset.interfaces';
|
|
4
|
+
import { AssetPathOverrideStore } from '@o3r/dynamic-content';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
/**
|
|
7
7
|
* Service to handle async Asset actions
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"asset.handler-action.d.ts","sourceRoot":"","sources":["../../src/rules-engine/asset.handler-action.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"asset.handler-action.d.ts","sourceRoot":"","sources":["../../src/rules-engine/asset.handler-action.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,KAAK,EACN,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EACV,wBAAwB,EACzB,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,sBAAsB,EAEvB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,sBAAsB,EAEvB,MAAM,sBAAsB,CAAC;;AAE9B;;GAEG;AACH,qBACa,6BAA8B,YAAW,wBAAwB,CAAC,sBAAsB,CAAC;IAIxF,OAAO,CAAC,QAAQ,CAAC,KAAK;IAHlC,kBAAkB;IAClB,SAAgB,iBAAiB,4BAAoD;gBAExD,KAAK,EAAE,KAAK,CAAC,sBAAsB,CAAC;IAEjE,kBAAkB;IACX,cAAc,CAAC,OAAO,EAAE,sBAAsB,EAAE,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;yCAPnE,6BAA6B;6CAA7B,6BAA6B;CAezC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"asset.interfaces.d.ts","sourceRoot":"","sources":["../../src/rules-engine/asset.interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"asset.interfaces.d.ts","sourceRoot":"","sources":["../../src/rules-engine/asset.interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EAClB,MAAM,WAAW,CAAC;AAEnB,8BAA8B;AAC9B,eAAO,MAAM,qCAAqC,iBAAiB,CAAC;AAEpE;;GAEG;AACH,MAAM,WAAW,sBAAuB,SAAQ,iBAAiB;IAC/D,UAAU,EAAE,OAAO,qCAAqC,CAAC;IACzD,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"asset.rules-engine.module.d.ts","sourceRoot":"","sources":["../../src/rules-engine/asset.rules-engine.module.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"asset.rules-engine.module.d.ts","sourceRoot":"","sources":["../../src/rules-engine/asset.rules-engine.module.ts"],"names":[],"mappings":";;AAUA,qBAQa,4BAA4B;yCAA5B,4BAA4B;0CAA5B,4BAA4B;0CAA5B,4BAA4B;CAAG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../schematics/ng-add/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../schematics/ng-add/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,IAAI,EACL,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EACV,qBAAqB,EACtB,MAAM,UAAU,CAAC;AAyBlB;;;GAGG;AACH,eAAO,MAAM,KAAK,YAAa,qBAAqB,KAAG,IAGtD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../schematics/ng-add/schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../schematics/ng-add/schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,qBAAqB,EACtB,MAAM,iBAAiB,CAAC;AAEzB,MAAM,WAAW,qBAAsB,SAAQ,qBAAqB;IAClE,mBAAmB;IACnB,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,8CAA8C;IAC9C,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../schematics/ng-update/v10-0/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../schematics/ng-update/v10-0/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,IAAI,EAGL,MAAM,4BAA4B,CAAC;AA8BpC;;GAEG;AAEH,eAAO,MAAM,WAAW,4BAAuD,CAAC"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.updateV10_0 = void 0;
|
|
4
|
-
/* eslint-disable camelcase, @typescript-eslint/naming-convention */
|
|
5
4
|
const schematics_1 = require("@angular-devkit/schematics");
|
|
6
5
|
const schematics_2 = require("@o3r/schematics");
|
|
7
6
|
const pipeReplacementInfo = {
|
|
@@ -15,6 +14,7 @@ const pipeReplacementInfo = {
|
|
|
15
14
|
/**
|
|
16
15
|
* Update of Otter library V10.0
|
|
17
16
|
*/
|
|
17
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention -- function name contains the version
|
|
18
18
|
function updateV10_0Fn() {
|
|
19
19
|
return (tree, context) => {
|
|
20
20
|
const updateRules = [
|
|
@@ -26,5 +26,6 @@ function updateV10_0Fn() {
|
|
|
26
26
|
/**
|
|
27
27
|
* Update of Otter library V10.0
|
|
28
28
|
*/
|
|
29
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention -- function name contains the version
|
|
29
30
|
exports.updateV10_0 = (0, schematics_2.createSchematicWithMetricsIfInstalled)(updateV10_0Fn);
|
|
30
31
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dynamic-content.module.d.ts","sourceRoot":"","sources":["../../../src/services/dynamic-content/dynamic-content.module.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"dynamic-content.module.d.ts","sourceRoot":"","sources":["../../../src/services/dynamic-content/dynamic-content.module.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EAEpB,MAAM,eAAe,CAAC;;;AAavB;;GAEG;AACH,wBAAgB,iBAAiB,WAEhC;AAED;;;GAGG;AACH,wBAAgB,YAAY,WAE3B;AAED,qBAkBa,oBAAoB;IAC/B;;;;;;OAMG;WACW,OAAO,CAAC,WAAW,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,mBAAmB,CAAC,oBAAoB,CAAC;yCAR/G,oBAAoB;0CAApB,oBAAoB;0CAApB,oBAAoB;CA4BhC"}
|