@o3r/configuration 10.0.0-next.9 → 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
|
@@ -30,7 +30,6 @@ export class ConfigurationDevtoolsMessageService {
|
|
|
30
30
|
}
|
|
31
31
|
/**
|
|
32
32
|
* Function to trigger a re-send a requested messages to the Otter Chrome DevTools extension
|
|
33
|
-
*
|
|
34
33
|
* @param only restricted list of messages to re-send
|
|
35
34
|
*/
|
|
36
35
|
handleReEmitRequest(only) {
|
|
@@ -40,7 +39,6 @@ export class ConfigurationDevtoolsMessageService {
|
|
|
40
39
|
}
|
|
41
40
|
/**
|
|
42
41
|
* Function to handle the incoming messages from Otter Chrome DevTools extension
|
|
43
|
-
*
|
|
44
42
|
* @param event Event coming from the Otter Chrome DevTools extension
|
|
45
43
|
* @param message
|
|
46
44
|
*/
|
|
@@ -88,18 +86,18 @@ export class ConfigurationDevtoolsMessageService {
|
|
|
88
86
|
ngOnDestroy() {
|
|
89
87
|
this.subscriptions.unsubscribe();
|
|
90
88
|
}
|
|
91
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
92
|
-
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
89
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ConfigurationDevtoolsMessageService, deps: [{ token: i1.Store }, { token: i2.LoggerService }, { token: i3.OtterConfigurationDevtools }, { token: OTTER_CONFIGURATION_DEVTOOLS_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
90
|
+
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ConfigurationDevtoolsMessageService, providedIn: 'root' }); }
|
|
93
91
|
}
|
|
94
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
92
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ConfigurationDevtoolsMessageService, decorators: [{
|
|
95
93
|
type: Injectable,
|
|
96
94
|
args: [{
|
|
97
95
|
providedIn: 'root'
|
|
98
96
|
}]
|
|
99
|
-
}], ctorParameters:
|
|
97
|
+
}], ctorParameters: () => [{ type: i1.Store }, { type: i2.LoggerService }, { type: i3.OtterConfigurationDevtools }, { type: undefined, decorators: [{
|
|
100
98
|
type: Optional
|
|
101
99
|
}, {
|
|
102
100
|
type: Inject,
|
|
103
101
|
args: [OTTER_CONFIGURATION_DEVTOOLS_OPTIONS]
|
|
104
|
-
}] }]
|
|
105
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
102
|
+
}] }] });
|
|
103
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi1kZXZ0b29scy5tZXNzYWdlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZGV2a2l0L2NvbmZpZ3VyYXRpb24tZGV2dG9vbHMubWVzc2FnZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFhLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM1QyxPQUFPLEVBQTRCLG9CQUFvQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQzdGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDNUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9ELE9BQU8sRUFBc0IsMkJBQTJCLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDNUUsT0FBTyxFQUE2RyxzQkFBc0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3ZMLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSw0Q0FBNEMsRUFBRSxvQ0FBb0MsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOzs7OztBQUtwSSxNQUFNLE9BQU8sbUNBQW1DO0lBTTlDLFlBQ3FCLEtBQWdDLEVBQ2hDLE1BQXFCLEVBQ3JCLHFCQUFpRCxFQUNTLE9BQTRDO1FBSHRHLFVBQUssR0FBTCxLQUFLLENBQTJCO1FBQ2hDLFdBQU0sR0FBTixNQUFNLENBQWU7UUFDckIsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUE0QjtRQUNTLFlBQU8sR0FBUCxPQUFPLENBQXFDO1FBUjFHLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUVuQyxnQkFBVyxHQUFHLENBQUEsZ0JBQXVELENBQUEsQ0FBQztRQVFyRixJQUFJLENBQUMsT0FBTyxHQUFHLEVBQUUsR0FBRyw0Q0FBNEMsRUFBRSxHQUFHLE9BQU8sRUFBRSxDQUFDO1FBRS9FLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxzQkFBc0IsRUFBRTtZQUN2QyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7U0FDakI7SUFDSCxDQUFDO0lBRU8sS0FBSyxDQUFDLDZCQUE2QjtRQUN6QyxNQUFNLGNBQWMsR0FBRyxNQUFNLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FDekQsTUFBTSxDQUFDLDJCQUEyQixDQUFDLENBQ3BDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLEVBQUUsRUFBRSxjQUFjLEVBQUUsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRDs7O09BR0c7SUFDSyxtQkFBbUIsQ0FBQyxJQUFzQztRQUNoRSxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsRUFBRTtZQUM1QyxPQUFPLElBQUksQ0FBQyw2QkFBNkIsRUFBRSxDQUFDO1NBQzdDO0lBQ0gsQ0FBQztJQUVEOzs7O09BSUc7SUFDSyxLQUFLLENBQUMsWUFBWSxDQUFDLE9BQThDO1FBQ3ZFLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLCtDQUErQyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBRTVFLFFBQVEsT0FBTyxDQUFDLFFBQVEsRUFBRTtZQUN4QixLQUFLLFNBQVMsQ0FBQyxDQUFDO2dCQUNkLE1BQU0sSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO2dCQUMzQixNQUFNO2FBQ1A7WUFDRCxLQUFLLGlCQUFpQixDQUFDLENBQUM7Z0JBQ3RCLE1BQU0sSUFBSSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDN0MsTUFBTTthQUNQO1lBQ0QsS0FBSyxjQUFjLENBQUMsQ0FBQztnQkFDbkIsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGlCQUFpQixDQUFDLENBQUM7d0JBQzVDLElBQUksRUFBRSxPQUFPLENBQUMsRUFBRTt3QkFDaEIsTUFBTSxFQUFFLE9BQU8sQ0FBQyxXQUFXO3FCQUM1QixDQUFDLENBQUMsQ0FBQztnQkFDSixNQUFNO2FBQ1A7WUFDRCxPQUFPLENBQUMsQ0FBQztnQkFDUCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyw4Q0FBOEMsRUFBRSxPQUFPLENBQUMsQ0FBQzthQUMzRTtTQUNGO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0ssYUFBYTtRQUNuQixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyx1RUFBdUUsQ0FBQyxDQUFDO1FBQzNGLE9BQU8sSUFBSSxDQUFDLDZCQUE2QixFQUFFLENBQUM7SUFDOUMsQ0FBQztJQUVELGtCQUFrQjtJQUNYLFFBQVE7UUFDYixJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FDcEIsU0FBUyxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUN2SCxDQUFDO1FBRUYsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQ3BCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO2FBQ2pELFNBQVMsQ0FBQyxDQUFDLGNBQWMsRUFBRSxFQUFFO1lBQzVCLElBQUksQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLEVBQUU7Z0JBQ2pDLGNBQWM7YUFDZixDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FDTCxDQUFDO0lBQ0osQ0FBQztJQUVELGtCQUFrQjtJQUNYLFdBQVc7UUFDaEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNuQyxDQUFDO2lJQTdGVSxtQ0FBbUMsOEdBVXRCLG9DQUFvQztxSUFWakQsbUNBQW1DLGNBRmxDLE1BQU07OzJGQUVQLG1DQUFtQztrQkFIL0MsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQVdNLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsb0NBQW9DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBPbkRlc3Ryb3ksIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBzZWxlY3QsIFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgRGV2dG9vbHNTZXJ2aWNlSW50ZXJmYWNlLCBmaWx0ZXJNZXNzYWdlQ29udGVudCwgc2VuZE90dGVyTWVzc2FnZSB9IGZyb20gJ0BvM3IvY29yZSc7XG5pbXBvcnQgeyBMb2dnZXJTZXJ2aWNlIH0gZnJvbSAnQG8zci9sb2dnZXInO1xuaW1wb3J0IHsgZmlyc3RWYWx1ZUZyb20sIGZyb21FdmVudCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDb25maWd1cmF0aW9uU3RvcmUsIHNlbGVjdENvbmZpZ3VyYXRpb25FbnRpdGllcyB9IGZyb20gJy4uL3N0b3Jlcyc7XG5pbXBvcnQgeyBBdmFpbGFibGVDb25maWd1cmF0aW9uTWVzc2FnZUNvbnRlbnRzLCBDb25maWd1cmF0aW9uRGV2dG9vbHNTZXJ2aWNlT3B0aW9ucywgQ29uZmlndXJhdGlvbk1lc3NhZ2VEYXRhVHlwZXMsIGlzQ29uZmlndXJhdGlvbk1lc3NhZ2UgfSBmcm9tICcuL2NvbmZpZ3VyYXRpb24tZGV2dG9vbHMuaW50ZXJmYWNlJztcbmltcG9ydCB7IE90dGVyQ29uZmlndXJhdGlvbkRldnRvb2xzIH0gZnJvbSAnLi9jb25maWd1cmF0aW9uLWRldnRvb2xzLnNlcnZpY2UnO1xuaW1wb3J0IHsgT1RURVJfQ09ORklHVVJBVElPTl9ERVZUT09MU19ERUZBVUxUX09QVElPTlMsIE9UVEVSX0NPTkZJR1VSQVRJT05fREVWVE9PTFNfT1BUSU9OUyB9IGZyb20gJy4vY29uZmlndXJhdGlvbi1kZXZ0b29scy50b2tlbic7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIENvbmZpZ3VyYXRpb25EZXZ0b29sc01lc3NhZ2VTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95LCBEZXZ0b29sc1NlcnZpY2VJbnRlcmZhY2Uge1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgc3Vic2NyaXB0aW9ucyA9IG5ldyBTdWJzY3JpcHRpb24oKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IHNlbmRNZXNzYWdlID0gc2VuZE90dGVyTWVzc2FnZTxBdmFpbGFibGVDb25maWd1cmF0aW9uTWVzc2FnZUNvbnRlbnRzPjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICAgIHByaXZhdGUgcmVhZG9ubHkgc3RvcmU6IFN0b3JlPENvbmZpZ3VyYXRpb25TdG9yZT4sXG4gICAgICBwcml2YXRlIHJlYWRvbmx5IGxvZ2dlcjogTG9nZ2VyU2VydmljZSxcbiAgICAgIHByaXZhdGUgcmVhZG9ubHkgY29uZmlndXJhdGlvbkRldnRvb2xzOiBPdHRlckNvbmZpZ3VyYXRpb25EZXZ0b29scyxcbiAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoT1RURVJfQ09ORklHVVJBVElPTl9ERVZUT09MU19PUFRJT05TKSBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnM6IENvbmZpZ3VyYXRpb25EZXZ0b29sc1NlcnZpY2VPcHRpb25zKSB7XG5cbiAgICB0aGlzLm9wdGlvbnMgPSB7IC4uLk9UVEVSX0NPTkZJR1VSQVRJT05fREVWVE9PTFNfREVGQVVMVF9PUFRJT05TLCAuLi5vcHRpb25zIH07XG5cbiAgICBpZiAodGhpcy5vcHRpb25zLmlzQWN0aXZhdGVkT25Cb290c3RyYXApIHtcbiAgICAgIHRoaXMuYWN0aXZhdGUoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHNlbmRDdXJyZW50Q29uZmlndXJhdGlvblN0YXRlKCkge1xuICAgIGNvbnN0IGNvbmZpZ3VyYXRpb25zID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy5zdG9yZS5waXBlKFxuICAgICAgc2VsZWN0KHNlbGVjdENvbmZpZ3VyYXRpb25FbnRpdGllcylcbiAgICApKTtcbiAgICB0aGlzLnNlbmRNZXNzYWdlKCdjb25maWd1cmF0aW9ucycsIHsgY29uZmlndXJhdGlvbnMgfSk7XG4gIH1cblxuICAvKipcbiAgICogRnVuY3Rpb24gdG8gdHJpZ2dlciBhIHJlLXNlbmQgYSByZXF1ZXN0ZWQgbWVzc2FnZXMgdG8gdGhlIE90dGVyIENocm9tZSBEZXZUb29scyBleHRlbnNpb25cbiAgICogQHBhcmFtIG9ubHkgcmVzdHJpY3RlZCBsaXN0IG9mIG1lc3NhZ2VzIHRvIHJlLXNlbmRcbiAgICovXG4gIHByaXZhdGUgaGFuZGxlUmVFbWl0UmVxdWVzdChvbmx5PzogQ29uZmlndXJhdGlvbk1lc3NhZ2VEYXRhVHlwZXNbXSkge1xuICAgIGlmICghb25seSB8fCBvbmx5LmluY2x1ZGVzKCdjb25maWd1cmF0aW9ucycpKSB7XG4gICAgICByZXR1cm4gdGhpcy5zZW5kQ3VycmVudENvbmZpZ3VyYXRpb25TdGF0ZSgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBGdW5jdGlvbiB0byBoYW5kbGUgdGhlIGluY29taW5nIG1lc3NhZ2VzIGZyb20gT3R0ZXIgQ2hyb21lIERldlRvb2xzIGV4dGVuc2lvblxuICAgKiBAcGFyYW0gZXZlbnQgRXZlbnQgY29taW5nIGZyb20gdGhlIE90dGVyIENocm9tZSBEZXZUb29scyBleHRlbnNpb25cbiAgICogQHBhcmFtIG1lc3NhZ2VcbiAgICovXG4gIHByaXZhdGUgYXN5bmMgaGFuZGxlRXZlbnRzKG1lc3NhZ2U6IEF2YWlsYWJsZUNvbmZpZ3VyYXRpb25NZXNzYWdlQ29udGVudHMpIHtcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnTWVzc2FnZSBoYW5kbGluZyBieSB0aGUgY29uZmlndXJhdGlvbiBzZXJ2aWNlJywgbWVzc2FnZSk7XG5cbiAgICBzd2l0Y2ggKG1lc3NhZ2UuZGF0YVR5cGUpIHtcbiAgICAgIGNhc2UgJ2Nvbm5lY3QnOiB7XG4gICAgICAgIGF3YWl0IHRoaXMuY29ubmVjdFBsdWdpbigpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgJ3JlcXVlc3RNZXNzYWdlcyc6IHtcbiAgICAgICAgYXdhaXQgdGhpcy5oYW5kbGVSZUVtaXRSZXF1ZXN0KG1lc3NhZ2Uub25seSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSAndXBkYXRlQ29uZmlnJzoge1xuICAgICAgICB0aGlzLmNvbmZpZ3VyYXRpb25EZXZ0b29scy5sb2FkQ29uZmlndXJhdGlvbihbe1xuICAgICAgICAgIG5hbWU6IG1lc3NhZ2UuaWQsXG4gICAgICAgICAgY29uZmlnOiBtZXNzYWdlLmNvbmZpZ1ZhbHVlXG4gICAgICAgIH1dKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBkZWZhdWx0OiB7XG4gICAgICAgIHRoaXMubG9nZ2VyLndhcm4oJ01lc3NhZ2UgaWdub3JlZCBieSB0aGUgY29uZmlndXJhdGlvbiBzZXJ2aWNlJywgbWVzc2FnZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEZ1bmN0aW9uIHRvIGNvbm5lY3QgdGhlIHBsdWdpbiB0byB0aGUgT3R0ZXIgRGV2VG9vbHMgZXh0ZW5zaW9uXG4gICAqL1xuICBwcml2YXRlIGNvbm5lY3RQbHVnaW4oKSB7XG4gICAgdGhpcy5sb2dnZXIuZGVidWcoJ090dGVyIERldlRvb2xzIGlzIHBsdWdnZWQgdG8gY29uZmlndXJhdGlvbiBzZXJ2aWNlIG9mIHRoZSBhcHBsaWNhdGlvbicpO1xuICAgIHJldHVybiB0aGlzLnNlbmRDdXJyZW50Q29uZmlndXJhdGlvblN0YXRlKCk7XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKi9cbiAgcHVibGljIGFjdGl2YXRlKCkge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5hZGQoXG4gICAgICBmcm9tRXZlbnQod2luZG93LCAnbWVzc2FnZScpLnBpcGUoZmlsdGVyTWVzc2FnZUNvbnRlbnQoaXNDb25maWd1cmF0aW9uTWVzc2FnZSkpLnN1YnNjcmliZSgoZSkgPT4gdGhpcy5oYW5kbGVFdmVudHMoZSkpXG4gICAgKTtcblxuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5hZGQoXG4gICAgICB0aGlzLnN0b3JlLnBpcGUoc2VsZWN0KHNlbGVjdENvbmZpZ3VyYXRpb25FbnRpdGllcykpXG4gICAgICAgIC5zdWJzY3JpYmUoKGNvbmZpZ3VyYXRpb25zKSA9PiB7XG4gICAgICAgICAgdGhpcy5zZW5kTWVzc2FnZSgnY29uZmlndXJhdGlvbnMnLCB7XG4gICAgICAgICAgICBjb25maWd1cmF0aW9uc1xuICAgICAgICAgIH0pO1xuICAgICAgICB9KVxuICAgICk7XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKi9cbiAgcHVibGljIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy51bnN1YnNjcmliZSgpO1xuICB9XG59XG4iXX0=
|
|
@@ -9,7 +9,6 @@ import * as i0 from "@angular/core";
|
|
|
9
9
|
export class ConfigurationDevtoolsModule {
|
|
10
10
|
/**
|
|
11
11
|
* Initialize Otter Devtools
|
|
12
|
-
*
|
|
13
12
|
* @param options
|
|
14
13
|
*/
|
|
15
14
|
static instrument(options) {
|
|
@@ -23,10 +22,10 @@ export class ConfigurationDevtoolsModule {
|
|
|
23
22
|
]
|
|
24
23
|
};
|
|
25
24
|
}
|
|
26
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
27
|
-
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
25
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ConfigurationDevtoolsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
26
|
+
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.8", ngImport: i0, type: ConfigurationDevtoolsModule, imports: [StoreModule,
|
|
28
27
|
ConfigurationStoreModule] }); }
|
|
29
|
-
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
28
|
+
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ConfigurationDevtoolsModule, providers: [
|
|
30
29
|
{ provide: OTTER_CONFIGURATION_DEVTOOLS_OPTIONS, useValue: OTTER_CONFIGURATION_DEVTOOLS_DEFAULT_OPTIONS },
|
|
31
30
|
ConfigurationDevtoolsMessageService,
|
|
32
31
|
ConfigurationDevtoolsConsoleService,
|
|
@@ -34,7 +33,7 @@ export class ConfigurationDevtoolsModule {
|
|
|
34
33
|
], imports: [StoreModule,
|
|
35
34
|
ConfigurationStoreModule] }); }
|
|
36
35
|
}
|
|
37
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
36
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ConfigurationDevtoolsModule, decorators: [{
|
|
38
37
|
type: NgModule,
|
|
39
38
|
args: [{
|
|
40
39
|
imports: [
|
|
@@ -49,4 +48,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImpor
|
|
|
49
48
|
]
|
|
50
49
|
}]
|
|
51
50
|
}] });
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi1kZXZ0b29scy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZGV2a2l0L2NvbmZpZ3VyYXRpb24tZGV2dG9vbHMubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDMUMsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFM0QsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDL0YsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDL0YsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDOUUsT0FBTyxFQUFFLDRDQUE0QyxFQUFFLG9DQUFvQyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7O0FBY3BJLE1BQU0sT0FBTywyQkFBMkI7SUFFdEM7OztPQUdHO0lBQ0ksTUFBTSxDQUFDLFVBQVUsQ0FBQyxPQUFxRDtRQUM1RSxPQUFPO1lBQ0wsUUFBUSxFQUFFLDJCQUEyQjtZQUNyQyxTQUFTLEVBQUU7Z0JBQ1QsRUFBRSxPQUFPLEVBQUUsb0NBQW9DLEVBQUUsUUFBUSxFQUFFLEVBQUMsR0FBRyw0Q0FBNEMsRUFBRSxHQUFHLE9BQU8sRUFBQyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUU7Z0JBQ3hJLG1DQUFtQztnQkFDbkMsbUNBQW1DO2dCQUNuQywwQkFBMEI7YUFDM0I7U0FDRixDQUFDO0lBQ0osQ0FBQztpSUFoQlUsMkJBQTJCO2tJQUEzQiwyQkFBMkIsWUFWcEMsV0FBVztZQUNYLHdCQUF3QjtrSUFTZiwyQkFBMkIsYUFQM0I7WUFDVCxFQUFFLE9BQU8sRUFBRSxvQ0FBb0MsRUFBRSxRQUFRLEVBQUUsNENBQTRDLEVBQUU7WUFDekcsbUNBQW1DO1lBQ25DLG1DQUFtQztZQUNuQywwQkFBMEI7U0FDM0IsWUFSQyxXQUFXO1lBQ1gsd0JBQXdCOzsyRkFTZiwyQkFBMkI7a0JBWnZDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLFdBQVc7d0JBQ1gsd0JBQXdCO3FCQUN6QjtvQkFDRCxTQUFTLEVBQUU7d0JBQ1QsRUFBRSxPQUFPLEVBQUUsb0NBQW9DLEVBQUUsUUFBUSxFQUFFLDRDQUE0QyxFQUFFO3dCQUN6RyxtQ0FBbUM7d0JBQ25DLG1DQUFtQzt3QkFDbkMsMEJBQTBCO3FCQUMzQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdG9yZU1vZHVsZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25TdG9yZU1vZHVsZSB9IGZyb20gJy4uL3N0b3Jlcy9pbmRleCc7XG5pbXBvcnQgdHlwZSB7IENvbmZpZ3VyYXRpb25EZXZ0b29sc1NlcnZpY2VPcHRpb25zIH0gZnJvbSAnLi9jb25maWd1cmF0aW9uLWRldnRvb2xzLmludGVyZmFjZSc7XG5pbXBvcnQgeyBDb25maWd1cmF0aW9uRGV2dG9vbHNDb25zb2xlU2VydmljZSB9IGZyb20gJy4vY29uZmlndXJhdGlvbi1kZXZ0b29scy5jb25zb2xlLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29uZmlndXJhdGlvbkRldnRvb2xzTWVzc2FnZVNlcnZpY2UgfSBmcm9tICcuL2NvbmZpZ3VyYXRpb24tZGV2dG9vbHMubWVzc2FnZS5zZXJ2aWNlJztcbmltcG9ydCB7IE90dGVyQ29uZmlndXJhdGlvbkRldnRvb2xzIH0gZnJvbSAnLi9jb25maWd1cmF0aW9uLWRldnRvb2xzLnNlcnZpY2UnO1xuaW1wb3J0IHsgT1RURVJfQ09ORklHVVJBVElPTl9ERVZUT09MU19ERUZBVUxUX09QVElPTlMsIE9UVEVSX0NPTkZJR1VSQVRJT05fREVWVE9PTFNfT1BUSU9OUyB9IGZyb20gJy4vY29uZmlndXJhdGlvbi1kZXZ0b29scy50b2tlbic7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBTdG9yZU1vZHVsZSxcbiAgICBDb25maWd1cmF0aW9uU3RvcmVNb2R1bGVcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgeyBwcm92aWRlOiBPVFRFUl9DT05GSUdVUkFUSU9OX0RFVlRPT0xTX09QVElPTlMsIHVzZVZhbHVlOiBPVFRFUl9DT05GSUdVUkFUSU9OX0RFVlRPT0xTX0RFRkFVTFRfT1BUSU9OUyB9LFxuICAgIENvbmZpZ3VyYXRpb25EZXZ0b29sc01lc3NhZ2VTZXJ2aWNlLFxuICAgIENvbmZpZ3VyYXRpb25EZXZ0b29sc0NvbnNvbGVTZXJ2aWNlLFxuICAgIE90dGVyQ29uZmlndXJhdGlvbkRldnRvb2xzXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgQ29uZmlndXJhdGlvbkRldnRvb2xzTW9kdWxlIHtcblxuICAvKipcbiAgICogSW5pdGlhbGl6ZSBPdHRlciBEZXZ0b29sc1xuICAgKiBAcGFyYW0gb3B0aW9uc1xuICAgKi9cbiAgcHVibGljIHN0YXRpYyBpbnN0cnVtZW50KG9wdGlvbnM6IFBhcnRpYWw8Q29uZmlndXJhdGlvbkRldnRvb2xzU2VydmljZU9wdGlvbnM+KTogTW9kdWxlV2l0aFByb3ZpZGVyczxDb25maWd1cmF0aW9uRGV2dG9vbHNNb2R1bGU+IHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IENvbmZpZ3VyYXRpb25EZXZ0b29sc01vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7IHByb3ZpZGU6IE9UVEVSX0NPTkZJR1VSQVRJT05fREVWVE9PTFNfT1BUSU9OUywgdXNlVmFsdWU6IHsuLi5PVFRFUl9DT05GSUdVUkFUSU9OX0RFVlRPT0xTX0RFRkFVTFRfT1BUSU9OUywgLi4ub3B0aW9uc30sIG11bHRpOiBmYWxzZSB9LFxuICAgICAgICBDb25maWd1cmF0aW9uRGV2dG9vbHNNZXNzYWdlU2VydmljZSxcbiAgICAgICAgQ29uZmlndXJhdGlvbkRldnRvb2xzQ29uc29sZVNlcnZpY2UsXG4gICAgICAgIE90dGVyQ29uZmlndXJhdGlvbkRldnRvb2xzXG4gICAgICBdXG4gICAgfTtcbiAgfVxufVxuIl19
|
|
@@ -27,7 +27,6 @@ export class OtterConfigurationDevtools {
|
|
|
27
27
|
}
|
|
28
28
|
/**
|
|
29
29
|
* Get configuration name based on input information
|
|
30
|
-
*
|
|
31
30
|
* @param selector Selector for a component configuration. It can be a string in the form library#componentName (i.e: @refx/shared-components#HeaderContComponent)
|
|
32
31
|
* or an object with the component and library names (i.e: {library:"@refx/shared-components", componentName:'HeaderContComponent'})
|
|
33
32
|
* @param isFallbackName Determine if the name requested is a fallback name
|
|
@@ -52,7 +51,6 @@ export class OtterConfigurationDevtools {
|
|
|
52
51
|
}
|
|
53
52
|
/**
|
|
54
53
|
* Set a specified value of a component configuration
|
|
55
|
-
*
|
|
56
54
|
* @param selector Selector for a component configuration
|
|
57
55
|
* @param configProperty Name of the configuration property to set
|
|
58
56
|
* @param configValue Value of the configuration property to set
|
|
@@ -66,7 +64,6 @@ export class OtterConfigurationDevtools {
|
|
|
66
64
|
}
|
|
67
65
|
/**
|
|
68
66
|
* Get the configuration for a specific component
|
|
69
|
-
*
|
|
70
67
|
* @param selector Selector for a component configuration. It can be a string in the form library#configurationName (i.e: @refx/shared-components#HeaderPresConfig)
|
|
71
68
|
* or an object with the configuration and library names (i.e: {library:"@refx/shared-components", componentName:'HeaderPresConfig'})
|
|
72
69
|
*/
|
|
@@ -85,23 +82,22 @@ export class OtterConfigurationDevtools {
|
|
|
85
82
|
}
|
|
86
83
|
/**
|
|
87
84
|
* Load a json configuration
|
|
88
|
-
*
|
|
89
85
|
* @param configurations configurations to load
|
|
90
86
|
*/
|
|
91
87
|
loadConfiguration(configurations) {
|
|
92
88
|
this.store.dispatch(upsertConfigurationEntities(computeConfiguration(typeof configurations === 'string' ? JSON.parse(configurations) : configurations)));
|
|
93
89
|
this.appRef.tick();
|
|
94
90
|
}
|
|
95
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
96
|
-
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
91
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: OtterConfigurationDevtools, deps: [{ token: i1.Store }, { token: i0.ApplicationRef }, { token: OTTER_CONFIGURATION_DEVTOOLS_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
92
|
+
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: OtterConfigurationDevtools, providedIn: 'root' }); }
|
|
97
93
|
}
|
|
98
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
94
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: OtterConfigurationDevtools, decorators: [{
|
|
99
95
|
type: Injectable,
|
|
100
96
|
args: [{ providedIn: 'root' }]
|
|
101
|
-
}], ctorParameters:
|
|
97
|
+
}], ctorParameters: () => [{ type: i1.Store }, { type: i0.ApplicationRef }, { type: undefined, decorators: [{
|
|
102
98
|
type: Optional
|
|
103
99
|
}, {
|
|
104
100
|
type: Inject,
|
|
105
101
|
args: [OTTER_CONFIGURATION_DEVTOOLS_OPTIONS]
|
|
106
|
-
}] }]
|
|
107
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi1kZXZ0b29scy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2RldmtpdC9jb25maWd1cmF0aW9uLWRldnRvb2xzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RSxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUU1QyxPQUFPLEVBQUUsY0FBYyxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzFELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUMzRSxPQUFPLEVBQ0wsb0JBQW9CLEVBR3BCLDJCQUEyQixFQUMzQixzQkFBc0IsRUFDdEIsMkJBQTJCLEVBQzNCLHlCQUF5QixFQUMxQixNQUFNLFdBQVcsQ0FBQztBQUVuQixPQUFPLEVBQUUsNENBQTRDLEVBQUUsb0NBQW9DLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7O0FBR3BJLE1BQU0sT0FBTywwQkFBMEI7SUFLckMsWUFDWSxLQUFnQyxFQUNsQyxNQUFzQixFQUM2QyxPQUE0QztRQUY3RyxVQUFLLEdBQUwsS0FBSyxDQUEyQjtRQUNsQyxXQUFNLEdBQU4sTUFBTSxDQUFnQjtRQUM2QyxZQUFPLEdBQVAsT0FBTyxDQUFxQztRQUV2SCxJQUFJLENBQUMsT0FBTyxHQUFHLEVBQUUsR0FBRyw0Q0FBNEMsRUFBRSxHQUFHLE9BQU8sRUFBRSxDQUFDO1FBRS9FLCtCQUErQjtRQUMvQixJQUFJLENBQUMsc0JBQXNCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQzNDLE1BQU0sQ0FBQywyQkFBMkIs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QVIvQywwQkFBMEIsY0FEYixNQUFNOzsyRkFDbkIsMEJBQTBCO2tCQUR0QyxVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRTs7MEJBUzdCLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsb0NBQW9DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXBwbGljYXRpb25SZWYsIEluamVjdCwgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHNlbGVjdCwgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBDb25maWd1cmF0aW9uLCBDdXN0b21Db25maWcgfSBmcm9tICdAbzNyL2NvcmUnO1xuaW1wb3J0IHsgZmlyc3RWYWx1ZUZyb20sIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciwgbWFwLCBzaGFyZVJlcGxheSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IGNvbXB1dGVDb25maWd1cmF0aW9uTmFtZSwgcGFyc2VDb25maWd1cmF0aW9uTmFtZSB9IGZyb20gJy4uL2NvcmUnO1xuaW1wb3J0IHtcbiAgY29tcHV0ZUNvbmZpZ3VyYXRpb24sXG4gIENvbmZpZ3VyYXRpb25Nb2RlbCxcbiAgQ29uZmlndXJhdGlvblN0b3JlLFxuICBzZWxlY3RDb25maWd1cmF0aW9uRW50aXRpZXMsXG4gIHNlbGVjdENvbmZpZ3VyYXRpb25JZHMsXG4gIHVwc2VydENvbmZpZ3VyYXRpb25FbnRpdGllcyxcbiAgdXBzZXJ0Q29uZmlndXJhdGlvbkVudGl0eVxufSBmcm9tICcuLi9zdG9yZXMnO1xuaW1wb3J0IHsgQ29uZmlndXJhdGlvbkRldnRvb2xzU2VydmljZU9wdGlvbnMgfSBmcm9tICcuL2NvbmZpZ3VyYXRpb24tZGV2dG9vbHMuaW50ZXJmYWNlJztcbmltcG9ydCB7IE9UVEVSX0NPTkZJR1VSQVRJT05fREVWVE9PTFNfREVGQVVMVF9PUFRJT05TLCBPVFRFUl9DT05GSUdVUkFUSU9OX0RFVlRPT0xTX09QVElPTlMgfSBmcm9tICcuL2NvbmZpZ3VyYXRpb24tZGV2dG9vbHMudG9rZW4nO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIE90dGVyQ29uZmlndXJhdGlvbkRldnRvb2xzIHtcblxuICAvKiogU3RyZWFtIG9mIGNvbmZpZ3VyYXRpb25zICovXG4gIHB1YmxpYyByZWFkb25seSBjb25maWd1cmF0aW9uRW50aXRpZXMkOiBPYnNlcnZhYmxlPEN1c3RvbUNvbmZpZ1tdPjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgc3RvcmU6IFN0b3JlPENvbmZpZ3VyYXRpb25TdG9yZT4sXG4gICAgcHJpdmF0ZSBhcHBSZWY6IEFwcGxpY2F0aW9uUmVmLFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoT1RURVJfQ09ORklHVVJBVElPTl9ERVZUT09MU19PUFRJT05TKSBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnM6IENvbmZpZ3VyYXRpb25EZXZ0b29sc1NlcnZpY2VPcHRpb25zKSB7XG5cbiAgICB0aGlzLm9wdGlvbnMgPSB7IC4uLk9UVEVSX0NPTkZJR1VSQVRJT05fREVWVE9PTFNfREVGQVVMVF9PUFRJT05TLCAuLi5vcHRpb25zIH07XG5cbiAgICAvKiogRnVsbCBjb25maWd1cmF0aW9uIHN0b3JlICovXG4gICAgdGhpcy5jb25maWd1cmF0aW9uRW50aXRpZXMkID0gdGhpcy5zdG9yZS5waXBlKFxuICAgICAgc2VsZWN0KHNlbGVjdENvbmZpZ3VyYXRpb25FbnRpdGllcyksXG4gICAgICBtYXAoKGVudGl0aWVzKSA9PlxuICAgICAgICBPYmplY3QudmFsdWVzKGVudGl0aWVzKVxuICAgICAgICAgIC5maWx0ZXIoKGVudGl0eSk6IGVudGl0eSBpcyBDb25maWd1cmF0aW9uTW9kZWwgPT4gISFlbnRpdHkpXG4gICAgICAgICAgLm1hcCgoZW50aXR5KSA9PiB7XG4gICAgICAgICAgICBjb25zdCB7IGlkLCAuLi5jb25maWd1cmF0aW9uIH0gPSBlbnRpdHk7XG4gICAgICAgICAgICBjb25zdCBwYXJzZWRDb25maWd1cmF0aW9uTmFtZSA9IHBhcnNlQ29uZmlndXJhdGlvbk5hbWUoaWQpO1xuICAgICAgICAgICAgY29uc3QgbGlicmFyeU5hbWUgPSBwYXJzZWRDb25maWd1cmF0aW9uTmFtZSAmJiBwYXJzZWRDb25maWd1cmF0aW9uTmFtZS5saWJyYXJ5IHx8IHRoaXMub3B0aW9ucy5kZWZhdWx0TGlicmFyeU5hbWU7XG4gICAgICAgICAgICBjb25zdCBuYW1lID0gcGFyc2VkQ29uZmlndXJhdGlvbk5hbWUgJiYgcGFyc2VkQ29uZmlndXJhdGlvbk5hbWUuY29tcG9uZW50TmFtZSB8fCBpZDtcbiAgICAgICAgICAgIHJldHVybiB7IG5hbWUsIGNvbmZpZzogY29uZmlndXJhdGlvbiwgbGlicmFyeTogbGlicmFyeU5hbWUgfSBhcyBDdXN0b21Db25maWc7XG4gICAgICAgICAgfSlcbiAgICAgICAgICAuZmlsdGVyKChjb25mKTogY29uZiBpcyBDdXN0b21Db25maWcgPT4gISFjb25mKVxuICAgICAgKSxcbiAgICAgIHNoYXJlUmVwbGF5KDEpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgY29uZmlndXJhdGlvbiBuYW1lIGJhc2VkIG9uIGlucHV0IGluZm9ybWF0aW9uXG4gICAqXG4gICAqIEBwYXJhbSBzZWxlY3RvciBTZWxlY3RvciBmb3IgYSBjb21wb25lbnQgY29uZmlndXJhdGlvbi4gSXQgY2FuIGJlIGEgc3RyaW5nIGluIHRoZSBmb3JtIGxpYnJhcnkjY29tcG9uZW50TmFtZSAoaS5lOiBAcmVmeC9zaGFyZWQtY29tcG9uZW50cyNIZWFkZXJDb250Q29tcG9uZW50KVxuICAgKiBvciBhbiBvYmplY3Qgd2l0aCB0aGUgY29tcG9uZW50IGFuZCBsaWJyYXJ5IG5hbWVzIChpLmU6IHtsaWJyYXJ5OlwiQHJlZngvc2hhcmVkLWNvbXBvbmVudHNcIiwgY29tcG9uZW50TmFtZTonSGVhZGVyQ29udENvbXBvbmVudCd9KVxuICAgKiBAcGFyYW0gaXNGYWxsYmFja05hbWUgRGV0ZXJtaW5lIGlmIHRoZSBuYW1lIHJlcXVlc3RlZCBpcyBhIGZhbGxiYWNrIG5hbWVcbiAgICogQHJldHVybnMgc3RyaW5nIGluIHRoZSBmb3JtYXQgbGlicmFyeSNjb21wb25lbnROYW1lIChpLmU6IFwiQHJlZngvc2hhcmVkLWNvbXBvbmVudHMjSGVhZGVyQ29udENvbXBvbmVudFwiKVxuICAgKi9cbiAgcHVibGljIGdldENvbXBvbmVudENvbmZpZ05hbWUoc2VsZWN0b3I6IHN0cmluZyB8IHsgbGlicmFyeT86IHN0cmluZzsgY29tcG9uZW50TmFtZTogc3RyaW5nIH0sIGlzRmFsbGJhY2tOYW1lID0gZmFsc2UpIHtcbiAgICBpZiAoIWlzRmFsbGJhY2tOYW1lKSB7XG4gICAgICByZXR1cm4gdHlwZW9mIHNlbGVjdG9yID09PSAnc3RyaW5nJyA/IHNlbGVjdG9yIDogY29tcHV0ZUNvbmZpZ3VyYXRpb25OYW1lKHNlbGVjdG9yLmNvbXBvbmVudE5hbWUsIHNlbGVjdG9yLmxpYnJhcnkgfHwgdGhpcy5vcHRpb25zLmRlZmF1bHRMaWJyYXJ5TmFtZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHR5cGVvZiBzZWxlY3RvciA9PT0gJ3N0cmluZycgPyBjb21wdXRlQ29uZmlndXJhdGlvbk5hbWUoc2VsZWN0b3IsIHRoaXMub3B0aW9ucy5kZWZhdWx0TGlicmFyeU5hbWUgfHwgJ2dsb2JhbCcpIDpcbiAgICAgIGNvbXB1dGVDb25maWd1cmF0aW9uTmFtZShzZWxlY3Rvci5jb21wb25lbnROYW1lLCB0aGlzLm9wdGlvbnMuZGVmYXVsdExpYnJhcnlOYW1lIHx8ICdnbG9iYWwnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIGxpc3Qgb2YgY29tcG9uZW50cyB3aGljaCBoYXZlIGEgY29uZmlndXJhdGlvbiBsb2FkZWQgaW4gdGhlIHN0b3JlXG4gICAqL1xuICBwdWJsaWMgZ2V0Q29tcG9uZW50c1dpdGhDb25maWd1cmF0aW9uKCk6IFByb21pc2U8c3RyaW5nW10+IHtcbiAgICByZXR1cm4gZmlyc3RWYWx1ZUZyb20oXG4gICAgICB0aGlzLnN0b3JlXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIHNlbGVjdChzZWxlY3RDb25maWd1cmF0aW9uSWRzKSxcbiAgICAgICAgICBtYXAoKGlkcykgPT4gaWRzXG4gICAgICAgICAgICAubWFwKChjb25maWdOYW1lKSA9PiBwYXJzZUNvbmZpZ3VyYXRpb25OYW1lKGNvbmZpZ05hbWUudG9TdHJpbmcoKSkpXG4gICAgICAgICAgICAuZmlsdGVyKChwYXJzZWROYW1lKTogcGFyc2VkTmFtZSBpcyB7IGxpYnJhcnk/OiBzdHJpbmc7IGNvbXBvbmVudE5hbWU6IHN0cmluZyB9ID0+ICEhcGFyc2VkTmFtZSlcbiAgICAgICAgICAgIC5tYXAoKHBhcnNlZE5hbWUpID0+IHBhcnNlZE5hbWUuY29tcG9uZW50TmFtZSArIChwYXJzZWROYW1lLmxpYnJhcnkgPyAnIGZyb20gJyArIHBhcnNlZE5hbWUubGlicmFyeSA6ICcnKSlcbiAgICAgICAgICApXG4gICAgICAgIClcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCBhIHNwZWNpZmllZCB2YWx1ZSBvZiBhIGNvbXBvbmVudCBjb25maWd1cmF0aW9uXG4gICAqXG4gICAqIEBwYXJhbSBzZWxlY3RvciBTZWxlY3RvciBmb3IgYSBjb21wb25lbnQgY29uZmlndXJhdGlvblxuICAgKiBAcGFyYW0gY29uZmlnUHJvcGVydHkgTmFtZSBvZiB0aGUgY29uZmlndXJhdGlvbiBwcm9wZXJ0eSB0byBzZXRcbiAgICogQHBhcmFtIGNvbmZpZ1ZhbHVlIFZhbHVlIG9mIHRoZSBjb25maWd1cmF0aW9uIHByb3BlcnR5IHRvIHNldFxuICAgKi9cbiAgcHVibGljIHNldER5bmFtaWNDb25maWcoc2VsZWN0b3I6IHN0cmluZyB8IHsgbGlicmFyeT86IHN0cmluZzsgY29tcG9uZW50TmFtZTogc3RyaW5nIH0sIGNvbmZpZ1Byb3BlcnR5OiBzdHJpbmcsIGNvbmZpZ1ZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgdXBzZXJ0Q29uZmlndXJhdGlvbkVudGl0eSh7XG4gICAgICAgIGlkOiB0aGlzLmdldENvbXBvbmVudENvbmZpZ05hbWUoc2VsZWN0b3IpLFxuICAgICAgICBjb25maWd1cmF0aW9uOiB7IFtjb25maWdQcm9wZXJ0eV06IGNvbmZpZ1ZhbHVlIH1cbiAgICAgIH0pXG4gICAgKTtcbiAgICB0aGlzLmFwcFJlZi50aWNrKCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBjb25maWd1cmF0aW9uIGZvciBhIHNwZWNpZmljIGNvbXBvbmVudFxuICAgKlxuICAgKiBAcGFyYW0gc2VsZWN0b3IgU2VsZWN0b3IgZm9yIGEgY29tcG9uZW50IGNvbmZpZ3VyYXRpb24uIEl0IGNhbiBiZSBhIHN0cmluZyBpbiB0aGUgZm9ybSBsaWJyYXJ5I2NvbmZpZ3VyYXRpb25OYW1lIChpLmU6IEByZWZ4L3NoYXJlZC1jb21wb25lbnRzI0hlYWRlclByZXNDb25maWcpXG4gICAqIG9yIGFuIG9iamVjdCB3aXRoIHRoZSBjb25maWd1cmF0aW9uIGFuZCBsaWJyYXJ5IG5hbWVzIChpLmU6IHtsaWJyYXJ5OlwiQHJlZngvc2hhcmVkLWNvbXBvbmVudHNcIiwgY29tcG9uZW50TmFtZTonSGVhZGVyUHJlc0NvbmZpZyd9KVxuICAgKi9cbiAgcHVibGljIGdldEN1cnJlbnRDb25maWd1cmF0aW9uRm9yKHNlbGVjdG9yOiBzdHJpbmcgfCB7IGxpYnJhcnk/OiBzdHJpbmc7IGNvbXBvbmVudE5hbWU6IHN0cmluZyB9KTogUHJvbWlzZTxDb25maWd1cmF0aW9uPiB7XG4gICAgcmV0dXJuIGZpcnN0VmFsdWVGcm9tKFxuICAgICAgdGhpcy5zdG9yZS5waXBlKFxuICAgICAgICBzZWxlY3Qoc2VsZWN0Q29uZmlndXJhdGlvbkVudGl0aWVzKSxcbiAgICAgICAgbWFwKChlbnRpdGllcykgPT4gZW50aXRpZXNbdGhpcy5nZXRDb21wb25lbnRDb25maWdOYW1lKHNlbGVjdG9yKV0gfHwgZW50aXRpZXNbdGhpcy5nZXRDb21wb25lbnRDb25maWdOYW1lKHNlbGVjdG9yLCB0cnVlKV0pLFxuICAgICAgICBmaWx0ZXIoKGVudGl0eSk6IGVudGl0eSBpcyBDb25maWd1cmF0aW9uTW9kZWwgPT4gISFlbnRpdHkpLFxuICAgICAgICBtYXAoKGVudGl0eSkgPT4ge1xuICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgICAgICAgICBjb25zdCB7IGlkLCAuLi5jb25maWd1cmF0aW9uIH0gPSBlbnRpdHk7XG4gICAgICAgICAgcmV0dXJuIGNvbmZpZ3VyYXRpb24gYXMgQ29uZmlndXJhdGlvbjtcbiAgICAgICAgfSlcbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgd2hvbGUgY29uZmlndXJhdGlvbiBvZiB0aGUgYXBwbGljYXRpb25cbiAgICovXG4gIHB1YmxpYyBnZXRDb25maWd1cmF0aW9uKCkge1xuICAgIHJldHVybiBmaXJzdFZhbHVlRnJvbSh0aGlzLmNvbmZpZ3VyYXRpb25FbnRpdGllcyQpO1xuICB9XG5cbiAgLyoqXG4gICAqIExvYWQgYSBqc29uIGNvbmZpZ3VyYXRpb25cbiAgICpcbiAgICogQHBhcmFtIGNvbmZpZ3VyYXRpb25zIGNvbmZpZ3VyYXRpb25zIHRvIGxvYWRcbiAgICovXG4gIHB1YmxpYyBsb2FkQ29uZmlndXJhdGlvbihjb25maWd1cmF0aW9uczogc3RyaW5nIHwgQ3VzdG9tQ29uZmlnPENvbmZpZ3VyYXRpb24+W10pOiB2b2lkIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKHVwc2VydENvbmZpZ3VyYXRpb25FbnRpdGllcyhjb21wdXRlQ29uZmlndXJhdGlvbih0eXBlb2YgY29uZmlndXJhdGlvbnMgPT09ICdzdHJpbmcnID8gSlNPTi5wYXJzZShjb25maWd1cmF0aW9ucykgOiBjb25maWd1cmF0aW9ucykpKTtcbiAgICB0aGlzLmFwcFJlZi50aWNrKCk7XG4gIH1cbn1cbiJdfQ==
|
|
102
|
+
}] }] });
|
|
103
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi1kZXZ0b29scy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2RldmtpdC9jb25maWd1cmF0aW9uLWRldnRvb2xzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RSxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUU1QyxPQUFPLEVBQUUsY0FBYyxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzFELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUMzRSxPQUFPLEVBQ0wsb0JBQW9CLEVBR3BCLDJCQUEyQixFQUMzQixzQkFBc0IsRUFDdEIsMkJBQTJCLEVBQzNCLHlCQUF5QixFQUMxQixNQUFNLFdBQVcsQ0FBQztBQUVuQixPQUFPLEVBQUUsNENBQTRDLEVBQUUsb0NBQW9DLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7O0FBR3BJLE1BQU0sT0FBTywwQkFBMEI7SUFLckMsWUFDWSxLQUFnQyxFQUN6QixNQUFzQixFQUNvQyxPQUE0QztRQUY3RyxVQUFLLEdBQUwsS0FBSyxDQUEyQjtRQUN6QixXQUFNLEdBQU4sTUFBTSxDQUFnQjtRQUNvQyxZQUFPLEdBQVAsT0FBTyxDQUFxQztRQUV2SCxJQUFJLENBQUMsT0FBTyxHQUFHLEVBQUUsR0FBRyw0Q0FBNEMsRUFBRSxHQUFHLE9BQU8sRUFBRSxDQUFDO1FBRS9FLCtCQUErQjtRQUMvQixJQUFJLENBQUMsc0JBQXNCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQzNDLE1BQU0sQ0FBQywyQkFBMkIs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LDBCQUEwQixjQURiLE1BQU07OzJGQUNuQiwwQkFBMEI7a0JBRHRDLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFOzswQkFTN0IsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxvQ0FBb0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBcHBsaWNhdGlvblJlZiwgSW5qZWN0LCBJbmplY3RhYmxlLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgc2VsZWN0LCBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IENvbmZpZ3VyYXRpb24sIEN1c3RvbUNvbmZpZyB9IGZyb20gJ0BvM3IvY29yZSc7XG5pbXBvcnQgeyBmaXJzdFZhbHVlRnJvbSwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyLCBtYXAsIHNoYXJlUmVwbGF5IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgY29tcHV0ZUNvbmZpZ3VyYXRpb25OYW1lLCBwYXJzZUNvbmZpZ3VyYXRpb25OYW1lIH0gZnJvbSAnLi4vY29yZSc7XG5pbXBvcnQge1xuICBjb21wdXRlQ29uZmlndXJhdGlvbixcbiAgQ29uZmlndXJhdGlvbk1vZGVsLFxuICBDb25maWd1cmF0aW9uU3RvcmUsXG4gIHNlbGVjdENvbmZpZ3VyYXRpb25FbnRpdGllcyxcbiAgc2VsZWN0Q29uZmlndXJhdGlvbklkcyxcbiAgdXBzZXJ0Q29uZmlndXJhdGlvbkVudGl0aWVzLFxuICB1cHNlcnRDb25maWd1cmF0aW9uRW50aXR5XG59IGZyb20gJy4uL3N0b3Jlcyc7XG5pbXBvcnQgeyBDb25maWd1cmF0aW9uRGV2dG9vbHNTZXJ2aWNlT3B0aW9ucyB9IGZyb20gJy4vY29uZmlndXJhdGlvbi1kZXZ0b29scy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgT1RURVJfQ09ORklHVVJBVElPTl9ERVZUT09MU19ERUZBVUxUX09QVElPTlMsIE9UVEVSX0NPTkZJR1VSQVRJT05fREVWVE9PTFNfT1BUSU9OUyB9IGZyb20gJy4vY29uZmlndXJhdGlvbi1kZXZ0b29scy50b2tlbic7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgT3R0ZXJDb25maWd1cmF0aW9uRGV2dG9vbHMge1xuXG4gIC8qKiBTdHJlYW0gb2YgY29uZmlndXJhdGlvbnMgKi9cbiAgcHVibGljIHJlYWRvbmx5IGNvbmZpZ3VyYXRpb25FbnRpdGllcyQ6IE9ic2VydmFibGU8Q3VzdG9tQ29uZmlnW10+O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBzdG9yZTogU3RvcmU8Q29uZmlndXJhdGlvblN0b3JlPixcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFwcFJlZjogQXBwbGljYXRpb25SZWYsXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChPVFRFUl9DT05GSUdVUkFUSU9OX0RFVlRPT0xTX09QVElPTlMpIHByaXZhdGUgcmVhZG9ubHkgb3B0aW9uczogQ29uZmlndXJhdGlvbkRldnRvb2xzU2VydmljZU9wdGlvbnMpIHtcblxuICAgIHRoaXMub3B0aW9ucyA9IHsgLi4uT1RURVJfQ09ORklHVVJBVElPTl9ERVZUT09MU19ERUZBVUxUX09QVElPTlMsIC4uLm9wdGlvbnMgfTtcblxuICAgIC8qKiBGdWxsIGNvbmZpZ3VyYXRpb24gc3RvcmUgKi9cbiAgICB0aGlzLmNvbmZpZ3VyYXRpb25FbnRpdGllcyQgPSB0aGlzLnN0b3JlLnBpcGUoXG4gICAgICBzZWxlY3Qoc2VsZWN0Q29uZmlndXJhdGlvbkVudGl0aWVzKSxcbiAgICAgIG1hcCgoZW50aXRpZXMpID0+XG4gICAgICAgIE9iamVjdC52YWx1ZXMoZW50aXRpZXMpXG4gICAgICAgICAgLmZpbHRlcigoZW50aXR5KTogZW50aXR5IGlzIENvbmZpZ3VyYXRpb25Nb2RlbCA9PiAhIWVudGl0eSlcbiAgICAgICAgICAubWFwKChlbnRpdHkpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHsgaWQsIC4uLmNvbmZpZ3VyYXRpb24gfSA9IGVudGl0eTtcbiAgICAgICAgICAgIGNvbnN0IHBhcnNlZENvbmZpZ3VyYXRpb25OYW1lID0gcGFyc2VDb25maWd1cmF0aW9uTmFtZShpZCk7XG4gICAgICAgICAgICBjb25zdCBsaWJyYXJ5TmFtZSA9IHBhcnNlZENvbmZpZ3VyYXRpb25OYW1lICYmIHBhcnNlZENvbmZpZ3VyYXRpb25OYW1lLmxpYnJhcnkgfHwgdGhpcy5vcHRpb25zLmRlZmF1bHRMaWJyYXJ5TmFtZTtcbiAgICAgICAgICAgIGNvbnN0IG5hbWUgPSBwYXJzZWRDb25maWd1cmF0aW9uTmFtZSAmJiBwYXJzZWRDb25maWd1cmF0aW9uTmFtZS5jb21wb25lbnROYW1lIHx8IGlkO1xuICAgICAgICAgICAgcmV0dXJuIHsgbmFtZSwgY29uZmlnOiBjb25maWd1cmF0aW9uLCBsaWJyYXJ5OiBsaWJyYXJ5TmFtZSB9IGFzIEN1c3RvbUNvbmZpZztcbiAgICAgICAgICB9KVxuICAgICAgICAgIC5maWx0ZXIoKGNvbmYpOiBjb25mIGlzIEN1c3RvbUNvbmZpZyA9PiAhIWNvbmYpXG4gICAgICApLFxuICAgICAgc2hhcmVSZXBsYXkoMSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBjb25maWd1cmF0aW9uIG5hbWUgYmFzZWQgb24gaW5wdXQgaW5mb3JtYXRpb25cbiAgICogQHBhcmFtIHNlbGVjdG9yIFNlbGVjdG9yIGZvciBhIGNvbXBvbmVudCBjb25maWd1cmF0aW9uLiBJdCBjYW4gYmUgYSBzdHJpbmcgaW4gdGhlIGZvcm0gbGlicmFyeSNjb21wb25lbnROYW1lIChpLmU6IEByZWZ4L3NoYXJlZC1jb21wb25lbnRzI0hlYWRlckNvbnRDb21wb25lbnQpXG4gICAqIG9yIGFuIG9iamVjdCB3aXRoIHRoZSBjb21wb25lbnQgYW5kIGxpYnJhcnkgbmFtZXMgKGkuZToge2xpYnJhcnk6XCJAcmVmeC9zaGFyZWQtY29tcG9uZW50c1wiLCBjb21wb25lbnROYW1lOidIZWFkZXJDb250Q29tcG9uZW50J30pXG4gICAqIEBwYXJhbSBpc0ZhbGxiYWNrTmFtZSBEZXRlcm1pbmUgaWYgdGhlIG5hbWUgcmVxdWVzdGVkIGlzIGEgZmFsbGJhY2sgbmFtZVxuICAgKiBAcmV0dXJucyBzdHJpbmcgaW4gdGhlIGZvcm1hdCBsaWJyYXJ5I2NvbXBvbmVudE5hbWUgKGkuZTogXCJAcmVmeC9zaGFyZWQtY29tcG9uZW50cyNIZWFkZXJDb250Q29tcG9uZW50XCIpXG4gICAqL1xuICBwdWJsaWMgZ2V0Q29tcG9uZW50Q29uZmlnTmFtZShzZWxlY3Rvcjogc3RyaW5nIHwgeyBsaWJyYXJ5Pzogc3RyaW5nOyBjb21wb25lbnROYW1lOiBzdHJpbmcgfSwgaXNGYWxsYmFja05hbWUgPSBmYWxzZSkge1xuICAgIGlmICghaXNGYWxsYmFja05hbWUpIHtcbiAgICAgIHJldHVybiB0eXBlb2Ygc2VsZWN0b3IgPT09ICdzdHJpbmcnID8gc2VsZWN0b3IgOiBjb21wdXRlQ29uZmlndXJhdGlvbk5hbWUoc2VsZWN0b3IuY29tcG9uZW50TmFtZSwgc2VsZWN0b3IubGlicmFyeSB8fCB0aGlzLm9wdGlvbnMuZGVmYXVsdExpYnJhcnlOYW1lKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdHlwZW9mIHNlbGVjdG9yID09PSAnc3RyaW5nJyA/IGNvbXB1dGVDb25maWd1cmF0aW9uTmFtZShzZWxlY3RvciwgdGhpcy5vcHRpb25zLmRlZmF1bHRMaWJyYXJ5TmFtZSB8fCAnZ2xvYmFsJykgOlxuICAgICAgY29tcHV0ZUNvbmZpZ3VyYXRpb25OYW1lKHNlbGVjdG9yLmNvbXBvbmVudE5hbWUsIHRoaXMub3B0aW9ucy5kZWZhdWx0TGlicmFyeU5hbWUgfHwgJ2dsb2JhbCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgbGlzdCBvZiBjb21wb25lbnRzIHdoaWNoIGhhdmUgYSBjb25maWd1cmF0aW9uIGxvYWRlZCBpbiB0aGUgc3RvcmVcbiAgICovXG4gIHB1YmxpYyBnZXRDb21wb25lbnRzV2l0aENvbmZpZ3VyYXRpb24oKTogUHJvbWlzZTxzdHJpbmdbXT4ge1xuICAgIHJldHVybiBmaXJzdFZhbHVlRnJvbShcbiAgICAgIHRoaXMuc3RvcmVcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgc2VsZWN0KHNlbGVjdENvbmZpZ3VyYXRpb25JZHMpLFxuICAgICAgICAgIG1hcCgoaWRzKSA9PiBpZHNcbiAgICAgICAgICAgIC5tYXAoKGNvbmZpZ05hbWUpID0+IHBhcnNlQ29uZmlndXJhdGlvbk5hbWUoY29uZmlnTmFtZS50b1N0cmluZygpKSlcbiAgICAgICAgICAgIC5maWx0ZXIoKHBhcnNlZE5hbWUpOiBwYXJzZWROYW1lIGlzIHsgbGlicmFyeT86IHN0cmluZzsgY29tcG9uZW50TmFtZTogc3RyaW5nIH0gPT4gISFwYXJzZWROYW1lKVxuICAgICAgICAgICAgLm1hcCgocGFyc2VkTmFtZSkgPT4gcGFyc2VkTmFtZS5jb21wb25lbnROYW1lICsgKHBhcnNlZE5hbWUubGlicmFyeSA/ICcgZnJvbSAnICsgcGFyc2VkTmFtZS5saWJyYXJ5IDogJycpKVxuICAgICAgICAgIClcbiAgICAgICAgKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogU2V0IGEgc3BlY2lmaWVkIHZhbHVlIG9mIGEgY29tcG9uZW50IGNvbmZpZ3VyYXRpb25cbiAgICogQHBhcmFtIHNlbGVjdG9yIFNlbGVjdG9yIGZvciBhIGNvbXBvbmVudCBjb25maWd1cmF0aW9uXG4gICAqIEBwYXJhbSBjb25maWdQcm9wZXJ0eSBOYW1lIG9mIHRoZSBjb25maWd1cmF0aW9uIHByb3BlcnR5IHRvIHNldFxuICAgKiBAcGFyYW0gY29uZmlnVmFsdWUgVmFsdWUgb2YgdGhlIGNvbmZpZ3VyYXRpb24gcHJvcGVydHkgdG8gc2V0XG4gICAqL1xuICBwdWJsaWMgc2V0RHluYW1pY0NvbmZpZyhzZWxlY3Rvcjogc3RyaW5nIHwgeyBsaWJyYXJ5Pzogc3RyaW5nOyBjb21wb25lbnROYW1lOiBzdHJpbmcgfSwgY29uZmlnUHJvcGVydHk6IHN0cmluZywgY29uZmlnVmFsdWU6IGFueSk6IHZvaWQge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goXG4gICAgICB1cHNlcnRDb25maWd1cmF0aW9uRW50aXR5KHtcbiAgICAgICAgaWQ6IHRoaXMuZ2V0Q29tcG9uZW50Q29uZmlnTmFtZShzZWxlY3RvciksXG4gICAgICAgIGNvbmZpZ3VyYXRpb246IHsgW2NvbmZpZ1Byb3BlcnR5XTogY29uZmlnVmFsdWUgfVxuICAgICAgfSlcbiAgICApO1xuICAgIHRoaXMuYXBwUmVmLnRpY2soKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIGNvbmZpZ3VyYXRpb24gZm9yIGEgc3BlY2lmaWMgY29tcG9uZW50XG4gICAqIEBwYXJhbSBzZWxlY3RvciBTZWxlY3RvciBmb3IgYSBjb21wb25lbnQgY29uZmlndXJhdGlvbi4gSXQgY2FuIGJlIGEgc3RyaW5nIGluIHRoZSBmb3JtIGxpYnJhcnkjY29uZmlndXJhdGlvbk5hbWUgKGkuZTogQHJlZngvc2hhcmVkLWNvbXBvbmVudHMjSGVhZGVyUHJlc0NvbmZpZylcbiAgICogb3IgYW4gb2JqZWN0IHdpdGggdGhlIGNvbmZpZ3VyYXRpb24gYW5kIGxpYnJhcnkgbmFtZXMgKGkuZToge2xpYnJhcnk6XCJAcmVmeC9zaGFyZWQtY29tcG9uZW50c1wiLCBjb21wb25lbnROYW1lOidIZWFkZXJQcmVzQ29uZmlnJ30pXG4gICAqL1xuICBwdWJsaWMgZ2V0Q3VycmVudENvbmZpZ3VyYXRpb25Gb3Ioc2VsZWN0b3I6IHN0cmluZyB8IHsgbGlicmFyeT86IHN0cmluZzsgY29tcG9uZW50TmFtZTogc3RyaW5nIH0pOiBQcm9taXNlPENvbmZpZ3VyYXRpb24+IHtcbiAgICByZXR1cm4gZmlyc3RWYWx1ZUZyb20oXG4gICAgICB0aGlzLnN0b3JlLnBpcGUoXG4gICAgICAgIHNlbGVjdChzZWxlY3RDb25maWd1cmF0aW9uRW50aXRpZXMpLFxuICAgICAgICBtYXAoKGVudGl0aWVzKSA9PiBlbnRpdGllc1t0aGlzLmdldENvbXBvbmVudENvbmZpZ05hbWUoc2VsZWN0b3IpXSB8fCBlbnRpdGllc1t0aGlzLmdldENvbXBvbmVudENvbmZpZ05hbWUoc2VsZWN0b3IsIHRydWUpXSksXG4gICAgICAgIGZpbHRlcigoZW50aXR5KTogZW50aXR5IGlzIENvbmZpZ3VyYXRpb25Nb2RlbCA9PiAhIWVudGl0eSksXG4gICAgICAgIG1hcCgoZW50aXR5KSA9PiB7XG4gICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICAgICAgICAgIGNvbnN0IHsgaWQsIC4uLmNvbmZpZ3VyYXRpb24gfSA9IGVudGl0eTtcbiAgICAgICAgICByZXR1cm4gY29uZmlndXJhdGlvbiBhcyBDb25maWd1cmF0aW9uO1xuICAgICAgICB9KVxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSB3aG9sZSBjb25maWd1cmF0aW9uIG9mIHRoZSBhcHBsaWNhdGlvblxuICAgKi9cbiAgcHVibGljIGdldENvbmZpZ3VyYXRpb24oKSB7XG4gICAgcmV0dXJuIGZpcnN0VmFsdWVGcm9tKHRoaXMuY29uZmlndXJhdGlvbkVudGl0aWVzJCk7XG4gIH1cblxuICAvKipcbiAgICogTG9hZCBhIGpzb24gY29uZmlndXJhdGlvblxuICAgKiBAcGFyYW0gY29uZmlndXJhdGlvbnMgY29uZmlndXJhdGlvbnMgdG8gbG9hZFxuICAgKi9cbiAgcHVibGljIGxvYWRDb25maWd1cmF0aW9uKGNvbmZpZ3VyYXRpb25zOiBzdHJpbmcgfCBDdXN0b21Db25maWc8Q29uZmlndXJhdGlvbj5bXSk6IHZvaWQge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2godXBzZXJ0Q29uZmlndXJhdGlvbkVudGl0aWVzKGNvbXB1dGVDb25maWd1cmF0aW9uKHR5cGVvZiBjb25maWd1cmF0aW9ucyA9PT0gJ3N0cmluZycgPyBKU09OLnBhcnNlKGNvbmZpZ3VyYXRpb25zKSA6IGNvbmZpZ3VyYXRpb25zKSkpO1xuICAgIHRoaXMuYXBwUmVmLnRpY2soKTtcbiAgfVxufVxuIl19
|
|
@@ -2,8 +2,9 @@ import { InjectionToken } from '@angular/core';
|
|
|
2
2
|
export const OTTER_CONFIGURATION_DEVTOOLS_DEFAULT_OPTIONS = {
|
|
3
3
|
defaultLibraryName: '@o3r/components',
|
|
4
4
|
defaultJsonFilename: 'partial-static-config.json',
|
|
5
|
-
isActivatedOnBootstrap: false
|
|
5
|
+
isActivatedOnBootstrap: false,
|
|
6
|
+
isActivatedOnBootstrapWhenCMSContext: true
|
|
6
7
|
};
|
|
7
8
|
// eslint-disable-next-line max-len
|
|
8
9
|
export const OTTER_CONFIGURATION_DEVTOOLS_OPTIONS = new InjectionToken('Otter Configuration Devtools options');
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi1kZXZ0b29scy50b2tlbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kZXZraXQvY29uZmlndXJhdGlvbi1kZXZ0b29scy50b2tlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRy9DLE1BQU0sQ0FBQyxNQUFNLDRDQUE0QyxHQUF3QztJQUMvRixrQkFBa0IsRUFBRSxpQkFBaUI7SUFDckMsbUJBQW1CLEVBQUUsNEJBQTRCO0lBQ2pELHNCQUFzQixFQUFFLEtBQUs7SUFDN0Isb0NBQW9DLEVBQUUsSUFBSTtDQUMzQyxDQUFDO0FBRUYsbUNBQW1DO0FBQ25DLE1BQU0sQ0FBQyxNQUFNLG9DQUFvQyxHQUF3RCxJQUFJLGNBQWMsQ0FBc0Msc0NBQXNDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb25maWd1cmF0aW9uRGV2dG9vbHNTZXJ2aWNlT3B0aW9ucyB9IGZyb20gJy4vY29uZmlndXJhdGlvbi1kZXZ0b29scy5pbnRlcmZhY2UnO1xuXG5leHBvcnQgY29uc3QgT1RURVJfQ09ORklHVVJBVElPTl9ERVZUT09MU19ERUZBVUxUX09QVElPTlM6IENvbmZpZ3VyYXRpb25EZXZ0b29sc1NlcnZpY2VPcHRpb25zID0ge1xuICBkZWZhdWx0TGlicmFyeU5hbWU6ICdAbzNyL2NvbXBvbmVudHMnLFxuICBkZWZhdWx0SnNvbkZpbGVuYW1lOiAncGFydGlhbC1zdGF0aWMtY29uZmlnLmpzb24nLFxuICBpc0FjdGl2YXRlZE9uQm9vdHN0cmFwOiBmYWxzZSxcbiAgaXNBY3RpdmF0ZWRPbkJvb3RzdHJhcFdoZW5DTVNDb250ZXh0OiB0cnVlXG59O1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbWF4LWxlblxuZXhwb3J0IGNvbnN0IE9UVEVSX0NPTkZJR1VSQVRJT05fREVWVE9PTFNfT1BUSU9OUzogSW5qZWN0aW9uVG9rZW48Q29uZmlndXJhdGlvbkRldnRvb2xzU2VydmljZU9wdGlvbnM+ID0gbmV3IEluamVjdGlvblRva2VuPENvbmZpZ3VyYXRpb25EZXZ0b29sc1NlcnZpY2VPcHRpb25zPignT3R0ZXIgQ29uZmlndXJhdGlvbiBEZXZ0b29scyBvcHRpb25zJyk7XG4iXX0=
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { Store } from '@ngrx/store';
|
|
3
|
+
import { computeItemIdentifier } from '@o3r/core';
|
|
4
|
+
import { setConfigOverride } from '@o3r/configuration';
|
|
5
|
+
import { RULES_ENGINE_CONFIGURATION_UPDATE_ACTION_TYPE } from './configuration.interfaces';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "@ngrx/store";
|
|
8
|
+
/**
|
|
9
|
+
* Service to handle async Configuration actions
|
|
10
|
+
*/
|
|
11
|
+
export class ConfigurationRulesEngineActionHandler {
|
|
12
|
+
constructor(store) {
|
|
13
|
+
this.store = store;
|
|
14
|
+
/** @inheritdoc */
|
|
15
|
+
this.supportingActions = [RULES_ENGINE_CONFIGURATION_UPDATE_ACTION_TYPE];
|
|
16
|
+
}
|
|
17
|
+
/** @inheritdoc */
|
|
18
|
+
executeActions(actions) {
|
|
19
|
+
const configOverrideMap = actions
|
|
20
|
+
.filter((action) => action.library && action.component && action.property && typeof action.value !== 'undefined')
|
|
21
|
+
.reduce((acc, ov) => {
|
|
22
|
+
const configName = computeItemIdentifier(ov.component, ov.library);
|
|
23
|
+
acc[configName] ||= { overrides: {} };
|
|
24
|
+
acc[configName].overrides[ov.property] = ov.value;
|
|
25
|
+
return acc;
|
|
26
|
+
}, {});
|
|
27
|
+
const configOverrides = Object.entries(configOverrideMap)
|
|
28
|
+
.reduce((acc, [key, value]) => {
|
|
29
|
+
acc[key] = value.overrides;
|
|
30
|
+
return acc;
|
|
31
|
+
}, {});
|
|
32
|
+
this.store.dispatch(setConfigOverride({ state: { configOverrides } }));
|
|
33
|
+
}
|
|
34
|
+
/** @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 }); }
|
|
35
|
+
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ConfigurationRulesEngineActionHandler }); }
|
|
36
|
+
}
|
|
37
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ConfigurationRulesEngineActionHandler, decorators: [{
|
|
38
|
+
type: Injectable
|
|
39
|
+
}], ctorParameters: () => [{ type: i1.Store }] });
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi5oYW5kbGVyLWFjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ydWxlcy1lbmdpbmUvY29uZmlndXJhdGlvbi5oYW5kbGVyLWFjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFcEMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ2xELE9BQU8sRUFBd0MsaUJBQWlCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM3RixPQUFPLEVBQTJCLDZDQUE2QyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7OztBQUVwSDs7R0FFRztBQUVILE1BQU0sT0FBTyxxQ0FBcUM7SUFLaEQsWUFBNkIsS0FBZ0M7UUFBaEMsVUFBSyxHQUFMLEtBQUssQ0FBMkI7UUFIN0Qsa0JBQWtCO1FBQ0Ysc0JBQWlCLEdBQUcsQ0FBQyw2Q0FBNkMsQ0FBVSxDQUFDO0lBRzdGLENBQUM7SUFFRCxrQkFBa0I7SUFDWCxjQUFjLENBQUMsT0FBa0M7UUFDdEQsTUFBTSxpQkFBaUIsR0FBRyxPQUFPO2FBQzlCLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLE9BQU8sSUFBSSxNQUFNLENBQUMsU0FBUyxJQUFJLE1BQU0sQ0FBQyxRQUFRLElBQUksT0FBTyxNQUFNLENBQUMsS0FBSyxLQUFLLFdBQVcsQ0FBQzthQUNoSCxNQUFNLENBQW1DLENBQUMsR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUFFO1lBQ3BELE1BQU0sVUFBVSxHQUFHLHFCQUFxQixDQUFDLEVBQUUsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ25FLEdBQUcsQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUUsQ0FBQztZQUN0QyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDO1lBQ2xELE9BQU8sR0FBRyxDQUFDO1FBQ2IsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRVQsTUFBTSxlQUFlLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQzthQUN0RCxNQUFNLENBQW1DLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUU7WUFDOUQsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUM7WUFDM0IsT0FBTyxHQUFHLENBQUM7UUFDYixDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFVCxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLGVBQWUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7aUlBMUJVLHFDQUFxQztxSUFBckMscUNBQXFDOzsyRkFBckMscUNBQXFDO2tCQURqRCxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgdHlwZSB7IFJ1bGVzRW5naW5lQWN0aW9uSGFuZGxlciB9IGZyb20gJ0BvM3IvY29yZSc7XG5pbXBvcnQgeyBjb21wdXRlSXRlbUlkZW50aWZpZXIgfSBmcm9tICdAbzNyL2NvcmUnO1xuaW1wb3J0IHsgQ29uZmlndXJhdGlvblN0b3JlLCBQcm9wZXJ0eU92ZXJyaWRlLCBzZXRDb25maWdPdmVycmlkZSB9IGZyb20gJ0BvM3IvY29uZmlndXJhdGlvbic7XG5pbXBvcnQgeyBBY3Rpb25VcGRhdGVDb25maWdCbG9jaywgUlVMRVNfRU5HSU5FX0NPTkZJR1VSQVRJT05fVVBEQVRFX0FDVElPTl9UWVBFIH0gZnJvbSAnLi9jb25maWd1cmF0aW9uLmludGVyZmFjZXMnO1xuXG4vKipcbiAqIFNlcnZpY2UgdG8gaGFuZGxlIGFzeW5jIENvbmZpZ3VyYXRpb24gYWN0aW9uc1xuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ29uZmlndXJhdGlvblJ1bGVzRW5naW5lQWN0aW9uSGFuZGxlciBpbXBsZW1lbnRzIFJ1bGVzRW5naW5lQWN0aW9uSGFuZGxlcjxBY3Rpb25VcGRhdGVDb25maWdCbG9jaz4ge1xuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBwdWJsaWMgcmVhZG9ubHkgc3VwcG9ydGluZ0FjdGlvbnMgPSBbUlVMRVNfRU5HSU5FX0NPTkZJR1VSQVRJT05fVVBEQVRFX0FDVElPTl9UWVBFXSBhcyBjb25zdDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHN0b3JlOiBTdG9yZTxDb25maWd1cmF0aW9uU3RvcmU+KSB7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHVibGljIGV4ZWN1dGVBY3Rpb25zKGFjdGlvbnM6IEFjdGlvblVwZGF0ZUNvbmZpZ0Jsb2NrW10pOiB2b2lkIHwgUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgY29uZmlnT3ZlcnJpZGVNYXAgPSBhY3Rpb25zXG4gICAgICAuZmlsdGVyKChhY3Rpb24pID0+IGFjdGlvbi5saWJyYXJ5ICYmIGFjdGlvbi5jb21wb25lbnQgJiYgYWN0aW9uLnByb3BlcnR5ICYmIHR5cGVvZiBhY3Rpb24udmFsdWUgIT09ICd1bmRlZmluZWQnKVxuICAgICAgLnJlZHVjZTxSZWNvcmQ8c3RyaW5nLCBQcm9wZXJ0eU92ZXJyaWRlPj4oKGFjYywgb3YpID0+IHtcbiAgICAgICAgY29uc3QgY29uZmlnTmFtZSA9IGNvbXB1dGVJdGVtSWRlbnRpZmllcihvdi5jb21wb25lbnQsIG92LmxpYnJhcnkpO1xuICAgICAgICBhY2NbY29uZmlnTmFtZV0gfHw9IHsgb3ZlcnJpZGVzOiB7fSB9O1xuICAgICAgICBhY2NbY29uZmlnTmFtZV0ub3ZlcnJpZGVzW292LnByb3BlcnR5XSA9IG92LnZhbHVlO1xuICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgfSwge30pO1xuXG4gICAgY29uc3QgY29uZmlnT3ZlcnJpZGVzID0gT2JqZWN0LmVudHJpZXMoY29uZmlnT3ZlcnJpZGVNYXApXG4gICAgICAucmVkdWNlPFJlY29yZDxzdHJpbmcsIFByb3BlcnR5T3ZlcnJpZGU+PigoYWNjLCBba2V5LCB2YWx1ZV0pID0+IHtcbiAgICAgICAgYWNjW2tleV0gPSB2YWx1ZS5vdmVycmlkZXM7XG4gICAgICAgIHJldHVybiBhY2M7XG4gICAgICB9LCB7fSk7XG5cbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKHNldENvbmZpZ092ZXJyaWRlKHsgc3RhdGU6IHsgY29uZmlnT3ZlcnJpZGVzIH0gfSkpO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/** ActionUpdateConfigurationBlock */
|
|
2
|
+
export const RULES_ENGINE_CONFIGURATION_UPDATE_ACTION_TYPE = 'UPDATE_CONFIG';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi5pbnRlcmZhY2VzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3J1bGVzLWVuZ2luZS9jb25maWd1cmF0aW9uLmludGVyZmFjZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsc0NBQXNDO0FBQ3RDLE1BQU0sQ0FBQyxNQUFNLDZDQUE2QyxHQUFHLGVBQWUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUnVsZXNFbmdpbmVBY3Rpb24gfSBmcm9tICdAbzNyL2NvcmUnO1xuXG4vKiogQWN0aW9uVXBkYXRlQ29uZmlndXJhdGlvbkJsb2NrICAqL1xuZXhwb3J0IGNvbnN0IFJVTEVTX0VOR0lORV9DT05GSUdVUkFUSU9OX1VQREFURV9BQ1RJT05fVFlQRSA9ICdVUERBVEVfQ09ORklHJztcblxuLyoqXG4gKiBDb250ZW50IG9mIGFjdGlvbiB0aGF0IHVwZGF0ZXMgYSBDb25maWd1cmF0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQWN0aW9uVXBkYXRlQ29uZmlnQmxvY2sgZXh0ZW5kcyBSdWxlc0VuZ2luZUFjdGlvbiB7XG4gIGFjdGlvblR5cGU6IHR5cGVvZiBSVUxFU19FTkdJTkVfQ09ORklHVVJBVElPTl9VUERBVEVfQUNUSU9OX1RZUEU7XG4gIGxpYnJhcnk6IHN0cmluZztcbiAgY29tcG9uZW50OiBzdHJpbmc7XG4gIHByb3BlcnR5OiBzdHJpbmc7XG59XG4iXX0=
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { ConfigurationStoreModule } from '@o3r/configuration';
|
|
3
|
+
import { ConfigurationRulesEngineActionHandler } from './configuration.handler-action';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class ConfigurationRulesEngineActionModule {
|
|
6
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ConfigurationRulesEngineActionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
7
|
+
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.8", ngImport: i0, type: ConfigurationRulesEngineActionModule, imports: [ConfigurationStoreModule] }); }
|
|
8
|
+
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ConfigurationRulesEngineActionModule, providers: [
|
|
9
|
+
ConfigurationRulesEngineActionHandler
|
|
10
|
+
], imports: [ConfigurationStoreModule] }); }
|
|
11
|
+
}
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ConfigurationRulesEngineActionModule, decorators: [{
|
|
13
|
+
type: NgModule,
|
|
14
|
+
args: [{
|
|
15
|
+
imports: [
|
|
16
|
+
ConfigurationStoreModule
|
|
17
|
+
],
|
|
18
|
+
providers: [
|
|
19
|
+
ConfigurationRulesEngineActionHandler
|
|
20
|
+
]
|
|
21
|
+
}]
|
|
22
|
+
}] });
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi5ydWxlcy1lbmdpbmUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3J1bGVzLWVuZ2luZS9jb25maWd1cmF0aW9uLnJ1bGVzLWVuZ2luZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUscUNBQXFDLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7QUFVdkYsTUFBTSxPQUFPLG9DQUFvQztpSUFBcEMsb0NBQW9DO2tJQUFwQyxvQ0FBb0MsWUFON0Msd0JBQXdCO2tJQU1mLG9DQUFvQyxhQUpwQztZQUNULHFDQUFxQztTQUN0QyxZQUpDLHdCQUF3Qjs7MkZBTWYsb0NBQW9DO2tCQVJoRCxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCx3QkFBd0I7cUJBQ3pCO29CQUNELFNBQVMsRUFBRTt3QkFDVCxxQ0FBcUM7cUJBQ3RDO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25TdG9yZU1vZHVsZSB9IGZyb20gJ0BvM3IvY29uZmlndXJhdGlvbic7XG5pbXBvcnQgeyBDb25maWd1cmF0aW9uUnVsZXNFbmdpbmVBY3Rpb25IYW5kbGVyIH0gZnJvbSAnLi9jb25maWd1cmF0aW9uLmhhbmRsZXItYWN0aW9uJztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIENvbmZpZ3VyYXRpb25TdG9yZU1vZHVsZVxuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICBDb25maWd1cmF0aW9uUnVsZXNFbmdpbmVBY3Rpb25IYW5kbGVyXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgQ29uZmlndXJhdGlvblJ1bGVzRW5naW5lQWN0aW9uTW9kdWxlIHtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './public_api';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibzNyLWNvbmZpZ3VyYXRpb24tcnVsZXMtZW5naW5lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3J1bGVzLWVuZ2luZS9vM3ItY29uZmlndXJhdGlvbi1ydWxlcy1lbmdpbmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWNfYXBpJztcbiJdfQ==
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export * from './configuration.handler-action';
|
|
2
|
+
export * from './configuration.interfaces';
|
|
3
|
+
export * from './configuration.rules-engine.module';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ydWxlcy1lbmdpbmUvcHVibGljX2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxxQ0FBcUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY29uZmlndXJhdGlvbi5oYW5kbGVyLWFjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2NvbmZpZ3VyYXRpb24uaW50ZXJmYWNlcyc7XG5leHBvcnQgKiBmcm9tICcuL2NvbmZpZ3VyYXRpb24ucnVsZXMtZW5naW5lLm1vZHVsZSc7XG4iXX0=
|
|
@@ -3,11 +3,11 @@ import { LoggerModule } from '@o3r/logger';
|
|
|
3
3
|
import { ConfigurationStoreModule } from '../../stores/index';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
export class ConfigurationBaseServiceModule {
|
|
6
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
7
|
-
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
8
|
-
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
6
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ConfigurationBaseServiceModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
7
|
+
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.8", ngImport: i0, type: ConfigurationBaseServiceModule, imports: [ConfigurationStoreModule, LoggerModule] }); }
|
|
8
|
+
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ConfigurationBaseServiceModule, imports: [ConfigurationStoreModule, LoggerModule] }); }
|
|
9
9
|
}
|
|
10
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ConfigurationBaseServiceModule, decorators: [{
|
|
11
11
|
type: NgModule,
|
|
12
12
|
args: [{
|
|
13
13
|
imports: [ConfigurationStoreModule, LoggerModule]
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import { Injectable } from '@angular/core';
|
|
2
2
|
import { select, Store } from '@ngrx/store';
|
|
3
3
|
import { deepFill } from '@o3r/core';
|
|
4
|
-
import { combineLatest } from 'rxjs';
|
|
4
|
+
import { combineLatest, of } from 'rxjs';
|
|
5
5
|
import { distinctUntilChanged, map, switchMap, take } from 'rxjs/operators';
|
|
6
6
|
import { selectComponentOverrideConfig } from '../../stores/config-override/index';
|
|
7
|
-
import { computeConfiguration, selectConfigurationEntities, updateConfigurationEntity, upsertConfigurationEntities, upsertConfigurationEntity } from '../../stores/index';
|
|
7
|
+
import { computeConfiguration, globalConfigurationId, selectConfigurationEntities, selectConfigurationForComponent, selectGlobalConfiguration, updateConfigurationEntity, upsertConfigurationEntities, upsertConfigurationEntity } from '../../stores/index';
|
|
8
8
|
import { ConfigurationBaseServiceModule } from './configuration.base.module';
|
|
9
9
|
import * as i0 from "@angular/core";
|
|
10
10
|
import * as i1 from "@ngrx/store";
|
|
11
|
+
const jsonStringifyDiff = (obj1, obj2) => JSON.stringify(obj1) === JSON.stringify(obj2);
|
|
11
12
|
/**
|
|
12
13
|
* Configuration service
|
|
13
14
|
*/
|
|
@@ -18,25 +19,22 @@ export class ConfigurationBaseService {
|
|
|
18
19
|
}
|
|
19
20
|
/**
|
|
20
21
|
* Update a specific component config or add it to the store if does not exist
|
|
21
|
-
*
|
|
22
22
|
* @param configuration to edit/add
|
|
23
23
|
* @param configurationId Configuration ID
|
|
24
24
|
*/
|
|
25
|
-
upsertConfiguration(configuration, configurationId =
|
|
25
|
+
upsertConfiguration(configuration, configurationId = globalConfigurationId) {
|
|
26
26
|
this.store.dispatch(upsertConfigurationEntity({ id: configurationId, configuration }));
|
|
27
27
|
}
|
|
28
28
|
/**
|
|
29
29
|
* Update a specific component config
|
|
30
|
-
*
|
|
31
30
|
* @param configuration Partial config to edit
|
|
32
31
|
* @param configurationId Configuration ID
|
|
33
32
|
*/
|
|
34
|
-
updateConfiguration(configuration, configurationId =
|
|
33
|
+
updateConfiguration(configuration, configurationId = globalConfigurationId) {
|
|
35
34
|
this.store.dispatch(updateConfigurationEntity({ id: configurationId, configuration }));
|
|
36
35
|
}
|
|
37
36
|
/**
|
|
38
37
|
* This function will get the configuration stored in the data attribute of the html's body tag
|
|
39
|
-
*
|
|
40
38
|
* @param configTagName Value used to identify the data attribute where the config is pushed in the index.html
|
|
41
39
|
*/
|
|
42
40
|
getConfigFromBodyTag(configTagName = 'staticconfig') {
|
|
@@ -48,7 +46,6 @@ export class ConfigurationBaseService {
|
|
|
48
46
|
}
|
|
49
47
|
/**
|
|
50
48
|
* Transform the custom configuration in store configuration model
|
|
51
|
-
*
|
|
52
49
|
* @param customConfigObject Configuration object (extracted from body tag for static config or downloaded in case of dynamic config)
|
|
53
50
|
*/
|
|
54
51
|
computeConfiguration(customConfigObject) {
|
|
@@ -56,12 +53,11 @@ export class ConfigurationBaseService {
|
|
|
56
53
|
}
|
|
57
54
|
/**
|
|
58
55
|
* Complete a stored configuration by adding the missing fields
|
|
59
|
-
*
|
|
60
56
|
* @param extension Configuration extension to be included in the store
|
|
61
57
|
* @param configurationId Configuration ID to extend
|
|
62
58
|
* @param forceUpdate Force update the configuration in the store
|
|
63
59
|
*/
|
|
64
|
-
extendConfiguration(extension, configurationId =
|
|
60
|
+
extendConfiguration(extension, configurationId = globalConfigurationId, forceUpdate = false) {
|
|
65
61
|
if (this.extendedConfiguration[configurationId] && !forceUpdate) {
|
|
66
62
|
return;
|
|
67
63
|
}
|
|
@@ -70,7 +66,6 @@ export class ConfigurationBaseService {
|
|
|
70
66
|
}
|
|
71
67
|
/**
|
|
72
68
|
* Operator to get the configuration from store for a given component and merge it with the global config
|
|
73
|
-
*
|
|
74
69
|
* @param id Id of the component
|
|
75
70
|
* @param defaultValue Default value of the configuration
|
|
76
71
|
*/
|
|
@@ -85,37 +80,21 @@ export class ConfigurationBaseService {
|
|
|
85
80
|
}
|
|
86
81
|
/**
|
|
87
82
|
* Get an observable of the configuration from store for a given component and merge it with the global config + the config overrides from the rules engine
|
|
88
|
-
*
|
|
89
83
|
* @param id Id of the component
|
|
90
84
|
*/
|
|
91
85
|
getConfig(id) {
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
const globalConfig = storedConfigs[globalConfigId];
|
|
97
|
-
if (id !== globalConfigId && globalConfig) {
|
|
98
|
-
return {
|
|
99
|
-
...globalConfig,
|
|
100
|
-
...(componentConfig || {})
|
|
101
|
-
};
|
|
102
|
-
}
|
|
103
|
-
return componentConfig || null;
|
|
104
|
-
}), distinctUntilChanged((prev, current) => JSON.stringify(prev) === JSON.stringify(current))), this.store.pipe(select(selectComponentOverrideConfig(id)))
|
|
105
|
-
]).pipe(map(([storeConfig, storeOverrideConfig]) => {
|
|
106
|
-
return {
|
|
107
|
-
...storeConfig,
|
|
108
|
-
...storeOverrideConfig
|
|
109
|
-
};
|
|
110
|
-
}));
|
|
86
|
+
const globalConfig$ = this.store.pipe(select(selectGlobalConfiguration));
|
|
87
|
+
const componentConfig$ = id !== globalConfigurationId ? this.store.pipe(select(selectConfigurationForComponent({ id }))) : of({});
|
|
88
|
+
const overrideConfig$ = this.store.pipe(select(selectComponentOverrideConfig(id)));
|
|
89
|
+
return combineLatest([globalConfig$, componentConfig$, overrideConfig$]).pipe(map(([globalConfig, componentConfig, overrideConfig]) => ({ ...globalConfig, ...componentConfig, ...overrideConfig })), distinctUntilChanged(jsonStringifyDiff));
|
|
111
90
|
}
|
|
112
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
113
|
-
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
91
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ConfigurationBaseService, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
92
|
+
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ConfigurationBaseService, providedIn: ConfigurationBaseServiceModule }); }
|
|
114
93
|
}
|
|
115
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
94
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ConfigurationBaseService, decorators: [{
|
|
116
95
|
type: Injectable,
|
|
117
96
|
args: [{
|
|
118
97
|
providedIn: ConfigurationBaseServiceModule
|
|
119
98
|
}]
|
|
120
|
-
}], ctorParameters:
|
|
121
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi5iYXNlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc2VydmljZXMvY29uZmlndXJhdGlvbi9jb25maWd1cmF0aW9uLmJhc2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBK0IsUUFBUSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDakQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUUsT0FBTyxFQUF1Qiw2QkFBNkIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3hHLE9BQU8sRUFDTCxvQkFBb0IsRUFFcEIsMkJBQTJCLEVBQzNCLHlCQUF5QixFQUN6QiwyQkFBMkIsRUFDM0IseUJBQXlCLEVBQzFCLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7OztBQUc3RTs7R0FFRztBQUlILE1BQU0sT0FBTyx3QkFBd0I7SUFJbkMsWUFBb0IsS0FBc0Q7UUFBdEQsVUFBSyxHQUFMLEtBQUssQ0FBaUQ7UUFGbEUsMEJBQXFCLEdBQTZCLEVBQUUsQ0FBQztJQUc3RCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxtQkFBbUIsQ0FBMEIsYUFBZ0IsRUFBRSxlQUFlLEdBQUcsUUFBUTtRQUM5RixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyx5QkFBeUIsQ0FBQyxFQUFDLEVBQUUsRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3ZGLENBQUM7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QUFhLEVBQUUsRUFBRTtnQkFDcEIsTUFBTSxjQUFjLEdBQUcsUUFBUSxDQUFDO2dCQUNoQyxNQUFNLGVBQWUsR0FBRyxhQUFhLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQzFDLE1BQU0sWUFBWSxHQUFHLGFBQWEsQ0FBQyxjQUFjLENBQUMsQ0FBQztnQkFDbkQsSUFBSSxFQUFFLEtBQUssY0FBYyxJQUFJLFlBQVksRUFBRTtvQkFDekMsT0FBTzt3QkFDTCxHQUFHLFlBQVk7d0JBQ2YsR0FBRyxDQUFDLGVBQWUsSUFBSSxFQUFFLENBQUM7cUJBQzNCLENBQUM7aUJBQ0g7Z0JBQ0QsT0FBTyxlQUFlLElBQUksSUFBSSxDQUFDO1lBQ2pDLENBQUMsQ0FBQyxFQUNGLG9CQUFvQixDQUFDLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQzFGLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQ2hCLE1BQU0sQ0FBQyw2QkFBNkIsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUMxQztTQUFDLENBQ0gsQ0FBQyxJQUFJLENBQ0osR0FBRyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsbUJBQW1CLENBQUMsRUFBRSxFQUFFO1lBQ3pDLE9BQU87Z0JBQ0wsR0FBRyxXQUFXO2dCQUNkLEdBQUcsbUJBQW1CO2FBQ3ZCLENBQUM7UUFDSixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztpSUExSFUsd0JBQXdCO3FJQUF4Qix3QkFBd0IsY0FGdkIsOEJBQThCOzsyRkFFL0Isd0JBQXdCO2tCQUhwQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSw4QkFBOEI7aUJBQzNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgc2VsZWN0LCBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IENvbmZpZ3VyYXRpb24sIEN1c3RvbUNvbmZpZywgZGVlcEZpbGwgfSBmcm9tICdAbzNyL2NvcmUnO1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIG1hcCwgc3dpdGNoTWFwLCB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQ29uZmlnT3ZlcnJpZGVTdG9yZSwgc2VsZWN0Q29tcG9uZW50T3ZlcnJpZGVDb25maWcgfSBmcm9tICcuLi8uLi9zdG9yZXMvY29uZmlnLW92ZXJyaWRlL2luZGV4JztcbmltcG9ydCB7XG4gIGNvbXB1dGVDb25maWd1cmF0aW9uLFxuICBDb25maWd1cmF0aW9uU3RvcmUsXG4gIHNlbGVjdENvbmZpZ3VyYXRpb25FbnRpdGllcyxcbiAgdXBkYXRlQ29uZmlndXJhdGlvbkVudGl0eSxcbiAgdXBzZXJ0Q29uZmlndXJhdGlvbkVudGl0aWVzLFxuICB1cHNlcnRDb25maWd1cmF0aW9uRW50aXR5XG59IGZyb20gJy4uLy4uL3N0b3Jlcy9pbmRleCc7XG5pbXBvcnQgeyBDb25maWd1cmF0aW9uQmFzZVNlcnZpY2VNb2R1bGUgfSBmcm9tICcuL2NvbmZpZ3VyYXRpb24uYmFzZS5tb2R1bGUnO1xuXG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBzZXJ2aWNlXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogQ29uZmlndXJhdGlvbkJhc2VTZXJ2aWNlTW9kdWxlXG59KVxuZXhwb3J0IGNsYXNzIENvbmZpZ3VyYXRpb25CYXNlU2VydmljZSB7XG5cbiAgcHJpdmF0ZSBleHRlbmRlZENvbmZpZ3VyYXRpb246IHtba2V5OiBzdHJpbmddOiBib29sZWFufSA9IHt9O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc3RvcmU6IFN0b3JlPENvbmZpZ3VyYXRpb25TdG9yZSAmIENvbmZpZ092ZXJyaWRlU3RvcmU+KSB7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlIGEgc3BlY2lmaWMgY29tcG9uZW50IGNvbmZpZyBvciBhZGQgaXQgdG8gdGhlIHN0b3JlIGlmIGRvZXMgbm90IGV4aXN0XG4gICAqXG4gICAqIEBwYXJhbSBjb25maWd1cmF0aW9uIHRvIGVkaXQvYWRkXG4gICAqIEBwYXJhbSBjb25maWd1cmF0aW9uSWQgQ29uZmlndXJhdGlvbiBJRFxuICAgKi9cbiAgcHVibGljIHVwc2VydENvbmZpZ3VyYXRpb248VCBleHRlbmRzIENvbmZpZ3VyYXRpb24+KGNvbmZpZ3VyYXRpb246IFQsIGNvbmZpZ3VyYXRpb25JZCA9ICdnbG9iYWwnKSB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaCh1cHNlcnRDb25maWd1cmF0aW9uRW50aXR5KHtpZDogY29uZmlndXJhdGlvbklkLCBjb25maWd1cmF0aW9ufSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZSBhIHNwZWNpZmljIGNvbXBvbmVudCBjb25maWdcbiAgICpcbiAgICogQHBhcmFtIGNvbmZpZ3VyYXRpb24gUGFydGlhbCBjb25maWcgdG8gZWRpdFxuICAgKiBAcGFyYW0gY29uZmlndXJhdGlvbklkIENvbmZpZ3VyYXRpb24gSURcbiAgICovXG4gIHB1YmxpYyB1cGRhdGVDb25maWd1cmF0aW9uPFQgZXh0ZW5kcyBQYXJ0aWFsPENvbmZpZ3VyYXRpb24+Pihjb25maWd1cmF0aW9uOiBULCBjb25maWd1cmF0aW9uSWQgPSAnZ2xvYmFsJykge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2godXBkYXRlQ29uZmlndXJhdGlvbkVudGl0eSh7aWQ6IGNvbmZpZ3VyYXRpb25JZCwgY29uZmlndXJhdGlvbn0pKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGlzIGZ1bmN0aW9uIHdpbGwgZ2V0IHRoZSBjb25maWd1cmF0aW9uIHN0b3JlZCBpbiB0aGUgZGF0YSBhdHRyaWJ1dGUgb2YgdGhlIGh0bWwncyBib2R5IHRhZ1xuICAgKlxuICAgKiBAcGFyYW0gY29uZmlnVGFnTmFtZSBWYWx1ZSB1c2VkIHRvIGlkZW50aWZ5IHRoZSBkYXRhIGF0dHJpYnV0ZSB3aGVyZSB0aGUgY29uZmlnIGlzIHB1c2hlZCBpbiB0aGUgaW5kZXguaHRtbFxuICAgKi9cbiAgcHVibGljIGdldENvbmZpZ0Zyb21Cb2R5VGFnPFQgZXh0ZW5kcyBDb25maWd1cmF0aW9uPihjb25maWdUYWdOYW1lID0gJ3N0YXRpY2NvbmZpZycpIHtcbiAgICBjb25zdCBib290c3RyYXBDb25maWdTdHJpbmcgPSBkb2N1bWVudC5ib2R5LmRhdGFzZXRbY29uZmlnVGFnTmFtZV07XG4gICAgY29uc3QgY3VzdG9tQ29uZmlnT2JqZWN0OiBDdXN0b21Db25maWc8VD5bXSA9IGJvb3RzdHJhcENvbmZpZ1N0cmluZyA/IEpTT04ucGFyc2UoYm9vdHN0cmFwQ29uZmlnU3RyaW5nKSA6IFtdO1xuICAgIGlmIChjdXN0b21Db25maWdPYmplY3QubGVuZ3RoKSB7XG4gICAgICB0aGlzLmNvbXB1dGVDb25maWd1cmF0aW9uKGN1c3RvbUNvbmZpZ09iamVjdCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFRyYW5zZm9ybSB0aGUgY3VzdG9tIGNvbmZpZ3VyYXRpb24gaW4gc3RvcmUgY29uZmlndXJhdGlvbiBtb2RlbFxuICAgKlxuICAgKiBAcGFyYW0gY3VzdG9tQ29uZmlnT2JqZWN0IENvbmZpZ3VyYXRpb24gb2JqZWN0IChleHRyYWN0ZWQgZnJvbSBib2R5IHRhZyBmb3Igc3RhdGljIGNvbmZpZyBvciBkb3dubG9hZGVkIGluIGNhc2Ugb2YgZHluYW1pYyBjb25maWcpXG4gICAqL1xuICBwdWJsaWMgY29tcHV0ZUNvbmZpZ3VyYXRpb248VCBleHRlbmRzIENvbmZpZ3VyYXRpb24+KGN1c3RvbUNvbmZpZ09iamVjdDogQ3VzdG9tQ29uZmlnPFQ+W10pIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKHVwc2VydENvbmZpZ3VyYXRpb25FbnRpdGllcyhjb21wdXRlQ29uZmlndXJhdGlvbihjdXN0b21Db25maWdPYmplY3QpKSk7XG4gIH1cblxuICAvKipcbiAgICogQ29tcGxldGUgYSBzdG9yZWQgY29uZmlndXJhdGlvbiBieSBhZGRpbmcgdGhlIG1pc3NpbmcgZmllbGRzXG4gICAqXG4gICAqIEBwYXJhbSBleHRlbnNpb24gQ29uZmlndXJhdGlvbiBleHRlbnNpb24gdG8gYmUgaW5jbHVkZWQgaW4gdGhlIHN0b3JlXG4gICAqIEBwYXJhbSBjb25maWd1cmF0aW9uSWQgQ29uZmlndXJhdGlvbiBJRCB0byBleHRlbmRcbiAgICogQHBhcmFtIGZvcmNlVXBkYXRlIEZvcmNlIHVwZGF0ZSB0aGUgY29uZmlndXJhdGlvbiBpbiB0aGUgc3RvcmVcbiAgICovXG4gIHB1YmxpYyBleHRlbmRDb25maWd1cmF0aW9uPFQgZXh0ZW5kcyBDb25maWd1cmF0aW9uPihleHRlbnNpb246IFQsIGNvbmZpZ3VyYXRpb25JZCA9ICdnbG9iYWwnLCBmb3JjZVVwZGF0ZSA9IGZhbHNlKSB7XG4gICAgaWYgKHRoaXMuZXh0ZW5kZWRDb25maWd1cmF0aW9uW2NvbmZpZ3VyYXRpb25JZF0gJiYgIWZvcmNlVXBkYXRlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuZXh0ZW5kZWRDb25maWd1cmF0aW9uW2NvbmZpZ3VyYXRpb25JZF0gPSB0cnVlO1xuICAgIHRoaXMuc3RvcmUucGlwZShcbiAgICAgIHNlbGVjdChzZWxlY3RDb25maWd1cmF0aW9uRW50aXRpZXMpLFxuICAgICAgdGFrZSgxKSxcbiAgICAgIG1hcCgoc3RvcmVkQ29uZmlncykgPT4gY29uZmlndXJhdGlvbklkIGluIHN0b3JlZENvbmZpZ3MgPyBkZWVwRmlsbChleHRlbnNpb24sIHN0b3JlZENvbmZpZ3NbY29uZmlndXJhdGlvbklkXSkgOiBleHRlbnNpb24pXG4gICAgKS5zdWJzY3JpYmUoKGV4dGVuZGVkQ29uZmlnKSA9PiB0aGlzLnVwc2VydENvbmZpZ3VyYXRpb24oZXh0ZW5kZWRDb25maWcsIGNvbmZpZ3VyYXRpb25JZCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIE9wZXJhdG9yIHRvIGdldCB0aGUgY29uZmlndXJhdGlvbiBmcm9tIHN0b3JlIGZvciBhIGdpdmVuIGNvbXBvbmVudCBhbmQgbWVyZ2UgaXQgd2l0aCB0aGUgZ2xvYmFsIGNvbmZpZ1xuICAgKlxuICAgKiBAcGFyYW0gaWQgSWQgb2YgdGhlIGNvbXBvbmVudFxuICAgKiBAcGFyYW0gZGVmYXVsdFZhbHVlIERlZmF1bHQgdmFsdWUgb2YgdGhlIGNvbmZpZ3VyYXRpb25cbiAgICovXG4gIHB1YmxpYyBnZXRDb21wb25lbnRDb25maWc8VCBleHRlbmRzIENvbmZpZ3VyYXRpb24+KGlkOiBzdHJpbmcsIGRlZmF1bHRWYWx1ZTogVCkge1xuICAgIHJldHVybiAoc291cmNlOiBPYnNlcnZhYmxlPFBhcnRpYWw8VD4gfCB1bmRlZmluZWQ+KTogT2JzZXJ2YWJsZSA8VD4gPT4ge1xuICAgICAgY29uc3QgY29tcG9uZW50Q29uZmlndXJhdGlvbkZyb21TdG9yZSQgPSB0aGlzLmdldENvbmZpZyhpZCkgYXMgT2JzZXJ2YWJsZTxUPjtcblxuICAgICAgcmV0dXJuIHNvdXJjZS5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoKG92ZXJyaWRlQ29uZmlnKSA9PiBjb21wb25lbnRDb25maWd1cmF0aW9uRnJvbVN0b3JlJC5waXBlKFxuICAgICAgICAgIG1hcCgoY29tcG9uZW50Q29uZmlndXJhdGlvbkZyb21TdG9yZSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgY29uZmlnID0gY29tcG9uZW50Q29uZmlndXJhdGlvbkZyb21TdG9yZSA/IGRlZXBGaWxsKGRlZmF1bHRWYWx1ZSwgY29tcG9uZW50Q29uZmlndXJhdGlvbkZyb21TdG9yZSkgOiBkZWZhdWx0VmFsdWU7XG4gICAgICAgICAgICByZXR1cm4gb3ZlcnJpZGVDb25maWcgPyBkZWVwRmlsbChjb25maWcsIG92ZXJyaWRlQ29uZmlnKSA6IGNvbmZpZztcbiAgICAgICAgICB9KVxuICAgICAgICApKVxuICAgICAgKTtcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBhbiBvYnNlcnZhYmxlIG9mIHRoZSBjb25maWd1cmF0aW9uIGZyb20gc3RvcmUgZm9yIGEgZ2l2ZW4gY29tcG9uZW50IGFuZCBtZXJnZSBpdCB3aXRoIHRoZSBnbG9iYWwgY29uZmlnICsgdGhlIGNvbmZpZyBvdmVycmlkZXMgZnJvbSB0aGUgcnVsZXMgZW5naW5lXG4gICAqXG4gICAqIEBwYXJhbSBpZCBJZCBvZiB0aGUgY29tcG9uZW50XG4gICAqL1xuICBwdWJsaWMgZ2V0Q29uZmlnKGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIHRoaXMuc3RvcmUucGlwZShcbiAgICAgICAgc2VsZWN0KHNlbGVjdENvbmZpZ3VyYXRpb25FbnRpdGllcyksXG4gICAgICAgIG1hcCgoc3RvcmVkQ29uZmlncykgPT4ge1xuICAgICAgICAgIGNvbnN0IGdsb2JhbENvbmZpZ0lkID0gJ2dsb2JhbCc7XG4gICAgICAgICAgY29uc3QgY29tcG9uZW50Q29uZmlnID0gc3RvcmVkQ29uZmlnc1tpZF07XG4gICAgICAgICAgY29uc3QgZ2xvYmFsQ29uZmlnID0gc3RvcmVkQ29uZmlnc1tnbG9iYWxDb25maWdJZF07XG4gICAgICAgICAgaWYgKGlkICE9PSBnbG9iYWxDb25maWdJZCAmJiBnbG9iYWxDb25maWcpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIC4uLmdsb2JhbENvbmZpZyxcbiAgICAgICAgICAgICAgLi4uKGNvbXBvbmVudENvbmZpZyB8fCB7fSlcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBjb21wb25lbnRDb25maWcgfHwgbnVsbDtcbiAgICAgICAgfSksXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKChwcmV2LCBjdXJyZW50KSA9PiBKU09OLnN0cmluZ2lmeShwcmV2KSA9PT0gSlNPTi5zdHJpbmdpZnkoY3VycmVudCkpXG4gICAgICApLCB0aGlzLnN0b3JlLnBpcGUoXG4gICAgICAgIHNlbGVjdChzZWxlY3RDb21wb25lbnRPdmVycmlkZUNvbmZpZyhpZCkpXG4gICAgICApXVxuICAgICkucGlwZShcbiAgICAgIG1hcCgoW3N0b3JlQ29uZmlnLCBzdG9yZU92ZXJyaWRlQ29uZmlnXSkgPT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIC4uLnN0b3JlQ29uZmlnLFxuICAgICAgICAgIC4uLnN0b3JlT3ZlcnJpZGVDb25maWdcbiAgICAgICAgfTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxufVxuIl19
|
|
99
|
+
}], ctorParameters: () => [{ type: i1.Store }] });
|
|
100
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi5iYXNlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc2VydmljZXMvY29uZmlndXJhdGlvbi9jb25maWd1cmF0aW9uLmJhc2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBK0IsUUFBUSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVFLE9BQU8sRUFBdUIsNkJBQTZCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN4RyxPQUFPLEVBQ0wsb0JBQW9CLEVBRXBCLHFCQUFxQixFQUNyQiwyQkFBMkIsRUFDM0IsK0JBQStCLEVBQy9CLHlCQUF5QixFQUN6Qix5QkFBeUIsRUFDekIsMkJBQTJCLEVBQzNCLHlCQUF5QixFQUMxQixNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7QUFFN0UsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLElBQVMsRUFBRSxJQUFTLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUVsRzs7R0FFRztBQUlILE1BQU0sT0FBTyx3QkFBd0I7SUFJbkMsWUFBNkIsS0FBc0Q7UUFBdEQsVUFBSyxHQUFMLEtBQUssQ0FBaUQ7UUFGbEUsMEJBQXFCLEdBQTZCLEVBQUUsQ0FBQztJ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Q0gsQ0FBQyxDQUNILENBQUM7UUFDSixDQUFDLENBQUM7SUFDSixDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksU0FBUyxDQUFDLEVBQVU7UUFDekIsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLHlCQUF5QixDQUFDLENBQUMsQ0FBQztRQUN6RSxNQUFNLGdCQUFnQixHQUFHLEVBQUUsS0FBSyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLCtCQUErQixDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNsSSxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsNkJBQTZCLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRW5GLE9BQU8sYUFBYSxDQUFDLENBQUMsYUFBYSxFQUFFLGdCQUFnQixFQUFFLGVBQWUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUMzRSxHQUFHLENBQUMsQ0FBQyxDQUFDLFlBQVksRUFBRSxlQUFlLEVBQUUsY0FBYyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLFlBQVksRUFBRSxHQUFHLGVBQWUsRUFBRSxHQUFHLGNBQWMsRUFBRSxDQUFDLENBQUMsRUFDdEgsb0JBQW9CLENBQUMsaUJBQWlCLENBQUMsQ0FDeEMsQ0FBQztJQUNKLENBQUM7aUlBaEdVLHdCQUF3QjtxSUFBeEIsd0JBQXdCLGNBRnZCLDhCQUE4Qjs7MkZBRS9CLHdCQUF3QjtrQkFIcEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsOEJBQThCO2lCQUMzQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHNlbGVjdCwgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBDb25maWd1cmF0aW9uLCBDdXN0b21Db25maWcsIGRlZXBGaWxsIH0gZnJvbSAnQG8zci9jb3JlJztcbmltcG9ydCB7IGNvbWJpbmVMYXRlc3QsIE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgbWFwLCBzd2l0Y2hNYXAsIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBDb25maWdPdmVycmlkZVN0b3JlLCBzZWxlY3RDb21wb25lbnRPdmVycmlkZUNvbmZpZyB9IGZyb20gJy4uLy4uL3N0b3Jlcy9jb25maWctb3ZlcnJpZGUvaW5kZXgnO1xuaW1wb3J0IHtcbiAgY29tcHV0ZUNvbmZpZ3VyYXRpb24sXG4gIENvbmZpZ3VyYXRpb25TdG9yZSxcbiAgZ2xvYmFsQ29uZmlndXJhdGlvbklkLFxuICBzZWxlY3RDb25maWd1cmF0aW9uRW50aXRpZXMsXG4gIHNlbGVjdENvbmZpZ3VyYXRpb25Gb3JDb21wb25lbnQsXG4gIHNlbGVjdEdsb2JhbENvbmZpZ3VyYXRpb24sXG4gIHVwZGF0ZUNvbmZpZ3VyYXRpb25FbnRpdHksXG4gIHVwc2VydENvbmZpZ3VyYXRpb25FbnRpdGllcyxcbiAgdXBzZXJ0Q29uZmlndXJhdGlvbkVudGl0eVxufSBmcm9tICcuLi8uLi9zdG9yZXMvaW5kZXgnO1xuaW1wb3J0IHsgQ29uZmlndXJhdGlvbkJhc2VTZXJ2aWNlTW9kdWxlIH0gZnJvbSAnLi9jb25maWd1cmF0aW9uLmJhc2UubW9kdWxlJztcblxuY29uc3QganNvblN0cmluZ2lmeURpZmYgPSAob2JqMTogYW55LCBvYmoyOiBhbnkpID0+IEpTT04uc3RyaW5naWZ5KG9iajEpID09PSBKU09OLnN0cmluZ2lmeShvYmoyKTtcblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIHNlcnZpY2VcbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiBDb25maWd1cmF0aW9uQmFzZVNlcnZpY2VNb2R1bGVcbn0pXG5leHBvcnQgY2xhc3MgQ29uZmlndXJhdGlvbkJhc2VTZXJ2aWNlIHtcblxuICBwcml2YXRlIHJlYWRvbmx5IGV4dGVuZGVkQ29uZmlndXJhdGlvbjoge1trZXk6IHN0cmluZ106IGJvb2xlYW59ID0ge307XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBzdG9yZTogU3RvcmU8Q29uZmlndXJhdGlvblN0b3JlICYgQ29uZmlnT3ZlcnJpZGVTdG9yZT4pIHtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGUgYSBzcGVjaWZpYyBjb21wb25lbnQgY29uZmlnIG9yIGFkZCBpdCB0byB0aGUgc3RvcmUgaWYgZG9lcyBub3QgZXhpc3RcbiAgICogQHBhcmFtIGNvbmZpZ3VyYXRpb24gdG8gZWRpdC9hZGRcbiAgICogQHBhcmFtIGNvbmZpZ3VyYXRpb25JZCBDb25maWd1cmF0aW9uIElEXG4gICAqL1xuICBwdWJsaWMgdXBzZXJ0Q29uZmlndXJhdGlvbjxUIGV4dGVuZHMgQ29uZmlndXJhdGlvbj4oY29uZmlndXJhdGlvbjogVCwgY29uZmlndXJhdGlvbklkID0gZ2xvYmFsQ29uZmlndXJhdGlvbklkKSB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaCh1cHNlcnRDb25maWd1cmF0aW9uRW50aXR5KHtpZDogY29uZmlndXJhdGlvbklkLCBjb25maWd1cmF0aW9ufSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZSBhIHNwZWNpZmljIGNvbXBvbmVudCBjb25maWdcbiAgICogQHBhcmFtIGNvbmZpZ3VyYXRpb24gUGFydGlhbCBjb25maWcgdG8gZWRpdFxuICAgKiBAcGFyYW0gY29uZmlndXJhdGlvbklkIENvbmZpZ3VyYXRpb24gSURcbiAgICovXG4gIHB1YmxpYyB1cGRhdGVDb25maWd1cmF0aW9uPFQgZXh0ZW5kcyBQYXJ0aWFsPENvbmZpZ3VyYXRpb24+Pihjb25maWd1cmF0aW9uOiBULCBjb25maWd1cmF0aW9uSWQgPSBnbG9iYWxDb25maWd1cmF0aW9uSWQpIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKHVwZGF0ZUNvbmZpZ3VyYXRpb25FbnRpdHkoe2lkOiBjb25maWd1cmF0aW9uSWQsIGNvbmZpZ3VyYXRpb259KSk7XG4gIH1cblxuICAvKipcbiAgICogVGhpcyBmdW5jdGlvbiB3aWxsIGdldCB0aGUgY29uZmlndXJhdGlvbiBzdG9yZWQgaW4gdGhlIGRhdGEgYXR0cmlidXRlIG9mIHRoZSBodG1sJ3MgYm9keSB0YWdcbiAgICogQHBhcmFtIGNvbmZpZ1RhZ05hbWUgVmFsdWUgdXNlZCB0byBpZGVudGlmeSB0aGUgZGF0YSBhdHRyaWJ1dGUgd2hlcmUgdGhlIGNvbmZpZyBpcyBwdXNoZWQgaW4gdGhlIGluZGV4Lmh0bWxcbiAgICovXG4gIHB1YmxpYyBnZXRDb25maWdGcm9tQm9keVRhZzxUIGV4dGVuZHMgQ29uZmlndXJhdGlvbj4oY29uZmlnVGFnTmFtZSA9ICdzdGF0aWNjb25maWcnKSB7XG4gICAgY29uc3QgYm9vdHN0cmFwQ29uZmlnU3RyaW5nID0gZG9jdW1lbnQuYm9keS5kYXRhc2V0W2NvbmZpZ1RhZ05hbWVdO1xuICAgIGNvbnN0IGN1c3RvbUNvbmZpZ09iamVjdDogQ3VzdG9tQ29uZmlnPFQ+W10gPSBib290c3RyYXBDb25maWdTdHJpbmcgPyBKU09OLnBhcnNlKGJvb3RzdHJhcENvbmZpZ1N0cmluZykgOiBbXTtcbiAgICBpZiAoY3VzdG9tQ29uZmlnT2JqZWN0Lmxlbmd0aCkge1xuICAgICAgdGhpcy5jb21wdXRlQ29uZmlndXJhdGlvbihjdXN0b21Db25maWdPYmplY3QpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBUcmFuc2Zvcm0gdGhlIGN1c3RvbSBjb25maWd1cmF0aW9uIGluIHN0b3JlIGNvbmZpZ3VyYXRpb24gbW9kZWxcbiAgICogQHBhcmFtIGN1c3RvbUNvbmZpZ09iamVjdCBDb25maWd1cmF0aW9uIG9iamVjdCAoZXh0cmFjdGVkIGZyb20gYm9keSB0YWcgZm9yIHN0YXRpYyBjb25maWcgb3IgZG93bmxvYWRlZCBpbiBjYXNlIG9mIGR5bmFtaWMgY29uZmlnKVxuICAgKi9cbiAgcHVibGljIGNvbXB1dGVDb25maWd1cmF0aW9uPFQgZXh0ZW5kcyBDb25maWd1cmF0aW9uPihjdXN0b21Db25maWdPYmplY3Q6IEN1c3RvbUNvbmZpZzxUPltdKSB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaCh1cHNlcnRDb25maWd1cmF0aW9uRW50aXRpZXMoY29tcHV0ZUNvbmZpZ3VyYXRpb24oY3VzdG9tQ29uZmlnT2JqZWN0KSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbXBsZXRlIGEgc3RvcmVkIGNvbmZpZ3VyYXRpb24gYnkgYWRkaW5nIHRoZSBtaXNzaW5nIGZpZWxkc1xuICAgKiBAcGFyYW0gZXh0ZW5zaW9uIENvbmZpZ3VyYXRpb24gZXh0ZW5zaW9uIHRvIGJlIGluY2x1ZGVkIGluIHRoZSBzdG9yZVxuICAgKiBAcGFyYW0gY29uZmlndXJhdGlvbklkIENvbmZpZ3VyYXRpb24gSUQgdG8gZXh0ZW5kXG4gICAqIEBwYXJhbSBmb3JjZVVwZGF0ZSBGb3JjZSB1cGRhdGUgdGhlIGNvbmZpZ3VyYXRpb24gaW4gdGhlIHN0b3JlXG4gICAqL1xuICBwdWJsaWMgZXh0ZW5kQ29uZmlndXJhdGlvbjxUIGV4dGVuZHMgQ29uZmlndXJhdGlvbj4oZXh0ZW5zaW9uOiBULCBjb25maWd1cmF0aW9uSWQgPSBnbG9iYWxDb25maWd1cmF0aW9uSWQsIGZvcmNlVXBkYXRlID0gZmFsc2UpIHtcbiAgICBpZiAodGhpcy5leHRlbmRlZENvbmZpZ3VyYXRpb25bY29uZmlndXJhdGlvbklkXSAmJiAhZm9yY2VVcGRhdGUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5leHRlbmRlZENvbmZpZ3VyYXRpb25bY29uZmlndXJhdGlvbklkXSA9IHRydWU7XG4gICAgdGhpcy5zdG9yZS5waXBlKFxuICAgICAgc2VsZWN0KHNlbGVjdENvbmZpZ3VyYXRpb25FbnRpdGllcyksXG4gICAgICB0YWtlKDEpLFxuICAgICAgbWFwKChzdG9yZWRDb25maWdzKSA9PiBjb25maWd1cmF0aW9uSWQgaW4gc3RvcmVkQ29uZmlncyA/IGRlZXBGaWxsKGV4dGVuc2lvbiwgc3RvcmVkQ29uZmlnc1tjb25maWd1cmF0aW9uSWRdKSA6IGV4dGVuc2lvbilcbiAgICApLnN1YnNjcmliZSgoZXh0ZW5kZWRDb25maWcpID0+IHRoaXMudXBzZXJ0Q29uZmlndXJhdGlvbihleHRlbmRlZENvbmZpZywgY29uZmlndXJhdGlvbklkKSk7XG4gIH1cblxuICAvKipcbiAgICogT3BlcmF0b3IgdG8gZ2V0IHRoZSBjb25maWd1cmF0aW9uIGZyb20gc3RvcmUgZm9yIGEgZ2l2ZW4gY29tcG9uZW50IGFuZCBtZXJnZSBpdCB3aXRoIHRoZSBnbG9iYWwgY29uZmlnXG4gICAqIEBwYXJhbSBpZCBJZCBvZiB0aGUgY29tcG9uZW50XG4gICAqIEBwYXJhbSBkZWZhdWx0VmFsdWUgRGVmYXVsdCB2YWx1ZSBvZiB0aGUgY29uZmlndXJhdGlvblxuICAgKi9cbiAgcHVibGljIGdldENvbXBvbmVudENvbmZpZzxUIGV4dGVuZHMgQ29uZmlndXJhdGlvbj4oaWQ6IHN0cmluZywgZGVmYXVsdFZhbHVlOiBUKSB7XG4gICAgcmV0dXJuIChzb3VyY2U6IE9ic2VydmFibGU8UGFydGlhbDxUPiB8IHVuZGVmaW5lZD4pOiBPYnNlcnZhYmxlIDxUPiA9PiB7XG4gICAgICBjb25zdCBjb21wb25lbnRDb25maWd1cmF0aW9uRnJvbVN0b3JlJCA9IHRoaXMuZ2V0Q29uZmlnKGlkKSBhcyBPYnNlcnZhYmxlPFQ+O1xuXG4gICAgICByZXR1cm4gc291cmNlLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcCgob3ZlcnJpZGVDb25maWcpID0+IGNvbXBvbmVudENvbmZpZ3VyYXRpb25Gcm9tU3RvcmUkLnBpcGUoXG4gICAgICAgICAgbWFwKChjb21wb25lbnRDb25maWd1cmF0aW9uRnJvbVN0b3JlKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBjb25maWcgPSBjb21wb25lbnRDb25maWd1cmF0aW9uRnJvbVN0b3JlID8gZGVlcEZpbGwoZGVmYXVsdFZhbHVlLCBjb21wb25lbnRDb25maWd1cmF0aW9uRnJvbVN0b3JlKSA6IGRlZmF1bHRWYWx1ZTtcbiAgICAgICAgICAgIHJldHVybiBvdmVycmlkZUNvbmZpZyA/IGRlZXBGaWxsKGNvbmZpZywgb3ZlcnJpZGVDb25maWcpIDogY29uZmlnO1xuICAgICAgICAgIH0pXG4gICAgICAgICkpXG4gICAgICApO1xuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogR2V0IGFuIG9ic2VydmFibGUgb2YgdGhlIGNvbmZpZ3VyYXRpb24gZnJvbSBzdG9yZSBmb3IgYSBnaXZlbiBjb21wb25lbnQgYW5kIG1lcmdlIGl0IHdpdGggdGhlIGdsb2JhbCBjb25maWcgKyB0aGUgY29uZmlnIG92ZXJyaWRlcyBmcm9tIHRoZSBydWxlcyBlbmdpbmVcbiAgICogQHBhcmFtIGlkIElkIG9mIHRoZSBjb21wb25lbnRcbiAgICovXG4gIHB1YmxpYyBnZXRDb25maWcoaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3QgZ2xvYmFsQ29uZmlnJCA9IHRoaXMuc3RvcmUucGlwZShzZWxlY3Qoc2VsZWN0R2xvYmFsQ29uZmlndXJhdGlvbikpO1xuICAgIGNvbnN0IGNvbXBvbmVudENvbmZpZyQgPSBpZCAhPT0gZ2xvYmFsQ29uZmlndXJhdGlvbklkID8gdGhpcy5zdG9yZS5waXBlKHNlbGVjdChzZWxlY3RDb25maWd1cmF0aW9uRm9yQ29tcG9uZW50KHsgaWQgfSkpKSA6IG9mKHt9KTtcbiAgICBjb25zdCBvdmVycmlkZUNvbmZpZyQgPSB0aGlzLnN0b3JlLnBpcGUoc2VsZWN0KHNlbGVjdENvbXBvbmVudE92ZXJyaWRlQ29uZmlnKGlkKSkpO1xuXG4gICAgcmV0dXJuIGNvbWJpbmVMYXRlc3QoW2dsb2JhbENvbmZpZyQsIGNvbXBvbmVudENvbmZpZyQsIG92ZXJyaWRlQ29uZmlnJF0pLnBpcGUoXG4gICAgICBtYXAoKFtnbG9iYWxDb25maWcsIGNvbXBvbmVudENvbmZpZywgb3ZlcnJpZGVDb25maWddKSA9PiAoeyAuLi5nbG9iYWxDb25maWcsIC4uLmNvbXBvbmVudENvbmZpZywgLi4ub3ZlcnJpZGVDb25maWcgfSkpLFxuICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoanNvblN0cmluZ2lmeURpZmYpXG4gICAgKTtcbiAgfVxufVxuIl19
|
|
@@ -19,13 +19,13 @@ export class ConfigOverrideStoreModule {
|
|
|
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: ConfigOverrideStoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
23
|
+
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.8", ngImport: i0, type: ConfigOverrideStoreModule, imports: [i1.StoreFeatureModule] }); }
|
|
24
|
+
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ConfigOverrideStoreModule, providers: [
|
|
25
25
|
{ provide: CONFIG_OVERRIDE_REDUCER_TOKEN, useFactory: getDefaultConfigOverrideReducer }
|
|
26
26
|
], imports: [StoreModule.forFeature(CONFIG_OVERRIDE_STORE_NAME, CONFIG_OVERRIDE_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: ConfigOverrideStoreModule, decorators: [{
|
|
29
29
|
type: NgModule,
|
|
30
30
|
args: [{
|
|
31
31
|
imports: [
|
|
@@ -6,9 +6,8 @@ export const selectConfigOverrideState = createFeatureSelector(CONFIG_OVERRIDE_S
|
|
|
6
6
|
export const selectConfigOverride = createSelector(selectConfigOverrideState, (state) => state?.configOverrides || {});
|
|
7
7
|
/**
|
|
8
8
|
* Get the override for given component identifier
|
|
9
|
-
*
|
|
10
9
|
* @param componentId
|
|
11
10
|
* @returns
|
|
12
11
|
*/
|
|
13
12
|
export const selectComponentOverrideConfig = (componentId) => createSelector(selectConfigOverride, (configOverrides) => configOverrides[componentId] || {});
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLW92ZXJyaWRlLnNlbGVjdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zdG9yZXMvY29uZmlnLW92ZXJyaWRlL2NvbmZpZy1vdmVycmlkZS5zZWxlY3RvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHFCQUFxQixFQUFFLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNwRSxPQUFPLEVBQUUsMEJBQTBCLEVBQXVCLE1BQU0seUJBQXlCLENBQUM7QUFFMUYsa0NBQWtDO0FBQ2xDLE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFHLHFCQUFxQixDQUFzQiwwQkFBMEIsQ0FBQyxDQUFDO0FBRWhILHlDQUF5QztBQUN6QyxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxjQUFjLENBQUMseUJBQXlCLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssRUFBRSxlQUFlLElBQUksRUFBRSxDQUFDLENBQUM7QUFFdkg7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUN4QyxDQUFDLFdBQW1CLEVBQUUsRUFBRSxDQUFDLGNBQWMsQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLGVBQWUsRUFBRSxFQUFFLENBQUMsZUFBZSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3JlYXRlRmVhdHVyZVNlbGVjdG9yLCBjcmVhdGVTZWxlY3RvciB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IENPTkZJR19PVkVSUklERV9TVE9SRV9OQU1FLCBDb25maWdPdmVycmlkZVN0YXRlIH0gZnJvbSAnLi9jb25maWctb3ZlcnJpZGUuc3RhdGUnO1xuXG4vKiogU2VsZWN0IENvbmZpZ092ZXJyaWRlIFN0YXRlICovXG5leHBvcnQgY29uc3Qgc2VsZWN0Q29uZmlnT3ZlcnJpZGVTdGF0ZSA9IGNyZWF0ZUZlYXR1cmVTZWxlY3RvcjxDb25maWdPdmVycmlkZVN0YXRlPihDT05GSUdfT1ZFUlJJREVfU1RPUkVfTkFNRSk7XG5cbi8qKiBTZWxlY3QgdGhlIGFycmF5IG9mIENvbmZpZ092ZXJyaWRlICovXG5leHBvcnQgY29uc3Qgc2VsZWN0Q29uZmlnT3ZlcnJpZGUgPSBjcmVhdGVTZWxlY3RvcihzZWxlY3RDb25maWdPdmVycmlkZVN0YXRlLCAoc3RhdGUpID0+IHN0YXRlPy5jb25maWdPdmVycmlkZXMgfHwge30pO1xuXG4vKipcbiAqIEdldCB0aGUgb3ZlcnJpZGUgZm9yIGdpdmVuIGNvbXBvbmVudCBpZGVudGlmaWVyXG4gKiBAcGFyYW0gY29tcG9uZW50SWRcbiAqIEByZXR1cm5zXG4gKi9cbmV4cG9ydCBjb25zdCBzZWxlY3RDb21wb25lbnRPdmVycmlkZUNvbmZpZyA9XG4gIChjb21wb25lbnRJZDogc3RyaW5nKSA9PiBjcmVhdGVTZWxlY3RvcihzZWxlY3RDb25maWdPdmVycmlkZSwgKGNvbmZpZ092ZXJyaWRlcykgPT4gY29uZmlnT3ZlcnJpZGVzW2NvbXBvbmVudElkXSB8fCB7fSk7XG4iXX0=
|