@acorex/modules 20.0.5 → 20.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/common/index.d.ts +22 -2
- package/contact-management/README.md +568 -0
- package/contact-management/index.d.ts +263 -0
- package/conversation/index.d.ts +364 -391
- package/document-management/index.d.ts +5 -1
- package/fesm2022/{acorex-modules-application-management-module-designer.component-CvFiEI1a.mjs → acorex-modules-application-management-module-designer.component-BErRgx0w.mjs} +7 -7
- package/fesm2022/{acorex-modules-application-management-module-designer.component-CvFiEI1a.mjs.map → acorex-modules-application-management-module-designer.component-BErRgx0w.mjs.map} +1 -1
- package/fesm2022/acorex-modules-application-management.mjs +41 -42
- package/fesm2022/acorex-modules-application-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-auth-acorex-modules-auth-B10cRw3M.mjs → acorex-modules-auth-acorex-modules-auth-X866H4oy.mjs} +44 -44
- package/fesm2022/acorex-modules-auth-acorex-modules-auth-X866H4oy.mjs.map +1 -0
- package/fesm2022/{acorex-modules-auth-app-chooser.component-C-HPf2jz.mjs → acorex-modules-auth-app-chooser.component-DqKTfLA2.mjs} +5 -5
- package/fesm2022/{acorex-modules-auth-app-chooser.component-C-HPf2jz.mjs.map → acorex-modules-auth-app-chooser.component-DqKTfLA2.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-blank.layout-C5d42pO1.mjs → acorex-modules-auth-blank.layout-D2qSgxTy.mjs} +4 -4
- package/fesm2022/{acorex-modules-auth-blank.layout-C5d42pO1.mjs.map → acorex-modules-auth-blank.layout-D2qSgxTy.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-login.module-eC1_ukrb.mjs → acorex-modules-auth-login.module-CWOYzn0L.mjs} +8 -8
- package/fesm2022/{acorex-modules-auth-login.module-eC1_ukrb.mjs.map → acorex-modules-auth-login.module-CWOYzn0L.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-master.layout-DpfqRgAl.mjs → acorex-modules-auth-master.layout-384T0lIg.mjs} +5 -5
- package/fesm2022/{acorex-modules-auth-master.layout-DpfqRgAl.mjs.map → acorex-modules-auth-master.layout-384T0lIg.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-password.component-rE9yrcGW.mjs → acorex-modules-auth-password.component-BW_ooTQG.mjs} +5 -5
- package/fesm2022/acorex-modules-auth-password.component-BW_ooTQG.mjs.map +1 -0
- package/fesm2022/{acorex-modules-auth-password.component-DAB9dWB8.mjs → acorex-modules-auth-password.component-JG95JpLz.mjs} +5 -5
- package/fesm2022/{acorex-modules-auth-password.component-DAB9dWB8.mjs.map → acorex-modules-auth-password.component-JG95JpLz.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-routes-EGvejNu9.mjs → acorex-modules-auth-routes-DqKtHu-i.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-routes-EGvejNu9.mjs.map → acorex-modules-auth-routes-DqKtHu-i.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-tenant-chooser.component-fmuXNByb.mjs → acorex-modules-auth-tenant-chooser.component-C0jxaqqg.mjs} +4 -4
- package/fesm2022/{acorex-modules-auth-tenant-chooser.component-fmuXNByb.mjs.map → acorex-modules-auth-tenant-chooser.component-C0jxaqqg.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-two-factor-code.component-JYtAQ3qF.mjs → acorex-modules-auth-two-factor-code.component-D7KOomHD.mjs} +4 -4
- package/fesm2022/{acorex-modules-auth-two-factor-code.component-JYtAQ3qF.mjs.map → acorex-modules-auth-two-factor-code.component-D7KOomHD.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-two-factor.module-DF3_fgzH.mjs → acorex-modules-auth-two-factor.module-C88pXqao.mjs} +7 -7
- package/fesm2022/{acorex-modules-auth-two-factor.module-DF3_fgzH.mjs.map → acorex-modules-auth-two-factor.module-C88pXqao.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-user-sessions.component-BPb-WS4k.mjs → acorex-modules-auth-user-sessions.component-loloVwv0.mjs} +5 -5
- package/fesm2022/{acorex-modules-auth-user-sessions.component-BPb-WS4k.mjs.map → acorex-modules-auth-user-sessions.component-loloVwv0.mjs.map} +1 -1
- package/fesm2022/acorex-modules-auth.mjs +1 -1
- package/fesm2022/{acorex-modules-common-search-popup.component-B5JU9uH9.mjs → acorex-modules-common-search-popup.component-CCKiQx0U.mjs} +8 -8
- package/fesm2022/{acorex-modules-common-search-popup.component-B5JU9uH9.mjs.map → acorex-modules-common-search-popup.component-CCKiQx0U.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-common-timeline-version-history-popup.component-DzvUTy5z.mjs → acorex-modules-common-timeline-version-history-popup.component-DJOcjquG.mjs} +8 -8
- package/fesm2022/{acorex-modules-common-timeline-version-history-popup.component-DzvUTy5z.mjs.map → acorex-modules-common-timeline-version-history-popup.component-DJOcjquG.mjs.map} +1 -1
- package/fesm2022/acorex-modules-common.mjs +215 -86
- package/fesm2022/acorex-modules-common.mjs.map +1 -1
- package/fesm2022/acorex-modules-contact-management-address-type.entity-QMEODkhx.mjs +489 -0
- package/fesm2022/acorex-modules-contact-management-address-type.entity-QMEODkhx.mjs.map +1 -0
- package/fesm2022/acorex-modules-contact-management-contact-address.entity-0f4Vaw_k.mjs +827 -0
- package/fesm2022/acorex-modules-contact-management-contact-address.entity-0f4Vaw_k.mjs.map +1 -0
- package/fesm2022/acorex-modules-contact-management-contact-method.entity-ChEz1jW0.mjs +509 -0
- package/fesm2022/acorex-modules-contact-management-contact-method.entity-ChEz1jW0.mjs.map +1 -0
- package/fesm2022/acorex-modules-contact-management-contact-relationship.entity-DLfiEEfk.mjs +469 -0
- package/fesm2022/acorex-modules-contact-management-contact-relationship.entity-DLfiEEfk.mjs.map +1 -0
- package/fesm2022/acorex-modules-contact-management-contact-source.entity-hopVxiIT.mjs +489 -0
- package/fesm2022/acorex-modules-contact-management-contact-source.entity-hopVxiIT.mjs.map +1 -0
- package/fesm2022/acorex-modules-contact-management.mjs +2332 -0
- package/fesm2022/acorex-modules-contact-management.mjs.map +1 -0
- package/fesm2022/acorex-modules-content-management.mjs +119 -55
- package/fesm2022/acorex-modules-content-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-conversation.mjs +2225 -2073
- package/fesm2022/acorex-modules-conversation.mjs.map +1 -1
- package/fesm2022/acorex-modules-dashboard-management.mjs +84 -84
- package/fesm2022/acorex-modules-dashboard-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-document-management-acorex-modules-document-management-ClH75xx1.mjs → acorex-modules-document-management-acorex-modules-document-management-C4cvhxSV.mjs} +310 -235
- package/fesm2022/acorex-modules-document-management-acorex-modules-document-management-C4cvhxSV.mjs.map +1 -0
- package/fesm2022/{acorex-modules-document-management-attachment-widget.component-B_tjfzIn.mjs → acorex-modules-document-management-attachment-widget.component-B5txg8z0.mjs} +5 -5
- package/fesm2022/{acorex-modules-document-management-attachment-widget.component-B_tjfzIn.mjs.map → acorex-modules-document-management-attachment-widget.component-B5txg8z0.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-create-folder-dialog.component-DNdRcCAs.mjs → acorex-modules-document-management-create-folder-dialog.component-LfnTz49a.mjs} +5 -5
- package/fesm2022/{acorex-modules-document-management-create-folder-dialog.component-DNdRcCAs.mjs.map → acorex-modules-document-management-create-folder-dialog.component-LfnTz49a.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-details-view.component-JsK1UgZh.mjs → acorex-modules-document-management-details-view.component-Co5F8eWp.mjs} +5 -5
- package/fesm2022/{acorex-modules-document-management-details-view.component-JsK1UgZh.mjs.map → acorex-modules-document-management-details-view.component-Co5F8eWp.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-drive-choose.component-DJT9oLek.mjs → acorex-modules-document-management-drive-choose.component-DFRdS7s1.mjs} +5 -5
- package/fesm2022/{acorex-modules-document-management-drive-choose.component-DJT9oLek.mjs.map → acorex-modules-document-management-drive-choose.component-DFRdS7s1.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-drive.component-DYxpvUWX.mjs → acorex-modules-document-management-drive.component-jGs09Jrd.mjs} +8 -8
- package/fesm2022/{acorex-modules-document-management-drive.component-DYxpvUWX.mjs.map → acorex-modules-document-management-drive.component-jGs09Jrd.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-large-icons-view.component-B324V2hL.mjs → acorex-modules-document-management-large-icons-view.component-DD9_xgL4.mjs} +5 -5
- package/fesm2022/{acorex-modules-document-management-large-icons-view.component-B324V2hL.mjs.map → acorex-modules-document-management-large-icons-view.component-DD9_xgL4.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-large-tiles-view.component-V5gHyu9X.mjs → acorex-modules-document-management-large-tiles-view.component-CNBUzaUz.mjs} +5 -5
- package/fesm2022/{acorex-modules-document-management-large-tiles-view.component-V5gHyu9X.mjs.map → acorex-modules-document-management-large-tiles-view.component-CNBUzaUz.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-link-dialog.component-B-BzU_4Y.mjs → acorex-modules-document-management-link-dialog.component-CXzR7mUW.mjs} +4 -4
- package/fesm2022/{acorex-modules-document-management-link-dialog.component-B-BzU_4Y.mjs.map → acorex-modules-document-management-link-dialog.component-CXzR7mUW.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-list-view.component-Bm2EH2aT.mjs → acorex-modules-document-management-list-view.component-D4DbyB6W.mjs} +5 -5
- package/fesm2022/{acorex-modules-document-management-list-view.component-Bm2EH2aT.mjs.map → acorex-modules-document-management-list-view.component-D4DbyB6W.mjs.map} +1 -1
- package/fesm2022/acorex-modules-document-management-meta-choose-popup.component-CmMvrfKW.mjs +315 -0
- package/fesm2022/acorex-modules-document-management-meta-choose-popup.component-CmMvrfKW.mjs.map +1 -0
- package/fesm2022/{acorex-modules-document-management-meta-selector-widget-column.component-BDhqsc2j.mjs → acorex-modules-document-management-meta-selector-widget-column.component-DHQjyq8s.mjs} +4 -4
- package/fesm2022/{acorex-modules-document-management-meta-selector-widget-column.component-BDhqsc2j.mjs.map → acorex-modules-document-management-meta-selector-widget-column.component-DHQjyq8s.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-meta-selector-widget-designer.component-C4GC0GbF.mjs → acorex-modules-document-management-meta-selector-widget-designer.component-Cc6n71wn.mjs} +4 -4
- package/fesm2022/{acorex-modules-document-management-meta-selector-widget-designer.component-C4GC0GbF.mjs.map → acorex-modules-document-management-meta-selector-widget-designer.component-Cc6n71wn.mjs.map} +1 -1
- package/fesm2022/acorex-modules-document-management-meta-selector-widget-view.component-D88h9eR6.mjs +31 -0
- package/fesm2022/acorex-modules-document-management-meta-selector-widget-view.component-D88h9eR6.mjs.map +1 -0
- package/fesm2022/{acorex-modules-document-management-permission-definition.provider-DGqVDVLJ.mjs → acorex-modules-document-management-permission-definition.provider-DoOyhnwQ.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-permission-definition.provider-DGqVDVLJ.mjs.map → acorex-modules-document-management-permission-definition.provider-DoOyhnwQ.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-rename-node-dialog.component-LgpvDguk.mjs → acorex-modules-document-management-rename-node-dialog.component-JDZWsFXL.mjs} +5 -5
- package/fesm2022/{acorex-modules-document-management-rename-node-dialog.component-LgpvDguk.mjs.map → acorex-modules-document-management-rename-node-dialog.component-JDZWsFXL.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-share-dialog.component-DzuYhAD4.mjs → acorex-modules-document-management-share-dialog.component-DTzXwqHw.mjs} +4 -4
- package/fesm2022/{acorex-modules-document-management-share-dialog.component-DzuYhAD4.mjs.map → acorex-modules-document-management-share-dialog.component-DTzXwqHw.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-share-email-dialog.component-DNN_3JF2.mjs → acorex-modules-document-management-share-email-dialog.component-BaNzKKG4.mjs} +4 -4
- package/fesm2022/{acorex-modules-document-management-share-email-dialog.component-DNN_3JF2.mjs.map → acorex-modules-document-management-share-email-dialog.component-BaNzKKG4.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-small-icons-view.component-BwFoe1vd.mjs → acorex-modules-document-management-small-icons-view.component-BNTmgtYr.mjs} +5 -5
- package/fesm2022/{acorex-modules-document-management-small-icons-view.component-BwFoe1vd.mjs.map → acorex-modules-document-management-small-icons-view.component-BNTmgtYr.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-small-tiles-view.component-B5gp0wus.mjs → acorex-modules-document-management-small-tiles-view.component-CbCBAKyR.mjs} +5 -5
- package/fesm2022/{acorex-modules-document-management-small-tiles-view.component-B5gp0wus.mjs.map → acorex-modules-document-management-small-tiles-view.component-CbCBAKyR.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-B3o427If.mjs → acorex-modules-form-template-management-acorex-modules-form-template-management-BsAsK1EG.mjs} +58 -57
- package/fesm2022/{acorex-modules-form-template-management-acorex-modules-form-template-management-B3o427If.mjs.map → acorex-modules-form-template-management-acorex-modules-form-template-management-BsAsK1EG.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-form-template-management-category.entity-B7dGrmoa.mjs → acorex-modules-form-template-management-category.entity-B3iAtREq.mjs} +2 -2
- package/fesm2022/{acorex-modules-form-template-management-category.entity-B7dGrmoa.mjs.map → acorex-modules-form-template-management-category.entity-B3iAtREq.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-form-template-management-designer.page-DaTGU3w_.mjs → acorex-modules-form-template-management-designer.page-B-TIUKl7.mjs} +4 -4
- package/fesm2022/{acorex-modules-form-template-management-designer.page-DaTGU3w_.mjs.map → acorex-modules-form-template-management-designer.page-B-TIUKl7.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-form-template-management-permission-definition.provider-CjjlgO0w.mjs → acorex-modules-form-template-management-permission-definition.provider-CTG95UDp.mjs} +2 -2
- package/fesm2022/{acorex-modules-form-template-management-permission-definition.provider-CjjlgO0w.mjs.map → acorex-modules-form-template-management-permission-definition.provider-CTG95UDp.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-form-template-management-settings.provider-CiSjuHGI.mjs → acorex-modules-form-template-management-settings.provider-BmFufTUd.mjs} +2 -2
- package/fesm2022/{acorex-modules-form-template-management-settings.provider-CiSjuHGI.mjs.map → acorex-modules-form-template-management-settings.provider-BmFufTUd.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-form-template-management-template-picker.component-CQZ37yC2.mjs → acorex-modules-form-template-management-template-picker.component-CNwhdnGC.mjs} +4 -4
- package/fesm2022/{acorex-modules-form-template-management-template-picker.component-CQZ37yC2.mjs.map → acorex-modules-form-template-management-template-picker.component-CNwhdnGC.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-form-template-management-template-widget-edit.component-DUeV0yO8.mjs → acorex-modules-form-template-management-template-widget-edit.component-BNIx16WW.mjs} +5 -5
- package/fesm2022/{acorex-modules-form-template-management-template-widget-edit.component-DUeV0yO8.mjs.map → acorex-modules-form-template-management-template-widget-edit.component-BNIx16WW.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-form-template-management-template.entity-Cps77n3G.mjs → acorex-modules-form-template-management-template.entity-BGsixiEI.mjs} +2 -2
- package/fesm2022/{acorex-modules-form-template-management-template.entity-Cps77n3G.mjs.map → acorex-modules-form-template-management-template.entity-BGsixiEI.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-form-template-management-viewer-popup.component-K2ZznaDw.mjs → acorex-modules-form-template-management-viewer-popup.component-CzjuUz4o.mjs} +9 -6
- package/fesm2022/acorex-modules-form-template-management-viewer-popup.component-CzjuUz4o.mjs.map +1 -0
- package/fesm2022/acorex-modules-form-template-management.mjs +1 -1
- package/fesm2022/{acorex-modules-issue-management-acorex-modules-issue-management-Blyh8QVB.mjs → acorex-modules-issue-management-acorex-modules-issue-management-C2JoHgaa.mjs} +24 -24
- package/fesm2022/{acorex-modules-issue-management-acorex-modules-issue-management-Blyh8QVB.mjs.map → acorex-modules-issue-management-acorex-modules-issue-management-C2JoHgaa.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-issue-management-capture-screen.component-BzUN6Cty.mjs → acorex-modules-issue-management-capture-screen.component-DTtUkL78.mjs} +5 -5
- package/fesm2022/{acorex-modules-issue-management-capture-screen.component-BzUN6Cty.mjs.map → acorex-modules-issue-management-capture-screen.component-DTtUkL78.mjs.map} +1 -1
- package/fesm2022/acorex-modules-issue-management.mjs +1 -1
- package/fesm2022/acorex-modules-log-management.mjs +10 -10
- package/fesm2022/acorex-modules-log-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-notification-management.mjs +35 -35
- package/fesm2022/acorex-modules-notification-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-organization-management-add-item.component-COUAmxM8.mjs → acorex-modules-organization-management-add-item.component-D99TugmE.mjs} +4 -4
- package/fesm2022/{acorex-modules-organization-management-add-item.component-COUAmxM8.mjs.map → acorex-modules-organization-management-add-item.component-D99TugmE.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-org-chart-configuration.page-DjGUUbel.mjs → acorex-modules-organization-management-org-chart-configuration.page-DTNqHbxt.mjs} +5 -5
- package/fesm2022/{acorex-modules-organization-management-org-chart-configuration.page-DjGUUbel.mjs.map → acorex-modules-organization-management-org-chart-configuration.page-DTNqHbxt.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-org-chart-configuration.service-DeoDX_ir.mjs → acorex-modules-organization-management-org-chart-configuration.service-BSO0GrAW.mjs} +4 -4
- package/fesm2022/{acorex-modules-organization-management-org-chart-configuration.service-DeoDX_ir.mjs.map → acorex-modules-organization-management-org-chart-configuration.service-BSO0GrAW.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-org-chart.page-xlNWhN4W.mjs → acorex-modules-organization-management-org-chart.page-ioMhEPnQ.mjs} +12 -12
- package/fesm2022/{acorex-modules-organization-management-org-chart.page-xlNWhN4W.mjs.map → acorex-modules-organization-management-org-chart.page-ioMhEPnQ.mjs.map} +1 -1
- package/fesm2022/acorex-modules-organization-management-role.entity-BDErzNv-.mjs.map +1 -1
- package/fesm2022/acorex-modules-organization-management.mjs +122 -122
- package/fesm2022/acorex-modules-organization-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-platform-management-acorex-modules-platform-management-DqpAYmHM.mjs → acorex-modules-platform-management-acorex-modules-platform-management-CFoPmixl.mjs} +933 -315
- package/fesm2022/acorex-modules-platform-management-acorex-modules-platform-management-CFoPmixl.mjs.map +1 -0
- package/fesm2022/{acorex-modules-platform-management-list-version.component-DidjxkmH.mjs → acorex-modules-platform-management-list-version.component-D0-Ya-Yx.mjs} +7 -7
- package/fesm2022/{acorex-modules-platform-management-list-version.component-DidjxkmH.mjs.map → acorex-modules-platform-management-list-version.component-D0-Ya-Yx.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-platform-management-settings.provider-DcHKHrSK.mjs → acorex-modules-platform-management-settings.provider--ARXqBUY.mjs} +35 -25
- package/fesm2022/acorex-modules-platform-management-settings.provider--ARXqBUY.mjs.map +1 -0
- package/fesm2022/acorex-modules-platform-management.mjs +1 -1
- package/fesm2022/acorex-modules-project-management.mjs +43 -43
- package/fesm2022/acorex-modules-project-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-report-management-report-create-root.component-LrE6TkIp.mjs +302 -0
- package/fesm2022/acorex-modules-report-management-report-create-root.component-LrE6TkIp.mjs.map +1 -0
- package/fesm2022/acorex-modules-report-management-report-runner-root-page.component-BntIoMfN.mjs +617 -0
- package/fesm2022/acorex-modules-report-management-report-runner-root-page.component-BntIoMfN.mjs.map +1 -0
- package/fesm2022/acorex-modules-report-management-run.command-CoXvPC15.mjs +20 -0
- package/fesm2022/acorex-modules-report-management-run.command-CoXvPC15.mjs.map +1 -0
- package/fesm2022/acorex-modules-report-management.mjs +976 -0
- package/fesm2022/acorex-modules-report-management.mjs.map +1 -0
- 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 +624 -120
- package/fesm2022/acorex-modules-security-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-settings-management-setting-page.component-B2CEFpES.mjs → acorex-modules-settings-management-setting-page.component-BKwKLUpD.mjs} +4 -4
- package/fesm2022/{acorex-modules-settings-management-setting-page.component-B2CEFpES.mjs.map → acorex-modules-settings-management-setting-page.component-BKwKLUpD.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-settings-management-setting-view.component-DnD83gFz.mjs → acorex-modules-settings-management-setting-view.component-Dco7MvZr.mjs} +4 -4
- package/fesm2022/{acorex-modules-settings-management-setting-view.component-DnD83gFz.mjs.map → acorex-modules-settings-management-setting-view.component-Dco7MvZr.mjs.map} +1 -1
- package/fesm2022/acorex-modules-settings-management.mjs +6 -6
- package/fesm2022/acorex-modules-settings-management.mjs.map +1 -1
- 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 -44
- package/fesm2022/acorex-modules-training-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-workflow-management-task-board.page-ChW_Hwf2.mjs +762 -0
- package/fesm2022/acorex-modules-workflow-management-task-board.page-ChW_Hwf2.mjs.map +1 -0
- package/fesm2022/acorex-modules-workflow-management.mjs +12 -12
- package/fesm2022/acorex-modules-workflow-management.mjs.map +1 -1
- package/package.json +9 -1
- package/platform-management/index.d.ts +235 -8
- package/report-management/README.md +356 -0
- package/report-management/index.d.ts +46 -0
- package/security-management/index.d.ts +162 -2
- package/fesm2022/acorex-modules-auth-acorex-modules-auth-B10cRw3M.mjs.map +0 -1
- package/fesm2022/acorex-modules-auth-password.component-rE9yrcGW.mjs.map +0 -1
- package/fesm2022/acorex-modules-document-management-acorex-modules-document-management-ClH75xx1.mjs.map +0 -1
- package/fesm2022/acorex-modules-document-management-lock-dialog.component-DvZ-vrUE.mjs +0 -51
- package/fesm2022/acorex-modules-document-management-lock-dialog.component-DvZ-vrUE.mjs.map +0 -1
- package/fesm2022/acorex-modules-document-management-meta-choose-popup.component-q6mDKrFi.mjs +0 -190
- package/fesm2022/acorex-modules-document-management-meta-choose-popup.component-q6mDKrFi.mjs.map +0 -1
- package/fesm2022/acorex-modules-document-management-meta-selector-widget-view.component-rlSWRGGl.mjs +0 -32
- package/fesm2022/acorex-modules-document-management-meta-selector-widget-view.component-rlSWRGGl.mjs.map +0 -1
- package/fesm2022/acorex-modules-document-management-unlock-dialog.component-B_TMgAl1.mjs +0 -36
- package/fesm2022/acorex-modules-document-management-unlock-dialog.component-B_TMgAl1.mjs.map +0 -1
- package/fesm2022/acorex-modules-form-template-management-viewer-popup.component-K2ZznaDw.mjs.map +0 -1
- package/fesm2022/acorex-modules-platform-management-acorex-modules-platform-management-DqpAYmHM.mjs.map +0 -1
- package/fesm2022/acorex-modules-platform-management-settings.provider-DcHKHrSK.mjs.map +0 -1
- package/fesm2022/acorex-modules-security-management-permissions-editor.component-B4TdyHtv.mjs +0 -218
- package/fesm2022/acorex-modules-security-management-permissions-editor.component-B4TdyHtv.mjs.map +0 -1
- package/fesm2022/acorex-modules-security-management-permissions-widget-column.component-DTMj6gxb.mjs +0 -41
- package/fesm2022/acorex-modules-security-management-permissions-widget-column.component-DTMj6gxb.mjs.map +0 -1
- package/fesm2022/acorex-modules-security-management-permissions-widget-designer.component-BJdbKpRQ.mjs +0 -20
- package/fesm2022/acorex-modules-security-management-permissions-widget-designer.component-BJdbKpRQ.mjs.map +0 -1
- package/fesm2022/acorex-modules-security-management-permissions-widget-edit.component-GTmDlgWW.mjs +0 -51
- package/fesm2022/acorex-modules-security-management-permissions-widget-edit.component-GTmDlgWW.mjs.map +0 -1
- package/fesm2022/acorex-modules-security-management-permissions-widget-print.component-BZ75aI18.mjs +0 -21
- package/fesm2022/acorex-modules-security-management-permissions-widget-print.component-BZ75aI18.mjs.map +0 -1
- package/fesm2022/acorex-modules-security-management-permissions-widget-view.component-CYQqerAX.mjs +0 -20
- package/fesm2022/acorex-modules-security-management-permissions-widget-view.component-CYQqerAX.mjs.map +0 -1
- package/fesm2022/acorex-modules-workflow-management-task-board.page-R4x5Rq-D.mjs +0 -494
- package/fesm2022/acorex-modules-workflow-management-task-board.page-R4x5Rq-D.mjs.map +0 -1
@@ -62,12 +62,12 @@ class AddItemComponent extends AXBasePageComponent {
|
|
62
62
|
}
|
63
63
|
}
|
64
64
|
}
|
65
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.
|
66
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.
|
65
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: AddItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
66
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.6", type: AddItemComponent, isStandalone: true, selector: "ng-component", providers: [], usesInheritance: true, ngImport: i0, template: "<ax-form *translate=\"let t\" #form>\n <div class=\"ax-flex ax-flex-col ax-gap-4 ax-p-4\">\n <ax-form-field>\n <ax-label>{{t('choose') | async}} </ax-label>\n <ax-select-box [dataSource]=\"dataSource\" textField=\"title\" valueField=\"id\"\n (onValueChanged)=\"handleValueChanged($event)\">\n <ax-search-box></ax-search-box>\n <ax-validation-rule rule=\"required\"> </ax-validation-rule>\n </ax-select-box>\n </ax-form-field>\n <!-- <ax-form-field>\n <ax-label>{{t('title') | async}} </ax-label>\n <ax-text-box [(ngModel)]=\"title\">\n <ax-validation-rule rule=\"required\"> </ax-validation-rule>\n </ax-text-box>\n </ax-form-field> -->\n <ax-form-field>\n <ax-label>{{t('subtitle') | async}} </ax-label>\n <ax-text-box [(ngModel)]=\"subtitle\">\n </ax-text-box>\n </ax-form-field>\n <ax-form-field>\n <ax-label>{{t('description') | async}} </ax-label>\n <ax-text-area [(ngModel)]=\"description\">\n </ax-text-area>\n </ax-form-field>\n </div>\n <ax-footer *translate=\"let t\">\n <ax-suffix>\n <ax-button [text]=\"t('cancel') | async\" (onClick)=\"this.close()\"> </ax-button>\n <ax-button color=\"primary\" [text]=\"t('save') | async\" (onClick)=\"handleSaveClick(form)\"> </ax-button>\n </ax-suffix>\n </ax-footer>\n</ax-form>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type:
|
67
67
|
//
|
68
68
|
AXSelectBoxModule }, { kind: "component", type: i3.AXSelectBoxComponent, selector: "ax-select-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "minValue", "maxValue", "value", "state", "name", "id", "type", "look", "multiple", "valueField", "textField", "disabledField", "textTemplate", "selectedItems", "dataSource", "minRecordsForSearch", "caption", "itemTemplate", "selectedTemplate", "emptyTemplate", "loadingTemplate", "dropdownWidth", "searchBoxAutoFocus"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onOpened", "onClosed"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i3$1.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "ngmodule", type: AXLabelModule }, { kind: "component", type: i5.AXLabelComponent, selector: "ax-label", inputs: ["required", "for"], outputs: ["requiredChange"] }, { kind: "ngmodule", type: AXFormModule }, { kind: "component", type: i6.AXFormFieldComponent, selector: "ax-form-field", inputs: ["labelMode"] }, { kind: "component", type: i6.AXFormComponent, selector: "ax-form", inputs: ["labelMode", "look", "messageStyle", "updateOn"], outputs: ["onValidate", "updateOnChange"] }, { kind: "directive", type: i6.AXValidationRuleDirective, selector: "ax-validation-rule", inputs: ["rule", "options", "message", "disabled"] }, { kind: "ngmodule", type: AXSearchBoxModule }, { kind: "component", type: i7.AXSearchBoxComponent, selector: "ax-search-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "value", "state", "name", "id", "look", "class", "delayTime", "type"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3$2.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXTextBoxModule }, { kind: "component", type: i9.AXTextBoxComponent, selector: "ax-text-box", inputs: ["disabled", "tabIndex", "readonly", "value", "state", "name", "id", "placeholder", "maxLength", "allowNull", "type", "autoComplete", "look", "mask-options", "class"], outputs: ["onBlur", "onFocus", "valueChange", "stateChange", "onValueChanged", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "ngmodule", type: AXTextAreaModule }, { kind: "component", type: i10.AXTextAreaComponent, selector: "ax-text-area", inputs: ["disabled", "tabIndex", "readonly", "value", "state", "name", "placeholder", "maxLength", "look", "rows", "allowResize", "showCounter", "class"], outputs: ["onBlur", "onFocus", "valueChange", "stateChange", "onValueChanged", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "directive", type: i4.AXTranslatorDirective, selector: "[translate]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
69
69
|
}
|
70
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.
|
70
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: AddItemComponent, decorators: [{
|
71
71
|
type: Component,
|
72
72
|
args: [{ imports: [
|
73
73
|
CommonModule,
|
@@ -86,4 +86,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImpor
|
|
86
86
|
}], ctorParameters: () => [] });
|
87
87
|
|
88
88
|
export { AddItemComponent };
|
89
|
-
//# sourceMappingURL=acorex-modules-organization-management-add-item.component-
|
89
|
+
//# sourceMappingURL=acorex-modules-organization-management-add-item.component-D99TugmE.mjs.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"acorex-modules-organization-management-add-item.component-COUAmxM8.mjs","sources":["../tmp-esm2022/organization-management/lib/features/organization-chart/add-item/add-item.component.js"],"sourcesContent":["import { AXButtonModule } from '@acorex/components/button';\nimport { AXDataSource } from '@acorex/cdk/common';\nimport { AXFormModule } from '@acorex/components/form';\nimport { AXLabelModule } from '@acorex/components/label';\nimport { AXBasePageComponent } from '@acorex/components/page';\nimport { AXSearchBoxModule } from '@acorex/components/search-box';\nimport { AXSelectBoxModule } from '@acorex/components/select-box';\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { CommonModule } from '@angular/common';\nimport { AXTextBoxModule } from '@acorex/components/text-box';\nimport { AXTextAreaModule } from '@acorex/components/text-area';\nimport { FormsModule } from '@angular/forms';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/common\";\nimport * as i2 from \"@angular/forms\";\nimport * as i3 from \"@acorex/components/select-box\";\nimport * as i4 from \"@acorex/components/button\";\nimport * as i5 from \"@acorex/components/label\";\nimport * as i6 from \"@acorex/components/form\";\nimport * as i7 from \"@acorex/components/search-box\";\nimport * as i8 from \"@acorex/components/decorators\";\nimport * as i9 from \"@acorex/components/text-box\";\nimport * as i10 from \"@acorex/components/text-area\";\nimport * as i11 from \"@acorex/core/translation\";\nexport class AddItemComponent extends AXBasePageComponent {\n constructor() {\n super();\n this.config = {\n valueField: 'id',\n titleField: 'title',\n query: () => Promise.resolve({ items: [], total: 0 }),\n };\n this.dataSource = new AXDataSource({\n pageSize: 10,\n key: this.config.valueField,\n load: async (e) => await this.config.query(e),\n });\n }\n async handleSaveClick(form) {\n const formResult = await form.validate();\n if (formResult.result) {\n this.close({\n id: this.selectItem[this.config.valueField],\n title: this.title,\n subtitle: this.subtitle,\n description: this.description,\n });\n }\n }\n handleValueChanged(e) {\n this.selectItem = e.component.dataService.selectedItems[0];\n if (this.selectItem) {\n this.title = this.selectItem[this.config.titleField];\n if (this.config.subtitleField) {\n this.subtitle = this.selectItem[this.config.subtitleField];\n }\n if (this.config.descriptionField) {\n this.description = this.selectItem[this.config.descriptionField];\n }\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AddItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.0.4\", type: AddItemComponent, isStandalone: true, selector: \"ng-component\", providers: [], usesInheritance: true, ngImport: i0, template: \"<ax-form *translate=\\\"let t\\\" #form>\\n <div class=\\\"ax-flex ax-flex-col ax-gap-4 ax-p-4\\\">\\n <ax-form-field>\\n <ax-label>{{t('choose') | async}} </ax-label>\\n <ax-select-box [dataSource]=\\\"dataSource\\\" textField=\\\"title\\\" valueField=\\\"id\\\"\\n (onValueChanged)=\\\"handleValueChanged($event)\\\">\\n <ax-search-box></ax-search-box>\\n <ax-validation-rule rule=\\\"required\\\"> </ax-validation-rule>\\n </ax-select-box>\\n </ax-form-field>\\n <!-- <ax-form-field>\\n <ax-label>{{t('title') | async}} </ax-label>\\n <ax-text-box [(ngModel)]=\\\"title\\\">\\n <ax-validation-rule rule=\\\"required\\\"> </ax-validation-rule>\\n </ax-text-box>\\n </ax-form-field> -->\\n <ax-form-field>\\n <ax-label>{{t('subtitle') | async}} </ax-label>\\n <ax-text-box [(ngModel)]=\\\"subtitle\\\">\\n </ax-text-box>\\n </ax-form-field>\\n <ax-form-field>\\n <ax-label>{{t('description') | async}} </ax-label>\\n <ax-text-area [(ngModel)]=\\\"description\\\">\\n </ax-text-area>\\n </ax-form-field>\\n </div>\\n <ax-footer *translate=\\\"let t\\\">\\n <ax-suffix>\\n <ax-button [text]=\\\"t('cancel') | async\\\" (onClick)=\\\"this.close()\\\"> </ax-button>\\n <ax-button color=\\\"primary\\\" [text]=\\\"t('save') | async\\\" (onClick)=\\\"handleSaveClick(form)\\\"> </ax-button>\\n </ax-suffix>\\n </ax-footer>\\n</ax-form>\", dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"pipe\", type: i1.AsyncPipe, name: \"async\" }, { kind: \"ngmodule\", type: FormsModule }, { kind: \"directive\", type: i2.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { kind: \"directive\", type: i2.NgModel, selector: \"[ngModel]:not([formControlName]):not([formControl])\", inputs: [\"name\", \"disabled\", \"ngModel\", \"ngModelOptions\"], outputs: [\"ngModelChange\"], exportAs: [\"ngModel\"] }, { kind: \"ngmodule\", type: \n //\n AXSelectBoxModule }, { kind: \"component\", type: i3.AXSelectBoxComponent, selector: \"ax-select-box\", inputs: [\"disabled\", \"readonly\", \"tabIndex\", \"placeholder\", \"minValue\", \"maxValue\", \"value\", \"state\", \"name\", \"id\", \"type\", \"look\", \"multiple\", \"valueField\", \"textField\", \"disabledField\", \"textTemplate\", \"selectedItems\", \"dataSource\", \"minRecordsForSearch\", \"caption\", \"itemTemplate\", \"selectedTemplate\", \"emptyTemplate\", \"loadingTemplate\", \"dropdownWidth\", \"searchBoxAutoFocus\"], outputs: [\"valueChange\", \"stateChange\", \"onValueChanged\", \"onBlur\", \"onFocus\", \"readonlyChange\", \"disabledChange\", \"onOpened\", \"onClosed\"] }, { kind: \"ngmodule\", type: AXButtonModule }, { kind: \"component\", type: i4.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: AXLabelModule }, { kind: \"component\", type: i5.AXLabelComponent, selector: \"ax-label\", inputs: [\"required\", \"for\"], outputs: [\"requiredChange\"] }, { kind: \"ngmodule\", type: AXFormModule }, { kind: \"component\", type: i6.AXFormFieldComponent, selector: \"ax-form-field\", inputs: [\"labelMode\"] }, { kind: \"component\", type: i6.AXFormComponent, selector: \"ax-form\", inputs: [\"labelMode\", \"look\", \"messageStyle\", \"updateOn\"], outputs: [\"onValidate\", \"updateOnChange\"] }, { kind: \"directive\", type: i6.AXValidationRuleDirective, selector: \"ax-validation-rule\", inputs: [\"rule\", \"options\", \"message\", \"disabled\"] }, { kind: \"ngmodule\", type: AXSearchBoxModule }, { kind: \"component\", type: i7.AXSearchBoxComponent, selector: \"ax-search-box\", inputs: [\"disabled\", \"readonly\", \"tabIndex\", \"placeholder\", \"value\", \"state\", \"name\", \"id\", \"look\", \"class\", \"delayTime\", \"type\"], outputs: [\"valueChange\", \"stateChange\", \"onValueChanged\", \"onBlur\", \"onFocus\", \"readonlyChange\", \"disabledChange\", \"onKeyDown\", \"onKeyUp\", \"onKeyPress\"] }, { kind: \"ngmodule\", type: AXDecoratorModule }, { kind: \"component\", type: i8.AXDecoratorGenericComponent, selector: \"ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay\" }, { kind: \"ngmodule\", type: AXTextBoxModule }, { kind: \"component\", type: i9.AXTextBoxComponent, selector: \"ax-text-box\", inputs: [\"disabled\", \"tabIndex\", \"readonly\", \"value\", \"state\", \"name\", \"id\", \"placeholder\", \"maxLength\", \"allowNull\", \"type\", \"autoComplete\", \"look\", \"mask-options\", \"class\"], outputs: [\"onBlur\", \"onFocus\", \"valueChange\", \"stateChange\", \"onValueChanged\", \"readonlyChange\", \"disabledChange\", \"onKeyDown\", \"onKeyUp\", \"onKeyPress\"] }, { kind: \"ngmodule\", type: AXTextAreaModule }, { kind: \"component\", type: i10.AXTextAreaComponent, selector: \"ax-text-area\", inputs: [\"disabled\", \"tabIndex\", \"readonly\", \"value\", \"state\", \"name\", \"placeholder\", \"maxLength\", \"look\", \"rows\", \"allowResize\", \"showCounter\", \"class\"], outputs: [\"onBlur\", \"onFocus\", \"valueChange\", \"stateChange\", \"onValueChanged\", \"readonlyChange\", \"disabledChange\", \"onKeyDown\", \"onKeyUp\", \"onKeyPress\"] }, { kind: \"ngmodule\", type: AXTranslationModule }, { kind: \"directive\", type: i11.AXTranslatorDirective, selector: \"[translate]\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AddItemComponent, decorators: [{\n type: Component,\n args: [{ imports: [\n CommonModule,\n FormsModule,\n //\n AXSelectBoxModule,\n AXButtonModule,\n AXLabelModule,\n AXFormModule,\n AXSearchBoxModule,\n AXDecoratorModule,\n AXTextBoxModule,\n AXTextAreaModule,\n AXTranslationModule,\n ], providers: [], changeDetection: ChangeDetectionStrategy.OnPush, template: \"<ax-form *translate=\\\"let t\\\" #form>\\n <div class=\\\"ax-flex ax-flex-col ax-gap-4 ax-p-4\\\">\\n <ax-form-field>\\n <ax-label>{{t('choose') | async}} </ax-label>\\n <ax-select-box [dataSource]=\\\"dataSource\\\" textField=\\\"title\\\" valueField=\\\"id\\\"\\n (onValueChanged)=\\\"handleValueChanged($event)\\\">\\n <ax-search-box></ax-search-box>\\n <ax-validation-rule rule=\\\"required\\\"> </ax-validation-rule>\\n </ax-select-box>\\n </ax-form-field>\\n <!-- <ax-form-field>\\n <ax-label>{{t('title') | async}} </ax-label>\\n <ax-text-box [(ngModel)]=\\\"title\\\">\\n <ax-validation-rule rule=\\\"required\\\"> </ax-validation-rule>\\n </ax-text-box>\\n </ax-form-field> -->\\n <ax-form-field>\\n <ax-label>{{t('subtitle') | async}} </ax-label>\\n <ax-text-box [(ngModel)]=\\\"subtitle\\\">\\n </ax-text-box>\\n </ax-form-field>\\n <ax-form-field>\\n <ax-label>{{t('description') | async}} </ax-label>\\n <ax-text-area [(ngModel)]=\\\"description\\\">\\n </ax-text-area>\\n </ax-form-field>\\n </div>\\n <ax-footer *translate=\\\"let t\\\">\\n <ax-suffix>\\n <ax-button [text]=\\\"t('cancel') | async\\\" (onClick)=\\\"this.close()\\\"> </ax-button>\\n <ax-button color=\\\"primary\\\" [text]=\\\"t('save') | async\\\" (onClick)=\\\"handleSaveClick(form)\\\"> </ax-button>\\n </ax-suffix>\\n </ax-footer>\\n</ax-form>\" }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL29yZ2FuaXphdGlvbi1tYW5hZ2VtZW50L3NyYy9saWIvZmVhdHVyZXMvb3JnYW5pemF0aW9uLWNoYXJ0L2FkZC1pdGVtL2FkZC1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9vcmdhbml6YXRpb24tbWFuYWdlbWVudC9zcmMvbGliL2ZlYXR1cmVzL29yZ2FuaXphdGlvbi1jaGFydC9hZGQtaXRlbS9hZGQtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFlBQVksRUFBaUQsTUFBTSxvQkFBb0IsQ0FBQztBQUNqRyxPQUFPLEVBQW1CLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUVsRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDZCQUE2QixDQUFD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RSxtQkFDSSx1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhCdXR0b25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB7IEFYRGF0YVNvdXJjZSwgQVhEYXRhU291cmNlTG9hZENhbGxiYWNrLCBBWFZhbHVlQ2hhbmdlZEV2ZW50IH0gZnJvbSAnQGFjb3JleC9jZGsvY29tbW9uJztcbmltcG9ydCB7IEFYRm9ybUNvbXBvbmVudCwgQVhGb3JtTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2Zvcm0nO1xuaW1wb3J0IHsgQVhMYWJlbE1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9sYWJlbCc7XG5pbXBvcnQgeyBBWEJhc2VQYWdlQ29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3BhZ2UnO1xuaW1wb3J0IHsgQVhTZWFyY2hCb3hNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvc2VhcmNoLWJveCc7XG5pbXBvcnQgeyBBWFNlbGVjdEJveE1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9zZWxlY3QtYm94JztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGluamVjdCwgbW9kZWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYTU9yZ0NoYXJ0U2VydmljZSB9IGZyb20gJy4uL29yZy1jaGFydC5zZXJ2aWNlJztcbmltcG9ydCB7IEFYRGVjb3JhdG9yTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RlY29yYXRvcnMnO1xuaW1wb3J0IHsgQVhUcmFuc2xhdGlvbk1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29yZS90cmFuc2xhdGlvbic7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQVhNT3JnQ2hhcnRDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vb3JnLWNoYXJ0LWNvbmZpZ3VyYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBBWFRleHRCb3hNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvdGV4dC1ib3gnO1xuaW1wb3J0IHsgQVhUZXh0QXJlYU1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy90ZXh0LWFyZWEnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbkBDb21wb25lbnQoe1xuICB0ZW1wbGF0ZVVybDogJy4vYWRkLWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIC8vXG4gICAgQVhTZWxlY3RCb3hNb2R1bGUsXG4gICAgQVhCdXR0b25Nb2R1bGUsXG4gICAgQVhMYWJlbE1vZHVsZSxcbiAgICBBWEZvcm1Nb2R1bGUsXG4gICAgQVhTZWFyY2hCb3hNb2R1bGUsXG4gICAgQVhEZWNvcmF0b3JNb2R1bGUsXG4gICAgQVhUZXh0Qm94TW9kdWxlLFxuICAgIEFYVGV4dEFyZWFNb2R1bGUsXG4gICAgQVhUcmFuc2xhdGlvbk1vZHVsZSxcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEFkZEl0ZW1Db21wb25lbnQgZXh0ZW5kcyBBWEJhc2VQYWdlQ29tcG9uZW50IHtcbiAgcHJvdGVjdGVkIHRpdGxlOiBzdHJpbmc7XG4gIHByb3RlY3RlZCBzdWJ0aXRsZTogc3RyaW5nO1xuICBwcm90ZWN0ZWQgZGVzY3JpcHRpb246IHN0cmluZztcblxuICBzZWxlY3RJdGVtOiBhbnk7XG5cbiAgY29uZmlnOiB7XG4gICAgcXVlcnk6IEFYRGF0YVNvdXJjZUxvYWRDYWxsYmFjazxhbnk+O1xuICAgIHZhbHVlRmllbGQ6IHN0cmluZztcbiAgICB0aXRsZUZpZWxkOiBzdHJpbmc7XG4gICAgc3VidGl0bGVGaWVsZD86IHN0cmluZztcbiAgICBkZXNjcmlwdGlvbkZpZWxkPzogc3RyaW5nO1xuICB9ID0ge1xuICAgIHZhbHVlRmllbGQ6ICdpZCcsXG4gICAgdGl0bGVGaWVsZDogJ3RpdGxlJyxcbiAgICBxdWVyeTogKCkgPT4gUHJvbWlzZS5yZXNvbHZlKHsgaXRlbXM6IFtdLCB0b3RhbDogMCB9KSxcbiAgfTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGRhdGFTb3VyY2UgPSBuZXcgQVhEYXRhU291cmNlPGFueT4oe1xuICAgIHBhZ2VTaXplOiAxMCxcbiAgICBrZXk6IHRoaXMuY29uZmlnLnZhbHVlRmllbGQsXG4gICAgbG9hZDogYXN5bmMgKGUpID0+IGF3YWl0IHRoaXMuY29uZmlnLnF1ZXJ5KGUpLFxuICB9KTtcblxuICBwcm90ZWN0ZWQgYXN5bmMgaGFuZGxlU2F2ZUNsaWNrKGZvcm06IEFYRm9ybUNvbXBvbmVudCkge1xuICAgIGNvbnN0IGZvcm1SZXN1bHQgPSBhd2FpdCBmb3JtLnZhbGlkYXRlKCk7XG4gICAgaWYgKGZvcm1SZXN1bHQucmVzdWx0KSB7XG4gICAgICB0aGlzLmNsb3NlKHtcbiAgICAgICAgaWQ6IHRoaXMuc2VsZWN0SXRlbVt0aGlzLmNvbmZpZy52YWx1ZUZpZWxkXSxcbiAgICAgICAgdGl0bGU6IHRoaXMudGl0bGUsXG4gICAgICAgIHN1YnRpdGxlOiB0aGlzLnN1YnRpdGxlLFxuICAgICAgICBkZXNjcmlwdGlvbjogdGhpcy5kZXNjcmlwdGlvbixcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVWYWx1ZUNoYW5nZWQoZTogQVhWYWx1ZUNoYW5nZWRFdmVudDxhbnk+KSB7XG4gICAgdGhpcy5zZWxlY3RJdGVtID0gZS5jb21wb25lbnQuZGF0YVNlcnZpY2Uuc2VsZWN0ZWRJdGVtc1swXTtcbiAgICBpZiAodGhpcy5zZWxlY3RJdGVtKSB7XG4gICAgICB0aGlzLnRpdGxlID0gdGhpcy5zZWxlY3RJdGVtW3RoaXMuY29uZmlnLnRpdGxlRmllbGRdO1xuICAgICAgaWYgKHRoaXMuY29uZmlnLnN1YnRpdGxlRmllbGQpIHtcbiAgICAgICAgdGhpcy5zdWJ0aXRsZSA9IHRoaXMuc2VsZWN0SXRlbVt0aGlzLmNvbmZpZy5zdWJ0aXRsZUZpZWxkXTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLmNvbmZpZy5kZXNjcmlwdGlvbkZpZWxkKSB7XG4gICAgICAgIHRoaXMuZGVzY3JpcHRpb24gPSB0aGlzLnNlbGVjdEl0ZW1bdGhpcy5jb25maWcuZGVzY3JpcHRpb25GaWVsZF07XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCI8YXgtZm9ybSAqdHJhbnNsYXRlPVwibGV0IHRcIiAjZm9ybT5cbiAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtZmxleC1jb2wgYXgtZ2FwLTQgYXgtcC00XCI+XG4gICAgPGF4LWZvcm0tZmllbGQ+XG4gICAgICA8YXgtbGFiZWw+e3t0KCdjaG9vc2UnKSB8IGFzeW5jfX0gPC9heC1sYWJlbD5cbiAgICAgIDxheC1zZWxlY3QtYm94IFtkYXRhU291cmNlXT1cImRhdGFTb3VyY2VcIiB0ZXh0RmllbGQ9XCJ0aXRsZVwiIHZhbHVlRmllbGQ9XCJpZFwiXG4gICAgICAgIChvblZhbHVlQ2hhbmdlZCk9XCJoYW5kbGVWYWx1ZUNoYW5nZWQoJGV2ZW50KVwiPlxuICAgICAgICA8YXgtc2VhcmNoLWJveD48L2F4LXNlYXJjaC1ib3g+XG4gICAgICAgIDxheC12YWxpZGF0aW9uLXJ1bGUgcnVsZT1cInJlcXVpcmVkXCI+IDwvYXgtdmFsaWRhdGlvbi1ydWxlPlxuICAgICAgPC9heC1zZWxlY3QtYm94PlxuICAgIDwvYXgtZm9ybS1maWVsZD5cbiAgICA8IS0tIDxheC1mb3JtLWZpZWxkPlxuICAgICAgPGF4LWxhYmVsPnt7dCgndGl0bGUnKSB8IGFzeW5jfX0gPC9heC1sYWJlbD5cbiAgICAgIDxheC10ZXh0LWJveCBbKG5nTW9kZWwpXT1cInRpdGxlXCI+XG4gICAgICAgIDxheC12YWxpZGF0aW9uLXJ1bGUgcnVsZT1cInJlcXVpcmVkXCI+IDwvYXgtdmFsaWRhdGlvbi1ydWxlPlxuICAgICAgPC9heC10ZXh0LWJveD5cbiAgICA8L2F4LWZvcm0tZmllbGQ+IC0tPlxuICAgIDxheC1mb3JtLWZpZWxkPlxuICAgICAgPGF4LWxhYmVsPnt7dCgnc3VidGl0bGUnKSB8IGFzeW5jfX0gPC9heC1sYWJlbD5cbiAgICAgIDxheC10ZXh0LWJveCBbKG5nTW9kZWwpXT1cInN1YnRpdGxlXCI+XG4gICAgICA8L2F4LXRleHQtYm94PlxuICAgIDwvYXgtZm9ybS1maWVsZD5cbiAgICA8YXgtZm9ybS1maWVsZD5cbiAgICAgIDxheC1sYWJlbD57e3QoJ2Rlc2NyaXB0aW9uJykgfCBhc3luY319IDwvYXgtbGFiZWw+XG4gICAgICA8YXgtdGV4dC1hcmVhIFsobmdNb2RlbCldPVwiZGVzY3JpcHRpb25cIj5cbiAgICAgIDwvYXgtdGV4dC1hcmVhPlxuICAgIDwvYXgtZm9ybS1maWVsZD5cbiAgPC9kaXY+XG4gIDxheC1mb290ZXIgKnRyYW5zbGF0ZT1cImxldCB0XCI+XG4gICAgPGF4LXN1ZmZpeD5cbiAgICAgIDxheC1idXR0b24gW3RleHRdPVwidCgnY2FuY2VsJykgfCBhc3luY1wiIChvbkNsaWNrKT1cInRoaXMuY2xvc2UoKVwiPiA8L2F4LWJ1dHRvbj5cbiAgICAgIDxheC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgW3RleHRdPVwidCgnc2F2ZScpIHwgYXN5bmNcIiAob25DbGljayk9XCJoYW5kbGVTYXZlQ2xpY2soZm9ybSlcIj4gPC9heC1idXR0b24+XG4gICAgPC9heC1zdWZmaXg+XG4gIDwvYXgtZm9vdGVyPlxuPC9heC1mb3JtPiJdfQ=="],"names":["i4","i8","i11"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"acorex-modules-organization-management-add-item.component-D99TugmE.mjs","sources":["../tmp-esm2022/organization-management/lib/features/organization-chart/add-item/add-item.component.js"],"sourcesContent":["import { AXButtonModule } from '@acorex/components/button';\nimport { AXDataSource } from '@acorex/cdk/common';\nimport { AXFormModule } from '@acorex/components/form';\nimport { AXLabelModule } from '@acorex/components/label';\nimport { AXBasePageComponent } from '@acorex/components/page';\nimport { AXSearchBoxModule } from '@acorex/components/search-box';\nimport { AXSelectBoxModule } from '@acorex/components/select-box';\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { CommonModule } from '@angular/common';\nimport { AXTextBoxModule } from '@acorex/components/text-box';\nimport { AXTextAreaModule } from '@acorex/components/text-area';\nimport { FormsModule } from '@angular/forms';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/common\";\nimport * as i2 from \"@angular/forms\";\nimport * as i3 from \"@acorex/components/select-box\";\nimport * as i4 from \"@acorex/components/button\";\nimport * as i5 from \"@acorex/components/label\";\nimport * as i6 from \"@acorex/components/form\";\nimport * as i7 from \"@acorex/components/search-box\";\nimport * as i8 from \"@acorex/components/decorators\";\nimport * as i9 from \"@acorex/components/text-box\";\nimport * as i10 from \"@acorex/components/text-area\";\nimport * as i11 from \"@acorex/core/translation\";\nexport class AddItemComponent extends AXBasePageComponent {\n constructor() {\n super();\n this.config = {\n valueField: 'id',\n titleField: 'title',\n query: () => Promise.resolve({ items: [], total: 0 }),\n };\n this.dataSource = new AXDataSource({\n pageSize: 10,\n key: this.config.valueField,\n load: async (e) => await this.config.query(e),\n });\n }\n async handleSaveClick(form) {\n const formResult = await form.validate();\n if (formResult.result) {\n this.close({\n id: this.selectItem[this.config.valueField],\n title: this.title,\n subtitle: this.subtitle,\n description: this.description,\n });\n }\n }\n handleValueChanged(e) {\n this.selectItem = e.component.dataService.selectedItems[0];\n if (this.selectItem) {\n this.title = this.selectItem[this.config.titleField];\n if (this.config.subtitleField) {\n this.subtitle = this.selectItem[this.config.subtitleField];\n }\n if (this.config.descriptionField) {\n this.description = this.selectItem[this.config.descriptionField];\n }\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.6\", ngImport: i0, type: AddItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.0.6\", type: AddItemComponent, isStandalone: true, selector: \"ng-component\", providers: [], usesInheritance: true, ngImport: i0, template: \"<ax-form *translate=\\\"let t\\\" #form>\\n <div class=\\\"ax-flex ax-flex-col ax-gap-4 ax-p-4\\\">\\n <ax-form-field>\\n <ax-label>{{t('choose') | async}} </ax-label>\\n <ax-select-box [dataSource]=\\\"dataSource\\\" textField=\\\"title\\\" valueField=\\\"id\\\"\\n (onValueChanged)=\\\"handleValueChanged($event)\\\">\\n <ax-search-box></ax-search-box>\\n <ax-validation-rule rule=\\\"required\\\"> </ax-validation-rule>\\n </ax-select-box>\\n </ax-form-field>\\n <!-- <ax-form-field>\\n <ax-label>{{t('title') | async}} </ax-label>\\n <ax-text-box [(ngModel)]=\\\"title\\\">\\n <ax-validation-rule rule=\\\"required\\\"> </ax-validation-rule>\\n </ax-text-box>\\n </ax-form-field> -->\\n <ax-form-field>\\n <ax-label>{{t('subtitle') | async}} </ax-label>\\n <ax-text-box [(ngModel)]=\\\"subtitle\\\">\\n </ax-text-box>\\n </ax-form-field>\\n <ax-form-field>\\n <ax-label>{{t('description') | async}} </ax-label>\\n <ax-text-area [(ngModel)]=\\\"description\\\">\\n </ax-text-area>\\n </ax-form-field>\\n </div>\\n <ax-footer *translate=\\\"let t\\\">\\n <ax-suffix>\\n <ax-button [text]=\\\"t('cancel') | async\\\" (onClick)=\\\"this.close()\\\"> </ax-button>\\n <ax-button color=\\\"primary\\\" [text]=\\\"t('save') | async\\\" (onClick)=\\\"handleSaveClick(form)\\\"> </ax-button>\\n </ax-suffix>\\n </ax-footer>\\n</ax-form>\", dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"pipe\", type: i1.AsyncPipe, name: \"async\" }, { kind: \"ngmodule\", type: FormsModule }, { kind: \"directive\", type: i2.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { kind: \"directive\", type: i2.NgModel, selector: \"[ngModel]:not([formControlName]):not([formControl])\", inputs: [\"name\", \"disabled\", \"ngModel\", \"ngModelOptions\"], outputs: [\"ngModelChange\"], exportAs: [\"ngModel\"] }, { kind: \"ngmodule\", type: \n //\n AXSelectBoxModule }, { kind: \"component\", type: i3.AXSelectBoxComponent, selector: \"ax-select-box\", inputs: [\"disabled\", \"readonly\", \"tabIndex\", \"placeholder\", \"minValue\", \"maxValue\", \"value\", \"state\", \"name\", \"id\", \"type\", \"look\", \"multiple\", \"valueField\", \"textField\", \"disabledField\", \"textTemplate\", \"selectedItems\", \"dataSource\", \"minRecordsForSearch\", \"caption\", \"itemTemplate\", \"selectedTemplate\", \"emptyTemplate\", \"loadingTemplate\", \"dropdownWidth\", \"searchBoxAutoFocus\"], outputs: [\"valueChange\", \"stateChange\", \"onValueChanged\", \"onBlur\", \"onFocus\", \"readonlyChange\", \"disabledChange\", \"onOpened\", \"onClosed\"] }, { kind: \"ngmodule\", type: AXButtonModule }, { kind: \"component\", type: i4.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: AXLabelModule }, { kind: \"component\", type: i5.AXLabelComponent, selector: \"ax-label\", inputs: [\"required\", \"for\"], outputs: [\"requiredChange\"] }, { kind: \"ngmodule\", type: AXFormModule }, { kind: \"component\", type: i6.AXFormFieldComponent, selector: \"ax-form-field\", inputs: [\"labelMode\"] }, { kind: \"component\", type: i6.AXFormComponent, selector: \"ax-form\", inputs: [\"labelMode\", \"look\", \"messageStyle\", \"updateOn\"], outputs: [\"onValidate\", \"updateOnChange\"] }, { kind: \"directive\", type: i6.AXValidationRuleDirective, selector: \"ax-validation-rule\", inputs: [\"rule\", \"options\", \"message\", \"disabled\"] }, { kind: \"ngmodule\", type: AXSearchBoxModule }, { kind: \"component\", type: i7.AXSearchBoxComponent, selector: \"ax-search-box\", inputs: [\"disabled\", \"readonly\", \"tabIndex\", \"placeholder\", \"value\", \"state\", \"name\", \"id\", \"look\", \"class\", \"delayTime\", \"type\"], outputs: [\"valueChange\", \"stateChange\", \"onValueChanged\", \"onBlur\", \"onFocus\", \"readonlyChange\", \"disabledChange\", \"onKeyDown\", \"onKeyUp\", \"onKeyPress\"] }, { kind: \"ngmodule\", type: AXDecoratorModule }, { kind: \"component\", type: i8.AXDecoratorGenericComponent, selector: \"ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay\" }, { kind: \"ngmodule\", type: AXTextBoxModule }, { kind: \"component\", type: i9.AXTextBoxComponent, selector: \"ax-text-box\", inputs: [\"disabled\", \"tabIndex\", \"readonly\", \"value\", \"state\", \"name\", \"id\", \"placeholder\", \"maxLength\", \"allowNull\", \"type\", \"autoComplete\", \"look\", \"mask-options\", \"class\"], outputs: [\"onBlur\", \"onFocus\", \"valueChange\", \"stateChange\", \"onValueChanged\", \"readonlyChange\", \"disabledChange\", \"onKeyDown\", \"onKeyUp\", \"onKeyPress\"] }, { kind: \"ngmodule\", type: AXTextAreaModule }, { kind: \"component\", type: i10.AXTextAreaComponent, selector: \"ax-text-area\", inputs: [\"disabled\", \"tabIndex\", \"readonly\", \"value\", \"state\", \"name\", \"placeholder\", \"maxLength\", \"look\", \"rows\", \"allowResize\", \"showCounter\", \"class\"], outputs: [\"onBlur\", \"onFocus\", \"valueChange\", \"stateChange\", \"onValueChanged\", \"readonlyChange\", \"disabledChange\", \"onKeyDown\", \"onKeyUp\", \"onKeyPress\"] }, { kind: \"ngmodule\", type: AXTranslationModule }, { kind: \"directive\", type: i11.AXTranslatorDirective, selector: \"[translate]\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.6\", ngImport: i0, type: AddItemComponent, decorators: [{\n type: Component,\n args: [{ imports: [\n CommonModule,\n FormsModule,\n //\n AXSelectBoxModule,\n AXButtonModule,\n AXLabelModule,\n AXFormModule,\n AXSearchBoxModule,\n AXDecoratorModule,\n AXTextBoxModule,\n AXTextAreaModule,\n AXTranslationModule,\n ], providers: [], changeDetection: ChangeDetectionStrategy.OnPush, template: \"<ax-form *translate=\\\"let t\\\" #form>\\n <div class=\\\"ax-flex ax-flex-col ax-gap-4 ax-p-4\\\">\\n <ax-form-field>\\n <ax-label>{{t('choose') | async}} </ax-label>\\n <ax-select-box [dataSource]=\\\"dataSource\\\" textField=\\\"title\\\" valueField=\\\"id\\\"\\n (onValueChanged)=\\\"handleValueChanged($event)\\\">\\n <ax-search-box></ax-search-box>\\n <ax-validation-rule rule=\\\"required\\\"> </ax-validation-rule>\\n </ax-select-box>\\n </ax-form-field>\\n <!-- <ax-form-field>\\n <ax-label>{{t('title') | async}} </ax-label>\\n <ax-text-box [(ngModel)]=\\\"title\\\">\\n <ax-validation-rule rule=\\\"required\\\"> </ax-validation-rule>\\n </ax-text-box>\\n </ax-form-field> -->\\n <ax-form-field>\\n <ax-label>{{t('subtitle') | async}} </ax-label>\\n <ax-text-box [(ngModel)]=\\\"subtitle\\\">\\n </ax-text-box>\\n </ax-form-field>\\n <ax-form-field>\\n <ax-label>{{t('description') | async}} </ax-label>\\n <ax-text-area [(ngModel)]=\\\"description\\\">\\n </ax-text-area>\\n </ax-form-field>\\n </div>\\n <ax-footer *translate=\\\"let t\\\">\\n <ax-suffix>\\n <ax-button [text]=\\\"t('cancel') | async\\\" (onClick)=\\\"this.close()\\\"> </ax-button>\\n <ax-button color=\\\"primary\\\" [text]=\\\"t('save') | async\\\" (onClick)=\\\"handleSaveClick(form)\\\"> </ax-button>\\n </ax-suffix>\\n </ax-footer>\\n</ax-form>\" }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL29yZ2FuaXphdGlvbi1tYW5hZ2VtZW50L3NyYy9saWIvZmVhdHVyZXMvb3JnYW5pemF0aW9uLWNoYXJ0L2FkZC1pdGVtL2FkZC1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9vcmdhbml6YXRpb24tbWFuYWdlbWVudC9zcmMvbGliL2ZlYXR1cmVzL29yZ2FuaXphdGlvbi1jaGFydC9hZGQtaXRlbS9hZGQtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFlBQVksRUFBaUQsTUFBTSxvQkFBb0IsQ0FBQztBQUNqRyxPQUFPLEVBQW1CLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUVsRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDZCQUE2QixDQUFD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RSxtQkFDSSx1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhCdXR0b25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB7IEFYRGF0YVNvdXJjZSwgQVhEYXRhU291cmNlTG9hZENhbGxiYWNrLCBBWFZhbHVlQ2hhbmdlZEV2ZW50IH0gZnJvbSAnQGFjb3JleC9jZGsvY29tbW9uJztcbmltcG9ydCB7IEFYRm9ybUNvbXBvbmVudCwgQVhGb3JtTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2Zvcm0nO1xuaW1wb3J0IHsgQVhMYWJlbE1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9sYWJlbCc7XG5pbXBvcnQgeyBBWEJhc2VQYWdlQ29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3BhZ2UnO1xuaW1wb3J0IHsgQVhTZWFyY2hCb3hNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvc2VhcmNoLWJveCc7XG5pbXBvcnQgeyBBWFNlbGVjdEJveE1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9zZWxlY3QtYm94JztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGluamVjdCwgbW9kZWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYTU9yZ0NoYXJ0U2VydmljZSB9IGZyb20gJy4uL29yZy1jaGFydC5zZXJ2aWNlJztcbmltcG9ydCB7IEFYRGVjb3JhdG9yTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RlY29yYXRvcnMnO1xuaW1wb3J0IHsgQVhUcmFuc2xhdGlvbk1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29yZS90cmFuc2xhdGlvbic7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQVhNT3JnQ2hhcnRDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vb3JnLWNoYXJ0LWNvbmZpZ3VyYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBBWFRleHRCb3hNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvdGV4dC1ib3gnO1xuaW1wb3J0IHsgQVhUZXh0QXJlYU1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy90ZXh0LWFyZWEnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbkBDb21wb25lbnQoe1xuICB0ZW1wbGF0ZVVybDogJy4vYWRkLWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIC8vXG4gICAgQVhTZWxlY3RCb3hNb2R1bGUsXG4gICAgQVhCdXR0b25Nb2R1bGUsXG4gICAgQVhMYWJlbE1vZHVsZSxcbiAgICBBWEZvcm1Nb2R1bGUsXG4gICAgQVhTZWFyY2hCb3hNb2R1bGUsXG4gICAgQVhEZWNvcmF0b3JNb2R1bGUsXG4gICAgQVhUZXh0Qm94TW9kdWxlLFxuICAgIEFYVGV4dEFyZWFNb2R1bGUsXG4gICAgQVhUcmFuc2xhdGlvbk1vZHVsZSxcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEFkZEl0ZW1Db21wb25lbnQgZXh0ZW5kcyBBWEJhc2VQYWdlQ29tcG9uZW50IHtcbiAgcHJvdGVjdGVkIHRpdGxlOiBzdHJpbmc7XG4gIHByb3RlY3RlZCBzdWJ0aXRsZTogc3RyaW5nO1xuICBwcm90ZWN0ZWQgZGVzY3JpcHRpb246IHN0cmluZztcblxuICBzZWxlY3RJdGVtOiBhbnk7XG5cbiAgY29uZmlnOiB7XG4gICAgcXVlcnk6IEFYRGF0YVNvdXJjZUxvYWRDYWxsYmFjazxhbnk+O1xuICAgIHZhbHVlRmllbGQ6IHN0cmluZztcbiAgICB0aXRsZUZpZWxkOiBzdHJpbmc7XG4gICAgc3VidGl0bGVGaWVsZD86IHN0cmluZztcbiAgICBkZXNjcmlwdGlvbkZpZWxkPzogc3RyaW5nO1xuICB9ID0ge1xuICAgIHZhbHVlRmllbGQ6ICdpZCcsXG4gICAgdGl0bGVGaWVsZDogJ3RpdGxlJyxcbiAgICBxdWVyeTogKCkgPT4gUHJvbWlzZS5yZXNvbHZlKHsgaXRlbXM6IFtdLCB0b3RhbDogMCB9KSxcbiAgfTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGRhdGFTb3VyY2UgPSBuZXcgQVhEYXRhU291cmNlPGFueT4oe1xuICAgIHBhZ2VTaXplOiAxMCxcbiAgICBrZXk6IHRoaXMuY29uZmlnLnZhbHVlRmllbGQsXG4gICAgbG9hZDogYXN5bmMgKGUpID0+IGF3YWl0IHRoaXMuY29uZmlnLnF1ZXJ5KGUpLFxuICB9KTtcblxuICBwcm90ZWN0ZWQgYXN5bmMgaGFuZGxlU2F2ZUNsaWNrKGZvcm06IEFYRm9ybUNvbXBvbmVudCkge1xuICAgIGNvbnN0IGZvcm1SZXN1bHQgPSBhd2FpdCBmb3JtLnZhbGlkYXRlKCk7XG4gICAgaWYgKGZvcm1SZXN1bHQucmVzdWx0KSB7XG4gICAgICB0aGlzLmNsb3NlKHtcbiAgICAgICAgaWQ6IHRoaXMuc2VsZWN0SXRlbVt0aGlzLmNvbmZpZy52YWx1ZUZpZWxkXSxcbiAgICAgICAgdGl0bGU6IHRoaXMudGl0bGUsXG4gICAgICAgIHN1YnRpdGxlOiB0aGlzLnN1YnRpdGxlLFxuICAgICAgICBkZXNjcmlwdGlvbjogdGhpcy5kZXNjcmlwdGlvbixcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVWYWx1ZUNoYW5nZWQoZTogQVhWYWx1ZUNoYW5nZWRFdmVudDxhbnk+KSB7XG4gICAgdGhpcy5zZWxlY3RJdGVtID0gZS5jb21wb25lbnQuZGF0YVNlcnZpY2Uuc2VsZWN0ZWRJdGVtc1swXTtcbiAgICBpZiAodGhpcy5zZWxlY3RJdGVtKSB7XG4gICAgICB0aGlzLnRpdGxlID0gdGhpcy5zZWxlY3RJdGVtW3RoaXMuY29uZmlnLnRpdGxlRmllbGRdO1xuICAgICAgaWYgKHRoaXMuY29uZmlnLnN1YnRpdGxlRmllbGQpIHtcbiAgICAgICAgdGhpcy5zdWJ0aXRsZSA9IHRoaXMuc2VsZWN0SXRlbVt0aGlzLmNvbmZpZy5zdWJ0aXRsZUZpZWxkXTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLmNvbmZpZy5kZXNjcmlwdGlvbkZpZWxkKSB7XG4gICAgICAgIHRoaXMuZGVzY3JpcHRpb24gPSB0aGlzLnNlbGVjdEl0ZW1bdGhpcy5jb25maWcuZGVzY3JpcHRpb25GaWVsZF07XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCI8YXgtZm9ybSAqdHJhbnNsYXRlPVwibGV0IHRcIiAjZm9ybT5cbiAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtZmxleC1jb2wgYXgtZ2FwLTQgYXgtcC00XCI+XG4gICAgPGF4LWZvcm0tZmllbGQ+XG4gICAgICA8YXgtbGFiZWw+e3t0KCdjaG9vc2UnKSB8IGFzeW5jfX0gPC9heC1sYWJlbD5cbiAgICAgIDxheC1zZWxlY3QtYm94IFtkYXRhU291cmNlXT1cImRhdGFTb3VyY2VcIiB0ZXh0RmllbGQ9XCJ0aXRsZVwiIHZhbHVlRmllbGQ9XCJpZFwiXG4gICAgICAgIChvblZhbHVlQ2hhbmdlZCk9XCJoYW5kbGVWYWx1ZUNoYW5nZWQoJGV2ZW50KVwiPlxuICAgICAgICA8YXgtc2VhcmNoLWJveD48L2F4LXNlYXJjaC1ib3g+XG4gICAgICAgIDxheC12YWxpZGF0aW9uLXJ1bGUgcnVsZT1cInJlcXVpcmVkXCI+IDwvYXgtdmFsaWRhdGlvbi1ydWxlPlxuICAgICAgPC9heC1zZWxlY3QtYm94PlxuICAgIDwvYXgtZm9ybS1maWVsZD5cbiAgICA8IS0tIDxheC1mb3JtLWZpZWxkPlxuICAgICAgPGF4LWxhYmVsPnt7dCgndGl0bGUnKSB8IGFzeW5jfX0gPC9heC1sYWJlbD5cbiAgICAgIDxheC10ZXh0LWJveCBbKG5nTW9kZWwpXT1cInRpdGxlXCI+XG4gICAgICAgIDxheC12YWxpZGF0aW9uLXJ1bGUgcnVsZT1cInJlcXVpcmVkXCI+IDwvYXgtdmFsaWRhdGlvbi1ydWxlPlxuICAgICAgPC9heC10ZXh0LWJveD5cbiAgICA8L2F4LWZvcm0tZmllbGQ+IC0tPlxuICAgIDxheC1mb3JtLWZpZWxkPlxuICAgICAgPGF4LWxhYmVsPnt7dCgnc3VidGl0bGUnKSB8IGFzeW5jfX0gPC9heC1sYWJlbD5cbiAgICAgIDxheC10ZXh0LWJveCBbKG5nTW9kZWwpXT1cInN1YnRpdGxlXCI+XG4gICAgICA8L2F4LXRleHQtYm94PlxuICAgIDwvYXgtZm9ybS1maWVsZD5cbiAgICA8YXgtZm9ybS1maWVsZD5cbiAgICAgIDxheC1sYWJlbD57e3QoJ2Rlc2NyaXB0aW9uJykgfCBhc3luY319IDwvYXgtbGFiZWw+XG4gICAgICA8YXgtdGV4dC1hcmVhIFsobmdNb2RlbCldPVwiZGVzY3JpcHRpb25cIj5cbiAgICAgIDwvYXgtdGV4dC1hcmVhPlxuICAgIDwvYXgtZm9ybS1maWVsZD5cbiAgPC9kaXY+XG4gIDxheC1mb290ZXIgKnRyYW5zbGF0ZT1cImxldCB0XCI+XG4gICAgPGF4LXN1ZmZpeD5cbiAgICAgIDxheC1idXR0b24gW3RleHRdPVwidCgnY2FuY2VsJykgfCBhc3luY1wiIChvbkNsaWNrKT1cInRoaXMuY2xvc2UoKVwiPiA8L2F4LWJ1dHRvbj5cbiAgICAgIDxheC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgW3RleHRdPVwidCgnc2F2ZScpIHwgYXN5bmNcIiAob25DbGljayk9XCJoYW5kbGVTYXZlQ2xpY2soZm9ybSlcIj4gPC9heC1idXR0b24+XG4gICAgPC9heC1zdWZmaXg+XG4gIDwvYXgtZm9vdGVyPlxuPC9heC1mb3JtPiJdfQ=="],"names":["i4","i8","i11"],"mappings":"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"}
|
@@ -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-BSO0GrAW.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.0.
|
82
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.
|
81
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: AXMOrgChartConfigurationPage, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
82
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", 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.0.
|
90
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", 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.0.4", 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-DTNqHbxt.mjs.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"acorex-modules-organization-management-org-chart-configuration.page-DjGUUbel.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({});\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.0.4\", ngImport: i0, type: AXMOrgChartConfigurationPage, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.0.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.0.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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JnLWNoYXJ0LWNvbmZpZ3VyYXRpb24ucGFnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9vcmdhbml6YXRpb24tbWFuYWdlbWVudC9zcmMvbGliL2ZlYXR1cmVzL29yZ2FuaXphdGlvbi1jaGFydC9vcmctY2hhcnQtY29uZmlndXJhdGlvbi5wYWdlLnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL29yZ2FuaXphdGlvbi1tYW5hZ2VtZW50L3NyYy9saWIvZmVhdHVyZXMvb3JnYW5pemF0aW9uLWNoYXJ0L29yZy1jaGFydC1jb25maWd1cmF0aW9uLnBhZ2UuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDckUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdkQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLDBCQUEwQixFQUFFLHNCQUFzQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDdEgsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFFbEYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25GLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN6QyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7Ozs7OztBQTZCN0UsTUFBTSxPQUFPLDRCQUE2QixTQUFRLDBCQUEwQjtJQTFCNUU7O1FBMkJxQixpQkFBWSxHQUFHLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1FBRXpELGtCQUFhLEdBQUcsTUFBTSxDQUFpRSxFQUFFLENBQUMsQ0FBQztRQUVsRixlQUFVLEdBQUcsVUFBVSxDQUFDO0tBNEQ1QztJQTFEVSxLQUFLLENBQUMsUUFBUTtRQUNyQixNQUFNLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN2QixNQUFNLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVTLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFjLEVBQUUsS0FBYTtRQUM1RCxtQ0FBbUM7UUFFbkMsK0NBQStDO1FBQy9DLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDbkMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO2dCQUNwQixNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ3RCLENBQUM7WUFDRCxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDO1lBQzdCLE9BQU8sTUFBTSxDQUFDO1FBQ2hCLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBRTVFLE1BQU0sSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUVqQyw4QkFBOEI7UUFDOUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUNuQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7Z0JBQ3BCLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDdEIsQ0FBQztZQUNELE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxLQUFLLENBQUM7WUFDOUIsT0FBTyxNQUFNLENBQUM7UUFDaEIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRVEsS0FBSyxDQUFDLFlBQVk7UUFDekIsT0FBTyxNQUFNLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLENBQUMsZ0NBQWdDLEVBQUUsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUM5SCxDQUFDO0lBRVEsS0FBSyxDQUFDLGtCQUFrQjtRQUMvQixPQUFPLE1BQU0sSUFBSSxDQUFDLGdCQUFnQixDQUFDLGNBQWMsQ0FBQyxzQ0FBc0MsRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3BJLENBQUM7SUFFUSxLQUFLLENBQUMscUJBQXFCO1FBQ2xDLE9BQU87WUFDTDtnQkFDRSxLQUFLLEVBQUUsTUFBTSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxDQUFDLG1DQUFtQyxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUM5SCxJQUFJLEVBQUUseUJBQXlCO2dCQUMvQixLQUFLLEVBQUUsU0FBUztnQkFDaEIsT0FBTyxFQUFFO29CQUNQLElBQUksRUFBRSxPQUFPO2lCQUNkO2FBQ0Y7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUNRLEtBQUssQ0FBQyxrQkFBa0I7UUFDL0IsT0FBTztZQUNMO2dCQUNFLEtBQUssRUFBRSxNQUFNLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLENBQUMsV0FBVyxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO2FBQ3ZHO1NBQ0YsQ0FBQztJQUNKLENBQUM7OEdBaEVVLDRCQUE0QjtrR0FBNUIsNEJBQTRCLDJEQVI1QjtZQUNULHdCQUF3QjtZQUN4QjtnQkFDRSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUsNEJBQTRCO2FBQzFDO1NBQ0YsaURDM0NILGdqR0FtRUEsMkNEN0NJLFlBQVksOEJBQ1osV0FBVywrQkFDWCw0QkFBNEIsZ2lCQUM1QixzQkFBc0IsMkRBQ3RCLFlBQVksOEJBQ1osY0FBYyw2WEFDZCxzQkFBc0IsOEJBQ3RCLG1CQUFtQiw4R0FDbkIsaUJBQWlCLHNWQUNqQixlQUFlLDhLQUNmLGdCQUFnQiw4QkFDaEIsbUJBQW1CLDhCQUNuQixhQUFhOzsyRkFXSiw0QkFBNEI7a0JBMUJ4QyxTQUFTOzhCQUVDO3dCQUNQLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCw0QkFBNEI7d0JBQzVCLHNCQUFzQjt3QkFDdEIsWUFBWTt3QkFDWixjQUFjO3dCQUNkLHNCQUFzQjt3QkFDdEIsbUJBQW1CO3dCQUNuQixpQkFBaUI7d0JBQ2pCLGVBQWU7d0JBQ2YsZ0JBQWdCO3dCQUNoQixtQkFBbUI7d0JBQ25CLGFBQWE7cUJBQ2hCLG1CQUNrQix1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDO3dCQUNULHdCQUF3Qjt3QkFDeEI7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyw4QkFBOEI7eUJBQzFDO3FCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhBbGVydE1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9hbGVydCc7XG5pbXBvcnQgeyBBWEJyZWFkY3J1bWJzTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2JyZWFkY3J1bWJzJztcbmltcG9ydCB7IEFYQnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2J1dHRvbic7XG5pbXBvcnQgeyBBWENoZWNrQm94TW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2NoZWNrLWJveCc7XG5pbXBvcnQgeyBBWERlY29yYXRvck1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kZWNvcmF0b3JzJztcbmltcG9ydCB7IEFYRHJvcGRvd25CdXR0b25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZHJvcGRvd24tYnV0dG9uJztcbmltcG9ydCB7IEFYTG9hZGluZ01vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9sb2FkaW5nJztcbmltcG9ydCB7IEFYTWVudU1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9tZW51JztcbmltcG9ydCB7IEFYVHJhbnNsYXRpb25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvcmUvdHJhbnNsYXRpb24nO1xuaW1wb3J0IHsgQVhQUGFnZUxheW91dEJhc2UsIEFYUFBhZ2VMYXlvdXRCYXNlQ29tcG9uZW50LCBBWFBQYWdlTGF5b3V0Q29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvdmlld3MnO1xuaW1wb3J0IHsgQVhQVGhlbWVMYXlvdXRCbG9ja0NvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2NvbXBvbmVudHMnO1xuXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbmplY3QsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgUm9vdENvbmZpZyB9IGZyb20gJy4uLy4uL2NvbnN0JztcbmltcG9ydCB7IEFYTU9yZ0NoYXJ0Q29uZmlnU2VydmljZSB9IGZyb20gJy4vb3JnLWNoYXJ0LWNvbmZpZ3VyYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBBWFBBY3Rpb25NZW51SXRlbSwgQVhQQnJlYWRjcnVtYkl0ZW0gfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGVVcmw6ICcuL29yZy1jaGFydC1jb25maWd1cmF0aW9uLnBhZ2UuaHRtbCcsXG4gIGltcG9ydHM6IFtcbiAgICBSb3V0ZXJNb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgQVhQVGhlbWVMYXlvdXRCbG9ja0NvbXBvbmVudCxcbiAgICBBWFBQYWdlTGF5b3V0Q29tcG9uZW50LFxuICAgIEFYTWVudU1vZHVsZSxcbiAgICBBWEJ1dHRvbk1vZHVsZSxcbiAgICBBWERyb3Bkb3duQnV0dG9uTW9kdWxlLFxuICAgIEFYVHJhbnNsYXRpb25Nb2R1bGUsXG4gICAgQVhEZWNvcmF0b3JNb2R1bGUsXG4gICAgQVhMb2FkaW5nTW9kdWxlLFxuICAgIEFYQ2hlY2tCb3hNb2R1bGUsXG4gICAgQVhCcmVhZGNydW1ic01vZHVsZSxcbiAgICBBWEFsZXJ0TW9kdWxlXG5dLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJvdmlkZXJzOiBbXG4gICAgQVhNT3JnQ2hhcnRDb25maWdTZXJ2aWNlLFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IEFYUFBhZ2VMYXlvdXRCYXNlLFxuICAgICAgdXNlRXhpc3Rpbmc6IEFYTU9yZ0NoYXJ0Q29uZmlndXJhdGlvblBhZ2VcbiAgICB9XG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEFYTU9yZ0NoYXJ0Q29uZmlndXJhdGlvblBhZ2UgZXh0ZW5kcyBBWFBQYWdlTGF5b3V0QmFzZUNvbXBvbmVudCB7XG4gIHByb3RlY3RlZCByZWFkb25seSBjaGFydFNlcnZpY2UgPSBpbmplY3QoQVhNT3JnQ2hhcnRDb25maWdTZXJ2aWNlKTtcblxuICBwcm90ZWN0ZWQgbG9hZGluZ1N0YXRlcyA9IHNpZ25hbDx7IFtwYXJlbnQ6IHN0cmluZ106IHsgW2NoaWxkOiBzdHJpbmddOiBib29sZWFuIH0gfCB1bmRlZmluZWQgfT4oe30pO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSByb290Q29uZmlnID0gUm9vdENvbmZpZztcblxuICBvdmVycmlkZSBhc3luYyBuZ09uSW5pdCgpIHtcbiAgICBhd2FpdCBzdXBlci5uZ09uSW5pdCgpO1xuICAgIGF3YWl0IHRoaXMuY2hhcnRTZXJ2aWNlLmxvYWQoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBhc3luYyB0b2dnbGVQZXJtaXNzaW9uKHBhcmVudDogc3RyaW5nLCBjaGlsZDogc3RyaW5nKSB7XG4gICAgLy9UT0RPOiBDaGVjayB0aGUgYXN5bmMgYW5kIGxvYWRpbmdcblxuICAgIC8vIFNldCB0aGUgbG9hZGluZyBzdGF0ZSBmb3IgdGhpcyBjZWxsIHRvIHRydWUuXG4gICAgdGhpcy5sb2FkaW5nU3RhdGVzLnVwZGF0ZSgoc3RhdGVzKSA9PiB7XG4gICAgICBpZiAoIXN0YXRlc1twYXJlbnRdKSB7XG4gICAgICAgIHN0YXRlc1twYXJlbnRdID0ge307XG4gICAgICB9XG4gICAgICBzdGF0ZXNbcGFyZW50XVtjaGlsZF0gPSB0cnVlO1xuICAgICAgcmV0dXJuIHN0YXRlcztcbiAgICB9KTtcblxuICAgIHRoaXMuY2hhcnRTZXJ2aWNlLnNldChwYXJlbnQsIGNoaWxkLCAhdGhpcy5jaGFydFNlcnZpY2UuZ2V0KHBhcmVudCwgY2hpbGQpKTtcblxuICAgIGF3YWl0IHRoaXMuY2hhcnRTZXJ2aWNlLnVwZGF0ZSgpO1xuXG4gICAgLy8gVHVybiBvZmYgdGhlIGxvYWRpbmcgc3RhdGUuXG4gICAgdGhpcy5sb2FkaW5nU3RhdGVzLnVwZGF0ZSgoc3RhdGVzKSA9PiB7XG4gICAgICBpZiAoIXN0YXRlc1twYXJlbnRdKSB7XG4gICAgICAgIHN0YXRlc1twYXJlbnRdID0ge307XG4gICAgICB9XG4gICAgICBzdGF0ZXNbcGFyZW50XVtjaGlsZF0gPSBmYWxzZTtcbiAgICAgIHJldHVybiBzdGF0ZXM7XG4gICAgfSk7XG4gIH1cblxuICBvdmVycmlkZSBhc3luYyBnZXRQYWdlVGl0bGUoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKCdjaGFydC1jb25maWd1cmF0aW9uLnBhZ2UtdGl0bGUnLCB7IHNjb3BlOiB0aGlzLnJvb3RDb25maWcuY29uZmlnLmkxOG4gfSk7XG4gIH1cblxuICBvdmVycmlkZSBhc3luYyBnZXRQYWdlRGVzY3JpcHRpb24oKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKCdjaGFydC1jb25maWd1cmF0aW9uLnBhZ2UtZGVzY3JpcHRpb24nLCB7IHNjb3BlOiB0aGlzLnJvb3RDb25maWcuY29uZmlnLmkxOG4gfSk7XG4gIH1cblxuICBvdmVycmlkZSBhc3luYyBnZXRTZWNvbmRhcnlNZW51SXRlbXMoKTogUHJvbWlzZTxBWFBBY3Rpb25NZW51SXRlbVtdPiB7XG4gICAgcmV0dXJuIFtcbiAgICAgIHtcbiAgICAgICAgdGl0bGU6IGF3YWl0IHRoaXMudHJhbnNsYXRlU2VydmljZS50cmFuc2xhdGVBc3luYygnY2hhcnQtY29uZmlndXJhdGlvbi5hY3Rpb25zLnJlc2V0JywgeyBzY29wZTogdGhpcy5yb290Q29uZmlnLmNvbmZpZy5pMThuIH0pLFxuICAgICAgICBpY29uOiAnZmEtbGlnaHQgZmEtcm90YXRlLWxlZnQnLFxuICAgICAgICBjb2xvcjogJ3ByaW1hcnknLFxuICAgICAgICBjb21tYW5kOiB7XG4gICAgICAgICAgbmFtZTogJ3Jlc2V0JyxcbiAgICAgICAgfVxuICAgICAgfVxuICAgIF07XG4gIH1cbiAgb3ZlcnJpZGUgYXN5bmMgZ2V0UGFnZUJyZWFkY3J1bWJzKCk6IFByb21pc2U8QVhQQnJlYWRjcnVtYkl0ZW1bXT4ge1xuICAgIHJldHVybiBbXG4gICAgICB7XG4gICAgICAgIHRpdGxlOiBhd2FpdCB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UudHJhbnNsYXRlQXN5bmMoJ3Jvb3QtbWVudScsIHsgc2NvcGU6IHRoaXMucm9vdENvbmZpZy5jb25maWcuaTE4biB9KVxuICAgICAgfSxcbiAgICBdO1xuICB9XG59XG4iLCI8YXhwLXBhZ2UtbGF5b3V0ICp0cmFuc2xhdGU9XCJsZXQgdFwiPlxuICA8YXhwLXBhZ2UtY29udGVudD5cbiAgICA8ZGl2IGNsYXNzPVwiYXgtZmxleCBheC1mbGV4LWNvbCBheC1nYXAtNiBheC13LWZ1bGxcIj5cbiAgICAgIDxkaXY+XG4gICAgICAgIDxoMyBjbGFzcz1cImF4LWZvbnQtc2VtaWJvbGQgYXgtdGV4dC14bFwiPlJlbGF0aW9ucyBQZXJtaXNzaW9uczwvaDM+XG4gICAgICAgIDxwIGNsYXNzPVwiYXgtdGV4dC1zbSBheC1vcGFjaXR5LTg1XCI+XG4gICAgICAgICAgVGhpcyBtYXRyaXggc2V0cyB0aGUgcmVsYXRpb25zaGlwcyBiZXR3ZWVuIG5vZGVzIGluIHlvdXIgb3JnYW5pemF0aW9uIGNoYXJ0LiBDbGljayBhIGNlbGwgdG8gdG9nZ2xlIHRoZVxuICAgICAgICAgIHJlbGF0aW9uIGJldHdlZW4gPHNwYW4gY2xhc3M9XCJheC10ZXh0LWRhbmdlci01MDBcIj5BbGxvd2VkPC9zcGFuPiBhbmRcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImF4LXRleHQtc3VjY2Vzcy01MDBcIj5EZW5pZWQ8L3NwYW4+LlxuICAgICAgICA8L3A+XG4gICAgICA8L2Rpdj5cbiAgICAgIDwhLS0tLS0tLS0tLS0tLS0tLSBNYXRyaXggVGFibGUgLS0tLS0tLS0tLS0tLS0tLT5cbiAgICAgIDxkaXYgY2xhc3M9XCJheC13LWZ1bGwgYXgtb3ZlcmZsb3ctYXV0b1wiPlxuICAgICAgICA8dGFibGUgY2xhc3M9XCJheC10YWJsZS1hdXRvIGF4LWJvcmRlci1jb2xsYXBzZSBheC1tYXgtdy1maXQgYXgtYm9yZGVyLXN1cmZhY2UgYXgtcm91bmRlZC1tZFwiPlxuICAgICAgICAgIDx0aGVhZD5cbiAgICAgICAgICAgIDx0ciBjbGFzcz1cImF4LWRhcmstc3VyZmFjZVwiPlxuICAgICAgICAgICAgICA8IS0tIFRvcC1sZWZ0IGVtcHR5IGNlbGwgLS0+XG4gICAgICAgICAgICAgIDx0aCBjbGFzcz1cImF4LWJvcmRlciBheC1kYXJrLXN1cmZhY2UgYXgtcC00IGF4LWZvbnQtc2VtaWJvbGQgYXgtdGV4dC1zdGFydFwiPlBhcmVudCBcXCBDaGlsZDwvdGg+XG4gICAgICAgICAgICAgIDwhLS0gSG9yaXpvbnRhbCBoZWFkZXJzIC0tPlxuICAgICAgICAgICAgICBAZm9yICggdHlwZSBvZiBjaGFydFNlcnZpY2UudHlwZXM7IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgICAgICA8dGggY2xhc3M9XCJheC1ib3JkZXIgYXgtZGFyay1zdXJmYWNlIGF4LXAtNCBheC1taW4tdy0zMiBheC10ZXh0LWNlbnRlciBheC1mb250LXNlbWlib2xkXCI+e3sgdHlwZSB9fTwvdGg+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgPC90aGVhZD5cbiAgICAgICAgICA8dGJvZHk+XG4gICAgICAgICAgICA8IS0tIEZvciBlYWNoIHBhcmVudCB0eXBlLCByZW5kZXIgYSByb3cgd2l0aCBhbHRlcm5hdGluZyBiYWNrZ3JvdW5kcyAtLT5cbiAgICAgICAgICAgIEBmb3IgKCBwYXJlbnQgb2YgY2hhcnRTZXJ2aWNlLnR5cGVzOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgICAgPCEtLSBWZXJ0aWNhbCBoZWFkZXIgY2VsbCB3aXRoIGN1c3RvbSBoZWFkZXIgY29sb3JzIC0tPlxuICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJheC1ib3JkZXIgYXgtZGFyay1zdXJmYWNlIGF4LXAtNCBheC1mb250LXNlbWlib2xkIGF4LXRleHQtc3RhcnRcIj57eyBwYXJlbnQgfX08L3RkPlxuICAgICAgICAgICAgICA8IS0tIFJlbmRlciBhIGNlbGwgZm9yIGVhY2ggcG90ZW50aWFsIGNoaWxkIHR5cGUgLS0+XG4gICAgICAgICAgICAgIEBmb3IgKCBjaGlsZCBvZiBjaGFydFNlcnZpY2UudHlwZXM7IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJheC1ib3JkZXIgYXgtbGlnaHRlc3Qtc3VyZmFjZSBheC1ib3JkZXItc3VyZmFjZSBheC1wLTJcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtZmxleCBheC1qdXN0aWZ5LWNlbnRlciBheC1jdXJzb3ItcG9pbnRlciBheC1zbVwiPlxuICAgICAgICAgICAgICAgICAgQGxldCBpc0xvYWRpbmcgPSBsb2FkaW5nU3RhdGVzKClbcGFyZW50XT8uW2NoaWxkXTtcbiAgICAgICAgICAgICAgICAgIDxheC1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgbG9vaz1cImJsYW5rXCJcbiAgICAgICAgICAgICAgICAgICAgW2NvbG9yXT1cImNoYXJ0U2VydmljZS5pc0FsbG93ZWQocGFyZW50LCBjaGlsZCkgPyAnc3VjY2VzcycgOiAnZGFuZ2VyJ1wiXG4gICAgICAgICAgICAgICAgICAgIFt0ZXh0XT1cImNoYXJ0U2VydmljZS5pc0FsbG93ZWQocGFyZW50LCBjaGlsZCkgPyAnQWxsb3dlZCcgOiAnRGVuaWVkJ1wiXG4gICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJpc0xvYWRpbmdcIlxuICAgICAgICAgICAgICAgICAgICAob25DbGljayk9XCJ0b2dnbGVQZXJtaXNzaW9uKHBhcmVudCwgY2hpbGQpXCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgQGlmKGlzTG9hZGluZykge1xuICAgICAgICAgICAgICAgICAgICA8YXgtbG9hZGluZz48L2F4LWxvYWRpbmc+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIDwvYXgtYnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvdGJvZHk+XG4gICAgICAgIDwvdGFibGU+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXY+XG4gICAgICAgIDxheC1hbGVydCBbY29sb3JdPVwiJ3dhcm5pbmcnXCIgY2xhc3M9XCJheC1tYXgtdy1maXRcIj5cbiAgICAgICAgICA8YXgtaWNvbj48L2F4LWljb24+XG4gICAgICAgICAgPGF4LXRpdGxlPkF0dGVudGlvbjwvYXgtdGl0bGU+XG4gICAgICAgICAgPGF4LWNvbnRlbnQ+XG4gICAgICAgICAgICBDaGFuZ2VzIG1hZGUgaGVyZSB3aWxsIG5vdCB1cGRhdGUgeW91ciBjdXJyZW50IG9yZ2FuaXphdGlvbiBjaGFydC4gVGhleSB3aWxsIG9ubHkgYWZmZWN0IGZ1dHVyZSBjaGFydHMgb3JcbiAgICAgICAgICAgIHVwZGF0ZXMuXG4gICAgICAgICAgPC9heC1jb250ZW50PlxuICAgICAgICA8L2F4LWFsZXJ0PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvYXhwLXBhZ2UtY29udGVudD5cbjwvYXhwLXBhZ2UtbGF5b3V0PlxuIl19"],"names":["i1","i2","i3","i4"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"acorex-modules-organization-management-org-chart-configuration.page-DTNqHbxt.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({});\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.0.6\", ngImport: i0, type: AXMOrgChartConfigurationPage, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.0.6\", 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.0.6\", 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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J0BhY29yZXgvY29tcG9uZW50cy9hbGVydCc7XG5pbXBvcnQgeyBBWEJyZWFkY3J1bWJzTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2JyZWFkY3J1bWJzJztcbmltcG9ydCB7IEFYQnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2J1dHRvbic7XG5pbXBvcnQgeyBBWENoZWNrQm94TW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2NoZWNrLWJveCc7XG5pbXBvcnQgeyBBWERlY29yYXRvck1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kZWNvcmF0b3JzJztcbmltcG9ydCB7IEFYRHJvcGRvd25CdXR0b25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZHJvcGRvd24tYnV0dG9uJztcbmltcG9ydCB7IEFYTG9hZGluZ01vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9sb2FkaW5nJztcbmltcG9ydCB7IEFYTWVudU1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9tZW51JztcbmltcG9ydCB7IEFYVHJhbnNsYXRpb25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvcmUvdHJhbnNsYXRpb24nO1xuaW1wb3J0IHsgQVhQUGFnZUxheW91dEJhc2UsIEFYUFBhZ2VMYXlvdXRCYXNlQ29tcG9uZW50LCBBWFBQYWdlTGF5b3V0Q29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvdmlld3MnO1xuaW1wb3J0IHsgQVhQVGhlbWVMYXlvdXRCbG9ja0NvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2NvbXBvbmVudHMnO1xuXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbmplY3QsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgUm9vdENvbmZpZyB9IGZyb20gJy4uLy4uL2NvbnN0JztcbmltcG9ydCB7IEFYTU9yZ0NoYXJ0Q29uZmlnU2VydmljZSB9IGZyb20gJy4vb3JnLWNoYXJ0LWNvbmZpZ3VyYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBBWFBBY3Rpb25NZW51SXRlbSwgQVhQQnJlYWRjcnVtYkl0ZW0gfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGVVcmw6ICcuL29yZy1jaGFydC1jb25maWd1cmF0aW9uLnBhZ2UuaHRtbCcsXG4gIGltcG9ydHM6IFtcbiAgICBSb3V0ZXJNb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgQVhQVGhlbWVMYXlvdXRCbG9ja0NvbXBvbmVudCxcbiAgICBBWFBQYWdlTGF5b3V0Q29tcG9uZW50LFxuICAgIEFYTWVudU1vZHVsZSxcbiAgICBBWEJ1dHRvbk1vZHVsZSxcbiAgICBBWERyb3Bkb3duQnV0dG9uTW9kdWxlLFxuICAgIEFYVHJhbnNsYXRpb25Nb2R1bGUsXG4gICAgQVhEZWNvcmF0b3JNb2R1bGUsXG4gICAgQVhMb2FkaW5nTW9kdWxlLFxuICAgIEFYQ2hlY2tCb3hNb2R1bGUsXG4gICAgQVhCcmVhZGNydW1ic01vZHVsZSxcbiAgICBBWEFsZXJ0TW9kdWxlXG5dLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJvdmlkZXJzOiBbXG4gICAgQVhNT3JnQ2hhcnRDb25maWdTZXJ2aWNlLFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IEFYUFBhZ2VMYXlvdXRCYXNlLFxuICAgICAgdXNlRXhpc3Rpbmc6IEFYTU9yZ0NoYXJ0Q29uZmlndXJhdGlvblBhZ2VcbiAgICB9XG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEFYTU9yZ0NoYXJ0Q29uZmlndXJhdGlvblBhZ2UgZXh0ZW5kcyBBWFBQYWdlTGF5b3V0QmFzZUNvbXBvbmVudCB7XG4gIHByb3RlY3RlZCByZWFkb25seSBjaGFydFNlcnZpY2UgPSBpbmplY3QoQVhNT3JnQ2hhcnRDb25maWdTZXJ2aWNlKTtcblxuICBwcm90ZWN0ZWQgbG9hZGluZ1N0YXRlcyA9IHNpZ25hbDx7IFtwYXJlbnQ6IHN0cmluZ106IHsgW2NoaWxkOiBzdHJpbmddOiBib29sZWFuIH0gfCB1bmRlZmluZWQgfT4oe30pO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSByb290Q29uZmlnID0gUm9vdENvbmZpZztcblxuICBvdmVycmlkZSBhc3luYyBuZ09uSW5pdCgpIHtcbiAgICBhd2FpdCBzdXBlci5uZ09uSW5pdCgpO1xuICAgIGF3YWl0IHRoaXMuY2hhcnRTZXJ2aWNlLmxvYWQoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBhc3luYyB0b2dnbGVQZXJtaXNzaW9uKHBhcmVudDogc3RyaW5nLCBjaGlsZDogc3RyaW5nKSB7XG4gICAgLy9UT0RPOiBDaGVjayB0aGUgYXN5bmMgYW5kIGxvYWRpbmdcblxuICAgIC8vIFNldCB0aGUgbG9hZGluZyBzdGF0ZSBmb3IgdGhpcyBjZWxsIHRvIHRydWUuXG4gICAgdGhpcy5sb2FkaW5nU3RhdGVzLnVwZGF0ZSgoc3RhdGVzKSA9PiB7XG4gICAgICBpZiAoIXN0YXRlc1twYXJlbnRdKSB7XG4gICAgICAgIHN0YXRlc1twYXJlbnRdID0ge307XG4gICAgICB9XG4gICAgICBzdGF0ZXNbcGFyZW50XVtjaGlsZF0gPSB0cnVlO1xuICAgICAgcmV0dXJuIHN0YXRlcztcbiAgICB9KTtcblxuICAgIHRoaXMuY2hhcnRTZXJ2aWNlLnNldChwYXJlbnQsIGNoaWxkLCAhdGhpcy5jaGFydFNlcnZpY2UuZ2V0KHBhcmVudCwgY2hpbGQpKTtcblxuICAgIGF3YWl0IHRoaXMuY2hhcnRTZXJ2aWNlLnVwZGF0ZSgpO1xuXG4gICAgLy8gVHVybiBvZmYgdGhlIGxvYWRpbmcgc3RhdGUuXG4gICAgdGhpcy5sb2FkaW5nU3RhdGVzLnVwZGF0ZSgoc3RhdGVzKSA9PiB7XG4gICAgICBpZiAoIXN0YXRlc1twYXJlbnRdKSB7XG4gICAgICAgIHN0YXRlc1twYXJlbnRdID0ge307XG4gICAgICB9XG4gICAgICBzdGF0ZXNbcGFyZW50XVtjaGlsZF0gPSBmYWxzZTtcbiAgICAgIHJldHVybiBzdGF0ZXM7XG4gICAgfSk7XG4gIH1cblxuICBvdmVycmlkZSBhc3luYyBnZXRQYWdlVGl0bGUoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKCdjaGFydC1jb25maWd1cmF0aW9uLnBhZ2UtdGl0bGUnLCB7IHNjb3BlOiB0aGlzLnJvb3RDb25maWcuY29uZmlnLmkxOG4gfSk7XG4gIH1cblxuICBvdmVycmlkZSBhc3luYyBnZXRQYWdlRGVzY3JpcHRpb24oKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKCdjaGFydC1jb25maWd1cmF0aW9uLnBhZ2UtZGVzY3JpcHRpb24nLCB7IHNjb3BlOiB0aGlzLnJvb3RDb25maWcuY29uZmlnLmkxOG4gfSk7XG4gIH1cblxuICBvdmVycmlkZSBhc3luYyBnZXRTZWNvbmRhcnlNZW51SXRlbXMoKTogUHJvbWlzZTxBWFBBY3Rpb25NZW51SXRlbVtdPiB7XG4gICAgcmV0dXJuIFtcbiAgICAgIHtcbiAgICAgICAgdGl0bGU6IGF3YWl0IHRoaXMudHJhbnNsYXRlU2VydmljZS50cmFuc2xhdGVBc3luYygnY2hhcnQtY29uZmlndXJhdGlvbi5hY3Rpb25zLnJlc2V0JywgeyBzY29wZTogdGhpcy5yb290Q29uZmlnLmNvbmZpZy5pMThuIH0pLFxuICAgICAgICBpY29uOiAnZmEtbGlnaHQgZmEtcm90YXRlLWxlZnQnLFxuICAgICAgICBjb2xvcjogJ3ByaW1hcnknLFxuICAgICAgICBjb21tYW5kOiB7XG4gICAgICAgICAgbmFtZTogJ3Jlc2V0JyxcbiAgICAgICAgfVxuICAgICAgfVxuICAgIF07XG4gIH1cbiAgb3ZlcnJpZGUgYXN5bmMgZ2V0UGFnZUJyZWFkY3J1bWJzKCk6IFByb21pc2U8QVhQQnJlYWRjcnVtYkl0ZW1bXT4ge1xuICAgIHJldHVybiBbXG4gICAgICB7XG4gICAgICAgIHRpdGxlOiBhd2FpdCB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UudHJhbnNsYXRlQXN5bmMoJ3Jvb3QtbWVudScsIHsgc2NvcGU6IHRoaXMucm9vdENvbmZpZy5jb25maWcuaTE4biB9KVxuICAgICAgfSxcbiAgICBdO1xuICB9XG59XG4iLCI8YXhwLXBhZ2UtbGF5b3V0ICp0cmFuc2xhdGU9XCJsZXQgdFwiPlxuICA8YXhwLXBhZ2UtY29udGVudD5cbiAgICA8ZGl2IGNsYXNzPVwiYXgtZmxleCBheC1mbGV4LWNvbCBheC1nYXAtNiBheC13LWZ1bGxcIj5cbiAgICAgIDxkaXY+XG4gICAgICAgIDxoMyBjbGFzcz1cImF4LWZvbnQtc2VtaWJvbGQgYXgtdGV4dC14bFwiPlJlbGF0aW9ucyBQZXJtaXNzaW9uczwvaDM+XG4gICAgICAgIDxwIGNsYXNzPVwiYXgtdGV4dC1zbSBheC1vcGFjaXR5LTg1XCI+XG4gICAgICAgICAgVGhpcyBtYXRyaXggc2V0cyB0aGUgcmVsYXRpb25zaGlwcyBiZXR3ZWVuIG5vZGVzIGluIHlvdXIgb3JnYW5pemF0aW9uIGNoYXJ0LiBDbGljayBhIGNlbGwgdG8gdG9nZ2xlIHRoZVxuICAgICAgICAgIHJlbGF0aW9uIGJldHdlZW4gPHNwYW4gY2xhc3M9XCJheC10ZXh0LWRhbmdlci01MDBcIj5BbGxvd2VkPC9zcGFuPiBhbmRcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImF4LXRleHQtc3VjY2Vzcy01MDBcIj5EZW5pZWQ8L3NwYW4+LlxuICAgICAgICA8L3A+XG4gICAgICA8L2Rpdj5cbiAgICAgIDwhLS0tLS0tLS0tLS0tLS0tLSBNYXRyaXggVGFibGUgLS0tLS0tLS0tLS0tLS0tLT5cbiAgICAgIDxkaXYgY2xhc3M9XCJheC13LWZ1bGwgYXgtb3ZlcmZsb3ctYXV0b1wiPlxuICAgICAgICA8dGFibGUgY2xhc3M9XCJheC10YWJsZS1hdXRvIGF4LWJvcmRlci1jb2xsYXBzZSBheC1tYXgtdy1maXQgYXgtYm9yZGVyLXN1cmZhY2UgYXgtcm91bmRlZC1tZFwiPlxuICAgICAgICAgIDx0aGVhZD5cbiAgICAgICAgICAgIDx0ciBjbGFzcz1cImF4LWRhcmstc3VyZmFjZVwiPlxuICAgICAgICAgICAgICA8IS0tIFRvcC1sZWZ0IGVtcHR5IGNlbGwgLS0+XG4gICAgICAgICAgICAgIDx0aCBjbGFzcz1cImF4LWJvcmRlciBheC1kYXJrLXN1cmZhY2UgYXgtcC00IGF4LWZvbnQtc2VtaWJvbGQgYXgtdGV4dC1zdGFydFwiPlBhcmVudCBcXCBDaGlsZDwvdGg+XG4gICAgICAgICAgICAgIDwhLS0gSG9yaXpvbnRhbCBoZWFkZXJzIC0tPlxuICAgICAgICAgICAgICBAZm9yICggdHlwZSBvZiBjaGFydFNlcnZpY2UudHlwZXM7IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgICAgICA8dGggY2xhc3M9XCJheC1ib3JkZXIgYXgtZGFyay1zdXJmYWNlIGF4LXAtNCBheC1taW4tdy0zMiBheC10ZXh0LWNlbnRlciBheC1mb250LXNlbWlib2xkXCI+e3sgdHlwZSB9fTwvdGg+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgPC90aGVhZD5cbiAgICAgICAgICA8dGJvZHk+XG4gICAgICAgICAgICA8IS0tIEZvciBlYWNoIHBhcmVudCB0eXBlLCByZW5kZXIgYSByb3cgd2l0aCBhbHRlcm5hdGluZyBiYWNrZ3JvdW5kcyAtLT5cbiAgICAgICAgICAgIEBmb3IgKCBwYXJlbnQgb2YgY2hhcnRTZXJ2aWNlLnR5cGVzOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgICAgPCEtLSBWZXJ0aWNhbCBoZWFkZXIgY2VsbCB3aXRoIGN1c3RvbSBoZWFkZXIgY29sb3JzIC0tPlxuICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJheC1ib3JkZXIgYXgtZGFyay1zdXJmYWNlIGF4LXAtNCBheC1mb250LXNlbWlib2xkIGF4LXRleHQtc3RhcnRcIj57eyBwYXJlbnQgfX08L3RkPlxuICAgICAgICAgICAgICA8IS0tIFJlbmRlciBhIGNlbGwgZm9yIGVhY2ggcG90ZW50aWFsIGNoaWxkIHR5cGUgLS0+XG4gICAgICAgICAgICAgIEBmb3IgKCBjaGlsZCBvZiBjaGFydFNlcnZpY2UudHlwZXM7IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJheC1ib3JkZXIgYXgtbGlnaHRlc3Qtc3VyZmFjZSBheC1ib3JkZXItc3VyZmFjZSBheC1wLTJcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtZmxleCBheC1qdXN0aWZ5LWNlbnRlciBheC1jdXJzb3ItcG9pbnRlciBheC1zbVwiPlxuICAgICAgICAgICAgICAgICAgQGxldCBpc0xvYWRpbmcgPSBsb2FkaW5nU3RhdGVzKClbcGFyZW50XT8uW2NoaWxkXTtcbiAgICAgICAgICAgICAgICAgIDxheC1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgbG9vaz1cImJsYW5rXCJcbiAgICAgICAgICAgICAgICAgICAgW2NvbG9yXT1cImNoYXJ0U2VydmljZS5pc0FsbG93ZWQocGFyZW50LCBjaGlsZCkgPyAnc3VjY2VzcycgOiAnZGFuZ2VyJ1wiXG4gICAgICAgICAgICAgICAgICAgIFt0ZXh0XT1cImNoYXJ0U2VydmljZS5pc0FsbG93ZWQocGFyZW50LCBjaGlsZCkgPyAnQWxsb3dlZCcgOiAnRGVuaWVkJ1wiXG4gICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJpc0xvYWRpbmdcIlxuICAgICAgICAgICAgICAgICAgICAob25DbGljayk9XCJ0b2dnbGVQZXJtaXNzaW9uKHBhcmVudCwgY2hpbGQpXCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgQGlmKGlzTG9hZGluZykge1xuICAgICAgICAgICAgICAgICAgICA8YXgtbG9hZGluZz48L2F4LWxvYWRpbmc+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIDwvYXgtYnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvdGJvZHk+XG4gICAgICAgIDwvdGFibGU+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXY+XG4gICAgICAgIDxheC1hbGVydCBbY29sb3JdPVwiJ3dhcm5pbmcnXCIgY2xhc3M9XCJheC1tYXgtdy1maXRcIj5cbiAgICAgICAgICA8YXgtaWNvbj48L2F4LWljb24+XG4gICAgICAgICAgPGF4LXRpdGxlPkF0dGVudGlvbjwvYXgtdGl0bGU+XG4gICAgICAgICAgPGF4LWNvbnRlbnQ+XG4gICAgICAgICAgICBDaGFuZ2VzIG1hZGUgaGVyZSB3aWxsIG5vdCB1cGRhdGUgeW91ciBjdXJyZW50IG9yZ2FuaXphdGlvbiBjaGFydC4gVGhleSB3aWxsIG9ubHkgYWZmZWN0IGZ1dHVyZSBjaGFydHMgb3JcbiAgICAgICAgICAgIHVwZGF0ZXMuXG4gICAgICAgICAgPC9heC1jb250ZW50PlxuICAgICAgICA8L2F4LWFsZXJ0PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvYXhwLXBhZ2UtY29udGVudD5cbjwvYXhwLXBhZ2UtbGF5b3V0PlxuIl19"],"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.0.
|
140
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.
|
139
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: AXMOrgChartConfigService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
140
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: AXMOrgChartConfigService }); }
|
141
141
|
}
|
142
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.
|
142
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", 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-BSO0GrAW.mjs.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"acorex-modules-organization-management-org-chart-configuration.service-DeoDX_ir.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());\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.0.4\", ngImport: i0, type: AXMOrgChartConfigService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXMOrgChartConfigService }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXMOrgChartConfigService, decorators: [{\n type: Injectable\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JnLWNoYXJ0LWNvbmZpZ3VyYXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9vcmdhbml6YXRpb24tbWFuYWdlbWVudC9zcmMvbGliL2ZlYXR1cmVzL29yZ2FuaXphdGlvbi1jaGFydC9vcmctY2hhcnQtY29uZmlndXJhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsdUNBQXVDLEVBQTZCLE1BQU0sa0JBQWtCLENBQUM7O0FBTXRHLE1BQU0sT0FBTyx3QkFBd0I7SUFEckM7UUFHcUIsbUJBQWMsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUM1RCxFQUFFO1FBQ1EsV0FBTSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsdUNBQXVDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7UUFNdkYsNkJBQXdCLEdBQUcsbUZBQW1GLENBQUM7UUFFaEgsZ0JBQVcsR0FBRyxNQUFNLENBQTRCLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLENBQUM7S0E4SXJGO0lBcEpHLElBQVcsS0FBSztRQUNaLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUN2QixDQUFDO0lBT08sa0JBQWtCO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsd0JB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YUFDOUIsR0FBRyxDQUFDLHNCQUFzQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRTNDLG1FQUFtRTtRQUNuRSxJQUFJLFdBQVcsRUFBRSxDQUFDO1lBQ2QsTUFBTSxvQkFBb0IsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDcEUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUMvQyxDQUFDO2FBQU0sQ0FBQztZQUNKLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLENBQUM7UUFDcEQsQ0FBQztJQUNMLENBQUM7SUFFTSxLQUFLLENBQUMsTUFBTTtRQUNmLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7UUFDL0MsTUFBTSxJQUFJLENBQUMsY0FBYzthQUNwQixLQUFLLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDO2FBQzlCLEdBQUcsQ0FBQyxzQkFBc0IsQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDdkQsQ0FBQzs4R0F4SlEsd0JBQXdCO2tIQUF4Qix3QkFBd0I7OzJGQUF4Qix3QkFBd0I7a0JBRHBDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhQU2V0dGluZ1NlcnZpY2UgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvbW1vbic7XG5pbXBvcnQgeyBBWFBQbGF0Zm9ybVNjb3BlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb3JlJztcbmltcG9ydCB7IEFYUE9yZ2FuaXphdGlvblNldHRpbmcgfSBmcm9tICcuLi8uLi9zZXR0aW5ncy5rZXlzJztcbmltcG9ydCB7IEFYTV9PUkdfQ0hBUlRfTk9ERV9UWVBFX0VOVElUWV9NQVBQSU5HUywgQVhNT3JnQ2hhcnROb2RlUGVybWlzc2lvbiB9IGZyb20gJy4vb3JnLWNoYXJ0LnR5cGUnO1xuXG5cblxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQVhNT3JnQ2hhcnRDb25maWdTZXJ2aWNlIHtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2V0dGluZ1NlcnZpY2UgPSBpbmplY3QoQVhQU2V0dGluZ1NlcnZpY2UpO1xuICAgIC8vXG4gICAgcHJvdGVjdGVkIF90eXBlcyA9IE9iamVjdC5lbnRyaWVzKEFYTV9PUkdfQ0hBUlRfTk9ERV9UWVBFX0VOVElUWV9NQVBQSU5HUykubWFwKGMgPT4gY1sxXS50eXBlKTtcblxuICAgIHB1YmxpYyBnZXQgdHlwZXMoKTogc3RyaW5nW10ge1xuICAgICAgICByZXR1cm4gdGhpcy5fdHlwZXM7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZGVmYXVsdFBlcm1pc3Npb0VuY29kZWQgPSAnMDExMTExMTAwMDAxMDExMTAwMDAwMTExMTAwMDAwMDExMTAwMDExMTExMTEwMDExMTExMTEwMDExMTExMTEwMDAwMDAwMDExMDAwMDAwMDAwJztcblxuICAgIHB1YmxpYyBwZXJtaXNzaW9ucyA9IHNpZ25hbDxBWE1PcmdDaGFydE5vZGVQZXJtaXNzaW9uPih0aGlzLmRlZmF1bHRQZXJtaXNzaW9ucygpKTtcblxuXG4gICAgcHJpdmF0ZSBkZWZhdWx0UGVybWlzc2lvbnMoKTogQVhNT3JnQ2hhcnROb2RlUGVybWlzc2lvbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmRlY29kZSh0aGlzLl9kZWZhdWx0UGVybWlzc2lvRW5jb2RlZCk7XG4gICAgfVxuXG5cbiAgICBwcml2YXRlIGVuY29kZShcbiAgICAgICAgcGVybWlzc2lvbnM6IEFYTU9yZ0NoYXJ0Tm9kZVBlcm1pc3Npb25cbiAgICApOiBzdHJpbmcge1xuICAgICAgICBsZXQgc3RyID0gJyc7XG4gICAgICAgIGZvciAoY29uc3QgcGFyZW50IG9mIHRoaXMudHlwZXMpIHtcbiAgICAgICAgICAgIGZvciAoY29uc3QgY2hpbGQgb2YgdGhpcy50eXBlcykge1xuICAgICAgICAgICAgICAgIHN0ciArPSAocGVybWlzc2lvbnNbcGFyZW50XT8uW2NoaWxkXSA/PyAwKS50b1N0cmluZygpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBzdHI7XG4gICAgfVxuXG5cbiAgICBwcml2YXRlIGRlY29kZShlbmNvZGVkOiBzdHJpbmcpOiBBWE1PcmdDaGFydE5vZGVQZXJtaXNzaW9uIHtcbiAgICAgICAgY29uc3QgcmVzdWx0OiBBWE1PcmdDaGFydE5vZGVQZXJtaXNzaW9uID0ge307XG4gICAgICAgIGNvbnN0IGV4cGVjdGVkTGVuZ3RoID0gdGhpcy50eXBlcy5sZW5ndGggKiB0aGlzLnR5cGVzLmxlbmd0aDtcbiAgICAgICAgaWYgKGVuY29kZWQubGVuZ3RoICE9PSBleHBlY3RlZExlbmd0aCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHBlcm1pc3Npb25zIHN0cmluZyBsZW5ndGguIEV4cGVjdGVkICR7ZXhwZWN0ZWRMZW5ndGh9IGJ1dCBnb3QgJHtlbmNvZGVkLmxlbmd0aH1gKTtcbiAgICAgICAgfVxuICAgICAgICBsZXQgaW5kZXggPSAwO1xuICAgICAgICBmb3IgKGNvbnN0IHBhcmVudCBvZiB0aGlzLnR5cGVzKSB7XG4gICAgICAgICAgICByZXN1bHRbcGFyZW50XSA9IHt9O1xuICAgICAgICAgICAgZm9yIChjb25zdCBjaGlsZCBvZiB0aGlzLnR5cGVzKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgY2hhciA9IGVuY29kZWQuY2hhckF0KGluZGV4KTtcbiAgICAgICAgICAgICAgICByZXN1bHRbcGFyZW50XVtjaGlsZF0gPSBwYXJzZUludChjaGFyLCAxMCk7XG4gICAgICAgICAgICAgICAgaW5kZXgrKztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuXG4gICAgcHJpdmF0ZSBkZWNvZGVNYXRyaXgobWF0cml4OiBudW1iZXJbXVtdKTogQVhNT3JnQ2hhcnROb2RlUGVybWlzc2lvbiB7XG4gICAgICAgIGNvbnN0IG5ld1Blcm1pc3Npb25zOiBBWE1PcmdDaGFydE5vZGVQZXJtaXNzaW9uID0ge307XG4gICAgICAgIHRoaXMudHlwZXMuZm9yRWFjaCgocGFyZW50LCByb3dJbmRleCkgPT4ge1xuICAgICAgICAgICAgbmV3UGVybWlzc2lvbnNbcGFyZW50XSA9IHt9O1xuICAgICAgICAgICAgdGhpcy50eXBlcy5mb3JFYWNoKChjaGlsZCwgY29sSW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgICBuZXdQZXJtaXNzaW9uc1twYXJlbnRdW2NoaWxkXSA9IG1hdHJpeFtyb3dJbmRleF1bY29sSW5kZXhdO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gbmV3UGVybWlzc2lvbnM7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB2YWxpZGF0ZUVuY29kZWRWYWx1ZShzdG9yZWRWYWx1ZTogdW5rbm93bik6IEFYTU9yZ0NoYXJ0Tm9kZVBlcm1pc3Npb24ge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgaWYgKHR5cGVvZiBzdG9yZWRWYWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBleHBlY3RlZExlbmd0aCA9IHRoaXMudHlwZXMubGVuZ3RoICogdGhpcy50eXBlcy5sZW5ndGg7XG4gICAgICAgICAgICAgICAgLy8gQ2hlY2sgdGhhdCB0aGUgc3RyaW5nIGlzIHRoZSBjb3JyZWN0IGxlbmd0aCBhbmQgb25seSBjb250YWlucyAwcyBhbmQgMXMuXG4gICAgICAgICAgICAgICAgaWYgKHN0b3JlZFZhbHVlLmxlbmd0aCA9PT0gZXhwZWN0ZWRMZW5ndGggJiYgL15bMDFdKyQvLnRlc3Qoc3RvcmVkVmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmRlY29kZShzdG9yZWRWYWx1ZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KHN0b3JlZFZhbHVlKSkge1xuICAgICAgICAgICAgICAgIC8vIFZhbGlkYXRlIHRoZSAyRCBhcnJheSBkaW1lbnNpb25zIGFuZCB2YWx1ZXMuXG4gICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICBzdG9yZWRWYWx1ZS5sZW5ndGggPT09IHRoaXMudHlwZXMubGVuZ3RoICYmXG4gICAgICAgICAgICAgICAgICAgIHN0b3JlZFZhbHVlLmV2ZXJ5KFxuICAgICAgICAgICAgICAgICAgICAgICAgcm93ID0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQXJyYXkuaXNBcnJheShyb3cpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcm93Lmxlbmd0aCA9PT0gdGhpcy50eXBlcy5sZW5ndGggJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByb3cuZXZlcnkodmFsID0+IHZhbCA9PT0gMCB8fCB2YWwgPT09IDEpXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZGVjb2RlTWF0cml4KHN0b3JlZFZhbHVlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiBzdG9yZWRWYWx1ZSA9PT0gJ29iamVjdCcgJiYgc3RvcmVkVmFsdWUgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAvLyBWYWxpZGF0ZSB0aGF0IHRoZSBvYmplY3QgaGFzIGFsbCB0aGUgcmVxdWlyZWQga2V5cyBhbmQgdGhhdCB0aGVpciB2YWx1ZXMgYXJlIDAgb3IgMS5cbiAgICAgICAgICAgICAgICBsZXQgdmFsaWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIGZvciAoY29uc3QgcGFyZW50IG9mIHRoaXMudHlwZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCEocGFyZW50IGluIHN0b3JlZFZhbHVlKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFsaWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoaWxkUGVybWlzc2lvbnMgPSAoc3RvcmVkVmFsdWUgYXMgYW55KVtwYXJlbnRdO1xuICAgICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGNoaWxkIG9mIHRoaXMudHlwZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghKGNoaWxkIGluIGNoaWxkUGVybWlzc2lvbnMpIHx8IChjaGlsZFBlcm1pc3Npb25zW2NoaWxkXSAhPT0gMCAmJiBjaGlsZFBlcm1pc3Npb25zW2NoaWxkXSAhPT0gMSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWxpZCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGlmICghdmFsaWQpIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAodmFsaWQpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHN0b3JlZFZhbHVlIGFzIEFYTU9yZ0NoYXJ0Tm9kZVBlcm1pc3Npb247XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgLy8gSW4gY2FzZSBvZiBhbnkgZXJyb3JzIGR1cmluZyB2YWxpZGF0aW9uLCBmYWxsIGJhY2sgdG8gZGVmYXVsdCBwZXJtaXNzaW9ucy5cbiAgICAgICAgfVxuICAgICAgICAvLyBSZXR1cm4gdGhlIGRlZmF1bHQgcGVybWlzc2lvbnMgaWYgdmFsaWRhdGlvbiBmYWlscy5cbiAgICAgICAgcmV0dXJuIHRoaXMuZGVmYXVsdFBlcm1pc3Npb25zKCk7XG4gICAgfVxuXG5cbiAgICBwdWJsaWMgaXNBbGxvd2VkKHBhcmVudDogc3RyaW5nLCBjaGlsZDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAodGhpcy5wZXJtaXNzaW9ucygpW3BhcmVudF0/LltjaGlsZF0gPz8gMCkgPT09IDE7XG4gICAgfVxuXG5cbiAgICBwdWJsaWMgc2V0KHBhcmVudDogc3RyaW5nLCBjaGlsZDogc3RyaW5nLCB2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLnBlcm1pc3Npb25zLnVwZGF0ZSgocCkgPT4ge1xuICAgICAgICAgICAgaWYgKCFwW3BhcmVudF0pIHtcbiAgICAgICAgICAgICAgICBwW3BhcmVudF0gPSB7fTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHBbcGFyZW50XVtjaGlsZF0gPSB2YWx1ZSA/IDEgOiAwO1xuICAgICAgICAgICAgcmV0dXJuIHA7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQocGFyZW50OiBzdHJpbmcsIGNoaWxkOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucGVybWlzc2lvbnMoKVtwYXJlbnRdPy5bY2hpbGRdID09PSAxO1xuICAgIH1cblxuXG4gICAgcHVibGljIGFzeW5jIGxvYWQoKSB7XG4gICAgICAgIGNvbnN0IHN0b3JlZFZhbHVlID0gYXdhaXQgdGhpcy5zZXR0aW5nU2VydmljZVxuICAgICAgICAgICAgLnNjb3BlKEFYUFBsYXRmb3JtU2NvcGUuVGVuYW50KVxuICAgICAgICAgICAgLmdldChBWFBPcmdhbml6YXRpb25TZXR0aW5nLlJlbGF0aW9ucyk7XG5cbiAgICAgICAgLy8gVXNlIHRoZSB2YWxpZGF0aW9uIG1ldGhvZCB0byBlbnN1cmUgdGhlIHN0b3JlZCB2YWx1ZSBpcyBjb3JyZWN0LlxuICAgICAgICBpZiAoc3RvcmVkVmFsdWUpIHtcbiAgICAgICAgICAgIGNvbnN0IHZhbGlkYXRlZFBlcm1pc3Npb25zID0gdGhpcy52YWxpZGF0ZUVuY29kZWRWYWx1ZShzdG9yZWRWYWx1ZSk7XG4gICAgICAgICAgICB0aGlzLnBlcm1pc3Npb25zLnNldCh2YWxpZGF0ZWRQZXJtaXNzaW9ucyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnBlcm1pc3Npb25zLnNldCh0aGlzLmRlZmF1bHRQZXJtaXNzaW9ucygpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyB1cGRhdGUoKSB7XG4gICAgICAgIGNvbnN0IG1hdHJpeCA9IHRoaXMuZW5jb2RlKHRoaXMucGVybWlzc2lvbnMoKSk7XG4gICAgICAgIGF3YWl0IHRoaXMuc2V0dGluZ1NlcnZpY2VcbiAgICAgICAgICAgIC5zY29wZShBWFBQbGF0Zm9ybVNjb3BlLlRlbmFudClcbiAgICAgICAgICAgIC5zZXQoQVhQT3JnYW5pemF0aW9uU2V0dGluZy5SZWxhdGlvbnMsIG1hdHJpeCk7XG4gICAgfVxuXG59XG4iXX0="],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"acorex-modules-organization-management-org-chart-configuration.service-BSO0GrAW.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());\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.0.6\", ngImport: i0, type: AXMOrgChartConfigService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.6\", ngImport: i0, type: AXMOrgChartConfigService }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.6\", ngImport: i0, type: AXMOrgChartConfigService, decorators: [{\n type: Injectable\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JnLWNoYXJ0LWNvbmZpZ3VyYXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9vcmdhbml6YXRpb24tbWFuYWdlbWVudC9zcmMvbGliL2ZlYXR1cmVzL29yZ2FuaXphdGlvbi1jaGFydC9vcmctY2hhcnQtY29uZmlndXJhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsdUNBQXVDLEVBQTZCLE1BQU0sa0JBQWtCLENBQUM7O0FBTXRHLE1BQU0sT0FBTyx3QkFBd0I7SUFEckM7UUFHcUIsbUJBQWMsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUM1RCxFQUFFO1FBQ1EsV0FBTSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsdUNBQXVDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7UUFNdkYsNkJBQXdCLEdBQUcsbUZBQW1GLENBQUM7UUFFaEgsZ0JBQVcsR0FBRyxNQUFNLENBQTRCLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLENBQUM7S0E4SXJGO0lBcEpHLElBQVcsS0FBSztRQUNaLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUN2QixDQUFDO0lBT08sa0JBQWtCO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsd0JB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YUFDOUIsR0FBRyxDQUFDLHNCQUFzQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRTNDLG1FQUFtRTtRQUNuRSxJQUFJLFdBQVcsRUFBRSxDQUFDO1lBQ2QsTUFBTSxvQkFBb0IsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDcEUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUMvQyxDQUFDO2FBQU0sQ0FBQztZQUNKLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLENBQUM7UUFDcEQsQ0FBQztJQUNMLENBQUM7SUFFTSxLQUFLLENBQUMsTUFBTTtRQUNmLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7UUFDL0MsTUFBTSxJQUFJLENBQUMsY0FBYzthQUNwQixLQUFLLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDO2FBQzlCLEdBQUcsQ0FBQyxzQkFBc0IsQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDdkQsQ0FBQzs4R0F4SlEsd0JBQXdCO2tIQUF4Qix3QkFBd0I7OzJGQUF4Qix3QkFBd0I7a0JBRHBDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhQU2V0dGluZ1NlcnZpY2UgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvbW1vbic7XG5pbXBvcnQgeyBBWFBQbGF0Zm9ybVNjb3BlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb3JlJztcbmltcG9ydCB7IEFYUE9yZ2FuaXphdGlvblNldHRpbmcgfSBmcm9tICcuLi8uLi9zZXR0aW5ncy5rZXlzJztcbmltcG9ydCB7IEFYTV9PUkdfQ0hBUlRfTk9ERV9UWVBFX0VOVElUWV9NQVBQSU5HUywgQVhNT3JnQ2hhcnROb2RlUGVybWlzc2lvbiB9IGZyb20gJy4vb3JnLWNoYXJ0LnR5cGUnO1xuXG5cblxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQVhNT3JnQ2hhcnRDb25maWdTZXJ2aWNlIHtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2V0dGluZ1NlcnZpY2UgPSBpbmplY3QoQVhQU2V0dGluZ1NlcnZpY2UpO1xuICAgIC8vXG4gICAgcHJvdGVjdGVkIF90eXBlcyA9IE9iamVjdC5lbnRyaWVzKEFYTV9PUkdfQ0hBUlRfTk9ERV9UWVBFX0VOVElUWV9NQVBQSU5HUykubWFwKGMgPT4gY1sxXS50eXBlKTtcblxuICAgIHB1YmxpYyBnZXQgdHlwZXMoKTogc3RyaW5nW10ge1xuICAgICAgICByZXR1cm4gdGhpcy5fdHlwZXM7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZGVmYXVsdFBlcm1pc3Npb0VuY29kZWQgPSAnMDExMTExMTAwMDAxMDExMTAwMDAwMTExMTAwMDAwMDExMTAwMDExMTExMTEwMDExMTExMTEwMDExMTExMTEwMDAwMDAwMDExMDAwMDAwMDAwJztcblxuICAgIHB1YmxpYyBwZXJtaXNzaW9ucyA9IHNpZ25hbDxBWE1PcmdDaGFydE5vZGVQZXJtaXNzaW9uPih0aGlzLmRlZmF1bHRQZXJtaXNzaW9ucygpKTtcblxuXG4gICAgcHJpdmF0ZSBkZWZhdWx0UGVybWlzc2lvbnMoKTogQVhNT3JnQ2hhcnROb2RlUGVybWlzc2lvbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmRlY29kZSh0aGlzLl9kZWZhdWx0UGVybWlzc2lvRW5jb2RlZCk7XG4gICAgfVxuXG5cbiAgICBwcml2YXRlIGVuY29kZShcbiAgICAgICAgcGVybWlzc2lvbnM6IEFYTU9yZ0NoYXJ0Tm9kZVBlcm1pc3Npb25cbiAgICApOiBzdHJpbmcge1xuICAgICAgICBsZXQgc3RyID0gJyc7XG4gICAgICAgIGZvciAoY29uc3QgcGFyZW50IG9mIHRoaXMudHlwZXMpIHtcbiAgICAgICAgICAgIGZvciAoY29uc3QgY2hpbGQgb2YgdGhpcy50eXBlcykge1xuICAgICAgICAgICAgICAgIHN0ciArPSAocGVybWlzc2lvbnNbcGFyZW50XT8uW2NoaWxkXSA/PyAwKS50b1N0cmluZygpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBzdHI7XG4gICAgfVxuXG5cbiAgICBwcml2YXRlIGRlY29kZShlbmNvZGVkOiBzdHJpbmcpOiBBWE1PcmdDaGFydE5vZGVQZXJtaXNzaW9uIHtcbiAgICAgICAgY29uc3QgcmVzdWx0OiBBWE1PcmdDaGFydE5vZGVQZXJtaXNzaW9uID0ge307XG4gICAgICAgIGNvbnN0IGV4cGVjdGVkTGVuZ3RoID0gdGhpcy50eXBlcy5sZW5ndGggKiB0aGlzLnR5cGVzLmxlbmd0aDtcbiAgICAgICAgaWYgKGVuY29kZWQubGVuZ3RoICE9PSBleHBlY3RlZExlbmd0aCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHBlcm1pc3Npb25zIHN0cmluZyBsZW5ndGguIEV4cGVjdGVkICR7ZXhwZWN0ZWRMZW5ndGh9IGJ1dCBnb3QgJHtlbmNvZGVkLmxlbmd0aH1gKTtcbiAgICAgICAgfVxuICAgICAgICBsZXQgaW5kZXggPSAwO1xuICAgICAgICBmb3IgKGNvbnN0IHBhcmVudCBvZiB0aGlzLnR5cGVzKSB7XG4gICAgICAgICAgICByZXN1bHRbcGFyZW50XSA9IHt9O1xuICAgICAgICAgICAgZm9yIChjb25zdCBjaGlsZCBvZiB0aGlzLnR5cGVzKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgY2hhciA9IGVuY29kZWQuY2hhckF0KGluZGV4KTtcbiAgICAgICAgICAgICAgICByZXN1bHRbcGFyZW50XVtjaGlsZF0gPSBwYXJzZUludChjaGFyLCAxMCk7XG4gICAgICAgICAgICAgICAgaW5kZXgrKztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuXG4gICAgcHJpdmF0ZSBkZWNvZGVNYXRyaXgobWF0cml4OiBudW1iZXJbXVtdKTogQVhNT3JnQ2hhcnROb2RlUGVybWlzc2lvbiB7XG4gICAgICAgIGNvbnN0IG5ld1Blcm1pc3Npb25zOiBBWE1PcmdDaGFydE5vZGVQZXJtaXNzaW9uID0ge307XG4gICAgICAgIHRoaXMudHlwZXMuZm9yRWFjaCgocGFyZW50LCByb3dJbmRleCkgPT4ge1xuICAgICAgICAgICAgbmV3UGVybWlzc2lvbnNbcGFyZW50XSA9IHt9O1xuICAgICAgICAgICAgdGhpcy50eXBlcy5mb3JFYWNoKChjaGlsZCwgY29sSW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgICBuZXdQZXJtaXNzaW9uc1twYXJlbnRdW2NoaWxkXSA9IG1hdHJpeFtyb3dJbmRleF1bY29sSW5kZXhdO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gbmV3UGVybWlzc2lvbnM7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB2YWxpZGF0ZUVuY29kZWRWYWx1ZShzdG9yZWRWYWx1ZTogdW5rbm93bik6IEFYTU9yZ0NoYXJ0Tm9kZVBlcm1pc3Npb24ge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgaWYgKHR5cGVvZiBzdG9yZWRWYWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBleHBlY3RlZExlbmd0aCA9IHRoaXMudHlwZXMubGVuZ3RoICogdGhpcy50eXBlcy5sZW5ndGg7XG4gICAgICAgICAgICAgICAgLy8gQ2hlY2sgdGhhdCB0aGUgc3RyaW5nIGlzIHRoZSBjb3JyZWN0IGxlbmd0aCBhbmQgb25seSBjb250YWlucyAwcyBhbmQgMXMuXG4gICAgICAgICAgICAgICAgaWYgKHN0b3JlZFZhbHVlLmxlbmd0aCA9PT0gZXhwZWN0ZWRMZW5ndGggJiYgL15bMDFdKyQvLnRlc3Qoc3RvcmVkVmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmRlY29kZShzdG9yZWRWYWx1ZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KHN0b3JlZFZhbHVlKSkge1xuICAgICAgICAgICAgICAgIC8vIFZhbGlkYXRlIHRoZSAyRCBhcnJheSBkaW1lbnNpb25zIGFuZCB2YWx1ZXMuXG4gICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICBzdG9yZWRWYWx1ZS5sZW5ndGggPT09IHRoaXMudHlwZXMubGVuZ3RoICYmXG4gICAgICAgICAgICAgICAgICAgIHN0b3JlZFZhbHVlLmV2ZXJ5KFxuICAgICAgICAgICAgICAgICAgICAgICAgcm93ID0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQXJyYXkuaXNBcnJheShyb3cpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcm93Lmxlbmd0aCA9PT0gdGhpcy50eXBlcy5sZW5ndGggJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByb3cuZXZlcnkodmFsID0+IHZhbCA9PT0gMCB8fCB2YWwgPT09IDEpXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZGVjb2RlTWF0cml4KHN0b3JlZFZhbHVlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiBzdG9yZWRWYWx1ZSA9PT0gJ29iamVjdCcgJiYgc3RvcmVkVmFsdWUgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAvLyBWYWxpZGF0ZSB0aGF0IHRoZSBvYmplY3QgaGFzIGFsbCB0aGUgcmVxdWlyZWQga2V5cyBhbmQgdGhhdCB0aGVpciB2YWx1ZXMgYXJlIDAgb3IgMS5cbiAgICAgICAgICAgICAgICBsZXQgdmFsaWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIGZvciAoY29uc3QgcGFyZW50IG9mIHRoaXMudHlwZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCEocGFyZW50IGluIHN0b3JlZFZhbHVlKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFsaWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoaWxkUGVybWlzc2lvbnMgPSAoc3RvcmVkVmFsdWUgYXMgYW55KVtwYXJlbnRdO1xuICAgICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGNoaWxkIG9mIHRoaXMudHlwZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghKGNoaWxkIGluIGNoaWxkUGVybWlzc2lvbnMpIHx8IChjaGlsZFBlcm1pc3Npb25zW2NoaWxkXSAhPT0gMCAmJiBjaGlsZFBlcm1pc3Npb25zW2NoaWxkXSAhPT0gMSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWxpZCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGlmICghdmFsaWQpIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAodmFsaWQpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHN0b3JlZFZhbHVlIGFzIEFYTU9yZ0NoYXJ0Tm9kZVBlcm1pc3Npb247XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgLy8gSW4gY2FzZSBvZiBhbnkgZXJyb3JzIGR1cmluZyB2YWxpZGF0aW9uLCBmYWxsIGJhY2sgdG8gZGVmYXVsdCBwZXJtaXNzaW9ucy5cbiAgICAgICAgfVxuICAgICAgICAvLyBSZXR1cm4gdGhlIGRlZmF1bHQgcGVybWlzc2lvbnMgaWYgdmFsaWRhdGlvbiBmYWlscy5cbiAgICAgICAgcmV0dXJuIHRoaXMuZGVmYXVsdFBlcm1pc3Npb25zKCk7XG4gICAgfVxuXG5cbiAgICBwdWJsaWMgaXNBbGxvd2VkKHBhcmVudDogc3RyaW5nLCBjaGlsZDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAodGhpcy5wZXJtaXNzaW9ucygpW3BhcmVudF0/LltjaGlsZF0gPz8gMCkgPT09IDE7XG4gICAgfVxuXG5cbiAgICBwdWJsaWMgc2V0KHBhcmVudDogc3RyaW5nLCBjaGlsZDogc3RyaW5nLCB2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLnBlcm1pc3Npb25zLnVwZGF0ZSgocCkgPT4ge1xuICAgICAgICAgICAgaWYgKCFwW3BhcmVudF0pIHtcbiAgICAgICAgICAgICAgICBwW3BhcmVudF0gPSB7fTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHBbcGFyZW50XVtjaGlsZF0gPSB2YWx1ZSA/IDEgOiAwO1xuICAgICAgICAgICAgcmV0dXJuIHA7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQocGFyZW50OiBzdHJpbmcsIGNoaWxkOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucGVybWlzc2lvbnMoKVtwYXJlbnRdPy5bY2hpbGRdID09PSAxO1xuICAgIH1cblxuXG4gICAgcHVibGljIGFzeW5jIGxvYWQoKSB7XG4gICAgICAgIGNvbnN0IHN0b3JlZFZhbHVlID0gYXdhaXQgdGhpcy5zZXR0aW5nU2VydmljZVxuICAgICAgICAgICAgLnNjb3BlKEFYUFBsYXRmb3JtU2NvcGUuVGVuYW50KVxuICAgICAgICAgICAgLmdldChBWFBPcmdhbml6YXRpb25TZXR0aW5nLlJlbGF0aW9ucyk7XG5cbiAgICAgICAgLy8gVXNlIHRoZSB2YWxpZGF0aW9uIG1ldGhvZCB0byBlbnN1cmUgdGhlIHN0b3JlZCB2YWx1ZSBpcyBjb3JyZWN0LlxuICAgICAgICBpZiAoc3RvcmVkVmFsdWUpIHtcbiAgICAgICAgICAgIGNvbnN0IHZhbGlkYXRlZFBlcm1pc3Npb25zID0gdGhpcy52YWxpZGF0ZUVuY29kZWRWYWx1ZShzdG9yZWRWYWx1ZSk7XG4gICAgICAgICAgICB0aGlzLnBlcm1pc3Npb25zLnNldCh2YWxpZGF0ZWRQZXJtaXNzaW9ucyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnBlcm1pc3Npb25zLnNldCh0aGlzLmRlZmF1bHRQZXJtaXNzaW9ucygpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyB1cGRhdGUoKSB7XG4gICAgICAgIGNvbnN0IG1hdHJpeCA9IHRoaXMuZW5jb2RlKHRoaXMucGVybWlzc2lvbnMoKSk7XG4gICAgICAgIGF3YWl0IHRoaXMuc2V0dGluZ1NlcnZpY2VcbiAgICAgICAgICAgIC5zY29wZShBWFBQbGF0Zm9ybVNjb3BlLlRlbmFudClcbiAgICAgICAgICAgIC5zZXQoQVhQT3JnYW5pemF0aW9uU2V0dGluZy5SZWxhdGlvbnMsIG1hdHJpeCk7XG4gICAgfVxuXG59XG4iXX0="],"names":[],"mappings":"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"}
|