@acorex/modules 19.4.9 → 19.4.11

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 (64) hide show
  1. package/content-management/README.md +3 -0
  2. package/content-management/index.d.ts +6 -0
  3. package/content-management/lib/const.d.ts +19 -0
  4. package/content-management/lib/content-management.module.d.ts +7 -0
  5. package/content-management/lib/entity.provider.d.ts +10 -0
  6. package/content-management/lib/menu.provider.d.ts +5 -0
  7. package/content-management/lib/permission-definition.provider.d.ts +4 -0
  8. package/content-management/lib/search-command.provider.d.ts +4 -0
  9. package/content-management/lib/setting.provider.d.ts +4 -0
  10. package/document-management/lib/features/shared/document-manager.service.d.ts +3 -0
  11. package/fesm2022/acorex-modules-content-management-acorex-modules-content-management-C23PlUCn.mjs +392 -0
  12. package/fesm2022/acorex-modules-content-management-acorex-modules-content-management-C23PlUCn.mjs.map +1 -0
  13. package/fesm2022/acorex-modules-content-management-promotion.entity-D3qRwZhQ.mjs +892 -0
  14. package/fesm2022/acorex-modules-content-management-promotion.entity-D3qRwZhQ.mjs.map +1 -0
  15. package/fesm2022/acorex-modules-content-management.mjs +2 -0
  16. package/fesm2022/acorex-modules-content-management.mjs.map +1 -0
  17. package/fesm2022/{acorex-modules-document-management-acorex-modules-document-management-BATdoqJi.mjs → acorex-modules-document-management-acorex-modules-document-management-_tXLNsja.mjs} +86 -43
  18. package/fesm2022/acorex-modules-document-management-acorex-modules-document-management-_tXLNsja.mjs.map +1 -0
  19. package/fesm2022/{acorex-modules-document-management-attachment-widget.component-C1-gQepw.mjs → acorex-modules-document-management-attachment-widget.component-BVOXu-Jt.mjs} +2 -2
  20. package/fesm2022/{acorex-modules-document-management-attachment-widget.component-C1-gQepw.mjs.map → acorex-modules-document-management-attachment-widget.component-BVOXu-Jt.mjs.map} +1 -1
  21. package/fesm2022/{acorex-modules-document-management-create-folder-dialog.component-ZMvsadWt.mjs → acorex-modules-document-management-create-folder-dialog.component-DRj1LyK3.mjs} +2 -2
  22. package/fesm2022/{acorex-modules-document-management-create-folder-dialog.component-ZMvsadWt.mjs.map → acorex-modules-document-management-create-folder-dialog.component-DRj1LyK3.mjs.map} +1 -1
  23. package/fesm2022/{acorex-modules-document-management-details-view.component-CvHIETNf.mjs → acorex-modules-document-management-details-view.component-llMxeeFn.mjs} +2 -2
  24. package/fesm2022/{acorex-modules-document-management-details-view.component-CvHIETNf.mjs.map → acorex-modules-document-management-details-view.component-llMxeeFn.mjs.map} +1 -1
  25. package/fesm2022/{acorex-modules-document-management-drive-choose.component-UTy9OISj.mjs → acorex-modules-document-management-drive-choose.component-DDepk8Hb.mjs} +2 -2
  26. package/fesm2022/{acorex-modules-document-management-drive-choose.component-UTy9OISj.mjs.map → acorex-modules-document-management-drive-choose.component-DDepk8Hb.mjs.map} +1 -1
  27. package/fesm2022/{acorex-modules-document-management-drive.component-Crh10Z5J.mjs → acorex-modules-document-management-drive.component-BQ2w-PZw.mjs} +3 -2
  28. package/fesm2022/acorex-modules-document-management-drive.component-BQ2w-PZw.mjs.map +1 -0
  29. package/fesm2022/{acorex-modules-document-management-large-icons-view.component-BuV7MPG5.mjs → acorex-modules-document-management-large-icons-view.component-9Q0LX8M-.mjs} +2 -2
  30. package/fesm2022/{acorex-modules-document-management-large-icons-view.component-BuV7MPG5.mjs.map → acorex-modules-document-management-large-icons-view.component-9Q0LX8M-.mjs.map} +1 -1
  31. package/fesm2022/{acorex-modules-document-management-large-tiles-view.component-CwYwVxoG.mjs → acorex-modules-document-management-large-tiles-view.component-CyqKSkZY.mjs} +2 -2
  32. package/fesm2022/{acorex-modules-document-management-large-tiles-view.component-CwYwVxoG.mjs.map → acorex-modules-document-management-large-tiles-view.component-CyqKSkZY.mjs.map} +1 -1
  33. package/fesm2022/{acorex-modules-document-management-list-view.component-BHEwRA3m.mjs → acorex-modules-document-management-list-view.component-CpXtdrMZ.mjs} +2 -2
  34. package/fesm2022/{acorex-modules-document-management-list-view.component-BHEwRA3m.mjs.map → acorex-modules-document-management-list-view.component-CpXtdrMZ.mjs.map} +1 -1
  35. package/fesm2022/{acorex-modules-document-management-permission-definition.provider-B3qaYwRL.mjs → acorex-modules-document-management-permission-definition.provider-DZni4b4s.mjs} +2 -2
  36. package/fesm2022/{acorex-modules-document-management-permission-definition.provider-B3qaYwRL.mjs.map → acorex-modules-document-management-permission-definition.provider-DZni4b4s.mjs.map} +1 -1
  37. package/fesm2022/{acorex-modules-document-management-rename-node-dialog.component-CrcJm9jP.mjs → acorex-modules-document-management-rename-node-dialog.component-hcrBZ7h2.mjs} +2 -2
  38. package/fesm2022/{acorex-modules-document-management-rename-node-dialog.component-CrcJm9jP.mjs.map → acorex-modules-document-management-rename-node-dialog.component-hcrBZ7h2.mjs.map} +1 -1
  39. package/fesm2022/{acorex-modules-document-management-small-icons-view.component-CD5UORaq.mjs → acorex-modules-document-management-small-icons-view.component-y9M40s9q.mjs} +2 -2
  40. package/fesm2022/{acorex-modules-document-management-small-icons-view.component-CD5UORaq.mjs.map → acorex-modules-document-management-small-icons-view.component-y9M40s9q.mjs.map} +1 -1
  41. package/fesm2022/{acorex-modules-document-management-small-tiles-view.component-cpc_xfbT.mjs → acorex-modules-document-management-small-tiles-view.component-Ck8m3hZE.mjs} +2 -2
  42. package/fesm2022/{acorex-modules-document-management-small-tiles-view.component-cpc_xfbT.mjs.map → acorex-modules-document-management-small-tiles-view.component-Ck8m3hZE.mjs.map} +1 -1
  43. package/fesm2022/acorex-modules-document-management.mjs +1 -1
  44. package/fesm2022/{acorex-modules-platform-management-acorex-modules-platform-management-DtXOjIIK.mjs → acorex-modules-platform-management-acorex-modules-platform-management-B8aACrqL.mjs} +229 -1226
  45. package/fesm2022/acorex-modules-platform-management-acorex-modules-platform-management-B8aACrqL.mjs.map +1 -0
  46. package/fesm2022/{acorex-modules-platform-management-list-version.component-DY4yMd8n.mjs → acorex-modules-platform-management-list-version.component-DhSicYd3.mjs} +2 -2
  47. package/fesm2022/{acorex-modules-platform-management-list-version.component-DY4yMd8n.mjs.map → acorex-modules-platform-management-list-version.component-DhSicYd3.mjs.map} +1 -1
  48. package/fesm2022/{acorex-modules-platform-management-settings.provider-BO-1dmVc.mjs → acorex-modules-platform-management-settings.provider-CnGAUpof.mjs} +2 -2
  49. package/fesm2022/{acorex-modules-platform-management-settings.provider-BO-1dmVc.mjs.map → acorex-modules-platform-management-settings.provider-CnGAUpof.mjs.map} +1 -1
  50. package/fesm2022/acorex-modules-platform-management.mjs +1 -1
  51. package/package.json +5 -1
  52. package/platform-management/lib/const.d.ts +0 -6
  53. package/platform-management/lib/entities/data-source/data-source.types.d.ts +1 -2
  54. package/platform-management/lib/entities/index.d.ts +0 -1
  55. package/fesm2022/acorex-modules-document-management-acorex-modules-document-management-BATdoqJi.mjs.map +0 -1
  56. package/fesm2022/acorex-modules-document-management-drive.component-Crh10Z5J.mjs.map +0 -1
  57. package/fesm2022/acorex-modules-platform-management-acorex-modules-platform-management-DtXOjIIK.mjs.map +0 -1
  58. package/platform-management/lib/entities/promotion/index.d.ts +0 -4
  59. package/platform-management/lib/features/promotion/components/index.d.ts +0 -1
  60. /package/{platform-management → content-management}/lib/entities/promotion/promotion.datasource.d.ts +0 -0
  61. /package/{platform-management → content-management}/lib/entities/promotion/promotion.entity.d.ts +0 -0
  62. /package/{platform-management → content-management}/lib/entities/promotion/promotion.service.d.ts +0 -0
  63. /package/{platform-management → content-management}/lib/entities/promotion/promotion.types.d.ts +0 -0
  64. /package/{platform-management → content-management}/lib/features/promotion/components/promotion-slot/promotion-slot.component.d.ts +0 -0
@@ -1,4 +1,4 @@
1
- import { createAllQueryView, AXPEntityCommandScope, AXPEntityQueryType, AXPSettingService, AXP_APP_VERSION_PROVIDER, createQueryView, AXPFileStorageService, AXPRegionalService, AXP_SETTING_DEFINITION_PROVIDER, AXP_MENU_PROVIDER } from '@acorex/platform/common';
1
+ import { createAllQueryView, AXPEntityCommandScope, AXPEntityQueryType, AXPSettingService, AXP_APP_VERSION_PROVIDER, createQueryView, AXPRegionalService, AXP_SETTING_DEFINITION_PROVIDER, AXP_MENU_PROVIDER } from '@acorex/platform/common';
2
2
  import * as i2$2 from '@acorex/platform/layout/components';
