@acorex/platform 19.4.1 → 19.4.2

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.
Files changed (40) hide show
  1. package/fesm2022/acorex-platform-layout-components.mjs +61 -63
  2. package/fesm2022/acorex-platform-layout-components.mjs.map +1 -1
  3. package/fesm2022/acorex-platform-layout-entity.mjs +17 -21
  4. package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
  5. package/fesm2022/acorex-platform-layout-views.mjs +3 -3
  6. package/fesm2022/acorex-platform-layout-views.mjs.map +1 -1
  7. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-pLcvobi-.mjs +112 -0
  8. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-pLcvobi-.mjs.map +1 -0
  9. package/fesm2022/{acorex-platform-themes-default-entity-master-list-view.component-C0aVy6kW.mjs → acorex-platform-themes-default-entity-master-list-view.component-CIFq0eeQ.mjs} +3 -4
  10. package/fesm2022/{acorex-platform-themes-default-entity-master-list-view.component-C0aVy6kW.mjs.map → acorex-platform-themes-default-entity-master-list-view.component-CIFq0eeQ.mjs.map} +1 -1
  11. package/fesm2022/{acorex-platform-themes-default-entity-master-single-view.component-WYpSnpSx.mjs → acorex-platform-themes-default-entity-master-single-view.component-Dbf3kR4Z.mjs} +2 -2
  12. package/fesm2022/{acorex-platform-themes-default-entity-master-single-view.component-WYpSnpSx.mjs.map → acorex-platform-themes-default-entity-master-single-view.component-Dbf3kR4Z.mjs.map} +1 -1
  13. package/fesm2022/acorex-platform-themes-default.mjs +14 -14
  14. package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
  15. package/fesm2022/acorex-platform-themes-shared.mjs +2 -2
  16. package/fesm2022/acorex-platform-themes-shared.mjs.map +1 -1
  17. package/fesm2022/{acorex-platform-widgets-button-widget-designer.component-BWZ0L--k.mjs → acorex-platform-widgets-button-widget-designer.component-Y6Ip7pnQ.mjs} +5 -5
  18. package/fesm2022/{acorex-platform-widgets-button-widget-designer.component-BWZ0L--k.mjs.map → acorex-platform-widgets-button-widget-designer.component-Y6Ip7pnQ.mjs.map} +1 -1
  19. package/fesm2022/{acorex-platform-widgets-rich-text-popup.component-BZkftryb.mjs → acorex-platform-widgets-rich-text-popup.component-CtZlLmEp.mjs} +3 -3
  20. package/fesm2022/acorex-platform-widgets-rich-text-popup.component-CtZlLmEp.mjs.map +1 -0
  21. package/fesm2022/{acorex-platform-widgets-tabular-data-edit-popup.component-DZD9AEmz.mjs → acorex-platform-widgets-tabular-data-edit-popup.component-Dg0d9DbZ.mjs} +5 -5
  22. package/fesm2022/{acorex-platform-widgets-tabular-data-edit-popup.component-DZD9AEmz.mjs.map → acorex-platform-widgets-tabular-data-edit-popup.component-Dg0d9DbZ.mjs.map} +1 -1
  23. package/fesm2022/{acorex-platform-widgets-tabular-data-view-popup.component-CQT2kgt3.mjs → acorex-platform-widgets-tabular-data-view-popup.component-CB1YeddQ.mjs} +4 -4
  24. package/fesm2022/acorex-platform-widgets-tabular-data-view-popup.component-CB1YeddQ.mjs.map +1 -0
  25. package/fesm2022/acorex-platform-widgets.mjs +106 -100
  26. package/fesm2022/acorex-platform-widgets.mjs.map +1 -1
  27. package/fesm2022/acorex-platform-workflow.mjs +97 -19
  28. package/fesm2022/acorex-platform-workflow.mjs.map +1 -1
  29. package/layout/components/lib/component-slot/component-slot.directive.d.ts +36 -2
  30. package/layout/components/lib/component-slot/component-slot.types.d.ts +1 -0
  31. package/layout/components/lib/component-slot/index.d.ts +0 -1
  32. package/layout/entity/lib/entity-master-list.viewmodel.d.ts +1 -3
  33. package/package.json +1 -1
  34. package/widgets/lib/widgets/advance/file-uploader/file-uploader-widget-edit.component.d.ts +0 -3
  35. package/workflow/lib/workflow.module.d.ts +2 -1
  36. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-BWsMbHQS.mjs +0 -112
  37. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-BWsMbHQS.mjs.map +0 -1
  38. package/fesm2022/acorex-platform-widgets-rich-text-popup.component-BZkftryb.mjs.map +0 -1
  39. package/fesm2022/acorex-platform-widgets-tabular-data-view-popup.component-CQT2kgt3.mjs.map +0 -1
  40. package/layout/components/lib/component-slot/component-slot-loader.service.d.ts +0 -12
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { InjectionToken, inject, Injectable, signal, input, computed, ViewEncapsulation, Component, effect, Directive, ChangeDetectionStrategy, viewChild, contentChild, ElementRef, Injector, runInInjectionContext, ViewContainerRef, Optional, Inject, NgModule } from '@angular/core';
2
+ import { InjectionToken, inject, Injectable, signal, input, computed, ViewEncapsulation, Component, effect, Directive, ChangeDetectionStrategy, viewChild, contentChild, ElementRef, Injector, ViewContainerRef, runInInjectionContext, Optional, Inject, NgModule } from '@angular/core';
3
3
  import { BehaviorSubject, timer, Subject, takeUntil } from 'rxjs';
4
4
  import { tap } from 'rxjs/operators';
5
5
  import { CommonModule } from '@angular/common';
@@ -11,8 +11,8 @@ import { AXDecoratorModule } from '@acorex/components/decorators';
11
11
  import * as i3 from '@acorex/components/image';
12
12
  import { AXImageModule } from '@acorex/components/image';
13
13
  import { SIGNAL, signalSetFn } from '@angular/core/primitives/signals';
14
- import { sortBy } from 'lodash-es';
15
14
  import { AXPExpressionEvaluatorService, AXPContextStore } from '@acorex/platform/core';
15
+ import { sortBy } from 'lodash-es';
16
16
 
17
17
  const AXP_USER_AVATAR_PROVIDER = new InjectionToken('AXP_USER_AVATAR_PROVIDER', {
18
18
  providedIn: 'root',
@@ -770,48 +770,69 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImpo
770
770
  }]
771
771
  }] });
772
772
 
773
- class AXPComponentSlotLoaderService {
773
+ class AXPComponentSlotDirective {
774
774
  constructor() {
775
+ this.name = input.required();
776
+ this.host = input();
777
+ this.context = input();
778
+ this.elementRef = inject(ElementRef);
775
779
  this.registryService = inject(AXPComponentSlotRegistryService);
776
780
  this.injector = inject(Injector);
777
781
  this.evaluator = inject(AXPExpressionEvaluatorService);
782
+ this.viewContainerRef = inject(ViewContainerRef);
778
783
  this.contextStore = inject(AXPContextStore);
784
+ this.isEmpty = computed(() => this._viewCount() === 0);
785
+ // Create a signal to store the count of children
786
+ this._viewCount = signal(0);
779
787
  }
780
- async loadComponent(slotName, viewContainerRef) {
781
- const configs = sortBy(this.registryService.get(slotName), (c) => c.priority ?? 0);
782
- if (configs) {
783
- const results = await Promise.all(configs.map(async (c) => ({
784
- config: c,
785
- show: c.condition ? await this.evaluateCondition(c.condition) : true
786
- })));
787
- const slots = results.filter(r => r.show).map(r => r.config);
788
- viewContainerRef.clear();
789
- await Promise.all(slots.map(async (config) => {
790
- let component;
791
- let options = {};
792
- if (typeof config.loadComponent === 'function') {
793
- await runInInjectionContext(this.injector, async () => {
794
- component = await config.loadComponent?.();
795
- });
796
- }
797
- else if (config.component) {
798
- component = config.component;
799
- }
800
- if (typeof config.options === 'function') {
801
- runInInjectionContext(this.injector, () => {
802
- const fun = config.options;
803
- options = fun();
804
- });
805
- }
806
- else if (config.options) {
807
- options = config.options;
808
- }
809
- if (component != null) {
810
- const componentRef = viewContainerRef.createComponent(component);
811
- Object.assign(componentRef.instance, options);
812
- }
813
- }));
788
+ async ngOnInit() {
789
+ await this.loadComponents();
790
+ // Update the signal after loading
791
+ this._viewCount.set(this.viewContainerRef.length);
792
+ }
793
+ async loadComponents() {
794
+ this.viewContainerRef.clear();
795
+ const configs = sortBy(this.registryService.get(this.name()), (c) => c.priority ?? 0);
796
+ if (!configs) {
797
+ console.error(`No component found for slot ${this.name()}`);
798
+ return;
814
799
  }
800
+ const results = await Promise.all(configs.map(async (c) => ({
801
+ config: c,
802
+ visible: c.condition ? await this.evaluateCondition(c.condition) : true
803
+ })));
804
+ const slots = results.filter(r => r.visible).map(r => r.config);
805
+ this.viewContainerRef.clear();
806
+ await Promise.all(slots.map(async (config) => {
807
+ let component;
808
+ let options = {};
809
+ // load component
810
+ if (typeof config.loadComponent === 'function') {
811
+ await runInInjectionContext(this.injector, async () => {
812
+ component = await config.loadComponent?.();
813
+ });
814
+ }
815
+ else if (config.component) {
816
+ component = config.component;
817
+ }
818
+ // load options
819
+ if (typeof config.options === 'function') {
820
+ runInInjectionContext(this.injector, () => {
821
+ const fun = config.options;
822
+ options = fun();
823
+ });
824
+ }
825
+ else if (config.options) {
826
+ options = config.options;
827
+ }
828
+ // apply options and host
829
+ const componentRef = this.viewContainerRef.createComponent(component);
830
+ Object.assign(componentRef.instance, {
831
+ host: this.host(),
832
+ context: this.context(),
833
+ ...options
834
+ });
835
+ }));
815
836
  }
816
837
  async evaluateCondition(condition) {
817
838
  if (typeof condition === 'string') {
@@ -819,33 +840,10 @@ class AXPComponentSlotLoaderService {
819
840
  return result;
820
841
  }
821
842
  return condition(this.contextStore.data());
822
- }
823
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXPComponentSlotLoaderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
824
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXPComponentSlotLoaderService, providedIn: 'root' }); }
825
- }
826
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXPComponentSlotLoaderService, decorators: [{
827
- type: Injectable,
828
- args: [{
829
- providedIn: 'root',
830
- }]
831
- }] });
832
-
833
- class AXPComponentSlotDirective {
834
- constructor() {
835
- this.name = input.required();
836
- this.dynamicLoaderService = inject(AXPComponentSlotLoaderService);
837
- this.viewContainerRef = inject(ViewContainerRef);
838
- this.isEmpty = computed(() => this._viewCount() === 0);
839
- // Create a signal to store the count of children
840
- this._viewCount = signal(0);
841
- }
842
- async ngOnInit() {
843
- await this.dynamicLoaderService.loadComponent(this.name(), this.viewContainerRef);
844
- // Update the signal after loading
845
- this._viewCount.set(this.viewContainerRef.length);
843
+ //return condition(this.context());
846
844
  }
847
845
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXPComponentSlotDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
848
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.10", type: AXPComponentSlotDirective, isStandalone: false, selector: "axp-component-slot", inputs: { name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: true, transformFunction: null } }, exportAs: ["slot"], ngImport: i0 }); }
846
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.10", type: AXPComponentSlotDirective, isStandalone: false, selector: "axp-component-slot", inputs: { name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: true, transformFunction: null }, host: { classPropertyName: "host", publicName: "host", isSignal: true, isRequired: false, transformFunction: null }, context: { classPropertyName: "context", publicName: "context", isSignal: true, isRequired: false, transformFunction: null } }, exportAs: ["slot"], ngImport: i0 }); }
849
847
  }
