@acorex/platform 21.0.0-next.1 → 21.0.0-next.3

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/auth/index.d.ts CHANGED
@@ -267,14 +267,19 @@ declare const AXP_FEATURE_CHECKER: InjectionToken<AXPFeatureChecker>;
267
267
  declare class AXPSessionService {
268
268
  private eventService;
269
269
  private authStrategyRegistry;
270
+ private readonly injector;
270
271
  static readonly SESSION_KEY = "AXP_SESSION";
271
272
  private readonly permissionLoader;
272
273
  private readonly featureLoader;
273
274
  private readonly tenantLoader;
274
275
  private readonly applicationLoader;
275
- private readonly moduleProviderLoader;
276
276
  private readonly permissionChecker;
277
277
  private readonly featureChecker;
278
+ /**
279
+ * Get module provider loader lazily to avoid circular dependency.
280
+ * ModuleProviderLoader depends on AXPSessionService, which is this service.
281
+ */
282
+ private getModuleProviderLoader;
278
283
  private status;
279
284
  readonly status$: Observable<AXPSessionStatus>;
280
285
  private isLoading;
package/common/index.d.ts CHANGED
@@ -3,16 +3,17 @@ import { InjectionToken, EnvironmentProviders, Injector, ErrorHandler, ModuleWit
3
3
  import { AXStyleColorType, AXDataSourceOperator, AXDataSourceFilterOption } from '@acorex/cdk/common';
4
4
  import * as i2 from '@acorex/components/popup';
5
5
  import { AXPopupSizeType, AXPopupService } from '@acorex/components/popup';
6
- import { AXPValueTransformerFunctions, AXPGridLayoutOptions, AXPValidationRules, AXPSystemActionType, AXPMetaData, AXPOptionsData, AXPPlatformScope, AXPPlatformScopeKey, AXPWidgetTriggers, AXPAppStartUpService, AXPModuleManifestInitializer, AXPLogoConfig, AXPNavigateActionCommand, AXPExecuteCommand, AXPEntityReference, AXPApplicationUserReference, AXPExpressionEvaluatorScopeProvider, AXPExpressionEvaluatorScopeProviderContext } from '@acorex/platform/core';
7
- import { AXPWidgetTypesMap, AXPWidgetNode, AXPMetaDataDefinition } from '@acorex/platform/layout/widget-core';
8
- import * as i5 from '@angular/router';
6
+ import * as i5 from '@acorex/platform/core';
7
+ import { AXPValueTransformerFunctions, AXPGridLayoutOptions, AXPValidationRules, AXPSystemActionType, AXPMetaData, AXPOptionsData, AXPLogoConfig, AXPNavigateActionCommand, AXPExecuteCommand, AXPEntityReference, AXPApplicationUserReference, AXPPlatformScopeKey, AXPPlatformScope, AXPWidgetTriggers, AXPExpressionEvaluatorScopeProvider, AXPExpressionEvaluatorScopeProviderContext } from '@acorex/platform/core';
8
+ import { AXPWidgetTypesMap, AXPMetaDataDefinition, AXPWidgetNode } from '@acorex/platform/layout/widget-core';
9
+ import * as i6 from '@angular/router';
9
10
  import { Route, Routes } from '@angular/router';
10
- import * as rxjs from 'rxjs';
11
- import { Subject } from 'rxjs';
12
11
  import * as i1 from '@acorex/platform/workflow';
13
12
  import { AXPWorkflowAction, AXPWorkflowContext, AXPWorkflow } from '@acorex/platform/workflow';
14
13
  import * as i3 from '@acorex/core/date-time';
15
14
  import * as i4 from '@acorex/components/toast';
15
+ import * as rxjs from 'rxjs';
16
+ import { Subject } from 'rxjs';
16
17
  import * as _ngrx_signals from '@ngrx/signals';
17
18
  import { AXTranslationService } from '@acorex/core/translation';
18
19
  import { AXLocaleProfile } from '@acorex/core/locale';
@@ -486,206 +487,6 @@ declare class AXPGlobalErrorHandler extends ErrorHandler {
486
487
  static ɵprov: i0.ɵɵInjectableDeclaration<AXPGlobalErrorHandler>;
487
488
  }
488
489
 
489
- interface AXPSettingValueProvider {
490
- get scope(): AXPPlatformScope;
491
- load(): Promise<AXPSettingValue[]>;
492
- set(key: string, value: any): Promise<void>;
493
- set(values: Record<string, any>): Promise<void>;
494
- }
495
- /**
496
- * Provider interface for supplying default setting values from higher layers (e.g., app, mocks, API).
497
- * Providers are merged by ascending priority; later providers override earlier values on key conflicts.
498
- */
499
- interface AXPSettingDefaultValuesProvider {
500
- /** Merge order; lower numbers are applied first. Default is 0. */
501
- priority?: number;
502
- /** Returns a flat map of setting key to default value. */
503
- provide(): Promise<Record<string, unknown>>;
504
- }
505
- interface AXPSettingValue {
506
- key: string;
507
- value: any;
508
- }
509
- interface AXPSettingChangedEvent {
510
- scope: AXPPlatformScope;
511
- keys: string[];
512
- values: Record<string, any>;
513
- entries: AXPSettingValue[];
514
- }
515
- interface AXPSettingDefinition {
516
- name: string;
517
- title: string;
518
- description?: string;
519
- widget: AXPWidgetNode;
520
- layout?: AXPGridLayoutOptions;
521
- scope: AXPPlatformScopeKey;
522
- isRequired?: boolean;
523
- isInherited?: boolean;
524
- isEncrypted?: boolean;
525
- defaultValue?: unknown;
526
- value?: unknown;
527
- }
528
- interface AXPSettingDefinitionGroup {
529
- name: string;
530
- title: string;
531
- icon?: string;
532
- description?: string;
533
- groups: AXPSettingDefinitionGroup[];
534
- sections: AXPSettingDefinitionSection[];
535
- }
536
- interface AXPSettingDefinitionSection {
537
- name: string;
538
- title: string;
539
- description?: string;
540
- settings: AXPSettingDefinition[];
541
- }
542
- interface AXPGroupSearchResult {
543
- breadcrumb: {
544
- name: string;
545
- title: string;
546
- description?: string;
547
- }[];
548
- sections: AXPSettingDefinitionSection[] | null;
549
- groups: AXPSettingDefinitionGroup[] | null;
550
- }
551
-
552
- declare class AXPSettingDefinitionProviderContext {
553
- private rootGroups;
554
- private groupMap;
555
- addGroup(name: string, title: string, description?: string, icon?: string): AXPSettingDefinitionGroupBuilder;
556
- group(name: string): AXPSettingDefinitionGroupBuilder | null;
557
- getGroups(): AXPSettingDefinitionGroup[];
558
- hasGroup(name: string): boolean;
559
- getGroup(name: string): AXPSettingDefinitionGroup | undefined;
560
- }
561
- declare class AXPSettingDefinitionGroupBuilder {
562
- private context;
563
- private group;
564
- constructor(context: AXPSettingDefinitionProviderContext, group: AXPSettingDefinitionGroup);
565
- addSection(name: string, title: string, description?: string): AXPSettingDefinitionSectionBuilder;
566
- section(name: string): AXPSettingDefinitionSectionBuilder | null;
567
- addGroup(name: string, title: string, description?: string, icon?: string): AXPSettingDefinitionGroupBuilder;
568
- endGroup(): AXPSettingDefinitionProviderContext;
569
- }
570
- declare class AXPSettingDefinitionSectionBuilder {
571
- private groupBuilder;
572
- private section;
573
- constructor(groupBuilder: AXPSettingDefinitionGroupBuilder, section: AXPSettingDefinitionSection);
574
- addSetting(setting: {
575
- key: string;
576
- title: string;
577
- scope: AXPPlatformScopeKey;
578
- widget: {
579
- type: AXPWidgetTypesMap[keyof AXPWidgetTypesMap] | string;
580
- options?: AXPOptionsData;
581
- triggers?: AXPWidgetTriggers;
582
- layout?: AXPGridLayoutOptions;
583
- };
584
- description?: string;
585
- isRequired?: boolean;
586
- isInherited?: boolean;
587
- isEncrypted?: boolean;
588
- defaultValue?: unknown;
589
- valueTransforms?: AXPValueTransformerFunctions;
590
- validationRules?: AXPValidationRules;
591
- }): this;
592
- endSection(): AXPSettingDefinitionGroupBuilder;
593
- }
594
-
595
- interface AXPSettingDefinitionProvider {
596
- provide(context: AXPSettingDefinitionProviderContext): Promise<void>;
597
- }
598
- declare const AXP_SETTING_DEFINITION_PROVIDER: InjectionToken<AXPSettingDefinitionProvider[]>;
599
- declare class AXPSettingDefinitionProviderService {
600
- private providers;
601
- private providerRegistry;
602
- private cache;
603
- private load;
604
- reload(): Promise<void>;
605
- getListAsync(scope: AXPPlatformScopeKey): Promise<AXPSettingDefinitionGroup[]>;
606
- getList(scope: AXPPlatformScopeKey): AXPSettingDefinitionGroup[];
607
- defaultValues(): Promise<Record<string, unknown>>;
608
- findGroup(scope: AXPPlatformScopeKey, groupName: string): AXPGroupSearchResult;
609
- private searchRecursive;
610
- static ɵfac: i0.ɵɵFactoryDeclaration<AXPSettingDefinitionProviderService, never>;
611
- static ɵprov: i0.ɵɵInjectableDeclaration<AXPSettingDefinitionProviderService>;
612
- }
613
- declare const AXP_SETTING_DEFAULT_VALUES_PROVIDERS: InjectionToken<AXPSettingDefaultValuesProvider[]>;
614
- declare class AXPSettingDefaultValuesAggregatorService {
615
- private readonly definitionService;
616
- private readonly providers;
617
- getDefaults(): Promise<Record<string, unknown>>;
618
- static ɵfac: i0.ɵɵFactoryDeclaration<AXPSettingDefaultValuesAggregatorService, never>;
619
- static ɵprov: i0.ɵɵInjectableDeclaration<AXPSettingDefaultValuesAggregatorService>;
620
- }
621
-
622
- declare const AXP_SETTING_VALUE_PROVIDER: InjectionToken<AXPSettingValueProvider[]>;
623
-
624
- interface AXPSettingsServiceInterface {
625
- load(): Promise<AXPSettingValue[]>;
626
- get<T = any>(key: string): Promise<T>;
627
- defaultValues(scope: AXPPlatformScope): Promise<Record<string, unknown>>;
628
- scope(scope: AXPPlatformScope): ScopedSettingService;
629
- }
630
- declare class AXPSettingsService implements AXPSettingsServiceInterface {
631
- private readonly providers;
632
- private readonly injector;
633
- private readonly eventService;
634
- private readonly sessionService;
635
- private readonly scopedSettingsCache;
636
- readonly onChanged: Subject<AXPSettingChangedEvent>;
637
- readonly onLoaded: Subject<void>;
638
- constructor();
639
- reload(): Promise<void>;
640
- load(): Promise<AXPSettingValue[]>;
641
- get<T = any>(key: string): Promise<T>;
642
- defaultValues(scope: AXPPlatformScope): Promise<Record<string, unknown>>;
643
- scope(scope: AXPPlatformScope): ScopedSettingService;
644
- invokeChangeEvent(event: AXPSettingChangedEvent): void;
645
- static ɵfac: i0.ɵɵFactoryDeclaration<AXPSettingsService, never>;
646
- static ɵprov: i0.ɵɵInjectableDeclaration<AXPSettingsService>;
647
- }
648
- declare class ScopedSettingService {
649
- private parent;
650
- private provider;
651
- private scopeCache;
652
- constructor(parent: AXPSettingsService, provider: AXPSettingValueProvider, scopeCache: Map<string, any>);
653
- get<T = any>(key: string): Promise<T>;
654
- all(): Promise<any>;
655
- defaultValues(): Promise<Record<string, unknown>>;
656
- set<T = any>(key: string, value: T): Promise<void>;
657
- set<T = any>(values: Record<string, T>): Promise<void>;
658
- update<T = any>(key: string, updateFn: (currentValue: T) => T): Promise<void>;
659
- }
660
-
661
- /**
662
- * Regional settings keys for date, time, and locale formatting.
663
- * These keys are used by platform widgets and components to access regional settings.
664
- * The actual setting definitions and providers are implemented in the locale-management module.
665
- */
666
- declare enum AXPRegionalSetting {
667
- LocaleProfile = "LocaleManagement:Setting:Regional.LocaleProfile",
668
- TimeZone = "LocaleManagement:Setting:Regional.TimeZone",
669
- Language = "LocaleManagement:Setting:Regional.Language",
670
- Country = "LocaleManagement:Setting:Regional.Country",
671
- Calendar = "LocaleManagement:Setting:Regional.Calendar",
672
- FirstDayOfWeek = "LocaleManagement:Setting:Regional.FirstDayOfWeek",
673
- WeekendDays = "LocaleManagement:Setting:Regional.WeekendDays",
674
- ShortDate = "LocaleManagement:Setting:Regional.ShortDate",
675
- MediumDate = "LocaleManagement:Setting:Regional.MediumDate",
676
- LongDate = "LocaleManagement:Setting:Regional.LongDate",
677
- ShortTime = "LocaleManagement:Setting:Regional.ShortTime",
678
- MediumTime = "LocaleManagement:Setting:Regional.MediumTime",
679
- LongTime = "LocaleManagement:Setting:Regional.LongTime",
680
- MeasurementUnits = "LocaleManagement:Setting:Regional.MeasurementUnits",
681
- TemperatureUnits = "LocaleManagement:Setting:Regional.TemperatureUnits",
682
- DistanceUnits = "LocaleManagement:Setting:Regional.DistanceUnits",
683
- WeightUnits = "LocaleManagement:Setting:Regional.WeightUnits",
684
- VolumeUnits = "LocaleManagement:Setting:Regional.VolumeUnits",
685
- SpeedUnits = "LocaleManagement:Setting:Regional.SpeedUnits",
686
- AreaUnits = "LocaleManagement:Setting:Regional.AreaUnits"
687
- }
688
-
689
490
  interface AXPCommonModuleConfigs {
690
491
  errorHandlers: (new () => AXPErrorHandler)[];
691
492
  }
@@ -695,9 +496,9 @@ declare class AXPCommonModule {
695
496
  /**
696
497
  * @ignore
697
498
  */
698
- constructor(instances: any[], appInitService: AXPAppStartUpService, settingsService: AXPSettingsService, manifestInitializer: AXPModuleManifestInitializer, injector: Injector);
499
+ constructor(instances: any[]);
699
500
  static ɵfac: i0.ɵɵFactoryDeclaration<AXPCommonModule, never>;
700
- static ɵmod: i0.ɵɵNgModuleDeclaration<AXPCommonModule, never, [typeof i1.AXPWorkflowModule, typeof i2.AXPopupModule, typeof i3.AXDateTimeModule, typeof i4.AXToastModule], [typeof i5.RouterModule]>;
501
+ static ɵmod: i0.ɵɵNgModuleDeclaration<AXPCommonModule, never, [typeof i1.AXPWorkflowModule, typeof i2.AXPopupModule, typeof i3.AXDateTimeModule, typeof i4.AXToastModule, typeof i5.AXPModuleManifestModule], [typeof i6.RouterModule]>;
701
502
  static ɵinj: i0.ɵɵInjectorDeclaration<AXPCommonModule>;
702
503
  }
703
504
 
@@ -1706,6 +1507,206 @@ declare abstract class AXPLockService {
1706
1507
  static ɵprov: i0.ɵɵInjectableDeclaration<AXPLockService>;
1707
1508
  }
1708
1509
 
1510
+ interface AXPSettingValueProvider {
1511
+ get scope(): AXPPlatformScope;
1512
+ load(): Promise<AXPSettingValue[]>;
1513
+ set(key: string, value: any): Promise<void>;
1514
+ set(values: Record<string, any>): Promise<void>;
1515
+ }
1516
+ /**
1517
+ * Provider interface for supplying default setting values from higher layers (e.g., app, mocks, API).
1518
+ * Providers are merged by ascending priority; later providers override earlier values on key conflicts.
1519
+ */
1520
+ interface AXPSettingDefaultValuesProvider {
1521
+ /** Merge order; lower numbers are applied first. Default is 0. */
1522
+ priority?: number;
1523
+ /** Returns a flat map of setting key to default value. */
1524
+ provide(): Promise<Record<string, unknown>>;
1525
+ }
1526
+ interface AXPSettingValue {
1527
+ key: string;
1528
+ value: any;
1529
+ }
1530
+ interface AXPSettingChangedEvent {
1531
+ scope: AXPPlatformScope;
1532
+ keys: string[];
1533
+ values: Record<string, any>;
1534
+ entries: AXPSettingValue[];
1535
+ }
1536
+ interface AXPSettingDefinition {
1537
+ name: string;
1538
+ title: string;
1539
+ description?: string;
1540
+ widget: AXPWidgetNode;
1541
+ layout?: AXPGridLayoutOptions;
1542
+ scope: AXPPlatformScopeKey;
1543
+ isRequired?: boolean;
1544
+ isInherited?: boolean;
1545
+ isEncrypted?: boolean;
1546
+ defaultValue?: unknown;
1547
+ value?: unknown;
1548
+ }
1549
+ interface AXPSettingDefinitionGroup {
1550
+ name: string;
1551
+ title: string;
1552
+ icon?: string;
1553
+ description?: string;
1554
+ groups: AXPSettingDefinitionGroup[];
1555
+ sections: AXPSettingDefinitionSection[];
1556
+ }
1557
+ interface AXPSettingDefinitionSection {
1558
+ name: string;
1559
+ title: string;
1560
+ description?: string;
1561
+ settings: AXPSettingDefinition[];
1562
+ }
1563
+ interface AXPGroupSearchResult {
1564
+ breadcrumb: {
1565
+ name: string;
1566
+ title: string;
1567
+ description?: string;
1568
+ }[];
1569
+ sections: AXPSettingDefinitionSection[] | null;
1570
+ groups: AXPSettingDefinitionGroup[] | null;
1571
+ }
1572
+
1573
+ declare class AXPSettingDefinitionProviderContext {
1574
+ private rootGroups;
1575
+ private groupMap;
1576
+ addGroup(name: string, title: string, description?: string, icon?: string): AXPSettingDefinitionGroupBuilder;
1577
+ group(name: string): AXPSettingDefinitionGroupBuilder | null;
1578
+ getGroups(): AXPSettingDefinitionGroup[];
1579
+ hasGroup(name: string): boolean;
1580
+ getGroup(name: string): AXPSettingDefinitionGroup | undefined;
1581
+ }
1582
+ declare class AXPSettingDefinitionGroupBuilder {
1583
+ private context;
1584
+ private group;
1585
+ constructor(context: AXPSettingDefinitionProviderContext, group: AXPSettingDefinitionGroup);
1586
+ addSection(name: string, title: string, description?: string): AXPSettingDefinitionSectionBuilder;
1587
+ section(name: string): AXPSettingDefinitionSectionBuilder | null;
1588
+ addGroup(name: string, title: string, description?: string, icon?: string): AXPSettingDefinitionGroupBuilder;
1589
+ endGroup(): AXPSettingDefinitionProviderContext;
1590
+ }
1591
+ declare class AXPSettingDefinitionSectionBuilder {
1592
+ private groupBuilder;
1593
+ private section;
1594
+ constructor(groupBuilder: AXPSettingDefinitionGroupBuilder, section: AXPSettingDefinitionSection);
1595
+ addSetting(setting: {
1596
+ key: string;
1597
+ title: string;
1598
+ scope: AXPPlatformScopeKey;
1599
+ widget: {
1600
+ type: AXPWidgetTypesMap[keyof AXPWidgetTypesMap] | string;
1601
+ options?: AXPOptionsData;
1602
+ triggers?: AXPWidgetTriggers;
1603
+ layout?: AXPGridLayoutOptions;
1604
+ };
1605
+ description?: string;
1606
+ isRequired?: boolean;
1607
+ isInherited?: boolean;
1608
+ isEncrypted?: boolean;
1609
+ defaultValue?: unknown;
1610
+ valueTransforms?: AXPValueTransformerFunctions;
1611
+ validationRules?: AXPValidationRules;
1612
+ }): this;
1613
+ endSection(): AXPSettingDefinitionGroupBuilder;
1614
+ }
1615
+
1616
+ interface AXPSettingDefinitionProvider {
1617
+ provide(context: AXPSettingDefinitionProviderContext): Promise<void>;
1618
+ }
1619
+ declare const AXP_SETTING_DEFINITION_PROVIDER: InjectionToken<AXPSettingDefinitionProvider[]>;
1620
+ declare class AXPSettingDefinitionProviderService {
1621
+ private providers;
1622
+ private providerRegistry;
1623
+ private cache;
1624
+ private load;
1625
+ reload(): Promise<void>;
1626
+ getListAsync(scope: AXPPlatformScopeKey): Promise<AXPSettingDefinitionGroup[]>;
1627
+ getList(scope: AXPPlatformScopeKey): AXPSettingDefinitionGroup[];
1628
+ defaultValues(): Promise<Record<string, unknown>>;
1629
+ findGroup(scope: AXPPlatformScopeKey, groupName: string): AXPGroupSearchResult;
1630
+ private searchRecursive;
1631
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXPSettingDefinitionProviderService, never>;
1632
+ static ɵprov: i0.ɵɵInjectableDeclaration<AXPSettingDefinitionProviderService>;
1633
+ }
1634
+ declare const AXP_SETTING_DEFAULT_VALUES_PROVIDERS: InjectionToken<AXPSettingDefaultValuesProvider[]>;
1635
+ declare class AXPSettingDefaultValuesAggregatorService {
1636
+ private readonly definitionService;
1637
+ private readonly providers;
1638
+ getDefaults(): Promise<Record<string, unknown>>;
1639
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXPSettingDefaultValuesAggregatorService, never>;
1640
+ static ɵprov: i0.ɵɵInjectableDeclaration<AXPSettingDefaultValuesAggregatorService>;
1641
+ }
1642
+
1643
+ declare const AXP_SETTING_VALUE_PROVIDER: InjectionToken<AXPSettingValueProvider[]>;
1644
+
1645
+ interface AXPSettingsServiceInterface {
1646
+ load(): Promise<AXPSettingValue[]>;
1647
+ get<T = any>(key: string): Promise<T>;
1648
+ defaultValues(scope: AXPPlatformScope): Promise<Record<string, unknown>>;
1649
+ scope(scope: AXPPlatformScope): ScopedSettingService;
1650
+ }
1651
+ declare class AXPSettingsService implements AXPSettingsServiceInterface {
1652
+ private readonly providers;
1653
+ private readonly injector;
1654
+ private readonly eventService;
1655
+ private readonly sessionService;
1656
+ private readonly scopedSettingsCache;
1657
+ readonly onChanged: Subject<AXPSettingChangedEvent>;
1658
+ readonly onLoaded: Subject<void>;
1659
+ constructor();
1660
+ reload(): Promise<void>;
1661
+ load(): Promise<AXPSettingValue[]>;
1662
+ get<T = any>(key: string): Promise<T>;
1663
+ defaultValues(scope: AXPPlatformScope): Promise<Record<string, unknown>>;
1664
+ scope(scope: AXPPlatformScope): ScopedSettingService;
1665
+ invokeChangeEvent(event: AXPSettingChangedEvent): void;
1666
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXPSettingsService, never>;
1667
+ static ɵprov: i0.ɵɵInjectableDeclaration<AXPSettingsService>;
1668
+ }
1669
+ declare class ScopedSettingService {
1670
+ private parent;
1671
+ private provider;
1672
+ private scopeCache;
1673
+ constructor(parent: AXPSettingsService, provider: AXPSettingValueProvider, scopeCache: Map<string, any>);
1674
+ get<T = any>(key: string): Promise<T>;
1675
+ all(): Promise<any>;
1676
+ defaultValues(): Promise<Record<string, unknown>>;
1677
+ set<T = any>(key: string, value: T): Promise<void>;
1678
+ set<T = any>(values: Record<string, T>): Promise<void>;
1679
+ update<T = any>(key: string, updateFn: (currentValue: T) => T): Promise<void>;
1680
+ }
1681
+
1682
+ /**
1683
+ * Regional settings keys for date, time, and locale formatting.
1684
+ * These keys are used by platform widgets and components to access regional settings.
1685
+ * The actual setting definitions and providers are implemented in the locale-management module.
1686
+ */
1687
+ declare enum AXPRegionalSetting {
1688
+ LocaleProfile = "LocaleManagement:Setting:Regional.LocaleProfile",
1689
+ TimeZone = "LocaleManagement:Setting:Regional.TimeZone",
1690
+ Language = "LocaleManagement:Setting:Regional.Language",
1691
+ Country = "LocaleManagement:Setting:Regional.Country",
1692
+ Calendar = "LocaleManagement:Setting:Regional.Calendar",
1693
+ FirstDayOfWeek = "LocaleManagement:Setting:Regional.FirstDayOfWeek",
1694
+ WeekendDays = "LocaleManagement:Setting:Regional.WeekendDays",
1695
+ ShortDate = "LocaleManagement:Setting:Regional.ShortDate",
1696
+ MediumDate = "LocaleManagement:Setting:Regional.MediumDate",
1697
+ LongDate = "LocaleManagement:Setting:Regional.LongDate",
1698
+ ShortTime = "LocaleManagement:Setting:Regional.ShortTime",
1699
+ MediumTime = "LocaleManagement:Setting:Regional.MediumTime",
1700
+ LongTime = "LocaleManagement:Setting:Regional.LongTime",
1701
+ MeasurementUnits = "LocaleManagement:Setting:Regional.MeasurementUnits",
1702
+ TemperatureUnits = "LocaleManagement:Setting:Regional.TemperatureUnits",
1703
+ DistanceUnits = "LocaleManagement:Setting:Regional.DistanceUnits",
1704
+ WeightUnits = "LocaleManagement:Setting:Regional.WeightUnits",
1705
+ VolumeUnits = "LocaleManagement:Setting:Regional.VolumeUnits",
1706
+ SpeedUnits = "LocaleManagement:Setting:Regional.SpeedUnits",
1707
+ AreaUnits = "LocaleManagement:Setting:Regional.AreaUnits"
1708
+ }
1709
+
1709
1710
  /**
1710
1711
  * Status Definition Types
1711
1712
  * Defines the structure for status definitions and their transitions
package/core/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Type, InjectionToken, OnInit, ElementRef, EventEmitter, OnChanges, Renderer2, SimpleChanges, ViewContainerRef, OnDestroy, PipeTransform } from '@angular/core';
2
+ import { Type, InjectionToken, OnInit, ElementRef, EventEmitter, OnChanges, Renderer2, SimpleChanges, ViewContainerRef, OnDestroy, Injector, PipeTransform } from '@angular/core';
3
3
  import { AXStyleColorType, AXDataSource, AXDataSourceSortOption, AXDataSourceFilterOption, AXDataSourceQuery, AXDataSourceCallbackResult } from '@acorex/cdk/common';
4
4
  import * as _ngrx_signals from '@ngrx/signals';
5
5
  import { Observable } from 'rxjs';
@@ -2024,12 +2024,6 @@ interface AXPFeatureDefinition extends AXPModuleFeatureDefinition {
2024
2024
  key: string;
2025
2025
  }
2026
2026
 
2027
- /**
2028
- * Injection token for module manifest providers.
2029
- * Modules register their manifest providers using this token.
2030
- */
2031
- declare const AXP_MODULE_MANIFEST_PROVIDER: InjectionToken<AXPModuleManifest[]>;
2032
-
2033
2027
  /**
2034
2028
  * Registry service for module manifests.
2035
2029
  * Collects and manages all registered module manifests.
@@ -2111,18 +2105,29 @@ interface AXPStartUpTask {
2111
2105
  run: () => Promise<void>;
2112
2106
  }
2113
2107
 
2108
+ declare class AXPAppStartUpService {
2109
+ private tasks;
2110
+ registerTask(task: AXPStartUpTask): void;
2111
+ runAllTasks(): Promise<void>;
2112
+ private updateStatus;
2113
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXPAppStartUpService, never>;
2114
+ static ɵprov: i0.ɵɵInjectableDeclaration<AXPAppStartUpService>;
2115
+ }
2116
+ declare const AXPAppStartUpProvider: i0.EnvironmentProviders;
2117
+
2114
2118
  /**
2115
- * Startup task to initialize module manifest registry.
2116
- * Registers this task with app startup service.
2119
+ * Module for managing module manifests and providers initialization.
2120
+ * Handles the registration of manifest and module provider startup tasks.
2117
2121
  */
2118
- declare class AXPModuleManifestInitializer {
2119
- private readonly manifestRegistry;
2122
+ declare class AXPModuleManifestModule {
2120
2123
  /**
2121
- * Create startup task for manifest initialization.
2124
+ * @ignore
2125
+ * Initializes module manifest and provider tasks on module construction.
2122
2126
  */
2123
- createStartupTask(): AXPStartUpTask;
2124
- static ɵfac: i0.ɵɵFactoryDeclaration<AXPModuleManifestInitializer, never>;
2125
- static ɵprov: i0.ɵɵInjectableDeclaration<AXPModuleManifestInitializer>;
2127
+ constructor(appInitService: AXPAppStartUpService, injector: Injector);
2128
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXPModuleManifestModule, never>;
2129
+ static ɵmod: i0.ɵɵNgModuleDeclaration<AXPModuleManifestModule, never, never, never>;
2130
+ static ɵinj: i0.ɵɵInjectorDeclaration<AXPModuleManifestModule>;
2126
2131
  }
2127
2132
 
2128
2133
  /**
@@ -2241,6 +2246,8 @@ declare const AXP_EDITION_SERVICE: InjectionToken<AXPIEditionService>;
2241
2246
  interface AXPIModuleProviderLoader {
2242
2247
  loadRequiredModules(): Promise<void>;
2243
2248
  loadProviders(context: any): Promise<void>;
2249
+ loadProvidersIfReady(): Promise<void>;
2250
+ loadProvidersForApplication(application: any): Promise<void>;
2244
2251
  clear(): Promise<void>;
2245
2252
  isModuleRegistered(moduleName: string): boolean;
2246
2253
  }
@@ -2249,21 +2256,6 @@ interface AXPIModuleProviderLoader {
2249
2256
  * Implementation: @acorex/platform/auth
2250
2257
  */
2251
2258
  declare const AXP_MODULE_PROVIDER_LOADER: InjectionToken<AXPIModuleProviderLoader>;
2252
- /**
2253
- * Module provider initializer interface.
2254
- * Implementation: @acorex/platform/auth
2255
- */
2256
- interface AXPIModuleProviderInitializer {
2257
- createRequiredModulesTask(): any;
2258
- createStartupTask(): any;
2259
- loadProvidersIfReady(): Promise<void>;
2260
- loadProvidersForApplication(application: any): Promise<void>;
2261
- }
2262
- /**
2263
- * Injection token for module provider initializer.
2264
- * Implementation: @acorex/platform/auth
2265
- */
2266
- declare const AXP_MODULE_PROVIDER_INITIALIZER: InjectionToken<AXPIModuleProviderInitializer>;
2267
2259
  /**
2268
2260
  * Session service interface for module provider operations.
2269
2261
  * Implementation: @acorex/platform/auth
@@ -2280,6 +2272,11 @@ interface AXPISessionService {
2280
2272
  * Implementation: @acorex/platform/auth
2281
2273
  */
2282
2274
  declare const AXP_SESSION_SERVICE: InjectionToken<AXPISessionService>;
2275
+ /**
2276
+ * Injection token for module manifest providers.
2277
+ * Modules register their manifest providers using this token.
2278
+ */
2279
+ declare const AXP_MODULE_MANIFEST_PROVIDER: InjectionToken<AXPModuleManifest[]>;
2283
2280
 
2284
2281
  /**
2285
2282
  * Registry service for dynamically loaded module providers.
@@ -2414,14 +2411,14 @@ interface AXPModuleAccessControlService {
2414
2411
  * @param context Access control context
2415
2412
  * @returns true if module should be loaded, false otherwise
2416
2413
  */
2417
- checkAccess(moduleName: string, context: AXPModuleAccessContext): boolean | Promise<boolean>;
2414
+ checkAccess(manifest: AXPModuleManifest, context: AXPModuleAccessContext): boolean | Promise<boolean>;
2418
2415
  }
2419
2416
  /**
2420
2417
  * Default implementation of module access control service.
2421
2418
  * Checks if module is enabled in edition.modulesAndFeatures.modules.
2422
2419
  */
2423
2420
  declare class DefaultModuleAccessControlService implements AXPModuleAccessControlService {
2424
- checkAccess(moduleName: string, context: AXPModuleAccessContext): boolean;
2421
+ checkAccess(manifest: AXPModuleManifest, context: AXPModuleAccessContext): boolean;
2425
2422
  static ɵfac: i0.ɵɵFactoryDeclaration<DefaultModuleAccessControlService, never>;
2426
2423
  static ɵprov: i0.ɵɵInjectableDeclaration<DefaultModuleAccessControlService>;
2427
2424
  }
@@ -2431,16 +2428,6 @@ declare class DefaultModuleAccessControlService implements AXPModuleAccessContro
2431
2428
  */
2432
2429
  declare const AXP_MODULE_ACCESS_CONTROL_SERVICE: InjectionToken<AXPModuleAccessControlService>;
2433
2430
 
2434
- declare class AXPAppStartUpService {
2435
- private tasks;
2436
- registerTask(task: AXPStartUpTask): void;
2437
- runAllTasks(): Promise<void>;
2438
- private updateStatus;
2439
- static ɵfac: i0.ɵɵFactoryDeclaration<AXPAppStartUpService, never>;
2440
- static ɵprov: i0.ɵɵInjectableDeclaration<AXPAppStartUpService>;
2441
- }
2442
- declare const AXPAppStartUpProvider: i0.EnvironmentProviders;
2443
-
2444
2431
  /**
2445
2432
  * Represents a tag with text, color, and metadata
2446
2433
  */
@@ -2711,5 +2698,5 @@ declare function extractTextFromHtml(value: string): string;
2711
2698
  */
2712
2699
  declare function generateKebabCase(title: string): string;
2713
2700
 
2714
- export { AXFullscreenDirective, AXHighlightService, AXPActivityLogProvider, AXPActivityLogService, AXPAppStartUpProvider, AXPAppStartUpService, AXPBroadcastEventService, AXPColorPaletteProvider, AXPColorPaletteService, AXPComponentLogoConfig, AXPContentCheckerDirective, AXPContextChangeEvent, AXPContextStore, AXPCountdownPipe, AXPDataGenerator, AXPDataSourceDefinitionProviderService, AXPDblClickDirective, AXPDefaultColorPalettesProvider, AXPDeviceService, AXPDeviceType, AXPDistributedEventListenerService, AXPElementDataDirective, AXPExportTemplateToken, AXPExpressionEvaluatorScopeProviderContext, AXPExpressionEvaluatorScopeProviderService, AXPExpressionEvaluatorService, AXPFeatureDefinitionProviderContext, AXPGridLayoutDirective, AXPHookService, AXPIconLogoConfig, AXPImageUrlLogoConfig, AXPModuleManifestInitializer, AXPModuleManifestRegistry, AXPModuleProviderRegistry, AXPPlatformScope, AXPScreenSize, AXPSystemActionType, AXPSystemActions, AXPTagProvider, AXPTagService, AXP_ACTIVITY_LOG_PROVIDER, AXP_COLOR_PALETTE_PROVIDER, AXP_DATASOURCE_DEFINITION_PROVIDER, AXP_DISTRIBUTED_EVENT_LISTENER_PROVIDER, AXP_EDITION_SERVICE, AXP_EXPRESSION_EVALUATOR_SCOPE_PROVIDER, AXP_FEATURE_DEFINITION_PROVIDER, AXP_MODULE_ACCESS_CONTROL_SERVICE, AXP_MODULE_MANIFEST_PROVIDER, AXP_MODULE_PROVIDER_INITIALIZER, AXP_MODULE_PROVIDER_LOADER, AXP_SESSION_SERVICE, AXP_TAG_PROVIDER, DefaultModuleAccessControlService, applyFilterArray, applyPagination, applyQueryArray, applySortArray, applySystemActionDefault, cleanDeep, extractNestedFieldsWildcard, extractTextFromHtml, extractValue, generateKebabCase, getActionButton, getChangedPaths, getDetailedChanges, getEnumValues, getNestedKeys, getSmart, getSystemActions, objectKeyValueTransforms, resolveActionLook, resolvePlatformScopeKey, resolvePlatformScopeName, setSmart };
2715
- export type { AXIEntityDefinitionLoader, AXPActionMenuItem, AXPActivityLog, AXPActivityLogChange, AXPApplicationUserReference, AXPBackButton, AXPBadge, AXPBreadcrumbItem, AXPCategorizedEntity, AXPCategorizedEntityDto, AXPCategoryEntity, AXPCategoryEntityWithItems, AXPColorPalette, AXPColorPaletteFilterOptions, AXPColumnQuery, AXPCommandMessage, AXPContent, AXPContentDirection, AXPContentType, AXPContextData, AXPContextState, AXPDataSource, AXPDataSourceDataFieldDefinition, AXPDataSourceDefinition, AXPDataSourceDefinitionProvider, AXPDataType, AXPDistributedEventListenerProvider, AXPDistributedEventListenerProviderToken, AXPEntityReference, AXPEqualValidationRule, AXPExecuteCommand, AXPExecuteCommandResult, AXPExportCsvOptions, AXPExportExcelOptions, AXPExportOptions, AXPExportPdfOptions, AXPExportPrintOptions, AXPExpression, AXPExpressionEvaluatorScope, AXPExpressionEvaluatorScopeProvider, AXPExpressionEvaluatorScopeProviders, AXPFeatureDefinition, AXPFeatureDefinitionProvider, AXPFeatureName, AXPFileListItem, AXPFileSource, AXPFileStatus, AXPFilterClause, AXPFilterDefinition, AXPFilterQuery, AXPFlowDirection, AXPGridLayoutOptions, AXPGridPlacement, AXPIEditionService, AXPIMenuProvider, AXPIModuleProviderInitializer, AXPIModuleProviderLoader, AXPIPermissionDefinitionProvider, AXPISearchCommandProvider, AXPISessionService, AXPISettingDefinitionProvider, AXPLogoConfig, AXPMaxLengthValidationRule, AXPMetaData, AXPMiddlewareErrorResponse, AXPMinLengthValidationRule, AXPModuleAccessContext, AXPModuleAccessControlService, AXPModuleFeatureDefinition, AXPModuleFeatureDefinitionWithKey, AXPModuleManifest, AXPNavigateActionCommand, AXPNavigateActionOptions, AXPOptionsData, AXPPagedListResult, AXPPartialNested, AXPPlatformScopeKey, AXPQueryFetchResult, AXPQueryRequest, AXPReqexValidationRule, AXPRequiredValidationRule, AXPSortDefinition, AXPSortQuery, AXPStartUpTask, AXPStringValidationRules, AXPSystemAction, AXPTag, AXPTagFilterOptions, AXPUserReference, AXPValidationRule, AXPValidationRules, AXPValueTransformerFunction, AXPValueTransformerFunctions, AXPValueUnit, AXPValueUnits, AXPViewBlockDefinition, AXPViewDefinition, AXPViewFieldDefinition, AXPViewQuery, AXPWidgetTrigger, AXPWidgetTriggers };
2701
+ export { AXFullscreenDirective, AXHighlightService, AXPActivityLogProvider, AXPActivityLogService, AXPAppStartUpProvider, AXPAppStartUpService, AXPBroadcastEventService, AXPColorPaletteProvider, AXPColorPaletteService, AXPComponentLogoConfig, AXPContentCheckerDirective, AXPContextChangeEvent, AXPContextStore, AXPCountdownPipe, AXPDataGenerator, AXPDataSourceDefinitionProviderService, AXPDblClickDirective, AXPDefaultColorPalettesProvider, AXPDeviceService, AXPDeviceType, AXPDistributedEventListenerService, AXPElementDataDirective, AXPExportTemplateToken, AXPExpressionEvaluatorScopeProviderContext, AXPExpressionEvaluatorScopeProviderService, AXPExpressionEvaluatorService, AXPFeatureDefinitionProviderContext, AXPGridLayoutDirective, AXPHookService, AXPIconLogoConfig, AXPImageUrlLogoConfig, AXPModuleManifestModule, AXPModuleManifestRegistry, AXPModuleProviderRegistry, AXPPlatformScope, AXPScreenSize, AXPSystemActionType, AXPSystemActions, AXPTagProvider, AXPTagService, AXP_ACTIVITY_LOG_PROVIDER, AXP_COLOR_PALETTE_PROVIDER, AXP_DATASOURCE_DEFINITION_PROVIDER, AXP_DISTRIBUTED_EVENT_LISTENER_PROVIDER, AXP_EDITION_SERVICE, AXP_EXPRESSION_EVALUATOR_SCOPE_PROVIDER, AXP_FEATURE_DEFINITION_PROVIDER, AXP_MODULE_ACCESS_CONTROL_SERVICE, AXP_MODULE_MANIFEST_PROVIDER, AXP_MODULE_PROVIDER_LOADER, AXP_SESSION_SERVICE, AXP_TAG_PROVIDER, DefaultModuleAccessControlService, applyFilterArray, applyPagination, applyQueryArray, applySortArray, applySystemActionDefault, cleanDeep, extractNestedFieldsWildcard, extractTextFromHtml, extractValue, generateKebabCase, getActionButton, getChangedPaths, getDetailedChanges, getEnumValues, getNestedKeys, getSmart, getSystemActions, objectKeyValueTransforms, resolveActionLook, resolvePlatformScopeKey, resolvePlatformScopeName, setSmart };
2702
+ export type { AXIEntityDefinitionLoader, AXPActionMenuItem, AXPActivityLog, AXPActivityLogChange, AXPApplicationUserReference, AXPBackButton, AXPBadge, AXPBreadcrumbItem, AXPCategorizedEntity, AXPCategorizedEntityDto, AXPCategoryEntity, AXPCategoryEntityWithItems, AXPColorPalette, AXPColorPaletteFilterOptions, AXPColumnQuery, AXPCommandMessage, AXPContent, AXPContentDirection, AXPContentType, AXPContextData, AXPContextState, AXPDataSource, AXPDataSourceDataFieldDefinition, AXPDataSourceDefinition, AXPDataSourceDefinitionProvider, AXPDataType, AXPDistributedEventListenerProvider, AXPDistributedEventListenerProviderToken, AXPEntityReference, AXPEqualValidationRule, AXPExecuteCommand, AXPExecuteCommandResult, AXPExportCsvOptions, AXPExportExcelOptions, AXPExportOptions, AXPExportPdfOptions, AXPExportPrintOptions, AXPExpression, AXPExpressionEvaluatorScope, AXPExpressionEvaluatorScopeProvider, AXPExpressionEvaluatorScopeProviders, AXPFeatureDefinition, AXPFeatureDefinitionProvider, AXPFeatureName, AXPFileListItem, AXPFileSource, AXPFileStatus, AXPFilterClause, AXPFilterDefinition, AXPFilterQuery, AXPFlowDirection, AXPGridLayoutOptions, AXPGridPlacement, AXPIEditionService, AXPIMenuProvider, AXPIModuleProviderLoader, AXPIPermissionDefinitionProvider, AXPISearchCommandProvider, AXPISessionService, AXPISettingDefinitionProvider, AXPLogoConfig, AXPMaxLengthValidationRule, AXPMetaData, AXPMiddlewareErrorResponse, AXPMinLengthValidationRule, AXPModuleAccessContext, AXPModuleAccessControlService, AXPModuleFeatureDefinition, AXPModuleFeatureDefinitionWithKey, AXPModuleManifest, AXPNavigateActionCommand, AXPNavigateActionOptions, AXPOptionsData, AXPPagedListResult, AXPPartialNested, AXPPlatformScopeKey, AXPQueryFetchResult, AXPQueryRequest, AXPReqexValidationRule, AXPRequiredValidationRule, AXPSortDefinition, AXPSortQuery, AXPStartUpTask, AXPStringValidationRules, AXPSystemAction, AXPTag, AXPTagFilterOptions, AXPUserReference, AXPValidationRule, AXPValidationRules, AXPValueTransformerFunction, AXPValueTransformerFunctions, AXPValueUnit, AXPValueUnits, AXPViewBlockDefinition, AXPViewDefinition, AXPViewFieldDefinition, AXPViewQuery, AXPWidgetTrigger, AXPWidgetTriggers };
@@ -236,11 +236,11 @@ class AXPSessionService {
236
236
  constructor() {
237
237
  this.eventService = inject(AXPBroadcastEventService);
238
238
  this.authStrategyRegistry = inject(AXPAuthStrategyRegistryService);
239
+ this.injector = inject(Injector);
239
240
  this.permissionLoader = inject(AXP_PERMISSION_LOADER);
240
241
  this.featureLoader = inject(AXP_FEATURE_LOADER);
241
242
  this.tenantLoader = inject(AXP_TENANT_LOADER);
242
243
  this.applicationLoader = inject(AXP_APPLICATION_LOADER);
243
- this.moduleProviderLoader = inject(AXP_MODULE_PROVIDER_LOADER);
244
244
  this.permissionChecker = inject(AXP_PERMISSION_CHECKER, { optional: true });
245
245
  this.featureChecker = inject(AXP_FEATURE_CHECKER, { optional: true });
246
246
  this.status = new BehaviorSubject(AXPSessionStatus.Unauthenticated);
@@ -274,6 +274,13 @@ class AXPSessionService {
274
274
  this.isAuthorized$ = this.status$.pipe(map((status) => status === AXPSessionStatus.Authorized), shareReplay(1));
275
275
  }
276
276
  static { this.SESSION_KEY = 'AXP_SESSION'; }
277
+ /**
278
+ * Get module provider loader lazily to avoid circular dependency.
279
+ * ModuleProviderLoader depends on AXPSessionService, which is this service.
280
+ */
281
+ getModuleProviderLoader() {
282
+ return this.injector.get(AXP_MODULE_PROVIDER_LOADER);
283
+ }
277
284
  get user() {
278
285
  const session = this.getSessionData();
279
286
  if (session?.user && !this.currentUserSubject.value) {
@@ -325,7 +332,7 @@ class AXPSessionService {
325
332
  // Load required modules first to ensure entities are available for loaders
326
333
  // This is critical because loaders (like application.loader) need entities
327
334
  // from required modules (ApplicationManagement, TenantManagement, SecurityManagement)
328
- await this.moduleProviderLoader.loadRequiredModules();
335
+ await this.getModuleProviderLoader().loadRequiredModules();
329
336
  await this.loadPermissions();
330
337
  await this.loadFeatures();
331
338
  await this.signInComplete();
@@ -445,7 +452,7 @@ class AXPSessionService {
445
452
  const userId = this.user?.id;
446
453
  // Clear module provider loader cache before clearing session
447
454
  // This ensures modules and providers from previous user are not cached
448
- await this.moduleProviderLoader.clear();
455
+ await this.getModuleProviderLoader().clear();
449
456
  this.clearSession();
450
457
  this.eventService.publish(AXPSessionStatus.SignedOut, { id: userId });
451
458
  this.isLoading.next(false);