3
3
  import { AXPThemeLayoutBlockComponent, AXPComponentSlotModule } from '@acorex/platform/layout/components';
4
4
  import { AXMEntityCrudServiceImpl, AXPEntityDefinitionRegistryService, AXPEntityResolver, AXPEntityService, AXP_ENTITY_CONFIG_TOKEN, AXP_ENTITY_DEFINITION_LOADER } from '@acorex/platform/layout/entity';
@@ -24,7 +24,7 @@ import { CommonModule } from '@angular/common';
24
24
  import { AXSafePipe } from '@acorex/core/pipes';
25
25
  import { AXPopupService } from '@acorex/components/popup';
26
26
  import * as i1$2 from '@acorex/platform/core';
27
- import { AXPPlatformScope, AXPDataSourceDefinitionProviderService, applyQueryArray, AXPAppStartUpService, objectKeyValueTransforms, AXP_DATASOURCE_DEFINITION_PROVIDER } from '@acorex/platform/core';
27
+ import { AXPPlatformScope, AXPDataSourceDefinitionProviderService, applyQueryArray, AXPAppStartUpService, objectKeyValueTransforms } from '@acorex/platform/core';
28
28
  import * as i3$1 from '@acorex/components/button';
29
29
  import { AXButtonModule } from '@acorex/components/button';
30
30
  import * as i3 from '@acorex/components/check-box';
@@ -89,12 +89,6 @@ const RootConfig = {
89
89
  pageDescription: `t("app-term.page-description", {scope:"${config.i18n}"})`,
90
90
  icon: 'fa-light fa-scale-balanced',
91
91
  },
92
- promotion: {
93
- name: 'promotion',
94
- title: `t("promotion", {scope:"${config.i18n}"})`,
95
- titlePlural: `t("promotionPlural", {scope:"${config.i18n}"})`,
96
- icon: 'fa-light fa-billboard',
97
- },
98
92
  dataSource: {
99
93
  name: 'DataSource',
100
94
  title: `t("dataSource", {scope:"${config.i18n}"})`,
@@ -1680,10 +1674,10 @@ async function dataSourceEntityFactory(injector) {
1680
1674
  },
1681
1675
  },
1682
1676
  validations: [
1683
- {
1684
- rule: 'required',
1685
- disabled: "{{ context.eval('sourceType')?.name != 'entity' }}",
1686
- },
1677
+ // {
1678
+ // rule: 'required',
1679
+ // disabled: "{{ context.eval('sourceType')?.name != 'entity' }}",
1680
+ // },
1687
1681
  ],
1688
1682
  },
1689
1683
  {
@@ -3064,6 +3058,16 @@ async function metaDataDefinitionFactory(injector) {
3064
3058
  },
3065
3059
  },
3066
3060
  },
3061
+ {
3062
+ name: 'description',
3063
+ layout: {
3064
+ positions: {
3065
+ lg: {
3066
+ colSpan: 12,
3067
+ },
3068
+ },
3069
+ },
3070
+ },
3067
3071
  {
3068
3072
  name: 'categoryIds',
3069
3073
  layout: {
@@ -3113,6 +3117,16 @@ async function metaDataDefinitionFactory(injector) {
3113
3117
  },
3114
3118
  },
3115
3119
  },
3120
+ {
3121
+ name: 'description',
3122
+ layout: {
3123
+ positions: {
3124
+ lg: {
3125
+ colSpan: 12,
3126
+ },
3127
+ },
3128
+ },
3129
+ },
3116
3130
  {
3117
3131
  name: 'categoryIds',
3118
3132
  layout: {
@@ -3170,6 +3184,16 @@ async function metaDataDefinitionFactory(injector) {
3170
3184
  },
3171
3185
  },
3172
3186
  },
3187
+ {
3188
+ name: 'description',
3189
+ layout: {
3190
+ positions: {
3191
+ lg: {
3192
+ colSpan: 12,
3193
+ },
3194
+ },
3195
+ },
3196
+ },
3173
3197
  {
3174
3198
  name: 'categoryIds',
3175
3199
  dataPath: 'categories',
@@ -3500,1108 +3524,175 @@ async function metaDataDefinitionCategoryEntityFactory(injector) {
3500
3524
  // };
3501
3525
  // }
3502
3526
 
3503
- class AXMAppPromotionService extends AXMEntityCrudServiceImpl {
3504
- }
3505
- class AXMPromotionServiceImpl extends AXMEntityCrudServiceImpl {
3506
- constructor() {
3507
- super(`${RootConfig.module.name}.${RootConfig.entities.promotion.name}`);
3508
- }
3509
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXMPromotionServiceImpl, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
3510
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXMPromotionServiceImpl }); }
3511
- }
3512
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXMPromotionServiceImpl, decorators: [{
3513
- type: Injectable
3514
- }], ctorParameters: () => [] });
3527
+ var index = /*#__PURE__*/Object.freeze({
3528
+ __proto__: null,
3529
+ AXMAppTermService: AXMAppTermService,
3530
+ AXMAppTermServiceImpl: AXMAppTermServiceImpl,
3531
+ AXMAppVersionService: AXMAppVersionService,
3532
+ AXMAppVersionServiceImpl: AXMAppVersionServiceImpl,
3533
+ AXMAppVersionSlotComponent: AXMAppVersionSlotComponent,
3534
+ AXMChangeLogPopupAction: AXMChangeLogPopupAction,
3535
+ AXMChangeLogUpdateSettingAction: AXMChangeLogUpdateSettingAction,
3536
+ AXMCheckNewVersionAction: AXMCheckNewVersionAction,
3537
+ AXMCheckNewVersionWorkflow: AXMCheckNewVersionWorkflow,
3538
+ AXMDataSourceService: AXMDataSourceService,
3539
+ AXMDataSourceServiceImpl: AXMDataSourceServiceImpl,
3540
+ AXMGlobalVariablesService: AXMGlobalVariablesService,
3541
+ AXMGlobalVariablesServiceImpl: AXMGlobalVariablesServiceImpl,
3542
+ AXMGlossaryService: AXMGlossaryService,
3543
+ AXMGlossaryServiceImpl: AXMGlossaryServiceImpl,
3544
+ AXMListTermsComponent: AXMListTermsComponent,
3545
+ AXMMetaDataDefinitionCategoryService: AXMMetaDataDefinitionCategoryService,
3546
+ AXMMetaDataDefinitionCategoryServiceImpl: AXMMetaDataDefinitionCategoryServiceImpl,
3547
+ AXMMetaDataDefinitionService: AXMMetaDataDefinitionService,
3548
+ AXMNewTermWorkflow: AXMNewTermWorkflow,
3549
+ AXMNotifyAppComponent: AXMNotifyAppComponent,
3550
+ AXMNotifyNewTermPopupAction: AXMNotifyNewTermPopupAction,
3551
+ AXMPMetaDataDefinitionServiceImpl: AXMPMetaDataDefinitionServiceImpl,
3552
+ AXMTermUpdateSettingAction: AXMTermUpdateSettingAction,
3553
+ AXMWhatsNewWorkflow: AXMWhatsNewWorkflow,
3554
+ appTermEntityEntityFactory: appTermEntityEntityFactory,
3555
+ appVersionEntityEntityFactory: appVersionEntityEntityFactory,
3556
+ dataSourceEntityFactory: dataSourceEntityFactory,
3557
+ globalVariableEntityFactory: globalVariableEntityFactory,
3558
+ glossaryEntityFactory: glossaryEntityFactory,
3559
+ metaDataDefinitionCategoryEntityFactory: metaDataDefinitionCategoryEntityFactory,
3560
+ metaDataDefinitionFactory: metaDataDefinitionFactory
3561
+ });
3562
+
3563
+ const path = 'regional:';
3564
+ var AXPRegionalSetting;
3565
+ (function (AXPRegionalSetting) {
3566
+ AXPRegionalSetting["LocaleProfile"] = "regional:locale-profile";
3567
+ AXPRegionalSetting["TimeZone"] = "regional:timezone";
3568
+ AXPRegionalSetting["Language"] = "regional:language";
3569
+ AXPRegionalSetting["Country"] = "regional:country";
3570
+ AXPRegionalSetting["Calendar"] = "regional:calendar";
3571
+ AXPRegionalSetting["FirstDayOfWeek"] = "regional:first-day-of-week";
3572
+ AXPRegionalSetting["WeekendDays"] = "regional:weekend-days";
3573
+ AXPRegionalSetting["ShortDate"] = "regional:short-date";
3574
+ AXPRegionalSetting["LongDate"] = "regional:long-date";
3575
+ AXPRegionalSetting["ShortTime"] = "regional:short-time";
3576
+ AXPRegionalSetting["LongTime"] = "regional:long-time";
3577
+ AXPRegionalSetting["MeasurementUnits"] = "regional:measurement-units";
3578
+ AXPRegionalSetting["TemperatureUnits"] = "regional:temperature-units";
3579
+ AXPRegionalSetting["DistanceUnits"] = "regional:distance-units";
3580
+ AXPRegionalSetting["WeightUnits"] = "regional:weight-units";
3581
+ AXPRegionalSetting["VolumeUnits"] = "regional:volume-units";
3582
+ AXPRegionalSetting["SpeedUnits"] = "regional:speed-units";
3583
+ AXPRegionalSetting["AreaUnits"] = "regional:area-units";
3584
+ })(AXPRegionalSetting || (AXPRegionalSetting = {}));
3585
+
3586
+ // Regional Store - Manages regional settings and system changes
3587
+ const AXPRegionalStoreService = signalStore({ providedIn: 'root' },
3588
+ // Initial State
3589
+ withState((localeService = inject(AXLocaleService)) => {
3590
+ const state = {
3591
+ profile: localeService.activeProfile().localeInfo.code,
3592
+ language: localeService.activeProfile().localeInfo.language,
3593
+ calendar: localeService.activeProfile().calendar.system,
3594
+ };
3595
+ return state;
3596
+ }),
3597
+ // Computed Signals
3598
+ // withComputed(({ }) => ({
3599
+ // })),
3600
+ // Methods for State Management
3601
+ withMethods((store, settingService = inject(AXPSettingService), localeService = inject(AXLocaleService), calendarService = inject(AXCalendarService), translateService = inject(AXTranslationService)) => {
3602
+ const applyChanges = async () => {
3603
+ const profile = localeService.activeProfile();
3604
+ const html = document.getElementsByTagName('html')[0];
3605
+ profile.i18nMeta?.rtl ? html.setAttribute('dir', 'rtl') : html.removeAttribute('dir');
3606
+ };
3607
+ return {
3608
+ async changeProfile(profileCode) {
3609
+ await localeService.setProfile(profileCode);
3610
+ const profile = localeService.activeProfile();
3611
+ //
3612
+ if (store.profile() != profile.localeInfo.code) {
3613
+ settingService.scope(AXPPlatformScope.User).set(AXPRegionalSetting.LocaleProfile, profile.localeInfo.code);
3614
+ settingService.scope(AXPPlatformScope.User).set(AXPRegionalSetting.Language, profile.localeInfo.code);
3615
+ patchState(store, { profile: profile.localeInfo.code });
3616
+ }
3617
+ //
3618
+ await applyChanges();
3619
+ },
3620
+ async loadSetting() {
3621
+ const profileCode = (await settingService.scope(AXPPlatformScope.User).get(AXPRegionalSetting.LocaleProfile));
3622
+ patchState(store, { profile: profileCode });
3623
+ await localeService.setProfile(profileCode);
3624
+ //
3625
+ // delay to ensure the profile is set and override the default
3626
+ setTimeout(async () => {
3627
+ const calendar = (await settingService.scope(AXPPlatformScope.User).get(AXPRegionalSetting.Calendar));
3628
+ patchState(store, { calendar: calendar });
3629
+ calendarService.setActiveCalendar(calendar);
3630
+ //
3631
+ const language = (await settingService.scope(AXPPlatformScope.User).get(AXPRegionalSetting.Language));
3632
+ patchState(store, { language: language });
3633
+ translateService.setActiveLang(language);
3634
+ //
3635
+ await applyChanges();
3636
+ });
3637
+ //
3638
+ },
3639
+ };
3640
+ }), withHooks((store, settingService = inject(AXPSettingService), translateService = inject(AXTranslationService)) => ({
3641
+ onInit() {
3642
+ settingService.onChanged.subscribe(async (setting) => {
3643
+ const keys = [
3644
+ AXPRegionalSetting.LocaleProfile,
3645
+ AXPRegionalSetting.Language,
3646
+ AXPRegionalSetting.Calendar
3647
+ ];
3648
+ //
3649
+ if (keys.some(k => setting.keys.includes(k))) {
3650
+ await store.loadSetting();
3651
+ }
3652
+ });
3653
+ },
3654
+ onDestroy() { },
3655
+ })));
3515
3656
 
