@acorex/modules 20.2.0-next.1 → 20.2.0-next.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/auth/index.d.ts +59 -4
- package/common/index.d.ts +1 -8
- package/contact-management/index.d.ts +69 -2
- package/conversation/README.md +2 -2
- package/conversation/index.d.ts +219 -114
- package/data-management/index.d.ts +5 -12
- package/document-management/index.d.ts +51 -4
- package/fesm2022/{acorex-modules-application-management-module-designer.component-udoks-Ef.mjs → acorex-modules-application-management-module-designer.component-CsZjqUAj.mjs} +7 -7
- package/fesm2022/{acorex-modules-application-management-module-designer.component-udoks-Ef.mjs.map → acorex-modules-application-management-module-designer.component-CsZjqUAj.mjs.map} +1 -1
- package/fesm2022/acorex-modules-application-management.mjs +41 -41
- package/fesm2022/acorex-modules-application-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-auth-acorex-modules-auth-y6rICHrT.mjs → acorex-modules-auth-acorex-modules-auth-tDyQQDnk.mjs} +254 -105
- package/fesm2022/acorex-modules-auth-acorex-modules-auth-tDyQQDnk.mjs.map +1 -0
- package/fesm2022/{acorex-modules-auth-app-chooser.component-Cpy0VN6n.mjs → acorex-modules-auth-app-chooser.component-yu1DJZKN.mjs} +8 -6
- package/fesm2022/acorex-modules-auth-app-chooser.component-yu1DJZKN.mjs.map +1 -0
- package/fesm2022/{acorex-modules-auth-blank.layout-C8NsXB9K.mjs → acorex-modules-auth-blank.layout-ZjroQcdq.mjs} +4 -4
- package/fesm2022/{acorex-modules-auth-blank.layout-C8NsXB9K.mjs.map → acorex-modules-auth-blank.layout-ZjroQcdq.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-login.module-ZEX4NMuJ.mjs → acorex-modules-auth-login.module-D1aa1F6G.mjs} +8 -8
- package/fesm2022/{acorex-modules-auth-login.module-ZEX4NMuJ.mjs.map → acorex-modules-auth-login.module-D1aa1F6G.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-master.layout-D-lIn4Pl.mjs → acorex-modules-auth-master.layout-CGQmSlGQ.mjs} +5 -5
- package/fesm2022/{acorex-modules-auth-master.layout-D-lIn4Pl.mjs.map → acorex-modules-auth-master.layout-CGQmSlGQ.mjs.map} +1 -1
- package/fesm2022/acorex-modules-auth-oauth-callback.component-m9YiJ4e9.mjs +97 -0
- package/fesm2022/acorex-modules-auth-oauth-callback.component-m9YiJ4e9.mjs.map +1 -0
- package/fesm2022/{acorex-modules-auth-password.component-CafZfqKe.mjs → acorex-modules-auth-password.component-Cb3FJ1DZ.mjs} +9 -9
- package/fesm2022/{acorex-modules-auth-password.component-CafZfqKe.mjs.map → acorex-modules-auth-password.component-Cb3FJ1DZ.mjs.map} +1 -1
- package/fesm2022/acorex-modules-auth-password.component-CiWdX7f_.mjs +226 -0
- package/fesm2022/acorex-modules-auth-password.component-CiWdX7f_.mjs.map +1 -0
- package/fesm2022/{acorex-modules-auth-routes-D9-qfC3V.mjs → acorex-modules-auth-routes-pae8qpX9.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-routes-D9-qfC3V.mjs.map → acorex-modules-auth-routes-pae8qpX9.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-tenant-chooser.component-B1aE-TOD.mjs → acorex-modules-auth-tenant-chooser.component-Bk0l3XoV.mjs} +21 -12
- package/fesm2022/acorex-modules-auth-tenant-chooser.component-Bk0l3XoV.mjs.map +1 -0
- package/fesm2022/{acorex-modules-auth-two-factor-code.component-BglerlU-.mjs → acorex-modules-auth-two-factor-code.component-DDEIajiI.mjs} +8 -8
- package/fesm2022/{acorex-modules-auth-two-factor-code.component-BglerlU-.mjs.map → acorex-modules-auth-two-factor-code.component-DDEIajiI.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-two-factor.module-D3N2XyOH.mjs → acorex-modules-auth-two-factor.module-DtcoHPH4.mjs} +7 -7
- package/fesm2022/{acorex-modules-auth-two-factor.module-D3N2XyOH.mjs.map → acorex-modules-auth-two-factor.module-DtcoHPH4.mjs.map} +1 -1
- package/fesm2022/acorex-modules-auth-user-sessions.component-sI6P2joA.mjs +135 -0
- package/fesm2022/acorex-modules-auth-user-sessions.component-sI6P2joA.mjs.map +1 -0
- package/fesm2022/acorex-modules-auth.mjs +1 -1
- package/fesm2022/acorex-modules-calendar-management.mjs +22 -22
- package/fesm2022/acorex-modules-calendar-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-common-search-popup.component-DbTj01Wz.mjs → acorex-modules-common-search-popup.component-D7Y4T3Rp.mjs} +8 -8
- package/fesm2022/{acorex-modules-common-search-popup.component-DbTj01Wz.mjs.map → acorex-modules-common-search-popup.component-D7Y4T3Rp.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-common-timeline-version-history-popup.component-D_6STmWm.mjs → acorex-modules-common-timeline-version-history-popup.component-ceEtE6qB.mjs} +7 -7
- package/fesm2022/{acorex-modules-common-timeline-version-history-popup.component-D_6STmWm.mjs.map → acorex-modules-common-timeline-version-history-popup.component-ceEtE6qB.mjs.map} +1 -1
- package/fesm2022/acorex-modules-common.mjs +1222 -1
- package/fesm2022/acorex-modules-common.mjs.map +1 -1
- package/fesm2022/{acorex-modules-contact-management-acorex-modules-contact-management-CM72FkGM.mjs → acorex-modules-contact-management-acorex-modules-contact-management-Co0tt3cj.mjs} +281 -54
- package/fesm2022/acorex-modules-contact-management-acorex-modules-contact-management-Co0tt3cj.mjs.map +1 -0
- package/fesm2022/{acorex-modules-contact-management-address-type.entity-CW0fx3v8.mjs → acorex-modules-contact-management-address-type.entity-DQZwgXki.mjs} +2 -2
- package/fesm2022/{acorex-modules-contact-management-address-type.entity-CW0fx3v8.mjs.map → acorex-modules-contact-management-address-type.entity-DQZwgXki.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-contact-management-contact-address.entity-D5OGWsSx.mjs → acorex-modules-contact-management-contact-address.entity-CFfRywsB.mjs} +2 -2
- package/fesm2022/{acorex-modules-contact-management-contact-address.entity-D5OGWsSx.mjs.map → acorex-modules-contact-management-contact-address.entity-CFfRywsB.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-contact-management-contact-method.entity-Cpdd-Xwb.mjs → acorex-modules-contact-management-contact-method.entity-Ci93_mb9.mjs} +2 -2
- package/fesm2022/{acorex-modules-contact-management-contact-method.entity-Cpdd-Xwb.mjs.map → acorex-modules-contact-management-contact-method.entity-Ci93_mb9.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-contact-management-contact-relationship.entity-B_gQ7mEo.mjs → acorex-modules-contact-management-contact-relationship.entity-CqdXpqLN.mjs} +2 -2
- package/fesm2022/{acorex-modules-contact-management-contact-relationship.entity-B_gQ7mEo.mjs.map → acorex-modules-contact-management-contact-relationship.entity-CqdXpqLN.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-contact-management-contact-source.entity-BwYBaS8B.mjs → acorex-modules-contact-management-contact-source.entity-BsF9p0GK.mjs} +2 -2
- package/fesm2022/{acorex-modules-contact-management-contact-source.entity-BwYBaS8B.mjs.map → acorex-modules-contact-management-contact-source.entity-BsF9p0GK.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-contact-management-emergency-contact-category.entity-CDbm4Rq3.mjs → acorex-modules-contact-management-emergency-contact-category.entity-DjOm8qQb.mjs} +2 -2
- package/fesm2022/{acorex-modules-contact-management-emergency-contact-category.entity-CDbm4Rq3.mjs.map → acorex-modules-contact-management-emergency-contact-category.entity-DjOm8qQb.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-contact-management-emergency-contact.entity-BpNDJPVs.mjs → acorex-modules-contact-management-emergency-contact.entity-BQyjzPR8.mjs} +2 -2
- package/fesm2022/{acorex-modules-contact-management-emergency-contact.entity-BpNDJPVs.mjs.map → acorex-modules-contact-management-emergency-contact.entity-BQyjzPR8.mjs.map} +1 -1
- package/fesm2022/acorex-modules-contact-management.mjs +1 -1
- package/fesm2022/acorex-modules-content-management.mjs +14 -36
- package/fesm2022/acorex-modules-content-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-conversation.mjs +1611 -1308
- package/fesm2022/acorex-modules-conversation.mjs.map +1 -1
- package/fesm2022/acorex-modules-dashboard-management.mjs +76 -75
- package/fesm2022/acorex-modules-dashboard-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-data-management.mjs +140 -126
- package/fesm2022/acorex-modules-data-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-document-management-acorex-modules-document-management-C7ot6PfT.mjs → acorex-modules-document-management-acorex-modules-document-management-DXGX-riG.mjs} +1402 -389
- package/fesm2022/acorex-modules-document-management-acorex-modules-document-management-DXGX-riG.mjs.map +1 -0
- package/fesm2022/{acorex-modules-document-management-attachment-widget.component-C6pop0RM.mjs → acorex-modules-document-management-attachment-widget.component-NaY7Mn95.mjs} +5 -5
- package/fesm2022/{acorex-modules-document-management-attachment-widget.component-C6pop0RM.mjs.map → acorex-modules-document-management-attachment-widget.component-NaY7Mn95.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-create-folder-dialog.component-ga7fuY4H.mjs → acorex-modules-document-management-create-folder-dialog.component-epxEuBU5.mjs} +5 -5
- package/fesm2022/{acorex-modules-document-management-create-folder-dialog.component-ga7fuY4H.mjs.map → acorex-modules-document-management-create-folder-dialog.component-epxEuBU5.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-details-view.component-CzTg3hha.mjs → acorex-modules-document-management-details-view.component-CMI2Eokj.mjs} +5 -5
- package/fesm2022/{acorex-modules-document-management-details-view.component-CzTg3hha.mjs.map → acorex-modules-document-management-details-view.component-CMI2Eokj.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-drive-choose.component-BB5d32EI.mjs → acorex-modules-document-management-drive-choose.component-DBKgwm70.mjs} +5 -5
- package/fesm2022/{acorex-modules-document-management-drive-choose.component-BB5d32EI.mjs.map → acorex-modules-document-management-drive-choose.component-DBKgwm70.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-drive.component-TzRLr7rb.mjs → acorex-modules-document-management-drive.component-DoGdTL3n.mjs} +11 -10
- package/fesm2022/acorex-modules-document-management-drive.component-DoGdTL3n.mjs.map +1 -0
- package/fesm2022/{acorex-modules-document-management-large-icons-view.component-BeKFvgYU.mjs → acorex-modules-document-management-large-icons-view.component-BRsTSoln.mjs} +5 -5
- package/fesm2022/{acorex-modules-document-management-large-icons-view.component-BeKFvgYU.mjs.map → acorex-modules-document-management-large-icons-view.component-BRsTSoln.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-large-tiles-view.component-CQyiGE99.mjs → acorex-modules-document-management-large-tiles-view.component-CpYeYyR5.mjs} +5 -5
- package/fesm2022/{acorex-modules-document-management-large-tiles-view.component-CQyiGE99.mjs.map → acorex-modules-document-management-large-tiles-view.component-CpYeYyR5.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-link-dialog.component-CPuOuvu-.mjs → acorex-modules-document-management-link-dialog.component-ZteosW8O.mjs} +4 -4
- package/fesm2022/{acorex-modules-document-management-link-dialog.component-CPuOuvu-.mjs.map → acorex-modules-document-management-link-dialog.component-ZteosW8O.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-list-view.component-CWGGArxw.mjs → acorex-modules-document-management-list-view.component-C4VFnACA.mjs} +5 -5
- package/fesm2022/{acorex-modules-document-management-list-view.component-CWGGArxw.mjs.map → acorex-modules-document-management-list-view.component-C4VFnACA.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-meta-choose-popup.component-C7ounW6N.mjs → acorex-modules-document-management-meta-choose-popup.component-D5Csi3A3.mjs} +4 -4
- package/fesm2022/{acorex-modules-document-management-meta-choose-popup.component-C7ounW6N.mjs.map → acorex-modules-document-management-meta-choose-popup.component-D5Csi3A3.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-meta-selector-widget-column.component-C_J1rPak.mjs → acorex-modules-document-management-meta-selector-widget-column.component-OXeS0kW8.mjs} +4 -4
- package/fesm2022/{acorex-modules-document-management-meta-selector-widget-column.component-C_J1rPak.mjs.map → acorex-modules-document-management-meta-selector-widget-column.component-OXeS0kW8.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-meta-selector-widget-designer.component-By_NgUX6.mjs → acorex-modules-document-management-meta-selector-widget-designer.component-BdVSGb3M.mjs} +4 -4
- package/fesm2022/{acorex-modules-document-management-meta-selector-widget-designer.component-By_NgUX6.mjs.map → acorex-modules-document-management-meta-selector-widget-designer.component-BdVSGb3M.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-meta-selector-widget-view.component-zwCw3v1w.mjs → acorex-modules-document-management-meta-selector-widget-view.component-B-Vos30P.mjs} +4 -4
- package/fesm2022/{acorex-modules-document-management-meta-selector-widget-view.component-zwCw3v1w.mjs.map → acorex-modules-document-management-meta-selector-widget-view.component-B-Vos30P.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-permission-definition.provider-s0P0M8p2.mjs → acorex-modules-document-management-permission-definition.provider-Bc7rbWwN.mjs} +10 -2
- package/fesm2022/acorex-modules-document-management-permission-definition.provider-Bc7rbWwN.mjs.map +1 -0
- package/fesm2022/{acorex-modules-document-management-rename-node-dialog.component-MPkYZl2p.mjs → acorex-modules-document-management-rename-node-dialog.component-DWUVMrVt.mjs} +5 -5
- package/fesm2022/{acorex-modules-document-management-rename-node-dialog.component-MPkYZl2p.mjs.map → acorex-modules-document-management-rename-node-dialog.component-DWUVMrVt.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-share-dialog.component-CLF6b1Io.mjs → acorex-modules-document-management-share-dialog.component-CkyuEAwV.mjs} +4 -4
- package/fesm2022/{acorex-modules-document-management-share-dialog.component-CLF6b1Io.mjs.map → acorex-modules-document-management-share-dialog.component-CkyuEAwV.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-share-email-dialog.component-B8zNvOUv.mjs → acorex-modules-document-management-share-email-dialog.component-DXjcTOny.mjs} +4 -4
- package/fesm2022/{acorex-modules-document-management-share-email-dialog.component-B8zNvOUv.mjs.map → acorex-modules-document-management-share-email-dialog.component-DXjcTOny.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-small-icons-view.component-DRVLlW1e.mjs → acorex-modules-document-management-small-icons-view.component-CCirsfoz.mjs} +5 -5
- package/fesm2022/{acorex-modules-document-management-small-icons-view.component-DRVLlW1e.mjs.map → acorex-modules-document-management-small-icons-view.component-CCirsfoz.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-small-tiles-view.component-C1E8RKYM.mjs → acorex-modules-document-management-small-tiles-view.component-58KZSQC4.mjs} +5 -5
- package/fesm2022/{acorex-modules-document-management-small-tiles-view.component-C1E8RKYM.mjs.map → acorex-modules-document-management-small-tiles-view.component-58KZSQC4.mjs.map} +1 -1
- package/fesm2022/acorex-modules-document-management.mjs +1 -1
- package/fesm2022/{acorex-modules-form-template-management-acorex-modules-form-template-management-zz8KU2BM.mjs → acorex-modules-form-template-management-acorex-modules-form-template-management-DxSYInAR.mjs} +65 -67
- package/fesm2022/acorex-modules-form-template-management-acorex-modules-form-template-management-DxSYInAR.mjs.map +1 -0
- package/fesm2022/{acorex-modules-form-template-management-category.entity-g5YGQjj3.mjs → acorex-modules-form-template-management-category.entity-DeCfvNqF.mjs} +2 -2
- package/fesm2022/{acorex-modules-form-template-management-category.entity-g5YGQjj3.mjs.map → acorex-modules-form-template-management-category.entity-DeCfvNqF.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-form-template-management-designer.page-DQorNK3f.mjs → acorex-modules-form-template-management-designer.page-BsjFGFOD.mjs} +4 -4
- package/fesm2022/{acorex-modules-form-template-management-designer.page-DQorNK3f.mjs.map → acorex-modules-form-template-management-designer.page-BsjFGFOD.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-form-template-management-permission-definition.provider-BFPqDVO3.mjs → acorex-modules-form-template-management-permission-definition.provider-CsjgxSgC.mjs} +2 -2
- package/fesm2022/{acorex-modules-form-template-management-permission-definition.provider-BFPqDVO3.mjs.map → acorex-modules-form-template-management-permission-definition.provider-CsjgxSgC.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-form-template-management-settings.provider-DYbrgJI7.mjs → acorex-modules-form-template-management-settings.provider-_BIGyRt8.mjs} +2 -2
- package/fesm2022/{acorex-modules-form-template-management-settings.provider-DYbrgJI7.mjs.map → acorex-modules-form-template-management-settings.provider-_BIGyRt8.mjs.map} +1 -1
- package/fesm2022/acorex-modules-form-template-management-template-picker.component-BCg756yD.mjs +224 -0
- package/fesm2022/acorex-modules-form-template-management-template-picker.component-BCg756yD.mjs.map +1 -0
- package/fesm2022/{acorex-modules-form-template-management-template-widget-edit.component-CCL7xNSm.mjs → acorex-modules-form-template-management-template-widget-edit.component-DkqRsXMq.mjs} +5 -5
- package/fesm2022/{acorex-modules-form-template-management-template-widget-edit.component-CCL7xNSm.mjs.map → acorex-modules-form-template-management-template-widget-edit.component-DkqRsXMq.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-form-template-management-template.entity-XNBsmQZY.mjs → acorex-modules-form-template-management-template.entity-CQm29n5v.mjs} +2 -2
- package/fesm2022/{acorex-modules-form-template-management-template.entity-XNBsmQZY.mjs.map → acorex-modules-form-template-management-template.entity-CQm29n5v.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-form-template-management-viewer-popup.component-Bw9VbGx7.mjs → acorex-modules-form-template-management-viewer-popup.component-DW2Z5EcJ.mjs} +12 -19
- package/fesm2022/acorex-modules-form-template-management-viewer-popup.component-DW2Z5EcJ.mjs.map +1 -0
- package/fesm2022/acorex-modules-form-template-management.mjs +1 -1
- package/fesm2022/{acorex-modules-issue-management-acorex-modules-issue-management-ITP4K-tZ.mjs → acorex-modules-issue-management-acorex-modules-issue-management-a_wcGVPh.mjs} +31 -35
- package/fesm2022/acorex-modules-issue-management-acorex-modules-issue-management-a_wcGVPh.mjs.map +1 -0
- package/fesm2022/{acorex-modules-issue-management-capture-screen.component-C1USFJeP.mjs → acorex-modules-issue-management-capture-screen.component-CsahsE-E.mjs} +5 -5
- package/fesm2022/{acorex-modules-issue-management-capture-screen.component-C1USFJeP.mjs.map → acorex-modules-issue-management-capture-screen.component-CsahsE-E.mjs.map} +1 -1
- package/fesm2022/acorex-modules-issue-management.mjs +1 -1
- package/fesm2022/acorex-modules-locale-management-acorex-modules-locale-management-CfaOC6U5.mjs +1975 -0
- package/fesm2022/acorex-modules-locale-management-acorex-modules-locale-management-CfaOC6U5.mjs.map +1 -0
- package/fesm2022/acorex-modules-locale-management-profiles-MJ9xFTtp.mjs +19 -0
- package/fesm2022/acorex-modules-locale-management-profiles-MJ9xFTtp.mjs.map +1 -0
- package/fesm2022/{acorex-modules-common-settings.provider-DPVsF4c9.mjs → acorex-modules-locale-management-settings.provider-PKnqTses.mjs} +6 -6
- package/fesm2022/acorex-modules-locale-management-settings.provider-PKnqTses.mjs.map +1 -0
- package/fesm2022/acorex-modules-locale-management.mjs +2 -0
- package/fesm2022/acorex-modules-locale-management.mjs.map +1 -0
- package/fesm2022/acorex-modules-location-management.mjs +3139 -0
- package/fesm2022/acorex-modules-location-management.mjs.map +1 -0
- package/fesm2022/acorex-modules-log-management.mjs +160 -35
- package/fesm2022/acorex-modules-log-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-notification-management.mjs +180 -73
- package/fesm2022/acorex-modules-notification-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-organization-management-add-item.component-Dr-bwC4K.mjs → acorex-modules-organization-management-add-item.component-CzIIXsRJ.mjs} +4 -4
- package/fesm2022/{acorex-modules-organization-management-add-item.component-Dr-bwC4K.mjs.map → acorex-modules-organization-management-add-item.component-CzIIXsRJ.mjs.map} +1 -1
- package/fesm2022/acorex-modules-organization-management-branch.entity-CHp5WtIF.mjs.map +1 -1
- package/fesm2022/acorex-modules-organization-management-department.entity-BxCyXNtv.mjs.map +1 -1
- package/fesm2022/acorex-modules-organization-management-division.entity-DzQT2jpz.mjs.map +1 -1
- package/fesm2022/acorex-modules-organization-management-employee.entity-CSY_U9Bl.mjs.map +1 -1
- package/fesm2022/acorex-modules-organization-management-employment-type.entity-h9Hua7Xe.mjs.map +1 -1
- package/fesm2022/{acorex-modules-organization-management-org-chart-configuration.page-a2JPiCy9.mjs → acorex-modules-organization-management-org-chart-configuration.page-XXAEpYNo.mjs} +5 -5
- package/fesm2022/{acorex-modules-organization-management-org-chart-configuration.page-a2JPiCy9.mjs.map → acorex-modules-organization-management-org-chart-configuration.page-XXAEpYNo.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-org-chart-configuration.service-BkfSow3s.mjs → acorex-modules-organization-management-org-chart-configuration.service-CIveMQUH.mjs} +4 -4
- package/fesm2022/{acorex-modules-organization-management-org-chart-configuration.service-BkfSow3s.mjs.map → acorex-modules-organization-management-org-chart-configuration.service-CIveMQUH.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-org-chart.page-CXhtYrCS.mjs → acorex-modules-organization-management-org-chart.page-UqJ1VOJ-.mjs} +15 -14
- package/fesm2022/acorex-modules-organization-management-org-chart.page-UqJ1VOJ-.mjs.map +1 -0
- package/fesm2022/acorex-modules-organization-management-position-category.entity-CIir9UMg.mjs.map +1 -1
- package/fesm2022/acorex-modules-organization-management-position.entity-BpkjUsoZ.mjs.map +1 -1
- package/fesm2022/acorex-modules-organization-management-responsibility-category.entity-tJFpEylO.mjs.map +1 -1
- package/fesm2022/acorex-modules-organization-management-responsibility.entity-DmKSoxpL.mjs.map +1 -1
- package/fesm2022/acorex-modules-organization-management-role-category.entity-CAljzQcH.mjs.map +1 -1
- package/fesm2022/{acorex-modules-organization-management-settings.provider-hlbUXugb.mjs → acorex-modules-organization-management-settings.provider-feVwZnkw.mjs} +6 -30
- package/fesm2022/acorex-modules-organization-management-settings.provider-feVwZnkw.mjs.map +1 -0
- package/fesm2022/acorex-modules-organization-management-skill-category.entity-iIbc-pjJ.mjs.map +1 -1
- package/fesm2022/acorex-modules-organization-management-skill.entity-DoAsCzm9.mjs.map +1 -1
- package/fesm2022/acorex-modules-organization-management-team.entity-DMCfAZsr.mjs.map +1 -1
- package/fesm2022/acorex-modules-organization-management.mjs +128 -124
- package/fesm2022/acorex-modules-organization-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-platform-management-list-version.component-BOfUQDwo.mjs → acorex-modules-platform-management-list-version.component-wqhq6ek4.mjs} +4 -4
- package/fesm2022/{acorex-modules-platform-management-list-version.component-BOfUQDwo.mjs.map → acorex-modules-platform-management-list-version.component-wqhq6ek4.mjs.map} +1 -1
- package/fesm2022/acorex-modules-platform-management.mjs +91 -303
- package/fesm2022/acorex-modules-platform-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-project-management.mjs +232 -453
- package/fesm2022/acorex-modules-project-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-report-management-report-create-root.component-Cv88TDx7.mjs → acorex-modules-report-management-report-create-root.component-CFNtnshF.mjs} +4 -4
- package/fesm2022/{acorex-modules-report-management-report-create-root.component-Cv88TDx7.mjs.map → acorex-modules-report-management-report-create-root.component-CFNtnshF.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-report-management-report-runner-root-page.component-DHu-kyCd.mjs → acorex-modules-report-management-report-runner-root-page.component-CbfJ_7Da.mjs} +7 -7
- package/fesm2022/{acorex-modules-report-management-report-runner-root-page.component-DHu-kyCd.mjs.map → acorex-modules-report-management-report-runner-root-page.component-CbfJ_7Da.mjs.map} +1 -1
- package/fesm2022/acorex-modules-report-management.mjs +24 -24
- package/fesm2022/acorex-modules-report-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-scheduler-job-management.mjs +14 -14
- package/fesm2022/acorex-modules-scheduler-job-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-security-management.mjs +830 -258
- package/fesm2022/acorex-modules-security-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-settings-management-setting-page.component-cG4ykm2g.mjs → acorex-modules-settings-management-setting-page.component-BhF5x-8D.mjs} +12 -6
- package/fesm2022/acorex-modules-settings-management-setting-page.component-BhF5x-8D.mjs.map +1 -0
- package/fesm2022/{acorex-modules-settings-management-setting-view.component-CrEK2N1U.mjs → acorex-modules-settings-management-setting-view.component-Do_gNJ2t.mjs} +4 -4
- package/fesm2022/{acorex-modules-settings-management-setting-view.component-CrEK2N1U.mjs.map → acorex-modules-settings-management-setting-view.component-Do_gNJ2t.mjs.map} +1 -1
- package/fesm2022/acorex-modules-settings-management.mjs +9 -7
- package/fesm2022/acorex-modules-settings-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-task-management.mjs +5937 -0
- package/fesm2022/acorex-modules-task-management.mjs.map +1 -0
- package/fesm2022/acorex-modules-text-template-management.mjs +24 -24
- package/fesm2022/acorex-modules-text-template-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-training-management.mjs +43 -43
- package/fesm2022/acorex-modules-training-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-workflow-management-acorex-modules-workflow-management-enYapFRb.mjs → acorex-modules-workflow-management-acorex-modules-workflow-management-DC7jdoqZ.mjs} +64 -33
- package/fesm2022/acorex-modules-workflow-management-acorex-modules-workflow-management-DC7jdoqZ.mjs.map +1 -0
- package/fesm2022/{acorex-modules-workflow-management-task-board.page-CPL7HwN4.mjs → acorex-modules-workflow-management-task-board.page-Bv2GAPaN.mjs} +197 -183
- package/fesm2022/acorex-modules-workflow-management-task-board.page-Bv2GAPaN.mjs.map +1 -0
- package/fesm2022/acorex-modules-workflow-management.mjs +1 -1
- package/locale-management/README.md +3 -0
- package/locale-management/index.d.ts +182 -0
- package/location-management/README.md +3 -0
- package/location-management/index.d.ts +166 -0
- package/notification-management/index.d.ts +79 -60
- package/package.json +20 -8
- package/security-management/index.d.ts +13 -4
- package/task-management/README.md +189 -0
- package/task-management/index.d.ts +320 -0
- package/workflow-management/index.d.ts +10 -5
- package/fesm2022/acorex-modules-auth-acorex-modules-auth-y6rICHrT.mjs.map +0 -1
- package/fesm2022/acorex-modules-auth-app-chooser.component-Cpy0VN6n.mjs.map +0 -1
- package/fesm2022/acorex-modules-auth-password.component-DLCb0_6e.mjs +0 -134
- package/fesm2022/acorex-modules-auth-password.component-DLCb0_6e.mjs.map +0 -1
- package/fesm2022/acorex-modules-auth-tenant-chooser.component-B1aE-TOD.mjs.map +0 -1
- package/fesm2022/acorex-modules-common-acorex-modules-common-D06CT4CO.mjs +0 -1657
- package/fesm2022/acorex-modules-common-acorex-modules-common-D06CT4CO.mjs.map +0 -1
- package/fesm2022/acorex-modules-common-settings.provider-DPVsF4c9.mjs.map +0 -1
- package/fesm2022/acorex-modules-contact-management-acorex-modules-contact-management-CM72FkGM.mjs.map +0 -1
- package/fesm2022/acorex-modules-document-management-acorex-modules-document-management-C7ot6PfT.mjs.map +0 -1
- package/fesm2022/acorex-modules-document-management-drive.component-TzRLr7rb.mjs.map +0 -1
- package/fesm2022/acorex-modules-document-management-permission-definition.provider-s0P0M8p2.mjs.map +0 -1
- package/fesm2022/acorex-modules-form-template-management-acorex-modules-form-template-management-zz8KU2BM.mjs.map +0 -1
- package/fesm2022/acorex-modules-form-template-management-template-picker.component-DgH_DUIB.mjs +0 -196
- package/fesm2022/acorex-modules-form-template-management-template-picker.component-DgH_DUIB.mjs.map +0 -1
- package/fesm2022/acorex-modules-form-template-management-viewer-popup.component-Bw9VbGx7.mjs.map +0 -1
- package/fesm2022/acorex-modules-issue-management-acorex-modules-issue-management-ITP4K-tZ.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-org-chart.page-CXhtYrCS.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-settings.provider-hlbUXugb.mjs.map +0 -1
- package/fesm2022/acorex-modules-settings-management-setting-page.component-cG4ykm2g.mjs.map +0 -1
- package/fesm2022/acorex-modules-workflow-management-acorex-modules-workflow-management-enYapFRb.mjs.map +0 -1
- package/fesm2022/acorex-modules-workflow-management-task-board.page-CPL7HwN4.mjs.map +0 -1
|
@@ -19,7 +19,7 @@ import { inject, signal, ChangeDetectionStrategy, Component } from '@angular/cor
|
|
|
19
19
|
import { FormsModule } from '@angular/forms';
|
|
20
20
|
import { RouterModule } from '@angular/router';
|
|
21
21
|
import { RootConfig } from './acorex-modules-organization-management.mjs';
|
|
22
|
-
import { A as AXMOrgChartConfigService } from './acorex-modules-organization-management-org-chart-configuration.service-
|
|
22
|
+
import { A as AXMOrgChartConfigService } from './acorex-modules-organization-management-org-chart-configuration.service-CIveMQUH.mjs';
|
|
23
23
|
|
|
24
24
|
class AXMOrgChartConfigurationPage extends AXPPageLayoutBaseComponent {
|
|
25
25
|
constructor() {
|
|
@@ -78,8 +78,8 @@ class AXMOrgChartConfigurationPage extends AXPPageLayoutBaseComponent {
|
|
|
78
78
|
},
|
|
79
79
|
];
|
|
80
80
|
}
|
|
81
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.
|
|
82
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.
|
|
81
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: AXMOrgChartConfigurationPage, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
82
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.4", type: AXMOrgChartConfigurationPage, isStandalone: true, selector: "ng-component", providers: [
|
|
83
83
|
AXMOrgChartConfigService,
|
|
84
84
|
{
|
|
85
85
|
provide: AXPPageLayoutBase,
|
|
@@ -87,7 +87,7 @@ class AXMOrgChartConfigurationPage extends AXPPageLayoutBaseComponent {
|
|
|
87
87
|
}
|
|
88
88
|
], usesInheritance: true, ngImport: i0, template: "<axp-page-layout *translate=\"let t\">\n <axp-page-content>\n <div class=\"ax-flex ax-flex-col ax-gap-6 ax-w-full\">\n <div>\n <h3 class=\"ax-font-semibold ax-text-xl\">Relations Permissions</h3>\n <p class=\"ax-text-sm ax-opacity-85\">\n This matrix sets the relationships between nodes in your organization chart. Click a cell to toggle the\n relation between <span class=\"ax-text-danger-500\">Allowed</span> and\n <span class=\"ax-text-success-500\">Denied</span>.\n </p>\n </div>\n <!---------------- Matrix Table ---------------->\n <div class=\"ax-w-full ax-overflow-auto\">\n <table class=\"ax-table-auto ax-border-collapse ax-max-w-fit ax-border-surface ax-rounded-md\">\n <thead>\n <tr class=\"ax-dark-surface\">\n <!-- Top-left empty cell -->\n <th class=\"ax-border ax-dark-surface ax-p-4 ax-font-semibold ax-text-start\">Parent \\ Child</th>\n <!-- Horizontal headers -->\n @for ( type of chartService.types; track $index) {\n <th class=\"ax-border ax-dark-surface ax-p-4 ax-min-w-32 ax-text-center ax-font-semibold\">{{ type }}</th>\n }\n </tr>\n </thead>\n <tbody>\n <!-- For each parent type, render a row with alternating backgrounds -->\n @for ( parent of chartService.types; track $index) {\n <tr>\n <!-- Vertical header cell with custom header colors -->\n <td class=\"ax-border ax-dark-surface ax-p-4 ax-font-semibold ax-text-start\">{{ parent }}</td>\n <!-- Render a cell for each potential child type -->\n @for ( child of chartService.types; track $index) {\n <td class=\"ax-border ax-lightest-surface ax-border-surface ax-p-2\">\n <div class=\"ax-flex ax-justify-center ax-cursor-pointer ax-sm\">\n @let isLoading = loadingStates()[parent]?.[child];\n <ax-button\n look=\"blank\"\n [color]=\"chartService.isAllowed(parent, child) ? 'success' : 'danger'\"\n [text]=\"chartService.isAllowed(parent, child) ? 'Allowed' : 'Denied'\"\n [disabled]=\"isLoading\"\n (onClick)=\"togglePermission(parent, child)\"\n >\n @if(isLoading) {\n <ax-loading></ax-loading>\n }\n </ax-button>\n </div>\n </td>\n }\n </tr>\n }\n </tbody>\n </table>\n </div>\n <div>\n <ax-alert [color]=\"'warning'\" class=\"ax-max-w-fit\">\n <ax-icon></ax-icon>\n <ax-title>Attention</ax-title>\n <ax-content>\n Changes made here will not update your current organization chart. They will only affect future charts or\n updates.\n </ax-content>\n </ax-alert>\n </div>\n </div>\n </axp-page-content>\n</axp-page-layout>\n", dependencies: [{ kind: "ngmodule", type: RouterModule }, { kind: "ngmodule", type: FormsModule }, { kind: "component", type: AXPThemeLayoutBlockComponent, selector: " axp-page-content, axp-page-footer-container, axp-page-footer, axp-page-header, axp-page-header-container, axp-page-toolbar, axp-layout-content, axp-layout-page-content, axp-layout-sections, axp-layout-body, axp-layout-page-body, axp-layout-prefix, axp-layout-suffix, axp-layout-title-bar, axp-layout-title, axp-layout-title-actions, axp-layout-nav-button, axp-layout-description, axp-layout-breadcrumbs, axp-layout-list-action, " }, { kind: "component", type: AXPPageLayoutComponent, selector: "axp-page-layout" }, { kind: "ngmodule", type: AXMenuModule }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i3.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "ngmodule", type: AXDropdownButtonModule }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "directive", type: i4.AXTranslatorDirective, selector: "[translate]" }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3$1.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i3$1.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXLoadingModule }, { kind: "component", type: i4$1.AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "context"], outputs: ["visibleChange"] }, { kind: "ngmodule", type: AXCheckBoxModule }, { kind: "ngmodule", type: AXBreadcrumbsModule }, { kind: "ngmodule", type: AXAlertModule }, { kind: "component", type: i5.AXAlertComponent, selector: "ax-alert", inputs: ["color", "timeOut"], outputs: ["colorChange", "onClosed", "timeOutChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
89
89
|
}
|
|
90
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.
|
|
90
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: AXMOrgChartConfigurationPage, decorators: [{
|
|
91
91
|
type: Component,
|
|
92
92
|
args: [{ imports: [
|
|
93
93
|
RouterModule,
|
|
@@ -113,4 +113,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImpor
|
|
|
113
113
|
}] });
|
|
114
114
|
|
|
115
115
|
export { AXMOrgChartConfigurationPage };
|
|
116
|
-
//# sourceMappingURL=acorex-modules-organization-management-org-chart-configuration.page-
|
|
116
|
+
//# sourceMappingURL=acorex-modules-organization-management-org-chart-configuration.page-XXAEpYNo.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-modules-organization-management-org-chart-configuration.page-a2JPiCy9.mjs","sources":["../tmp-esm2022/organization-management/lib/features/organization-chart/org-chart-configuration.page.js"],"sourcesContent":["import { AXAlertModule } from '@acorex/components/alert';\nimport { AXBreadcrumbsModule } from '@acorex/components/breadcrumbs';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXCheckBoxModule } from '@acorex/components/check-box';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXDropdownButtonModule } from '@acorex/components/dropdown-button';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXMenuModule } from '@acorex/components/menu';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPPageLayoutBase, AXPPageLayoutBaseComponent, AXPPageLayoutComponent } from '@acorex/platform/layout/views';\nimport { AXPThemeLayoutBlockComponent } from '@acorex/platform/layout/components';\nimport { ChangeDetectionStrategy, Component, inject, signal } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { RouterModule } from '@angular/router';\nimport { RootConfig } from '../../const';\nimport { AXMOrgChartConfigService } from './org-chart-configuration.service';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@acorex/components/button\";\nimport * as i2 from \"@acorex/core/translation\";\nimport * as i3 from \"@acorex/components/decorators\";\nimport * as i4 from \"@acorex/components/loading\";\nimport * as i5 from \"@acorex/components/alert\";\nexport class AXMOrgChartConfigurationPage extends AXPPageLayoutBaseComponent {\n constructor() {\n super(...arguments);\n this.chartService = inject(AXMOrgChartConfigService);\n this.loadingStates = signal({}, ...(ngDevMode ? [{ debugName: \"loadingStates\" }] : []));\n this.rootConfig = RootConfig;\n }\n async ngOnInit() {\n await super.ngOnInit();\n await this.chartService.load();\n }\n async togglePermission(parent, child) {\n //TODO: Check the async and loading\n // Set the loading state for this cell to true.\n this.loadingStates.update((states) => {\n if (!states[parent]) {\n states[parent] = {};\n }\n states[parent][child] = true;\n return states;\n });\n this.chartService.set(parent, child, !this.chartService.get(parent, child));\n await this.chartService.update();\n // Turn off the loading state.\n this.loadingStates.update((states) => {\n if (!states[parent]) {\n states[parent] = {};\n }\n states[parent][child] = false;\n return states;\n });\n }\n async getPageTitle() {\n return await this.translateService.translateAsync('chart-configuration.page-title', { scope: this.rootConfig.config.i18n });\n }\n async getPageDescription() {\n return await this.translateService.translateAsync('chart-configuration.page-description', { scope: this.rootConfig.config.i18n });\n }\n async getSecondaryMenuItems() {\n return [\n {\n title: await this.translateService.translateAsync('chart-configuration.actions.reset', { scope: this.rootConfig.config.i18n }),\n icon: 'fa-light fa-rotate-left',\n color: 'primary',\n command: {\n name: 'reset',\n }\n }\n ];\n }\n async getPageBreadcrumbs() {\n return [\n {\n title: await this.translateService.translateAsync('root-menu', { scope: this.rootConfig.config.i18n })\n },\n ];\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: AXMOrgChartConfigurationPage, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.3\", type: AXMOrgChartConfigurationPage, isStandalone: true, selector: \"ng-component\", providers: [\n AXMOrgChartConfigService,\n {\n provide: AXPPageLayoutBase,\n useExisting: AXMOrgChartConfigurationPage\n }\n ], usesInheritance: true, ngImport: i0, template: \"<axp-page-layout *translate=\\\"let t\\\">\\n <axp-page-content>\\n <div class=\\\"ax-flex ax-flex-col ax-gap-6 ax-w-full\\\">\\n <div>\\n <h3 class=\\\"ax-font-semibold ax-text-xl\\\">Relations Permissions</h3>\\n <p class=\\\"ax-text-sm ax-opacity-85\\\">\\n This matrix sets the relationships between nodes in your organization chart. Click a cell to toggle the\\n relation between <span class=\\\"ax-text-danger-500\\\">Allowed</span> and\\n <span class=\\\"ax-text-success-500\\\">Denied</span>.\\n </p>\\n </div>\\n <!---------------- Matrix Table ---------------->\\n <div class=\\\"ax-w-full ax-overflow-auto\\\">\\n <table class=\\\"ax-table-auto ax-border-collapse ax-max-w-fit ax-border-surface ax-rounded-md\\\">\\n <thead>\\n <tr class=\\\"ax-dark-surface\\\">\\n <!-- Top-left empty cell -->\\n <th class=\\\"ax-border ax-dark-surface ax-p-4 ax-font-semibold ax-text-start\\\">Parent \\\\ Child</th>\\n <!-- Horizontal headers -->\\n @for ( type of chartService.types; track $index) {\\n <th class=\\\"ax-border ax-dark-surface ax-p-4 ax-min-w-32 ax-text-center ax-font-semibold\\\">{{ type }}</th>\\n }\\n </tr>\\n </thead>\\n <tbody>\\n <!-- For each parent type, render a row with alternating backgrounds -->\\n @for ( parent of chartService.types; track $index) {\\n <tr>\\n <!-- Vertical header cell with custom header colors -->\\n <td class=\\\"ax-border ax-dark-surface ax-p-4 ax-font-semibold ax-text-start\\\">{{ parent }}</td>\\n <!-- Render a cell for each potential child type -->\\n @for ( child of chartService.types; track $index) {\\n <td class=\\\"ax-border ax-lightest-surface ax-border-surface ax-p-2\\\">\\n <div class=\\\"ax-flex ax-justify-center ax-cursor-pointer ax-sm\\\">\\n @let isLoading = loadingStates()[parent]?.[child];\\n <ax-button\\n look=\\\"blank\\\"\\n [color]=\\\"chartService.isAllowed(parent, child) ? 'success' : 'danger'\\\"\\n [text]=\\\"chartService.isAllowed(parent, child) ? 'Allowed' : 'Denied'\\\"\\n [disabled]=\\\"isLoading\\\"\\n (onClick)=\\\"togglePermission(parent, child)\\\"\\n >\\n @if(isLoading) {\\n <ax-loading></ax-loading>\\n }\\n </ax-button>\\n </div>\\n </td>\\n }\\n </tr>\\n }\\n </tbody>\\n </table>\\n </div>\\n <div>\\n <ax-alert [color]=\\\"'warning'\\\" class=\\\"ax-max-w-fit\\\">\\n <ax-icon></ax-icon>\\n <ax-title>Attention</ax-title>\\n <ax-content>\\n Changes made here will not update your current organization chart. They will only affect future charts or\\n updates.\\n </ax-content>\\n </ax-alert>\\n </div>\\n </div>\\n </axp-page-content>\\n</axp-page-layout>\\n\", dependencies: [{ kind: \"ngmodule\", type: RouterModule }, { kind: \"ngmodule\", type: FormsModule }, { kind: \"component\", type: AXPThemeLayoutBlockComponent, selector: \" axp-page-content, axp-page-footer-container, axp-page-footer, axp-page-header, axp-page-header-container, axp-page-toolbar, axp-layout-content, axp-layout-page-content, axp-layout-sections, axp-layout-body, axp-layout-page-body, axp-layout-prefix, axp-layout-suffix, axp-layout-title-bar, axp-layout-title, axp-layout-title-actions, axp-layout-nav-button, axp-layout-description, axp-layout-breadcrumbs, axp-layout-list-action, \" }, { kind: \"component\", type: AXPPageLayoutComponent, selector: \"axp-page-layout\" }, { kind: \"ngmodule\", type: AXMenuModule }, { kind: \"ngmodule\", type: AXButtonModule }, { kind: \"component\", type: i1.AXButtonComponent, selector: \"ax-button\", inputs: [\"disabled\", \"size\", \"tabIndex\", \"color\", \"look\", \"text\", \"toggleable\", \"selected\", \"iconOnly\", \"type\", \"loadingText\"], outputs: [\"onBlur\", \"onFocus\", \"onClick\", \"selectedChange\", \"toggleableChange\", \"lookChange\", \"colorChange\", \"disabledChange\", \"loadingTextChange\"] }, { kind: \"ngmodule\", type: AXDropdownButtonModule }, { kind: \"ngmodule\", type: AXTranslationModule }, { kind: \"directive\", type: i2.AXTranslatorDirective, selector: \"[translate]\" }, { kind: \"ngmodule\", type: AXDecoratorModule }, { kind: \"component\", type: i3.AXDecoratorIconComponent, selector: \"ax-icon\", inputs: [\"icon\"] }, { kind: \"component\", type: i3.AXDecoratorGenericComponent, selector: \"ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay\" }, { kind: \"ngmodule\", type: AXLoadingModule }, { kind: \"component\", type: i4.AXLoadingComponent, selector: \"ax-loading\", inputs: [\"visible\", \"type\", \"context\"], outputs: [\"visibleChange\"] }, { kind: \"ngmodule\", type: AXCheckBoxModule }, { kind: \"ngmodule\", type: AXBreadcrumbsModule }, { kind: \"ngmodule\", type: AXAlertModule }, { kind: \"component\", type: i5.AXAlertComponent, selector: \"ax-alert\", inputs: [\"color\", \"timeOut\"], outputs: [\"colorChange\", \"onClosed\", \"timeOutChange\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: AXMOrgChartConfigurationPage, decorators: [{\n type: Component,\n args: [{ imports: [\n RouterModule,\n FormsModule,\n AXPThemeLayoutBlockComponent,\n AXPPageLayoutComponent,\n AXMenuModule,\n AXButtonModule,\n AXDropdownButtonModule,\n AXTranslationModule,\n AXDecoratorModule,\n AXLoadingModule,\n AXCheckBoxModule,\n AXBreadcrumbsModule,\n AXAlertModule\n ], changeDetection: ChangeDetectionStrategy.OnPush, providers: [\n AXMOrgChartConfigService,\n {\n provide: AXPPageLayoutBase,\n useExisting: AXMOrgChartConfigurationPage\n }\n ], template: \"<axp-page-layout *translate=\\\"let t\\\">\\n <axp-page-content>\\n <div class=\\\"ax-flex ax-flex-col ax-gap-6 ax-w-full\\\">\\n <div>\\n <h3 class=\\\"ax-font-semibold ax-text-xl\\\">Relations Permissions</h3>\\n <p class=\\\"ax-text-sm ax-opacity-85\\\">\\n This matrix sets the relationships between nodes in your organization chart. Click a cell to toggle the\\n relation between <span class=\\\"ax-text-danger-500\\\">Allowed</span> and\\n <span class=\\\"ax-text-success-500\\\">Denied</span>.\\n </p>\\n </div>\\n <!---------------- Matrix Table ---------------->\\n <div class=\\\"ax-w-full ax-overflow-auto\\\">\\n <table class=\\\"ax-table-auto ax-border-collapse ax-max-w-fit ax-border-surface ax-rounded-md\\\">\\n <thead>\\n <tr class=\\\"ax-dark-surface\\\">\\n <!-- Top-left empty cell -->\\n <th class=\\\"ax-border ax-dark-surface ax-p-4 ax-font-semibold ax-text-start\\\">Parent \\\\ Child</th>\\n <!-- Horizontal headers -->\\n @for ( type of chartService.types; track $index) {\\n <th class=\\\"ax-border ax-dark-surface ax-p-4 ax-min-w-32 ax-text-center ax-font-semibold\\\">{{ type }}</th>\\n }\\n </tr>\\n </thead>\\n <tbody>\\n <!-- For each parent type, render a row with alternating backgrounds -->\\n @for ( parent of chartService.types; track $index) {\\n <tr>\\n <!-- Vertical header cell with custom header colors -->\\n <td class=\\\"ax-border ax-dark-surface ax-p-4 ax-font-semibold ax-text-start\\\">{{ parent }}</td>\\n <!-- Render a cell for each potential child type -->\\n @for ( child of chartService.types; track $index) {\\n <td class=\\\"ax-border ax-lightest-surface ax-border-surface ax-p-2\\\">\\n <div class=\\\"ax-flex ax-justify-center ax-cursor-pointer ax-sm\\\">\\n @let isLoading = loadingStates()[parent]?.[child];\\n <ax-button\\n look=\\\"blank\\\"\\n [color]=\\\"chartService.isAllowed(parent, child) ? 'success' : 'danger'\\\"\\n [text]=\\\"chartService.isAllowed(parent, child) ? 'Allowed' : 'Denied'\\\"\\n [disabled]=\\\"isLoading\\\"\\n (onClick)=\\\"togglePermission(parent, child)\\\"\\n >\\n @if(isLoading) {\\n <ax-loading></ax-loading>\\n }\\n </ax-button>\\n </div>\\n </td>\\n }\\n </tr>\\n }\\n </tbody>\\n </table>\\n </div>\\n <div>\\n <ax-alert [color]=\\\"'warning'\\\" class=\\\"ax-max-w-fit\\\">\\n <ax-icon></ax-icon>\\n <ax-title>Attention</ax-title>\\n <ax-content>\\n Changes made here will not update your current organization chart. They will only affect future charts or\\n updates.\\n </ax-content>\\n </ax-alert>\\n </div>\\n </div>\\n </axp-page-content>\\n</axp-page-layout>\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JnLWNoYXJ0LWNvbmZpZ3VyYXRpb24ucGFnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9vcmdhbml6YXRpb24tbWFuYWdlbWVudC9zcmMvbGliL2ZlYXR1cmVzL29yZ2FuaXphdGlvbi1jaGFydC9vcmctY2hhcnQtY29uZmlndXJhdGlvbi5wYWdlLnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL29yZ2FuaXphdGlvbi1tYW5hZ2VtZW50L3NyYy9saWIvZmVhdHVyZXMvb3JnYW5pemF0aW9uLWNoYXJ0L29yZy1jaGFydC1jb25maWd1cmF0aW9uLnBhZ2UuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDckUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdkQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLDBCQUEwQixFQUFFLHNCQUFzQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDdEgsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFFbEYsT0FBTyxFQUFFLHVCQUF1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ICdAYWNvcmV4L2NvbXBvbmVudHMvYWxlcnQnO1xuaW1wb3J0IHsgQVhCcmVhZGNydW1ic01vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9icmVhZGNydW1icyc7XG5pbXBvcnQgeyBBWEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9idXR0b24nO1xuaW1wb3J0IHsgQVhDaGVja0JveE1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9jaGVjay1ib3gnO1xuaW1wb3J0IHsgQVhEZWNvcmF0b3JNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZGVjb3JhdG9ycyc7XG5pbXBvcnQgeyBBWERyb3Bkb3duQnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2Ryb3Bkb3duLWJ1dHRvbic7XG5pbXBvcnQgeyBBWExvYWRpbmdNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvbG9hZGluZyc7XG5pbXBvcnQgeyBBWE1lbnVNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvbWVudSc7XG5pbXBvcnQgeyBBWFRyYW5zbGF0aW9uTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb3JlL3RyYW5zbGF0aW9uJztcbmltcG9ydCB7IEFYUFBhZ2VMYXlvdXRCYXNlLCBBWFBQYWdlTGF5b3V0QmFzZUNvbXBvbmVudCwgQVhQUGFnZUxheW91dENvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L3ZpZXdzJztcbmltcG9ydCB7IEFYUFRoZW1lTGF5b3V0QmxvY2tDb21wb25lbnQgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9jb21wb25lbnRzJztcblxuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgaW5qZWN0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFJvb3RDb25maWcgfSBmcm9tICcuLi8uLi9jb25zdCc7XG5pbXBvcnQgeyBBWE1PcmdDaGFydENvbmZpZ1NlcnZpY2UgfSBmcm9tICcuL29yZy1jaGFydC1jb25maWd1cmF0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgQVhQQWN0aW9uTWVudUl0ZW0sIEFYUEJyZWFkY3J1bWJJdGVtIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlVXJsOiAnLi9vcmctY2hhcnQtY29uZmlndXJhdGlvbi5wYWdlLmh0bWwnLFxuICBpbXBvcnRzOiBbXG4gICAgUm91dGVyTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIEFYUFRoZW1lTGF5b3V0QmxvY2tDb21wb25lbnQsXG4gICAgQVhQUGFnZUxheW91dENvbXBvbmVudCxcbiAgICBBWE1lbnVNb2R1bGUsXG4gICAgQVhCdXR0b25Nb2R1bGUsXG4gICAgQVhEcm9wZG93bkJ1dHRvbk1vZHVsZSxcbiAgICBBWFRyYW5zbGF0aW9uTW9kdWxlLFxuICAgIEFYRGVjb3JhdG9yTW9kdWxlLFxuICAgIEFYTG9hZGluZ01vZHVsZSxcbiAgICBBWENoZWNrQm94TW9kdWxlLFxuICAgIEFYQnJlYWRjcnVtYnNNb2R1bGUsXG4gICAgQVhBbGVydE1vZHVsZVxuXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyczogW1xuICAgIEFYTU9yZ0NoYXJ0Q29uZmlnU2VydmljZSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBBWFBQYWdlTGF5b3V0QmFzZSxcbiAgICAgIHVzZUV4aXN0aW5nOiBBWE1PcmdDaGFydENvbmZpZ3VyYXRpb25QYWdlXG4gICAgfVxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBBWE1PcmdDaGFydENvbmZpZ3VyYXRpb25QYWdlIGV4dGVuZHMgQVhQUGFnZUxheW91dEJhc2VDb21wb25lbnQge1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgY2hhcnRTZXJ2aWNlID0gaW5qZWN0KEFYTU9yZ0NoYXJ0Q29uZmlnU2VydmljZSk7XG5cbiAgcHJvdGVjdGVkIGxvYWRpbmdTdGF0ZXMgPSBzaWduYWw8eyBbcGFyZW50OiBzdHJpbmddOiB7IFtjaGlsZDogc3RyaW5nXTogYm9vbGVhbiB9IHwgdW5kZWZpbmVkIH0+KHt9KTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgcm9vdENvbmZpZyA9IFJvb3RDb25maWc7XG5cbiAgb3ZlcnJpZGUgYXN5bmMgbmdPbkluaXQoKSB7XG4gICAgYXdhaXQgc3VwZXIubmdPbkluaXQoKTtcbiAgICBhd2FpdCB0aGlzLmNoYXJ0U2VydmljZS5sb2FkKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgdG9nZ2xlUGVybWlzc2lvbihwYXJlbnQ6IHN0cmluZywgY2hpbGQ6IHN0cmluZykge1xuICAgIC8vVE9ETzogQ2hlY2sgdGhlIGFzeW5jIGFuZCBsb2FkaW5nXG5cbiAgICAvLyBTZXQgdGhlIGxvYWRpbmcgc3RhdGUgZm9yIHRoaXMgY2VsbCB0byB0cnVlLlxuICAgIHRoaXMubG9hZGluZ1N0YXRlcy51cGRhdGUoKHN0YXRlcykgPT4ge1xuICAgICAgaWYgKCFzdGF0ZXNbcGFyZW50XSkge1xuICAgICAgICBzdGF0ZXNbcGFyZW50XSA9IHt9O1xuICAgICAgfVxuICAgICAgc3RhdGVzW3BhcmVudF1bY2hpbGRdID0gdHJ1ZTtcbiAgICAgIHJldHVybiBzdGF0ZXM7XG4gICAgfSk7XG5cbiAgICB0aGlzLmNoYXJ0U2VydmljZS5zZXQocGFyZW50LCBjaGlsZCwgIXRoaXMuY2hhcnRTZXJ2aWNlLmdldChwYXJlbnQsIGNoaWxkKSk7XG5cbiAgICBhd2FpdCB0aGlzLmNoYXJ0U2VydmljZS51cGRhdGUoKTtcblxuICAgIC8vIFR1cm4gb2ZmIHRoZSBsb2FkaW5nIHN0YXRlLlxuICAgIHRoaXMubG9hZGluZ1N0YXRlcy51cGRhdGUoKHN0YXRlcykgPT4ge1xuICAgICAgaWYgKCFzdGF0ZXNbcGFyZW50XSkge1xuICAgICAgICBzdGF0ZXNbcGFyZW50XSA9IHt9O1xuICAgICAgfVxuICAgICAgc3RhdGVzW3BhcmVudF1bY2hpbGRdID0gZmFsc2U7XG4gICAgICByZXR1cm4gc3RhdGVzO1xuICAgIH0pO1xuICB9XG5cbiAgb3ZlcnJpZGUgYXN5bmMgZ2V0UGFnZVRpdGxlKCk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMudHJhbnNsYXRlU2VydmljZS50cmFuc2xhdGVBc3luYygnY2hhcnQtY29uZmlndXJhdGlvbi5wYWdlLXRpdGxlJywgeyBzY29wZTogdGhpcy5yb290Q29uZmlnLmNvbmZpZy5pMThuIH0pO1xuICB9XG5cbiAgb3ZlcnJpZGUgYXN5bmMgZ2V0UGFnZURlc2NyaXB0aW9uKCk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMudHJhbnNsYXRlU2VydmljZS50cmFuc2xhdGVBc3luYygnY2hhcnQtY29uZmlndXJhdGlvbi5wYWdlLWRlc2NyaXB0aW9uJywgeyBzY29wZTogdGhpcy5yb290Q29uZmlnLmNvbmZpZy5pMThuIH0pO1xuICB9XG5cbiAgb3ZlcnJpZGUgYXN5bmMgZ2V0U2Vjb25kYXJ5TWVudUl0ZW1zKCk6IFByb21pc2U8QVhQQWN0aW9uTWVudUl0ZW1bXT4ge1xuICAgIHJldHVybiBbXG4gICAgICB7XG4gICAgICAgIHRpdGxlOiBhd2FpdCB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UudHJhbnNsYXRlQXN5bmMoJ2NoYXJ0LWNvbmZpZ3VyYXRpb24uYWN0aW9ucy5yZXNldCcsIHsgc2NvcGU6IHRoaXMucm9vdENvbmZpZy5jb25maWcuaTE4biB9KSxcbiAgICAgICAgaWNvbjogJ2ZhLWxpZ2h0IGZhLXJvdGF0ZS1sZWZ0JyxcbiAgICAgICAgY29sb3I6ICdwcmltYXJ5JyxcbiAgICAgICAgY29tbWFuZDoge1xuICAgICAgICAgIG5hbWU6ICdyZXNldCcsXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICBdO1xuICB9XG4gIG92ZXJyaWRlIGFzeW5jIGdldFBhZ2VCcmVhZGNydW1icygpOiBQcm9taXNlPEFYUEJyZWFkY3J1bWJJdGVtW10+IHtcbiAgICByZXR1cm4gW1xuICAgICAge1xuICAgICAgICB0aXRsZTogYXdhaXQgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKCdyb290LW1lbnUnLCB7IHNjb3BlOiB0aGlzLnJvb3RDb25maWcuY29uZmlnLmkxOG4gfSlcbiAgICAgIH0sXG4gICAgXTtcbiAgfVxufVxuIiwiPGF4cC1wYWdlLWxheW91dCAqdHJhbnNsYXRlPVwibGV0IHRcIj5cbiAgPGF4cC1wYWdlLWNvbnRlbnQ+XG4gICAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtZmxleC1jb2wgYXgtZ2FwLTYgYXgtdy1mdWxsXCI+XG4gICAgICA8ZGl2PlxuICAgICAgICA8aDMgY2xhc3M9XCJheC1mb250LXNlbWlib2xkIGF4LXRleHQteGxcIj5SZWxhdGlvbnMgUGVybWlzc2lvbnM8L2gzPlxuICAgICAgICA8cCBjbGFzcz1cImF4LXRleHQtc20gYXgtb3BhY2l0eS04NVwiPlxuICAgICAgICAgIFRoaXMgbWF0cml4IHNldHMgdGhlIHJlbGF0aW9uc2hpcHMgYmV0d2VlbiBub2RlcyBpbiB5b3VyIG9yZ2FuaXphdGlvbiBjaGFydC4gQ2xpY2sgYSBjZWxsIHRvIHRvZ2dsZSB0aGVcbiAgICAgICAgICByZWxhdGlvbiBiZXR3ZWVuIDxzcGFuIGNsYXNzPVwiYXgtdGV4dC1kYW5nZXItNTAwXCI+QWxsb3dlZDwvc3Bhbj4gYW5kXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJheC10ZXh0LXN1Y2Nlc3MtNTAwXCI+RGVuaWVkPC9zcGFuPi5cbiAgICAgICAgPC9wPlxuICAgICAgPC9kaXY+XG4gICAgICA8IS0tLS0tLS0tLS0tLS0tLS0gTWF0cml4IFRhYmxlIC0tLS0tLS0tLS0tLS0tLS0+XG4gICAgICA8ZGl2IGNsYXNzPVwiYXgtdy1mdWxsIGF4LW92ZXJmbG93LWF1dG9cIj5cbiAgICAgICAgPHRhYmxlIGNsYXNzPVwiYXgtdGFibGUtYXV0byBheC1ib3JkZXItY29sbGFwc2UgYXgtbWF4LXctZml0IGF4LWJvcmRlci1zdXJmYWNlIGF4LXJvdW5kZWQtbWRcIj5cbiAgICAgICAgICA8dGhlYWQ+XG4gICAgICAgICAgICA8dHIgY2xhc3M9XCJheC1kYXJrLXN1cmZhY2VcIj5cbiAgICAgICAgICAgICAgPCEtLSBUb3AtbGVmdCBlbXB0eSBjZWxsIC0tPlxuICAgICAgICAgICAgICA8dGggY2xhc3M9XCJheC1ib3JkZXIgYXgtZGFyay1zdXJmYWNlIGF4LXAtNCBheC1mb250LXNlbWlib2xkIGF4LXRleHQtc3RhcnRcIj5QYXJlbnQgXFwgQ2hpbGQ8L3RoPlxuICAgICAgICAgICAgICA8IS0tIEhvcml6b250YWwgaGVhZGVycyAtLT5cbiAgICAgICAgICAgICAgQGZvciAoIHR5cGUgb2YgY2hhcnRTZXJ2aWNlLnR5cGVzOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgPHRoIGNsYXNzPVwiYXgtYm9yZGVyIGF4LWRhcmstc3VyZmFjZSBheC1wLTQgYXgtbWluLXctMzIgYXgtdGV4dC1jZW50ZXIgYXgtZm9udC1zZW1pYm9sZFwiPnt7IHR5cGUgfX08L3RoPlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L3RyPlxuICAgICAgICAgIDwvdGhlYWQ+XG4gICAgICAgICAgPHRib2R5PlxuICAgICAgICAgICAgPCEtLSBGb3IgZWFjaCBwYXJlbnQgdHlwZSwgcmVuZGVyIGEgcm93IHdpdGggYWx0ZXJuYXRpbmcgYmFja2dyb3VuZHMgLS0+XG4gICAgICAgICAgICBAZm9yICggcGFyZW50IG9mIGNoYXJ0U2VydmljZS50eXBlczsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgICA8dHI+XG4gICAgICAgICAgICAgIDwhLS0gVmVydGljYWwgaGVhZGVyIGNlbGwgd2l0aCBjdXN0b20gaGVhZGVyIGNvbG9ycyAtLT5cbiAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiYXgtYm9yZGVyIGF4LWRhcmstc3VyZmFjZSBheC1wLTQgYXgtZm9udC1zZW1pYm9sZCBheC10ZXh0LXN0YXJ0XCI+e3sgcGFyZW50IH19PC90ZD5cbiAgICAgICAgICAgICAgPCEtLSBSZW5kZXIgYSBjZWxsIGZvciBlYWNoIHBvdGVudGlhbCBjaGlsZCB0eXBlIC0tPlxuICAgICAgICAgICAgICBAZm9yICggY2hpbGQgb2YgY2hhcnRTZXJ2aWNlLnR5cGVzOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiYXgtYm9yZGVyIGF4LWxpZ2h0ZXN0LXN1cmZhY2UgYXgtYm9yZGVyLXN1cmZhY2UgYXgtcC0yXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtanVzdGlmeS1jZW50ZXIgYXgtY3Vyc29yLXBvaW50ZXIgYXgtc21cIj5cbiAgICAgICAgICAgICAgICAgIEBsZXQgaXNMb2FkaW5nID0gbG9hZGluZ1N0YXRlcygpW3BhcmVudF0/LltjaGlsZF07XG4gICAgICAgICAgICAgICAgICA8YXgtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIGxvb2s9XCJibGFua1wiXG4gICAgICAgICAgICAgICAgICAgIFtjb2xvcl09XCJjaGFydFNlcnZpY2UuaXNBbGxvd2VkKHBhcmVudCwgY2hpbGQpID8gJ3N1Y2Nlc3MnIDogJ2RhbmdlcidcIlxuICAgICAgICAgICAgICAgICAgICBbdGV4dF09XCJjaGFydFNlcnZpY2UuaXNBbGxvd2VkKHBhcmVudCwgY2hpbGQpID8gJ0FsbG93ZWQnIDogJ0RlbmllZCdcIlxuICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiaXNMb2FkaW5nXCJcbiAgICAgICAgICAgICAgICAgICAgKG9uQ2xpY2spPVwidG9nZ2xlUGVybWlzc2lvbihwYXJlbnQsIGNoaWxkKVwiXG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIEBpZihpc0xvYWRpbmcpIHtcbiAgICAgICAgICAgICAgICAgICAgPGF4LWxvYWRpbmc+PC9heC1sb2FkaW5nPlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICA8L2F4LWJ1dHRvbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L3Rib2R5PlxuICAgICAgICA8L3RhYmxlPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2PlxuICAgICAgICA8YXgtYWxlcnQgW2NvbG9yXT1cIid3YXJuaW5nJ1wiIGNsYXNzPVwiYXgtbWF4LXctZml0XCI+XG4gICAgICAgICAgPGF4LWljb24+PC9heC1pY29uPlxuICAgICAgICAgIDxheC10aXRsZT5BdHRlbnRpb248L2F4LXRpdGxlPlxuICAgICAgICAgIDxheC1jb250ZW50PlxuICAgICAgICAgICAgQ2hhbmdlcyBtYWRlIGhlcmUgd2lsbCBub3QgdXBkYXRlIHlvdXIgY3VycmVudCBvcmdhbml6YXRpb24gY2hhcnQuIFRoZXkgd2lsbCBvbmx5IGFmZmVjdCBmdXR1cmUgY2hhcnRzIG9yXG4gICAgICAgICAgICB1cGRhdGVzLlxuICAgICAgICAgIDwvYXgtY29udGVudD5cbiAgICAgICAgPC9heC1hbGVydD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2F4cC1wYWdlLWNvbnRlbnQ+XG48L2F4cC1wYWdlLWxheW91dD5cbiJdfQ=="],"names":["i1","i2","i3","i4"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"acorex-modules-organization-management-org-chart-configuration.page-XXAEpYNo.mjs","sources":["../tmp-esm2022/organization-management/lib/features/organization-chart/org-chart-configuration.page.js"],"sourcesContent":["import { AXAlertModule } from '@acorex/components/alert';\nimport { AXBreadcrumbsModule } from '@acorex/components/breadcrumbs';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXCheckBoxModule } from '@acorex/components/check-box';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXDropdownButtonModule } from '@acorex/components/dropdown-button';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXMenuModule } from '@acorex/components/menu';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPPageLayoutBase, AXPPageLayoutBaseComponent, AXPPageLayoutComponent } from '@acorex/platform/layout/views';\nimport { AXPThemeLayoutBlockComponent } from '@acorex/platform/layout/components';\nimport { ChangeDetectionStrategy, Component, inject, signal } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { RouterModule } from '@angular/router';\nimport { RootConfig } from '../../const';\nimport { AXMOrgChartConfigService } from './org-chart-configuration.service';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@acorex/components/button\";\nimport * as i2 from \"@acorex/core/translation\";\nimport * as i3 from \"@acorex/components/decorators\";\nimport * as i4 from \"@acorex/components/loading\";\nimport * as i5 from \"@acorex/components/alert\";\nexport class AXMOrgChartConfigurationPage extends AXPPageLayoutBaseComponent {\n constructor() {\n super(...arguments);\n this.chartService = inject(AXMOrgChartConfigService);\n this.loadingStates = signal({}, ...(ngDevMode ? [{ debugName: \"loadingStates\" }] : []));\n this.rootConfig = RootConfig;\n }\n async ngOnInit() {\n await super.ngOnInit();\n await this.chartService.load();\n }\n async togglePermission(parent, child) {\n //TODO: Check the async and loading\n // Set the loading state for this cell to true.\n this.loadingStates.update((states) => {\n if (!states[parent]) {\n states[parent] = {};\n }\n states[parent][child] = true;\n return states;\n });\n this.chartService.set(parent, child, !this.chartService.get(parent, child));\n await this.chartService.update();\n // Turn off the loading state.\n this.loadingStates.update((states) => {\n if (!states[parent]) {\n states[parent] = {};\n }\n states[parent][child] = false;\n return states;\n });\n }\n async getPageTitle() {\n return await this.translateService.translateAsync('chart-configuration.page-title', { scope: this.rootConfig.config.i18n });\n }\n async getPageDescription() {\n return await this.translateService.translateAsync('chart-configuration.page-description', { scope: this.rootConfig.config.i18n });\n }\n async getSecondaryMenuItems() {\n return [\n {\n title: await this.translateService.translateAsync('chart-configuration.actions.reset', { scope: this.rootConfig.config.i18n }),\n icon: 'fa-light fa-rotate-left',\n color: 'primary',\n command: {\n name: 'reset',\n }\n }\n ];\n }\n async getPageBreadcrumbs() {\n return [\n {\n title: await this.translateService.translateAsync('root-menu', { scope: this.rootConfig.config.i18n })\n },\n ];\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXMOrgChartConfigurationPage, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.4\", type: AXMOrgChartConfigurationPage, isStandalone: true, selector: \"ng-component\", providers: [\n AXMOrgChartConfigService,\n {\n provide: AXPPageLayoutBase,\n useExisting: AXMOrgChartConfigurationPage\n }\n ], usesInheritance: true, ngImport: i0, template: \"<axp-page-layout *translate=\\\"let t\\\">\\n <axp-page-content>\\n <div class=\\\"ax-flex ax-flex-col ax-gap-6 ax-w-full\\\">\\n <div>\\n <h3 class=\\\"ax-font-semibold ax-text-xl\\\">Relations Permissions</h3>\\n <p class=\\\"ax-text-sm ax-opacity-85\\\">\\n This matrix sets the relationships between nodes in your organization chart. Click a cell to toggle the\\n relation between <span class=\\\"ax-text-danger-500\\\">Allowed</span> and\\n <span class=\\\"ax-text-success-500\\\">Denied</span>.\\n </p>\\n </div>\\n <!---------------- Matrix Table ---------------->\\n <div class=\\\"ax-w-full ax-overflow-auto\\\">\\n <table class=\\\"ax-table-auto ax-border-collapse ax-max-w-fit ax-border-surface ax-rounded-md\\\">\\n <thead>\\n <tr class=\\\"ax-dark-surface\\\">\\n <!-- Top-left empty cell -->\\n <th class=\\\"ax-border ax-dark-surface ax-p-4 ax-font-semibold ax-text-start\\\">Parent \\\\ Child</th>\\n <!-- Horizontal headers -->\\n @for ( type of chartService.types; track $index) {\\n <th class=\\\"ax-border ax-dark-surface ax-p-4 ax-min-w-32 ax-text-center ax-font-semibold\\\">{{ type }}</th>\\n }\\n </tr>\\n </thead>\\n <tbody>\\n <!-- For each parent type, render a row with alternating backgrounds -->\\n @for ( parent of chartService.types; track $index) {\\n <tr>\\n <!-- Vertical header cell with custom header colors -->\\n <td class=\\\"ax-border ax-dark-surface ax-p-4 ax-font-semibold ax-text-start\\\">{{ parent }}</td>\\n <!-- Render a cell for each potential child type -->\\n @for ( child of chartService.types; track $index) {\\n <td class=\\\"ax-border ax-lightest-surface ax-border-surface ax-p-2\\\">\\n <div class=\\\"ax-flex ax-justify-center ax-cursor-pointer ax-sm\\\">\\n @let isLoading = loadingStates()[parent]?.[child];\\n <ax-button\\n look=\\\"blank\\\"\\n [color]=\\\"chartService.isAllowed(parent, child) ? 'success' : 'danger'\\\"\\n [text]=\\\"chartService.isAllowed(parent, child) ? 'Allowed' : 'Denied'\\\"\\n [disabled]=\\\"isLoading\\\"\\n (onClick)=\\\"togglePermission(parent, child)\\\"\\n >\\n @if(isLoading) {\\n <ax-loading></ax-loading>\\n }\\n </ax-button>\\n </div>\\n </td>\\n }\\n </tr>\\n }\\n </tbody>\\n </table>\\n </div>\\n <div>\\n <ax-alert [color]=\\\"'warning'\\\" class=\\\"ax-max-w-fit\\\">\\n <ax-icon></ax-icon>\\n <ax-title>Attention</ax-title>\\n <ax-content>\\n Changes made here will not update your current organization chart. They will only affect future charts or\\n updates.\\n </ax-content>\\n </ax-alert>\\n </div>\\n </div>\\n </axp-page-content>\\n</axp-page-layout>\\n\", dependencies: [{ kind: \"ngmodule\", type: RouterModule }, { kind: \"ngmodule\", type: FormsModule }, { kind: \"component\", type: AXPThemeLayoutBlockComponent, selector: \" axp-page-content, axp-page-footer-container, axp-page-footer, axp-page-header, axp-page-header-container, axp-page-toolbar, axp-layout-content, axp-layout-page-content, axp-layout-sections, axp-layout-body, axp-layout-page-body, axp-layout-prefix, axp-layout-suffix, axp-layout-title-bar, axp-layout-title, axp-layout-title-actions, axp-layout-nav-button, axp-layout-description, axp-layout-breadcrumbs, axp-layout-list-action, \" }, { kind: \"component\", type: AXPPageLayoutComponent, selector: \"axp-page-layout\" }, { kind: \"ngmodule\", type: AXMenuModule }, { kind: \"ngmodule\", type: AXButtonModule }, { kind: \"component\", type: i1.AXButtonComponent, selector: \"ax-button\", inputs: [\"disabled\", \"size\", \"tabIndex\", \"color\", \"look\", \"text\", \"toggleable\", \"selected\", \"iconOnly\", \"type\", \"loadingText\"], outputs: [\"onBlur\", \"onFocus\", \"onClick\", \"selectedChange\", \"toggleableChange\", \"lookChange\", \"colorChange\", \"disabledChange\", \"loadingTextChange\"] }, { kind: \"ngmodule\", type: AXDropdownButtonModule }, { kind: \"ngmodule\", type: AXTranslationModule }, { kind: \"directive\", type: i2.AXTranslatorDirective, selector: \"[translate]\" }, { kind: \"ngmodule\", type: AXDecoratorModule }, { kind: \"component\", type: i3.AXDecoratorIconComponent, selector: \"ax-icon\", inputs: [\"icon\"] }, { kind: \"component\", type: i3.AXDecoratorGenericComponent, selector: \"ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay\" }, { kind: \"ngmodule\", type: AXLoadingModule }, { kind: \"component\", type: i4.AXLoadingComponent, selector: \"ax-loading\", inputs: [\"visible\", \"type\", \"context\"], outputs: [\"visibleChange\"] }, { kind: \"ngmodule\", type: AXCheckBoxModule }, { kind: \"ngmodule\", type: AXBreadcrumbsModule }, { kind: \"ngmodule\", type: AXAlertModule }, { kind: \"component\", type: i5.AXAlertComponent, selector: \"ax-alert\", inputs: [\"color\", \"timeOut\"], outputs: [\"colorChange\", \"onClosed\", \"timeOutChange\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXMOrgChartConfigurationPage, decorators: [{\n type: Component,\n args: [{ imports: [\n RouterModule,\n FormsModule,\n AXPThemeLayoutBlockComponent,\n AXPPageLayoutComponent,\n AXMenuModule,\n AXButtonModule,\n AXDropdownButtonModule,\n AXTranslationModule,\n AXDecoratorModule,\n AXLoadingModule,\n AXCheckBoxModule,\n AXBreadcrumbsModule,\n AXAlertModule\n ], changeDetection: ChangeDetectionStrategy.OnPush, providers: [\n AXMOrgChartConfigService,\n {\n provide: AXPPageLayoutBase,\n useExisting: AXMOrgChartConfigurationPage\n }\n ], template: \"<axp-page-layout *translate=\\\"let t\\\">\\n <axp-page-content>\\n <div class=\\\"ax-flex ax-flex-col ax-gap-6 ax-w-full\\\">\\n <div>\\n <h3 class=\\\"ax-font-semibold ax-text-xl\\\">Relations Permissions</h3>\\n <p class=\\\"ax-text-sm ax-opacity-85\\\">\\n This matrix sets the relationships between nodes in your organization chart. Click a cell to toggle the\\n relation between <span class=\\\"ax-text-danger-500\\\">Allowed</span> and\\n <span class=\\\"ax-text-success-500\\\">Denied</span>.\\n </p>\\n </div>\\n <!---------------- Matrix Table ---------------->\\n <div class=\\\"ax-w-full ax-overflow-auto\\\">\\n <table class=\\\"ax-table-auto ax-border-collapse ax-max-w-fit ax-border-surface ax-rounded-md\\\">\\n <thead>\\n <tr class=\\\"ax-dark-surface\\\">\\n <!-- Top-left empty cell -->\\n <th class=\\\"ax-border ax-dark-surface ax-p-4 ax-font-semibold ax-text-start\\\">Parent \\\\ Child</th>\\n <!-- Horizontal headers -->\\n @for ( type of chartService.types; track $index) {\\n <th class=\\\"ax-border ax-dark-surface ax-p-4 ax-min-w-32 ax-text-center ax-font-semibold\\\">{{ type }}</th>\\n }\\n </tr>\\n </thead>\\n <tbody>\\n <!-- For each parent type, render a row with alternating backgrounds -->\\n @for ( parent of chartService.types; track $index) {\\n <tr>\\n <!-- Vertical header cell with custom header colors -->\\n <td class=\\\"ax-border ax-dark-surface ax-p-4 ax-font-semibold ax-text-start\\\">{{ parent }}</td>\\n <!-- Render a cell for each potential child type -->\\n @for ( child of chartService.types; track $index) {\\n <td class=\\\"ax-border ax-lightest-surface ax-border-surface ax-p-2\\\">\\n <div class=\\\"ax-flex ax-justify-center ax-cursor-pointer ax-sm\\\">\\n @let isLoading = loadingStates()[parent]?.[child];\\n <ax-button\\n look=\\\"blank\\\"\\n [color]=\\\"chartService.isAllowed(parent, child) ? 'success' : 'danger'\\\"\\n [text]=\\\"chartService.isAllowed(parent, child) ? 'Allowed' : 'Denied'\\\"\\n [disabled]=\\\"isLoading\\\"\\n (onClick)=\\\"togglePermission(parent, child)\\\"\\n >\\n @if(isLoading) {\\n <ax-loading></ax-loading>\\n }\\n </ax-button>\\n </div>\\n </td>\\n }\\n </tr>\\n }\\n </tbody>\\n </table>\\n </div>\\n <div>\\n <ax-alert [color]=\\\"'warning'\\\" class=\\\"ax-max-w-fit\\\">\\n <ax-icon></ax-icon>\\n <ax-title>Attention</ax-title>\\n <ax-content>\\n Changes made here will not update your current organization chart. They will only affect future charts or\\n updates.\\n </ax-content>\\n </ax-alert>\\n </div>\\n </div>\\n </axp-page-content>\\n</axp-page-layout>\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JnLWNoYXJ0LWNvbmZpZ3VyYXRpb24ucGFnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9vcmdhbml6YXRpb24tbWFuYWdlbWVudC9zcmMvbGliL2ZlYXR1cmVzL29yZ2FuaXphdGlvbi1jaGFydC9vcmctY2hhcnQtY29uZmlndXJhdGlvbi5wYWdlLnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL29yZ2FuaXphdGlvbi1tYW5hZ2VtZW50L3NyYy9saWIvZmVhdHVyZXMvb3JnYW5pemF0aW9uLWNoYXJ0L29yZy1jaGFydC1jb25maWd1cmF0aW9uLnBhZ2UuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDckUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdkQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLDBCQUEwQixFQUFFLHNCQUFzQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDdEgsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFFbEYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25GLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN6QyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7Ozs7OztBQTZCN0UsTUFBTSxPQUFPLDRCQUE2QixTQUFRLDBCQUEwQjtJQTFCNUU7O1FBMkJxQixpQkFBWSxHQUFHLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1FBRXpELGtCQUFhLEdBQUcsTUFBTSxDQUFpRSxFQUFFLHlEQUFDLENBQUM7UUFFbEYsZUFBVSxHQUFHLFVBQVUsQ0FBQztLQTRENUM7SUExRFUsS0FBSyxDQUFDLFFBQVE7UUFDckIsTUFBTSxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDdkIsTUFBTSxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFUyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsTUFBYyxFQUFFLEtBQWE7UUFDNUQsbUNBQW1DO1FBRW5DLCtDQUErQztRQUMvQyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQ25DLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztnQkFDcEIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUN0QixDQUFDO1lBQ0QsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQztZQUM3QixPQUFPLE1BQU0sQ0FBQztRQUNoQixDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUU1RSxNQUFNLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLENBQUM7UUFFakMsOEJBQThCO1FBQzlCLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDbkMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO2dCQUNwQixNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ3RCLENBQUM7WUFDRCxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsS0FBSyxDQUFDO1lBQzlCLE9BQU8sTUFBTSxDQUFDO1FBQ2hCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVRLEtBQUssQ0FBQyxZQUFZO1FBQ3pCLE9BQU8sTUFBTSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxDQUFDLGdDQUFnQyxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7SUFDOUgsQ0FBQztJQUVRLEtBQUssQ0FBQyxrQkFBa0I7UUFDL0IsT0FBTyxNQUFNLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLENBQUMsc0NBQXNDLEVBQUUsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNwSSxDQUFDO0lBRVEsS0FBSyxDQUFDLHFCQUFxQjtRQUNsQyxPQUFPO1lBQ0w7Z0JBQ0UsS0FBSyxFQUFFLE1BQU0sSUFBSSxDQUFDLGdCQUFnQixDQUFDLGNBQWMsQ0FBQyxtQ0FBbUMsRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDOUgsSUFBSSxFQUFFLHlCQUF5QjtnQkFDL0IsS0FBSyxFQUFFLFNBQVM7Z0JBQ2hCLE9BQU8sRUFBRTtvQkFDUCxJQUFJLEVBQUUsT0FBTztpQkFDZDthQUNGO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFDUSxLQUFLLENBQUMsa0JBQWtCO1FBQy9CLE9BQU87WUFDTDtnQkFDRSxLQUFLLEVBQUUsTUFBTSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxDQUFDLFdBQVcsRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQzthQUN2RztTQUNGLENBQUM7SUFDSixDQUFDOzhHQWhFVSw0QkFBNEI7a0dBQTVCLDRCQUE0QiwyREFSNUI7WUFDVCx3QkFBd0I7WUFDeEI7Z0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLDRCQUE0QjthQUMxQztTQUNGLGlEQzNDSCxnakdBbUVBLDJDRDdDSSxZQUFZLDhCQUNaLFdBQVcsK0JBQ1gsNEJBQTRCLGdpQkFDNUIsc0JBQXNCLDJEQUN0QixZQUFZLDhCQUNaLGNBQWMsNlhBQ2Qsc0JBQXNCLDhCQUN0QixtQkFBbUIsOEdBQ25CLGlCQUFpQixzVkFDakIsZUFBZSw4S0FDZixnQkFBZ0IsOEJBQ2hCLG1CQUFtQiw4QkFDbkIsYUFBYTs7MkZBV0osNEJBQTRCO2tCQTFCeEMsU0FBUzs4QkFFQzt3QkFDUCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsNEJBQTRCO3dCQUM1QixzQkFBc0I7d0JBQ3RCLFlBQVk7d0JBQ1osY0FBYzt3QkFDZCxzQkFBc0I7d0JBQ3RCLG1CQUFtQjt3QkFDbkIsaUJBQWlCO3dCQUNqQixlQUFlO3dCQUNmLGdCQUFnQjt3QkFDaEIsbUJBQW1CO3dCQUNuQixhQUFhO3FCQUNoQixtQkFDa0IsdUJBQXVCLENBQUMsTUFBTSxhQUNwQzt3QkFDVCx3QkFBd0I7d0JBQ3hCOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsOEJBQThCO3lCQUMxQztxQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYQWxlcnRNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvYWxlcnQnO1xuaW1wb3J0IHsgQVhCcmVhZGNydW1ic01vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9icmVhZGNydW1icyc7XG5pbXBvcnQgeyBBWEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9idXR0b24nO1xuaW1wb3J0IHsgQVhDaGVja0JveE1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9jaGVjay1ib3gnO1xuaW1wb3J0IHsgQVhEZWNvcmF0b3JNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZGVjb3JhdG9ycyc7XG5pbXBvcnQgeyBBWERyb3Bkb3duQnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2Ryb3Bkb3duLWJ1dHRvbic7XG5pbXBvcnQgeyBBWExvYWRpbmdNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvbG9hZGluZyc7XG5pbXBvcnQgeyBBWE1lbnVNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvbWVudSc7XG5pbXBvcnQgeyBBWFRyYW5zbGF0aW9uTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb3JlL3RyYW5zbGF0aW9uJztcbmltcG9ydCB7IEFYUFBhZ2VMYXlvdXRCYXNlLCBBWFBQYWdlTGF5b3V0QmFzZUNvbXBvbmVudCwgQVhQUGFnZUxheW91dENvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L3ZpZXdzJztcbmltcG9ydCB7IEFYUFRoZW1lTGF5b3V0QmxvY2tDb21wb25lbnQgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9jb21wb25lbnRzJztcblxuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgaW5qZWN0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFJvb3RDb25maWcgfSBmcm9tICcuLi8uLi9jb25zdCc7XG5pbXBvcnQgeyBBWE1PcmdDaGFydENvbmZpZ1NlcnZpY2UgfSBmcm9tICcuL29yZy1jaGFydC1jb25maWd1cmF0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgQVhQQWN0aW9uTWVudUl0ZW0sIEFYUEJyZWFkY3J1bWJJdGVtIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlVXJsOiAnLi9vcmctY2hhcnQtY29uZmlndXJhdGlvbi5wYWdlLmh0bWwnLFxuICBpbXBvcnRzOiBbXG4gICAgUm91dGVyTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIEFYUFRoZW1lTGF5b3V0QmxvY2tDb21wb25lbnQsXG4gICAgQVhQUGFnZUxheW91dENvbXBvbmVudCxcbiAgICBBWE1lbnVNb2R1bGUsXG4gICAgQVhCdXR0b25Nb2R1bGUsXG4gICAgQVhEcm9wZG93bkJ1dHRvbk1vZHVsZSxcbiAgICBBWFRyYW5zbGF0aW9uTW9kdWxlLFxuICAgIEFYRGVjb3JhdG9yTW9kdWxlLFxuICAgIEFYTG9hZGluZ01vZHVsZSxcbiAgICBBWENoZWNrQm94TW9kdWxlLFxuICAgIEFYQnJlYWRjcnVtYnNNb2R1bGUsXG4gICAgQVhBbGVydE1vZHVsZVxuXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyczogW1xuICAgIEFYTU9yZ0NoYXJ0Q29uZmlnU2VydmljZSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBBWFBQYWdlTGF5b3V0QmFzZSxcbiAgICAgIHVzZUV4aXN0aW5nOiBBWE1PcmdDaGFydENvbmZpZ3VyYXRpb25QYWdlXG4gICAgfVxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBBWE1PcmdDaGFydENvbmZpZ3VyYXRpb25QYWdlIGV4dGVuZHMgQVhQUGFnZUxheW91dEJhc2VDb21wb25lbnQge1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgY2hhcnRTZXJ2aWNlID0gaW5qZWN0KEFYTU9yZ0NoYXJ0Q29uZmlnU2VydmljZSk7XG5cbiAgcHJvdGVjdGVkIGxvYWRpbmdTdGF0ZXMgPSBzaWduYWw8eyBbcGFyZW50OiBzdHJpbmddOiB7IFtjaGlsZDogc3RyaW5nXTogYm9vbGVhbiB9IHwgdW5kZWZpbmVkIH0+KHt9KTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgcm9vdENvbmZpZyA9IFJvb3RDb25maWc7XG5cbiAgb3ZlcnJpZGUgYXN5bmMgbmdPbkluaXQoKSB7XG4gICAgYXdhaXQgc3VwZXIubmdPbkluaXQoKTtcbiAgICBhd2FpdCB0aGlzLmNoYXJ0U2VydmljZS5sb2FkKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgdG9nZ2xlUGVybWlzc2lvbihwYXJlbnQ6IHN0cmluZywgY2hpbGQ6IHN0cmluZykge1xuICAgIC8vVE9ETzogQ2hlY2sgdGhlIGFzeW5jIGFuZCBsb2FkaW5nXG5cbiAgICAvLyBTZXQgdGhlIGxvYWRpbmcgc3RhdGUgZm9yIHRoaXMgY2VsbCB0byB0cnVlLlxuICAgIHRoaXMubG9hZGluZ1N0YXRlcy51cGRhdGUoKHN0YXRlcykgPT4ge1xuICAgICAgaWYgKCFzdGF0ZXNbcGFyZW50XSkge1xuICAgICAgICBzdGF0ZXNbcGFyZW50XSA9IHt9O1xuICAgICAgfVxuICAgICAgc3RhdGVzW3BhcmVudF1bY2hpbGRdID0gdHJ1ZTtcbiAgICAgIHJldHVybiBzdGF0ZXM7XG4gICAgfSk7XG5cbiAgICB0aGlzLmNoYXJ0U2VydmljZS5zZXQocGFyZW50LCBjaGlsZCwgIXRoaXMuY2hhcnRTZXJ2aWNlLmdldChwYXJlbnQsIGNoaWxkKSk7XG5cbiAgICBhd2FpdCB0aGlzLmNoYXJ0U2VydmljZS51cGRhdGUoKTtcblxuICAgIC8vIFR1cm4gb2ZmIHRoZSBsb2FkaW5nIHN0YXRlLlxuICAgIHRoaXMubG9hZGluZ1N0YXRlcy51cGRhdGUoKHN0YXRlcykgPT4ge1xuICAgICAgaWYgKCFzdGF0ZXNbcGFyZW50XSkge1xuICAgICAgICBzdGF0ZXNbcGFyZW50XSA9IHt9O1xuICAgICAgfVxuICAgICAgc3RhdGVzW3BhcmVudF1bY2hpbGRdID0gZmFsc2U7XG4gICAgICByZXR1cm4gc3RhdGVzO1xuICAgIH0pO1xuICB9XG5cbiAgb3ZlcnJpZGUgYXN5bmMgZ2V0UGFnZVRpdGxlKCk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMudHJhbnNsYXRlU2VydmljZS50cmFuc2xhdGVBc3luYygnY2hhcnQtY29uZmlndXJhdGlvbi5wYWdlLXRpdGxlJywgeyBzY29wZTogdGhpcy5yb290Q29uZmlnLmNvbmZpZy5pMThuIH0pO1xuICB9XG5cbiAgb3ZlcnJpZGUgYXN5bmMgZ2V0UGFnZURlc2NyaXB0aW9uKCk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMudHJhbnNsYXRlU2VydmljZS50cmFuc2xhdGVBc3luYygnY2hhcnQtY29uZmlndXJhdGlvbi5wYWdlLWRlc2NyaXB0aW9uJywgeyBzY29wZTogdGhpcy5yb290Q29uZmlnLmNvbmZpZy5pMThuIH0pO1xuICB9XG5cbiAgb3ZlcnJpZGUgYXN5bmMgZ2V0U2Vjb25kYXJ5TWVudUl0ZW1zKCk6IFByb21pc2U8QVhQQWN0aW9uTWVudUl0ZW1bXT4ge1xuICAgIHJldHVybiBbXG4gICAgICB7XG4gICAgICAgIHRpdGxlOiBhd2FpdCB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UudHJhbnNsYXRlQXN5bmMoJ2NoYXJ0LWNvbmZpZ3VyYXRpb24uYWN0aW9ucy5yZXNldCcsIHsgc2NvcGU6IHRoaXMucm9vdENvbmZpZy5jb25maWcuaTE4biB9KSxcbiAgICAgICAgaWNvbjogJ2ZhLWxpZ2h0IGZhLXJvdGF0ZS1sZWZ0JyxcbiAgICAgICAgY29sb3I6ICdwcmltYXJ5JyxcbiAgICAgICAgY29tbWFuZDoge1xuICAgICAgICAgIG5hbWU6ICdyZXNldCcsXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICBdO1xuICB9XG4gIG92ZXJyaWRlIGFzeW5jIGdldFBhZ2VCcmVhZGNydW1icygpOiBQcm9taXNlPEFYUEJyZWFkY3J1bWJJdGVtW10+IHtcbiAgICByZXR1cm4gW1xuICAgICAge1xuICAgICAgICB0aXRsZTogYXdhaXQgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKCdyb290LW1lbnUnLCB7IHNjb3BlOiB0aGlzLnJvb3RDb25maWcuY29uZmlnLmkxOG4gfSlcbiAgICAgIH0sXG4gICAgXTtcbiAgfVxufVxuIiwiPGF4cC1wYWdlLWxheW91dCAqdHJhbnNsYXRlPVwibGV0IHRcIj5cbiAgPGF4cC1wYWdlLWNvbnRlbnQ+XG4gICAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtZmxleC1jb2wgYXgtZ2FwLTYgYXgtdy1mdWxsXCI+XG4gICAgICA8ZGl2PlxuICAgICAgICA8aDMgY2xhc3M9XCJheC1mb250LXNlbWlib2xkIGF4LXRleHQteGxcIj5SZWxhdGlvbnMgUGVybWlzc2lvbnM8L2gzPlxuICAgICAgICA8cCBjbGFzcz1cImF4LXRleHQtc20gYXgtb3BhY2l0eS04NVwiPlxuICAgICAgICAgIFRoaXMgbWF0cml4IHNldHMgdGhlIHJlbGF0aW9uc2hpcHMgYmV0d2VlbiBub2RlcyBpbiB5b3VyIG9yZ2FuaXphdGlvbiBjaGFydC4gQ2xpY2sgYSBjZWxsIHRvIHRvZ2dsZSB0aGVcbiAgICAgICAgICByZWxhdGlvbiBiZXR3ZWVuIDxzcGFuIGNsYXNzPVwiYXgtdGV4dC1kYW5nZXItNTAwXCI+QWxsb3dlZDwvc3Bhbj4gYW5kXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJheC10ZXh0LXN1Y2Nlc3MtNTAwXCI+RGVuaWVkPC9zcGFuPi5cbiAgICAgICAgPC9wPlxuICAgICAgPC9kaXY+XG4gICAgICA8IS0tLS0tLS0tLS0tLS0tLS0gTWF0cml4IFRhYmxlIC0tLS0tLS0tLS0tLS0tLS0+XG4gICAgICA8ZGl2IGNsYXNzPVwiYXgtdy1mdWxsIGF4LW92ZXJmbG93LWF1dG9cIj5cbiAgICAgICAgPHRhYmxlIGNsYXNzPVwiYXgtdGFibGUtYXV0byBheC1ib3JkZXItY29sbGFwc2UgYXgtbWF4LXctZml0IGF4LWJvcmRlci1zdXJmYWNlIGF4LXJvdW5kZWQtbWRcIj5cbiAgICAgICAgICA8dGhlYWQ+XG4gICAgICAgICAgICA8dHIgY2xhc3M9XCJheC1kYXJrLXN1cmZhY2VcIj5cbiAgICAgICAgICAgICAgPCEtLSBUb3AtbGVmdCBlbXB0eSBjZWxsIC0tPlxuICAgICAgICAgICAgICA8dGggY2xhc3M9XCJheC1ib3JkZXIgYXgtZGFyay1zdXJmYWNlIGF4LXAtNCBheC1mb250LXNlbWlib2xkIGF4LXRleHQtc3RhcnRcIj5QYXJlbnQgXFwgQ2hpbGQ8L3RoPlxuICAgICAgICAgICAgICA8IS0tIEhvcml6b250YWwgaGVhZGVycyAtLT5cbiAgICAgICAgICAgICAgQGZvciAoIHR5cGUgb2YgY2hhcnRTZXJ2aWNlLnR5cGVzOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgPHRoIGNsYXNzPVwiYXgtYm9yZGVyIGF4LWRhcmstc3VyZmFjZSBheC1wLTQgYXgtbWluLXctMzIgYXgtdGV4dC1jZW50ZXIgYXgtZm9udC1zZW1pYm9sZFwiPnt7IHR5cGUgfX08L3RoPlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L3RyPlxuICAgICAgICAgIDwvdGhlYWQ+XG4gICAgICAgICAgPHRib2R5PlxuICAgICAgICAgICAgPCEtLSBGb3IgZWFjaCBwYXJlbnQgdHlwZSwgcmVuZGVyIGEgcm93IHdpdGggYWx0ZXJuYXRpbmcgYmFja2dyb3VuZHMgLS0+XG4gICAgICAgICAgICBAZm9yICggcGFyZW50IG9mIGNoYXJ0U2VydmljZS50eXBlczsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgICA8dHI+XG4gICAgICAgICAgICAgIDwhLS0gVmVydGljYWwgaGVhZGVyIGNlbGwgd2l0aCBjdXN0b20gaGVhZGVyIGNvbG9ycyAtLT5cbiAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiYXgtYm9yZGVyIGF4LWRhcmstc3VyZmFjZSBheC1wLTQgYXgtZm9udC1zZW1pYm9sZCBheC10ZXh0LXN0YXJ0XCI+e3sgcGFyZW50IH19PC90ZD5cbiAgICAgICAgICAgICAgPCEtLSBSZW5kZXIgYSBjZWxsIGZvciBlYWNoIHBvdGVudGlhbCBjaGlsZCB0eXBlIC0tPlxuICAgICAgICAgICAgICBAZm9yICggY2hpbGQgb2YgY2hhcnRTZXJ2aWNlLnR5cGVzOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiYXgtYm9yZGVyIGF4LWxpZ2h0ZXN0LXN1cmZhY2UgYXgtYm9yZGVyLXN1cmZhY2UgYXgtcC0yXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtanVzdGlmeS1jZW50ZXIgYXgtY3Vyc29yLXBvaW50ZXIgYXgtc21cIj5cbiAgICAgICAgICAgICAgICAgIEBsZXQgaXNMb2FkaW5nID0gbG9hZGluZ1N0YXRlcygpW3BhcmVudF0/LltjaGlsZF07XG4gICAgICAgICAgICAgICAgICA8YXgtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIGxvb2s9XCJibGFua1wiXG4gICAgICAgICAgICAgICAgICAgIFtjb2xvcl09XCJjaGFydFNlcnZpY2UuaXNBbGxvd2VkKHBhcmVudCwgY2hpbGQpID8gJ3N1Y2Nlc3MnIDogJ2RhbmdlcidcIlxuICAgICAgICAgICAgICAgICAgICBbdGV4dF09XCJjaGFydFNlcnZpY2UuaXNBbGxvd2VkKHBhcmVudCwgY2hpbGQpID8gJ0FsbG93ZWQnIDogJ0RlbmllZCdcIlxuICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiaXNMb2FkaW5nXCJcbiAgICAgICAgICAgICAgICAgICAgKG9uQ2xpY2spPVwidG9nZ2xlUGVybWlzc2lvbihwYXJlbnQsIGNoaWxkKVwiXG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIEBpZihpc0xvYWRpbmcpIHtcbiAgICAgICAgICAgICAgICAgICAgPGF4LWxvYWRpbmc+PC9heC1sb2FkaW5nPlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICA8L2F4LWJ1dHRvbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L3Rib2R5PlxuICAgICAgICA8L3RhYmxlPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2PlxuICAgICAgICA8YXgtYWxlcnQgW2NvbG9yXT1cIid3YXJuaW5nJ1wiIGNsYXNzPVwiYXgtbWF4LXctZml0XCI+XG4gICAgICAgICAgPGF4LWljb24+PC9heC1pY29uPlxuICAgICAgICAgIDxheC10aXRsZT5BdHRlbnRpb248L2F4LXRpdGxlPlxuICAgICAgICAgIDxheC1jb250ZW50PlxuICAgICAgICAgICAgQ2hhbmdlcyBtYWRlIGhlcmUgd2lsbCBub3QgdXBkYXRlIHlvdXIgY3VycmVudCBvcmdhbml6YXRpb24gY2hhcnQuIFRoZXkgd2lsbCBvbmx5IGFmZmVjdCBmdXR1cmUgY2hhcnRzIG9yXG4gICAgICAgICAgICB1cGRhdGVzLlxuICAgICAgICAgIDwvYXgtY29udGVudD5cbiAgICAgICAgPC9heC1hbGVydD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2F4cC1wYWdlLWNvbnRlbnQ+XG48L2F4cC1wYWdlLWxheW91dD5cbiJdfQ=="],"names":["i1","i2","i3","i4"],"mappings":"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"}
|
|
@@ -136,12 +136,12 @@ class AXMOrgChartConfigService {
|
|
|
136
136
|
.scope(AXPPlatformScope.Tenant)
|
|
137
137
|
.set(AXPOrganizationSetting.Relations, matrix);
|
|
138
138
|
}
|
|
139
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.
|
|
140
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.
|
|
139
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: AXMOrgChartConfigService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
140
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: AXMOrgChartConfigService }); }
|
|
141
141
|
}
|
|
142
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.
|
|
142
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: AXMOrgChartConfigService, decorators: [{
|
|
143
143
|
type: Injectable
|
|
144
144
|
}] });
|
|
145
145
|
|
|
146
146
|
export { AXMOrgChartConfigService as A };
|
|
147
|
-
//# sourceMappingURL=acorex-modules-organization-management-org-chart-configuration.service-
|
|
147
|
+
//# sourceMappingURL=acorex-modules-organization-management-org-chart-configuration.service-CIveMQUH.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-modules-organization-management-org-chart-configuration.service-BkfSow3s.mjs","sources":["../tmp-esm2022/organization-management/lib/features/organization-chart/org-chart-configuration.service.js"],"sourcesContent":["import { inject, Injectable, signal } from '@angular/core';\nimport { AXPSettingService } from '@acorex/platform/common';\nimport { AXPPlatformScope } from '@acorex/platform/core';\nimport { AXPOrganizationSetting } from '../../settings.keys';\nimport { AXM_ORG_CHART_NODE_TYPE_ENTITY_MAPPINGS } from './org-chart.type';\nimport * as i0 from \"@angular/core\";\nexport class AXMOrgChartConfigService {\n constructor() {\n this.settingService = inject(AXPSettingService);\n //\n this._types = Object.entries(AXM_ORG_CHART_NODE_TYPE_ENTITY_MAPPINGS).map(c => c[1].type);\n this._defaultPermissioEncoded = '011111100001011100000111100000011100011111110011111110011111110000000011000000000';\n this.permissions = signal(this.defaultPermissions(), ...(ngDevMode ? [{ debugName: \"permissions\" }] : []));\n }\n get types() {\n return this._types;\n }\n defaultPermissions() {\n return this.decode(this._defaultPermissioEncoded);\n }\n encode(permissions) {\n let str = '';\n for (const parent of this.types) {\n for (const child of this.types) {\n str += (permissions[parent]?.[child] ?? 0).toString();\n }\n }\n return str;\n }\n decode(encoded) {\n const result = {};\n const expectedLength = this.types.length * this.types.length;\n if (encoded.length !== expectedLength) {\n throw new Error(`Invalid permissions string length. Expected ${expectedLength} but got ${encoded.length}`);\n }\n let index = 0;\n for (const parent of this.types) {\n result[parent] = {};\n for (const child of this.types) {\n const char = encoded.charAt(index);\n result[parent][child] = parseInt(char, 10);\n index++;\n }\n }\n return result;\n }\n decodeMatrix(matrix) {\n const newPermissions = {};\n this.types.forEach((parent, rowIndex) => {\n newPermissions[parent] = {};\n this.types.forEach((child, colIndex) => {\n newPermissions[parent][child] = matrix[rowIndex][colIndex];\n });\n });\n return newPermissions;\n }\n validateEncodedValue(storedValue) {\n try {\n if (typeof storedValue === 'string') {\n const expectedLength = this.types.length * this.types.length;\n // Check that the string is the correct length and only contains 0s and 1s.\n if (storedValue.length === expectedLength && /^[01]+$/.test(storedValue)) {\n return this.decode(storedValue);\n }\n }\n else if (Array.isArray(storedValue)) {\n // Validate the 2D array dimensions and values.\n if (storedValue.length === this.types.length &&\n storedValue.every(row => Array.isArray(row) &&\n row.length === this.types.length &&\n row.every(val => val === 0 || val === 1))) {\n return this.decodeMatrix(storedValue);\n }\n }\n else if (typeof storedValue === 'object' && storedValue !== null) {\n // Validate that the object has all the required keys and that their values are 0 or 1.\n let valid = true;\n for (const parent of this.types) {\n if (!(parent in storedValue)) {\n valid = false;\n break;\n }\n const childPermissions = storedValue[parent];\n for (const child of this.types) {\n if (!(child in childPermissions) || (childPermissions[child] !== 0 && childPermissions[child] !== 1)) {\n valid = false;\n break;\n }\n }\n if (!valid)\n break;\n }\n if (valid) {\n return storedValue;\n }\n }\n }\n catch (error) {\n // In case of any errors during validation, fall back to default permissions.\n }\n // Return the default permissions if validation fails.\n return this.defaultPermissions();\n }\n isAllowed(parent, child) {\n return (this.permissions()[parent]?.[child] ?? 0) === 1;\n }\n set(parent, child, value) {\n this.permissions.update((p) => {\n if (!p[parent]) {\n p[parent] = {};\n }\n p[parent][child] = value ? 1 : 0;\n return p;\n });\n }\n get(parent, child) {\n return this.permissions()[parent]?.[child] === 1;\n }\n async load() {\n const storedValue = await this.settingService\n .scope(AXPPlatformScope.Tenant)\n .get(AXPOrganizationSetting.Relations);\n // Use the validation method to ensure the stored value is correct.\n if (storedValue) {\n const validatedPermissions = this.validateEncodedValue(storedValue);\n this.permissions.set(validatedPermissions);\n }\n else {\n this.permissions.set(this.defaultPermissions());\n }\n }\n async update() {\n const matrix = this.encode(this.permissions());\n await this.settingService\n .scope(AXPPlatformScope.Tenant)\n .set(AXPOrganizationSetting.Relations, matrix);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: AXMOrgChartConfigService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: AXMOrgChartConfigService }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: AXMOrgChartConfigService, decorators: [{\n type: Injectable\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JnLWNoYXJ0LWNvbmZpZ3VyYXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9vcmdhbml6YXRpb24tbWFuYWdlbWVudC9zcmMvbGliL2ZlYXR1cmVzL29yZ2FuaXphdGlvbi1jaGFydC9vcmctY2hhcnQtY29uZmlndXJhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsdUNBQXVDLEVBQTZCLE1BQU0sa0JBQWtCLENBQUM7O0FBTXRHLE1BQU0sT0FBTyx3QkFBd0I7SUFEckM7UUFHcUIsbUJBQWMsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUM1RCxFQUFFO1FBQ1EsV0FBTSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsdUNBQXVDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7UUFNdkYsNkJBQXdCLEdBQUcsbUZBQW1GLENBQUM7UUFFaEgsZ0JBQVcsR0FBRyxNQUFNLENBQTRCLElBQUksQ0FBQyxrQkFBa0IsRUFBRSx1REFBQyxDQUFDO0tBOElyRjtJQXBKRyxJQUFXLEtBQUs7UUFDWixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDdkIsQ0FBQztJQU9PLGtCQUFrQjtRQUN0QixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUdPLE1BQU0sQ0FDVixXQUFzQztRQUV0QyxJQUFJLEdBQUcsR0FBRyxFQUFFLENBQUM7UUFDYixLQUFLLE1BQU0sTUFBTSxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUM5QixLQUFLLE1BQU0sS0FBSyxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDN0IsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDMUQsQ0FBQztRQUNMLENBQUM7UUFDRCxPQUFPLEdBQUcsQ0FBQztJQUNmLENBQUM7SUFHTyxNQUFNLENBQUMsT0FBZTtRQUMxQixNQUFNLE1BQU0sR0FBOEIsRUFBRSxDQUFDO1FBQzdDLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO1FBQzdELElBQUksT0FBTyxDQUFDLE1BQU0sS0FBSyxjQUFjLEVBQUUsQ0FBQztZQUNwQyxNQUFNLElBQUksS0FBSyxDQUFDLCtDQUErQyxjQUFjLFlBQVksT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDL0csQ0FBQztRQUNELElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQztRQUNkLEtBQUssTUFBTSxNQUFNLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQzlCLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDcEIsS0FBSyxNQUFNLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQzdCLE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ25DLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxRQUFRLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUMzQyxLQUFLLEVBQUUsQ0FBQztZQUNaLENBQUM7UUFDTCxDQUFDO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDbEIsQ0FBQztJQUdPLFlBQVksQ0FBQyxNQUFrQjtRQUNuQyxNQUFNLGNBQWMsR0FBOEIsRUFBRSxDQUFDO1FBQ3JELElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxFQUFFO1lBQ3BDLGNBQWMsQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDNUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLEVBQUU7Z0JBQ25DLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDL0QsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sY0FBYyxDQUFDO0lBQzFCLENBQUM7SUFFTyxvQkFBb0IsQ0FBQyxXQUFvQjtRQUM3QyxJQUFJLENBQUM7WUFDRCxJQUFJLE9BQU8sV0FBVyxLQUFLLFFBQVEsRUFBRSxDQUFDO2dCQUNsQyxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztnQkFDN0QsMkVBQTJFO2dCQUMzRSxJQUFJLFdBQVcsQ0FBQyxNQUFNLEtBQUssY0FBYyxJQUFJLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQztvQkFDdkUsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO2dCQUNwQyxDQUFDO1lBQ0wsQ0FBQztpQkFBTSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQztnQkFDcEMsK0NBQStDO2dCQUMvQyxJQUNJLFdBQVcsQ0FBQyxNQUFNLEtBQUssSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNO29CQUN4QyxXQUFXLENBQUMsS0FBSyxDQUNiLEdBQUcsQ0FBQyxFQUFFLENBQ0YsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUM7d0JBQ2xCLEdBQUcsQ0FBQyxNQUFNLEtBQUssSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNO3dCQUNoQyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQy9DLEVBQ0gsQ0FBQztvQkFDQyxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLENBQUM7Z0JBQzFDLENBQUM7WUFDTCxDQUFDO2lCQUFNLElBQUksT0FBTyxXQUFXLEtBQUssUUFBUSxJQUFJLFdBQVcsS0FBSyxJQUFJLEVBQUUsQ0FBQztnQkFDakUsdUZBQXVGO2dCQUN2RixJQUFJLEtBQUssR0FBRyxJQUFJLENBQUM7Z0JBQ2pCLEtBQUssTUFBTSxNQUFNLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO29CQUM5QixJQUFJLENBQUMsQ0FBQyxNQUFNLElBQUksV0FBVyxDQUFDLEVBQUUsQ0FBQzt3QkFDM0IsS0FBSyxHQUFHLEtBQUssQ0FBQzt3QkFDZCxNQUFNO29CQUNWLENBQUM7b0JBQ0QsTUFBTSxnQkFBZ0IsR0FBSSxXQUFtQixDQUFDLE1BQU0sQ0FBQyxDQUFDO29CQUN0RCxLQUFLLE1BQU0sS0FBSyxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQzt3QkFDN0IsSUFBSSxDQUFDLENBQUMsS0FBSyxJQUFJLGdCQUFnQixDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksZ0JBQWdCLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQzs0QkFDbkcsS0FBSyxHQUFHLEtBQUssQ0FBQzs0QkFDZCxNQUFNO3dCQUNWLENBQUM7b0JBQ0wsQ0FBQztvQkFDRCxJQUFJLENBQUMsS0FBSzt3QkFBRSxNQUFNO2dCQUN0QixDQUFDO2dCQUNELElBQUksS0FBSyxFQUFFLENBQUM7b0JBQ1IsT0FBTyxXQUF3QyxDQUFDO2dCQUNwRCxDQUFDO1lBQ0wsQ0FBQztRQUNMLENBQUM7UUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1lBQ2IsNkVBQTZFO1FBQ2pGLENBQUM7UUFDRCxzREFBc0Q7UUFDdEQsT0FBTyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBR00sU0FBUyxDQUFDLE1BQWMsRUFBRSxLQUFhO1FBQzFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUdNLEdBQUcsQ0FBQyxNQUFjLEVBQUUsS0FBYSxFQUFFLEtBQWM7UUFDcEQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUMxQixJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7Z0JBQ2IsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUNuQixDQUFDO1lBQ0QsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDakMsT0FBTyxDQUFDLENBQUM7UUFDYixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTSxHQUFHLENBQUMsTUFBYyxFQUFFLEtBQWE7UUFDcEMsT0FBTyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUdNLEtBQUssQ0FBQyxJQUFJO1FBQ2IsTUFBTSxXQUFXLEdBQUcsTUFBTSxJQUFJLENBQUMsY0FBYzthQUN4QyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDO2FBQzlCLEdBQUcsQ0FBQyxzQkFBc0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUUzQyxtRUFBbUU7UUFDbkUsSUFBSSxXQUFXLEVBQUUsQ0FBQztZQUNkLE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ3BFLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDL0MsQ0FBQzthQUFNLENBQUM7WUFDSixJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDO1FBQ3BELENBQUM7SUFDTCxDQUFDO0lBRU0sS0FBSyxDQUFDLE1BQU07UUFDZixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQy9DLE1BQU0sSUFBSSxDQUFDLGNBQWM7YUFDcEIsS0FBSyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQzthQUM5QixHQUFHLENBQUMsc0JBQXNCLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3ZELENBQUM7OEdBeEpRLHdCQUF3QjtrSEFBeEIsd0JBQXdCOzsyRkFBeEIsd0JBQXdCO2tCQURwQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlLCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYUFNldHRpbmdTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb21tb24nO1xuaW1wb3J0IHsgQVhQUGxhdGZvcm1TY29wZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29yZSc7XG5pbXBvcnQgeyBBWFBPcmdhbml6YXRpb25TZXR0aW5nIH0gZnJvbSAnLi4vLi4vc2V0dGluZ3Mua2V5cyc7XG5pbXBvcnQgeyBBWE1fT1JHX0NIQVJUX05PREVfVFlQRV9FTlRJVFlfTUFQUElOR1MsIEFYTU9yZ0NoYXJ0Tm9kZVBlcm1pc3Npb24gfSBmcm9tICcuL29yZy1jaGFydC50eXBlJztcblxuXG5cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFYTU9yZ0NoYXJ0Q29uZmlnU2VydmljZSB7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IHNldHRpbmdTZXJ2aWNlID0gaW5qZWN0KEFYUFNldHRpbmdTZXJ2aWNlKTtcbiAgICAvL1xuICAgIHByb3RlY3RlZCBfdHlwZXMgPSBPYmplY3QuZW50cmllcyhBWE1fT1JHX0NIQVJUX05PREVfVFlQRV9FTlRJVFlfTUFQUElOR1MpLm1hcChjID0+IGNbMV0udHlwZSk7XG5cbiAgICBwdWJsaWMgZ2V0IHR5cGVzKCk6IHN0cmluZ1tdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3R5cGVzO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2RlZmF1bHRQZXJtaXNzaW9FbmNvZGVkID0gJzAxMTExMTEwMDAwMTAxMTEwMDAwMDExMTEwMDAwMDAxMTEwMDAxMTExMTExMDAxMTExMTExMDAxMTExMTExMDAwMDAwMDAxMTAwMDAwMDAwMCc7XG5cbiAgICBwdWJsaWMgcGVybWlzc2lvbnMgPSBzaWduYWw8QVhNT3JnQ2hhcnROb2RlUGVybWlzc2lvbj4odGhpcy5kZWZhdWx0UGVybWlzc2lvbnMoKSk7XG5cblxuICAgIHByaXZhdGUgZGVmYXVsdFBlcm1pc3Npb25zKCk6IEFYTU9yZ0NoYXJ0Tm9kZVBlcm1pc3Npb24ge1xuICAgICAgICByZXR1cm4gdGhpcy5kZWNvZGUodGhpcy5fZGVmYXVsdFBlcm1pc3Npb0VuY29kZWQpO1xuICAgIH1cblxuXG4gICAgcHJpdmF0ZSBlbmNvZGUoXG4gICAgICAgIHBlcm1pc3Npb25zOiBBWE1PcmdDaGFydE5vZGVQZXJtaXNzaW9uXG4gICAgKTogc3RyaW5nIHtcbiAgICAgICAgbGV0IHN0ciA9ICcnO1xuICAgICAgICBmb3IgKGNvbnN0IHBhcmVudCBvZiB0aGlzLnR5cGVzKSB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGNoaWxkIG9mIHRoaXMudHlwZXMpIHtcbiAgICAgICAgICAgICAgICBzdHIgKz0gKHBlcm1pc3Npb25zW3BhcmVudF0/LltjaGlsZF0gPz8gMCkudG9TdHJpbmcoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gc3RyO1xuICAgIH1cblxuXG4gICAgcHJpdmF0ZSBkZWNvZGUoZW5jb2RlZDogc3RyaW5nKTogQVhNT3JnQ2hhcnROb2RlUGVybWlzc2lvbiB7XG4gICAgICAgIGNvbnN0IHJlc3VsdDogQVhNT3JnQ2hhcnROb2RlUGVybWlzc2lvbiA9IHt9O1xuICAgICAgICBjb25zdCBleHBlY3RlZExlbmd0aCA9IHRoaXMudHlwZXMubGVuZ3RoICogdGhpcy50eXBlcy5sZW5ndGg7XG4gICAgICAgIGlmIChlbmNvZGVkLmxlbmd0aCAhPT0gZXhwZWN0ZWRMZW5ndGgpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBwZXJtaXNzaW9ucyBzdHJpbmcgbGVuZ3RoLiBFeHBlY3RlZCAke2V4cGVjdGVkTGVuZ3RofSBidXQgZ290ICR7ZW5jb2RlZC5sZW5ndGh9YCk7XG4gICAgICAgIH1cbiAgICAgICAgbGV0IGluZGV4ID0gMDtcbiAgICAgICAgZm9yIChjb25zdCBwYXJlbnQgb2YgdGhpcy50eXBlcykge1xuICAgICAgICAgICAgcmVzdWx0W3BhcmVudF0gPSB7fTtcbiAgICAgICAgICAgIGZvciAoY29uc3QgY2hpbGQgb2YgdGhpcy50eXBlcykge1xuICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgPSBlbmNvZGVkLmNoYXJBdChpbmRleCk7XG4gICAgICAgICAgICAgICAgcmVzdWx0W3BhcmVudF1bY2hpbGRdID0gcGFyc2VJbnQoY2hhciwgMTApO1xuICAgICAgICAgICAgICAgIGluZGV4Kys7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cblxuICAgIHByaXZhdGUgZGVjb2RlTWF0cml4KG1hdHJpeDogbnVtYmVyW11bXSk6IEFYTU9yZ0NoYXJ0Tm9kZVBlcm1pc3Npb24ge1xuICAgICAgICBjb25zdCBuZXdQZXJtaXNzaW9uczogQVhNT3JnQ2hhcnROb2RlUGVybWlzc2lvbiA9IHt9O1xuICAgICAgICB0aGlzLnR5cGVzLmZvckVhY2goKHBhcmVudCwgcm93SW5kZXgpID0+IHtcbiAgICAgICAgICAgIG5ld1Blcm1pc3Npb25zW3BhcmVudF0gPSB7fTtcbiAgICAgICAgICAgIHRoaXMudHlwZXMuZm9yRWFjaCgoY2hpbGQsIGNvbEluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgbmV3UGVybWlzc2lvbnNbcGFyZW50XVtjaGlsZF0gPSBtYXRyaXhbcm93SW5kZXhdW2NvbEluZGV4XTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIG5ld1Blcm1pc3Npb25zO1xuICAgIH1cblxuICAgIHByaXZhdGUgdmFsaWRhdGVFbmNvZGVkVmFsdWUoc3RvcmVkVmFsdWU6IHVua25vd24pOiBBWE1PcmdDaGFydE5vZGVQZXJtaXNzaW9uIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGlmICh0eXBlb2Ygc3RvcmVkVmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZXhwZWN0ZWRMZW5ndGggPSB0aGlzLnR5cGVzLmxlbmd0aCAqIHRoaXMudHlwZXMubGVuZ3RoO1xuICAgICAgICAgICAgICAgIC8vIENoZWNrIHRoYXQgdGhlIHN0cmluZyBpcyB0aGUgY29ycmVjdCBsZW5ndGggYW5kIG9ubHkgY29udGFpbnMgMHMgYW5kIDFzLlxuICAgICAgICAgICAgICAgIGlmIChzdG9yZWRWYWx1ZS5sZW5ndGggPT09IGV4cGVjdGVkTGVuZ3RoICYmIC9eWzAxXSskLy50ZXN0KHN0b3JlZFZhbHVlKSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5kZWNvZGUoc3RvcmVkVmFsdWUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheShzdG9yZWRWYWx1ZSkpIHtcbiAgICAgICAgICAgICAgICAvLyBWYWxpZGF0ZSB0aGUgMkQgYXJyYXkgZGltZW5zaW9ucyBhbmQgdmFsdWVzLlxuICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgc3RvcmVkVmFsdWUubGVuZ3RoID09PSB0aGlzLnR5cGVzLmxlbmd0aCAmJlxuICAgICAgICAgICAgICAgICAgICBzdG9yZWRWYWx1ZS5ldmVyeShcbiAgICAgICAgICAgICAgICAgICAgICAgIHJvdyA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFycmF5LmlzQXJyYXkocm93KSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvdy5sZW5ndGggPT09IHRoaXMudHlwZXMubGVuZ3RoICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcm93LmV2ZXJ5KHZhbCA9PiB2YWwgPT09IDAgfHwgdmFsID09PSAxKVxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmRlY29kZU1hdHJpeChzdG9yZWRWYWx1ZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIGlmICh0eXBlb2Ygc3RvcmVkVmFsdWUgPT09ICdvYmplY3QnICYmIHN0b3JlZFZhbHVlICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgLy8gVmFsaWRhdGUgdGhhdCB0aGUgb2JqZWN0IGhhcyBhbGwgdGhlIHJlcXVpcmVkIGtleXMgYW5kIHRoYXQgdGhlaXIgdmFsdWVzIGFyZSAwIG9yIDEuXG4gICAgICAgICAgICAgICAgbGV0IHZhbGlkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IHBhcmVudCBvZiB0aGlzLnR5cGVzKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghKHBhcmVudCBpbiBzdG9yZWRWYWx1ZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbGlkID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGlsZFBlcm1pc3Npb25zID0gKHN0b3JlZFZhbHVlIGFzIGFueSlbcGFyZW50XTtcbiAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCBjaGlsZCBvZiB0aGlzLnR5cGVzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIShjaGlsZCBpbiBjaGlsZFBlcm1pc3Npb25zKSB8fCAoY2hpbGRQZXJtaXNzaW9uc1tjaGlsZF0gIT09IDAgJiYgY2hpbGRQZXJtaXNzaW9uc1tjaGlsZF0gIT09IDEpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsaWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpZiAoIXZhbGlkKSBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHZhbGlkKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBzdG9yZWRWYWx1ZSBhcyBBWE1PcmdDaGFydE5vZGVQZXJtaXNzaW9uO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIC8vIEluIGNhc2Ugb2YgYW55IGVycm9ycyBkdXJpbmcgdmFsaWRhdGlvbiwgZmFsbCBiYWNrIHRvIGRlZmF1bHQgcGVybWlzc2lvbnMuXG4gICAgICAgIH1cbiAgICAgICAgLy8gUmV0dXJuIHRoZSBkZWZhdWx0IHBlcm1pc3Npb25zIGlmIHZhbGlkYXRpb24gZmFpbHMuXG4gICAgICAgIHJldHVybiB0aGlzLmRlZmF1bHRQZXJtaXNzaW9ucygpO1xuICAgIH1cblxuXG4gICAgcHVibGljIGlzQWxsb3dlZChwYXJlbnQ6IHN0cmluZywgY2hpbGQ6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKHRoaXMucGVybWlzc2lvbnMoKVtwYXJlbnRdPy5bY2hpbGRdID8/IDApID09PSAxO1xuICAgIH1cblxuXG4gICAgcHVibGljIHNldChwYXJlbnQ6IHN0cmluZywgY2hpbGQ6IHN0cmluZywgdmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5wZXJtaXNzaW9ucy51cGRhdGUoKHApID0+IHtcbiAgICAgICAgICAgIGlmICghcFtwYXJlbnRdKSB7XG4gICAgICAgICAgICAgICAgcFtwYXJlbnRdID0ge307XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwW3BhcmVudF1bY2hpbGRdID0gdmFsdWUgPyAxIDogMDtcbiAgICAgICAgICAgIHJldHVybiBwO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0KHBhcmVudDogc3RyaW5nLCBjaGlsZDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnBlcm1pc3Npb25zKClbcGFyZW50XT8uW2NoaWxkXSA9PT0gMTtcbiAgICB9XG5cblxuICAgIHB1YmxpYyBhc3luYyBsb2FkKCkge1xuICAgICAgICBjb25zdCBzdG9yZWRWYWx1ZSA9IGF3YWl0IHRoaXMuc2V0dGluZ1NlcnZpY2VcbiAgICAgICAgICAgIC5zY29wZShBWFBQbGF0Zm9ybVNjb3BlLlRlbmFudClcbiAgICAgICAgICAgIC5nZXQoQVhQT3JnYW5pemF0aW9uU2V0dGluZy5SZWxhdGlvbnMpO1xuXG4gICAgICAgIC8vIFVzZSB0aGUgdmFsaWRhdGlvbiBtZXRob2QgdG8gZW5zdXJlIHRoZSBzdG9yZWQgdmFsdWUgaXMgY29ycmVjdC5cbiAgICAgICAgaWYgKHN0b3JlZFZhbHVlKSB7XG4gICAgICAgICAgICBjb25zdCB2YWxpZGF0ZWRQZXJtaXNzaW9ucyA9IHRoaXMudmFsaWRhdGVFbmNvZGVkVmFsdWUoc3RvcmVkVmFsdWUpO1xuICAgICAgICAgICAgdGhpcy5wZXJtaXNzaW9ucy5zZXQodmFsaWRhdGVkUGVybWlzc2lvbnMpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5wZXJtaXNzaW9ucy5zZXQodGhpcy5kZWZhdWx0UGVybWlzc2lvbnMoKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgdXBkYXRlKCkge1xuICAgICAgICBjb25zdCBtYXRyaXggPSB0aGlzLmVuY29kZSh0aGlzLnBlcm1pc3Npb25zKCkpO1xuICAgICAgICBhd2FpdCB0aGlzLnNldHRpbmdTZXJ2aWNlXG4gICAgICAgICAgICAuc2NvcGUoQVhQUGxhdGZvcm1TY29wZS5UZW5hbnQpXG4gICAgICAgICAgICAuc2V0KEFYUE9yZ2FuaXphdGlvblNldHRpbmcuUmVsYXRpb25zLCBtYXRyaXgpO1xuICAgIH1cblxufVxuIl19"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"acorex-modules-organization-management-org-chart-configuration.service-CIveMQUH.mjs","sources":["../tmp-esm2022/organization-management/lib/features/organization-chart/org-chart-configuration.service.js"],"sourcesContent":["import { inject, Injectable, signal } from '@angular/core';\nimport { AXPSettingService } from '@acorex/platform/common';\nimport { AXPPlatformScope } from '@acorex/platform/core';\nimport { AXPOrganizationSetting } from '../../settings.keys';\nimport { AXM_ORG_CHART_NODE_TYPE_ENTITY_MAPPINGS } from './org-chart.type';\nimport * as i0 from \"@angular/core\";\nexport class AXMOrgChartConfigService {\n constructor() {\n this.settingService = inject(AXPSettingService);\n //\n this._types = Object.entries(AXM_ORG_CHART_NODE_TYPE_ENTITY_MAPPINGS).map(c => c[1].type);\n this._defaultPermissioEncoded = '011111100001011100000111100000011100011111110011111110011111110000000011000000000';\n this.permissions = signal(this.defaultPermissions(), ...(ngDevMode ? [{ debugName: \"permissions\" }] : []));\n }\n get types() {\n return this._types;\n }\n defaultPermissions() {\n return this.decode(this._defaultPermissioEncoded);\n }\n encode(permissions) {\n let str = '';\n for (const parent of this.types) {\n for (const child of this.types) {\n str += (permissions[parent]?.[child] ?? 0).toString();\n }\n }\n return str;\n }\n decode(encoded) {\n const result = {};\n const expectedLength = this.types.length * this.types.length;\n if (encoded.length !== expectedLength) {\n throw new Error(`Invalid permissions string length. Expected ${expectedLength} but got ${encoded.length}`);\n }\n let index = 0;\n for (const parent of this.types) {\n result[parent] = {};\n for (const child of this.types) {\n const char = encoded.charAt(index);\n result[parent][child] = parseInt(char, 10);\n index++;\n }\n }\n return result;\n }\n decodeMatrix(matrix) {\n const newPermissions = {};\n this.types.forEach((parent, rowIndex) => {\n newPermissions[parent] = {};\n this.types.forEach((child, colIndex) => {\n newPermissions[parent][child] = matrix[rowIndex][colIndex];\n });\n });\n return newPermissions;\n }\n validateEncodedValue(storedValue) {\n try {\n if (typeof storedValue === 'string') {\n const expectedLength = this.types.length * this.types.length;\n // Check that the string is the correct length and only contains 0s and 1s.\n if (storedValue.length === expectedLength && /^[01]+$/.test(storedValue)) {\n return this.decode(storedValue);\n }\n }\n else if (Array.isArray(storedValue)) {\n // Validate the 2D array dimensions and values.\n if (storedValue.length === this.types.length &&\n storedValue.every(row => Array.isArray(row) &&\n row.length === this.types.length &&\n row.every(val => val === 0 || val === 1))) {\n return this.decodeMatrix(storedValue);\n }\n }\n else if (typeof storedValue === 'object' && storedValue !== null) {\n // Validate that the object has all the required keys and that their values are 0 or 1.\n let valid = true;\n for (const parent of this.types) {\n if (!(parent in storedValue)) {\n valid = false;\n break;\n }\n const childPermissions = storedValue[parent];\n for (const child of this.types) {\n if (!(child in childPermissions) || (childPermissions[child] !== 0 && childPermissions[child] !== 1)) {\n valid = false;\n break;\n }\n }\n if (!valid)\n break;\n }\n if (valid) {\n return storedValue;\n }\n }\n }\n catch (error) {\n // In case of any errors during validation, fall back to default permissions.\n }\n // Return the default permissions if validation fails.\n return this.defaultPermissions();\n }\n isAllowed(parent, child) {\n return (this.permissions()[parent]?.[child] ?? 0) === 1;\n }\n set(parent, child, value) {\n this.permissions.update((p) => {\n if (!p[parent]) {\n p[parent] = {};\n }\n p[parent][child] = value ? 1 : 0;\n return p;\n });\n }\n get(parent, child) {\n return this.permissions()[parent]?.[child] === 1;\n }\n async load() {\n const storedValue = await this.settingService\n .scope(AXPPlatformScope.Tenant)\n .get(AXPOrganizationSetting.Relations);\n // Use the validation method to ensure the stored value is correct.\n if (storedValue) {\n const validatedPermissions = this.validateEncodedValue(storedValue);\n this.permissions.set(validatedPermissions);\n }\n else {\n this.permissions.set(this.defaultPermissions());\n }\n }\n async update() {\n const matrix = this.encode(this.permissions());\n await this.settingService\n .scope(AXPPlatformScope.Tenant)\n .set(AXPOrganizationSetting.Relations, matrix);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXMOrgChartConfigService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXMOrgChartConfigService }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXMOrgChartConfigService, decorators: [{\n type: Injectable\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JnLWNoYXJ0LWNvbmZpZ3VyYXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9vcmdhbml6YXRpb24tbWFuYWdlbWVudC9zcmMvbGliL2ZlYXR1cmVzL29yZ2FuaXphdGlvbi1jaGFydC9vcmctY2hhcnQtY29uZmlndXJhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsdUNBQXVDLEVBQTZCLE1BQU0sa0JBQWtCLENBQUM7O0FBTXRHLE1BQU0sT0FBTyx3QkFBd0I7SUFEckM7UUFHcUIsbUJBQWMsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUM1RCxFQUFFO1FBQ1EsV0FBTSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsdUNBQXVDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7UUFNdkYsNkJBQXdCLEdBQUcsbUZBQW1GLENBQUM7UUFFaEgsZ0JBQVcsR0FBRyxNQUFNLENBQTRCLElBQUksQ0FBQyxrQkFBa0IsRUFBRSx1REFBQyxDQUFDO0tBOElyRjtJQXBKRyxJQUFXLEtBQUs7UUFDWixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDdkIsQ0FBQztJQU9PLGtCQUFrQjtRQUN0QixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLHdC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O2FBQzlCLEdBQUcsQ0FBQyxzQkFBc0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUUzQyxtRUFBbUU7UUFDbkUsSUFBSSxXQUFXLEVBQUUsQ0FBQztZQUNkLE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ3BFLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDL0MsQ0FBQzthQUFNLENBQUM7WUFDSixJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDO1FBQ3BELENBQUM7SUFDTCxDQUFDO0lBRU0sS0FBSyxDQUFDLE1BQU07UUFDZixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQy9DLE1BQU0sSUFBSSxDQUFDLGNBQWM7YUFDcEIsS0FBSyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQzthQUM5QixHQUFHLENBQUMsc0JBQXNCLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3ZELENBQUM7OEdBeEpRLHdCQUF3QjtrSEFBeEIsd0JBQXdCOzsyRkFBeEIsd0JBQXdCO2tCQURwQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlLCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYUFNldHRpbmdTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb21tb24nO1xuaW1wb3J0IHsgQVhQUGxhdGZvcm1TY29wZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29yZSc7XG5pbXBvcnQgeyBBWFBPcmdhbml6YXRpb25TZXR0aW5nIH0gZnJvbSAnLi4vLi4vc2V0dGluZ3Mua2V5cyc7XG5pbXBvcnQgeyBBWE1fT1JHX0NIQVJUX05PREVfVFlQRV9FTlRJVFlfTUFQUElOR1MsIEFYTU9yZ0NoYXJ0Tm9kZVBlcm1pc3Npb24gfSBmcm9tICcuL29yZy1jaGFydC50eXBlJztcblxuXG5cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFYTU9yZ0NoYXJ0Q29uZmlnU2VydmljZSB7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IHNldHRpbmdTZXJ2aWNlID0gaW5qZWN0KEFYUFNldHRpbmdTZXJ2aWNlKTtcbiAgICAvL1xuICAgIHByb3RlY3RlZCBfdHlwZXMgPSBPYmplY3QuZW50cmllcyhBWE1fT1JHX0NIQVJUX05PREVfVFlQRV9FTlRJVFlfTUFQUElOR1MpLm1hcChjID0+IGNbMV0udHlwZSk7XG5cbiAgICBwdWJsaWMgZ2V0IHR5cGVzKCk6IHN0cmluZ1tdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3R5cGVzO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2RlZmF1bHRQZXJtaXNzaW9FbmNvZGVkID0gJzAxMTExMTEwMDAwMTAxMTEwMDAwMDExMTEwMDAwMDAxMTEwMDAxMTExMTExMDAxMTExMTExMDAxMTExMTExMDAwMDAwMDAxMTAwMDAwMDAwMCc7XG5cbiAgICBwdWJsaWMgcGVybWlzc2lvbnMgPSBzaWduYWw8QVhNT3JnQ2hhcnROb2RlUGVybWlzc2lvbj4odGhpcy5kZWZhdWx0UGVybWlzc2lvbnMoKSk7XG5cblxuICAgIHByaXZhdGUgZGVmYXVsdFBlcm1pc3Npb25zKCk6IEFYTU9yZ0NoYXJ0Tm9kZVBlcm1pc3Npb24ge1xuICAgICAgICByZXR1cm4gdGhpcy5kZWNvZGUodGhpcy5fZGVmYXVsdFBlcm1pc3Npb0VuY29kZWQpO1xuICAgIH1cblxuXG4gICAgcHJpdmF0ZSBlbmNvZGUoXG4gICAgICAgIHBlcm1pc3Npb25zOiBBWE1PcmdDaGFydE5vZGVQZXJtaXNzaW9uXG4gICAgKTogc3RyaW5nIHtcbiAgICAgICAgbGV0IHN0ciA9ICcnO1xuICAgICAgICBmb3IgKGNvbnN0IHBhcmVudCBvZiB0aGlzLnR5cGVzKSB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGNoaWxkIG9mIHRoaXMudHlwZXMpIHtcbiAgICAgICAgICAgICAgICBzdHIgKz0gKHBlcm1pc3Npb25zW3BhcmVudF0/LltjaGlsZF0gPz8gMCkudG9TdHJpbmcoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gc3RyO1xuICAgIH1cblxuXG4gICAgcHJpdmF0ZSBkZWNvZGUoZW5jb2RlZDogc3RyaW5nKTogQVhNT3JnQ2hhcnROb2RlUGVybWlzc2lvbiB7XG4gICAgICAgIGNvbnN0IHJlc3VsdDogQVhNT3JnQ2hhcnROb2RlUGVybWlzc2lvbiA9IHt9O1xuICAgICAgICBjb25zdCBleHBlY3RlZExlbmd0aCA9IHRoaXMudHlwZXMubGVuZ3RoICogdGhpcy50eXBlcy5sZW5ndGg7XG4gICAgICAgIGlmIChlbmNvZGVkLmxlbmd0aCAhPT0gZXhwZWN0ZWRMZW5ndGgpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBwZXJtaXNzaW9ucyBzdHJpbmcgbGVuZ3RoLiBFeHBlY3RlZCAke2V4cGVjdGVkTGVuZ3RofSBidXQgZ290ICR7ZW5jb2RlZC5sZW5ndGh9YCk7XG4gICAgICAgIH1cbiAgICAgICAgbGV0IGluZGV4ID0gMDtcbiAgICAgICAgZm9yIChjb25zdCBwYXJlbnQgb2YgdGhpcy50eXBlcykge1xuICAgICAgICAgICAgcmVzdWx0W3BhcmVudF0gPSB7fTtcbiAgICAgICAgICAgIGZvciAoY29uc3QgY2hpbGQgb2YgdGhpcy50eXBlcykge1xuICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgPSBlbmNvZGVkLmNoYXJBdChpbmRleCk7XG4gICAgICAgICAgICAgICAgcmVzdWx0W3BhcmVudF1bY2hpbGRdID0gcGFyc2VJbnQoY2hhciwgMTApO1xuICAgICAgICAgICAgICAgIGluZGV4Kys7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cblxuICAgIHByaXZhdGUgZGVjb2RlTWF0cml4KG1hdHJpeDogbnVtYmVyW11bXSk6IEFYTU9yZ0NoYXJ0Tm9kZVBlcm1pc3Npb24ge1xuICAgICAgICBjb25zdCBuZXdQZXJtaXNzaW9uczogQVhNT3JnQ2hhcnROb2RlUGVybWlzc2lvbiA9IHt9O1xuICAgICAgICB0aGlzLnR5cGVzLmZvckVhY2goKHBhcmVudCwgcm93SW5kZXgpID0+IHtcbiAgICAgICAgICAgIG5ld1Blcm1pc3Npb25zW3BhcmVudF0gPSB7fTtcbiAgICAgICAgICAgIHRoaXMudHlwZXMuZm9yRWFjaCgoY2hpbGQsIGNvbEluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgbmV3UGVybWlzc2lvbnNbcGFyZW50XVtjaGlsZF0gPSBtYXRyaXhbcm93SW5kZXhdW2NvbEluZGV4XTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIG5ld1Blcm1pc3Npb25zO1xuICAgIH1cblxuICAgIHByaXZhdGUgdmFsaWRhdGVFbmNvZGVkVmFsdWUoc3RvcmVkVmFsdWU6IHVua25vd24pOiBBWE1PcmdDaGFydE5vZGVQZXJtaXNzaW9uIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGlmICh0eXBlb2Ygc3RvcmVkVmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZXhwZWN0ZWRMZW5ndGggPSB0aGlzLnR5cGVzLmxlbmd0aCAqIHRoaXMudHlwZXMubGVuZ3RoO1xuICAgICAgICAgICAgICAgIC8vIENoZWNrIHRoYXQgdGhlIHN0cmluZyBpcyB0aGUgY29ycmVjdCBsZW5ndGggYW5kIG9ubHkgY29udGFpbnMgMHMgYW5kIDFzLlxuICAgICAgICAgICAgICAgIGlmIChzdG9yZWRWYWx1ZS5sZW5ndGggPT09IGV4cGVjdGVkTGVuZ3RoICYmIC9eWzAxXSskLy50ZXN0KHN0b3JlZFZhbHVlKSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5kZWNvZGUoc3RvcmVkVmFsdWUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheShzdG9yZWRWYWx1ZSkpIHtcbiAgICAgICAgICAgICAgICAvLyBWYWxpZGF0ZSB0aGUgMkQgYXJyYXkgZGltZW5zaW9ucyBhbmQgdmFsdWVzLlxuICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgc3RvcmVkVmFsdWUubGVuZ3RoID09PSB0aGlzLnR5cGVzLmxlbmd0aCAmJlxuICAgICAgICAgICAgICAgICAgICBzdG9yZWRWYWx1ZS5ldmVyeShcbiAgICAgICAgICAgICAgICAgICAgICAgIHJvdyA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFycmF5LmlzQXJyYXkocm93KSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvdy5sZW5ndGggPT09IHRoaXMudHlwZXMubGVuZ3RoICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcm93LmV2ZXJ5KHZhbCA9PiB2YWwgPT09IDAgfHwgdmFsID09PSAxKVxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmRlY29kZU1hdHJpeChzdG9yZWRWYWx1ZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIGlmICh0eXBlb2Ygc3RvcmVkVmFsdWUgPT09ICdvYmplY3QnICYmIHN0b3JlZFZhbHVlICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgLy8gVmFsaWRhdGUgdGhhdCB0aGUgb2JqZWN0IGhhcyBhbGwgdGhlIHJlcXVpcmVkIGtleXMgYW5kIHRoYXQgdGhlaXIgdmFsdWVzIGFyZSAwIG9yIDEuXG4gICAgICAgICAgICAgICAgbGV0IHZhbGlkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IHBhcmVudCBvZiB0aGlzLnR5cGVzKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghKHBhcmVudCBpbiBzdG9yZWRWYWx1ZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbGlkID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGlsZFBlcm1pc3Npb25zID0gKHN0b3JlZFZhbHVlIGFzIGFueSlbcGFyZW50XTtcbiAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCBjaGlsZCBvZiB0aGlzLnR5cGVzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIShjaGlsZCBpbiBjaGlsZFBlcm1pc3Npb25zKSB8fCAoY2hpbGRQZXJtaXNzaW9uc1tjaGlsZF0gIT09IDAgJiYgY2hpbGRQZXJtaXNzaW9uc1tjaGlsZF0gIT09IDEpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsaWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpZiAoIXZhbGlkKSBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHZhbGlkKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBzdG9yZWRWYWx1ZSBhcyBBWE1PcmdDaGFydE5vZGVQZXJtaXNzaW9uO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIC8vIEluIGNhc2Ugb2YgYW55IGVycm9ycyBkdXJpbmcgdmFsaWRhdGlvbiwgZmFsbCBiYWNrIHRvIGRlZmF1bHQgcGVybWlzc2lvbnMuXG4gICAgICAgIH1cbiAgICAgICAgLy8gUmV0dXJuIHRoZSBkZWZhdWx0IHBlcm1pc3Npb25zIGlmIHZhbGlkYXRpb24gZmFpbHMuXG4gICAgICAgIHJldHVybiB0aGlzLmRlZmF1bHRQZXJtaXNzaW9ucygpO1xuICAgIH1cblxuXG4gICAgcHVibGljIGlzQWxsb3dlZChwYXJlbnQ6IHN0cmluZywgY2hpbGQ6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKHRoaXMucGVybWlzc2lvbnMoKVtwYXJlbnRdPy5bY2hpbGRdID8/IDApID09PSAxO1xuICAgIH1cblxuXG4gICAgcHVibGljIHNldChwYXJlbnQ6IHN0cmluZywgY2hpbGQ6IHN0cmluZywgdmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5wZXJtaXNzaW9ucy51cGRhdGUoKHApID0+IHtcbiAgICAgICAgICAgIGlmICghcFtwYXJlbnRdKSB7XG4gICAgICAgICAgICAgICAgcFtwYXJlbnRdID0ge307XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwW3BhcmVudF1bY2hpbGRdID0gdmFsdWUgPyAxIDogMDtcbiAgICAgICAgICAgIHJldHVybiBwO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0KHBhcmVudDogc3RyaW5nLCBjaGlsZDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnBlcm1pc3Npb25zKClbcGFyZW50XT8uW2NoaWxkXSA9PT0gMTtcbiAgICB9XG5cblxuICAgIHB1YmxpYyBhc3luYyBsb2FkKCkge1xuICAgICAgICBjb25zdCBzdG9yZWRWYWx1ZSA9IGF3YWl0IHRoaXMuc2V0dGluZ1NlcnZpY2VcbiAgICAgICAgICAgIC5zY29wZShBWFBQbGF0Zm9ybVNjb3BlLlRlbmFudClcbiAgICAgICAgICAgIC5nZXQoQVhQT3JnYW5pemF0aW9uU2V0dGluZy5SZWxhdGlvbnMpO1xuXG4gICAgICAgIC8vIFVzZSB0aGUgdmFsaWRhdGlvbiBtZXRob2QgdG8gZW5zdXJlIHRoZSBzdG9yZWQgdmFsdWUgaXMgY29ycmVjdC5cbiAgICAgICAgaWYgKHN0b3JlZFZhbHVlKSB7XG4gICAgICAgICAgICBjb25zdCB2YWxpZGF0ZWRQZXJtaXNzaW9ucyA9IHRoaXMudmFsaWRhdGVFbmNvZGVkVmFsdWUoc3RvcmVkVmFsdWUpO1xuICAgICAgICAgICAgdGhpcy5wZXJtaXNzaW9ucy5zZXQodmFsaWRhdGVkUGVybWlzc2lvbnMpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5wZXJtaXNzaW9ucy5zZXQodGhpcy5kZWZhdWx0UGVybWlzc2lvbnMoKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgdXBkYXRlKCkge1xuICAgICAgICBjb25zdCBtYXRyaXggPSB0aGlzLmVuY29kZSh0aGlzLnBlcm1pc3Npb25zKCkpO1xuICAgICAgICBhd2FpdCB0aGlzLnNldHRpbmdTZXJ2aWNlXG4gICAgICAgICAgICAuc2NvcGUoQVhQUGxhdGZvcm1TY29wZS5UZW5hbnQpXG4gICAgICAgICAgICAuc2V0KEFYUE9yZ2FuaXphdGlvblNldHRpbmcuUmVsYXRpb25zLCBtYXRyaXgpO1xuICAgIH1cblxufVxuIl19"],"names":[],"mappings":"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"}
|
|
@@ -21,15 +21,16 @@ import { RouterModule } from '@angular/router';
|
|
|
21
21
|
import get from 'lodash-es/get';
|
|
22
22
|
import set from 'lodash-es/set';
|
|
23
23
|
import { AXMOrganizationManagementDepartmentEntityService, AXMOrganizationManagementDivisionEntityService, AXMOrganizationManagementBranchEntityService, AXMOrganizationManagementEmployeeEntityService, AXMOrganizationManagementPositionEntityService, AXMOrganizationManagementChartEntityService, AXMOrganizationNodeType, AXM_ORG_CHART_NODE_TYPE_ENTITY_MAPPINGS, RootConfig, AXMOrganizationNodeTypeCategory } from './acorex-modules-organization-management.mjs';
|
|
24
|
-
import { A as AXMOrgChartConfigService } from './acorex-modules-organization-management-org-chart-configuration.service-
|
|
24
|
+
import { A as AXMOrgChartConfigService } from './acorex-modules-organization-management-org-chart-configuration.service-CIveMQUH.mjs';
|
|
25
25
|
import { AXLoadingDialogService } from '@acorex/components/loading-dialog';
|
|
26
|
-
import { AXPExportService
|
|
26
|
+
import { AXPExportService } from '@acorex/platform/common';
|
|
27
27
|
import { AXDialogService } from '@acorex/components/dialog';
|
|
28
28
|
import { AXPopupService } from '@acorex/components/popup';
|
|
29
29
|
import { AXPSessionService } from '@acorex/platform/auth';
|
|
30
30
|
import { AXPDataGenerator, applyFilterArray } from '@acorex/platform/core';
|
|
31
31
|
import { AXPLayoutThemeService } from '@acorex/platform/themes/shared';
|
|
32
32
|
import { cloneDeep } from 'lodash-es';
|
|
33
|
+
import { AXMLocationManagementService } from '@acorex/modules/location-management';
|
|
33
34
|
|
|
34
35
|
/**
|
|
35
36
|
* Service for printing organization charts.
|
|
@@ -152,10 +153,10 @@ class AXMOrgChartPrintService {
|
|
|
152
153
|
async translateStatements(key) {
|
|
153
154
|
return (await this.translationService.translateAsync(key, { scope: 'organization-management' })) + '...';
|
|
154
155
|
}
|
|
155
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.
|
|
156
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.
|
|
156
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: AXMOrgChartPrintService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
157
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: AXMOrgChartPrintService }); }
|
|
157
158
|
}
|
|
158
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.
|
|
159
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: AXMOrgChartPrintService, decorators: [{
|
|
159
160
|
type: Injectable
|
|
160
161
|
}] });
|
|
161
162
|
|
|
@@ -171,7 +172,7 @@ class AXMOrgChartService {
|
|
|
171
172
|
this.configService = inject(AXMOrgChartConfigService);
|
|
172
173
|
this.popupService = inject(AXPopupService);
|
|
173
174
|
this.layoutService = inject(AXPLayoutThemeService);
|
|
174
|
-
this.regionalService = inject(
|
|
175
|
+
this.regionalService = inject(AXMLocationManagementService);
|
|
175
176
|
this.dialogService = inject(AXDialogService);
|
|
176
177
|
this.translateService = inject(AXTranslationService);
|
|
177
178
|
this._rootNode = signal({ id: AXPDataGenerator.uuid(), title: 'Company' }, ...(ngDevMode ? [{ debugName: "_rootNode" }] : []));
|
|
@@ -435,7 +436,7 @@ class AXMOrgChartService {
|
|
|
435
436
|
async addNode(data) {
|
|
436
437
|
this.layoutService.setNavigationLoading(true);
|
|
437
438
|
try {
|
|
438
|
-
const component = (await import('./acorex-modules-organization-management-add-item.component-
|
|
439
|
+
const component = (await import('./acorex-modules-organization-management-add-item.component-CzIIXsRJ.mjs')).AddItemComponent;
|
|
439
440
|
const node = get(data, 'node');
|
|
440
441
|
const type = get(data, 'config.type');
|
|
441
442
|
const icon = get(data, 'config.icon');
|
|
@@ -552,10 +553,10 @@ class AXMOrgChartService {
|
|
|
552
553
|
this.layoutService.setNavigationLoading(false);
|
|
553
554
|
}
|
|
554
555
|
}
|
|
555
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.
|
|
556
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.
|
|
556
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: AXMOrgChartService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
557
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: AXMOrgChartService }); }
|
|
557
558
|
}
|
|
558
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.
|
|
559
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: AXMOrgChartService, decorators: [{
|
|
559
560
|
type: Injectable
|
|
560
561
|
}] });
|
|
561
562
|
|
|
@@ -938,8 +939,8 @@ class AXMOrgChartPage extends AXPPageLayoutBaseComponent {
|
|
|
938
939
|
ngOnDestroy() {
|
|
939
940
|
this.clearChart(this.treeContainer().nativeElement);
|
|
940
941
|
}
|
|
941
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.
|
|
942
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.
|
|
942
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: AXMOrgChartPage, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
943
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.4", type: AXMOrgChartPage, isStandalone: true, selector: "ng-component", providers: [
|
|
943
944
|
AXMOrgChartConfigService,
|
|
944
945
|
AXMOrgChartService,
|
|
945
946
|
AXMOrgChartPrintService,
|
|
@@ -953,7 +954,7 @@ class AXMOrgChartPage extends AXPPageLayoutBaseComponent {
|
|
|
953
954
|
//
|
|
954
955
|
AXPThemeLayoutBlockComponent, selector: " axp-page-content, axp-page-footer-container, axp-page-footer, axp-page-header, axp-page-header-container, axp-page-toolbar, axp-layout-content, axp-layout-page-content, axp-layout-sections, axp-layout-body, axp-layout-page-body, axp-layout-prefix, axp-layout-suffix, axp-layout-title-bar, axp-layout-title, axp-layout-title-actions, axp-layout-nav-button, axp-layout-description, axp-layout-breadcrumbs, axp-layout-list-action, " }, { kind: "component", type: AXPPageLayoutComponent, selector: "axp-page-layout" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
955
956
|
}
|
|
956
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.
|
|
957
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: AXMOrgChartPage, decorators: [{
|
|
957
958
|
type: Component,
|
|
958
959
|
args: [{ imports: [
|
|
959
960
|
CommonModule,
|
|
@@ -983,4 +984,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImpor
|
|
|
983
984
|
}] });
|
|
984
985
|
|
|
985
986
|
export { AXMOrgChartPage };
|
|
986
|
-
//# sourceMappingURL=acorex-modules-organization-management-org-chart.page-
|
|
987
|
+
//# sourceMappingURL=acorex-modules-organization-management-org-chart.page-UqJ1VOJ-.mjs.map
|