@acorex/modules 21.0.0-next.7 → 21.0.0-next.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/business-core/README.md +44 -1
- package/document-management/index.d.ts +1 -2
- package/fesm2022/acorex-modules-application-management.mjs +1 -0
- package/fesm2022/acorex-modules-application-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-auth-acorex-modules-auth-D5jGjm6i.mjs → acorex-modules-auth-acorex-modules-auth-8XP9xX7L.mjs} +95 -51
- package/fesm2022/acorex-modules-auth-acorex-modules-auth-8XP9xX7L.mjs.map +1 -0
- package/fesm2022/{acorex-modules-auth-app-chooser.component-BL3Fmc7y.mjs → acorex-modules-auth-app-chooser.component-BvbLYIXA.mjs} +6 -6
- package/fesm2022/acorex-modules-auth-app-chooser.component-BvbLYIXA.mjs.map +1 -0
- package/fesm2022/{acorex-modules-auth-login.module-D8-GN_Hx.mjs → acorex-modules-auth-login.module-DLWlieUn.mjs} +4 -4
- package/fesm2022/{acorex-modules-auth-login.module-D8-GN_Hx.mjs.map → acorex-modules-auth-login.module-DLWlieUn.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-master.layout-CgDrAbPS.mjs → acorex-modules-auth-master.layout-BzV1eUvM.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-master.layout-CgDrAbPS.mjs.map → acorex-modules-auth-master.layout-BzV1eUvM.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-oauth-callback.component-lEMWnVJL.mjs → acorex-modules-auth-oauth-callback.component-CqaXMQdp.mjs} +5 -5
- package/fesm2022/{acorex-modules-auth-oauth-callback.component-lEMWnVJL.mjs.map → acorex-modules-auth-oauth-callback.component-CqaXMQdp.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-password.component-BQII_ltO.mjs → acorex-modules-auth-password.component-BR2qrph-.mjs} +9 -9
- package/fesm2022/{acorex-modules-auth-password.component-BQII_ltO.mjs.map → acorex-modules-auth-password.component-BR2qrph-.mjs.map} +1 -1
- package/fesm2022/acorex-modules-auth-password.component-DMmRFHgO.mjs +563 -0
- package/fesm2022/acorex-modules-auth-password.component-DMmRFHgO.mjs.map +1 -0
- package/fesm2022/{acorex-modules-auth-routes-BGLnoGO4.mjs → acorex-modules-auth-routes-BRQJ6Mx_.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-routes-BGLnoGO4.mjs.map → acorex-modules-auth-routes-BRQJ6Mx_.mjs.map} +1 -1
- package/fesm2022/acorex-modules-auth-tenant-chooser.component-CptZLRwB.mjs +58 -0
- package/fesm2022/acorex-modules-auth-tenant-chooser.component-CptZLRwB.mjs.map +1 -0
- package/fesm2022/{acorex-modules-auth-two-factor-code.component-BmlUjtYC.mjs → acorex-modules-auth-two-factor-code.component-CvheFTK7.mjs} +6 -6
- package/fesm2022/{acorex-modules-auth-two-factor-code.component-BmlUjtYC.mjs.map → acorex-modules-auth-two-factor-code.component-CvheFTK7.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-two-factor.module-D1UjsoB8.mjs → acorex-modules-auth-two-factor.module-TGGOwEpP.mjs} +3 -3
- package/fesm2022/{acorex-modules-auth-two-factor.module-D1UjsoB8.mjs.map → acorex-modules-auth-two-factor.module-TGGOwEpP.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-user-sessions.component-CIlGFT7H.mjs → acorex-modules-auth-user-sessions.component-C_JzCXUy.mjs} +6 -6
- package/fesm2022/{acorex-modules-auth-user-sessions.component-CIlGFT7H.mjs.map → acorex-modules-auth-user-sessions.component-C_JzCXUy.mjs.map} +1 -1
- package/fesm2022/acorex-modules-auth.mjs +1 -1
- package/fesm2022/{acorex-modules-business-core-business-status.entity-DE3JJYdY.mjs → acorex-modules-business-core-business-status.entity-BYUneIcN.mjs} +2 -2
- package/fesm2022/acorex-modules-business-core-business-status.entity-BYUneIcN.mjs.map +1 -0
- package/fesm2022/{acorex-modules-business-core-business-type.entity-_IwOWQVA.mjs → acorex-modules-business-core-business-type.entity-DEy8LvEV.mjs} +2 -2
- package/fesm2022/acorex-modules-business-core-business-type.entity-DEy8LvEV.mjs.map +1 -0
- package/fesm2022/{acorex-modules-business-core-industry.entity-bwgPAZDk.mjs → acorex-modules-business-core-industry.entity-CGNfgpMs.mjs} +2 -2
- package/fesm2022/acorex-modules-business-core-industry.entity-CGNfgpMs.mjs.map +1 -0
- package/fesm2022/{acorex-modules-business-core-manufacturer.entity-CDlQlBUD.mjs → acorex-modules-business-core-manufacturer.entity-DhyMx-nJ.mjs} +2 -1
- package/fesm2022/acorex-modules-business-core-manufacturer.entity-DhyMx-nJ.mjs.map +1 -0
- package/fesm2022/acorex-modules-business-core.mjs +4 -4
- package/fesm2022/{acorex-modules-customer-management-customer-segment.entity-CUBg2GZp.mjs → acorex-modules-customer-management-customer-segment.entity-CoYAU5g3.mjs} +2 -1
- package/fesm2022/acorex-modules-customer-management-customer-segment.entity-CoYAU5g3.mjs.map +1 -0
- package/fesm2022/{acorex-modules-customer-management-customer-type.entity-rmq6BeCF.mjs → acorex-modules-customer-management-customer-type.entity-pt4gpOGq.mjs} +2 -1
- package/fesm2022/acorex-modules-customer-management-customer-type.entity-pt4gpOGq.mjs.map +1 -0
- package/fesm2022/acorex-modules-customer-management.mjs +2 -2
- package/fesm2022/acorex-modules-document-management.mjs +5 -2
- package/fesm2022/acorex-modules-document-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-financial-core.mjs +7 -5
- package/fesm2022/acorex-modules-financial-core.mjs.map +1 -1
- package/fesm2022/acorex-modules-human-capital-management-approve-leave-request.command-DN2T2hBp.mjs +59 -0
- package/fesm2022/acorex-modules-human-capital-management-approve-leave-request.command-DN2T2hBp.mjs.map +1 -0
- package/fesm2022/acorex-modules-human-capital-management-cancel-leave-request.command-CYMo0I8p.mjs +59 -0
- package/fesm2022/acorex-modules-human-capital-management-cancel-leave-request.command-CYMo0I8p.mjs.map +1 -0
- package/fesm2022/{acorex-modules-human-capital-management-leave-request.entity-BDh7IX7_.mjs → acorex-modules-human-capital-management-leave-request.entity-Dm_IKrVw.mjs} +1 -2
- package/fesm2022/acorex-modules-human-capital-management-leave-request.entity-Dm_IKrVw.mjs.map +1 -0
- package/fesm2022/{acorex-modules-human-capital-management-leave-type.entity-DlCdAtaz.mjs → acorex-modules-human-capital-management-leave-type.entity-CY81Nohl.mjs} +11 -3
- package/fesm2022/acorex-modules-human-capital-management-leave-type.entity-CY81Nohl.mjs.map +1 -0
- package/fesm2022/acorex-modules-human-capital-management-reject-leave-request.command-1Bn0gaZi.mjs +62 -0
- package/fesm2022/acorex-modules-human-capital-management-reject-leave-request.command-1Bn0gaZi.mjs.map +1 -0
- package/fesm2022/acorex-modules-human-capital-management.mjs +114 -38
- package/fesm2022/acorex-modules-human-capital-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-learning-management-certificate-definition.entity-BVvSzl2b.mjs → acorex-modules-learning-management-certificate-definition.entity-27VKYxw1.mjs} +2 -2
- package/fesm2022/acorex-modules-learning-management-certificate-definition.entity-27VKYxw1.mjs.map +1 -0
- package/fesm2022/{acorex-modules-learning-management-course.entity-BYb3Mgyi.mjs → acorex-modules-learning-management-course.entity-BN8XHAPz.mjs} +2 -2
- package/fesm2022/acorex-modules-learning-management-course.entity-BN8XHAPz.mjs.map +1 -0
- package/fesm2022/{acorex-modules-learning-management-skill.entity-CK93JIPg.mjs → acorex-modules-learning-management-skill.entity-rfMFaOAJ.mjs} +2 -1
- package/fesm2022/acorex-modules-learning-management-skill.entity-rfMFaOAJ.mjs.map +1 -0
- package/fesm2022/{acorex-modules-learning-management-training-definition.entity-C5RVLTy7.mjs → acorex-modules-learning-management-training-definition.entity-NQqJ5avw.mjs} +2 -2
- package/fesm2022/acorex-modules-learning-management-training-definition.entity-NQqJ5avw.mjs.map +1 -0
- package/fesm2022/{acorex-modules-learning-management-training.entity-KfxtUHEK.mjs → acorex-modules-learning-management-training.entity-DHGSlVR3.mjs} +2 -2
- package/fesm2022/acorex-modules-learning-management-training.entity-DHGSlVR3.mjs.map +1 -0
- package/fesm2022/acorex-modules-learning-management.mjs +5 -5
- package/fesm2022/acorex-modules-notification-management.mjs +34 -16
- package/fesm2022/acorex-modules-notification-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-order-management.mjs +4 -0
- package/fesm2022/acorex-modules-order-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-organization-management-job-definition.entity-Cki_0gIY.mjs → acorex-modules-organization-management-job-definition.entity-s-TfP412.mjs} +2 -2
- package/fesm2022/acorex-modules-organization-management-job-definition.entity-s-TfP412.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-position.entity-m7QrOTgN.mjs → acorex-modules-organization-management-position.entity-vbmjSfyb.mjs} +2 -2
- package/fesm2022/acorex-modules-organization-management-position.entity-vbmjSfyb.mjs.map +1 -0
- package/fesm2022/acorex-modules-organization-management.mjs +2 -2
- package/fesm2022/{acorex-modules-person-management-person.entity-DWfnmtVe.mjs → acorex-modules-person-management-person.entity-BnliZw-K.mjs} +35 -33
- package/fesm2022/acorex-modules-person-management-person.entity-BnliZw-K.mjs.map +1 -0
- package/fesm2022/acorex-modules-person-management.mjs +1 -1
- package/fesm2022/{acorex-modules-platform-management-acorex-modules-platform-management-BOo-XED8.mjs → acorex-modules-platform-management-acorex-modules-platform-management-CAntNN8Z.mjs} +4 -2
- package/fesm2022/{acorex-modules-platform-management-acorex-modules-platform-management-BOo-XED8.mjs.map → acorex-modules-platform-management-acorex-modules-platform-management-CAntNN8Z.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-platform-management-menu-list.component-BtQ0O4sx.mjs → acorex-modules-platform-management-menu-list.component-CWutHAb3.mjs} +2 -2
- package/fesm2022/{acorex-modules-platform-management-menu-list.component-BtQ0O4sx.mjs.map → acorex-modules-platform-management-menu-list.component-CWutHAb3.mjs.map} +1 -1
- package/fesm2022/acorex-modules-platform-management.mjs +1 -1
- package/fesm2022/{acorex-modules-product-catalog-brand.entity-DIv0bsiY.mjs → acorex-modules-product-catalog-brand.entity-C8VOfwF0.mjs} +2 -1
- package/fesm2022/acorex-modules-product-catalog-brand.entity-C8VOfwF0.mjs.map +1 -0
- package/fesm2022/{acorex-modules-product-catalog-product-sku.entity-CQw4VxjA.mjs → acorex-modules-product-catalog-product-sku.entity-Cxif--1E.mjs} +2 -1
- package/fesm2022/acorex-modules-product-catalog-product-sku.entity-Cxif--1E.mjs.map +1 -0
- package/fesm2022/{acorex-modules-product-catalog-product.entity-Cqye5OFr.mjs → acorex-modules-product-catalog-product.entity--aXivZUd.mjs} +2 -1
- package/fesm2022/acorex-modules-product-catalog-product.entity--aXivZUd.mjs.map +1 -0
- package/fesm2022/acorex-modules-product-catalog.mjs +3 -3
- package/fesm2022/acorex-modules-project-management.mjs +30 -1
- package/fesm2022/acorex-modules-project-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-report-management-report-runner-root-page.component-Cp5QCIll.mjs → acorex-modules-report-management-report-runner-root-page.component-DEX4VgHX.mjs} +9 -9
- package/fesm2022/acorex-modules-report-management-report-runner-root-page.component-DEX4VgHX.mjs.map +1 -0
- package/fesm2022/acorex-modules-report-management.mjs +1 -1
- package/fesm2022/acorex-modules-subscription-management.mjs +3 -0
- package/fesm2022/acorex-modules-subscription-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-supplier-management.mjs +1 -0
- package/fesm2022/acorex-modules-supplier-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-task-management-task-board.page-Cm8wJD-y.mjs → acorex-modules-task-management-task-board.page-6D76WpRB.mjs} +468 -42
- package/fesm2022/acorex-modules-task-management-task-board.page-6D76WpRB.mjs.map +1 -0
- package/fesm2022/acorex-modules-task-management.mjs +9 -3
- package/fesm2022/acorex-modules-task-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-tenant-management.mjs +2 -0
- package/fesm2022/acorex-modules-tenant-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-workflow-management.mjs +1692 -28
- package/fesm2022/acorex-modules-workflow-management.mjs.map +1 -1
- package/human-capital-management/index.d.ts +1 -0
- package/package.json +2 -2
- package/task-management/index.d.ts +1 -1
- package/workflow-management/index.d.ts +446 -11
- package/fesm2022/acorex-modules-auth-acorex-modules-auth-D5jGjm6i.mjs.map +0 -1
- package/fesm2022/acorex-modules-auth-app-chooser.component-BL3Fmc7y.mjs.map +0 -1
- package/fesm2022/acorex-modules-auth-password.component-DKG8o8k8.mjs +0 -226
- package/fesm2022/acorex-modules-auth-password.component-DKG8o8k8.mjs.map +0 -1
- package/fesm2022/acorex-modules-auth-tenant-chooser.component-DNDhBKDp.mjs +0 -109
- package/fesm2022/acorex-modules-auth-tenant-chooser.component-DNDhBKDp.mjs.map +0 -1
- package/fesm2022/acorex-modules-business-core-business-status.entity-DE3JJYdY.mjs.map +0 -1
- package/fesm2022/acorex-modules-business-core-business-type.entity-_IwOWQVA.mjs.map +0 -1
- package/fesm2022/acorex-modules-business-core-industry.entity-bwgPAZDk.mjs.map +0 -1
- package/fesm2022/acorex-modules-business-core-manufacturer.entity-CDlQlBUD.mjs.map +0 -1
- package/fesm2022/acorex-modules-customer-management-customer-segment.entity-CUBg2GZp.mjs.map +0 -1
- package/fesm2022/acorex-modules-customer-management-customer-type.entity-rmq6BeCF.mjs.map +0 -1
- package/fesm2022/acorex-modules-human-capital-management-leave-request.entity-BDh7IX7_.mjs.map +0 -1
- package/fesm2022/acorex-modules-human-capital-management-leave-type.entity-DlCdAtaz.mjs.map +0 -1
- package/fesm2022/acorex-modules-learning-management-certificate-definition.entity-BVvSzl2b.mjs.map +0 -1
- package/fesm2022/acorex-modules-learning-management-course.entity-BYb3Mgyi.mjs.map +0 -1
- package/fesm2022/acorex-modules-learning-management-skill.entity-CK93JIPg.mjs.map +0 -1
- package/fesm2022/acorex-modules-learning-management-training-definition.entity-C5RVLTy7.mjs.map +0 -1
- package/fesm2022/acorex-modules-learning-management-training.entity-KfxtUHEK.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-job-definition.entity-Cki_0gIY.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-position.entity-m7QrOTgN.mjs.map +0 -1
- package/fesm2022/acorex-modules-person-management-person.entity-DWfnmtVe.mjs.map +0 -1
- package/fesm2022/acorex-modules-product-catalog-brand.entity-DIv0bsiY.mjs.map +0 -1
- package/fesm2022/acorex-modules-product-catalog-product-sku.entity-CQw4VxjA.mjs.map +0 -1
- package/fesm2022/acorex-modules-product-catalog-product.entity-Cqye5OFr.mjs.map +0 -1
- package/fesm2022/acorex-modules-report-management-report-runner-root-page.component-Cp5QCIll.mjs.map +0 -1
- package/fesm2022/acorex-modules-task-management-task-board.page-Cm8wJD-y.mjs.map +0 -1
|
@@ -3,35 +3,36 @@ import { AXPLayoutThemeService } from '@acorex/platform/themes/shared';
|
|
|
3
3
|
import * as i1$3 from '@angular/common/http';
|
|
4
4
|
import { HttpErrorResponse } from '@angular/common/http';
|
|
5
5
|
import * as i0 from '@angular/core';
|
|
6
|
-
import { inject, isDevMode, Injectable, InjectionToken, Component, ViewChild, ViewEncapsulation, ChangeDetectionStrategy, signal, NgModule } from '@angular/core';
|
|
6
|
+
import { inject, isDevMode, Injectable, InjectionToken, output, Component, viewChild, input, ViewChild, ViewEncapsulation, ChangeDetectionStrategy, signal, NgModule } from '@angular/core';
|
|
7
7
|
import * as i1$2 from '@angular/router';
|
|
8
8
|
import { Router, RouterModule, ROUTES } from '@angular/router';
|
|
9
9
|
import * as i1$5 from '@acorex/platform/common';
|
|
10
10
|
import { AXPHomePageService, AXPDataProvider, AXP_ROOT_CONFIG_TOKEN, AXPSettingsService, AXPCommonModule, AXP_MENU_PROVIDER, AXP_SETTING_DEFINITION_PROVIDER } from '@acorex/platform/common';
|
|
11
11
|
import { AXPCommandExecutor, provideCommandSetups } from '@acorex/platform/runtime';
|
|
12
|
-
import * as i1
|
|
12
|
+
import * as i1 from '@angular/common';
|
|
13
13
|
import { CommonModule, AsyncPipe } from '@angular/common';
|
|
14
|
-
import { AXPPlatformScope, provideLazyProvider } from '@acorex/platform/core';
|
|
14
|
+
import { AXPIconLogoConfig, AXPPlatformScope, provideLazyProvider } from '@acorex/platform/core';
|
|
15
15
|
import * as i1$4 from '@acorex/platform/layout/components';
|
|
16
16
|
import { AXPLogoComponent, AXPUserAvatarComponent, AXPComponentSlotModule } from '@acorex/platform/layout/components';
|
|
17
|
-
import * as
|
|
17
|
+
import * as i1$1 from '@acorex/components/button';
|
|
18
18
|
import { AXButtonModule } from '@acorex/components/button';
|
|
19
|
-
import * as
|
|
19
|
+
import * as i3 from '@acorex/components/decorators';
|
|
20
20
|
import { AXDecoratorModule } from '@acorex/components/decorators';
|
|
21
|
-
import * as i2
|
|
21
|
+
import * as i2 from '@acorex/components/popover';
|
|
22
22
|
import { AXPopoverModule } from '@acorex/components/popover';
|
|
23
|
-
import { of, first, Subject, timer, map, firstValueFrom } from 'rxjs';
|
|
24
|
-
import * as i2 from '@acorex/components/loading';
|
|
25
23
|
import { AXLoadingModule } from '@acorex/components/loading';
|
|
26
24
|
import { AXMApplicationService } from '@acorex/modules/application-management';
|
|
27
25
|
import { AXAvatarModule } from '@acorex/components/avatar';
|
|
28
26
|
import { AXImageModule } from '@acorex/components/image';
|
|
29
27
|
import { AXPopupService } from '@acorex/components/popup';
|
|
30
28
|
import { AXPlatform } from '@acorex/core/platform';
|
|
31
|
-
import * as
|
|
32
|
-
import {
|
|
33
|
-
import
|
|
34
|
-
import {
|
|
29
|
+
import * as i2$2 from '@acorex/core/translation';
|
|
30
|
+
import { AXTranslationModule, AXTranslationService } from '@acorex/core/translation';
|
|
31
|
+
import * as i3$1 from '@acorex/components/search-box';
|
|
32
|
+
import { AXSearchBoxModule } from '@acorex/components/search-box';
|
|
33
|
+
import * as i2$1 from '@angular/forms';
|
|
34
|
+
import { FormsModule } from '@angular/forms';
|
|
35
|
+
import { first, Subject, timer, map, firstValueFrom } from 'rxjs';
|
|
35
36
|
import { startWith, switchMap, tap } from 'rxjs/operators';
|
|
36
37
|
import { AXMEntityCrudServiceImpl } from '@acorex/platform/layout/entity';
|
|
37
38
|
|
|
@@ -112,22 +113,22 @@ const routes = [
|
|
|
112
113
|
},
|
|
113
114
|
{
|
|
114
115
|
path: '',
|
|
115
|
-
loadComponent: () => import('./acorex-modules-auth-master.layout-
|
|
116
|
-
loadChildren: () => import('./acorex-modules-auth-login.module-
|
|
116
|
+
loadComponent: () => import('./acorex-modules-auth-master.layout-BzV1eUvM.mjs').then((c) => c.AXPAuthMasterLayoutComponent),
|
|
117
|
+
loadChildren: () => import('./acorex-modules-auth-login.module-DLWlieUn.mjs').then((c) => c.AXPSignInModule),
|
|
117
118
|
},
|
|
118
119
|
{
|
|
119
120
|
path: '',
|
|
120
|
-
loadComponent: () => import('./acorex-modules-auth-master.layout-
|
|
121
|
-
loadChildren: () => import('./acorex-modules-auth-two-factor.module-
|
|
121
|
+
loadComponent: () => import('./acorex-modules-auth-master.layout-BzV1eUvM.mjs').then((c) => c.AXPAuthMasterLayoutComponent),
|
|
122
|
+
loadChildren: () => import('./acorex-modules-auth-two-factor.module-TGGOwEpP.mjs').then((c) => c.AXPTwoFactorModule),
|
|
122
123
|
},
|
|
123
124
|
{
|
|
124
125
|
path: '',
|
|
125
|
-
loadComponent: () => import('./acorex-modules-auth-master.layout-
|
|
126
|
-
loadChildren: () => import('./acorex-modules-auth-routes-
|
|
126
|
+
loadComponent: () => import('./acorex-modules-auth-master.layout-BzV1eUvM.mjs').then((c) => c.AXPAuthMasterLayoutComponent),
|
|
127
|
+
loadChildren: () => import('./acorex-modules-auth-routes-BRQJ6Mx_.mjs').then((c) => c),
|
|
127
128
|
},
|
|
128
129
|
{
|
|
129
130
|
path: 'axp-oauth-callback',
|
|
130
|
-
loadComponent: () => import('./acorex-modules-auth-oauth-callback.component-
|
|
131
|
+
loadComponent: () => import('./acorex-modules-auth-oauth-callback.component-CqaXMQdp.mjs').then((c) => c.AXPOAuthCallbackComponent),
|
|
131
132
|
},
|
|
132
133
|
{
|
|
133
134
|
path: 'account',
|
|
@@ -151,7 +152,6 @@ const routes = [
|
|
|
151
152
|
|
|
152
153
|
class AXPAppChooserListComponent {
|
|
153
154
|
constructor() {
|
|
154
|
-
this.router = inject(Router);
|
|
155
155
|
this.sessionService = inject(AXPSessionService);
|
|
156
156
|
this.homePageService = inject(AXPHomePageService);
|
|
157
157
|
this.authStrategyRegistry = inject(AXPAuthStrategyRegistryService);
|
|
@@ -160,6 +160,7 @@ class AXPAppChooserListComponent {
|
|
|
160
160
|
this.strategy = this.authStrategyRegistry.get(this.strategyName);
|
|
161
161
|
this.selectedApplication = null;
|
|
162
162
|
this.applications$ = this.sessionService.applications$;
|
|
163
|
+
this.applicationChosen = output();
|
|
163
164
|
}
|
|
164
165
|
async chooseApplication(item) {
|
|
165
166
|
this.selectedApplication = item;
|
|
@@ -195,63 +196,106 @@ class AXPAppChooserListComponent {
|
|
|
195
196
|
};
|
|
196
197
|
await this.sessionService.updateToken(updateContext);
|
|
197
198
|
}
|
|
199
|
+
this.applicationChosen.emit();
|
|
198
200
|
return await this.homePageService.navigateTo();
|
|
199
201
|
}
|
|
200
202
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: AXPAppChooserListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
201
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.12", type: AXPAppChooserListComponent, isStandalone: true, selector: "axp-app-chooser-list", ngImport: i0, template: "<div class=\"ax-w-full ax-overflow-auto ax-max-h-[300px] ax-pe-2\">\n @for (application of applications$ | async; track $index) {\n <div\n class=\"ax-flex ax-gap-2 ax-justify-between ax-border-b last:ax-border-b-0 ax-py-3 ax-items-start ax-cursor-pointer\"\n (click)=\"chooseApplication(application)\">\n <div class=\"ax-flex ax-flex-1 ax-gap-2 ax-items-center ax-justify-center ax-font-medium\">\n <div\n class=\"ax-w-12 ax-h-12 ax-flex ax-justify-center ax-items-center ax-rounded-full ax-bg-neutral-100 ax-m-auto\">\n <axp-logo [source]=\"application.logo\" [attr.alt]=\"application.title\"\n class=\"!ax-flex ax-items-center ax-justify-center !ax-text-sm ax-mx-auto ax-w-10 ax-h-10 ax-bg-neutral-200 ax-rounded-full\"></axp-logo>\n </div>\n <span class=\"ax-flex-1 ax-text-start md:ax-text-base ax-text-sm\">{{ application.title }}</span>\n <span class=\"ax-text-
|
|
203
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.12", type: AXPAppChooserListComponent, isStandalone: true, selector: "axp-app-chooser-list", outputs: { applicationChosen: "applicationChosen" }, ngImport: i0, template: "<div class=\"ax-w-full ax-overflow-auto ax-max-h-[300px] ax-pe-2\">\n @for (application of applications$ | async; track $index) {\n <div\n class=\"ax-flex ax-gap-2 ax-justify-between ax-border-b last:ax-border-b-0 ax-py-3 ax-items-start ax-cursor-pointer\"\n (click)=\"chooseApplication(application)\">\n <div class=\"ax-flex ax-flex-1 ax-gap-2 ax-items-center ax-justify-center ax-font-medium\">\n <div\n class=\"ax-w-12 ax-h-12 ax-flex ax-justify-center ax-items-center ax-rounded-full ax-bg-neutral-100 ax-m-auto\">\n <axp-logo [source]=\"application.logo\" [attr.alt]=\"application.title\"\n class=\"!ax-flex ax-items-center ax-justify-center !ax-text-sm ax-mx-auto ax-w-10 ax-h-10 ax-bg-neutral-200 ax-rounded-full\"></axp-logo>\n </div>\n <span class=\"ax-flex-1 ax-text-start md:ax-text-base ax-text-sm\">{{ application.title }}</span>\n <span class=\"ax-text-muted ax-text-xs\">{{ application.edition?.title }}</span>\n </div>\n </div>\n }\n</div>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "ngmodule", type: AXLoadingModule }, { kind: "component", type: AXPLogoComponent, selector: "axp-logo", inputs: ["source"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] }); }
|
|
202
204
|
}
|
|
203
205
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: AXPAppChooserListComponent, decorators: [{
|
|
204
206
|
type: Component,
|
|
205
|
-
args: [{ selector: 'axp-app-chooser-list', imports: [CommonModule, AXDecoratorModule, AXLoadingModule, AXPLogoComponent], template: "<div class=\"ax-w-full ax-overflow-auto ax-max-h-[300px] ax-pe-2\">\n @for (application of applications$ | async; track $index) {\n <div\n class=\"ax-flex ax-gap-2 ax-justify-between ax-border-b last:ax-border-b-0 ax-py-3 ax-items-start ax-cursor-pointer\"\n (click)=\"chooseApplication(application)\">\n <div class=\"ax-flex ax-flex-1 ax-gap-2 ax-items-center ax-justify-center ax-font-medium\">\n <div\n class=\"ax-w-12 ax-h-12 ax-flex ax-justify-center ax-items-center ax-rounded-full ax-bg-neutral-100 ax-m-auto\">\n <axp-logo [source]=\"application.logo\" [attr.alt]=\"application.title\"\n class=\"!ax-flex ax-items-center ax-justify-center !ax-text-sm ax-mx-auto ax-w-10 ax-h-10 ax-bg-neutral-200 ax-rounded-full\"></axp-logo>\n </div>\n <span class=\"ax-flex-1 ax-text-start md:ax-text-base ax-text-sm\">{{ application.title }}</span>\n <span class=\"ax-text-
|
|
206
|
-
}] });
|
|
207
|
+
args: [{ selector: 'axp-app-chooser-list', imports: [CommonModule, AXDecoratorModule, AXLoadingModule, AXPLogoComponent], template: "<div class=\"ax-w-full ax-overflow-auto ax-max-h-[300px] ax-pe-2\">\n @for (application of applications$ | async; track $index) {\n <div\n class=\"ax-flex ax-gap-2 ax-justify-between ax-border-b last:ax-border-b-0 ax-py-3 ax-items-start ax-cursor-pointer\"\n (click)=\"chooseApplication(application)\">\n <div class=\"ax-flex ax-flex-1 ax-gap-2 ax-items-center ax-justify-center ax-font-medium\">\n <div\n class=\"ax-w-12 ax-h-12 ax-flex ax-justify-center ax-items-center ax-rounded-full ax-bg-neutral-100 ax-m-auto\">\n <axp-logo [source]=\"application.logo\" [attr.alt]=\"application.title\"\n class=\"!ax-flex ax-items-center ax-justify-center !ax-text-sm ax-mx-auto ax-w-10 ax-h-10 ax-bg-neutral-200 ax-rounded-full\"></axp-logo>\n </div>\n <span class=\"ax-flex-1 ax-text-start md:ax-text-base ax-text-sm\">{{ application.title }}</span>\n <span class=\"ax-text-muted ax-text-xs\">{{ application.edition?.title }}</span>\n </div>\n </div>\n }\n</div>" }]
|
|
208
|
+
}], propDecorators: { applicationChosen: [{ type: i0.Output, args: ["applicationChosen"] }] } });
|
|
207
209
|
|
|
208
210
|
class AXMAppChooserSlotComponent {
|
|
209
211
|
constructor() {
|
|
210
212
|
this.sessionService = inject(AXPSessionService);
|
|
211
|
-
this.
|
|
213
|
+
this.applications$ = this.sessionService.applications$;
|
|
214
|
+
this.appPopover = viewChild('appPopover', ...(ngDevMode ? [{ debugName: "appPopover" }] : []));
|
|
215
|
+
}
|
|
216
|
+
closePopover() {
|
|
217
|
+
this.appPopover()?.close();
|
|
218
|
+
}
|
|
219
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: AXMAppChooserSlotComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
220
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.12", type: AXMAppChooserSlotComponent, isStandalone: true, selector: "ng-component", viewQueries: [{ propertyName: "appPopover", first: true, predicate: ["appPopover"], descendants: true, isSignal: true }], ngImport: i0, template: "@if(((applications$ | async)?.length ?? 0) > 1) {\n<ax-button color=\"primary\" #appChooser>\n <ax-icon class=\"fa-regular fa-grid-2\"> </ax-icon>\n</ax-button>\n<ax-popover [target]=\"appChooser\" [openOn]=\"'toggle'\" [closeOn]=\"'clickOut'\" [adaptivityEnabled]=\"true\" #appPopover>\n <div class=\"ax-bg-lightest ax-border ax-overflow-hidden ax-rounded-md ax-shadow-md ax-w-full ax-min-w-64 ax-p-3\">\n <axp-app-chooser-list (applicationChosen)=\"closePopover()\"></axp-app-chooser-list>\n </div>\n</ax-popover>\n}", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i1$1.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "ngmodule", type: AXPopoverModule }, { kind: "component", type: i2.AXPopoverComponent, selector: "ax-popover", inputs: ["width", "disabled", "offsetX", "offsetY", "target", "placement", "content", "openOn", "closeOn", "hasBackdrop", "openAfter", "closeAfter", "backdropClass", "panelClass", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: AXPAppChooserListComponent, selector: "axp-app-chooser-list", outputs: ["applicationChosen"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] }); }
|
|
221
|
+
}
|
|
222
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: AXMAppChooserSlotComponent, decorators: [{
|
|
223
|
+
type: Component,
|
|
224
|
+
args: [{ imports: [CommonModule, AXButtonModule, AXPopoverModule, AXDecoratorModule, AXPAppChooserListComponent], template: "@if(((applications$ | async)?.length ?? 0) > 1) {\n<ax-button color=\"primary\" #appChooser>\n <ax-icon class=\"fa-regular fa-grid-2\"> </ax-icon>\n</ax-button>\n<ax-popover [target]=\"appChooser\" [openOn]=\"'toggle'\" [closeOn]=\"'clickOut'\" [adaptivityEnabled]=\"true\" #appPopover>\n <div class=\"ax-bg-lightest ax-border ax-overflow-hidden ax-rounded-md ax-shadow-md ax-w-full ax-min-w-64 ax-p-3\">\n <axp-app-chooser-list (applicationChosen)=\"closePopover()\"></axp-app-chooser-list>\n </div>\n</ax-popover>\n}" }]
|
|
225
|
+
}], propDecorators: { appPopover: [{ type: i0.ViewChild, args: ['appPopover', { isSignal: true }] }] } });
|
|
226
|
+
|
|
227
|
+
class AXPTenantChooserListComponent {
|
|
228
|
+
constructor() {
|
|
229
|
+
this.sessionService = inject(AXPSessionService);
|
|
212
230
|
this.authStrategyRegistry = inject(AXPAuthStrategyRegistryService);
|
|
231
|
+
this.router = inject(Router);
|
|
213
232
|
this.strategyName = this.sessionService.getSessionData()?.strategy;
|
|
214
233
|
this.strategy = this.authStrategyRegistry.get(this.strategyName);
|
|
215
|
-
this.
|
|
216
|
-
this.
|
|
217
|
-
this.
|
|
234
|
+
this.defaultLogo = new AXPIconLogoConfig('fa-solid fa-building', 'neutral-500');
|
|
235
|
+
this.simple = input(false, ...(ngDevMode ? [{ debugName: "simple" }] : []));
|
|
236
|
+
this.searchValue = '';
|
|
237
|
+
this.showAll = false;
|
|
238
|
+
this.selectedTenant = null;
|
|
239
|
+
this.displayedTenants = [];
|
|
240
|
+
this.tenants$ = this.sessionService.tenants$;
|
|
241
|
+
this.tenantChosen = output();
|
|
218
242
|
}
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
243
|
+
ngOnInit() {
|
|
244
|
+
this.sessionService.tenants$.pipe(first()).subscribe((tenants) => {
|
|
245
|
+
this.displayedTenants = tenants.slice(0, 4);
|
|
246
|
+
this.allTenants = tenants;
|
|
247
|
+
});
|
|
248
|
+
}
|
|
249
|
+
filterTenants(tenants) {
|
|
250
|
+
return tenants.filter((tenant) => tenant.title.toLowerCase().includes(this.searchValue.toLowerCase()));
|
|
251
|
+
}
|
|
252
|
+
handleSearch(event) {
|
|
253
|
+
if (event != undefined) {
|
|
254
|
+
this.searchValue = event;
|
|
255
|
+
this.displayedTenants = this.filterTenants(this.allTenants);
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
showAllTenants() {
|
|
259
|
+
this.showAll = !this.showAll;
|
|
260
|
+
this.displayedTenants = this.filterTenants(this.showAll ? this.allTenants : this.allTenants.slice(0, 4));
|
|
261
|
+
}
|
|
262
|
+
async chooseTenant(item) {
|
|
263
|
+
this.selectedTenant = item;
|
|
264
|
+
if (this.strategy) {
|
|
222
265
|
const updateContext = {
|
|
223
|
-
tenant:
|
|
266
|
+
tenant: item,
|
|
224
267
|
user: this.sessionService.user,
|
|
225
|
-
application: item,
|
|
226
268
|
};
|
|
227
269
|
await this.sessionService.updateToken(updateContext);
|
|
228
270
|
}
|
|
271
|
+
this.tenantChosen.emit();
|
|
272
|
+
return this.router.navigate(['/auth/account/app-chooser']);
|
|
229
273
|
}
|
|
230
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type:
|
|
231
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.12", type:
|
|
274
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: AXPTenantChooserListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
275
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.12", type: AXPTenantChooserListComponent, isStandalone: true, selector: "axp-tenant-chooser-list", inputs: { simple: { classPropertyName: "simple", publicName: "simple", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { tenantChosen: "tenantChosen" }, ngImport: i0, template: "@if (simple()) {\n<div class=\"ax-w-full ax-overflow-auto ax-max-h-[300px] ax-pe-2\">\n @for (tenant of tenants$ | async; track $index) {\n <div class=\"ax-flex ax-gap-2 ax-justify-between ax-border-b last:ax-border-b-0 ax-py-3 ax-items-start ax-cursor-pointer\"\n (click)=\"chooseTenant(tenant)\">\n <div class=\"ax-flex ax-flex-1 ax-gap-2 ax-items-center ax-font-medium\">\n <div\n class=\"ax-w-12 ax-h-12 ax-flex ax-justify-center ax-items-center ax-rounded-full ax-bg-neutral-100 ax-m-auto\">\n <axp-logo [source]=\"tenant.logo ?? defaultLogo\" [attr.alt]=\"tenant.title\"\n class=\"!ax-flex ax-items-center ax-justify-center !ax-text-sm ax-mx-auto ax-w-10 ax-h-10 ax-bg-neutral-200 ax-rounded-full\"></axp-logo>\n </div>\n <span class=\"ax-flex-1 ax-text-start md:ax-text-base ax-text-sm\">{{ tenant.title }}</span>\n </div>\n </div>\n }\n</div>\n} @else {\n@if (allTenants && allTenants.length > 4) {\n<ax-search-box [placeholder]=\"'@general:search.title' | translate | async\" [ngModel]=\"searchValue\"\n (ngModelChange)=\"handleSearch($event)\" class=\"ax-w-full\"><ax-clear-button></ax-clear-button></ax-search-box>\n<div class=\"ax-mt-3 ax-w-full ax-overflow-auto ax-max-h-[300px] ax-pe-2\">\n @for (tenant of displayedTenants; track $index) {\n <div class=\"ax-flex ax-gap-2 ax-justify-between ax-border-b last:ax-border-b-0 ax-py-3 ax-items-center ax-cursor-pointer\"\n (click)=\"chooseTenant(tenant)\">\n <div class=\"ax-flex ax-gap-2 ax-items-center ax-font-medium\">\n <div\n class=\"ax-w-12 ax-h-12 ax-flex ax-justify-center ax-items-center ax-rounded-full ax-bg-neutral-100 ax-m-auto\">\n <axp-logo [source]=\"tenant.logo ?? defaultLogo\" [attr.alt]=\"tenant.title\"\n class=\"!ax-flex ax-items-center ax-justify-center !ax-text-sm ax-mx-auto ax-w-10 ax-h-10 ax-bg-neutral-200 ax-rounded-full\"></axp-logo>\n </div>\n <span class=\"md:ax-text-base ax-text-sm ax-text-start\">{{ tenant.title }} </span>\n </div>\n </div>\n }\n</div>\n} @else {\n<div class=\"ax-w-full ax-overflow-auto ax-max-h-[300px] ax-pe-2\">\n @for (tenant of displayedTenants; track $index) {\n <div class=\"ax-flex ax-gap-2 ax-justify-between ax-border-b last:ax-border-b-0 ax-py-3 ax-items-center ax-cursor-pointer\"\n (click)=\"chooseTenant(tenant)\">\n <div class=\"ax-flex ax-gap-2 ax-items-center ax-font-medium\">\n <div\n class=\"ax-w-12 ax-h-12 ax-flex ax-justify-center ax-items-center ax-rounded-full ax-bg-neutral-100 ax-m-auto\">\n <axp-logo [source]=\"tenant.logo ?? defaultLogo\" [attr.alt]=\"tenant.title\"\n class=\"!ax-flex ax-items-center ax-justify-center !ax-text-sm ax-mx-auto ax-w-10 ax-h-10 ax-bg-neutral-200 ax-rounded-full\"></axp-logo>\n </div>\n <span class=\"md:ax-text-base ax-text-sm ax-text-start\">{{ tenant.title }} </span>\n </div>\n </div>\n }\n</div>\n}\n@if (allTenants && allTenants.length > 4) {\n<div class=\"ax-mt-6 ax-w-full ax-flex ax-justify-center\">\n <ax-button (onClick)=\"showAllTenants()\" class=\"ax-w-full\" look=\"outline\" [text]=\"\n showAll\n ? ('@general:actions.view-less.title' | translate | async)\n : ('@general:actions.view-all.title' | translate | async)\n \"></ax-button>\n</div>\n}\n}", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3.AXDecoratorClearButtonComponent, selector: "ax-clear-button", inputs: ["icon"] }, { kind: "ngmodule", type: AXLoadingModule }, { kind: "component", type: AXPLogoComponent, selector: "axp-logo", inputs: ["source"] }, { kind: "ngmodule", type: AXSearchBoxModule }, { kind: "component", type: i3$1.AXSearchBoxComponent, selector: "ax-search-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "value", "state", "name", "id", "look", "class", "delayTime", "type", "autoSearch"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i1$1.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i2$2.AXTranslatorPipe, name: "translate" }] }); }
|
|
232
276
|
}
|
|
233
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type:
|
|
277
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: AXPTenantChooserListComponent, decorators: [{
|
|
234
278
|
type: Component,
|
|
235
|
-
args: [{ imports: [CommonModule,
|
|
236
|
-
}] });
|
|
279
|
+
args: [{ selector: 'axp-tenant-chooser-list', imports: [CommonModule, FormsModule, AXTranslationModule, AXDecoratorModule, AXLoadingModule, AXPLogoComponent, AXSearchBoxModule, AXButtonModule], template: "@if (simple()) {\n<div class=\"ax-w-full ax-overflow-auto ax-max-h-[300px] ax-pe-2\">\n @for (tenant of tenants$ | async; track $index) {\n <div class=\"ax-flex ax-gap-2 ax-justify-between ax-border-b last:ax-border-b-0 ax-py-3 ax-items-start ax-cursor-pointer\"\n (click)=\"chooseTenant(tenant)\">\n <div class=\"ax-flex ax-flex-1 ax-gap-2 ax-items-center ax-font-medium\">\n <div\n class=\"ax-w-12 ax-h-12 ax-flex ax-justify-center ax-items-center ax-rounded-full ax-bg-neutral-100 ax-m-auto\">\n <axp-logo [source]=\"tenant.logo ?? defaultLogo\" [attr.alt]=\"tenant.title\"\n class=\"!ax-flex ax-items-center ax-justify-center !ax-text-sm ax-mx-auto ax-w-10 ax-h-10 ax-bg-neutral-200 ax-rounded-full\"></axp-logo>\n </div>\n <span class=\"ax-flex-1 ax-text-start md:ax-text-base ax-text-sm\">{{ tenant.title }}</span>\n </div>\n </div>\n }\n</div>\n} @else {\n@if (allTenants && allTenants.length > 4) {\n<ax-search-box [placeholder]=\"'@general:search.title' | translate | async\" [ngModel]=\"searchValue\"\n (ngModelChange)=\"handleSearch($event)\" class=\"ax-w-full\"><ax-clear-button></ax-clear-button></ax-search-box>\n<div class=\"ax-mt-3 ax-w-full ax-overflow-auto ax-max-h-[300px] ax-pe-2\">\n @for (tenant of displayedTenants; track $index) {\n <div class=\"ax-flex ax-gap-2 ax-justify-between ax-border-b last:ax-border-b-0 ax-py-3 ax-items-center ax-cursor-pointer\"\n (click)=\"chooseTenant(tenant)\">\n <div class=\"ax-flex ax-gap-2 ax-items-center ax-font-medium\">\n <div\n class=\"ax-w-12 ax-h-12 ax-flex ax-justify-center ax-items-center ax-rounded-full ax-bg-neutral-100 ax-m-auto\">\n <axp-logo [source]=\"tenant.logo ?? defaultLogo\" [attr.alt]=\"tenant.title\"\n class=\"!ax-flex ax-items-center ax-justify-center !ax-text-sm ax-mx-auto ax-w-10 ax-h-10 ax-bg-neutral-200 ax-rounded-full\"></axp-logo>\n </div>\n <span class=\"md:ax-text-base ax-text-sm ax-text-start\">{{ tenant.title }} </span>\n </div>\n </div>\n }\n</div>\n} @else {\n<div class=\"ax-w-full ax-overflow-auto ax-max-h-[300px] ax-pe-2\">\n @for (tenant of displayedTenants; track $index) {\n <div class=\"ax-flex ax-gap-2 ax-justify-between ax-border-b last:ax-border-b-0 ax-py-3 ax-items-center ax-cursor-pointer\"\n (click)=\"chooseTenant(tenant)\">\n <div class=\"ax-flex ax-gap-2 ax-items-center ax-font-medium\">\n <div\n class=\"ax-w-12 ax-h-12 ax-flex ax-justify-center ax-items-center ax-rounded-full ax-bg-neutral-100 ax-m-auto\">\n <axp-logo [source]=\"tenant.logo ?? defaultLogo\" [attr.alt]=\"tenant.title\"\n class=\"!ax-flex ax-items-center ax-justify-center !ax-text-sm ax-mx-auto ax-w-10 ax-h-10 ax-bg-neutral-200 ax-rounded-full\"></axp-logo>\n </div>\n <span class=\"md:ax-text-base ax-text-sm ax-text-start\">{{ tenant.title }} </span>\n </div>\n </div>\n }\n</div>\n}\n@if (allTenants && allTenants.length > 4) {\n<div class=\"ax-mt-6 ax-w-full ax-flex ax-justify-center\">\n <ax-button (onClick)=\"showAllTenants()\" class=\"ax-w-full\" look=\"outline\" [text]=\"\n showAll\n ? ('@general:actions.view-less.title' | translate | async)\n : ('@general:actions.view-all.title' | translate | async)\n \"></ax-button>\n</div>\n}\n}" }]
|
|
280
|
+
}], propDecorators: { simple: [{ type: i0.Input, args: [{ isSignal: true, alias: "simple", required: false }] }], tenantChosen: [{ type: i0.Output, args: ["tenantChosen"] }] } });
|
|
237
281
|
|
|
238
282
|
class AXPTenantChooserDropdownComponent {
|
|
239
283
|
constructor() {
|
|
240
|
-
this.router = inject(Router);
|
|
241
284
|
this.sessionService = inject(AXPSessionService);
|
|
242
285
|
this.tenants$ = this.sessionService.tenants$;
|
|
243
286
|
this.tenant = this.sessionService.tenant;
|
|
287
|
+
this.tenantPopover = viewChild('tenantPopover', ...(ngDevMode ? [{ debugName: "tenantPopover" }] : []));
|
|
244
288
|
}
|
|
245
|
-
|
|
246
|
-
this.
|
|
289
|
+
closePopover() {
|
|
290
|
+
this.tenantPopover()?.close();
|
|
247
291
|
}
|
|
248
292
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: AXPTenantChooserDropdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
249
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.12", type: AXPTenantChooserDropdownComponent, isStandalone: true, selector: "axp-tenant-chooser-dropdown", ngImport: i0, template: "
|
|
293
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.12", type: AXPTenantChooserDropdownComponent, isStandalone: true, selector: "axp-tenant-chooser-dropdown", viewQueries: [{ propertyName: "tenantPopover", first: true, predicate: ["tenantPopover"], descendants: true, isSignal: true }], ngImport: i0, template: "@if (tenants$ | async; as tenants) {\n@if (tenants.length > 1) {\n<ax-button [text]=\"tenant?.title ?? ''\" class=\"ax-xs\" look=\"blank\" #tenantChooser>\n <ax-suffix>\n <ax-icon class=\"fa-solid fa-caret-down\"></ax-icon>\n </ax-suffix>\n</ax-button>\n<ax-popover [target]=\"tenantChooser\" [openOn]=\"'toggle'\" [closeOn]=\"'clickOut'\" [adaptivityEnabled]=\"true\"\n #tenantPopover>\n <div class=\"ax-bg-lightest ax-border ax-overflow-hidden ax-rounded-md ax-shadow-md ax-w-full ax-min-w-64 ax-p-3\">\n <axp-tenant-chooser-list [simple]=\"true\" (tenantChosen)=\"closePopover()\"></axp-tenant-chooser-list>\n </div>\n</ax-popover>\n} @else {\n<ax-button [text]=\"tenant?.title ?? ''\" class=\"ax-xs\" look=\"blank\"></ax-button>\n}\n}", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i1$1.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "ngmodule", type: AXPopoverModule }, { kind: "component", type: i2.AXPopoverComponent, selector: "ax-popover", inputs: ["width", "disabled", "offsetX", "offsetY", "target", "placement", "content", "openOn", "closeOn", "hasBackdrop", "openAfter", "closeAfter", "backdropClass", "panelClass", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { 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: "component", type: AXPTenantChooserListComponent, selector: "axp-tenant-chooser-list", inputs: ["simple"], outputs: ["tenantChosen"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] }); }
|
|
250
294
|
}
|
|
251
295
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: AXPTenantChooserDropdownComponent, decorators: [{
|
|
252
296
|
type: Component,
|
|
253
|
-
args: [{ selector: 'axp-tenant-chooser-dropdown', imports: [
|
|
254
|
-
}] });
|
|
297
|
+
args: [{ selector: 'axp-tenant-chooser-dropdown', imports: [CommonModule, AXButtonModule, AXPopoverModule, AXDecoratorModule, AXPTenantChooserListComponent], template: "@if (tenants$ | async; as tenants) {\n@if (tenants.length > 1) {\n<ax-button [text]=\"tenant?.title ?? ''\" class=\"ax-xs\" look=\"blank\" #tenantChooser>\n <ax-suffix>\n <ax-icon class=\"fa-solid fa-caret-down\"></ax-icon>\n </ax-suffix>\n</ax-button>\n<ax-popover [target]=\"tenantChooser\" [openOn]=\"'toggle'\" [closeOn]=\"'clickOut'\" [adaptivityEnabled]=\"true\"\n #tenantPopover>\n <div class=\"ax-bg-lightest ax-border ax-overflow-hidden ax-rounded-md ax-shadow-md ax-w-full ax-min-w-64 ax-p-3\">\n <axp-tenant-chooser-list [simple]=\"true\" (tenantChosen)=\"closePopover()\"></axp-tenant-chooser-list>\n </div>\n</ax-popover>\n} @else {\n<ax-button [text]=\"tenant?.title ?? ''\" class=\"ax-xs\" look=\"blank\"></ax-button>\n}\n}" }]
|
|
298
|
+
}], propDecorators: { tenantPopover: [{ type: i0.ViewChild, args: ['tenantPopover', { isSignal: true }] }] } });
|
|
255
299
|
|
|
256
300
|
class AXMAuthProfileSlotComponent {
|
|
257
301
|
constructor() {
|
|
@@ -281,7 +325,7 @@ class AXMAuthProfileSlotComponent {
|
|
|
281
325
|
this.router.navigate(['/auth/login']);
|
|
282
326
|
}
|
|
283
327
|
async openUserSession() {
|
|
284
|
-
const com = await import('./acorex-modules-auth-user-sessions.component-
|
|
328
|
+
const com = await import('./acorex-modules-auth-user-sessions.component-C_JzCXUy.mjs').then((c) => c.AXMUserSessionsComponent);
|
|
285
329
|
this.popupService.open(com, {
|
|
286
330
|
size: this.platform.is('Mobile') || this.platform.is('SM') ? 'full' : 'sm',
|
|
287
331
|
title: await this.translateService.translateAsync('@auth:profile.sessions.title'),
|
|
@@ -293,9 +337,9 @@ class AXMAuthProfileSlotComponent {
|
|
|
293
337
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: AXMAuthProfileSlotComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
294
338
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.12", type: AXMAuthProfileSlotComponent, isStandalone: true, selector: "ng-component", viewQueries: [{ propertyName: "profilePopover", first: true, predicate: ["profilePopover"], descendants: true }], ngImport: i0, template: "@if (isAuthenticated$ | async) {\n <div class=\"ax-size-fit\">\n <div #avatar>\n <axp-user-avatar [size]=\"36\" [userId]=\"(user$ | async)?.id!\"></axp-user-avatar>\n </div>\n\n <ax-popover [target]=\"avatar\" [openOn]=\"'toggle'\" [closeOn]=\"'clickOut'\" #p>\n <div class=\"ax-bg-lightest ax-border ax-border-lightest ax-rounded-md ax-shadow-md ax-w-full ax-min-w-64\">\n <div class=\"ax-flex ax-flex-col ax-items-center ax-p-4 ax-border-b\">\n <axp-user-avatar [size]=\"64\" [userId]=\"(user$ | async)?.id!\"></axp-user-avatar>\n\n <div class=\"ax-flex ax-flex-col ax-items-center ax-justify-center ax-mt-2\">\n <div class=\"ax-text-base ax-font-bold\">{{ (user$ | async)?.title }}</div>\n <axp-tenant-chooser-dropdown></axp-tenant-chooser-dropdown>\n </div>\n </div>\n <div class=\"axp-profile-slot-menus\">\n <ul>\n <li>\n <a (click)=\"showProfile()\">\n <i class=\"fa-light fa-user\"></i>\n <span>{{ '@auth:profile.edit' | translate | async }}</span>\n </a>\n </li>\n <li>\n <a (click)=\"p.close()\" [routerLink]=\"['/', appName(), 'settings', 'user']\">\n <i class=\"fa-light fa-gear\"></i>\n <span>{{ '@auth:profile.settings' | translate | async }}</span>\n </a>\n </li>\n <li>\n <a (click)=\"openUserSession()\">\n <i class=\"fa-light fa-mobile\"></i>\n <span>{{ '@auth:profile.sessions' | translate | async }}</span>\n </a>\n </li>\n <li class=\"ax-text-danger-500\">\n <a (click)=\"logOut()\">\n <i class=\"fa-light fa-arrow-right-from-bracket\"></i>\n <span>{{ '@auth:profile.logout' | translate | async }}</span>\n </a>\n </li>\n </ul>\n </div>\n </div>\n </ax-popover>\n </div>\n} @else {\n <ax-button color=\"default\" look=\"blank\" text=\"Sign Up / Sign In\" (click)=\"handleSignIn()\">\n <ax-icon>\n <i class=\"fa-solid fa-user ax-text-slate-400 dark:ax-text-slate-200\"></i>\n </ax-icon>\n </ax-button>\n}\n", styles: [".axp-profile-slot-menus ul{margin-top:.5rem;border-bottom-width:1px;--tw-border-opacity: 1;border-color:rgba(var(--ax-sys-color-border-lightest-surface),var(--tw-border-opacity, 1));padding-left:.5rem;padding-right:.5rem}.axp-profile-slot-menus ul:last-child{border-width:0px}.axp-profile-slot-menus ul li{display:flex;cursor:pointer;border-radius:.375rem}.axp-profile-slot-menus ul li:last-child{margin-bottom:.5rem}.axp-profile-slot-menus ul li:hover{--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-dark-surface),var(--tw-bg-opacity, 1))}.axp-profile-slot-menus ul li i{margin-inline-end:.75rem;display:grid;height:1.5rem;width:1.5rem;place-items:center;font-size:1.25rem;line-height:1.75rem}.axp-profile-slot-menus ul li a{display:flex;height:100%;width:100%;align-items:center;padding:.5rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i1$2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type:
|
|
295
339
|
//
|
|
296
|
-
AXImageModule }, { kind: "ngmodule", type: AXAvatarModule }, { kind: "ngmodule", type: AXPopoverModule }, { kind: "component", type: i2
|
|
340
|
+
AXImageModule }, { kind: "ngmodule", type: AXAvatarModule }, { kind: "ngmodule", type: AXPopoverModule }, { kind: "component", type: i2.AXPopoverComponent, selector: "ax-popover", inputs: ["width", "disabled", "offsetX", "offsetY", "target", "placement", "content", "openOn", "closeOn", "hasBackdrop", "openAfter", "closeAfter", "backdropClass", "panelClass", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i1$1.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "ngmodule", type: AXLoadingModule }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "component", type: AXPUserAvatarComponent, selector: "axp-user-avatar", inputs: ["size", "userId"] }, { kind: "component", type:
|
|
297
341
|
//
|
|
298
|
-
AXPTenantChooserDropdownComponent, selector: "axp-tenant-chooser-dropdown" }, { kind: "pipe", type: i1
|
|
342
|
+
AXPTenantChooserDropdownComponent, selector: "axp-tenant-chooser-dropdown" }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i2$2.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
299
343
|
}
|
|
300
344
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: AXMAuthProfileSlotComponent, decorators: [{
|
|
301
345
|
type: Component,
|
|
@@ -381,7 +425,7 @@ class AXMUserProfileCardSlotComponent {
|
|
|
381
425
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: AXMUserProfileCardSlotComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
382
426
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.12", type: AXMUserProfileCardSlotComponent, isStandalone: true, selector: "ng-component", viewQueries: [{ propertyName: "profilePopover", first: true, predicate: ["profilePopover"], descendants: true }], ngImport: i0, template: "@if((isAuthenticated$ | async)) {\n<div class=\"ax-p-3 ax-flex ax-items-center ax-gap-1 ax-border-b ax-border-lighter\">\n <div #avatar>\n <axp-user-avatar [size]=\"48\" [userId]=\"(user$ | async)?.id!\"></axp-user-avatar>\n </div>\n <div class=\"ax-flex ax-flex-col\">\n <ax-title class=\"ax-text-sm ax-font-medium ax-px-3\">{{ (user$ | async)?.title }}</ax-title>\n <axp-tenant-chooser-dropdown />\n </div>\n</div>\n}\n", dependencies: [{ kind: "ngmodule", type: RouterModule }, { kind: "ngmodule", type:
|
|
383
427
|
//
|
|
384
|
-
AXImageModule }, { kind: "ngmodule", type: AXAvatarModule }, { kind: "ngmodule", type: AXPopoverModule }, { kind: "ngmodule", type: AXButtonModule }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type:
|
|
428
|
+
AXImageModule }, { kind: "ngmodule", type: AXAvatarModule }, { kind: "ngmodule", type: AXPopoverModule }, { kind: "ngmodule", type: AXButtonModule }, { 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: AXLoadingModule }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "component", type:
|
|
385
429
|
//
|
|
386
430
|
AXPTenantChooserDropdownComponent, selector: "axp-tenant-chooser-dropdown" }, { kind: "component", type: AXPUserAvatarComponent, selector: "axp-user-avatar", inputs: ["size", "userId"] }, { kind: "pipe", type: AsyncPipe, name: "async" }] }); }
|
|
387
431
|
}
|
|
@@ -574,12 +618,12 @@ function routesFacory() {
|
|
|
574
618
|
routes = [
|
|
575
619
|
{
|
|
576
620
|
path: 'tenant-chooser',
|
|
577
|
-
loadComponent: () => import('./acorex-modules-auth-tenant-chooser.component-
|
|
621
|
+
loadComponent: () => import('./acorex-modules-auth-tenant-chooser.component-CptZLRwB.mjs').then((c) => c.AXPAuthTenantChooserComponent),
|
|
578
622
|
canActivate: [AXPAuthGuard, canActivateTenantChooser],
|
|
579
623
|
},
|
|
580
624
|
{
|
|
581
625
|
path: 'app-chooser',
|
|
582
|
-
loadComponent: () => import('./acorex-modules-auth-app-chooser.component-
|
|
626
|
+
loadComponent: () => import('./acorex-modules-auth-app-chooser.component-BvbLYIXA.mjs').then((c) => c.AXPAuthAppChooserComponent),
|
|
583
627
|
canActivate: [AXPAuthGuard, canActivateAppChooser],
|
|
584
628
|
},
|
|
585
629
|
];
|
|
@@ -725,5 +769,5 @@ var AXMSessionStatusTypes;
|
|
|
725
769
|
* Generated bundle index. Do not edit.
|
|
726
770
|
*/
|
|
727
771
|
|
|
728
|
-
export { AXM_AUTH_CONFIG_TOKEN as A, AXMAuthenticationTypes as a,
|
|
729
|
-
//# sourceMappingURL=acorex-modules-auth-acorex-modules-auth-
|
|
772
|
+
export { AXM_AUTH_CONFIG_TOKEN as A, AXMAuthenticationTypes as a, AXPTenantChooserListComponent as b, AXPTenantChooserDropdownComponent as c, AXPAppChooserListComponent as d, AXMUserDeviceSessionsService as e, AXMAuthErrorHandler as f, AXMDefaultAuthConfigs as g, configAuthModule as h, AXMAuthModule as i, AXMSessionStatusTypes as j, AXPIdleService as k, AXMDeviceSessionsService as l, AXMDeviceSessionsServiceImpl as m };
|
|
773
|
+
//# sourceMappingURL=acorex-modules-auth-acorex-modules-auth-8XP9xX7L.mjs.map
|