@acorex/modules 19.2.8 → 19.2.9

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 (77) hide show
  1. package/application-management/lib/layouts/module-entity-detail-view/module-entity-detail-view.component.d.ts +3 -0
  2. package/conversation/lib/entities/chat/chat.module.d.ts +2 -3
  3. package/fesm2022/acorex-modules-application-management.mjs +15 -2
  4. package/fesm2022/acorex-modules-application-management.mjs.map +1 -1
  5. package/fesm2022/{acorex-modules-auth-acorex-modules-auth-HwJJs-3A.mjs → acorex-modules-auth-acorex-modules-auth-D1qxdECo.mjs} +8 -8
  6. package/fesm2022/{acorex-modules-auth-acorex-modules-auth-HwJJs-3A.mjs.map → acorex-modules-auth-acorex-modules-auth-D1qxdECo.mjs.map} +1 -1
  7. package/fesm2022/{acorex-modules-auth-app-chooser.component-BvxMkXPp.mjs → acorex-modules-auth-app-chooser.component-8GCTwtb2.mjs} +2 -2
  8. package/fesm2022/{acorex-modules-auth-app-chooser.component-BvxMkXPp.mjs.map → acorex-modules-auth-app-chooser.component-8GCTwtb2.mjs.map} +1 -1
  9. package/fesm2022/{acorex-modules-auth-login.module-CDvLUxls.mjs → acorex-modules-auth-login.module-DR3QLEM-.mjs} +4 -4
  10. package/fesm2022/{acorex-modules-auth-login.module-CDvLUxls.mjs.map → acorex-modules-auth-login.module-DR3QLEM-.mjs.map} +1 -1
  11. package/fesm2022/{acorex-modules-auth-master.layout-CnKBnl8W.mjs → acorex-modules-auth-master.layout-BMJ5mW63.mjs} +4 -4
  12. package/fesm2022/{acorex-modules-auth-master.layout-CnKBnl8W.mjs.map → acorex-modules-auth-master.layout-BMJ5mW63.mjs.map} +1 -1
  13. package/fesm2022/{acorex-modules-auth-password.component-C16jeHuJ.mjs → acorex-modules-auth-password.component-EXWlXGez.mjs} +2 -2
  14. package/fesm2022/{acorex-modules-auth-password.component-C16jeHuJ.mjs.map → acorex-modules-auth-password.component-EXWlXGez.mjs.map} +1 -1
  15. package/fesm2022/{acorex-modules-auth-password.component-1FnIjiZ8.mjs → acorex-modules-auth-password.component-avrMwyr8.mjs} +2 -2
  16. package/fesm2022/{acorex-modules-auth-password.component-1FnIjiZ8.mjs.map → acorex-modules-auth-password.component-avrMwyr8.mjs.map} +1 -1
  17. package/fesm2022/{acorex-modules-auth-routes-ZDDUhAWd.mjs → acorex-modules-auth-routes-BPYBFOxg.mjs} +2 -2
  18. package/fesm2022/{acorex-modules-auth-routes-ZDDUhAWd.mjs.map → acorex-modules-auth-routes-BPYBFOxg.mjs.map} +1 -1
  19. package/fesm2022/{acorex-modules-auth-two-factor.module-C32MVGby.mjs → acorex-modules-auth-two-factor.module-B_V_nQN_.mjs} +2 -2
  20. package/fesm2022/{acorex-modules-auth-two-factor.module-C32MVGby.mjs.map → acorex-modules-auth-two-factor.module-B_V_nQN_.mjs.map} +1 -1
  21. package/fesm2022/acorex-modules-auth.mjs +1 -1
  22. package/fesm2022/acorex-modules-conversation.mjs +3 -8
  23. package/fesm2022/acorex-modules-conversation.mjs.map +1 -1
  24. package/fesm2022/{acorex-modules-form-template-management-acorex-modules-form-template-management-CUQ-GAN5.mjs → acorex-modules-form-template-management-acorex-modules-form-template-management-gE7jDpjq.mjs} +75 -7
  25. package/fesm2022/acorex-modules-form-template-management-acorex-modules-form-template-management-gE7jDpjq.mjs.map +1 -0
  26. package/fesm2022/{acorex-modules-form-template-management-category.entity-WtgUidaW.mjs → acorex-modules-form-template-management-category.entity-BaX5yaK9.mjs} +2 -2
  27. package/fesm2022/{acorex-modules-form-template-management-category.entity-WtgUidaW.mjs.map → acorex-modules-form-template-management-category.entity-BaX5yaK9.mjs.map} +1 -1
  28. package/fesm2022/{acorex-modules-form-template-management-setting.provider-u7Jv1myU.mjs → acorex-modules-form-template-management-setting.provider-h3v_4sR9.mjs} +2 -2
  29. package/fesm2022/{acorex-modules-form-template-management-setting.provider-u7Jv1myU.mjs.map → acorex-modules-form-template-management-setting.provider-h3v_4sR9.mjs.map} +1 -1
  30. package/fesm2022/{acorex-modules-form-template-management-template-widget-edit.component-DPdPjZGi.mjs → acorex-modules-form-template-management-template-widget-edit.component-GxCDqH9d.mjs} +2 -2
  31. package/fesm2022/{acorex-modules-form-template-management-template-widget-edit.component-DPdPjZGi.mjs.map → acorex-modules-form-template-management-template-widget-edit.component-GxCDqH9d.mjs.map} +1 -1
  32. package/fesm2022/{acorex-modules-form-template-management-template.entity-BnctQkm6.mjs → acorex-modules-form-template-management-template.entity-CzmbpLj_.mjs} +33 -2
  33. package/fesm2022/acorex-modules-form-template-management-template.entity-CzmbpLj_.mjs.map +1 -0
  34. package/fesm2022/acorex-modules-form-template-management-viewer-popup.component-CJKcMi8Q.mjs +93 -0
  35. package/fesm2022/acorex-modules-form-template-management-viewer-popup.component-CJKcMi8Q.mjs.map +1 -0
  36. package/fesm2022/acorex-modules-form-template-management.mjs +1 -1
  37. package/fesm2022/{acorex-modules-organization-management-add-item.component-DsWqdz8M.mjs → acorex-modules-organization-management-add-item.component-PhQRBTtI.mjs} +13 -10
  38. package/fesm2022/acorex-modules-organization-management-add-item.component-PhQRBTtI.mjs.map +1 -0
  39. package/fesm2022/{acorex-modules-organization-management-org-chart-configuration.page-DBc6gISy.mjs → acorex-modules-organization-management-org-chart-configuration.page-DjzqBdaS.mjs} +3 -3
  40. package/fesm2022/acorex-modules-organization-management-org-chart-configuration.page-DjzqBdaS.mjs.map +1 -0
  41. package/fesm2022/{acorex-modules-organization-management-org-chart.page-e-N7Ql80.mjs → acorex-modules-organization-management-org-chart.page-BSh18amn.mjs} +167 -118
  42. package/fesm2022/acorex-modules-organization-management-org-chart.page-BSh18amn.mjs.map +1 -0
  43. package/fesm2022/acorex-modules-organization-management.mjs +2 -2
  44. package/fesm2022/acorex-modules-platform-management.mjs +301 -100
  45. package/fesm2022/acorex-modules-platform-management.mjs.map +1 -1
  46. package/form-template-management/lib/features/viewer/viewer-connector.service.d.ts +12 -0
  47. package/form-template-management/lib/features/viewer/viewer-popup.component.d.ts +23 -0
  48. package/form-template-management/lib/features/viewer/workflows/open-template.workflow.d.ts +9 -0
  49. package/organization-management/lib/features/organization-chart/add-item/add-item.component.d.ts +2 -1
  50. package/organization-management/lib/features/organization-chart/org-chart-configuration.page.d.ts +3 -0
  51. package/organization-management/lib/features/organization-chart/org-chart.page.d.ts +3 -0
  52. package/organization-management/lib/features/organization-chart/org-chart.service.d.ts +15 -13
  53. package/package.json +5 -5
  54. package/platform-management/lib/common/regional/index.d.ts +0 -2
  55. package/platform-management/lib/common/regional/language-slot/language-slot.component.d.ts +1 -1
  56. package/platform-management/lib/entities/check-version.d.ts +1 -0
  57. package/platform-management/lib/entities/data-source/data-source.types.d.ts +2 -1
  58. package/platform-management/lib/entities/data-source/datasource-provider.dynamic.d.ts +2 -0
  59. package/fesm2022/acorex-modules-form-template-management-acorex-modules-form-template-management-CUQ-GAN5.mjs.map +0 -1
  60. package/fesm2022/acorex-modules-form-template-management-template.entity-BnctQkm6.mjs.map +0 -1
  61. package/fesm2022/acorex-modules-organization-management-add-item.component-DsWqdz8M.mjs.map +0 -1
  62. package/fesm2022/acorex-modules-organization-management-org-chart-configuration.page-DBc6gISy.mjs.map +0 -1
  63. package/fesm2022/acorex-modules-organization-management-org-chart.page-e-N7Ql80.mjs.map +0 -1
  64. package/fesm2022/acorex-modules-platform-management-countries-0S6HdpYF.mjs +0 -500
  65. package/fesm2022/acorex-modules-platform-management-countries-0S6HdpYF.mjs.map +0 -1
  66. package/fesm2022/acorex-modules-platform-management-currencies-vgPg4Hj3.mjs +0 -13
  67. package/fesm2022/acorex-modules-platform-management-currencies-vgPg4Hj3.mjs.map +0 -1
  68. package/fesm2022/acorex-modules-platform-management-regional-formats-BaHofjWg.mjs +0 -14
  69. package/fesm2022/acorex-modules-platform-management-regional-formats-BaHofjWg.mjs.map +0 -1
  70. package/fesm2022/acorex-modules-platform-management-timezones-BoScbn0h.mjs +0 -15
  71. package/fesm2022/acorex-modules-platform-management-timezones-BoScbn0h.mjs.map +0 -1
  72. package/platform-management/lib/common/regional/data/countries.d.ts +0 -2
  73. package/platform-management/lib/common/regional/data/currencies.d.ts +0 -2
  74. package/platform-management/lib/common/regional/data/regional-formats.d.ts +0 -2
  75. package/platform-management/lib/common/regional/data/timezones.d.ts +0 -2
  76. package/platform-management/lib/common/regional/regional-util.service.d.ts +0 -12
  77. package/platform-management/lib/common/regional/regional.types.d.ts +0 -52
