@o3r/configuration 10.0.0-next.8 → 11.0.0-next.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/README.md +11 -11
- package/core/configurable.d.ts +1 -25
- package/core/configurable.d.ts.map +1 -1
- package/core/configuration.d.ts +1 -3
- package/core/configuration.d.ts.map +1 -1
- package/devkit/configuration-devtools.console.service.d.ts +9 -8
- package/devkit/configuration-devtools.console.service.d.ts.map +1 -1
- package/devkit/configuration-devtools.interface.d.ts +12 -5
- package/devkit/configuration-devtools.interface.d.ts.map +1 -1
- package/devkit/configuration-devtools.message.service.d.ts +5 -7
- package/devkit/configuration-devtools.message.service.d.ts.map +1 -1
- package/devkit/configuration-devtools.module.d.ts +0 -1
- package/devkit/configuration-devtools.module.d.ts.map +1 -1
- package/devkit/configuration-devtools.service.d.ts +2 -6
- package/devkit/configuration-devtools.service.d.ts.map +1 -1
- package/devkit/configuration-devtools.token.d.ts.map +1 -1
- package/esm2022/core/configurable.mjs +1 -1
- package/esm2022/core/configuration.mjs +4 -6
- package/esm2022/devkit/configuration-devtools.console.service.mjs +18 -13
- package/esm2022/devkit/configuration-devtools.interface.mjs +1 -2
- package/esm2022/devkit/configuration-devtools.message.service.mjs +6 -8
- package/esm2022/devkit/configuration-devtools.module.mjs +5 -6
- package/esm2022/devkit/configuration-devtools.service.mjs +6 -10
- package/esm2022/devkit/configuration-devtools.token.mjs +3 -2
- package/esm2022/rules-engine/configuration.handler-action.mjs +40 -0
- package/esm2022/rules-engine/configuration.interfaces.mjs +3 -0
- package/esm2022/rules-engine/configuration.rules-engine.module.mjs +23 -0
- package/esm2022/rules-engine/o3r-configuration-rules-engine.mjs +5 -0
- package/esm2022/rules-engine/public_api.mjs +4 -0
- package/esm2022/services/configuration/configuration.base.module.mjs +4 -4
- package/esm2022/services/configuration/configuration.base.service.mjs +15 -36
- package/esm2022/stores/config-override/config-override.module.mjs +4 -4
- package/esm2022/stores/config-override/config-override.selectors.mjs +1 -2
- package/esm2022/stores/config-override/config-override.sync.mjs +1 -2
- package/esm2022/stores/configuration/configuration.helpers.mjs +3 -4
- package/esm2022/stores/configuration/configuration.module.mjs +4 -4
- package/esm2022/stores/configuration/configuration.selectors.mjs +6 -3
- package/esm2022/stores/configuration/configuration.state.mjs +5 -1
- package/esm2022/tools/configuration.observer.mjs +1 -1
- package/fesm2022/o3r-configuration-rules-engine.mjs +67 -0
- package/fesm2022/o3r-configuration-rules-engine.mjs.map +1 -0
- package/fesm2022/o3r-configuration.mjs +72 -93
- package/fesm2022/o3r-configuration.mjs.map +1 -1
- package/package.json +22 -16
- package/rules-engine/configuration.handler-action.d.ts +19 -0
- package/rules-engine/configuration.handler-action.d.ts.map +1 -0
- package/rules-engine/configuration.interfaces.d.ts +13 -0
- package/rules-engine/configuration.interfaces.d.ts.map +1 -0
- package/rules-engine/configuration.rules-engine.module.d.ts +8 -0
- package/rules-engine/configuration.rules-engine.module.d.ts.map +1 -0
- package/rules-engine/index.d.ts +6 -0
- package/rules-engine/o3r-configuration-rules-engine.d.ts.map +1 -0
- package/rules-engine/public_api.d.ts +4 -0
- package/rules-engine/public_api.d.ts.map +1 -0
- package/schemas/configuration.metadata.schema.json +3 -2
- package/schemas/rules-engine.config-action.schema.json +34 -0
- package/schematics/configuration-to-component/index.d.ts.map +1 -1
- package/schematics/configuration-to-component/index.js +3 -3
- package/schematics/configuration-to-component/index.js.map +1 -1
- package/schematics/configuration-to-component/schema.json +1 -1
- package/schematics/configuration-to-component/templates/__name__.config.ts.template +2 -2
- package/schematics/ng-add/helpers/devtools-registration.d.ts +11 -0
- package/schematics/ng-add/helpers/devtools-registration.d.ts.map +1 -0
- package/schematics/ng-add/helpers/devtools-registration.js +35 -0
- package/schematics/ng-add/helpers/devtools-registration.js.map +1 -0
- package/schematics/ng-add/index.d.ts.map +1 -1
- package/schematics/ng-add/index.js +7 -4
- package/schematics/ng-add/index.js.map +1 -1
- package/schematics/ng-add/schema.json +1 -1
- package/services/configuration/configuration.base.service.d.ts +2 -9
- package/services/configuration/configuration.base.service.d.ts.map +1 -1
- package/stores/config-override/config-override.selectors.d.ts +0 -1
- package/stores/config-override/config-override.selectors.d.ts.map +1 -1
- package/stores/config-override/config-override.sync.d.ts +0 -1
- package/stores/config-override/config-override.sync.d.ts.map +1 -1
- package/stores/configuration/configuration.helpers.d.ts +0 -1
- package/stores/configuration/configuration.helpers.d.ts.map +1 -1
- package/stores/configuration/configuration.selectors.d.ts +8 -2
- package/stores/configuration/configuration.selectors.d.ts.map +1 -1
- package/stores/configuration/configuration.state.d.ts +6 -2
- package/stores/configuration/configuration.state.d.ts.map +1 -1
- package/tools/configuration.observer.d.ts +2 -2
- package/tools/configuration.observer.d.ts.map +1 -1
- package/schematics/package.json +0 -3
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { configOverrideInitialState } from './config-override.reducer';
|
|
2
2
|
/**
|
|
3
3
|
* Deserializer
|
|
4
|
-
*
|
|
5
4
|
* @param rawObject
|
|
6
5
|
*/
|
|
7
6
|
export const configOverrideStorageDeserializer = (rawObject) => {
|
|
@@ -13,4 +12,4 @@ export const configOverrideStorageDeserializer = (rawObject) => {
|
|
|
13
12
|
export const configOverrideStorageSync = {
|
|
14
13
|
deserialize: configOverrideStorageDeserializer
|
|
15
14
|
};
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLW92ZXJyaWRlLnN5bmMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc3RvcmVzL2NvbmZpZy1vdmVycmlkZS9jb25maWctb3ZlcnJpZGUuc3luYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUd2RTs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxpQ0FBaUMsR0FBRyxDQUFDLFNBQWMsRUFBRSxFQUFFO0lBQ2xFLElBQUksQ0FBQyxTQUFTLEVBQUU7UUFDZCxPQUFPLDBCQUEwQixDQUFDO0tBQ25DO0lBQ0QsT0FBTyxTQUFTLENBQUM7QUFDbkIsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQW9DO0lBQ3hFLFdBQVcsRUFBRSxpQ0FBaUM7Q0FDL0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNlcmlhbGl6ZXIgfSBmcm9tICdAbzNyL2NvcmUnO1xuaW1wb3J0IHsgY29uZmlnT3ZlcnJpZGVJbml0aWFsU3RhdGUgfSBmcm9tICcuL2NvbmZpZy1vdmVycmlkZS5yZWR1Y2VyJztcbmltcG9ydCB7IENvbmZpZ092ZXJyaWRlU3RhdGUgfSBmcm9tICcuL2NvbmZpZy1vdmVycmlkZS5zdGF0ZSc7XG5cbi8qKlxuICogRGVzZXJpYWxpemVyXG4gKiBAcGFyYW0gcmF3T2JqZWN0XG4gKi9cbmV4cG9ydCBjb25zdCBjb25maWdPdmVycmlkZVN0b3JhZ2VEZXNlcmlhbGl6ZXIgPSAocmF3T2JqZWN0OiBhbnkpID0+IHtcbiAgaWYgKCFyYXdPYmplY3QpIHtcbiAgICByZXR1cm4gY29uZmlnT3ZlcnJpZGVJbml0aWFsU3RhdGU7XG4gIH1cbiAgcmV0dXJuIHJhd09iamVjdDtcbn07XG5cbmV4cG9ydCBjb25zdCBjb25maWdPdmVycmlkZVN0b3JhZ2VTeW5jOiBTZXJpYWxpemVyPENvbmZpZ092ZXJyaWRlU3RhdGU+ID0ge1xuICBkZXNlcmlhbGl6ZTogY29uZmlnT3ZlcnJpZGVTdG9yYWdlRGVzZXJpYWxpemVyXG59O1xuIl19
|
|
@@ -1,15 +1,14 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { computeItemIdentifier } from '@o3r/core';
|
|
2
2
|
/**
|
|
3
3
|
* compute the configuration into SetEntitiesPayload
|
|
4
|
-
*
|
|
5
4
|
* @param customConfigObject array of configurations
|
|
6
5
|
*/
|
|
7
6
|
export function computeConfiguration(customConfigObject) {
|
|
8
7
|
const entities = customConfigObject.reduce((acc, conf) => {
|
|
9
|
-
const id =
|
|
8
|
+
const id = computeItemIdentifier(conf.name, conf.library);
|
|
10
9
|
acc[id] = { ...conf.config, id };
|
|
11
10
|
return acc;
|
|
12
11
|
}, {});
|
|
13
12
|
return { entities };
|
|
14
13
|
}
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi5oZWxwZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3N0b3Jlcy9jb25maWd1cmF0aW9uL2NvbmZpZ3VyYXRpb24uaGVscGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFHbEQ7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLG9CQUFvQixDQUEwQixrQkFBcUM7SUFDakcsTUFBTSxRQUFRLEdBQUcsa0JBQWtCLENBQUMsTUFBTSxDQUEyQyxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsRUFBRTtRQUNqRyxNQUFNLEVBQUUsR0FBRyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMxRCxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBQyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsRUFBRSxFQUFDLENBQUM7UUFDL0IsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDUCxPQUFPLEVBQUMsUUFBUSxFQUFDLENBQUM7QUFDcEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ29uZmlndXJhdGlvbiwgQ3VzdG9tQ29uZmlnIH0gZnJvbSAnQG8zci9jb3JlJztcbmltcG9ydCB7IGNvbXB1dGVJdGVtSWRlbnRpZmllciB9IGZyb20gJ0BvM3IvY29yZSc7XG5pbXBvcnQgeyBTZXRDb25maWd1cmF0aW9uRW50aXRpZXNQYXlsb2FkIH0gZnJvbSAnLi9jb25maWd1cmF0aW9uLmFjdGlvbnMnO1xuXG4vKipcbiAqIGNvbXB1dGUgdGhlIGNvbmZpZ3VyYXRpb24gaW50byBTZXRFbnRpdGllc1BheWxvYWRcbiAqIEBwYXJhbSBjdXN0b21Db25maWdPYmplY3QgYXJyYXkgb2YgY29uZmlndXJhdGlvbnNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNvbXB1dGVDb25maWd1cmF0aW9uPFQgZXh0ZW5kcyBDb25maWd1cmF0aW9uPihjdXN0b21Db25maWdPYmplY3Q6IEN1c3RvbUNvbmZpZzxUPltdKTogU2V0Q29uZmlndXJhdGlvbkVudGl0aWVzUGF5bG9hZCB7XG4gIGNvbnN0IGVudGl0aWVzID0gY3VzdG9tQ29uZmlnT2JqZWN0LnJlZHVjZTx7W2s6IHN0cmluZ106IFBhcnRpYWw8VD4gJiB7aWQ6IHN0cmluZ319PigoYWNjLCBjb25mKSA9PiB7XG4gICAgY29uc3QgaWQgPSBjb21wdXRlSXRlbUlkZW50aWZpZXIoY29uZi5uYW1lLCBjb25mLmxpYnJhcnkpO1xuICAgIGFjY1tpZF0gPSB7Li4uY29uZi5jb25maWcsIGlkfTtcbiAgICByZXR1cm4gYWNjO1xuICB9LCB7fSk7XG4gIHJldHVybiB7ZW50aXRpZXN9O1xufVxuIl19
|
|
@@ -19,13 +19,13 @@ export class ConfigurationStoreModule {
|
|
|
19
19
|
]
|
|
20
20
|
};
|
|
21
21
|
}
|
|
22
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
23
|
-
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
24
|
-
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
22
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ConfigurationStoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
23
|
+
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.8", ngImport: i0, type: ConfigurationStoreModule, imports: [i1.StoreFeatureModule] }); }
|
|
24
|
+
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ConfigurationStoreModule, providers: [
|
|
25
25
|
{ provide: CONFIGURATION_REDUCER_TOKEN, useFactory: getDefaultConfigurationReducer }
|
|
26
26
|
], imports: [StoreModule.forFeature(CONFIGURATION_STORE_NAME, CONFIGURATION_REDUCER_TOKEN)] }); }
|
|
27
27
|
}
|
|
28
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
28
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ConfigurationStoreModule, decorators: [{
|
|
29
29
|
type: NgModule,
|
|
30
30
|
args: [{
|
|
31
31
|
imports: [
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createSelector } from '@ngrx/store';
|
|
2
2
|
import { configurationAdapter } from './configuration.reducer';
|
|
3
|
-
import { CONFIGURATION_STORE_NAME } from './configuration.state';
|
|
3
|
+
import { CONFIGURATION_STORE_NAME, globalConfigurationId } from './configuration.state';
|
|
4
4
|
const { selectIds, selectEntities, selectAll, selectTotal } = configurationAdapter.getSelectors();
|
|
5
5
|
/**
|
|
6
6
|
* Select Configuration State
|
|
@@ -18,9 +18,12 @@ export const selectConfigurationEntities = createSelector(selectConfigurationSta
|
|
|
18
18
|
export const selectConfigurationTotal = createSelector(selectConfigurationState, (state) => state ? selectTotal(state) : 0);
|
|
19
19
|
/**
|
|
20
20
|
* Select the configuration for component with id
|
|
21
|
-
*
|
|
22
21
|
* @param props property of the selector
|
|
23
22
|
* @param props.id id of the component
|
|
24
23
|
*/
|
|
25
24
|
export const selectConfigurationForComponent = (props) => createSelector(selectConfigurationEntities, (entities) => (entities?.[props.id] || {}));
|
|
26
|
-
|
|
25
|
+
/**
|
|
26
|
+
* Select the global configuration
|
|
27
|
+
*/
|
|
28
|
+
export const selectGlobalConfiguration = createSelector(selectConfigurationForComponent({ id: globalConfigurationId }), (config) => config);
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi5zZWxlY3RvcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc3RvcmVzL2NvbmZpZ3VyYXRpb24vY29uZmlndXJhdGlvbi5zZWxlY3RvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUU3QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsd0JBQXdCLEVBQXNCLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFNUcsTUFBTSxFQUFDLFNBQVMsRUFBRSxjQUFjLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBQyxHQUFHLG9CQUFvQixDQUFDLFlBQVksRUFBRSxDQUFDO0FBRWhHOzs7R0FHRztBQUNILHdEQUF3RDtBQUN4RCxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxjQUFjLENBQ3BELENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsd0JBQXdCLENBQUMsRUFDMUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FDakIsQ0FBQztBQUVGLDRDQUE0QztBQUM1QyxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxjQUFjLENBQUMsd0JBQXdCLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUV6SCx3Q0FBd0M7QUFDeEMsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsY0FBYyxDQUFDLHdCQUF3QixFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7QUFFekgsc0RBQXNEO0FBQ3RELE1BQU0sQ0FBQyxNQUFNLDJCQUEyQixHQUFHLGNBQWMsQ0FBQyx3QkFBd0IsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBRW5JLDJDQUEyQztBQUMzQyxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxjQUFjLENBQUMsd0JBQXdCLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUU1SDs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sK0JBQStCLEdBQUcsQ0FBMEIsS0FBbUIsRUFBRSxFQUFFLENBQzlGLGNBQWMsQ0FBQywyQkFBMkIsRUFBRSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksRUFBRSxDQUF1QixDQUFDLENBQUM7QUFFaEg7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRyxjQUFjLENBQUMsK0JBQStCLENBQUMsRUFBRSxFQUFFLEVBQUUscUJBQXFCLEVBQUUsQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZVNlbGVjdG9yIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgQ29uZmlndXJhdGlvbiB9IGZyb20gJ0BvM3IvY29yZSc7XG5pbXBvcnQgeyBjb25maWd1cmF0aW9uQWRhcHRlciB9IGZyb20gJy4vY29uZmlndXJhdGlvbi5yZWR1Y2VyJztcbmltcG9ydCB7IENPTkZJR1VSQVRJT05fU1RPUkVfTkFNRSwgQ29uZmlndXJhdGlvblN0YXRlLCBnbG9iYWxDb25maWd1cmF0aW9uSWQgfSBmcm9tICcuL2NvbmZpZ3VyYXRpb24uc3RhdGUnO1xuXG5jb25zdCB7c2VsZWN0SWRzLCBzZWxlY3RFbnRpdGllcywgc2VsZWN0QWxsLCBzZWxlY3RUb3RhbH0gPSBjb25maWd1cmF0aW9uQWRhcHRlci5nZXRTZWxlY3RvcnMoKTtcblxuLyoqXG4gKiBTZWxlY3QgQ29uZmlndXJhdGlvbiBTdGF0ZVxuICogTm90ZTogdGhlIHVzYWdlIG9mIGNyZWF0ZVNlbGVjdG9yIGlzIHRvIGF2b2lkIHdhcm5pbmcgcHJpbnRpbmcgYmVjYXVzZSBvZiBwb3RlbnRpYWxseSB1bmRlZmluZWQgZmVhdHVyZSBzdG9yZVxuICovXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2Jhbi10eXBlc1xuZXhwb3J0IGNvbnN0IHNlbGVjdENvbmZpZ3VyYXRpb25TdGF0ZSA9IGNyZWF0ZVNlbGVjdG9yPHtbQ09ORklHVVJBVElPTl9TVE9SRV9OQU1FXTogQ29uZmlndXJhdGlvblN0YXRlIH0sIFtzdGF0ZTogQ29uZmlndXJhdGlvblN0YXRlIHwgdW5kZWZpbmVkXSwgQ29uZmlndXJhdGlvblN0YXRlIHwgdW5kZWZpbmVkPihcbiAgKHN0YXRlKSA9PiBzdGF0ZVtDT05GSUdVUkFUSU9OX1NUT1JFX05BTUVdLFxuICAoc3RhdGUpID0+IHN0YXRlXG4pO1xuXG4vKiogU2VsZWN0IHRoZSBhcnJheSBvZiBDb25maWd1cmF0aW9uIGlkcyAqL1xuZXhwb3J0IGNvbnN0IHNlbGVjdENvbmZpZ3VyYXRpb25JZHMgPSBjcmVhdGVTZWxlY3RvcihzZWxlY3RDb25maWd1cmF0aW9uU3RhdGUsIChzdGF0ZSkgPT4gc3RhdGUgPyBzZWxlY3RJZHMoc3RhdGUpIDogW10pO1xuXG4vKiogU2VsZWN0IHRoZSBhcnJheSBvZiBDb25maWd1cmF0aW9uICovXG5leHBvcnQgY29uc3Qgc2VsZWN0QWxsQ29uZmlndXJhdGlvbiA9IGNyZWF0ZVNlbGVjdG9yKHNlbGVjdENvbmZpZ3VyYXRpb25TdGF0ZSwgKHN0YXRlKSA9PiBzdGF0ZSA/IHNlbGVjdEFsbChzdGF0ZSkgOiBbXSk7XG5cbi8qKiBTZWxlY3QgdGhlIGRpY3Rpb25hcnkgb2YgQ29uZmlndXJhdGlvbiBlbnRpdGllcyAqL1xuZXhwb3J0IGNvbnN0IHNlbGVjdENvbmZpZ3VyYXRpb25FbnRpdGllcyA9IGNyZWF0ZVNlbGVjdG9yKHNlbGVjdENvbmZpZ3VyYXRpb25TdGF0ZSwgKHN0YXRlKSA9PiBzdGF0ZSA/IHNlbGVjdEVudGl0aWVzKHN0YXRlKSA6IHt9KTtcblxuLyoqIFNlbGVjdCB0aGUgdG90YWwgQ29uZmlndXJhdGlvbiBjb3VudCAqL1xuZXhwb3J0IGNvbnN0IHNlbGVjdENvbmZpZ3VyYXRpb25Ub3RhbCA9IGNyZWF0ZVNlbGVjdG9yKHNlbGVjdENvbmZpZ3VyYXRpb25TdGF0ZSwgKHN0YXRlKSA9PiBzdGF0ZSA/IHNlbGVjdFRvdGFsKHN0YXRlKSA6IDApO1xuXG4vKipcbiAqIFNlbGVjdCB0aGUgY29uZmlndXJhdGlvbiBmb3IgY29tcG9uZW50IHdpdGggaWRcbiAqIEBwYXJhbSBwcm9wcyBwcm9wZXJ0eSBvZiB0aGUgc2VsZWN0b3JcbiAqIEBwYXJhbSBwcm9wcy5pZCBpZCBvZiB0aGUgY29tcG9uZW50XG4gKi9cbmV4cG9ydCBjb25zdCBzZWxlY3RDb25maWd1cmF0aW9uRm9yQ29tcG9uZW50ID0gPFQgZXh0ZW5kcyBDb25maWd1cmF0aW9uPihwcm9wczoge2lkOiBzdHJpbmd9KSA9PlxuICBjcmVhdGVTZWxlY3RvcihzZWxlY3RDb25maWd1cmF0aW9uRW50aXRpZXMsIChlbnRpdGllcykgPT4gKGVudGl0aWVzPy5bcHJvcHMuaWRdIHx8IHt9KSBhcyBDb25maWd1cmF0aW9uIGFzIFQpO1xuXG4vKipcbiAqIFNlbGVjdCB0aGUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cbiAqL1xuZXhwb3J0IGNvbnN0IHNlbGVjdEdsb2JhbENvbmZpZ3VyYXRpb24gPSBjcmVhdGVTZWxlY3RvcihzZWxlY3RDb25maWd1cmF0aW9uRm9yQ29tcG9uZW50KHsgaWQ6IGdsb2JhbENvbmZpZ3VyYXRpb25JZCB9KSwgKGNvbmZpZykgPT4gY29uZmlnKTtcbiJdfQ==
|
|
@@ -2,4 +2,8 @@
|
|
|
2
2
|
* Name of the Configuration Store
|
|
3
3
|
*/
|
|
4
4
|
export const CONFIGURATION_STORE_NAME = 'configuration';
|
|
5
|
-
|
|
5
|
+
/**
|
|
6
|
+
* ID of the global configuration
|
|
7
|
+
*/
|
|
8
|
+
export const globalConfigurationId = 'global';
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi5zdGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zdG9yZXMvY29uZmlndXJhdGlvbi9jb25maWd1cmF0aW9uLnN0YXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWdCQTs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLGVBQWUsQ0FBQztBQVV4RDs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRW50aXR5U3RhdGUgfSBmcm9tICdAbmdyeC9lbnRpdHknO1xuaW1wb3J0IHR5cGUgeyBDb25maWd1cmF0aW9uIH0gZnJvbSAnQG8zci9jb3JlJztcblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIG1vZGVsXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29uZmlndXJhdGlvbk1vZGVsIGV4dGVuZHMgQ29uZmlndXJhdGlvbiB7XG4gIGlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBzdG9yZSBzdGF0ZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbmZpZ3VyYXRpb25TdGF0ZSBleHRlbmRzIEVudGl0eVN0YXRlPENvbmZpZ3VyYXRpb25Nb2RlbD4ge1xufVxuXG4vKipcbiAqIE5hbWUgb2YgdGhlIENvbmZpZ3VyYXRpb24gU3RvcmVcbiAqL1xuZXhwb3J0IGNvbnN0IENPTkZJR1VSQVRJT05fU1RPUkVfTkFNRSA9ICdjb25maWd1cmF0aW9uJztcblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIFN0b3JlIEludGVyZmFjZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbmZpZ3VyYXRpb25TdG9yZSB7XG4gIC8qKiBDb25maWd1cmF0aW9uIHN0YXRlICovXG4gIFtDT05GSUdVUkFUSU9OX1NUT1JFX05BTUVdOiBDb25maWd1cmF0aW9uU3RhdGU7XG59XG5cbi8qKlxuICogSUQgb2YgdGhlIGdsb2JhbCBjb25maWd1cmF0aW9uXG4gKi9cbmV4cG9ydCBjb25zdCBnbG9iYWxDb25maWd1cmF0aW9uSWQgPSAnZ2xvYmFsJztcbiJdfQ==
|
|
@@ -33,4 +33,4 @@ export class ConfigurationObserver {
|
|
|
33
33
|
return this.observable;
|
|
34
34
|
}
|
|
35
35
|
}
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi5vYnNlcnZlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90b29scy9jb25maWd1cmF0aW9uLm9ic2VydmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxlQUFlLEVBQXdCLE1BQU0sTUFBTSxDQUFDO0FBQzdELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFHM0MsTUFBTSxPQUFPLHFCQUFxQjtJQVdoQztJQUNFLHVCQUF1QjtJQUNoQixRQUFnQixFQUN2QixhQUFnQixFQUNoQixvQkFBK0M7UUFGeEMsYUFBUSxHQUFSLFFBQVEsQ0FBUTtRQVJ6Qix1QkFBdUI7UUFDTixlQUFVLEdBQWdDLElBQUksZUFBZSxDQUFhLEVBQUUsQ0FBQyxDQUFDO1FBVzdGLElBQUksb0JBQW9CLEVBQUU7WUFDeEIsb0JBQW9CLENBQUMsbUJBQW1CLENBQUMsYUFBYSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1NBQ25FO1FBRUQsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVTthQUM5QixJQUFJLENBQ0gsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLEVBQ3pILFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FDZixDQUFDO0lBQ04sQ0FBQztJQUVELGtCQUFrQjtJQUNYLElBQUksQ0FBQyxLQUFrQjtRQUM1QixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVELGtCQUFrQjtJQUNYLEtBQUssQ0FBQyxHQUFRO1FBQ25CLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxrQkFBa0I7SUFDWCxRQUFRO1FBQ2IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUMzQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztJQUNyQixDQUFDO0lBRUQsZ0NBQWdDO0lBQ3pCLFlBQVk7UUFDakIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbmZpZ3VyYXRpb24gfSBmcm9tICdAbzNyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBPYnNlcnZlciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgc2hhcmVSZXBsYXkgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBnZXRDb25maWd1cmF0aW9uIH0gZnJvbSAnLi4vY29yZSc7XG5pbXBvcnQgeyBDb25maWd1cmF0aW9uQmFzZVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9jb25maWd1cmF0aW9uL2NvbmZpZ3VyYXRpb24uYmFzZS5zZXJ2aWNlJztcblxuZXhwb3J0IGNsYXNzIENvbmZpZ3VyYXRpb25PYnNlcnZlcjxUIGV4dGVuZHMgQ29uZmlndXJhdGlvbj4gaW1wbGVtZW50cyBPYnNlcnZlcjxQYXJ0aWFsPFQ+IHwgdW5kZWZpbmVkPiB7XG5cbiAgLyoqIElubmVyIG9ic2VydmFibGUgKi9cbiAgcHJpdmF0ZSByZWFkb25seSBvYnNlcnZhYmxlOiBPYnNlcnZhYmxlPFQ+O1xuXG4gIC8qKiBJbm5lciBzdWJzY3JpYmVyICovXG4gIHByaXZhdGUgcmVhZG9ubHkgc3Vic2NyaWJlcjogQmVoYXZpb3JTdWJqZWN0PFBhcnRpYWw8VD4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxQYXJ0aWFsPFQ+Pih7fSk7XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHB1YmxpYyBjbG9zZWQ/OiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIC8qKiBDb25maWd1cmF0aW9uIElEICovXG4gICAgcHVibGljIGNvbmZpZ0lkOiBzdHJpbmcsXG4gICAgZGVmYXVsdENvbmZpZzogVCxcbiAgICBjb25maWd1cmF0aW9uU2VydmljZT86IENvbmZpZ3VyYXRpb25CYXNlU2VydmljZVxuICApIHtcbiAgICBpZiAoY29uZmlndXJhdGlvblNlcnZpY2UpIHtcbiAgICAgIGNvbmZpZ3VyYXRpb25TZXJ2aWNlLmV4dGVuZENvbmZpZ3VyYXRpb24oZGVmYXVsdENvbmZpZywgY29uZmlnSWQpO1xuICAgIH1cblxuICAgIHRoaXMub2JzZXJ2YWJsZSA9IHRoaXMuc3Vic2NyaWJlclxuICAgICAgLnBpcGUoXG4gICAgICAgIGNvbmZpZ3VyYXRpb25TZXJ2aWNlID8gY29uZmlndXJhdGlvblNlcnZpY2UuZ2V0Q29tcG9uZW50Q29uZmlnKGNvbmZpZ0lkLCBkZWZhdWx0Q29uZmlnKSA6IGdldENvbmZpZ3VyYXRpb24oZGVmYXVsdENvbmZpZyksXG4gICAgICAgIHNoYXJlUmVwbGF5KDEpXG4gICAgICApO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHB1YmxpYyBuZXh0KHZhbHVlPzogUGFydGlhbDxUPik6IHZvaWQge1xuICAgIHRoaXMuc3Vic2NyaWJlci5uZXh0KHZhbHVlIHx8IHt9KTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBwdWJsaWMgZXJyb3IoZXJyOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLnN1YnNjcmliZXIuZXJyb3IoZXJyKTtcbiAgICB0aGlzLmNsb3NlZCA9IHRydWU7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHVibGljIGNvbXBsZXRlKCk6IHZvaWQge1xuICAgIHRoaXMuc3Vic2NyaWJlci5jb21wbGV0ZSgpO1xuICAgIHRoaXMuY2xvc2VkID0gdHJ1ZTtcbiAgfVxuXG4gIC8qKiBAc2VlIFN1YmplY3QuYXNPYnNlcnZhYmxlICovXG4gIHB1YmxpYyBhc09ic2VydmFibGUoKTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgcmV0dXJuIHRoaXMub2JzZXJ2YWJsZTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { Injectable, NgModule } from '@angular/core';
|
|
3
|
+
import * as i1 from '@ngrx/store';
|
|
4
|
+
import { computeItemIdentifier } from '@o3r/core';
|
|
5
|
+
import { setConfigOverride, ConfigurationStoreModule } from '@o3r/configuration';
|
|
6
|
+
|
|
7
|
+
/** ActionUpdateConfigurationBlock */
|
|
8
|
+
const RULES_ENGINE_CONFIGURATION_UPDATE_ACTION_TYPE = 'UPDATE_CONFIG';
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Service to handle async Configuration actions
|
|
12
|
+
*/
|
|
13
|
+
class ConfigurationRulesEngineActionHandler {
|
|
14
|
+
constructor(store) {
|
|
15
|
+
this.store = store;
|
|
16
|
+
/** @inheritdoc */
|
|
17
|
+
this.supportingActions = [RULES_ENGINE_CONFIGURATION_UPDATE_ACTION_TYPE];
|
|
18
|
+
}
|
|
19
|
+
/** @inheritdoc */
|
|
20
|
+
executeActions(actions) {
|
|
21
|
+
const configOverrideMap = actions
|
|
22
|
+
.filter((action) => action.library && action.component && action.property && typeof action.value !== 'undefined')
|
|
23
|
+
.reduce((acc, ov) => {
|
|
24
|
+
const configName = computeItemIdentifier(ov.component, ov.library);
|
|
25
|
+
acc[configName] ||= { overrides: {} };
|
|
26
|
+
acc[configName].overrides[ov.property] = ov.value;
|
|
27
|
+
return acc;
|
|
28
|
+
}, {});
|
|
29
|
+
const configOverrides = Object.entries(configOverrideMap)
|
|
30
|
+
.reduce((acc, [key, value]) => {
|
|
31
|
+
acc[key] = value.overrides;
|
|
32
|
+
return acc;
|
|
33
|
+
}, {});
|
|
34
|
+
this.store.dispatch(setConfigOverride({ state: { configOverrides } }));
|
|
35
|
+
}
|
|
36
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ConfigurationRulesEngineActionHandler, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
37
|
+
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ConfigurationRulesEngineActionHandler }); }
|
|
38
|
+
}
|
|
39
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ConfigurationRulesEngineActionHandler, decorators: [{
|
|
40
|
+
type: Injectable
|
|
41
|
+
}], ctorParameters: () => [{ type: i1.Store }] });
|
|
42
|
+
|
|
43
|
+
class ConfigurationRulesEngineActionModule {
|
|
44
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ConfigurationRulesEngineActionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
45
|
+
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.8", ngImport: i0, type: ConfigurationRulesEngineActionModule, imports: [ConfigurationStoreModule] }); }
|
|
46
|
+
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ConfigurationRulesEngineActionModule, providers: [
|
|
47
|
+
ConfigurationRulesEngineActionHandler
|
|
48
|
+
], imports: [ConfigurationStoreModule] }); }
|
|
49
|
+
}
|
|
50
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ConfigurationRulesEngineActionModule, decorators: [{
|
|
51
|
+
type: NgModule,
|
|
52
|
+
args: [{
|
|
53
|
+
imports: [
|
|
54
|
+
ConfigurationStoreModule
|
|
55
|
+
],
|
|
56
|
+
providers: [
|
|
57
|
+
ConfigurationRulesEngineActionHandler
|
|
58
|
+
]
|
|
59
|
+
}]
|
|
60
|
+
}] });
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* Generated bundle index. Do not edit.
|
|
64
|
+
*/
|
|
65
|
+
|
|
66
|
+
export { ConfigurationRulesEngineActionHandler, ConfigurationRulesEngineActionModule, RULES_ENGINE_CONFIGURATION_UPDATE_ACTION_TYPE };
|
|
67
|
+
//# sourceMappingURL=o3r-configuration-rules-engine.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"o3r-configuration-rules-engine.mjs","sources":["../../src/rules-engine/configuration.interfaces.ts","../../src/rules-engine/configuration.handler-action.ts","../../src/rules-engine/configuration.rules-engine.module.ts","../../src/rules-engine/o3r-configuration-rules-engine.ts"],"sourcesContent":["import type { RulesEngineAction } from '@o3r/core';\n\n/** ActionUpdateConfigurationBlock */\nexport const RULES_ENGINE_CONFIGURATION_UPDATE_ACTION_TYPE = 'UPDATE_CONFIG';\n\n/**\n * Content of action that updates a Configuration\n */\nexport interface ActionUpdateConfigBlock extends RulesEngineAction {\n actionType: typeof RULES_ENGINE_CONFIGURATION_UPDATE_ACTION_TYPE;\n library: string;\n component: string;\n property: string;\n}\n","import { Injectable } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport type { RulesEngineActionHandler } from '@o3r/core';\nimport { computeItemIdentifier } from '@o3r/core';\nimport { ConfigurationStore, PropertyOverride, setConfigOverride } from '@o3r/configuration';\nimport { ActionUpdateConfigBlock, RULES_ENGINE_CONFIGURATION_UPDATE_ACTION_TYPE } from './configuration.interfaces';\n\n/**\n * Service to handle async Configuration actions\n */\n@Injectable()\nexport class ConfigurationRulesEngineActionHandler implements RulesEngineActionHandler<ActionUpdateConfigBlock> {\n\n /** @inheritdoc */\n public readonly supportingActions = [RULES_ENGINE_CONFIGURATION_UPDATE_ACTION_TYPE] as const;\n\n constructor(private readonly store: Store<ConfigurationStore>) {\n }\n\n /** @inheritdoc */\n public executeActions(actions: ActionUpdateConfigBlock[]): void | Promise<void> {\n const configOverrideMap = actions\n .filter((action) => action.library && action.component && action.property && typeof action.value !== 'undefined')\n .reduce<Record<string, PropertyOverride>>((acc, ov) => {\n const configName = computeItemIdentifier(ov.component, ov.library);\n acc[configName] ||= { overrides: {} };\n acc[configName].overrides[ov.property] = ov.value;\n return acc;\n }, {});\n\n const configOverrides = Object.entries(configOverrideMap)\n .reduce<Record<string, PropertyOverride>>((acc, [key, value]) => {\n acc[key] = value.overrides;\n return acc;\n }, {});\n\n this.store.dispatch(setConfigOverride({ state: { configOverrides } }));\n }\n}\n","import { NgModule } from '@angular/core';\nimport { ConfigurationStoreModule } from '@o3r/configuration';\nimport { ConfigurationRulesEngineActionHandler } from './configuration.handler-action';\n\n@NgModule({\n imports: [\n ConfigurationStoreModule\n ],\n providers: [\n ConfigurationRulesEngineActionHandler\n ]\n})\nexport class ConfigurationRulesEngineActionModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;;;;AAEA;AACO,MAAM,6CAA6C,GAAG;;ACI7D;;AAEG;MAEU,qCAAqC,CAAA;AAKhD,IAAA,WAAA,CAA6B,KAAgC,EAAA;QAAhC,IAAK,CAAA,KAAA,GAAL,KAAK,CAA2B;;AAF7C,QAAA,IAAA,CAAA,iBAAiB,GAAG,CAAC,6CAA6C,CAAU,CAAC;KAG5F;;AAGM,IAAA,cAAc,CAAC,OAAkC,EAAA;QACtD,MAAM,iBAAiB,GAAG,OAAO;aAC9B,MAAM,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,QAAQ,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,WAAW,CAAC;AAChH,aAAA,MAAM,CAAmC,CAAC,GAAG,EAAE,EAAE,KAAI;AACpD,YAAA,MAAM,UAAU,GAAG,qBAAqB,CAAC,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;YACnE,GAAG,CAAC,UAAU,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;AACtC,YAAA,GAAG,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC;AAClD,YAAA,OAAO,GAAG,CAAC;SACZ,EAAE,EAAE,CAAC,CAAC;AAET,QAAA,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC;aACtD,MAAM,CAAmC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,KAAI;AAC9D,YAAA,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC;AAC3B,YAAA,OAAO,GAAG,CAAC;SACZ,EAAE,EAAE,CAAC,CAAC;AAET,QAAA,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,KAAK,EAAE,EAAE,eAAe,EAAE,EAAE,CAAC,CAAC,CAAC;KACxE;iIA1BU,qCAAqC,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,KAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;qIAArC,qCAAqC,EAAA,CAAA,CAAA,EAAA;;2FAArC,qCAAqC,EAAA,UAAA,EAAA,CAAA;kBADjD,UAAU;;;MCEE,oCAAoC,CAAA;iIAApC,oCAAoC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAApC,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oCAAoC,YAN7C,wBAAwB,CAAA,EAAA,CAAA,CAAA,EAAA;AAMf,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oCAAoC,EAJpC,SAAA,EAAA;YACT,qCAAqC;AACtC,SAAA,EAAA,OAAA,EAAA,CAJC,wBAAwB,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAMf,oCAAoC,EAAA,UAAA,EAAA,CAAA;kBARhD,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,wBAAwB;AACzB,qBAAA;AACD,oBAAA,SAAS,EAAE;wBACT,qCAAqC;AACtC,qBAAA;AACF,iBAAA,CAAA;;;ACXD;;AAEG;;;;"}
|