@acorex/modules 20.2.1 → 20.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (78) hide show
  1. package/content-management/index.d.ts +48 -3
  2. package/fesm2022/{acorex-modules-auth-acorex-modules-auth-CdZ9BHOa.mjs → acorex-modules-auth-acorex-modules-auth-BBGqLgJC.mjs} +10 -10
  3. package/fesm2022/{acorex-modules-auth-acorex-modules-auth-CdZ9BHOa.mjs.map → acorex-modules-auth-acorex-modules-auth-BBGqLgJC.mjs.map} +1 -1
  4. package/fesm2022/{acorex-modules-auth-app-chooser.component-D4ehfpnB.mjs → acorex-modules-auth-app-chooser.component-B7Nv62Jj.mjs} +2 -2
  5. package/fesm2022/{acorex-modules-auth-app-chooser.component-D4ehfpnB.mjs.map → acorex-modules-auth-app-chooser.component-B7Nv62Jj.mjs.map} +1 -1
  6. package/fesm2022/{acorex-modules-auth-login.module-BHRC357P.mjs → acorex-modules-auth-login.module-DmEDBKqL.mjs} +4 -4
  7. package/fesm2022/{acorex-modules-auth-login.module-BHRC357P.mjs.map → acorex-modules-auth-login.module-DmEDBKqL.mjs.map} +1 -1
  8. package/fesm2022/{acorex-modules-auth-master.layout-DAYMmpBW.mjs → acorex-modules-auth-master.layout-B8L2FPDN.mjs} +2 -2
  9. package/fesm2022/{acorex-modules-auth-master.layout-DAYMmpBW.mjs.map → acorex-modules-auth-master.layout-B8L2FPDN.mjs.map} +1 -1
  10. package/fesm2022/{acorex-modules-auth-oauth-callback.component-B0Q3w45s.mjs → acorex-modules-auth-oauth-callback.component-BRJu8jom.mjs} +2 -2
  11. package/fesm2022/{acorex-modules-auth-oauth-callback.component-B0Q3w45s.mjs.map → acorex-modules-auth-oauth-callback.component-BRJu8jom.mjs.map} +1 -1
  12. package/fesm2022/{acorex-modules-auth-password.component-BJpxtJYh.mjs → acorex-modules-auth-password.component-Bh0uhx6-.mjs} +2 -2
  13. package/fesm2022/{acorex-modules-auth-password.component-BJpxtJYh.mjs.map → acorex-modules-auth-password.component-Bh0uhx6-.mjs.map} +1 -1
  14. package/fesm2022/acorex-modules-auth-password.component-FNLwhWMe.mjs +226 -0
  15. package/fesm2022/acorex-modules-auth-password.component-FNLwhWMe.mjs.map +1 -0
  16. package/fesm2022/{acorex-modules-auth-routes-hvqL2dCH.mjs → acorex-modules-auth-routes-xqc264U-.mjs} +2 -2
  17. package/fesm2022/{acorex-modules-auth-routes-hvqL2dCH.mjs.map → acorex-modules-auth-routes-xqc264U-.mjs.map} +1 -1
  18. package/fesm2022/{acorex-modules-auth-two-factor.module-kPuT8yUw.mjs → acorex-modules-auth-two-factor.module-C8jrenEW.mjs} +2 -2
  19. package/fesm2022/{acorex-modules-auth-two-factor.module-kPuT8yUw.mjs.map → acorex-modules-auth-two-factor.module-C8jrenEW.mjs.map} +1 -1
  20. package/fesm2022/{acorex-modules-auth-user-sessions.component-Chx_jTSJ.mjs → acorex-modules-auth-user-sessions.component-Cu1SCNnF.mjs} +2 -2
  21. package/fesm2022/{acorex-modules-auth-user-sessions.component-Chx_jTSJ.mjs.map → acorex-modules-auth-user-sessions.component-Cu1SCNnF.mjs.map} +1 -1
  22. package/fesm2022/acorex-modules-auth.mjs +1 -1
  23. package/fesm2022/acorex-modules-content-management.mjs +322 -13
  24. package/fesm2022/acorex-modules-content-management.mjs.map +1 -1
  25. package/fesm2022/acorex-modules-data-management.mjs +0 -1
  26. package/fesm2022/acorex-modules-data-management.mjs.map +1 -1
  27. package/fesm2022/{acorex-modules-document-management-acorex-modules-document-management-C4G6L94e.mjs → acorex-modules-document-management-acorex-modules-document-management-BvIGh15O.mjs} +38 -22
  28. package/fesm2022/acorex-modules-document-management-acorex-modules-document-management-BvIGh15O.mjs.map +1 -0
  29. package/fesm2022/{acorex-modules-document-management-attachment-widget.component-CbDcYxEZ.mjs → acorex-modules-document-management-attachment-widget.component-ClgS3Q8D.mjs} +2 -2
  30. package/fesm2022/{acorex-modules-document-management-attachment-widget.component-CbDcYxEZ.mjs.map → acorex-modules-document-management-attachment-widget.component-ClgS3Q8D.mjs.map} +1 -1
  31. package/fesm2022/{acorex-modules-document-management-create-folder-dialog.component-BCs4aZKn.mjs → acorex-modules-document-management-create-folder-dialog.component-BWMANjYL.mjs} +2 -2
  32. package/fesm2022/{acorex-modules-document-management-create-folder-dialog.component-BCs4aZKn.mjs.map → acorex-modules-document-management-create-folder-dialog.component-BWMANjYL.mjs.map} +1 -1
  33. package/fesm2022/{acorex-modules-document-management-details-view.component-v1VroVv-.mjs → acorex-modules-document-management-details-view.component-BmJB8bb8.mjs} +2 -2
  34. package/fesm2022/{acorex-modules-document-management-details-view.component-v1VroVv-.mjs.map → acorex-modules-document-management-details-view.component-BmJB8bb8.mjs.map} +1 -1
  35. package/fesm2022/{acorex-modules-document-management-drive-choose.component-C5gJtH7_.mjs → acorex-modules-document-management-drive-choose.component-DoUkm43Y.mjs} +2 -2
  36. package/fesm2022/{acorex-modules-document-management-drive-choose.component-C5gJtH7_.mjs.map → acorex-modules-document-management-drive-choose.component-DoUkm43Y.mjs.map} +1 -1
  37. package/fesm2022/{acorex-modules-document-management-drive.component-D5OwpnAP.mjs → acorex-modules-document-management-drive.component-R1V4W9u3.mjs} +2 -2
  38. package/fesm2022/{acorex-modules-document-management-drive.component-D5OwpnAP.mjs.map → acorex-modules-document-management-drive.component-R1V4W9u3.mjs.map} +1 -1
  39. package/fesm2022/{acorex-modules-document-management-large-icons-view.component-DkHt-dTD.mjs → acorex-modules-document-management-large-icons-view.component-C-9UNa_X.mjs} +2 -2
  40. package/fesm2022/{acorex-modules-document-management-large-icons-view.component-DkHt-dTD.mjs.map → acorex-modules-document-management-large-icons-view.component-C-9UNa_X.mjs.map} +1 -1
  41. package/fesm2022/{acorex-modules-document-management-large-tiles-view.component-D2nA00k3.mjs → acorex-modules-document-management-large-tiles-view.component-DL3PEFfv.mjs} +2 -2
  42. package/fesm2022/{acorex-modules-document-management-large-tiles-view.component-D2nA00k3.mjs.map → acorex-modules-document-management-large-tiles-view.component-DL3PEFfv.mjs.map} +1 -1
  43. package/fesm2022/{acorex-modules-document-management-list-view.component-RaW67V7O.mjs → acorex-modules-document-management-list-view.component-BGUDmglV.mjs} +2 -2
  44. package/fesm2022/{acorex-modules-document-management-list-view.component-RaW67V7O.mjs.map → acorex-modules-document-management-list-view.component-BGUDmglV.mjs.map} +1 -1
  45. package/fesm2022/{acorex-modules-document-management-permission-definition.provider-B6nu7fmX.mjs → acorex-modules-document-management-permission-definition.provider-Cbwf5Ved.mjs} +2 -2
  46. package/fesm2022/{acorex-modules-document-management-permission-definition.provider-B6nu7fmX.mjs.map → acorex-modules-document-management-permission-definition.provider-Cbwf5Ved.mjs.map} +1 -1
  47. package/fesm2022/{acorex-modules-document-management-rename-node-dialog.component--6V1Zaoz.mjs → acorex-modules-document-management-rename-node-dialog.component-DXiQj-Hb.mjs} +2 -2
  48. package/fesm2022/{acorex-modules-document-management-rename-node-dialog.component--6V1Zaoz.mjs.map → acorex-modules-document-management-rename-node-dialog.component-DXiQj-Hb.mjs.map} +1 -1
  49. package/fesm2022/{acorex-modules-document-management-small-icons-view.component-Cl1MKsX9.mjs → acorex-modules-document-management-small-icons-view.component-C8RZC3TM.mjs} +2 -2
  50. package/fesm2022/{acorex-modules-document-management-small-icons-view.component-Cl1MKsX9.mjs.map → acorex-modules-document-management-small-icons-view.component-C8RZC3TM.mjs.map} +1 -1
  51. package/fesm2022/{acorex-modules-document-management-small-tiles-view.component-xoO1Loxt.mjs → acorex-modules-document-management-small-tiles-view.component-B70rSvao.mjs} +2 -2
  52. package/fesm2022/{acorex-modules-document-management-small-tiles-view.component-xoO1Loxt.mjs.map → acorex-modules-document-management-small-tiles-view.component-B70rSvao.mjs.map} +1 -1
  53. package/fesm2022/acorex-modules-document-management.mjs +1 -1
  54. package/fesm2022/{acorex-modules-issue-management-acorex-modules-issue-management-CTFlKzqy.mjs → acorex-modules-help-desk-acorex-modules-help-desk-8iEAzfh5.mjs} +77 -30
  55. package/fesm2022/acorex-modules-help-desk-acorex-modules-help-desk-8iEAzfh5.mjs.map +1 -0
  56. package/fesm2022/acorex-modules-help-desk-capture-screen.component-BiJX9lxr.mjs +28 -0
  57. package/fesm2022/acorex-modules-help-desk-capture-screen.component-BiJX9lxr.mjs.map +1 -0
  58. package/fesm2022/acorex-modules-help-desk.mjs +2 -0
  59. package/fesm2022/acorex-modules-help-desk.mjs.map +1 -0
  60. package/fesm2022/{acorex-modules-platform-management-list-version.component-DTfLeVbH.mjs → acorex-modules-platform-management-list-version.component-kFe_wuWc.mjs} +3 -3
  61. package/fesm2022/{acorex-modules-platform-management-list-version.component-DTfLeVbH.mjs.map → acorex-modules-platform-management-list-version.component-kFe_wuWc.mjs.map} +1 -1
  62. package/fesm2022/acorex-modules-platform-management.mjs +12 -232
  63. package/fesm2022/acorex-modules-platform-management.mjs.map +1 -1
  64. package/help-desk/README.md +3 -0
  65. package/{issue-management → help-desk}/index.d.ts +12 -12
  66. package/package.json +5 -5
  67. package/platform-management/index.d.ts +1 -12
  68. package/fesm2022/acorex-modules-auth-password.component-NAY46d_2.mjs +0 -226
  69. package/fesm2022/acorex-modules-auth-password.component-NAY46d_2.mjs.map +0 -1
  70. package/fesm2022/acorex-modules-document-management-acorex-modules-document-management-C4G6L94e.mjs.map +0 -1
  71. package/fesm2022/acorex-modules-issue-management-acorex-modules-issue-management-CTFlKzqy.mjs.map +0 -1
  72. package/fesm2022/acorex-modules-issue-management-capture-screen.component-DDvum8EG.mjs +0 -28
  73. package/fesm2022/acorex-modules-issue-management-capture-screen.component-DDvum8EG.mjs.map +0 -1
  74. package/fesm2022/acorex-modules-issue-management.mjs +0 -2
  75. package/fesm2022/acorex-modules-issue-management.mjs.map +0 -1
  76. package/fesm2022/acorex-modules-platform-management-list-terms.component-B1gl5xfT.mjs +0 -93
  77. package/fesm2022/acorex-modules-platform-management-list-terms.component-B1gl5xfT.mjs.map +0 -1
  78. package/issue-management/README.md +0 -3