@@ -0,0 +1,93 @@
1
+ import * as i2 from '@acorex/platform/layout/builder';
2
+ import { AXPWidgetsCatalog, AXPWidgetDataSourceProviderService, AXPLayoutBuilderModule } from '@acorex/platform/layout/builder';
3
+ import * as i1 from '@angular/common';
4
+ import { CommonModule } from '@angular/common';
5
+ import * as i0 from '@angular/core';
6
+ import { signal, inject, computed, Component, ViewEncapsulation } from '@angular/core';
7
+ import { c as AXPFormTemplateViewerConnector } from './acorex-modules-form-template-management-acorex-modules-form-template-management-gE7jDpjq.mjs';
8
+ import { AXBasePageComponent } from '@acorex/components/page';
9
+ import * as i5 from '@acorex/components/decorators';
10
+ import { AXDecoratorModule } from '@acorex/components/decorators';
11
+ import * as i4 from '@acorex/components/button';
12
+ import { AXButtonModule } from '@acorex/components/button';
13
+ import * as i5$1 from '@acorex/components/form';
14
+ import { AXFormModule } from '@acorex/components/form';
15
+ import * as i3 from '@acorex/core/translation';
16
+ import { AXTranslationModule } from '@acorex/core/translation';
17
+
18
+ class AXPFormTemplateViewerPopupComponent extends AXBasePageComponent {
19
+ constructor() {
20
+ super(...arguments);
21
+ this.context = {};
22
+ this.document = signal({ type: AXPWidgetsCatalog.document });
23
+ this.currentPageIndex = signal(0);
24
+ this.connector = inject(AXPFormTemplateViewerConnector);
25
+ this.dataSourceProvider = inject(AXPWidgetDataSourceProviderService);
26
+ this.templateId = '';
27
+ this.currentPage = computed(() => {
28
+ return (this.document().children?.[this.currentPageIndex()] ?? { type: AXPWidgetsCatalog.pageLayout });
29
+ });
30
+ this.functions = {
31
+ getDataSourceNames: this.getDataSources.bind(this),
32
+ };
33
+ }
34
+ async ngOnInit() {
35
+ super.ngOnInit();
36
+ const data = await this.connector.load(this.templateId);
37
+ this.document.set(JSON.parse(data || '{}'));
38
+ }
39
+ handleContextChanged(e) {
40
+ this.context = e.data;
41
+ }
42
+ async getDataSources(name) {
43
+ return await this.dataSourceProvider.get(name);
44
+ }
45
+ async handleSubmitClick(form) {
46
+ const formResult = await form.validate();
47
+ if (formResult.result) {
48
+ await this.connector.submit(this.templateId, this.context);
49
+ this.close();
50
+ }
51
+ }
52
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPFormTemplateViewerPopupComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
53
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: AXPFormTemplateViewerPopupComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `
54
+ <div class="ax-p-4 ax-min-h-64">
55
+ <ax-form #form>
56
+ <axp-widgets-container [context]="context" (onContextChanged)="handleContextChanged($event)">
57
+ <ng-container axp-widget-renderer [node]="currentPage()" [mode]="'edit'"></ng-container>
58
+ </axp-widgets-container>
59
+ </ax-form>
60
+ </div>
61
+ <ax-footer *translate="let t">
62
+ <ax-suffix>
63
+ <ax-button [text]="t('cancel') | async" (onClick)="this.close()"></ax-button>
64
+ <ax-button color="primary" [text]="t('submit') | async" (onClick)="handleSubmitClick(form)"> </ax-button>
65
+ </ax-suffix>
66
+ </ax-footer>
67
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: AXPLayoutBuilderModule }, { kind: "component", type: i2.AXPWidgetContainerComponent, selector: "axp-widgets-container", inputs: ["context", "functions"], outputs: ["onContextChanged"] }, { kind: "directive", type: i2.AXPWidgetRendererDirective, selector: "[axp-widget-renderer]", inputs: ["parentNode", "index", "mode", "node"], exportAs: ["widgetRenderer"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i5.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", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "ngmodule", type: AXFormModule }, { kind: "component", type: i5$1.AXFormComponent, selector: "ax-form", inputs: ["labelMode", "look", "messageStyle", "updateOn"], outputs: ["onValidate", "updateOnChange"] }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "directive", type: i3.AXTranslatorDirective, selector: "[translate]" }], encapsulation: i0.ViewEncapsulation.None }); }
68
+ }
69
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPFormTemplateViewerPopupComponent, decorators: [{
70
+ type: Component,
71
+ args: [{
72
+ template: `
73
+ <div class="ax-p-4 ax-min-h-64">
74
+ <ax-form #form>
75
+ <axp-widgets-container [context]="context" (onContextChanged)="handleContextChanged($event)">
76
+ <ng-container axp-widget-renderer [node]="currentPage()" [mode]="'edit'"></ng-container>
77
+ </axp-widgets-container>
78
+ </ax-form>
79
+ </div>
80
+ <ax-footer *translate="let t">
81
+ <ax-suffix>
82
+ <ax-button [text]="t('cancel') | async" (onClick)="this.close()"></ax-button>
83
+ <ax-button color="primary" [text]="t('submit') | async" (onClick)="handleSubmitClick(form)"> </ax-button>
84
+ </ax-suffix>
85
+ </ax-footer>
86
+ `,
87
+ encapsulation: ViewEncapsulation.None,
88
+ imports: [CommonModule, AXPLayoutBuilderModule, AXDecoratorModule, AXButtonModule, AXFormModule, AXTranslationModule]
89
+ }]
90
+ }] });
91
+
92
+ export { AXPFormTemplateViewerPopupComponent };
93
+ //# sourceMappingURL=acorex-modules-form-template-management-viewer-popup.component-CJKcMi8Q.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-modules-form-template-management-viewer-popup.component-CJKcMi8Q.mjs","sources":["../../../../libs/modules/form-template-management/src/lib/features/viewer/viewer-popup.component.ts"],"sourcesContent":["import { AXPLayoutBuilderModule, AXPLayoutContextChangeEvent, AXPWidgetDataSource, AXPWidgetDataSourceProviderService, AXPWidgetNode, AXPWidgetsCatalog } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { Component, computed, inject, signal, ViewEncapsulation } from '@angular/core';\nimport { AXPFormTemplateViewerConnector } from './viewer-connector.service'\nimport { AXBasePageComponent } from '@acorex/components/page';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXFormComponent, AXFormModule } from '@acorex/components/form';\nimport { AXTranslationModule } from '@acorex/core/translation';\n\n@Component({\n template: `\n <div class=\"ax-p-4 ax-min-h-64\">\n <ax-form #form>\n <axp-widgets-container [context]=\"context\" (onContextChanged)=\"handleContextChanged($event)\">\n <ng-container axp-widget-renderer [node]=\"currentPage()\" [mode]=\"'edit'\"></ng-container>\n </axp-widgets-container>\n </ax-form>\n </div>\n <ax-footer *translate=\"let t\">\n <ax-suffix>\n <ax-button [text]=\"t('cancel') | async\" (onClick)=\"this.close()\"></ax-button>\n <ax-button color=\"primary\" [text]=\"t('submit') | async\" (onClick)=\"handleSubmitClick(form)\"> </ax-button>\n </ax-suffix>\n </ax-footer>\n `,\n encapsulation: ViewEncapsulation.None,\n imports: [CommonModule, AXPLayoutBuilderModule, AXDecoratorModule, AXButtonModule, AXFormModule, AXTranslationModule]\n})\nexport class AXPFormTemplateViewerPopupComponent extends AXBasePageComponent {\n\n\n protected context: any = {};\n protected readonly document = signal({ type: AXPWidgetsCatalog.document } as AXPWidgetNode);\n protected readonly currentPageIndex = signal(0);\n protected connector = inject(AXPFormTemplateViewerConnector);\n protected dataSourceProvider = inject(AXPWidgetDataSourceProviderService);\n\n protected templateId: string = '';\n\n protected readonly currentPage = computed(() => {\n return (\n this.document().children?.[this.currentPageIndex()] ?? ({ type: AXPWidgetsCatalog.pageLayout } as AXPWidgetNode)\n );\n });\n\n\n protected override async ngOnInit() {\n super.ngOnInit();\n const data = await this.connector.load(this.templateId);\n this.document.set(JSON.parse(data || '{}'));\n }\n\n\n\n protected handleContextChanged(e: AXPLayoutContextChangeEvent) {\n this.context = e.data;\n }\n\n protected functions = {\n getDataSourceNames: this.getDataSources.bind(this),\n };\n\n private async getDataSources(name: string): Promise<AXPWidgetDataSource | undefined> {\n return await this.dataSourceProvider.get(name);\n }\n\n protected async handleSubmitClick(form: AXFormComponent) {\n const formResult = await form.validate();\n if (formResult.result) {\n await this.connector.submit(this.templateId, this.context);\n this.close();\n }\n }\n}\n"],"names":["i5","i6"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export { e as AXMFormTemplateManagementCategoryEntityModule, A as AXMFormTemplateManagementCategoryEntityService, f as AXMFormTemplateManagementCategoryEntityServiceImpl, d as AXMFormTemplateManagementModule, g as AXMFormTemplateManagementTemplateEntityModule, a as AXMFormTemplateManagementTemplateEntityService, h as AXMFormTemplateManagementTemplateEntityServiceImpl, b as AXMFormTemplateTypes, R as RootConfig } from './acorex-modules-form-template-management-acorex-modules-form-template-management-CUQ-GAN5.mjs';
1
+ export { f as AXMFormTemplateManagementCategoryEntityModule, A as AXMFormTemplateManagementCategoryEntityService, g as AXMFormTemplateManagementCategoryEntityServiceImpl, e as AXMFormTemplateManagementModule, h as AXMFormTemplateManagementTemplateEntityModule, a as AXMFormTemplateManagementTemplateEntityService, i as AXMFormTemplateManagementTemplateEntityServiceImpl, b as AXMFormTemplateTypes, R as RootConfig } from './acorex-modules-form-template-management-acorex-modules-form-template-management-gE7jDpjq.mjs';
2
2
  //# sourceMappingURL=acorex-modules-form-template-management.mjs.map
@@ -39,13 +39,16 @@ class AddItemComponent extends AXBasePageComponent {
39
39
  load: async (e) => await this.config.query(e)
40
40
  });
