@acorex/modules 19.2.5 → 19.2.7
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/application-management/lib/layouts/module-entity-detail-view/module-entity-detail-view.component.d.ts +2 -2
- package/auth/lib/store/auth.effects.d.ts +2 -2
- package/fesm2022/{acorex-modules-application-management-module-designer.component-kMtkkid-.mjs → acorex-modules-application-management-module-designer.component-DPJ4qpK3.mjs} +4 -4
- package/fesm2022/acorex-modules-application-management-module-designer.component-DPJ4qpK3.mjs.map +1 -0
- package/fesm2022/acorex-modules-application-management.mjs +3 -3
- package/fesm2022/acorex-modules-application-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-auth-acorex-modules-auth-CcRRSTGN.mjs → acorex-modules-auth-acorex-modules-auth-HwJJs-3A.mjs} +24 -24
- package/fesm2022/acorex-modules-auth-acorex-modules-auth-HwJJs-3A.mjs.map +1 -0
- package/fesm2022/acorex-modules-auth-app-chooser.component-BvxMkXPp.mjs +64 -0
- package/fesm2022/acorex-modules-auth-app-chooser.component-BvxMkXPp.mjs.map +1 -0
- package/fesm2022/{acorex-modules-auth-login.module-ua9uEgUG.mjs → acorex-modules-auth-login.module-CDvLUxls.mjs} +4 -4
- package/fesm2022/{acorex-modules-auth-login.module-ua9uEgUG.mjs.map → acorex-modules-auth-login.module-CDvLUxls.mjs.map} +1 -1
- package/fesm2022/acorex-modules-auth-master.layout-CnKBnl8W.mjs +23 -0
- package/fesm2022/acorex-modules-auth-master.layout-CnKBnl8W.mjs.map +1 -0
- package/fesm2022/{acorex-modules-auth-password.component-BVoPZUG9.mjs → acorex-modules-auth-password.component-1FnIjiZ8.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-password.component-BVoPZUG9.mjs.map → acorex-modules-auth-password.component-1FnIjiZ8.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-password.component-CIwOjQRh.mjs → acorex-modules-auth-password.component-C16jeHuJ.mjs} +4 -4
- package/fesm2022/acorex-modules-auth-password.component-C16jeHuJ.mjs.map +1 -0
- package/fesm2022/{acorex-modules-auth-routes-hR3jePok.mjs → acorex-modules-auth-routes-ZDDUhAWd.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-routes-hR3jePok.mjs.map → acorex-modules-auth-routes-ZDDUhAWd.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-setting.provider-GJeEbIRd.mjs → acorex-modules-auth-setting.provider-DDl3OHw6.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-setting.provider-GJeEbIRd.mjs.map → acorex-modules-auth-setting.provider-DDl3OHw6.mjs.map} +1 -1
- package/fesm2022/acorex-modules-auth-tenant-chooser.component-CKsbiOUX.mjs +83 -0
- package/fesm2022/acorex-modules-auth-tenant-chooser.component-CKsbiOUX.mjs.map +1 -0
- package/fesm2022/{acorex-modules-auth-two-factor.module-CKe_H_-u.mjs → acorex-modules-auth-two-factor.module-C32MVGby.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-two-factor.module-CKe_H_-u.mjs.map → acorex-modules-auth-two-factor.module-C32MVGby.mjs.map} +1 -1
- package/fesm2022/acorex-modules-auth.mjs +1 -1
- package/fesm2022/acorex-modules-conversation.mjs +4 -4
- package/fesm2022/acorex-modules-conversation.mjs.map +1 -1
- package/fesm2022/acorex-modules-form-template-management-acorex-modules-form-template-management-DGGKoVbL.mjs +908 -0
- package/fesm2022/acorex-modules-form-template-management-acorex-modules-form-template-management-DGGKoVbL.mjs.map +1 -0
- package/fesm2022/{acorex-modules-form-template-management-category.entity-BcfMw_wb.mjs → acorex-modules-form-template-management-category.entity-B1X2QyYV.mjs} +2 -2
- package/fesm2022/{acorex-modules-form-template-management-category.entity-BcfMw_wb.mjs.map → acorex-modules-form-template-management-category.entity-B1X2QyYV.mjs.map} +1 -1
- package/fesm2022/acorex-modules-form-template-management-designer.page-BLbPLLdP.mjs.map +1 -1
- package/fesm2022/{acorex-modules-form-template-management-setting.provider-ceq0ZtxA.mjs → acorex-modules-form-template-management-setting.provider-D-HyCbH7.mjs} +2 -2
- package/fesm2022/{acorex-modules-form-template-management-setting.provider-ceq0ZtxA.mjs.map → acorex-modules-form-template-management-setting.provider-D-HyCbH7.mjs.map} +1 -1
- package/fesm2022/acorex-modules-form-template-management-template-picker.component-xiRKc4FF.mjs +126 -0
- package/fesm2022/acorex-modules-form-template-management-template-picker.component-xiRKc4FF.mjs.map +1 -0
- package/fesm2022/{acorex-modules-form-template-management-template-widget-edit.component-CVyFN7D9.mjs → acorex-modules-form-template-management-template-widget-edit.component-CyZLM6M9.mjs} +2 -2
- package/fesm2022/acorex-modules-form-template-management-template-widget-edit.component-CyZLM6M9.mjs.map +1 -0
- package/fesm2022/{acorex-modules-form-template-management-template.entity-BpApQcvG.mjs → acorex-modules-form-template-management-template.entity-DXIhxJeU.mjs} +2 -2
- package/fesm2022/{acorex-modules-form-template-management-template.entity-BpApQcvG.mjs.map → acorex-modules-form-template-management-template.entity-DXIhxJeU.mjs.map} +1 -1
- package/fesm2022/acorex-modules-form-template-management.mjs +1 -907
- package/fesm2022/acorex-modules-form-template-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-notification-management.mjs +263 -9
- package/fesm2022/acorex-modules-notification-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-organization-management-add-item.component-D0tN7Se4.mjs +83 -0
- package/fesm2022/acorex-modules-organization-management-add-item.component-D0tN7Se4.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-managment-branch.entity-kuZxLStS.mjs → acorex-modules-organization-management-branch.entity-CbmnpHl2.mjs} +2 -2
- package/fesm2022/acorex-modules-organization-management-branch.entity-CbmnpHl2.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-managment-chart.entity-BqUE8fbV.mjs → acorex-modules-organization-management-chart.entity-Bk4WgsYr.mjs} +2 -2
- package/fesm2022/acorex-modules-organization-management-chart.entity-Bk4WgsYr.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-managment-company.entity-DJt8tCqO.mjs → acorex-modules-organization-management-company.entity-d7GaCVei.mjs} +2 -2
- package/fesm2022/acorex-modules-organization-management-company.entity-d7GaCVei.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-managment-department.entity-C1PxLx6p.mjs → acorex-modules-organization-management-department.entity-Dl7y4Rva.mjs} +2 -2
- package/fesm2022/acorex-modules-organization-management-department.entity-Dl7y4Rva.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-managment-division.entity-DHVnrP38.mjs → acorex-modules-organization-management-division.entity-Ckmu2Tj9.mjs} +2 -2
- package/fesm2022/acorex-modules-organization-management-division.entity-Ckmu2Tj9.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-managment-employee.entity-D4BSxGAW.mjs → acorex-modules-organization-management-employee.entity-PwlBjkYo.mjs} +2 -2
- package/fesm2022/acorex-modules-organization-management-employee.entity-PwlBjkYo.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-managment-employment-type.entity-Cgbezwio.mjs → acorex-modules-organization-management-employment-type.entity-9aOaYT_-.mjs} +2 -2
- package/fesm2022/acorex-modules-organization-management-employment-type.entity-9aOaYT_-.mjs.map +1 -0
- package/fesm2022/acorex-modules-organization-management-org-chart-configuration.page-BzjTyYyS.mjs +92 -0
- package/fesm2022/acorex-modules-organization-management-org-chart-configuration.page-BzjTyYyS.mjs.map +1 -0
- package/fesm2022/acorex-modules-organization-management-org-chart-configuration.service-DObuNZKQ.mjs +145 -0
- package/fesm2022/acorex-modules-organization-management-org-chart-configuration.service-DObuNZKQ.mjs.map +1 -0
- package/fesm2022/acorex-modules-organization-management-org-chart.page-Cz4ENQRa.mjs +868 -0
- package/fesm2022/acorex-modules-organization-management-org-chart.page-Cz4ENQRa.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-managment-position.entity-Bbb5KAkm.mjs → acorex-modules-organization-management-position.entity-DDkiBefn.mjs} +2 -2
- package/fesm2022/acorex-modules-organization-management-position.entity-DDkiBefn.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-managment-setting.keys-CF6Giykz.mjs → acorex-modules-organization-management-setting.keys-CF6Giykz.mjs} +1 -1
- package/fesm2022/acorex-modules-organization-management-setting.keys-CF6Giykz.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-managment-setting.provider-nKs53GcA.mjs → acorex-modules-organization-management-setting.provider-eLv_qnmE.mjs} +3 -3
- package/fesm2022/acorex-modules-organization-management-setting.provider-eLv_qnmE.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-managment.mjs → acorex-modules-organization-management.mjs} +66 -22
- package/fesm2022/acorex-modules-organization-management.mjs.map +1 -0
- package/fesm2022/acorex-modules-platform-management.mjs +1455 -155
- package/fesm2022/acorex-modules-platform-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-security-management.mjs +12 -1
- package/fesm2022/acorex-modules-security-management.mjs.map +1 -1
- package/form-template-management/index.d.ts +0 -1
- package/form-template-management/lib/features/designer/index.d.ts +5 -0
- package/form-template-management/lib/{services → features/designer}/template.provider.d.ts +1 -1
- package/form-template-management/lib/features/index.d.ts +1 -0
- package/notification-management/lib/entities/channel/channel.types.d.ts +14 -2
- package/organization-management/README.md +3 -0
- package/organization-management/index.d.ts +4 -0
- package/{organization-managment → organization-management}/lib/entities/chart/chart.types.d.ts +10 -5
- package/organization-management/lib/features/index.d.ts +1 -0
- package/organization-management/lib/features/organization-chart/add-item/add-item.component.d.ts +21 -0
- package/organization-management/lib/features/organization-chart/index.d.ts +1 -0
- package/{organization-managment → organization-management}/lib/features/organization-chart/org-chart-configuration.page.d.ts +4 -4
- package/organization-management/lib/features/organization-chart/org-chart-configuration.service.d.ts +25 -0
- package/organization-management/lib/features/organization-chart/org-chart-print.service.d.ts +45 -0
- package/{organization-managment → organization-management}/lib/features/organization-chart/org-chart.page.d.ts +79 -8
- package/organization-management/lib/features/organization-chart/org-chart.service.d.ts +63 -0
- package/organization-management/lib/features/organization-chart/org-chart.type.d.ts +46 -0
- package/{organization-managment/lib/organization-managment.module.d.ts → organization-management/lib/organization-management.module.d.ts} +4 -4
- package/package.json +8 -8
- package/platform-management/lib/const.d.ts +12 -0
- package/platform-management/lib/entities/app-term/components/notify-app/notify-app.component.d.ts +1 -2
- package/platform-management/lib/entities/data-source/coulmn-def.widget.d.ts +56 -0
- package/platform-management/lib/entities/data-source/data-source.entity.d.ts +3 -0
- package/platform-management/lib/entities/data-source/data-source.service.d.ts +10 -0
- package/platform-management/lib/entities/data-source/data-source.types.d.ts +7 -0
- package/platform-management/lib/entities/data-source/datasource-provider.dynamic.d.ts +6 -0
- package/platform-management/lib/entities/data-source/index.d.ts +3 -0
- package/platform-management/lib/entities/index.d.ts +2 -0
- package/platform-management/lib/entities/promotion/components/index.d.ts +1 -0
- package/platform-management/lib/entities/promotion/components/promotion-slot/promotion-slot.component.d.ts +13 -0
- package/platform-management/lib/entities/promotion/index.d.ts +4 -0
- package/platform-management/lib/entities/promotion/promotion.entity.d.ts +3 -0
- package/platform-management/lib/entities/promotion/promotion.service.d.ts +10 -0
- package/platform-management/lib/entities/promotion/promotion.types.d.ts +15 -0
- package/platform-management/lib/platform-management.module.d.ts +2 -1
- package/security-management/index.d.ts +1 -0
- package/security-management/lib/menu.keys.d.ts +5 -0
- package/fesm2022/acorex-modules-application-management-module-designer.component-kMtkkid-.mjs.map +0 -1
- package/fesm2022/acorex-modules-auth-acorex-modules-auth-CcRRSTGN.mjs.map +0 -1
- package/fesm2022/acorex-modules-auth-app-chooser.component-DuRnQda8.mjs +0 -64
- package/fesm2022/acorex-modules-auth-app-chooser.component-DuRnQda8.mjs.map +0 -1
- package/fesm2022/acorex-modules-auth-master.layout-KNzdjwP6.mjs +0 -23
- package/fesm2022/acorex-modules-auth-master.layout-KNzdjwP6.mjs.map +0 -1
- package/fesm2022/acorex-modules-auth-password.component-CIwOjQRh.mjs.map +0 -1
- package/fesm2022/acorex-modules-auth-tenant-chooser.component-Cx3fK__H.mjs +0 -83
- package/fesm2022/acorex-modules-auth-tenant-chooser.component-Cx3fK__H.mjs.map +0 -1
- package/fesm2022/acorex-modules-form-template-management-template-picker.component-CG-_1tWi.mjs +0 -126
- package/fesm2022/acorex-modules-form-template-management-template-picker.component-CG-_1tWi.mjs.map +0 -1
- package/fesm2022/acorex-modules-form-template-management-template-widget-edit.component-CVyFN7D9.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-managment-branch.entity-kuZxLStS.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-managment-chart.entity-BqUE8fbV.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-managment-company.entity-DJt8tCqO.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-managment-department.entity-C1PxLx6p.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-managment-division.entity-DHVnrP38.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-managment-employee.entity-D4BSxGAW.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-managment-employment-type.entity-Cgbezwio.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-managment-org-chart-configuration.page-Dc6c7GmB.mjs +0 -310
- package/fesm2022/acorex-modules-organization-managment-org-chart-configuration.page-Dc6c7GmB.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-managment-org-chart.page-CTHNSn2n.mjs +0 -505
- package/fesm2022/acorex-modules-organization-managment-org-chart.page-CTHNSn2n.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-managment-position.entity-Bbb5KAkm.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-managment-setting.keys-CF6Giykz.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-managment-setting.provider-nKs53GcA.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-managment.mjs.map +0 -1
- package/organization-managment/README.md +0 -3
- package/organization-managment/index.d.ts +0 -3
- package/organization-managment/lib/features/organization-chart/org-chart-print.service.d.ts +0 -22
- package/organization-managment/lib/features/organization-chart/org-chart.service.d.ts +0 -35
- package/organization-managment/lib/features/organization-chart/org-chart.type.d.ts +0 -25
- /package/form-template-management/lib/{services → features/designer}/designer-connector.service.d.ts +0 -0
- /package/form-template-management/lib/{pages → features}/designer/designer.page.d.ts +0 -0
- /package/form-template-management/lib/{components → features/designer}/widgets/template/index.d.ts +0 -0
- /package/form-template-management/lib/{components → features/designer}/widgets/template/template-widget-designer.component.d.ts +0 -0
- /package/form-template-management/lib/{components → features/designer}/widgets/template/template-widget-edit.component.d.ts +0 -0
- /package/form-template-management/lib/{components → features/designer}/widgets/template/template-widget-view.component.d.ts +0 -0
- /package/form-template-management/lib/{components → features/designer}/widgets/template/template-widget.config.d.ts +0 -0
- /package/form-template-management/lib/{components → features/designer}/widgets/template-designer/index.d.ts +0 -0
- /package/form-template-management/lib/{components → features/designer}/widgets/template-designer/template-designer-widget-view.component.d.ts +0 -0
- /package/form-template-management/lib/{components → features/designer}/widgets/template-designer/template-designer-widget.config.d.ts +0 -0
- /package/form-template-management/lib/{components → features/designer}/widgets/template-picker/template-picker.component.d.ts +0 -0
- /package/form-template-management/lib/{components → features/designer}/widgets/template-picker/template.provider.d.ts +0 -0
- /package/form-template-management/lib/{workflows → features/designer/workflows}/create-template.workflow.d.ts +0 -0
- /package/form-template-management/lib/{workflows → features/designer/workflows}/design-template.workflow.d.ts +0 -0
- /package/{organization-managment → organization-management}/lib/const.d.ts +0 -0
- /package/{organization-managment → organization-management}/lib/entities/branch/branch.entity.d.ts +0 -0
- /package/{organization-managment → organization-management}/lib/entities/branch/branch.module.d.ts +0 -0
- /package/{organization-managment → organization-management}/lib/entities/branch/branch.service.d.ts +0 -0
- /package/{organization-managment → organization-management}/lib/entities/branch/branch.types.d.ts +0 -0
- /package/{organization-managment → organization-management}/lib/entities/branch/index.d.ts +0 -0
- /package/{organization-managment → organization-management}/lib/entities/chart/chart.entity.d.ts +0 -0
- /package/{organization-managment → organization-management}/lib/entities/chart/chart.module.d.ts +0 -0
- /package/{organization-managment → organization-management}/lib/entities/chart/chart.service.d.ts +0 -0
- /package/{organization-managment → organization-management}/lib/entities/chart/index.d.ts +0 -0
- /package/{organization-managment → organization-management}/lib/entities/company/company.entity.d.ts +0 -0
- /package/{organization-managment → organization-management}/lib/entities/company/company.module.d.ts +0 -0
- /package/{organization-managment → organization-management}/lib/entities/company/company.service.d.ts +0 -0
- /package/{organization-managment → organization-management}/lib/entities/company/company.types.d.ts +0 -0
- /package/{organization-managment → organization-management}/lib/entities/company/index.d.ts +0 -0
- /package/{organization-managment → organization-management}/lib/entities/department/department.entity.d.ts +0 -0
- /package/{organization-managment → organization-management}/lib/entities/department/department.module.d.ts +0 -0
- /package/{organization-managment → organization-management}/lib/entities/department/department.service.d.ts +0 -0
- /package/{organization-managment → organization-management}/lib/entities/department/department.types.d.ts +0 -0
- /package/{organization-managment → organization-management}/lib/entities/department/index.d.ts +0 -0
- /package/{organization-managment → organization-management}/lib/entities/division/division.entity.d.ts +0 -0
- /package/{organization-managment → organization-management}/lib/entities/division/division.module.d.ts +0 -0
- /package/{organization-managment → organization-management}/lib/entities/division/division.service.d.ts +0 -0
- /package/{organization-managment → organization-management}/lib/entities/division/division.types.d.ts +0 -0
- /package/{organization-managment → organization-management}/lib/entities/division/index.d.ts +0 -0
- /package/{organization-managment → organization-management}/lib/entities/employee/employee.entity.d.ts +0 -0
- /package/{organization-managment → organization-management}/lib/entities/employee/employee.module.d.ts +0 -0
- /package/{organization-managment → organization-management}/lib/entities/employee/employee.service.d.ts +0 -0
- /package/{organization-managment → organization-management}/lib/entities/employee/employee.types.d.ts +0 -0
- /package/{organization-managment → organization-management}/lib/entities/employee/index.d.ts +0 -0
- /package/{organization-managment → organization-management}/lib/entities/employment-type/employment-type.entity.d.ts +0 -0
- /package/{organization-managment → organization-management}/lib/entities/employment-type/employment-type.module.d.ts +0 -0
- /package/{organization-managment → organization-management}/lib/entities/employment-type/employment-type.service.d.ts +0 -0
- /package/{organization-managment → organization-management}/lib/entities/employment-type/employment-type.types.d.ts +0 -0
- /package/{organization-managment → organization-management}/lib/entities/employment-type/index.d.ts +0 -0
- /package/{organization-managment → organization-management}/lib/entities/index.d.ts +0 -0
- /package/{organization-managment → organization-management}/lib/entities/position/index.d.ts +0 -0
- /package/{organization-managment → organization-management}/lib/entities/position/position.entity.d.ts +0 -0
- /package/{organization-managment → organization-management}/lib/entities/position/position.module.d.ts +0 -0
- /package/{organization-managment → organization-management}/lib/entities/position/position.service.d.ts +0 -0
- /package/{organization-managment → organization-management}/lib/entities/position/position.types.d.ts +0 -0
- /package/{organization-managment → organization-management}/lib/entity.provider.d.ts +0 -0
- /package/{organization-managment → organization-management}/lib/menu.provider.d.ts +0 -0
- /package/{organization-managment → organization-management}/lib/setting.keys.d.ts +0 -0
- /package/{organization-managment → organization-management}/lib/setting.provider.d.ts +0 -0
package/fesm2022/acorex-modules-application-management-module-designer.component-kMtkkid-.mjs.map
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"acorex-modules-application-management-module-designer.component-kMtkkid-.mjs","sources":["../../../../libs/modules/application-management/src/lib/services/context-menu.service.ts","../../../../libs/modules/application-management/src/lib/module-designer/module-designer.component.ts","../../../../libs/modules/application-management/src/lib/module-designer/module-designer.component.html"],"sourcesContent":["import { AXContextMenuItemsClickEvent, AXContextMenuOpeningEvent, AXMenuItem } from '@acorex/components/menu';\nimport { AXPWorkflowService } from '@acorex/platform/workflow';\nimport { inject, Injectable, signal } from '@angular/core';\nimport { AXMModuleItem } from '../module-designer/module-designer.type';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AXMModuleDesignerContextMenuService {\n private workflow = inject(AXPWorkflowService);\n protected copiedRecord = signal<{ type: AXMModuleItem; record: any } | null>(null);\n protected elementData = signal<{ entityType: AXMModuleItem; record: any; moduleId: string } | null>(null);\n\n private menuItems: AXMenuItem[] = [\n {\n name: 'create',\n text: 'Create',\n icon: 'fas fa-plus',\n color: 'primary',\n },\n {\n name: 'delete',\n text: 'Delete',\n icon: 'fas fa-trash',\n color: 'danger',\n },\n {\n name: 'details',\n text: 'Details',\n icon: 'fas fa-eye',\n color: 'ghost',\n },\n {\n name: 'copy',\n text: 'Copy',\n icon: 'fas fa-copy',\n color: 'ghost',\n },\n {\n name: 'paste',\n text: 'Paste',\n icon: 'fas fa-paste',\n color: 'ghost',\n disabled: false,\n },\n ];\n\n open(e: AXContextMenuOpeningEvent) {\n const target = e.targetElement;\n const elementType = target?.getAttribute('data-elementType');\n\n const { data } = target as any;\n\n if (elementType == 'module' || elementType == 'subModule') {\n const moduleId = target?.getAttribute('data-moduleId');\n const entityType = target?.getAttribute('data-entityType') as AXMModuleItem;\n if (elementType == 'module') {\n this.elementData.set({\n entityType,\n moduleId: moduleId as string,\n record: {\n id: moduleId,\n },\n });\n e.items = this.getMenuItems(['details', 'delete']);\n } else {\n this.elementData.set({\n entityType,\n moduleId: moduleId as string,\n record: undefined,\n });\n const items = this.getMenuItems(['create', 'paste']);\n const customMenuItems = items.map((i) =>\n i.name == 'paste' ? { ...i, disabled: entityType == this.copiedRecord()?.type ? false : true } : i\n );\n e.items = customMenuItems;\n }\n } else if (elementType == 'subModuleItem') {\n this.elementData.set(data);\n e.items = this.getMenuItems(['delete', 'copy', 'details']);\n } else {\n e.items = [];\n e.canceled = true;\n }\n }\n\n itemClick(e: AXContextMenuItemsClickEvent) {\n if (this.elementData()) {\n switch (e.item.name) {\n case 'create':\n this.createEntity(this.elementData()?.entityType as AXMModuleItem, this.elementData()?.moduleId);\n break;\n\n case 'details':\n this.showDetails(this.elementData()?.entityType as AXMModuleItem | 'module', this.elementData()?.record.id);\n break;\n\n case 'delete':\n this.deleteEntity(\n this.elementData()?.entityType as AXMModuleItem | 'module',\n this.elementData()?.record.id,\n this.elementData()?.moduleId\n );\n break;\n\n case 'copy':\n this.copyRecord(this.elementData()?.entityType as AXMModuleItem, this.elementData()?.record);\n break;\n\n case 'paste':\n this.pasteRecord(this.elementData()?.moduleId as string);\n break;\n\n default:\n break;\n }\n }\n }\n\n async createEntity(entityType: 'module' | AXMModuleItem, moduleId?: string) {\n await this.workflow.execute('create-module-entity', {\n entity: `application-management.${entityType}`,\n data: {\n moduleId,\n },\n meta: {\n type: entityType,\n moduleId,\n },\n });\n }\n\n async showDetails(entityType: 'module' | AXMModuleItem, id: string) {\n await this.workflow.execute('show-module-entity-details', {\n entity: `application-management.${entityType}`,\n data: {\n id,\n },\n });\n }\n\n private copyRecord(entityType: AXMModuleItem, record: any) {\n const newRecord = { ...record, moduleId: undefined, id: undefined };\n this.copiedRecord.set({ type: entityType, record: newRecord });\n }\n\n private async pasteRecord(moduleId: string) {\n if (this.copiedRecord()) {\n await this.workflow.execute('create-module-entity', {\n entity: `application-management.${this.copiedRecord()?.type}`,\n data: {\n ...this.copiedRecord()?.record,\n moduleId,\n },\n meta: {\n type: this.copiedRecord()?.type,\n moduleId,\n },\n });\n }\n }\n\n private async deleteEntity(entityType: 'module' | AXMModuleItem, id: string[] | string, moduleId?: string) {\n await this.workflow.execute('delete-entity', {\n entity: `application-management.${entityType}`,\n data: {\n id,\n },\n meta: {\n moduleId,\n type: entityType,\n },\n });\n }\n\n private getMenuItems(includeItems: string[]) {\n return this.menuItems.filter((i) => includeItems.includes(i.name as string));\n }\n}\n","import { AXBadgeModule } from '@acorex/components/badge';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXCollapseClickEvent, AXCollapseModule } from '@acorex/components/collapse';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXDrawerModule } from '@acorex/components/drawer';\nimport {\n AXContextMenuComponent,\n AXContextMenuItemsClickEvent,\n AXContextMenuOpeningEvent,\n AXMenuModule,\n} from '@acorex/components/menu';\nimport { AXPopoverModule } from '@acorex/components/popover';\nimport { AXSelectionListModule } from '@acorex/components/selection-list';\nimport { AXSideMenuModule } from '@acorex/components/side-menu';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPEntityCreateEvent, AXPEntityDeletedEvent } from '@acorex/platform/layout/entity';\nimport { AXPWorkflowService, ofType } from '@acorex/platform/workflow';\nimport { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n inject,\n OnInit,\n signal,\n viewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { set } from 'lodash-es';\nimport { Subject, takeUntil } from 'rxjs';\nimport { AXMModuleDesignerContextMenuService } from '../services/context-menu.service';\nimport { AXPModuleDesignerService } from './module-designer.service';\nimport { AXMModuleItem } from './module-designer.type';\n\n@Component({\n templateUrl: './module-designer.component.html',\n styleUrls: ['./module-designer.component.scss'],\n encapsulation: ViewEncapsulation.None,\n imports: [\n CommonModule,\n AXDrawerModule,\n AXButtonModule,\n AXDecoratorModule,\n AXTranslationModule,\n AXSideMenuModule,\n AXCollapseModule,\n AXPopoverModule,\n AXSelectionListModule,\n AXBadgeModule,\n AXMenuModule,\n RouterModule,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AXMModuleDesignerComponent implements OnInit {\n protected cdr: ChangeDetectorRef = inject(ChangeDetectorRef);\n protected contextMenu = viewChild<AXContextMenuComponent>('contextMenu');\n\n protected dataProvider = inject(AXPModuleDesignerService);\n private workflow = inject(AXPWorkflowService);\n protected contextMenuService = inject(AXMModuleDesignerContextMenuService);\n\n protected modules = signal<any[]>([]);\n\n protected moduleDataCache = new Map<string, any[]>();\n\n private readonly destroyed = new Subject<void>();\n\n constructor() {\n this.subscribeActionEvents();\n }\n\n ngOnInit() {\n this.loadModules();\n }\n\n protected subscribeActionEvents() {\n this.workflow.events$\n .pipe(ofType(AXPEntityDeletedEvent, AXPEntityCreateEvent))\n .pipe(takeUntil(this.destroyed))\n .subscribe((event) => {\n const { meta } = event.payload;\n if (meta.type === 'module') {\n this.loadModules();\n } else {\n this.loadModuleData(meta.moduleId, meta.type, true);\n }\n this.cdr.markForCheck();\n });\n }\n\n protected async loadModules() {\n try {\n const modules = await this.dataProvider.getModules();\n this.modules.set(modules.items);\n this.refreshContextMenu();\n } catch (error) {\n console.error('Error loading modules:', error);\n }\n }\n\n protected async handleCollapseItemClick(moduleId: string, e: AXCollapseClickEvent, dataType: AXMModuleItem) {\n if (e.component.isCollapsed) {\n e.handled = true;\n e.component.isLoading = true;\n\n await this.loadModuleData(moduleId, dataType);\n\n e.component.toggle();\n e.component.isLoading = false;\n e.component['cdr'].markForCheck();\n this.refreshContextMenu();\n }\n }\n\n protected refreshContextMenu() {\n setTimeout(() => {\n this.contextMenu()?.refresh();\n }, 0);\n }\n\n protected async loadModuleData(moduleId: string, dataType: AXMModuleItem, hardReload = false) {\n const cacheKey = `${moduleId}-${dataType}`;\n\n let dataItems = this.moduleDataCache.get(cacheKey);\n // if (!dataItems || hardReload) {\n try {\n const methodMap = {\n entity: this.dataProvider.getEntities,\n permission: this.dataProvider.getPermissions,\n feature: this.dataProvider.getFeatures,\n };\n const data = await methodMap[dataType].call(this.dataProvider, moduleId);\n\n dataItems = data.items as any[];\n this.moduleDataCache.set(cacheKey, dataItems);\n } catch (error) {\n console.error(`Error loading ${dataType}:`, error);\n }\n // }\n }\n\n protected getEntities(moduleId: string) {\n return this.moduleDataCache.get(`${moduleId}-entity`) || [];\n }\n\n protected getPermissions(moduleId: string) {\n return this.moduleDataCache.get(`${moduleId}-permission`) || [];\n }\n\n protected getFeatures(moduleId: string) {\n return this.moduleDataCache.get(`${moduleId}-feature`) || [];\n }\n\n protected openingContextMenu(e: AXContextMenuOpeningEvent) {\n this.contextMenuService.open(e);\n }\n\n protected handleActionClick(e: AXContextMenuItemsClickEvent) {\n this.contextMenuService.itemClick(e);\n }\n\n protected createModule() {\n this.contextMenuService.createEntity('module');\n }\n\n protected destroy() {\n this.destroyed.next();\n this.destroyed.complete();\n }\n\n protected assignData(target: HTMLElement, data: any): void {\n set(target, 'data', data);\n }\n}\n","<ax-drawer-container class=\"ax-overflow-hidden\">\n <ax-drawer #drawer location=\"start\" [collapsed]=\"false\" [mode]=\"'push'\">\n <ax-content class=\"ax-w-80 ax-relative ax-border-e ax-px-4 ax-py-2\">\n <div class=\"ax-overflow-auto ax-h-[calc(100vh-180px)]\">\n <span class=\"ax-font-bold ax-text-xl\">{{ 'designer.modules' | translate | async }}</span>\n <div class=\"ax-flex ax-flex-col ax-gap-2 ax-mt-4\">\n @if(modules().length){\n <ax-collapse-group [accordion]=\"false\" look=\"blank\">\n @for(m of modules();track $index){\n <ax-collapse\n class=\"ctx\"\n icon=\"fas fa-folder ax-text-warning\"\n [isCollapsed]=\"true\"\n [caption]=\"m.title\"\n look=\"none\"\n data-elementType=\"module\"\n [attr.data-moduleId]=\"m.id\"\n data-entityType=\"module\"\n >\n <div class=\"ax-mx-3\">\n <ax-collapse-group [accordion]=\"false\" look=\"blank\">\n <ax-collapse\n class=\"ctx\"\n icon=\"fas fa-box ax-text-neutral-400\"\n [isCollapsed]=\"true\"\n (onClick)=\"handleCollapseItemClick(m.id, $event, 'entity')\"\n [caption]=\"('designer.entities' | translate | async) ?? 'Entities'\"\n look=\"none\"\n data-elementType=\"subModule\"\n [attr.data-moduleId]=\"m.id\"\n data-entityType=\"entity\"\n >\n <ng-container\n [ngTemplateOutlet]=\"childTemplate\"\n [ngTemplateOutletContext]=\"{\n $implicit: { type: 'entity', items: getEntities(m.id), moduleId: m.id }\n }\"\n ></ng-container>\n </ax-collapse>\n\n <ax-collapse\n class=\"ctx\"\n icon=\"fas fa-star ax-text-neutral-400\"\n [isCollapsed]=\"true\"\n (onClick)=\"handleCollapseItemClick(m.id, $event, 'feature')\"\n [caption]=\"('designer.features' | translate | async) ?? 'Features'\"\n look=\"none\"\n data-elementType=\"subModule\"\n [attr.data-moduleId]=\"m.id\"\n data-entityType=\"feature\"\n >\n <ng-container\n [ngTemplateOutlet]=\"childTemplate\"\n [ngTemplateOutletContext]=\"{\n $implicit: { type: 'feature', items: getFeatures(m.id), moduleId: m.id }\n }\"\n ></ng-container>\n </ax-collapse>\n\n <ax-collapse\n class=\"ctx\"\n icon=\"fas fa-key ax-text-neutral-400\"\n [isCollapsed]=\"true\"\n (onClick)=\"handleCollapseItemClick(m.id, $event, 'permission')\"\n [caption]=\"('designer.permissions' | translate | async) ?? 'Permissions'\"\n look=\"none\"\n data-elementType=\"subModule\"\n [attr.data-moduleId]=\"m.id\"\n data-entityType=\"permission\"\n >\n <ng-container\n [ngTemplateOutlet]=\"childTemplate\"\n [ngTemplateOutletContext]=\"{\n $implicit: { type: 'permission', items: getPermissions(m.id), moduleId: m.id }\n }\"\n ></ng-container>\n </ax-collapse>\n </ax-collapse-group>\n </div>\n </ax-collapse>\n }\n </ax-collapse-group>\n } @else {\n <div class=\"ax-h-full ax-flex ax-items-center ax-justify-center\">\n <span class=\"ax-text-neutral-500 ax-text-sm\">{{ 'designer.emptyModulesText' | translate | async }}</span>\n </div>\n }\n </div>\n <ax-button\n class=\"ax-absolute ax-bottom-4 ax-w-72\"\n [text]=\"('designer.createModule' | translate | async) ?? 'Create New Module'\"\n (onClick)=\"createModule()\"\n look=\"solid\"\n color=\"primary\"\n >\n <ax-icon class=\"fas fa-plus\"> </ax-icon>\n </ax-button>\n </div>\n </ax-content>\n\n <ng-template #childTemplate let-child>\n <div class=\"ax-flex ax-flex-col ax-cursor-pointer ax-select-none ax-border-s ax-ms-[14px] ax-ps-2\">\n @for (item of child.items; track $index) {\n\n <div\n #d\n (click)=\"contextMenuService.showDetails(child.type, item.id)\"\n class=\"ctx ax-px-2 ax-py-1 ax-flex ax-items-center ax-justify-between hover:ax-bg-neutral-100 dark:hover:ax-bg-neutral-700 hover:ax-rounded-md\"\n data-elementType=\"subModuleItem\"\n >\n {{ assignData(d, { record: item, entityType: child.type, moduleId: child.moduleId }) }}\n <span>{{ item.title }}</span>\n <ax-badge\n [look]=\"'twotone'\"\n [color]=\"item.isArchived ? 'danger' : 'success'\"\n [text]=\"item.isArchived ? 'Off' : 'On'\"\n >\n </ax-badge>\n </div>\n }\n </div>\n </ng-template>\n </ax-drawer>\n <ax-content>\n <router-outlet></router-outlet>\n </ax-content>\n</ax-drawer-container>\n\n<ax-context-menu\n #contextMenu\n (onItemClick)=\"handleActionClick($event)\"\n [items]=\"[]\"\n [target]=\"'.ctx'\"\n [orientation]=\"'vertical'\"\n [closeOn]=\"'leave'\"\n (onOpening)=\"openingContextMenu($event)\"\n>\n</ax-context-menu>\n"],"names":["i3","i4","i7","i9"],"mappings":"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"}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"acorex-modules-auth-acorex-modules-auth-CcRRSTGN.mjs","sources":["../../../../libs/modules/auth/src/lib/error-handler.ts","../../../../libs/modules/auth/src/lib/auth.config.ts","../../../../libs/modules/auth/src/lib/auth.routes.ts","../../../../libs/modules/auth/src/lib/menu.provider.ts","../../../../libs/modules/auth/src/lib/pages/account/app-chooser/app-chooser-list.component.ts","../../../../libs/modules/auth/src/lib/pages/account/app-chooser/app-chooser-list.component.html","../../../../libs/modules/auth/src/lib/pages/account/app-chooser/app-chooser-slot.component.ts","../../../../libs/modules/auth/src/lib/pages/account/app-chooser/app-chooser-slot.component.html","../../../../libs/modules/auth/src/lib/pages/account/avatar/avatar.component.ts","../../../../libs/modules/auth/src/lib/pages/account/avatar/avatar.component.html","../../../../libs/modules/auth/src/lib/pages/account/tenant-chooser/tenant-chooser-dropdown.component.ts","../../../../libs/modules/auth/src/lib/pages/account/tenant-chooser/tenant-chooser-dropdown.component.html","../../../../libs/modules/auth/src/lib/pages/account/profile/profile-slot.component.ts","../../../../libs/modules/auth/src/lib/pages/account/profile/profile-slot.component.html","../../../../libs/modules/auth/src/lib/pages/account/user-profile-card/user-profile-card.component.ts","../../../../libs/modules/auth/src/lib/pages/account/user-profile-card/user-profile-card.component.html","../../../../libs/modules/auth/src/lib/pages/account/account.module.ts","../../../../libs/modules/auth/src/lib/shared/services/idle.service.ts","../../../../libs/modules/auth/src/lib/store/auth.effects.ts","../../../../libs/modules/auth/src/lib/store/index.ts","../../../../libs/modules/auth/src/lib/auth.module.ts","../../../../libs/modules/auth/src/acorex-modules-auth.ts"],"sourcesContent":["import { AXPUnauthenticatedError, AXPUnauthorizedError } from '@acorex/platform/auth';\nimport { AXPErrorHandler } from '@acorex/platform/common';\nimport { AXPLayoutThemeService } from '@acorex/platform/themes/shared';\nimport { HttpErrorResponse } from '@angular/common/http';\nimport { Injectable, NgZone, inject, isDevMode } from '@angular/core';\nimport { Router } from '@angular/router';\n\n@Injectable()\nexport class AXMAuthErrorHandler implements AXPErrorHandler {\n private router = inject(Router);\n private layoutService = inject(AXPLayoutThemeService);\n\n handleError(error: Error, next: (error: any) => void): void {\n if (error instanceof HttpErrorResponse) {\n // if (error.status == 401) {\n // this.router.navigate(['/auth/login']);\n // }\n // else if (error.status == 404) {\n // this.router.navigate(['/404']);\n // }\n } else if (error instanceof AXPUnauthorizedError) {\n const redirectUrl = error.data?.redirectUrl;\n console.error(error.message);\n this.router.navigate(['/401'], { queryParams: redirectUrl ? { redirectUrl: redirectUrl } : null });\n } else if (error instanceof AXPUnauthenticatedError) {\n console.error(error.message);\n const redirectUrl = error.data?.redirectUrl;\n this.router.navigate(['/auth/login'], { queryParams: redirectUrl ? { redirectUrl: redirectUrl } : null });\n } else {\n if (isDevMode()) {\n next(error); // Pass the error to the next handler\n } else {\n next(error); // maybe we need a error page\n }\n }\n this.layoutService.setNavigationLoading(false);\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport { AuthConfig } from 'angular-oauth2-oidc';\n\nexport enum AXMAuthenticationTypes {\n UsernamePassword,\n UsernameEmailPassword,\n EmailPassword,\n MobilePassword,\n EmailCode,\n MobileCode,\n}\n\nexport const AXM_AUTH_CONFIG_TOKEN = new InjectionToken<AXMAuthConfigs>('app-module-auth-config', {\n providedIn: 'root',\n factory: () => {\n return AXMDefaultAuthConfigs;\n },\n});\n\nexport interface AXMAuthConfigs {\n type: AXMAuthenticationTypes;\n // oidc_settings?: UserManagerSettings;\n authConfig?: AuthConfig;\n end_url?: string;\n signup?: {\n enable: boolean;\n url?: string;\n };\n signin_google?: boolean;\n signin_apple?: boolean;\n signinPage?: {\n description: string;\n slogan: string;\n };\n idleTimeout?: number;\n}\n\nexport const AXMDefaultAuthConfigs: AXMAuthConfigs = {\n type: AXMAuthenticationTypes.UsernamePassword,\n};\n\nexport function configAuthModule(config: Partial<AXMAuthConfigs> = AXMDefaultAuthConfigs): AXMAuthConfigs {\n return { ...AXMDefaultAuthConfigs, ...config };\n}\n","import { Route } from '@angular/router';\nexport const routes: Route[] = [\n {\n path: 'auth',\n children: [\n {\n path: '',\n pathMatch: 'full',\n redirectTo: 'login',\n },\n {\n path: '',\n loadComponent: () =>\n import('./shared/layouts/master/master.layout').then((c) => c.AXPAuthMasterLayoutComponent),\n loadChildren: () => import('./pages/login/login.module').then((c) => c.AXPSignInModule),\n },\n {\n path: '',\n loadComponent: () =>\n import('./shared/layouts/master/master.layout').then((c) => c.AXPAuthMasterLayoutComponent),\n loadChildren: () => import('./pages/two-factor/two-factor.module').then((c) => c.AXPTwoFactorModule),\n },\n {\n path: '',\n loadComponent: () =>\n import('./shared/layouts/master/master.layout').then((c) => c.AXPAuthMasterLayoutComponent),\n loadChildren: () => import('./pages/forgot/routes').then((c) => c),\n },\n {\n path: 'account',\n loadComponent: () => import('./shared/layouts/blank/blank.layout').then((c) => c.AXPAuthBlankLayoutComponent),\n loadChildren: () => import('./pages/account/account.module').then((c) => c.AXPAccountModule),\n },\n // {\n // path: '',\n // loadComponent: () =>\n // import('./shared/layouts/master/master.layout').then((c) => c.AXPAuthMasterLayoutComponent),\n // loadChildren: () => import('./register/register.module').then((c) => c.AXPRegisterModule),\n // },\n ],\n },\n];\n","import { AXPSessionService } from '@acorex/platform/auth';\nimport { AXPMenuProvider, AXPMenuProviderContext } from '@acorex/platform/common';\nimport { inject } from '@angular/core';\n\nexport class AXMSecurityManagmentModuleMenuProvider implements AXPMenuProvider {\n private sessionService = inject(AXPSessionService);\n\n async provide(context: AXPMenuProviderContext): Promise<void> {\n const scope = 'auth';\n context.addItems([\n {\n text: `t('profile.title', {scope: \"${scope}\"})`,\n name: 'user-profile',\n icon: 'fa-light fa-user',\n children: [\n {\n text: `t('profile.edit', {scope: \"${scope}\"})`,\n name: 'edit-profile',\n icon: 'fa-light fa-address-card',\n },\n {\n text: `t('settings.user.title', {scope: \"platform-management\"})`,\n name: 'user-settings',\n icon: 'fa-light fa-gear',\n path: `/${this.sessionService.application?.name}/settings/user`,\n },\n ],\n },\n ]);\n }\n}\n","import { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXPApplication, AXPSessionService } from '@acorex/platform/auth';\nimport { CommonModule } from '@angular/common';\nimport { Component, inject } from '@angular/core';\nimport { Router } from '@angular/router';\n\n@Component({\n selector: 'axp-app-chooser-list',\n templateUrl: 'app-chooser-list.component.html',\n imports: [CommonModule, AXDecoratorModule, AXLoadingModule],\n})\nexport class AXPAppChooserListComponent {\n private router = inject(Router);\n private sessionService = inject(AXPSessionService);\n\n protected selectedApplication: AXPApplication | null = null;\n protected applications$ = this.sessionService.applications$;\n\n async chooseApplication(item: AXPApplication) {\n this.selectedApplication = item;\n await this.sessionService.setApplication(item);\n this.router.navigate([`/${item.name}/home`]);\n }\n}\n","<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 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 <ax-icon class=\"fa-solid fa-computer ax-text-neutral-500 ax-text-lg\"> </ax-icon>\n <!-- TODO: logo instead of application icon -->\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-gray-500 md:ax-text-sm ax-text-xs\">{{application.editionName}}</span>\n @if(application.name===selectedApplication?.name){\n <ax-loading></ax-loading>\n }@else {\n <ax-icon class=\"fa-solid fa-chevron-right ax-text-neutral-400\"> </ax-icon>\n }\n </div>\n </div>\n }\n</div>","import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXPopoverModule } from '@acorex/components/popover';\nimport { AXPApplication, AXPSessionService } from '@acorex/platform/auth';\nimport { CommonModule } from '@angular/common';\nimport { Component, inject } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { of } from 'rxjs';\nimport { AXPAppChooserListComponent } from './app-chooser-list.component';\n\n@Component({\n templateUrl: './app-chooser-slot.component.html',\n imports: [CommonModule, AXButtonModule, AXPopoverModule, AXDecoratorModule, AXPAppChooserListComponent],\n})\nexport class AXMAppChooserSlotComponent {\n private sessionService = inject(AXPSessionService);\n protected tenant$ = this.sessionService.tenant$;\n\n protected application$ = this.sessionService.application$;\n protected applications$ = of([]);\n\n private router = inject(Router);\n\n async chooseApplication(item: AXPApplication) {\n //await this.sessionService.selectApplication(item.name);\n this.router.navigate([`/${item.name}/home`]);\n }\n}\n","@if(((applications$ | async)?.length ?? 0) > 1)\n{\n<ax-button color=\"default\" look=\"blank\" #appChooser>\n <ax-icon>\n <i class=\"fa-solid fa-grid-2 ax-text-slate-400 dark:ax-text-slate-200\"></i>\n </ax-icon>\n</ax-button>\n<ax-popover [target]=\"appChooser\" [openOn]=\"'toggle'\" [closeOn]=\"'clickOut'\" [adaptivityEnabled]=\"true\">\n <div\n class=\"ax-bg-surface-lowest 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></axp-app-chooser-list>\n </div>\n</ax-popover>\n}","import { AXAvatarModule } from '@acorex/components/avatar';\nimport { AXHtmlEvent, AXStyleColorType, MXBaseComponent } from '@acorex/components/common';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXImageModule } from '@acorex/components/image';\nimport { AXPSessionService } from '@acorex/platform/auth';\nimport { AXPDataProvider } from '@acorex/platform/common';\nimport { Component, inject, input, OnInit, signal } from '@angular/core';\nimport { first } from 'rxjs';\n\n@Component({\n selector: 'axp-avatar',\n templateUrl: './avatar.component.html',\n imports: [AXDecoratorModule, AXAvatarModule, AXImageModule]\n})\nexport class AXMAvatarComponent extends MXBaseComponent {\n private sessionService = inject(AXPSessionService);\n private dataService = inject(AXPDataProvider, { optional: true });\n\n protected hasPicture = signal(false);\n protected avatarText = signal<string>('');\n protected src!: string;\n\n public size = input<number>(48)\n public color = input<AXStyleColorType>('ghost');\n public look = input<'twotone' | 'solid'>('twotone');\n\n protected user$ = this.sessionService.user$;\n\n constructor() {\n super()\n this.loadImage();\n this.getAvatarText()\n }\n\n protected onImageError(event: AXHtmlEvent<ErrorEvent>) {\n this.hasPicture.set(false);\n }\n\n protected onImageLoad(event: AXHtmlEvent<Event>) {\n this.hasPicture.set(true)\n }\n\n private async loadImage() {\n try {\n const url = this.sessionService.user?.avatar as string;\n if (url?.toLowerCase().startsWith('http')) {\n this.src = url;\n } else if (this.sessionService.user?.avatar != 'null' && this.dataService) {\n const blob = await this.dataService.viewFile(url, '');\n this.src = URL.createObjectURL(blob);\n } else {\n //this.src = this.mockerService.avatar();\n }\n } catch (error) {\n this.hasPicture.set(false);\n console.error('Failed to load image by ID:', error);\n this.src = '';\n }\n }\n\n protected getAvatarText = () => {\n this.user$.pipe(first()).subscribe((user) => {\n const names = user?.title.split(' ');\n if (names?.length && names?.length > 1) {\n this.avatarText.set(`${names[0][0].toUpperCase()}${names[names.length - 1][0].toUpperCase()}`);\n } else return this.avatarText.set('AC');\n });\n };\n}\n","<ax-avatar #avatar (error)=\"this.src = 'path/to/default-image.jpg'\" [size]=\"size()\" [color]=\"color()\" [look]=\"look()\"\n class=\"ax-cursor-pointer\">\n @if(hasPicture()){\n <ax-image (onError)=\"onImageError($event)\" (onLoad)=\"onImageLoad($event)\" [src]=\"src\"></ax-image>\n }@else{\n <ax-text>\n <small class=\"ax-text-xs ax-font-semibold\">{{ avatarText() }}</small>\n </ax-text>\n }\n</ax-avatar>","import { AXChipsModule } from '@acorex/components/chips';\nimport { AXTagModule } from '@acorex/components/tag';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXPSessionService } from '@acorex/platform/auth';\nimport { AsyncPipe, CommonModule, NgIf } from '@angular/common';\nimport { Component, inject } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { AXButtonModule } from '@acorex/components/button';\n\n@Component({\n selector: 'axp-tenant-chooser-dropdown',\n templateUrl: 'tenant-chooser-dropdown.component.html',\n imports: [AXDecoratorModule, AXChipsModule, AXTagModule, CommonModule, AXButtonModule]\n})\nexport class AXPTenantChooserDropdownComponent {\n private router = inject(Router);\n private sessionService = inject(AXPSessionService);\n protected tenants$ = this.sessionService.tenants$;\n protected tenant = this.sessionService.tenant;\n\n tenantChooser() {\n this.router.navigate(['/auth/account/tenant-chooser']);\n }\n}\n","<!-- <ng-container *ngIf=\"tenants$ | async as tenants\">\n @if(tenants.length>1){\n <div (click)=\"tenantChooser()\"\n class=\"ax-flex ax-items-center ax-border ax-rounded-full ax-px-4 ax-py-1 ax-gap-2 ax-cursor-pointer\">\n <ax-icon class=\"fa-solid fa-building ax-text-neutral-500 ax-text-xs\"></ax-icon>\n <p class=\"ax-text-neutral-500 ax-text-sm ax-font-medium\">\n {{ tenant?.title }}\n </p>\n <ax-icon class=\"fa-regular fa-chevron-down ax-text-neutral-400\"></ax-icon>\n </div>\n }@else {\n <div class=\"ax-flex ax-items-center ax-border ax-rounded-full ax-px-4 ax-py-1 ax-gap-2 ax-cursor-pointer\">\n <ax-icon class=\"fa-solid fa-building ax-text-neutral-500\"></ax-icon>\n <p class=\"ax-text-neutral-500 ax-text-sm ax-font-medium\">\n {{ tenant?.title }}\n </p>\n </div>\n }\n</ng-container> -->\n\n<ng-container *ngIf=\"tenants$ | async as tenants\">\n <ax-button [text]=\"tenant?.title ?? ''\" class=\"ax-xs\" look=\"blank\">\n @if(tenants.length > 1){\n <ax-suffix>\n <ax-icon class=\"fa-solid fa-caret-down\"></ax-icon>\n </ax-suffix>\n }\n </ax-button>\n</ng-container>","import { AXAvatarModule } from '@acorex/components/avatar';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXImageModule } from '@acorex/components/image';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXPopoverComponent, AXPopoverModule } from '@acorex/components/popover';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPSessionService } from '@acorex/platform/auth';\nimport { AXPLayoutThemeService } from '@acorex/platform/themes/shared';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, ViewChild, ViewEncapsulation, inject } from '@angular/core';\nimport { Router, RouterModule } from '@angular/router';\nimport { AXMAvatarComponent } from '../avatar/avatar.component';\nimport { AXPTenantChooserDropdownComponent } from '../tenant-chooser/tenant-chooser-dropdown.component';\n\n@Component({\n templateUrl: './profile-slot.component.html',\n styleUrl: './profile-slot.component.scss',\n imports: [\n CommonModule,\n RouterModule,\n //\n AXImageModule,\n AXAvatarModule,\n AXPopoverModule,\n AXButtonModule,\n AXDecoratorModule,\n AXLoadingModule,\n AXTranslationModule,\n //\n\n AXPTenantChooserDropdownComponent,\n AXMAvatarComponent,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class AXMAuthProfileSlotComponent {\n private router = inject(Router);\n private sessionService = inject(AXPSessionService);\n private themeService = inject(AXPLayoutThemeService);\n\n protected isDarkMode = this.themeService.isDarkMode;\n\n protected user$ = this.sessionService.user$;\n protected tenant$ = this.sessionService.tenant$;\n\n protected isAuthenticated$ = this.sessionService.isAuthenticated$;\n\n protected appName = () => this.sessionService.application?.name;\n\n @ViewChild('profilePopover') profilePopover!: AXPopoverComponent;\n\n editProfile() {\n this.router.navigate([`/${this.appName()}/m/SecurityManagement/e/profile/0/view`]);\n }\n\n async logOut() {\n await this.sessionService.signout();\n }\n\n toggleProfileMenu() {\n this.profilePopover.open();\n }\n\n protected handleSignIn() {\n this.router.navigate(['/auth/login']);\n }\n}\n","@if((isAuthenticated$ | async)) {\n<div class=\"ax-size-fit ax-px-2\">\n <axp-avatar #avatar [size]=\"36\" [color]=\"isDarkMode() ? 'primary':'ghost'\"></axp-avatar>\n <ax-popover [target]=\"avatar\" [openOn]=\"'toggle'\" [closeOn]=\"'clickOut'\" #p>\n <div\n class=\"ax-bg-surface-lowest ax-border ax-border-surface-lowest 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-avatar [size]=\"64\" color=\"primary\"></axp-avatar>\n <div class=\"ax-flex ax-flex-col ax-items-center ax-justify-center ax-mt-2 ax-gap-1\">\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)=\"editProfile()\">\n <i class=\"fa-light fa-user\"></i>\n <span>{{ 'profile.edit' | translate : { scope: 'auth' } | async }}</span>\n </a>\n </li>\n </ul>\n <ul>\n <li>\n <a (click)=\"p.close()\" [routerLink]=\"['/', appName(), 'settings', 'user']\">\n <i class=\"fa-light fa-gear\"></i>\n <span>{{ 'profile.settings' | translate : { scope: 'auth' } | async }}</span>\n </a>\n </li>\n </ul>\n <ul>\n <li class=\"ax-text-danger-500\">\n <a (click)=\"logOut()\">\n <i class=\"fa-light fa-arrow-right-from-bracket\"></i>\n <span>{{ 'profile.logout' | translate : { scope: 'auth' } | async }}</span>\n </a>\n </li>\n </ul>\n </div>\n </div>\n </ax-popover>\n</div>\n\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}","import { AXAvatarModule } from '@acorex/components/avatar';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXHtmlEvent } from '@acorex/components/common';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXImageModule } from '@acorex/components/image';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXPopoverComponent, AXPopoverModule } from '@acorex/components/popover';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPSessionService } from '@acorex/platform/auth';\nimport { AXPDataProvider } from '@acorex/platform/common';\nimport { AsyncPipe, CommonModule } from '@angular/common';\nimport { Component, ViewChild, inject, signal } from '@angular/core';\nimport { Router, RouterModule } from '@angular/router';\nimport { first } from 'rxjs';\nimport { AXPTenantChooserDropdownComponent } from '../tenant-chooser/tenant-chooser-dropdown.component';\nimport { AXChipsModule } from '@acorex/components/chips';\nimport { AXMAvatarComponent } from '../avatar/avatar.component';\n\n@Component({\n templateUrl: './user-profile-card.component.html',\n imports: [\n RouterModule,\n //\n AXImageModule,\n AXAvatarModule,\n AXPopoverModule,\n AXButtonModule,\n AXDecoratorModule,\n AXLoadingModule,\n AXTranslationModule,\n //\n AXPTenantChooserDropdownComponent,\n AsyncPipe,\n AXMAvatarComponent\n ],\n})\nexport class AXMUserProfileCardSlotComponent {\n private router = inject(Router);\n private sessionService = inject(AXPSessionService);\n private dataService = inject(AXPDataProvider, { optional: true });\n\n protected hasPicture = signal(true);\n protected avatarText = signal<string>('');\n\n constructor() {\n this.loadImage();\n this.getAvatarText();\n }\n protected src!: string;\n protected user$ = this.sessionService.user$;\n protected tenant$ = this.sessionService.tenant$;\n\n protected isAuthenticated$ = this.sessionService.isAuthenticated$;\n\n protected appName = () => this.sessionService.application?.name;\n\n @ViewChild('profilePopover') profilePopover!: AXPopoverComponent;\n\n editProfile() {\n this.router.navigate([`/${this.appName()}/m/securityManagement/e/profile/0/view`]);\n }\n\n async logOut() {\n await this.sessionService.signout();\n }\n\n toggleProfileMenu() {\n this.profilePopover.open();\n }\n\n protected handleSignIn() {\n this.router.navigate(['/auth/login']);\n }\n\n protected onImageError(event: AXHtmlEvent<ErrorEvent>) {\n this.hasPicture.set(false);\n }\n\n protected getAvatarText = () => {\n this.user$.pipe(first()).subscribe((user) => {\n const names = user?.title.split(' ');\n if (names?.length && names?.length > 1) {\n this.avatarText.set(`${names[0][0].toUpperCase()}${names[names.length - 1][0].toUpperCase()}`);\n } else return this.avatarText.set('AC');\n });\n };\n\n private async loadImage() {\n try {\n const url = this.sessionService.user?.avatar as string;\n if (url?.toLowerCase().startsWith('http')) {\n this.src = url;\n } else if (this.sessionService.user?.avatar != 'null' && this.dataService) {\n const blob = await this.dataService.viewFile(url, '');\n this.src = URL.createObjectURL(blob);\n } else {\n //this.src = this.mockerService.avatar();\n }\n } catch (error) {\n this.hasPicture.set(false);\n console.error('Failed to load image by ID:', error);\n this.src = '';\n }\n }\n}\n","@if((isAuthenticated$ | async)) {\n<div class=\"ax-bg-surface-low ax-p-3 ax-flex ax-gap-1 ax-border-b ax-border-surface-low\">\n <axp-avatar [size]=\"48\" color=\"primary\"></axp-avatar>\n <div class=\"ax-flex ax-flex-col ax-gap-1\">\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}","import { AXPAuthGuard, AXPSessionService } from '@acorex/platform/auth';\nimport { AXPComponentSlotModule } from '@acorex/platform/common';\nimport { NgModule, inject } from '@angular/core';\nimport {\n ActivatedRouteSnapshot,\n CanActivateFn,\n ROUTES,\n Router,\n RouterModule,\n RouterStateSnapshot,\n Routes,\n} from '@angular/router';\nimport { firstValueFrom } from 'rxjs';\nimport { AXMAppChooserSlotComponent } from './app-chooser/app-chooser-slot.component';\nimport { AXMAuthProfileSlotComponent } from './profile/profile-slot.component';\nimport { AXMUserProfileCardSlotComponent } from './user-profile-card/user-profile-card.component';\n\nconst canActivateTenantChooser: CanActivateFn = async (route: ActivatedRouteSnapshot, state: RouterStateSnapshot) => {\n const sessionService = inject(AXPSessionService);\n const router = inject(Router);\n\n const tenants = await firstValueFrom(sessionService.tenants$);\n if (tenants.length == 0) {\n return router.createUrlTree(['/auth/login']);\n }\n if (tenants.length == 1) {\n await sessionService.setTenant(tenants[0]);\n return router.createUrlTree(['/auth/account/app-chooser']);\n }\n return true;\n};\n\nconst canActivateAppChooser: CanActivateFn = async (route: ActivatedRouteSnapshot, state: RouterStateSnapshot) => {\n const sessionService = inject(AXPSessionService);\n const router = inject(Router);\n const apps = await firstValueFrom(sessionService.applications$);\n if (apps.length == 0) {\n return router.createUrlTree(['/auth/login']);\n }\n if (apps.length == 1) {\n await sessionService.setApplication(apps[0]);\n return router.createUrlTree([`/${apps[0].name}/home`]);\n }\n return true;\n};\n\nfunction routesFacory() {\n let routes: Routes = [];\n routes = [\n {\n path: 'tenant-chooser',\n loadComponent: () =>\n import('./tenant-chooser/tenant-chooser.component').then((c) => c.AXPAuthTenantChooserComponent),\n canActivate: [AXPAuthGuard, canActivateTenantChooser],\n },\n {\n path: 'app-chooser',\n loadComponent: () => import('./app-chooser/app-chooser.component').then((c) => c.AXPAuthAppChooserComponent),\n canActivate: [AXPAuthGuard, canActivateAppChooser],\n },\n ];\n return routes;\n}\n\n@NgModule({\n declarations: [],\n imports: [\n RouterModule,\n //\n AXPComponentSlotModule.forChild({\n 'side-menu-header': [\n {\n priority: 1,\n name: 'user-card',\n component: AXMUserProfileCardSlotComponent\n }\n ],\n 'header-end': [\n {\n priority: 98,\n name: 'app-choser',\n component: AXMAppChooserSlotComponent,\n },\n {\n priority: 99,\n name: 'profile',\n component: AXMAuthProfileSlotComponent,\n },\n ],\n }),\n ],\n exports: [],\n providers: [\n {\n provide: ROUTES,\n multi: true,\n useFactory: routesFacory,\n },\n ],\n})\nexport class AXPAccountModule { }\n","import { Injectable, inject } from '@angular/core';\nimport { Subject, Observable, timer, Subscription } from 'rxjs';\nimport { startWith, switchMap, tap } from 'rxjs/operators';\nimport { AXM_AUTH_CONFIG_TOKEN } from '../../auth.config';\n\n@Injectable({ providedIn: 'root' })\nexport class AXPIdleService {\n private configs = inject(AXM_AUTH_CONFIG_TOKEN);\n private idle$ = new Subject<void>();\n private timeoutDuration = this.configs.idleTimeout ?? 10 * 60 * 1000;\n private userActivity$ = new Subject<void>();\n private idleSubscription: Subscription | null = null;\n\n constructor() {\n this.setupActivityListeners();\n }\n\n get idleState$(): Observable<void> {\n return this.idle$.asObservable();\n }\n\n private setupActivityListeners() {\n const activityEvents = ['mousemove', 'keydown', 'wheel'];\n activityEvents.forEach(event =>\n document.addEventListener(event, () => this.resetTimer())\n );\n }\n\n startWatching() {\n this.stopWatching(); // Stop any existing subscription\n this.idleSubscription = this.userActivity$.pipe(\n startWith(null),\n switchMap(() => timer(this.timeoutDuration)),\n tap(() => this.idle$.next()),\n ).subscribe();\n }\n\n resetTimer() {\n this.userActivity$.next();\n }\n\n stopWatching() {\n if (this.idleSubscription) {\n this.idleSubscription.unsubscribe();\n this.idleSubscription = null;\n }\n }\n}\n","import { AXDialogButtonItem, AXDialogService } from \"@acorex/components/dialog\";\nimport { AXPSessionService } from \"@acorex/platform/auth\";\nimport { AXPSignInAction, AXPSignOutAction } from \"@acorex/platform/common\";\nimport { Injectable, inject } from \"@angular/core\";\nimport { Router } from \"@angular/router\";\nimport { Actions, createEffect, ofType } from \"@ngrx/effects\";\nimport { of, switchMap, tap } from \"rxjs\";\nimport { AXPIdleService } from \"../shared/services\";\nimport { AXM_AUTH_CONFIG_TOKEN } from \"../auth.config\";\n\n@Injectable()\nexport class AXPAuthEffects {\n\n private configs = inject(AXM_AUTH_CONFIG_TOKEN);\n private sessionService = inject(AXPSessionService);\n private idleService = inject(AXPIdleService);\n private dialogService = inject(AXDialogService);\n private dialogAlreadyOpen = false;\n\n constructor(private actions$: Actions, private router: Router) { }\n\n signout$ = createEffect(\n () =>\n this.actions$.pipe(\n ofType(AXPSignOutAction),\n switchMap((action) => {\n this.idleService.stopWatching();\n this.router.navigate(['/auth/login']);\n return of();\n })\n ),\n { dispatch: false }\n );\n\n signin$ = createEffect(\n () =>\n this.actions$.pipe(\n ofType(AXPSignInAction),\n switchMap((action) => {\n if (this.configs.idleTimeout) {\n this.idleService.startWatching();\n }\n return of();\n })\n ),\n { dispatch: false }\n );\n\n\n idle$ = createEffect(\n () =>\n this.idleService.idleState$.pipe(\n tap(() => {\n if (!this.dialogAlreadyOpen) {\n let time = 60;\n let intervalId: number;\n const buttonText = (time: number) => `Stay Sign In (${time})`;\n const stayButton: AXDialogButtonItem = {\n text: buttonText(time),\n color: 'primary',\n autofocus: true,\n onClick: () => {\n this.idleService.resetTimer();\n dialog.close();\n this.dialogAlreadyOpen = false;\n clearInterval(intervalId);\n }\n }\n const dialog = this.dialogService.open({\n title: \"Session Timeout\",\n content: \"You're being timed out due to inactivity. Please choose to stay signed in or to sign off. Otherwise, you will signed off automatically.\",\n type: 'warning',\n buttons: [\n {\n text: \"Sign Off\",\n color: 'ghost',\n onClick: async () => {\n await this.sessionService.signout();\n dialog.close();\n this.dialogAlreadyOpen = false;\n clearInterval(intervalId);\n }\n },\n stayButton,\n ]\n });\n this.dialogAlreadyOpen = true;\n // Automatically close dialog and sign out after additional time\n intervalId = setInterval(() => {\n if (time > 0) {\n stayButton.text = buttonText(--time);\n } else {\n clearInterval(intervalId);\n this.sessionService.signout();\n dialog.close();\n this.dialogAlreadyOpen = false;\n }\n }, 1000);\n //\n }\n })\n ),\n { dispatch: false }\n );\n\n}\n","export * from './auth.effects';\n//export * from './auth.actions';","import { AXP_MENU_PROVIDER, AXP_SETTING_DEFINITION_PROVIDER, AXPCommonModule } from '@acorex/platform/common';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { EffectsModule } from '@ngrx/effects';\nimport { routes } from './auth.routes';\nimport { AXMAuthErrorHandler } from './error-handler';\nimport { AXMSecurityManagmentModuleMenuProvider } from './menu.provider';\nimport { AXPAccountModule } from './pages/account/account.module';\nimport { AXPAuthEffects } from './store';\n\n@NgModule({\n imports: [\n CommonModule,\n AXPCommonModule.forChild({ errorHandlers: [AXMAuthErrorHandler] }),\n RouterModule.forChild(routes),\n EffectsModule.forFeature([AXPAuthEffects]),\n AXPAccountModule,\n ],\n providers: [\n AXMAuthErrorHandler,\n {\n provide: AXP_MENU_PROVIDER,\n useClass: AXMSecurityManagmentModuleMenuProvider,\n multi: true,\n },\n {\n provide: AXP_SETTING_DEFINITION_PROVIDER,\n useFactory: async () => {\n const provider = (await import('./setting.provider')).AXMSettingProvider;\n return new provider();\n },\n multi: true,\n },\n ],\n})\nexport class AXMAuthModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i3","i4","i1","i2","i5","switchMap","tap"],"mappings":"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"}
|
@@ -1,64 +0,0 @@
|
|
1
|
-
import * as i0 from '@angular/core';
|
2
|
-
import { inject, Component, ViewEncapsulation } from '@angular/core';
|
3
|
-
import * as i2 from '@acorex/components/avatar';
|
4
|
-
import { AXAvatarModule } from '@acorex/components/avatar';
|
5
|
-
import { AXButtonModule } from '@acorex/components/button';
|
6
|
-
import { AXCheckBoxModule } from '@acorex/components/check-box';
|
7
|
-
import { AXDecoratorModule } from '@acorex/components/decorators';
|
8
|
-
import { AXFormModule } from '@acorex/components/form';
|
9
|
-
import * as i3 from '@acorex/components/image';
|
10
|
-
import { AXImageModule } from '@acorex/components/image';
|
11
|
-
import { AXLabelModule } from '@acorex/components/label';
|
12
|
-
import { AXLoadingModule } from '@acorex/components/loading';
|
13
|
-
import { AXTextBoxModule } from '@acorex/components/text-box';
|
14
|
-
import * as i6 from '@acorex/core/translation';
|
15
|
-
import { AXTranslationModule } from '@acorex/core/translation';
|
16
|
-
import { AXPSessionService } from '@acorex/platform/auth';
|
17
|
-
import { AXP_PLATFORM_CONFIG_TOKEN, AXPLogoComponent } from '@acorex/platform/common';
|
18
|
-
import * as i1 from '@angular/common';
|
19
|
-
import { CommonModule } from '@angular/common';
|
20
|
-
import { Router } from '@angular/router';
|
21
|
-
import { b as AXPTenantChooserDropdownComponent, c as AXPAppChooserListComponent } from './acorex-modules-auth-acorex-modules-auth-CcRRSTGN.mjs';
|
22
|
-
import { of } from 'rxjs';
|
23
|
-
|
24
|
-
class AXPAuthAppChooserComponent {
|
25
|
-
constructor() {
|
26
|
-
this.router = inject(Router);
|
27
|
-
this.platformConfig = inject(AXP_PLATFORM_CONFIG_TOKEN);
|
28
|
-
this.sessionService = inject(AXPSessionService);
|
29
|
-
this.user = this.sessionService.user;
|
30
|
-
this.tenants$ = of([]); //this.sessionService.tenants$;
|
31
|
-
this.tenant = this.sessionService.tenant;
|
32
|
-
}
|
33
|
-
tenantChooser() {
|
34
|
-
this.router.navigate(['/auth/account/tenant-chooser']);
|
35
|
-
}
|
36
|
-
async handleSignout() {
|
37
|
-
await this.sessionService.signout();
|
38
|
-
this.router.navigate(['/auth/login']);
|
39
|
-
}
|
40
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPAuthAppChooserComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
41
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: AXPAuthAppChooserComponent, isStandalone: true, selector: "axp-auth-app-chooser", ngImport: i0, template: "<main *translate=\"let t\"\n class=\"ax-w-full ax-space-y-10 ax-h-[100vh] ax-flex ax-flex-col ax-items-center ax-justify-center ax-bg-surface-lowest md:ax-bg-default\">\n <section>\n <axp-logo [source]=\"platformConfig.logo?.colored\" [attr.alt]=\"platformConfig.title\"\n class=\"ax-w-36 ax-mx-auto ax-text-2xl ax-font-bold\"></axp-logo>\n </section>\n <section class=\"ax-flex ax-justify-center\">\n <div\n class=\"ax-flex ax-gap-2 ax-justify-center ax-text-center ax-flex-col ax-items-center ax-border ax-rounded-lg ax-shadow-lg ax-p-6 md:ax-w-96 ax-w-80\">\n <ax-avatar class=\"ax-rounded-full\" [size]=\"72\">\n @if(user?.avatar){\n <ax-image [src]=\"user?.avatar\"></ax-image>\n }\n </ax-avatar>\n <h2 class=\"md:ax-text-lg ax-font-medium\">{{ t('welcome') | async }}, {{ user?.title }}</h2>\n <axp-tenant-chooser-dropdown></axp-tenant-chooser-dropdown>\n <p class=\"ax-text-neutral-500 ax-text-sm md:ax-text-base ax-font-medium\">\n {{ t(\"application-chooser.description\", { scope: \"auth\" }) | async }}\n </p>\n <div class=\"ax-mt-3 ax-w-full ax-overflow-auto ax-max-h-[300px] ax-pe-2\">\n <axp-app-chooser-list></axp-app-chooser-list>\n </div>\n </div>\n </section>\n <section>\n <p class=\"ax-text-neutral-400 ax-text-sm\">\n {{ t(\"application-chooser.footer\", { scope: \"auth\" }) | async }}\n <ng-container *ngIf=\"tenants$ | async as tenants\">\n @if(tenants.length > 1){\n <a (click)=\"tenantChooser()\" class=\"ax-text-primary-500 ax-cursor-pointer ax-font-medium hover:ax-underline\">\n {{ t(\"application-chooser.backCompany\", { scope: \"auth\" }) | async }}\n </a>\n } @else {\n <a (click)=\"handleSignout()\" class=\"ax-text-primary-500 ax-font-medium ax-cursor-pointer hover:ax-underline\">\n {{ t(\"backLogin\", { scope: \"auth\" }) | async }}\n </a>\n }\n </ng-container>\n </p>\n </section>\n</main>", styles: [".gradient{background:-webkit-linear-gradient(var(--ax-current-v1),var(--ax-current-v2));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: AXFormModule }, { kind: "ngmodule", type: AXTextBoxModule }, { kind: "ngmodule", type: AXButtonModule }, { kind: "ngmodule", type: AXLabelModule }, { kind: "ngmodule", type: AXCheckBoxModule }, { kind: "ngmodule", type: AXAvatarModule }, { kind: "component", type: i2.AXAvatarComponent, selector: "ax-avatar", inputs: ["color", "size", "shape", "look"], outputs: ["sizeChange"] }, { kind: "ngmodule", type: AXImageModule }, { kind: "component", type: i3.AXImageComponent, selector: "ax-image", inputs: ["overlayMode", "src", "alt", "priority", "lazy"], outputs: ["onLoad", "onError"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: AXPLogoComponent, selector: "axp-logo", inputs: ["source"] }, { kind: "ngmodule", type: AXLoadingModule }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "directive", type: i6.AXTranslatorDirective, selector: "[translate]" }, { kind: "component", type: AXPTenantChooserDropdownComponent, selector: "axp-tenant-chooser-dropdown" }, { kind: "component", type: AXPAppChooserListComponent, selector: "axp-app-chooser-list" }], encapsulation: i0.ViewEncapsulation.None }); }
|
42
|
-
}
|
43
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPAuthAppChooserComponent, decorators: [{
|
44
|
-
type: Component,
|
45
|
-
args: [{ selector: 'axp-auth-app-chooser', imports: [
|
46
|
-
CommonModule,
|
47
|
-
AXFormModule,
|
48
|
-
AXTextBoxModule,
|
49
|
-
AXButtonModule,
|
50
|
-
AXLabelModule,
|
51
|
-
AXCheckBoxModule,
|
52
|
-
AXAvatarModule,
|
53
|
-
AXImageModule,
|
54
|
-
AXDecoratorModule,
|
55
|
-
AXPLogoComponent,
|
56
|
-
AXLoadingModule,
|
57
|
-
AXTranslationModule,
|
58
|
-
AXPTenantChooserDropdownComponent,
|
59
|
-
AXPAppChooserListComponent
|
60
|
-
], encapsulation: ViewEncapsulation.None, template: "<main *translate=\"let t\"\n class=\"ax-w-full ax-space-y-10 ax-h-[100vh] ax-flex ax-flex-col ax-items-center ax-justify-center ax-bg-surface-lowest md:ax-bg-default\">\n <section>\n <axp-logo [source]=\"platformConfig.logo?.colored\" [attr.alt]=\"platformConfig.title\"\n class=\"ax-w-36 ax-mx-auto ax-text-2xl ax-font-bold\"></axp-logo>\n </section>\n <section class=\"ax-flex ax-justify-center\">\n <div\n class=\"ax-flex ax-gap-2 ax-justify-center ax-text-center ax-flex-col ax-items-center ax-border ax-rounded-lg ax-shadow-lg ax-p-6 md:ax-w-96 ax-w-80\">\n <ax-avatar class=\"ax-rounded-full\" [size]=\"72\">\n @if(user?.avatar){\n <ax-image [src]=\"user?.avatar\"></ax-image>\n }\n </ax-avatar>\n <h2 class=\"md:ax-text-lg ax-font-medium\">{{ t('welcome') | async }}, {{ user?.title }}</h2>\n <axp-tenant-chooser-dropdown></axp-tenant-chooser-dropdown>\n <p class=\"ax-text-neutral-500 ax-text-sm md:ax-text-base ax-font-medium\">\n {{ t(\"application-chooser.description\", { scope: \"auth\" }) | async }}\n </p>\n <div class=\"ax-mt-3 ax-w-full ax-overflow-auto ax-max-h-[300px] ax-pe-2\">\n <axp-app-chooser-list></axp-app-chooser-list>\n </div>\n </div>\n </section>\n <section>\n <p class=\"ax-text-neutral-400 ax-text-sm\">\n {{ t(\"application-chooser.footer\", { scope: \"auth\" }) | async }}\n <ng-container *ngIf=\"tenants$ | async as tenants\">\n @if(tenants.length > 1){\n <a (click)=\"tenantChooser()\" class=\"ax-text-primary-500 ax-cursor-pointer ax-font-medium hover:ax-underline\">\n {{ t(\"application-chooser.backCompany\", { scope: \"auth\" }) | async }}\n </a>\n } @else {\n <a (click)=\"handleSignout()\" class=\"ax-text-primary-500 ax-font-medium ax-cursor-pointer hover:ax-underline\">\n {{ t(\"backLogin\", { scope: \"auth\" }) | async }}\n </a>\n }\n </ng-container>\n </p>\n </section>\n</main>", styles: [".gradient{background:-webkit-linear-gradient(var(--ax-current-v1),var(--ax-current-v2));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}\n"] }]
|
61
|
-
}] });
|
62
|
-
|
63
|
-
export { AXPAuthAppChooserComponent };
|
64
|
-
//# sourceMappingURL=acorex-modules-auth-app-chooser.component-DuRnQda8.mjs.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"acorex-modules-auth-app-chooser.component-DuRnQda8.mjs","sources":["../../../../libs/modules/auth/src/lib/pages/account/app-chooser/app-chooser.component.ts","../../../../libs/modules/auth/src/lib/pages/account/app-chooser/app-chooser.component.html"],"sourcesContent":["import { Component, ViewEncapsulation, inject } from '@angular/core';\n\nimport { AXAvatarModule } from '@acorex/components/avatar';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXCheckBoxModule } from '@acorex/components/check-box';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXFormModule } from '@acorex/components/form';\nimport { AXImageModule } from '@acorex/components/image';\nimport { AXLabelModule } from '@acorex/components/label';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXTextBoxModule } from '@acorex/components/text-box';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPSessionService } from '@acorex/platform/auth';\nimport { AXPLogoComponent, AXP_PLATFORM_CONFIG_TOKEN } from '@acorex/platform/common';\nimport { CommonModule } from '@angular/common';\nimport { Router } from '@angular/router';\nimport { AXPTenantChooserDropdownComponent } from '../tenant-chooser/tenant-chooser-dropdown.component';\nimport { AXPAppChooserListComponent } from './app-chooser-list.component';\nimport { of } from 'rxjs';\n\n@Component({\n selector: 'axp-auth-app-chooser',\n templateUrl: './app-chooser.component.html',\n styleUrls: ['./app-chooser.component.scss'],\n imports: [\n CommonModule,\n AXFormModule,\n AXTextBoxModule,\n AXButtonModule,\n AXLabelModule,\n AXCheckBoxModule,\n AXAvatarModule,\n AXImageModule,\n AXDecoratorModule,\n AXPLogoComponent,\n AXLoadingModule,\n AXTranslationModule,\n AXPTenantChooserDropdownComponent,\n AXPAppChooserListComponent\n ],\n encapsulation: ViewEncapsulation.None\n})\nexport class AXPAuthAppChooserComponent {\n\n private router = inject(Router);\n protected platformConfig = inject(AXP_PLATFORM_CONFIG_TOKEN);\n private sessionService = inject(AXPSessionService);\n\n protected user = this.sessionService.user;\n protected tenants$ = of([])//this.sessionService.tenants$;\n protected tenant = this.sessionService.tenant;\n\n\n tenantChooser() {\n this.router.navigate(['/auth/account/tenant-chooser']);\n }\n\n async handleSignout() {\n await this.sessionService.signout();\n this.router.navigate(['/auth/login']);\n }\n\n\n}\n","<main *translate=\"let t\"\n class=\"ax-w-full ax-space-y-10 ax-h-[100vh] ax-flex ax-flex-col ax-items-center ax-justify-center ax-bg-surface-lowest md:ax-bg-default\">\n <section>\n <axp-logo [source]=\"platformConfig.logo?.colored\" [attr.alt]=\"platformConfig.title\"\n class=\"ax-w-36 ax-mx-auto ax-text-2xl ax-font-bold\"></axp-logo>\n </section>\n <section class=\"ax-flex ax-justify-center\">\n <div\n class=\"ax-flex ax-gap-2 ax-justify-center ax-text-center ax-flex-col ax-items-center ax-border ax-rounded-lg ax-shadow-lg ax-p-6 md:ax-w-96 ax-w-80\">\n <ax-avatar class=\"ax-rounded-full\" [size]=\"72\">\n @if(user?.avatar){\n <ax-image [src]=\"user?.avatar\"></ax-image>\n }\n </ax-avatar>\n <h2 class=\"md:ax-text-lg ax-font-medium\">{{ t('welcome') | async }}, {{ user?.title }}</h2>\n <axp-tenant-chooser-dropdown></axp-tenant-chooser-dropdown>\n <p class=\"ax-text-neutral-500 ax-text-sm md:ax-text-base ax-font-medium\">\n {{ t(\"application-chooser.description\", { scope: \"auth\" }) | async }}\n </p>\n <div class=\"ax-mt-3 ax-w-full ax-overflow-auto ax-max-h-[300px] ax-pe-2\">\n <axp-app-chooser-list></axp-app-chooser-list>\n </div>\n </div>\n </section>\n <section>\n <p class=\"ax-text-neutral-400 ax-text-sm\">\n {{ t(\"application-chooser.footer\", { scope: \"auth\" }) | async }}\n <ng-container *ngIf=\"tenants$ | async as tenants\">\n @if(tenants.length > 1){\n <a (click)=\"tenantChooser()\" class=\"ax-text-primary-500 ax-cursor-pointer ax-font-medium hover:ax-underline\">\n {{ t(\"application-chooser.backCompany\", { scope: \"auth\" }) | async }}\n </a>\n } @else {\n <a (click)=\"handleSignout()\" class=\"ax-text-primary-500 ax-font-medium ax-cursor-pointer hover:ax-underline\">\n {{ t(\"backLogin\", { scope: \"auth\" }) | async }}\n </a>\n }\n </ng-container>\n </p>\n </section>\n</main>"],"names":["i4"],"mappings":"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"}
|
@@ -1,23 +0,0 @@
|
|
1
|
-
import * as i1 from '@acorex/platform/common';
|
2
|
-
import { AXP_PLATFORM_CONFIG_TOKEN, AXPLogoComponent, AXPComponentSlotModule } from '@acorex/platform/common';
|
3
|
-
import * as i0 from '@angular/core';
|
4
|
-
import { inject, Component, ViewEncapsulation } from '@angular/core';
|
5
|
-
import * as i2 from '@angular/router';
|
6
|
-
import { RouterModule } from '@angular/router';
|
7
|
-
import { A as AXM_AUTH_CONFIG_TOKEN } from './acorex-modules-auth-acorex-modules-auth-CcRRSTGN.mjs';
|
8
|
-
|
9
|
-
class AXPAuthMasterLayoutComponent {
|
10
|
-
constructor() {
|
11
|
-
this.authConfig = inject(AXM_AUTH_CONFIG_TOKEN);
|
12
|
-
this.platformConfig = inject(AXP_PLATFORM_CONFIG_TOKEN);
|
13
|
-
}
|
14
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPAuthMasterLayoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
15
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: AXPAuthMasterLayoutComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: "<div class=\"ax-w-full ax-h-full ax-flex\">\n <div\n class=\"ax-flex-1 ax-bg-surface-low ax-text-surface-low ax-flex ax-flex-col ax-items-center ax-justify-between ax-py-12\">\n <router-outlet></router-outlet>\n <div class=\"ax-flex ax-justify-between\">\n <div class=\"auth-footer-links\">\n <axp-component-slot name=\"auth-footer-links\"></axp-component-slot>\n </div>\n </div>\n </div>\n <div class=\"ax-hidden lg:ax-flex ax-bg-brand dark:ax-bg-brand/20 ax-text-on-brand ax-flex-1 axp-auth-bk\">\n <div class=\"ax-flex ax-w-full ax-flex-col ax-justify-between ax-px-48 ax-py-20 ax-text-center\">\n <div>\n <axp-logo [source]=\"platformConfig.logo?.colored\" [attr.alt]=\"platformConfig.title\"\n class=\"ax-mx-auto ax-text-2xl\"></axp-logo>\n </div>\n <div>\n <p class=\"ax-font-black ax-text-4xl ax-mb-4\">{{authConfig.signinPage?.slogan}}</p>\n <p>{{authConfig.signinPage?.description}}</p>\n </div>\n </div>\n </div>\n</div>", styles: [".auth-footer-links{gap:1.25rem;font-size:.875rem;line-height:1.25rem;font-weight:600}.auth-footer-links a{color:rgba(var(--ax-sys-color-primary-500));cursor:pointer}.auth-footer-links a:hover{text-decoration:underline}.auth-footer-links a:visited{color:rgba(var(--ax-sys-color-primary-700))}\n"], dependencies: [{ kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i2.RouterOutlet, selector: "router-outlet", inputs: ["name", "routerOutletData"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "component", type: AXPLogoComponent, selector: "axp-logo", inputs: ["source"] }, { kind: "ngmodule", type: AXPComponentSlotModule }, { kind: "directive", type: i1.AXPComponentSlotDirective, selector: "axp-component-slot", inputs: ["name"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
16
|
-
}
|
17
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPAuthMasterLayoutComponent, decorators: [{
|
18
|
-
type: Component,
|
19
|
-
args: [{ imports: [RouterModule, AXPLogoComponent, AXPComponentSlotModule], encapsulation: ViewEncapsulation.None, template: "<div class=\"ax-w-full ax-h-full ax-flex\">\n <div\n class=\"ax-flex-1 ax-bg-surface-low ax-text-surface-low ax-flex ax-flex-col ax-items-center ax-justify-between ax-py-12\">\n <router-outlet></router-outlet>\n <div class=\"ax-flex ax-justify-between\">\n <div class=\"auth-footer-links\">\n <axp-component-slot name=\"auth-footer-links\"></axp-component-slot>\n </div>\n </div>\n </div>\n <div class=\"ax-hidden lg:ax-flex ax-bg-brand dark:ax-bg-brand/20 ax-text-on-brand ax-flex-1 axp-auth-bk\">\n <div class=\"ax-flex ax-w-full ax-flex-col ax-justify-between ax-px-48 ax-py-20 ax-text-center\">\n <div>\n <axp-logo [source]=\"platformConfig.logo?.colored\" [attr.alt]=\"platformConfig.title\"\n class=\"ax-mx-auto ax-text-2xl\"></axp-logo>\n </div>\n <div>\n <p class=\"ax-font-black ax-text-4xl ax-mb-4\">{{authConfig.signinPage?.slogan}}</p>\n <p>{{authConfig.signinPage?.description}}</p>\n </div>\n </div>\n </div>\n</div>", styles: [".auth-footer-links{gap:1.25rem;font-size:.875rem;line-height:1.25rem;font-weight:600}.auth-footer-links a{color:rgba(var(--ax-sys-color-primary-500));cursor:pointer}.auth-footer-links a:hover{text-decoration:underline}.auth-footer-links a:visited{color:rgba(var(--ax-sys-color-primary-700))}\n"] }]
|
20
|
-
}] });
|
21
|
-
|
22
|
-
export { AXPAuthMasterLayoutComponent };
|
23
|
-
//# sourceMappingURL=acorex-modules-auth-master.layout-KNzdjwP6.mjs.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"acorex-modules-auth-master.layout-KNzdjwP6.mjs","sources":["../../../../libs/modules/auth/src/lib/shared/layouts/master/master.layout.ts","../../../../libs/modules/auth/src/lib/shared/layouts/master/master.layout.html"],"sourcesContent":["import { AXPComponentSlotModule, AXPLogoComponent, AXP_PLATFORM_CONFIG_TOKEN } from '@acorex/platform/common';\nimport { Component, ViewEncapsulation, inject } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { AXM_AUTH_CONFIG_TOKEN } from '../../../auth.config';\n\n@Component({\n templateUrl: 'master.layout.html',\n styleUrls: ['master.layout.scss'],\n imports: [RouterModule, AXPLogoComponent, AXPComponentSlotModule],\n encapsulation: ViewEncapsulation.None\n})\nexport class AXPAuthMasterLayoutComponent {\n protected authConfig = inject(AXM_AUTH_CONFIG_TOKEN);\n protected platformConfig = inject(AXP_PLATFORM_CONFIG_TOKEN);\n}\n","<div class=\"ax-w-full ax-h-full ax-flex\">\n <div\n class=\"ax-flex-1 ax-bg-surface-low ax-text-surface-low ax-flex ax-flex-col ax-items-center ax-justify-between ax-py-12\">\n <router-outlet></router-outlet>\n <div class=\"ax-flex ax-justify-between\">\n <div class=\"auth-footer-links\">\n <axp-component-slot name=\"auth-footer-links\"></axp-component-slot>\n </div>\n </div>\n </div>\n <div class=\"ax-hidden lg:ax-flex ax-bg-brand dark:ax-bg-brand/20 ax-text-on-brand ax-flex-1 axp-auth-bk\">\n <div class=\"ax-flex ax-w-full ax-flex-col ax-justify-between ax-px-48 ax-py-20 ax-text-center\">\n <div>\n <axp-logo [source]=\"platformConfig.logo?.colored\" [attr.alt]=\"platformConfig.title\"\n class=\"ax-mx-auto ax-text-2xl\"></axp-logo>\n </div>\n <div>\n <p class=\"ax-font-black ax-text-4xl ax-mb-4\">{{authConfig.signinPage?.slogan}}</p>\n <p>{{authConfig.signinPage?.description}}</p>\n </div>\n </div>\n </div>\n</div>"],"names":["i1","i2"],"mappings":";;;;;;;;MAWa,4BAA4B,CAAA;AANzC,IAAA,WAAA,GAAA;AAOY,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,qBAAqB,CAAC;AAC1C,QAAA,IAAA,CAAA,cAAc,GAAG,MAAM,CAAC,yBAAyB,CAAC;AAC7D;8GAHY,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA5B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,4BAA4B,wECXzC,8/BAsBM,EAAA,MAAA,EAAA,CAAA,uSAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDdQ,YAAY,EAAE,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,YAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,kBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,QAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,gBAAgB,wEAAE,sBAAsB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,yBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAGvD,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBANxC,SAAS;8BAGG,CAAC,YAAY,EAAE,gBAAgB,EAAE,sBAAsB,CAAC,EAAA,aAAA,EAClD,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,8/BAAA,EAAA,MAAA,EAAA,CAAA,uSAAA,CAAA,EAAA;;;;;"}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"acorex-modules-auth-password.component-CIwOjQRh.mjs","sources":["../../../../libs/modules/auth/src/lib/pages/login/password/password.component.ts","../../../../libs/modules/auth/src/lib/pages/login/password/password.component.html"],"sourcesContent":["import { AXButtonModule } from '@acorex/components/button';\nimport { AXCheckBoxModule } from '@acorex/components/check-box';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXDialogService } from '@acorex/components/dialog';\nimport { AXFormComponent, AXFormModule } from '@acorex/components/form';\nimport { AXLabelModule } from '@acorex/components/label';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXPasswordBoxModule } from '@acorex/components/password-box';\nimport { AXTextBoxModule } from '@acorex/components/text-box';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { CommonModule } from '@angular/common';\nimport { Component, OnInit, ViewChild, inject } from '@angular/core';\nimport { Router, RouterModule } from '@angular/router';\n\nimport { AXValidationModule } from '@acorex/core/validation';\nimport { AXPSessionService } from '@acorex/platform/auth';\nimport { BehaviorSubject } from 'rxjs';\nimport { AXMAuthConfigs, AXMAuthenticationTypes, AXM_AUTH_CONFIG_TOKEN } from '../../../auth.config';\n\nconst MODULES = [\n CommonModule,\n AXFormModule,\n AXTextBoxModule,\n AXPasswordBoxModule,\n AXButtonModule,\n AXLabelModule,\n AXDecoratorModule,\n AXCheckBoxModule,\n AXTranslationModule,\n AXTranslationModule,\n AXLoadingModule,\n RouterModule,\n AXValidationModule,\n];\n\n@Component({\n templateUrl: './password.component.html',\n imports: [...MODULES],\n})\nexport class AXPLoginPasswordComponent implements OnInit {\n protected configs: AXMAuthConfigs = inject<AXMAuthConfigs>(AXM_AUTH_CONFIG_TOKEN);\n protected l1!: string;\n protected l2!: string;\n\n protected v1 = '';\n protected v2: string | null = '';\n\n protected isLoading$: BehaviorSubject<boolean> = new BehaviorSubject(false);\n\n protected submitText = 'signin.submit';\n private dialogService = inject(AXDialogService);\n private sessionService = inject(AXPSessionService);\n\n @ViewChild(AXFormComponent)\n private form!: AXFormComponent;\n\n private router = inject(Router);\n\n ngOnInit(): void {\n this.l2 = 'password';\n switch (this.configs.type) {\n case AXMAuthenticationTypes.EmailPassword:\n this.l1 = 'email';\n break;\n case AXMAuthenticationTypes.MobilePassword:\n this.l1 = 'mobile';\n break;\n case AXMAuthenticationTypes.UsernameEmailPassword:\n this.l1 = 'username-email';\n break;\n case AXMAuthenticationTypes.UsernamePassword:\n default:\n this.l1 = 'username';\n }\n }\n\n protected handleForgotOnClick() {\n this.router.navigate(['/auth/forgot']);\n }\n\n protected handleRegisterOnClick() {\n this.router.navigate([this.configs.signup?.url || '/auth/register']);\n }\n\n protected handleLoginClick() {\n this.form.validate().then(async (form) => {\n if (form.result) {\n this.isLoading$.next(true);\n this.submitText = 'processing';\n this.submitText = 'redirecting';\n try {\n await this.sessionService.signin({ strategy: 'user-pass', username: this.v1, password: this.v2! });\n await this.sessionService.signInComplete();\n if (this.sessionService.tenant?.id == null) {\n this.router.navigate(['/auth/account/tenant-chooser']);\n } else if (this.sessionService.application?.id == null) {\n this.router.navigate(['/auth/account/app-chooser']);\n } else {\n this.router.navigate([`/${this.sessionService.application.name}/home`]);\n }\n //\n } catch (error: any) {\n console.log({ error });\n // this.dialogService.alert('Something went wrong!', `${error.message} `, 'warning');\n this.submitText = 'signin.submit';\n this.v2 = null;\n this.isLoading$.next(false);\n }\n }\n });\n }\n}\n","<ng-container *translate=\"let t\">\n <div class=\"ax-text-center ax-mb-4\">\n <h1 class=\"ax-font-bold ax-text-xl ax-mb-2\">\n {{ t('signin.title', { scope: 'auth' }) | async }}\n </h1>\n <p class=\"ax-text-base ax-text-neutral-600\">\n {{ t('signin.hint', { scope: 'auth' }) | async }}\n </p>\n </div>\n <div class=\"ax-w-80 lg:ax-w-96\">\n <ax-form>\n <div class=\"ax-flex ax-flex-col ax-gap-6\">\n <ax-form-field>\n <ax-label>{{ t(l1, { scope: 'auth' }) | async }}</ax-label>\n <ax-text-box [(value)]=\"v1\">\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(l2, { scope: 'auth' }) | async }}</ax-label>\n <ax-password-box [(value)]=\"v2\">\n <ax-validation-rule rule=\"required\"></ax-validation-rule>\n </ax-password-box>\n </ax-form-field>\n <div class=\"ax-flex ax-justify-between ax-items-center\">\n <ax-check-box>\n <ax-label class=\"ax-mb-0\">{{ t('signin.remember', { scope: 'auth' }) | async }}</ax-label>\n </ax-check-box>\n <ax-button\n color=\"primary\"\n class=\"ax-sm\"\n [text]=\"t('forgot.password', { scope: 'auth' }) | async\"\n look=\"blank\"\n (onClick)=\"handleForgotOnClick()\"\n >\n </ax-button>\n </div>\n </div>\n <ax-button\n color=\"primary\"\n class=\"ax-mt-6 ax-w-full\"\n [text]=\"t(submitText, { scope: 'auth' }) | async\"\n (onClick)=\"handleLoginClick()\"\n [disabled]=\"isLoading$ | async\"\n [type]=\"'submit'\"\n >\n <ax-loading *ngIf=\"isLoading$ | async\"></ax-loading>\n </ax-button>\n @if(configs.signin_google ||configs.signin_apple ||configs.signup?.enable){\n <div class=\"ax-heading ax-heading-center !ax-my-8\">\n <span>{{ t('signin.or', { scope: 'auth' }) | async }}</span>\n </div>\n }\n <div class=\"ax-flex ax-flex-col ax-gap-2 lg:ax-flex-row ax-justify-between ax-mt-6\">\n @if(configs.signin_google){\n <ax-button text=\"{{ 'authentication.with-google' | translate | async }}\" color=\"ghost\">\n <ax-prefix>\n <ax-icon>\n <i class=\"fa-brands fa-google fa-lg ax-text-danger-500\"></i>\n </ax-icon>\n </ax-prefix> </ax-button\n >} @if(configs.signin_apple){\n\n <ax-button text=\"{{ 'authentication.with-apple' | translate | async }}\" color=\"ghost\">\n <ax-prefix>\n <ax-icon>\n <i class=\"fa-brands fa-apple fa-xl\"></i>\n </ax-icon>\n </ax-prefix>\n </ax-button>\n }\n </div>\n </ax-form>\n @if(configs.signup?.enable){\n <ax-button\n class=\"ax-w-full ax-mt-2\"\n (onClick)=\"handleRegisterOnClick()\"\n text=\"{{ t('register', { scope: 'auth' }) | async }}\"\n color=\"ghost\"\n >\n </ax-button>\n }\n </div>\n</ng-container>\n"],"names":["i5","i7","i9","i10"],"mappings":"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"}
|
@@ -1,83 +0,0 @@
|
|
1
|
-
import * as i0 from '@angular/core';
|
2
|
-
import { inject, Component, ViewEncapsulation } from '@angular/core';
|
3
|
-
import * as i2$1 from '@acorex/components/avatar';
|
4
|
-
import { AXAvatarModule } from '@acorex/components/avatar';
|
5
|
-
import * as i2 from '@acorex/components/button';
|
6
|
-
import { AXButtonModule } from '@acorex/components/button';
|
7
|
-
import { AXCheckBoxModule } from '@acorex/components/check-box';
|
8
|
-
import * as i1$1 from '@acorex/components/decorators';
|
9
|
-
import { AXDecoratorModule } from '@acorex/components/decorators';
|
10
|
-
import { AXFormModule } from '@acorex/components/form';
|
11
|
-
import * as i3 from '@acorex/components/image';
|
12
|
-
import { AXImageModule } from '@acorex/components/image';
|
13
|
-
import { AXLabelModule } from '@acorex/components/label';
|
14
|
-
import * as i3$1 from '@acorex/components/loading';
|
15
|
-
import { AXLoadingModule } from '@acorex/components/loading';
|
16
|
-
import { AXTextBoxModule } from '@acorex/components/text-box';
|
17
|
-
import * as i6 from '@acorex/core/translation';
|
18
|
-
import { AXTranslationModule } from '@acorex/core/translation';
|
19
|
-
import { AXPSessionService } from '@acorex/platform/auth';
|
20
|
-
import { AXP_PLATFORM_CONFIG_TOKEN, AXPLogoComponent } from '@acorex/platform/common';
|
21
|
-
import * as i1 from '@angular/common';
|
22
|
-
import { CommonModule } from '@angular/common';
|
23
|
-
import { Router } from '@angular/router';
|
24
|
-
import { Subscription, first } from 'rxjs';
|
25
|
-
|
26
|
-
class AXPAuthTenantChooserComponent {
|
27
|
-
constructor() {
|
28
|
-
this.router = inject(Router);
|
29
|
-
this.platformConfig = inject(AXP_PLATFORM_CONFIG_TOKEN);
|
30
|
-
this.sessionService = inject(AXPSessionService);
|
31
|
-
this.subscription = new Subscription();
|
32
|
-
this.user = this.sessionService.user;
|
33
|
-
this.showAll = false;
|
34
|
-
this.selectedTenant = null;
|
35
|
-
this.displayedTenants = [];
|
36
|
-
}
|
37
|
-
async handleChooseTenant(item) {
|
38
|
-
this.selectedTenant = item;
|
39
|
-
await this.sessionService.setTenant(item);
|
40
|
-
this.router.navigate(['/auth/account/app-chooser']);
|
41
|
-
}
|
42
|
-
ngOnInit() {
|
43
|
-
this.sessionService.tenants$
|
44
|
-
.pipe(first())
|
45
|
-
.subscribe((tenants) => {
|
46
|
-
this.displayedTenants = tenants.slice(0, 4);
|
47
|
-
this.allTenants = tenants;
|
48
|
-
});
|
49
|
-
}
|
50
|
-
showAllTenants() {
|
51
|
-
this.showAll = !this.showAll;
|
52
|
-
this.displayedTenants = this.showAll ? this.allTenants : this.allTenants.slice(0, 4);
|
53
|
-
}
|
54
|
-
async handleSignout() {
|
55
|
-
await this.sessionService.signout();
|
56
|
-
this.router.navigate(['/auth/login']);
|
57
|
-
}
|
58
|
-
ngOnDestroy() {
|
59
|
-
this.subscription.unsubscribe();
|
60
|
-
}
|
61
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPAuthTenantChooserComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
62
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: AXPAuthTenantChooserComponent, isStandalone: true, selector: "axp-auth-tenant-chooser", ngImport: i0, template: "<main *translate=\"let t\"\n class=\"ax-w-full ax-space-y-10 ax-h-[100vh] ax-flex ax-flex-col ax-items-center ax-justify-center ax-bg-surface-lowest md:ax-bg-default\">\n <section>\n <axp-logo [source]=\"platformConfig.logo?.colored\" [attr.alt]=\"platformConfig.title\"\n class=\"ax-w-36 ax-mx-auto ax-text-2xl ax-font-bold\"></axp-logo>\n </section>\n <section class=\"ax-flex ax-justify-center\">\n <div\n class=\"ax-flex ax-gap-2 ax-justify-center ax-text-center ax-flex-col ax-items-center ax-border ax-rounded-lg ax-shadow-lg ax-p-6 md:ax-w-96 ax-w-80\">\n <ax-avatar class=\"ax-rounded-full\" [size]=\"72\">\n @if(user?.avatar){\n <ax-image [src]=\"user?.avatar\"></ax-image>\n }\n </ax-avatar>\n <h2 class=\"md:ax-text-lg ax-font-medium\">{{ t('welcome') | async }}, {{ user?.title }}</h2>\n <p class=\"ax-text-neutral-500 ax-text-sm md:ax-text-base ax-font-medium\">\n {{ t(\"tenant-chooser.description\", { scope: \"auth\" }) | async }}\n </p>\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\n 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)=\"handleChooseTenant(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 <ax-icon class=\"fa-solid fa-building ax-text-neutral-500 ax-text-lg\"> </ax-icon>\n </div>\n <span class=\"md:ax-text-base ax-text-sm\">{{ tenant.title }}</span>\n </div>\n @if(tenant.name===selectedTenant?.name){\n <ax-loading></ax-loading>\n }@else {\n <ax-icon class=\"fa-solid fa-chevron-right ax-text-neutral-400\"> </ax-icon>\n }\n </div>\n }\n </div>\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\"\n [text]=\"showAll ? (t('viewLess') | async) : (t('viewAll') | async)\"></ax-button>\n </div>\n }\n </div>\n </section>\n <section>\n <p class=\"ax-text-neutral-400 ax-text-sm\">\n {{ t(\"tenant-chooser.footer\", { scope: \"auth\" }) | async }}\n <a (click)=\"handleSignout()\" class=\"ax-text-primary ax-cursor-pointer hover:ax-underline ax-font-medium\">\n {{ t(\"backLogin\", { scope: \"auth\" }) | async }}\n </a>\n </p>\n </section>\n</main>", styles: [":host{display:contents}.gradient{background:-webkit-linear-gradient(var(--ax-current-v1),var(--ax-current-v2));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: AXFormModule }, { kind: "ngmodule", type: AXTextBoxModule }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i2.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: "ngmodule", type: AXCheckBoxModule }, { kind: "ngmodule", type: AXAvatarModule }, { kind: "component", type: i2$1.AXAvatarComponent, selector: "ax-avatar", inputs: ["color", "size", "shape", "look"], outputs: ["sizeChange"] }, { kind: "ngmodule", type: AXImageModule }, { kind: "component", type: i3.AXImageComponent, selector: "ax-image", inputs: ["overlayMode", "src", "alt", "priority", "lazy"], outputs: ["onLoad", "onError"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i1$1.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: AXPLogoComponent, selector: "axp-logo", inputs: ["source"] }, { kind: "ngmodule", type: AXLoadingModule }, { kind: "component", type: i3$1.AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "context"], outputs: ["visibleChange"] }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "directive", type: i6.AXTranslatorDirective, selector: "[translate]" }], encapsulation: i0.ViewEncapsulation.None }); }
|
63
|
-
}
|
64
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPAuthTenantChooserComponent, decorators: [{
|
65
|
-
type: Component,
|
66
|
-
args: [{ selector: 'axp-auth-tenant-chooser', imports: [
|
67
|
-
CommonModule,
|
68
|
-
AXFormModule,
|
69
|
-
AXTextBoxModule,
|
70
|
-
AXButtonModule,
|
71
|
-
AXLabelModule,
|
72
|
-
AXCheckBoxModule,
|
73
|
-
AXAvatarModule,
|
74
|
-
AXImageModule,
|
75
|
-
AXDecoratorModule,
|
76
|
-
AXPLogoComponent,
|
77
|
-
AXLoadingModule,
|
78
|
-
AXTranslationModule,
|
79
|
-
], encapsulation: ViewEncapsulation.None, template: "<main *translate=\"let t\"\n class=\"ax-w-full ax-space-y-10 ax-h-[100vh] ax-flex ax-flex-col ax-items-center ax-justify-center ax-bg-surface-lowest md:ax-bg-default\">\n <section>\n <axp-logo [source]=\"platformConfig.logo?.colored\" [attr.alt]=\"platformConfig.title\"\n class=\"ax-w-36 ax-mx-auto ax-text-2xl ax-font-bold\"></axp-logo>\n </section>\n <section class=\"ax-flex ax-justify-center\">\n <div\n class=\"ax-flex ax-gap-2 ax-justify-center ax-text-center ax-flex-col ax-items-center ax-border ax-rounded-lg ax-shadow-lg ax-p-6 md:ax-w-96 ax-w-80\">\n <ax-avatar class=\"ax-rounded-full\" [size]=\"72\">\n @if(user?.avatar){\n <ax-image [src]=\"user?.avatar\"></ax-image>\n }\n </ax-avatar>\n <h2 class=\"md:ax-text-lg ax-font-medium\">{{ t('welcome') | async }}, {{ user?.title }}</h2>\n <p class=\"ax-text-neutral-500 ax-text-sm md:ax-text-base ax-font-medium\">\n {{ t(\"tenant-chooser.description\", { scope: \"auth\" }) | async }}\n </p>\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\n 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)=\"handleChooseTenant(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 <ax-icon class=\"fa-solid fa-building ax-text-neutral-500 ax-text-lg\"> </ax-icon>\n </div>\n <span class=\"md:ax-text-base ax-text-sm\">{{ tenant.title }}</span>\n </div>\n @if(tenant.name===selectedTenant?.name){\n <ax-loading></ax-loading>\n }@else {\n <ax-icon class=\"fa-solid fa-chevron-right ax-text-neutral-400\"> </ax-icon>\n }\n </div>\n }\n </div>\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\"\n [text]=\"showAll ? (t('viewLess') | async) : (t('viewAll') | async)\"></ax-button>\n </div>\n }\n </div>\n </section>\n <section>\n <p class=\"ax-text-neutral-400 ax-text-sm\">\n {{ t(\"tenant-chooser.footer\", { scope: \"auth\" }) | async }}\n <a (click)=\"handleSignout()\" class=\"ax-text-primary ax-cursor-pointer hover:ax-underline ax-font-medium\">\n {{ t(\"backLogin\", { scope: \"auth\" }) | async }}\n </a>\n </p>\n </section>\n</main>", styles: [":host{display:contents}.gradient{background:-webkit-linear-gradient(var(--ax-current-v1),var(--ax-current-v2));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}\n"] }]
|
80
|
-
}] });
|
81
|
-
|
82
|
-
export { AXPAuthTenantChooserComponent };
|
83
|
-
//# sourceMappingURL=acorex-modules-auth-tenant-chooser.component-Cx3fK__H.mjs.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"acorex-modules-auth-tenant-chooser.component-Cx3fK__H.mjs","sources":["../../../../libs/modules/auth/src/lib/pages/account/tenant-chooser/tenant-chooser.component.ts","../../../../libs/modules/auth/src/lib/pages/account/tenant-chooser/tenant-chooser.component.html"],"sourcesContent":["import { Component, OnDestroy, OnInit, ViewEncapsulation, inject } from '@angular/core';\n\nimport { AXAvatarModule } from '@acorex/components/avatar';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXCheckBoxModule } from '@acorex/components/check-box';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXFormModule } from '@acorex/components/form';\nimport { AXImageModule } from '@acorex/components/image';\nimport { AXLabelModule } from '@acorex/components/label';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXTextBoxModule } from '@acorex/components/text-box';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPSessionService, AXPTenant } from '@acorex/platform/auth';\nimport { AXPLogoComponent, AXP_PLATFORM_CONFIG_TOKEN } from '@acorex/platform/common';\nimport { CommonModule } from '@angular/common';\nimport { Router } from '@angular/router';\nimport { Subscription, first } from 'rxjs';\n\n@Component({\n selector: 'axp-auth-tenant-chooser',\n templateUrl: './tenant-chooser.component.html',\n styleUrls: ['./tenant-chooser.component.scss'],\n imports: [\n CommonModule,\n AXFormModule,\n AXTextBoxModule,\n AXButtonModule,\n AXLabelModule,\n AXCheckBoxModule,\n AXAvatarModule,\n AXImageModule,\n AXDecoratorModule,\n AXPLogoComponent,\n AXLoadingModule,\n AXTranslationModule,\n ],\n encapsulation: ViewEncapsulation.None\n})\nexport class AXPAuthTenantChooserComponent implements OnInit, OnDestroy {\n private router = inject(Router);\n protected platformConfig = inject(AXP_PLATFORM_CONFIG_TOKEN);\n private sessionService = inject(AXPSessionService);\n\n private subscription = new Subscription();\n\n protected user = this.sessionService.user;\n\n protected showAll = false;\n protected selectedTenant: AXPTenant | null = null;\n protected displayedTenants: AXPTenant[] = [];\n protected allTenants!: AXPTenant[];\n\n protected async handleChooseTenant(item: AXPTenant) {\n this.selectedTenant = item;\n await this.sessionService.setTenant(item);\n this.router.navigate(['/auth/account/app-chooser']);\n }\n\n ngOnInit(): void {\n this.sessionService.tenants$\n .pipe(first())\n .subscribe((tenants) => {\n this.displayedTenants = tenants.slice(0, 4);\n this.allTenants = tenants;\n });\n }\n\n showAllTenants() {\n this.showAll = !this.showAll;\n this.displayedTenants = this.showAll ? this.allTenants : this.allTenants.slice(0, 4);\n }\n\n async handleSignout() {\n await this.sessionService.signout();\n this.router.navigate(['/auth/login']);\n }\n\n ngOnDestroy(): void {\n this.subscription.unsubscribe();\n }\n}\n","<main *translate=\"let t\"\n class=\"ax-w-full ax-space-y-10 ax-h-[100vh] ax-flex ax-flex-col ax-items-center ax-justify-center ax-bg-surface-lowest md:ax-bg-default\">\n <section>\n <axp-logo [source]=\"platformConfig.logo?.colored\" [attr.alt]=\"platformConfig.title\"\n class=\"ax-w-36 ax-mx-auto ax-text-2xl ax-font-bold\"></axp-logo>\n </section>\n <section class=\"ax-flex ax-justify-center\">\n <div\n class=\"ax-flex ax-gap-2 ax-justify-center ax-text-center ax-flex-col ax-items-center ax-border ax-rounded-lg ax-shadow-lg ax-p-6 md:ax-w-96 ax-w-80\">\n <ax-avatar class=\"ax-rounded-full\" [size]=\"72\">\n @if(user?.avatar){\n <ax-image [src]=\"user?.avatar\"></ax-image>\n }\n </ax-avatar>\n <h2 class=\"md:ax-text-lg ax-font-medium\">{{ t('welcome') | async }}, {{ user?.title }}</h2>\n <p class=\"ax-text-neutral-500 ax-text-sm md:ax-text-base ax-font-medium\">\n {{ t(\"tenant-chooser.description\", { scope: \"auth\" }) | async }}\n </p>\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\n 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)=\"handleChooseTenant(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 <ax-icon class=\"fa-solid fa-building ax-text-neutral-500 ax-text-lg\"> </ax-icon>\n </div>\n <span class=\"md:ax-text-base ax-text-sm\">{{ tenant.title }}</span>\n </div>\n @if(tenant.name===selectedTenant?.name){\n <ax-loading></ax-loading>\n }@else {\n <ax-icon class=\"fa-solid fa-chevron-right ax-text-neutral-400\"> </ax-icon>\n }\n </div>\n }\n </div>\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\"\n [text]=\"showAll ? (t('viewLess') | async) : (t('viewAll') | async)\"></ax-button>\n </div>\n }\n </div>\n </section>\n <section>\n <p class=\"ax-text-neutral-400 ax-text-sm\">\n {{ t(\"tenant-chooser.footer\", { scope: \"auth\" }) | async }}\n <a (click)=\"handleSignout()\" class=\"ax-text-primary ax-cursor-pointer hover:ax-underline ax-font-medium\">\n {{ t(\"backLogin\", { scope: \"auth\" }) | async }}\n </a>\n </p>\n </section>\n</main>"],"names":["i3","i4","i5","i6","i7"],"mappings":"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"}
|