@@ -1,15 +1,39 @@
1
1
  import * as i0 from '@angular/core';
2
- import { inject, Injector, Injectable, signal, Component, NgModule } from '@angular/core';
3
- import { AXP_PERMISSION_DEFINITION_PROVIDER } from '@acorex/platform/auth';
4
- import { AXPSearchCommandProvider, AXPFileStorageService, AXP_MENU_PROVIDER, AXP_SETTING_DEFINITION_PROVIDER, AXP_SEARCH_PROVIDER, createAllQueryView, createQueryView, AXPEntityCommandScope, AXPEntityQueryType } from '@acorex/platform/common';
5
- import { AXPEntityService, AXMEntityCrudServiceImpl, AXP_ENTITY_DEFINITION_LOADER } from '@acorex/platform/layout/entity';
6
- import * as i1 from '@acorex/platform/layout/components';
7
- import { AXPComponentSlotModule } from '@acorex/platform/layout/components';
8
- import { AXP_DATASOURCE_DEFINITION_PROVIDER } from '@acorex/platform/core';
2
+ import { inject, Injector, Injectable, signal, Component, NgModule, HostListener } from '@angular/core';
3
+ import { AXPSessionService, AXP_PERMISSION_DEFINITION_PROVIDER } from '@acorex/platform/auth';
4
+ import { AXPSearchCommandProvider, AXPFileStorageService, AXPSettingService, AXP_MENU_PROVIDER, AXP_SETTING_DEFINITION_PROVIDER, AXP_SEARCH_PROVIDER, createAllQueryView, createQueryView, AXPEntityCommandScope, AXPEntityQueryType } from '@acorex/platform/common';
5
+ import { AXPEntityService, AXMEntityCrudServiceImpl, AXP_ENTITY_DEFINITION_LOADER, AXP_ENTITY_CONFIG_TOKEN } from '@acorex/platform/layout/entity';
6
+ import * as i3$1 from '@acorex/platform/layout/components';
7
+ import { AXPComponentSlotModule, AXPThemeLayoutBlockComponent } from '@acorex/platform/layout/components';
8
+ import { AXPPlatformScope, AXPAppStartUpService, AXP_DATASOURCE_DEFINITION_PROVIDER } from '@acorex/platform/core';
9
9
  import { AXDataSource } from '@acorex/cdk/common';