41
41
  }
42
- handleSaveClick() {
43
- this.close({
44
- id: this.selectItem[this.config.valueField],
45
- title: this.title,
46
- subtitle: this.subtitle,
47
- description: this.description
48
- });
42
+ async handleSaveClick(form) {
43
+ const formResult = await form.validate();
44
+ if (formResult.result) {
45
+ this.close({
46
+ id: this.selectItem[this.config.valueField],
47
+ title: this.title,
48
+ subtitle: this.subtitle,
49
+ description: this.description
50
+ });
51
+ }
49
52
  }
50
53
  handleValueChanged(e) {
51
54
  this.selectItem = e.component.dataService.selectedItems[0];
@@ -60,7 +63,7 @@ class AddItemComponent extends AXBasePageComponent {
60
63
  }
61
64
  }
62
65
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AddItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
63
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: AddItemComponent, isStandalone: true, selector: "ng-component", providers: [], usesInheritance: true, ngImport: i0, template: "<ax-form *translate=\"let t\">\n <div class=\"ax-flex ax-flex-col ax-gap-4 ax-p-4\">\n <ax-form-field>\n <ax-label>{{t('choose') | async}} </ax-label>\n <ax-select-box [dataSource]=\"dataSource\" textField=\"title\" valueField=\"id\"\n (onValueChanged)=\"handleValueChanged($event)\">\n <ax-search-box></ax-search-box>\n <ax-validation-rule rule=\"required\"> </ax-validation-rule>\n </ax-select-box>\n </ax-form-field>\n <!-- <ax-form-field>\n <ax-label>{{t('title') | async}} </ax-label>\n <ax-text-box [(ngModel)]=\"title\">\n <ax-validation-rule rule=\"required\"> </ax-validation-rule>\n </ax-text-box>\n </ax-form-field> -->\n <ax-form-field>\n <ax-label>{{t('subtitle') | async}} </ax-label>\n <ax-text-box [(ngModel)]=\"subtitle\">\n </ax-text-box>\n </ax-form-field>\n <ax-form-field>\n <ax-label>{{t('description') | async}} </ax-label>\n <ax-text-area [(ngModel)]=\"description\">\n </ax-text-area>\n </ax-form-field>\n </div>\n</ax-form>\n<ax-footer *translate=\"let t\">\n <ax-suffix>\n <ax-button [text]=\"t('cancel') | async\" (onClick)=\"this.close()\"> </ax-button>\n <ax-button color=\"primary\" [text]=\"t('save') | async\" (onClick)=\"handleSaveClick()\"> </ax-button>\n </ax-suffix>\n</ax-footer>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type:
66
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: AddItemComponent, isStandalone: true, selector: "ng-component", providers: [], usesInheritance: true, ngImport: i0, template: "<ax-form *translate=\"let t\" #form>\n <div class=\"ax-flex ax-flex-col ax-gap-4 ax-p-4\">\n <ax-form-field>\n <ax-label>{{t('choose') | async}} </ax-label>\n <ax-select-box [dataSource]=\"dataSource\" textField=\"title\" valueField=\"id\"\n (onValueChanged)=\"handleValueChanged($event)\">\n <ax-search-box></ax-search-box>\n <ax-validation-rule rule=\"required\"> </ax-validation-rule>\n </ax-select-box>\n </ax-form-field>\n <!-- <ax-form-field>\n <ax-label>{{t('title') | async}} </ax-label>\n <ax-text-box [(ngModel)]=\"title\">\n <ax-validation-rule rule=\"required\"> </ax-validation-rule>\n </ax-text-box>\n </ax-form-field> -->\n <ax-form-field>\n <ax-label>{{t('subtitle') | async}} </ax-label>\n <ax-text-box [(ngModel)]=\"subtitle\">\n </ax-text-box>\n </ax-form-field>\n <ax-form-field>\n <ax-label>{{t('description') | async}} </ax-label>\n <ax-text-area [(ngModel)]=\"description\">\n </ax-text-area>\n </ax-form-field>\n </div>\n <ax-footer *translate=\"let t\">\n <ax-suffix>\n <ax-button [text]=\"t('cancel') | async\" (onClick)=\"this.close()\"> </ax-button>\n <ax-button color=\"primary\" [text]=\"t('save') | async\" (onClick)=\"handleSaveClick(form)\"> </ax-button>\n </ax-suffix>\n </ax-footer>\n</ax-form>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type:
64
67
  //
65
68
  AXSelectBoxModule }, { kind: "component", type: i3.AXSelectBoxComponent, selector: "ax-select-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "minValue", "maxValue", "value", "state", "name", "id", "type", "look", "multiple", "valueField", "textField", "textTemplate", "selectedItems", "dataSource", "caption", "itemTemplate", "selectedTemplate", "emptyTemplate", "loadingTemplate", "dropdownWidth"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onOpened", "onClosed"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i3$1.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "ngmodule", type: AXLabelModule }, { kind: "component", type: i5.AXLabelComponent, selector: "ax-label", inputs: ["required", "for"], outputs: ["requiredChange"] }, { kind: "ngmodule", type: AXFormModule }, { kind: "component", type: i6.AXFormFieldComponent, selector: "ax-form-field", inputs: ["labelMode"] }, { kind: "component", type: i6.AXFormComponent, selector: "ax-form", inputs: ["labelMode", "look", "messageStyle", "updateOn"], outputs: ["onValidate", "updateOnChange"] }, { kind: "directive", type: i6.AXValidationRuleDirective, selector: "ax-validation-rule", inputs: ["rule", "options", "message"] }, { kind: "ngmodule", type: AXSearchBoxModule }, { kind: "component", type: i7.AXSearchBoxComponent, selector: "ax-search-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "value", "state", "name", "id", "look", "class", "delayTime"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i5$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: AXTextBoxModule }, { kind: "component", type: i9.AXTextBoxComponent, selector: "ax-text-box", inputs: ["disabled", "tabIndex", "readonly", "value", "state", "name", "id", "placeholder", "maxLength", "allowNull", "type", "autoComplete", "look", "mask-options", "class"], outputs: ["onBlur", "onFocus", "valueChange", "stateChange", "onValueChanged", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "ngmodule", type: AXTextAreaModule }, { kind: "component", type: i10.AXTextAreaComponent, selector: "ax-text-area", inputs: ["disabled", "tabIndex", "readonly", "value", "state", "name", "placeholder", "maxLength", "look", "rows", "allowResize", "showCounter", "class"], outputs: ["onBlur", "onFocus", "valueChange", "stateChange", "onValueChanged", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "directive", type: i4.AXTranslatorDirective, selector: "[translate]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
66
69
  }