3516
- class AXMPromotionSlotComponent {
3657
+ class AXMLanguageSlotComponent {
3517
3658
  constructor() {
3518
- this.notificationChannelService = inject(AXMAppPromotionService);
3519
- this.listData = signal([]);
3520
- this.fileStorage = inject(AXPFileStorageService);
3659
+ this.regionalService = inject(AXPRegionalService);
3660
+ this.store = inject(AXPRegionalStoreService);
3661
+ this.items = signal([]);
3521
3662
  }
3522
3663
  async ngOnInit() {
3523
- const channels = await this.notificationChannelService.query({
3524
- skip: 0,
3525
- take: 10000,
3526
- // filter: {
3527
- // field: 'type',
3528
- // operator: { type: 'equal' },
3529
- // value: 'promotion',
3530
- // },
3531
- });
3532
- const filteredItems = channels.items.filter((x) => x.placement?.name == this.location);
3533
- const mappedItems = await Promise.all(filteredItems.map(async (item) => {
3534
- if (item.imageId != null) {
3535
- const image = await this.fileStorage.getInfo(item.imageId);
3536
- return {
3537
- ...item,
3538
- image: image,
3539
- };
3540
- }
3541
- else {
3542
- return item;
3543
- }
3544
- }));
3545
- this.listData.set(mappedItems);
3664
+ const items = await this.regionalService.getLocaleProfiles();
3665
+ this.items.set(items);
3546
3666
  }
3547
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXMPromotionSlotComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3548
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: AXMPromotionSlotComponent, isStandalone: true, selector: "acorex-platform-promotion-slot", ngImport: i0, template: "@for (item of listData(); track item.id) { @if (item.contentType?.name == 'media') {\n<img [src]=\"item.image?.url ?? ''\" class=\"ax-w-full ax-p-3 ax-border {{\n item.shape?.name == 'circle' ? 'ax-rounded-full' : 'ax-rounded-none'\n }}\" />\n} @if(item.contentType?.name == 'text'){\n<div class=\"ax-m-1 ax-px-6 ax-p-4 ax-border ax-bg-primary ax-rounded-lg\">\n <h1 class=\"ax-text-base/6\" [innerHTML]=\"item.body | safe : 'html'\"></h1>\n</div>\n\n} }\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: AXSafePipe, name: "safe" }] }); }
3667
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXMLanguageSlotComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3668
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: AXMLanguageSlotComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: "<ax-button color=\"primary\">\n <ax-icon class=\"fa-regular fa-globe\"> </ax-icon>\n <ax-dropdown-panel>\n <ax-button-item-list>\n @for(lang of items(); track lang){\n <ax-button-item\n [text]=\"lang.title\"\n [selected]=\"store.profile() === lang.code\"\n (onClick)=\"store.changeProfile(lang.code)\"\n >\n <ax-prefix>\n <ax-icon icon=\"fa-solid fa-flag\"> </ax-icon>\n </ax-prefix>\n </ax-button-item>\n }\n </ax-button-item-list>\n </ax-dropdown-panel>\n</ax-button>\n", dependencies: [{ kind: "ngmodule", type: AXDropdownModule }, { kind: "component", type: i1$1.AXDropdownPanelComponent, selector: "ax-dropdown-panel", inputs: ["isOpen", "fitParent", "dropdownWidth", "position", "placement", "_target", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i4$1.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i4$1.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXPopoverModule }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i3$1.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "component", type: i3$1.AXButtonItemComponent, selector: "ax-button-item", inputs: ["color", "disabled", "text", "selected", "divided", "data", "name"], outputs: ["onClick", "onFocus", "onBlur", "disabledChange"] }, { kind: "component", type: i3$1.AXButtonItemListComponent, selector: "ax-button-item-list", inputs: ["items"], outputs: ["onItemClick"] }, { kind: "ngmodule", type: CommonModule }] }); }
3549
3669
  }
3550
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXMPromotionSlotComponent, decorators: [{
3670
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXMLanguageSlotComponent, decorators: [{
3551
3671
  type: Component,
3552
- args: [{ selector: 'acorex-platform-promotion-slot', imports: [CommonModule, AXSafePipe], template: "@for (item of listData(); track item.id) { @if (item.contentType?.name == 'media') {\n<img [src]=\"item.image?.url ?? ''\" class=\"ax-w-full ax-p-3 ax-border {{\n item.shape?.name == 'circle' ? 'ax-rounded-full' : 'ax-rounded-none'\n }}\" />\n} @if(item.contentType?.name == 'text'){\n<div class=\"ax-m-1 ax-px-6 ax-p-4 ax-border ax-bg-primary ax-rounded-lg\">\n <h1 class=\"ax-text-base/6\" [innerHTML]=\"item.body | safe : 'html'\"></h1>\n</div>\n\n} }\n" }]
3672
+ args: [{ imports: [AXDropdownModule, AXDecoratorModule, AXPopoverModule, AXButtonModule, CommonModule], template: "<ax-button color=\"primary\">\n <ax-icon class=\"fa-regular fa-globe\"> </ax-icon>\n <ax-dropdown-panel>\n <ax-button-item-list>\n @for(lang of items(); track lang){\n <ax-button-item\n [text]=\"lang.title\"\n [selected]=\"store.profile() === lang.code\"\n (onClick)=\"store.changeProfile(lang.code)\"\n >\n <ax-prefix>\n <ax-icon icon=\"fa-solid fa-flag\"> </ax-icon>\n </ax-prefix>\n </ax-button-item>\n }\n </ax-button-item-list>\n </ax-dropdown-panel>\n</ax-button>\n" }]
3553
3673
  }] });
3554
3674
 