10
10
  import { AXPWidgetsCatalog } from '@acorex/platform/layout/builder';
11
11
  import { AXSafePipe } from '@acorex/core/pipes';
12
+ import { ROUTES } from '@angular/router';
13
+ import * as i2$1 from '@acorex/platform/workflow';
14
+ import { AXPWorkflowAction, AXPWorkflowService, AXPWorkflowModule } from '@acorex/platform/workflow';
15
+ import { AXPopupService } from '@acorex/components/popup';
16
+ import * as i4 from '@acorex/components/button';
17
+ import { AXButtonModule } from '@acorex/components/button';
18
+ import * as i2 from '@acorex/components/check-box';
19
+ import { AXCheckBoxModule } from '@acorex/components/check-box';
20
+ import * as i3 from '@acorex/components/decorators';
21
+ import { AXDecoratorModule } from '@acorex/components/decorators';
22
+ import * as i1 from '@acorex/components/label';
23
+ import { AXLabelModule } from '@acorex/components/label';
24
+ import { AXBasePageComponent } from '@acorex/components/page';
25
+ import * as i6 from '@acorex/core/translation';
26
+ import { AXTranslationModule } from '@acorex/core/translation';
27
+ import * as i5 from '@angular/common';
28
+ import { CommonModule } from '@angular/common';
12
29
  import { AXPWidgetsList } from '@acorex/modules/common';