@@ -79,8 +82,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
79
82
  AXTextBoxModule,
80
83
  AXTextAreaModule,
81
84
  AXTranslationModule
82
- ], providers: [], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ax-form *translate=\"let t\">\n <div class=\"ax-flex ax-flex-col ax-gap-4 ax-p-4\">\n <ax-form-field>\n <ax-label>{{t('choose') | async}} </ax-label>\n <ax-select-box [dataSource]=\"dataSource\" textField=\"title\" valueField=\"id\"\n (onValueChanged)=\"handleValueChanged($event)\">\n <ax-search-box></ax-search-box>\n <ax-validation-rule rule=\"required\"> </ax-validation-rule>\n </ax-select-box>\n </ax-form-field>\n <!-- <ax-form-field>\n <ax-label>{{t('title') | async}} </ax-label>\n <ax-text-box [(ngModel)]=\"title\">\n <ax-validation-rule rule=\"required\"> </ax-validation-rule>\n </ax-text-box>\n </ax-form-field> -->\n <ax-form-field>\n <ax-label>{{t('subtitle') | async}} </ax-label>\n <ax-text-box [(ngModel)]=\"subtitle\">\n </ax-text-box>\n </ax-form-field>\n <ax-form-field>\n <ax-label>{{t('description') | async}} </ax-label>\n <ax-text-area [(ngModel)]=\"description\">\n </ax-text-area>\n </ax-form-field>\n </div>\n</ax-form>\n<ax-footer *translate=\"let t\">\n <ax-suffix>\n <ax-button [text]=\"t('cancel') | async\" (onClick)=\"this.close()\"> </ax-button>\n <ax-button color=\"primary\" [text]=\"t('save') | async\" (onClick)=\"handleSaveClick()\"> </ax-button>\n </ax-suffix>\n</ax-footer>" }]
85
+ ], providers: [], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ax-form *translate=\"let t\" #form>\n <div class=\"ax-flex ax-flex-col ax-gap-4 ax-p-4\">\n <ax-form-field>\n <ax-label>{{t('choose') | async}} </ax-label>\n <ax-select-box [dataSource]=\"dataSource\" textField=\"title\" valueField=\"id\"\n (onValueChanged)=\"handleValueChanged($event)\">\n <ax-search-box></ax-search-box>\n <ax-validation-rule rule=\"required\"> </ax-validation-rule>\n </ax-select-box>\n </ax-form-field>\n <!-- <ax-form-field>\n <ax-label>{{t('title') | async}} </ax-label>\n <ax-text-box [(ngModel)]=\"title\">\n <ax-validation-rule rule=\"required\"> </ax-validation-rule>\n </ax-text-box>\n </ax-form-field> -->\n <ax-form-field>\n <ax-label>{{t('subtitle') | async}} </ax-label>\n <ax-text-box [(ngModel)]=\"subtitle\">\n </ax-text-box>\n </ax-form-field>\n <ax-form-field>\n <ax-label>{{t('description') | async}} </ax-label>\n <ax-text-area [(ngModel)]=\"description\">\n </ax-text-area>\n </ax-form-field>\n </div>\n <ax-footer *translate=\"let t\">\n <ax-suffix>\n <ax-button [text]=\"t('cancel') | async\" (onClick)=\"this.close()\"> </ax-button>\n <ax-button color=\"primary\" [text]=\"t('save') | async\" (onClick)=\"handleSaveClick(form)\"> </ax-button>\n </ax-suffix>\n </ax-footer>\n</ax-form>" }]
83
86
  }], ctorParameters: () => [] });
84
87
 
85
88
  export { AddItemComponent };