3555
- /**
3556
- * Deeply sanitizes an object for storage in IndexedDB by removing non-serializable content
3557
- */
3558
- function sanitizeForStorage(obj) {
3559
- if (!obj) {
3560
- return obj;
3561
- }
3562
- // Handle primitive values
3563
- if (typeof obj !== 'object') {
3564
- return obj;
3565
- }
3566
- // Handle arrays
3567
- if (Array.isArray(obj)) {
3568
- return obj.map(item => sanitizeForStorage(item));
3569
- }
3570
- // Handle Date objects
3571
- if (obj instanceof Date) {
3572
- return obj;
3573
- }
3574
- // Handle File objects specially
3575
- if (obj instanceof File) {
3576
- // File objects are handled separately, return as is
3577
- return obj;
3578
- }
3579
- // Handle Blob objects
3580
- if (obj instanceof Blob) {
3581
- // Blob objects are handled separately
3582
- return obj;
3583
- }
3584
- // Handle regular objects
3585
- const cleanedObj = {};
3586
- for (const [key, value] of Object.entries(obj)) {
3587
- // Skip functions, symbols and other non-serializable types
3588
- if (typeof value === 'function' || typeof value === 'symbol') {
3589
- continue;
3590
- }
3591
- // Handle null values
3592
- if (value === null) {
3593
- cleanedObj[key] = null;
3594
- continue;
3595
- }
3596
- // Recursively sanitize objects
3597
- if (typeof value === 'object') {
3598
- cleanedObj[key] = sanitizeForStorage(value);
3599
- }
3600
- else {
3601
- cleanedObj[key] = value;
3602
- }
3603
- }
3604
- return cleanedObj;
3605
- }
3606
- async function promotionEntityFactory(injector) {
3607
- const dataService = injector.get(AXMAppPromotionService);
3608
- const i18n = RootConfig.config.i18n;
3609
- const entityDef = {
3610
- module: RootConfig.module.name,
3611
- name: RootConfig.entities.promotion.name,
3612
- source: '',
3613
- title: RootConfig.entities.promotion.title,
3614
- formats: {
3615
- individual: RootConfig.entities.promotion.title,
3616
- plural: RootConfig.entities.promotion.titlePlural,
3617
- searchResult: {
3618
- title: '{{ title }}',
3619
- description: RootConfig.module.title,
3620
- },
3621
- },
3622
- relatedEntities: [],
3623
- groups: [
3624
- {
3625
- id: 'promotion',
3626
- title: 'Promotion',
3627
- },
3628
- ],
3629
- properties: [
3630
- {
3631
- name: 'id',
3632
- title: 'ID',
3633
- schema: {
3634
- dataType: 'uuid',
3635
- hidden: true,
3636
- nullable: false,
3637
- readonly: true,
3638
- unique: {
3639
- enabled: true,
3640
- },
3675
+ class AXPRegionalWidgetDataSourceProvider {
3676
+ constructor() {
3677
+ this.regionalService = inject(AXPRegionalService);
3678
+ //#region Country
3679
+ this.country = {
3680
+ name: 'countries',
3681
+ title: 'Countries',
3682
+ textField: 'title',
3683
+ valueField: 'code',
3684
+ columns: [
3685
+ {
3686
+ name: 'code',
3687
+ title: 'Code',
3641
3688
  },
3642
- options: {
3643
- sort: {
3644
- enabled: true,
3645
- },
3689
+ {
3690
+ name: 'title',
3691
+ title: 'Title',
3646
3692
  },
3647
- },
3648
- {
3649
- name: 'title',
3650
- title: `t("title", { scope: "common" })`,
3651
- groupId: 'promotion',
3652
- schema: {
3653
- dataType: 'string',
3654
- interface: {
3655
- type: AXPWidgetsCatalog.text,
3656
- },
3657
- },
3658
- options: {
3659
- sort: {
3660
- enabled: true,
3661
- },
3662
- filter: {
3663
- advance: {
3664
- enabled: true,
3665
- },
3666
- inline: {
3667
- enabled: true,
3668
- },
3669
- },
3670
- },
3671
- validations: [
3672
- {
3673
- rule: 'required',
3674
- },
3675
- ],
3676
- },
3677
- {
3678
- name: 'body',
3679
- title: `t("body", { scope: "${i18n}" })`,
3680
- groupId: 'promotion',
3681
- schema: {
3682
- dataType: 'string',
3683
- interface: {
3684
- type: AXPWidgetsCatalog.richText,
3685
- },
3686
- },
3687
- validations: [
3688
- {
3689
- rule: 'required',
3690
- },
3691
- ],
3692
- },
3693
- {
3694
- name: 'imageId',
3695
- title: `t("Gallery", { scope: "${i18n}" })`,
3696
- groupId: 'promotion',
3697
- schema: {
3698
- dataType: 'string',
3699
- interface: {
3700
- type: AXPWidgetsCatalog.fileUploader,
3701
- options: {
3702
- multiple: false,
3703
- },
3704
- },
3705
- },
3706
- },
3707
- {
3708
- name: 'contentType',
3709
- title: `t("contentType", { scope: "${i18n}" })`,
3710
- groupId: 'promotion',
3711
- schema: {
3712
- dataType: 'string',
3713
- interface: {
3714
- type: AXPWidgetsCatalog.select,
3715
- options: {
3716
- valueField: 'name',
3717
- textField: 'title',
3718
- dataSource: [
3719
- { title: 'Media', name: 'media' },
3720
- { title: 'Text', name: 'text' },
3721
- ],
3722
- direction: 'horizontal',
3723
- multiple: false,
3724
- },
3725
- },
3726
- },
3727
- options: {
3728
- sort: {
3729
- enabled: true,
3730
- },
3731
- filter: {
3732
- advance: {
3733
- enabled: true,
3734
- },
3735
- },
3736
- },
3737
- validations: [
3738
- {
3739
- rule: 'required',
3740
- },
3741
- ],
3742
- },
3743
- // {
3744
- // name: 'shape',
3745
- // title: `t("shape", { scope: "${i18n}" })`,
3746
- // groupId: 'promotion',
3747
- // schema: {
3748
- // dataType: 'string',
3749
- // interface: {
3750
- // type: AXPWidgetsCatalog.select,
3751
- // options: {
3752
- // valueField: 'name',
3753
- // textField: 'title',
3754
- // dataSource: [
3755
- // { title: 'Circle', name: 'circle' },
3756
- // { title: 'Square', name: 'square' },
3757
- // ],
3758
- // direction: 'horizontal',
3759
- // multiple: false,
3760
- // accept: '',
3761
- // },
3762
- // },
3763
- // },
3764
- // validations: [
3765
- // {
3766
- // rule: 'required',
3767
- // },
3768
- // ],
3769
- // },
3770
- {
3771
- name: 'placement',
3772
- title: `t("placement", { scope: "${i18n}" })`,
3773
- groupId: 'promotion',
3774
- schema: {
3775
- dataType: 'string',
3776
- interface: {
3777
- type: AXPWidgetsCatalog.select,
3778
- options: {
3779
- valueField: 'name',
3780
- textField: 'title',
3781
- dataSource: [
3782
- {
3783
- title: 'Side Menu Footer',
3784
- name: 'side-menu-footer',
3785
- options: AXM_COLUMN_DEF_WIDGET,
3786
- },
3787
- {
3788
- title: 'Side Menu Header',
3789
- name: 'side-menu-header',
3790
- options: [
3791
- {
3792
- type: 'text-editor',
3793
- mode: 'edit',
3794
- path: 'name',
3795
- options: {
3796
- placeholder: 'Name',
3797
- defaultValue: 'test',
3798
- },
3799
- },
3800
- ],
3801
- },
3802
- ],
3803
- direction: 'horizontal',
3804
- multiple: false,
3805
- },
3806
- },
3807
- },
3808
- validations: [
3809
- {
3810
- rule: 'required',
3811
- },
3812
- ],
3813
- },
3814
- // {
3815
- // name: "metadaata",
3816
- // title: "Meta Data",
3817
- // groupId: 'promotion',
3818
- // schema: {
3819
- // dataType: 'object',
3820
- // interface: {
3821
- // type: AXPWidgetsCatalog.text,
3822
- // // children: "{{ context.eval('placement').options }}" as any,
3823
- // },
3824
- // }
3825
- //},
3826
- // {
3827
- // name: 'metadata',
3828
- // title: `Meta Data`,
3829
- // groupId: 'promotion',
3830
- // schema: {
3831
- // dataType: 'object',
3832
- // interface: {
3833
- // type: AXPWidgetsCatalog.blockLayout,
3834
- // children: "{{ context.eval('placement')?.options ?? [] }}" as any,
3835
- // },
3836
- // },
3837
- // },
3838
- ],
3839
- columns: [{ name: 'title' }, { name: 'placement' }, { name: 'imageId' }],
3840
- commands: {
3841
- create: {
3842
- execute: async (data) => {
3843
- // First deeply sanitize the data object to remove non-serializable content
3844
- data = sanitizeForStorage(data);
3845
- // Convert array of File objects to serializable format for IndexedDB storage
3846
- if (data.imageId && Array.isArray(data.imageId)) {
3847
- const processedFiles = await Promise.all((data.imageId || []).map(async (file) => {
3848
- if (file instanceof File) {
3849
- return {
3850
- name: file.name,
3851
- type: file.type,
3852
- size: file.size,
3853
- lastModified: file.lastModified,
3854
- // Convert File to base64 string for storage
3855
- data: await new Promise((resolve) => {
3856
- const reader = new FileReader();
3857
- reader.onloadend = () => resolve(reader.result);
3858
- reader.readAsDataURL(file);
3859
- })
3860
- };
3861
- }
3862
- // Handle new file structure with source.value containing the blob
3863
- else if (file && file.source && file.source.value) {
3864
- try {
3865
- const blob = file.source.value;
3866
- // Ensure we're working with a proper Blob object
3867
- if (blob instanceof Blob) {
3868
- return {
3869
- id: file.id || null,
3870
- name: file.name || 'file',
3871
- type: file.type || blob.type || 'application/octet-stream',
3872
- size: file.size || blob.size || 0,
3873
- status: file.status || 'attached',
3874
- // Convert Blob to base64 string for storage
3875
- data: await new Promise((resolve) => {
3876
- const reader = new FileReader();
3877
- reader.onloadend = () => resolve(reader.result);
3878
- reader.readAsDataURL(blob);
3879
- })
3880
- };
3881
- }
3882
- else {
3883
- console.warn('Invalid blob in file.source.value', file);
3884
- return {
3885
- name: file.name || 'file',
3886
- type: file.type || 'application/octet-stream',
3887
- size: file.size || 0,
3888
- status: file.status || 'attached'
3889
- };
3890
- }
3891
- }
3892
- catch (error) {
3893
- console.error('Error processing file for storage', error);
3894
- return {
3895
- name: file.name || 'file',
3896
- type: file.type || 'application/octet-stream',
3897
- size: file.size || 0,
3898
- status: file.status || 'attached'
3899
- };
3900
- }
3901
- }
3902
- // If it's already a serialized object with data property, keep it as is
3903
- else if (file && file.data && typeof file.data === 'string') {
3904
- return file;
3905
- }
3906
- // For any other format, return a clean version without complex objects
3907
- else if (file) {
3908
- return {
3909
- id: file.id || null,
3910
- name: file.name || 'unknown',
3911
- type: file.type || 'application/octet-stream',
3912
- size: file.size || 0,
3913
- status: file.status || 'attached'
3914
- };
3915
- }
3916
- return null;
3917
- }));
3918
- // Filter out nulls after awaiting the promise
3919
- data.imageId = processedFiles.filter(Boolean);
3920
- }
3921
- const res = await dataService.insertOne(data);
3922
- // Return the same ID format that was used for storage
3923
- return { id: res };
3924
- },
3925
- },
3926
- delete: {
3927
- execute: async (id) => {
3928
- return await dataService.deleteOne(id);
3929
- },
3930
- },
3931
- update: {
3932
- execute: async (data) => {
3933
- // First deeply sanitize the data object to remove non-serializable content
3934
- data = sanitizeForStorage(data);
3935
- // Convert array of File objects to serializable format for IndexedDB storage
3936
- if (data.imageId && Array.isArray(data.imageId)) {
3937
- const processedFiles = await Promise.all((data.imageId || []).map(async (file) => {
3938
- if (file instanceof File) {
3939
- return {
3940
- name: file.name,
3941
- type: file.type,
3942
- size: file.size,
3943
- lastModified: file.lastModified,
3944
- // Convert File to base64 string for storage
3945
- data: await new Promise((resolve) => {
3946
- const reader = new FileReader();
3947
- reader.onloadend = () => resolve(reader.result);
3948
- reader.readAsDataURL(file);
3949
- })
3950
- };
3951
- }
3952
- // Handle new file structure with source.value containing the blob
3953
- else if (file && file.source && file.source.value) {
3954
- try {
3955
- const blob = file.source.value;
3956
- // Ensure we're working with a proper Blob object
3957
- if (blob instanceof Blob) {
3958
- return {
3959
- id: file.id || null,
3960
- name: file.name || 'file',
3961
- type: file.type || blob.type || 'application/octet-stream',
3962
- size: file.size || blob.size || 0,
3963
- status: file.status || 'attached',
3964
- // Convert Blob to base64 string for storage
3965
- data: await new Promise((resolve) => {
3966
- const reader = new FileReader();
3967
- reader.onloadend = () => resolve(reader.result);
3968
- reader.readAsDataURL(blob);
3969
- })
3970
- };
3971
- }
3972
- else {
3973
- console.warn('Invalid blob in file.source.value', file);
3974
- return {
3975
- name: file.name || 'file',
3976
- type: file.type || 'application/octet-stream',
3977
- size: file.size || 0,
3978
- status: file.status || 'attached'
3979
- };
3980
- }
3981
- }
3982
- catch (error) {
3983
- console.error('Error processing file for storage', error);
3984
- return {
3985
- name: file.name || 'file',
3986
- type: file.type || 'application/octet-stream',
3987
- size: file.size || 0,
3988
- status: file.status || 'attached'
3989
- };
3990
- }
3991
- }
3992
- // If it's already a serialized object with data property, keep it as is
3993
- else if (file && file.data && typeof file.data === 'string') {
3994
- return file;
3995
- }
3996
- // For any other format, return a clean version without complex objects
3997
- else if (file) {
3998
- return {
3999
- id: file.id || null,
4000
- name: file.name || 'unknown',
4001
- type: file.type || 'application/octet-stream',
4002
- size: file.size || 0,
4003
- status: file.status || 'attached'
4004
- };
4005
- }
4006
- return null;
4007
- }));
4008
- // Filter out nulls after awaiting the promise
4009
- data.imageId = processedFiles.filter(Boolean);
4010
- }
4011
- return await dataService.updateOne(data.id, data);
4012
- },
4013
- },
4014
- },
4015
- queries: {
4016
- byKey: {
4017
- execute: async (id) => {
4018
- try {
4019
- // Debug the incoming ID parameter
4020
- console.log('byKey original id parameter:', id, typeof id);
4021
- // Ensure id is a valid key for IndexedDB - needs to be string or number
4022
- let validId;
4023
- // If id is an object (e.g., from router params or complex structure)
4024
- if (typeof id === 'object' && id !== null) {
4025
- if ('id' in id) {
4026
- validId = String(id.id);
4027
- }
4028
- else {
4029
- validId = String(id);
4030
- }
4031
- console.warn('Converted object id to string:', validId);
4032
- }
4033
- else if (id === undefined || id === null) {
4034
- console.error('Invalid id parameter: null or undefined');
4035
- return null;
4036
- }
4037
- else {
4038
- // Convert to string to ensure consistency
4039
- validId = String(id);
4040
- }
4041
- // Log the ID being used for the query
4042
- console.log('Fetching record with id:', validId, typeof validId);
4043
- try {
4044
- const data = await dataService.getOne(validId);
4045
- console.log('getOne result:', data ? 'Data found' : 'No data found');
4046
- // If no data was found
4047
- if (!data) {
4048
- console.warn(`No record found with id: ${validId}`);
4049
- return null;
4050
- }
4051
- // Deserialize imageId field if it contains serialized file objects
4052
- if (data.imageId && Array.isArray(data.imageId)) {
4053
- data.imageId = await Promise.all(data.imageId.map(async (fileData) => {
4054
- // Check if this is a serialized file
4055
- if (fileData && fileData.data && fileData.name && fileData.type) {
4056
- try {
4057
- // Convert base64 string back to a Blob
4058
- const response = await fetch(fileData.data);
4059
- const blob = await response.blob();
4060
- // Create a new File object
4061
- return new File([blob], fileData.name, {
4062
- type: fileData.type,
4063
- lastModified: fileData.lastModified
4064
- });
4065
- }
4066
- catch (error) {
4067
- console.error('Failed to deserialize file:', fileData.name, error);
4068
- return fileData; // Return original data if deserialization fails
4069
- }
4070
- }
4071
- return fileData; // Return as is if not a serialized file
4072
- })); // Cast to any to avoid type conflict
4073
- }
4074
- return data;
4075
- }
4076
- catch (error) {
4077
- console.error(`Error fetching data with ID ${validId}:`, error);
4078
- // Return null instead of throwing to avoid cascading errors
4079
- return null;
4080
- }
4081
- }
4082
- catch (error) {
4083
- console.error('Critical error in byKey query:', error);
4084
- return null; // Return null instead of throwing to avoid UI errors
4085
- }
4086
- },
4087
- type: AXPEntityQueryType.Single,
4088
- },
4089
- list: {
4090
- execute: async (e) => {
4091
- return await dataService.query({ skip: e.skip, take: e.take, filter: e.filter });
4092
- },
4093
- type: AXPEntityQueryType.List,
4094
- },
4095
- },
4096
- interfaces: {
4097
- master: {
4098
- create: {
4099
- sections: [
4100
- {
4101
- id: 'promotion',
4102
- },
4103
- ],
4104
- properties: [
4105
- {
4106
- name: 'title',
4107
- layout: {
4108
- positions: {
4109
- lg: {
4110
- colSpan: 6,
4111
- order: 1,
4112
- },
4113
- },
4114
- },
4115
- },
4116
- {
4117
- name: 'body',
4118
- layout: {
4119
- positions: {
4120
- lg: {
4121
- colSpan: 12,
4122
- order: 5,
4123
- },
4124
- },
4125
- },
4126
- },
4127
- {
4128
- name: 'imageId',
4129
- layout: {
4130
- positions: {
4131
- lg: {
4132
- colSpan: 12,
4133
- order: 6,
4134
- },
4135
- },
4136
- },
4137
- },
4138
- {
4139
- name: 'contentType',
4140
- layout: {
4141
- positions: {
4142
- lg: {
4143
- colSpan: 6,
4144
- order: 2,
4145
- },
4146
- },
4147
- },
4148
- },
4149
- {
4150
- name: 'shape',
4151
- layout: {
4152
- positions: {
4153
- lg: {
4154
- colSpan: 6,
4155
- order: 3,
4156
- },
4157
- },
4158
- },
4159
- },
4160
- {
4161
- name: 'placement',
4162
- layout: {
4163
- positions: {
4164
- lg: {
4165
- colSpan: 6,
4166
- order: 4,
4167
- },
4168
- },
4169
- },
4170
- },
4171
- {
4172
- name: 'metadata',
4173
- layout: {
4174
- positions: {
4175
- lg: {
4176
- colSpan: 12,
4177
- order: 10,
4178
- },
4179
- },
4180
- },
4181
- },
4182
- ],
4183
- },
4184
- update: {
4185
- sections: [
4186
- {
4187
- id: 'promotion',
4188
- },
4189
- ],
4190
- properties: [
4191
- {
4192
- name: 'title',
4193
- layout: {
4194
- positions: {
4195
- lg: {
4196
- colSpan: 6,
4197
- order: 1,
4198
- },
4199
- },
4200
- },
4201
- },
4202
- {
4203
- name: 'body',
4204
- layout: {
4205
- positions: {
4206
- lg: {
4207
- colSpan: 12,
4208
- order: 5,
4209
- },
4210
- },
4211
- },
4212
- },
4213
- {
4214
- name: 'imageId',
4215
- layout: {
4216
- positions: {
4217
- lg: {
4218
- colSpan: 12,
4219
- order: 6,
4220
- },
4221
- },
4222
- },
4223
- },
4224
- {
4225
- name: 'contentType',
4226
- layout: {
4227
- positions: {
4228
- lg: {
4229
- colSpan: 6,
4230
- order: 2,
4231
- },
4232
- },
4233
- },
4234
- },
4235
- {
4236
- name: 'shape',
4237
- layout: {
4238
- positions: {
4239
- lg: {
4240
- colSpan: 6,
4241
- order: 3,
4242
- },
4243
- },
4244
- },
4245
- },
4246
- {
4247
- name: 'placement',
4248
- layout: {
4249
- positions: {
4250
- lg: {
4251
- colSpan: 6,
4252
- order: 4,
4253
- },
4254
- },
4255
- },
4256
- },
4257
- // {
4258
- // name: 'metadata',
4259
- // layout: {
4260
- // positions: {
4261
- // lg: {
4262
- // colSpan: 12,
4263
- // order: 10,
4264
- // },
4265
- // },
4266
- // },
4267
- // },
4268
- ],
4269
- },
4270
- single: {
4271
- title: '{{title}}',
4272
- sections: [
4273
- {
4274
- id: 'promotion',
4275
- },
4276
- ],
4277
- properties: [
4278
- {
4279
- name: 'title',
4280
- layout: {
4281
- positions: {
4282
- lg: {
4283
- colSpan: 6,
4284
- },
4285
- },
4286
- },
4287
- },
4288
- {
4289
- name: 'body',
4290
- layout: {
4291
- positions: {
4292
- lg: {
4293
- colSpan: 6,
4294
- },
4295
- },
4296
- },
4297
- },
4298
- {
4299
- name: 'imageId',
4300
- layout: {
4301
- positions: {
4302
- lg: {
4303
- colSpan: 12,
4304
- order: 2,
4305
- },
4306
- },
4307
- },
4308
- },
4309
- {
4310
- name: 'contentType',
4311
- layout: {
4312
- positions: {
4313
- lg: {
4314
- colSpan: 4,
4315
- order: 4,
4316
- },
4317
- },
4318
- },
4319
- },
4320
- {
4321
- name: 'shape',
4322
- layout: {
4323
- positions: {
4324
- lg: {
4325
- colSpan: 4,
4326
- order: 5,
4327
- },
4328
- },
4329
- },
4330
- },
4331
- {
4332
- name: 'placement',
4333
- layout: {
4334
- positions: {
4335
- lg: {
4336
- colSpan: 4,
4337
- order: 6,
4338
- },
4339
- },
4340
- },
4341
- },
4342
- ],
4343
- actions: [],
4344
- },
4345
- list: {
4346
- actions: [
4347
- {
4348
- title: `t("create", { scope: "common" })`,
4349
- command: 'create-entity',
4350
- priority: 'primary',
4351
- type: 'create',
4352
- scope: AXPEntityCommandScope.TypeLevel,
4353
- },
4354
- {
4355
- title: 't("deleteItems", { scope: "common" })',
4356
- command: 'delete-entity',
4357
- priority: 'primary',
4358
- type: 'delete',
4359
- scope: AXPEntityCommandScope.Selected,
4360
- },
4361
- {
4362
- title: 't("detail", { scope: "common" })',
4363
- command: 'open-entity',
4364
- priority: 'primary',
4365
- type: 'view',
4366
- scope: AXPEntityCommandScope.Individual,
4367
- },
4368
- {
4369
- title: 't("delete", { scope: "common" })',
4370
- command: 'delete-entity',
4371
- priority: 'primary',
4372
- type: 'delete',
4373
- scope: AXPEntityCommandScope.Individual,
4374
- },
4375
- {
4376
- title: 't("entity.modify", { scope: "common" })',
4377
- command: 'quick-modify-entity',
4378
- priority: 'secondary',
4379
- type: 'update',
4380
- scope: AXPEntityCommandScope.Individual,
4381
- },
4382
- //TODO: add this to the entity
4383
- {
4384
- title: 't("upload.title", { scope: "common" })',
4385
- command: {
4386
- name: 'show-file-uploader-popup',
4387
- options: {
4388
- id: '{{ context.eval("id") }}',
4389
- files: '{{ context.eval("imageId") }}',
4390
- multiple: false,
4391
- accept: 'image/*',
4392
- key: 'imageId',
4393
- }
4394
- },
4395
- priority: 'secondary',
4396
- type: 'update',
4397
- scope: AXPEntityCommandScope.Individual,
4398
- },
4399
- ],
4400
- views: [
4401
- createAllQueryView({ sorts: [{ name: 'title', dir: 'asc' }] }),
4402
- createQueryView('media', `t("media", { scope: "${i18n}" })`, true, {
4403
- conditions: [
4404
- {
4405
- name: 'contentType.name',
4406
- operator: {
4407
- type: 'equal',
4408
- },
4409
- value: 'media',
4410
- },
4411
- ],
4412
- }),
4413
- createQueryView('text', `t("text", { scope: "${i18n}" })`, true, {
4414
- conditions: [
4415
- {
4416
- name: 'contentType.name',
4417
- operator: {
4418
- type: 'equal',
4419
- },
4420
- value: 'text',
4421
- },
4422
- ],
4423
- }),
4424
- ],
4425
- },
4426
- },
4427
- },
4428
- };
4429
- return entityDef;
4430
- }
4431
-
4432
- var index = /*#__PURE__*/Object.freeze({
4433
- __proto__: null,
4434
- AXMAppPromotionService: AXMAppPromotionService,
4435
- AXMAppTermService: AXMAppTermService,
4436
- AXMAppTermServiceImpl: AXMAppTermServiceImpl,
4437
- AXMAppVersionService: AXMAppVersionService,
4438
- AXMAppVersionServiceImpl: AXMAppVersionServiceImpl,
4439
- AXMAppVersionSlotComponent: AXMAppVersionSlotComponent,
4440
- AXMChangeLogPopupAction: AXMChangeLogPopupAction,
4441
- AXMChangeLogUpdateSettingAction: AXMChangeLogUpdateSettingAction,
4442
- AXMCheckNewVersionAction: AXMCheckNewVersionAction,
4443
- AXMCheckNewVersionWorkflow: AXMCheckNewVersionWorkflow,
4444
- AXMDataSourceService: AXMDataSourceService,
4445
- AXMDataSourceServiceImpl: AXMDataSourceServiceImpl,
4446
- AXMGlobalVariablesService: AXMGlobalVariablesService,
4447
- AXMGlobalVariablesServiceImpl: AXMGlobalVariablesServiceImpl,
4448
- AXMGlossaryService: AXMGlossaryService,
4449
- AXMGlossaryServiceImpl: AXMGlossaryServiceImpl,
4450
- AXMListTermsComponent: AXMListTermsComponent,
4451
- AXMMetaDataDefinitionCategoryService: AXMMetaDataDefinitionCategoryService,
4452
- AXMMetaDataDefinitionCategoryServiceImpl: AXMMetaDataDefinitionCategoryServiceImpl,
4453
- AXMMetaDataDefinitionService: AXMMetaDataDefinitionService,
4454
- AXMNewTermWorkflow: AXMNewTermWorkflow,
4455
- AXMNotifyAppComponent: AXMNotifyAppComponent,
4456
- AXMNotifyNewTermPopupAction: AXMNotifyNewTermPopupAction,
4457
- AXMPMetaDataDefinitionServiceImpl: AXMPMetaDataDefinitionServiceImpl,
4458
- AXMPromotionServiceImpl: AXMPromotionServiceImpl,
4459
- AXMPromotionSlotComponent: AXMPromotionSlotComponent,
4460
- AXMTermUpdateSettingAction: AXMTermUpdateSettingAction,
4461
- AXMWhatsNewWorkflow: AXMWhatsNewWorkflow,
4462
- appTermEntityEntityFactory: appTermEntityEntityFactory,
4463
- appVersionEntityEntityFactory: appVersionEntityEntityFactory,
4464
- dataSourceEntityFactory: dataSourceEntityFactory,
4465
- globalVariableEntityFactory: globalVariableEntityFactory,
4466
- glossaryEntityFactory: glossaryEntityFactory,
4467
- metaDataDefinitionCategoryEntityFactory: metaDataDefinitionCategoryEntityFactory,
4468
- metaDataDefinitionFactory: metaDataDefinitionFactory,
4469
- promotionEntityFactory: promotionEntityFactory
4470
- });
4471
-
4472
- const path = 'regional:';
4473
- var AXPRegionalSetting;
4474
- (function (AXPRegionalSetting) {
4475
- AXPRegionalSetting["LocaleProfile"] = "regional:locale-profile";
4476
- AXPRegionalSetting["TimeZone"] = "regional:timezone";
4477
- AXPRegionalSetting["Language"] = "regional:language";
4478
- AXPRegionalSetting["Country"] = "regional:country";
4479
- AXPRegionalSetting["Calendar"] = "regional:calendar";
4480
- AXPRegionalSetting["FirstDayOfWeek"] = "regional:first-day-of-week";
4481
- AXPRegionalSetting["WeekendDays"] = "regional:weekend-days";
4482
- AXPRegionalSetting["ShortDate"] = "regional:short-date";
4483
- AXPRegionalSetting["LongDate"] = "regional:long-date";
4484
- AXPRegionalSetting["ShortTime"] = "regional:short-time";
4485
- AXPRegionalSetting["LongTime"] = "regional:long-time";
4486
- AXPRegionalSetting["MeasurementUnits"] = "regional:measurement-units";
4487
- AXPRegionalSetting["TemperatureUnits"] = "regional:temperature-units";
4488
- AXPRegionalSetting["DistanceUnits"] = "regional:distance-units";
4489
- AXPRegionalSetting["WeightUnits"] = "regional:weight-units";
4490
- AXPRegionalSetting["VolumeUnits"] = "regional:volume-units";
4491
- AXPRegionalSetting["SpeedUnits"] = "regional:speed-units";
4492
- AXPRegionalSetting["AreaUnits"] = "regional:area-units";
4493
- })(AXPRegionalSetting || (AXPRegionalSetting = {}));
4494
-
4495
- // Regional Store - Manages regional settings and system changes
4496
- const AXPRegionalStoreService = signalStore({ providedIn: 'root' },
4497
- // Initial State
4498
- withState((localeService = inject(AXLocaleService)) => {
4499
- const state = {
4500
- profile: localeService.activeProfile().localeInfo.code,
4501
- language: localeService.activeProfile().localeInfo.language,
4502
- calendar: localeService.activeProfile().calendar.system,
4503
- };
4504
- return state;
4505
- }),
4506
- // Computed Signals
4507
- // withComputed(({ }) => ({
4508
- // })),
4509
- // Methods for State Management
4510
- withMethods((store, settingService = inject(AXPSettingService), localeService = inject(AXLocaleService), calendarService = inject(AXCalendarService), translateService = inject(AXTranslationService)) => {
4511
- const applyChanges = async () => {
4512
- const profile = localeService.activeProfile();
4513
- const html = document.getElementsByTagName('html')[0];
4514
- profile.i18nMeta?.rtl ? html.setAttribute('dir', 'rtl') : html.removeAttribute('dir');
4515
- };
4516
- return {
4517
- async changeProfile(profileCode) {
4518
- await localeService.setProfile(profileCode);
4519
- const profile = localeService.activeProfile();
4520
- //
4521
- if (store.profile() != profile.localeInfo.code) {
4522
- settingService.scope(AXPPlatformScope.User).set(AXPRegionalSetting.LocaleProfile, profile.localeInfo.code);
4523
- settingService.scope(AXPPlatformScope.User).set(AXPRegionalSetting.Language, profile.localeInfo.code);
4524
- patchState(store, { profile: profile.localeInfo.code });
4525
- }
4526
- //
4527
- await applyChanges();
4528
- },
4529
- async loadSetting() {
4530
- const profileCode = (await settingService.scope(AXPPlatformScope.User).get(AXPRegionalSetting.LocaleProfile));
4531
- patchState(store, { profile: profileCode });
4532
- await localeService.setProfile(profileCode);
4533
- //
4534
- // delay to ensure the profile is set and override the default
4535
- setTimeout(async () => {
4536
- const calendar = (await settingService.scope(AXPPlatformScope.User).get(AXPRegionalSetting.Calendar));
4537
- patchState(store, { calendar: calendar });
4538
- calendarService.setActiveCalendar(calendar);
4539
- //
4540
- const language = (await settingService.scope(AXPPlatformScope.User).get(AXPRegionalSetting.Language));
4541
- patchState(store, { language: language });
4542
- translateService.setActiveLang(language);
4543
- //
4544
- await applyChanges();
4545
- });
4546
- //
4547
- },
4548
- };
4549
- }), withHooks((store, settingService = inject(AXPSettingService), translateService = inject(AXTranslationService)) => ({
4550
- onInit() {
4551
- settingService.onChanged.subscribe(async (setting) => {
4552
- const keys = [
4553
- AXPRegionalSetting.LocaleProfile,
4554
- AXPRegionalSetting.Language,
4555
- AXPRegionalSetting.Calendar
4556
- ];
4557
- //
4558
- if (keys.some(k => setting.keys.includes(k))) {
4559
- await store.loadSetting();
4560
- }
4561
- });
4562
- },
4563
- onDestroy() { },
4564
- })));
4565
-
4566
- class AXMLanguageSlotComponent {
4567
- constructor() {
4568
- this.regionalService = inject(AXPRegionalService);
4569
- this.store = inject(AXPRegionalStoreService);
4570
- this.items = signal([]);
4571
- }
4572
- async ngOnInit() {
4573
- const items = await this.regionalService.getLocaleProfiles();
4574
- this.items.set(items);
4575
- }
4576
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXMLanguageSlotComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4577
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: AXMLanguageSlotComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: "<ax-button color=\"primary\">\n <ax-icon class=\"fa-regular fa-globe\"> </ax-icon>\n <ax-dropdown-panel>\n <ax-button-item-list>\n @for(lang of items(); track lang){\n <ax-button-item\n [text]=\"lang.title\"\n [selected]=\"store.profile() === lang.code\"\n (onClick)=\"store.changeProfile(lang.code)\"\n >\n <ax-prefix>\n <ax-icon icon=\"fa-solid fa-flag\"> </ax-icon>\n </ax-prefix>\n </ax-button-item>\n }\n </ax-button-item-list>\n </ax-dropdown-panel>\n</ax-button>\n", dependencies: [{ kind: "ngmodule", type: AXDropdownModule }, { kind: "component", type: i1$1.AXDropdownPanelComponent, selector: "ax-dropdown-panel", inputs: ["isOpen", "fitParent", "dropdownWidth", "position", "placement", "_target", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i4$1.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i4$1.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXPopoverModule }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i3$1.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "component", type: i3$1.AXButtonItemComponent, selector: "ax-button-item", inputs: ["color", "disabled", "text", "selected", "divided", "data", "name"], outputs: ["onClick", "onFocus", "onBlur", "disabledChange"] }, { kind: "component", type: i3$1.AXButtonItemListComponent, selector: "ax-button-item-list", inputs: ["items"], outputs: ["onItemClick"] }, { kind: "ngmodule", type: CommonModule }] }); }
4578
- }
4579
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXMLanguageSlotComponent, decorators: [{
4580
- type: Component,
4581
- args: [{ imports: [AXDropdownModule, AXDecoratorModule, AXPopoverModule, AXButtonModule, CommonModule], template: "<ax-button color=\"primary\">\n <ax-icon class=\"fa-regular fa-globe\"> </ax-icon>\n <ax-dropdown-panel>\n <ax-button-item-list>\n @for(lang of items(); track lang){\n <ax-button-item\n [text]=\"lang.title\"\n [selected]=\"store.profile() === lang.code\"\n (onClick)=\"store.changeProfile(lang.code)\"\n >\n <ax-prefix>\n <ax-icon icon=\"fa-solid fa-flag\"> </ax-icon>\n </ax-prefix>\n </ax-button-item>\n }\n </ax-button-item-list>\n </ax-dropdown-panel>\n</ax-button>\n" }]
4582
- }] });
4583
-
4584
- class AXPRegionalWidgetDataSourceProvider {
4585
- constructor() {
4586
- this.regionalService = inject(AXPRegionalService);
4587
- //#region Country
4588
- this.country = {
4589
- name: 'countries',
4590
- title: 'Countries',
4591
- textField: 'title',
4592
- valueField: 'code',
4593
- columns: [
4594
- {
4595
- name: 'code',
4596
- title: 'Code',
4597
- },
4598
- {
4599
- name: 'title',
4600
- title: 'Title',
4601
- },
4602
- {
4603
- name: 'timezone',
4604
- title: 'Timezone',
3693
+ {
3694
+ name: 'timezone',
3695
+ title: 'Timezone',
4605
3696
  },
4606
3697
  ],
4607
3698
  source: async () => {
@@ -4805,7 +3896,7 @@ class AXMPlatformManagementCommonModule {
4805
3896
  provide: AXP_SETTING_DEFINITION_PROVIDER,
4806
3897
  useFactory: async () => {
4807
3898
  const injector = inject(Injector);
4808
- const provider = (await import('./acorex-modules-platform-management-settings.provider-BO-1dmVc.mjs')).AXMRegionalSettingProvider;
3899
+ const provider = (await import('./acorex-modules-platform-management-settings.provider-CnGAUpof.mjs')).AXMRegionalSettingProvider;
4809
3900
  return new provider(injector);
4810
3901
  },
4811
3902
  multi: true
@@ -4844,7 +3935,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImpo
4844
3935
  provide: AXP_SETTING_DEFINITION_PROVIDER,
4845
3936
  useFactory: async () => {
4846
3937
  const injector = inject(Injector);
4847
- const provider = (await import('./acorex-modules-platform-management-settings.provider-BO-1dmVc.mjs')).AXMRegionalSettingProvider;
3938
+ const provider = (await import('./acorex-modules-platform-management-settings.provider-CnGAUpof.mjs')).AXMRegionalSettingProvider;
4848
3939
  return new provider(injector);
4849
3940
  },
4850
3941
  multi: true
@@ -4908,62 +3999,6 @@ class AXMDynamicDataSourceProvider {
4908
3999
  }
4909
4000
  }
4910
4001
 
4911
- class AXMPromotionDataSourceDefinition {
4912
- constructor() {
4913
- this.promotionService = inject(AXMAppPromotionService);
4914
- this.i18n = RootConfig.config.i18n;
4915
- }
4916
- items() {
4917
- return Promise.resolve([
4918
- {
4919
- name: 'promotion',
4920
- title: 'Promotion',
4921
- source: () => {
4922
- return new AXDataSource({
4923
- load: async (_) => {
4924
- try {
4925
- const res = await this.promotionService.query();
4926
- return {
4927
- items: res.items,
4928
- total: res.total,
4929
- };
4930
- }
4931
- catch (e) {
4932
- console.log(e);
4933
- throw e;
4934
- }
4935
- },
4936
- pageSize: 100,
4937
- });
4938
- },
4939
- columns: [
4940
- {
4941
- name: 'id',
4942
- title: 'ID',
4943
- datatype: 'uuid',
4944
- type: AXPWidgetsCatalog.text,
4945
- },
4946
- {
4947
- name: 'title',
4948
- //TODO translate
4949
- title: `Title`,
4950
- datatype: 'string',
4951
- type: AXPWidgetsCatalog.text,
4952
- },
4953
- {
4954
- name: 'body',
4955
- title: `Body`,
4956
- datatype: 'string',
4957
- type: AXPWidgetsCatalog.richText,
4958
- },
4959
- ],
4960
- textField: 'title',
4961
- valueField: 'id',
4962
- },
4963
- ]);
4964
- }
4965
- }
4966
-
4967
4002
  class AXMEntityLoader {
4968
4003
  constructor() {
4969
4004
  this.injector = inject(Injector);
@@ -4999,11 +4034,6 @@ class AXMEntityLoader {
4999
4034
  resolve(entity(this.injector));
5000
4035
  break;
5001
4036
  }
5002
- case RootConfig.entities.promotion.name: {
5003
- const entity = (await Promise.resolve().then(function () { return index; })).promotionEntityFactory;
5004
- resolve(entity(this.injector));
5005
- break;
5006
- }
5007
4037
  case RootConfig.entities.dataSource.name: {
5008
4038
  const entity = (await Promise.resolve().then(function () { return index; })).dataSourceEntityFactory;
5009
4039
  resolve(entity(this.injector));
@@ -5089,7 +4119,7 @@ class AXMShowReleaseNotesPopupAction extends AXPWorkflowAction {
5089
4119
  }
5090
4120
  async execute(context) {
5091
4121
  const scope = RootConfig.config.i18n;
5092
- const comp = await (await import('./acorex-modules-platform-management-list-version.component-DY4yMd8n.mjs')).AXMListVersionComponent;
4122
+ const comp = await (await import('./acorex-modules-platform-management-list-version.component-DhSicYd3.mjs')).AXMListVersionComponent;
5093
4123
  this.popupService.open(comp, {
5094
4124
  title: `t('release-notes',{scope: "${scope}"})`,
5095
4125
  });
@@ -5349,15 +4379,6 @@ class AXMMenuProvider {
5349
4379
  // requiredPermission: '',
5350
4380
  },
5351
4381
  },
5352
- {
5353
- priority: 9006,
5354
- text: RootConfig.entities.promotion.title,
5355
- path: this.entityService.createPath(RootConfig.module.name, RootConfig.entities.promotion.name),
5356
- icon: RootConfig.entities.promotion.icon,
5357
- data: {
5358
- // requiredPermission: '',
5359
- },
5360
- },
5361
4382
  {
5362
4383
  priority: 9005,
5363
4384
  text: RootConfig.entities.dataSource.title,
@@ -5529,10 +4550,6 @@ class AXMPlatformManagementModule {
5529
4550
  provide: AXMAppTermService,
5530
4551
  useClass: AXMAppTermServiceImpl,
5531
4552
  },
5532
- {
5533
- provide: AXMAppPromotionService,
5534
- useClass: AXMPromotionServiceImpl,
5535
- },
5536
4553
  {
5537
4554
  provide: AXMDataSourceService,
5538
4555
  useClass: AXMDataSourceServiceImpl,
@@ -5560,11 +4577,6 @@ class AXMPlatformManagementModule {
5560
4577
  useClass: AXMDynamicDataSourceProvider,
5561
4578
  multi: true,
5562
4579
  },
5563
- {
5564
- provide: AXP_DATASOURCE_DEFINITION_PROVIDER,
5565
- useClass: AXMPromotionDataSourceDefinition,
5566
- multi: true,
5567
- },
5568
4580
  {
5569
4581
  provide: AXP_SETTING_DEFINITION_PROVIDER,
5570
4582
  useClass: AXPReleaseNotesSettingProvider,
@@ -5599,23 +4611,23 @@ class AXMPlatformManagementModule {
5599
4611
  }),
5600
4612
  AXPComponentSlotModule.forChild({
5601
4613
  'side-menu-footer': [
5602
- {
5603
- name: 'side-menu-footer',
5604
- component: AXMPromotionSlotComponent,
5605
- options: {
5606
- location: 'side-menu-footer',
5607
- },
5608
- },
4614
+ // {
4615
+ // name: 'side-menu-footer',
4616
+ // component: AXMPromotionSlotComponent,
4617
+ // options: {
4618
+ // location: 'side-menu-footer',
4619
+ // },
4620
+ // },
5609
4621
  ],
5610
4622
  'side-menu-header': [
5611
- {
5612
- name: 'side-menu-header',
5613
- component: AXMPromotionSlotComponent,
5614
- priority: 2,
5615
- options: {
5616
- location: 'side-menu-header',
5617
- },
5618
- },
4623
+ // {
4624
+ // name: 'side-menu-header',
4625
+ // component: AXMPromotionSlotComponent,
4626
+ // priority: 2,
4627
+ // options: {
4628
+ // location: 'side-menu-header',
4629
+ // },
4630
+ // },
5619
4631
  ],
5620
4632
  })] }); }
5621
4633
  }
@@ -5645,23 +4657,23 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImpo
5645
4657
  }),
5646
4658
  AXPComponentSlotModule.forChild({
5647
4659
  'side-menu-footer': [
5648
- {
5649
- name: 'side-menu-footer',
5650
- component: AXMPromotionSlotComponent,
5651
- options: {
5652
- location: 'side-menu-footer',
5653
- },
5654
- },
4660
+ // {
4661
+ // name: 'side-menu-footer',
4662
+ // component: AXMPromotionSlotComponent,
4663
+ // options: {
4664
+ // location: 'side-menu-footer',
4665
+ // },
4666
+ // },
5655
4667
  ],
5656
4668
  'side-menu-header': [
5657
- {
5658
- name: 'side-menu-header',
5659
- component: AXMPromotionSlotComponent,
5660
- priority: 2,
5661
- options: {
5662
- location: 'side-menu-header',
5663
- },
5664
- },
4669
+ // {
4670
+ // name: 'side-menu-header',
4671
+ // component: AXMPromotionSlotComponent,
4672
+ // priority: 2,
4673
+ // options: {
4674
+ // location: 'side-menu-header',
4675
+ // },
4676
+ // },
5665
4677
  ],
5666
4678
  }),
5667
4679
  ],
@@ -5689,10 +4701,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImpo
5689
4701
  provide: AXMAppTermService,
5690
4702
  useClass: AXMAppTermServiceImpl,
5691
4703
  },
5692
- {
5693
- provide: AXMAppPromotionService,
5694
- useClass: AXMPromotionServiceImpl,
5695
- },
5696
4704
  {
5697
4705
  provide: AXMDataSourceService,
5698
4706
  useClass: AXMDataSourceServiceImpl,
@@ -5720,11 +4728,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImpo
5720
4728
  useClass: AXMDynamicDataSourceProvider,
5721
4729
  multi: true,
5722
4730
  },
5723
- {
5724
- provide: AXP_DATASOURCE_DEFINITION_PROVIDER,
5725
- useClass: AXMPromotionDataSourceDefinition,
5726
- multi: true,
5727
- },
5728
4731
  {
5729
4732
  provide: AXP_SETTING_DEFINITION_PROVIDER,
5730
4733
  useClass: AXPReleaseNotesSettingProvider,
@@ -5747,5 +4750,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImpo
5747
4750
  * Generated bundle index. Do not edit.
5748
4751
  */
5749
4752
 
5750
- export { AXPRegionalSetting as A, AXMGlossaryServiceImpl as B, metaDataDefinitionFactory as C, AXMMetaDataDefinitionService as D, AXMPMetaDataDefinitionServiceImpl as E, metaDataDefinitionCategoryEntityFactory as F, AXMMetaDataDefinitionCategoryService as G, AXMMetaDataDefinitionCategoryServiceImpl as H, AXMPromotionSlotComponent as I, promotionEntityFactory as J, AXMAppPromotionService as K, AXMPromotionServiceImpl as L, AXPRegionalStoreService as M, AXMUpdaterModule as N, AXPUpdaterService as O, RootConfig as R, AXMAppVersionService as a, AXMPlatformManagementModule as b, appTermEntityEntityFactory as c, AXMAppTermService as d, AXMAppTermServiceImpl as e, AXMListTermsComponent as f, AXMNotifyNewTermPopupAction as g, AXMTermUpdateSettingAction as h, AXMNewTermWorkflow as i, appVersionEntityEntityFactory as j, AXMAppVersionServiceImpl as k, AXMNotifyAppComponent as l, AXMAppVersionSlotComponent as m, AXMChangeLogPopupAction as n, AXMChangeLogUpdateSettingAction as o, AXMWhatsNewWorkflow as p, AXMCheckNewVersionAction as q, AXMCheckNewVersionWorkflow as r, dataSourceEntityFactory as s, AXMDataSourceService as t, AXMDataSourceServiceImpl as u, globalVariableEntityFactory as v, AXMGlobalVariablesService as w, AXMGlobalVariablesServiceImpl as x, glossaryEntityFactory as y, AXMGlossaryService as z };
5751
- //# sourceMappingURL=acorex-modules-platform-management-acorex-modules-platform-management-DtXOjIIK.mjs.map
4753
+ export { AXPRegionalSetting as A, AXMGlossaryServiceImpl as B, metaDataDefinitionFactory as C, AXMMetaDataDefinitionService as D, AXMPMetaDataDefinitionServiceImpl as E, metaDataDefinitionCategoryEntityFactory as F, AXMMetaDataDefinitionCategoryService as G, AXMMetaDataDefinitionCategoryServiceImpl as H, AXPRegionalStoreService as I, AXMUpdaterModule as J, AXPUpdaterService as K, RootConfig as R, AXMAppVersionService as a, AXMPlatformManagementModule as b, appTermEntityEntityFactory as c, AXMAppTermService as d, AXMAppTermServiceImpl as e, AXMListTermsComponent as f, AXMNotifyNewTermPopupAction as g, AXMTermUpdateSettingAction as h, AXMNewTermWorkflow as i, appVersionEntityEntityFactory as j, AXMAppVersionServiceImpl as k, AXMNotifyAppComponent as l, AXMAppVersionSlotComponent as m, AXMChangeLogPopupAction as n, AXMChangeLogUpdateSettingAction as o, AXMWhatsNewWorkflow as p, AXMCheckNewVersionAction as q, AXMCheckNewVersionWorkflow as r, dataSourceEntityFactory as s, AXMDataSourceService as t, AXMDataSourceServiceImpl as u, globalVariableEntityFactory as v, AXMGlobalVariablesService as w, AXMGlobalVariablesServiceImpl as x, glossaryEntityFactory as y, AXMGlossaryService as z };
4754
+ //# sourceMappingURL=acorex-modules-platform-management-acorex-modules-platform-management-B8aACrqL.mjs.map