30
+ import * as i3$2 from '@acorex/cdk/outline';
31
+ import { AXOutlineModule } from '@acorex/cdk/outline';
32
+ import * as i2$2 from '@acorex/components/side-menu';
33
+ import { AXSideMenuModule } from '@acorex/components/side-menu';
34
+ import * as i5$1 from '@acorex/core/format';
35
+ import { AXFormatModule } from '@acorex/core/format';
36
+ import { AXPPageLayoutBaseComponent, AXPPageLayoutComponent, AXPPageLayoutBase } from '@acorex/platform/layout/views';
13
37
 
14
38
  const config = {
15
39
  i18n: 'content-management',
@@ -49,10 +73,12 @@ const RootConfig = {
49
73
  class AXMMenuProvider {
50
74
  constructor() {
51
75
  this.entityService = inject(AXPEntityService);
76
+ this.sessionService = inject(AXPSessionService);
52
77
  }
53
78
  async provide(context) {
54
79
  const scope = RootConfig.config.i18n;
55
80
  const module = RootConfig.module;
81
+ const appName = this.sessionService.application?.name;
56
82
  context.addItems([
57
83
  {
58
84
  priority: 9002,
@@ -84,6 +110,15 @@ class AXMMenuProvider {
84
110
  ],
85
111
  },
86
112
  ]);
113
+ context.find('app-help').addItems([
114
+ {
115
+ name: 'app-terms',
116
+ text: `t('terms-conditions',{scope: "${scope}"})`,
117
+ icon: 'fa-light fa-circle-info',
118
+ path: `${appName}/terms`,
119
+ priority: 100031,
120
+ },
121
+ ]);
87
122
  }
88
123
  }
89
124
 
@@ -341,10 +376,167 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.6", ngImpor
341
376
  type: Injectable
342
377
  }], ctorParameters: () => [] });
343
378
 