86
- //# sourceMappingURL=acorex-modules-organization-management-add-item.component-DsWqdz8M.mjs.map
89
+ //# sourceMappingURL=acorex-modules-organization-management-add-item.component-PhQRBTtI.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-modules-organization-management-add-item.component-PhQRBTtI.mjs","sources":["../../../../libs/modules/organization-management/src/lib/features/organization-chart/add-item/add-item.component.ts","../../../../libs/modules/organization-management/src/lib/features/organization-chart/add-item/add-item.component.html"],"sourcesContent":["import { AXButtonModule } from '@acorex/components/button';\nimport { AXDataSource, AXDataSourceLoadCallback, AXValueChangedEvent } from '@acorex/components/common';\nimport { AXFormComponent, AXFormModule } from '@acorex/components/form';\nimport { AXLabelModule } from '@acorex/components/label';\nimport { AXBasePageComponent } from '@acorex/components/page';\nimport { AXSearchBoxModule } from '@acorex/components/search-box';\nimport { AXSelectBoxModule } from '@acorex/components/select-box';\nimport { ChangeDetectionStrategy, Component, inject, model } from '@angular/core';\nimport { AXMOrgChartService } from '../org-chart.service';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { CommonModule } from '@angular/common';\nimport { AXMOrgChartConfigService } from '../org-chart-configuration.service';\nimport { AXTextBoxModule } from '@acorex/components/text-box';\nimport { AXTextAreaModule } from '@acorex/components/text-area';\nimport { FormsModule } from '@angular/forms';\n\n@Component({\n templateUrl: './add-item.component.html',\n imports: [\n CommonModule,\n FormsModule,\n //\n AXSelectBoxModule,\n AXButtonModule,\n AXLabelModule,\n AXFormModule,\n AXSearchBoxModule,\n AXDecoratorModule,\n AXTextBoxModule,\n AXTextAreaModule,\n AXTranslationModule\n ],\n providers: [],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AddItemComponent extends AXBasePageComponent {\n\n\n protected title: string;\n protected subtitle: string;\n protected description: string;\n\n selectItem: any;\n\n config: {\n query: AXDataSourceLoadCallback<any>,\n valueField: string;\n titleField: string;\n subtitleField?: string;\n descriptionField?: string;\n } = {\n valueField: 'id',\n titleField: 'title',\n query: () => Promise.resolve({ items: [], total: 0 })\n };\n\n constructor() {\n super();\n }\n\n protected dataSource = new AXDataSource<any>({\n pageSize: 10,\n key: this.config.valueField,\n load: async (e) => await this.config.query(e)\n });\n\n\n protected async handleSaveClick(form: AXFormComponent) {\n const formResult = await form.validate();\n if (formResult.result) {\n this.close({\n id: this.selectItem[this.config.valueField],\n title: this.title,\n subtitle: this.subtitle,\n description: this.description\n });\n }\n }\n\n protected handleValueChanged(e: AXValueChangedEvent<any>) {\n this.selectItem = e.component.dataService.selectedItems[0];\n if (this.selectItem) {\n this.title = this.selectItem[this.config.titleField];\n if (this.config.subtitleField) {\n this.subtitle = this.selectItem[this.config.subtitleField];\n }\n if (this.config.descriptionField) {\n this.description = this.selectItem[this.config.descriptionField];\n }\n }\n }\n}\n","<ax-form *translate=\"let t\" #form>\n <div class=\"ax-flex ax-flex-col ax-gap-4 ax-p-4\">\n <ax-form-field>\n <ax-label>{{t('choose') | async}} </ax-label>\n <ax-select-box [dataSource]=\"dataSource\" textField=\"title\" valueField=\"id\"\n (onValueChanged)=\"handleValueChanged($event)\">\n <ax-search-box></ax-search-box>\n <ax-validation-rule rule=\"required\"> </ax-validation-rule>\n </ax-select-box>\n </ax-form-field>\n <!-- <ax-form-field>\n <ax-label>{{t('title') | async}} </ax-label>\n <ax-text-box [(ngModel)]=\"title\">\n <ax-validation-rule rule=\"required\"> </ax-validation-rule>\n </ax-text-box>\n </ax-form-field> -->\n <ax-form-field>\n <ax-label>{{t('subtitle') | async}} </ax-label>\n <ax-text-box [(ngModel)]=\"subtitle\">\n </ax-text-box>\n </ax-form-field>\n <ax-form-field>\n <ax-label>{{t('description') | async}} </ax-label>\n <ax-text-area [(ngModel)]=\"description\">\n </ax-text-area>\n </ax-form-field>\n </div>\n <ax-footer *translate=\"let t\">\n <ax-suffix>\n <ax-button [text]=\"t('cancel') | async\" (onClick)=\"this.close()\"> </ax-button>\n <ax-button color=\"primary\" [text]=\"t('save') | async\" (onClick)=\"handleSaveClick(form)\"> </ax-button>\n </ax-suffix>\n </ax-footer>\n</ax-form>"],"names":["i4","i8","i11"],"mappings":"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"}
@@ -56,7 +56,7 @@ class AXMOrgChartConfigurationPage {
56
56
  });
57
57
  }