850
848
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXPComponentSlotDirective, decorators: [{
851
849
  type: Directive,
@@ -928,5 +926,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImpo
928
926
  * Generated bundle index. Do not edit.
929
927
  */
930
928
 
931
- export { AXPComponentSlot, AXPComponentSlotDirective, AXPComponentSlotLoaderService, AXPComponentSlotModule, AXPComponentSlotRegistryService, AXPTaskBadgeDirective, AXPTaskBadgeProvider, AXPTaskBadgeService, AXPThemeLayoutActionsComponent, AXPThemeLayoutBlockComponent, AXPThemeLayoutContainerComponent, AXPThemeLayoutEndSideComponent, AXPThemeLayoutFooterComponent, AXPThemeLayoutHeaderComponent, AXPThemeLayoutListComponent, AXPThemeLayoutListItemComponent, AXPThemeLayoutListItemsGroupComponent, AXPThemeLayoutPageHeaderComponent, AXPThemeLayoutPagePrimaryActionsComponent, AXPThemeLayoutPageSecondaryActionsComponent, AXPThemeLayoutSectionComponent, AXPThemeLayoutStartSideComponent, AXPThemeLayoutToolbarComponent, AXPUserAvatarComponent, AXPUserAvatarService, AXP_TASK_BADGE_PROVIDERS, AXP_USER_AVATAR_PROVIDER };
929
+ export { AXPComponentSlot, AXPComponentSlotDirective, AXPComponentSlotModule, AXPComponentSlotRegistryService, AXPTaskBadgeDirective, AXPTaskBadgeProvider, AXPTaskBadgeService, AXPThemeLayoutActionsComponent, AXPThemeLayoutBlockComponent, AXPThemeLayoutContainerComponent, AXPThemeLayoutEndSideComponent, AXPThemeLayoutFooterComponent, AXPThemeLayoutHeaderComponent, AXPThemeLayoutListComponent, AXPThemeLayoutListItemComponent, AXPThemeLayoutListItemsGroupComponent, AXPThemeLayoutPageHeaderComponent, AXPThemeLayoutPagePrimaryActionsComponent, AXPThemeLayoutPageSecondaryActionsComponent, AXPThemeLayoutSectionComponent, AXPThemeLayoutStartSideComponent, AXPThemeLayoutToolbarComponent, AXPUserAvatarComponent, AXPUserAvatarService, AXP_TASK_BADGE_PROVIDERS, AXP_USER_AVATAR_PROVIDER };
932
930
  //# sourceMappingURL=acorex-platform-layout-components.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-platform-layout-components.mjs","sources":["../../../../libs/platform/layout/components/src/lib/user-avatar/user-avatar.provider.ts","../../../../libs/platform/layout/components/src/lib/user-avatar/user-avatar.service.ts","../../../../libs/platform/layout/components/src/lib/user-avatar/user-avatar.component.ts","../../../../libs/platform/layout/components/src/lib/user-avatar/user-avatar.component.html","../../../../libs/platform/layout/components/src/lib/badge/task-badge.type.ts","../../../../libs/platform/layout/components/src/lib/badge/task-badge.service.ts","../../../../libs/platform/layout/components/src/lib/badge/badge.directive.ts","../../../../libs/platform/layout/components/src/lib/blocks/layout-actions.component.ts","../../../../libs/platform/layout/components/src/lib/blocks/layout-blocks.component.ts","../../../../libs/platform/layout/components/src/lib/blocks/layout-footer.component.ts","../../../../libs/platform/layout/components/src/lib/blocks/layout-header.component.ts","../../../../libs/platform/layout/components/src/lib/blocks/layout-list.component.ts","../../../../libs/platform/layout/components/src/lib/blocks/layout-section.component.ts","../../../../libs/platform/layout/components/src/lib/blocks/layout-side.component.ts","../../../../libs/platform/layout/components/src/lib/blocks/layout-tool-bar.component.ts","../../../../libs/platform/layout/components/src/lib/blocks/layout-container.component.ts","../../../../libs/platform/layout/components/src/lib/component-slot/component-slot.types.ts","../../../../libs/platform/layout/components/src/lib/component-slot/component-slot-registery.service.ts","../../../../libs/platform/layout/components/src/lib/component-slot/component-slot-loader.service.ts","../../../../libs/platform/layout/components/src/lib/component-slot/component-slot.directive.ts","../../../../libs/platform/layout/components/src/lib/component-slot/component-slot.module.ts","../../../../libs/platform/layout/components/src/acorex-platform-layout-components.ts"],"sourcesContent":["import { InjectionToken } from \"@angular/core\";\nimport { AXPUserAvatarData, AXPUserAvatarProvider } from \"./user-avatar.types\";\n\nexport const AXP_USER_AVATAR_PROVIDER = new InjectionToken<AXPUserAvatarProvider>(\n 'AXP_USER_AVATAR_PROVIDER',\n {\n providedIn: 'root',\n factory: () => {\n return new AXPUserAvatarProviderDefault();\n }\n }\n);\n\n\nclass AXPUserAvatarProviderDefault implements AXPUserAvatarProvider {\n provide(userId: string): Promise<AXPUserAvatarData> {\n return Promise.resolve({\n id: userId,\n username: 'johndoe',\n firstName: 'John',\n lastName: 'Doe',\n status: 'online',\n avatarUrl: 'https://via.placeholder.com/150',\n });\n }\n}\n","import { inject, Injectable } from \"@angular/core\";\nimport { AXPUserAvatarData } from \"./user-avatar.types\";\nimport { AXP_USER_AVATAR_PROVIDER } from \"./user-avatar.provider\";\nimport { BehaviorSubject, Observable, timer } from 'rxjs';\nimport { map, shareReplay, switchMap, tap } from 'rxjs/operators';\n\ninterface CacheEntry {\n data: AXPUserAvatarData;\n timestamp: number;\n subject: BehaviorSubject<AXPUserAvatarData>;\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AXPUserAvatarService {\n private provider = inject(AXP_USER_AVATAR_PROVIDER);\n\n // Cache configuration\n private readonly cacheExpiryTime = 5 * 60 * 1000; // 5 minutes in milliseconds\n private readonly refreshInterval = 3 * 60 * 1000; // 3 minutes in milliseconds\n\n // Cache storage\n private cache = new Map<string, CacheEntry>();\n\n /**\n * Gets user information with caching and auto-refresh\n * @param userId The username to fetch information for\n * @returns Observable that emits user avatar data\n */\n getUserInfo$(userId: string): Observable<AXPUserAvatarData> {\n // Check if we have a cached entry\n if (!this.cache.has(userId) || this.isExpired(userId)) {\n // Create a new cache entry with default values\n const defaultData: AXPUserAvatarData = {\n id: userId,\n status: 'offline',\n username: '',\n firstName: '',\n lastName: ''\n };\n const subject = new BehaviorSubject<AXPUserAvatarData>(defaultData);\n this.cache.set(userId, {\n data: defaultData,\n timestamp: Date.now(),\n subject\n });\n\n // Fetch fresh data immediately\n this.fetchAndUpdateCache(userId);\n\n // Set up auto refresh\n timer(this.refreshInterval, this.refreshInterval)\n .pipe(\n tap(() => this.fetchAndUpdateCache(userId))\n )\n .subscribe();\n }\n\n return this.cache.get(userId)!.subject.asObservable();\n }\n\n /**\n * Gets user information (Promise-based for backward compatibility)\n * @param userId The username to fetch information for\n * @returns Promise that resolves to user avatar data\n */\n async getUserInfo(userId: string): Promise<AXPUserAvatarData> {\n // Check if we have an unexpired cached entry\n if (this.cache.has(userId) && !this.isExpired(userId)) {\n return this.cache.get(userId)!.data;\n }\n\n // Fetch fresh data and cache it\n return this.fetchAndUpdateCache(userId);\n }\n\n /**\n * Clears the entire cache or a specific user's cache\n * @param userId Optional username to clear specific cache\n */\n clearCache(userId?: string): void {\n if (userId) {\n this.cache.delete(userId);\n } else {\n this.cache.clear();\n }\n }\n\n /**\n * Force refresh data for a specific username\n * @param userId The username to refresh\n * @returns Promise that resolves to the refreshed data\n */\n async refreshUserInfo(userId: string): Promise<AXPUserAvatarData> {\n return this.fetchAndUpdateCache(userId);\n }\n\n /**\n * Checks if a cache entry is expired\n */\n private isExpired(userId: string): boolean {\n const entry = this.cache.get(userId);\n if (!entry) return true;\n\n return (Date.now() - entry.timestamp) > this.cacheExpiryTime;\n }\n\n /**\n * Fetches data from provider and updates the cache\n */\n private async fetchAndUpdateCache(userId: string): Promise<AXPUserAvatarData> {\n try {\n const data = await this.provider.provide(userId);\n if (!data) {\n throw new Error(`User info not found for ${userId}`);\n }\n const entry = this.cache.get(userId);\n\n // Update the cache entry\n if (entry) {\n entry.data = data;\n entry.timestamp = Date.now();\n entry.subject.next(data);\n } else {\n // Create a new cache entry if needed\n const subject = new BehaviorSubject<AXPUserAvatarData>(data);\n this.cache.set(userId, {\n data,\n timestamp: Date.now(),\n subject\n });\n }\n\n return data;\n } catch (error) {\n console.error(`Error fetching user info for ${userId}:`, error);\n throw error;\n }\n }\n}","import { Component, OnDestroy, OnInit, ViewEncapsulation, computed, inject, input, signal } from '@angular/core';\n\nimport { CommonModule } from '@angular/common';\nimport { AXBadgeModule } from '@acorex/components/badge';\nimport { AXPUserAvatarService } from './user-avatar.service';\nimport { Subject, takeUntil } from 'rxjs';\nimport { AXAvatarModule } from '@acorex/components/avatar';\nimport { AXHtmlEvent } from '@acorex/cdk/common';\nimport { AXPUserAvatarData } from './user-avatar.types';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXImageModule } from '@acorex/components/image';\nimport { AXPDataGenerator } from '@acorex/platform/core';\n\n@Component({\n selector: 'axp-user-avatar',\n templateUrl: './user-avatar.component.html',\n styleUrl: './user-avatar.component.scss',\n imports: [\n // Angular\n CommonModule,\n // ACoreX\n AXAvatarModule,\n AXDecoratorModule,\n AXImageModule,\n // Platform\n AXBadgeModule,\n ],\n encapsulation: ViewEncapsulation.None,\n providers: [],\n})\nexport class AXPUserAvatarComponent implements OnInit, OnDestroy {\n private readonly userAvatarService = inject(AXPUserAvatarService);\n private readonly destroy$ = new Subject<void>();\n\n protected userInfo = signal<AXPUserAvatarData | null>(null);\n\n size = input<number>(40);\n userId = input<string>('');\n\n src = signal<string>('');\n userName = computed(() => this.userInfo()?.username || '');\n firstName = computed(() => this.userInfo()?.firstName || '');\n lastName = computed(() => this.userInfo()?.lastName || '');\n title = computed(() => `${this.firstName()} ${this.lastName()}`);\n isOnline = computed(() => this.userInfo()?.status === 'online');\n\n avatarText = computed(() => this.getInitials(this.firstName(), this.lastName()));\n avatarColor = computed(() => this.pickColor(this.avatarText()));\n\n protected hasPicture = signal(false);\n\n protected onImageError(event: AXHtmlEvent<ErrorEvent>) {\n this.hasPicture.set(false);\n }\n\n protected onImageLoad(event: AXHtmlEvent<Event>) {\n this.hasPicture.set(true);\n }\n\n ngOnInit(): void {\n this.loadUserData();\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n private loadUserData(): void {\n // Skip if no username provided\n if (!this.userId()) {\n return;\n }\n\n // Subscribe to the user info observable to get real-time updates\n this.userAvatarService\n .getUserInfo$(this.userId())\n .pipe(takeUntil(this.destroy$))\n .subscribe((userData) => {\n this.userInfo.set(userData);\n // This is a placeholder - replace with your actual avatar URL logic\n this.generateAvatarSrc(userData);\n });\n }\n\n /**\n * Generate avatar image source\n * This is a placeholder - implement based on your actual requirements\n */\n private generateAvatarSrc(userData: any): void {\n // Example: Check if the user has a custom avatar URL\n // If not, generate a placeholder using initials\n if (userData.avatarUrl) {\n this.src.set(userData.avatarUrl);\n } else {\n // Generate a placeholder - you could use an external service like UI Avatars\n // or implement your own logic\n const initials = this.getInitials(userData.firstName || '', userData.lastName || '');\n this.src.set(`https://avatar.iran.liara.run/username?username=${encodeURIComponent(initials)}`);\n }\n }\n\n /**\n * Get initials from first and last name\n */\n private getInitials(firstName: string, lastName: string): string {\n const firstInitial = firstName.charAt(0).toUpperCase();\n const lastInitial = lastName.charAt(0).toUpperCase();\n return firstInitial + lastInitial;\n }\n\n private hashString(str: string): number {\n let hash = 0;\n for (let i = 0; i < str.length; i++) {\n hash = (hash << 5) - hash + str.charCodeAt(i);\n hash |= 0;\n }\n return Math.abs(hash);\n }\n\n private pickColor(initials: string): string {\n const colors = ['primary', 'secondary', 'danger', 'warning', 'success', 'accent1', 'accent2', 'accent3'];\n const idx = this.hashString(initials) % colors.length;\n return colors[idx];\n }\n}\n","<ax-avatar #avatar [size]=\"size()\" class=\"ax-cursor-pointer\">\n @if(hasPicture()){\n <ax-image (onError)=\"onImageError($event)\" (onLoad)=\"onImageLoad($event)\" [src]=\"src()\"></ax-image>\n }@else{\n <ax-text class=\"ax-{{ avatarColor() }}-lightest \">\n <small class=\"ax-text-xs ax-font-semibold\">{{ avatarText() }}</small>\n </ax-text>\n }\n</ax-avatar>\n\n<!--\n\nax-primary-lightest\nax-warning-lightest\nax-success-lightest\nax-danger-lightest\nax-secondary-lightest\nax-accent1-lightest\nax-accent2-lightest\nax-accent3-lightest\n\n-->\n","import { InjectionToken, Signal } from \"@angular/core\";\n\nexport const AXP_TASK_BADGE_PROVIDERS = new InjectionToken<AXPTaskBadgeProvider[]>('AXP_TASK_BADGE_PROVIDERS');\n\nexport abstract class AXPTaskBadgeProvider {\n abstract key: string;\n abstract count: Signal<number>;\n}","import { computed, inject, Injectable, Signal, signal } from '@angular/core';\nimport { AXP_TASK_BADGE_PROVIDERS, AXPTaskBadgeProvider } from './task-badge.type';\n\n@Injectable({ providedIn: 'root' })\nexport class AXPTaskBadgeService {\n private badgeMap = new Map<string, Signal<number>[]>();\n private providers: AXPTaskBadgeProvider[] = inject(AXP_TASK_BADGE_PROVIDERS, { optional: true }) ?? [];\n private computedCache = new Map<string, Signal<number>>();\n\n constructor() {\n for (const provider of this.providers) {\n if (!this.badgeMap.has(provider.key)) {\n this.badgeMap.set(provider.key, []);\n }\n this.badgeMap.get(provider.key)!.push(provider.count);\n }\n }\n\n getCount(key: string): Signal<number> {\n if (this.computedCache.has(key)) {\n return this.computedCache.get(key)!;\n }\n\n const signals = this.badgeMap.get(key) ?? [];\n const total = signals.length > 0 ? computed(() => signals.reduce((sum, s) => sum + s(), 0)) : signal(0);\n\n this.computedCache.set(key, total);\n return total;\n }\n}\n","import { input, computed, inject, effect, Directive, InputSignal } from \"@angular/core\";\nimport { SIGNAL, signalSetFn } from \"@angular/core/primitives/signals\";\nimport { AXPTaskBadgeService } from \"./task-badge.service\";\nimport { AXBadgeComponent } from \"@acorex/components/badge\";\n\n\n@Directive({\n selector: '[axp-task-badge]',\n standalone: true,\n})\nexport class AXPTaskBadgeDirective {\n private badgeService = inject(AXPTaskBadgeService);\n private host = inject(AXBadgeComponent); // assumes it's applied on <ax-badge>\n private hostElement = this.host.getHostElement();\n\n badgeKey = input<string | undefined>(undefined);\n count = input<number>(0, { alias: 'axp-task-badge' });\n\n private readonly displayCount = computed(() => {\n const value = this.count() || (this.badgeKey() && this.badgeService.getCount(this.badgeKey()!)());\n return value ? value.toString() : '';\n });\n\n #eff = effect(() => {\n this.setValueOfInputSignal(this.host.text, this.displayCount());\n if (!this.displayCount()) {\n this.hostElement.style.display = 'none';\n } else {\n this.hostElement.style.removeProperty('display');\n }\n });\n\n private setValueOfInputSignal<T>(signal: InputSignal<T>, value: T) {\n const node = signal[SIGNAL] as any;\n signalSetFn(node, value);\n }\n}","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, contentChild, TemplateRef, viewChild, ViewEncapsulation } from '@angular/core';\n\n\n@Component({\n standalone: true,\n selector: 'axp-layout-actions-primary',\n template: `<ng-content select=\"ax-button,ax-dropdown-button\"></ng-content>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AXPThemeLayoutPagePrimaryActionsComponent {\n}\n\n@Component({\n standalone: true,\n selector: 'axp-layout-actions-secondary',\n template: `<ng-content select=\"ax-button-item,ax-divider,ng-container\"></ng-content>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AXPThemeLayoutPageSecondaryActionsComponent {\n}\n\n@Component({\n imports: [CommonModule],\n standalone: true,\n selector: 'axp-layout-actions',\n template: `\n\n <ng-template #primary>\n <ng-content select=\"axp-layout-actions-primary\"></ng-content>\n </ng-template>\n\n <ng-template #secondary>\n <ng-content select=\"axp-layout-actions-secondary\"></ng-content>\n </ng-template>\n\n <ng-content></ng-content>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\n\nexport class AXPThemeLayoutActionsComponent {\n\n public readonly primaryTemplate = viewChild<TemplateRef<any>>('primary');\n private readonly primaryContent = contentChild(AXPThemeLayoutPagePrimaryActionsComponent);\n public hasPrimary = computed(() => this.primaryContent() != null);\n\n public readonly secondaryTemplate = viewChild<TemplateRef<any>>('secondary');\n private readonly secondaryContent = contentChild(AXPThemeLayoutPageSecondaryActionsComponent);\n public hasSecondary = computed(() => this.secondaryContent() != null);\n\n}\n\n\n","import { ChangeDetectionStrategy, Component, ElementRef, inject, ViewEncapsulation } from '@angular/core';\n\n@Component({\n standalone: true,\n selector: `\n\n axp-page-content, \n axp-page-footer-container,\n axp-page-footer,\n axp-page-header,\n axp-page-header-container,\n axp-page-toolbar,\n\n axp-layout-content, \n axp-layout-page-content, \n\n axp-layout-sections,\n axp-layout-body,\n axp-layout-page-body,\n axp-layout-prefix,\n axp-layout-suffix,\n axp-layout-title-bar,\n axp-layout-title, \n axp-layout-title-actions, \n axp-layout-nav-button, \n axp-layout-description, \n axp-layout-breadcrumbs,\n axp-layout-list-action,\n `,\n template: '<ng-content></ng-content>',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AXPThemeLayoutBlockComponent {\n\n\n protected readonly elementRef = inject(ElementRef);\n public readonly hostElement = this.elementRef.nativeElement;\n\n\n}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n imports: [CommonModule],\n standalone: true,\n selector: 'axp-layout-footer, axp-layout-page-footer',\n template: `\n <ng-content select=\"axp-layout-prefix\"></ng-content>\n <ng-content select=\"axp-layout-suffix\"></ng-content>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AXPThemeLayoutFooterComponent {\n}\n\n\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, input, TemplateRef, viewChild, ViewEncapsulation } from '@angular/core';\n\n@Component({\n imports: [CommonModule],\n standalone: true,\n selector: 'axp-layout-page-header',\n template: `\n <ng-template #breadcrumbs>\n <ng-content select=\"axp-layout-breadcrumbs\"></ng-content>\n </ng-template>\n\n <ng-template #navbar>\n <ng-content select=\"axp-layout-toolbar\"></ng-content>\n </ng-template>\n\n <ng-template #actions>\n <ng-content select=\"axp-layout-actions\"></ng-content>\n </ng-template>\n\n <ng-template #description>\n <ng-content select=\"axp-layout-description\"></ng-content>\n </ng-template>\n\n <ng-template #title>\n <ng-content select=\"axp-layout-title\"></ng-content>\n </ng-template>\n <ng-template #navButton>\n <ng-content select=\"axp-layout-nav-button\"></ng-content>\n </ng-template>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AXPThemeLayoutPageHeaderComponent {\n\n public readonly title = viewChild<TemplateRef<any>>('title');\n public readonly description = viewChild<TemplateRef<any>>('description');\n public readonly actions = viewChild<TemplateRef<any>>('actions');\n public readonly navbar = viewChild<TemplateRef<any>>('navbar');\n public readonly breadcrumbs = viewChild<TemplateRef<any>>('breadcrumbs');\n public readonly navButton = viewChild<TemplateRef<any>>('navButton');\n}\n\n\n\n@Component({\n imports: [CommonModule],\n standalone: true,\n selector: 'axp-layout-header',\n template: `\n <ng-content select=\"axp-layout-prefix\"></ng-content>\n <ng-content></ng-content>\n <ng-content select=\"axp-layout-suffix\"></ng-content>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AXPThemeLayoutHeaderComponent {\n\n}\n","import { ChangeDetectionStrategy, Component, contentChild, ViewEncapsulation } from '@angular/core';\n\n\n@Component({\n standalone: true,\n selector: 'axp-layout-list',\n template: `<ng-content select=\"axp-layout-list-item,axp-layout-list-group,ng-container\"></ng-content>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AXPThemeLayoutListComponent {\n}\n\n@Component({\n standalone: true,\n selector: 'axp-layout-list-group',\n template: `<ng-content select=\"axp-layout-list-item, axp-layout-title, axp-layout-header ,ng-container\"></ng-content>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AXPThemeLayoutListItemsGroupComponent {\n}\n\n@Component({\n standalone: true,\n selector: 'axp-layout-list-item',\n template: `<ng-content select=\"axp-layout-content,axp-layout-prefix,axp-layout-suffix,ng-container\"></ng-content>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AXPThemeLayoutListItemComponent {\n\n}","import { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n} from '@angular/core';\n\n@Component({\n imports: [CommonModule],\n standalone: true,\n selector: 'axp-layout-section',\n template: `\n <ng-content select=\"axp-layout-header\"></ng-content>\n <ng-content select=\"axp-layout-content\"></ng-content>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AXPThemeLayoutSectionComponent {\n}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n imports: [CommonModule],\n standalone: true,\n selector: 'axp-layout-page-start-side, axp-layout-start-side',\n template: `\n <ng-content select=\"axp-layout-header\"></ng-content>\n <ng-content select=\"axp-layout-content\"></ng-content>\n <ng-content select=\"axp-layout-footer\"></ng-content>\n <ng-content></ng-content>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AXPThemeLayoutStartSideComponent {}\n\n@Component({\n imports: [CommonModule],\n standalone: true,\n selector: 'axp-layout-page-end-side, axp-layout-end-side',\n template: `\n <ng-content select=\"axp-layout-header\"></ng-content>\n <ng-content select=\"axp-layout-content\"></ng-content>\n <ng-content select=\"axp-layout-footer\"></ng-content>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AXPThemeLayoutEndSideComponent {}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n imports: [CommonModule],\n standalone: true,\n selector: 'axp-layout-toolbar',\n template: `\n <ng-content select=\"axp-layout-prefix\"></ng-content>\n <ng-content select=\"axp-layout-suffix\"></ng-content>\n <ng-content></ng-content>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\n\nexport class AXPThemeLayoutToolbarComponent {\n\n}\n\n\n","import { ChangeDetectionStrategy, Component, computed, ElementRef, inject, signal, Signal, ViewEncapsulation } from '@angular/core';\n\n@Component({\n standalone: true,\n selector: `axp-layout-container`,\n template: '<ng-content></ng-content>',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AXPThemeLayoutContainerComponent {\n\n\n protected readonly elementRef: ElementRef<HTMLDivElement> = inject(ElementRef<HTMLDivElement>);\n public readonly hostElement = this.elementRef.nativeElement;\n\n\n private _isEmptySignal = signal(this.hostElement.children.length === 0);\n public readonly isEmpty: Signal<boolean> = this._isEmptySignal.asReadonly();\n\n private mutationObserver?: MutationObserver;\n\n ngOnInit() {\n this.mutationObserver = new MutationObserver(() => {\n this._isEmptySignal.set(this.hostElement.children.length === 0);\n });\n\n this.mutationObserver.observe(this.hostElement, {\n childList: true,\n subtree: true,\n });\n }\n\n ngOnDestroy() {\n this.mutationObserver?.disconnect();\n }\n\n\n\n}\n","import { AXPContextData, AXPOptionsData } from '@acorex/platform/core';\nimport { Directive, input, Type } from '@angular/core';\n\nexport interface AXPComponentSlotConfig {\n name: string;\n priority?: number;\n component?: Type<any>;\n condition?: ((context?: AXPContextData) => (boolean | Promise<boolean>)) | string;\n loadComponent?: () => Type<any> | Promise<Type<any>>;\n options?: { [key: string]: unknown } | (() => { [key: string]: unknown });\n}\n\nexport interface AXPComponentSlotModuleConfigs {\n [slotName: string]: AXPComponentSlotConfig[];\n}\n\n\n@Directive()\nexport abstract class AXPComponentSlot {\n}\n","import { Injectable, Injector } from \"@angular/core\";\nimport { AXPComponentSlotConfig } from \"./component-slot.types\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AXPComponentSlotRegistryService {\n\n private registry = new Map<string, AXPComponentSlotConfig[]>();\n\n register(slotName: string, config: AXPComponentSlotConfig) {\n let configs = this.registry.get(slotName) || [];\n\n // Check if the component is already registered in this slot\n const isDuplicate = configs.some(existingConfig => existingConfig.name === config.name);\n\n if (!isDuplicate) {\n configs = [...configs, config]; // Add the new configuration\n this.registry.set(slotName, configs);\n }\n }\n\n get(slotName: string): AXPComponentSlotConfig[] {\n return this.registry.get(slotName) || [];\n }\n}","import { Injectable, Injector, Signal, Type, ViewContainerRef, inject, runInInjectionContext } from '@angular/core';\nimport { sortBy } from 'lodash-es';\nimport { AXPComponentSlotRegistryService } from './component-slot-registery.service';\nimport { AXPContextData, AXPContextStore, AXPExpressionEvaluatorService } from '@acorex/platform/core';\n@Injectable({\n providedIn: 'root',\n})\nexport class AXPComponentSlotLoaderService {\n\n private registryService = inject(AXPComponentSlotRegistryService);\n private injector = inject(Injector);\n private evaluator = inject(AXPExpressionEvaluatorService);\n private contextStore = inject(AXPContextStore);\n\n async loadComponent(slotName: string, viewContainerRef: ViewContainerRef) {\n\n const configs = sortBy(this.registryService.get(slotName), (c) => c.priority ?? 0);\n if (configs) {\n const results = await Promise.all(\n configs.map(async (c) => ({\n config: c,\n show: c.condition ? await this.evaluateCondition(c.condition) : true\n }))\n );\n const slots = results.filter(r => r.show).map(r => r.config);\n viewContainerRef.clear();\n await Promise.all(slots.map(async (config) => {\n let component!: Type<any> | null | undefined;\n let options: { [key: string]: unknown } = {};\n if (typeof config.loadComponent === 'function') {\n await runInInjectionContext(this.injector, async () => {\n component = await config.loadComponent?.();\n });\n } else if (config.component) {\n component = config.component;\n }\n if (typeof config.options === 'function') {\n runInInjectionContext(this.injector, () => {\n const fun = config.options as Function;\n options = fun();\n });\n } else if (config.options) {\n options = config.options;\n }\n if (component != null) {\n const componentRef = viewContainerRef.createComponent(component);\n Object.assign(componentRef.instance, options);\n }\n }));\n }\n }\n\n private async evaluateCondition(condition: string | ((context?: AXPContextData) => boolean | Promise<boolean>)) {\n if (typeof condition === 'string') {\n const result = await this.evaluator.evaluate(condition, {});\n return result;\n }\n return condition(this.contextStore.data());\n }\n\n\n}\n","import { computed, Directive, inject, input, Input, OnInit, signal, ViewContainerRef } from '@angular/core';\nimport { AXPComponentSlotLoaderService } from './component-slot-loader.service';\n\n@Directive({\n selector: 'axp-component-slot',\n standalone: false,\n exportAs: 'slot'\n})\nexport class AXPComponentSlotDirective implements OnInit {\n name = input.required<string>();\n\n private dynamicLoaderService = inject(AXPComponentSlotLoaderService);\n public viewContainerRef = inject(ViewContainerRef);\n\n public isEmpty = computed(() => this._viewCount() === 0);\n\n // Create a signal to store the count of children\n private _viewCount = signal(0);\n\n async ngOnInit() {\n await this.dynamicLoaderService.loadComponent(this.name(), this.viewContainerRef);\n // Update the signal after loading\n this._viewCount.set(this.viewContainerRef.length);\n }\n}","import { Inject, ModuleWithProviders, NgModule, Optional } from '@angular/core';\nimport { AXPComponentSlotModuleConfigs } from './component-slot.types';\nimport { AXPComponentSlotRegistryService } from './component-slot-registery.service';\nimport { AXPComponentSlotDirective } from './component-slot.directive';\n\n@NgModule({\n declarations: [AXPComponentSlotDirective],\n exports: [AXPComponentSlotDirective]\n})\nexport class AXPComponentSlotModule {\n\n static forRoot(configs?: AXPComponentSlotModuleConfigs): ModuleWithProviders<AXPComponentSlotModule> {\n return {\n ngModule: AXPComponentSlotModule,\n providers: [\n {\n provide: 'AXPComponentSlotModuleFactory',\n useFactory: (registry: AXPComponentSlotRegistryService) => () => {\n if (configs) {\n for (const [key, value] of Object.entries(configs)) {\n value.forEach(v => {\n registry.register(key, v);\n })\n }\n }\n },\n deps: [AXPComponentSlotRegistryService],\n multi: true\n }\n ]\n };\n }\n\n static forChild(configs?: AXPComponentSlotModuleConfigs): ModuleWithProviders<AXPComponentSlotModule> {\n return {\n ngModule: AXPComponentSlotModule,\n providers: [\n {\n provide: 'AXPComponentSlotModuleFactory',\n useFactory: (registry: AXPComponentSlotRegistryService) => () => {\n if (configs) {\n for (const [key, value] of Object.entries(configs)) {\n value.forEach(v => {\n registry.register(key, v);\n })\n }\n }\n },\n deps: [AXPComponentSlotRegistryService],\n multi: true\n }\n\n ]\n };\n }\n\n /**\n * @ignore\n */\n constructor(@Optional() @Inject('AXPComponentSlotModuleFactory') instances: any[]) {\n instances?.forEach(f => {\n f();\n });\n }\n\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acorex-platform-layout-components.mjs","sources":["../../../../libs/platform/layout/components/src/lib/user-avatar/user-avatar.provider.ts","../../../../libs/platform/layout/components/src/lib/user-avatar/user-avatar.service.ts","../../../../libs/platform/layout/components/src/lib/user-avatar/user-avatar.component.ts","../../../../libs/platform/layout/components/src/lib/user-avatar/user-avatar.component.html","../../../../libs/platform/layout/components/src/lib/badge/task-badge.type.ts","../../../../libs/platform/layout/components/src/lib/badge/task-badge.service.ts","../../../../libs/platform/layout/components/src/lib/badge/badge.directive.ts","../../../../libs/platform/layout/components/src/lib/blocks/layout-actions.component.ts","../../../../libs/platform/layout/components/src/lib/blocks/layout-blocks.component.ts","../../../../libs/platform/layout/components/src/lib/blocks/layout-footer.component.ts","../../../../libs/platform/layout/components/src/lib/blocks/layout-header.component.ts","../../../../libs/platform/layout/components/src/lib/blocks/layout-list.component.ts","../../../../libs/platform/layout/components/src/lib/blocks/layout-section.component.ts","../../../../libs/platform/layout/components/src/lib/blocks/layout-side.component.ts","../../../../libs/platform/layout/components/src/lib/blocks/layout-tool-bar.component.ts","../../../../libs/platform/layout/components/src/lib/blocks/layout-container.component.ts","../../../../libs/platform/layout/components/src/lib/component-slot/component-slot.types.ts","../../../../libs/platform/layout/components/src/lib/component-slot/component-slot-registery.service.ts","../../../../libs/platform/layout/components/src/lib/component-slot/component-slot.directive.ts","../../../../libs/platform/layout/components/src/lib/component-slot/component-slot.module.ts","../../../../libs/platform/layout/components/src/acorex-platform-layout-components.ts"],"sourcesContent":["import { InjectionToken } from \"@angular/core\";\nimport { AXPUserAvatarData, AXPUserAvatarProvider } from \"./user-avatar.types\";\n\nexport const AXP_USER_AVATAR_PROVIDER = new InjectionToken<AXPUserAvatarProvider>(\n 'AXP_USER_AVATAR_PROVIDER',\n {\n providedIn: 'root',\n factory: () => {\n return new AXPUserAvatarProviderDefault();\n }\n }\n);\n\n\nclass AXPUserAvatarProviderDefault implements AXPUserAvatarProvider {\n provide(userId: string): Promise<AXPUserAvatarData> {\n return Promise.resolve({\n id: userId,\n username: 'johndoe',\n firstName: 'John',\n lastName: 'Doe',\n status: 'online',\n avatarUrl: 'https://via.placeholder.com/150',\n });\n }\n}\n","import { inject, Injectable } from \"@angular/core\";\nimport { AXPUserAvatarData } from \"./user-avatar.types\";\nimport { AXP_USER_AVATAR_PROVIDER } from \"./user-avatar.provider\";\nimport { BehaviorSubject, Observable, timer } from 'rxjs';\nimport { map, shareReplay, switchMap, tap } from 'rxjs/operators';\n\ninterface CacheEntry {\n data: AXPUserAvatarData;\n timestamp: number;\n subject: BehaviorSubject<AXPUserAvatarData>;\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AXPUserAvatarService {\n private provider = inject(AXP_USER_AVATAR_PROVIDER);\n\n // Cache configuration\n private readonly cacheExpiryTime = 5 * 60 * 1000; // 5 minutes in milliseconds\n private readonly refreshInterval = 3 * 60 * 1000; // 3 minutes in milliseconds\n\n // Cache storage\n private cache = new Map<string, CacheEntry>();\n\n /**\n * Gets user information with caching and auto-refresh\n * @param userId The username to fetch information for\n * @returns Observable that emits user avatar data\n */\n getUserInfo$(userId: string): Observable<AXPUserAvatarData> {\n // Check if we have a cached entry\n if (!this.cache.has(userId) || this.isExpired(userId)) {\n // Create a new cache entry with default values\n const defaultData: AXPUserAvatarData = {\n id: userId,\n status: 'offline',\n username: '',\n firstName: '',\n lastName: ''\n };\n const subject = new BehaviorSubject<AXPUserAvatarData>(defaultData);\n this.cache.set(userId, {\n data: defaultData,\n timestamp: Date.now(),\n subject\n });\n\n // Fetch fresh data immediately\n this.fetchAndUpdateCache(userId);\n\n // Set up auto refresh\n timer(this.refreshInterval, this.refreshInterval)\n .pipe(\n tap(() => this.fetchAndUpdateCache(userId))\n )\n .subscribe();\n }\n\n return this.cache.get(userId)!.subject.asObservable();\n }\n\n /**\n * Gets user information (Promise-based for backward compatibility)\n * @param userId The username to fetch information for\n * @returns Promise that resolves to user avatar data\n */\n async getUserInfo(userId: string): Promise<AXPUserAvatarData> {\n // Check if we have an unexpired cached entry\n if (this.cache.has(userId) && !this.isExpired(userId)) {\n return this.cache.get(userId)!.data;\n }\n\n // Fetch fresh data and cache it\n return this.fetchAndUpdateCache(userId);\n }\n\n /**\n * Clears the entire cache or a specific user's cache\n * @param userId Optional username to clear specific cache\n */\n clearCache(userId?: string): void {\n if (userId) {\n this.cache.delete(userId);\n } else {\n this.cache.clear();\n }\n }\n\n /**\n * Force refresh data for a specific username\n * @param userId The username to refresh\n * @returns Promise that resolves to the refreshed data\n */\n async refreshUserInfo(userId: string): Promise<AXPUserAvatarData> {\n return this.fetchAndUpdateCache(userId);\n }\n\n /**\n * Checks if a cache entry is expired\n */\n private isExpired(userId: string): boolean {\n const entry = this.cache.get(userId);\n if (!entry) return true;\n\n return (Date.now() - entry.timestamp) > this.cacheExpiryTime;\n }\n\n /**\n * Fetches data from provider and updates the cache\n */\n private async fetchAndUpdateCache(userId: string): Promise<AXPUserAvatarData> {\n try {\n const data = await this.provider.provide(userId);\n if (!data) {\n throw new Error(`User info not found for ${userId}`);\n }\n const entry = this.cache.get(userId);\n\n // Update the cache entry\n if (entry) {\n entry.data = data;\n entry.timestamp = Date.now();\n entry.subject.next(data);\n } else {\n // Create a new cache entry if needed\n const subject = new BehaviorSubject<AXPUserAvatarData>(data);\n this.cache.set(userId, {\n data,\n timestamp: Date.now(),\n subject\n });\n }\n\n return data;\n } catch (error) {\n console.error(`Error fetching user info for ${userId}:`, error);\n throw error;\n }\n }\n}","import { Component, OnDestroy, OnInit, ViewEncapsulation, computed, inject, input, signal } from '@angular/core';\n\nimport { CommonModule } from '@angular/common';\nimport { AXBadgeModule } from '@acorex/components/badge';\nimport { AXPUserAvatarService } from './user-avatar.service';\nimport { Subject, takeUntil } from 'rxjs';\nimport { AXAvatarModule } from '@acorex/components/avatar';\nimport { AXHtmlEvent } from '@acorex/cdk/common';\nimport { AXPUserAvatarData } from './user-avatar.types';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXImageModule } from '@acorex/components/image';\nimport { AXPDataGenerator } from '@acorex/platform/core';\n\n@Component({\n selector: 'axp-user-avatar',\n templateUrl: './user-avatar.component.html',\n styleUrl: './user-avatar.component.scss',\n imports: [\n // Angular\n CommonModule,\n // ACoreX\n AXAvatarModule,\n AXDecoratorModule,\n AXImageModule,\n // Platform\n AXBadgeModule,\n ],\n encapsulation: ViewEncapsulation.None,\n providers: [],\n})\nexport class AXPUserAvatarComponent implements OnInit, OnDestroy {\n private readonly userAvatarService = inject(AXPUserAvatarService);\n private readonly destroy$ = new Subject<void>();\n\n protected userInfo = signal<AXPUserAvatarData | null>(null);\n\n size = input<number>(40);\n userId = input<string>('');\n\n src = signal<string>('');\n userName = computed(() => this.userInfo()?.username || '');\n firstName = computed(() => this.userInfo()?.firstName || '');\n lastName = computed(() => this.userInfo()?.lastName || '');\n title = computed(() => `${this.firstName()} ${this.lastName()}`);\n isOnline = computed(() => this.userInfo()?.status === 'online');\n\n avatarText = computed(() => this.getInitials(this.firstName(), this.lastName()));\n avatarColor = computed(() => this.pickColor(this.avatarText()));\n\n protected hasPicture = signal(false);\n\n protected onImageError(event: AXHtmlEvent<ErrorEvent>) {\n this.hasPicture.set(false);\n }\n\n protected onImageLoad(event: AXHtmlEvent<Event>) {\n this.hasPicture.set(true);\n }\n\n ngOnInit(): void {\n this.loadUserData();\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n private loadUserData(): void {\n // Skip if no username provided\n if (!this.userId()) {\n return;\n }\n\n // Subscribe to the user info observable to get real-time updates\n this.userAvatarService\n .getUserInfo$(this.userId())\n .pipe(takeUntil(this.destroy$))\n .subscribe((userData) => {\n this.userInfo.set(userData);\n // This is a placeholder - replace with your actual avatar URL logic\n this.generateAvatarSrc(userData);\n });\n }\n\n /**\n * Generate avatar image source\n * This is a placeholder - implement based on your actual requirements\n */\n private generateAvatarSrc(userData: any): void {\n // Example: Check if the user has a custom avatar URL\n // If not, generate a placeholder using initials\n if (userData.avatarUrl) {\n this.src.set(userData.avatarUrl);\n } else {\n // Generate a placeholder - you could use an external service like UI Avatars\n // or implement your own logic\n const initials = this.getInitials(userData.firstName || '', userData.lastName || '');\n this.src.set(`https://avatar.iran.liara.run/username?username=${encodeURIComponent(initials)}`);\n }\n }\n\n /**\n * Get initials from first and last name\n */\n private getInitials(firstName: string, lastName: string): string {\n const firstInitial = firstName.charAt(0).toUpperCase();\n const lastInitial = lastName.charAt(0).toUpperCase();\n return firstInitial + lastInitial;\n }\n\n private hashString(str: string): number {\n let hash = 0;\n for (let i = 0; i < str.length; i++) {\n hash = (hash << 5) - hash + str.charCodeAt(i);\n hash |= 0;\n }\n return Math.abs(hash);\n }\n\n private pickColor(initials: string): string {\n const colors = ['primary', 'secondary', 'danger', 'warning', 'success', 'accent1', 'accent2', 'accent3'];\n const idx = this.hashString(initials) % colors.length;\n return colors[idx];\n }\n}\n","<ax-avatar #avatar [size]=\"size()\" class=\"ax-cursor-pointer\">\n @if(hasPicture()){\n <ax-image (onError)=\"onImageError($event)\" (onLoad)=\"onImageLoad($event)\" [src]=\"src()\"></ax-image>\n }@else{\n <ax-text class=\"ax-{{ avatarColor() }}-lightest \">\n <small class=\"ax-text-xs ax-font-semibold\">{{ avatarText() }}</small>\n </ax-text>\n }\n</ax-avatar>\n\n<!--\n\nax-primary-lightest\nax-warning-lightest\nax-success-lightest\nax-danger-lightest\nax-secondary-lightest\nax-accent1-lightest\nax-accent2-lightest\nax-accent3-lightest\n\n-->\n","import { InjectionToken, Signal } from \"@angular/core\";\n\nexport const AXP_TASK_BADGE_PROVIDERS = new InjectionToken<AXPTaskBadgeProvider[]>('AXP_TASK_BADGE_PROVIDERS');\n\nexport abstract class AXPTaskBadgeProvider {\n abstract key: string;\n abstract count: Signal<number>;\n}","import { computed, inject, Injectable, Signal, signal } from '@angular/core';\nimport { AXP_TASK_BADGE_PROVIDERS, AXPTaskBadgeProvider } from './task-badge.type';\n\n@Injectable({ providedIn: 'root' })\nexport class AXPTaskBadgeService {\n private badgeMap = new Map<string, Signal<number>[]>();\n private providers: AXPTaskBadgeProvider[] = inject(AXP_TASK_BADGE_PROVIDERS, { optional: true }) ?? [];\n private computedCache = new Map<string, Signal<number>>();\n\n constructor() {\n for (const provider of this.providers) {\n if (!this.badgeMap.has(provider.key)) {\n this.badgeMap.set(provider.key, []);\n }\n this.badgeMap.get(provider.key)!.push(provider.count);\n }\n }\n\n getCount(key: string): Signal<number> {\n if (this.computedCache.has(key)) {\n return this.computedCache.get(key)!;\n }\n\n const signals = this.badgeMap.get(key) ?? [];\n const total = signals.length > 0 ? computed(() => signals.reduce((sum, s) => sum + s(), 0)) : signal(0);\n\n this.computedCache.set(key, total);\n return total;\n }\n}\n","import { input, computed, inject, effect, Directive, InputSignal } from \"@angular/core\";\nimport { SIGNAL, signalSetFn } from \"@angular/core/primitives/signals\";\nimport { AXPTaskBadgeService } from \"./task-badge.service\";\nimport { AXBadgeComponent } from \"@acorex/components/badge\";\n\n\n@Directive({\n selector: '[axp-task-badge]',\n standalone: true,\n})\nexport class AXPTaskBadgeDirective {\n private badgeService = inject(AXPTaskBadgeService);\n private host = inject(AXBadgeComponent); // assumes it's applied on <ax-badge>\n private hostElement = this.host.getHostElement();\n\n badgeKey = input<string | undefined>(undefined);\n count = input<number>(0, { alias: 'axp-task-badge' });\n\n private readonly displayCount = computed(() => {\n const value = this.count() || (this.badgeKey() && this.badgeService.getCount(this.badgeKey()!)());\n return value ? value.toString() : '';\n });\n\n #eff = effect(() => {\n this.setValueOfInputSignal(this.host.text, this.displayCount());\n if (!this.displayCount()) {\n this.hostElement.style.display = 'none';\n } else {\n this.hostElement.style.removeProperty('display');\n }\n });\n\n private setValueOfInputSignal<T>(signal: InputSignal<T>, value: T) {\n const node = signal[SIGNAL] as any;\n signalSetFn(node, value);\n }\n}","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, contentChild, TemplateRef, viewChild, ViewEncapsulation } from '@angular/core';\n\n\n@Component({\n standalone: true,\n selector: 'axp-layout-actions-primary',\n template: `<ng-content select=\"ax-button,ax-dropdown-button\"></ng-content>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AXPThemeLayoutPagePrimaryActionsComponent {\n}\n\n@Component({\n standalone: true,\n selector: 'axp-layout-actions-secondary',\n template: `<ng-content select=\"ax-button-item,ax-divider,ng-container\"></ng-content>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AXPThemeLayoutPageSecondaryActionsComponent {\n}\n\n@Component({\n imports: [CommonModule],\n standalone: true,\n selector: 'axp-layout-actions',\n template: `\n\n <ng-template #primary>\n <ng-content select=\"axp-layout-actions-primary\"></ng-content>\n </ng-template>\n\n <ng-template #secondary>\n <ng-content select=\"axp-layout-actions-secondary\"></ng-content>\n </ng-template>\n\n <ng-content></ng-content>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\n\nexport class AXPThemeLayoutActionsComponent {\n\n public readonly primaryTemplate = viewChild<TemplateRef<any>>('primary');\n private readonly primaryContent = contentChild(AXPThemeLayoutPagePrimaryActionsComponent);\n public hasPrimary = computed(() => this.primaryContent() != null);\n\n public readonly secondaryTemplate = viewChild<TemplateRef<any>>('secondary');\n private readonly secondaryContent = contentChild(AXPThemeLayoutPageSecondaryActionsComponent);\n public hasSecondary = computed(() => this.secondaryContent() != null);\n\n}\n\n\n","import { ChangeDetectionStrategy, Component, ElementRef, inject, ViewEncapsulation } from '@angular/core';\n\n@Component({\n standalone: true,\n selector: `\n\n axp-page-content, \n axp-page-footer-container,\n axp-page-footer,\n axp-page-header,\n axp-page-header-container,\n axp-page-toolbar,\n\n axp-layout-content, \n axp-layout-page-content, \n\n axp-layout-sections,\n axp-layout-body,\n axp-layout-page-body,\n axp-layout-prefix,\n axp-layout-suffix,\n axp-layout-title-bar,\n axp-layout-title, \n axp-layout-title-actions, \n axp-layout-nav-button, \n axp-layout-description, \n axp-layout-breadcrumbs,\n axp-layout-list-action,\n `,\n template: '<ng-content></ng-content>',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AXPThemeLayoutBlockComponent {\n\n\n protected readonly elementRef = inject(ElementRef);\n public readonly hostElement = this.elementRef.nativeElement;\n\n\n}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n imports: [CommonModule],\n standalone: true,\n selector: 'axp-layout-footer, axp-layout-page-footer',\n template: `\n <ng-content select=\"axp-layout-prefix\"></ng-content>\n <ng-content select=\"axp-layout-suffix\"></ng-content>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AXPThemeLayoutFooterComponent {\n}\n\n\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, input, TemplateRef, viewChild, ViewEncapsulation } from '@angular/core';\n\n@Component({\n imports: [CommonModule],\n standalone: true,\n selector: 'axp-layout-page-header',\n template: `\n <ng-template #breadcrumbs>\n <ng-content select=\"axp-layout-breadcrumbs\"></ng-content>\n </ng-template>\n\n <ng-template #navbar>\n <ng-content select=\"axp-layout-toolbar\"></ng-content>\n </ng-template>\n\n <ng-template #actions>\n <ng-content select=\"axp-layout-actions\"></ng-content>\n </ng-template>\n\n <ng-template #description>\n <ng-content select=\"axp-layout-description\"></ng-content>\n </ng-template>\n\n <ng-template #title>\n <ng-content select=\"axp-layout-title\"></ng-content>\n </ng-template>\n <ng-template #navButton>\n <ng-content select=\"axp-layout-nav-button\"></ng-content>\n </ng-template>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AXPThemeLayoutPageHeaderComponent {\n\n public readonly title = viewChild<TemplateRef<any>>('title');\n public readonly description = viewChild<TemplateRef<any>>('description');\n public readonly actions = viewChild<TemplateRef<any>>('actions');\n public readonly navbar = viewChild<TemplateRef<any>>('navbar');\n public readonly breadcrumbs = viewChild<TemplateRef<any>>('breadcrumbs');\n public readonly navButton = viewChild<TemplateRef<any>>('navButton');\n}\n\n\n\n@Component({\n imports: [CommonModule],\n standalone: true,\n selector: 'axp-layout-header',\n template: `\n <ng-content select=\"axp-layout-prefix\"></ng-content>\n <ng-content></ng-content>\n <ng-content select=\"axp-layout-suffix\"></ng-content>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AXPThemeLayoutHeaderComponent {\n\n}\n","import { ChangeDetectionStrategy, Component, contentChild, ViewEncapsulation } from '@angular/core';\n\n\n@Component({\n standalone: true,\n selector: 'axp-layout-list',\n template: `<ng-content select=\"axp-layout-list-item,axp-layout-list-group,ng-container\"></ng-content>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AXPThemeLayoutListComponent {\n}\n\n@Component({\n standalone: true,\n selector: 'axp-layout-list-group',\n template: `<ng-content select=\"axp-layout-list-item, axp-layout-title, axp-layout-header ,ng-container\"></ng-content>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AXPThemeLayoutListItemsGroupComponent {\n}\n\n@Component({\n standalone: true,\n selector: 'axp-layout-list-item',\n template: `<ng-content select=\"axp-layout-content,axp-layout-prefix,axp-layout-suffix,ng-container\"></ng-content>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AXPThemeLayoutListItemComponent {\n\n}","import { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n} from '@angular/core';\n\n@Component({\n imports: [CommonModule],\n standalone: true,\n selector: 'axp-layout-section',\n template: `\n <ng-content select=\"axp-layout-header\"></ng-content>\n <ng-content select=\"axp-layout-content\"></ng-content>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AXPThemeLayoutSectionComponent {\n}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n imports: [CommonModule],\n standalone: true,\n selector: 'axp-layout-page-start-side, axp-layout-start-side',\n template: `\n <ng-content select=\"axp-layout-header\"></ng-content>\n <ng-content select=\"axp-layout-content\"></ng-content>\n <ng-content select=\"axp-layout-footer\"></ng-content>\n <ng-content></ng-content>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AXPThemeLayoutStartSideComponent {}\n\n@Component({\n imports: [CommonModule],\n standalone: true,\n selector: 'axp-layout-page-end-side, axp-layout-end-side',\n template: `\n <ng-content select=\"axp-layout-header\"></ng-content>\n <ng-content select=\"axp-layout-content\"></ng-content>\n <ng-content select=\"axp-layout-footer\"></ng-content>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AXPThemeLayoutEndSideComponent {}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n imports: [CommonModule],\n standalone: true,\n selector: 'axp-layout-toolbar',\n template: `\n <ng-content select=\"axp-layout-prefix\"></ng-content>\n <ng-content select=\"axp-layout-suffix\"></ng-content>\n <ng-content></ng-content>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\n\nexport class AXPThemeLayoutToolbarComponent {\n\n}\n\n\n","import { ChangeDetectionStrategy, Component, computed, ElementRef, inject, signal, Signal, ViewEncapsulation } from '@angular/core';\n\n@Component({\n standalone: true,\n selector: `axp-layout-container`,\n template: '<ng-content></ng-content>',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AXPThemeLayoutContainerComponent {\n\n\n protected readonly elementRef: ElementRef<HTMLDivElement> = inject(ElementRef<HTMLDivElement>);\n public readonly hostElement = this.elementRef.nativeElement;\n\n\n private _isEmptySignal = signal(this.hostElement.children.length === 0);\n public readonly isEmpty: Signal<boolean> = this._isEmptySignal.asReadonly();\n\n private mutationObserver?: MutationObserver;\n\n ngOnInit() {\n this.mutationObserver = new MutationObserver(() => {\n this._isEmptySignal.set(this.hostElement.children.length === 0);\n });\n\n this.mutationObserver.observe(this.hostElement, {\n childList: true,\n subtree: true,\n });\n }\n\n ngOnDestroy() {\n this.mutationObserver?.disconnect();\n }\n\n\n\n}\n","import { AXPContextData } from '@acorex/platform/core';\nimport { Directive, Type } from '@angular/core';\n\nexport interface AXPComponentSlotConfig {\n name: string;\n priority?: number;\n component?: Type<any>;\n condition?: ((context?: AXPContextData) => (boolean | Promise<boolean>)) | string;\n loadComponent?: () => Type<any> | Promise<Type<any>>;\n options?: { [key: string]: unknown } | (() => { [key: string]: unknown });\n}\n\nexport interface AXPComponentSlotModuleConfigs {\n [slotName: string]: AXPComponentSlotConfig[];\n}\n\n\n@Directive()\nexport abstract class AXPComponentSlot {\n host: any;\n}\n","import { Injectable, Injector } from \"@angular/core\";\nimport { AXPComponentSlotConfig } from \"./component-slot.types\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AXPComponentSlotRegistryService {\n\n private registry = new Map<string, AXPComponentSlotConfig[]>();\n\n register(slotName: string, config: AXPComponentSlotConfig) {\n let configs = this.registry.get(slotName) || [];\n\n // Check if the component is already registered in this slot\n const isDuplicate = configs.some(existingConfig => existingConfig.name === config.name);\n\n if (!isDuplicate) {\n configs = [...configs, config]; // Add the new configuration\n this.registry.set(slotName, configs);\n }\n }\n\n get(slotName: string): AXPComponentSlotConfig[] {\n return this.registry.get(slotName) || [];\n }\n}","import { computed, Directive, ElementRef, inject, Injector, input, Input, OnInit, runInInjectionContext, signal, Type, ViewContainerRef } from '@angular/core';\nimport { AXPComponentSlotRegistryService } from './component-slot-registery.service';\nimport { AXPContextData, AXPContextStore, AXPExpressionEvaluatorService } from '@acorex/platform/core';\nimport { sortBy } from 'lodash-es';\n\n@Directive({\n selector: 'axp-component-slot',\n standalone: false,\n exportAs: 'slot'\n})\nexport class AXPComponentSlotDirective implements OnInit {\n name = input.required<string>();\n host = input<any>();\n context = input<any>();\n\n private elementRef = inject(ElementRef);\n private registryService = inject(AXPComponentSlotRegistryService);\n private injector = inject(Injector);\n private evaluator = inject(AXPExpressionEvaluatorService);\n public viewContainerRef = inject(ViewContainerRef);\n public contextStore = inject(AXPContextStore);\n\n public isEmpty = computed(() => this._viewCount() === 0);\n\n // Create a signal to store the count of children\n private _viewCount = signal(0);\n\n async ngOnInit() {\n await this.loadComponents();\n // Update the signal after loading\n this._viewCount.set(this.viewContainerRef.length);\n }\n\n async loadComponents() {\n this.viewContainerRef.clear();\n const configs = sortBy(this.registryService.get(this.name()), (c) => c.priority ?? 0);\n if (!configs) {\n console.error(`No component found for slot ${this.name()}`);\n return;\n }\n const results = await Promise.all(\n configs.map(async (c) => ({\n config: c,\n visible: c.condition ? await this.evaluateCondition(c.condition) : true\n }))\n );\n const slots = results.filter(r => r.visible).map(r => r.config);\n this.viewContainerRef.clear();\n await Promise.all(slots.map(async (config) => {\n let component!: Type<any> | null | undefined;\n let options: { [key: string]: unknown } = {};\n // load component\n if (typeof config.loadComponent === 'function') {\n await runInInjectionContext(this.injector, async () => {\n component = await config.loadComponent?.();\n });\n } else if (config.component) {\n component = config.component;\n }\n // load options\n if (typeof config.options === 'function') {\n runInInjectionContext(this.injector, () => {\n const fun = config.options as Function;\n options = fun();\n });\n } else if (config.options) {\n options = config.options;\n }\n // apply options and host\n const componentRef = this.viewContainerRef.createComponent(component!);\n Object.assign(componentRef.instance, {\n host: this.host(),\n context: this.context(),\n ...options\n });\n }));\n }\n\n private async evaluateCondition(condition: string | ((context?: AXPContextData) => boolean | Promise<boolean>)) {\n if (typeof condition === 'string') {\n const result = await this.evaluator.evaluate(condition, {});\n return result;\n }\n return condition(this.contextStore.data());\n //return condition(this.context());\n }\n}","import { Inject, ModuleWithProviders, NgModule, Optional } from '@angular/core';\nimport { AXPComponentSlotModuleConfigs } from './component-slot.types';\nimport { AXPComponentSlotRegistryService } from './component-slot-registery.service';\nimport { AXPComponentSlotDirective } from './component-slot.directive';\n\n@NgModule({\n declarations: [AXPComponentSlotDirective],\n exports: [AXPComponentSlotDirective]\n})\nexport class AXPComponentSlotModule {\n\n static forRoot(configs?: AXPComponentSlotModuleConfigs): ModuleWithProviders<AXPComponentSlotModule> {\n return {\n ngModule: AXPComponentSlotModule,\n providers: [\n {\n provide: 'AXPComponentSlotModuleFactory',\n useFactory: (registry: AXPComponentSlotRegistryService) => () => {\n if (configs) {\n for (const [key, value] of Object.entries(configs)) {\n value.forEach(v => {\n registry.register(key, v);\n })\n }\n }\n },\n deps: [AXPComponentSlotRegistryService],\n multi: true\n }\n ]\n };\n }\n\n static forChild(configs?: AXPComponentSlotModuleConfigs): ModuleWithProviders<AXPComponentSlotModule> {\n return {\n ngModule: AXPComponentSlotModule,\n providers: [\n {\n provide: 'AXPComponentSlotModuleFactory',\n useFactory: (registry: AXPComponentSlotRegistryService) => () => {\n if (configs) {\n for (const [key, value] of Object.entries(configs)) {\n value.forEach(v => {\n registry.register(key, v);\n })\n }\n }\n },\n deps: [AXPComponentSlotRegistryService],\n multi: true\n }\n\n ]\n };\n }\n\n /**\n * @ignore\n */\n constructor(@Optional() @Inject('AXPComponentSlotModuleFactory') instances: any[]) {\n instances?.forEach(f => {\n f();\n });\n }\n\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@ import { resolveActionLook, AXPFilterOperatorMiddlewareService, AXPEntityCommand
8
8
  import * as i2$2 from '@acorex/platform/workflow';
9
9
  import { AXPWorkflowService, ofType, createWorkFlowEvent, AXPWorkflowAction, AXPWorkflowModule } from '@acorex/platform/workflow';
10
10
  import * as i1$4 from '@acorex/platform/core';
11
- import { AXPExpressionEvaluatorService, AXPContextStore, AXPPlatformScope, extractValue, setSmart } from '@acorex/platform/core';
11
+ import { AXPExpressionEvaluatorService, AXPPlatformScope, extractValue, setSmart } from '@acorex/platform/core';
12
12
  import * as i7 from '@acorex/platform/layout/builder';
13
13
  import { AXPPageStatus, AXPWidgetRegistryService, AXPValueWidgetComponent, AXPLayoutBuilderModule, AXPColumnWidgetComponent, AXPWidgetsCatalog, AXPWidgetGroupEnum, AXP_WIDGETS_EDITOR_CATEGORY } from '@acorex/platform/layout/builder';
14
14
  import { AXPLayoutThemeService } from '@acorex/platform/themes/shared';
@@ -671,7 +671,6 @@ class AXPEntityMasterListViewModel {
671
671
  this.settings = this.injector.get(AXPSettingService);
672
672
  this.widgetResolver = this.injector.get(AXPWidgetRegistryService);
673
673
  this.expressionEvaluator = this.injector.get(AXPExpressionEvaluatorService);
674
- this.pageContext = this.injector.get(AXPContextStore);
675
674
  this.filterOperatorMiddleware = this.injector.get(AXPFilterOperatorMiddlewareService);
676
675
  this.settingEntityKey = `${this.config.module}:${this.config.name}`;
677
676
  this.destroyed = new Subject();
@@ -731,16 +730,6 @@ class AXPEntityMasterListViewModel {
731
730
  const list = this.entityDef.interfaces?.master?.list?.actions ?? [];
732
731
  return list.map((tr) => new AXPEntityCommandTriggerViewModel(this.entityDef, tr)) ?? [];
733
732
  });
734
- this.primaryActions = computed(() => {
735
- return this.allActions().filter((a) => a.priority == 'primary' &&
736
- ((a.scope == AXPEntityCommandScope.Selected && this.hasSelectedItems()) ||
737
- (a.scope == AXPEntityCommandScope.TypeLevel && !this.hasSelectedItems())));
738
- });
739
- this.secondaryActions = computed(() => {
740
- return this.allActions().filter((a) => a.priority == 'secondary' &&
741
- ((a.scope == AXPEntityCommandScope.Selected && this.hasSelectedItems()) ||
742
- (a.scope == AXPEntityCommandScope.TypeLevel && !this.hasSelectedItems())));
743
- });
744
733
  this.selectedScopeActionsCount = computed(() => {
745
734
  return this.allActions().filter((a) => a.scope == AXPEntityCommandScope.Selected).length;
746
735
  });
@@ -876,12 +865,7 @@ class AXPEntityMasterListViewModel {
876
865
  this.selectedItems.set([]);
877
866
  }
878
867
  async getPrimaryActions() {
879
- console.log('getPrimaryActions', this.pageContext.data());
880
- const scope = {
881
- context: {
882
- eval: (path) => get(this.pageContext.data(), path),
883
- },
884
- };
868
+ const scope = {};
885
869
  const actions = await Promise.all(this.allActions()
886
870
  .filter((a) => a.priority == 'primary' &&
887
871
  ((a.scope == AXPEntityCommandScope.Selected && this.hasSelectedItems()) ||
@@ -895,9 +879,21 @@ class AXPEntityMasterListViewModel {
895
879
  }));
896
880
  return actions;
897
881
  }
898
- // public secondaryRowActions = computed<AXPEntityCommandTriggerViewModel[]>(() =>
899
- // this.allActions().filter((a) => a.scope == AXPEntityCommandScope.Individual && a.priority === 'secondary')
900
- // );
882
+ async getSecondaryActions() {
883
+ const scope = {};
884
+ const actions = await Promise.all(this.allActions()
885
+ .filter((a) => a.priority == 'secondary' &&
886
+ ((a.scope == AXPEntityCommandScope.Selected && this.hasSelectedItems()) ||
887
+ (a.scope == AXPEntityCommandScope.TypeLevel && !this.hasSelectedItems())))
888
+ .map(async (a) => {
889
+ const isHidden = await this.expressionEvaluator.evaluate(a.hidden, scope);
890
+ if (isHidden)
891
+ return null;
892
+ const disabled = await this.expressionEvaluator.evaluate(a.disabled, scope);
893
+ return { ...a, disabled };
894
+ }));
895
+ return actions;
896
+ }
901
897
  async secondaryRowActions(rowData) {
902
898
  const scope = {
903
899
  context: {