379
+ class AXMNotifyAppTermComponent extends AXBasePageComponent {
380
+ constructor() {
381
+ super(...arguments);
382
+ this.isConfirm = false;
383
+ this.i18n = RootConfig.config.i18n;
384
+ }
385
+ transformContent(content) {
386
+ return content.replace(/\n/g, '<br>');
387
+ }
388
+ send() {
389
+ this.close({ data: this.data });
390
+ }
391
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: AXMNotifyAppTermComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
392
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.6", type: AXMNotifyAppTermComponent, isStandalone: true, selector: "axm-notify-app", usesInheritance: true, ngImport: i0, template: "@for (item of data; track $index) {\n<ax-content class=\"ax-block ax-px-4 ax-py-4 ax-font-bold\">{{ item.title }}</ax-content>\n<ax-content class=\"ax-block ax-px-4 ax-pb-4 ax-text-base/6\" [innerHTML]=\"transformContent(item.content) | safe : 'html'\"></ax-content>\n}\n<ax-footer class=\"ax-flex ax-items-center ax-justify-between ax-p-2\">\n <ax-check-box [(value)]=\"isConfirm\">\n <ax-label>{{ 'agreeTerm' | translate : { scope: i18n } | async }}</ax-label>\n </ax-check-box>\n <ax-button (click)=\"send()\" [text]=\"'okay' | translate | async\" [disabled]=\"!isConfirm\" color=\"primary\"></ax-button>\n</ax-footer>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXLabelModule }, { kind: "component", type: i1.AXLabelComponent, selector: "ax-label", inputs: ["required", "for"], outputs: ["requiredChange"] }, { kind: "ngmodule", type: AXCheckBoxModule }, { kind: "component", type: i2.AXCheckBoxComponent, selector: "ax-check-box", inputs: ["disabled", "tabIndex", "readonly", "color", "value", "name", "id", "checked", "isLoading", "indeterminate"], outputs: ["onBlur", "onFocus", "valueChange", "onValueChanged"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3.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: AXButtonModule }, { kind: "component", type: i4.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: "ngmodule", type: AXTranslationModule }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.AXTranslatorPipe, name: "translate" }, { kind: "pipe", type: AXSafePipe, name: "safe" }] }); }
393
+ }
394
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: AXMNotifyAppTermComponent, decorators: [{
395
+ type: Component,
396
+ args: [{ selector: 'axm-notify-app', imports: [
397
+ CommonModule,
398
+ AXLabelModule,
399
+ AXCheckBoxModule,
400
+ AXDecoratorModule,
401
+ AXButtonModule,
402
+ AXTranslationModule,
403
+ AXSafePipe,
404
+ ], template: "@for (item of data; track $index) {\n<ax-content class=\"ax-block ax-px-4 ax-py-4 ax-font-bold\">{{ item.title }}</ax-content>\n<ax-content class=\"ax-block ax-px-4 ax-pb-4 ax-text-base/6\" [innerHTML]=\"transformContent(item.content) | safe : 'html'\"></ax-content>\n}\n<ax-footer class=\"ax-flex ax-items-center ax-justify-between ax-p-2\">\n <ax-check-box [(value)]=\"isConfirm\">\n <ax-label>{{ 'agreeTerm' | translate : { scope: i18n } | async }}</ax-label>\n </ax-check-box>\n <ax-button (click)=\"send()\" [text]=\"'okay' | translate | async\" [disabled]=\"!isConfirm\" color=\"primary\"></ax-button>\n</ax-footer>" }]
405
+ }] });
406
+
407
+ class AXMNotifyNewTermPopupAction extends AXPWorkflowAction {
408
+ constructor() {
409
+ super(...arguments);
410
+ this.popupService = inject(AXPopupService);
411
+ }
412
+ async execute(context) {
413
+ const data = context.getVariable();
414
+ await this.popupService.open(AXMNotifyAppTermComponent, {
415
+ title: 'New Terms And Conditions',
416
+ data: { data },
417
+ closeButton: false,
418
+ });
419
+ }
420
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: AXMNotifyNewTermPopupAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
421
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: AXMNotifyNewTermPopupAction }); }
422
+ }
423
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: AXMNotifyNewTermPopupAction, decorators: [{
424
+ type: Injectable
425
+ }] });
426
+ class AXMTermUpdateSettingAction extends AXPWorkflowAction {
427
+ constructor() {
428
+ super(...arguments);
429
+ this.settingService = inject(AXPSettingService);
430
+ }
431
+ async execute(context) {
432
+ const dataList = context.getVariable();
433
+ for (const data of dataList) {
434
+ await this.settingService.scope(AXPPlatformScope.User).set(`is-confirm-term-${data.id}`, true);
435
+ }
436
+ }
437
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: AXMTermUpdateSettingAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
438
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: AXMTermUpdateSettingAction }); }
439
+ }
440
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: AXMTermUpdateSettingAction, decorators: [{
441
+ type: Injectable
442
+ }] });
443
+ const AXMNewTermWorkflow = {
444
+ startStepId: 'show-popup',
445
+ steps: {
446
+ 'show-popup': {
447
+ action: 'AXMNotifyNewTermPopupAction',
448
+ nextSteps: [
449
+ {
450
+ conditions: [],
451
+ nextStepId: 'first-time-add-to-setting',
452
+ },
453
+ ],
454
+ },
455
+ 'first-time-add-to-setting': {
456
+ action: 'AXMTermUpdateSettingAction',
457
+ },
458
+ },
459
+ };
460
+
461
+ var AXPApplicationTermsSettings;
462
+ (function (AXPApplicationTermsSettings) {
463
+ AXPApplicationTermsSettings["ApplicationTerms"] = "general:startup:application-terms";
464
+ })(AXPApplicationTermsSettings || (AXPApplicationTermsSettings = {}));
465
+
466
+ class AppTermsCheckService {
467
+ constructor() {
468
+ this.settingsService = inject(AXPSettingService);
469
+ this.workflowService = inject(AXPWorkflowService);
470
+ this.appTermService = inject(AXMAppTermService);
471
+ this.appInitService = inject(AXPAppStartUpService);
472
+ this.sessionService = inject(AXPSessionService);
473
+ this.appInitService.registerTask({
474
+ name: 'Terms',
475
+ statusText: 'Check New Terms And Conditions...',
476
+ priority: 6,
477
+ run: async () => {
478
+ this.sessionService.application$.subscribe(async (app) => {
479
+ if (app != null) {
480
+ const filterTerms = [];
481
+ const terms = await this.appTermService.query();
482
+ for (const term of terms.items) {
483
+ const isConfirm = await this.settingsService
484
+ .scope(AXPPlatformScope.User)
485
+ .get(`is-confirm-term-${term.id}`);
486
+ const isEnableToShow = await this.settingsService
487
+ .scope(AXPPlatformScope.User)
488
+ .get(AXPApplicationTermsSettings.ApplicationTerms);
489
+ if (!isConfirm && isEnableToShow) {
490
+ filterTerms.push(term);
491
+ }
492
+ }
493
+ if (filterTerms.length > 0) {
494
+ setTimeout(() => {
495
+ this.workflowService.execute('new-term', filterTerms);
496
+ }, 500);
497
+ }
498
+ }
499
+ });
500
+ },
501
+ });
502
+ }
503
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: AppTermsCheckService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
504
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: AppTermsCheckService }); }
505
+ }
506
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: AppTermsCheckService, decorators: [{
507
+ type: Injectable
508
+ }], ctorParameters: () => [] });
509
+
344
510
  class AXMContentManagementModule {
345
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: AXMContentManagementModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
346
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.1.6", ngImport: i0, type: AXMContentManagementModule, imports: [i1.AXPComponentSlotModule] }); }
511
+ /**
512
+ * @ignore
513
+ */
514
+ constructor(appTermsCheck) { }
515
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: AXMContentManagementModule, deps: [{ token: AppTermsCheckService }], target: i0.ɵɵFactoryTarget.NgModule }); }
516
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.1.6", ngImport: i0, type: AXMContentManagementModule, imports: [i2$1.AXPWorkflowModule, i3$1.AXPComponentSlotModule] }); }
347
517
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: AXMContentManagementModule, providers: [
518
+ {
519
+ provide: ROUTES,
520
+ multi: true,
521
+ useFactory: () => {
522
+ const config = inject(AXP_ENTITY_CONFIG_TOKEN);
523
+ const routes = [
524
+ {
525
+ path: ':app/terms',
526
+ loadComponent: () => {
527
+ return config.viewers.root();
528
+ },
529
+ children: [
530
+ {
531
+ path: '',
532
+ loadComponent: () => Promise.resolve().then(function () { return listTerms_component; }).then((c) => c.AXMListTermsComponent),
533
+ },
534
+ ],
535
+ },
536
+ ];
537
+ return routes;
538
+ },
539
+ },
348
540
  {
349
541
  provide: AXP_MENU_PROVIDER,
350
542
  useClass: AXMMenuProvider,
@@ -387,7 +579,17 @@ class AXMContentManagementModule {
387
579
  useClass: AXMPromotionDataSourceDefinition,
388
580
  multi: true,
389
581
  },
390
- ], imports: [AXPComponentSlotModule.forChild({
582
+ AppTermsCheckService
583
+ ], imports: [AXPWorkflowModule.forChild({
584
+ actions: {
585
+ AXMNotifyNewTermPopupAction,
586
+ AXMTermUpdateSettingAction,
587
+ },
588
+ workflows: {
589
+ 'new-term': AXMNewTermWorkflow,
590
+ },
591
+ }),
592
+ AXPComponentSlotModule.forChild({
391
593
  'side-menu-footer': [
392
594
  {
393
595
  name: 'side-menu-footer-promotion',
@@ -413,6 +615,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.6", ngImpor
413
615
  type: NgModule,
414
616
  args: [{
415
617
  imports: [
618
+ AXPWorkflowModule.forChild({
619
+ actions: {
620
+ AXMNotifyNewTermPopupAction,
621
+ AXMTermUpdateSettingAction,
622
+ },
623
+ workflows: {
624
+ 'new-term': AXMNewTermWorkflow,
625
+ },
626
+ }),
416
627
  AXPComponentSlotModule.forChild({
417
628
  'side-menu-footer': [
418
629
  {
@@ -438,6 +649,28 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.6", ngImpor
438
649
  exports: [],
439
650
  declarations: [],
440
651
  providers: [
652
+ {
653
+ provide: ROUTES,
654
+ multi: true,
655
+ useFactory: () => {
656
+ const config = inject(AXP_ENTITY_CONFIG_TOKEN);
657
+ const routes = [
658
+ {
659
+ path: ':app/terms',
660
+ loadComponent: () => {
661
+ return config.viewers.root();
662
+ },
663
+ children: [
664
+ {
665
+ path: '',
666
+ loadComponent: () => Promise.resolve().then(function () { return listTerms_component; }).then((c) => c.AXMListTermsComponent),
667
+ },
668
+ ],
669
+ },
670
+ ];
671
+ return routes;
672
+ },
673
+ },
441
674
  {
442
675
  provide: AXP_MENU_PROVIDER,
443
676
  useClass: AXMMenuProvider,
@@ -480,9 +713,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.6", ngImpor
480
713
  useClass: AXMPromotionDataSourceDefinition,
481
714
  multi: true,
482
715
  },
716
+ AppTermsCheckService
483
717
  ]
484
718
  }]
485
- }] });
719
+ }], ctorParameters: () => [{ type: AppTermsCheckService }] });
486
720
 
487
721
  /**
488
722
  * Deeply sanitizes an object for storage in IndexedDB by removing non-serializable content
@@ -2225,11 +2459,86 @@ var glossary_entity = /*#__PURE__*/Object.freeze({
2225
2459
  glossaryEntityFactory: glossaryEntityFactory
2226
2460
  });
2227
2461
 
2228
- // app-terms features remain under platform-management for UI/workflows
2462
+ class AXMListTermsComponent extends AXPPageLayoutBaseComponent {
2463
+ constructor() {
2464
+ super(...arguments);
2465
+ this.service = inject(AXMAppTermService);
2466
+ this.terms = [];
2467
+ this.loaded = signal(false, ...(ngDevMode ? [{ debugName: "loaded" }] : []));
2468
+ this.showScrollSide = signal(true, ...(ngDevMode ? [{ debugName: "showScrollSide" }] : []));
2469
+ }
2470
+ ngAfterViewInit() {
2471
+ this.checkScroll();
2472
+ }
2473
+ onResize() {
2474
+ this.checkScroll();
2475
+ }
2476
+ checkScroll() {
2477
+ const contentElement = document.getElementById('contentDiv');
2478
+ if (contentElement != null) {
2479
+ this.showScrollSide.set(contentElement.offsetHeight > window.innerHeight - 140);
2480
+ }
2481
+ }
2482
+ async ngOnInit() {
2483
+ super.ngOnInit();
2484
+ const result = await this.service.query({
2485
+ skip: 0,
2486
+ take: 1000,
2487
+ });
2488
+ this.terms = result.items.map((term) => {
2489
+ return {
2490
+ ...term,
2491
+ content: term.content.replace(/\n/g, '<br>'),
2492
+ };
2493
+ });
2494
+ this.loaded.set(true);
2495
+ setTimeout(() => this.checkScroll(), 50);
2496
+ }
2497
+ getPageTitle() {
2498
+ return `t("app-term.page-title", {scope:"${RootConfig.config.i18n}"})`;
2499
+ }
2500
+ getPageDescription() {
2501
+ return `t("app-term.page-description", {scope:"${RootConfig.config.i18n}"})`;
2502
+ }
2503
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: AXMListTermsComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
2504
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.6", type: AXMListTermsComponent, isStandalone: true, selector: "ng-component", host: { listeners: { "window:resize": "onResize()" } }, providers: [
2505
+ {
2506
+ provide: AXPPageLayoutBase,
2507
+ useExisting: AXMListTermsComponent,
2508
+ },
2509
+ ], usesInheritance: true, ngImport: i0, template: "<axp-page-layout *translate=\"let t\">\n @if(loaded()){\n <axp-page-content id=\"contentDiv\" axOutlineContainer target=\"h2\" [scrollableElementId]=\"'axp-page-layout'\"\n [activationOffset]=\"120\" class=\"ax-flex ax-flex-row\">\n <div class=\"ax-flex ax-flex-col\">\n @for (term of terms; track term.id) {\n <div class=\"ax-flex ax-flex-col\">\n <h2 class=\"ax-px-4 ax-font-semibold ax-text-xl\">{{ term.title }}</h2>\n <p class=\"ax-px-4 ax-text-sm ax-leading-5 ax-opacity-65\">\n {{ term.effectiveDate | format : 'datetime' | async }}\n </p>\n <div class=\"ax-pt-3 ax-pb-6 ax-px-4 ax-text-base/6\" [innerHTML]=\"term.content | safe:'html'\"></div>\n </div>\n }\n </div>\n @if(showScrollSide()){\n <div class=\"ax-hidden lg:ax-block ax-min-w-60\">\n <ax-side-menu axOutlineSideMenu look=\"with-line\" class=\"ax-w-full ax-sticky ax-top-24\"></ax-side-menu>\n </div>\n }\n </axp-page-content>\n }\n</axp-page-layout>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "ngmodule", type: AXFormatModule }, { kind: "component", type: AXPThemeLayoutBlockComponent, selector: " axp-page-content, axp-page-footer-container, axp-page-footer, axp-page-header, axp-page-header-container, axp-page-toolbar, axp-layout-content, axp-layout-page-content, axp-layout-sections, axp-layout-body, axp-layout-page-body, axp-layout-prefix, axp-layout-suffix, axp-layout-title-bar, axp-layout-title, axp-layout-title-actions, axp-layout-nav-button, axp-layout-description, axp-layout-breadcrumbs, axp-layout-list-action, " }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "directive", type: i6.AXTranslatorDirective, selector: "[translate]" }, { kind: "ngmodule", type: AXSideMenuModule }, { kind: "component", type: i2$2.AXSideMenuComponent, selector: "ax-side-menu", inputs: ["items", "look", "location"], outputs: ["itemsChange"] }, { kind: "directive", type: i2$2.AXOutlineSideMenuDirective, selector: "[axOutlineSideMenu]", exportAs: ["axOutlineSideMenu"] }, { kind: "ngmodule", type: AXOutlineModule }, { kind: "directive", type: i3$2.AXOutlineContainerDirective, selector: "[axOutlineContainer]", inputs: ["target", "smoothScroll", "showHashItem", "activationOffset", "copyUrlOnClick", "activateLastAtBottom", "scrollableElementId"], exportAs: ["axOutlineContainer"] }, { kind: "component", type: AXPPageLayoutComponent, selector: "axp-page-layout" }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i5$1.AXFormatPipe, name: "format" }, { kind: "pipe", type: AXSafePipe, name: "safe" }] }); }
2510
+ }
2511
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: AXMListTermsComponent, decorators: [{
2512
+ type: Component,
2513
+ args: [{ imports: [
2514
+ CommonModule,
2515
+ AXDecoratorModule,
2516
+ AXFormatModule,
2517
+ AXPThemeLayoutBlockComponent,
2518
+ AXTranslationModule,
2519
+ AXSideMenuModule,
2520
+ AXOutlineModule,
2521
+ AXPPageLayoutComponent,
2522
+ AXSafePipe,
2523
+ ], providers: [
2524
+ {
2525
+ provide: AXPPageLayoutBase,
2526
+ useExisting: AXMListTermsComponent,
2527
+ },
2528
+ ], template: "<axp-page-layout *translate=\"let t\">\n @if(loaded()){\n <axp-page-content id=\"contentDiv\" axOutlineContainer target=\"h2\" [scrollableElementId]=\"'axp-page-layout'\"\n [activationOffset]=\"120\" class=\"ax-flex ax-flex-row\">\n <div class=\"ax-flex ax-flex-col\">\n @for (term of terms; track term.id) {\n <div class=\"ax-flex ax-flex-col\">\n <h2 class=\"ax-px-4 ax-font-semibold ax-text-xl\">{{ term.title }}</h2>\n <p class=\"ax-px-4 ax-text-sm ax-leading-5 ax-opacity-65\">\n {{ term.effectiveDate | format : 'datetime' | async }}\n </p>\n <div class=\"ax-pt-3 ax-pb-6 ax-px-4 ax-text-base/6\" [innerHTML]=\"term.content | safe:'html'\"></div>\n </div>\n }\n </div>\n @if(showScrollSide()){\n <div class=\"ax-hidden lg:ax-block ax-min-w-60\">\n <ax-side-menu axOutlineSideMenu look=\"with-line\" class=\"ax-w-full ax-sticky ax-top-24\"></ax-side-menu>\n </div>\n }\n </axp-page-content>\n }\n</axp-page-layout>" }]
2529
+ }], propDecorators: { onResize: [{
2530
+ type: HostListener,
2531
+ args: ['window:resize']
2532
+ }] } });
2533
+
2534
+ var listTerms_component = /*#__PURE__*/Object.freeze({
2535
+ __proto__: null,
2536
+ AXMListTermsComponent: AXMListTermsComponent
2537
+ });
2229
2538
 
2230
2539
  /**
2231
2540
  * Generated bundle index. Do not edit.
2232
2541
  */
2233
2542
 
2234
- export { AXMAppPromotionService, AXMAppTermService, AXMAppTermServiceImpl, AXMContentManagementModule, AXMEntityProvider, AXMGlossaryService, AXMGlossaryServiceImpl, AXMMenuProvider, AXMPromotionDataSourceDefinition, AXMPromotionServiceImpl, AXMPromotionSlotComponent, AXMSearchCommandProvider, AXMSettingProvider, RootConfig, appTermEntityEntityFactory, glossaryEntityFactory, promotionEntityFactory };
2543
+ export { AXMAppPromotionService, AXMAppTermService, AXMAppTermServiceImpl, AXMContentManagementModule, AXMEntityProvider, AXMGlossaryService, AXMGlossaryServiceImpl, AXMListTermsComponent, AXMMenuProvider, AXMNotifyAppTermComponent, AXMPromotionDataSourceDefinition, AXMPromotionServiceImpl, AXMPromotionSlotComponent, AXMSearchCommandProvider, AXMSettingProvider, RootConfig, appTermEntityEntityFactory, glossaryEntityFactory, promotionEntityFactory };
2235
2544
  //# sourceMappingURL=acorex-modules-content-management.mjs.map