@acorex/platform 21.0.0-next.56 → 21.0.0-next.57
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/fesm2022/acorex-platform-common.mjs +17 -4
- package/fesm2022/acorex-platform-common.mjs.map +1 -1
- package/fesm2022/acorex-platform-core.mjs +7 -5
- package/fesm2022/acorex-platform-core.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-components.mjs +3 -3
- package/fesm2022/acorex-platform-layout-components.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-entity.mjs +2 -2
- package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
- package/fesm2022/{acorex-platform-layout-widgets-repeater-widget-column.component-BGO75IMz.mjs → acorex-platform-layout-widgets-repeater-widget-column.component-J0zcGKBX.mjs} +2 -2
- package/fesm2022/{acorex-platform-layout-widgets-repeater-widget-column.component-BGO75IMz.mjs.map → acorex-platform-layout-widgets-repeater-widget-column.component-J0zcGKBX.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-layout-widgets-tabular-data-edit-popup.component-DmzNTYiS.mjs → acorex-platform-layout-widgets-tabular-data-edit-popup.component-BcpRkpJp.mjs} +2 -2
- package/fesm2022/{acorex-platform-layout-widgets-tabular-data-edit-popup.component-DmzNTYiS.mjs.map → acorex-platform-layout-widgets-tabular-data-edit-popup.component-BcpRkpJp.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-layout-widgets-tabular-data-view-popup.component-BNG_588B.mjs → acorex-platform-layout-widgets-tabular-data-view-popup.component-DQtK4lxl.mjs} +2 -2
- package/fesm2022/{acorex-platform-layout-widgets-tabular-data-view-popup.component-BNG_588B.mjs.map → acorex-platform-layout-widgets-tabular-data-view-popup.component-DQtK4lxl.mjs.map} +1 -1
- package/fesm2022/acorex-platform-layout-widgets.mjs +9 -9
- package/fesm2022/acorex-platform-layout-widgets.mjs.map +1 -1
- package/fesm2022/acorex-platform-themes-default.mjs +6 -6
- package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
- package/fesm2022/acorex-platform-themes-shared.mjs +4 -2
- package/fesm2022/acorex-platform-themes-shared.mjs.map +1 -1
- package/package.json +4 -2
- package/types/acorex-platform-common.d.ts +12 -1
- package/types/acorex-platform-core.d.ts +2 -1
- package/types/acorex-platform-workflow.d.ts +5 -0
|
@@ -596,20 +596,30 @@ class AXPSettingDefaultValuesAggregatorService {
|
|
|
596
596
|
this.definitionService = inject(AXPSettingDefinitionProviderService);
|
|
597
597
|
this.providers = inject(AXP_SETTING_DEFAULT_VALUES_PROVIDERS, { optional: true }) ?? [];
|
|
598
598
|
}
|
|
599
|
-
async
|
|
599
|
+
async getMerged() {
|
|
600
600
|
const baseDefaults = await this.definitionService.defaultValues();
|
|
601
601
|
const ordered = [...this.providers].sort((a, b) => (a.priority ?? 0) - (b.priority ?? 0));
|
|
602
602
|
const merged = { ...baseDefaults };
|
|
603
|
+
const seedScopeByKey = {};
|
|
603
604
|
for (const provider of ordered) {
|
|
604
605
|
try {
|
|
605
606
|
const overrideMap = await provider.provide();
|
|
606
607
|
Object.assign(merged, overrideMap);
|
|
608
|
+
if (provider.scope) {
|
|
609
|
+
for (const key of Object.keys(overrideMap)) {
|
|
610
|
+
seedScopeByKey[key] = provider.scope;
|
|
611
|
+
}
|
|
612
|
+
}
|
|
607
613
|
}
|
|
608
614
|
catch (err) {
|
|
609
615
|
console.error('AXPSettingDefaultValuesProvider failed:', err);
|
|
610
616
|
}
|
|
611
617
|
}
|
|
612
|
-
return merged;
|
|
618
|
+
return { defaults: merged, seedScopeByKey };
|
|
619
|
+
}
|
|
620
|
+
async getDefaults() {
|
|
621
|
+
const { defaults } = await this.getMerged();
|
|
622
|
+
return defaults;
|
|
613
623
|
}
|
|
614
624
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPSettingDefaultValuesAggregatorService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
615
625
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPSettingDefaultValuesAggregatorService, providedIn: 'root' }); }
|
|
@@ -896,14 +906,17 @@ class AXPSettingsService {
|
|
|
896
906
|
async seedMissingDefaults() {
|
|
897
907
|
const definitionService = this.injector.get(AXPSettingDefinitionProviderService);
|
|
898
908
|
const aggregator = this.injector.get(AXPSettingDefaultValuesAggregatorService);
|
|
899
|
-
const [defaults, scopeByKey] = await Promise.all([
|
|
909
|
+
const [{ defaults, seedScopeByKey }, scopeByKey] = await Promise.all([
|
|
910
|
+
aggregator.getMerged(),
|
|
911
|
+
definitionService.settingScopeByKey(),
|
|
912
|
+
]);
|
|
900
913
|
const persistedKeysByScope = new Map(await Promise.all(this.providers.map(async (provider) => {
|
|
901
914
|
const stored = await provider.load();
|
|
902
915
|
return [provider.scope, new Set(stored.map((s) => s.key))];
|
|
903
916
|
})));
|
|
904
917
|
const toPersist = {};
|
|
905
918
|
for (const [key, value] of Object.entries(defaults)) {
|
|
906
|
-
const scope = scopeByKey[key];
|
|
919
|
+
const scope = seedScopeByKey[key] ?? scopeByKey[key];
|
|
907
920
|
if (!scope || value === undefined || persistedKeysByScope.get(scope)?.has(key)) {
|
|
908
921
|
continue;
|
|
909
922
|
}
|