@acorex/modules 20.0.8 → 20.0.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/common/index.d.ts +1 -0
- package/conversation/index.d.ts +4 -1
- package/data-management/README.md +3 -0
- package/data-management/index.d.ts +101 -0
- package/fesm2022/{acorex-modules-application-management-module-designer.component-BErRgx0w.mjs → acorex-modules-application-management-module-designer.component-BvuZJdwg.mjs} +7 -7
- package/fesm2022/{acorex-modules-application-management-module-designer.component-BErRgx0w.mjs.map → acorex-modules-application-management-module-designer.component-BvuZJdwg.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-X866H4oy.mjs → acorex-modules-auth-acorex-modules-auth-DqsEqXec.mjs} +44 -44
- package/fesm2022/acorex-modules-auth-acorex-modules-auth-DqsEqXec.mjs.map +1 -0
- package/fesm2022/{acorex-modules-auth-app-chooser.component-DqKTfLA2.mjs → acorex-modules-auth-app-chooser.component-D0pKNUts.mjs} +5 -5
- package/fesm2022/{acorex-modules-auth-app-chooser.component-DqKTfLA2.mjs.map → acorex-modules-auth-app-chooser.component-D0pKNUts.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-blank.layout-D2qSgxTy.mjs → acorex-modules-auth-blank.layout-BwVSMaFI.mjs} +4 -4
- package/fesm2022/{acorex-modules-auth-blank.layout-D2qSgxTy.mjs.map → acorex-modules-auth-blank.layout-BwVSMaFI.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-login.module-CWOYzn0L.mjs → acorex-modules-auth-login.module-Dky49ylL.mjs} +8 -8
- package/fesm2022/{acorex-modules-auth-login.module-CWOYzn0L.mjs.map → acorex-modules-auth-login.module-Dky49ylL.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-master.layout-384T0lIg.mjs → acorex-modules-auth-master.layout-DXfRjCLL.mjs} +5 -5
- package/fesm2022/{acorex-modules-auth-master.layout-384T0lIg.mjs.map → acorex-modules-auth-master.layout-DXfRjCLL.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-password.component-BW_ooTQG.mjs → acorex-modules-auth-password.component-BbsQWpEh.mjs} +5 -5
- package/fesm2022/{acorex-modules-auth-password.component-BW_ooTQG.mjs.map → acorex-modules-auth-password.component-BbsQWpEh.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-password.component-JG95JpLz.mjs → acorex-modules-auth-password.component-oH5OFHqQ.mjs} +5 -5
- package/fesm2022/{acorex-modules-auth-password.component-JG95JpLz.mjs.map → acorex-modules-auth-password.component-oH5OFHqQ.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-routes-DqKtHu-i.mjs → acorex-modules-auth-routes-DAiaTm4Y.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-routes-DqKtHu-i.mjs.map → acorex-modules-auth-routes-DAiaTm4Y.mjs.map} +1 -1
- package/fesm2022/acorex-modules-auth-settings.provider-CM-T8nbI.mjs.map +1 -1
- package/fesm2022/{acorex-modules-auth-tenant-chooser.component-C0jxaqqg.mjs → acorex-modules-auth-tenant-chooser.component-3-FFY4tI.mjs} +4 -4
- package/fesm2022/{acorex-modules-auth-tenant-chooser.component-C0jxaqqg.mjs.map → acorex-modules-auth-tenant-chooser.component-3-FFY4tI.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-two-factor-code.component-D7KOomHD.mjs → acorex-modules-auth-two-factor-code.component-UUmdX7IM.mjs} +4 -4
- package/fesm2022/{acorex-modules-auth-two-factor-code.component-D7KOomHD.mjs.map → acorex-modules-auth-two-factor-code.component-UUmdX7IM.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-two-factor.module-C88pXqao.mjs → acorex-modules-auth-two-factor.module-Coe4NNUW.mjs} +7 -7
- package/fesm2022/{acorex-modules-auth-two-factor.module-C88pXqao.mjs.map → acorex-modules-auth-two-factor.module-Coe4NNUW.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-user-sessions.component-loloVwv0.mjs → acorex-modules-auth-user-sessions.component-CtTrstZT.mjs} +5 -5
- package/fesm2022/{acorex-modules-auth-user-sessions.component-loloVwv0.mjs.map → acorex-modules-auth-user-sessions.component-CtTrstZT.mjs.map} +1 -1
- package/fesm2022/acorex-modules-auth.mjs +1 -1
- package/fesm2022/{acorex-modules-common-search-popup.component-CCKiQx0U.mjs → acorex-modules-common-search-popup.component-CNh7TFpe.mjs} +4 -4
- package/fesm2022/{acorex-modules-common-search-popup.component-CCKiQx0U.mjs.map → acorex-modules-common-search-popup.component-CNh7TFpe.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-common-timeline-version-history-popup.component-DJOcjquG.mjs → acorex-modules-common-timeline-version-history-popup.component-D48aDOVu.mjs} +4 -4
- package/fesm2022/{acorex-modules-common-timeline-version-history-popup.component-DJOcjquG.mjs.map → acorex-modules-common-timeline-version-history-popup.component-D48aDOVu.mjs.map} +1 -1
- package/fesm2022/acorex-modules-common.mjs +53 -49
- package/fesm2022/acorex-modules-common.mjs.map +1 -1
- package/fesm2022/acorex-modules-contact-management-address-type.entity-QMEODkhx.mjs.map +1 -1
- package/fesm2022/acorex-modules-contact-management-contact-address.entity-0f4Vaw_k.mjs.map +1 -1
- package/fesm2022/acorex-modules-contact-management-contact-method.entity-ChEz1jW0.mjs.map +1 -1
- package/fesm2022/acorex-modules-contact-management-contact-relationship.entity-DLfiEEfk.mjs.map +1 -1
- package/fesm2022/acorex-modules-contact-management-contact-source.entity-hopVxiIT.mjs.map +1 -1
- package/fesm2022/acorex-modules-contact-management.mjs +31 -31
- package/fesm2022/acorex-modules-contact-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-content-management.mjs +15 -14
- package/fesm2022/acorex-modules-content-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-conversation.mjs +58 -50
- package/fesm2022/acorex-modules-conversation.mjs.map +1 -1
- package/fesm2022/acorex-modules-dashboard-management.mjs +74 -74
- package/fesm2022/acorex-modules-dashboard-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-data-management.mjs +2328 -0
- package/fesm2022/acorex-modules-data-management.mjs.map +1 -0
- package/fesm2022/{acorex-modules-document-management-acorex-modules-document-management-C4cvhxSV.mjs → acorex-modules-document-management-acorex-modules-document-management-CJYBHKUf.mjs} +111 -111
- package/fesm2022/{acorex-modules-document-management-acorex-modules-document-management-C4cvhxSV.mjs.map → acorex-modules-document-management-acorex-modules-document-management-CJYBHKUf.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-attachment-widget.component-B5txg8z0.mjs → acorex-modules-document-management-attachment-widget.component-Cc-hsCCX.mjs} +5 -5
- package/fesm2022/{acorex-modules-document-management-attachment-widget.component-B5txg8z0.mjs.map → acorex-modules-document-management-attachment-widget.component-Cc-hsCCX.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-create-folder-dialog.component-LfnTz49a.mjs → acorex-modules-document-management-create-folder-dialog.component-CMhwz1-0.mjs} +5 -5
- package/fesm2022/{acorex-modules-document-management-create-folder-dialog.component-LfnTz49a.mjs.map → acorex-modules-document-management-create-folder-dialog.component-CMhwz1-0.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-details-view.component-Co5F8eWp.mjs → acorex-modules-document-management-details-view.component-CqK0rCnR.mjs} +5 -5
- package/fesm2022/{acorex-modules-document-management-details-view.component-Co5F8eWp.mjs.map → acorex-modules-document-management-details-view.component-CqK0rCnR.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-drive-choose.component-DFRdS7s1.mjs → acorex-modules-document-management-drive-choose.component-r8KKbY1d.mjs} +5 -5
- package/fesm2022/{acorex-modules-document-management-drive-choose.component-DFRdS7s1.mjs.map → acorex-modules-document-management-drive-choose.component-r8KKbY1d.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-drive.component-jGs09Jrd.mjs → acorex-modules-document-management-drive.component-0wxNHSJr.mjs} +8 -8
- package/fesm2022/{acorex-modules-document-management-drive.component-jGs09Jrd.mjs.map → acorex-modules-document-management-drive.component-0wxNHSJr.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-large-icons-view.component-DD9_xgL4.mjs → acorex-modules-document-management-large-icons-view.component-z-EQb_uG.mjs} +5 -5
- package/fesm2022/{acorex-modules-document-management-large-icons-view.component-DD9_xgL4.mjs.map → acorex-modules-document-management-large-icons-view.component-z-EQb_uG.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-large-tiles-view.component-CNBUzaUz.mjs → acorex-modules-document-management-large-tiles-view.component-Ce9h5m2O.mjs} +5 -5
- package/fesm2022/{acorex-modules-document-management-large-tiles-view.component-CNBUzaUz.mjs.map → acorex-modules-document-management-large-tiles-view.component-Ce9h5m2O.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-link-dialog.component-CXzR7mUW.mjs → acorex-modules-document-management-link-dialog.component-OTa8ttto.mjs} +4 -4
- package/fesm2022/{acorex-modules-document-management-link-dialog.component-CXzR7mUW.mjs.map → acorex-modules-document-management-link-dialog.component-OTa8ttto.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-list-view.component-D4DbyB6W.mjs → acorex-modules-document-management-list-view.component-DZKdXqAA.mjs} +5 -5
- package/fesm2022/{acorex-modules-document-management-list-view.component-D4DbyB6W.mjs.map → acorex-modules-document-management-list-view.component-DZKdXqAA.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-meta-choose-popup.component-CmMvrfKW.mjs → acorex-modules-document-management-meta-choose-popup.component-DsSo15AL.mjs} +4 -4
- package/fesm2022/{acorex-modules-document-management-meta-choose-popup.component-CmMvrfKW.mjs.map → acorex-modules-document-management-meta-choose-popup.component-DsSo15AL.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-meta-selector-widget-column.component-DHQjyq8s.mjs → acorex-modules-document-management-meta-selector-widget-column.component-gunvY9et.mjs} +4 -4
- package/fesm2022/{acorex-modules-document-management-meta-selector-widget-column.component-DHQjyq8s.mjs.map → acorex-modules-document-management-meta-selector-widget-column.component-gunvY9et.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-meta-selector-widget-designer.component-Cc6n71wn.mjs → acorex-modules-document-management-meta-selector-widget-designer.component-B-fYrGs1.mjs} +4 -4
- package/fesm2022/{acorex-modules-document-management-meta-selector-widget-designer.component-Cc6n71wn.mjs.map → acorex-modules-document-management-meta-selector-widget-designer.component-B-fYrGs1.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-meta-selector-widget-view.component-D88h9eR6.mjs → acorex-modules-document-management-meta-selector-widget-view.component-D4gu7liQ.mjs} +4 -4
- package/fesm2022/{acorex-modules-document-management-meta-selector-widget-view.component-D88h9eR6.mjs.map → acorex-modules-document-management-meta-selector-widget-view.component-D4gu7liQ.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-permission-definition.provider-DoOyhnwQ.mjs → acorex-modules-document-management-permission-definition.provider-C31fYGZT.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-permission-definition.provider-DoOyhnwQ.mjs.map → acorex-modules-document-management-permission-definition.provider-C31fYGZT.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-rename-node-dialog.component-JDZWsFXL.mjs → acorex-modules-document-management-rename-node-dialog.component-CMmT_vVe.mjs} +5 -5
- package/fesm2022/{acorex-modules-document-management-rename-node-dialog.component-JDZWsFXL.mjs.map → acorex-modules-document-management-rename-node-dialog.component-CMmT_vVe.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-share-dialog.component-DTzXwqHw.mjs → acorex-modules-document-management-share-dialog.component-DiyR6CiE.mjs} +4 -4
- package/fesm2022/{acorex-modules-document-management-share-dialog.component-DTzXwqHw.mjs.map → acorex-modules-document-management-share-dialog.component-DiyR6CiE.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-share-email-dialog.component-BaNzKKG4.mjs → acorex-modules-document-management-share-email-dialog.component-CKlG3YwB.mjs} +4 -4
- package/fesm2022/{acorex-modules-document-management-share-email-dialog.component-BaNzKKG4.mjs.map → acorex-modules-document-management-share-email-dialog.component-CKlG3YwB.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-small-icons-view.component-BNTmgtYr.mjs → acorex-modules-document-management-small-icons-view.component-DI7c4jHZ.mjs} +5 -5
- package/fesm2022/{acorex-modules-document-management-small-icons-view.component-BNTmgtYr.mjs.map → acorex-modules-document-management-small-icons-view.component-DI7c4jHZ.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-small-tiles-view.component-CbCBAKyR.mjs → acorex-modules-document-management-small-tiles-view.component-BYJfNu6O.mjs} +5 -5
- package/fesm2022/{acorex-modules-document-management-small-tiles-view.component-CbCBAKyR.mjs.map → acorex-modules-document-management-small-tiles-view.component-BYJfNu6O.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-BsAsK1EG.mjs → acorex-modules-form-template-management-acorex-modules-form-template-management-EsaVgkdd.mjs} +56 -56
- package/fesm2022/{acorex-modules-form-template-management-acorex-modules-form-template-management-BsAsK1EG.mjs.map → acorex-modules-form-template-management-acorex-modules-form-template-management-EsaVgkdd.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-form-template-management-category.entity-B3iAtREq.mjs → acorex-modules-form-template-management-category.entity-CC0qe4pv.mjs} +2 -2
- package/fesm2022/{acorex-modules-form-template-management-category.entity-B3iAtREq.mjs.map → acorex-modules-form-template-management-category.entity-CC0qe4pv.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-form-template-management-designer.page-B-TIUKl7.mjs → acorex-modules-form-template-management-designer.page-B14QVCAw.mjs} +4 -4
- package/fesm2022/{acorex-modules-form-template-management-designer.page-B-TIUKl7.mjs.map → acorex-modules-form-template-management-designer.page-B14QVCAw.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-form-template-management-permission-definition.provider-CTG95UDp.mjs → acorex-modules-form-template-management-permission-definition.provider-BMd6DvoR.mjs} +2 -2
- package/fesm2022/{acorex-modules-form-template-management-permission-definition.provider-CTG95UDp.mjs.map → acorex-modules-form-template-management-permission-definition.provider-BMd6DvoR.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-form-template-management-settings.provider-BmFufTUd.mjs → acorex-modules-form-template-management-settings.provider-BYS5t4c_.mjs} +2 -2
- package/fesm2022/{acorex-modules-form-template-management-settings.provider-BmFufTUd.mjs.map → acorex-modules-form-template-management-settings.provider-BYS5t4c_.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-form-template-management-template-picker.component-CNwhdnGC.mjs → acorex-modules-form-template-management-template-picker.component-C0mLCsFT.mjs} +4 -4
- package/fesm2022/{acorex-modules-form-template-management-template-picker.component-CNwhdnGC.mjs.map → acorex-modules-form-template-management-template-picker.component-C0mLCsFT.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-form-template-management-template-widget-edit.component-BNIx16WW.mjs → acorex-modules-form-template-management-template-widget-edit.component-CffnsEo2.mjs} +5 -5
- package/fesm2022/{acorex-modules-form-template-management-template-widget-edit.component-BNIx16WW.mjs.map → acorex-modules-form-template-management-template-widget-edit.component-CffnsEo2.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-form-template-management-template.entity-BGsixiEI.mjs → acorex-modules-form-template-management-template.entity-DTx9CejD.mjs} +2 -2
- package/fesm2022/{acorex-modules-form-template-management-template.entity-BGsixiEI.mjs.map → acorex-modules-form-template-management-template.entity-DTx9CejD.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-form-template-management-viewer-popup.component-CzjuUz4o.mjs → acorex-modules-form-template-management-viewer-popup.component-BwVSDsN3.mjs} +5 -5
- package/fesm2022/{acorex-modules-form-template-management-viewer-popup.component-CzjuUz4o.mjs.map → acorex-modules-form-template-management-viewer-popup.component-BwVSDsN3.mjs.map} +1 -1
- package/fesm2022/acorex-modules-form-template-management.mjs +1 -1
- package/fesm2022/{acorex-modules-issue-management-acorex-modules-issue-management-C2JoHgaa.mjs → acorex-modules-issue-management-acorex-modules-issue-management-BhascWnH.mjs} +712 -644
- package/fesm2022/acorex-modules-issue-management-acorex-modules-issue-management-BhascWnH.mjs.map +1 -0
- package/fesm2022/acorex-modules-issue-management-capture-screen.component-BIWYcqOI.mjs +28 -0
- package/fesm2022/acorex-modules-issue-management-capture-screen.component-BIWYcqOI.mjs.map +1 -0
- package/fesm2022/acorex-modules-issue-management.mjs +1 -1
- package/fesm2022/acorex-modules-log-management.mjs +10 -10
- package/fesm2022/acorex-modules-log-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-notification-management.mjs +35 -35
- package/fesm2022/acorex-modules-notification-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-organization-management-add-item.component-D99TugmE.mjs → acorex-modules-organization-management-add-item.component-Br70YGJS.mjs} +4 -4
- package/fesm2022/{acorex-modules-organization-management-add-item.component-D99TugmE.mjs.map → acorex-modules-organization-management-add-item.component-Br70YGJS.mjs.map} +1 -1
- package/fesm2022/acorex-modules-organization-management-branch.entity-Bsgj4Pow.mjs.map +1 -1
- package/fesm2022/acorex-modules-organization-management-chart.entity-UAn44WCP.mjs.map +1 -1
- package/fesm2022/acorex-modules-organization-management-company.entity-D1A1HSkC.mjs.map +1 -1
- package/fesm2022/acorex-modules-organization-management-department.entity-BMojk26d.mjs.map +1 -1
- package/fesm2022/acorex-modules-organization-management-division.entity-BnWpX4US.mjs.map +1 -1
- package/fesm2022/acorex-modules-organization-management-employee.entity-DBuCVYZP.mjs.map +1 -1
- package/fesm2022/acorex-modules-organization-management-employment-type.entity-CWYu9tIg.mjs.map +1 -1
- package/fesm2022/{acorex-modules-organization-management-org-chart-configuration.page-DTNqHbxt.mjs → acorex-modules-organization-management-org-chart-configuration.page-DHu4UuxD.mjs} +5 -5
- package/fesm2022/{acorex-modules-organization-management-org-chart-configuration.page-DTNqHbxt.mjs.map → acorex-modules-organization-management-org-chart-configuration.page-DHu4UuxD.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-org-chart-configuration.service-BSO0GrAW.mjs → acorex-modules-organization-management-org-chart-configuration.service-CcZMGyCz.mjs} +4 -4
- package/fesm2022/{acorex-modules-organization-management-org-chart-configuration.service-BSO0GrAW.mjs.map → acorex-modules-organization-management-org-chart-configuration.service-CcZMGyCz.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-org-chart.page-ioMhEPnQ.mjs → acorex-modules-organization-management-org-chart.page-CSMTnTDi.mjs} +12 -12
- package/fesm2022/{acorex-modules-organization-management-org-chart.page-ioMhEPnQ.mjs.map → acorex-modules-organization-management-org-chart.page-CSMTnTDi.mjs.map} +1 -1
- package/fesm2022/acorex-modules-organization-management-position-category.entity-DrZ9Ott4.mjs.map +1 -1
- package/fesm2022/acorex-modules-organization-management-position.entity-CY4TugWR.mjs.map +1 -1
- package/fesm2022/acorex-modules-organization-management-responsibility-category.entity-CmafbyCZ.mjs.map +1 -1
- package/fesm2022/acorex-modules-organization-management-responsibility.entity-DmLeFogS.mjs.map +1 -1
- package/fesm2022/acorex-modules-organization-management-role-category.entity-Cyt1dAKR.mjs.map +1 -1
- package/fesm2022/acorex-modules-organization-management-role.entity-BDErzNv-.mjs.map +1 -1
- package/fesm2022/acorex-modules-organization-management-settings.provider-hlbUXugb.mjs.map +1 -1
- package/fesm2022/acorex-modules-organization-management-skill-category.entity-BPgGGVT3.mjs.map +1 -1
- package/fesm2022/acorex-modules-organization-management-skill.entity-D9XojzUV.mjs.map +1 -1
- package/fesm2022/acorex-modules-organization-management-team.entity-mYPhrc2l.mjs.map +1 -1
- package/fesm2022/acorex-modules-organization-management.mjs +125 -122
- package/fesm2022/acorex-modules-organization-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-platform-management-acorex-modules-platform-management-CFoPmixl.mjs → acorex-modules-platform-management-acorex-modules-platform-management-TWTBqgn6.mjs} +107 -104
- package/fesm2022/{acorex-modules-platform-management-acorex-modules-platform-management-CFoPmixl.mjs.map → acorex-modules-platform-management-acorex-modules-platform-management-TWTBqgn6.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-platform-management-list-version.component-D0-Ya-Yx.mjs → acorex-modules-platform-management-list-version.component-DQ3Gp9kl.mjs} +5 -5
- package/fesm2022/{acorex-modules-platform-management-list-version.component-D0-Ya-Yx.mjs.map → acorex-modules-platform-management-list-version.component-DQ3Gp9kl.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-platform-management-settings.provider--ARXqBUY.mjs → acorex-modules-platform-management-settings.provider-FXMK1_44.mjs} +2 -2
- package/fesm2022/{acorex-modules-platform-management-settings.provider--ARXqBUY.mjs.map → acorex-modules-platform-management-settings.provider-FXMK1_44.mjs.map} +1 -1
- package/fesm2022/acorex-modules-platform-management.mjs +1 -1
- package/fesm2022/acorex-modules-project-management.mjs +43 -43
- package/fesm2022/acorex-modules-project-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-report-management-report-create-root.component-LrE6TkIp.mjs → acorex-modules-report-management-report-create-root.component-CcNJIUk2.mjs} +4 -4
- package/fesm2022/{acorex-modules-report-management-report-create-root.component-LrE6TkIp.mjs.map → acorex-modules-report-management-report-create-root.component-CcNJIUk2.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-report-management-report-runner-root-page.component-BntIoMfN.mjs → acorex-modules-report-management-report-runner-root-page.component-CAxcD_pe.mjs} +22 -22
- package/fesm2022/acorex-modules-report-management-report-runner-root-page.component-CAxcD_pe.mjs.map +1 -0
- package/fesm2022/{acorex-modules-report-management-run.command-CoXvPC15.mjs → acorex-modules-report-management-run.command-DHPmdkSZ.mjs} +4 -4
- package/fesm2022/{acorex-modules-report-management-run.command-CoXvPC15.mjs.map → acorex-modules-report-management-run.command-DHPmdkSZ.mjs.map} +1 -1
- package/fesm2022/acorex-modules-report-management.mjs +186 -27
- 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 +63 -63
- package/fesm2022/acorex-modules-security-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-settings-management-setting-page.component-BKwKLUpD.mjs → acorex-modules-settings-management-setting-page.component-BbnEqXKu.mjs} +4 -4
- package/fesm2022/{acorex-modules-settings-management-setting-page.component-BKwKLUpD.mjs.map → acorex-modules-settings-management-setting-page.component-BbnEqXKu.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-settings-management-setting-view.component-Dco7MvZr.mjs → acorex-modules-settings-management-setting-view.component-DP8mxDK9.mjs} +4 -4
- package/fesm2022/{acorex-modules-settings-management-setting-view.component-Dco7MvZr.mjs.map → acorex-modules-settings-management-setting-view.component-DP8mxDK9.mjs.map} +1 -1
- package/fesm2022/acorex-modules-settings-management.mjs +6 -6
- package/fesm2022/acorex-modules-settings-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-text-template-management-settings.provider-fX0dhWUL.mjs.map +1 -1
- package/fesm2022/acorex-modules-text-template-management.mjs +24 -24
- package/fesm2022/acorex-modules-text-template-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-training-management.mjs +43 -43
- package/fesm2022/acorex-modules-training-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-workflow-management-task-board.page-Dp7SJ3NA.mjs +876 -0
- package/fesm2022/acorex-modules-workflow-management-task-board.page-Dp7SJ3NA.mjs.map +1 -0
- package/fesm2022/acorex-modules-workflow-management.mjs +19 -12
- package/fesm2022/acorex-modules-workflow-management.mjs.map +1 -1
- package/issue-management/index.d.ts +63 -5
- package/package.json +9 -5
- package/workflow-management/index.d.ts +1 -0
- package/fesm2022/acorex-modules-auth-acorex-modules-auth-X866H4oy.mjs.map +0 -1
- package/fesm2022/acorex-modules-issue-management-acorex-modules-issue-management-C2JoHgaa.mjs.map +0 -1
- package/fesm2022/acorex-modules-issue-management-capture-screen.component-DTtUkL78.mjs +0 -28
- package/fesm2022/acorex-modules-issue-management-capture-screen.component-DTtUkL78.mjs.map +0 -1
- package/fesm2022/acorex-modules-report-management-report-runner-root-page.component-BntIoMfN.mjs.map +0 -1
- package/fesm2022/acorex-modules-workflow-management-task-board.page-ChW_Hwf2.mjs +0 -762
- package/fesm2022/acorex-modules-workflow-management-task-board.page-ChW_Hwf2.mjs.map +0 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"acorex-modules-document-management-meta-choose-popup.component-CmMvrfKW.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/core/translation\";\nimport * as i7 from \"@acorex/components/check-box\";\nimport * as i8 from \"@acorex/components/text-box\";\nimport * as i9 from \"@acorex/components/collapse\";\nimport * as i10 from \"@acorex/components/label\";\nimport * as i11 from \"@angular/forms\";\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([]);\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('');\n //#region ---- Selected Configs ----\n this.selectedConfigs = signal([]);\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: '' });\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.0.6\", ngImport: i0, type: AXPMetaChoosePopupComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.0.6\", 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 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\\\" 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-p-4 ax-flex ax-flex-col ax-gap-4\\\">\\n <div class=\\\"ax-flex ax-items-center ax-gap-2\\\">\\n <ax-check-box\\n [ngModel]=\\\"cfg.isRequired\\\"\\n (onValueChanged)=\\\"cfg.isRequired = $event.value ?? false\\\"\\n ></ax-check-box>\\n <ax-label>{{ 'required' | translate | async }}</ax-label>\\n </div>\\n\\n <ax-text-box\\n class=\\\"ax-w-full\\\"\\n [(ngModel)]=\\\"cfg.placeholder\\\"\\n [placeholder]=\\\"'placeholder' | translate | async\\\"\\n ></ax-text-box>\\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: \"pipe\", type: i1.AsyncPipe, name: \"async\" }, { 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: \"pipe\", type: i6.AXTranslatorPipe, name: \"translate\" }, { kind: \"ngmodule\", type: AXCheckBoxModule }, { kind: \"component\", type: i7.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: \"component\", type: i8.AXTextBoxComponent, selector: \"ax-text-box\", inputs: [\"disabled\", \"tabIndex\", \"readonly\", \"value\", \"state\", \"name\", \"id\", \"placeholder\", \"maxLength\", \"allowNull\", \"type\", \"autoComplete\", \"look\", \"mask-options\", \"class\"], outputs: [\"onBlur\", \"onFocus\", \"valueChange\", \"stateChange\", \"onValueChanged\", \"readonlyChange\", \"disabledChange\", \"onKeyDown\", \"onKeyUp\", \"onKeyPress\"] }, { kind: \"ngmodule\", type: AXCollapseModule }, { kind: \"component\", type: i9.AXCollapseComponent, selector: \"ax-collapse\", inputs: [\"disabled\", \"look\", \"isCollapsed\", \"showHeader\", \"caption\", \"icon\", \"isLoading\", \"headerTemplate\"], outputs: [\"onClick\", \"isCollapsedChange\"] }, { kind: \"component\", type: i9.AXCollapseGroupComponent, selector: \"ax-collapse-group\", inputs: [\"look\", \"accordion\", \"activeIndex\"], outputs: [\"accordionChange\", \"activeIndexChange\"] }, { kind: \"ngmodule\", type: AXLabelModule }, { kind: \"component\", type: i10.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\"], 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: i11.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { kind: \"directive\", type: i11.NgModel, selector: \"[ngModel]:not([formControlName]):not([formControl])\", inputs: [\"name\", \"disabled\", \"ngModel\", \"ngModelOptions\"], outputs: [\"ngModelChange\"], exportAs: [\"ngModel\"] }], encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.6\", 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 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\\\" 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-p-4 ax-flex ax-flex-col ax-gap-4\\\">\\n <div class=\\\"ax-flex ax-items-center ax-gap-2\\\">\\n <ax-check-box\\n [ngModel]=\\\"cfg.isRequired\\\"\\n (onValueChanged)=\\\"cfg.isRequired = $event.value ?? false\\\"\\n ></ax-check-box>\\n <ax-label>{{ 'required' | translate | async }}</ax-label>\\n </div>\\n\\n <ax-text-box\\n class=\\\"ax-w-full\\\"\\n [(ngModel)]=\\\"cfg.placeholder\\\"\\n [placeholder]=\\\"'placeholder' | translate | async\\\"\\n ></ax-text-box>\\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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VFEsMkJBQTJCO2tHQUEzQiwyQkFBMkIsb0VBSnpCLEVBRVYsaURDdEVMLHUzSUFvR0E7Z0JEcERRLFVBQVU7Z0JBQ1YsWUFBWTtnQkFDWixTQUFTO2dCQUNULGlCQUFpQiw0WUFDakIsZ0JBQWdCLDRvQkFDaEIsaUJBQWlCLHNjQUNqQixjQUFjLDZYQUNkLG1CQUFtQiw4RkFDbkIsZ0JBQWdCLHFTQUNoQixlQUFlLHFiQUNmLGdCQUFnQiw4YkFDaEIsYUFBYTtnQkFDYix1QkFBdUI7Z0JBQ3ZCLFdBQVcsOGZBQ1gsT0FBTyx3Y0FDUCxhQUFhO2dCQUNiLFFBQVE7Z0JBQ1IsV0FBVzs7MkZBT04sMkJBQTJCO2tCQTdCdkMsU0FBUzsrQkFDSSx1QkFBdUIsV0FHeEI7d0JBQ0wsVUFBVTt3QkFDVixZQUFZO3dCQUNaLFNBQVM7d0JBQ1QsaUJBQWlCO3dCQUNqQixnQkFBZ0I7d0JBQ2hCLGlCQUFpQjt3QkFDakIsY0FBYzt3QkFDZCxtQkFBbUI7d0JBQ25CLGdCQUFnQjt3QkFDaEIsZUFBZTt3QkFDZixnQkFBZ0I7d0JBQ2hCLGFBQWE7d0JBQ2IsdUJBQXVCO3dCQUN2QixXQUFXO3dCQUNYLE9BQU87d0JBQ1AsYUFBYTt3QkFDYixRQUFRO3dCQUNSLFdBQVc7cUJBQ2QsaUJBQ2MsaUJBQWlCLENBQUMsSUFBSSxhQUMxQixFQUVWIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBzaWduYWwsIFZpZXdFbmNhcHN1bGF0aW9uLCB2aWV3Q2hpbGQsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEFYQmFzZVBhZ2VDb21wb25lbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvcGFnZSc7XG5pbXBvcnQgeyBBWFNlYXJjaEJveE1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9zZWFyY2gtYm94JztcbmltcG9ydCB7IEFYVHJlZVZpZXdNb2R1bGUsIEFYVHJlZUl0ZW1DbGlja0Jhc2VFdmVudCwgQVhUcmVlVmlld0NvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy90cmVlLXZpZXcnO1xuaW1wb3J0IHsgQVhEZWNvcmF0b3JNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZGVjb3JhdG9ycyc7XG5pbXBvcnQgeyBBWEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9idXR0b24nO1xuaW1wb3J0IHsgQVhUcmFuc2xhdGlvbk1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29yZS90cmFuc2xhdGlvbic7XG5pbXBvcnQgeyBBWFZhbHVlQ2hhbmdlZEV2ZW50IH0gZnJvbSAnQGFjb3JleC9jZGsvY29tbW9uJztcbmltcG9ydCB7IEFYTU1ldGFEYXRhRGVmaW5pdGlvbkNhdGVnb3J5U2VydmljZSwgQVhNTWV0YURhdGFEZWZpbml0aW9uQ2F0ZWdvcnlXaXRoSXRlbXNFbnRpdHlNb2RlbCwgQVhNTWV0YURhdGFEZWZpbml0aW9uRW50aXR5TW9kZWwgfSBmcm9tICdAYWNvcmV4L21vZHVsZXMvcGxhdGZvcm0tbWFuYWdlbWVudCc7XG5pbXBvcnQgeyBDZGtEcmFnLCBDZGtEcmFnRHJvcCwgQ2RrRHJhZ0hhbmRsZSwgQ2RrRHJvcExpc3QsIG1vdmVJdGVtSW5BcnJheSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xuaW1wb3J0IHsgQVhDaGVja0JveE1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9jaGVjay1ib3gnO1xuaW1wb3J0IHsgQVhUZXh0Qm94TW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3RleHQtYm94JztcbmltcG9ydCB7IEFYQ29sbGFwc2VNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvY29sbGFwc2UnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBBWExhYmVsTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2xhYmVsJztcbmltcG9ydCB7IEFYUFdvcmtmbG93U2VydmljZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vd29ya2Zsb3cnO1xuaW1wb3J0IHsgQVhQTWV0YURhdGFEZWZpbml0aW9uIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvYnVpbGRlcic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhQTWV0YVRyZWVJdGVtIGV4dGVuZHMgQVhQTWV0YURhdGFEZWZpbml0aW9uIHtcbiAgICBpZDogc3RyaW5nO1xuICAgIHRleHQ6IHN0cmluZztcbiAgICBpY29uPzogc3RyaW5nO1xuICAgIHBhcmVudElkPzogc3RyaW5nO1xuICAgIGhhc0NoaWxkPzogYm9vbGVhbjtcbiAgICBoYXNDaGVja2JveD86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogT3B0aW9uYWwgY2hpbGRyZW4gY29sbGVjdGlvbiBmb3IgbmVzdGVkIHRyZWUgcmVuZGVyaW5nLlxuICAgICAqL1xuICAgIGNoaWxkcmVuPzogQVhQTWV0YVRyZWVJdGVtW107XG4gICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgIGlzU2VsZWN0ZWQ6IGJvb2xlYW47XG59XG5cbi8vI3JlZ2lvbiAtLS0tICAgSGVscGVyIEludGVyZmFjZXMgICAtLS0tXG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VsZWN0ZWRDb25maWcgZXh0ZW5kcyBBWFBNZXRhVHJlZUl0ZW0ge1xuICAgIGlzUmVxdWlyZWQ6IGJvb2xlYW47XG4gICAgcGxhY2Vob2xkZXI6IHN0cmluZztcbn1cblxuLy8jZW5kcmVnaW9uXG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYXhwLW1ldGEtY2hvb3NlLXBvcHVwJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbWV0YS1jaG9vc2UtcG9wdXAuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsOiAnLi9tZXRhLWNob29zZS1wb3B1cC5jb21wb25lbnQuc2NzcycsXG4gICAgaW1wb3J0czogW1xuICAgICAgICAvLyBBbmd1bGFyXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgLy8gQUNvcmVYXG4gICAgICAgIEFYU2VhcmNoQm94TW9kdWxlLFxuICAgICAgICBBWFRyZWVWaWV3TW9kdWxlLFxuICAgICAgICBBWERlY29yYXRvck1vZHVsZSxcbiAgICAgICAgQVhCdXR0b25Nb2R1bGUsXG4gICAgICAgIEFYVHJhbnNsYXRpb25Nb2R1bGUsXG4gICAgICAgIEFYQ2hlY2tCb3hNb2R1bGUsXG4gICAgICAgIEFYVGV4dEJveE1vZHVsZSxcbiAgICAgICAgQVhDb2xsYXBzZU1vZHVsZSxcbiAgICAgICAgQVhMYWJlbE1vZHVsZSxcbiAgICAgICAgLy8gQ0RLIERyYWdEcm9wIG1vZHVsZXNcbiAgICAgICAgQ2RrRHJvcExpc3QsXG4gICAgICAgIENka0RyYWcsXG4gICAgICAgIENka0RyYWdIYW5kbGUsXG4gICAgICAgIC8vIEZvcm1zXG4gICAgICAgIEZvcm1zTW9kdWxlLFxuICAgIF0sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBwcm92aWRlcnM6IFtcblxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIEFYUE1ldGFDaG9vc2VQb3B1cENvbXBvbmVudCBleHRlbmRzIEFYQmFzZVBhZ2VDb21wb25lbnQge1xuXG4gICAgcHJvdGVjdGVkIGNhdGVnb3J5U2VydmljZSA9IGluamVjdChBWE1NZXRhRGF0YURlZmluaXRpb25DYXRlZ29yeVNlcnZpY2UpO1xuICAgIHByb3RlY3RlZCB3b3JrZmxvdyA9IGluamVjdChBWFBXb3JrZmxvd1NlcnZpY2UpO1xuXG4gICAgcHJvdGVjdGVkIGluaXRpYWxEYXRhOiBTZWxlY3RlZENvbmZpZ1tdID0gW107XG5cbiAgICAvKipcbiAgICAgKiBIb2xkcyB0aGUgY29tcGxldGUgbGlzdCBvZiB0cmVlIGl0ZW1zIGluIGEgZmxhdHRlbmVkIHN0cnVjdHVyZS5cbiAgICAgKiBUaGlzIHN0cnVjdHVyZSBtYWtlcyBpdCBlYXN5IHRvOlxuICAgICAqICAxKSBQcm92aWRlIGNoaWxkcmVuIGxhemlseSB2aWEgYHByb3ZpZGVMYXp5VHJlZVZpZXdgIHVzaW5nIGBwYXJlbnRJZGAuXG4gICAgICogIDIpIFBlcmZvcm0gc2VhcmNoIGFjcm9zcyBhbGwgbGV2ZWxzIHdoaWxlIHN0aWxsIGJlaW5nIGFibGUgdG8gaW5jbHVkZVxuICAgICAqICAgICBhbmNlc3RvciBub2RlcyBvZiBtYXRjaGVkIGl0ZW1zLlxuICAgICAqL1xuICAgIHRyZWVWaWV3RGF0YSA9IHNpZ25hbDxBWFBNZXRhVHJlZUl0ZW1bXT4oW10pO1xuXG4gICAgLyoqXG4gICAgICogRmxhdCBsaXN0IG9mIEFMTCBub2RlcyAoZm9yIGVhc3kgbG9vay11cHMgZHVyaW5nIHNlYXJjaCkuXG4gICAgICovXG4gICAgcHJpdmF0ZSBvcmlnaW5hbEZsYXREYXRhOiBBWFBNZXRhVHJlZUl0ZW1bXSA9IFtdO1xuXG4gICAgLyoqXG4gICAgICogT3JpZ2luYWwgKm5lc3RlZCogdHJlZSBzdHJ1Y3R1cmUgKHVzZWQgdG8gcmVzZXQgYW5kIHRvIHJlYnVpbGQgZmlsdGVyZWQgdHJlZXMpLlxuICAgICAqL1xuICAgIHByaXZhdGUgb3JpZ2luYWxOZXN0ZWREYXRhOiBBWFBNZXRhVHJlZUl0ZW1bXSA9IFtdO1xuXG4gICAgcHJvdGVjdGVkIHNlYXJjaFRlcm0gPSBzaWduYWw8c3RyaW5nPignJyk7XG5cbiAgICAvLyNyZWdpb24gLS0tLSAgIFNlbGVjdGVkIENvbmZpZ3MgICAtLS0tXG5cbiAgICBzZWxlY3RlZENvbmZpZ3MgPSBzaWduYWw8U2VsZWN0ZWRDb25maWdbXT4oW10pO1xuXG4gICAgLy8jZW5kcmVnaW9uXG5cbiAgICBvdmVycmlkZSBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5jYXRlZ29yeVNlcnZpY2UuZ2V0QWxsV2l0aEl0ZW1zKCkudGhlbigoY2F0ZWdvcmllcykgPT4ge1xuXG4gICAgICAgICAgICAvLyNyZWdpb24gLS0tLSAgIEhlbHBlciBGdW5jdGlvbnMgICAtLS0tXG5cbiAgICAgICAgICAgIGNvbnN0IGNvbnZlcnRDYXRlZ29yeVRvVHJlZUl0ZW0gPSAoY2F0ZWdvcnk6IEFYTU1ldGFEYXRhRGVmaW5pdGlvbkNhdGVnb3J5V2l0aEl0ZW1zRW50aXR5TW9kZWw8c3RyaW5nPik6IEFYUE1ldGFUcmVlSXRlbSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgY2F0ZWdvcnlDaGlsZHJlbjogQVhQTWV0YVRyZWVJdGVtW10gPSBbXG4gICAgICAgICAgICAgICAgICAgIC8vIE1hcCBzdWItY2F0ZWdvcmllcyByZWN1cnNpdmVseVxuICAgICAgICAgICAgICAgICAgICAuLi5jYXRlZ29yeS5jYXRlZ29yaWVzLm1hcCgoYzogQVhNTWV0YURhdGFEZWZpbml0aW9uQ2F0ZWdvcnlXaXRoSXRlbXNFbnRpdHlNb2RlbDxzdHJpbmc+KSA9PiBjb252ZXJ0Q2F0ZWdvcnlUb1RyZWVJdGVtKGMpKSxcbiAgICAgICAgICAgICAgICAgICAgLy8gTWFwIGl0ZW1zIG9mIGN1cnJlbnQgY2F0ZWdvcnlcbiAgICAgICAgICAgICAgICAgICAgLi4uY2F0ZWdvcnkuaXRlbXMubWFwKChpdGVtOiBBWE1NZXRhRGF0YURlZmluaXRpb25FbnRpdHlNb2RlbCkgPT4gKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlkOiBpdGVtLmlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dDogaXRlbS50aXRsZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmVudElkOiBjYXRlZ29yeS5pZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGhhc0NoZWNrYm94OiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgaXNTZWxlY3RlZDogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAvL1xuICAgICAgICAgICAgICAgICAgICAgICAgaW50ZXJmYWNlOiBpdGVtLmludGVyZmFjZSBhcyBzdHJpbmcsXG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBpdGVtLm5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogaXRlbS50aXRsZVxuICAgICAgICAgICAgICAgICAgICB9KSksXG4gICAgICAgICAgICAgICAgXTtcblxuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIGlkOiBjYXRlZ29yeS5pZCxcbiAgICAgICAgICAgICAgICAgICAgdGV4dDogY2F0ZWdvcnkudGl0bGUsXG4gICAgICAgICAgICAgICAgICAgIHBhcmVudElkOiBjYXRlZ29yeS5wYXJlbnRJZCxcbiAgICAgICAgICAgICAgICAgICAgaGFzQ2hlY2tib3g6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogY2F0ZWdvcnlDaGlsZHJlbixcbiAgICAgICAgICAgICAgICAgICAgaXNTZWxlY3RlZDogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgIC8vZmFrZVxuICAgICAgICAgICAgICAgICAgICBpbnRlcmZhY2U6ICcnLFxuICAgICAgICAgICAgICAgICAgICBuYW1lOiAnJyxcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICcnXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIC8vI2VuZHJlZ2lvblxuXG4gICAgICAgICAgICAvLyBCdWlsZCAqKm5lc3RlZCoqIHRyZWUgc3RydWN0dXJlIGZpcnN0IHNvIHRoYXQgZWFjaCBwYXJlbnRcbiAgICAgICAgICAgIC8vIGNvbnRhaW5zIGl0cyBjaGlsZHJlbiBhcnJheSAoc2ltaWxhciB0byB0aGUgc2FtcGxlIGF0IGxpbmUgMjA4KS5cbiAgICAgICAgICAgIGNvbnN0IG5lc3RlZFRyZWU6IEFYUE1ldGFUcmVlSXRlbVtdID0gY2F0ZWdvcmllcy5tYXAoKGMpID0+IGNvbnZlcnRDYXRlZ29yeVRvVHJlZUl0ZW0oYykpO1xuXG4gICAgICAgICAgICAvLyBBZGRpdGlvbmFsbHkgYnVpbGQgYSBmbGF0dGVuZWQgbGlzdCBvZiBhbGwgbm9kZXMgKHNhbWUgb2JqZWN0cykgc29cbiAgICAgICAgICAgIC8vIHRoYXQgd2UgY2FuIHJlLXVzZSB0aGUgZXhpc3Rpbmcgc2VhcmNoIGltcGxlbWVudGF0aW9uIHdoaWNoXG4gICAgICAgICAgICAvLyBleHBlY3RzIGEgZmxhdCBhcnJheS5cbiAgICAgICAgICAgIGNvbnN0IGZsYXRMaXN0OiBBWFBNZXRhVHJlZUl0ZW1bXSA9IFtdO1xuICAgICAgICAgICAgY29uc3QgY29sbGVjdEZsYXQgPSAobm9kZXM6IEFYUE1ldGFUcmVlSXRlbVtdKSA9PiB7XG4gICAgICAgICAgICAgICAgbm9kZXMuZm9yRWFjaCgobikgPT4ge1xuICAgICAgICAgICAgICAgICAgICBmbGF0TGlzdC5wdXNoKG4pO1xuICAgICAgICAgICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShuLmNoaWxkcmVuKSAmJiBuLmNoaWxkcmVuLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbGxlY3RGbGF0KG4uY2hpbGRyZW4pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgY29sbGVjdEZsYXQobmVzdGVkVHJlZSk7XG5cbiAgICAgICAgICAgIC8vIC0tLSAgIEFwcGx5IGluaXRpYWwgc2VsZWN0aW9ucyAgIC0tLVxuICAgICAgICAgICAgaWYgKHRoaXMuaW5pdGlhbERhdGEgJiYgdGhpcy5pbml0aWFsRGF0YS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgaW5pdGlhbElkcyA9IG5ldyBTZXQodGhpcy5pbml0aWFsRGF0YS5tYXAoKGQpID0+IGQuaWQpKTtcblxuICAgICAgICAgICAgICAgIGZsYXRMaXN0LmZvckVhY2goKG5vZGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKG5vZGUuaGFzQ2hlY2tib3ggJiYgaW5pdGlhbElkcy5oYXMobm9kZS5pZCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5vZGUuaXNTZWxlY3RlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gUGVyc2lzdCBvcmlnaW5hbCBkYXRhIChib3RoIGZsYXR0ZW5lZCBhbmQgbmVzdGVkKSAmIGluaXRpYWxpc2UgcmVhY3RpdmUgc2lnbmFsLlxuICAgICAgICAgICAgdGhpcy5vcmlnaW5hbEZsYXREYXRhID0gZmxhdExpc3Q7XG4gICAgICAgICAgICB0aGlzLm9yaWdpbmFsTmVzdGVkRGF0YSA9IG5lc3RlZFRyZWU7XG5cbiAgICAgICAgICAgIC8vIFNldCBpbml0aWFsIHRyZWUgdmlldyBkYXRhIHRvIGRpc3BsYXkgdGhlIHRyZWVcbiAgICAgICAgICAgIHRoaXMudHJlZVZpZXdEYXRhLnNldChbLi4ubmVzdGVkVHJlZV0pO1xuXG4gICAgICAgICAgICAvLyBJbml0aWFsaXNlIHNlbGVjdGVkIGxpc3QgaWYgYW55IGluaXRpYWwgc2VsZWN0aW9uc1xuICAgICAgICAgICAgdGhpcy5zeW5jaHJvbmlzZVNlbGVjdGVkQ29uZmlncygpO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLnNlbGVjdGVkQ29uZmlncy5zZXQodGhpcy5pbml0aWFsRGF0YSA/PyBbXSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGhhbmRsZVNlbGVjdENsaWNrKCkge1xuICAgICAgICAvLyBSZXR1cm4gdGhlIGNvbmZpZ3VyZWQgc2VsZWN0ZWQgaXRlbXMgZnJvbSB0aGUgcmlnaHQgcGFuZWxcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRDb25maWdzID0gdGhpcy5zZWxlY3RlZENvbmZpZ3MoKTtcblxuICAgICAgICBpZiAoc2VsZWN0ZWRDb25maWdzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHRoaXMuY2xvc2Uoc2VsZWN0ZWRDb25maWdzKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBoYW5kbGVDbG9zZUNsaWNrKCkge1xuICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGhhbmRsZUNoYW5nZVNlYXJjaFZhbHVlKGU6IEFYVmFsdWVDaGFuZ2VkRXZlbnQpIHtcbiAgICAgICAgY29uc3QgdGVybSA9IChlLnZhbHVlID8/ICcnKS50cmltKCk7XG4gICAgICAgIHRoaXMuc2VhcmNoVGVybS5zZXQodGVybSk7XG5cbiAgICAgICAgLy8gUmVzZXQgdG8gdGhlIHByaXN0aW5lIG5lc3RlZCB0cmVlIHdoZW4gc2VhcmNoIGlzIGNsZWFyZWQuXG4gICAgICAgIGlmICghdGVybSkge1xuICAgICAgICAgICAgdGhpcy50cmVlVmlld0RhdGEuc2V0KFsuLi50aGlzLm9yaWdpbmFsTmVzdGVkRGF0YV0pO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgbG93ZXJlZFRlcm0gPSB0ZXJtLnRvTG93ZXJDYXNlKCk7XG5cbiAgICAgICAgLy8gQnVpbGQgYSBxdWljayBsb29rdXAgbWFwIHRvIHRyYXZlcnNlIGFuY2VzdG9ycyBlZmZpY2llbnRseVxuICAgICAgICBjb25zdCBtYXBCeUlkID0gbmV3IE1hcDxzdHJpbmcsIEFYUE1ldGFUcmVlSXRlbT4oXG4gICAgICAgICAgICB0aGlzLm9yaWdpbmFsRmxhdERhdGEubWFwKChpdGVtKSA9PiBbaXRlbS5pZCwgaXRlbV0pXG4gICAgICAgICk7XG5cbiAgICAgICAgLy8gSGVscGVyIHRvIGNvbGxlY3QgYWxsIGFuY2VzdG9ycyBvZiBhIGdpdmVuIG5vZGVcbiAgICAgICAgY29uc3QgY29sbGVjdEFuY2VzdG9ycyA9IChub2RlOiBBWFBNZXRhVHJlZUl0ZW0pOiBBWFBNZXRhVHJlZUl0ZW1bXSA9PiB7XG4gICAgICAgICAgICBjb25zdCBhbmNlc3RvcnM6IEFYUE1ldGFUcmVlSXRlbVtdID0gW107XG4gICAgICAgICAgICBsZXQgY3VycmVudFBhcmVudElkID0gbm9kZS5wYXJlbnRJZDtcbiAgICAgICAgICAgIHdoaWxlIChjdXJyZW50UGFyZW50SWQpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBwYXJlbnQgPSBtYXBCeUlkLmdldChjdXJyZW50UGFyZW50SWQpO1xuICAgICAgICAgICAgICAgIGlmICghcGFyZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBhbmNlc3RvcnMucHVzaChwYXJlbnQpO1xuICAgICAgICAgICAgICAgIGN1cnJlbnRQYXJlbnRJZCA9IHBhcmVudC5wYXJlbnRJZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBhbmNlc3RvcnM7XG4gICAgICAgIH07XG5cbiAgICAgICAgLy8gMSkgRmluZCBhbGwgbm9kZXMgd2hvc2UgdGV4dCBjb250YWlucyB0aGUgc2VhcmNoIHRlcm1cbiAgICAgICAgY29uc3QgbWF0Y2hlZE5vZGVzID0gdGhpcy5vcmlnaW5hbEZsYXREYXRhLmZpbHRlcigoaXRlbSkgPT5cbiAgICAgICAgICAgIGl0ZW0udGV4dC50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKGxvd2VyZWRUZXJtKVxuICAgICAgICApO1xuXG4gICAgICAgIC8vIDIpIENvbGxlY3QgdGhlaXIgYW5jZXN0b3JzIHRvIGVuc3VyZSB0aGUgdHJlZSBjYW4gcmVuZGVyIGNvcnJlY3QgcGF0aHNcbiAgICAgICAgY29uc3QgcmVzdWx0U2V0ID0gbmV3IE1hcDxzdHJpbmcsIEFYUE1ldGFUcmVlSXRlbT4oKTtcbiAgICAgICAgbWF0Y2hlZE5vZGVzLmZvckVhY2goKG5vZGUpID0+IHtcbiAgICAgICAgICAgIHJlc3VsdFNldC5zZXQobm9kZS5pZCwgbm9kZSk7XG4gICAgICAgICAgICBjb2xsZWN0QW5jZXN0b3JzKG5vZGUpLmZvckVhY2goKGFuY2VzdG9yKSA9PiByZXN1bHRTZXQuc2V0KGFuY2VzdG9yLmlkLCBhbmNlc3RvcikpO1xuICAgICAgICB9KTtcblxuICAgICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgLy8gRW5zdXJlIGNoaWxkIG5vZGVzIGFyZSBOT1QgcmVuZGVyZWQgYXQgdGhlIHJvb3QgbGV2ZWwuXG4gICAgICAgIC8vIFdlIG9ubHkgcGFzcyBub2RlcyB0byB0aGUgdHJlZSBjb21wb25lbnQgdGhhdCBkbyAqKm5vdCoqXG4gICAgICAgIC8vIGhhdmUgdGhlaXIgcGFyZW50IGFscmVhZHkgcHJlc2VudCBpbiB0aGUgZmluYWwgcmVzdWx0IHNldC5cbiAgICAgICAgLy8gVGhpcyBwcmVzZXJ2ZXMgdGhlIGNvcnJlY3QgaGllcmFyY2h5IGFuZCBwcmV2ZW50cyBkdXBsaWNhdGVzXG4gICAgICAgIC8vIGxpa2UgdGhlIGV4dHJhIHJvb3QtbGV2ZWwgZW50cnkgaGlnaGxpZ2h0ZWQgaW4geWVsbG93LlxuICAgICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgLy8gQnVpbGQgYSAqbmVzdGVkKiB0cmVlIHRoYXQgY29udGFpbnMgT05MWSBub2RlcyBwcmVzZW50IGluIGByZXN1bHRTZXRgLlxuICAgICAgICBjb25zdCBpZFNldCA9IG5ldyBTZXQ8c3RyaW5nPihyZXN1bHRTZXQua2V5cygpKTtcblxuICAgICAgICBjb25zdCBjbG9uZUlmSW5jbHVkZWQgPSAobm9kZTogQVhQTWV0YVRyZWVJdGVtKTogQVhQTWV0YVRyZWVJdGVtIHwgbnVsbCA9PiB7XG4gICAgICAgICAgICBpZiAoIWlkU2V0Lmhhcyhub2RlLmlkKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBjbG9uZWQ6IEFYUE1ldGFUcmVlSXRlbSA9IHtcbiAgICAgICAgICAgICAgICAuLi5ub2RlLFxuICAgICAgICAgICAgICAgIC8vIENyZWF0ZSBmcmVzaCBjaGlsZHJlbiBhcnJheSAod2lsbCBiZSBwb3B1bGF0ZWQgcmVjdXJzaXZlbHkpXG4gICAgICAgICAgICAgICAgY2hpbGRyZW46IFtdXG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShub2RlLmNoaWxkcmVuKSkge1xuICAgICAgICAgICAgICAgIG5vZGUuY2hpbGRyZW4uZm9yRWFjaCgoY2hpbGQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYyA9IGNsb25lSWZJbmNsdWRlZChjaGlsZCk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChjKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjbG9uZWQuY2hpbGRyZW4hLnB1c2goYyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIGNsb25lZDtcbiAgICAgICAgfTtcblxuICAgICAgICBjb25zdCBmaWx0ZXJlZFJvb3RzOiBBWFBNZXRhVHJlZUl0ZW1bXSA9IFtdO1xuICAgICAgICB0aGlzLm9yaWdpbmFsTmVzdGVkRGF0YS5mb3JFYWNoKChyb290KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBjbG9uZWRSb290ID0gY2xvbmVJZkluY2x1ZGVkKHJvb3QpO1xuICAgICAgICAgICAgaWYgKGNsb25lZFJvb3QpIHtcbiAgICAgICAgICAgICAgICBmaWx0ZXJlZFJvb3RzLnB1c2goY2xvbmVkUm9vdCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMudHJlZVZpZXdEYXRhLnNldChmaWx0ZXJlZFJvb3RzKTtcbiAgICB9XG5cbiAgICAvLyNyZWdpb24gLS0tLSAgIFRyZWUgSW50ZXJhY3Rpb24gSGFuZGxlcnMgICAtLS0tXG5cbiAgICBwcm90ZWN0ZWQgaGFuZGxlU2VsZWN0aW9uQ2hhbmdlZChlOiBBWFRyZWVJdGVtQ2xpY2tCYXNlRXZlbnQpIHtcbiAgICAgICAgLy8gVHJlZSB0b2dnbGVzIHNlbGVjdGlvbiBpbnRlcm5hbGx5OyBqdXN0IHN5bmMgY29uZmlncyBhZnRlcndhcmRzXG4gICAgICAgIHRoaXMuc3luY2hyb25pc2VTZWxlY3RlZENvbmZpZ3MoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHN5bmNocm9uaXNlU2VsZWN0ZWRDb25maWdzKCkge1xuICAgICAgICBjb25zdCBzZWxlY3RlZE5vZGVzID0gdGhpcy5vcmlnaW5hbEZsYXREYXRhLmZpbHRlcigobikgPT4gbi5oYXNDaGVja2JveCAmJiBuLmlzU2VsZWN0ZWQpO1xuXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRDb25maWdzLnVwZGF0ZSgocHJldikgPT4ge1xuICAgICAgICAgICAgLy8gUmVtb3ZlIGNvbmZpZ3MgdGhhdCBhcmUgbm8gbG9uZ2VyIHNlbGVjdGVkXG4gICAgICAgICAgICBsZXQgbmV4dCA9IHByZXYuZmlsdGVyKChjZmcpID0+IHNlbGVjdGVkTm9kZXMuc29tZSgobikgPT4gbi5pZCA9PT0gY2ZnLmlkKSk7XG5cbiAgICAgICAgICAgIC8vIEFkZCBuZXcgY29uZmlnc1xuICAgICAgICAgICAgc2VsZWN0ZWROb2Rlcy5mb3JFYWNoKChuKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCFuZXh0LnNvbWUoKGNmZykgPT4gY2ZnLmlkID09PSBuLmlkKSkge1xuICAgICAgICAgICAgICAgICAgICBuZXh0LnB1c2goeyAuLi5uLCBpc1JlcXVpcmVkOiBmYWxzZSwgcGxhY2Vob2xkZXI6ICcnIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICByZXR1cm4gWy4uLm5leHRdO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgdG9nZ2xlU2VsZWN0aW9uKGNmZzogU2VsZWN0ZWRDb25maWcpIHtcbiAgICAgICAgLy8gRmluZCB0aGUgb3JpZ2luYWwgbm9kZSBpbiBmbGF0RGF0YSBhbmQgdXBkYXRlIGl0XG4gICAgICAgIGNvbnN0IG9yaWdpbmFsTm9kZSA9IHRoaXMub3JpZ2luYWxGbGF0RGF0YS5maW5kKG4gPT4gbi5pZCA9PT0gY2ZnLmlkKTtcbiAgICAgICAgaWYgKG9yaWdpbmFsTm9kZSkge1xuICAgICAgICAgICAgb3JpZ2luYWxOb2RlLmlzU2VsZWN0ZWQgPSAhb3JpZ2luYWxOb2RlLmlzU2VsZWN0ZWQ7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBGb3JjZSB0cmVlIHZpZXcgdG8gdXBkYXRlIGJ5IHRyaWdnZXJpbmcgc2lnbmFsIGNoYW5nZVxuICAgICAgICB0aGlzLnRyZWVWaWV3RGF0YS5zZXQoWy4uLnRoaXMudHJlZVZpZXdEYXRhKCldKTtcblxuICAgICAgICB0aGlzLnN5bmNocm9uaXNlU2VsZWN0ZWRDb25maWdzKCk7XG4gICAgfVxuXG4gICAgLy8jZW5kcmVnaW9uXG5cbiAgICAvLyNyZWdpb24gLS0tLSAgIERyYWcgJiBEcm9wIChPcmRlcmluZykgICAtLS0tXG5cbiAgICBwcm90ZWN0ZWQgaGFuZGxlRHJvcChldmVudDogQ2RrRHJhZ0Ryb3A8U2VsZWN0ZWRDb25maWdbXT4pIHtcbiAgICAgICAgY29uc3QgbGlzdCA9IFsuLi50aGlzLnNlbGVjdGVkQ29uZmlncygpXTtcbiAgICAgICAgbW92ZUl0ZW1JbkFycmF5KGxpc3QsIGV2ZW50LnByZXZpb3VzSW5kZXgsIGV2ZW50LmN1cnJlbnRJbmRleCk7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRDb25maWdzLnNldChsaXN0KTtcbiAgICB9XG5cbiAgICAvLyNlbmRyZWdpb25cblxuICAgIC8vI3JlZ2lvbiAtLS0tICAgTWFudWFsIE9yZGVyaW5nIE1ldGhvZHMgICAtLS0tXG5cbiAgICBwcm90ZWN0ZWQgbW92ZUl0ZW1VcChlOiBNb3VzZUV2ZW50LCBpbmRleDogbnVtYmVyKSB7XG4gICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIGlmIChpbmRleCA8PSAwKSByZXR1cm47IC8vIEFscmVhZHkgYXQgdG9wXG5cbiAgICAgICAgY29uc3QgbGlzdCA9IFsuLi50aGlzLnNlbGVjdGVkQ29uZmlncygpXTtcbiAgICAgICAgW2xpc3RbaW5kZXggLSAxXSwgbGlzdFtpbmRleF1dID0gW2xpc3RbaW5kZXhdLCBsaXN0W2luZGV4IC0gMV1dO1xuICAgICAgICB0aGlzLnNlbGVjdGVkQ29uZmlncy5zZXQobGlzdCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG1vdmVJdGVtRG93bihlOiBNb3VzZUV2ZW50LCBpbmRleDogbnVtYmVyKSB7XG4gICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRMaXN0ID0gdGhpcy5zZWxlY3RlZENvbmZpZ3MoKTtcbiAgICAgICAgaWYgKGluZGV4ID49IGN1cnJlbnRMaXN0Lmxlbmd0aCAtIDEpIHJldHVybjsgLy8gQWxyZWFkeSBhdCBib3R0b21cblxuICAgICAgICBjb25zdCBsaXN0ID0gWy4uLmN1cnJlbnRMaXN0XTtcbiAgICAgICAgW2xpc3RbaW5kZXhdLCBsaXN0W2luZGV4ICsgMV1dID0gW2xpc3RbaW5kZXggKyAxXSwgbGlzdFtpbmRleF1dO1xuICAgICAgICB0aGlzLnNlbGVjdGVkQ29uZmlncy5zZXQobGlzdCk7XG5cbiAgICB9XG5cbiAgICAvLyNlbmRyZWdpb25cblxuICAgIC8vI3JlZ2lvbiAtLS0tICAgVGVtcGxhdGUgQWN0aW9ucyAgIC0tLS1cblxuICAgIHByb3RlY3RlZCBhc3luYyBoYW5kbGVQcmV2aWV3TWV0YShpdGVtOiBBWFBNZXRhVHJlZUl0ZW0pIHtcbiAgICAgICAgaWYgKGl0ZW0uaGFzQ2hlY2tib3gpIHtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMud29ya2Zsb3cuZXhlY3V0ZSgnb3Blbi1mb3JtLXRlbXBsYXRlJywge1xuICAgICAgICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgICAgICAgICAgdGVtcGxhdGU6IGl0ZW0uaW50ZXJmYWNlLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgbWV0YWRhdGE6IHtcbiAgICAgICAgICAgICAgICAgICAgcHJldmlldzogdHJ1ZSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyNlbmRyZWdpb25cbn1cbiIsIjxkaXYgY2xhc3M9XCJheC1wLTQgYXgtZmxleCBheC1nYXAtNCBheC1vdmVyZmxvdy1oaWRkZW5cIj5cbiAgPCEtLSBMZWZ0OiBNZXRhIHRyZWUgLS0+XG4gIDxkaXYgY2xhc3M9XCJheC1mbGV4LTEgYXgtZmxleCBheC1mbGV4LWNvbCBheC1nYXAtNCBheC1taW4tdy0wXCI+XG4gICAgPGF4LXNlYXJjaC1ib3hcbiAgICAgIFtwbGFjZWhvbGRlcl09XCInd2lkZ2V0Lmxvb2t1cC5zZWFyY2gnIHwgdHJhbnNsYXRlIHwgYXN5bmNcIlxuICAgICAgW3ZhbHVlXT1cInNlYXJjaFRlcm0oKVwiXG4gICAgICAob25WYWx1ZUNoYW5nZWQpPVwiaGFuZGxlQ2hhbmdlU2VhcmNoVmFsdWUoJGV2ZW50KVwiXG4gICAgICA+PGF4LWNsZWFyLWJ1dHRvbj48L2F4LWNsZWFyLWJ1dHRvblxuICAgID48L2F4LXNlYXJjaC1ib3g+XG5cbiAgICA8YXgtdHJlZS12aWV3XG4gICAgICBbaGFzQ2hpbGRGaWVsZF09XCInaGFzQ2hpbGQnXCJcbiAgICAgIFtwYXJlbnRGaWVsZF09XCIncGFyZW50SWQnXCJcbiAgICAgIFtpdGVtc109XCJ0cmVlVmlld0RhdGEoKVwiXG4gICAgICBbc2VsZWN0aW9uTW9kZV09XCInbXVsdGlwbGUnXCJcbiAgICAgIFtzZWxlY3RlZEZpZWxkXT1cIidpc1NlbGVjdGVkJ1wiXG4gICAgICAob25TZWxlY3Rpb25DaGFuZ2VkKT1cImhhbmRsZVNlbGVjdGlvbkNoYW5nZWQoJGV2ZW50KVwiXG4gICAgICBbaXRlbVRlbXBsYXRlXT1cIml0ZW1UZW1wbGF0ZVwiXG4gICAgICBjbGFzcz1cImF4LWZsZXgtMSBheC1vdmVyZmxvdy1hdXRvXCJcbiAgICA+PC9heC10cmVlLXZpZXc+XG4gIDwvZGl2PlxuXG4gIDwhLS0gUmlnaHQ6IFNlbGVjdGVkIGxpc3QgLS0+XG4gIDxkaXYgY2xhc3M9XCJheC13LTEvMiBheC1mbGV4IGF4LWZsZXgtY29sIGF4LWdhcC0zIGF4LXNlbGVjdC1ub25lXCIgY2RrRHJvcExpc3QgKGNka0Ryb3BMaXN0RHJvcHBlZCk9XCJoYW5kbGVEcm9wKCRldmVudClcIj5cbiAgICA8aDYgY2xhc3M9XCJheC1mb250LXNlbWlib2xkIGF4LXRleHQtc21cIiAqbmdJZj1cInNlbGVjdGVkQ29uZmlncygpLmxlbmd0aFwiPlNlbGVjdGVkIEl0ZW1zPC9oNj5cblxuICAgIEBmb3IoY2ZnIG9mIHNlbGVjdGVkQ29uZmlncygpOyB0cmFjayBjZmcuaWQ7IGxldCBpID0gJGluZGV4KSB7XG4gICAgICA8ZGl2IGNka0RyYWcgY2xhc3M9XCJheC1iZy13aGl0ZSBheC1yb3VuZGVkLW1kIGF4LXNoYWRvdy1zbSBheC1ib3JkZXIgYXgtYm9yZGVyLWdyYXktMjAwXCIgY2RrRHJhZ0JvdW5kYXJ5PVwiLmF4LXNlbGVjdC1ub25lXCI+XG4gICAgICAgIDwhLS0gQ29sbGFwc2Ugd2l0aCBjdXN0b20gaGVhZGVyIHRlbXBsYXRlIC0tPlxuICAgICAgICA8YXgtY29sbGFwc2UtZ3JvdXAgbG9vaz1cImZpbGxcIj5cbiAgICAgICAgICA8YXgtY29sbGFwc2UgY2FwdGlvbj1cIk9wdGlvbnNcIiBbaGVhZGVyVGVtcGxhdGVdPVwiaGVhZGVyVHBsXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtcC00IGF4LWZsZXggYXgtZmxleC1jb2wgYXgtZ2FwLTRcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtaXRlbXMtY2VudGVyIGF4LWdhcC0yXCI+XG4gICAgICAgICAgICAgICAgPGF4LWNoZWNrLWJveFxuICAgICAgICAgICAgICAgICAgW25nTW9kZWxdPVwiY2ZnLmlzUmVxdWlyZWRcIlxuICAgICAgICAgICAgICAgICAgKG9uVmFsdWVDaGFuZ2VkKT1cImNmZy5pc1JlcXVpcmVkID0gJGV2ZW50LnZhbHVlID8/IGZhbHNlXCJcbiAgICAgICAgICAgICAgICA+PC9heC1jaGVjay1ib3g+XG4gICAgICAgICAgICAgICAgPGF4LWxhYmVsPnt7ICdyZXF1aXJlZCcgfCB0cmFuc2xhdGUgfCBhc3luYyB9fTwvYXgtbGFiZWw+XG4gICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgIDxheC10ZXh0LWJveFxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYXgtdy1mdWxsXCJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImNmZy5wbGFjZWhvbGRlclwiXG4gICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidwbGFjZWhvbGRlcicgfCB0cmFuc2xhdGUgfCBhc3luY1wiXG4gICAgICAgICAgICAgID48L2F4LXRleHQtYm94PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIDwhLS0gSGVhZGVyIHRlbXBsYXRlIC0tPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNoZWFkZXJUcGw+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1mbGV4IGF4LWl0ZW1zLWNlbnRlciBheC1qdXN0aWZ5LWJldHdlZW4gYXgtdy1mdWxsIGF4LXB4LTMgYXgtcHktMlwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1mbGV4IGF4LWl0ZW1zLWNlbnRlciBheC1nYXAtMlwiPlxuICAgICAgICAgICAgICAgICAgPGF4LWljb24gY2xhc3M9XCJmYS1zb2xpZCBmYS1ncmlwLWRvdHMtdmVydGljYWwgYXgtY3Vyc29yLW1vdmUgYXgtdGV4dC1ncmF5LTQwMFwiIGNka0RyYWdIYW5kbGU+PC9heC1pY29uPlxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJheC10ZXh0LXNtIGF4LWZvbnQtbWVkaXVtXCI+e3sgY2ZnLnRleHQgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtaXRlbXMtY2VudGVyIGF4LWdhcC0xXCI+XG4gICAgICAgICAgICAgICAgICA8YXgtaWNvbiBcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmYS1zb2xpZCBmYS1jaGV2cm9uLXVwIGF4LXRleHQtcHJpbWFyeSBheC1jdXJzb3ItcG9pbnRlciBheC10ZXh0LXhzXCIgXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJtb3ZlSXRlbVVwKCRldmVudCxpKVwiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5heC1vcGFjaXR5LTMwXT1cImkgPT09IDBcIlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3MuYXgtY3Vyc29yLW5vdC1hbGxvd2VkXT1cImkgPT09IDBcIlxuICAgICAgICAgICAgICAgICAgICB0aXRsZT1cIk1vdmUgVXBcIj5cbiAgICAgICAgICAgICAgICAgIDwvYXgtaWNvbj5cbiAgICAgICAgICAgICAgICAgIDxheC1pY29uIFxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZhLXNvbGlkIGZhLWNoZXZyb24tZG93biBheC10ZXh0LXByaW1hcnkgYXgtY3Vyc29yLXBvaW50ZXIgYXgtdGV4dC14cyBheC1weC0yXCIgXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJtb3ZlSXRlbURvd24oJGV2ZW50LGkpXCJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmF4LW9wYWNpdHktMzBdPVwiaSA9PT0gc2VsZWN0ZWRDb25maWdzKCkubGVuZ3RoIC0gMVwiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5heC1jdXJzb3Itbm90LWFsbG93ZWRdPVwiaSA9PT0gc2VsZWN0ZWRDb25maWdzKCkubGVuZ3RoIC0gMVwiXG4gICAgICAgICAgICAgICAgICAgIHRpdGxlPVwiTW92ZSBEb3duXCI+XG4gICAgICAgICAgICAgICAgICA8L2F4LWljb24+XG4gICAgICAgICAgICAgICAgICA8YXgtaWNvbiBjbGFzcz1cImZhLXNvbGlkIGZhLXhtYXJrIGF4LXRleHQtZGFuZ2VyIGF4LWN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cInRvZ2dsZVNlbGVjdGlvbihjZmcpXCI+PC9heC1pY29uPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPC9heC1jb2xsYXBzZT5cbiAgICAgICAgPC9heC1jb2xsYXBzZS1ncm91cD5cbiAgICAgIDwvZGl2PlxuICAgIH1cbiAgPC9kaXY+XG48L2Rpdj5cblxuPGF4LWZvb3Rlcj5cbiAgPGF4LXN1ZmZpeD5cbiAgICA8YXgtYnV0dG9uIGxvb2s9XCJzb2xpZFwiIFt0ZXh0XT1cIignY2xvc2UnIHwgdHJhbnNsYXRlIHwgYXN5bmMpIVwiIChvbkNsaWNrKT1cImhhbmRsZUNsb3NlQ2xpY2soKVwiPiA8L2F4LWJ1dHRvbj5cbiAgICA8YXgtYnV0dG9uIGxvb2s9XCJzb2xpZFwiIGNvbG9yPVwicHJpbWFyeVwiIFt0ZXh0XT1cIignc2VsZWN0JyB8IHRyYW5zbGF0ZSB8IGFzeW5jKSFcIiAob25DbGljayk9XCJoYW5kbGVTZWxlY3RDbGljaygpXCI+XG4gICAgPC9heC1idXR0b24+XG4gIDwvYXgtc3VmZml4PlxuPC9heC1mb290ZXI+XG5cbjxuZy10ZW1wbGF0ZSAjaXRlbVRlbXBsYXRlIGxldC1pdGVtPlxuICA8ZGl2IGNsYXNzPVwiYXgtZmxleCBheC1pdGVtcy1jZW50ZXIgYXgtanVzdGlmeS1iZXR3ZWVuIGF4LXctZnVsbFwiPlxuICAgIDxzcGFuPnt7IGl0ZW0udGV4dCB9fTwvc3Bhbj5cbiAgICBAaWYoaXRlbS5oYXNDaGVja2JveCkge1xuICAgIDxheC1pY29uIFxuICAgICAgY2xhc3M9XCJmYS1yZWd1bGFyIGZhLWV5ZSBheC10ZXh0LXByaW1hcnkgYXgtY3Vyc29yLXBvaW50ZXIgYXgtbWwtMlwiIFxuICAgICAgKGNsaWNrKT1cImhhbmRsZVByZXZpZXdNZXRhKGl0ZW0pXCJcbiAgICAgIHRpdGxlPVwiUHJldmlldyBNZXRhXCI+XG4gICAgPC9heC1pY29uPlxuICAgIH1cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19"],"names":["i2","i4","i5","i6","i8","i9","i10","i11"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"acorex-modules-document-management-meta-choose-popup.component-DsSo15AL.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/core/translation\";\nimport * as i7 from \"@acorex/components/check-box\";\nimport * as i8 from \"@acorex/components/text-box\";\nimport * as i9 from \"@acorex/components/collapse\";\nimport * as i10 from \"@acorex/components/label\";\nimport * as i11 from \"@angular/forms\";\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([]);\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('');\n //#region ---- Selected Configs ----\n this.selectedConfigs = signal([]);\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: '' });\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.0.7\", ngImport: i0, type: AXPMetaChoosePopupComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.0.7\", 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 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\\\" 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-p-4 ax-flex ax-flex-col ax-gap-4\\\">\\n <div class=\\\"ax-flex ax-items-center ax-gap-2\\\">\\n <ax-check-box\\n [ngModel]=\\\"cfg.isRequired\\\"\\n (onValueChanged)=\\\"cfg.isRequired = $event.value ?? false\\\"\\n ></ax-check-box>\\n <ax-label>{{ 'required' | translate | async }}</ax-label>\\n </div>\\n\\n <ax-text-box\\n class=\\\"ax-w-full\\\"\\n [(ngModel)]=\\\"cfg.placeholder\\\"\\n [placeholder]=\\\"'placeholder' | translate | async\\\"\\n ></ax-text-box>\\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: \"pipe\", type: i1.AsyncPipe, name: \"async\" }, { 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: \"pipe\", type: i6.AXTranslatorPipe, name: \"translate\" }, { kind: \"ngmodule\", type: AXCheckBoxModule }, { kind: \"component\", type: i7.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: \"component\", type: i8.AXTextBoxComponent, selector: \"ax-text-box\", inputs: [\"disabled\", \"tabIndex\", \"readonly\", \"value\", \"state\", \"name\", \"id\", \"placeholder\", \"maxLength\", \"allowNull\", \"type\", \"autoComplete\", \"look\", \"mask-options\", \"class\"], outputs: [\"onBlur\", \"onFocus\", \"valueChange\", \"stateChange\", \"onValueChanged\", \"readonlyChange\", \"disabledChange\", \"onKeyDown\", \"onKeyUp\", \"onKeyPress\"] }, { kind: \"ngmodule\", type: AXCollapseModule }, { kind: \"component\", type: i9.AXCollapseComponent, selector: \"ax-collapse\", inputs: [\"disabled\", \"look\", \"isCollapsed\", \"showHeader\", \"caption\", \"icon\", \"isLoading\", \"headerTemplate\"], outputs: [\"onClick\", \"isCollapsedChange\"] }, { kind: \"component\", type: i9.AXCollapseGroupComponent, selector: \"ax-collapse-group\", inputs: [\"look\", \"accordion\", \"activeIndex\"], outputs: [\"accordionChange\", \"activeIndexChange\"] }, { kind: \"ngmodule\", type: AXLabelModule }, { kind: \"component\", type: i10.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\"], 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: i11.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { kind: \"directive\", type: i11.NgModel, selector: \"[ngModel]:not([formControlName]):not([formControl])\", inputs: [\"name\", \"disabled\", \"ngModel\", \"ngModelOptions\"], outputs: [\"ngModelChange\"], exportAs: [\"ngModel\"] }], encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.7\", 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 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\\\" 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-p-4 ax-flex ax-flex-col ax-gap-4\\\">\\n <div class=\\\"ax-flex ax-items-center ax-gap-2\\\">\\n <ax-check-box\\n [ngModel]=\\\"cfg.isRequired\\\"\\n (onValueChanged)=\\\"cfg.isRequired = $event.value ?? false\\\"\\n ></ax-check-box>\\n <ax-label>{{ 'required' | translate | async }}</ax-label>\\n </div>\\n\\n <ax-text-box\\n class=\\\"ax-w-full\\\"\\n [(ngModel)]=\\\"cfg.placeholder\\\"\\n [placeholder]=\\\"'placeholder' | translate | async\\\"\\n ></ax-text-box>\\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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VFEsMkJBQTJCO2tHQUEzQiwyQkFBMkIsb0VBSnpCLEVBRVYsaURDdEVMLHUzSUFvR0E7Z0JEcERRLFVBQVU7Z0JBQ1YsWUFBWTtnQkFDWixTQUFTO2dCQUNULGlCQUFpQiw0WUFDakIsZ0JBQWdCLDRvQkFDaEIsaUJBQWlCLHNjQUNqQixjQUFjLDZYQUNkLG1CQUFtQiw4RkFDbkIsZ0JBQWdCLHFTQUNoQixlQUFlLHFiQUNmLGdCQUFnQiw4YkFDaEIsYUFBYTtnQkFDYix1QkFBdUI7Z0JBQ3ZCLFdBQVcsOGZBQ1gsT0FBTyx3Y0FDUCxhQUFhO2dCQUNiLFFBQVE7Z0JBQ1IsV0FBVzs7MkZBT04sMkJBQTJCO2tCQTdCdkMsU0FBUzsrQkFDSSx1QkFBdUIsV0FHeEI7d0JBQ0wsVUFBVTt3QkFDVixZQUFZO3dCQUNaLFNBQVM7d0JBQ1QsaUJBQWlCO3dCQUNqQixnQkFBZ0I7d0JBQ2hCLGlCQUFpQjt3QkFDakIsY0FBYzt3QkFDZCxtQkFBbUI7d0JBQ25CLGdCQUFnQjt3QkFDaEIsZUFBZTt3QkFDZixnQkFBZ0I7d0JBQ2hCLGFBQWE7d0JBQ2IsdUJBQXVCO3dCQUN2QixXQUFXO3dCQUNYLE9BQU87d0JBQ1AsYUFBYTt3QkFDYixRQUFRO3dCQUNSLFdBQVc7cUJBQ2QsaUJBQ2MsaUJBQWlCLENBQUMsSUFBSSxhQUMxQixFQUVWIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBzaWduYWwsIFZpZXdFbmNhcHN1bGF0aW9uLCB2aWV3Q2hpbGQsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEFYQmFzZVBhZ2VDb21wb25lbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvcGFnZSc7XG5pbXBvcnQgeyBBWFNlYXJjaEJveE1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9zZWFyY2gtYm94JztcbmltcG9ydCB7IEFYVHJlZVZpZXdNb2R1bGUsIEFYVHJlZUl0ZW1DbGlja0Jhc2VFdmVudCwgQVhUcmVlVmlld0NvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy90cmVlLXZpZXcnO1xuaW1wb3J0IHsgQVhEZWNvcmF0b3JNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZGVjb3JhdG9ycyc7XG5pbXBvcnQgeyBBWEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9idXR0b24nO1xuaW1wb3J0IHsgQVhUcmFuc2xhdGlvbk1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29yZS90cmFuc2xhdGlvbic7XG5pbXBvcnQgeyBBWFZhbHVlQ2hhbmdlZEV2ZW50IH0gZnJvbSAnQGFjb3JleC9jZGsvY29tbW9uJztcbmltcG9ydCB7IEFYTU1ldGFEYXRhRGVmaW5pdGlvbkNhdGVnb3J5U2VydmljZSwgQVhNTWV0YURhdGFEZWZpbml0aW9uQ2F0ZWdvcnlXaXRoSXRlbXNFbnRpdHlNb2RlbCwgQVhNTWV0YURhdGFEZWZpbml0aW9uRW50aXR5TW9kZWwgfSBmcm9tICdAYWNvcmV4L21vZHVsZXMvcGxhdGZvcm0tbWFuYWdlbWVudCc7XG5pbXBvcnQgeyBDZGtEcmFnLCBDZGtEcmFnRHJvcCwgQ2RrRHJhZ0hhbmRsZSwgQ2RrRHJvcExpc3QsIG1vdmVJdGVtSW5BcnJheSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xuaW1wb3J0IHsgQVhDaGVja0JveE1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9jaGVjay1ib3gnO1xuaW1wb3J0IHsgQVhUZXh0Qm94TW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3RleHQtYm94JztcbmltcG9ydCB7IEFYQ29sbGFwc2VNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvY29sbGFwc2UnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBBWExhYmVsTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2xhYmVsJztcbmltcG9ydCB7IEFYUFdvcmtmbG93U2VydmljZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vd29ya2Zsb3cnO1xuaW1wb3J0IHsgQVhQTWV0YURhdGFEZWZpbml0aW9uIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvYnVpbGRlcic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhQTWV0YVRyZWVJdGVtIGV4dGVuZHMgQVhQTWV0YURhdGFEZWZpbml0aW9uIHtcbiAgICBpZDogc3RyaW5nO1xuICAgIHRleHQ6IHN0cmluZztcbiAgICBpY29uPzogc3RyaW5nO1xuICAgIHBhcmVudElkPzogc3RyaW5nO1xuICAgIGhhc0NoaWxkPzogYm9vbGVhbjtcbiAgICBoYXNDaGVja2JveD86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogT3B0aW9uYWwgY2hpbGRyZW4gY29sbGVjdGlvbiBmb3IgbmVzdGVkIHRyZWUgcmVuZGVyaW5nLlxuICAgICAqL1xuICAgIGNoaWxkcmVuPzogQVhQTWV0YVRyZWVJdGVtW107XG4gICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgIGlzU2VsZWN0ZWQ6IGJvb2xlYW47XG59XG5cbi8vI3JlZ2lvbiAtLS0tICAgSGVscGVyIEludGVyZmFjZXMgICAtLS0tXG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VsZWN0ZWRDb25maWcgZXh0ZW5kcyBBWFBNZXRhVHJlZUl0ZW0ge1xuICAgIGlzUmVxdWlyZWQ6IGJvb2xlYW47XG4gICAgcGxhY2Vob2xkZXI6IHN0cmluZztcbn1cblxuLy8jZW5kcmVnaW9uXG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYXhwLW1ldGEtY2hvb3NlLXBvcHVwJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbWV0YS1jaG9vc2UtcG9wdXAuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsOiAnLi9tZXRhLWNob29zZS1wb3B1cC5jb21wb25lbnQuc2NzcycsXG4gICAgaW1wb3J0czogW1xuICAgICAgICAvLyBBbmd1bGFyXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgLy8gQUNvcmVYXG4gICAgICAgIEFYU2VhcmNoQm94TW9kdWxlLFxuICAgICAgICBBWFRyZWVWaWV3TW9kdWxlLFxuICAgICAgICBBWERlY29yYXRvck1vZHVsZSxcbiAgICAgICAgQVhCdXR0b25Nb2R1bGUsXG4gICAgICAgIEFYVHJhbnNsYXRpb25Nb2R1bGUsXG4gICAgICAgIEFYQ2hlY2tCb3hNb2R1bGUsXG4gICAgICAgIEFYVGV4dEJveE1vZHVsZSxcbiAgICAgICAgQVhDb2xsYXBzZU1vZHVsZSxcbiAgICAgICAgQVhMYWJlbE1vZHVsZSxcbiAgICAgICAgLy8gQ0RLIERyYWdEcm9wIG1vZHVsZXNcbiAgICAgICAgQ2RrRHJvcExpc3QsXG4gICAgICAgIENka0RyYWcsXG4gICAgICAgIENka0RyYWdIYW5kbGUsXG4gICAgICAgIC8vIEZvcm1zXG4gICAgICAgIEZvcm1zTW9kdWxlLFxuICAgIF0sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBwcm92aWRlcnM6IFtcblxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIEFYUE1ldGFDaG9vc2VQb3B1cENvbXBvbmVudCBleHRlbmRzIEFYQmFzZVBhZ2VDb21wb25lbnQge1xuXG4gICAgcHJvdGVjdGVkIGNhdGVnb3J5U2VydmljZSA9IGluamVjdChBWE1NZXRhRGF0YURlZmluaXRpb25DYXRlZ29yeVNlcnZpY2UpO1xuICAgIHByb3RlY3RlZCB3b3JrZmxvdyA9IGluamVjdChBWFBXb3JrZmxvd1NlcnZpY2UpO1xuXG4gICAgcHJvdGVjdGVkIGluaXRpYWxEYXRhOiBTZWxlY3RlZENvbmZpZ1tdID0gW107XG5cbiAgICAvKipcbiAgICAgKiBIb2xkcyB0aGUgY29tcGxldGUgbGlzdCBvZiB0cmVlIGl0ZW1zIGluIGEgZmxhdHRlbmVkIHN0cnVjdHVyZS5cbiAgICAgKiBUaGlzIHN0cnVjdHVyZSBtYWtlcyBpdCBlYXN5IHRvOlxuICAgICAqICAxKSBQcm92aWRlIGNoaWxkcmVuIGxhemlseSB2aWEgYHByb3ZpZGVMYXp5VHJlZVZpZXdgIHVzaW5nIGBwYXJlbnRJZGAuXG4gICAgICogIDIpIFBlcmZvcm0gc2VhcmNoIGFjcm9zcyBhbGwgbGV2ZWxzIHdoaWxlIHN0aWxsIGJlaW5nIGFibGUgdG8gaW5jbHVkZVxuICAgICAqICAgICBhbmNlc3RvciBub2RlcyBvZiBtYXRjaGVkIGl0ZW1zLlxuICAgICAqL1xuICAgIHRyZWVWaWV3RGF0YSA9IHNpZ25hbDxBWFBNZXRhVHJlZUl0ZW1bXT4oW10pO1xuXG4gICAgLyoqXG4gICAgICogRmxhdCBsaXN0IG9mIEFMTCBub2RlcyAoZm9yIGVhc3kgbG9vay11cHMgZHVyaW5nIHNlYXJjaCkuXG4gICAgICovXG4gICAgcHJpdmF0ZSBvcmlnaW5hbEZsYXREYXRhOiBBWFBNZXRhVHJlZUl0ZW1bXSA9IFtdO1xuXG4gICAgLyoqXG4gICAgICogT3JpZ2luYWwgKm5lc3RlZCogdHJlZSBzdHJ1Y3R1cmUgKHVzZWQgdG8gcmVzZXQgYW5kIHRvIHJlYnVpbGQgZmlsdGVyZWQgdHJlZXMpLlxuICAgICAqL1xuICAgIHByaXZhdGUgb3JpZ2luYWxOZXN0ZWREYXRhOiBBWFBNZXRhVHJlZUl0ZW1bXSA9IFtdO1xuXG4gICAgcHJvdGVjdGVkIHNlYXJjaFRlcm0gPSBzaWduYWw8c3RyaW5nPignJyk7XG5cbiAgICAvLyNyZWdpb24gLS0tLSAgIFNlbGVjdGVkIENvbmZpZ3MgICAtLS0tXG5cbiAgICBzZWxlY3RlZENvbmZpZ3MgPSBzaWduYWw8U2VsZWN0ZWRDb25maWdbXT4oW10pO1xuXG4gICAgLy8jZW5kcmVnaW9uXG5cbiAgICBvdmVycmlkZSBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5jYXRlZ29yeVNlcnZpY2UuZ2V0QWxsV2l0aEl0ZW1zKCkudGhlbigoY2F0ZWdvcmllcykgPT4ge1xuXG4gICAgICAgICAgICAvLyNyZWdpb24gLS0tLSAgIEhlbHBlciBGdW5jdGlvbnMgICAtLS0tXG5cbiAgICAgICAgICAgIGNvbnN0IGNvbnZlcnRDYXRlZ29yeVRvVHJlZUl0ZW0gPSAoY2F0ZWdvcnk6IEFYTU1ldGFEYXRhRGVmaW5pdGlvbkNhdGVnb3J5V2l0aEl0ZW1zRW50aXR5TW9kZWw8c3RyaW5nPik6IEFYUE1ldGFUcmVlSXRlbSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgY2F0ZWdvcnlDaGlsZHJlbjogQVhQTWV0YVRyZWVJdGVtW10gPSBbXG4gICAgICAgICAgICAgICAgICAgIC8vIE1hcCBzdWItY2F0ZWdvcmllcyByZWN1cnNpdmVseVxuICAgICAgICAgICAgICAgICAgICAuLi5jYXRlZ29yeS5jYXRlZ29yaWVzLm1hcCgoYzogQVhNTWV0YURhdGFEZWZpbml0aW9uQ2F0ZWdvcnlXaXRoSXRlbXNFbnRpdHlNb2RlbDxzdHJpbmc+KSA9PiBjb252ZXJ0Q2F0ZWdvcnlUb1RyZWVJdGVtKGMpKSxcbiAgICAgICAgICAgICAgICAgICAgLy8gTWFwIGl0ZW1zIG9mIGN1cnJlbnQgY2F0ZWdvcnlcbiAgICAgICAgICAgICAgICAgICAgLi4uY2F0ZWdvcnkuaXRlbXMubWFwKChpdGVtOiBBWE1NZXRhRGF0YURlZmluaXRpb25FbnRpdHlNb2RlbCkgPT4gKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlkOiBpdGVtLmlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dDogaXRlbS50aXRsZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmVudElkOiBjYXRlZ29yeS5pZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGhhc0NoZWNrYm94OiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgaXNTZWxlY3RlZDogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAvL1xuICAgICAgICAgICAgICAgICAgICAgICAgaW50ZXJmYWNlOiBpdGVtLmludGVyZmFjZSBhcyBzdHJpbmcsXG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBpdGVtLm5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogaXRlbS50aXRsZVxuICAgICAgICAgICAgICAgICAgICB9KSksXG4gICAgICAgICAgICAgICAgXTtcblxuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIGlkOiBjYXRlZ29yeS5pZCxcbiAgICAgICAgICAgICAgICAgICAgdGV4dDogY2F0ZWdvcnkudGl0bGUsXG4gICAgICAgICAgICAgICAgICAgIHBhcmVudElkOiBjYXRlZ29yeS5wYXJlbnRJZCxcbiAgICAgICAgICAgICAgICAgICAgaGFzQ2hlY2tib3g6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogY2F0ZWdvcnlDaGlsZHJlbixcbiAgICAgICAgICAgICAgICAgICAgaXNTZWxlY3RlZDogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgIC8vZmFrZVxuICAgICAgICAgICAgICAgICAgICBpbnRlcmZhY2U6ICcnLFxuICAgICAgICAgICAgICAgICAgICBuYW1lOiAnJyxcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICcnXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIC8vI2VuZHJlZ2lvblxuXG4gICAgICAgICAgICAvLyBCdWlsZCAqKm5lc3RlZCoqIHRyZWUgc3RydWN0dXJlIGZpcnN0IHNvIHRoYXQgZWFjaCBwYXJlbnRcbiAgICAgICAgICAgIC8vIGNvbnRhaW5zIGl0cyBjaGlsZHJlbiBhcnJheSAoc2ltaWxhciB0byB0aGUgc2FtcGxlIGF0IGxpbmUgMjA4KS5cbiAgICAgICAgICAgIGNvbnN0IG5lc3RlZFRyZWU6IEFYUE1ldGFUcmVlSXRlbVtdID0gY2F0ZWdvcmllcy5tYXAoKGMpID0+IGNvbnZlcnRDYXRlZ29yeVRvVHJlZUl0ZW0oYykpO1xuXG4gICAgICAgICAgICAvLyBBZGRpdGlvbmFsbHkgYnVpbGQgYSBmbGF0dGVuZWQgbGlzdCBvZiBhbGwgbm9kZXMgKHNhbWUgb2JqZWN0cykgc29cbiAgICAgICAgICAgIC8vIHRoYXQgd2UgY2FuIHJlLXVzZSB0aGUgZXhpc3Rpbmcgc2VhcmNoIGltcGxlbWVudGF0aW9uIHdoaWNoXG4gICAgICAgICAgICAvLyBleHBlY3RzIGEgZmxhdCBhcnJheS5cbiAgICAgICAgICAgIGNvbnN0IGZsYXRMaXN0OiBBWFBNZXRhVHJlZUl0ZW1bXSA9IFtdO1xuICAgICAgICAgICAgY29uc3QgY29sbGVjdEZsYXQgPSAobm9kZXM6IEFYUE1ldGFUcmVlSXRlbVtdKSA9PiB7XG4gICAgICAgICAgICAgICAgbm9kZXMuZm9yRWFjaCgobikgPT4ge1xuICAgICAgICAgICAgICAgICAgICBmbGF0TGlzdC5wdXNoKG4pO1xuICAgICAgICAgICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShuLmNoaWxkcmVuKSAmJiBuLmNoaWxkcmVuLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbGxlY3RGbGF0KG4uY2hpbGRyZW4pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgY29sbGVjdEZsYXQobmVzdGVkVHJlZSk7XG5cbiAgICAgICAgICAgIC8vIC0tLSAgIEFwcGx5IGluaXRpYWwgc2VsZWN0aW9ucyAgIC0tLVxuICAgICAgICAgICAgaWYgKHRoaXMuaW5pdGlhbERhdGEgJiYgdGhpcy5pbml0aWFsRGF0YS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgaW5pdGlhbElkcyA9IG5ldyBTZXQodGhpcy5pbml0aWFsRGF0YS5tYXAoKGQpID0+IGQuaWQpKTtcblxuICAgICAgICAgICAgICAgIGZsYXRMaXN0LmZvckVhY2goKG5vZGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKG5vZGUuaGFzQ2hlY2tib3ggJiYgaW5pdGlhbElkcy5oYXMobm9kZS5pZCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5vZGUuaXNTZWxlY3RlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gUGVyc2lzdCBvcmlnaW5hbCBkYXRhIChib3RoIGZsYXR0ZW5lZCBhbmQgbmVzdGVkKSAmIGluaXRpYWxpc2UgcmVhY3RpdmUgc2lnbmFsLlxuICAgICAgICAgICAgdGhpcy5vcmlnaW5hbEZsYXREYXRhID0gZmxhdExpc3Q7XG4gICAgICAgICAgICB0aGlzLm9yaWdpbmFsTmVzdGVkRGF0YSA9IG5lc3RlZFRyZWU7XG5cbiAgICAgICAgICAgIC8vIFNldCBpbml0aWFsIHRyZWUgdmlldyBkYXRhIHRvIGRpc3BsYXkgdGhlIHRyZWVcbiAgICAgICAgICAgIHRoaXMudHJlZVZpZXdEYXRhLnNldChbLi4ubmVzdGVkVHJlZV0pO1xuXG4gICAgICAgICAgICAvLyBJbml0aWFsaXNlIHNlbGVjdGVkIGxpc3QgaWYgYW55IGluaXRpYWwgc2VsZWN0aW9uc1xuICAgICAgICAgICAgdGhpcy5zeW5jaHJvbmlzZVNlbGVjdGVkQ29uZmlncygpO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLnNlbGVjdGVkQ29uZmlncy5zZXQodGhpcy5pbml0aWFsRGF0YSA/PyBbXSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGhhbmRsZVNlbGVjdENsaWNrKCkge1xuICAgICAgICAvLyBSZXR1cm4gdGhlIGNvbmZpZ3VyZWQgc2VsZWN0ZWQgaXRlbXMgZnJvbSB0aGUgcmlnaHQgcGFuZWxcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRDb25maWdzID0gdGhpcy5zZWxlY3RlZENvbmZpZ3MoKTtcblxuICAgICAgICBpZiAoc2VsZWN0ZWRDb25maWdzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHRoaXMuY2xvc2Uoc2VsZWN0ZWRDb25maWdzKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBoYW5kbGVDbG9zZUNsaWNrKCkge1xuICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGhhbmRsZUNoYW5nZVNlYXJjaFZhbHVlKGU6IEFYVmFsdWVDaGFuZ2VkRXZlbnQpIHtcbiAgICAgICAgY29uc3QgdGVybSA9IChlLnZhbHVlID8/ICcnKS50cmltKCk7XG4gICAgICAgIHRoaXMuc2VhcmNoVGVybS5zZXQodGVybSk7XG5cbiAgICAgICAgLy8gUmVzZXQgdG8gdGhlIHByaXN0aW5lIG5lc3RlZCB0cmVlIHdoZW4gc2VhcmNoIGlzIGNsZWFyZWQuXG4gICAgICAgIGlmICghdGVybSkge1xuICAgICAgICAgICAgdGhpcy50cmVlVmlld0RhdGEuc2V0KFsuLi50aGlzLm9yaWdpbmFsTmVzdGVkRGF0YV0pO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgbG93ZXJlZFRlcm0gPSB0ZXJtLnRvTG93ZXJDYXNlKCk7XG5cbiAgICAgICAgLy8gQnVpbGQgYSBxdWljayBsb29rdXAgbWFwIHRvIHRyYXZlcnNlIGFuY2VzdG9ycyBlZmZpY2llbnRseVxuICAgICAgICBjb25zdCBtYXBCeUlkID0gbmV3IE1hcDxzdHJpbmcsIEFYUE1ldGFUcmVlSXRlbT4oXG4gICAgICAgICAgICB0aGlzLm9yaWdpbmFsRmxhdERhdGEubWFwKChpdGVtKSA9PiBbaXRlbS5pZCwgaXRlbV0pXG4gICAgICAgICk7XG5cbiAgICAgICAgLy8gSGVscGVyIHRvIGNvbGxlY3QgYWxsIGFuY2VzdG9ycyBvZiBhIGdpdmVuIG5vZGVcbiAgICAgICAgY29uc3QgY29sbGVjdEFuY2VzdG9ycyA9IChub2RlOiBBWFBNZXRhVHJlZUl0ZW0pOiBBWFBNZXRhVHJlZUl0ZW1bXSA9PiB7XG4gICAgICAgICAgICBjb25zdCBhbmNlc3RvcnM6IEFYUE1ldGFUcmVlSXRlbVtdID0gW107XG4gICAgICAgICAgICBsZXQgY3VycmVudFBhcmVudElkID0gbm9kZS5wYXJlbnRJZDtcbiAgICAgICAgICAgIHdoaWxlIChjdXJyZW50UGFyZW50SWQpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBwYXJlbnQgPSBtYXBCeUlkLmdldChjdXJyZW50UGFyZW50SWQpO1xuICAgICAgICAgICAgICAgIGlmICghcGFyZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBhbmNlc3RvcnMucHVzaChwYXJlbnQpO1xuICAgICAgICAgICAgICAgIGN1cnJlbnRQYXJlbnRJZCA9IHBhcmVudC5wYXJlbnRJZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBhbmNlc3RvcnM7XG4gICAgICAgIH07XG5cbiAgICAgICAgLy8gMSkgRmluZCBhbGwgbm9kZXMgd2hvc2UgdGV4dCBjb250YWlucyB0aGUgc2VhcmNoIHRlcm1cbiAgICAgICAgY29uc3QgbWF0Y2hlZE5vZGVzID0gdGhpcy5vcmlnaW5hbEZsYXREYXRhLmZpbHRlcigoaXRlbSkgPT5cbiAgICAgICAgICAgIGl0ZW0udGV4dC50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKGxvd2VyZWRUZXJtKVxuICAgICAgICApO1xuXG4gICAgICAgIC8vIDIpIENvbGxlY3QgdGhlaXIgYW5jZXN0b3JzIHRvIGVuc3VyZSB0aGUgdHJlZSBjYW4gcmVuZGVyIGNvcnJlY3QgcGF0aHNcbiAgICAgICAgY29uc3QgcmVzdWx0U2V0ID0gbmV3IE1hcDxzdHJpbmcsIEFYUE1ldGFUcmVlSXRlbT4oKTtcbiAgICAgICAgbWF0Y2hlZE5vZGVzLmZvckVhY2goKG5vZGUpID0+IHtcbiAgICAgICAgICAgIHJlc3VsdFNldC5zZXQobm9kZS5pZCwgbm9kZSk7XG4gICAgICAgICAgICBjb2xsZWN0QW5jZXN0b3JzKG5vZGUpLmZvckVhY2goKGFuY2VzdG9yKSA9PiByZXN1bHRTZXQuc2V0KGFuY2VzdG9yLmlkLCBhbmNlc3RvcikpO1xuICAgICAgICB9KTtcblxuICAgICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgLy8gRW5zdXJlIGNoaWxkIG5vZGVzIGFyZSBOT1QgcmVuZGVyZWQgYXQgdGhlIHJvb3QgbGV2ZWwuXG4gICAgICAgIC8vIFdlIG9ubHkgcGFzcyBub2RlcyB0byB0aGUgdHJlZSBjb21wb25lbnQgdGhhdCBkbyAqKm5vdCoqXG4gICAgICAgIC8vIGhhdmUgdGhlaXIgcGFyZW50IGFscmVhZHkgcHJlc2VudCBpbiB0aGUgZmluYWwgcmVzdWx0IHNldC5cbiAgICAgICAgLy8gVGhpcyBwcmVzZXJ2ZXMgdGhlIGNvcnJlY3QgaGllcmFyY2h5IGFuZCBwcmV2ZW50cyBkdXBsaWNhdGVzXG4gICAgICAgIC8vIGxpa2UgdGhlIGV4dHJhIHJvb3QtbGV2ZWwgZW50cnkgaGlnaGxpZ2h0ZWQgaW4geWVsbG93LlxuICAgICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgLy8gQnVpbGQgYSAqbmVzdGVkKiB0cmVlIHRoYXQgY29udGFpbnMgT05MWSBub2RlcyBwcmVzZW50IGluIGByZXN1bHRTZXRgLlxuICAgICAgICBjb25zdCBpZFNldCA9IG5ldyBTZXQ8c3RyaW5nPihyZXN1bHRTZXQua2V5cygpKTtcblxuICAgICAgICBjb25zdCBjbG9uZUlmSW5jbHVkZWQgPSAobm9kZTogQVhQTWV0YVRyZWVJdGVtKTogQVhQTWV0YVRyZWVJdGVtIHwgbnVsbCA9PiB7XG4gICAgICAgICAgICBpZiAoIWlkU2V0Lmhhcyhub2RlLmlkKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBjbG9uZWQ6IEFYUE1ldGFUcmVlSXRlbSA9IHtcbiAgICAgICAgICAgICAgICAuLi5ub2RlLFxuICAgICAgICAgICAgICAgIC8vIENyZWF0ZSBmcmVzaCBjaGlsZHJlbiBhcnJheSAod2lsbCBiZSBwb3B1bGF0ZWQgcmVjdXJzaXZlbHkpXG4gICAgICAgICAgICAgICAgY2hpbGRyZW46IFtdXG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShub2RlLmNoaWxkcmVuKSkge1xuICAgICAgICAgICAgICAgIG5vZGUuY2hpbGRyZW4uZm9yRWFjaCgoY2hpbGQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYyA9IGNsb25lSWZJbmNsdWRlZChjaGlsZCk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChjKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjbG9uZWQuY2hpbGRyZW4hLnB1c2goYyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIGNsb25lZDtcbiAgICAgICAgfTtcblxuICAgICAgICBjb25zdCBmaWx0ZXJlZFJvb3RzOiBBWFBNZXRhVHJlZUl0ZW1bXSA9IFtdO1xuICAgICAgICB0aGlzLm9yaWdpbmFsTmVzdGVkRGF0YS5mb3JFYWNoKChyb290KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBjbG9uZWRSb290ID0gY2xvbmVJZkluY2x1ZGVkKHJvb3QpO1xuICAgICAgICAgICAgaWYgKGNsb25lZFJvb3QpIHtcbiAgICAgICAgICAgICAgICBmaWx0ZXJlZFJvb3RzLnB1c2goY2xvbmVkUm9vdCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMudHJlZVZpZXdEYXRhLnNldChmaWx0ZXJlZFJvb3RzKTtcbiAgICB9XG5cbiAgICAvLyNyZWdpb24gLS0tLSAgIFRyZWUgSW50ZXJhY3Rpb24gSGFuZGxlcnMgICAtLS0tXG5cbiAgICBwcm90ZWN0ZWQgaGFuZGxlU2VsZWN0aW9uQ2hhbmdlZChlOiBBWFRyZWVJdGVtQ2xpY2tCYXNlRXZlbnQpIHtcbiAgICAgICAgLy8gVHJlZSB0b2dnbGVzIHNlbGVjdGlvbiBpbnRlcm5hbGx5OyBqdXN0IHN5bmMgY29uZmlncyBhZnRlcndhcmRzXG4gICAgICAgIHRoaXMuc3luY2hyb25pc2VTZWxlY3RlZENvbmZpZ3MoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHN5bmNocm9uaXNlU2VsZWN0ZWRDb25maWdzKCkge1xuICAgICAgICBjb25zdCBzZWxlY3RlZE5vZGVzID0gdGhpcy5vcmlnaW5hbEZsYXREYXRhLmZpbHRlcigobikgPT4gbi5oYXNDaGVja2JveCAmJiBuLmlzU2VsZWN0ZWQpO1xuXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRDb25maWdzLnVwZGF0ZSgocHJldikgPT4ge1xuICAgICAgICAgICAgLy8gUmVtb3ZlIGNvbmZpZ3MgdGhhdCBhcmUgbm8gbG9uZ2VyIHNlbGVjdGVkXG4gICAgICAgICAgICBsZXQgbmV4dCA9IHByZXYuZmlsdGVyKChjZmcpID0+IHNlbGVjdGVkTm9kZXMuc29tZSgobikgPT4gbi5pZCA9PT0gY2ZnLmlkKSk7XG5cbiAgICAgICAgICAgIC8vIEFkZCBuZXcgY29uZmlnc1xuICAgICAgICAgICAgc2VsZWN0ZWROb2Rlcy5mb3JFYWNoKChuKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCFuZXh0LnNvbWUoKGNmZykgPT4gY2ZnLmlkID09PSBuLmlkKSkge1xuICAgICAgICAgICAgICAgICAgICBuZXh0LnB1c2goeyAuLi5uLCBpc1JlcXVpcmVkOiBmYWxzZSwgcGxhY2Vob2xkZXI6ICcnIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICByZXR1cm4gWy4uLm5leHRdO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgdG9nZ2xlU2VsZWN0aW9uKGNmZzogU2VsZWN0ZWRDb25maWcpIHtcbiAgICAgICAgLy8gRmluZCB0aGUgb3JpZ2luYWwgbm9kZSBpbiBmbGF0RGF0YSBhbmQgdXBkYXRlIGl0XG4gICAgICAgIGNvbnN0IG9yaWdpbmFsTm9kZSA9IHRoaXMub3JpZ2luYWxGbGF0RGF0YS5maW5kKG4gPT4gbi5pZCA9PT0gY2ZnLmlkKTtcbiAgICAgICAgaWYgKG9yaWdpbmFsTm9kZSkge1xuICAgICAgICAgICAgb3JpZ2luYWxOb2RlLmlzU2VsZWN0ZWQgPSAhb3JpZ2luYWxOb2RlLmlzU2VsZWN0ZWQ7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBGb3JjZSB0cmVlIHZpZXcgdG8gdXBkYXRlIGJ5IHRyaWdnZXJpbmcgc2lnbmFsIGNoYW5nZVxuICAgICAgICB0aGlzLnRyZWVWaWV3RGF0YS5zZXQoWy4uLnRoaXMudHJlZVZpZXdEYXRhKCldKTtcblxuICAgICAgICB0aGlzLnN5bmNocm9uaXNlU2VsZWN0ZWRDb25maWdzKCk7XG4gICAgfVxuXG4gICAgLy8jZW5kcmVnaW9uXG5cbiAgICAvLyNyZWdpb24gLS0tLSAgIERyYWcgJiBEcm9wIChPcmRlcmluZykgICAtLS0tXG5cbiAgICBwcm90ZWN0ZWQgaGFuZGxlRHJvcChldmVudDogQ2RrRHJhZ0Ryb3A8U2VsZWN0ZWRDb25maWdbXT4pIHtcbiAgICAgICAgY29uc3QgbGlzdCA9IFsuLi50aGlzLnNlbGVjdGVkQ29uZmlncygpXTtcbiAgICAgICAgbW92ZUl0ZW1JbkFycmF5KGxpc3QsIGV2ZW50LnByZXZpb3VzSW5kZXgsIGV2ZW50LmN1cnJlbnRJbmRleCk7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRDb25maWdzLnNldChsaXN0KTtcbiAgICB9XG5cbiAgICAvLyNlbmRyZWdpb25cblxuICAgIC8vI3JlZ2lvbiAtLS0tICAgTWFudWFsIE9yZGVyaW5nIE1ldGhvZHMgICAtLS0tXG5cbiAgICBwcm90ZWN0ZWQgbW92ZUl0ZW1VcChlOiBNb3VzZUV2ZW50LCBpbmRleDogbnVtYmVyKSB7XG4gICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIGlmIChpbmRleCA8PSAwKSByZXR1cm47IC8vIEFscmVhZHkgYXQgdG9wXG5cbiAgICAgICAgY29uc3QgbGlzdCA9IFsuLi50aGlzLnNlbGVjdGVkQ29uZmlncygpXTtcbiAgICAgICAgW2xpc3RbaW5kZXggLSAxXSwgbGlzdFtpbmRleF1dID0gW2xpc3RbaW5kZXhdLCBsaXN0W2luZGV4IC0gMV1dO1xuICAgICAgICB0aGlzLnNlbGVjdGVkQ29uZmlncy5zZXQobGlzdCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG1vdmVJdGVtRG93bihlOiBNb3VzZUV2ZW50LCBpbmRleDogbnVtYmVyKSB7XG4gICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRMaXN0ID0gdGhpcy5zZWxlY3RlZENvbmZpZ3MoKTtcbiAgICAgICAgaWYgKGluZGV4ID49IGN1cnJlbnRMaXN0Lmxlbmd0aCAtIDEpIHJldHVybjsgLy8gQWxyZWFkeSBhdCBib3R0b21cblxuICAgICAgICBjb25zdCBsaXN0ID0gWy4uLmN1cnJlbnRMaXN0XTtcbiAgICAgICAgW2xpc3RbaW5kZXhdLCBsaXN0W2luZGV4ICsgMV1dID0gW2xpc3RbaW5kZXggKyAxXSwgbGlzdFtpbmRleF1dO1xuICAgICAgICB0aGlzLnNlbGVjdGVkQ29uZmlncy5zZXQobGlzdCk7XG5cbiAgICB9XG5cbiAgICAvLyNlbmRyZWdpb25cblxuICAgIC8vI3JlZ2lvbiAtLS0tICAgVGVtcGxhdGUgQWN0aW9ucyAgIC0tLS1cblxuICAgIHByb3RlY3RlZCBhc3luYyBoYW5kbGVQcmV2aWV3TWV0YShpdGVtOiBBWFBNZXRhVHJlZUl0ZW0pIHtcbiAgICAgICAgaWYgKGl0ZW0uaGFzQ2hlY2tib3gpIHtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMud29ya2Zsb3cuZXhlY3V0ZSgnb3Blbi1mb3JtLXRlbXBsYXRlJywge1xuICAgICAgICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgICAgICAgICAgdGVtcGxhdGU6IGl0ZW0uaW50ZXJmYWNlLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgbWV0YWRhdGE6IHtcbiAgICAgICAgICAgICAgICAgICAgcHJldmlldzogdHJ1ZSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyNlbmRyZWdpb25cbn1cbiIsIjxkaXYgY2xhc3M9XCJheC1wLTQgYXgtZmxleCBheC1nYXAtNCBheC1vdmVyZmxvdy1oaWRkZW5cIj5cbiAgPCEtLSBMZWZ0OiBNZXRhIHRyZWUgLS0+XG4gIDxkaXYgY2xhc3M9XCJheC1mbGV4LTEgYXgtZmxleCBheC1mbGV4LWNvbCBheC1nYXAtNCBheC1taW4tdy0wXCI+XG4gICAgPGF4LXNlYXJjaC1ib3hcbiAgICAgIFtwbGFjZWhvbGRlcl09XCInd2lkZ2V0Lmxvb2t1cC5zZWFyY2gnIHwgdHJhbnNsYXRlIHwgYXN5bmNcIlxuICAgICAgW3ZhbHVlXT1cInNlYXJjaFRlcm0oKVwiXG4gICAgICAob25WYWx1ZUNoYW5nZWQpPVwiaGFuZGxlQ2hhbmdlU2VhcmNoVmFsdWUoJGV2ZW50KVwiXG4gICAgICA+PGF4LWNsZWFyLWJ1dHRvbj48L2F4LWNsZWFyLWJ1dHRvblxuICAgID48L2F4LXNlYXJjaC1ib3g+XG5cbiAgICA8YXgtdHJlZS12aWV3XG4gICAgICBbaGFzQ2hpbGRGaWVsZF09XCInaGFzQ2hpbGQnXCJcbiAgICAgIFtwYXJlbnRGaWVsZF09XCIncGFyZW50SWQnXCJcbiAgICAgIFtpdGVtc109XCJ0cmVlVmlld0RhdGEoKVwiXG4gICAgICBbc2VsZWN0aW9uTW9kZV09XCInbXVsdGlwbGUnXCJcbiAgICAgIFtzZWxlY3RlZEZpZWxkXT1cIidpc1NlbGVjdGVkJ1wiXG4gICAgICAob25TZWxlY3Rpb25DaGFuZ2VkKT1cImhhbmRsZVNlbGVjdGlvbkNoYW5nZWQoJGV2ZW50KVwiXG4gICAgICBbaXRlbVRlbXBsYXRlXT1cIml0ZW1UZW1wbGF0ZVwiXG4gICAgICBjbGFzcz1cImF4LWZsZXgtMSBheC1vdmVyZmxvdy1hdXRvXCJcbiAgICA+PC9heC10cmVlLXZpZXc+XG4gIDwvZGl2PlxuXG4gIDwhLS0gUmlnaHQ6IFNlbGVjdGVkIGxpc3QgLS0+XG4gIDxkaXYgY2xhc3M9XCJheC13LTEvMiBheC1mbGV4IGF4LWZsZXgtY29sIGF4LWdhcC0zIGF4LXNlbGVjdC1ub25lXCIgY2RrRHJvcExpc3QgKGNka0Ryb3BMaXN0RHJvcHBlZCk9XCJoYW5kbGVEcm9wKCRldmVudClcIj5cbiAgICA8aDYgY2xhc3M9XCJheC1mb250LXNlbWlib2xkIGF4LXRleHQtc21cIiAqbmdJZj1cInNlbGVjdGVkQ29uZmlncygpLmxlbmd0aFwiPlNlbGVjdGVkIEl0ZW1zPC9oNj5cblxuICAgIEBmb3IoY2ZnIG9mIHNlbGVjdGVkQ29uZmlncygpOyB0cmFjayBjZmcuaWQ7IGxldCBpID0gJGluZGV4KSB7XG4gICAgICA8ZGl2IGNka0RyYWcgY2xhc3M9XCJheC1iZy13aGl0ZSBheC1yb3VuZGVkLW1kIGF4LXNoYWRvdy1zbSBheC1ib3JkZXIgYXgtYm9yZGVyLWdyYXktMjAwXCIgY2RrRHJhZ0JvdW5kYXJ5PVwiLmF4LXNlbGVjdC1ub25lXCI+XG4gICAgICAgIDwhLS0gQ29sbGFwc2Ugd2l0aCBjdXN0b20gaGVhZGVyIHRlbXBsYXRlIC0tPlxuICAgICAgICA8YXgtY29sbGFwc2UtZ3JvdXAgbG9vaz1cImZpbGxcIj5cbiAgICAgICAgICA8YXgtY29sbGFwc2UgY2FwdGlvbj1cIk9wdGlvbnNcIiBbaGVhZGVyVGVtcGxhdGVdPVwiaGVhZGVyVHBsXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtcC00IGF4LWZsZXggYXgtZmxleC1jb2wgYXgtZ2FwLTRcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtaXRlbXMtY2VudGVyIGF4LWdhcC0yXCI+XG4gICAgICAgICAgICAgICAgPGF4LWNoZWNrLWJveFxuICAgICAgICAgICAgICAgICAgW25nTW9kZWxdPVwiY2ZnLmlzUmVxdWlyZWRcIlxuICAgICAgICAgICAgICAgICAgKG9uVmFsdWVDaGFuZ2VkKT1cImNmZy5pc1JlcXVpcmVkID0gJGV2ZW50LnZhbHVlID8/IGZhbHNlXCJcbiAgICAgICAgICAgICAgICA+PC9heC1jaGVjay1ib3g+XG4gICAgICAgICAgICAgICAgPGF4LWxhYmVsPnt7ICdyZXF1aXJlZCcgfCB0cmFuc2xhdGUgfCBhc3luYyB9fTwvYXgtbGFiZWw+XG4gICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgIDxheC10ZXh0LWJveFxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYXgtdy1mdWxsXCJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImNmZy5wbGFjZWhvbGRlclwiXG4gICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidwbGFjZWhvbGRlcicgfCB0cmFuc2xhdGUgfCBhc3luY1wiXG4gICAgICAgICAgICAgID48L2F4LXRleHQtYm94PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIDwhLS0gSGVhZGVyIHRlbXBsYXRlIC0tPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNoZWFkZXJUcGw+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1mbGV4IGF4LWl0ZW1zLWNlbnRlciBheC1qdXN0aWZ5LWJldHdlZW4gYXgtdy1mdWxsIGF4LXB4LTMgYXgtcHktMlwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1mbGV4IGF4LWl0ZW1zLWNlbnRlciBheC1nYXAtMlwiPlxuICAgICAgICAgICAgICAgICAgPGF4LWljb24gY2xhc3M9XCJmYS1zb2xpZCBmYS1ncmlwLWRvdHMtdmVydGljYWwgYXgtY3Vyc29yLW1vdmUgYXgtdGV4dC1ncmF5LTQwMFwiIGNka0RyYWdIYW5kbGU+PC9heC1pY29uPlxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJheC10ZXh0LXNtIGF4LWZvbnQtbWVkaXVtXCI+e3sgY2ZnLnRleHQgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtaXRlbXMtY2VudGVyIGF4LWdhcC0xXCI+XG4gICAgICAgICAgICAgICAgICA8YXgtaWNvbiBcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmYS1zb2xpZCBmYS1jaGV2cm9uLXVwIGF4LXRleHQtcHJpbWFyeSBheC1jdXJzb3ItcG9pbnRlciBheC10ZXh0LXhzXCIgXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJtb3ZlSXRlbVVwKCRldmVudCxpKVwiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5heC1vcGFjaXR5LTMwXT1cImkgPT09IDBcIlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3MuYXgtY3Vyc29yLW5vdC1hbGxvd2VkXT1cImkgPT09IDBcIlxuICAgICAgICAgICAgICAgICAgICB0aXRsZT1cIk1vdmUgVXBcIj5cbiAgICAgICAgICAgICAgICAgIDwvYXgtaWNvbj5cbiAgICAgICAgICAgICAgICAgIDxheC1pY29uIFxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZhLXNvbGlkIGZhLWNoZXZyb24tZG93biBheC10ZXh0LXByaW1hcnkgYXgtY3Vyc29yLXBvaW50ZXIgYXgtdGV4dC14cyBheC1weC0yXCIgXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJtb3ZlSXRlbURvd24oJGV2ZW50LGkpXCJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmF4LW9wYWNpdHktMzBdPVwiaSA9PT0gc2VsZWN0ZWRDb25maWdzKCkubGVuZ3RoIC0gMVwiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5heC1jdXJzb3Itbm90LWFsbG93ZWRdPVwiaSA9PT0gc2VsZWN0ZWRDb25maWdzKCkubGVuZ3RoIC0gMVwiXG4gICAgICAgICAgICAgICAgICAgIHRpdGxlPVwiTW92ZSBEb3duXCI+XG4gICAgICAgICAgICAgICAgICA8L2F4LWljb24+XG4gICAgICAgICAgICAgICAgICA8YXgtaWNvbiBjbGFzcz1cImZhLXNvbGlkIGZhLXhtYXJrIGF4LXRleHQtZGFuZ2VyIGF4LWN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cInRvZ2dsZVNlbGVjdGlvbihjZmcpXCI+PC9heC1pY29uPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPC9heC1jb2xsYXBzZT5cbiAgICAgICAgPC9heC1jb2xsYXBzZS1ncm91cD5cbiAgICAgIDwvZGl2PlxuICAgIH1cbiAgPC9kaXY+XG48L2Rpdj5cblxuPGF4LWZvb3Rlcj5cbiAgPGF4LXN1ZmZpeD5cbiAgICA8YXgtYnV0dG9uIGxvb2s9XCJzb2xpZFwiIFt0ZXh0XT1cIignY2xvc2UnIHwgdHJhbnNsYXRlIHwgYXN5bmMpIVwiIChvbkNsaWNrKT1cImhhbmRsZUNsb3NlQ2xpY2soKVwiPiA8L2F4LWJ1dHRvbj5cbiAgICA8YXgtYnV0dG9uIGxvb2s9XCJzb2xpZFwiIGNvbG9yPVwicHJpbWFyeVwiIFt0ZXh0XT1cIignc2VsZWN0JyB8IHRyYW5zbGF0ZSB8IGFzeW5jKSFcIiAob25DbGljayk9XCJoYW5kbGVTZWxlY3RDbGljaygpXCI+XG4gICAgPC9heC1idXR0b24+XG4gIDwvYXgtc3VmZml4PlxuPC9heC1mb290ZXI+XG5cbjxuZy10ZW1wbGF0ZSAjaXRlbVRlbXBsYXRlIGxldC1pdGVtPlxuICA8ZGl2IGNsYXNzPVwiYXgtZmxleCBheC1pdGVtcy1jZW50ZXIgYXgtanVzdGlmeS1iZXR3ZWVuIGF4LXctZnVsbFwiPlxuICAgIDxzcGFuPnt7IGl0ZW0udGV4dCB9fTwvc3Bhbj5cbiAgICBAaWYoaXRlbS5oYXNDaGVja2JveCkge1xuICAgIDxheC1pY29uIFxuICAgICAgY2xhc3M9XCJmYS1yZWd1bGFyIGZhLWV5ZSBheC10ZXh0LXByaW1hcnkgYXgtY3Vyc29yLXBvaW50ZXIgYXgtbWwtMlwiIFxuICAgICAgKGNsaWNrKT1cImhhbmRsZVByZXZpZXdNZXRhKGl0ZW0pXCJcbiAgICAgIHRpdGxlPVwiUHJldmlldyBNZXRhXCI+XG4gICAgPC9heC1pY29uPlxuICAgIH1cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19"],"names":["i2","i4","i5","i6","i8","i9","i10","i11"],"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.0.
|
14
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.
|
13
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: AXPMetaSelectorWidgetColumnComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
14
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.7", 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.0.
|
17
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.7", 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.0.6", 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-gunvY9et.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-gunvY9et.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.0.7\", ngImport: i0, type: AXPMetaSelectorWidgetColumnComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.0.7\", 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.0.7\", 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,IAAI;AACJ,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.0.
|
22
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.
|
21
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: AXPMetaSelectorWidgetDesignerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
22
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.7", 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.0.
|
24
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.7", 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.0.6", 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-B-fYrGs1.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-B-fYrGs1.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\"]);\n this.readonly = computed(() => this.options()[\"readonly\"]);\n this.label = computed(() => this.options()[\"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.0.7\", ngImport: i0, type: AXPMetaSelectorWidgetDesignerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.0.7\", 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.0.7\", 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YS1zZWxlY3Rvci13aWRnZXQtZGVzaWduZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2RvY3VtZW50LW1hbmFnZW1lbnQvc3JjL2xpYi9mZWF0dXJlcy9tZXRhLWNob29zZS13aWRnZXQvbWV0YS1zZWxlY3Rvci13aWRnZXQtZGVzaWduZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRWhFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDMUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDOztBQVF6RCxNQUFNLE9BQU8sc0NBQXVDLFNBQVEsdUJBQXVDO0lBTm5HOztRQVFZLGFBQVEsR0FBRyxRQUFRLENBQVUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLFVBQVUsQ0FBWSxDQUFDLENBQUM7UUFDMUUsYUFBUSxHQUFHLFFBQVEsQ0FBVSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsVUFBVSxDQUFZLENBQUMsQ0FBQztRQUMxRSxVQUFLLEdBQUcsUUFBUSxDQUFTLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQVcsQ0FBQyxDQUFDO0tBVTdFO0lBUEMsSUFDWSxPQUFPO1FBQ2pCLE1BQU0sR0FBRyxHQUFRLEVBQUUsQ0FBQztRQUNwQixFQUFFO1FBQ0YsR0FBRyxDQUFDLGlCQUFpQixDQUFDLEdBQUcsSUFBSSxDQUFDO1FBQzlCLE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQzs4R0FiVSxzQ0FBc0M7a0dBQXRDLHNDQUFzQyw4SkFKdkMsRUFBRSwyREFFRixnQkFBZ0IsOEJBQUUsV0FBVyw4QkFBRSxhQUFhOzsyRkFFM0Msc0NBQXNDO2tCQU5sRCxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSwwQkFBMEI7b0JBQ3BDLFFBQVEsRUFBRSxFQUFFO29CQUNaLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxPQUFPLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsYUFBYSxDQUFDO2lCQUN4RDs4QkFTYSxPQUFPO3NCQURsQixXQUFXO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWENoZWNrQm94TW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2NoZWNrLWJveCc7XG5cbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGNvbXB1dGVkLCBIb3N0QmluZGluZyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBBWFBWYWx1ZVdpZGdldENvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2J1aWxkZXInO1xuaW1wb3J0IHsgQVhMYWJlbE1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9sYWJlbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4cC1tZXRhLXNlbGVjdG9yLXdpZGdldCcsXG4gIHRlbXBsYXRlOiBgYCxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGltcG9ydHM6IFtBWENoZWNrQm94TW9kdWxlLCBGb3Jtc01vZHVsZSwgQVhMYWJlbE1vZHVsZV1cbn0pXG5leHBvcnQgY2xhc3MgQVhQTWV0YVNlbGVjdG9yV2lkZ2V0RGVzaWduZXJDb21wb25lbnQgZXh0ZW5kcyBBWFBWYWx1ZVdpZGdldENvbXBvbmVudDxib29sZWFuIHwgbnVsbD4ge1xuXG4gIHByb3RlY3RlZCBkaXNhYmxlZCA9IGNvbXB1dGVkPGJvb2xlYW4+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,CAAC;AAClE,QAAQ,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,UAAU,CAAC,CAAC;AAClE,QAAQ,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC;AAC5D,IAAI;AACJ,IAAI,IAAI,OAAO,GAAG;AAClB,QAAQ,MAAM,GAAG,GAAG,EAAE;AACtB;AACA,QAAQ,GAAG,CAAC,iBAAiB,CAAC,GAAG,IAAI;AACrC,QAAQ,OAAO,GAAG;AAClB,IAAI;AACJ,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.0.
|
18
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.
|
17
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: AXPMetaSelectorWidgetViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
18
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.7", 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.0.
|
20
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.7", 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.0.6", 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-D4gu7liQ.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-D4gu7liQ.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.0.7\", ngImport: i0, type: AXPMetaSelectorWidgetViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.0.7\", 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.0.7\", 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,IAAI;AACJ,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-CJYBHKUf.mjs';
|
3
3
|
|
4
4
|
class AXMPermissionDefinitionProvider {
|
5
5
|
constructor(injector) {
|
@@ -28,4 +28,4 @@ class AXMPermissionDefinitionProvider {
|
|
28
28
|
}
|
29
29
|
|
30
30
|
export { AXMPermissionDefinitionProvider };
|
31
|
-
//# sourceMappingURL=acorex-modules-document-management-permission-definition.provider-
|
31
|
+
//# sourceMappingURL=acorex-modules-document-management-permission-definition.provider-C31fYGZT.mjs.map
|