Browse Source

Use environment defaultResourceName in localization

Updates ConfigStateService to set the defaultResourceName for localization from the environment configuration if it is not already set in the app state. This ensures that the localization resource name is consistently initialized from environment settings when available.
pull/24589/head
Fahri Gedik 9 months ago
parent
commit
1f55dc4dd2
  1. 30
      npm/ng-packs/packages/core/src/lib/services/config-state.service.ts

30
npm/ng-packs/packages/core/src/lib/services/config-state.service.ts

@ -10,6 +10,7 @@ import {
} from '../proxy/volo/abp/asp-net-core/mvc/application-configurations/models'; } from '../proxy/volo/abp/asp-net-core/mvc/application-configurations/models';
import { INCUDE_LOCALIZATION_RESOURCES_TOKEN } from '../tokens/include-localization-resources.token'; import { INCUDE_LOCALIZATION_RESOURCES_TOKEN } from '../tokens/include-localization-resources.token';
import { InternalStore } from '../utils/internal-store-utils'; import { InternalStore } from '../utils/internal-store-utils';
import { EnvironmentService } from './environment.service';
@Injectable({ @Injectable({
providedIn: 'root', providedIn: 'root',
@ -17,6 +18,7 @@ import { InternalStore } from '../utils/internal-store-utils';
export class ConfigStateService { export class ConfigStateService {
private abpConfigService = inject(AbpApplicationConfigurationService); private abpConfigService = inject(AbpApplicationConfigurationService);
private abpApplicationLocalizationService = inject(AbpApplicationLocalizationService); private abpApplicationLocalizationService = inject(AbpApplicationLocalizationService);
private environmentService = inject(EnvironmentService);
private readonly includeLocalizationResources = inject(INCUDE_LOCALIZATION_RESOURCES_TOKEN, { optional: true }); private readonly includeLocalizationResources = inject(INCUDE_LOCALIZATION_RESOURCES_TOKEN, { optional: true });
private updateSubject = new Subject<void>(); private updateSubject = new Subject<void>();
@ -59,7 +61,18 @@ export class ConfigStateService {
this.uiCultureFromAuthCodeFlow ?? appState.localization.currentCulture.cultureName; this.uiCultureFromAuthCodeFlow ?? appState.localization.currentCulture.cultureName;
return this.getlocalizationResource(cultureName).pipe( return this.getlocalizationResource(cultureName).pipe(
map(result => ({ ...appState, localization: { ...appState.localization, ...result } })), map(result => {
const envLocalization = this.environmentService.getEnvironment()?.localization;
return {
...appState,
localization: {
...appState.localization,
...result,
defaultResourceName:
appState.localization?.defaultResourceName ?? envLocalization?.defaultResourceName,
},
};
}),
tap(() => (this.uiCultureFromAuthCodeFlow = undefined)), tap(() => (this.uiCultureFromAuthCodeFlow = undefined)),
); );
} }
@ -83,9 +96,18 @@ export class ConfigStateService {
return this.getlocalizationResource(lang) return this.getlocalizationResource(lang)
.pipe( .pipe(
tap(result => tap(result => {
this.store.patch({ localization: { ...this.store.state.localization, ...result } }), const envLocalization = this.environmentService.getEnvironment()?.localization;
), this.store.patch({
localization: {
...this.store.state.localization,
...result,
defaultResourceName:
this.store.state.localization?.defaultResourceName ??
envLocalization?.defaultResourceName,
},
});
}),
) )
.pipe(map(() => null)); .pipe(map(() => null));
} }

Loading…
Cancel
Save