58
58
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXMOrgChartConfigurationPage, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
59
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: AXMOrgChartConfigurationPage, isStandalone: true, selector: "ng-component", providers: [AXMOrgChartConfigService], ngImport: i0, template: "<axp-layout-simple-page *translate=\"let t\">\n <axp-layout-header>\n <axp-layout-title> {{t(rootConfig.entities.structure.title) | async}} </axp-layout-title>\n\n <axp-layout-description>Customize your organization's hierarchical relationships</axp-layout-description>\n\n <axp-layout-actions>\n <axp-layout-actions-primary> </axp-layout-actions-primary>\n <axp-layout-actions-secondary>\n <ax-button-item [text]=\"(t('reset') | async)!\">\n <ax-prefix>\n <ax-icon [icon]=\"'fa-solid fa-print'\"> </ax-icon>\n </ax-prefix>\n </ax-button-item>\n </axp-layout-actions-secondary>\n </axp-layout-actions>\n\n\n <axp-layout-breadcrumbs>\n <ax-breadcrumbs [class.ax-hidden]=\"layout.isSmall()\">\n <ng-template #divider>\n <i class=\"fa-regular fa-slash-forward\"></i>\n </ng-template>\n <ax-breadcrumbs-item>\n Home\n </ax-breadcrumbs-item>\n <ax-breadcrumbs-item>\n Organization\n </ax-breadcrumbs-item>\n </ax-breadcrumbs>\n </axp-layout-breadcrumbs>\n </axp-layout-header>\n\n <axp-layout-content>\n <div class=\"ax-flex ax-flex-col ax-gap-6 ax-w-full \">\n <div>\n <h3 class=\"ax-font-semibold ax-text-xl\">Relations Permissions</h3>\n <p class=\"ax-text-sm ax-opacity-85\">\n This matrix sets the relationships between nodes in your organization chart. Click a cell to toggle the\n relation between <span class=\"ax-text-danger-500\">Allowed</span> and <span\n class=\"ax-text-success-500\">Denied</span>.\n </p>\n </div>\n <!---------------- Matrix Table ---------------->\n <div class=\"ax-w-full ax-overflow-auto\">\n <table class=\"ax-table-auto ax-border-collapse ax-max-w-fit ax-border-primary-darkest ax-rounded-md\">\n <thead>\n <tr class=\"ax-bg-primary-light ax-text-on-primary-light\">\n <!-- Top-left empty cell -->\n <th class=\"ax-border ax-border-primary-darkest ax-p-4 ax-font-semibold ax-text-start\">Parent\n \\\n Child</th>\n <!-- Horizontal headers -->\n @for ( type of chartService.types; track $index) {\n <th class=\"ax-border ax-border-primary-darkest ax-p-4 ax-min-w-32 ax-text-center ax-font-semibold\">\n {{ type }}\n </th>\n }\n </tr>\n </thead>\n <tbody>\n <!-- For each parent type, render a row with alternating backgrounds -->\n @for ( parent of chartService.types; track $index) {\n <tr>\n <!-- Vertical header cell with custom header colors -->\n <td\n class=\"ax-border ax-border-primary-darkest ax-p-4 ax-font-semibold ax-bg-primary-light ax-text-on-primary-light ax-text-start\">\n {{ parent }}\n </td>\n <!-- Render a cell for each potential child type -->\n @for ( child of chartService.types; track $index) {\n <td class=\"ax-border ax-border-primary-darkest ax-p-2 \">\n <div class=\"ax-flex ax-justify-center ax-cursor-pointer ax-sm\">\n @let isLoading = loadingStates()[parent]?.[child];\n <ax-button look=\"blank\" [color]=\"chartService.isAllowed(parent, child) ? 'success' : 'danger'\"\n [text]=\"chartService.isAllowed(parent, child) ? 'Allowed' : 'Denied'\" [disabled]=\"isLoading\"\n (onClick)=\"togglePermission(parent, child)\">\n @if(isLoading)\n {\n <ax-loading></ax-loading>\n }\n </ax-button>\n </div>\n </td>\n }\n </tr>\n }\n </tbody>\n </table>\n </div>\n <div>\n <ax-alert [color]=\"'warning'\" class=\"ax-max-w-fit\">\n <ax-icon></ax-icon>\n <ax-title>Attention</ax-title>\n <ax-content>\n Changes made here will not update your current organization chart. They will only affect future charts or\n updates.\n </ax-content>\n </ax-alert>\n </div>\n </div>\n\n </axp-layout-content>\n</axp-layout-simple-page>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: RouterModule }, { kind: "ngmodule", type: FormsModule }, { kind: "component", type:
59
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: AXMOrgChartConfigurationPage, isStandalone: true, selector: "ng-component", providers: [AXMOrgChartConfigService], ngImport: i0, template: "<axp-layout-simple-page *translate=\"let t\">\n <axp-layout-header>\n <axp-layout-title> {{t(rootConfig.entities.structure.title) | async}} </axp-layout-title>\n\n <axp-layout-description>Customize your organization's hierarchical relationships</axp-layout-description>\n\n <axp-layout-actions>\n <axp-layout-actions-primary> </axp-layout-actions-primary>\n <axp-layout-actions-secondary>\n <ax-button-item [text]=\"(t('reset') | async)!\">\n <ax-prefix>\n <ax-icon [icon]=\"'fa-solid fa-print'\"> </ax-icon>\n </ax-prefix>\n </ax-button-item>\n </axp-layout-actions-secondary>\n </axp-layout-actions>\n\n\n <axp-layout-breadcrumbs>\n <ax-breadcrumbs [class.ax-hidden]=\"layout.isSmall()\">\n <ng-template #divider>\n <i class=\"fa-regular fa-slash-forward\"></i>\n </ng-template>\n <ax-breadcrumbs-item>\n Home\n </ax-breadcrumbs-item>\n <ax-breadcrumbs-item>\n Organization\n </ax-breadcrumbs-item>\n </ax-breadcrumbs>\n </axp-layout-breadcrumbs>\n </axp-layout-header>\n\n <axp-layout-content>\n <div class=\"ax-flex ax-flex-col ax-gap-6 ax-w-full \">\n <div>\n <h3 class=\"ax-font-semibold ax-text-xl\">Relations Permissions</h3>\n <p class=\"ax-text-sm ax-opacity-85\">\n This matrix sets the relationships between nodes in your organization chart. Click a cell to toggle the\n relation between <span class=\"ax-text-danger-500\">Allowed</span> and <span\n class=\"ax-text-success-500\">Denied</span>.\n </p>\n </div>\n <!---------------- Matrix Table ---------------->\n <div class=\"ax-w-full ax-overflow-auto\">\n <table class=\"ax-table-auto ax-border-collapse ax-max-w-fit ax-border-surface ax-rounded-md\">\n <thead>\n <tr class=\"ax-dark-surface\">\n <!-- Top-left empty cell -->\n <th class=\"ax-border ax-dark-surface ax-p-4 ax-font-semibold ax-text-start\">Parent\n \\\n Child</th>\n <!-- Horizontal headers -->\n @for ( type of chartService.types; track $index) {\n <th class=\"ax-border ax-dark-surface ax-p-4 ax-min-w-32 ax-text-center ax-font-semibold\">\n {{ type }}\n </th>\n }\n </tr>\n </thead>\n <tbody>\n <!-- For each parent type, render a row with alternating backgrounds -->\n @for ( parent of chartService.types; track $index) {\n <tr>\n <!-- Vertical header cell with custom header colors -->\n <td class=\"ax-border ax-dark-surface ax-p-4 ax-font-semibold ax-text-start\">\n {{ parent }}\n </td>\n <!-- Render a cell for each potential child type -->\n @for ( child of chartService.types; track $index) {\n <td class=\"ax-border ax-lightest-surface ax-border-surface ax-p-2 \">\n <div class=\"ax-flex ax-justify-center ax-cursor-pointer ax-sm\">\n @let isLoading = loadingStates()[parent]?.[child];\n <ax-button look=\"blank\" [color]=\"chartService.isAllowed(parent, child) ? 'success' : 'danger'\"\n [text]=\"chartService.isAllowed(parent, child) ? 'Allowed' : 'Denied'\" [disabled]=\"isLoading\"\n (onClick)=\"togglePermission(parent, child)\">\n @if(isLoading)\n {\n <ax-loading></ax-loading>\n }\n </ax-button>\n </div>\n </td>\n }\n </tr>\n }\n </tbody>\n </table>\n </div>\n <div>\n <ax-alert [color]=\"'warning'\" class=\"ax-max-w-fit\">\n <ax-icon></ax-icon>\n <ax-title>Attention</ax-title>\n <ax-content>\n Changes made here will not update your current organization chart. They will only affect future charts or\n updates.\n </ax-content>\n </ax-alert>\n </div>\n </div>\n\n </axp-layout-content>\n</axp-layout-simple-page>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: RouterModule }, { kind: "ngmodule", type: FormsModule }, { kind: "component", type:
60
60
  //
