@acorex/modules 20.6.0-next.19 → 20.6.0-next.20
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/fesm2022/{acorex-modules-assessment-management-collaborator.entity-DpV98osl.mjs → acorex-modules-assessment-management-collaborator.entity-DtEzEgEB.mjs} +23 -8
- package/fesm2022/acorex-modules-assessment-management-collaborator.entity-DtEzEgEB.mjs.map +1 -0
- package/fesm2022/{acorex-modules-assessment-management-publication.entity-DnLUKNiz.mjs → acorex-modules-assessment-management-publication.entity-DDN_bzx9.mjs} +51 -15
- package/fesm2022/acorex-modules-assessment-management-publication.entity-DDN_bzx9.mjs.map +1 -0
- package/fesm2022/{acorex-modules-assessment-management-question-bank-item.entity-BPwy0fsh.mjs → acorex-modules-assessment-management-question-bank-item.entity-QgddRN3o.mjs} +35 -11
- package/fesm2022/acorex-modules-assessment-management-question-bank-item.entity-QgddRN3o.mjs.map +1 -0
- package/fesm2022/{acorex-modules-assessment-management-questionnaire.entity-JRC8y5A-.mjs → acorex-modules-assessment-management-questionnaire.entity-Wvnejt9E.mjs} +40 -18
- package/fesm2022/acorex-modules-assessment-management-questionnaire.entity-Wvnejt9E.mjs.map +1 -0
- package/fesm2022/{acorex-modules-assessment-management-response-entry.entity-PjiBql_T.mjs → acorex-modules-assessment-management-response-entry.entity-BYdInV5t.mjs} +15 -6
- package/fesm2022/acorex-modules-assessment-management-response-entry.entity-BYdInV5t.mjs.map +1 -0
- package/fesm2022/{acorex-modules-assessment-management-response-session.entity-CsAtlsZE.mjs → acorex-modules-assessment-management-response-session.entity-Bms5-ik8.mjs} +27 -9
- package/fesm2022/acorex-modules-assessment-management-response-session.entity-Bms5-ik8.mjs.map +1 -0
- package/fesm2022/acorex-modules-assessment-management.mjs +6 -6
- package/fesm2022/{acorex-modules-asset-management-asset-status.entity-7IQGhMLK.mjs → acorex-modules-asset-management-asset-status.entity-CD8VnnHG.mjs} +5 -12
- package/fesm2022/acorex-modules-asset-management-asset-status.entity-CD8VnnHG.mjs.map +1 -0
- package/fesm2022/{acorex-modules-asset-management-asset.entity-BQgzan6X.mjs → acorex-modules-asset-management-asset.entity-CsnpQE4P.mjs} +3 -3
- package/fesm2022/acorex-modules-asset-management-asset.entity-CsnpQE4P.mjs.map +1 -0
- package/fesm2022/acorex-modules-asset-management.mjs +2 -2
- package/fesm2022/{acorex-modules-auth-acorex-modules-auth-CRmoDyqg.mjs → acorex-modules-auth-acorex-modules-auth-BDgtGHcw.mjs} +12 -12
- package/fesm2022/{acorex-modules-auth-acorex-modules-auth-CRmoDyqg.mjs.map → acorex-modules-auth-acorex-modules-auth-BDgtGHcw.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-app-chooser.component-BeLfKO6l.mjs → acorex-modules-auth-app-chooser.component-D43Ysfx3.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-app-chooser.component-BeLfKO6l.mjs.map → acorex-modules-auth-app-chooser.component-D43Ysfx3.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-login.module-Cr_IXE0z.mjs → acorex-modules-auth-login.module-C1AE4unG.mjs} +4 -4
- package/fesm2022/{acorex-modules-auth-login.module-Cr_IXE0z.mjs.map → acorex-modules-auth-login.module-C1AE4unG.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-master.layout-CL3rgDKC.mjs → acorex-modules-auth-master.layout-h-RCEiJz.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-master.layout-CL3rgDKC.mjs.map → acorex-modules-auth-master.layout-h-RCEiJz.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-oauth-callback.component-Da_a3-4p.mjs → acorex-modules-auth-oauth-callback.component-DaKIbZ1p.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-oauth-callback.component-Da_a3-4p.mjs.map → acorex-modules-auth-oauth-callback.component-DaKIbZ1p.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-password.component-BSk8-gd3.mjs → acorex-modules-auth-password.component-DkqB8Q6b.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-password.component-BSk8-gd3.mjs.map → acorex-modules-auth-password.component-DkqB8Q6b.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-password.component-zSSGhx3N.mjs → acorex-modules-auth-password.component-hNmn0U4C.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-password.component-zSSGhx3N.mjs.map → acorex-modules-auth-password.component-hNmn0U4C.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-routes-SbNyF-bU.mjs → acorex-modules-auth-routes-D2aKrFgC.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-routes-SbNyF-bU.mjs.map → acorex-modules-auth-routes-D2aKrFgC.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-show-profile-command-F3qc26vh.mjs → acorex-modules-auth-show-profile-command-D1q8CYD3.mjs} +2 -2
- package/fesm2022/acorex-modules-auth-show-profile-command-D1q8CYD3.mjs.map +1 -0
- package/fesm2022/{acorex-modules-auth-two-factor.module-D_a0ZLfP.mjs → acorex-modules-auth-two-factor.module-D5wIFLzk.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-two-factor.module-D_a0ZLfP.mjs.map → acorex-modules-auth-two-factor.module-D5wIFLzk.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-user-sessions.component-1n_j84JE.mjs → acorex-modules-auth-user-sessions.component-DPVcLAUS.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-user-sessions.component-1n_j84JE.mjs.map → acorex-modules-auth-user-sessions.component-DPVcLAUS.mjs.map} +1 -1
- package/fesm2022/acorex-modules-auth.mjs +1 -1
- package/fesm2022/{acorex-modules-common-manage-extra-properties.command-Cl7ANDKN.mjs → acorex-modules-common-manage-extra-properties.command-C4jE3MPJ.mjs} +3 -3
- package/fesm2022/acorex-modules-common-manage-extra-properties.command-C4jE3MPJ.mjs.map +1 -0
- package/fesm2022/acorex-modules-common.mjs +139 -265
- package/fesm2022/acorex-modules-common.mjs.map +1 -1
- package/fesm2022/{acorex-modules-content-management-acorex-modules-content-management--Pn1KLlN.mjs → acorex-modules-content-management-acorex-modules-content-management-BvpwgY8-.mjs} +14 -9
- package/fesm2022/acorex-modules-content-management-acorex-modules-content-management-BvpwgY8-.mjs.map +1 -0
- package/fesm2022/{acorex-modules-content-management-permission-definition.provider-yUaeVc5p.mjs → acorex-modules-content-management-permission-definition.provider-BpBMhZVd.mjs} +2 -2
- package/fesm2022/{acorex-modules-content-management-permission-definition.provider-yUaeVc5p.mjs.map → acorex-modules-content-management-permission-definition.provider-BpBMhZVd.mjs.map} +1 -1
- package/fesm2022/acorex-modules-content-management.mjs +1 -1
- package/fesm2022/{acorex-modules-customer-management-acorex-modules-customer-management-CHdUUJz3.mjs → acorex-modules-customer-management-acorex-modules-customer-management-CXWyTfm_.mjs} +12 -12
- package/fesm2022/{acorex-modules-customer-management-acorex-modules-customer-management-CHdUUJz3.mjs.map → acorex-modules-customer-management-acorex-modules-customer-management-CXWyTfm_.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-customer-management-activity.entity-CLEBK5_A.mjs → acorex-modules-customer-management-activity.entity-B37EX1zO.mjs} +83 -18
- package/fesm2022/acorex-modules-customer-management-activity.entity-B37EX1zO.mjs.map +1 -0
- package/fesm2022/{acorex-modules-customer-management-customer-segment.entity-CLpbTU_U.mjs → acorex-modules-customer-management-customer-segment.entity-D57uzi2s.mjs} +2 -2
- package/fesm2022/{acorex-modules-customer-management-customer-segment.entity-CLpbTU_U.mjs.map → acorex-modules-customer-management-customer-segment.entity-D57uzi2s.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-customer-management-customer-type.entity-DovxS4XY.mjs → acorex-modules-customer-management-customer-type.entity-DILWYgc1.mjs} +2 -2
- package/fesm2022/{acorex-modules-customer-management-customer-type.entity-DovxS4XY.mjs.map → acorex-modules-customer-management-customer-type.entity-DILWYgc1.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-customer-management-customer.entity-CZDCpwiX.mjs → acorex-modules-customer-management-customer.entity-pLpwk-8-.mjs} +4 -4
- package/fesm2022/acorex-modules-customer-management-customer.entity-pLpwk-8-.mjs.map +1 -0
- package/fesm2022/{acorex-modules-customer-management-deal-contact-role.entity-DehxqNb6.mjs → acorex-modules-customer-management-deal-contact-role.entity-D9EIQCBf.mjs} +2 -2
- package/fesm2022/{acorex-modules-customer-management-deal-contact-role.entity-DehxqNb6.mjs.map → acorex-modules-customer-management-deal-contact-role.entity-D9EIQCBf.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-customer-management-lead.entity-jD60WE5x.mjs → acorex-modules-customer-management-lead.entity-CFBLN84R.mjs} +2 -2
- package/fesm2022/{acorex-modules-customer-management-lead.entity-jD60WE5x.mjs.map → acorex-modules-customer-management-lead.entity-CFBLN84R.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-customer-management-lifecycle-stage.entity-eXaKF1wF.mjs → acorex-modules-customer-management-lifecycle-stage.entity-CVlaNJnV.mjs} +2 -2
- package/fesm2022/{acorex-modules-customer-management-lifecycle-stage.entity-eXaKF1wF.mjs.map → acorex-modules-customer-management-lifecycle-stage.entity-CVlaNJnV.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-customer-management-opportunity-stage.entity-D2AWoXkh.mjs → acorex-modules-customer-management-opportunity-stage.entity--G53TNA9.mjs} +2 -2
- package/fesm2022/{acorex-modules-customer-management-opportunity-stage.entity-D2AWoXkh.mjs.map → acorex-modules-customer-management-opportunity-stage.entity--G53TNA9.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-customer-management-opportunity.entity-D0sLFYoF.mjs → acorex-modules-customer-management-opportunity.entity-slARn9VJ.mjs} +2 -2
- package/fesm2022/{acorex-modules-customer-management-opportunity.entity-D0sLFYoF.mjs.map → acorex-modules-customer-management-opportunity.entity-slARn9VJ.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-customer-management-sales-pipeline.entity-BooPlprb.mjs → acorex-modules-customer-management-sales-pipeline.entity-7jyj1scm.mjs} +2 -2
- package/fesm2022/{acorex-modules-customer-management-sales-pipeline.entity-BooPlprb.mjs.map → acorex-modules-customer-management-sales-pipeline.entity-7jyj1scm.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-customer-management-sales-territory.entity-DclL_tgK.mjs → acorex-modules-customer-management-sales-territory.entity-bsjw5Gp8.mjs} +2 -2
- package/fesm2022/{acorex-modules-customer-management-sales-territory.entity-DclL_tgK.mjs.map → acorex-modules-customer-management-sales-territory.entity-bsjw5Gp8.mjs.map} +1 -1
- package/fesm2022/acorex-modules-customer-management.mjs +1 -1
- package/fesm2022/{acorex-modules-dashboard-management-acorex-modules-dashboard-management-DxvJ5FUP.mjs → acorex-modules-dashboard-management-acorex-modules-dashboard-management-Dyt_5pDQ.mjs} +11 -11
- package/fesm2022/{acorex-modules-dashboard-management-acorex-modules-dashboard-management-DxvJ5FUP.mjs.map → acorex-modules-dashboard-management-acorex-modules-dashboard-management-Dyt_5pDQ.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-dashboard-management-permission-definition.provider-tvIEsms4.mjs → acorex-modules-dashboard-management-permission-definition.provider-D4uIodsb.mjs} +2 -2
- package/fesm2022/{acorex-modules-dashboard-management-permission-definition.provider-tvIEsms4.mjs.map → acorex-modules-dashboard-management-permission-definition.provider-D4uIodsb.mjs.map} +1 -1
- package/fesm2022/acorex-modules-dashboard-management.mjs +1 -1
- package/fesm2022/{acorex-modules-data-management-acorex-modules-data-management-DjySg-9e.mjs → acorex-modules-data-management-acorex-modules-data-management-CRtYFDPP.mjs} +15 -22
- package/fesm2022/{acorex-modules-data-management-acorex-modules-data-management-DjySg-9e.mjs.map → acorex-modules-data-management-acorex-modules-data-management-CRtYFDPP.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-data-management-permission-definition.provider-D6tcKzyf.mjs → acorex-modules-data-management-permission-definition.provider-Cz9tC2gl.mjs} +2 -2
- package/fesm2022/{acorex-modules-data-management-permission-definition.provider-D6tcKzyf.mjs.map → acorex-modules-data-management-permission-definition.provider-Cz9tC2gl.mjs.map} +1 -1
- package/fesm2022/acorex-modules-data-management.mjs +1 -1
- package/fesm2022/{acorex-modules-document-management-acorex-modules-document-management-rrUIN74I.mjs → acorex-modules-document-management-acorex-modules-document-management-Dg8SVY4R.mjs} +39 -65
- package/fesm2022/{acorex-modules-document-management-acorex-modules-document-management-rrUIN74I.mjs.map → acorex-modules-document-management-acorex-modules-document-management-Dg8SVY4R.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-attachment-widget.component-2Y5zJBJh.mjs → acorex-modules-document-management-attachment-widget.component-zFZApYr5.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-attachment-widget.component-2Y5zJBJh.mjs.map → acorex-modules-document-management-attachment-widget.component-zFZApYr5.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-details-view.component-C7zknKa3.mjs → acorex-modules-document-management-details-view.component-CBmWHsVg.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-details-view.component-C7zknKa3.mjs.map → acorex-modules-document-management-details-view.component-CBmWHsVg.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-document-signature-popup.component-b5DKAAec.mjs → acorex-modules-document-management-document-signature-popup.component-0C1OmnNz.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-document-signature-popup.component-b5DKAAec.mjs.map → acorex-modules-document-management-document-signature-popup.component-0C1OmnNz.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-drive-choose.component-Czct3RIU.mjs → acorex-modules-document-management-drive-choose.component-Cgi4gVUo.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-drive-choose.component-Czct3RIU.mjs.map → acorex-modules-document-management-drive-choose.component-Cgi4gVUo.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-drive.component-ixWQTGk_.mjs → acorex-modules-document-management-drive.component-qqJtfLVN.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-drive.component-ixWQTGk_.mjs.map → acorex-modules-document-management-drive.component-qqJtfLVN.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-large-icons-view.component-urlBOoAQ.mjs → acorex-modules-document-management-large-icons-view.component-CiTXhe9q.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-large-icons-view.component-urlBOoAQ.mjs.map → acorex-modules-document-management-large-icons-view.component-CiTXhe9q.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-large-tiles-view.component-7z2Y_FrQ.mjs → acorex-modules-document-management-large-tiles-view.component-C-xJAD2U.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-large-tiles-view.component-7z2Y_FrQ.mjs.map → acorex-modules-document-management-large-tiles-view.component-C-xJAD2U.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-list-view.component-DElB-v57.mjs → acorex-modules-document-management-list-view.component-CALsnuCI.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-list-view.component-DElB-v57.mjs.map → acorex-modules-document-management-list-view.component-CALsnuCI.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-permission-definition.provider-Beu0lmdq.mjs → acorex-modules-document-management-permission-definition.provider-7NpKb9FT.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-permission-definition.provider-Beu0lmdq.mjs.map → acorex-modules-document-management-permission-definition.provider-7NpKb9FT.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-small-icons-view.component-DiH7q3-O.mjs → acorex-modules-document-management-small-icons-view.component-Cx7ON87O.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-small-icons-view.component-DiH7q3-O.mjs.map → acorex-modules-document-management-small-icons-view.component-Cx7ON87O.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-small-tiles-view.component-BJRR3JpH.mjs → acorex-modules-document-management-small-tiles-view.component-DXLfLnZh.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-small-tiles-view.component-BJRR3JpH.mjs.map → acorex-modules-document-management-small-tiles-view.component-DXLfLnZh.mjs.map} +1 -1
- package/fesm2022/acorex-modules-document-management.mjs +1 -1
- package/fesm2022/acorex-modules-financial-core.mjs +108 -67
- package/fesm2022/acorex-modules-financial-core.mjs.map +1 -1
- package/fesm2022/{acorex-modules-help-desk-acorex-modules-help-desk-CxFD0OVD.mjs → acorex-modules-help-desk-acorex-modules-help-desk-2KBoCpT3.mjs} +6 -6
- package/fesm2022/acorex-modules-help-desk-acorex-modules-help-desk-2KBoCpT3.mjs.map +1 -0
- package/fesm2022/{acorex-modules-help-desk-capture-screen.component-CCAHpgIx.mjs → acorex-modules-help-desk-capture-screen.component-D-reMqrQ.mjs} +2 -2
- package/fesm2022/{acorex-modules-help-desk-capture-screen.component-CCAHpgIx.mjs.map → acorex-modules-help-desk-capture-screen.component-D-reMqrQ.mjs.map} +1 -1
- package/fesm2022/acorex-modules-help-desk.mjs +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-acorex-modules-human-capital-management-CHcGjia2.mjs → acorex-modules-human-capital-management-acorex-modules-human-capital-management-crtjPRx2.mjs} +11 -11
- package/fesm2022/{acorex-modules-human-capital-management-acorex-modules-human-capital-management-CHcGjia2.mjs.map → acorex-modules-human-capital-management-acorex-modules-human-capital-management-crtjPRx2.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-employee-skill.entity-DKvFxffl.mjs → acorex-modules-human-capital-management-employee-skill.entity-B_gM9TMj.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-employee-skill.entity-DKvFxffl.mjs.map → acorex-modules-human-capital-management-employee-skill.entity-B_gM9TMj.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-employee.entity-BGMXoqyv.mjs → acorex-modules-human-capital-management-employee.entity-B6ndmf52.mjs} +3 -24
- package/fesm2022/acorex-modules-human-capital-management-employee.entity-B6ndmf52.mjs.map +1 -0
- package/fesm2022/{acorex-modules-human-capital-management-employment-type.entity-CMEY-M1P.mjs → acorex-modules-human-capital-management-employment-type.entity-BJVwmQEY.mjs} +14 -6
- package/fesm2022/acorex-modules-human-capital-management-employment-type.entity-BJVwmQEY.mjs.map +1 -0
- package/fesm2022/{acorex-modules-human-capital-management-leave-request.entity-ItVzChs-.mjs → acorex-modules-human-capital-management-leave-request.entity-BA95ET48.mjs} +22 -15
- package/fesm2022/acorex-modules-human-capital-management-leave-request.entity-BA95ET48.mjs.map +1 -0
- package/fesm2022/{acorex-modules-human-capital-management-leave-type.entity-BqmzR9Zs.mjs → acorex-modules-human-capital-management-leave-type.entity-CJOejYZs.mjs} +5 -7
- package/fesm2022/acorex-modules-human-capital-management-leave-type.entity-CJOejYZs.mjs.map +1 -0
- package/fesm2022/{acorex-modules-human-capital-management-permission-definition.provider-mMq-vrLs.mjs → acorex-modules-human-capital-management-permission-definition.provider-CwVtMZMg.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-permission-definition.provider-mMq-vrLs.mjs.map → acorex-modules-human-capital-management-permission-definition.provider-CwVtMZMg.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-position-assignment.entity-oW70mkOZ.mjs → acorex-modules-human-capital-management-position-assignment.entity-Yk21sgeU.mjs} +50 -19
- package/fesm2022/acorex-modules-human-capital-management-position-assignment.entity-Yk21sgeU.mjs.map +1 -0
- package/fesm2022/{acorex-modules-human-capital-management-skill-level.entity-B-5M3oRa.mjs → acorex-modules-human-capital-management-skill-level.entity-BX_Vc6L1.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-skill-level.entity-B-5M3oRa.mjs.map → acorex-modules-human-capital-management-skill-level.entity-BX_Vc6L1.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-skill.entity-DRqAWnO-.mjs → acorex-modules-human-capital-management-skill.entity-BIo0x54G.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-skill.entity-DRqAWnO-.mjs.map → acorex-modules-human-capital-management-skill.entity-BIo0x54G.mjs.map} +1 -1
- package/fesm2022/acorex-modules-human-capital-management.mjs +1 -1
- package/fesm2022/{acorex-modules-learning-management-attendance.entity-DL79CMSt.mjs → acorex-modules-learning-management-attendance.entity-B2yFTuvc.mjs} +21 -26
- package/fesm2022/acorex-modules-learning-management-attendance.entity-B2yFTuvc.mjs.map +1 -0
- package/fesm2022/{acorex-modules-learning-management-certificate-definition.entity-DKbzA7Hj.mjs → acorex-modules-learning-management-certificate-definition.entity-CuldbLYd.mjs} +9 -14
- package/fesm2022/acorex-modules-learning-management-certificate-definition.entity-CuldbLYd.mjs.map +1 -0
- package/fesm2022/{acorex-modules-learning-management-certificate-type.entity-B0qXC4g5.mjs → acorex-modules-learning-management-certificate-type.entity-C-IWRNcp.mjs} +6 -16
- package/fesm2022/acorex-modules-learning-management-certificate-type.entity-C-IWRNcp.mjs.map +1 -0
- package/fesm2022/{acorex-modules-learning-management-certificate.entity-COjlnLIm.mjs → acorex-modules-learning-management-certificate.entity-8p9CZXL4.mjs} +5 -13
- package/fesm2022/acorex-modules-learning-management-certificate.entity-8p9CZXL4.mjs.map +1 -0
- package/fesm2022/{acorex-modules-learning-management-course-type.entity-B_JTtF_9.mjs → acorex-modules-learning-management-course-type.entity-Hpt_3UTG.mjs} +22 -31
- package/fesm2022/acorex-modules-learning-management-course-type.entity-Hpt_3UTG.mjs.map +1 -0
- package/fesm2022/{acorex-modules-learning-management-course.entity-CT75daKU.mjs → acorex-modules-learning-management-course.entity-CtdD7L8S.mjs} +4 -6
- package/fesm2022/acorex-modules-learning-management-course.entity-CtdD7L8S.mjs.map +1 -0
- package/fesm2022/{acorex-modules-learning-management-employee-skill.entity-D1C-C3Kq.mjs → acorex-modules-learning-management-employee-skill.entity-DsLOnCQw.mjs} +17 -15
- package/fesm2022/acorex-modules-learning-management-employee-skill.entity-DsLOnCQw.mjs.map +1 -0
- package/fesm2022/{acorex-modules-learning-management-enrollment.entity-omA4kcHi.mjs → acorex-modules-learning-management-enrollment.entity-Dly0ECHB.mjs} +29 -18
- package/fesm2022/acorex-modules-learning-management-enrollment.entity-Dly0ECHB.mjs.map +1 -0
- package/fesm2022/{acorex-modules-learning-management-learning-path-course.entity-BBqk5EtV.mjs → acorex-modules-learning-management-learning-path-course.entity-8fV8gRtX.mjs} +13 -25
- package/fesm2022/acorex-modules-learning-management-learning-path-course.entity-8fV8gRtX.mjs.map +1 -0
- package/fesm2022/{acorex-modules-learning-management-learning-path.entity-D1Y38NZ_.mjs → acorex-modules-learning-management-learning-path.entity-CyC0-o7k.mjs} +5 -11
- package/fesm2022/acorex-modules-learning-management-learning-path.entity-CyC0-o7k.mjs.map +1 -0
- package/fesm2022/{acorex-modules-learning-management-mandatory-training-rule.entity-0GglrBiH.mjs → acorex-modules-learning-management-mandatory-training-rule.entity-BArvgFlh.mjs} +5 -12
- package/fesm2022/acorex-modules-learning-management-mandatory-training-rule.entity-BArvgFlh.mjs.map +1 -0
- package/fesm2022/{acorex-modules-learning-management-skill-category.entity-92TfxM23.mjs → acorex-modules-learning-management-skill-category.entity-Bl99KTQK.mjs} +10 -29
- package/fesm2022/acorex-modules-learning-management-skill-category.entity-Bl99KTQK.mjs.map +1 -0
- package/fesm2022/{acorex-modules-learning-management-skill-level.entity-Cb6wMKZs.mjs → acorex-modules-learning-management-skill-level.entity-Dw3XFqs5.mjs} +10 -28
- package/fesm2022/acorex-modules-learning-management-skill-level.entity-Dw3XFqs5.mjs.map +1 -0
- package/fesm2022/{acorex-modules-learning-management-skill.entity-ScYBjXbd.mjs → acorex-modules-learning-management-skill.entity-S7dr4tKK.mjs} +4 -6
- package/fesm2022/acorex-modules-learning-management-skill.entity-S7dr4tKK.mjs.map +1 -0
- package/fesm2022/{acorex-modules-learning-management-training-definition.entity-Bghb3axm.mjs → acorex-modules-learning-management-training-definition.entity-CsQP1x1i.mjs} +5 -13
- package/fesm2022/acorex-modules-learning-management-training-definition.entity-CsQP1x1i.mjs.map +1 -0
- package/fesm2022/{acorex-modules-learning-management-training-type.entity-nbu0TG39.mjs → acorex-modules-learning-management-training-type.entity-DNIg2By9.mjs} +10 -27
- package/fesm2022/acorex-modules-learning-management-training-type.entity-DNIg2By9.mjs.map +1 -0
- package/fesm2022/{acorex-modules-learning-management-training.entity-COAMDASs.mjs → acorex-modules-learning-management-training.entity-hK9795ut.mjs} +17 -9
- package/fesm2022/acorex-modules-learning-management-training.entity-hK9795ut.mjs.map +1 -0
- package/fesm2022/acorex-modules-learning-management.mjs +17 -17
- package/fesm2022/acorex-modules-location-management.mjs +3 -5
- package/fesm2022/acorex-modules-location-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-measurement-core.mjs +54 -63
- package/fesm2022/acorex-modules-measurement-core.mjs.map +1 -1
- package/fesm2022/acorex-modules-meeting-management.mjs +3 -3
- package/fesm2022/acorex-modules-meeting-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-notification-management.mjs +1 -1
- package/fesm2022/acorex-modules-notification-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-organization-management-acorex-modules-organization-management-B9bK-Ioq.mjs → acorex-modules-organization-management-acorex-modules-organization-management-C_l-eSXZ.mjs} +219 -50
- package/fesm2022/acorex-modules-organization-management-acorex-modules-organization-management-C_l-eSXZ.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-chart.entity-BsgpFmy7.mjs → acorex-modules-organization-management-chart.entity-D1LjhXpO.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-chart.entity-BsgpFmy7.mjs.map → acorex-modules-organization-management-chart.entity-D1LjhXpO.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-company.entity-BVbZ2GQG.mjs → acorex-modules-organization-management-company.entity-Bh3VtHCa.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-company.entity-BVbZ2GQG.mjs.map → acorex-modules-organization-management-company.entity-Bh3VtHCa.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-org-chart.page-Bnv2h0FH.mjs → acorex-modules-organization-management-org-chart.page-iFH7kDtM.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-org-chart.page-Bnv2h0FH.mjs.map → acorex-modules-organization-management-org-chart.page-iFH7kDtM.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-permission-definition.provider-BtQRDXmY.mjs → acorex-modules-organization-management-permission-definition.provider-CuRjOjVT.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-permission-definition.provider-BtQRDXmY.mjs.map → acorex-modules-organization-management-permission-definition.provider-CuRjOjVT.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-position.entity-DnHKGwF0.mjs → acorex-modules-organization-management-position.entity-ClFvPjVV.mjs} +8 -21
- package/fesm2022/acorex-modules-organization-management-position.entity-ClFvPjVV.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-responsibility.entity-gcsjYnAb.mjs → acorex-modules-organization-management-responsibility.entity-BV6KD1yF.mjs} +7 -16
- package/fesm2022/acorex-modules-organization-management-responsibility.entity-BV6KD1yF.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-role.entity-cYqwqNQH.mjs → acorex-modules-organization-management-role.entity-CJEfiAlV.mjs} +7 -16
- package/fesm2022/acorex-modules-organization-management-role.entity-CJEfiAlV.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-team.entity-CBhPoYrF.mjs → acorex-modules-organization-management-team.entity-BhBRlXTD.mjs} +6 -15
- package/fesm2022/acorex-modules-organization-management-team.entity-BhBRlXTD.mjs.map +1 -0
- package/fesm2022/acorex-modules-organization-management.mjs +1 -1
- package/fesm2022/{acorex-modules-party-management-acorex-modules-party-management-DB3H-49E.mjs → acorex-modules-party-management-acorex-modules-party-management-C0LcUFf1.mjs} +7 -7
- package/fesm2022/{acorex-modules-party-management-acorex-modules-party-management-DB3H-49E.mjs.map → acorex-modules-party-management-acorex-modules-party-management-C0LcUFf1.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-party-management-industry.entity-E0RPqKYR.mjs → acorex-modules-party-management-industry.entity-DPXtRIyd.mjs} +2 -2
- package/fesm2022/{acorex-modules-party-management-industry.entity-E0RPqKYR.mjs.map → acorex-modules-party-management-industry.entity-DPXtRIyd.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-party-management-party-identifier-type.entity-COMURXUX.mjs → acorex-modules-party-management-party-identifier-type.entity-DLQRkdEw.mjs} +2 -2
- package/fesm2022/{acorex-modules-party-management-party-identifier-type.entity-COMURXUX.mjs.map → acorex-modules-party-management-party-identifier-type.entity-DLQRkdEw.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-party-management-party-identifier.entity-C6b-Vrgs.mjs → acorex-modules-party-management-party-identifier.entity-DA7S6hFJ.mjs} +2 -2
- package/fesm2022/{acorex-modules-party-management-party-identifier.entity-C6b-Vrgs.mjs.map → acorex-modules-party-management-party-identifier.entity-DA7S6hFJ.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-party-management-party-relationship.entity-rZHjByaY.mjs → acorex-modules-party-management-party-relationship.entity-5u6NElSk.mjs} +2 -2
- package/fesm2022/{acorex-modules-party-management-party-relationship.entity-rZHjByaY.mjs.map → acorex-modules-party-management-party-relationship.entity-5u6NElSk.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-party-management-party-role.entity-B_fesIiR.mjs → acorex-modules-party-management-party-role.entity-DRFwlDry.mjs} +2 -2
- package/fesm2022/{acorex-modules-party-management-party-role.entity-B_fesIiR.mjs.map → acorex-modules-party-management-party-role.entity-DRFwlDry.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-party-management-party.entity-Czvx5O4_.mjs → acorex-modules-party-management-party.entity-DGeVLzra.mjs} +5 -5
- package/fesm2022/acorex-modules-party-management-party.entity-DGeVLzra.mjs.map +1 -0
- package/fesm2022/acorex-modules-party-management.mjs +1 -1
- package/fesm2022/{acorex-modules-platform-management-acorex-modules-platform-management-D3eLYk5B.mjs → acorex-modules-platform-management-acorex-modules-platform-management-BBHPVHzg.mjs} +5 -5
- package/fesm2022/{acorex-modules-platform-management-acorex-modules-platform-management-D3eLYk5B.mjs.map → acorex-modules-platform-management-acorex-modules-platform-management-BBHPVHzg.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-platform-management-list-version.component-DR6JzLzV.mjs → acorex-modules-platform-management-list-version.component-n5JOzU2Y.mjs} +2 -2
- package/fesm2022/{acorex-modules-platform-management-list-version.component-DR6JzLzV.mjs.map → acorex-modules-platform-management-list-version.component-n5JOzU2Y.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-platform-management-menu-list.component-zjY38r5l.mjs → acorex-modules-platform-management-menu-list.component-CDLDkiW8.mjs} +3 -3
- package/fesm2022/acorex-modules-platform-management-menu-list.component-CDLDkiW8.mjs.map +1 -0
- package/fesm2022/{acorex-modules-platform-management-permission-definition.provider-BRZXzDNj.mjs → acorex-modules-platform-management-permission-definition.provider-Cc8ZV1K1.mjs} +2 -2
- package/fesm2022/{acorex-modules-platform-management-permission-definition.provider-BRZXzDNj.mjs.map → acorex-modules-platform-management-permission-definition.provider-Cc8ZV1K1.mjs.map} +1 -1
- package/fesm2022/acorex-modules-platform-management.mjs +1 -1
- package/fesm2022/acorex-modules-project-management.mjs +90 -49
- package/fesm2022/acorex-modules-project-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-report-management.mjs +1 -1
- package/fesm2022/acorex-modules-report-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-security-management-acorex-modules-security-management-e7BjwLZm.mjs → acorex-modules-security-management-acorex-modules-security-management-DiOEecno.mjs} +5 -11
- package/fesm2022/acorex-modules-security-management-acorex-modules-security-management-DiOEecno.mjs.map +1 -0
- package/fesm2022/{acorex-modules-security-management-permission-definition.provider-DWx476Wy.mjs → acorex-modules-security-management-permission-definition.provider-BiZVWF3y.mjs} +2 -2
- package/fesm2022/{acorex-modules-security-management-permission-definition.provider-DWx476Wy.mjs.map → acorex-modules-security-management-permission-definition.provider-BiZVWF3y.mjs.map} +1 -1
- package/fesm2022/acorex-modules-security-management.mjs +1 -1
- package/fesm2022/{acorex-modules-task-management-task-board.page-DdDfDHhk.mjs → acorex-modules-task-management-task-board.page-BVf2enGZ.mjs} +3 -3
- package/fesm2022/acorex-modules-task-management-task-board.page-BVf2enGZ.mjs.map +1 -0
- package/fesm2022/acorex-modules-task-management.mjs +1 -1
- package/fesm2022/{acorex-modules-workflow-management-overview.command-BTAESad0.mjs → acorex-modules-workflow-management-overview.command-Dl04E1qj.mjs} +3 -3
- package/fesm2022/acorex-modules-workflow-management-overview.command-Dl04E1qj.mjs.map +1 -0
- package/fesm2022/acorex-modules-workflow-management.mjs +4 -8
- package/fesm2022/acorex-modules-workflow-management.mjs.map +1 -1
- package/package.json +19 -19
- package/fesm2022/acorex-modules-assessment-management-collaborator.entity-DpV98osl.mjs.map +0 -1
- package/fesm2022/acorex-modules-assessment-management-publication.entity-DnLUKNiz.mjs.map +0 -1
- package/fesm2022/acorex-modules-assessment-management-question-bank-item.entity-BPwy0fsh.mjs.map +0 -1
- package/fesm2022/acorex-modules-assessment-management-questionnaire.entity-JRC8y5A-.mjs.map +0 -1
- package/fesm2022/acorex-modules-assessment-management-response-entry.entity-PjiBql_T.mjs.map +0 -1
- package/fesm2022/acorex-modules-assessment-management-response-session.entity-CsAtlsZE.mjs.map +0 -1
- package/fesm2022/acorex-modules-asset-management-asset-status.entity-7IQGhMLK.mjs.map +0 -1
- package/fesm2022/acorex-modules-asset-management-asset.entity-BQgzan6X.mjs.map +0 -1
- package/fesm2022/acorex-modules-auth-show-profile-command-F3qc26vh.mjs.map +0 -1
- package/fesm2022/acorex-modules-common-manage-extra-properties.command-Cl7ANDKN.mjs.map +0 -1
- package/fesm2022/acorex-modules-content-management-acorex-modules-content-management--Pn1KLlN.mjs.map +0 -1
- package/fesm2022/acorex-modules-customer-management-activity.entity-CLEBK5_A.mjs.map +0 -1
- package/fesm2022/acorex-modules-customer-management-customer.entity-CZDCpwiX.mjs.map +0 -1
- package/fesm2022/acorex-modules-help-desk-acorex-modules-help-desk-CxFD0OVD.mjs.map +0 -1
- package/fesm2022/acorex-modules-human-capital-management-employee.entity-BGMXoqyv.mjs.map +0 -1
- package/fesm2022/acorex-modules-human-capital-management-employment-type.entity-CMEY-M1P.mjs.map +0 -1
- package/fesm2022/acorex-modules-human-capital-management-leave-request.entity-ItVzChs-.mjs.map +0 -1
- package/fesm2022/acorex-modules-human-capital-management-leave-type.entity-BqmzR9Zs.mjs.map +0 -1
- package/fesm2022/acorex-modules-human-capital-management-position-assignment.entity-oW70mkOZ.mjs.map +0 -1
- package/fesm2022/acorex-modules-learning-management-attendance.entity-DL79CMSt.mjs.map +0 -1
- package/fesm2022/acorex-modules-learning-management-certificate-definition.entity-DKbzA7Hj.mjs.map +0 -1
- package/fesm2022/acorex-modules-learning-management-certificate-type.entity-B0qXC4g5.mjs.map +0 -1
- package/fesm2022/acorex-modules-learning-management-certificate.entity-COjlnLIm.mjs.map +0 -1
- package/fesm2022/acorex-modules-learning-management-course-type.entity-B_JTtF_9.mjs.map +0 -1
- package/fesm2022/acorex-modules-learning-management-course.entity-CT75daKU.mjs.map +0 -1
- package/fesm2022/acorex-modules-learning-management-employee-skill.entity-D1C-C3Kq.mjs.map +0 -1
- package/fesm2022/acorex-modules-learning-management-enrollment.entity-omA4kcHi.mjs.map +0 -1
- package/fesm2022/acorex-modules-learning-management-learning-path-course.entity-BBqk5EtV.mjs.map +0 -1
- package/fesm2022/acorex-modules-learning-management-learning-path.entity-D1Y38NZ_.mjs.map +0 -1
- package/fesm2022/acorex-modules-learning-management-mandatory-training-rule.entity-0GglrBiH.mjs.map +0 -1
- package/fesm2022/acorex-modules-learning-management-skill-category.entity-92TfxM23.mjs.map +0 -1
- package/fesm2022/acorex-modules-learning-management-skill-level.entity-Cb6wMKZs.mjs.map +0 -1
- package/fesm2022/acorex-modules-learning-management-skill.entity-ScYBjXbd.mjs.map +0 -1
- package/fesm2022/acorex-modules-learning-management-training-definition.entity-Bghb3axm.mjs.map +0 -1
- package/fesm2022/acorex-modules-learning-management-training-type.entity-nbu0TG39.mjs.map +0 -1
- package/fesm2022/acorex-modules-learning-management-training.entity-COAMDASs.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-acorex-modules-organization-management-B9bK-Ioq.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-position.entity-DnHKGwF0.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-responsibility.entity-gcsjYnAb.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-role.entity-cYqwqNQH.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-team.entity-CBhPoYrF.mjs.map +0 -1
- package/fesm2022/acorex-modules-party-management-party.entity-Czvx5O4_.mjs.map +0 -1
- package/fesm2022/acorex-modules-platform-management-menu-list.component-zjY38r5l.mjs.map +0 -1
- package/fesm2022/acorex-modules-security-management-acorex-modules-security-management-e7BjwLZm.mjs.map +0 -1
- package/fesm2022/acorex-modules-task-management-task-board.page-DdDfDHhk.mjs.map +0 -1
- package/fesm2022/acorex-modules-workflow-management-overview.command-BTAESad0.mjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-modules-auth-user-sessions.component-1n_j84JE.mjs","sources":["../tmp-esm2022/auth/lib/pages/account/user-sessions/user-sessions.component.js"],"sourcesContent":["import { AXButtonModule } from '@acorex/components/button';\nimport { AXDataSource } from '@acorex/cdk/common';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXDropdownModule } from '@acorex/components/dropdown';\nimport { AXPopoverModule } from '@acorex/components/popover';\nimport { AXPopupService } from '@acorex/components/popup';\nimport { AXSelectBoxModule } from '@acorex/components/select-box';\nimport { AXPlatform } from '@acorex/core/platform';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXPSessionService } from '@acorex/platform/auth';\nimport { AXPSettingService } from '@acorex/platform/common';\nimport { AXPPlatformScope } from '@acorex/platform/core';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, computed, inject, signal } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXMUserDeviceSessionsService } from './user-sessions.service';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@acorex/components/decorators\";\nimport * as i2 from \"@angular/forms\";\nimport * as i3 from \"@acorex/components/select-box\";\nimport * as i4 from \"@angular/common\";\nexport class AXMUserSessionsComponent {\n constructor() {\n this.AXPTokenExpirationDurations = {\n oneWeek: 'oneWeek',\n oneMonth: 'oneMonth',\n threeMonths: 'threeMonths',\n sixMonths: 'sixMonths',\n };\n this.items = signal([], ...(ngDevMode ? [{ debugName: \"items\" }] : []));\n this.activeSession = signal(undefined, ...(ngDevMode ? [{ debugName: \"activeSession\" }] : []));\n this.expireTime = signal(null, ...(ngDevMode ? [{ debugName: \"expireTime\" }] : []));\n this.expirationItems = [\n { name: 'Terminate in 1 week', id: this.AXPTokenExpirationDurations.oneWeek },\n { name: 'Terminate in 1 month', id: this.AXPTokenExpirationDurations.oneMonth },\n { name: 'Terminate in 3 month', id: this.AXPTokenExpirationDurations.threeMonths },\n { name: 'Terminate in 6 month', id: this.AXPTokenExpirationDurations.sixMonths },\n ];\n this.dataSource = new AXDataSource({\n pageSize: 10,\n key: 'id',\n load: async (e) => {\n let items = this.expirationItems;\n return {\n items,\n total: items.length,\n };\n },\n });\n this.userDeviceSessionsService = inject(AXMUserDeviceSessionsService);\n this.cdRef = inject(ChangeDetectorRef);\n this.popupService = inject(AXPopupService);\n this.platform = inject(AXPlatform);\n this.translateService = inject(AXTranslationService);\n this.sessionService = inject(AXPSessionService);\n this.settingService = inject(AXPSettingService);\n // ✅ Use a computed signal to update dynamically when items change\n this.itemsWithIcons = computed(() => this.items().map((item) => ({\n ...item,\n icon: this.getDeviceIcon(item.deviceName),\n })), ...(ngDevMode ? [{ debugName: \"itemsWithIcons\" }] : []));\n this.loadUserSessions();\n }\n async loadUserSessions() {\n try {\n let sessions = await this.userDeviceSessionsService.getSessions();\n this.items.set(sessions);\n try {\n const activeSession = await this.userDeviceSessionsService.getCurrentActiveSessions();\n this.activeSession.set(activeSession);\n }\n catch (error) {\n console.warn('No active session found:', error);\n this.activeSession.set(undefined);\n }\n const sessionTimeout = await this.settingService.scope(AXPPlatformScope.User).get('session-timeout');\n if (sessionTimeout && sessionTimeout.id in this.AXPTokenExpirationDurations) {\n let selectedItem = this.expirationItems.find((item) => item.id === sessionTimeout.id);\n if (selectedItem) {\n this.expireTime.set({ name: selectedItem.name, id: selectedItem.id });\n }\n }\n }\n catch (error) {\n console.error('Error loading user sessions', error);\n }\n }\n getDeviceIcon(deviceName) {\n if (!deviceName)\n return 'fa-solid fa-question'; // Default icon if no name is provided\n const lowerCaseName = deviceName.toLowerCase();\n if (lowerCaseName.includes('windows'))\n return 'fa-brands fa-windows';\n if (lowerCaseName.includes('macbook') || lowerCaseName.includes('mac'))\n return 'fa-brands fa-apple';\n if (lowerCaseName.includes('linux'))\n return 'fa-brands fa-linux';\n if (lowerCaseName.includes('android'))\n return 'fa-brands fa-android';\n if (lowerCaseName.includes('ios') || lowerCaseName.includes('iphone') || lowerCaseName.includes('ipad'))\n return 'fa-brands fa-apple';\n return 'fa-solid fa-desktop'; // Default icon for unknown devices\n }\n onChangeSessionExpireTime(e) {\n this.userDeviceSessionsService.setTokenLifetimeMinutes(e.component.selectedItems[0]);\n }\n async onTerminate(sessionId) {\n if (!sessionId) {\n console.error('No item to terminate');\n return;\n }\n await this.userDeviceSessionsService.terminateSession(sessionId);\n await this.loadUserSessions();\n }\n async onTerminateAll() {\n await this.userDeviceSessionsService.terminateAllSession();\n await this.loadUserSessions();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMUserSessionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.12\", type: AXMUserSessionsComponent, isStandalone: true, selector: \"ng-component\", ngImport: i0, template: \"<div class=\\\"ax-mx-auto ax-p-6 ax-w-full\\\">\\n <p class=\\\"ax-font-semibold ax-text-base ax-text-on-lightest ax-mb-4\\\">This Device</p>\\n <div\\n class=\\\"ax-flex ax-border ax-items-center ax-rounded-lg ax-border-lightest ax-bg-lightest ax-text-on-lightest ax-mb-3 ax-p-3\\\"\\n >\\n <div class=\\\"ax-border-primary-200 ax-border ax-bg-primary-50 ax-rounded-lg\\\">\\n <i class=\\\"{{ getDeviceIcon(activeSession()?.deviceName) }} ax-text-primary-500 ax-m-3\\\"></i>\\n </div>\\n @if (activeSession()) {\\n <div>\\n <div class=\\\"ax-flex ax-flex-col ax-ml-2\\\">\\n <div class=\\\"ax-font-medium ax-text-base ax-text-on-lightest\\\">{{ activeSession()?.deviceName }}</div>\\n <div class=\\\"ax-font-normal ax-text-sm ax-text-on-lightest\\\">{{ activeSession()?.operatingSystem }}</div>\\n <p class=\\\"ax-font-normal ax-text-xs ax-subtitle-on-lightest\\\">\\n {{ activeSession()?.location }} <span>\\n {{ activeSession()?.lastLoginDate ? (activeSession()?.lastLoginDate | date: 'yyyy/MM/dd HH:mm') : '' }}\\n </span>\\n </p>\\n </div>\\n </div>\\n }\\n </div>\\n\\n @if (itemsWithIcons() && itemsWithIcons().length > 0) {\\n <div\\n class=\\\"ax-flex ax-border ax-items-center ax-rounded-lg ax-border-lightest ax-bg-lightest ax-text-on-lightest ax-mb-3 ax-p-3\\\"\\n >\\n <div class=\\\"ax-border-danger-200 ax-border ax-bg-danger-50 ax-rounded-lg\\\">\\n <i class=\\\"ax-icon ax-icon-clear ax-text-danger-500 ax-m-3\\\"></i>\\n </div>\\n <div class=\\\"ax-flex ax-flex-col ax-ml-2 ax-cursor-pointer\\\" (click)=\\\"onTerminateAll()\\\">\\n <div class=\\\"ax-font-medium ax-text-base ax-text-on-lightest\\\">Terminate All Other Sessions</div>\\n <p class=\\\"ax-font-normal ax-text-sm ax-subtitle-on-lightest\\\">Log out all devices exept for this one.</p>\\n </div>\\n </div>\\n }\\n @if (itemsWithIcons() && itemsWithIcons().length > 0) {\\n <div>\\n <p class=\\\"ax-font-semibold ax-text-base ax-text-on-lightest ax-mt-4 ax-mb-4\\\">Active Devices</p>\\n @for (item of itemsWithIcons(); track item) {\\n <div>\\n <div\\n class=\\\"ax-flex ax-border ax-items-center ax-relative ax-rounded-lg ax-border-lightest ax-bg-lightest ax-text-on-lightest ax-mb-3 ax-p-3\\\"\\n >\\n <i\\n class=\\\"ax-icon ax-icon-close ax-absolute ax-end-2 ax-top-2 ax-cursor-pointer\\\"\\n (click)=\\\"onTerminate(item.id)\\\"\\n ></i>\\n <div class=\\\"ax-border ax-rounded-lg\\\">\\n <i class=\\\"{{ item.icon }} ax-m-3\\\"></i>\\n </div>\\n <div class=\\\"ax-flex ax-flex-col ax-ml-2\\\">\\n <div class=\\\"ax-font-medium ax-text-base ax-text-on-lightest\\\">{{ item.deviceName }}</div>\\n <div class=\\\"ax-font-normal ax-text-sm ax-text-on-lightest\\\">{{ item.operatingSystem }}</div>\\n <p class=\\\"ax-font-normal ax-text-xs ax-subtitle-on-lightest\\\">\\n {{ item.location }} <span>{{ item.lastLoginDate ? (item.lastLoginDate | date: 'yyyy/MM/dd HH:mm') : '' }}</span>\\n </p>\\n </div>\\n </div>\\n </div>\\n }\\n </div>\\n }\\n</div>\\n<ax-footer>\\n <div class=\\\"ax-flex-col ax-w-full\\\">\\n <div>\\n <p class=\\\"ax-text-danger-500 ax-font-medium ax-text-base\\\">Terminate Old Sessions</p>\\n </div>\\n <div>\\n <ax-suffix>\\n <div class=\\\"ax-flex ax-items-center ax-justify-between ax-mt-4\\\">\\n <div class=\\\"ax-font-normal ax-text-base ax-text-on-lightest\\\">If inactive for...</div>\\n <div class=\\\"ax-w-3/6\\\">\\n <ax-select-box\\n [ngModel]=\\\"expireTime()\\\"\\n (onValueChanged)=\\\"onChangeSessionExpireTime($event)\\\"\\n [dataSource]=\\\"dataSource\\\"\\n textField=\\\"name\\\"\\n valueField=\\\"id\\\"\\n placeholder=\\\"Choose...\\\"\\n >\\n </ax-select-box>\\n </div>\\n </div>\\n </ax-suffix>\\n </div>\\n </div>\\n</ax-footer>\\n\", dependencies: [{ kind: \"ngmodule\", type: AXButtonModule }, { kind: \"ngmodule\", type: AXDecoratorModule }, { kind: \"component\", type: i1.AXDecoratorGenericComponent, selector: \"ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay\" }, { kind: \"ngmodule\", type: CommonModule }, { kind: \"ngmodule\", type: FormsModule }, { kind: \"directive\", type: i2.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { kind: \"directive\", type: i2.NgModel, selector: \"[ngModel]:not([formControlName]):not([formControl])\", inputs: [\"name\", \"disabled\", \"ngModel\", \"ngModelOptions\"], outputs: [\"ngModelChange\"], exportAs: [\"ngModel\"] }, { kind: \"ngmodule\", type: AXSelectBoxModule }, { kind: \"component\", type: i3.AXSelectBoxComponent, selector: \"ax-select-box\", inputs: [\"disabled\", \"readonly\", \"tabIndex\", \"placeholder\", \"minValue\", \"maxValue\", \"value\", \"state\", \"name\", \"id\", \"type\", \"look\", \"multiple\", \"valueField\", \"textField\", \"disabledField\", \"textTemplate\", \"selectedItems\", \"isItemTruncated\", \"showItemTooltip\", \"itemHeight\", \"maxVisibleItems\", \"dataSource\", \"minRecordsForSearch\", \"caption\", \"itemTemplate\", \"selectedTemplate\", \"emptyTemplate\", \"loadingTemplate\", \"dropdownWidth\", \"searchBoxAutoFocus\"], outputs: [\"valueChange\", \"stateChange\", \"onValueChanged\", \"onBlur\", \"onFocus\", \"readonlyChange\", \"disabledChange\", \"onOpened\", \"onClosed\", \"onItemSelected\", \"onItemClick\"] }, { kind: \"ngmodule\", type: AXDropdownModule }, { kind: \"ngmodule\", type: AXPopoverModule }, { kind: \"pipe\", type: i4.DatePipe, name: \"date\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMUserSessionsComponent, decorators: [{\n type: Component,\n args: [{ changeDetection: ChangeDetectionStrategy.OnPush, imports: [\n AXButtonModule,\n AXDecoratorModule,\n CommonModule,\n FormsModule,\n AXSelectBoxModule,\n AXDropdownModule,\n AXPopoverModule,\n ], template: \"<div class=\\\"ax-mx-auto ax-p-6 ax-w-full\\\">\\n <p class=\\\"ax-font-semibold ax-text-base ax-text-on-lightest ax-mb-4\\\">This Device</p>\\n <div\\n class=\\\"ax-flex ax-border ax-items-center ax-rounded-lg ax-border-lightest ax-bg-lightest ax-text-on-lightest ax-mb-3 ax-p-3\\\"\\n >\\n <div class=\\\"ax-border-primary-200 ax-border ax-bg-primary-50 ax-rounded-lg\\\">\\n <i class=\\\"{{ getDeviceIcon(activeSession()?.deviceName) }} ax-text-primary-500 ax-m-3\\\"></i>\\n </div>\\n @if (activeSession()) {\\n <div>\\n <div class=\\\"ax-flex ax-flex-col ax-ml-2\\\">\\n <div class=\\\"ax-font-medium ax-text-base ax-text-on-lightest\\\">{{ activeSession()?.deviceName }}</div>\\n <div class=\\\"ax-font-normal ax-text-sm ax-text-on-lightest\\\">{{ activeSession()?.operatingSystem }}</div>\\n <p class=\\\"ax-font-normal ax-text-xs ax-subtitle-on-lightest\\\">\\n {{ activeSession()?.location }} <span>\\n {{ activeSession()?.lastLoginDate ? (activeSession()?.lastLoginDate | date: 'yyyy/MM/dd HH:mm') : '' }}\\n </span>\\n </p>\\n </div>\\n </div>\\n }\\n </div>\\n\\n @if (itemsWithIcons() && itemsWithIcons().length > 0) {\\n <div\\n class=\\\"ax-flex ax-border ax-items-center ax-rounded-lg ax-border-lightest ax-bg-lightest ax-text-on-lightest ax-mb-3 ax-p-3\\\"\\n >\\n <div class=\\\"ax-border-danger-200 ax-border ax-bg-danger-50 ax-rounded-lg\\\">\\n <i class=\\\"ax-icon ax-icon-clear ax-text-danger-500 ax-m-3\\\"></i>\\n </div>\\n <div class=\\\"ax-flex ax-flex-col ax-ml-2 ax-cursor-pointer\\\" (click)=\\\"onTerminateAll()\\\">\\n <div class=\\\"ax-font-medium ax-text-base ax-text-on-lightest\\\">Terminate All Other Sessions</div>\\n <p class=\\\"ax-font-normal ax-text-sm ax-subtitle-on-lightest\\\">Log out all devices exept for this one.</p>\\n </div>\\n </div>\\n }\\n @if (itemsWithIcons() && itemsWithIcons().length > 0) {\\n <div>\\n <p class=\\\"ax-font-semibold ax-text-base ax-text-on-lightest ax-mt-4 ax-mb-4\\\">Active Devices</p>\\n @for (item of itemsWithIcons(); track item) {\\n <div>\\n <div\\n class=\\\"ax-flex ax-border ax-items-center ax-relative ax-rounded-lg ax-border-lightest ax-bg-lightest ax-text-on-lightest ax-mb-3 ax-p-3\\\"\\n >\\n <i\\n class=\\\"ax-icon ax-icon-close ax-absolute ax-end-2 ax-top-2 ax-cursor-pointer\\\"\\n (click)=\\\"onTerminate(item.id)\\\"\\n ></i>\\n <div class=\\\"ax-border ax-rounded-lg\\\">\\n <i class=\\\"{{ item.icon }} ax-m-3\\\"></i>\\n </div>\\n <div class=\\\"ax-flex ax-flex-col ax-ml-2\\\">\\n <div class=\\\"ax-font-medium ax-text-base ax-text-on-lightest\\\">{{ item.deviceName }}</div>\\n <div class=\\\"ax-font-normal ax-text-sm ax-text-on-lightest\\\">{{ item.operatingSystem }}</div>\\n <p class=\\\"ax-font-normal ax-text-xs ax-subtitle-on-lightest\\\">\\n {{ item.location }} <span>{{ item.lastLoginDate ? (item.lastLoginDate | date: 'yyyy/MM/dd HH:mm') : '' }}</span>\\n </p>\\n </div>\\n </div>\\n </div>\\n }\\n </div>\\n }\\n</div>\\n<ax-footer>\\n <div class=\\\"ax-flex-col ax-w-full\\\">\\n <div>\\n <p class=\\\"ax-text-danger-500 ax-font-medium ax-text-base\\\">Terminate Old Sessions</p>\\n </div>\\n <div>\\n <ax-suffix>\\n <div class=\\\"ax-flex ax-items-center ax-justify-between ax-mt-4\\\">\\n <div class=\\\"ax-font-normal ax-text-base ax-text-on-lightest\\\">If inactive for...</div>\\n <div class=\\\"ax-w-3/6\\\">\\n <ax-select-box\\n [ngModel]=\\\"expireTime()\\\"\\n (onValueChanged)=\\\"onChangeSessionExpireTime($event)\\\"\\n [dataSource]=\\\"dataSource\\\"\\n textField=\\\"name\\\"\\n valueField=\\\"id\\\"\\n placeholder=\\\"Choose...\\\"\\n >\\n </ax-select-box>\\n </div>\\n </div>\\n </ax-suffix>\\n </div>\\n </div>\\n</ax-footer>\\n\" }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1zZXNzaW9ucy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvYXV0aC9zcmMvbGliL3BhZ2VzL2FjY291bnQvdXNlci1zZXNzaW9ucy91c2VyLXNlc3Npb25zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9hdXRoL3NyYy9saWIvcGFnZXMvYWNjb3VudC91c2VyLXNlc3Npb25zL3VzZXItc2Vzc2lvbnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sRUFBRSxZQUFZLEVBQXVCLE1BQU0sb0JBQW9CLENBQUM7QUFDdkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbkQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDekQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9D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bUIsRUFBRSxDQUFDO1FBQzNELE1BQU0sSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDaEMsQ0FBQzsrR0F4R1Usd0JBQXdCO21HQUF4Qix3QkFBd0Isd0VDOUJyQyxzOEhBeUZBLDJDRHBFSSxjQUFjLDhCQUNkLGlCQUFpQixxUEFDakIsWUFBWSw4QkFDWixXQUFXLDhWQUNYLGlCQUFpQixndUJBQ2pCLGdCQUFnQiw4QkFDaEIsZUFBZTs7NEZBR04sd0JBQXdCO2tCQWJwQyxTQUFTO3NDQUVTLHVCQUF1QixDQUFDLE1BQU0sV0FDdEM7d0JBQ1AsY0FBYzt3QkFDZCxpQkFBaUI7d0JBQ2pCLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxpQkFBaUI7d0JBQ2pCLGdCQUFnQjt3QkFDaEIsZUFBZTtxQkFDaEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9idXR0b24nO1xuaW1wb3J0IHsgQVhEYXRhU291cmNlLCBBWFZhbHVlQ2hhbmdlZEV2ZW50IH0gZnJvbSAnQGFjb3JleC9jZGsvY29tbW9uJztcbmltcG9ydCB7IEFYRGVjb3JhdG9yTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RlY29yYXRvcnMnO1xuaW1wb3J0IHsgQVhEcm9wZG93bk1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kcm9wZG93bic7XG5pbXBvcnQgeyBBWFBvcG92ZXJNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvcG9wb3Zlcic7XG5pbXBvcnQgeyBBWFBvcHVwU2VydmljZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9wb3B1cCc7XG5pbXBvcnQgeyBBWFNlbGVjdEJveE1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9zZWxlY3QtYm94JztcbmltcG9ydCB7IEFYUGxhdGZvcm0gfSBmcm9tICdAYWNvcmV4L2NvcmUvcGxhdGZvcm0nO1xuaW1wb3J0IHsgQVhUcmFuc2xhdGlvblNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L2NvcmUvdHJhbnNsYXRpb24nO1xuaW1wb3J0IHsgQVhQU2Vzc2lvblNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2F1dGgnO1xuaW1wb3J0IHsgQVhQU2V0dGluZ1NlcnZpY2UgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvbW1vbic7XG5pbXBvcnQgeyBBWFBQbGF0Zm9ybVNjb3BlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgY29tcHV0ZWQsIGluamVjdCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEFYTVVzZXJEZXZpY2VTZXNzaW9uc1NlcnZpY2UgfSBmcm9tICcuL3VzZXItc2Vzc2lvbnMuc2VydmljZSc7XG5pbXBvcnQgeyBBWE1TZWN1cml0eU1hbmFnZW1lbnREZXZpY2VTZXNzaW9uc0VudGl0eU1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL3R5cGVzL2RldmljZS1zZXNzaW9ucy50eXBlcyc7XG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGVVcmw6ICcuL3VzZXItc2Vzc2lvbnMuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaW1wb3J0czogW1xuICAgIEFYQnV0dG9uTW9kdWxlLFxuICAgIEFYRGVjb3JhdG9yTW9kdWxlLFxuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBBWFNlbGVjdEJveE1vZHVsZSxcbiAgICBBWERyb3Bkb3duTW9kdWxlLFxuICAgIEFYUG9wb3Zlck1vZHVsZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhNVXNlclNlc3Npb25zQ29tcG9uZW50IHtcbiAgQVhQVG9rZW5FeHBpcmF0aW9uRHVyYXRpb25zID0ge1xuICAgIG9uZVdlZWs6ICdvbmVXZWVrJyxcbiAgICBvbmVNb250aDogJ29uZU1vbnRoJyxcbiAgICB0aHJlZU1vbnRoczogJ3RocmVlTW9udGhzJyxcbiAgICBzaXhNb250aHM6ICdzaXhNb250aHMnLFxuICB9O1xuXG4gIGl0ZW1zID0gc2lnbmFsPEFYTVNlY3VyaXR5TWFuYWdlbWVudERldmljZVNlc3Npb25zRW50aXR5TW9kZWxbXT4oW10pO1xuICBhY3RpdmVTZXNzaW9uID0gc2lnbmFsPEFYTVNlY3VyaXR5TWFuYWdlbWVudERldmljZVNlc3Npb25zRW50aXR5TW9kZWwgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gIGV4cGlyZVRpbWUgPSBzaWduYWw8eyBuYW1lOiBzdHJpbmc7IGlkOiBzdHJpbmcgfSB8IG51bGw+KG51bGwpO1xuXG4gIGV4cGlyYXRpb25JdGVtcyA9IFtcbiAgICB7IG5hbWU6ICdUZXJtaW5hdGUgaW4gMSB3ZWVrJywgaWQ6IHRoaXMuQVhQVG9rZW5FeHBpcmF0aW9uRHVyYXRpb25zLm9uZVdlZWsgfSxcbiAgICB7IG5hbWU6ICdUZXJtaW5hdGUgaW4gMSBtb250aCcsIGlkOiB0aGlzLkFYUFRva2VuRXhwaXJhdGlvbkR1cmF0aW9ucy5vbmVNb250aCB9LFxuICAgIHsgbmFtZTogJ1Rlcm1pbmF0ZSBpbiAzIG1vbnRoJywgaWQ6IHRoaXMuQVhQVG9rZW5FeHBpcmF0aW9uRHVyYXRpb25zLnRocmVlTW9udGhzIH0sXG4gICAgeyBuYW1lOiAnVGVybWluYXRlIGluIDYgbW9udGgnLCBpZDogdGhpcy5BWFBUb2tlbkV4cGlyYXRpb25EdXJhdGlvbnMuc2l4TW9udGhzIH0sXG4gIF07XG4gIHByb3RlY3RlZCBkYXRhU291cmNlID0gbmV3IEFYRGF0YVNvdXJjZTxhbnk+KHtcbiAgICBwYWdlU2l6ZTogMTAsXG4gICAga2V5OiAnaWQnLFxuICAgIGxvYWQ6IGFzeW5jIChlKSA9PiB7XG4gICAgICBsZXQgaXRlbXMgPSB0aGlzLmV4cGlyYXRpb25JdGVtcztcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGl0ZW1zLFxuICAgICAgICB0b3RhbDogaXRlbXMubGVuZ3RoLFxuICAgICAgfTtcbiAgICB9LFxuICB9KTtcbiAgcHJpdmF0ZSB1c2VyRGV2aWNlU2Vzc2lvbnNTZXJ2aWNlID0gaW5qZWN0KEFYTVVzZXJEZXZpY2VTZXNzaW9uc1NlcnZpY2UpO1xuICBwcml2YXRlIGNkUmVmID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcbiAgcHJpdmF0ZSBwb3B1cFNlcnZpY2UgPSBpbmplY3QoQVhQb3B1cFNlcnZpY2UpO1xuICBwcml2YXRlIHBsYXRmb3JtID0gaW5qZWN0KEFYUGxhdGZvcm0pO1xuICBwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2UgPSBpbmplY3QoQVhUcmFuc2xhdGlvblNlcnZpY2UpO1xuICBwcml2YXRlIHNlc3Npb25TZXJ2aWNlID0gaW5qZWN0KEFYUFNlc3Npb25TZXJ2aWNlKTtcbiAgcHJpdmF0ZSBzZXR0aW5nU2VydmljZSA9IGluamVjdChBWFBTZXR0aW5nU2VydmljZSk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5sb2FkVXNlclNlc3Npb25zKCk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGxvYWRVc2VyU2Vzc2lvbnMoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdHJ5IHtcbiAgICAgIGxldCBzZXNzaW9ucyA9IGF3YWl0IHRoaXMudXNlckRldmljZVNlc3Npb25zU2VydmljZS5nZXRTZXNzaW9ucygpO1xuICAgICAgdGhpcy5pdGVtcy5zZXQoc2Vzc2lvbnMpO1xuICAgICAgXG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCBhY3RpdmVTZXNzaW9uID0gYXdhaXQgdGhpcy51c2VyRGV2aWNlU2Vzc2lvbnNTZXJ2aWNlLmdldEN1cnJlbnRBY3RpdmVTZXNzaW9ucygpO1xuICAgICAgICB0aGlzLmFjdGl2ZVNlc3Npb24uc2V0KGFjdGl2ZVNlc3Npb24pO1xuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgY29uc29sZS53YXJuKCdObyBhY3RpdmUgc2Vzc2lvbiBmb3VuZDonLCBlcnJvcik7XG4gICAgICAgIHRoaXMuYWN0aXZlU2Vzc2lvbi5zZXQodW5kZWZpbmVkKTtcbiAgICAgIH1cbiAgICAgIFxuICAgICAgY29uc3Qgc2Vzc2lvblRpbWVvdXQgPSBhd2FpdCB0aGlzLnNldHRpbmdTZXJ2aWNlLnNjb3BlKEFYUFBsYXRmb3JtU2NvcGUuVXNlcikuZ2V0KCdzZXNzaW9uLXRpbWVvdXQnKTtcbiAgICAgIGlmIChzZXNzaW9uVGltZW91dCAmJiBzZXNzaW9uVGltZW91dC5pZCBpbiB0aGlzLkFYUFRva2VuRXhwaXJhdGlvbkR1cmF0aW9ucykge1xuICAgICAgICBsZXQgc2VsZWN0ZWRJdGVtID0gdGhpcy5leHBpcmF0aW9uSXRlbXMuZmluZCgoaXRlbSkgPT4gaXRlbS5pZCA9PT0gc2Vzc2lvblRpbWVvdXQuaWQpO1xuICAgICAgICBpZiAoc2VsZWN0ZWRJdGVtKSB7XG4gICAgICAgICAgdGhpcy5leHBpcmVUaW1lLnNldCh7IG5hbWU6IHNlbGVjdGVkSXRlbS5uYW1lLCBpZDogc2VsZWN0ZWRJdGVtLmlkIH0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGxvYWRpbmcgdXNlciBzZXNzaW9ucycsIGVycm9yKTtcbiAgICB9XG4gIH1cblxuICAvLyDinIUgVXNlIGEgY29tcHV0ZWQgc2lnbmFsIHRvIHVwZGF0ZSBkeW5hbWljYWxseSB3aGVuIGl0ZW1zIGNoYW5nZVxuICBpdGVtc1dpdGhJY29ucyA9IGNvbXB1dGVkKCgpID0+XG4gICAgdGhpcy5pdGVtcygpLm1hcCgoaXRlbSkgPT4gKHtcbiAgICAgIC4uLml0ZW0sXG4gICAgICBpY29uOiB0aGlzLmdldERldmljZUljb24oaXRlbS5kZXZpY2VOYW1lKSxcbiAgICB9KSksXG4gICk7XG5cbiAgZ2V0RGV2aWNlSWNvbihkZXZpY2VOYW1lOiBzdHJpbmcgfCB1bmRlZmluZWQpOiBzdHJpbmcge1xuICAgIGlmICghZGV2aWNlTmFtZSkgcmV0dXJuICdmYS1zb2xpZCBmYS1xdWVzdGlvbic7IC8vIERlZmF1bHQgaWNvbiBpZiBubyBuYW1lIGlzIHByb3ZpZGVkXG5cbiAgICBjb25zdCBsb3dlckNhc2VOYW1lID0gZGV2aWNlTmFtZS50b0xvd2VyQ2FzZSgpO1xuXG4gICAgaWYgKGxvd2VyQ2FzZU5hbWUuaW5jbHVkZXMoJ3dpbmRvd3MnKSkgcmV0dXJuICdmYS1icmFuZHMgZmEtd2luZG93cyc7XG4gICAgaWYgKGxvd2VyQ2FzZU5hbWUuaW5jbHVkZXMoJ21hY2Jvb2snKSB8fCBsb3dlckNhc2VOYW1lLmluY2x1ZGVzKCdtYWMnKSkgcmV0dXJuICdmYS1icmFuZHMgZmEtYXBwbGUnO1xuICAgIGlmIChsb3dlckNhc2VOYW1lLmluY2x1ZGVzKCdsaW51eCcpKSByZXR1cm4gJ2ZhLWJyYW5kcyBmYS1saW51eCc7XG4gICAgaWYgKGxvd2VyQ2FzZU5hbWUuaW5jbHVkZXMoJ2FuZHJvaWQnKSkgcmV0dXJuICdmYS1icmFuZHMgZmEtYW5kcm9pZCc7XG4gICAgaWYgKGxvd2VyQ2FzZU5hbWUuaW5jbHVkZXMoJ2lvcycpIHx8IGxvd2VyQ2FzZU5hbWUuaW5jbHVkZXMoJ2lwaG9uZScpIHx8IGxvd2VyQ2FzZU5hbWUuaW5jbHVkZXMoJ2lwYWQnKSkgcmV0dXJuICdmYS1icmFuZHMgZmEtYXBwbGUnO1xuXG4gICAgcmV0dXJuICdmYS1zb2xpZCBmYS1kZXNrdG9wJzsgLy8gRGVmYXVsdCBpY29uIGZvciB1bmtub3duIGRldmljZXNcbiAgfVxuXG4gIHByb3RlY3RlZCBvbkNoYW5nZVNlc3Npb25FeHBpcmVUaW1lKGU6IEFYVmFsdWVDaGFuZ2VkRXZlbnQpIHtcbiAgICB0aGlzLnVzZXJEZXZpY2VTZXNzaW9uc1NlcnZpY2Uuc2V0VG9rZW5MaWZldGltZU1pbnV0ZXMoZS5jb21wb25lbnQuc2VsZWN0ZWRJdGVtc1swXSk7XG4gIH1cblxuICBhc3luYyBvblRlcm1pbmF0ZShzZXNzaW9uSWQ6IHN0cmluZyB8IHVuZGVmaW5lZCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICghc2Vzc2lvbklkKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdObyBpdGVtIHRvIHRlcm1pbmF0ZScpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBhd2FpdCB0aGlzLnVzZXJEZXZpY2VTZXNzaW9uc1NlcnZpY2UudGVybWluYXRlU2Vzc2lvbihzZXNzaW9uSWQpO1xuICAgIGF3YWl0IHRoaXMubG9hZFVzZXJTZXNzaW9ucygpO1xuICB9XG5cbiAgYXN5bmMgb25UZXJtaW5hdGVBbGwoKSB7XG4gICAgYXdhaXQgdGhpcy51c2VyRGV2aWNlU2Vzc2lvbnNTZXJ2aWNlLnRlcm1pbmF0ZUFsbFNlc3Npb24oKTtcbiAgICBhd2FpdCB0aGlzLmxvYWRVc2VyU2Vzc2lvbnMoKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImF4LW14LWF1dG8gYXgtcC02IGF4LXctZnVsbFwiPlxuICA8cCBjbGFzcz1cImF4LWZvbnQtc2VtaWJvbGQgYXgtdGV4dC1iYXNlIGF4LXRleHQtb24tbGlnaHRlc3QgYXgtbWItNFwiPlRoaXMgRGV2aWNlPC9wPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJheC1mbGV4IGF4LWJvcmRlciBheC1pdGVtcy1jZW50ZXIgYXgtcm91bmRlZC1sZyBheC1ib3JkZXItbGlnaHRlc3QgYXgtYmctbGlnaHRlc3QgYXgtdGV4dC1vbi1saWdodGVzdCBheC1tYi0zIGF4LXAtM1wiXG4gICAgPlxuICAgIDxkaXYgY2xhc3M9XCJheC1ib3JkZXItcHJpbWFyeS0yMDAgYXgtYm9yZGVyIGF4LWJnLXByaW1hcnktNTAgYXgtcm91bmRlZC1sZ1wiPlxuICAgICAgPGkgY2xhc3M9XCJ7eyBnZXREZXZpY2VJY29uKGFjdGl2ZVNlc3Npb24oKT8uZGV2aWNlTmFtZSkgfX0gYXgtdGV4dC1wcmltYXJ5LTUwMCBheC1tLTNcIj48L2k+XG4gICAgPC9kaXY+XG4gICAgQGlmIChhY3RpdmVTZXNzaW9uKCkpIHtcbiAgICAgIDxkaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJheC1mbGV4IGF4LWZsZXgtY29sIGF4LW1sLTJcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtZm9udC1tZWRpdW0gYXgtdGV4dC1iYXNlIGF4LXRleHQtb24tbGlnaHRlc3RcIj57eyBhY3RpdmVTZXNzaW9uKCk/LmRldmljZU5hbWUgfX08L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtZm9udC1ub3JtYWwgYXgtdGV4dC1zbSBheC10ZXh0LW9uLWxpZ2h0ZXN0XCI+e3sgYWN0aXZlU2Vzc2lvbigpPy5vcGVyYXRpbmdTeXN0ZW0gfX08L2Rpdj5cbiAgICAgICAgICA8cCBjbGFzcz1cImF4LWZvbnQtbm9ybWFsIGF4LXRleHQteHMgYXgtc3VidGl0bGUtb24tbGlnaHRlc3RcIj5cbiAgICAgICAgICAgIHt7IGFjdGl2ZVNlc3Npb24oKT8ubG9jYXRpb24gfX0gPHNwYW4+XG4gICAgICAgICAgICAgIHt7IGFjdGl2ZVNlc3Npb24oKT8ubGFzdExvZ2luRGF0ZSA/IChhY3RpdmVTZXNzaW9uKCk/Lmxhc3RMb2dpbkRhdGUgfCBkYXRlOiAneXl5eS9NTS9kZCBISDptbScpIDogJycgfX1cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8L3A+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgfVxuICA8L2Rpdj5cblxuICBAaWYgKGl0ZW1zV2l0aEljb25zKCkgJiYgaXRlbXNXaXRoSWNvbnMoKS5sZW5ndGggPiAwKSB7XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJheC1mbGV4IGF4LWJvcmRlciBheC1pdGVtcy1jZW50ZXIgYXgtcm91bmRlZC1sZyBheC1ib3JkZXItbGlnaHRlc3QgYXgtYmctbGlnaHRlc3QgYXgtdGV4dC1vbi1saWdodGVzdCBheC1tYi0zIGF4LXAtM1wiXG4gICAgICA+XG4gICAgICA8ZGl2IGNsYXNzPVwiYXgtYm9yZGVyLWRhbmdlci0yMDAgYXgtYm9yZGVyIGF4LWJnLWRhbmdlci01MCBheC1yb3VuZGVkLWxnXCI+XG4gICAgICAgIDxpIGNsYXNzPVwiYXgtaWNvbiBheC1pY29uLWNsZWFyIGF4LXRleHQtZGFuZ2VyLTUwMCBheC1tLTNcIj48L2k+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJheC1mbGV4IGF4LWZsZXgtY29sIGF4LW1sLTIgYXgtY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwib25UZXJtaW5hdGVBbGwoKVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtZm9udC1tZWRpdW0gYXgtdGV4dC1iYXNlIGF4LXRleHQtb24tbGlnaHRlc3RcIj5UZXJtaW5hdGUgQWxsIE90aGVyIFNlc3Npb25zPC9kaXY+XG4gICAgICAgIDxwIGNsYXNzPVwiYXgtZm9udC1ub3JtYWwgYXgtdGV4dC1zbSBheC1zdWJ0aXRsZS1vbi1saWdodGVzdFwiPkxvZyBvdXQgYWxsIGRldmljZXMgZXhlcHQgZm9yIHRoaXMgb25lLjwvcD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICB9XG4gIEBpZiAoaXRlbXNXaXRoSWNvbnMoKSAmJiBpdGVtc1dpdGhJY29ucygpLmxlbmd0aCA+IDApIHtcbiAgICA8ZGl2PlxuICAgICAgPHAgY2xhc3M9XCJheC1mb250LXNlbWlib2xkIGF4LXRleHQtYmFzZSBheC10ZXh0LW9uLWxpZ2h0ZXN0IGF4LW10LTQgYXgtbWItNFwiPkFjdGl2ZSBEZXZpY2VzPC9wPlxuICAgICAgQGZvciAoaXRlbSBvZiBpdGVtc1dpdGhJY29ucygpOyB0cmFjayBpdGVtKSB7XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3M9XCJheC1mbGV4IGF4LWJvcmRlciBheC1pdGVtcy1jZW50ZXIgYXgtcmVsYXRpdmUgYXgtcm91bmRlZC1sZyBheC1ib3JkZXItbGlnaHRlc3QgYXgtYmctbGlnaHRlc3QgYXgtdGV4dC1vbi1saWdodGVzdCBheC1tYi0zIGF4LXAtM1wiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICA8aVxuICAgICAgICAgICAgICBjbGFzcz1cImF4LWljb24gYXgtaWNvbi1jbG9zZSBheC1hYnNvbHV0ZSBheC1lbmQtMiBheC10b3AtMiBheC1jdXJzb3ItcG9pbnRlclwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJvblRlcm1pbmF0ZShpdGVtLmlkKVwiXG4gICAgICAgICAgICA+PC9pPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWJvcmRlciBheC1yb3VuZGVkLWxnXCI+XG4gICAgICAgICAgICAgIDxpIGNsYXNzPVwie3sgaXRlbS5pY29uIH19IGF4LW0tM1wiPjwvaT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtZmxleC1jb2wgYXgtbWwtMlwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtZm9udC1tZWRpdW0gYXgtdGV4dC1iYXNlIGF4LXRleHQtb24tbGlnaHRlc3RcIj57eyBpdGVtLmRldmljZU5hbWUgfX08L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWZvbnQtbm9ybWFsIGF4LXRleHQtc20gYXgtdGV4dC1vbi1saWdodGVzdFwiPnt7IGl0ZW0ub3BlcmF0aW5nU3lzdGVtIH19PC9kaXY+XG4gICAgICAgICAgICAgIDxwIGNsYXNzPVwiYXgtZm9udC1ub3JtYWwgYXgtdGV4dC14cyBheC1zdWJ0aXRsZS1vbi1saWdodGVzdFwiPlxuICAgICAgICAgICAgICAgIHt7IGl0ZW0ubG9jYXRpb24gfX0gPHNwYW4+e3sgaXRlbS5sYXN0TG9naW5EYXRlID8gKGl0ZW0ubGFzdExvZ2luRGF0ZSB8IGRhdGU6ICd5eXl5L01NL2RkIEhIOm1tJykgOiAnJyB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgfVxuICAgIDwvZGl2PlxuICB9XG48L2Rpdj5cbjxheC1mb290ZXI+XG4gIDxkaXYgY2xhc3M9XCJheC1mbGV4LWNvbCBheC13LWZ1bGxcIj5cbiAgICA8ZGl2PlxuICAgICAgPHAgY2xhc3M9XCJheC10ZXh0LWRhbmdlci01MDAgYXgtZm9udC1tZWRpdW0gYXgtdGV4dC1iYXNlXCI+VGVybWluYXRlIE9sZCBTZXNzaW9uczwvcD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2PlxuICAgICAgPGF4LXN1ZmZpeD5cbiAgICAgICAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtaXRlbXMtY2VudGVyIGF4LWp1c3RpZnktYmV0d2VlbiBheC1tdC00XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWZvbnQtbm9ybWFsIGF4LXRleHQtYmFzZSBheC10ZXh0LW9uLWxpZ2h0ZXN0XCI+SWYgaW5hY3RpdmUgZm9yLi4uPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImF4LXctMy82XCI+XG4gICAgICAgICAgICA8YXgtc2VsZWN0LWJveFxuICAgICAgICAgICAgICBbbmdNb2RlbF09XCJleHBpcmVUaW1lKClcIlxuICAgICAgICAgICAgICAob25WYWx1ZUNoYW5nZWQpPVwib25DaGFuZ2VTZXNzaW9uRXhwaXJlVGltZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgW2RhdGFTb3VyY2VdPVwiZGF0YVNvdXJjZVwiXG4gICAgICAgICAgICAgIHRleHRGaWVsZD1cIm5hbWVcIlxuICAgICAgICAgICAgICB2YWx1ZUZpZWxkPVwiaWRcIlxuICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIkNob29zZS4uLlwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgIDwvYXgtc2VsZWN0LWJveD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2F4LXN1ZmZpeD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2F4LWZvb3Rlcj5cbiJdfQ=="],"names":["i4"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"acorex-modules-auth-user-sessions.component-DPVcLAUS.mjs","sources":["../tmp-esm2022/auth/lib/pages/account/user-sessions/user-sessions.component.js"],"sourcesContent":["import { AXButtonModule } from '@acorex/components/button';\nimport { AXDataSource } from '@acorex/cdk/common';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXDropdownModule } from '@acorex/components/dropdown';\nimport { AXPopoverModule } from '@acorex/components/popover';\nimport { AXPopupService } from '@acorex/components/popup';\nimport { AXSelectBoxModule } from '@acorex/components/select-box';\nimport { AXPlatform } from '@acorex/core/platform';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXPSessionService } from '@acorex/platform/auth';\nimport { AXPSettingService } from '@acorex/platform/common';\nimport { AXPPlatformScope } from '@acorex/platform/core';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, computed, inject, signal } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXMUserDeviceSessionsService } from './user-sessions.service';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@acorex/components/decorators\";\nimport * as i2 from \"@angular/forms\";\nimport * as i3 from \"@acorex/components/select-box\";\nimport * as i4 from \"@angular/common\";\nexport class AXMUserSessionsComponent {\n constructor() {\n this.AXPTokenExpirationDurations = {\n oneWeek: 'oneWeek',\n oneMonth: 'oneMonth',\n threeMonths: 'threeMonths',\n sixMonths: 'sixMonths',\n };\n this.items = signal([], ...(ngDevMode ? [{ debugName: \"items\" }] : []));\n this.activeSession = signal(undefined, ...(ngDevMode ? [{ debugName: \"activeSession\" }] : []));\n this.expireTime = signal(null, ...(ngDevMode ? [{ debugName: \"expireTime\" }] : []));\n this.expirationItems = [\n { name: 'Terminate in 1 week', id: this.AXPTokenExpirationDurations.oneWeek },\n { name: 'Terminate in 1 month', id: this.AXPTokenExpirationDurations.oneMonth },\n { name: 'Terminate in 3 month', id: this.AXPTokenExpirationDurations.threeMonths },\n { name: 'Terminate in 6 month', id: this.AXPTokenExpirationDurations.sixMonths },\n ];\n this.dataSource = new AXDataSource({\n pageSize: 10,\n key: 'id',\n load: async (e) => {\n let items = this.expirationItems;\n return {\n items,\n total: items.length,\n };\n },\n });\n this.userDeviceSessionsService = inject(AXMUserDeviceSessionsService);\n this.cdRef = inject(ChangeDetectorRef);\n this.popupService = inject(AXPopupService);\n this.platform = inject(AXPlatform);\n this.translateService = inject(AXTranslationService);\n this.sessionService = inject(AXPSessionService);\n this.settingService = inject(AXPSettingService);\n // ✅ Use a computed signal to update dynamically when items change\n this.itemsWithIcons = computed(() => this.items().map((item) => ({\n ...item,\n icon: this.getDeviceIcon(item.deviceName),\n })), ...(ngDevMode ? [{ debugName: \"itemsWithIcons\" }] : []));\n this.loadUserSessions();\n }\n async loadUserSessions() {\n try {\n let sessions = await this.userDeviceSessionsService.getSessions();\n this.items.set(sessions);\n try {\n const activeSession = await this.userDeviceSessionsService.getCurrentActiveSessions();\n this.activeSession.set(activeSession);\n }\n catch (error) {\n console.warn('No active session found:', error);\n this.activeSession.set(undefined);\n }\n const sessionTimeout = await this.settingService.scope(AXPPlatformScope.User).get('session-timeout');\n if (sessionTimeout && sessionTimeout.id in this.AXPTokenExpirationDurations) {\n let selectedItem = this.expirationItems.find((item) => item.id === sessionTimeout.id);\n if (selectedItem) {\n this.expireTime.set({ name: selectedItem.name, id: selectedItem.id });\n }\n }\n }\n catch (error) {\n console.error('Error loading user sessions', error);\n }\n }\n getDeviceIcon(deviceName) {\n if (!deviceName)\n return 'fa-solid fa-question'; // Default icon if no name is provided\n const lowerCaseName = deviceName.toLowerCase();\n if (lowerCaseName.includes('windows'))\n return 'fa-brands fa-windows';\n if (lowerCaseName.includes('macbook') || lowerCaseName.includes('mac'))\n return 'fa-brands fa-apple';\n if (lowerCaseName.includes('linux'))\n return 'fa-brands fa-linux';\n if (lowerCaseName.includes('android'))\n return 'fa-brands fa-android';\n if (lowerCaseName.includes('ios') || lowerCaseName.includes('iphone') || lowerCaseName.includes('ipad'))\n return 'fa-brands fa-apple';\n return 'fa-solid fa-desktop'; // Default icon for unknown devices\n }\n onChangeSessionExpireTime(e) {\n this.userDeviceSessionsService.setTokenLifetimeMinutes(e.component.selectedItems[0]);\n }\n async onTerminate(sessionId) {\n if (!sessionId) {\n console.error('No item to terminate');\n return;\n }\n await this.userDeviceSessionsService.terminateSession(sessionId);\n await this.loadUserSessions();\n }\n async onTerminateAll() {\n await this.userDeviceSessionsService.terminateAllSession();\n await this.loadUserSessions();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMUserSessionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.12\", type: AXMUserSessionsComponent, isStandalone: true, selector: \"ng-component\", ngImport: i0, template: \"<div class=\\\"ax-mx-auto ax-p-6 ax-w-full\\\">\\n <p class=\\\"ax-font-semibold ax-text-base ax-text-on-lightest ax-mb-4\\\">This Device</p>\\n <div\\n class=\\\"ax-flex ax-border ax-items-center ax-rounded-lg ax-border-lightest ax-bg-lightest ax-text-on-lightest ax-mb-3 ax-p-3\\\"\\n >\\n <div class=\\\"ax-border-primary-200 ax-border ax-bg-primary-50 ax-rounded-lg\\\">\\n <i class=\\\"{{ getDeviceIcon(activeSession()?.deviceName) }} ax-text-primary-500 ax-m-3\\\"></i>\\n </div>\\n @if (activeSession()) {\\n <div>\\n <div class=\\\"ax-flex ax-flex-col ax-ml-2\\\">\\n <div class=\\\"ax-font-medium ax-text-base ax-text-on-lightest\\\">{{ activeSession()?.deviceName }}</div>\\n <div class=\\\"ax-font-normal ax-text-sm ax-text-on-lightest\\\">{{ activeSession()?.operatingSystem }}</div>\\n <p class=\\\"ax-font-normal ax-text-xs ax-subtitle-on-lightest\\\">\\n {{ activeSession()?.location }} <span>\\n {{ activeSession()?.lastLoginDate ? (activeSession()?.lastLoginDate | date: 'yyyy/MM/dd HH:mm') : '' }}\\n </span>\\n </p>\\n </div>\\n </div>\\n }\\n </div>\\n\\n @if (itemsWithIcons() && itemsWithIcons().length > 0) {\\n <div\\n class=\\\"ax-flex ax-border ax-items-center ax-rounded-lg ax-border-lightest ax-bg-lightest ax-text-on-lightest ax-mb-3 ax-p-3\\\"\\n >\\n <div class=\\\"ax-border-danger-200 ax-border ax-bg-danger-50 ax-rounded-lg\\\">\\n <i class=\\\"ax-icon ax-icon-clear ax-text-danger-500 ax-m-3\\\"></i>\\n </div>\\n <div class=\\\"ax-flex ax-flex-col ax-ml-2 ax-cursor-pointer\\\" (click)=\\\"onTerminateAll()\\\">\\n <div class=\\\"ax-font-medium ax-text-base ax-text-on-lightest\\\">Terminate All Other Sessions</div>\\n <p class=\\\"ax-font-normal ax-text-sm ax-subtitle-on-lightest\\\">Log out all devices exept for this one.</p>\\n </div>\\n </div>\\n }\\n @if (itemsWithIcons() && itemsWithIcons().length > 0) {\\n <div>\\n <p class=\\\"ax-font-semibold ax-text-base ax-text-on-lightest ax-mt-4 ax-mb-4\\\">Active Devices</p>\\n @for (item of itemsWithIcons(); track item) {\\n <div>\\n <div\\n class=\\\"ax-flex ax-border ax-items-center ax-relative ax-rounded-lg ax-border-lightest ax-bg-lightest ax-text-on-lightest ax-mb-3 ax-p-3\\\"\\n >\\n <i\\n class=\\\"ax-icon ax-icon-close ax-absolute ax-end-2 ax-top-2 ax-cursor-pointer\\\"\\n (click)=\\\"onTerminate(item.id)\\\"\\n ></i>\\n <div class=\\\"ax-border ax-rounded-lg\\\">\\n <i class=\\\"{{ item.icon }} ax-m-3\\\"></i>\\n </div>\\n <div class=\\\"ax-flex ax-flex-col ax-ml-2\\\">\\n <div class=\\\"ax-font-medium ax-text-base ax-text-on-lightest\\\">{{ item.deviceName }}</div>\\n <div class=\\\"ax-font-normal ax-text-sm ax-text-on-lightest\\\">{{ item.operatingSystem }}</div>\\n <p class=\\\"ax-font-normal ax-text-xs ax-subtitle-on-lightest\\\">\\n {{ item.location }} <span>{{ item.lastLoginDate ? (item.lastLoginDate | date: 'yyyy/MM/dd HH:mm') : '' }}</span>\\n </p>\\n </div>\\n </div>\\n </div>\\n }\\n </div>\\n }\\n</div>\\n<ax-footer>\\n <div class=\\\"ax-flex-col ax-w-full\\\">\\n <div>\\n <p class=\\\"ax-text-danger-500 ax-font-medium ax-text-base\\\">Terminate Old Sessions</p>\\n </div>\\n <div>\\n <ax-suffix>\\n <div class=\\\"ax-flex ax-items-center ax-justify-between ax-mt-4\\\">\\n <div class=\\\"ax-font-normal ax-text-base ax-text-on-lightest\\\">If inactive for...</div>\\n <div class=\\\"ax-w-3/6\\\">\\n <ax-select-box\\n [ngModel]=\\\"expireTime()\\\"\\n (onValueChanged)=\\\"onChangeSessionExpireTime($event)\\\"\\n [dataSource]=\\\"dataSource\\\"\\n textField=\\\"name\\\"\\n valueField=\\\"id\\\"\\n placeholder=\\\"Choose...\\\"\\n >\\n </ax-select-box>\\n </div>\\n </div>\\n </ax-suffix>\\n </div>\\n </div>\\n</ax-footer>\\n\", dependencies: [{ kind: \"ngmodule\", type: AXButtonModule }, { kind: \"ngmodule\", type: AXDecoratorModule }, { kind: \"component\", type: i1.AXDecoratorGenericComponent, selector: \"ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay\" }, { kind: \"ngmodule\", type: CommonModule }, { kind: \"ngmodule\", type: FormsModule }, { kind: \"directive\", type: i2.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { kind: \"directive\", type: i2.NgModel, selector: \"[ngModel]:not([formControlName]):not([formControl])\", inputs: [\"name\", \"disabled\", \"ngModel\", \"ngModelOptions\"], outputs: [\"ngModelChange\"], exportAs: [\"ngModel\"] }, { kind: \"ngmodule\", type: AXSelectBoxModule }, { kind: \"component\", type: i3.AXSelectBoxComponent, selector: \"ax-select-box\", inputs: [\"disabled\", \"readonly\", \"tabIndex\", \"placeholder\", \"minValue\", \"maxValue\", \"value\", \"state\", \"name\", \"id\", \"type\", \"look\", \"multiple\", \"valueField\", \"textField\", \"disabledField\", \"textTemplate\", \"selectedItems\", \"isItemTruncated\", \"showItemTooltip\", \"itemHeight\", \"maxVisibleItems\", \"dataSource\", \"minRecordsForSearch\", \"caption\", \"itemTemplate\", \"selectedTemplate\", \"emptyTemplate\", \"loadingTemplate\", \"dropdownWidth\", \"searchBoxAutoFocus\"], outputs: [\"valueChange\", \"stateChange\", \"onValueChanged\", \"onBlur\", \"onFocus\", \"readonlyChange\", \"disabledChange\", \"onOpened\", \"onClosed\", \"onItemSelected\", \"onItemClick\"] }, { kind: \"ngmodule\", type: AXDropdownModule }, { kind: \"ngmodule\", type: AXPopoverModule }, { kind: \"pipe\", type: i4.DatePipe, name: \"date\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMUserSessionsComponent, decorators: [{\n type: Component,\n args: [{ changeDetection: ChangeDetectionStrategy.OnPush, imports: [\n AXButtonModule,\n AXDecoratorModule,\n CommonModule,\n FormsModule,\n AXSelectBoxModule,\n AXDropdownModule,\n AXPopoverModule,\n ], template: \"<div class=\\\"ax-mx-auto ax-p-6 ax-w-full\\\">\\n <p class=\\\"ax-font-semibold ax-text-base ax-text-on-lightest ax-mb-4\\\">This Device</p>\\n <div\\n class=\\\"ax-flex ax-border ax-items-center ax-rounded-lg ax-border-lightest ax-bg-lightest ax-text-on-lightest ax-mb-3 ax-p-3\\\"\\n >\\n <div class=\\\"ax-border-primary-200 ax-border ax-bg-primary-50 ax-rounded-lg\\\">\\n <i class=\\\"{{ getDeviceIcon(activeSession()?.deviceName) }} ax-text-primary-500 ax-m-3\\\"></i>\\n </div>\\n @if (activeSession()) {\\n <div>\\n <div class=\\\"ax-flex ax-flex-col ax-ml-2\\\">\\n <div class=\\\"ax-font-medium ax-text-base ax-text-on-lightest\\\">{{ activeSession()?.deviceName }}</div>\\n <div class=\\\"ax-font-normal ax-text-sm ax-text-on-lightest\\\">{{ activeSession()?.operatingSystem }}</div>\\n <p class=\\\"ax-font-normal ax-text-xs ax-subtitle-on-lightest\\\">\\n {{ activeSession()?.location }} <span>\\n {{ activeSession()?.lastLoginDate ? (activeSession()?.lastLoginDate | date: 'yyyy/MM/dd HH:mm') : '' }}\\n </span>\\n </p>\\n </div>\\n </div>\\n }\\n </div>\\n\\n @if (itemsWithIcons() && itemsWithIcons().length > 0) {\\n <div\\n class=\\\"ax-flex ax-border ax-items-center ax-rounded-lg ax-border-lightest ax-bg-lightest ax-text-on-lightest ax-mb-3 ax-p-3\\\"\\n >\\n <div class=\\\"ax-border-danger-200 ax-border ax-bg-danger-50 ax-rounded-lg\\\">\\n <i class=\\\"ax-icon ax-icon-clear ax-text-danger-500 ax-m-3\\\"></i>\\n </div>\\n <div class=\\\"ax-flex ax-flex-col ax-ml-2 ax-cursor-pointer\\\" (click)=\\\"onTerminateAll()\\\">\\n <div class=\\\"ax-font-medium ax-text-base ax-text-on-lightest\\\">Terminate All Other Sessions</div>\\n <p class=\\\"ax-font-normal ax-text-sm ax-subtitle-on-lightest\\\">Log out all devices exept for this one.</p>\\n </div>\\n </div>\\n }\\n @if (itemsWithIcons() && itemsWithIcons().length > 0) {\\n <div>\\n <p class=\\\"ax-font-semibold ax-text-base ax-text-on-lightest ax-mt-4 ax-mb-4\\\">Active Devices</p>\\n @for (item of itemsWithIcons(); track item) {\\n <div>\\n <div\\n class=\\\"ax-flex ax-border ax-items-center ax-relative ax-rounded-lg ax-border-lightest ax-bg-lightest ax-text-on-lightest ax-mb-3 ax-p-3\\\"\\n >\\n <i\\n class=\\\"ax-icon ax-icon-close ax-absolute ax-end-2 ax-top-2 ax-cursor-pointer\\\"\\n (click)=\\\"onTerminate(item.id)\\\"\\n ></i>\\n <div class=\\\"ax-border ax-rounded-lg\\\">\\n <i class=\\\"{{ item.icon }} ax-m-3\\\"></i>\\n </div>\\n <div class=\\\"ax-flex ax-flex-col ax-ml-2\\\">\\n <div class=\\\"ax-font-medium ax-text-base ax-text-on-lightest\\\">{{ item.deviceName }}</div>\\n <div class=\\\"ax-font-normal ax-text-sm ax-text-on-lightest\\\">{{ item.operatingSystem }}</div>\\n <p class=\\\"ax-font-normal ax-text-xs ax-subtitle-on-lightest\\\">\\n {{ item.location }} <span>{{ item.lastLoginDate ? (item.lastLoginDate | date: 'yyyy/MM/dd HH:mm') : '' }}</span>\\n </p>\\n </div>\\n </div>\\n </div>\\n }\\n </div>\\n }\\n</div>\\n<ax-footer>\\n <div class=\\\"ax-flex-col ax-w-full\\\">\\n <div>\\n <p class=\\\"ax-text-danger-500 ax-font-medium ax-text-base\\\">Terminate Old Sessions</p>\\n </div>\\n <div>\\n <ax-suffix>\\n <div class=\\\"ax-flex ax-items-center ax-justify-between ax-mt-4\\\">\\n <div class=\\\"ax-font-normal ax-text-base ax-text-on-lightest\\\">If inactive for...</div>\\n <div class=\\\"ax-w-3/6\\\">\\n <ax-select-box\\n [ngModel]=\\\"expireTime()\\\"\\n (onValueChanged)=\\\"onChangeSessionExpireTime($event)\\\"\\n [dataSource]=\\\"dataSource\\\"\\n textField=\\\"name\\\"\\n valueField=\\\"id\\\"\\n placeholder=\\\"Choose...\\\"\\n >\\n </ax-select-box>\\n </div>\\n </div>\\n </ax-suffix>\\n </div>\\n </div>\\n</ax-footer>\\n\" }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1zZXNzaW9ucy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvYXV0aC9zcmMvbGliL3BhZ2VzL2FjY291bnQvdXNlci1zZXNzaW9ucy91c2VyLXNlc3Npb25zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9hdXRoL3NyYy9saWIvcGFnZXMvYWNjb3VudC91c2VyLXNlc3Npb25zL3VzZXItc2Vzc2lvbnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sRUFBRSxZQUFZLEVBQXVCLE1BQU0sb0JBQW9CLENBQUM7QUFDdkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbkQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDekQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9D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bUIsRUFBRSxDQUFDO1FBQzNELE1BQU0sSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDaEMsQ0FBQzsrR0F4R1Usd0JBQXdCO21HQUF4Qix3QkFBd0Isd0VDOUJyQyxzOEhBeUZBLDJDRHBFSSxjQUFjLDhCQUNkLGlCQUFpQixxUEFDakIsWUFBWSw4QkFDWixXQUFXLDhWQUNYLGlCQUFpQixndUJBQ2pCLGdCQUFnQiw4QkFDaEIsZUFBZTs7NEZBR04sd0JBQXdCO2tCQWJwQyxTQUFTO3NDQUVTLHVCQUF1QixDQUFDLE1BQU0sV0FDdEM7d0JBQ1AsY0FBYzt3QkFDZCxpQkFBaUI7d0JBQ2pCLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxpQkFBaUI7d0JBQ2pCLGdCQUFnQjt3QkFDaEIsZUFBZTtxQkFDaEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9idXR0b24nO1xuaW1wb3J0IHsgQVhEYXRhU291cmNlLCBBWFZhbHVlQ2hhbmdlZEV2ZW50IH0gZnJvbSAnQGFjb3JleC9jZGsvY29tbW9uJztcbmltcG9ydCB7IEFYRGVjb3JhdG9yTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RlY29yYXRvcnMnO1xuaW1wb3J0IHsgQVhEcm9wZG93bk1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kcm9wZG93bic7XG5pbXBvcnQgeyBBWFBvcG92ZXJNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvcG9wb3Zlcic7XG5pbXBvcnQgeyBBWFBvcHVwU2VydmljZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9wb3B1cCc7XG5pbXBvcnQgeyBBWFNlbGVjdEJveE1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9zZWxlY3QtYm94JztcbmltcG9ydCB7IEFYUGxhdGZvcm0gfSBmcm9tICdAYWNvcmV4L2NvcmUvcGxhdGZvcm0nO1xuaW1wb3J0IHsgQVhUcmFuc2xhdGlvblNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L2NvcmUvdHJhbnNsYXRpb24nO1xuaW1wb3J0IHsgQVhQU2Vzc2lvblNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2F1dGgnO1xuaW1wb3J0IHsgQVhQU2V0dGluZ1NlcnZpY2UgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvbW1vbic7XG5pbXBvcnQgeyBBWFBQbGF0Zm9ybVNjb3BlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgY29tcHV0ZWQsIGluamVjdCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEFYTVVzZXJEZXZpY2VTZXNzaW9uc1NlcnZpY2UgfSBmcm9tICcuL3VzZXItc2Vzc2lvbnMuc2VydmljZSc7XG5pbXBvcnQgeyBBWE1TZWN1cml0eU1hbmFnZW1lbnREZXZpY2VTZXNzaW9uc0VudGl0eU1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL3R5cGVzL2RldmljZS1zZXNzaW9ucy50eXBlcyc7XG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGVVcmw6ICcuL3VzZXItc2Vzc2lvbnMuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaW1wb3J0czogW1xuICAgIEFYQnV0dG9uTW9kdWxlLFxuICAgIEFYRGVjb3JhdG9yTW9kdWxlLFxuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBBWFNlbGVjdEJveE1vZHVsZSxcbiAgICBBWERyb3Bkb3duTW9kdWxlLFxuICAgIEFYUG9wb3Zlck1vZHVsZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhNVXNlclNlc3Npb25zQ29tcG9uZW50IHtcbiAgQVhQVG9rZW5FeHBpcmF0aW9uRHVyYXRpb25zID0ge1xuICAgIG9uZVdlZWs6ICdvbmVXZWVrJyxcbiAgICBvbmVNb250aDogJ29uZU1vbnRoJyxcbiAgICB0aHJlZU1vbnRoczogJ3RocmVlTW9udGhzJyxcbiAgICBzaXhNb250aHM6ICdzaXhNb250aHMnLFxuICB9O1xuXG4gIGl0ZW1zID0gc2lnbmFsPEFYTVNlY3VyaXR5TWFuYWdlbWVudERldmljZVNlc3Npb25zRW50aXR5TW9kZWxbXT4oW10pO1xuICBhY3RpdmVTZXNzaW9uID0gc2lnbmFsPEFYTVNlY3VyaXR5TWFuYWdlbWVudERldmljZVNlc3Npb25zRW50aXR5TW9kZWwgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gIGV4cGlyZVRpbWUgPSBzaWduYWw8eyBuYW1lOiBzdHJpbmc7IGlkOiBzdHJpbmcgfSB8IG51bGw+KG51bGwpO1xuXG4gIGV4cGlyYXRpb25JdGVtcyA9IFtcbiAgICB7IG5hbWU6ICdUZXJtaW5hdGUgaW4gMSB3ZWVrJywgaWQ6IHRoaXMuQVhQVG9rZW5FeHBpcmF0aW9uRHVyYXRpb25zLm9uZVdlZWsgfSxcbiAgICB7IG5hbWU6ICdUZXJtaW5hdGUgaW4gMSBtb250aCcsIGlkOiB0aGlzLkFYUFRva2VuRXhwaXJhdGlvbkR1cmF0aW9ucy5vbmVNb250aCB9LFxuICAgIHsgbmFtZTogJ1Rlcm1pbmF0ZSBpbiAzIG1vbnRoJywgaWQ6IHRoaXMuQVhQVG9rZW5FeHBpcmF0aW9uRHVyYXRpb25zLnRocmVlTW9udGhzIH0sXG4gICAgeyBuYW1lOiAnVGVybWluYXRlIGluIDYgbW9udGgnLCBpZDogdGhpcy5BWFBUb2tlbkV4cGlyYXRpb25EdXJhdGlvbnMuc2l4TW9udGhzIH0sXG4gIF07XG4gIHByb3RlY3RlZCBkYXRhU291cmNlID0gbmV3IEFYRGF0YVNvdXJjZTxhbnk+KHtcbiAgICBwYWdlU2l6ZTogMTAsXG4gICAga2V5OiAnaWQnLFxuICAgIGxvYWQ6IGFzeW5jIChlKSA9PiB7XG4gICAgICBsZXQgaXRlbXMgPSB0aGlzLmV4cGlyYXRpb25JdGVtcztcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGl0ZW1zLFxuICAgICAgICB0b3RhbDogaXRlbXMubGVuZ3RoLFxuICAgICAgfTtcbiAgICB9LFxuICB9KTtcbiAgcHJpdmF0ZSB1c2VyRGV2aWNlU2Vzc2lvbnNTZXJ2aWNlID0gaW5qZWN0KEFYTVVzZXJEZXZpY2VTZXNzaW9uc1NlcnZpY2UpO1xuICBwcml2YXRlIGNkUmVmID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcbiAgcHJpdmF0ZSBwb3B1cFNlcnZpY2UgPSBpbmplY3QoQVhQb3B1cFNlcnZpY2UpO1xuICBwcml2YXRlIHBsYXRmb3JtID0gaW5qZWN0KEFYUGxhdGZvcm0pO1xuICBwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2UgPSBpbmplY3QoQVhUcmFuc2xhdGlvblNlcnZpY2UpO1xuICBwcml2YXRlIHNlc3Npb25TZXJ2aWNlID0gaW5qZWN0KEFYUFNlc3Npb25TZXJ2aWNlKTtcbiAgcHJpdmF0ZSBzZXR0aW5nU2VydmljZSA9IGluamVjdChBWFBTZXR0aW5nU2VydmljZSk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5sb2FkVXNlclNlc3Npb25zKCk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGxvYWRVc2VyU2Vzc2lvbnMoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdHJ5IHtcbiAgICAgIGxldCBzZXNzaW9ucyA9IGF3YWl0IHRoaXMudXNlckRldmljZVNlc3Npb25zU2VydmljZS5nZXRTZXNzaW9ucygpO1xuICAgICAgdGhpcy5pdGVtcy5zZXQoc2Vzc2lvbnMpO1xuICAgICAgXG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCBhY3RpdmVTZXNzaW9uID0gYXdhaXQgdGhpcy51c2VyRGV2aWNlU2Vzc2lvbnNTZXJ2aWNlLmdldEN1cnJlbnRBY3RpdmVTZXNzaW9ucygpO1xuICAgICAgICB0aGlzLmFjdGl2ZVNlc3Npb24uc2V0KGFjdGl2ZVNlc3Npb24pO1xuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgY29uc29sZS53YXJuKCdObyBhY3RpdmUgc2Vzc2lvbiBmb3VuZDonLCBlcnJvcik7XG4gICAgICAgIHRoaXMuYWN0aXZlU2Vzc2lvbi5zZXQodW5kZWZpbmVkKTtcbiAgICAgIH1cbiAgICAgIFxuICAgICAgY29uc3Qgc2Vzc2lvblRpbWVvdXQgPSBhd2FpdCB0aGlzLnNldHRpbmdTZXJ2aWNlLnNjb3BlKEFYUFBsYXRmb3JtU2NvcGUuVXNlcikuZ2V0KCdzZXNzaW9uLXRpbWVvdXQnKTtcbiAgICAgIGlmIChzZXNzaW9uVGltZW91dCAmJiBzZXNzaW9uVGltZW91dC5pZCBpbiB0aGlzLkFYUFRva2VuRXhwaXJhdGlvbkR1cmF0aW9ucykge1xuICAgICAgICBsZXQgc2VsZWN0ZWRJdGVtID0gdGhpcy5leHBpcmF0aW9uSXRlbXMuZmluZCgoaXRlbSkgPT4gaXRlbS5pZCA9PT0gc2Vzc2lvblRpbWVvdXQuaWQpO1xuICAgICAgICBpZiAoc2VsZWN0ZWRJdGVtKSB7XG4gICAgICAgICAgdGhpcy5leHBpcmVUaW1lLnNldCh7IG5hbWU6IHNlbGVjdGVkSXRlbS5uYW1lLCBpZDogc2VsZWN0ZWRJdGVtLmlkIH0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGxvYWRpbmcgdXNlciBzZXNzaW9ucycsIGVycm9yKTtcbiAgICB9XG4gIH1cblxuICAvLyDinIUgVXNlIGEgY29tcHV0ZWQgc2lnbmFsIHRvIHVwZGF0ZSBkeW5hbWljYWxseSB3aGVuIGl0ZW1zIGNoYW5nZVxuICBpdGVtc1dpdGhJY29ucyA9IGNvbXB1dGVkKCgpID0+XG4gICAgdGhpcy5pdGVtcygpLm1hcCgoaXRlbSkgPT4gKHtcbiAgICAgIC4uLml0ZW0sXG4gICAgICBpY29uOiB0aGlzLmdldERldmljZUljb24oaXRlbS5kZXZpY2VOYW1lKSxcbiAgICB9KSksXG4gICk7XG5cbiAgZ2V0RGV2aWNlSWNvbihkZXZpY2VOYW1lOiBzdHJpbmcgfCB1bmRlZmluZWQpOiBzdHJpbmcge1xuICAgIGlmICghZGV2aWNlTmFtZSkgcmV0dXJuICdmYS1zb2xpZCBmYS1xdWVzdGlvbic7IC8vIERlZmF1bHQgaWNvbiBpZiBubyBuYW1lIGlzIHByb3ZpZGVkXG5cbiAgICBjb25zdCBsb3dlckNhc2VOYW1lID0gZGV2aWNlTmFtZS50b0xvd2VyQ2FzZSgpO1xuXG4gICAgaWYgKGxvd2VyQ2FzZU5hbWUuaW5jbHVkZXMoJ3dpbmRvd3MnKSkgcmV0dXJuICdmYS1icmFuZHMgZmEtd2luZG93cyc7XG4gICAgaWYgKGxvd2VyQ2FzZU5hbWUuaW5jbHVkZXMoJ21hY2Jvb2snKSB8fCBsb3dlckNhc2VOYW1lLmluY2x1ZGVzKCdtYWMnKSkgcmV0dXJuICdmYS1icmFuZHMgZmEtYXBwbGUnO1xuICAgIGlmIChsb3dlckNhc2VOYW1lLmluY2x1ZGVzKCdsaW51eCcpKSByZXR1cm4gJ2ZhLWJyYW5kcyBmYS1saW51eCc7XG4gICAgaWYgKGxvd2VyQ2FzZU5hbWUuaW5jbHVkZXMoJ2FuZHJvaWQnKSkgcmV0dXJuICdmYS1icmFuZHMgZmEtYW5kcm9pZCc7XG4gICAgaWYgKGxvd2VyQ2FzZU5hbWUuaW5jbHVkZXMoJ2lvcycpIHx8IGxvd2VyQ2FzZU5hbWUuaW5jbHVkZXMoJ2lwaG9uZScpIHx8IGxvd2VyQ2FzZU5hbWUuaW5jbHVkZXMoJ2lwYWQnKSkgcmV0dXJuICdmYS1icmFuZHMgZmEtYXBwbGUnO1xuXG4gICAgcmV0dXJuICdmYS1zb2xpZCBmYS1kZXNrdG9wJzsgLy8gRGVmYXVsdCBpY29uIGZvciB1bmtub3duIGRldmljZXNcbiAgfVxuXG4gIHByb3RlY3RlZCBvbkNoYW5nZVNlc3Npb25FeHBpcmVUaW1lKGU6IEFYVmFsdWVDaGFuZ2VkRXZlbnQpIHtcbiAgICB0aGlzLnVzZXJEZXZpY2VTZXNzaW9uc1NlcnZpY2Uuc2V0VG9rZW5MaWZldGltZU1pbnV0ZXMoZS5jb21wb25lbnQuc2VsZWN0ZWRJdGVtc1swXSk7XG4gIH1cblxuICBhc3luYyBvblRlcm1pbmF0ZShzZXNzaW9uSWQ6IHN0cmluZyB8IHVuZGVmaW5lZCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICghc2Vzc2lvbklkKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdObyBpdGVtIHRvIHRlcm1pbmF0ZScpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBhd2FpdCB0aGlzLnVzZXJEZXZpY2VTZXNzaW9uc1NlcnZpY2UudGVybWluYXRlU2Vzc2lvbihzZXNzaW9uSWQpO1xuICAgIGF3YWl0IHRoaXMubG9hZFVzZXJTZXNzaW9ucygpO1xuICB9XG5cbiAgYXN5bmMgb25UZXJtaW5hdGVBbGwoKSB7XG4gICAgYXdhaXQgdGhpcy51c2VyRGV2aWNlU2Vzc2lvbnNTZXJ2aWNlLnRlcm1pbmF0ZUFsbFNlc3Npb24oKTtcbiAgICBhd2FpdCB0aGlzLmxvYWRVc2VyU2Vzc2lvbnMoKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImF4LW14LWF1dG8gYXgtcC02IGF4LXctZnVsbFwiPlxuICA8cCBjbGFzcz1cImF4LWZvbnQtc2VtaWJvbGQgYXgtdGV4dC1iYXNlIGF4LXRleHQtb24tbGlnaHRlc3QgYXgtbWItNFwiPlRoaXMgRGV2aWNlPC9wPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJheC1mbGV4IGF4LWJvcmRlciBheC1pdGVtcy1jZW50ZXIgYXgtcm91bmRlZC1sZyBheC1ib3JkZXItbGlnaHRlc3QgYXgtYmctbGlnaHRlc3QgYXgtdGV4dC1vbi1saWdodGVzdCBheC1tYi0zIGF4LXAtM1wiXG4gICAgPlxuICAgIDxkaXYgY2xhc3M9XCJheC1ib3JkZXItcHJpbWFyeS0yMDAgYXgtYm9yZGVyIGF4LWJnLXByaW1hcnktNTAgYXgtcm91bmRlZC1sZ1wiPlxuICAgICAgPGkgY2xhc3M9XCJ7eyBnZXREZXZpY2VJY29uKGFjdGl2ZVNlc3Npb24oKT8uZGV2aWNlTmFtZSkgfX0gYXgtdGV4dC1wcmltYXJ5LTUwMCBheC1tLTNcIj48L2k+XG4gICAgPC9kaXY+XG4gICAgQGlmIChhY3RpdmVTZXNzaW9uKCkpIHtcbiAgICAgIDxkaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJheC1mbGV4IGF4LWZsZXgtY29sIGF4LW1sLTJcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtZm9udC1tZWRpdW0gYXgtdGV4dC1iYXNlIGF4LXRleHQtb24tbGlnaHRlc3RcIj57eyBhY3RpdmVTZXNzaW9uKCk/LmRldmljZU5hbWUgfX08L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtZm9udC1ub3JtYWwgYXgtdGV4dC1zbSBheC10ZXh0LW9uLWxpZ2h0ZXN0XCI+e3sgYWN0aXZlU2Vzc2lvbigpPy5vcGVyYXRpbmdTeXN0ZW0gfX08L2Rpdj5cbiAgICAgICAgICA8cCBjbGFzcz1cImF4LWZvbnQtbm9ybWFsIGF4LXRleHQteHMgYXgtc3VidGl0bGUtb24tbGlnaHRlc3RcIj5cbiAgICAgICAgICAgIHt7IGFjdGl2ZVNlc3Npb24oKT8ubG9jYXRpb24gfX0gPHNwYW4+XG4gICAgICAgICAgICAgIHt7IGFjdGl2ZVNlc3Npb24oKT8ubGFzdExvZ2luRGF0ZSA/IChhY3RpdmVTZXNzaW9uKCk/Lmxhc3RMb2dpbkRhdGUgfCBkYXRlOiAneXl5eS9NTS9kZCBISDptbScpIDogJycgfX1cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8L3A+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgfVxuICA8L2Rpdj5cblxuICBAaWYgKGl0ZW1zV2l0aEljb25zKCkgJiYgaXRlbXNXaXRoSWNvbnMoKS5sZW5ndGggPiAwKSB7XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJheC1mbGV4IGF4LWJvcmRlciBheC1pdGVtcy1jZW50ZXIgYXgtcm91bmRlZC1sZyBheC1ib3JkZXItbGlnaHRlc3QgYXgtYmctbGlnaHRlc3QgYXgtdGV4dC1vbi1saWdodGVzdCBheC1tYi0zIGF4LXAtM1wiXG4gICAgICA+XG4gICAgICA8ZGl2IGNsYXNzPVwiYXgtYm9yZGVyLWRhbmdlci0yMDAgYXgtYm9yZGVyIGF4LWJnLWRhbmdlci01MCBheC1yb3VuZGVkLWxnXCI+XG4gICAgICAgIDxpIGNsYXNzPVwiYXgtaWNvbiBheC1pY29uLWNsZWFyIGF4LXRleHQtZGFuZ2VyLTUwMCBheC1tLTNcIj48L2k+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJheC1mbGV4IGF4LWZsZXgtY29sIGF4LW1sLTIgYXgtY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwib25UZXJtaW5hdGVBbGwoKVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtZm9udC1tZWRpdW0gYXgtdGV4dC1iYXNlIGF4LXRleHQtb24tbGlnaHRlc3RcIj5UZXJtaW5hdGUgQWxsIE90aGVyIFNlc3Npb25zPC9kaXY+XG4gICAgICAgIDxwIGNsYXNzPVwiYXgtZm9udC1ub3JtYWwgYXgtdGV4dC1zbSBheC1zdWJ0aXRsZS1vbi1saWdodGVzdFwiPkxvZyBvdXQgYWxsIGRldmljZXMgZXhlcHQgZm9yIHRoaXMgb25lLjwvcD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICB9XG4gIEBpZiAoaXRlbXNXaXRoSWNvbnMoKSAmJiBpdGVtc1dpdGhJY29ucygpLmxlbmd0aCA+IDApIHtcbiAgICA8ZGl2PlxuICAgICAgPHAgY2xhc3M9XCJheC1mb250LXNlbWlib2xkIGF4LXRleHQtYmFzZSBheC10ZXh0LW9uLWxpZ2h0ZXN0IGF4LW10LTQgYXgtbWItNFwiPkFjdGl2ZSBEZXZpY2VzPC9wPlxuICAgICAgQGZvciAoaXRlbSBvZiBpdGVtc1dpdGhJY29ucygpOyB0cmFjayBpdGVtKSB7XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3M9XCJheC1mbGV4IGF4LWJvcmRlciBheC1pdGVtcy1jZW50ZXIgYXgtcmVsYXRpdmUgYXgtcm91bmRlZC1sZyBheC1ib3JkZXItbGlnaHRlc3QgYXgtYmctbGlnaHRlc3QgYXgtdGV4dC1vbi1saWdodGVzdCBheC1tYi0zIGF4LXAtM1wiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICA8aVxuICAgICAgICAgICAgICBjbGFzcz1cImF4LWljb24gYXgtaWNvbi1jbG9zZSBheC1hYnNvbHV0ZSBheC1lbmQtMiBheC10b3AtMiBheC1jdXJzb3ItcG9pbnRlclwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJvblRlcm1pbmF0ZShpdGVtLmlkKVwiXG4gICAgICAgICAgICA+PC9pPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWJvcmRlciBheC1yb3VuZGVkLWxnXCI+XG4gICAgICAgICAgICAgIDxpIGNsYXNzPVwie3sgaXRlbS5pY29uIH19IGF4LW0tM1wiPjwvaT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtZmxleC1jb2wgYXgtbWwtMlwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtZm9udC1tZWRpdW0gYXgtdGV4dC1iYXNlIGF4LXRleHQtb24tbGlnaHRlc3RcIj57eyBpdGVtLmRldmljZU5hbWUgfX08L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWZvbnQtbm9ybWFsIGF4LXRleHQtc20gYXgtdGV4dC1vbi1saWdodGVzdFwiPnt7IGl0ZW0ub3BlcmF0aW5nU3lzdGVtIH19PC9kaXY+XG4gICAgICAgICAgICAgIDxwIGNsYXNzPVwiYXgtZm9udC1ub3JtYWwgYXgtdGV4dC14cyBheC1zdWJ0aXRsZS1vbi1saWdodGVzdFwiPlxuICAgICAgICAgICAgICAgIHt7IGl0ZW0ubG9jYXRpb24gfX0gPHNwYW4+e3sgaXRlbS5sYXN0TG9naW5EYXRlID8gKGl0ZW0ubGFzdExvZ2luRGF0ZSB8IGRhdGU6ICd5eXl5L01NL2RkIEhIOm1tJykgOiAnJyB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgfVxuICAgIDwvZGl2PlxuICB9XG48L2Rpdj5cbjxheC1mb290ZXI+XG4gIDxkaXYgY2xhc3M9XCJheC1mbGV4LWNvbCBheC13LWZ1bGxcIj5cbiAgICA8ZGl2PlxuICAgICAgPHAgY2xhc3M9XCJheC10ZXh0LWRhbmdlci01MDAgYXgtZm9udC1tZWRpdW0gYXgtdGV4dC1iYXNlXCI+VGVybWluYXRlIE9sZCBTZXNzaW9uczwvcD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2PlxuICAgICAgPGF4LXN1ZmZpeD5cbiAgICAgICAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtaXRlbXMtY2VudGVyIGF4LWp1c3RpZnktYmV0d2VlbiBheC1tdC00XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWZvbnQtbm9ybWFsIGF4LXRleHQtYmFzZSBheC10ZXh0LW9uLWxpZ2h0ZXN0XCI+SWYgaW5hY3RpdmUgZm9yLi4uPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImF4LXctMy82XCI+XG4gICAgICAgICAgICA8YXgtc2VsZWN0LWJveFxuICAgICAgICAgICAgICBbbmdNb2RlbF09XCJleHBpcmVUaW1lKClcIlxuICAgICAgICAgICAgICAob25WYWx1ZUNoYW5nZWQpPVwib25DaGFuZ2VTZXNzaW9uRXhwaXJlVGltZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgW2RhdGFTb3VyY2VdPVwiZGF0YVNvdXJjZVwiXG4gICAgICAgICAgICAgIHRleHRGaWVsZD1cIm5hbWVcIlxuICAgICAgICAgICAgICB2YWx1ZUZpZWxkPVwiaWRcIlxuICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIkNob29zZS4uLlwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgIDwvYXgtc2VsZWN0LWJveD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2F4LXN1ZmZpeD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2F4LWZvb3Rlcj5cbiJdfQ=="],"names":["i4"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { e as AXMAuthErrorHandler, h as AXMAuthModule, a as AXMAuthenticationTypes, f as AXMDefaultAuthConfigs, k as AXMDeviceSessionsService, l as AXMDeviceSessionsServiceImpl, i as AXMSessionStatusTypes, A as AXM_AUTH_CONFIG_TOKEN, j as AXPIdleService, g as configAuthModule } from './acorex-modules-auth-acorex-modules-auth-
|
|
1
|
+
export { e as AXMAuthErrorHandler, h as AXMAuthModule, a as AXMAuthenticationTypes, f as AXMDefaultAuthConfigs, k as AXMDeviceSessionsService, l as AXMDeviceSessionsServiceImpl, i as AXMSessionStatusTypes, A as AXM_AUTH_CONFIG_TOKEN, j as AXPIdleService, g as configAuthModule } from './acorex-modules-auth-acorex-modules-auth-BDgtGHcw.mjs';
|
|
2
2
|
//# sourceMappingURL=acorex-modules-auth.mjs.map
|
|
@@ -2,7 +2,7 @@ import { AXPopupService } from '@acorex/components/popup';
|
|
|
2
2
|
import { AXTranslationService } from '@acorex/core/translation';
|
|
3
3
|
import { AXPSettingService } from '@acorex/platform/common';
|
|
4
4
|
import { AXPBroadcastEventService, AXPPlatformScope } from '@acorex/platform/core';
|
|
5
|
-
import { AXPEntityDefinitionRegistryService } from '@acorex/platform/layout/entity';
|
|
5
|
+
import { AXPEntityDefinitionRegistryService, AXPEntityEventsKeys } from '@acorex/platform/layout/entity';
|
|
6
6
|
import * as i0 from '@angular/core';
|
|
7
7
|
import { inject, signal, Injectable } from '@angular/core';
|
|
8
8
|
|
|
@@ -33,7 +33,7 @@ class AXPManageExtraPropertiesCommand {
|
|
|
33
33
|
.set(`extra-properties.schema.${entityName}`, result.data.schema);
|
|
34
34
|
//Dispatch definition-updated for immediate same-tab refresh (cross-tab covered by bridge)
|
|
35
35
|
await this.entityDefinitionRegistryService.refresh(entityName);
|
|
36
|
-
this.eventService.publish(
|
|
36
|
+
this.eventService.publish(AXPEntityEventsKeys.REFRESH_LAYOUT, {
|
|
37
37
|
name: entityName,
|
|
38
38
|
});
|
|
39
39
|
updated = true;
|
|
@@ -65,4 +65,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImpo
|
|
|
65
65
|
}] });
|
|
66
66
|
|
|
67
67
|
export { AXPManageExtraPropertiesCommand };
|
|
68
|
-
//# sourceMappingURL=acorex-modules-common-manage-extra-properties.command-
|
|
68
|
+
//# sourceMappingURL=acorex-modules-common-manage-extra-properties.command-C4jE3MPJ.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"acorex-modules-common-manage-extra-properties.command-C4jE3MPJ.mjs","sources":["../tmp-esm2022/common/lib/features/extra-properties/manage-extra-properties.command.js"],"sourcesContent":["import { AXPopupService } from '@acorex/components/popup';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXPSettingService } from '@acorex/platform/common';\nimport { AXPBroadcastEventService, AXPPlatformScope } from '@acorex/platform/core';\nimport { AXPEntityDefinitionRegistryService, AXPEntityEventsKeys } from '@acorex/platform/layout/entity';\nimport { inject, Injectable, signal } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class AXPManageExtraPropertiesCommand {\n constructor() {\n this.settingsService = inject(AXPSettingService);\n this.popupService = inject(AXPopupService);\n this.translateService = inject(AXTranslationService);\n this.entityDefinitionRegistryService = inject(AXPEntityDefinitionRegistryService);\n this.eventService = inject(AXPBroadcastEventService);\n }\n async execute(ctx) {\n try {\n const entityName = ctx.target;\n const schema = (await this.settingsService.scope(AXPPlatformScope.Tenant).get(`extra-properties.schema.${entityName}`)) ?? [];\n const component = await import('./manage-extra-properties-popup.component').then((m) => m.AXPManageExtraPropertiesPopupComponent);\n const result = await this.popupService.open(component, {\n title: await this.translateService.translateAsync('@extra-properties:actions.manage'),\n size: 'lg',\n data: {\n schema: signal(schema),\n },\n });\n let updated = false;\n if (result && result.data?.schema) {\n await this.settingsService\n .scope(AXPPlatformScope.Tenant)\n .set(`extra-properties.schema.${entityName}`, result.data.schema);\n //Dispatch definition-updated for immediate same-tab refresh (cross-tab covered by bridge)\n await this.entityDefinitionRegistryService.refresh(entityName);\n this.eventService.publish(AXPEntityEventsKeys.REFRESH_LAYOUT, {\n name: entityName,\n });\n updated = true;\n }\n return {\n success: true,\n data: {\n updated,\n },\n };\n }\n catch (error) {\n return {\n success: false,\n message: {\n text: error instanceof Error ? error.message : 'Failed to manage extra properties',\n },\n };\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXPManageExtraPropertiesCommand, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXPManageExtraPropertiesCommand, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXPManageExtraPropertiesCommand, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFuYWdlLWV4dHJhLXByb3BlcnRpZXMuY29tbWFuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9jb21tb24vc3JjL2xpYi9mZWF0dXJlcy9leHRyYS1wcm9wZXJ0aWVzL21hbmFnZS1leHRyYS1wcm9wZXJ0aWVzLmNvbW1hbmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzFELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzVELE9BQU8sRUFBRSx3QkFBd0IsRUFBMkIsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUU1RyxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUV6RyxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSzNELE1BQU0sT0FBTywrQkFBK0I7SUFINUM7UUFJbUIsb0JBQWUsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUM1QyxpQkFBWSxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUN0QyxxQkFBZ0IsR0FBRyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUNoRCxvQ0FBK0IsR0FBRyxNQUFNLENBQUMsa0NBQWtDLENBQUMsQ0FBQztRQUM3RSxpQkFBWSxHQUFHLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO0tBK0NsRTtJQTdDQyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQVE7UUFDcEIsSUFBSSxDQUFDO1lBQ0gsTUFBTSxVQUFVLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQztZQUM5QixNQUFNLE1BQU0sR0FDVixDQUFDLE1BQU0sSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLDJCQUEyQixVQUFVLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO1lBRWpILE1BQU0sU0FBUyxHQUFHLE1BQU0sTUFBTSxDQUFDLDJDQUEyQyxDQUFDLENBQUMsSUFBSSxDQUM5RSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLHNDQUFzQyxDQUNoRCxDQUFDO1lBQ0YsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUU7Z0JBQ3JELEtBQUssRUFBRSxNQUFNLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLENBQUMsa0NBQWtDLENBQUM7Z0JBQ3JGLElBQUksRUFBRSxJQUFJO2dCQUNWLElBQUksRUFBRTtvQkFDSixNQUFNLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQztpQkFDdkI7YUFDRixDQUFDLENBQUM7WUFFSCxJQUFJLE9BQU8sR0FBRyxLQUFLLENBQUM7WUFDcEIsSUFBSSxNQUFNLElBQUssTUFBYyxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQztnQkFDM0MsTUFBTSxJQUFJLENBQUMsZUFBZTtxQkFDdkIsS0FBSyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQztxQkFDOUIsR0FBRyxDQUFDLDJCQUEyQixVQUFVLEVBQUUsRUFBRyxNQUFjLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUM3RSwwRkFBMEY7Z0JBQzFGLE1BQU0sSUFBSSxDQUFDLCtCQUErQixDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztnQkFDL0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsbUJBQW1CLENBQUMsY0FBYyxFQUFFO29CQUM1RCxJQUFJLEVBQUUsVUFBVTtpQkFDakIsQ0FBQyxDQUFDO2dCQUNILE9BQU8sR0FBRyxJQUFJLENBQUM7WUFDakIsQ0FBQztZQUVELE9BQU87Z0JBQ0wsT0FBTyxFQUFFLElBQUk7Z0JBQ2IsSUFBSSxFQUFFO29CQUNKLE9BQU87aUJBQ1I7YUFDRixDQUFDO1FBQ0osQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDZixPQUFPO2dCQUNMLE9BQU8sRUFBRSxLQUFLO2dCQUNkLE9BQU8sRUFBRTtvQkFDUCxJQUFJLEVBQUUsS0FBSyxZQUFZLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsbUNBQW1DO2lCQUNuRjthQUNGLENBQUM7UUFDSixDQUFDO0lBQ0gsQ0FBQzsrR0FuRFUsK0JBQStCO21IQUEvQiwrQkFBK0IsY0FGOUIsTUFBTTs7NEZBRVAsK0JBQStCO2tCQUgzQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYUG9wdXBTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3BvcHVwJztcbmltcG9ydCB7IEFYVHJhbnNsYXRpb25TZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9jb3JlL3RyYW5zbGF0aW9uJztcbmltcG9ydCB7IEFYUFNldHRpbmdTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb21tb24nO1xuaW1wb3J0IHsgQVhQQnJvYWRjYXN0RXZlbnRTZXJ2aWNlLCBBWFBFeGVjdXRlQ29tbWFuZFJlc3VsdCwgQVhQUGxhdGZvcm1TY29wZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29yZSc7XG5pbXBvcnQgeyBBWFBFeHRyYVByb3BlcnR5U2NoZW1hSXRlbSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgQVhQRW50aXR5RGVmaW5pdGlvblJlZ2lzdHJ5U2VydmljZSwgQVhQRW50aXR5RXZlbnRzS2V5cyB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2VudGl0eSc7XG5pbXBvcnQgeyBBWFBDb21tYW5kIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9ydW50aW1lJztcbmltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBBWFBNYW5hZ2VFeHRyYVByb3BlcnRpZXNDb21tYW5kIGltcGxlbWVudHMgQVhQQ29tbWFuZDxhbnksIGFueT4ge1xuICBwcml2YXRlIHJlYWRvbmx5IHNldHRpbmdzU2VydmljZSA9IGluamVjdChBWFBTZXR0aW5nU2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgcG9wdXBTZXJ2aWNlID0gaW5qZWN0KEFYUG9wdXBTZXJ2aWNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGVTZXJ2aWNlID0gaW5qZWN0KEFYVHJhbnNsYXRpb25TZXJ2aWNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBlbnRpdHlEZWZpbml0aW9uUmVnaXN0cnlTZXJ2aWNlID0gaW5qZWN0KEFYUEVudGl0eURlZmluaXRpb25SZWdpc3RyeVNlcnZpY2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IGV2ZW50U2VydmljZSA9IGluamVjdChBWFBCcm9hZGNhc3RFdmVudFNlcnZpY2UpO1xuXG4gIGFzeW5jIGV4ZWN1dGUoY3R4OiBhbnkpOiBQcm9taXNlPEFYUEV4ZWN1dGVDb21tYW5kUmVzdWx0PGFueT4+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgZW50aXR5TmFtZSA9IGN0eC50YXJnZXQ7XG4gICAgICBjb25zdCBzY2hlbWE6IEFYUEV4dHJhUHJvcGVydHlTY2hlbWFJdGVtW10gPVxuICAgICAgICAoYXdhaXQgdGhpcy5zZXR0aW5nc1NlcnZpY2Uuc2NvcGUoQVhQUGxhdGZvcm1TY29wZS5UZW5hbnQpLmdldChgZXh0cmEtcHJvcGVydGllcy5zY2hlbWEuJHtlbnRpdHlOYW1lfWApKSA/PyBbXTtcblxuICAgICAgY29uc3QgY29tcG9uZW50ID0gYXdhaXQgaW1wb3J0KCcuL21hbmFnZS1leHRyYS1wcm9wZXJ0aWVzLXBvcHVwLmNvbXBvbmVudCcpLnRoZW4oXG4gICAgICAgIChtKSA9PiBtLkFYUE1hbmFnZUV4dHJhUHJvcGVydGllc1BvcHVwQ29tcG9uZW50LFxuICAgICAgKTtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMucG9wdXBTZXJ2aWNlLm9wZW4oY29tcG9uZW50LCB7XG4gICAgICAgIHRpdGxlOiBhd2FpdCB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UudHJhbnNsYXRlQXN5bmMoJ0BleHRyYS1wcm9wZXJ0aWVzOmFjdGlvbnMubWFuYWdlJyksXG4gICAgICAgIHNpemU6ICdsZycsXG4gICAgICAgIGRhdGE6IHtcbiAgICAgICAgICBzY2hlbWE6IHNpZ25hbChzY2hlbWEpLFxuICAgICAgICB9LFxuICAgICAgfSk7XG5cbiAgICAgIGxldCB1cGRhdGVkID0gZmFsc2U7XG4gICAgICBpZiAocmVzdWx0ICYmIChyZXN1bHQgYXMgYW55KS5kYXRhPy5zY2hlbWEpIHtcbiAgICAgICAgYXdhaXQgdGhpcy5zZXR0aW5nc1NlcnZpY2VcbiAgICAgICAgICAuc2NvcGUoQVhQUGxhdGZvcm1TY29wZS5UZW5hbnQpXG4gICAgICAgICAgLnNldChgZXh0cmEtcHJvcGVydGllcy5zY2hlbWEuJHtlbnRpdHlOYW1lfWAsIChyZXN1bHQgYXMgYW55KS5kYXRhLnNjaGVtYSk7XG4gICAgICAgIC8vRGlzcGF0Y2ggZGVmaW5pdGlvbi11cGRhdGVkIGZvciBpbW1lZGlhdGUgc2FtZS10YWIgcmVmcmVzaCAoY3Jvc3MtdGFiIGNvdmVyZWQgYnkgYnJpZGdlKVxuICAgICAgICBhd2FpdCB0aGlzLmVudGl0eURlZmluaXRpb25SZWdpc3RyeVNlcnZpY2UucmVmcmVzaChlbnRpdHlOYW1lKTtcbiAgICAgICAgdGhpcy5ldmVudFNlcnZpY2UucHVibGlzaChBWFBFbnRpdHlFdmVudHNLZXlzLlJFRlJFU0hfTEFZT1VULCB7XG4gICAgICAgICAgbmFtZTogZW50aXR5TmFtZSxcbiAgICAgICAgfSk7XG4gICAgICAgIHVwZGF0ZWQgPSB0cnVlO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4ge1xuICAgICAgICBzdWNjZXNzOiB0cnVlLFxuICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgdXBkYXRlZCxcbiAgICAgICAgfSxcbiAgICAgIH07XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHN1Y2Nlc3M6IGZhbHNlLFxuICAgICAgICBtZXNzYWdlOiB7XG4gICAgICAgICAgdGV4dDogZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGVycm9yLm1lc3NhZ2UgOiAnRmFpbGVkIHRvIG1hbmFnZSBleHRyYSBwcm9wZXJ0aWVzJyxcbiAgICAgICAgfSxcbiAgICAgIH07XG4gICAgfVxuICB9XG59XG4iXX0="],"names":[],"mappings":"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"}
|