@acorex/modules 20.2.0-next.2 → 20.2.0-next.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/auth/index.d.ts +1 -0
- package/common/index.d.ts +1 -8
- package/contact-management/index.d.ts +69 -2
- package/conversation/README.md +1 -1
- package/conversation/index.d.ts +180 -121
- package/data-management/index.d.ts +5 -12
- package/document-management/index.d.ts +51 -4
- package/fesm2022/{acorex-modules-application-management-module-designer.component-udoks-Ef.mjs → acorex-modules-application-management-module-designer.component-CsZjqUAj.mjs} +7 -7
- package/fesm2022/{acorex-modules-application-management-module-designer.component-udoks-Ef.mjs.map → acorex-modules-application-management-module-designer.component-CsZjqUAj.mjs.map} +1 -1
- package/fesm2022/acorex-modules-application-management.mjs +41 -41
- package/fesm2022/acorex-modules-application-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-auth-acorex-modules-auth-BxqN76H7.mjs → acorex-modules-auth-acorex-modules-auth-tDyQQDnk.mjs} +50 -49
- package/fesm2022/acorex-modules-auth-acorex-modules-auth-tDyQQDnk.mjs.map +1 -0
- package/fesm2022/{acorex-modules-auth-app-chooser.component-5FbgqbVo.mjs → acorex-modules-auth-app-chooser.component-yu1DJZKN.mjs} +5 -5
- package/fesm2022/{acorex-modules-auth-app-chooser.component-5FbgqbVo.mjs.map → acorex-modules-auth-app-chooser.component-yu1DJZKN.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-blank.layout-C8NsXB9K.mjs → acorex-modules-auth-blank.layout-ZjroQcdq.mjs} +4 -4
- package/fesm2022/{acorex-modules-auth-blank.layout-C8NsXB9K.mjs.map → acorex-modules-auth-blank.layout-ZjroQcdq.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-login.module-CmMM4TpQ.mjs → acorex-modules-auth-login.module-D1aa1F6G.mjs} +8 -8
- package/fesm2022/{acorex-modules-auth-login.module-CmMM4TpQ.mjs.map → acorex-modules-auth-login.module-D1aa1F6G.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-master.layout-eX5-7AeO.mjs → acorex-modules-auth-master.layout-CGQmSlGQ.mjs} +5 -5
- package/fesm2022/{acorex-modules-auth-master.layout-eX5-7AeO.mjs.map → acorex-modules-auth-master.layout-CGQmSlGQ.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-oauth-callback.component-C9s-5c7F.mjs → acorex-modules-auth-oauth-callback.component-m9YiJ4e9.mjs} +5 -5
- package/fesm2022/{acorex-modules-auth-oauth-callback.component-C9s-5c7F.mjs.map → acorex-modules-auth-oauth-callback.component-m9YiJ4e9.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-password.component-CDrYHh1x.mjs → acorex-modules-auth-password.component-Cb3FJ1DZ.mjs} +5 -5
- package/fesm2022/{acorex-modules-auth-password.component-CDrYHh1x.mjs.map → acorex-modules-auth-password.component-Cb3FJ1DZ.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-password.component-r_Lh8oGN.mjs → acorex-modules-auth-password.component-CiWdX7f_.mjs} +5 -5
- package/fesm2022/{acorex-modules-auth-password.component-r_Lh8oGN.mjs.map → acorex-modules-auth-password.component-CiWdX7f_.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-routes-CMdsDZud.mjs → acorex-modules-auth-routes-pae8qpX9.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-routes-CMdsDZud.mjs.map → acorex-modules-auth-routes-pae8qpX9.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-tenant-chooser.component-BdK5T-8X.mjs → acorex-modules-auth-tenant-chooser.component-Bk0l3XoV.mjs} +4 -4
- package/fesm2022/{acorex-modules-auth-tenant-chooser.component-BdK5T-8X.mjs.map → acorex-modules-auth-tenant-chooser.component-Bk0l3XoV.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-two-factor-code.component-DSWd06bn.mjs → acorex-modules-auth-two-factor-code.component-DDEIajiI.mjs} +4 -4
- package/fesm2022/{acorex-modules-auth-two-factor-code.component-DSWd06bn.mjs.map → acorex-modules-auth-two-factor-code.component-DDEIajiI.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-two-factor.module-YV9pDOnB.mjs → acorex-modules-auth-two-factor.module-DtcoHPH4.mjs} +7 -7
- package/fesm2022/{acorex-modules-auth-two-factor.module-YV9pDOnB.mjs.map → acorex-modules-auth-two-factor.module-DtcoHPH4.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-user-sessions.component-KI9dYs78.mjs → acorex-modules-auth-user-sessions.component-sI6P2joA.mjs} +5 -5
- package/fesm2022/{acorex-modules-auth-user-sessions.component-KI9dYs78.mjs.map → acorex-modules-auth-user-sessions.component-sI6P2joA.mjs.map} +1 -1
- package/fesm2022/acorex-modules-auth.mjs +1 -1
- package/fesm2022/acorex-modules-calendar-management.mjs +22 -22
- package/fesm2022/acorex-modules-calendar-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-common-search-popup.component-DbTj01Wz.mjs → acorex-modules-common-search-popup.component-D7Y4T3Rp.mjs} +8 -8
- package/fesm2022/{acorex-modules-common-search-popup.component-DbTj01Wz.mjs.map → acorex-modules-common-search-popup.component-D7Y4T3Rp.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-common-timeline-version-history-popup.component-D_6STmWm.mjs → acorex-modules-common-timeline-version-history-popup.component-ceEtE6qB.mjs} +7 -7
- package/fesm2022/{acorex-modules-common-timeline-version-history-popup.component-D_6STmWm.mjs.map → acorex-modules-common-timeline-version-history-popup.component-ceEtE6qB.mjs.map} +1 -1
- package/fesm2022/acorex-modules-common.mjs +1222 -1
- package/fesm2022/acorex-modules-common.mjs.map +1 -1
- package/fesm2022/{acorex-modules-contact-management-acorex-modules-contact-management-CM72FkGM.mjs → acorex-modules-contact-management-acorex-modules-contact-management-Co0tt3cj.mjs} +281 -54
- package/fesm2022/acorex-modules-contact-management-acorex-modules-contact-management-Co0tt3cj.mjs.map +1 -0
- package/fesm2022/{acorex-modules-contact-management-address-type.entity-CW0fx3v8.mjs → acorex-modules-contact-management-address-type.entity-DQZwgXki.mjs} +2 -2
- package/fesm2022/{acorex-modules-contact-management-address-type.entity-CW0fx3v8.mjs.map → acorex-modules-contact-management-address-type.entity-DQZwgXki.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-contact-management-contact-address.entity-D5OGWsSx.mjs → acorex-modules-contact-management-contact-address.entity-CFfRywsB.mjs} +2 -2
- package/fesm2022/{acorex-modules-contact-management-contact-address.entity-D5OGWsSx.mjs.map → acorex-modules-contact-management-contact-address.entity-CFfRywsB.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-contact-management-contact-method.entity-Cpdd-Xwb.mjs → acorex-modules-contact-management-contact-method.entity-Ci93_mb9.mjs} +2 -2
- package/fesm2022/{acorex-modules-contact-management-contact-method.entity-Cpdd-Xwb.mjs.map → acorex-modules-contact-management-contact-method.entity-Ci93_mb9.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-contact-management-contact-relationship.entity-B_gQ7mEo.mjs → acorex-modules-contact-management-contact-relationship.entity-CqdXpqLN.mjs} +2 -2
- package/fesm2022/{acorex-modules-contact-management-contact-relationship.entity-B_gQ7mEo.mjs.map → acorex-modules-contact-management-contact-relationship.entity-CqdXpqLN.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-contact-management-contact-source.entity-BwYBaS8B.mjs → acorex-modules-contact-management-contact-source.entity-BsF9p0GK.mjs} +2 -2
- package/fesm2022/{acorex-modules-contact-management-contact-source.entity-BwYBaS8B.mjs.map → acorex-modules-contact-management-contact-source.entity-BsF9p0GK.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-contact-management-emergency-contact-category.entity-CDbm4Rq3.mjs → acorex-modules-contact-management-emergency-contact-category.entity-DjOm8qQb.mjs} +2 -2
- package/fesm2022/{acorex-modules-contact-management-emergency-contact-category.entity-CDbm4Rq3.mjs.map → acorex-modules-contact-management-emergency-contact-category.entity-DjOm8qQb.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-contact-management-emergency-contact.entity-BpNDJPVs.mjs → acorex-modules-contact-management-emergency-contact.entity-BQyjzPR8.mjs} +2 -2
- package/fesm2022/{acorex-modules-contact-management-emergency-contact.entity-BpNDJPVs.mjs.map → acorex-modules-contact-management-emergency-contact.entity-BQyjzPR8.mjs.map} +1 -1
- package/fesm2022/acorex-modules-contact-management.mjs +1 -1
- package/fesm2022/acorex-modules-content-management.mjs +14 -36
- package/fesm2022/acorex-modules-content-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-conversation.mjs +1549 -1324
- package/fesm2022/acorex-modules-conversation.mjs.map +1 -1
- package/fesm2022/acorex-modules-dashboard-management.mjs +76 -75
- package/fesm2022/acorex-modules-dashboard-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-data-management.mjs +140 -126
- package/fesm2022/acorex-modules-data-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-document-management-acorex-modules-document-management-C7ot6PfT.mjs → acorex-modules-document-management-acorex-modules-document-management-DXGX-riG.mjs} +1402 -389
- package/fesm2022/acorex-modules-document-management-acorex-modules-document-management-DXGX-riG.mjs.map +1 -0
- package/fesm2022/{acorex-modules-document-management-attachment-widget.component-C6pop0RM.mjs → acorex-modules-document-management-attachment-widget.component-NaY7Mn95.mjs} +5 -5
- package/fesm2022/{acorex-modules-document-management-attachment-widget.component-C6pop0RM.mjs.map → acorex-modules-document-management-attachment-widget.component-NaY7Mn95.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-create-folder-dialog.component-ga7fuY4H.mjs → acorex-modules-document-management-create-folder-dialog.component-epxEuBU5.mjs} +5 -5
- package/fesm2022/{acorex-modules-document-management-create-folder-dialog.component-ga7fuY4H.mjs.map → acorex-modules-document-management-create-folder-dialog.component-epxEuBU5.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-details-view.component-CzTg3hha.mjs → acorex-modules-document-management-details-view.component-CMI2Eokj.mjs} +5 -5
- package/fesm2022/{acorex-modules-document-management-details-view.component-CzTg3hha.mjs.map → acorex-modules-document-management-details-view.component-CMI2Eokj.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-drive-choose.component-BB5d32EI.mjs → acorex-modules-document-management-drive-choose.component-DBKgwm70.mjs} +5 -5
- package/fesm2022/{acorex-modules-document-management-drive-choose.component-BB5d32EI.mjs.map → acorex-modules-document-management-drive-choose.component-DBKgwm70.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-drive.component-TzRLr7rb.mjs → acorex-modules-document-management-drive.component-DoGdTL3n.mjs} +11 -10
- package/fesm2022/acorex-modules-document-management-drive.component-DoGdTL3n.mjs.map +1 -0
- package/fesm2022/{acorex-modules-document-management-large-icons-view.component-BeKFvgYU.mjs → acorex-modules-document-management-large-icons-view.component-BRsTSoln.mjs} +5 -5
- package/fesm2022/{acorex-modules-document-management-large-icons-view.component-BeKFvgYU.mjs.map → acorex-modules-document-management-large-icons-view.component-BRsTSoln.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-large-tiles-view.component-CQyiGE99.mjs → acorex-modules-document-management-large-tiles-view.component-CpYeYyR5.mjs} +5 -5
- package/fesm2022/{acorex-modules-document-management-large-tiles-view.component-CQyiGE99.mjs.map → acorex-modules-document-management-large-tiles-view.component-CpYeYyR5.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-link-dialog.component-CPuOuvu-.mjs → acorex-modules-document-management-link-dialog.component-ZteosW8O.mjs} +4 -4
- package/fesm2022/{acorex-modules-document-management-link-dialog.component-CPuOuvu-.mjs.map → acorex-modules-document-management-link-dialog.component-ZteosW8O.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-list-view.component-CWGGArxw.mjs → acorex-modules-document-management-list-view.component-C4VFnACA.mjs} +5 -5
- package/fesm2022/{acorex-modules-document-management-list-view.component-CWGGArxw.mjs.map → acorex-modules-document-management-list-view.component-C4VFnACA.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-meta-choose-popup.component-C7ounW6N.mjs → acorex-modules-document-management-meta-choose-popup.component-D5Csi3A3.mjs} +4 -4
- package/fesm2022/{acorex-modules-document-management-meta-choose-popup.component-C7ounW6N.mjs.map → acorex-modules-document-management-meta-choose-popup.component-D5Csi3A3.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-meta-selector-widget-column.component-C_J1rPak.mjs → acorex-modules-document-management-meta-selector-widget-column.component-OXeS0kW8.mjs} +4 -4
- package/fesm2022/{acorex-modules-document-management-meta-selector-widget-column.component-C_J1rPak.mjs.map → acorex-modules-document-management-meta-selector-widget-column.component-OXeS0kW8.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-meta-selector-widget-designer.component-By_NgUX6.mjs → acorex-modules-document-management-meta-selector-widget-designer.component-BdVSGb3M.mjs} +4 -4
- package/fesm2022/{acorex-modules-document-management-meta-selector-widget-designer.component-By_NgUX6.mjs.map → acorex-modules-document-management-meta-selector-widget-designer.component-BdVSGb3M.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-meta-selector-widget-view.component-zwCw3v1w.mjs → acorex-modules-document-management-meta-selector-widget-view.component-B-Vos30P.mjs} +4 -4
- package/fesm2022/{acorex-modules-document-management-meta-selector-widget-view.component-zwCw3v1w.mjs.map → acorex-modules-document-management-meta-selector-widget-view.component-B-Vos30P.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-permission-definition.provider-s0P0M8p2.mjs → acorex-modules-document-management-permission-definition.provider-Bc7rbWwN.mjs} +10 -2
- package/fesm2022/acorex-modules-document-management-permission-definition.provider-Bc7rbWwN.mjs.map +1 -0
- package/fesm2022/{acorex-modules-document-management-rename-node-dialog.component-MPkYZl2p.mjs → acorex-modules-document-management-rename-node-dialog.component-DWUVMrVt.mjs} +5 -5
- package/fesm2022/{acorex-modules-document-management-rename-node-dialog.component-MPkYZl2p.mjs.map → acorex-modules-document-management-rename-node-dialog.component-DWUVMrVt.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-share-dialog.component-CLF6b1Io.mjs → acorex-modules-document-management-share-dialog.component-CkyuEAwV.mjs} +4 -4
- package/fesm2022/{acorex-modules-document-management-share-dialog.component-CLF6b1Io.mjs.map → acorex-modules-document-management-share-dialog.component-CkyuEAwV.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-share-email-dialog.component-B8zNvOUv.mjs → acorex-modules-document-management-share-email-dialog.component-DXjcTOny.mjs} +4 -4
- package/fesm2022/{acorex-modules-document-management-share-email-dialog.component-B8zNvOUv.mjs.map → acorex-modules-document-management-share-email-dialog.component-DXjcTOny.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-small-icons-view.component-DRVLlW1e.mjs → acorex-modules-document-management-small-icons-view.component-CCirsfoz.mjs} +5 -5
- package/fesm2022/{acorex-modules-document-management-small-icons-view.component-DRVLlW1e.mjs.map → acorex-modules-document-management-small-icons-view.component-CCirsfoz.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-small-tiles-view.component-C1E8RKYM.mjs → acorex-modules-document-management-small-tiles-view.component-58KZSQC4.mjs} +5 -5
- package/fesm2022/{acorex-modules-document-management-small-tiles-view.component-C1E8RKYM.mjs.map → acorex-modules-document-management-small-tiles-view.component-58KZSQC4.mjs.map} +1 -1
- package/fesm2022/acorex-modules-document-management.mjs +1 -1
- package/fesm2022/{acorex-modules-form-template-management-acorex-modules-form-template-management-zz8KU2BM.mjs → acorex-modules-form-template-management-acorex-modules-form-template-management-DxSYInAR.mjs} +65 -67
- package/fesm2022/acorex-modules-form-template-management-acorex-modules-form-template-management-DxSYInAR.mjs.map +1 -0
- package/fesm2022/{acorex-modules-form-template-management-category.entity-g5YGQjj3.mjs → acorex-modules-form-template-management-category.entity-DeCfvNqF.mjs} +2 -2
- package/fesm2022/{acorex-modules-form-template-management-category.entity-g5YGQjj3.mjs.map → acorex-modules-form-template-management-category.entity-DeCfvNqF.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-form-template-management-designer.page-DQorNK3f.mjs → acorex-modules-form-template-management-designer.page-BsjFGFOD.mjs} +4 -4
- package/fesm2022/{acorex-modules-form-template-management-designer.page-DQorNK3f.mjs.map → acorex-modules-form-template-management-designer.page-BsjFGFOD.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-form-template-management-permission-definition.provider-BFPqDVO3.mjs → acorex-modules-form-template-management-permission-definition.provider-CsjgxSgC.mjs} +2 -2
- package/fesm2022/{acorex-modules-form-template-management-permission-definition.provider-BFPqDVO3.mjs.map → acorex-modules-form-template-management-permission-definition.provider-CsjgxSgC.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-form-template-management-settings.provider-DYbrgJI7.mjs → acorex-modules-form-template-management-settings.provider-_BIGyRt8.mjs} +2 -2
- package/fesm2022/{acorex-modules-form-template-management-settings.provider-DYbrgJI7.mjs.map → acorex-modules-form-template-management-settings.provider-_BIGyRt8.mjs.map} +1 -1
- package/fesm2022/acorex-modules-form-template-management-template-picker.component-BCg756yD.mjs +224 -0
- package/fesm2022/acorex-modules-form-template-management-template-picker.component-BCg756yD.mjs.map +1 -0
- package/fesm2022/{acorex-modules-form-template-management-template-widget-edit.component-CCL7xNSm.mjs → acorex-modules-form-template-management-template-widget-edit.component-DkqRsXMq.mjs} +5 -5
- package/fesm2022/{acorex-modules-form-template-management-template-widget-edit.component-CCL7xNSm.mjs.map → acorex-modules-form-template-management-template-widget-edit.component-DkqRsXMq.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-form-template-management-template.entity-XNBsmQZY.mjs → acorex-modules-form-template-management-template.entity-CQm29n5v.mjs} +2 -2
- package/fesm2022/{acorex-modules-form-template-management-template.entity-XNBsmQZY.mjs.map → acorex-modules-form-template-management-template.entity-CQm29n5v.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-form-template-management-viewer-popup.component-Bw9VbGx7.mjs → acorex-modules-form-template-management-viewer-popup.component-DW2Z5EcJ.mjs} +12 -19
- package/fesm2022/acorex-modules-form-template-management-viewer-popup.component-DW2Z5EcJ.mjs.map +1 -0
- package/fesm2022/acorex-modules-form-template-management.mjs +1 -1
- package/fesm2022/{acorex-modules-issue-management-acorex-modules-issue-management-ITP4K-tZ.mjs → acorex-modules-issue-management-acorex-modules-issue-management-a_wcGVPh.mjs} +31 -35
- package/fesm2022/acorex-modules-issue-management-acorex-modules-issue-management-a_wcGVPh.mjs.map +1 -0
- package/fesm2022/{acorex-modules-issue-management-capture-screen.component-C1USFJeP.mjs → acorex-modules-issue-management-capture-screen.component-CsahsE-E.mjs} +5 -5
- package/fesm2022/{acorex-modules-issue-management-capture-screen.component-C1USFJeP.mjs.map → acorex-modules-issue-management-capture-screen.component-CsahsE-E.mjs.map} +1 -1
- package/fesm2022/acorex-modules-issue-management.mjs +1 -1
- package/fesm2022/acorex-modules-locale-management-acorex-modules-locale-management-CfaOC6U5.mjs +1975 -0
- package/fesm2022/acorex-modules-locale-management-acorex-modules-locale-management-CfaOC6U5.mjs.map +1 -0
- package/fesm2022/acorex-modules-locale-management-profiles-MJ9xFTtp.mjs +19 -0
- package/fesm2022/acorex-modules-locale-management-profiles-MJ9xFTtp.mjs.map +1 -0
- package/fesm2022/{acorex-modules-common-settings.provider-DPVsF4c9.mjs → acorex-modules-locale-management-settings.provider-PKnqTses.mjs} +6 -6
- package/fesm2022/acorex-modules-locale-management-settings.provider-PKnqTses.mjs.map +1 -0
- package/fesm2022/acorex-modules-locale-management.mjs +2 -0
- package/fesm2022/acorex-modules-locale-management.mjs.map +1 -0
- package/fesm2022/acorex-modules-location-management.mjs +3139 -0
- package/fesm2022/acorex-modules-location-management.mjs.map +1 -0
- package/fesm2022/acorex-modules-log-management.mjs +160 -35
- package/fesm2022/acorex-modules-log-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-notification-management.mjs +149 -123
- package/fesm2022/acorex-modules-notification-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-organization-management-add-item.component-Dr-bwC4K.mjs → acorex-modules-organization-management-add-item.component-CzIIXsRJ.mjs} +4 -4
- package/fesm2022/{acorex-modules-organization-management-add-item.component-Dr-bwC4K.mjs.map → acorex-modules-organization-management-add-item.component-CzIIXsRJ.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-org-chart-configuration.page-a2JPiCy9.mjs → acorex-modules-organization-management-org-chart-configuration.page-XXAEpYNo.mjs} +5 -5
- package/fesm2022/{acorex-modules-organization-management-org-chart-configuration.page-a2JPiCy9.mjs.map → acorex-modules-organization-management-org-chart-configuration.page-XXAEpYNo.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-org-chart-configuration.service-BkfSow3s.mjs → acorex-modules-organization-management-org-chart-configuration.service-CIveMQUH.mjs} +4 -4
- package/fesm2022/{acorex-modules-organization-management-org-chart-configuration.service-BkfSow3s.mjs.map → acorex-modules-organization-management-org-chart-configuration.service-CIveMQUH.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-org-chart.page-CXhtYrCS.mjs → acorex-modules-organization-management-org-chart.page-UqJ1VOJ-.mjs} +15 -14
- package/fesm2022/acorex-modules-organization-management-org-chart.page-UqJ1VOJ-.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-settings.provider-hlbUXugb.mjs → acorex-modules-organization-management-settings.provider-feVwZnkw.mjs} +6 -30
- package/fesm2022/acorex-modules-organization-management-settings.provider-feVwZnkw.mjs.map +1 -0
- package/fesm2022/acorex-modules-organization-management.mjs +128 -124
- package/fesm2022/acorex-modules-organization-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-platform-management-list-version.component-BOfUQDwo.mjs → acorex-modules-platform-management-list-version.component-wqhq6ek4.mjs} +4 -4
- package/fesm2022/{acorex-modules-platform-management-list-version.component-BOfUQDwo.mjs.map → acorex-modules-platform-management-list-version.component-wqhq6ek4.mjs.map} +1 -1
- package/fesm2022/acorex-modules-platform-management.mjs +91 -303
- package/fesm2022/acorex-modules-platform-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-project-management.mjs +232 -453
- package/fesm2022/acorex-modules-project-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-report-management-report-create-root.component-Cv88TDx7.mjs → acorex-modules-report-management-report-create-root.component-CFNtnshF.mjs} +4 -4
- package/fesm2022/{acorex-modules-report-management-report-create-root.component-Cv88TDx7.mjs.map → acorex-modules-report-management-report-create-root.component-CFNtnshF.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-report-management-report-runner-root-page.component-DHu-kyCd.mjs → acorex-modules-report-management-report-runner-root-page.component-CbfJ_7Da.mjs} +7 -7
- package/fesm2022/{acorex-modules-report-management-report-runner-root-page.component-DHu-kyCd.mjs.map → acorex-modules-report-management-report-runner-root-page.component-CbfJ_7Da.mjs.map} +1 -1
- package/fesm2022/acorex-modules-report-management.mjs +24 -24
- package/fesm2022/acorex-modules-report-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-scheduler-job-management.mjs +14 -14
- package/fesm2022/acorex-modules-scheduler-job-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-security-management.mjs +97 -61
- package/fesm2022/acorex-modules-security-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-settings-management-setting-page.component-cG4ykm2g.mjs → acorex-modules-settings-management-setting-page.component-BhF5x-8D.mjs} +12 -6
- package/fesm2022/acorex-modules-settings-management-setting-page.component-BhF5x-8D.mjs.map +1 -0
- package/fesm2022/{acorex-modules-settings-management-setting-view.component-CrEK2N1U.mjs → acorex-modules-settings-management-setting-view.component-Do_gNJ2t.mjs} +4 -4
- package/fesm2022/{acorex-modules-settings-management-setting-view.component-CrEK2N1U.mjs.map → acorex-modules-settings-management-setting-view.component-Do_gNJ2t.mjs.map} +1 -1
- package/fesm2022/acorex-modules-settings-management.mjs +9 -7
- package/fesm2022/acorex-modules-settings-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-task-management.mjs +5937 -0
- package/fesm2022/acorex-modules-task-management.mjs.map +1 -0
- package/fesm2022/acorex-modules-text-template-management.mjs +24 -24
- package/fesm2022/acorex-modules-text-template-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-training-management.mjs +43 -43
- package/fesm2022/acorex-modules-training-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-workflow-management-acorex-modules-workflow-management-DnSdOSmj.mjs → acorex-modules-workflow-management-acorex-modules-workflow-management-DC7jdoqZ.mjs} +60 -29
- package/fesm2022/acorex-modules-workflow-management-acorex-modules-workflow-management-DC7jdoqZ.mjs.map +1 -0
- package/fesm2022/{acorex-modules-workflow-management-task-board.page-Bzu4j4VW.mjs → acorex-modules-workflow-management-task-board.page-Bv2GAPaN.mjs} +197 -183
- package/fesm2022/acorex-modules-workflow-management-task-board.page-Bv2GAPaN.mjs.map +1 -0
- package/fesm2022/acorex-modules-workflow-management.mjs +1 -1
- package/locale-management/README.md +3 -0
- package/locale-management/index.d.ts +182 -0
- package/location-management/README.md +3 -0
- package/location-management/index.d.ts +166 -0
- package/notification-management/index.d.ts +14 -5
- package/package.json +17 -5
- package/task-management/README.md +189 -0
- package/task-management/index.d.ts +320 -0
- package/workflow-management/index.d.ts +8 -3
- package/fesm2022/acorex-modules-auth-acorex-modules-auth-BxqN76H7.mjs.map +0 -1
- package/fesm2022/acorex-modules-common-acorex-modules-common-D06CT4CO.mjs +0 -1657
- package/fesm2022/acorex-modules-common-acorex-modules-common-D06CT4CO.mjs.map +0 -1
- package/fesm2022/acorex-modules-common-settings.provider-DPVsF4c9.mjs.map +0 -1
- package/fesm2022/acorex-modules-contact-management-acorex-modules-contact-management-CM72FkGM.mjs.map +0 -1
- package/fesm2022/acorex-modules-document-management-acorex-modules-document-management-C7ot6PfT.mjs.map +0 -1
- package/fesm2022/acorex-modules-document-management-drive.component-TzRLr7rb.mjs.map +0 -1
- package/fesm2022/acorex-modules-document-management-permission-definition.provider-s0P0M8p2.mjs.map +0 -1
- package/fesm2022/acorex-modules-form-template-management-acorex-modules-form-template-management-zz8KU2BM.mjs.map +0 -1
- package/fesm2022/acorex-modules-form-template-management-template-picker.component-DgH_DUIB.mjs +0 -196
- package/fesm2022/acorex-modules-form-template-management-template-picker.component-DgH_DUIB.mjs.map +0 -1
- package/fesm2022/acorex-modules-form-template-management-viewer-popup.component-Bw9VbGx7.mjs.map +0 -1
- package/fesm2022/acorex-modules-issue-management-acorex-modules-issue-management-ITP4K-tZ.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-org-chart.page-CXhtYrCS.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-settings.provider-hlbUXugb.mjs.map +0 -1
- package/fesm2022/acorex-modules-settings-management-setting-page.component-cG4ykm2g.mjs.map +0 -1
- package/fesm2022/acorex-modules-workflow-management-acorex-modules-workflow-management-DnSdOSmj.mjs.map +0 -1
- package/fesm2022/acorex-modules-workflow-management-task-board.page-Bzu4j4VW.mjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-modules-document-management-meta-choose-popup.component-C7ounW6N.mjs","sources":["../tmp-esm2022/document-management/lib/features/meta-choose-widget/meta-choose-popup/meta-choose-popup.component.js"],"sourcesContent":["import { Component, signal, ViewEncapsulation, inject } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AXBasePageComponent } from '@acorex/components/page';\nimport { AXSearchBoxModule } from '@acorex/components/search-box';\nimport { AXTreeViewModule } from '@acorex/components/tree-view';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXMMetaDataDefinitionCategoryService } from '@acorex/modules/platform-management';\nimport { CdkDrag, CdkDragHandle, CdkDropList, moveItemInArray } from '@angular/cdk/drag-drop';\nimport { AXCheckBoxModule } from '@acorex/components/check-box';\nimport { AXTextBoxModule } from '@acorex/components/text-box';\nimport { AXCollapseModule } from '@acorex/components/collapse';\nimport { FormsModule } from '@angular/forms';\nimport { AXLabelModule } from '@acorex/components/label';\nimport { AXPWorkflowService } from '@acorex/platform/workflow';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/common\";\nimport * as i2 from \"@acorex/components/search-box\";\nimport * as i3 from \"@acorex/components/tree-view\";\nimport * as i4 from \"@acorex/components/decorators\";\nimport * as i5 from \"@acorex/components/button\";\nimport * as i6 from \"@acorex/components/check-box\";\nimport * as i7 from \"@acorex/components/collapse\";\nimport * as i8 from \"@acorex/components/label\";\nimport * as i9 from \"@angular/forms\";\nimport * as i10 from \"@acorex/core/translation\";\n//#endregion\nexport class AXPMetaChoosePopupComponent extends AXBasePageComponent {\n constructor() {\n super(...arguments);\n this.categoryService = inject(AXMMetaDataDefinitionCategoryService);\n this.workflow = inject(AXPWorkflowService);\n this.initialData = [];\n /**\n * Holds the complete list of tree items in a flattened structure.\n * This structure makes it easy to:\n * 1) Provide children lazily via `provideLazyTreeView` using `parentId`.\n * 2) Perform search across all levels while still being able to include\n * ancestor nodes of matched items.\n */\n this.treeViewData = signal([], ...(ngDevMode ? [{ debugName: \"treeViewData\" }] : []));\n /**\n * Flat list of ALL nodes (for easy look-ups during search).\n */\n this.originalFlatData = [];\n /**\n * Original *nested* tree structure (used to reset and to rebuild filtered trees).\n */\n this.originalNestedData = [];\n this.searchTerm = signal('', ...(ngDevMode ? [{ debugName: \"searchTerm\" }] : []));\n //#region ---- Selected Configs ----\n this.selectedConfigs = signal([], ...(ngDevMode ? [{ debugName: \"selectedConfigs\" }] : []));\n }\n //#endregion\n ngOnInit() {\n this.categoryService.getAllWithItems().then((categories) => {\n //#region ---- Helper Functions ----\n const convertCategoryToTreeItem = (category) => {\n const categoryChildren = [\n // Map sub-categories recursively\n ...category.categories.map((c) => convertCategoryToTreeItem(c)),\n // Map items of current category\n ...category.items.map((item) => ({\n id: item.id,\n text: item.title,\n parentId: category.id,\n hasCheckbox: true,\n isSelected: false,\n //\n interface: item.interface,\n name: item.name,\n title: item.title\n })),\n ];\n return {\n id: category.id,\n text: category.title,\n parentId: category.parentId,\n hasCheckbox: false,\n children: categoryChildren,\n isSelected: false,\n //fake\n interface: '',\n name: '',\n title: ''\n };\n };\n //#endregion\n // Build **nested** tree structure first so that each parent\n // contains its children array (similar to the sample at line 208).\n const nestedTree = categories.map((c) => convertCategoryToTreeItem(c));\n // Additionally build a flattened list of all nodes (same objects) so\n // that we can re-use the existing search implementation which\n // expects a flat array.\n const flatList = [];\n const collectFlat = (nodes) => {\n nodes.forEach((n) => {\n flatList.push(n);\n if (Array.isArray(n.children) && n.children.length > 0) {\n collectFlat(n.children);\n }\n });\n };\n collectFlat(nestedTree);\n // --- Apply initial selections ---\n if (this.initialData && this.initialData.length > 0) {\n const initialIds = new Set(this.initialData.map((d) => d.id));\n flatList.forEach((node) => {\n if (node.hasCheckbox && initialIds.has(node.id)) {\n node.isSelected = true;\n }\n });\n }\n // Persist original data (both flattened and nested) & initialise reactive signal.\n this.originalFlatData = flatList;\n this.originalNestedData = nestedTree;\n // Set initial tree view data to display the tree\n this.treeViewData.set([...nestedTree]);\n // Initialise selected list if any initial selections\n this.synchroniseSelectedConfigs();\n });\n this.selectedConfigs.set(this.initialData ?? []);\n }\n handleSelectClick() {\n // Return the configured selected items from the right panel\n const selectedConfigs = this.selectedConfigs();\n if (selectedConfigs.length > 0) {\n this.close(selectedConfigs);\n }\n else {\n this.close();\n }\n }\n handleCloseClick() {\n this.close();\n }\n handleChangeSearchValue(e) {\n const term = (e.value ?? '').trim();\n this.searchTerm.set(term);\n // Reset to the pristine nested tree when search is cleared.\n if (!term) {\n this.treeViewData.set([...this.originalNestedData]);\n return;\n }\n const loweredTerm = term.toLowerCase();\n // Build a quick lookup map to traverse ancestors efficiently\n const mapById = new Map(this.originalFlatData.map((item) => [item.id, item]));\n // Helper to collect all ancestors of a given node\n const collectAncestors = (node) => {\n const ancestors = [];\n let currentParentId = node.parentId;\n while (currentParentId) {\n const parent = mapById.get(currentParentId);\n if (!parent) {\n break;\n }\n ancestors.push(parent);\n currentParentId = parent.parentId;\n }\n return ancestors;\n };\n // 1) Find all nodes whose text contains the search term\n const matchedNodes = this.originalFlatData.filter((item) => item.text.toLowerCase().includes(loweredTerm));\n // 2) Collect their ancestors to ensure the tree can render correct paths\n const resultSet = new Map();\n matchedNodes.forEach((node) => {\n resultSet.set(node.id, node);\n collectAncestors(node).forEach((ancestor) => resultSet.set(ancestor.id, ancestor));\n });\n // ---------------------------------------------------------\n // Ensure child nodes are NOT rendered at the root level.\n // We only pass nodes to the tree component that do **not**\n // have their parent already present in the final result set.\n // This preserves the correct hierarchy and prevents duplicates\n // like the extra root-level entry highlighted in yellow.\n // ---------------------------------------------------------\n // Build a *nested* tree that contains ONLY nodes present in `resultSet`.\n const idSet = new Set(resultSet.keys());\n const cloneIfIncluded = (node) => {\n if (!idSet.has(node.id)) {\n return null;\n }\n const cloned = {\n ...node,\n // Create fresh children array (will be populated recursively)\n children: []\n };\n if (Array.isArray(node.children)) {\n node.children.forEach((child) => {\n const c = cloneIfIncluded(child);\n if (c) {\n cloned.children.push(c);\n }\n });\n }\n return cloned;\n };\n const filteredRoots = [];\n this.originalNestedData.forEach((root) => {\n const clonedRoot = cloneIfIncluded(root);\n if (clonedRoot) {\n filteredRoots.push(clonedRoot);\n }\n });\n this.treeViewData.set(filteredRoots);\n }\n //#region ---- Tree Interaction Handlers ----\n handleSelectionChanged(e) {\n // Tree toggles selection internally; just sync configs afterwards\n this.synchroniseSelectedConfigs();\n }\n synchroniseSelectedConfigs() {\n const selectedNodes = this.originalFlatData.filter((n) => n.hasCheckbox && n.isSelected);\n this.selectedConfigs.update((prev) => {\n // Remove configs that are no longer selected\n let next = prev.filter((cfg) => selectedNodes.some((n) => n.id === cfg.id));\n // Add new configs\n selectedNodes.forEach((n) => {\n if (!next.some((cfg) => cfg.id === n.id)) {\n next.push({ ...n, isRequired: false, placeholder: '', status: 'temporary' });\n }\n });\n return [...next];\n });\n }\n toggleSelection(cfg) {\n // Find the original node in flatData and update it\n const originalNode = this.originalFlatData.find(n => n.id === cfg.id);\n if (originalNode) {\n originalNode.isSelected = !originalNode.isSelected;\n }\n // Force tree view to update by triggering signal change\n this.treeViewData.set([...this.treeViewData()]);\n this.synchroniseSelectedConfigs();\n }\n //#endregion\n //#region ---- Drag & Drop (Ordering) ----\n handleDrop(event) {\n const list = [...this.selectedConfigs()];\n moveItemInArray(list, event.previousIndex, event.currentIndex);\n this.selectedConfigs.set(list);\n }\n //#endregion\n //#region ---- Manual Ordering Methods ----\n moveItemUp(e, index) {\n e.stopPropagation();\n if (index <= 0)\n return; // Already at top\n const list = [...this.selectedConfigs()];\n [list[index - 1], list[index]] = [list[index], list[index - 1]];\n this.selectedConfigs.set(list);\n }\n moveItemDown(e, index) {\n e.stopPropagation();\n const currentList = this.selectedConfigs();\n if (index >= currentList.length - 1)\n return; // Already at bottom\n const list = [...currentList];\n [list[index], list[index + 1]] = [list[index + 1], list[index]];\n this.selectedConfigs.set(list);\n }\n //#endregion\n //#region ---- Template Actions ----\n async handlePreviewMeta(item) {\n if (item.hasCheckbox) {\n await this.workflow.execute('open-form-template', {\n data: {\n template: item.interface,\n },\n metadata: {\n preview: true,\n },\n });\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: AXPMetaChoosePopupComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.3\", type: AXPMetaChoosePopupComponent, isStandalone: true, selector: \"axp-meta-choose-popup\", providers: [], usesInheritance: true, ngImport: i0, template: \"<div class=\\\"ax-p-4 ax-flex ax-gap-4 ax-overflow-hidden\\\">\\n <!-- Left: Meta tree -->\\n <div class=\\\"ax-flex-1 ax-flex ax-flex-col ax-gap-4 ax-min-w-0\\\">\\n <ax-search-box\\n [placeholder]=\\\"'widget.lookup.search' | translate | async\\\"\\n [value]=\\\"searchTerm()\\\"\\n (onValueChanged)=\\\"handleChangeSearchValue($event)\\\"\\n ><ax-clear-button></ax-clear-button\\n ></ax-search-box>\\n\\n <ax-tree-view\\n [hasChildField]=\\\"'hasChild'\\\"\\n [parentField]=\\\"'parentId'\\\"\\n [items]=\\\"treeViewData()\\\"\\n [selectionMode]=\\\"'multiple'\\\"\\n [selectedField]=\\\"'isSelected'\\\"\\n (onSelectionChanged)=\\\"handleSelectionChanged($event)\\\"\\n [itemTemplate]=\\\"itemTemplate\\\"\\n [focusNodeEnabled]=\\\"false\\\"\\n class=\\\"ax-flex-1 ax-overflow-auto\\\"\\n ></ax-tree-view>\\n </div>\\n\\n <!-- Right: Selected list -->\\n <div class=\\\"ax-w-1/2 ax-flex ax-flex-col ax-gap-3 ax-select-none ax-overflow-auto ax-h-[400px]\\\" cdkDropList (cdkDropListDropped)=\\\"handleDrop($event)\\\">\\n <h6 class=\\\"ax-font-semibold ax-text-sm\\\" *ngIf=\\\"selectedConfigs().length\\\">Selected Items</h6>\\n\\n @for(cfg of selectedConfigs(); track cfg.id; let i = $index) {\\n <div cdkDrag class=\\\"ax-bg-white ax-rounded-md ax-shadow-sm ax-border ax-border-gray-200\\\" cdkDragBoundary=\\\".ax-select-none\\\">\\n <!-- Collapse with custom header template -->\\n <ax-collapse-group look=\\\"fill\\\">\\n <ax-collapse caption=\\\"Options\\\" [headerTemplate]=\\\"headerTpl\\\">\\n <div class=\\\"ax-flex ax-flex-col\\\">\\n <ax-check-box\\n [ngModel]=\\\"cfg.isRequired\\\"\\n (onValueChanged)=\\\"cfg.isRequired = $event.value ?? false\\\"\\n >\\n <ax-label>{{ 'required' | translate | async }}</ax-label>\\n </ax-check-box>\\n \\n </div>\\n \\n <!-- Header template -->\\n <ng-template #headerTpl>\\n <div class=\\\"ax-flex ax-items-center ax-justify-between ax-w-full ax-px-3 ax-py-2\\\">\\n <div class=\\\"ax-flex ax-items-center ax-gap-2\\\">\\n <ax-icon class=\\\"fa-solid fa-grip-dots-vertical ax-cursor-move ax-text-gray-400\\\" cdkDragHandle></ax-icon>\\n <span class=\\\"ax-text-sm ax-font-medium\\\">{{ cfg.text }}</span>\\n </div>\\n <div class=\\\"ax-flex ax-items-center ax-gap-1\\\">\\n <ax-icon \\n class=\\\"fa-solid fa-chevron-up ax-text-primary ax-cursor-pointer ax-text-xs\\\" \\n (click)=\\\"moveItemUp($event,i)\\\"\\n [class.ax-opacity-30]=\\\"i === 0\\\"\\n [class.ax-cursor-not-allowed]=\\\"i === 0\\\"\\n title=\\\"Move Up\\\">\\n </ax-icon>\\n <ax-icon \\n class=\\\"fa-solid fa-chevron-down ax-text-primary ax-cursor-pointer ax-text-xs ax-px-2\\\" \\n (click)=\\\"moveItemDown($event,i)\\\"\\n [class.ax-opacity-30]=\\\"i === selectedConfigs().length - 1\\\"\\n [class.ax-cursor-not-allowed]=\\\"i === selectedConfigs().length - 1\\\"\\n title=\\\"Move Down\\\">\\n </ax-icon>\\n <ax-icon class=\\\"fa-solid fa-xmark ax-text-danger ax-cursor-pointer\\\" (click)=\\\"toggleSelection(cfg)\\\"></ax-icon>\\n </div>\\n </div>\\n </ng-template>\\n </ax-collapse>\\n </ax-collapse-group>\\n </div>\\n }\\n </div>\\n</div>\\n\\n<ax-footer>\\n <ax-suffix>\\n <ax-button look=\\\"solid\\\" [text]=\\\"('close' | translate | async)!\\\" (onClick)=\\\"handleCloseClick()\\\"> </ax-button>\\n <ax-button look=\\\"solid\\\" color=\\\"primary\\\" [text]=\\\"('select' | translate | async)!\\\" (onClick)=\\\"handleSelectClick()\\\">\\n </ax-button>\\n </ax-suffix>\\n</ax-footer>\\n\\n<ng-template #itemTemplate let-item>\\n <div class=\\\"ax-flex ax-items-center ax-justify-between ax-w-full\\\">\\n <span>{{ item.text }}</span>\\n @if(item.hasCheckbox) {\\n <ax-icon \\n class=\\\"fa-regular fa-eye ax-text-primary ax-cursor-pointer ax-ml-2\\\" \\n (click)=\\\"handlePreviewMeta(item)\\\"\\n title=\\\"Preview Meta\\\">\\n </ax-icon>\\n }\\n </div>\\n</ng-template>\\n\", styles: [\"\"], dependencies: [{ kind: \"ngmodule\", type: \n // Angular\n CommonModule }, { kind: \"directive\", type: i1.NgIf, selector: \"[ngIf]\", inputs: [\"ngIf\", \"ngIfThen\", \"ngIfElse\"] }, { kind: \"ngmodule\", type: \n // ACoreX\n AXSearchBoxModule }, { kind: \"component\", type: i2.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: AXTreeViewModule }, { kind: \"component\", type: i3.AXTreeViewComponent, selector: \"ax-tree-view\", inputs: [\"items\", \"showCheckbox\", \"hasCheckboxField\", \"selectionMode\", \"selectionBehavior\", \"selectionScope\", \"focusNodeEnabled\", \"valueField\", \"textField\", \"visibleField\", \"disableField\", \"hasChildField\", \"selectedField\", \"expandedField\", \"tooltipField\", \"childrenField\", \"activeField\", \"indeterminateField\", \"parentField\", \"iconField\", \"toggleIcons\", \"look\", \"showEmptyNodeMassage\", \"itemTemplate\", \"emptyTemplate\", \"expandOn\"], outputs: [\"onSelectionChanged\", \"onItemSelectedChanged\", \"onNodeClick\", \"onCollapsedChanged\", \"onNodedbClick\"] }, { kind: \"ngmodule\", type: AXDecoratorModule }, { kind: \"component\", type: i4.AXDecoratorIconComponent, selector: \"ax-icon\", inputs: [\"icon\"] }, { kind: \"component\", type: i4.AXDecoratorClearButtonComponent, selector: \"ax-clear-button\", inputs: [\"icon\"] }, { kind: \"component\", type: i4.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: AXButtonModule }, { kind: \"component\", type: i5.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: AXTranslationModule }, { kind: \"ngmodule\", type: AXCheckBoxModule }, { kind: \"component\", type: i6.AXCheckBoxComponent, selector: \"ax-check-box\", inputs: [\"disabled\", \"tabIndex\", \"readonly\", \"color\", \"value\", \"name\", \"id\", \"checked\", \"isLoading\", \"indeterminate\"], outputs: [\"onBlur\", \"onFocus\", \"valueChange\", \"onValueChanged\"] }, { kind: \"ngmodule\", type: AXTextBoxModule }, { kind: \"ngmodule\", type: AXCollapseModule }, { kind: \"component\", type: i7.AXCollapseComponent, selector: \"ax-collapse\", inputs: [\"disabled\", \"look\", \"isCollapsed\", \"showHeader\", \"caption\", \"icon\", \"isLoading\", \"headerTemplate\"], outputs: [\"onClick\", \"isCollapsedChange\"] }, { kind: \"component\", type: i7.AXCollapseGroupComponent, selector: \"ax-collapse-group\", inputs: [\"look\", \"accordion\", \"activeIndex\"], outputs: [\"accordionChange\", \"activeIndexChange\"] }, { kind: \"ngmodule\", type: AXLabelModule }, { kind: \"component\", type: i8.AXLabelComponent, selector: \"ax-label\", inputs: [\"required\", \"for\"], outputs: [\"requiredChange\"] }, { kind: \"directive\", type: \n // CDK DragDrop modules\n CdkDropList, selector: \"[cdkDropList], cdk-drop-list\", inputs: [\"cdkDropListConnectedTo\", \"cdkDropListData\", \"cdkDropListOrientation\", \"id\", \"cdkDropListLockAxis\", \"cdkDropListDisabled\", \"cdkDropListSortingDisabled\", \"cdkDropListEnterPredicate\", \"cdkDropListSortPredicate\", \"cdkDropListAutoScrollDisabled\", \"cdkDropListAutoScrollStep\", \"cdkDropListElementContainer\", \"cdkDropListHasAnchor\"], outputs: [\"cdkDropListDropped\", \"cdkDropListEntered\", \"cdkDropListExited\", \"cdkDropListSorted\"], exportAs: [\"cdkDropList\"] }, { kind: \"directive\", type: CdkDrag, selector: \"[cdkDrag]\", inputs: [\"cdkDragData\", \"cdkDragLockAxis\", \"cdkDragRootElement\", \"cdkDragBoundary\", \"cdkDragStartDelay\", \"cdkDragFreeDragPosition\", \"cdkDragDisabled\", \"cdkDragConstrainPosition\", \"cdkDragPreviewClass\", \"cdkDragPreviewContainer\", \"cdkDragScale\"], outputs: [\"cdkDragStarted\", \"cdkDragReleased\", \"cdkDragEnded\", \"cdkDragEntered\", \"cdkDragExited\", \"cdkDragDropped\", \"cdkDragMoved\"], exportAs: [\"cdkDrag\"] }, { kind: \"directive\", type: CdkDragHandle, selector: \"[cdkDragHandle]\", inputs: [\"cdkDragHandleDisabled\"] }, { kind: \"ngmodule\", type: \n // Forms\n FormsModule }, { kind: \"directive\", type: i9.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { kind: \"directive\", type: i9.NgModel, selector: \"[ngModel]:not([formControlName]):not([formControl])\", inputs: [\"name\", \"disabled\", \"ngModel\", \"ngModelOptions\"], outputs: [\"ngModelChange\"], exportAs: [\"ngModel\"] }, { kind: \"pipe\", type: i1.AsyncPipe, name: \"async\" }, { kind: \"pipe\", type: i10.AXTranslatorPipe, name: \"translate\" }], encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: AXPMetaChoosePopupComponent, decorators: [{\n type: Component,\n args: [{ selector: 'axp-meta-choose-popup', imports: [\n // Angular\n CommonModule,\n // ACoreX\n AXSearchBoxModule,\n AXTreeViewModule,\n AXDecoratorModule,\n AXButtonModule,\n AXTranslationModule,\n AXCheckBoxModule,\n AXTextBoxModule,\n AXCollapseModule,\n AXLabelModule,\n // CDK DragDrop modules\n CdkDropList,\n CdkDrag,\n CdkDragHandle,\n // Forms\n FormsModule,\n ], encapsulation: ViewEncapsulation.None, providers: [], template: \"<div class=\\\"ax-p-4 ax-flex ax-gap-4 ax-overflow-hidden\\\">\\n <!-- Left: Meta tree -->\\n <div class=\\\"ax-flex-1 ax-flex ax-flex-col ax-gap-4 ax-min-w-0\\\">\\n <ax-search-box\\n [placeholder]=\\\"'widget.lookup.search' | translate | async\\\"\\n [value]=\\\"searchTerm()\\\"\\n (onValueChanged)=\\\"handleChangeSearchValue($event)\\\"\\n ><ax-clear-button></ax-clear-button\\n ></ax-search-box>\\n\\n <ax-tree-view\\n [hasChildField]=\\\"'hasChild'\\\"\\n [parentField]=\\\"'parentId'\\\"\\n [items]=\\\"treeViewData()\\\"\\n [selectionMode]=\\\"'multiple'\\\"\\n [selectedField]=\\\"'isSelected'\\\"\\n (onSelectionChanged)=\\\"handleSelectionChanged($event)\\\"\\n [itemTemplate]=\\\"itemTemplate\\\"\\n [focusNodeEnabled]=\\\"false\\\"\\n class=\\\"ax-flex-1 ax-overflow-auto\\\"\\n ></ax-tree-view>\\n </div>\\n\\n <!-- Right: Selected list -->\\n <div class=\\\"ax-w-1/2 ax-flex ax-flex-col ax-gap-3 ax-select-none ax-overflow-auto ax-h-[400px]\\\" cdkDropList (cdkDropListDropped)=\\\"handleDrop($event)\\\">\\n <h6 class=\\\"ax-font-semibold ax-text-sm\\\" *ngIf=\\\"selectedConfigs().length\\\">Selected Items</h6>\\n\\n @for(cfg of selectedConfigs(); track cfg.id; let i = $index) {\\n <div cdkDrag class=\\\"ax-bg-white ax-rounded-md ax-shadow-sm ax-border ax-border-gray-200\\\" cdkDragBoundary=\\\".ax-select-none\\\">\\n <!-- Collapse with custom header template -->\\n <ax-collapse-group look=\\\"fill\\\">\\n <ax-collapse caption=\\\"Options\\\" [headerTemplate]=\\\"headerTpl\\\">\\n <div class=\\\"ax-flex ax-flex-col\\\">\\n <ax-check-box\\n [ngModel]=\\\"cfg.isRequired\\\"\\n (onValueChanged)=\\\"cfg.isRequired = $event.value ?? false\\\"\\n >\\n <ax-label>{{ 'required' | translate | async }}</ax-label>\\n </ax-check-box>\\n \\n </div>\\n \\n <!-- Header template -->\\n <ng-template #headerTpl>\\n <div class=\\\"ax-flex ax-items-center ax-justify-between ax-w-full ax-px-3 ax-py-2\\\">\\n <div class=\\\"ax-flex ax-items-center ax-gap-2\\\">\\n <ax-icon class=\\\"fa-solid fa-grip-dots-vertical ax-cursor-move ax-text-gray-400\\\" cdkDragHandle></ax-icon>\\n <span class=\\\"ax-text-sm ax-font-medium\\\">{{ cfg.text }}</span>\\n </div>\\n <div class=\\\"ax-flex ax-items-center ax-gap-1\\\">\\n <ax-icon \\n class=\\\"fa-solid fa-chevron-up ax-text-primary ax-cursor-pointer ax-text-xs\\\" \\n (click)=\\\"moveItemUp($event,i)\\\"\\n [class.ax-opacity-30]=\\\"i === 0\\\"\\n [class.ax-cursor-not-allowed]=\\\"i === 0\\\"\\n title=\\\"Move Up\\\">\\n </ax-icon>\\n <ax-icon \\n class=\\\"fa-solid fa-chevron-down ax-text-primary ax-cursor-pointer ax-text-xs ax-px-2\\\" \\n (click)=\\\"moveItemDown($event,i)\\\"\\n [class.ax-opacity-30]=\\\"i === selectedConfigs().length - 1\\\"\\n [class.ax-cursor-not-allowed]=\\\"i === selectedConfigs().length - 1\\\"\\n title=\\\"Move Down\\\">\\n </ax-icon>\\n <ax-icon class=\\\"fa-solid fa-xmark ax-text-danger ax-cursor-pointer\\\" (click)=\\\"toggleSelection(cfg)\\\"></ax-icon>\\n </div>\\n </div>\\n </ng-template>\\n </ax-collapse>\\n </ax-collapse-group>\\n </div>\\n }\\n </div>\\n</div>\\n\\n<ax-footer>\\n <ax-suffix>\\n <ax-button look=\\\"solid\\\" [text]=\\\"('close' | translate | async)!\\\" (onClick)=\\\"handleCloseClick()\\\"> </ax-button>\\n <ax-button look=\\\"solid\\\" color=\\\"primary\\\" [text]=\\\"('select' | translate | async)!\\\" (onClick)=\\\"handleSelectClick()\\\">\\n </ax-button>\\n </ax-suffix>\\n</ax-footer>\\n\\n<ng-template #itemTemplate let-item>\\n <div class=\\\"ax-flex ax-items-center ax-justify-between ax-w-full\\\">\\n <span>{{ item.text }}</span>\\n @if(item.hasCheckbox) {\\n <ax-icon \\n class=\\\"fa-regular fa-eye ax-text-primary ax-cursor-pointer ax-ml-2\\\" \\n (click)=\\\"handlePreviewMeta(item)\\\"\\n title=\\\"Preview Meta\\\">\\n </ax-icon>\\n }\\n </div>\\n</ng-template>\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YS1jaG9vc2UtcG9wdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2RvY3VtZW50LW1hbmFnZW1lbnQvc3JjL2xpYi9mZWF0dXJlcy9tZXRhLWNob29zZS13aWRnZXQvbWV0YS1jaG9vc2UtcG9wdXAvbWV0YS1jaG9vc2UtcG9wdXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2RvY3VtZW50LW1hbmFnZW1lbnQvc3JjL2xpYi9mZWF0dXJlcy9tZXRhLWNob29zZS13aWRnZXQvbWV0YS1jaG9vc2UtcG9wdXAvbWV0YS1jaG9vc2UtcG9wdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQWEsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQWlELE1BQU0sOEJBQThCLENBQUM7QUFDL0csT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRS9ELE9BQU8sRUFBRSxvQ0FBb0MsRUFBdUYsTUFBTSxxQ0FBcUMsQ0FBQztBQUNoTCxPQUFPLEVBQUUsT0FBTyxFQUFlLGFBQWEsRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENB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Q1AsQ0FBQztJQUNMLENBQUM7OEdBbFRRLDJCQUEyQjtrR0FBM0IsMkJBQTJCLG9FQUp6QixFQUVWLGlEQ3RFTCw0cElBK0ZBO2dCRC9DUSxVQUFVO2dCQUNWLFlBQVk7Z0JBQ1osU0FBUztnQkFDVCxpQkFBaUIsNFlBQ2pCLGdCQUFnQiw0b0JBQ2hCLGlCQUFpQixzY0FDakIsY0FBYyw2WEFDZCxtQkFBbUIsOEJBQ25CLGdCQUFnQixxU0FDaEIsZUFBZSw4QkFDZixnQkFBZ0IsOGJBQ2hCLGFBQWE7Z0JBQ2IsdUJBQXVCO2dCQUN2QixXQUFXLHNoQkFDWCxPQUFPLHdjQUNQLGFBQWE7Z0JBQ2IsUUFBUTtnQkFDUixXQUFXOzsyRkFPTiwyQkFBMkI7a0JBN0J2QyxTQUFTOytCQUNJLHVCQUF1QixXQUd4Qjt3QkFDTCxVQUFVO3dCQUNWLFlBQVk7d0JBQ1osU0FBUzt3QkFDVCxpQkFBaUI7d0JBQ2pCLGdCQUFnQjt3QkFDaEIsaUJBQWlCO3dCQUNqQixjQUFjO3dCQUNkLG1CQUFtQjt3QkFDbkIsZ0JBQWdCO3dCQUNoQixlQUFlO3dCQUNmLGdCQUFnQjt3QkFDaEIsYUFBYTt3QkFDYix1QkFBdUI7d0JBQ3ZCLFdBQVc7d0JBQ1gsT0FBTzt3QkFDUCxhQUFhO3dCQUNiLFFBQVE7d0JBQ1IsV0FBVztxQkFDZCxpQkFDYyxpQkFBaUIsQ0FBQyxJQUFJLGFBQzFCLEVBRVYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIHNpZ25hbCwgVmlld0VuY2Fwc3VsYXRpb24sIHZpZXdDaGlsZCwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQVhCYXNlUGFnZUNvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9wYWdlJztcbmltcG9ydCB7IEFYU2VhcmNoQm94TW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3NlYXJjaC1ib3gnO1xuaW1wb3J0IHsgQVhUcmVlVmlld01vZHVsZSwgQVhUcmVlSXRlbUNsaWNrQmFzZUV2ZW50LCBBWFRyZWVWaWV3Q29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3RyZWUtdmlldyc7XG5pbXBvcnQgeyBBWERlY29yYXRvck1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kZWNvcmF0b3JzJztcbmltcG9ydCB7IEFYQnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2J1dHRvbic7XG5pbXBvcnQgeyBBWFRyYW5zbGF0aW9uTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb3JlL3RyYW5zbGF0aW9uJztcbmltcG9ydCB7IEFYVmFsdWVDaGFuZ2VkRXZlbnQgfSBmcm9tICdAYWNvcmV4L2Nkay9jb21tb24nO1xuaW1wb3J0IHsgQVhNTWV0YURhdGFEZWZpbml0aW9uQ2F0ZWdvcnlTZXJ2aWNlLCBBWE1NZXRhRGF0YURlZmluaXRpb25DYXRlZ29yeVdpdGhJdGVtc0VudGl0eU1vZGVsLCBBWE1NZXRhRGF0YURlZmluaXRpb25FbnRpdHlNb2RlbCB9IGZyb20gJ0BhY29yZXgvbW9kdWxlcy9wbGF0Zm9ybS1tYW5hZ2VtZW50JztcbmltcG9ydCB7IENka0RyYWcsIENka0RyYWdEcm9wLCBDZGtEcmFnSGFuZGxlLCBDZGtEcm9wTGlzdCwgbW92ZUl0ZW1JbkFycmF5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XG5pbXBvcnQgeyBBWENoZWNrQm94TW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2NoZWNrLWJveCc7XG5pbXBvcnQgeyBBWFRleHRCb3hNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvdGV4dC1ib3gnO1xuaW1wb3J0IHsgQVhDb2xsYXBzZU1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9jb2xsYXBzZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEFYTGFiZWxNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvbGFiZWwnO1xuaW1wb3J0IHsgQVhQV29ya2Zsb3dTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS93b3JrZmxvdyc7XG5pbXBvcnQgeyBBWFBNZXRhRGF0YURlZmluaXRpb24gfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9idWlsZGVyJztcblxuZXhwb3J0IGludGVyZmFjZSBBWFBNZXRhVHJlZUl0ZW0gZXh0ZW5kcyBBWFBNZXRhRGF0YURlZmluaXRpb24ge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgdGV4dDogc3RyaW5nO1xuICAgIGljb24/OiBzdHJpbmc7XG4gICAgcGFyZW50SWQ/OiBzdHJpbmc7XG4gICAgaGFzQ2hpbGQ/OiBib29sZWFuO1xuICAgIGhhc0NoZWNrYm94PzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBPcHRpb25hbCBjaGlsZHJlbiBjb2xsZWN0aW9uIGZvciBuZXN0ZWQgdHJlZSByZW5kZXJpbmcuXG4gICAgICovXG4gICAgY2hpbGRyZW4/OiBBWFBNZXRhVHJlZUl0ZW1bXTtcbiAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgaXNTZWxlY3RlZDogYm9vbGVhbjtcbn1cblxuLy8jcmVnaW9uIC0tLS0gICBIZWxwZXIgSW50ZXJmYWNlcyAgIC0tLS1cblxuZXhwb3J0IGludGVyZmFjZSBTZWxlY3RlZENvbmZpZyBleHRlbmRzIEFYUE1ldGFUcmVlSXRlbSB7XG4gICAgaXNSZXF1aXJlZDogYm9vbGVhbjtcbiAgICBwbGFjZWhvbGRlcjogc3RyaW5nO1xufVxuXG4vLyNlbmRyZWdpb25cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdheHAtbWV0YS1jaG9vc2UtcG9wdXAnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9tZXRhLWNob29zZS1wb3B1cC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmw6ICcuL21ldGEtY2hvb3NlLXBvcHVwLmNvbXBvbmVudC5zY3NzJyxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIC8vIEFuZ3VsYXJcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICAvLyBBQ29yZVhcbiAgICAgICAgQVhTZWFyY2hCb3hNb2R1bGUsXG4gICAgICAgIEFYVHJlZVZpZXdNb2R1bGUsXG4gICAgICAgIEFYRGVjb3JhdG9yTW9kdWxlLFxuICAgICAgICBBWEJ1dHRvbk1vZHVsZSxcbiAgICAgICAgQVhUcmFuc2xhdGlvbk1vZHVsZSxcbiAgICAgICAgQVhDaGVja0JveE1vZHVsZSxcbiAgICAgICAgQVhUZXh0Qm94TW9kdWxlLFxuICAgICAgICBBWENvbGxhcHNlTW9kdWxlLFxuICAgICAgICBBWExhYmVsTW9kdWxlLFxuICAgICAgICAvLyBDREsgRHJhZ0Ryb3AgbW9kdWxlc1xuICAgICAgICBDZGtEcm9wTGlzdCxcbiAgICAgICAgQ2RrRHJhZyxcbiAgICAgICAgQ2RrRHJhZ0hhbmRsZSxcbiAgICAgICAgLy8gRm9ybXNcbiAgICAgICAgRm9ybXNNb2R1bGUsXG4gICAgXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIHByb3ZpZGVyczogW1xuXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhQTWV0YUNob29zZVBvcHVwQ29tcG9uZW50IGV4dGVuZHMgQVhCYXNlUGFnZUNvbXBvbmVudCB7XG5cbiAgICBwcm90ZWN0ZWQgY2F0ZWdvcnlTZXJ2aWNlID0gaW5qZWN0KEFYTU1ldGFEYXRhRGVmaW5pdGlvbkNhdGVnb3J5U2VydmljZSk7XG4gICAgcHJvdGVjdGVkIHdvcmtmbG93ID0gaW5qZWN0KEFYUFdvcmtmbG93U2VydmljZSk7XG5cbiAgICBwcm90ZWN0ZWQgaW5pdGlhbERhdGE6IFNlbGVjdGVkQ29uZmlnW10gPSBbXTtcblxuICAgIC8qKlxuICAgICAqIEhvbGRzIHRoZSBjb21wbGV0ZSBsaXN0IG9mIHRyZWUgaXRlbXMgaW4gYSBmbGF0dGVuZWQgc3RydWN0dXJlLlxuICAgICAqIFRoaXMgc3RydWN0dXJlIG1ha2VzIGl0IGVhc3kgdG86XG4gICAgICogIDEpIFByb3ZpZGUgY2hpbGRyZW4gbGF6aWx5IHZpYSBgcHJvdmlkZUxhenlUcmVlVmlld2AgdXNpbmcgYHBhcmVudElkYC5cbiAgICAgKiAgMikgUGVyZm9ybSBzZWFyY2ggYWNyb3NzIGFsbCBsZXZlbHMgd2hpbGUgc3RpbGwgYmVpbmcgYWJsZSB0byBpbmNsdWRlXG4gICAgICogICAgIGFuY2VzdG9yIG5vZGVzIG9mIG1hdGNoZWQgaXRlbXMuXG4gICAgICovXG4gICAgdHJlZVZpZXdEYXRhID0gc2lnbmFsPEFYUE1ldGFUcmVlSXRlbVtdPihbXSk7XG5cbiAgICAvKipcbiAgICAgKiBGbGF0IGxpc3Qgb2YgQUxMIG5vZGVzIChmb3IgZWFzeSBsb29rLXVwcyBkdXJpbmcgc2VhcmNoKS5cbiAgICAgKi9cbiAgICBwcml2YXRlIG9yaWdpbmFsRmxhdERhdGE6IEFYUE1ldGFUcmVlSXRlbVtdID0gW107XG5cbiAgICAvKipcbiAgICAgKiBPcmlnaW5hbCAqbmVzdGVkKiB0cmVlIHN0cnVjdHVyZSAodXNlZCB0byByZXNldCBhbmQgdG8gcmVidWlsZCBmaWx0ZXJlZCB0cmVlcykuXG4gICAgICovXG4gICAgcHJpdmF0ZSBvcmlnaW5hbE5lc3RlZERhdGE6IEFYUE1ldGFUcmVlSXRlbVtdID0gW107XG5cbiAgICBwcm90ZWN0ZWQgc2VhcmNoVGVybSA9IHNpZ25hbDxzdHJpbmc+KCcnKTtcblxuICAgIC8vI3JlZ2lvbiAtLS0tICAgU2VsZWN0ZWQgQ29uZmlncyAgIC0tLS1cblxuICAgIHNlbGVjdGVkQ29uZmlncyA9IHNpZ25hbDxTZWxlY3RlZENvbmZpZ1tdPihbXSk7XG5cbiAgICAvLyNlbmRyZWdpb25cblxuICAgIG92ZXJyaWRlIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLmNhdGVnb3J5U2VydmljZS5nZXRBbGxXaXRoSXRlbXMoKS50aGVuKChjYXRlZ29yaWVzKSA9PiB7XG5cbiAgICAgICAgICAgIC8vI3JlZ2lvbiAtLS0tICAgSGVscGVyIEZ1bmN0aW9ucyAgIC0tLS1cblxuICAgICAgICAgICAgY29uc3QgY29udmVydENhdGVnb3J5VG9UcmVlSXRlbSA9IChjYXRlZ29yeTogQVhNTWV0YURhdGFEZWZpbml0aW9uQ2F0ZWdvcnlXaXRoSXRlbXNFbnRpdHlNb2RlbDxzdHJpbmc+KTogQVhQTWV0YVRyZWVJdGVtID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBjYXRlZ29yeUNoaWxkcmVuOiBBWFBNZXRhVHJlZUl0ZW1bXSA9IFtcbiAgICAgICAgICAgICAgICAgICAgLy8gTWFwIHN1Yi1jYXRlZ29yaWVzIHJlY3Vyc2l2ZWx5XG4gICAgICAgICAgICAgICAgICAgIC4uLmNhdGVnb3J5LmNhdGVnb3JpZXMubWFwKChjOiBBWE1NZXRhRGF0YURlZmluaXRpb25DYXRlZ29yeVdpdGhJdGVtc0VudGl0eU1vZGVsPHN0cmluZz4pID0+IGNvbnZlcnRDYXRlZ29yeVRvVHJlZUl0ZW0oYykpLFxuICAgICAgICAgICAgICAgICAgICAvLyBNYXAgaXRlbXMgb2YgY3VycmVudCBjYXRlZ29yeVxuICAgICAgICAgICAgICAgICAgICAuLi5jYXRlZ29yeS5pdGVtcy5tYXAoKGl0ZW06IEFYTU1ldGFEYXRhRGVmaW5pdGlvbkVudGl0eU1vZGVsKSA9PiAoe1xuICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IGl0ZW0uaWQsXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0OiBpdGVtLnRpdGxlLFxuICAgICAgICAgICAgICAgICAgICAgICAgcGFyZW50SWQ6IGNhdGVnb3J5LmlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgaGFzQ2hlY2tib3g6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBpc1NlbGVjdGVkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vXG4gICAgICAgICAgICAgICAgICAgICAgICBpbnRlcmZhY2U6IGl0ZW0uaW50ZXJmYWNlIGFzIHN0cmluZyxcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IGl0ZW0ubmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiBpdGVtLnRpdGxlXG4gICAgICAgICAgICAgICAgICAgIH0pKSxcbiAgICAgICAgICAgICAgICBdO1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgaWQ6IGNhdGVnb3J5LmlkLFxuICAgICAgICAgICAgICAgICAgICB0ZXh0OiBjYXRlZ29yeS50aXRsZSxcbiAgICAgICAgICAgICAgICAgICAgcGFyZW50SWQ6IGNhdGVnb3J5LnBhcmVudElkLFxuICAgICAgICAgICAgICAgICAgICBoYXNDaGVja2JveDogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiBjYXRlZ29yeUNoaWxkcmVuLFxuICAgICAgICAgICAgICAgICAgICBpc1NlbGVjdGVkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgLy9mYWtlXG4gICAgICAgICAgICAgICAgICAgIGludGVyZmFjZTogJycsXG4gICAgICAgICAgICAgICAgICAgIG5hbWU6ICcnLFxuICAgICAgICAgICAgICAgICAgICB0aXRsZTogJydcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgLy8jZW5kcmVnaW9uXG5cbiAgICAgICAgICAgIC8vIEJ1aWxkICoqbmVzdGVkKiogdHJlZSBzdHJ1Y3R1cmUgZmlyc3Qgc28gdGhhdCBlYWNoIHBhcmVudFxuICAgICAgICAgICAgLy8gY29udGFpbnMgaXRzIGNoaWxkcmVuIGFycmF5IChzaW1pbGFyIHRvIHRoZSBzYW1wbGUgYXQgbGluZSAyMDgpLlxuICAgICAgICAgICAgY29uc3QgbmVzdGVkVHJlZTogQVhQTWV0YVRyZWVJdGVtW10gPSBjYXRlZ29yaWVzLm1hcCgoYykgPT4gY29udmVydENhdGVnb3J5VG9UcmVlSXRlbShjKSk7XG5cbiAgICAgICAgICAgIC8vIEFkZGl0aW9uYWxseSBidWlsZCBhIGZsYXR0ZW5lZCBsaXN0IG9mIGFsbCBub2RlcyAoc2FtZSBvYmplY3RzKSBzb1xuICAgICAgICAgICAgLy8gdGhhdCB3ZSBjYW4gcmUtdXNlIHRoZSBleGlzdGluZyBzZWFyY2ggaW1wbGVtZW50YXRpb24gd2hpY2hcbiAgICAgICAgICAgIC8vIGV4cGVjdHMgYSBmbGF0IGFycmF5LlxuICAgICAgICAgICAgY29uc3QgZmxhdExpc3Q6IEFYUE1ldGFUcmVlSXRlbVtdID0gW107XG4gICAgICAgICAgICBjb25zdCBjb2xsZWN0RmxhdCA9IChub2RlczogQVhQTWV0YVRyZWVJdGVtW10pID0+IHtcbiAgICAgICAgICAgICAgICBub2Rlcy5mb3JFYWNoKChuKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGZsYXRMaXN0LnB1c2gobik7XG4gICAgICAgICAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KG4uY2hpbGRyZW4pICYmIG4uY2hpbGRyZW4ubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sbGVjdEZsYXQobi5jaGlsZHJlbik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBjb2xsZWN0RmxhdChuZXN0ZWRUcmVlKTtcblxuICAgICAgICAgICAgLy8gLS0tICAgQXBwbHkgaW5pdGlhbCBzZWxlY3Rpb25zICAgLS0tXG4gICAgICAgICAgICBpZiAodGhpcy5pbml0aWFsRGF0YSAmJiB0aGlzLmluaXRpYWxEYXRhLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICBjb25zdCBpbml0aWFsSWRzID0gbmV3IFNldCh0aGlzLmluaXRpYWxEYXRhLm1hcCgoZCkgPT4gZC5pZCkpO1xuXG4gICAgICAgICAgICAgICAgZmxhdExpc3QuZm9yRWFjaCgobm9kZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAobm9kZS5oYXNDaGVja2JveCAmJiBpbml0aWFsSWRzLmhhcyhub2RlLmlkKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbm9kZS5pc1NlbGVjdGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBQZXJzaXN0IG9yaWdpbmFsIGRhdGEgKGJvdGggZmxhdHRlbmVkIGFuZCBuZXN0ZWQpICYgaW5pdGlhbGlzZSByZWFjdGl2ZSBzaWduYWwuXG4gICAgICAgICAgICB0aGlzLm9yaWdpbmFsRmxhdERhdGEgPSBmbGF0TGlzdDtcbiAgICAgICAgICAgIHRoaXMub3JpZ2luYWxOZXN0ZWREYXRhID0gbmVzdGVkVHJlZTtcblxuICAgICAgICAgICAgLy8gU2V0IGluaXRpYWwgdHJlZSB2aWV3IGRhdGEgdG8gZGlzcGxheSB0aGUgdHJlZVxuICAgICAgICAgICAgdGhpcy50cmVlVmlld0RhdGEuc2V0KFsuLi5uZXN0ZWRUcmVlXSk7XG5cbiAgICAgICAgICAgIC8vIEluaXRpYWxpc2Ugc2VsZWN0ZWQgbGlzdCBpZiBhbnkgaW5pdGlhbCBzZWxlY3Rpb25zXG4gICAgICAgICAgICB0aGlzLnN5bmNocm9uaXNlU2VsZWN0ZWRDb25maWdzKCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRDb25maWdzLnNldCh0aGlzLmluaXRpYWxEYXRhID8/IFtdKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgaGFuZGxlU2VsZWN0Q2xpY2soKSB7XG4gICAgICAgIC8vIFJldHVybiB0aGUgY29uZmlndXJlZCBzZWxlY3RlZCBpdGVtcyBmcm9tIHRoZSByaWdodCBwYW5lbFxuICAgICAgICBjb25zdCBzZWxlY3RlZENvbmZpZ3MgPSB0aGlzLnNlbGVjdGVkQ29uZmlncygpO1xuXG4gICAgICAgIGlmIChzZWxlY3RlZENvbmZpZ3MubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgdGhpcy5jbG9zZShzZWxlY3RlZENvbmZpZ3MpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGhhbmRsZUNsb3NlQ2xpY2soKSB7XG4gICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgaGFuZGxlQ2hhbmdlU2VhcmNoVmFsdWUoZTogQVhWYWx1ZUNoYW5nZWRFdmVudCkge1xuICAgICAgICBjb25zdCB0ZXJtID0gKGUudmFsdWUgPz8gJycpLnRyaW0oKTtcbiAgICAgICAgdGhpcy5zZWFyY2hUZXJtLnNldCh0ZXJtKTtcblxuICAgICAgICAvLyBSZXNldCB0byB0aGUgcHJpc3RpbmUgbmVzdGVkIHRyZWUgd2hlbiBzZWFyY2ggaXMgY2xlYXJlZC5cbiAgICAgICAgaWYgKCF0ZXJtKSB7XG4gICAgICAgICAgICB0aGlzLnRyZWVWaWV3RGF0YS5zZXQoWy4uLnRoaXMub3JpZ2luYWxOZXN0ZWREYXRhXSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBsb3dlcmVkVGVybSA9IHRlcm0udG9Mb3dlckNhc2UoKTtcblxuICAgICAgICAvLyBCdWlsZCBhIHF1aWNrIGxvb2t1cCBtYXAgdG8gdHJhdmVyc2UgYW5jZXN0b3JzIGVmZmljaWVudGx5XG4gICAgICAgIGNvbnN0IG1hcEJ5SWQgPSBuZXcgTWFwPHN0cmluZywgQVhQTWV0YVRyZWVJdGVtPihcbiAgICAgICAgICAgIHRoaXMub3JpZ2luYWxGbGF0RGF0YS5tYXAoKGl0ZW0pID0+IFtpdGVtLmlkLCBpdGVtXSlcbiAgICAgICAgKTtcblxuICAgICAgICAvLyBIZWxwZXIgdG8gY29sbGVjdCBhbGwgYW5jZXN0b3JzIG9mIGEgZ2l2ZW4gbm9kZVxuICAgICAgICBjb25zdCBjb2xsZWN0QW5jZXN0b3JzID0gKG5vZGU6IEFYUE1ldGFUcmVlSXRlbSk6IEFYUE1ldGFUcmVlSXRlbVtdID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGFuY2VzdG9yczogQVhQTWV0YVRyZWVJdGVtW10gPSBbXTtcbiAgICAgICAgICAgIGxldCBjdXJyZW50UGFyZW50SWQgPSBub2RlLnBhcmVudElkO1xuICAgICAgICAgICAgd2hpbGUgKGN1cnJlbnRQYXJlbnRJZCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHBhcmVudCA9IG1hcEJ5SWQuZ2V0KGN1cnJlbnRQYXJlbnRJZCk7XG4gICAgICAgICAgICAgICAgaWYgKCFwYXJlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGFuY2VzdG9ycy5wdXNoKHBhcmVudCk7XG4gICAgICAgICAgICAgICAgY3VycmVudFBhcmVudElkID0gcGFyZW50LnBhcmVudElkO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGFuY2VzdG9ycztcbiAgICAgICAgfTtcblxuICAgICAgICAvLyAxKSBGaW5kIGFsbCBub2RlcyB3aG9zZSB0ZXh0IGNvbnRhaW5zIHRoZSBzZWFyY2ggdGVybVxuICAgICAgICBjb25zdCBtYXRjaGVkTm9kZXMgPSB0aGlzLm9yaWdpbmFsRmxhdERhdGEuZmlsdGVyKChpdGVtKSA9PlxuICAgICAgICAgICAgaXRlbS50ZXh0LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMobG93ZXJlZFRlcm0pXG4gICAgICAgICk7XG5cbiAgICAgICAgLy8gMikgQ29sbGVjdCB0aGVpciBhbmNlc3RvcnMgdG8gZW5zdXJlIHRoZSB0cmVlIGNhbiByZW5kZXIgY29ycmVjdCBwYXRoc1xuICAgICAgICBjb25zdCByZXN1bHRTZXQgPSBuZXcgTWFwPHN0cmluZywgQVhQTWV0YVRyZWVJdGVtPigpO1xuICAgICAgICBtYXRjaGVkTm9kZXMuZm9yRWFjaCgobm9kZSkgPT4ge1xuICAgICAgICAgICAgcmVzdWx0U2V0LnNldChub2RlLmlkLCBub2RlKTtcbiAgICAgICAgICAgIGNvbGxlY3RBbmNlc3RvcnMobm9kZSkuZm9yRWFjaCgoYW5jZXN0b3IpID0+IHJlc3VsdFNldC5zZXQoYW5jZXN0b3IuaWQsIGFuY2VzdG9yKSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAvLyBFbnN1cmUgY2hpbGQgbm9kZXMgYXJlIE5PVCByZW5kZXJlZCBhdCB0aGUgcm9vdCBsZXZlbC5cbiAgICAgICAgLy8gV2Ugb25seSBwYXNzIG5vZGVzIHRvIHRoZSB0cmVlIGNvbXBvbmVudCB0aGF0IGRvICoqbm90KipcbiAgICAgICAgLy8gaGF2ZSB0aGVpciBwYXJlbnQgYWxyZWFkeSBwcmVzZW50IGluIHRoZSBmaW5hbCByZXN1bHQgc2V0LlxuICAgICAgICAvLyBUaGlzIHByZXNlcnZlcyB0aGUgY29ycmVjdCBoaWVyYXJjaHkgYW5kIHByZXZlbnRzIGR1cGxpY2F0ZXNcbiAgICAgICAgLy8gbGlrZSB0aGUgZXh0cmEgcm9vdC1sZXZlbCBlbnRyeSBoaWdobGlnaHRlZCBpbiB5ZWxsb3cuXG4gICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAvLyBCdWlsZCBhICpuZXN0ZWQqIHRyZWUgdGhhdCBjb250YWlucyBPTkxZIG5vZGVzIHByZXNlbnQgaW4gYHJlc3VsdFNldGAuXG4gICAgICAgIGNvbnN0IGlkU2V0ID0gbmV3IFNldDxzdHJpbmc+KHJlc3VsdFNldC5rZXlzKCkpO1xuXG4gICAgICAgIGNvbnN0IGNsb25lSWZJbmNsdWRlZCA9IChub2RlOiBBWFBNZXRhVHJlZUl0ZW0pOiBBWFBNZXRhVHJlZUl0ZW0gfCBudWxsID0+IHtcbiAgICAgICAgICAgIGlmICghaWRTZXQuaGFzKG5vZGUuaWQpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IGNsb25lZDogQVhQTWV0YVRyZWVJdGVtID0ge1xuICAgICAgICAgICAgICAgIC4uLm5vZGUsXG4gICAgICAgICAgICAgICAgLy8gQ3JlYXRlIGZyZXNoIGNoaWxkcmVuIGFycmF5ICh3aWxsIGJlIHBvcHVsYXRlZCByZWN1cnNpdmVseSlcbiAgICAgICAgICAgICAgICBjaGlsZHJlbjogW11cbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KG5vZGUuY2hpbGRyZW4pKSB7XG4gICAgICAgICAgICAgICAgbm9kZS5jaGlsZHJlbi5mb3JFYWNoKChjaGlsZCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBjID0gY2xvbmVJZkluY2x1ZGVkKGNoaWxkKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsb25lZC5jaGlsZHJlbiEucHVzaChjKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gY2xvbmVkO1xuICAgICAgICB9O1xuXG4gICAgICAgIGNvbnN0IGZpbHRlcmVkUm9vdHM6IEFYUE1ldGFUcmVlSXRlbVtdID0gW107XG4gICAgICAgIHRoaXMub3JpZ2luYWxOZXN0ZWREYXRhLmZvckVhY2goKHJvb3QpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGNsb25lZFJvb3QgPSBjbG9uZUlmSW5jbHVkZWQocm9vdCk7XG4gICAgICAgICAgICBpZiAoY2xvbmVkUm9vdCkge1xuICAgICAgICAgICAgICAgIGZpbHRlcmVkUm9vdHMucHVzaChjbG9uZWRSb290KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy50cmVlVmlld0RhdGEuc2V0KGZpbHRlcmVkUm9vdHMpO1xuICAgIH1cblxuICAgIC8vI3JlZ2lvbiAtLS0tICAgVHJlZSBJbnRlcmFjdGlvbiBIYW5kbGVycyAgIC0tLS1cblxuICAgIHByb3RlY3RlZCBoYW5kbGVTZWxlY3Rpb25DaGFuZ2VkKGU6IEFYVHJlZUl0ZW1DbGlja0Jhc2VFdmVudCkge1xuICAgICAgICAvLyBUcmVlIHRvZ2dsZXMgc2VsZWN0aW9uIGludGVybmFsbHk7IGp1c3Qgc3luYyBjb25maWdzIGFmdGVyd2FyZHNcbiAgICAgICAgdGhpcy5zeW5jaHJvbmlzZVNlbGVjdGVkQ29uZmlncygpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc3luY2hyb25pc2VTZWxlY3RlZENvbmZpZ3MoKSB7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkTm9kZXMgPSB0aGlzLm9yaWdpbmFsRmxhdERhdGEuZmlsdGVyKChuKSA9PiBuLmhhc0NoZWNrYm94ICYmIG4uaXNTZWxlY3RlZCk7XG5cbiAgICAgICAgdGhpcy5zZWxlY3RlZENvbmZpZ3MudXBkYXRlKChwcmV2KSA9PiB7XG4gICAgICAgICAgICAvLyBSZW1vdmUgY29uZmlncyB0aGF0IGFyZSBubyBsb25nZXIgc2VsZWN0ZWRcbiAgICAgICAgICAgIGxldCBuZXh0ID0gcHJldi5maWx0ZXIoKGNmZykgPT4gc2VsZWN0ZWROb2Rlcy5zb21lKChuKSA9PiBuLmlkID09PSBjZmcuaWQpKTtcblxuICAgICAgICAgICAgLy8gQWRkIG5ldyBjb25maWdzXG4gICAgICAgICAgICBzZWxlY3RlZE5vZGVzLmZvckVhY2goKG4pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoIW5leHQuc29tZSgoY2ZnKSA9PiBjZmcuaWQgPT09IG4uaWQpKSB7XG4gICAgICAgICAgICAgICAgICAgIG5leHQucHVzaCh7IC4uLm4sIGlzUmVxdWlyZWQ6IGZhbHNlLCBwbGFjZWhvbGRlcjogJycgICwgc3RhdHVzOiAndGVtcG9yYXJ5JyB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgcmV0dXJuIFsuLi5uZXh0XTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHRvZ2dsZVNlbGVjdGlvbihjZmc6IFNlbGVjdGVkQ29uZmlnKSB7XG4gICAgICAgIC8vIEZpbmQgdGhlIG9yaWdpbmFsIG5vZGUgaW4gZmxhdERhdGEgYW5kIHVwZGF0ZSBpdFxuICAgICAgICBjb25zdCBvcmlnaW5hbE5vZGUgPSB0aGlzLm9yaWdpbmFsRmxhdERhdGEuZmluZChuID0+IG4uaWQgPT09IGNmZy5pZCk7XG4gICAgICAgIGlmIChvcmlnaW5hbE5vZGUpIHtcbiAgICAgICAgICAgIG9yaWdpbmFsTm9kZS5pc1NlbGVjdGVkID0gIW9yaWdpbmFsTm9kZS5pc1NlbGVjdGVkO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gRm9yY2UgdHJlZSB2aWV3IHRvIHVwZGF0ZSBieSB0cmlnZ2VyaW5nIHNpZ25hbCBjaGFuZ2VcbiAgICAgICAgdGhpcy50cmVlVmlld0RhdGEuc2V0KFsuLi50aGlzLnRyZWVWaWV3RGF0YSgpXSk7XG5cbiAgICAgICAgdGhpcy5zeW5jaHJvbmlzZVNlbGVjdGVkQ29uZmlncygpO1xuICAgIH1cblxuICAgIC8vI2VuZHJlZ2lvblxuXG4gICAgLy8jcmVnaW9uIC0tLS0gICBEcmFnICYgRHJvcCAoT3JkZXJpbmcpICAgLS0tLVxuXG4gICAgcHJvdGVjdGVkIGhhbmRsZURyb3AoZXZlbnQ6IENka0RyYWdEcm9wPFNlbGVjdGVkQ29uZmlnW10+KSB7XG4gICAgICAgIGNvbnN0IGxpc3QgPSBbLi4udGhpcy5zZWxlY3RlZENvbmZpZ3MoKV07XG4gICAgICAgIG1vdmVJdGVtSW5BcnJheShsaXN0LCBldmVudC5wcmV2aW91c0luZGV4LCBldmVudC5jdXJyZW50SW5kZXgpO1xuICAgICAgICB0aGlzLnNlbGVjdGVkQ29uZmlncy5zZXQobGlzdCk7XG4gICAgfVxuXG4gICAgLy8jZW5kcmVnaW9uXG5cbiAgICAvLyNyZWdpb24gLS0tLSAgIE1hbnVhbCBPcmRlcmluZyBNZXRob2RzICAgLS0tLVxuXG4gICAgcHJvdGVjdGVkIG1vdmVJdGVtVXAoZTogTW91c2VFdmVudCwgaW5kZXg6IG51bWJlcikge1xuICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICBpZiAoaW5kZXggPD0gMCkgcmV0dXJuOyAvLyBBbHJlYWR5IGF0IHRvcFxuXG4gICAgICAgIGNvbnN0IGxpc3QgPSBbLi4udGhpcy5zZWxlY3RlZENvbmZpZ3MoKV07XG4gICAgICAgIFtsaXN0W2luZGV4IC0gMV0sIGxpc3RbaW5kZXhdXSA9IFtsaXN0W2luZGV4XSwgbGlzdFtpbmRleCAtIDFdXTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZENvbmZpZ3Muc2V0KGxpc3QpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBtb3ZlSXRlbURvd24oZTogTW91c2VFdmVudCwgaW5kZXg6IG51bWJlcikge1xuICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICBjb25zdCBjdXJyZW50TGlzdCA9IHRoaXMuc2VsZWN0ZWRDb25maWdzKCk7XG4gICAgICAgIGlmIChpbmRleCA+PSBjdXJyZW50TGlzdC5sZW5ndGggLSAxKSByZXR1cm47IC8vIEFscmVhZHkgYXQgYm90dG9tXG5cbiAgICAgICAgY29uc3QgbGlzdCA9IFsuLi5jdXJyZW50TGlzdF07XG4gICAgICAgIFtsaXN0W2luZGV4XSwgbGlzdFtpbmRleCArIDFdXSA9IFtsaXN0W2luZGV4ICsgMV0sIGxpc3RbaW5kZXhdXTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZENvbmZpZ3Muc2V0KGxpc3QpO1xuXG4gICAgfVxuXG4gICAgLy8jZW5kcmVnaW9uXG5cbiAgICAvLyNyZWdpb24gLS0tLSAgIFRlbXBsYXRlIEFjdGlvbnMgICAtLS0tXG5cbiAgICBwcm90ZWN0ZWQgYXN5bmMgaGFuZGxlUHJldmlld01ldGEoaXRlbTogQVhQTWV0YVRyZWVJdGVtKSB7XG4gICAgICAgIGlmIChpdGVtLmhhc0NoZWNrYm94KSB7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLndvcmtmbG93LmV4ZWN1dGUoJ29wZW4tZm9ybS10ZW1wbGF0ZScsIHtcbiAgICAgICAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICAgICAgICAgIHRlbXBsYXRlOiBpdGVtLmludGVyZmFjZSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIG1ldGFkYXRhOiB7XG4gICAgICAgICAgICAgICAgICAgIHByZXZpZXc6IHRydWUsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8jZW5kcmVnaW9uXG59XG4iLCI8ZGl2IGNsYXNzPVwiYXgtcC00IGF4LWZsZXggYXgtZ2FwLTQgYXgtb3ZlcmZsb3ctaGlkZGVuXCI+XG4gIDwhLS0gTGVmdDogTWV0YSB0cmVlIC0tPlxuICA8ZGl2IGNsYXNzPVwiYXgtZmxleC0xIGF4LWZsZXggYXgtZmxleC1jb2wgYXgtZ2FwLTQgYXgtbWluLXctMFwiPlxuICAgIDxheC1zZWFyY2gtYm94XG4gICAgICBbcGxhY2Vob2xkZXJdPVwiJ3dpZGdldC5sb29rdXAuc2VhcmNoJyB8IHRyYW5zbGF0ZSB8IGFzeW5jXCJcbiAgICAgIFt2YWx1ZV09XCJzZWFyY2hUZXJtKClcIlxuICAgICAgKG9uVmFsdWVDaGFuZ2VkKT1cImhhbmRsZUNoYW5nZVNlYXJjaFZhbHVlKCRldmVudClcIlxuICAgICAgPjxheC1jbGVhci1idXR0b24+PC9heC1jbGVhci1idXR0b25cbiAgICA+PC9heC1zZWFyY2gtYm94PlxuXG4gICAgPGF4LXRyZWUtdmlld1xuICAgICAgW2hhc0NoaWxkRmllbGRdPVwiJ2hhc0NoaWxkJ1wiXG4gICAgICBbcGFyZW50RmllbGRdPVwiJ3BhcmVudElkJ1wiXG4gICAgICBbaXRlbXNdPVwidHJlZVZpZXdEYXRhKClcIlxuICAgICAgW3NlbGVjdGlvbk1vZGVdPVwiJ211bHRpcGxlJ1wiXG4gICAgICBbc2VsZWN0ZWRGaWVsZF09XCInaXNTZWxlY3RlZCdcIlxuICAgICAgKG9uU2VsZWN0aW9uQ2hhbmdlZCk9XCJoYW5kbGVTZWxlY3Rpb25DaGFuZ2VkKCRldmVudClcIlxuICAgICAgW2l0ZW1UZW1wbGF0ZV09XCJpdGVtVGVtcGxhdGVcIlxuICAgICAgW2ZvY3VzTm9kZUVuYWJsZWRdPVwiZmFsc2VcIlxuICAgICAgY2xhc3M9XCJheC1mbGV4LTEgYXgtb3ZlcmZsb3ctYXV0b1wiXG4gICAgPjwvYXgtdHJlZS12aWV3PlxuICA8L2Rpdj5cblxuICA8IS0tIFJpZ2h0OiBTZWxlY3RlZCBsaXN0IC0tPlxuICA8ZGl2IGNsYXNzPVwiYXgtdy0xLzIgYXgtZmxleCBheC1mbGV4LWNvbCBheC1nYXAtMyBheC1zZWxlY3Qtbm9uZSBheC1vdmVyZmxvdy1hdXRvIGF4LWgtWzQwMHB4XVwiIGNka0Ryb3BMaXN0IChjZGtEcm9wTGlzdERyb3BwZWQpPVwiaGFuZGxlRHJvcCgkZXZlbnQpXCI+XG4gICAgPGg2IGNsYXNzPVwiYXgtZm9udC1zZW1pYm9sZCBheC10ZXh0LXNtXCIgKm5nSWY9XCJzZWxlY3RlZENvbmZpZ3MoKS5sZW5ndGhcIj5TZWxlY3RlZCBJdGVtczwvaDY+XG5cbiAgICBAZm9yKGNmZyBvZiBzZWxlY3RlZENvbmZpZ3MoKTsgdHJhY2sgY2ZnLmlkOyBsZXQgaSA9ICRpbmRleCkge1xuICAgICAgPGRpdiBjZGtEcmFnIGNsYXNzPVwiYXgtYmctd2hpdGUgYXgtcm91bmRlZC1tZCBheC1zaGFkb3ctc20gYXgtYm9yZGVyIGF4LWJvcmRlci1ncmF5LTIwMFwiIGNka0RyYWdCb3VuZGFyeT1cIi5heC1zZWxlY3Qtbm9uZVwiPlxuICAgICAgICA8IS0tIENvbGxhcHNlIHdpdGggY3VzdG9tIGhlYWRlciB0ZW1wbGF0ZSAtLT5cbiAgICAgICAgPGF4LWNvbGxhcHNlLWdyb3VwIGxvb2s9XCJmaWxsXCI+XG4gICAgICAgICAgPGF4LWNvbGxhcHNlIGNhcHRpb249XCJPcHRpb25zXCIgW2hlYWRlclRlbXBsYXRlXT1cImhlYWRlclRwbFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtZmxleC1jb2xcIj5cbiAgICAgICAgICAgICAgICA8YXgtY2hlY2stYm94XG4gICAgICAgICAgICAgICAgICBbbmdNb2RlbF09XCJjZmcuaXNSZXF1aXJlZFwiXG4gICAgICAgICAgICAgICAgICAob25WYWx1ZUNoYW5nZWQpPVwiY2ZnLmlzUmVxdWlyZWQgPSAkZXZlbnQudmFsdWUgPz8gZmFsc2VcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8YXgtbGFiZWw+e3sgJ3JlcXVpcmVkJyB8IHRyYW5zbGF0ZSB8IGFzeW5jIH19PC9heC1sYWJlbD5cbiAgICAgICAgICAgICAgPC9heC1jaGVjay1ib3g+XG4gICAgICAgICAgICAgICBcbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgXG4gICAgICAgICAgICA8IS0tIEhlYWRlciB0ZW1wbGF0ZSAtLT5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjaGVhZGVyVHBsPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtZmxleCBheC1pdGVtcy1jZW50ZXIgYXgtanVzdGlmeS1iZXR3ZWVuIGF4LXctZnVsbCBheC1weC0zIGF4LXB5LTJcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtZmxleCBheC1pdGVtcy1jZW50ZXIgYXgtZ2FwLTJcIj5cbiAgICAgICAgICAgICAgICAgIDxheC1pY29uIGNsYXNzPVwiZmEtc29saWQgZmEtZ3JpcC1kb3RzLXZlcnRpY2FsIGF4LWN1cnNvci1tb3ZlIGF4LXRleHQtZ3JheS00MDBcIiBjZGtEcmFnSGFuZGxlPjwvYXgtaWNvbj5cbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYXgtdGV4dC1zbSBheC1mb250LW1lZGl1bVwiPnt7IGNmZy50ZXh0IH19PC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1mbGV4IGF4LWl0ZW1zLWNlbnRlciBheC1nYXAtMVwiPlxuICAgICAgICAgICAgICAgICAgPGF4LWljb24gXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZmEtc29saWQgZmEtY2hldnJvbi11cCBheC10ZXh0LXByaW1hcnkgYXgtY3Vyc29yLXBvaW50ZXIgYXgtdGV4dC14c1wiIFxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwibW92ZUl0ZW1VcCgkZXZlbnQsaSlcIlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3MuYXgtb3BhY2l0eS0zMF09XCJpID09PSAwXCJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmF4LWN1cnNvci1ub3QtYWxsb3dlZF09XCJpID09PSAwXCJcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU9XCJNb3ZlIFVwXCI+XG4gICAgICAgICAgICAgICAgICA8L2F4LWljb24+XG4gICAgICAgICAgICAgICAgICA8YXgtaWNvbiBcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmYS1zb2xpZCBmYS1jaGV2cm9uLWRvd24gYXgtdGV4dC1wcmltYXJ5IGF4LWN1cnNvci1wb2ludGVyIGF4LXRleHQteHMgYXgtcHgtMlwiIFxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwibW92ZUl0ZW1Eb3duKCRldmVudCxpKVwiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5heC1vcGFjaXR5LTMwXT1cImkgPT09IHNlbGVjdGVkQ29uZmlncygpLmxlbmd0aCAtIDFcIlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3MuYXgtY3Vyc29yLW5vdC1hbGxvd2VkXT1cImkgPT09IHNlbGVjdGVkQ29uZmlncygpLmxlbmd0aCAtIDFcIlxuICAgICAgICAgICAgICAgICAgICB0aXRsZT1cIk1vdmUgRG93blwiPlxuICAgICAgICAgICAgICAgICAgPC9heC1pY29uPlxuICAgICAgICAgICAgICAgICAgPGF4LWljb24gY2xhc3M9XCJmYS1zb2xpZCBmYS14bWFyayBheC10ZXh0LWRhbmdlciBheC1jdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJ0b2dnbGVTZWxlY3Rpb24oY2ZnKVwiPjwvYXgtaWNvbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgIDwvYXgtY29sbGFwc2U+XG4gICAgICAgIDwvYXgtY29sbGFwc2UtZ3JvdXA+XG4gICAgICA8L2Rpdj5cbiAgICB9XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxheC1mb290ZXI+XG4gIDxheC1zdWZmaXg+XG4gICAgPGF4LWJ1dHRvbiBsb29rPVwic29saWRcIiBbdGV4dF09XCIoJ2Nsb3NlJyB8IHRyYW5zbGF0ZSB8IGFzeW5jKSFcIiAob25DbGljayk9XCJoYW5kbGVDbG9zZUNsaWNrKClcIj4gPC9heC1idXR0b24+XG4gICAgPGF4LWJ1dHRvbiBsb29rPVwic29saWRcIiBjb2xvcj1cInByaW1hcnlcIiBbdGV4dF09XCIoJ3NlbGVjdCcgfCB0cmFuc2xhdGUgfCBhc3luYykhXCIgKG9uQ2xpY2spPVwiaGFuZGxlU2VsZWN0Q2xpY2soKVwiPlxuICAgIDwvYXgtYnV0dG9uPlxuICA8L2F4LXN1ZmZpeD5cbjwvYXgtZm9vdGVyPlxuXG48bmctdGVtcGxhdGUgI2l0ZW1UZW1wbGF0ZSBsZXQtaXRlbT5cbiAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtaXRlbXMtY2VudGVyIGF4LWp1c3RpZnktYmV0d2VlbiBheC13LWZ1bGxcIj5cbiAgICA8c3Bhbj57eyBpdGVtLnRleHQgfX08L3NwYW4+XG4gICAgQGlmKGl0ZW0uaGFzQ2hlY2tib3gpIHtcbiAgICA8YXgtaWNvbiBcbiAgICAgIGNsYXNzPVwiZmEtcmVndWxhciBmYS1leWUgYXgtdGV4dC1wcmltYXJ5IGF4LWN1cnNvci1wb2ludGVyIGF4LW1sLTJcIiBcbiAgICAgIChjbGljayk9XCJoYW5kbGVQcmV2aWV3TWV0YShpdGVtKVwiXG4gICAgICB0aXRsZT1cIlByZXZpZXcgTWV0YVwiPlxuICAgIDwvYXgtaWNvbj5cbiAgICB9XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ=="],"names":["i2","i4","i5","i8","i9","i10"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"acorex-modules-document-management-meta-choose-popup.component-D5Csi3A3.mjs","sources":["../tmp-esm2022/document-management/lib/features/meta-choose-widget/meta-choose-popup/meta-choose-popup.component.js"],"sourcesContent":["import { Component, signal, ViewEncapsulation, inject } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AXBasePageComponent } from '@acorex/components/page';\nimport { AXSearchBoxModule } from '@acorex/components/search-box';\nimport { AXTreeViewModule } from '@acorex/components/tree-view';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXMMetaDataDefinitionCategoryService } from '@acorex/modules/platform-management';\nimport { CdkDrag, CdkDragHandle, CdkDropList, moveItemInArray } from '@angular/cdk/drag-drop';\nimport { AXCheckBoxModule } from '@acorex/components/check-box';\nimport { AXTextBoxModule } from '@acorex/components/text-box';\nimport { AXCollapseModule } from '@acorex/components/collapse';\nimport { FormsModule } from '@angular/forms';\nimport { AXLabelModule } from '@acorex/components/label';\nimport { AXPWorkflowService } from '@acorex/platform/workflow';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/common\";\nimport * as i2 from \"@acorex/components/search-box\";\nimport * as i3 from \"@acorex/components/tree-view\";\nimport * as i4 from \"@acorex/components/decorators\";\nimport * as i5 from \"@acorex/components/button\";\nimport * as i6 from \"@acorex/components/check-box\";\nimport * as i7 from \"@acorex/components/collapse\";\nimport * as i8 from \"@acorex/components/label\";\nimport * as i9 from \"@angular/forms\";\nimport * as i10 from \"@acorex/core/translation\";\n//#endregion\nexport class AXPMetaChoosePopupComponent extends AXBasePageComponent {\n constructor() {\n super(...arguments);\n this.categoryService = inject(AXMMetaDataDefinitionCategoryService);\n this.workflow = inject(AXPWorkflowService);\n this.initialData = [];\n /**\n * Holds the complete list of tree items in a flattened structure.\n * This structure makes it easy to:\n * 1) Provide children lazily via `provideLazyTreeView` using `parentId`.\n * 2) Perform search across all levels while still being able to include\n * ancestor nodes of matched items.\n */\n this.treeViewData = signal([], ...(ngDevMode ? [{ debugName: \"treeViewData\" }] : []));\n /**\n * Flat list of ALL nodes (for easy look-ups during search).\n */\n this.originalFlatData = [];\n /**\n * Original *nested* tree structure (used to reset and to rebuild filtered trees).\n */\n this.originalNestedData = [];\n this.searchTerm = signal('', ...(ngDevMode ? [{ debugName: \"searchTerm\" }] : []));\n //#region ---- Selected Configs ----\n this.selectedConfigs = signal([], ...(ngDevMode ? [{ debugName: \"selectedConfigs\" }] : []));\n }\n //#endregion\n ngOnInit() {\n this.categoryService.getAllWithItems().then((categories) => {\n //#region ---- Helper Functions ----\n const convertCategoryToTreeItem = (category) => {\n const categoryChildren = [\n // Map sub-categories recursively\n ...category.categories.map((c) => convertCategoryToTreeItem(c)),\n // Map items of current category\n ...category.items.map((item) => ({\n id: item.id,\n text: item.title,\n parentId: category.id,\n hasCheckbox: true,\n isSelected: false,\n //\n interface: item.interface,\n name: item.name,\n title: item.title\n })),\n ];\n return {\n id: category.id,\n text: category.title,\n parentId: category.parentId,\n hasCheckbox: false,\n children: categoryChildren,\n isSelected: false,\n //fake\n interface: '',\n name: '',\n title: ''\n };\n };\n //#endregion\n // Build **nested** tree structure first so that each parent\n // contains its children array (similar to the sample at line 208).\n const nestedTree = categories.map((c) => convertCategoryToTreeItem(c));\n // Additionally build a flattened list of all nodes (same objects) so\n // that we can re-use the existing search implementation which\n // expects a flat array.\n const flatList = [];\n const collectFlat = (nodes) => {\n nodes.forEach((n) => {\n flatList.push(n);\n if (Array.isArray(n.children) && n.children.length > 0) {\n collectFlat(n.children);\n }\n });\n };\n collectFlat(nestedTree);\n // --- Apply initial selections ---\n if (this.initialData && this.initialData.length > 0) {\n const initialIds = new Set(this.initialData.map((d) => d.id));\n flatList.forEach((node) => {\n if (node.hasCheckbox && initialIds.has(node.id)) {\n node.isSelected = true;\n }\n });\n }\n // Persist original data (both flattened and nested) & initialise reactive signal.\n this.originalFlatData = flatList;\n this.originalNestedData = nestedTree;\n // Set initial tree view data to display the tree\n this.treeViewData.set([...nestedTree]);\n // Initialise selected list if any initial selections\n this.synchroniseSelectedConfigs();\n });\n this.selectedConfigs.set(this.initialData ?? []);\n }\n handleSelectClick() {\n // Return the configured selected items from the right panel\n const selectedConfigs = this.selectedConfigs();\n if (selectedConfigs.length > 0) {\n this.close(selectedConfigs);\n }\n else {\n this.close();\n }\n }\n handleCloseClick() {\n this.close();\n }\n handleChangeSearchValue(e) {\n const term = (e.value ?? '').trim();\n this.searchTerm.set(term);\n // Reset to the pristine nested tree when search is cleared.\n if (!term) {\n this.treeViewData.set([...this.originalNestedData]);\n return;\n }\n const loweredTerm = term.toLowerCase();\n // Build a quick lookup map to traverse ancestors efficiently\n const mapById = new Map(this.originalFlatData.map((item) => [item.id, item]));\n // Helper to collect all ancestors of a given node\n const collectAncestors = (node) => {\n const ancestors = [];\n let currentParentId = node.parentId;\n while (currentParentId) {\n const parent = mapById.get(currentParentId);\n if (!parent) {\n break;\n }\n ancestors.push(parent);\n currentParentId = parent.parentId;\n }\n return ancestors;\n };\n // 1) Find all nodes whose text contains the search term\n const matchedNodes = this.originalFlatData.filter((item) => item.text.toLowerCase().includes(loweredTerm));\n // 2) Collect their ancestors to ensure the tree can render correct paths\n const resultSet = new Map();\n matchedNodes.forEach((node) => {\n resultSet.set(node.id, node);\n collectAncestors(node).forEach((ancestor) => resultSet.set(ancestor.id, ancestor));\n });\n // ---------------------------------------------------------\n // Ensure child nodes are NOT rendered at the root level.\n // We only pass nodes to the tree component that do **not**\n // have their parent already present in the final result set.\n // This preserves the correct hierarchy and prevents duplicates\n // like the extra root-level entry highlighted in yellow.\n // ---------------------------------------------------------\n // Build a *nested* tree that contains ONLY nodes present in `resultSet`.\n const idSet = new Set(resultSet.keys());\n const cloneIfIncluded = (node) => {\n if (!idSet.has(node.id)) {\n return null;\n }\n const cloned = {\n ...node,\n // Create fresh children array (will be populated recursively)\n children: []\n };\n if (Array.isArray(node.children)) {\n node.children.forEach((child) => {\n const c = cloneIfIncluded(child);\n if (c) {\n cloned.children.push(c);\n }\n });\n }\n return cloned;\n };\n const filteredRoots = [];\n this.originalNestedData.forEach((root) => {\n const clonedRoot = cloneIfIncluded(root);\n if (clonedRoot) {\n filteredRoots.push(clonedRoot);\n }\n });\n this.treeViewData.set(filteredRoots);\n }\n //#region ---- Tree Interaction Handlers ----\n handleSelectionChanged(e) {\n // Tree toggles selection internally; just sync configs afterwards\n this.synchroniseSelectedConfigs();\n }\n synchroniseSelectedConfigs() {\n const selectedNodes = this.originalFlatData.filter((n) => n.hasCheckbox && n.isSelected);\n this.selectedConfigs.update((prev) => {\n // Remove configs that are no longer selected\n let next = prev.filter((cfg) => selectedNodes.some((n) => n.id === cfg.id));\n // Add new configs\n selectedNodes.forEach((n) => {\n if (!next.some((cfg) => cfg.id === n.id)) {\n next.push({ ...n, isRequired: false, placeholder: '', status: 'temporary' });\n }\n });\n return [...next];\n });\n }\n toggleSelection(cfg) {\n // Find the original node in flatData and update it\n const originalNode = this.originalFlatData.find(n => n.id === cfg.id);\n if (originalNode) {\n originalNode.isSelected = !originalNode.isSelected;\n }\n // Force tree view to update by triggering signal change\n this.treeViewData.set([...this.treeViewData()]);\n this.synchroniseSelectedConfigs();\n }\n //#endregion\n //#region ---- Drag & Drop (Ordering) ----\n handleDrop(event) {\n const list = [...this.selectedConfigs()];\n moveItemInArray(list, event.previousIndex, event.currentIndex);\n this.selectedConfigs.set(list);\n }\n //#endregion\n //#region ---- Manual Ordering Methods ----\n moveItemUp(e, index) {\n e.stopPropagation();\n if (index <= 0)\n return; // Already at top\n const list = [...this.selectedConfigs()];\n [list[index - 1], list[index]] = [list[index], list[index - 1]];\n this.selectedConfigs.set(list);\n }\n moveItemDown(e, index) {\n e.stopPropagation();\n const currentList = this.selectedConfigs();\n if (index >= currentList.length - 1)\n return; // Already at bottom\n const list = [...currentList];\n [list[index], list[index + 1]] = [list[index + 1], list[index]];\n this.selectedConfigs.set(list);\n }\n //#endregion\n //#region ---- Template Actions ----\n async handlePreviewMeta(item) {\n if (item.hasCheckbox) {\n await this.workflow.execute('open-form-template', {\n data: {\n template: item.interface,\n },\n metadata: {\n preview: true,\n },\n });\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXPMetaChoosePopupComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.4\", type: AXPMetaChoosePopupComponent, isStandalone: true, selector: \"axp-meta-choose-popup\", providers: [], usesInheritance: true, ngImport: i0, template: \"<div class=\\\"ax-p-4 ax-flex ax-gap-4 ax-overflow-hidden\\\">\\n <!-- Left: Meta tree -->\\n <div class=\\\"ax-flex-1 ax-flex ax-flex-col ax-gap-4 ax-min-w-0\\\">\\n <ax-search-box\\n [placeholder]=\\\"'widget.lookup.search' | translate | async\\\"\\n [value]=\\\"searchTerm()\\\"\\n (onValueChanged)=\\\"handleChangeSearchValue($event)\\\"\\n ><ax-clear-button></ax-clear-button\\n ></ax-search-box>\\n\\n <ax-tree-view\\n [hasChildField]=\\\"'hasChild'\\\"\\n [parentField]=\\\"'parentId'\\\"\\n [items]=\\\"treeViewData()\\\"\\n [selectionMode]=\\\"'multiple'\\\"\\n [selectedField]=\\\"'isSelected'\\\"\\n (onSelectionChanged)=\\\"handleSelectionChanged($event)\\\"\\n [itemTemplate]=\\\"itemTemplate\\\"\\n [focusNodeEnabled]=\\\"false\\\"\\n class=\\\"ax-flex-1 ax-overflow-auto\\\"\\n ></ax-tree-view>\\n </div>\\n\\n <!-- Right: Selected list -->\\n <div class=\\\"ax-w-1/2 ax-flex ax-flex-col ax-gap-3 ax-select-none ax-overflow-auto ax-h-[400px]\\\" cdkDropList (cdkDropListDropped)=\\\"handleDrop($event)\\\">\\n <h6 class=\\\"ax-font-semibold ax-text-sm\\\" *ngIf=\\\"selectedConfigs().length\\\">Selected Items</h6>\\n\\n @for(cfg of selectedConfigs(); track cfg.id; let i = $index) {\\n <div cdkDrag class=\\\"ax-bg-white ax-rounded-md ax-shadow-sm ax-border ax-border-gray-200\\\" cdkDragBoundary=\\\".ax-select-none\\\">\\n <!-- Collapse with custom header template -->\\n <ax-collapse-group look=\\\"fill\\\">\\n <ax-collapse caption=\\\"Options\\\" [headerTemplate]=\\\"headerTpl\\\">\\n <div class=\\\"ax-flex ax-flex-col\\\">\\n <ax-check-box\\n [ngModel]=\\\"cfg.isRequired\\\"\\n (onValueChanged)=\\\"cfg.isRequired = $event.value ?? false\\\"\\n >\\n <ax-label>{{ 'required' | translate | async }}</ax-label>\\n </ax-check-box>\\n \\n </div>\\n \\n <!-- Header template -->\\n <ng-template #headerTpl>\\n <div class=\\\"ax-flex ax-items-center ax-justify-between ax-w-full ax-px-3 ax-py-2\\\">\\n <div class=\\\"ax-flex ax-items-center ax-gap-2\\\">\\n <ax-icon class=\\\"fa-solid fa-grip-dots-vertical ax-cursor-move ax-text-gray-400\\\" cdkDragHandle></ax-icon>\\n <span class=\\\"ax-text-sm ax-font-medium\\\">{{ cfg.text }}</span>\\n </div>\\n <div class=\\\"ax-flex ax-items-center ax-gap-1\\\">\\n <ax-icon \\n class=\\\"fa-solid fa-chevron-up ax-text-primary ax-cursor-pointer ax-text-xs\\\" \\n (click)=\\\"moveItemUp($event,i)\\\"\\n [class.ax-opacity-30]=\\\"i === 0\\\"\\n [class.ax-cursor-not-allowed]=\\\"i === 0\\\"\\n title=\\\"Move Up\\\">\\n </ax-icon>\\n <ax-icon \\n class=\\\"fa-solid fa-chevron-down ax-text-primary ax-cursor-pointer ax-text-xs ax-px-2\\\" \\n (click)=\\\"moveItemDown($event,i)\\\"\\n [class.ax-opacity-30]=\\\"i === selectedConfigs().length - 1\\\"\\n [class.ax-cursor-not-allowed]=\\\"i === selectedConfigs().length - 1\\\"\\n title=\\\"Move Down\\\">\\n </ax-icon>\\n <ax-icon class=\\\"fa-solid fa-xmark ax-text-danger ax-cursor-pointer\\\" (click)=\\\"toggleSelection(cfg)\\\"></ax-icon>\\n </div>\\n </div>\\n </ng-template>\\n </ax-collapse>\\n </ax-collapse-group>\\n </div>\\n }\\n </div>\\n</div>\\n\\n<ax-footer>\\n <ax-suffix>\\n <ax-button look=\\\"solid\\\" [text]=\\\"('close' | translate | async)!\\\" (onClick)=\\\"handleCloseClick()\\\"> </ax-button>\\n <ax-button look=\\\"solid\\\" color=\\\"primary\\\" [text]=\\\"('select' | translate | async)!\\\" (onClick)=\\\"handleSelectClick()\\\">\\n </ax-button>\\n </ax-suffix>\\n</ax-footer>\\n\\n<ng-template #itemTemplate let-item>\\n <div class=\\\"ax-flex ax-items-center ax-justify-between ax-w-full\\\">\\n <span>{{ item.text }}</span>\\n @if(item.hasCheckbox) {\\n <ax-icon \\n class=\\\"fa-regular fa-eye ax-text-primary ax-cursor-pointer ax-ml-2\\\" \\n (click)=\\\"handlePreviewMeta(item)\\\"\\n title=\\\"Preview Meta\\\">\\n </ax-icon>\\n }\\n </div>\\n</ng-template>\\n\", styles: [\"\"], dependencies: [{ kind: \"ngmodule\", type: \n // Angular\n CommonModule }, { kind: \"directive\", type: i1.NgIf, selector: \"[ngIf]\", inputs: [\"ngIf\", \"ngIfThen\", \"ngIfElse\"] }, { kind: \"ngmodule\", type: \n // ACoreX\n AXSearchBoxModule }, { kind: \"component\", type: i2.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: AXTreeViewModule }, { kind: \"component\", type: i3.AXTreeViewComponent, selector: \"ax-tree-view\", inputs: [\"items\", \"showCheckbox\", \"hasCheckboxField\", \"selectionMode\", \"selectionBehavior\", \"selectionScope\", \"focusNodeEnabled\", \"valueField\", \"textField\", \"visibleField\", \"disableField\", \"hasChildField\", \"selectedField\", \"expandedField\", \"tooltipField\", \"childrenField\", \"activeField\", \"indeterminateField\", \"parentField\", \"iconField\", \"toggleIcons\", \"look\", \"showEmptyNodeMassage\", \"itemTemplate\", \"emptyTemplate\", \"expandOn\"], outputs: [\"onSelectionChanged\", \"onItemSelectedChanged\", \"onNodeClick\", \"onCollapsedChanged\", \"onNodedbClick\"] }, { kind: \"ngmodule\", type: AXDecoratorModule }, { kind: \"component\", type: i4.AXDecoratorIconComponent, selector: \"ax-icon\", inputs: [\"icon\"] }, { kind: \"component\", type: i4.AXDecoratorClearButtonComponent, selector: \"ax-clear-button\", inputs: [\"icon\"] }, { kind: \"component\", type: i4.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: AXButtonModule }, { kind: \"component\", type: i5.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: AXTranslationModule }, { kind: \"ngmodule\", type: AXCheckBoxModule }, { kind: \"component\", type: i6.AXCheckBoxComponent, selector: \"ax-check-box\", inputs: [\"disabled\", \"tabIndex\", \"readonly\", \"color\", \"value\", \"name\", \"id\", \"checked\", \"isLoading\", \"indeterminate\"], outputs: [\"onBlur\", \"onFocus\", \"valueChange\", \"onValueChanged\"] }, { kind: \"ngmodule\", type: AXTextBoxModule }, { kind: \"ngmodule\", type: AXCollapseModule }, { kind: \"component\", type: i7.AXCollapseComponent, selector: \"ax-collapse\", inputs: [\"disabled\", \"look\", \"isCollapsed\", \"showHeader\", \"caption\", \"icon\", \"isLoading\", \"headerTemplate\"], outputs: [\"onClick\", \"isCollapsedChange\"] }, { kind: \"component\", type: i7.AXCollapseGroupComponent, selector: \"ax-collapse-group\", inputs: [\"look\", \"accordion\", \"activeIndex\"], outputs: [\"accordionChange\", \"activeIndexChange\"] }, { kind: \"ngmodule\", type: AXLabelModule }, { kind: \"component\", type: i8.AXLabelComponent, selector: \"ax-label\", inputs: [\"required\", \"for\"], outputs: [\"requiredChange\"] }, { kind: \"directive\", type: \n // CDK DragDrop modules\n CdkDropList, selector: \"[cdkDropList], cdk-drop-list\", inputs: [\"cdkDropListConnectedTo\", \"cdkDropListData\", \"cdkDropListOrientation\", \"id\", \"cdkDropListLockAxis\", \"cdkDropListDisabled\", \"cdkDropListSortingDisabled\", \"cdkDropListEnterPredicate\", \"cdkDropListSortPredicate\", \"cdkDropListAutoScrollDisabled\", \"cdkDropListAutoScrollStep\", \"cdkDropListElementContainer\", \"cdkDropListHasAnchor\"], outputs: [\"cdkDropListDropped\", \"cdkDropListEntered\", \"cdkDropListExited\", \"cdkDropListSorted\"], exportAs: [\"cdkDropList\"] }, { kind: \"directive\", type: CdkDrag, selector: \"[cdkDrag]\", inputs: [\"cdkDragData\", \"cdkDragLockAxis\", \"cdkDragRootElement\", \"cdkDragBoundary\", \"cdkDragStartDelay\", \"cdkDragFreeDragPosition\", \"cdkDragDisabled\", \"cdkDragConstrainPosition\", \"cdkDragPreviewClass\", \"cdkDragPreviewContainer\", \"cdkDragScale\"], outputs: [\"cdkDragStarted\", \"cdkDragReleased\", \"cdkDragEnded\", \"cdkDragEntered\", \"cdkDragExited\", \"cdkDragDropped\", \"cdkDragMoved\"], exportAs: [\"cdkDrag\"] }, { kind: \"directive\", type: CdkDragHandle, selector: \"[cdkDragHandle]\", inputs: [\"cdkDragHandleDisabled\"] }, { kind: \"ngmodule\", type: \n // Forms\n FormsModule }, { kind: \"directive\", type: i9.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { kind: \"directive\", type: i9.NgModel, selector: \"[ngModel]:not([formControlName]):not([formControl])\", inputs: [\"name\", \"disabled\", \"ngModel\", \"ngModelOptions\"], outputs: [\"ngModelChange\"], exportAs: [\"ngModel\"] }, { kind: \"pipe\", type: i1.AsyncPipe, name: \"async\" }, { kind: \"pipe\", type: i10.AXTranslatorPipe, name: \"translate\" }], encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXPMetaChoosePopupComponent, decorators: [{\n type: Component,\n args: [{ selector: 'axp-meta-choose-popup', imports: [\n // Angular\n CommonModule,\n // ACoreX\n AXSearchBoxModule,\n AXTreeViewModule,\n AXDecoratorModule,\n AXButtonModule,\n AXTranslationModule,\n AXCheckBoxModule,\n AXTextBoxModule,\n AXCollapseModule,\n AXLabelModule,\n // CDK DragDrop modules\n CdkDropList,\n CdkDrag,\n CdkDragHandle,\n // Forms\n FormsModule,\n ], encapsulation: ViewEncapsulation.None, providers: [], template: \"<div class=\\\"ax-p-4 ax-flex ax-gap-4 ax-overflow-hidden\\\">\\n <!-- Left: Meta tree -->\\n <div class=\\\"ax-flex-1 ax-flex ax-flex-col ax-gap-4 ax-min-w-0\\\">\\n <ax-search-box\\n [placeholder]=\\\"'widget.lookup.search' | translate | async\\\"\\n [value]=\\\"searchTerm()\\\"\\n (onValueChanged)=\\\"handleChangeSearchValue($event)\\\"\\n ><ax-clear-button></ax-clear-button\\n ></ax-search-box>\\n\\n <ax-tree-view\\n [hasChildField]=\\\"'hasChild'\\\"\\n [parentField]=\\\"'parentId'\\\"\\n [items]=\\\"treeViewData()\\\"\\n [selectionMode]=\\\"'multiple'\\\"\\n [selectedField]=\\\"'isSelected'\\\"\\n (onSelectionChanged)=\\\"handleSelectionChanged($event)\\\"\\n [itemTemplate]=\\\"itemTemplate\\\"\\n [focusNodeEnabled]=\\\"false\\\"\\n class=\\\"ax-flex-1 ax-overflow-auto\\\"\\n ></ax-tree-view>\\n </div>\\n\\n <!-- Right: Selected list -->\\n <div class=\\\"ax-w-1/2 ax-flex ax-flex-col ax-gap-3 ax-select-none ax-overflow-auto ax-h-[400px]\\\" cdkDropList (cdkDropListDropped)=\\\"handleDrop($event)\\\">\\n <h6 class=\\\"ax-font-semibold ax-text-sm\\\" *ngIf=\\\"selectedConfigs().length\\\">Selected Items</h6>\\n\\n @for(cfg of selectedConfigs(); track cfg.id; let i = $index) {\\n <div cdkDrag class=\\\"ax-bg-white ax-rounded-md ax-shadow-sm ax-border ax-border-gray-200\\\" cdkDragBoundary=\\\".ax-select-none\\\">\\n <!-- Collapse with custom header template -->\\n <ax-collapse-group look=\\\"fill\\\">\\n <ax-collapse caption=\\\"Options\\\" [headerTemplate]=\\\"headerTpl\\\">\\n <div class=\\\"ax-flex ax-flex-col\\\">\\n <ax-check-box\\n [ngModel]=\\\"cfg.isRequired\\\"\\n (onValueChanged)=\\\"cfg.isRequired = $event.value ?? false\\\"\\n >\\n <ax-label>{{ 'required' | translate | async }}</ax-label>\\n </ax-check-box>\\n \\n </div>\\n \\n <!-- Header template -->\\n <ng-template #headerTpl>\\n <div class=\\\"ax-flex ax-items-center ax-justify-between ax-w-full ax-px-3 ax-py-2\\\">\\n <div class=\\\"ax-flex ax-items-center ax-gap-2\\\">\\n <ax-icon class=\\\"fa-solid fa-grip-dots-vertical ax-cursor-move ax-text-gray-400\\\" cdkDragHandle></ax-icon>\\n <span class=\\\"ax-text-sm ax-font-medium\\\">{{ cfg.text }}</span>\\n </div>\\n <div class=\\\"ax-flex ax-items-center ax-gap-1\\\">\\n <ax-icon \\n class=\\\"fa-solid fa-chevron-up ax-text-primary ax-cursor-pointer ax-text-xs\\\" \\n (click)=\\\"moveItemUp($event,i)\\\"\\n [class.ax-opacity-30]=\\\"i === 0\\\"\\n [class.ax-cursor-not-allowed]=\\\"i === 0\\\"\\n title=\\\"Move Up\\\">\\n </ax-icon>\\n <ax-icon \\n class=\\\"fa-solid fa-chevron-down ax-text-primary ax-cursor-pointer ax-text-xs ax-px-2\\\" \\n (click)=\\\"moveItemDown($event,i)\\\"\\n [class.ax-opacity-30]=\\\"i === selectedConfigs().length - 1\\\"\\n [class.ax-cursor-not-allowed]=\\\"i === selectedConfigs().length - 1\\\"\\n title=\\\"Move Down\\\">\\n </ax-icon>\\n <ax-icon class=\\\"fa-solid fa-xmark ax-text-danger ax-cursor-pointer\\\" (click)=\\\"toggleSelection(cfg)\\\"></ax-icon>\\n </div>\\n </div>\\n </ng-template>\\n </ax-collapse>\\n </ax-collapse-group>\\n </div>\\n }\\n </div>\\n</div>\\n\\n<ax-footer>\\n <ax-suffix>\\n <ax-button look=\\\"solid\\\" [text]=\\\"('close' | translate | async)!\\\" (onClick)=\\\"handleCloseClick()\\\"> </ax-button>\\n <ax-button look=\\\"solid\\\" color=\\\"primary\\\" [text]=\\\"('select' | translate | async)!\\\" (onClick)=\\\"handleSelectClick()\\\">\\n </ax-button>\\n </ax-suffix>\\n</ax-footer>\\n\\n<ng-template #itemTemplate let-item>\\n <div class=\\\"ax-flex ax-items-center ax-justify-between ax-w-full\\\">\\n <span>{{ item.text }}</span>\\n @if(item.hasCheckbox) {\\n <ax-icon \\n class=\\\"fa-regular fa-eye ax-text-primary ax-cursor-pointer ax-ml-2\\\" \\n (click)=\\\"handlePreviewMeta(item)\\\"\\n title=\\\"Preview Meta\\\">\\n </ax-icon>\\n }\\n </div>\\n</ng-template>\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YS1jaG9vc2UtcG9wdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2RvY3VtZW50LW1hbmFnZW1lbnQvc3JjL2xpYi9mZWF0dXJlcy9tZXRhLWNob29zZS13aWRnZXQvbWV0YS1jaG9vc2UtcG9wdXAvbWV0YS1jaG9vc2UtcG9wdXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2RvY3VtZW50LW1hbmFnZW1lbnQvc3JjL2xpYi9mZWF0dXJlcy9tZXRhLWNob29zZS13aWRnZXQvbWV0YS1jaG9vc2UtcG9wdXAvbWV0YS1jaG9vc2UtcG9wdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQWEsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQWlELE1BQU0sOEJBQThCLENBQUM7QUFDL0csT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRS9ELE9BQU8sRUFBRSxvQ0FBb0MsRUFBdUYsTUFBTSxxQ0FBcUMsQ0FBQztBQUNoTCxPQUFPLEVBQUUsT0FBTyxFQUFlLGFBQWEsRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENB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Q1AsQ0FBQztJQUNMLENBQUM7OEdBbFRRLDJCQUEyQjtrR0FBM0IsMkJBQTJCLG9FQUp6QixFQUVWLGlEQ3RFTCw0cElBK0ZBO2dCRC9DUSxVQUFVO2dCQUNWLFlBQVk7Z0JBQ1osU0FBUztnQkFDVCxpQkFBaUIsNFlBQ2pCLGdCQUFnQiw0b0JBQ2hCLGlCQUFpQixzY0FDakIsY0FBYyw2WEFDZCxtQkFBbUIsOEJBQ25CLGdCQUFnQixxU0FDaEIsZUFBZSw4QkFDZixnQkFBZ0IsOGJBQ2hCLGFBQWE7Z0JBQ2IsdUJBQXVCO2dCQUN2QixXQUFXLHNoQkFDWCxPQUFPLHdjQUNQLGFBQWE7Z0JBQ2IsUUFBUTtnQkFDUixXQUFXOzsyRkFPTiwyQkFBMkI7a0JBN0J2QyxTQUFTOytCQUNJLHVCQUF1QixXQUd4Qjt3QkFDTCxVQUFVO3dCQUNWLFlBQVk7d0JBQ1osU0FBUzt3QkFDVCxpQkFBaUI7d0JBQ2pCLGdCQUFnQjt3QkFDaEIsaUJBQWlCO3dCQUNqQixjQUFjO3dCQUNkLG1CQUFtQjt3QkFDbkIsZ0JBQWdCO3dCQUNoQixlQUFlO3dCQUNmLGdCQUFnQjt3QkFDaEIsYUFBYTt3QkFDYix1QkFBdUI7d0JBQ3ZCLFdBQVc7d0JBQ1gsT0FBTzt3QkFDUCxhQUFhO3dCQUNiLFFBQVE7d0JBQ1IsV0FBVztxQkFDZCxpQkFDYyxpQkFBaUIsQ0FBQyxJQUFJLGFBQzFCLEVBRVYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIHNpZ25hbCwgVmlld0VuY2Fwc3VsYXRpb24sIHZpZXdDaGlsZCwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQVhCYXNlUGFnZUNvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9wYWdlJztcbmltcG9ydCB7IEFYU2VhcmNoQm94TW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3NlYXJjaC1ib3gnO1xuaW1wb3J0IHsgQVhUcmVlVmlld01vZHVsZSwgQVhUcmVlSXRlbUNsaWNrQmFzZUV2ZW50LCBBWFRyZWVWaWV3Q29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3RyZWUtdmlldyc7XG5pbXBvcnQgeyBBWERlY29yYXRvck1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kZWNvcmF0b3JzJztcbmltcG9ydCB7IEFYQnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2J1dHRvbic7XG5pbXBvcnQgeyBBWFRyYW5zbGF0aW9uTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb3JlL3RyYW5zbGF0aW9uJztcbmltcG9ydCB7IEFYVmFsdWVDaGFuZ2VkRXZlbnQgfSBmcm9tICdAYWNvcmV4L2Nkay9jb21tb24nO1xuaW1wb3J0IHsgQVhNTWV0YURhdGFEZWZpbml0aW9uQ2F0ZWdvcnlTZXJ2aWNlLCBBWE1NZXRhRGF0YURlZmluaXRpb25DYXRlZ29yeVdpdGhJdGVtc0VudGl0eU1vZGVsLCBBWE1NZXRhRGF0YURlZmluaXRpb25FbnRpdHlNb2RlbCB9IGZyb20gJ0BhY29yZXgvbW9kdWxlcy9wbGF0Zm9ybS1tYW5hZ2VtZW50JztcbmltcG9ydCB7IENka0RyYWcsIENka0RyYWdEcm9wLCBDZGtEcmFnSGFuZGxlLCBDZGtEcm9wTGlzdCwgbW92ZUl0ZW1JbkFycmF5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XG5pbXBvcnQgeyBBWENoZWNrQm94TW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2NoZWNrLWJveCc7XG5pbXBvcnQgeyBBWFRleHRCb3hNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvdGV4dC1ib3gnO1xuaW1wb3J0IHsgQVhDb2xsYXBzZU1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9jb2xsYXBzZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEFYTGFiZWxNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvbGFiZWwnO1xuaW1wb3J0IHsgQVhQV29ya2Zsb3dTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS93b3JrZmxvdyc7XG5pbXBvcnQgeyBBWFBNZXRhRGF0YURlZmluaXRpb24gfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9idWlsZGVyJztcblxuZXhwb3J0IGludGVyZmFjZSBBWFBNZXRhVHJlZUl0ZW0gZXh0ZW5kcyBBWFBNZXRhRGF0YURlZmluaXRpb24ge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgdGV4dDogc3RyaW5nO1xuICAgIGljb24/OiBzdHJpbmc7XG4gICAgcGFyZW50SWQ/OiBzdHJpbmc7XG4gICAgaGFzQ2hpbGQ/OiBib29sZWFuO1xuICAgIGhhc0NoZWNrYm94PzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBPcHRpb25hbCBjaGlsZHJlbiBjb2xsZWN0aW9uIGZvciBuZXN0ZWQgdHJlZSByZW5kZXJpbmcuXG4gICAgICovXG4gICAgY2hpbGRyZW4/OiBBWFBNZXRhVHJlZUl0ZW1bXTtcbiAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgaXNTZWxlY3RlZDogYm9vbGVhbjtcbn1cblxuLy8jcmVnaW9uIC0tLS0gICBIZWxwZXIgSW50ZXJmYWNlcyAgIC0tLS1cblxuZXhwb3J0IGludGVyZmFjZSBTZWxlY3RlZENvbmZpZyBleHRlbmRzIEFYUE1ldGFUcmVlSXRlbSB7XG4gICAgaXNSZXF1aXJlZDogYm9vbGVhbjtcbiAgICBwbGFjZWhvbGRlcjogc3RyaW5nO1xufVxuXG4vLyNlbmRyZWdpb25cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdheHAtbWV0YS1jaG9vc2UtcG9wdXAnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9tZXRhLWNob29zZS1wb3B1cC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmw6ICcuL21ldGEtY2hvb3NlLXBvcHVwLmNvbXBvbmVudC5zY3NzJyxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIC8vIEFuZ3VsYXJcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICAvLyBBQ29yZVhcbiAgICAgICAgQVhTZWFyY2hCb3hNb2R1bGUsXG4gICAgICAgIEFYVHJlZVZpZXdNb2R1bGUsXG4gICAgICAgIEFYRGVjb3JhdG9yTW9kdWxlLFxuICAgICAgICBBWEJ1dHRvbk1vZHVsZSxcbiAgICAgICAgQVhUcmFuc2xhdGlvbk1vZHVsZSxcbiAgICAgICAgQVhDaGVja0JveE1vZHVsZSxcbiAgICAgICAgQVhUZXh0Qm94TW9kdWxlLFxuICAgICAgICBBWENvbGxhcHNlTW9kdWxlLFxuICAgICAgICBBWExhYmVsTW9kdWxlLFxuICAgICAgICAvLyBDREsgRHJhZ0Ryb3AgbW9kdWxlc1xuICAgICAgICBDZGtEcm9wTGlzdCxcbiAgICAgICAgQ2RrRHJhZyxcbiAgICAgICAgQ2RrRHJhZ0hhbmRsZSxcbiAgICAgICAgLy8gRm9ybXNcbiAgICAgICAgRm9ybXNNb2R1bGUsXG4gICAgXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIHByb3ZpZGVyczogW1xuXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhQTWV0YUNob29zZVBvcHVwQ29tcG9uZW50IGV4dGVuZHMgQVhCYXNlUGFnZUNvbXBvbmVudCB7XG5cbiAgICBwcm90ZWN0ZWQgY2F0ZWdvcnlTZXJ2aWNlID0gaW5qZWN0KEFYTU1ldGFEYXRhRGVmaW5pdGlvbkNhdGVnb3J5U2VydmljZSk7XG4gICAgcHJvdGVjdGVkIHdvcmtmbG93ID0gaW5qZWN0KEFYUFdvcmtmbG93U2VydmljZSk7XG5cbiAgICBwcm90ZWN0ZWQgaW5pdGlhbERhdGE6IFNlbGVjdGVkQ29uZmlnW10gPSBbXTtcblxuICAgIC8qKlxuICAgICAqIEhvbGRzIHRoZSBjb21wbGV0ZSBsaXN0IG9mIHRyZWUgaXRlbXMgaW4gYSBmbGF0dGVuZWQgc3RydWN0dXJlLlxuICAgICAqIFRoaXMgc3RydWN0dXJlIG1ha2VzIGl0IGVhc3kgdG86XG4gICAgICogIDEpIFByb3ZpZGUgY2hpbGRyZW4gbGF6aWx5IHZpYSBgcHJvdmlkZUxhenlUcmVlVmlld2AgdXNpbmcgYHBhcmVudElkYC5cbiAgICAgKiAgMikgUGVyZm9ybSBzZWFyY2ggYWNyb3NzIGFsbCBsZXZlbHMgd2hpbGUgc3RpbGwgYmVpbmcgYWJsZSB0byBpbmNsdWRlXG4gICAgICogICAgIGFuY2VzdG9yIG5vZGVzIG9mIG1hdGNoZWQgaXRlbXMuXG4gICAgICovXG4gICAgdHJlZVZpZXdEYXRhID0gc2lnbmFsPEFYUE1ldGFUcmVlSXRlbVtdPihbXSk7XG5cbiAgICAvKipcbiAgICAgKiBGbGF0IGxpc3Qgb2YgQUxMIG5vZGVzIChmb3IgZWFzeSBsb29rLXVwcyBkdXJpbmcgc2VhcmNoKS5cbiAgICAgKi9cbiAgICBwcml2YXRlIG9yaWdpbmFsRmxhdERhdGE6IEFYUE1ldGFUcmVlSXRlbVtdID0gW107XG5cbiAgICAvKipcbiAgICAgKiBPcmlnaW5hbCAqbmVzdGVkKiB0cmVlIHN0cnVjdHVyZSAodXNlZCB0byByZXNldCBhbmQgdG8gcmVidWlsZCBmaWx0ZXJlZCB0cmVlcykuXG4gICAgICovXG4gICAgcHJpdmF0ZSBvcmlnaW5hbE5lc3RlZERhdGE6IEFYUE1ldGFUcmVlSXRlbVtdID0gW107XG5cbiAgICBwcm90ZWN0ZWQgc2VhcmNoVGVybSA9IHNpZ25hbDxzdHJpbmc+KCcnKTtcblxuICAgIC8vI3JlZ2lvbiAtLS0tICAgU2VsZWN0ZWQgQ29uZmlncyAgIC0tLS1cblxuICAgIHNlbGVjdGVkQ29uZmlncyA9IHNpZ25hbDxTZWxlY3RlZENvbmZpZ1tdPihbXSk7XG5cbiAgICAvLyNlbmRyZWdpb25cblxuICAgIG92ZXJyaWRlIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLmNhdGVnb3J5U2VydmljZS5nZXRBbGxXaXRoSXRlbXMoKS50aGVuKChjYXRlZ29yaWVzKSA9PiB7XG5cbiAgICAgICAgICAgIC8vI3JlZ2lvbiAtLS0tICAgSGVscGVyIEZ1bmN0aW9ucyAgIC0tLS1cblxuICAgICAgICAgICAgY29uc3QgY29udmVydENhdGVnb3J5VG9UcmVlSXRlbSA9IChjYXRlZ29yeTogQVhNTWV0YURhdGFEZWZpbml0aW9uQ2F0ZWdvcnlXaXRoSXRlbXNFbnRpdHlNb2RlbDxzdHJpbmc+KTogQVhQTWV0YVRyZWVJdGVtID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBjYXRlZ29yeUNoaWxkcmVuOiBBWFBNZXRhVHJlZUl0ZW1bXSA9IFtcbiAgICAgICAgICAgICAgICAgICAgLy8gTWFwIHN1Yi1jYXRlZ29yaWVzIHJlY3Vyc2l2ZWx5XG4gICAgICAgICAgICAgICAgICAgIC4uLmNhdGVnb3J5LmNhdGVnb3JpZXMubWFwKChjOiBBWE1NZXRhRGF0YURlZmluaXRpb25DYXRlZ29yeVdpdGhJdGVtc0VudGl0eU1vZGVsPHN0cmluZz4pID0+IGNvbnZlcnRDYXRlZ29yeVRvVHJlZUl0ZW0oYykpLFxuICAgICAgICAgICAgICAgICAgICAvLyBNYXAgaXRlbXMgb2YgY3VycmVudCBjYXRlZ29yeVxuICAgICAgICAgICAgICAgICAgICAuLi5jYXRlZ29yeS5pdGVtcy5tYXAoKGl0ZW06IEFYTU1ldGFEYXRhRGVmaW5pdGlvbkVudGl0eU1vZGVsKSA9PiAoe1xuICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IGl0ZW0uaWQsXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0OiBpdGVtLnRpdGxlLFxuICAgICAgICAgICAgICAgICAgICAgICAgcGFyZW50SWQ6IGNhdGVnb3J5LmlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgaGFzQ2hlY2tib3g6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBpc1NlbGVjdGVkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vXG4gICAgICAgICAgICAgICAgICAgICAgICBpbnRlcmZhY2U6IGl0ZW0uaW50ZXJmYWNlIGFzIHN0cmluZyxcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IGl0ZW0ubmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiBpdGVtLnRpdGxlXG4gICAgICAgICAgICAgICAgICAgIH0pKSxcbiAgICAgICAgICAgICAgICBdO1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgaWQ6IGNhdGVnb3J5LmlkLFxuICAgICAgICAgICAgICAgICAgICB0ZXh0OiBjYXRlZ29yeS50aXRsZSxcbiAgICAgICAgICAgICAgICAgICAgcGFyZW50SWQ6IGNhdGVnb3J5LnBhcmVudElkLFxuICAgICAgICAgICAgICAgICAgICBoYXNDaGVja2JveDogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiBjYXRlZ29yeUNoaWxkcmVuLFxuICAgICAgICAgICAgICAgICAgICBpc1NlbGVjdGVkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgLy9mYWtlXG4gICAgICAgICAgICAgICAgICAgIGludGVyZmFjZTogJycsXG4gICAgICAgICAgICAgICAgICAgIG5hbWU6ICcnLFxuICAgICAgICAgICAgICAgICAgICB0aXRsZTogJydcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgLy8jZW5kcmVnaW9uXG5cbiAgICAgICAgICAgIC8vIEJ1aWxkICoqbmVzdGVkKiogdHJlZSBzdHJ1Y3R1cmUgZmlyc3Qgc28gdGhhdCBlYWNoIHBhcmVudFxuICAgICAgICAgICAgLy8gY29udGFpbnMgaXRzIGNoaWxkcmVuIGFycmF5IChzaW1pbGFyIHRvIHRoZSBzYW1wbGUgYXQgbGluZSAyMDgpLlxuICAgICAgICAgICAgY29uc3QgbmVzdGVkVHJlZTogQVhQTWV0YVRyZWVJdGVtW10gPSBjYXRlZ29yaWVzLm1hcCgoYykgPT4gY29udmVydENhdGVnb3J5VG9UcmVlSXRlbShjKSk7XG5cbiAgICAgICAgICAgIC8vIEFkZGl0aW9uYWxseSBidWlsZCBhIGZsYXR0ZW5lZCBsaXN0IG9mIGFsbCBub2RlcyAoc2FtZSBvYmplY3RzKSBzb1xuICAgICAgICAgICAgLy8gdGhhdCB3ZSBjYW4gcmUtdXNlIHRoZSBleGlzdGluZyBzZWFyY2ggaW1wbGVtZW50YXRpb24gd2hpY2hcbiAgICAgICAgICAgIC8vIGV4cGVjdHMgYSBmbGF0IGFycmF5LlxuICAgICAgICAgICAgY29uc3QgZmxhdExpc3Q6IEFYUE1ldGFUcmVlSXRlbVtdID0gW107XG4gICAgICAgICAgICBjb25zdCBjb2xsZWN0RmxhdCA9IChub2RlczogQVhQTWV0YVRyZWVJdGVtW10pID0+IHtcbiAgICAgICAgICAgICAgICBub2Rlcy5mb3JFYWNoKChuKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGZsYXRMaXN0LnB1c2gobik7XG4gICAgICAgICAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KG4uY2hpbGRyZW4pICYmIG4uY2hpbGRyZW4ubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sbGVjdEZsYXQobi5jaGlsZHJlbik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBjb2xsZWN0RmxhdChuZXN0ZWRUcmVlKTtcblxuICAgICAgICAgICAgLy8gLS0tICAgQXBwbHkgaW5pdGlhbCBzZWxlY3Rpb25zICAgLS0tXG4gICAgICAgICAgICBpZiAodGhpcy5pbml0aWFsRGF0YSAmJiB0aGlzLmluaXRpYWxEYXRhLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICBjb25zdCBpbml0aWFsSWRzID0gbmV3IFNldCh0aGlzLmluaXRpYWxEYXRhLm1hcCgoZCkgPT4gZC5pZCkpO1xuXG4gICAgICAgICAgICAgICAgZmxhdExpc3QuZm9yRWFjaCgobm9kZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAobm9kZS5oYXNDaGVja2JveCAmJiBpbml0aWFsSWRzLmhhcyhub2RlLmlkKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbm9kZS5pc1NlbGVjdGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBQZXJzaXN0IG9yaWdpbmFsIGRhdGEgKGJvdGggZmxhdHRlbmVkIGFuZCBuZXN0ZWQpICYgaW5pdGlhbGlzZSByZWFjdGl2ZSBzaWduYWwuXG4gICAgICAgICAgICB0aGlzLm9yaWdpbmFsRmxhdERhdGEgPSBmbGF0TGlzdDtcbiAgICAgICAgICAgIHRoaXMub3JpZ2luYWxOZXN0ZWREYXRhID0gbmVzdGVkVHJlZTtcblxuICAgICAgICAgICAgLy8gU2V0IGluaXRpYWwgdHJlZSB2aWV3IGRhdGEgdG8gZGlzcGxheSB0aGUgdHJlZVxuICAgICAgICAgICAgdGhpcy50cmVlVmlld0RhdGEuc2V0KFsuLi5uZXN0ZWRUcmVlXSk7XG5cbiAgICAgICAgICAgIC8vIEluaXRpYWxpc2Ugc2VsZWN0ZWQgbGlzdCBpZiBhbnkgaW5pdGlhbCBzZWxlY3Rpb25zXG4gICAgICAgICAgICB0aGlzLnN5bmNocm9uaXNlU2VsZWN0ZWRDb25maWdzKCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRDb25maWdzLnNldCh0aGlzLmluaXRpYWxEYXRhID8/IFtdKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgaGFuZGxlU2VsZWN0Q2xpY2soKSB7XG4gICAgICAgIC8vIFJldHVybiB0aGUgY29uZmlndXJlZCBzZWxlY3RlZCBpdGVtcyBmcm9tIHRoZSByaWdodCBwYW5lbFxuICAgICAgICBjb25zdCBzZWxlY3RlZENvbmZpZ3MgPSB0aGlzLnNlbGVjdGVkQ29uZmlncygpO1xuXG4gICAgICAgIGlmIChzZWxlY3RlZENvbmZpZ3MubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgdGhpcy5jbG9zZShzZWxlY3RlZENvbmZpZ3MpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGhhbmRsZUNsb3NlQ2xpY2soKSB7XG4gICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgaGFuZGxlQ2hhbmdlU2VhcmNoVmFsdWUoZTogQVhWYWx1ZUNoYW5nZWRFdmVudCkge1xuICAgICAgICBjb25zdCB0ZXJtID0gKGUudmFsdWUgPz8gJycpLnRyaW0oKTtcbiAgICAgICAgdGhpcy5zZWFyY2hUZXJtLnNldCh0ZXJtKTtcblxuICAgICAgICAvLyBSZXNldCB0byB0aGUgcHJpc3RpbmUgbmVzdGVkIHRyZWUgd2hlbiBzZWFyY2ggaXMgY2xlYXJlZC5cbiAgICAgICAgaWYgKCF0ZXJtKSB7XG4gICAgICAgICAgICB0aGlzLnRyZWVWaWV3RGF0YS5zZXQoWy4uLnRoaXMub3JpZ2luYWxOZXN0ZWREYXRhXSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBsb3dlcmVkVGVybSA9IHRlcm0udG9Mb3dlckNhc2UoKTtcblxuICAgICAgICAvLyBCdWlsZCBhIHF1aWNrIGxvb2t1cCBtYXAgdG8gdHJhdmVyc2UgYW5jZXN0b3JzIGVmZmljaWVudGx5XG4gICAgICAgIGNvbnN0IG1hcEJ5SWQgPSBuZXcgTWFwPHN0cmluZywgQVhQTWV0YVRyZWVJdGVtPihcbiAgICAgICAgICAgIHRoaXMub3JpZ2luYWxGbGF0RGF0YS5tYXAoKGl0ZW0pID0+IFtpdGVtLmlkLCBpdGVtXSlcbiAgICAgICAgKTtcblxuICAgICAgICAvLyBIZWxwZXIgdG8gY29sbGVjdCBhbGwgYW5jZXN0b3JzIG9mIGEgZ2l2ZW4gbm9kZVxuICAgICAgICBjb25zdCBjb2xsZWN0QW5jZXN0b3JzID0gKG5vZGU6IEFYUE1ldGFUcmVlSXRlbSk6IEFYUE1ldGFUcmVlSXRlbVtdID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGFuY2VzdG9yczogQVhQTWV0YVRyZWVJdGVtW10gPSBbXTtcbiAgICAgICAgICAgIGxldCBjdXJyZW50UGFyZW50SWQgPSBub2RlLnBhcmVudElkO1xuICAgICAgICAgICAgd2hpbGUgKGN1cnJlbnRQYXJlbnRJZCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHBhcmVudCA9IG1hcEJ5SWQuZ2V0KGN1cnJlbnRQYXJlbnRJZCk7XG4gICAgICAgICAgICAgICAgaWYgKCFwYXJlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGFuY2VzdG9ycy5wdXNoKHBhcmVudCk7XG4gICAgICAgICAgICAgICAgY3VycmVudFBhcmVudElkID0gcGFyZW50LnBhcmVudElkO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGFuY2VzdG9ycztcbiAgICAgICAgfTtcblxuICAgICAgICAvLyAxKSBGaW5kIGFsbCBub2RlcyB3aG9zZSB0ZXh0IGNvbnRhaW5zIHRoZSBzZWFyY2ggdGVybVxuICAgICAgICBjb25zdCBtYXRjaGVkTm9kZXMgPSB0aGlzLm9yaWdpbmFsRmxhdERhdGEuZmlsdGVyKChpdGVtKSA9PlxuICAgICAgICAgICAgaXRlbS50ZXh0LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMobG93ZXJlZFRlcm0pXG4gICAgICAgICk7XG5cbiAgICAgICAgLy8gMikgQ29sbGVjdCB0aGVpciBhbmNlc3RvcnMgdG8gZW5zdXJlIHRoZSB0cmVlIGNhbiByZW5kZXIgY29ycmVjdCBwYXRoc1xuICAgICAgICBjb25zdCByZXN1bHRTZXQgPSBuZXcgTWFwPHN0cmluZywgQVhQTWV0YVRyZWVJdGVtPigpO1xuICAgICAgICBtYXRjaGVkTm9kZXMuZm9yRWFjaCgobm9kZSkgPT4ge1xuICAgICAgICAgICAgcmVzdWx0U2V0LnNldChub2RlLmlkLCBub2RlKTtcbiAgICAgICAgICAgIGNvbGxlY3RBbmNlc3RvcnMobm9kZSkuZm9yRWFjaCgoYW5jZXN0b3IpID0+IHJlc3VsdFNldC5zZXQoYW5jZXN0b3IuaWQsIGFuY2VzdG9yKSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAvLyBFbnN1cmUgY2hpbGQgbm9kZXMgYXJlIE5PVCByZW5kZXJlZCBhdCB0aGUgcm9vdCBsZXZlbC5cbiAgICAgICAgLy8gV2Ugb25seSBwYXNzIG5vZGVzIHRvIHRoZSB0cmVlIGNvbXBvbmVudCB0aGF0IGRvICoqbm90KipcbiAgICAgICAgLy8gaGF2ZSB0aGVpciBwYXJlbnQgYWxyZWFkeSBwcmVzZW50IGluIHRoZSBmaW5hbCByZXN1bHQgc2V0LlxuICAgICAgICAvLyBUaGlzIHByZXNlcnZlcyB0aGUgY29ycmVjdCBoaWVyYXJjaHkgYW5kIHByZXZlbnRzIGR1cGxpY2F0ZXNcbiAgICAgICAgLy8gbGlrZSB0aGUgZXh0cmEgcm9vdC1sZXZlbCBlbnRyeSBoaWdobGlnaHRlZCBpbiB5ZWxsb3cuXG4gICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAvLyBCdWlsZCBhICpuZXN0ZWQqIHRyZWUgdGhhdCBjb250YWlucyBPTkxZIG5vZGVzIHByZXNlbnQgaW4gYHJlc3VsdFNldGAuXG4gICAgICAgIGNvbnN0IGlkU2V0ID0gbmV3IFNldDxzdHJpbmc+KHJlc3VsdFNldC5rZXlzKCkpO1xuXG4gICAgICAgIGNvbnN0IGNsb25lSWZJbmNsdWRlZCA9IChub2RlOiBBWFBNZXRhVHJlZUl0ZW0pOiBBWFBNZXRhVHJlZUl0ZW0gfCBudWxsID0+IHtcbiAgICAgICAgICAgIGlmICghaWRTZXQuaGFzKG5vZGUuaWQpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IGNsb25lZDogQVhQTWV0YVRyZWVJdGVtID0ge1xuICAgICAgICAgICAgICAgIC4uLm5vZGUsXG4gICAgICAgICAgICAgICAgLy8gQ3JlYXRlIGZyZXNoIGNoaWxkcmVuIGFycmF5ICh3aWxsIGJlIHBvcHVsYXRlZCByZWN1cnNpdmVseSlcbiAgICAgICAgICAgICAgICBjaGlsZHJlbjogW11cbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KG5vZGUuY2hpbGRyZW4pKSB7XG4gICAgICAgICAgICAgICAgbm9kZS5jaGlsZHJlbi5mb3JFYWNoKChjaGlsZCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBjID0gY2xvbmVJZkluY2x1ZGVkKGNoaWxkKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsb25lZC5jaGlsZHJlbiEucHVzaChjKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gY2xvbmVkO1xuICAgICAgICB9O1xuXG4gICAgICAgIGNvbnN0IGZpbHRlcmVkUm9vdHM6IEFYUE1ldGFUcmVlSXRlbVtdID0gW107XG4gICAgICAgIHRoaXMub3JpZ2luYWxOZXN0ZWREYXRhLmZvckVhY2goKHJvb3QpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGNsb25lZFJvb3QgPSBjbG9uZUlmSW5jbHVkZWQocm9vdCk7XG4gICAgICAgICAgICBpZiAoY2xvbmVkUm9vdCkge1xuICAgICAgICAgICAgICAgIGZpbHRlcmVkUm9vdHMucHVzaChjbG9uZWRSb290KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy50cmVlVmlld0RhdGEuc2V0KGZpbHRlcmVkUm9vdHMpO1xuICAgIH1cblxuICAgIC8vI3JlZ2lvbiAtLS0tICAgVHJlZSBJbnRlcmFjdGlvbiBIYW5kbGVycyAgIC0tLS1cblxuICAgIHByb3RlY3RlZCBoYW5kbGVTZWxlY3Rpb25DaGFuZ2VkKGU6IEFYVHJlZUl0ZW1DbGlja0Jhc2VFdmVudCkge1xuICAgICAgICAvLyBUcmVlIHRvZ2dsZXMgc2VsZWN0aW9uIGludGVybmFsbHk7IGp1c3Qgc3luYyBjb25maWdzIGFmdGVyd2FyZHNcbiAgICAgICAgdGhpcy5zeW5jaHJvbmlzZVNlbGVjdGVkQ29uZmlncygpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc3luY2hyb25pc2VTZWxlY3RlZENvbmZpZ3MoKSB7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkTm9kZXMgPSB0aGlzLm9yaWdpbmFsRmxhdERhdGEuZmlsdGVyKChuKSA9PiBuLmhhc0NoZWNrYm94ICYmIG4uaXNTZWxlY3RlZCk7XG5cbiAgICAgICAgdGhpcy5zZWxlY3RlZENvbmZpZ3MudXBkYXRlKChwcmV2KSA9PiB7XG4gICAgICAgICAgICAvLyBSZW1vdmUgY29uZmlncyB0aGF0IGFyZSBubyBsb25nZXIgc2VsZWN0ZWRcbiAgICAgICAgICAgIGxldCBuZXh0ID0gcHJldi5maWx0ZXIoKGNmZykgPT4gc2VsZWN0ZWROb2Rlcy5zb21lKChuKSA9PiBuLmlkID09PSBjZmcuaWQpKTtcblxuICAgICAgICAgICAgLy8gQWRkIG5ldyBjb25maWdzXG4gICAgICAgICAgICBzZWxlY3RlZE5vZGVzLmZvckVhY2goKG4pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoIW5leHQuc29tZSgoY2ZnKSA9PiBjZmcuaWQgPT09IG4uaWQpKSB7XG4gICAgICAgICAgICAgICAgICAgIG5leHQucHVzaCh7IC4uLm4sIGlzUmVxdWlyZWQ6IGZhbHNlLCBwbGFjZWhvbGRlcjogJycgICwgc3RhdHVzOiAndGVtcG9yYXJ5JyB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgcmV0dXJuIFsuLi5uZXh0XTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHRvZ2dsZVNlbGVjdGlvbihjZmc6IFNlbGVjdGVkQ29uZmlnKSB7XG4gICAgICAgIC8vIEZpbmQgdGhlIG9yaWdpbmFsIG5vZGUgaW4gZmxhdERhdGEgYW5kIHVwZGF0ZSBpdFxuICAgICAgICBjb25zdCBvcmlnaW5hbE5vZGUgPSB0aGlzLm9yaWdpbmFsRmxhdERhdGEuZmluZChuID0+IG4uaWQgPT09IGNmZy5pZCk7XG4gICAgICAgIGlmIChvcmlnaW5hbE5vZGUpIHtcbiAgICAgICAgICAgIG9yaWdpbmFsTm9kZS5pc1NlbGVjdGVkID0gIW9yaWdpbmFsTm9kZS5pc1NlbGVjdGVkO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gRm9yY2UgdHJlZSB2aWV3IHRvIHVwZGF0ZSBieSB0cmlnZ2VyaW5nIHNpZ25hbCBjaGFuZ2VcbiAgICAgICAgdGhpcy50cmVlVmlld0RhdGEuc2V0KFsuLi50aGlzLnRyZWVWaWV3RGF0YSgpXSk7XG5cbiAgICAgICAgdGhpcy5zeW5jaHJvbmlzZVNlbGVjdGVkQ29uZmlncygpO1xuICAgIH1cblxuICAgIC8vI2VuZHJlZ2lvblxuXG4gICAgLy8jcmVnaW9uIC0tLS0gICBEcmFnICYgRHJvcCAoT3JkZXJpbmcpICAgLS0tLVxuXG4gICAgcHJvdGVjdGVkIGhhbmRsZURyb3AoZXZlbnQ6IENka0RyYWdEcm9wPFNlbGVjdGVkQ29uZmlnW10+KSB7XG4gICAgICAgIGNvbnN0IGxpc3QgPSBbLi4udGhpcy5zZWxlY3RlZENvbmZpZ3MoKV07XG4gICAgICAgIG1vdmVJdGVtSW5BcnJheShsaXN0LCBldmVudC5wcmV2aW91c0luZGV4LCBldmVudC5jdXJyZW50SW5kZXgpO1xuICAgICAgICB0aGlzLnNlbGVjdGVkQ29uZmlncy5zZXQobGlzdCk7XG4gICAgfVxuXG4gICAgLy8jZW5kcmVnaW9uXG5cbiAgICAvLyNyZWdpb24gLS0tLSAgIE1hbnVhbCBPcmRlcmluZyBNZXRob2RzICAgLS0tLVxuXG4gICAgcHJvdGVjdGVkIG1vdmVJdGVtVXAoZTogTW91c2VFdmVudCwgaW5kZXg6IG51bWJlcikge1xuICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICBpZiAoaW5kZXggPD0gMCkgcmV0dXJuOyAvLyBBbHJlYWR5IGF0IHRvcFxuXG4gICAgICAgIGNvbnN0IGxpc3QgPSBbLi4udGhpcy5zZWxlY3RlZENvbmZpZ3MoKV07XG4gICAgICAgIFtsaXN0W2luZGV4IC0gMV0sIGxpc3RbaW5kZXhdXSA9IFtsaXN0W2luZGV4XSwgbGlzdFtpbmRleCAtIDFdXTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZENvbmZpZ3Muc2V0KGxpc3QpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBtb3ZlSXRlbURvd24oZTogTW91c2VFdmVudCwgaW5kZXg6IG51bWJlcikge1xuICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICBjb25zdCBjdXJyZW50TGlzdCA9IHRoaXMuc2VsZWN0ZWRDb25maWdzKCk7XG4gICAgICAgIGlmIChpbmRleCA+PSBjdXJyZW50TGlzdC5sZW5ndGggLSAxKSByZXR1cm47IC8vIEFscmVhZHkgYXQgYm90dG9tXG5cbiAgICAgICAgY29uc3QgbGlzdCA9IFsuLi5jdXJyZW50TGlzdF07XG4gICAgICAgIFtsaXN0W2luZGV4XSwgbGlzdFtpbmRleCArIDFdXSA9IFtsaXN0W2luZGV4ICsgMV0sIGxpc3RbaW5kZXhdXTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZENvbmZpZ3Muc2V0KGxpc3QpO1xuXG4gICAgfVxuXG4gICAgLy8jZW5kcmVnaW9uXG5cbiAgICAvLyNyZWdpb24gLS0tLSAgIFRlbXBsYXRlIEFjdGlvbnMgICAtLS0tXG5cbiAgICBwcm90ZWN0ZWQgYXN5bmMgaGFuZGxlUHJldmlld01ldGEoaXRlbTogQVhQTWV0YVRyZWVJdGVtKSB7XG4gICAgICAgIGlmIChpdGVtLmhhc0NoZWNrYm94KSB7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLndvcmtmbG93LmV4ZWN1dGUoJ29wZW4tZm9ybS10ZW1wbGF0ZScsIHtcbiAgICAgICAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICAgICAgICAgIHRlbXBsYXRlOiBpdGVtLmludGVyZmFjZSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIG1ldGFkYXRhOiB7XG4gICAgICAgICAgICAgICAgICAgIHByZXZpZXc6IHRydWUsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8jZW5kcmVnaW9uXG59XG4iLCI8ZGl2IGNsYXNzPVwiYXgtcC00IGF4LWZsZXggYXgtZ2FwLTQgYXgtb3ZlcmZsb3ctaGlkZGVuXCI+XG4gIDwhLS0gTGVmdDogTWV0YSB0cmVlIC0tPlxuICA8ZGl2IGNsYXNzPVwiYXgtZmxleC0xIGF4LWZsZXggYXgtZmxleC1jb2wgYXgtZ2FwLTQgYXgtbWluLXctMFwiPlxuICAgIDxheC1zZWFyY2gtYm94XG4gICAgICBbcGxhY2Vob2xkZXJdPVwiJ3dpZGdldC5sb29rdXAuc2VhcmNoJyB8IHRyYW5zbGF0ZSB8IGFzeW5jXCJcbiAgICAgIFt2YWx1ZV09XCJzZWFyY2hUZXJtKClcIlxuICAgICAgKG9uVmFsdWVDaGFuZ2VkKT1cImhhbmRsZUNoYW5nZVNlYXJjaFZhbHVlKCRldmVudClcIlxuICAgICAgPjxheC1jbGVhci1idXR0b24+PC9heC1jbGVhci1idXR0b25cbiAgICA+PC9heC1zZWFyY2gtYm94PlxuXG4gICAgPGF4LXRyZWUtdmlld1xuICAgICAgW2hhc0NoaWxkRmllbGRdPVwiJ2hhc0NoaWxkJ1wiXG4gICAgICBbcGFyZW50RmllbGRdPVwiJ3BhcmVudElkJ1wiXG4gICAgICBbaXRlbXNdPVwidHJlZVZpZXdEYXRhKClcIlxuICAgICAgW3NlbGVjdGlvbk1vZGVdPVwiJ211bHRpcGxlJ1wiXG4gICAgICBbc2VsZWN0ZWRGaWVsZF09XCInaXNTZWxlY3RlZCdcIlxuICAgICAgKG9uU2VsZWN0aW9uQ2hhbmdlZCk9XCJoYW5kbGVTZWxlY3Rpb25DaGFuZ2VkKCRldmVudClcIlxuICAgICAgW2l0ZW1UZW1wbGF0ZV09XCJpdGVtVGVtcGxhdGVcIlxuICAgICAgW2ZvY3VzTm9kZUVuYWJsZWRdPVwiZmFsc2VcIlxuICAgICAgY2xhc3M9XCJheC1mbGV4LTEgYXgtb3ZlcmZsb3ctYXV0b1wiXG4gICAgPjwvYXgtdHJlZS12aWV3PlxuICA8L2Rpdj5cblxuICA8IS0tIFJpZ2h0OiBTZWxlY3RlZCBsaXN0IC0tPlxuICA8ZGl2IGNsYXNzPVwiYXgtdy0xLzIgYXgtZmxleCBheC1mbGV4LWNvbCBheC1nYXAtMyBheC1zZWxlY3Qtbm9uZSBheC1vdmVyZmxvdy1hdXRvIGF4LWgtWzQwMHB4XVwiIGNka0Ryb3BMaXN0IChjZGtEcm9wTGlzdERyb3BwZWQpPVwiaGFuZGxlRHJvcCgkZXZlbnQpXCI+XG4gICAgPGg2IGNsYXNzPVwiYXgtZm9udC1zZW1pYm9sZCBheC10ZXh0LXNtXCIgKm5nSWY9XCJzZWxlY3RlZENvbmZpZ3MoKS5sZW5ndGhcIj5TZWxlY3RlZCBJdGVtczwvaDY+XG5cbiAgICBAZm9yKGNmZyBvZiBzZWxlY3RlZENvbmZpZ3MoKTsgdHJhY2sgY2ZnLmlkOyBsZXQgaSA9ICRpbmRleCkge1xuICAgICAgPGRpdiBjZGtEcmFnIGNsYXNzPVwiYXgtYmctd2hpdGUgYXgtcm91bmRlZC1tZCBheC1zaGFkb3ctc20gYXgtYm9yZGVyIGF4LWJvcmRlci1ncmF5LTIwMFwiIGNka0RyYWdCb3VuZGFyeT1cIi5heC1zZWxlY3Qtbm9uZVwiPlxuICAgICAgICA8IS0tIENvbGxhcHNlIHdpdGggY3VzdG9tIGhlYWRlciB0ZW1wbGF0ZSAtLT5cbiAgICAgICAgPGF4LWNvbGxhcHNlLWdyb3VwIGxvb2s9XCJmaWxsXCI+XG4gICAgICAgICAgPGF4LWNvbGxhcHNlIGNhcHRpb249XCJPcHRpb25zXCIgW2hlYWRlclRlbXBsYXRlXT1cImhlYWRlclRwbFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtZmxleC1jb2xcIj5cbiAgICAgICAgICAgICAgICA8YXgtY2hlY2stYm94XG4gICAgICAgICAgICAgICAgICBbbmdNb2RlbF09XCJjZmcuaXNSZXF1aXJlZFwiXG4gICAgICAgICAgICAgICAgICAob25WYWx1ZUNoYW5nZWQpPVwiY2ZnLmlzUmVxdWlyZWQgPSAkZXZlbnQudmFsdWUgPz8gZmFsc2VcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8YXgtbGFiZWw+e3sgJ3JlcXVpcmVkJyB8IHRyYW5zbGF0ZSB8IGFzeW5jIH19PC9heC1sYWJlbD5cbiAgICAgICAgICAgICAgPC9heC1jaGVjay1ib3g+XG4gICAgICAgICAgICAgICBcbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgXG4gICAgICAgICAgICA8IS0tIEhlYWRlciB0ZW1wbGF0ZSAtLT5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjaGVhZGVyVHBsPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtZmxleCBheC1pdGVtcy1jZW50ZXIgYXgtanVzdGlmeS1iZXR3ZWVuIGF4LXctZnVsbCBheC1weC0zIGF4LXB5LTJcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtZmxleCBheC1pdGVtcy1jZW50ZXIgYXgtZ2FwLTJcIj5cbiAgICAgICAgICAgICAgICAgIDxheC1pY29uIGNsYXNzPVwiZmEtc29saWQgZmEtZ3JpcC1kb3RzLXZlcnRpY2FsIGF4LWN1cnNvci1tb3ZlIGF4LXRleHQtZ3JheS00MDBcIiBjZGtEcmFnSGFuZGxlPjwvYXgtaWNvbj5cbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYXgtdGV4dC1zbSBheC1mb250LW1lZGl1bVwiPnt7IGNmZy50ZXh0IH19PC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1mbGV4IGF4LWl0ZW1zLWNlbnRlciBheC1nYXAtMVwiPlxuICAgICAgICAgICAgICAgICAgPGF4LWljb24gXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZmEtc29saWQgZmEtY2hldnJvbi11cCBheC10ZXh0LXByaW1hcnkgYXgtY3Vyc29yLXBvaW50ZXIgYXgtdGV4dC14c1wiIFxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwibW92ZUl0ZW1VcCgkZXZlbnQsaSlcIlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3MuYXgtb3BhY2l0eS0zMF09XCJpID09PSAwXCJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmF4LWN1cnNvci1ub3QtYWxsb3dlZF09XCJpID09PSAwXCJcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU9XCJNb3ZlIFVwXCI+XG4gICAgICAgICAgICAgICAgICA8L2F4LWljb24+XG4gICAgICAgICAgICAgICAgICA8YXgtaWNvbiBcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmYS1zb2xpZCBmYS1jaGV2cm9uLWRvd24gYXgtdGV4dC1wcmltYXJ5IGF4LWN1cnNvci1wb2ludGVyIGF4LXRleHQteHMgYXgtcHgtMlwiIFxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwibW92ZUl0ZW1Eb3duKCRldmVudCxpKVwiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5heC1vcGFjaXR5LTMwXT1cImkgPT09IHNlbGVjdGVkQ29uZmlncygpLmxlbmd0aCAtIDFcIlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3MuYXgtY3Vyc29yLW5vdC1hbGxvd2VkXT1cImkgPT09IHNlbGVjdGVkQ29uZmlncygpLmxlbmd0aCAtIDFcIlxuICAgICAgICAgICAgICAgICAgICB0aXRsZT1cIk1vdmUgRG93blwiPlxuICAgICAgICAgICAgICAgICAgPC9heC1pY29uPlxuICAgICAgICAgICAgICAgICAgPGF4LWljb24gY2xhc3M9XCJmYS1zb2xpZCBmYS14bWFyayBheC10ZXh0LWRhbmdlciBheC1jdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJ0b2dnbGVTZWxlY3Rpb24oY2ZnKVwiPjwvYXgtaWNvbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgIDwvYXgtY29sbGFwc2U+XG4gICAgICAgIDwvYXgtY29sbGFwc2UtZ3JvdXA+XG4gICAgICA8L2Rpdj5cbiAgICB9XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxheC1mb290ZXI+XG4gIDxheC1zdWZmaXg+XG4gICAgPGF4LWJ1dHRvbiBsb29rPVwic29saWRcIiBbdGV4dF09XCIoJ2Nsb3NlJyB8IHRyYW5zbGF0ZSB8IGFzeW5jKSFcIiAob25DbGljayk9XCJoYW5kbGVDbG9zZUNsaWNrKClcIj4gPC9heC1idXR0b24+XG4gICAgPGF4LWJ1dHRvbiBsb29rPVwic29saWRcIiBjb2xvcj1cInByaW1hcnlcIiBbdGV4dF09XCIoJ3NlbGVjdCcgfCB0cmFuc2xhdGUgfCBhc3luYykhXCIgKG9uQ2xpY2spPVwiaGFuZGxlU2VsZWN0Q2xpY2soKVwiPlxuICAgIDwvYXgtYnV0dG9uPlxuICA8L2F4LXN1ZmZpeD5cbjwvYXgtZm9vdGVyPlxuXG48bmctdGVtcGxhdGUgI2l0ZW1UZW1wbGF0ZSBsZXQtaXRlbT5cbiAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtaXRlbXMtY2VudGVyIGF4LWp1c3RpZnktYmV0d2VlbiBheC13LWZ1bGxcIj5cbiAgICA8c3Bhbj57eyBpdGVtLnRleHQgfX08L3NwYW4+XG4gICAgQGlmKGl0ZW0uaGFzQ2hlY2tib3gpIHtcbiAgICA8YXgtaWNvbiBcbiAgICAgIGNsYXNzPVwiZmEtcmVndWxhciBmYS1leWUgYXgtdGV4dC1wcmltYXJ5IGF4LWN1cnNvci1wb2ludGVyIGF4LW1sLTJcIiBcbiAgICAgIChjbGljayk9XCJoYW5kbGVQcmV2aWV3TWV0YShpdGVtKVwiXG4gICAgICB0aXRsZT1cIlByZXZpZXcgTWV0YVwiPlxuICAgIDwvYXgtaWNvbj5cbiAgICB9XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ=="],"names":["i2","i4","i5","i8","i9","i10"],"mappings":"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"}
|
|
@@ -10,11 +10,11 @@ class AXPMetaSelectorWidgetColumnComponent extends AXPColumnWidgetComponent {
|
|
|
10
10
|
this.trulyText = this.options['trulyText'];
|
|
11
11
|
this.falsyText = this.options['falsyText'];
|
|
12
12
|
}
|
|
13
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.
|
|
14
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.
|
|
13
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: AXPMetaSelectorWidgetColumnComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
14
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.4", type: AXPMetaSelectorWidgetColumnComponent, isStandalone: true, selector: "ng-component", inputs: { rawValue: "rawValue", rowData: "rowData" }, usesInheritance: true, ngImport: i0, template: ` <div>
|
|
15
15
|
</div>`, isInline: true, dependencies: [{ kind: "ngmodule", type: AXDecoratorModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
16
16
|
}
|
|
17
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.
|
|
17
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: AXPMetaSelectorWidgetColumnComponent, decorators: [{
|
|
18
18
|
type: Component,
|
|
19
19
|
args: [{
|
|
20
20
|
template: ` <div>
|
|
@@ -26,4 +26,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImpor
|
|
|
26
26
|
}] });
|
|
27
27
|
|
|
28
28
|
export { AXPMetaSelectorWidgetColumnComponent };
|
|
29
|
-
//# sourceMappingURL=acorex-modules-document-management-meta-selector-widget-column.component-
|
|
29
|
+
//# sourceMappingURL=acorex-modules-document-management-meta-selector-widget-column.component-OXeS0kW8.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-modules-document-management-meta-selector-widget-column.component-
|
|
1
|
+
{"version":3,"file":"acorex-modules-document-management-meta-selector-widget-column.component-OXeS0kW8.mjs","sources":["../tmp-esm2022/document-management/lib/features/meta-choose-widget/meta-selector-widget-column.component.js"],"sourcesContent":["import { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXPColumnWidgetComponent } from '@acorex/platform/layout/builder';\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class AXPMetaSelectorWidgetColumnComponent extends AXPColumnWidgetComponent {\n constructor() {\n super(...arguments);\n this.negative = this.options['negative'];\n this.trulyText = this.options['trulyText'];\n this.falsyText = this.options['falsyText'];\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXPMetaSelectorWidgetColumnComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.4\", type: AXPMetaSelectorWidgetColumnComponent, isStandalone: true, selector: \"ng-component\", inputs: { rawValue: \"rawValue\", rowData: \"rowData\" }, usesInheritance: true, ngImport: i0, template: ` <div>\n</div>`, isInline: true, dependencies: [{ kind: \"ngmodule\", type: AXDecoratorModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXPMetaSelectorWidgetColumnComponent, decorators: [{\n type: Component,\n args: [{\n template: ` <div>\n</div>`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [AXDecoratorModule],\n inputs: ['rawValue', 'rowData'],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YS1zZWxlY3Rvci13aWRnZXQtY29sdW1uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9kb2N1bWVudC1tYW5hZ2VtZW50L3NyYy9saWIvZmVhdHVyZXMvbWV0YS1jaG9vc2Utd2lkZ2V0L21ldGEtc2VsZWN0b3Itd2lkZ2V0LWNvbHVtbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFM0UsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFRbkUsTUFBTSxPQUFPLG9DQUFxQyxTQUFRLHdCQUE2QjtJQVB2Rjs7UUFRWSxhQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQVksQ0FBQztRQUMvQyxjQUFTLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQVcsQ0FBQztRQUNoRCxjQUFTLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQVcsQ0FBQztLQUMzRDs4R0FKWSxvQ0FBb0M7a0dBQXBDLG9DQUFvQyxxSkFOckM7T0FDTCwyREFFSyxpQkFBaUI7OzJGQUdoQixvQ0FBb0M7a0JBUGhELFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFO09BQ0w7b0JBQ0wsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLE9BQU8sRUFBRSxDQUFDLGlCQUFpQixDQUFDO29CQUM1QixNQUFNLEVBQUUsQ0FBQyxVQUFVLEVBQUUsU0FBUyxDQUFDO2lCQUNoQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYRGVjb3JhdG9yTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RlY29yYXRvcnMnO1xuaW1wb3J0IHsgQVhQQ29sdW1uV2lkZ2V0Q29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvYnVpbGRlcic7XG5cbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbkBDb21wb25lbnQoe1xuICB0ZW1wbGF0ZTogYCA8ZGl2PlxuPC9kaXY+YCxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGltcG9ydHM6IFtBWERlY29yYXRvck1vZHVsZV0sXG4gIGlucHV0czogWydyYXdWYWx1ZScsICdyb3dEYXRhJ10sXG59KVxuZXhwb3J0IGNsYXNzIEFYUE1ldGFTZWxlY3RvcldpZGdldENvbHVtbkNvbXBvbmVudCBleHRlbmRzIEFYUENvbHVtbldpZGdldENvbXBvbmVudDxhbnk+IHtcbiAgcHJvdGVjdGVkIG5lZ2F0aXZlID0gdGhpcy5vcHRpb25zWyduZWdhdGl2ZSddIGFzIGJvb2xlYW47XG4gIHByb3RlY3RlZCB0cnVseVRleHQgPSB0aGlzLm9wdGlvbnNbJ3RydWx5VGV4dCddIGFzIHN0cmluZztcbiAgcHJvdGVjdGVkIGZhbHN5VGV4dCA9IHRoaXMub3B0aW9uc1snZmFsc3lUZXh0J10gYXMgc3RyaW5nO1xufSAiXX0="],"names":[],"mappings":";;;;;AAIO,MAAM,oCAAoC,SAAS,wBAAwB,CAAC;AACnF,IAAI,WAAW,GAAG;AAClB,QAAQ,KAAK,CAAC,GAAG,SAAS,CAAC;AAC3B,QAAQ,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;AAChD,QAAQ,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;AAClD,QAAQ,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;AAClD;AACA,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,oCAAoC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC;AACxM,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,oCAAoC,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC;AAC5R,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,EAAE,eAAe,EAAE,EAAE,CAAC,uBAAuB,CAAC,MAAM,EAAE,CAAC,CAAC;AAC9I;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,oCAAoC,EAAE,UAAU,EAAE,CAAC;AAC9I,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,QAAQ,EAAE,CAAC;AAC/B,MAAM,CAAC;AACP,oBAAoB,eAAe,EAAE,uBAAuB,CAAC,MAAM;AACnE,oBAAoB,OAAO,EAAE,CAAC,iBAAiB,CAAC;AAChD,oBAAoB,MAAM,EAAE,CAAC,UAAU,EAAE,SAAS,CAAC;AACnD,iBAAiB;AACjB,SAAS,CAAC,EAAE,CAAC;;;;"}
|
|
@@ -18,10 +18,10 @@ class AXPMetaSelectorWidgetDesignerComponent extends AXPValueWidgetComponent {
|
|
|
18
18
|
cls['ax-inline-block'] = true;
|
|
19
19
|
return cls;
|
|
20
20
|
}
|
|
21
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.
|
|
22
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.
|
|
21
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: AXPMetaSelectorWidgetDesignerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
22
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.4", type: AXPMetaSelectorWidgetDesignerComponent, isStandalone: true, selector: "axp-meta-selector-widget", host: { properties: { "class": "this.__class" } }, usesInheritance: true, ngImport: i0, template: ``, isInline: true, dependencies: [{ kind: "ngmodule", type: AXCheckBoxModule }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: AXLabelModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
23
23
|
}
|
|
24
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.
|
|
24
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: AXPMetaSelectorWidgetDesignerComponent, decorators: [{
|
|
25
25
|
type: Component,
|
|
26
26
|
args: [{
|
|
27
27
|
selector: 'axp-meta-selector-widget',
|
|
@@ -35,4 +35,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImpor
|
|
|
35
35
|
}] } });
|
|
36
36
|
|
|
37
37
|
export { AXPMetaSelectorWidgetDesignerComponent };
|
|
38
|
-
//# sourceMappingURL=acorex-modules-document-management-meta-selector-widget-designer.component-
|
|
38
|
+
//# sourceMappingURL=acorex-modules-document-management-meta-selector-widget-designer.component-BdVSGb3M.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-modules-document-management-meta-selector-widget-designer.component-
|
|
1
|
+
{"version":3,"file":"acorex-modules-document-management-meta-selector-widget-designer.component-BdVSGb3M.mjs","sources":["../tmp-esm2022/document-management/lib/features/meta-choose-widget/meta-selector-widget-designer.component.js"],"sourcesContent":["import { AXCheckBoxModule } from '@acorex/components/check-box';\nimport { ChangeDetectionStrategy, Component, computed, HostBinding } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXPValueWidgetComponent } from '@acorex/platform/layout/builder';\nimport { AXLabelModule } from '@acorex/components/label';\nimport * as i0 from \"@angular/core\";\nexport class AXPMetaSelectorWidgetDesignerComponent extends AXPValueWidgetComponent {\n constructor() {\n super(...arguments);\n this.disabled = computed(() => this.options()[\"disabled\"], ...(ngDevMode ? [{ debugName: \"disabled\" }] : []));\n this.readonly = computed(() => this.options()[\"readonly\"], ...(ngDevMode ? [{ debugName: \"readonly\" }] : []));\n this.label = computed(() => this.options()[\"label\"], ...(ngDevMode ? [{ debugName: \"label\" }] : []));\n }\n get __class() {\n const cls = {};\n //\n cls['ax-inline-block'] = true;\n return cls;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXPMetaSelectorWidgetDesignerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.4\", type: AXPMetaSelectorWidgetDesignerComponent, isStandalone: true, selector: \"axp-meta-selector-widget\", host: { properties: { \"class\": \"this.__class\" } }, usesInheritance: true, ngImport: i0, template: ``, isInline: true, dependencies: [{ kind: \"ngmodule\", type: AXCheckBoxModule }, { kind: \"ngmodule\", type: FormsModule }, { kind: \"ngmodule\", type: AXLabelModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXPMetaSelectorWidgetDesignerComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'axp-meta-selector-widget',\n template: ``,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [AXCheckBoxModule, FormsModule, AXLabelModule]\n }]\n }], propDecorators: { __class: [{\n type: HostBinding,\n args: ['class']\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YS1zZWxlY3Rvci13aWRnZXQtZGVzaWduZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2RvY3VtZW50LW1hbmFnZW1lbnQvc3JjL2xpYi9mZWF0dXJlcy9tZXRhLWNob29zZS13aWRnZXQvbWV0YS1zZWxlY3Rvci13aWRnZXQtZGVzaWduZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRWhFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDMUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDOztBQVF6RCxNQUFNLE9BQU8sc0NBQXVDLFNBQVEsdUJBQXVDO0lBTm5HOztRQVFZLGFBQVEsR0FBRyxRQUFRLENBQVUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLFVBQVUsQ0FBWSxvREFBQyxDQUFDO1FBQzFFLGFBQVEsR0FBRyxRQUFRLENBQVUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLFVBQVUsQ0FBWSxvREFBQyxDQUFDO1FBQzFFLFVBQUssR0FBRyxRQUFRLENBQVMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBVyxpREFBQyxDQUFDO0tBVTdFO0lBUEMsSUFDWSxPQUFPO1FBQ2pCLE1BQU0sR0FBRyxHQUFRLEVBQUUsQ0FBQztRQUNwQixFQUFFO1FBQ0YsR0FBRyxDQUFDLGlCQUFpQixDQUFDLEdBQUcsSUFBSSxDQUFDO1FBQzlCLE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQzs4R0FiVSxzQ0FBc0M7a0dBQXRDLHNDQUFzQyw4SkFKdkMsRUFBRSwyREFFRixnQkFBZ0IsOEJBQUUsV0FBVyw4QkFBRSxhQUFhOzsyRkFFM0Msc0NBQXNDO2tCQU5sRCxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSwwQkFBMEI7b0JBQ3BDLFFBQVEsRUFBRSxFQUFFO29CQUNaLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxPQUFPLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsYUFBYSxDQUFDO2lCQUN4RDs4QkFTYSxPQUFPO3NCQURsQixXQUFXO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWENoZWNrQm94TW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2NoZWNrLWJveCc7XG5cbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGNvbXB1dGVkLCBIb3N0QmluZGluZyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBBWFBWYWx1ZVdpZGdldENvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2J1aWxkZXInO1xuaW1wb3J0IHsgQVhMYWJlbE1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9sYWJlbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4cC1tZXRhLXNlbGVjdG9yLXdpZGdldCcsXG4gIHRlbXBsYXRlOiBgYCxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGltcG9ydHM6IFtBWENoZWNrQm94TW9kdWxlLCBGb3Jtc01vZHVsZSwgQVhMYWJlbE1vZHVsZV1cbn0pXG5leHBvcnQgY2xhc3MgQVhQTWV0YVNlbGVjdG9yV2lkZ2V0RGVzaWduZXJDb21wb25lbnQgZXh0ZW5kcyBBWFBWYWx1ZVdpZGdldENvbXBvbmVudDxib29sZWFuIHwgbnVsbD4ge1xuXG4gIHByb3RlY3RlZCBkaXNhYmxlZCA9IGNvbXB1dGVkPGJvb2xlYW4+KCgpID0+IHRoaXMub3B0aW9ucygpW1wiZGlzYWJsZWRcIl0gYXMgYm9vbGVhbik7XG4gIHByb3RlY3RlZCByZWFkb25seSA9IGNvbXB1dGVkPGJvb2xlYW4+KCgpID0+IHRoaXMub3B0aW9ucygpW1wicmVhZG9ubHlcIl0gYXMgYm9vbGVhbik7XG4gIHByb3RlY3RlZCBsYWJlbCA9IGNvbXB1dGVkPHN0cmluZz4oKCkgPT4gdGhpcy5vcHRpb25zKClbXCJsYWJlbFwiXSBhcyBzdHJpbmcpO1xuXG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gIHByaXZhdGUgZ2V0IF9fY2xhc3MoKTogc3RyaW5nIHtcbiAgICBjb25zdCBjbHM6IGFueSA9IHt9O1xuICAgIC8vXG4gICAgY2xzWydheC1pbmxpbmUtYmxvY2snXSA9IHRydWU7XG4gICAgcmV0dXJuIGNscztcbiAgfVxufSAiXX0="],"names":[],"mappings":";;;;;;;AAMO,MAAM,sCAAsC,SAAS,uBAAuB,CAAC;AACpF,IAAI,WAAW,GAAG;AAClB,QAAQ,KAAK,CAAC,GAAG,SAAS,CAAC;AAC3B,QAAQ,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,UAAU,CAAC,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACrH,QAAQ,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,UAAU,CAAC,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACrH,QAAQ,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AAC5G;AACA,IAAI,IAAI,OAAO,GAAG;AAClB,QAAQ,MAAM,GAAG,GAAG,EAAE;AACtB;AACA,QAAQ,GAAG,CAAC,iBAAiB,CAAC,GAAG,IAAI;AACrC,QAAQ,OAAO,GAAG;AAClB;AACA,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,sCAAsC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC;AAC1M,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,sCAAsC,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,0BAA0B,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,cAAc,EAAE,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,EAAE,eAAe,EAAE,EAAE,CAAC,uBAAuB,CAAC,MAAM,EAAE,CAAC,CAAC;AAClgB;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,sCAAsC,EAAE,UAAU,EAAE,CAAC;AAChJ,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,QAAQ,EAAE,0BAA0B;AACxD,oBAAoB,QAAQ,EAAE,CAAC,CAAC;AAChC,oBAAoB,eAAe,EAAE,uBAAuB,CAAC,MAAM;AACnE,oBAAoB,OAAO,EAAE,CAAC,gBAAgB,EAAE,WAAW,EAAE,aAAa;AAC1E,iBAAiB;AACjB,SAAS,CAAC,EAAE,cAAc,EAAE,EAAE,OAAO,EAAE,CAAC;AACxC,gBAAgB,IAAI,EAAE,WAAW;AACjC,gBAAgB,IAAI,EAAE,CAAC,OAAO;AAC9B,aAAa,CAAC,EAAE,EAAE,CAAC;;;;"}
|
|
@@ -14,10 +14,10 @@ class AXPMetaSelectorWidgetViewComponent extends AXPValueWidgetComponent {
|
|
|
14
14
|
const val = this.getValue();
|
|
15
15
|
return Array.isArray(val) ? val.map((v) => v.text).join(', ') : '';
|
|
16
16
|
}
|
|
17
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.
|
|
18
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.
|
|
17
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: AXPMetaSelectorWidgetViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
18
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.4", type: AXPMetaSelectorWidgetViewComponent, isStandalone: true, selector: "axp-meta-selector-widget-view", usesInheritance: true, ngImport: i0, template: `<span>{{ display }}</span>`, isInline: true, dependencies: [{ kind: "ngmodule", type: AXDecoratorModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
19
19
|
}
|
|
20
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.
|
|
20
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: AXPMetaSelectorWidgetViewComponent, decorators: [{
|
|
21
21
|
type: Component,
|
|
22
22
|
args: [{
|
|
23
23
|
selector: 'axp-meta-selector-widget-view',
|
|
@@ -28,4 +28,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImpor
|
|
|
28
28
|
}] });
|
|
29
29
|
|
|
30
30
|
export { AXPMetaSelectorWidgetViewComponent };
|
|
31
|
-
//# sourceMappingURL=acorex-modules-document-management-meta-selector-widget-view.component-
|
|
31
|
+
//# sourceMappingURL=acorex-modules-document-management-meta-selector-widget-view.component-B-Vos30P.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-modules-document-management-meta-selector-widget-view.component-
|
|
1
|
+
{"version":3,"file":"acorex-modules-document-management-meta-selector-widget-view.component-B-Vos30P.mjs","sources":["../tmp-esm2022/document-management/lib/features/meta-choose-widget/meta-selector-widget-view.component.js"],"sourcesContent":["import { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXPValueWidgetComponent } from '@acorex/platform/layout/builder';\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class AXPMetaSelectorWidgetViewComponent extends AXPValueWidgetComponent {\n /**\n * Returns a comma-separated list of selected meta titles.\n * Extracting this logic into a getter keeps the template simple and\n * avoids using arrow functions, which are not allowed in Angular\n * interpolation expressions.\n */\n get display() {\n const val = this.getValue();\n return Array.isArray(val) ? val.map((v) => v.text).join(', ') : '';\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXPMetaSelectorWidgetViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.4\", type: AXPMetaSelectorWidgetViewComponent, isStandalone: true, selector: \"axp-meta-selector-widget-view\", usesInheritance: true, ngImport: i0, template: `<span>{{ display }}</span>`, isInline: true, dependencies: [{ kind: \"ngmodule\", type: AXDecoratorModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXPMetaSelectorWidgetViewComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'axp-meta-selector-widget-view',\n template: `<span>{{ display }}</span>`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [AXDecoratorModule],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YS1zZWxlY3Rvci13aWRnZXQtdmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvZG9jdW1lbnQtbWFuYWdlbWVudC9zcmMvbGliL2ZlYXR1cmVzL21ldGEtY2hvb3NlLXdpZGdldC9tZXRhLXNlbGVjdG9yLXdpZGdldC12aWV3LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUUxRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQVFuRSxNQUFNLE9BQU8sa0NBQW1DLFNBQVEsdUJBQTRCO0lBQ2xGOzs7OztPQUtHO0lBQ0gsSUFBSSxPQUFPO1FBQ1QsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQzVCLE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQzFFLENBQUM7OEdBVlUsa0NBQWtDO2tHQUFsQyxrQ0FBa0MsZ0hBSm5DLDRCQUE0QiwyREFFNUIsaUJBQWlCOzsyRkFFaEIsa0NBQWtDO2tCQU45QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSwrQkFBK0I7b0JBQ3pDLFFBQVEsRUFBRSw0QkFBNEI7b0JBQ3RDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxPQUFPLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQztpQkFDN0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWERlY29yYXRvck1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kZWNvcmF0b3JzJztcbmltcG9ydCB7IEFYUFZhbHVlV2lkZ2V0Q29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvYnVpbGRlcic7XG5cbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXhwLW1ldGEtc2VsZWN0b3Itd2lkZ2V0LXZpZXcnLFxuICB0ZW1wbGF0ZTogYDxzcGFuPnt7IGRpc3BsYXkgfX08L3NwYW4+YCxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGltcG9ydHM6IFtBWERlY29yYXRvck1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIEFYUE1ldGFTZWxlY3RvcldpZGdldFZpZXdDb21wb25lbnQgZXh0ZW5kcyBBWFBWYWx1ZVdpZGdldENvbXBvbmVudDxhbnk+IHtcbiAgLyoqXG4gICAqIFJldHVybnMgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiBzZWxlY3RlZCBtZXRhIHRpdGxlcy5cbiAgICogRXh0cmFjdGluZyB0aGlzIGxvZ2ljIGludG8gYSBnZXR0ZXIga2VlcHMgdGhlIHRlbXBsYXRlIHNpbXBsZSBhbmRcbiAgICogYXZvaWRzIHVzaW5nIGFycm93IGZ1bmN0aW9ucywgd2hpY2ggYXJlIG5vdCBhbGxvd2VkIGluIEFuZ3VsYXJcbiAgICogaW50ZXJwb2xhdGlvbiBleHByZXNzaW9ucy5cbiAgICovXG4gIGdldCBkaXNwbGF5KCk6IHN0cmluZyB7XG4gICAgY29uc3QgdmFsID0gdGhpcy5nZXRWYWx1ZSgpO1xuICAgIHJldHVybiBBcnJheS5pc0FycmF5KHZhbCkgPyB2YWwubWFwKCh2OiBhbnkpID0+IHYudGV4dCkuam9pbignLCAnKSA6ICcnO1xuICB9XG59ICJdfQ=="],"names":[],"mappings":";;;;;AAIO,MAAM,kCAAkC,SAAS,uBAAuB,CAAC;AAChF;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,OAAO,GAAG;AAClB,QAAQ,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE;AACnC,QAAQ,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;AAC1E;AACA,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,kCAAkC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC;AACtM,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,kCAAkC,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,+BAA+B,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,0BAA0B,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,EAAE,eAAe,EAAE,EAAE,CAAC,uBAAuB,CAAC,MAAM,EAAE,CAAC,CAAC;AACvZ;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,kCAAkC,EAAE,UAAU,EAAE,CAAC;AAC5I,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,QAAQ,EAAE,+BAA+B;AAC7D,oBAAoB,QAAQ,EAAE,CAAC,0BAA0B,CAAC;AAC1D,oBAAoB,eAAe,EAAE,uBAAuB,CAAC,MAAM;AACnE,oBAAoB,OAAO,EAAE,CAAC,iBAAiB,CAAC;AAChD,iBAAiB;AACjB,SAAS,CAAC,EAAE,CAAC;;;;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { AXTranslationService } from '@acorex/core/translation';
|
|
2
|
-
import { d as AXMPermissionsKeys } from './acorex-modules-document-management-acorex-modules-document-management-
|
|
2
|
+
import { d as AXMPermissionsKeys } from './acorex-modules-document-management-acorex-modules-document-management-DXGX-riG.mjs';
|
|
3
3
|
|
|
4
4
|
class AXMPermissionDefinitionProvider {
|
|
5
5
|
constructor(injector) {
|
|
@@ -23,9 +23,17 @@ class AXMPermissionDefinitionProvider {
|
|
|
23
23
|
.addChild(keys.Driver.Edit, await trans('driver.edit.title'), await trans('driver.edit.description'))
|
|
24
24
|
.addChild(keys.Driver.Delete, await trans('driver.delete.title'), await trans('driver.delete.description'))
|
|
25
25
|
.addChild(keys.Driver.Create, await trans('driver.create.title'), await trans('driver.create.description'))
|
|
26
|
+
.endPermission()
|
|
27
|
+
//
|
|
28
|
+
.addPermission(keys.Review.Management, await trans('review.manage.title'), await trans('review.manage.description'))
|
|
29
|
+
.addChild(keys.Review.View, await trans('review.view.title'), await trans('review.view.description'))
|
|
30
|
+
.addChild(keys.Review.Edit, await trans('review.edit.title'), await trans('review.edit.description'))
|
|
31
|
+
.addChild(keys.Review.Delete, await trans('review.delete.title'), await trans('review.delete.description'))
|
|
32
|
+
.addChild(keys.Review.Create, await trans('review.create.title'), await trans('review.create.description'))
|
|
26
33
|
.endPermission();
|
|
34
|
+
//
|
|
27
35
|
}
|
|
28
36
|
}
|
|
29
37
|
|
|
30
38
|
export { AXMPermissionDefinitionProvider };
|
|
31
|
-
//# sourceMappingURL=acorex-modules-document-management-permission-definition.provider-
|
|
39
|
+
//# sourceMappingURL=acorex-modules-document-management-permission-definition.provider-Bc7rbWwN.mjs.map
|