61
61
  AXPSimplePageLayout, selector: "axp-layout-simple-page" }, { kind: "component", type: AXPThemeLayoutBlockComponent, selector: " axp-layout-content, axp-layout-header-container, axp-layout-side-container, axp-layout-sections, axp-layout-section-container, axp-layout-body, axp-layout-prefix, axp-layout-suffix, axp-layout-title, axp-layout-nav-button, axp-layout-description, axp-layout-toolbar, axp-layout-title-bar, axp-layout-breadcrumbs, axp-layout-list-action, " }, { kind: "component", type: AXPThemeLayoutHeaderTemplateComponent, selector: "axp-layout-header" }, { kind: "component", type: AXPThemeLayoutActionsComponent, selector: "axp-layout-actions" }, { kind: "component", type: AXPThemeLayoutPageSecondaryActionsComponent, selector: "axp-layout-actions-secondary" }, { kind: "component", type: AXPThemeLayoutPagePrimaryActionsComponent, selector: "axp-layout-actions-primary" }, { kind: "ngmodule", type:
62
62
  //
@@ -85,8 +85,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
85
85
  AXCheckBoxModule,
86
86
  AXBreadcrumbsModule,
87
87
  AXAlertModule
88
- ], changeDetection: ChangeDetectionStrategy.OnPush, providers: [AXMOrgChartConfigService], template: "<axp-layout-simple-page *translate=\"let t\">\n <axp-layout-header>\n <axp-layout-title> {{t(rootConfig.entities.structure.title) | async}} </axp-layout-title>\n\n <axp-layout-description>Customize your organization's hierarchical relationships</axp-layout-description>\n\n <axp-layout-actions>\n <axp-layout-actions-primary> </axp-layout-actions-primary>\n <axp-layout-actions-secondary>\n <ax-button-item [text]=\"(t('reset') | async)!\">\n <ax-prefix>\n <ax-icon [icon]=\"'fa-solid fa-print'\"> </ax-icon>\n </ax-prefix>\n </ax-button-item>\n </axp-layout-actions-secondary>\n </axp-layout-actions>\n\n\n <axp-layout-breadcrumbs>\n <ax-breadcrumbs [class.ax-hidden]=\"layout.isSmall()\">\n <ng-template #divider>\n <i class=\"fa-regular fa-slash-forward\"></i>\n </ng-template>\n <ax-breadcrumbs-item>\n Home\n </ax-breadcrumbs-item>\n <ax-breadcrumbs-item>\n Organization\n </ax-breadcrumbs-item>\n </ax-breadcrumbs>\n </axp-layout-breadcrumbs>\n </axp-layout-header>\n\n <axp-layout-content>\n <div class=\"ax-flex ax-flex-col ax-gap-6 ax-w-full \">\n <div>\n <h3 class=\"ax-font-semibold ax-text-xl\">Relations Permissions</h3>\n <p class=\"ax-text-sm ax-opacity-85\">\n This matrix sets the relationships between nodes in your organization chart. Click a cell to toggle the\n relation between <span class=\"ax-text-danger-500\">Allowed</span> and <span\n class=\"ax-text-success-500\">Denied</span>.\n </p>\n </div>\n <!---------------- Matrix Table ---------------->\n <div class=\"ax-w-full ax-overflow-auto\">\n <table class=\"ax-table-auto ax-border-collapse ax-max-w-fit ax-border-primary-darkest ax-rounded-md\">\n <thead>\n <tr class=\"ax-bg-primary-light ax-text-on-primary-light\">\n <!-- Top-left empty cell -->\n <th class=\"ax-border ax-border-primary-darkest ax-p-4 ax-font-semibold ax-text-start\">Parent\n \\\n Child</th>\n <!-- Horizontal headers -->\n @for ( type of chartService.types; track $index) {\n <th class=\"ax-border ax-border-primary-darkest ax-p-4 ax-min-w-32 ax-text-center ax-font-semibold\">\n {{ type }}\n </th>\n }\n </tr>\n </thead>\n <tbody>\n <!-- For each parent type, render a row with alternating backgrounds -->\n @for ( parent of chartService.types; track $index) {\n <tr>\n <!-- Vertical header cell with custom header colors -->\n <td\n class=\"ax-border ax-border-primary-darkest ax-p-4 ax-font-semibold ax-bg-primary-light ax-text-on-primary-light ax-text-start\">\n {{ parent }}\n </td>\n <!-- Render a cell for each potential child type -->\n @for ( child of chartService.types; track $index) {\n <td class=\"ax-border ax-border-primary-darkest ax-p-2 \">\n <div class=\"ax-flex ax-justify-center ax-cursor-pointer ax-sm\">\n @let isLoading = loadingStates()[parent]?.[child];\n <ax-button look=\"blank\" [color]=\"chartService.isAllowed(parent, child) ? 'success' : 'danger'\"\n [text]=\"chartService.isAllowed(parent, child) ? 'Allowed' : 'Denied'\" [disabled]=\"isLoading\"\n (onClick)=\"togglePermission(parent, child)\">\n @if(isLoading)\n {\n <ax-loading></ax-loading>\n }\n </ax-button>\n </div>\n </td>\n }\n </tr>\n }\n </tbody>\n </table>\n </div>\n <div>\n <ax-alert [color]=\"'warning'\" class=\"ax-max-w-fit\">\n <ax-icon></ax-icon>\n <ax-title>Attention</ax-title>\n <ax-content>\n Changes made here will not update your current organization chart. They will only affect future charts or\n updates.\n </ax-content>\n </ax-alert>\n </div>\n </div>\n\n </axp-layout-content>\n</axp-layout-simple-page>" }]
88
+ ], changeDetection: ChangeDetectionStrategy.OnPush, providers: [AXMOrgChartConfigService], template: "<axp-layout-simple-page *translate=\"let t\">\n <axp-layout-header>\n <axp-layout-title> {{t(rootConfig.entities.structure.title) | async}} </axp-layout-title>\n\n <axp-layout-description>Customize your organization's hierarchical relationships</axp-layout-description>\n\n <axp-layout-actions>\n <axp-layout-actions-primary> </axp-layout-actions-primary>\n <axp-layout-actions-secondary>\n <ax-button-item [text]=\"(t('reset') | async)!\">\n <ax-prefix>\n <ax-icon [icon]=\"'fa-solid fa-print'\"> </ax-icon>\n </ax-prefix>\n </ax-button-item>\n </axp-layout-actions-secondary>\n </axp-layout-actions>\n\n\n <axp-layout-breadcrumbs>\n <ax-breadcrumbs [class.ax-hidden]=\"layout.isSmall()\">\n <ng-template #divider>\n <i class=\"fa-regular fa-slash-forward\"></i>\n </ng-template>\n <ax-breadcrumbs-item>\n Home\n </ax-breadcrumbs-item>\n <ax-breadcrumbs-item>\n Organization\n </ax-breadcrumbs-item>\n </ax-breadcrumbs>\n </axp-layout-breadcrumbs>\n </axp-layout-header>\n\n <axp-layout-content>\n <div class=\"ax-flex ax-flex-col ax-gap-6 ax-w-full \">\n <div>\n <h3 class=\"ax-font-semibold ax-text-xl\">Relations Permissions</h3>\n <p class=\"ax-text-sm ax-opacity-85\">\n This matrix sets the relationships between nodes in your organization chart. Click a cell to toggle the\n relation between <span class=\"ax-text-danger-500\">Allowed</span> and <span\n class=\"ax-text-success-500\">Denied</span>.\n </p>\n </div>\n <!---------------- Matrix Table ---------------->\n <div class=\"ax-w-full ax-overflow-auto\">\n <table class=\"ax-table-auto ax-border-collapse ax-max-w-fit ax-border-surface ax-rounded-md\">\n <thead>\n <tr class=\"ax-dark-surface\">\n <!-- Top-left empty cell -->\n <th class=\"ax-border ax-dark-surface ax-p-4 ax-font-semibold ax-text-start\">Parent\n \\\n Child</th>\n <!-- Horizontal headers -->\n @for ( type of chartService.types; track $index) {\n <th class=\"ax-border ax-dark-surface ax-p-4 ax-min-w-32 ax-text-center ax-font-semibold\">\n {{ type }}\n </th>\n }\n </tr>\n </thead>\n <tbody>\n <!-- For each parent type, render a row with alternating backgrounds -->\n @for ( parent of chartService.types; track $index) {\n <tr>\n <!-- Vertical header cell with custom header colors -->\n <td class=\"ax-border ax-dark-surface ax-p-4 ax-font-semibold ax-text-start\">\n {{ parent }}\n </td>\n <!-- Render a cell for each potential child type -->\n @for ( child of chartService.types; track $index) {\n <td class=\"ax-border ax-lightest-surface ax-border-surface ax-p-2 \">\n <div class=\"ax-flex ax-justify-center ax-cursor-pointer ax-sm\">\n @let isLoading = loadingStates()[parent]?.[child];\n <ax-button look=\"blank\" [color]=\"chartService.isAllowed(parent, child) ? 'success' : 'danger'\"\n [text]=\"chartService.isAllowed(parent, child) ? 'Allowed' : 'Denied'\" [disabled]=\"isLoading\"\n (onClick)=\"togglePermission(parent, child)\">\n @if(isLoading)\n {\n <ax-loading></ax-loading>\n }\n </ax-button>\n </div>\n </td>\n }\n </tr>\n }\n </tbody>\n </table>\n </div>\n <div>\n <ax-alert [color]=\"'warning'\" class=\"ax-max-w-fit\">\n <ax-icon></ax-icon>\n <ax-title>Attention</ax-title>\n <ax-content>\n Changes made here will not update your current organization chart. They will only affect future charts or\n updates.\n </ax-content>\n </ax-alert>\n </div>\n </div>\n\n </axp-layout-content>\n</axp-layout-simple-page>" }]
89
89
  }] });
90
90
 
91
91
  export { AXMOrgChartConfigurationPage };
92
- //# sourceMappingURL=acorex-modules-organization-management-org-chart-configuration.page-DBc6gISy.mjs.map
92
+ //# sourceMappingURL=acorex-modules-organization-management-org-chart-configuration.page-DjzqBdaS.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-modules-organization-management-org-chart-configuration.page-DjzqBdaS.mjs","sources":["../../../../libs/modules/organization-management/src/lib/features/organization-chart/org-chart-configuration.page.ts","../../../../libs/modules/organization-management/src/lib/features/organization-chart/org-chart-configuration.page.html"],"sourcesContent":["import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXDropdownButtonModule } from '@acorex/components/dropdown-button';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXMenuModule } from '@acorex/components/menu';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPSimplePageLayout } from '@acorex/platform/themes/default';\nimport {\n AXPLayoutThemeService,\n AXPThemeLayoutActionsComponent,\n AXPThemeLayoutBlockComponent,\n AXPThemeLayoutHeaderTemplateComponent,\n AXPThemeLayoutPagePrimaryActionsComponent,\n AXPThemeLayoutPageSecondaryActionsComponent,\n} from '@acorex/platform/themes/shared';\nimport { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n inject,\n signal,\n} from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { RootConfig } from '../../const';\nimport { AXCheckBoxModule } from '@acorex/components/check-box';\nimport { FormsModule } from '@angular/forms';\nimport { AXBreadcrumbsModule } from '@acorex/components/breadcrumbs';\nimport { AXAlertModule } from '@acorex/components/alert';\nimport { AXMOrgChartConfigService } from './org-chart-configuration.service';\n\n@Component({\n templateUrl: './org-chart-configuration.page.html',\n imports: [\n CommonModule,\n RouterModule,\n FormsModule,\n //\n AXPSimplePageLayout,\n AXPThemeLayoutBlockComponent,\n AXPThemeLayoutHeaderTemplateComponent,\n AXPThemeLayoutActionsComponent,\n AXPThemeLayoutPageSecondaryActionsComponent,\n AXPThemeLayoutPagePrimaryActionsComponent,\n //\n AXMenuModule,\n AXButtonModule,\n AXDropdownButtonModule,\n AXTranslationModule,\n AXDecoratorModule,\n AXLoadingModule,\n AXCheckBoxModule,\n AXBreadcrumbsModule,\n AXAlertModule\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [AXMOrgChartConfigService],\n})\nexport class AXMOrgChartConfigurationPage {\n\n protected readonly layout = inject(AXPLayoutThemeService);\n protected readonly chartService = inject(AXMOrgChartConfigService);\n\n protected loadingStates = signal<{ [parent: string]: { [child: string]: boolean } | undefined }>({});\n\n protected readonly rootConfig = RootConfig;\n\n\n async ngOnInit() {\n await this.chartService.load();\n }\n\n\n protected async togglePermission(parent: string, child: string) {\n //TODO: Check the async and loading\n\n // Set the loading state for this cell to true.\n this.loadingStates.update((states) => {\n if (!states[parent]) {\n states[parent] = {};\n }\n states[parent][child] = true;\n return states;\n });\n\n\n\n this.chartService.set(parent, child, !this.chartService.get(parent, child));\n\n await this.chartService.update();\n\n // Turn off the loading state.\n this.loadingStates.update((states) => {\n if (!states[parent]) {\n states[parent] = {};\n }\n states[parent][child] = false;\n return states;\n });\n }\n\n\n}\n","<axp-layout-simple-page *translate=\"let t\">\n <axp-layout-header>\n <axp-layout-title> {{t(rootConfig.entities.structure.title) | async}} </axp-layout-title>\n\n <axp-layout-description>Customize your organization's hierarchical relationships</axp-layout-description>\n\n <axp-layout-actions>\n <axp-layout-actions-primary> </axp-layout-actions-primary>\n <axp-layout-actions-secondary>\n <ax-button-item [text]=\"(t('reset') | async)!\">\n <ax-prefix>\n <ax-icon [icon]=\"'fa-solid fa-print'\"> </ax-icon>\n </ax-prefix>\n </ax-button-item>\n </axp-layout-actions-secondary>\n </axp-layout-actions>\n\n\n <axp-layout-breadcrumbs>\n <ax-breadcrumbs [class.ax-hidden]=\"layout.isSmall()\">\n <ng-template #divider>\n <i class=\"fa-regular fa-slash-forward\"></i>\n </ng-template>\n <ax-breadcrumbs-item>\n Home\n </ax-breadcrumbs-item>\n <ax-breadcrumbs-item>\n Organization\n </ax-breadcrumbs-item>\n </ax-breadcrumbs>\n </axp-layout-breadcrumbs>\n </axp-layout-header>\n\n <axp-layout-content>\n <div class=\"ax-flex ax-flex-col ax-gap-6 ax-w-full \">\n <div>\n <h3 class=\"ax-font-semibold ax-text-xl\">Relations Permissions</h3>\n <p class=\"ax-text-sm ax-opacity-85\">\n This matrix sets the relationships between nodes in your organization chart. Click a cell to toggle the\n relation between <span class=\"ax-text-danger-500\">Allowed</span> and <span\n class=\"ax-text-success-500\">Denied</span>.\n </p>\n </div>\n <!---------------- Matrix Table ---------------->\n <div class=\"ax-w-full ax-overflow-auto\">\n <table class=\"ax-table-auto ax-border-collapse ax-max-w-fit ax-border-surface ax-rounded-md\">\n <thead>\n <tr class=\"ax-dark-surface\">\n <!-- Top-left empty cell -->\n <th class=\"ax-border ax-dark-surface ax-p-4 ax-font-semibold ax-text-start\">Parent\n \\\n Child</th>\n <!-- Horizontal headers -->\n @for ( type of chartService.types; track $index) {\n <th class=\"ax-border ax-dark-surface ax-p-4 ax-min-w-32 ax-text-center ax-font-semibold\">\n {{ type }}\n </th>\n }\n </tr>\n </thead>\n <tbody>\n <!-- For each parent type, render a row with alternating backgrounds -->\n @for ( parent of chartService.types; track $index) {\n <tr>\n <!-- Vertical header cell with custom header colors -->\n <td class=\"ax-border ax-dark-surface ax-p-4 ax-font-semibold ax-text-start\">\n {{ parent }}\n </td>\n <!-- Render a cell for each potential child type -->\n @for ( child of chartService.types; track $index) {\n <td class=\"ax-border ax-lightest-surface ax-border-surface ax-p-2 \">\n <div class=\"ax-flex ax-justify-center ax-cursor-pointer ax-sm\">\n @let isLoading = loadingStates()[parent]?.[child];\n <ax-button look=\"blank\" [color]=\"chartService.isAllowed(parent, child) ? 'success' : 'danger'\"\n [text]=\"chartService.isAllowed(parent, child) ? 'Allowed' : 'Denied'\" [disabled]=\"isLoading\"\n (onClick)=\"togglePermission(parent, child)\">\n @if(isLoading)\n {\n <ax-loading></ax-loading>\n }\n </ax-button>\n </div>\n </td>\n }\n </tr>\n }\n </tbody>\n </table>\n </div>\n <div>\n <ax-alert [color]=\"'warning'\" class=\"ax-max-w-fit\">\n <ax-icon></ax-icon>\n <ax-title>Attention</ax-title>\n <ax-content>\n Changes made here will not update your current organization chart. They will only affect future charts or\n updates.\n </ax-content>\n </ax-alert>\n </div>\n </div>\n\n </axp-layout-content>\n</axp-layout-simple-page>"],"names":["i2","i3","i4","i5"],"mappings":"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"}