@acorex/modules 20.0.7 → 20.0.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/{acorex-modules-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-BXc_ogZY.mjs} +43 -43
- package/fesm2022/{acorex-modules-auth-acorex-modules-auth-X866H4oy.mjs.map → acorex-modules-auth-acorex-modules-auth-BXc_ogZY.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-app-chooser.component-DqKTfLA2.mjs → acorex-modules-auth-app-chooser.component-BS8kyO4q.mjs} +5 -5
- package/fesm2022/{acorex-modules-auth-app-chooser.component-DqKTfLA2.mjs.map → acorex-modules-auth-app-chooser.component-BS8kyO4q.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-DGE_lE3s.mjs} +8 -8
- package/fesm2022/{acorex-modules-auth-login.module-CWOYzn0L.mjs.map → acorex-modules-auth-login.module-DGE_lE3s.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-master.layout-384T0lIg.mjs → acorex-modules-auth-master.layout-BsgOcazS.mjs} +5 -5
- package/fesm2022/{acorex-modules-auth-master.layout-384T0lIg.mjs.map → acorex-modules-auth-master.layout-BsgOcazS.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-password.component-BW_ooTQG.mjs → acorex-modules-auth-password.component-BjpLB-GX.mjs} +5 -5
- package/fesm2022/{acorex-modules-auth-password.component-BW_ooTQG.mjs.map → acorex-modules-auth-password.component-BjpLB-GX.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-password.component-JG95JpLz.mjs → acorex-modules-auth-password.component-DwQwyJv_.mjs} +5 -5
- package/fesm2022/{acorex-modules-auth-password.component-JG95JpLz.mjs.map → acorex-modules-auth-password.component-DwQwyJv_.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-routes-DqKtHu-i.mjs → acorex-modules-auth-routes-j9Ujy-xB.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-routes-DqKtHu-i.mjs.map → acorex-modules-auth-routes-j9Ujy-xB.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-EN4l_a4V.mjs} +7 -7
- package/fesm2022/{acorex-modules-auth-two-factor.module-C88pXqao.mjs.map → acorex-modules-auth-two-factor.module-EN4l_a4V.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-user-sessions.component-loloVwv0.mjs → acorex-modules-auth-user-sessions.component-D9D-vWic.mjs} +5 -5
- package/fesm2022/{acorex-modules-auth-user-sessions.component-loloVwv0.mjs.map → acorex-modules-auth-user-sessions.component-D9D-vWic.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 +52 -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 +14 -13
- package/fesm2022/acorex-modules-content-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-conversation.mjs +55 -47
- 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-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-sI0yzJ4s.mjs} +7 -7
- package/fesm2022/{acorex-modules-report-management-report-runner-root-page.component-BntIoMfN.mjs.map → acorex-modules-report-management-report-runner-root-page.component-sI0yzJ4s.mjs.map} +1 -1
- 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 +17 -17
- 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-ChW_Hwf2.mjs → acorex-modules-workflow-management-task-board.page-Dh9nI9dz.mjs} +19 -19
- package/fesm2022/{acorex-modules-workflow-management-task-board.page-ChW_Hwf2.mjs.map → acorex-modules-workflow-management-task-board.page-Dh9nI9dz.mjs.map} +1 -1
- package/fesm2022/acorex-modules-workflow-management.mjs +12 -12
- package/fesm2022/acorex-modules-workflow-management.mjs.map +1 -1
- package/issue-management/index.d.ts +63 -5
- package/package.json +5 -5
- 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
@@ -180,10 +180,10 @@ class AXMModuleDesignerContextMenuService {
|
|
180
180
|
getMenuItems(includeItems) {
|
181
181
|
return this.menuItems.filter((i) => includeItems.includes(i.name));
|
182
182
|
}
|
183
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.
|
184
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.
|
183
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: AXMModuleDesignerContextMenuService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
184
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: AXMModuleDesignerContextMenuService, providedIn: 'root' }); }
|
185
185
|
}
|
186
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.
|
186
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: AXMModuleDesignerContextMenuService, decorators: [{
|
187
187
|
type: Injectable,
|
188
188
|
args: [{
|
189
189
|
providedIn: 'root',
|
@@ -290,10 +290,10 @@ class AXMModuleDesignerComponent {
|
|
290
290
|
assignData(target, data) {
|
291
291
|
set(target, 'data', data);
|
292
292
|
}
|
293
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.
|
294
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.
|
293
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: AXMModuleDesignerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
294
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.7", type: AXMModuleDesignerComponent, isStandalone: true, selector: "ng-component", viewQueries: [{ propertyName: "contextMenu", first: true, predicate: ["contextMenu"], descendants: true, isSignal: true }], ngImport: i0, template: "<ax-drawer-container class=\"ax-overflow-hidden\">\n <ax-drawer #drawer location=\"start\" [collapsed]=\"false\" [mode]=\"'push'\">\n <ax-content class=\" ax-w-80 ax-relative ax-border-e ax-px-4 ax-py-2\">\n <div class=\"ax-overflow-auto ax-h-[calc(100vh-180px)]\">\n <span class=\"ax-font-bold ax-text-xl\">{{ 'designer.modules' | translate | async }}</span>\n <div class=\"ax-flex ax-flex-col ax-gap-2 ax-mt-4\">\n @if(modules().length){\n <ax-collapse-group [accordion]=\"false\" look=\"blank\">\n @for(m of modules();track $index){\n <ax-collapse class=\"ctx\" icon=\"fas fa-folder ax-text-warning\" [isCollapsed]=\"true\" [caption]=\"m.title\"\n look=\"none\" data-elementType=\"module\" [attr.data-moduleId]=\"m.id\" data-entityType=\"module\">\n <div class=\"ax-mx-3\">\n <ax-collapse-group [accordion]=\"false\" look=\"blank\">\n <ax-collapse class=\"ctx\" icon=\"fas fa-box ax-text-neutral-400\" [isCollapsed]=\"true\"\n (onClick)=\"handleCollapseItemClick(m.id, $event, 'entity')\"\n [caption]=\"('designer.entities' | translate | async) ?? 'Entities'\" look=\"none\"\n data-elementType=\"subModule\" [attr.data-moduleId]=\"m.id\" data-entityType=\"entity\">\n <ng-container [ngTemplateOutlet]=\"childTemplate\" [ngTemplateOutletContext]=\"{\n $implicit: { type: 'entity', items: getEntities(m.id), moduleId: m.id }\n }\"></ng-container>\n </ax-collapse>\n\n <ax-collapse class=\"ctx\" icon=\"fas fa-star ax-text-neutral-400\" [isCollapsed]=\"true\"\n (onClick)=\"handleCollapseItemClick(m.id, $event, 'feature')\"\n [caption]=\"('designer.features' | translate | async) ?? 'Features'\" look=\"none\"\n data-elementType=\"subModule\" [attr.data-moduleId]=\"m.id\" data-entityType=\"feature\">\n <ng-container [ngTemplateOutlet]=\"childTemplate\" [ngTemplateOutletContext]=\"{\n $implicit: { type: 'feature', items: getFeatures(m.id), moduleId: m.id }\n }\"></ng-container>\n </ax-collapse>\n\n <ax-collapse class=\"ctx\" icon=\"fas fa-key ax-text-neutral-400\" [isCollapsed]=\"true\"\n (onClick)=\"handleCollapseItemClick(m.id, $event, 'permission')\"\n [caption]=\"('designer.permissions' | translate | async) ?? 'Permissions'\" look=\"none\"\n data-elementType=\"subModule\" [attr.data-moduleId]=\"m.id\" data-entityType=\"permission\">\n <ng-container [ngTemplateOutlet]=\"childTemplate\" [ngTemplateOutletContext]=\"{\n $implicit: { type: 'permission', items: getPermissions(m.id), moduleId: m.id }\n }\"></ng-container>\n </ax-collapse>\n </ax-collapse-group>\n </div>\n </ax-collapse>\n }\n </ax-collapse-group>\n } @else {\n <div class=\"ax-h-full ax-flex ax-items-center ax-justify-center\">\n <span class=\"ax-text-neutral-500 ax-text-sm\">{{ 'designer.emptyModulesText' | translate | async }}</span>\n </div>\n }\n </div>\n <ax-button class=\"ax-absolute ax-bottom-4 ax-w-72\"\n [text]=\"('designer.createModule' | translate | async) ?? 'Create New Module'\" (onClick)=\"createModule()\"\n look=\"solid\" color=\"primary\">\n <ax-icon class=\"fas fa-plus\"> </ax-icon>\n </ax-button>\n </div>\n </ax-content>\n\n <ng-template #childTemplate let-child>\n <div class=\"ax-flex ax-flex-col ax-cursor-pointer ax-select-none ax-border-s ax-ms-[14px] ax-ps-2\">\n @for (item of child.items; track $index) {\n\n <div #d (click)=\"contextMenuService.showDetails(child.type, item.id)\"\n class=\"ctx ax-px-2 ax-py-1 ax-flex ax-items-center ax-justify-between hover:ax-bg-neutral-100 dark:hover:ax-bg-neutral-700 hover:ax-rounded-md\"\n data-elementType=\"subModuleItem\">\n {{ assignData(d, { record: item, entityType: child.type, moduleId: child.moduleId }) }}\n <span>{{ item.title }}</span>\n <ax-badge [look]=\"'twotone'\" [color]=\"item.isArchived ? 'danger' : 'success'\"\n [text]=\"item.isArchived ? 'Off' : 'On'\">\n </ax-badge>\n </div>\n }\n </div>\n </ng-template>\n </ax-drawer>\n <ax-content>\n <router-outlet></router-outlet>\n </ax-content>\n</ax-drawer-container>\n\n<ax-context-menu #contextMenu (onItemClick)=\"handleActionClick($event)\" [items]=\"[]\" [target]=\"'.ctx'\"\n [orientation]=\"'vertical'\" [closeOn]=\"'leave'\" (onOpening)=\"openingContextMenu($event)\">\n</ax-context-menu>", styles: [".ax-collapse-header{padding:.25rem .5rem!important}.ax-collapse-header:hover{border-radius:.375rem;--tw-bg-opacity: 1;background-color:rgb(245 245 245 / var(--tw-bg-opacity, 1))}.ax-collapse-header:hover:is(.ax-dark *){--tw-bg-opacity: 1;background-color:rgb(64 64 64 / var(--tw-bg-opacity, 1))}.ax-collapse-body-content{padding:.25rem!important;padding-inline-start:0!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: AXDrawerModule }, { kind: "component", type: i2.AXDrawerComponent, selector: "ax-drawer", inputs: ["location", "showBackdrop", "mode", "closeOthers", "collapsed"], outputs: ["locationChange", "modeChange", "collapsedChange"] }, { kind: "component", type: i2.AXDrawerContainerComponent, selector: "ax-drawer-container" }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i6.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: AXDecoratorModule }, { kind: "component", type: i2$1.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i2$1.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "pipe", type: i8.AXTranslatorPipe, name: "translate" }, { kind: "ngmodule", type: AXSideMenuModule }, { kind: "ngmodule", type: AXCollapseModule }, { kind: "component", type: i6$1.AXCollapseComponent, selector: "ax-collapse", inputs: ["disabled", "look", "isCollapsed", "showHeader", "caption", "icon", "isLoading", "headerTemplate"], outputs: ["onClick", "isCollapsedChange"] }, { kind: "component", type: i6$1.AXCollapseGroupComponent, selector: "ax-collapse-group", inputs: ["look", "accordion", "activeIndex"], outputs: ["accordionChange", "activeIndexChange"] }, { kind: "ngmodule", type: AXPopoverModule }, { kind: "ngmodule", type: AXSelectionListModule }, { kind: "ngmodule", type: AXBadgeModule }, { kind: "component", type: i7.AXBadgeComponent, selector: "ax-badge", inputs: ["color", "look", "text"] }, { kind: "ngmodule", type: AXMenuModule }, { kind: "component", type: i8$1.AXContextMenuComponent, selector: "ax-context-menu", inputs: ["orientation", "openOn", "closeOn", "items", "target"], outputs: ["onItemClick", "onOpening"] }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i2$2.RouterOutlet, selector: "router-outlet", inputs: ["name", "routerOutletData"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
295
295
|
}
|
296
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.
|
296
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: AXMModuleDesignerComponent, decorators: [{
|
297
297
|
type: Component,
|
298
298
|
args: [{ encapsulation: ViewEncapsulation.None, imports: [
|
299
299
|
CommonModule,
|
@@ -312,4 +312,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
|
|
312
312
|
}], ctorParameters: () => [] });
|
313
313
|
|
314
314
|
export { AXMModuleDesignerComponent };
|
315
|
-
//# sourceMappingURL=acorex-modules-application-management-module-designer.component-
|
315
|
+
//# sourceMappingURL=acorex-modules-application-management-module-designer.component-BvuZJdwg.mjs.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"acorex-modules-application-management-module-designer.component-BErRgx0w.mjs","sources":["../tmp-esm2022/application-management/lib/services/context-menu.service.js","../tmp-esm2022/application-management/lib/module-designer/module-designer.component.js"],"sourcesContent":["import { AXPWorkflowService } from '@acorex/platform/workflow';\nimport { inject, Injectable, signal } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class AXMModuleDesignerContextMenuService {\n constructor() {\n this.workflow = inject(AXPWorkflowService);\n this.copiedRecord = signal(null);\n this.elementData = signal(null);\n this.menuItems = [\n {\n name: 'create',\n text: 'Create',\n icon: 'fas fa-plus',\n color: 'primary',\n },\n {\n name: 'delete',\n text: 'Delete',\n icon: 'fas fa-trash',\n color: 'danger',\n },\n {\n name: 'details',\n text: 'Details',\n icon: 'fas fa-eye',\n color: 'default',\n },\n {\n name: 'copy',\n text: 'Copy',\n icon: 'fas fa-copy',\n color: 'default',\n },\n {\n name: 'paste',\n text: 'Paste',\n icon: 'fas fa-paste',\n color: 'default',\n disabled: false,\n },\n ];\n }\n open(e) {\n const target = e.targetElement;\n const elementType = target?.getAttribute('data-elementType');\n const { data } = target;\n if (elementType == 'module' || elementType == 'subModule') {\n const moduleId = target?.getAttribute('data-moduleId');\n const entityType = target?.getAttribute('data-entityType');\n if (elementType == 'module') {\n this.elementData.set({\n entityType,\n moduleId: moduleId,\n record: {\n id: moduleId,\n },\n });\n e.items = this.getMenuItems(['details', 'delete']);\n }\n else {\n this.elementData.set({\n entityType,\n moduleId: moduleId,\n record: undefined,\n });\n const items = this.getMenuItems(['create', 'paste']);\n const customMenuItems = items.map((i) => i.name == 'paste' ? { ...i, disabled: entityType == this.copiedRecord()?.type ? false : true } : i);\n e.items = customMenuItems;\n }\n }\n else if (elementType == 'subModuleItem') {\n this.elementData.set(data);\n e.items = this.getMenuItems(['delete', 'copy', 'details']);\n }\n else {\n e.items = [];\n e.canceled = true;\n }\n }\n itemClick(e) {\n if (this.elementData()) {\n switch (e.item.name) {\n case 'create':\n this.createEntity(this.elementData()?.entityType, this.elementData()?.moduleId);\n break;\n case 'details':\n this.showDetails(this.elementData()?.entityType, this.elementData()?.record.id);\n break;\n case 'delete':\n this.deleteEntity(this.elementData()?.entityType, this.elementData()?.record.id, this.elementData()?.moduleId);\n break;\n case 'copy':\n this.copyRecord(this.elementData()?.entityType, this.elementData()?.record);\n break;\n case 'paste':\n this.pasteRecord(this.elementData()?.moduleId);\n break;\n default:\n break;\n }\n }\n }\n async createEntity(entityType, moduleId) {\n await this.workflow.execute('create-module-entity', {\n entity: `application-management.${entityType}`,\n data: {\n moduleId,\n },\n meta: {\n type: entityType,\n moduleId,\n },\n });\n }\n async showDetails(entityType, id) {\n await this.workflow.execute('show-module-entity-details', {\n entity: `application-management.${entityType}`,\n data: {\n id,\n },\n });\n }\n copyRecord(entityType, record) {\n const newRecord = { ...record, moduleId: undefined, id: undefined };\n this.copiedRecord.set({ type: entityType, record: newRecord });\n }\n async pasteRecord(moduleId) {\n if (this.copiedRecord()) {\n await this.workflow.execute('create-module-entity', {\n entity: `application-management.${this.copiedRecord()?.type}`,\n data: {\n ...this.copiedRecord()?.record,\n moduleId,\n },\n meta: {\n type: this.copiedRecord()?.type,\n moduleId,\n },\n });\n }\n }\n async deleteEntity(entityType, id, moduleId) {\n await this.workflow.execute('delete-entity', {\n entity: `application-management.${entityType}`,\n data: {\n id,\n },\n meta: {\n moduleId,\n type: entityType,\n },\n });\n }\n getMenuItems(includeItems) {\n return this.menuItems.filter((i) => includeItems.includes(i.name));\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.6\", ngImport: i0, type: AXMModuleDesignerContextMenuService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.6\", ngImport: i0, type: AXMModuleDesignerContextMenuService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.6\", ngImport: i0, type: AXMModuleDesignerContextMenuService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1tZW51LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvYXBwbGljYXRpb24tbWFuYWdlbWVudC9zcmMvbGliL3NlcnZpY2VzL2NvbnRleHQtbWVudS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFNM0QsTUFBTSxPQUFPLG1DQUFtQztJQUhoRDtRQUlVLGFBQVEsR0FBRyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUNwQyxpQkFBWSxHQUFHLE1BQU0sQ0FBOEMsSUFBSSxDQUFDLENBQUM7UUFDekUsZ0JBQVcsR0FBRyxNQUFNLENBQXNFLElBQUksQ0FBQyxDQUFDO1FBRWxHLGNBQVMsR0FBaUI7WUFDaEM7Z0JBQ0UsSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsSUFBSSxFQUFFLGFBQWE7Z0JBQ25CLEtBQUssRUFBRSxTQUFTO2FBQ2pCO1lBQ0Q7Z0JBQ0UsSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsSUFBSSxFQUFFLGNBQWM7Z0JBQ3BCLEtBQUssRUFBRSxRQUFRO2FBQ2hCO1lBQ0Q7Z0JBQ0UsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsSUFBSSxFQUFFLFlBQVk7Z0JBQ2xCLEtBQUssRUFBRSxTQUFTO2FBQ2pCO1lBQ0Q7Z0JBQ0UsSUFBSSxFQUFFLE1BQU07Z0JBQ1osSUFBSSxFQUFFLE1BQU07Z0JBQ1osSUFBSSxFQUFFLGFBQWE7Z0JBQ25CLEtBQUssRUFBRSxTQUFTO2FBQ2pCO1lBQ0Q7Z0JBQ0UsSUFBSSxFQUFFLE9BQU87Z0JBQ2IsSUFBSSxF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QyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFjLENBQUMsQ0FBQyxDQUFDO0lBQy9FLENBQUM7OEdBektVLG1DQUFtQztrSEFBbkMsbUNBQW1DLGNBRmxDLE1BQU07OzJGQUVQLG1DQUFtQztrQkFIL0MsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWENvbnRleHRNZW51SXRlbXNDbGlja0V2ZW50LCBBWENvbnRleHRNZW51T3BlbmluZ0V2ZW50LCBBWE1lbnVJdGVtIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL21lbnUnO1xuaW1wb3J0IHsgQVhQV29ya2Zsb3dTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS93b3JrZmxvdyc7XG5pbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhNTW9kdWxlSXRlbSB9IGZyb20gJy4uL21vZHVsZS1kZXNpZ25lci9tb2R1bGUtZGVzaWduZXIudHlwZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBBWE1Nb2R1bGVEZXNpZ25lckNvbnRleHRNZW51U2VydmljZSB7XG4gIHByaXZhdGUgd29ya2Zsb3cgPSBpbmplY3QoQVhQV29ya2Zsb3dTZXJ2aWNlKTtcbiAgcHJvdGVjdGVkIGNvcGllZFJlY29yZCA9IHNpZ25hbDx7IHR5cGU6IEFYTU1vZHVsZUl0ZW07IHJlY29yZDogYW55IH0gfCBudWxsPihudWxsKTtcbiAgcHJvdGVjdGVkIGVsZW1lbnREYXRhID0gc2lnbmFsPHsgZW50aXR5VHlwZTogQVhNTW9kdWxlSXRlbTsgcmVjb3JkOiBhbnk7IG1vZHVsZUlkOiBzdHJpbmcgfSB8IG51bGw+KG51bGwpO1xuXG4gIHByaXZhdGUgbWVudUl0ZW1zOiBBWE1lbnVJdGVtW10gPSBbXG4gICAge1xuICAgICAgbmFtZTogJ2NyZWF0ZScsXG4gICAgICB0ZXh0OiAnQ3JlYXRlJyxcbiAgICAgIGljb246ICdmYXMgZmEtcGx1cycsXG4gICAgICBjb2xvcjogJ3ByaW1hcnknLFxuICAgIH0sXG4gICAge1xuICAgICAgbmFtZTogJ2RlbGV0ZScsXG4gICAgICB0ZXh0OiAnRGVsZXRlJyxcbiAgICAgIGljb246ICdmYXMgZmEtdHJhc2gnLFxuICAgICAgY29sb3I6ICdkYW5nZXInLFxuICAgIH0sXG4gICAge1xuICAgICAgbmFtZTogJ2RldGFpbHMnLFxuICAgICAgdGV4dDogJ0RldGFpbHMnLFxuICAgICAgaWNvbjogJ2ZhcyBmYS1leWUnLFxuICAgICAgY29sb3I6ICdkZWZhdWx0JyxcbiAgICB9LFxuICAgIHtcbiAgICAgIG5hbWU6ICdjb3B5JyxcbiAgICAgIHRleHQ6ICdDb3B5JyxcbiAgICAgIGljb246ICdmYXMgZmEtY29weScsXG4gICAgICBjb2xvcjogJ2RlZmF1bHQnLFxuICAgIH0sXG4gICAge1xuICAgICAgbmFtZTogJ3Bhc3RlJyxcbiAgICAgIHRleHQ6ICdQYXN0ZScsXG4gICAgICBpY29uOiAnZmFzIGZhLXBhc3RlJyxcbiAgICAgIGNvbG9yOiAnZGVmYXVsdCcsXG4gICAgICBkaXNhYmxlZDogZmFsc2UsXG4gICAgfSxcbiAgXTtcblxuICBvcGVuKGU6IEFYQ29udGV4dE1lbnVPcGVuaW5nRXZlbnQpIHtcbiAgICBjb25zdCB0YXJnZXQgPSBlLnRhcmdldEVsZW1lbnQ7XG4gICAgY29uc3QgZWxlbWVudFR5cGUgPSB0YXJnZXQ/LmdldEF0dHJpYnV0ZSgnZGF0YS1lbGVtZW50VHlwZScpO1xuXG4gICAgY29uc3QgeyBkYXRhIH0gPSB0YXJnZXQgYXMgYW55O1xuXG4gICAgaWYgKGVsZW1lbnRUeXBlID09ICdtb2R1bGUnIHx8IGVsZW1lbnRUeXBlID09ICdzdWJNb2R1bGUnKSB7XG4gICAgICBjb25zdCBtb2R1bGVJZCA9IHRhcmdldD8uZ2V0QXR0cmlidXRlKCdkYXRhLW1vZHVsZUlkJyk7XG4gICAgICBjb25zdCBlbnRpdHlUeXBlID0gdGFyZ2V0Py5nZXRBdHRyaWJ1dGUoJ2RhdGEtZW50aXR5VHlwZScpIGFzIEFYTU1vZHVsZUl0ZW07XG4gICAgICBpZiAoZWxlbWVudFR5cGUgPT0gJ21vZHVsZScpIHtcbiAgICAgICAgdGhpcy5lbGVtZW50RGF0YS5zZXQoe1xuICAgICAgICAgIGVudGl0eVR5cGUsXG4gICAgICAgICAgbW9kdWxlSWQ6IG1vZHVsZUlkIGFzIHN0cmluZyxcbiAgICAgICAgICByZWNvcmQ6IHtcbiAgICAgICAgICAgIGlkOiBtb2R1bGVJZCxcbiAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICAgICAgZS5pdGVtcyA9IHRoaXMuZ2V0TWVudUl0ZW1zKFsnZGV0YWlscycsICdkZWxldGUnXSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmVsZW1lbnREYXRhLnNldCh7XG4gICAgICAgICAgZW50aXR5VHlwZSxcbiAgICAgICAgICBtb2R1bGVJZDogbW9kdWxlSWQgYXMgc3RyaW5nLFxuICAgICAgICAgIHJlY29yZDogdW5kZWZpbmVkLFxuICAgICAgICB9KTtcbiAgICAgICAgY29uc3QgaXRlbXMgPSB0aGlzLmdldE1lbnVJdGVtcyhbJ2NyZWF0ZScsICdwYXN0ZSddKTtcbiAgICAgICAgY29uc3QgY3VzdG9tTWVudUl0ZW1zID0gaXRlbXMubWFwKChpKSA9PlxuICAgICAgICAgIGkubmFtZSA9PSAncGFzdGUnID8geyAuLi5pLCBkaXNhYmxlZDogZW50aXR5VHlwZSA9PSB0aGlzLmNvcGllZFJlY29yZCgpPy50eXBlID8gZmFsc2UgOiB0cnVlIH0gOiBpXG4gICAgICAgICk7XG4gICAgICAgIGUuaXRlbXMgPSBjdXN0b21NZW51SXRlbXM7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChlbGVtZW50VHlwZSA9PSAnc3ViTW9kdWxlSXRlbScpIHtcbiAgICAgIHRoaXMuZWxlbWVudERhdGEuc2V0KGRhdGEpO1xuICAgICAgZS5pdGVtcyA9IHRoaXMuZ2V0TWVudUl0ZW1zKFsnZGVsZXRlJywgJ2NvcHknLCAnZGV0YWlscyddKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZS5pdGVtcyA9IFtdO1xuICAgICAgZS5jYW5jZWxlZCA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgaXRlbUNsaWNrKGU6IEFYQ29udGV4dE1lbnVJdGVtc0NsaWNrRXZlbnQpIHtcbiAgICBpZiAodGhpcy5lbGVtZW50RGF0YSgpKSB7XG4gICAgICBzd2l0Y2ggKGUuaXRlbS5uYW1lKSB7XG4gICAgICAgIGNhc2UgJ2NyZWF0ZSc6XG4gICAgICAgICAgdGhpcy5jcmVhdGVFbnRpdHkodGhpcy5lbGVtZW50RGF0YSgpPy5lbnRpdHlUeXBlIGFzIEFYTU1vZHVsZUl0ZW0sIHRoaXMuZWxlbWVudERhdGEoKT8ubW9kdWxlSWQpO1xuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIGNhc2UgJ2RldGFpbHMnOlxuICAgICAgICAgIHRoaXMuc2hvd0RldGFpbHModGhpcy5lbGVtZW50RGF0YSgpPy5lbnRpdHlUeXBlIGFzIEFYTU1vZHVsZUl0ZW0gfCAnbW9kdWxlJywgdGhpcy5lbGVtZW50RGF0YSgpPy5yZWNvcmQuaWQpO1xuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIGNhc2UgJ2RlbGV0ZSc6XG4gICAgICAgICAgdGhpcy5kZWxldGVFbnRpdHkoXG4gICAgICAgICAgICB0aGlzLmVsZW1lbnREYXRhKCk/LmVudGl0eVR5cGUgYXMgQVhNTW9kdWxlSXRlbSB8ICdtb2R1bGUnLFxuICAgICAgICAgICAgdGhpcy5lbGVtZW50RGF0YSgpPy5yZWNvcmQuaWQsXG4gICAgICAgICAgICB0aGlzLmVsZW1lbnREYXRhKCk/Lm1vZHVsZUlkXG4gICAgICAgICAgKTtcbiAgICAgICAgICBicmVhaztcblxuICAgICAgICBjYXNlICdjb3B5JzpcbiAgICAgICAgICB0aGlzLmNvcHlSZWNvcmQodGhpcy5lbGVtZW50RGF0YSgpPy5lbnRpdHlUeXBlIGFzIEFYTU1vZHVsZUl0ZW0sIHRoaXMuZWxlbWVudERhdGEoKT8ucmVjb3JkKTtcbiAgICAgICAgICBicmVhaztcblxuICAgICAgICBjYXNlICdwYXN0ZSc6XG4gICAgICAgICAgdGhpcy5wYXN0ZVJlY29yZCh0aGlzLmVsZW1lbnREYXRhKCk/Lm1vZHVsZUlkIGFzIHN0cmluZyk7XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBhc3luYyBjcmVhdGVFbnRpdHkoZW50aXR5VHlwZTogJ21vZHVsZScgfCBBWE1Nb2R1bGVJdGVtLCBtb2R1bGVJZD86IHN0cmluZykge1xuICAgIGF3YWl0IHRoaXMud29ya2Zsb3cuZXhlY3V0ZSgnY3JlYXRlLW1vZHVsZS1lbnRpdHknLCB7XG4gICAgICBlbnRpdHk6IGBhcHBsaWNhdGlvbi1tYW5hZ2VtZW50LiR7ZW50aXR5VHlwZX1gLFxuICAgICAgZGF0YToge1xuICAgICAgICBtb2R1bGVJZCxcbiAgICAgIH0sXG4gICAgICBtZXRhOiB7XG4gICAgICAgIHR5cGU6IGVudGl0eVR5cGUsXG4gICAgICAgIG1vZHVsZUlkLFxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIGFzeW5jIHNob3dEZXRhaWxzKGVudGl0eVR5cGU6ICdtb2R1bGUnIHwgQVhNTW9kdWxlSXRlbSwgaWQ6IHN0cmluZykge1xuICAgIGF3YWl0IHRoaXMud29ya2Zsb3cuZXhlY3V0ZSgnc2hvdy1tb2R1bGUtZW50aXR5LWRldGFpbHMnLCB7XG4gICAgICBlbnRpdHk6IGBhcHBsaWNhdGlvbi1tYW5hZ2VtZW50LiR7ZW50aXR5VHlwZX1gLFxuICAgICAgZGF0YToge1xuICAgICAgICBpZCxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGNvcHlSZWNvcmQoZW50aXR5VHlwZTogQVhNTW9kdWxlSXRlbSwgcmVjb3JkOiBhbnkpIHtcbiAgICBjb25zdCBuZXdSZWNvcmQgPSB7IC4uLnJlY29yZCwgbW9kdWxlSWQ6IHVuZGVmaW5lZCwgaWQ6IHVuZGVmaW5lZCB9O1xuICAgIHRoaXMuY29waWVkUmVjb3JkLnNldCh7IHR5cGU6IGVudGl0eVR5cGUsIHJlY29yZDogbmV3UmVjb3JkIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBwYXN0ZVJlY29yZChtb2R1bGVJZDogc3RyaW5nKSB7XG4gICAgaWYgKHRoaXMuY29waWVkUmVjb3JkKCkpIHtcbiAgICAgIGF3YWl0IHRoaXMud29ya2Zsb3cuZXhlY3V0ZSgnY3JlYXRlLW1vZHVsZS1lbnRpdHknLCB7XG4gICAgICAgIGVudGl0eTogYGFwcGxpY2F0aW9uLW1hbmFnZW1lbnQuJHt0aGlzLmNvcGllZFJlY29yZCgpPy50eXBlfWAsXG4gICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAuLi50aGlzLmNvcGllZFJlY29yZCgpPy5yZWNvcmQsXG4gICAgICAgICAgbW9kdWxlSWQsXG4gICAgICAgIH0sXG4gICAgICAgIG1ldGE6IHtcbiAgICAgICAgICB0eXBlOiB0aGlzLmNvcGllZFJlY29yZCgpPy50eXBlLFxuICAgICAgICAgIG1vZHVsZUlkLFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBkZWxldGVFbnRpdHkoZW50aXR5VHlwZTogJ21vZHVsZScgfCBBWE1Nb2R1bGVJdGVtLCBpZDogc3RyaW5nW10gfCBzdHJpbmcsIG1vZHVsZUlkPzogc3RyaW5nKSB7XG4gICAgYXdhaXQgdGhpcy53b3JrZmxvdy5leGVjdXRlKCdkZWxldGUtZW50aXR5Jywge1xuICAgICAgZW50aXR5OiBgYXBwbGljYXRpb24tbWFuYWdlbWVudC4ke2VudGl0eVR5cGV9YCxcbiAgICAgIGRhdGE6IHtcbiAgICAgICAgaWQsXG4gICAgICB9LFxuICAgICAgbWV0YToge1xuICAgICAgICBtb2R1bGVJZCxcbiAgICAgICAgdHlwZTogZW50aXR5VHlwZSxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGdldE1lbnVJdGVtcyhpbmNsdWRlSXRlbXM6IHN0cmluZ1tdKSB7XG4gICAgcmV0dXJuIHRoaXMubWVudUl0ZW1zLmZpbHRlcigoaSkgPT4gaW5jbHVkZUl0ZW1zLmluY2x1ZGVzKGkubmFtZSBhcyBzdHJpbmcpKTtcbiAgfVxufVxuIl19","import { AXBadgeModule } from '@acorex/components/badge';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXCollapseModule } from '@acorex/components/collapse';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXDrawerModule } from '@acorex/components/drawer';\nimport { AXMenuModule, } from '@acorex/components/menu';\nimport { AXPopoverModule } from '@acorex/components/popover';\nimport { AXSelectionListModule } from '@acorex/components/selection-list';\nimport { AXSideMenuModule } from '@acorex/components/side-menu';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPEntityCreateEvent, AXPEntityDeletedEvent } from '@acorex/platform/layout/entity';\nimport { AXPWorkflowService, ofType } from '@acorex/platform/workflow';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, inject, signal, viewChild, ViewEncapsulation, } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { set } from 'lodash-es';\nimport { Subject, takeUntil } from 'rxjs';\nimport { AXMModuleDesignerContextMenuService } from '../services/context-menu.service';\nimport { AXPModuleDesignerService } from './module-designer.service';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/common\";\nimport * as i2 from \"@acorex/components/drawer\";\nimport * as i3 from \"@acorex/components/button\";\nimport * as i4 from \"@acorex/components/decorators\";\nimport * as i5 from \"@acorex/core/translation\";\nimport * as i6 from \"@acorex/components/collapse\";\nimport * as i7 from \"@acorex/components/badge\";\nimport * as i8 from \"@acorex/components/menu\";\nimport * as i9 from \"@angular/router\";\nexport class AXMModuleDesignerComponent {\n constructor() {\n this.cdr = inject(ChangeDetectorRef);\n this.contextMenu = viewChild('contextMenu');\n this.dataProvider = inject(AXPModuleDesignerService);\n this.workflow = inject(AXPWorkflowService);\n this.contextMenuService = inject(AXMModuleDesignerContextMenuService);\n this.modules = signal([]);\n this.moduleDataCache = new Map();\n this.destroyed = new Subject();\n this.subscribeActionEvents();\n }\n ngOnInit() {\n this.loadModules();\n }\n subscribeActionEvents() {\n this.workflow.events$\n .pipe(ofType(AXPEntityDeletedEvent, AXPEntityCreateEvent))\n .pipe(takeUntil(this.destroyed))\n .subscribe((event) => {\n const { meta } = event.payload;\n if (meta.type === 'module') {\n this.loadModules();\n }\n else {\n this.loadModuleData(meta.moduleId, meta.type, true);\n }\n this.cdr.markForCheck();\n });\n }\n async loadModules() {\n try {\n const modules = await this.dataProvider.getModules();\n this.modules.set(modules.items);\n this.refreshContextMenu();\n }\n catch (error) {\n console.error('Error loading modules:', error);\n }\n }\n async handleCollapseItemClick(moduleId, e, dataType) {\n if (e.component.isCollapsed) {\n e.handled = true;\n e.component.isLoading = true;\n await this.loadModuleData(moduleId, dataType);\n e.component.toggle();\n e.component.isLoading = false;\n e.component['cdr'].markForCheck();\n this.refreshContextMenu();\n }\n }\n refreshContextMenu() {\n setTimeout(() => {\n this.contextMenu()?.refresh();\n }, 0);\n }\n async loadModuleData(moduleId, dataType, hardReload = false) {\n const cacheKey = `${moduleId}-${dataType}`;\n let dataItems = this.moduleDataCache.get(cacheKey);\n // if (!dataItems || hardReload) {\n try {\n const methodMap = {\n entity: this.dataProvider.getEntities,\n permission: this.dataProvider.getPermissions,\n feature: this.dataProvider.getFeatures,\n };\n const data = await methodMap[dataType].call(this.dataProvider, moduleId);\n dataItems = data.items;\n this.moduleDataCache.set(cacheKey, dataItems);\n }\n catch (error) {\n console.error(`Error loading ${dataType}:`, error);\n }\n // }\n }\n getEntities(moduleId) {\n return this.moduleDataCache.get(`${moduleId}-entity`) || [];\n }\n getPermissions(moduleId) {\n return this.moduleDataCache.get(`${moduleId}-permission`) || [];\n }\n getFeatures(moduleId) {\n return this.moduleDataCache.get(`${moduleId}-feature`) || [];\n }\n openingContextMenu(e) {\n this.contextMenuService.open(e);\n }\n handleActionClick(e) {\n this.contextMenuService.itemClick(e);\n }\n createModule() {\n this.contextMenuService.createEntity('module');\n }\n destroy() {\n this.destroyed.next();\n this.destroyed.complete();\n }\n assignData(target, data) {\n set(target, 'data', data);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.6\", ngImport: i0, type: AXMModuleDesignerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.0.6\", type: AXMModuleDesignerComponent, isStandalone: true, selector: \"ng-component\", viewQueries: [{ propertyName: \"contextMenu\", first: true, predicate: [\"contextMenu\"], descendants: true, isSignal: true }], ngImport: i0, template: \"<ax-drawer-container class=\\\"ax-overflow-hidden\\\">\\n <ax-drawer #drawer location=\\\"start\\\" [collapsed]=\\\"false\\\" [mode]=\\\"'push'\\\">\\n <ax-content class=\\\" ax-w-80 ax-relative ax-border-e ax-px-4 ax-py-2\\\">\\n <div class=\\\"ax-overflow-auto ax-h-[calc(100vh-180px)]\\\">\\n <span class=\\\"ax-font-bold ax-text-xl\\\">{{ 'designer.modules' | translate | async }}</span>\\n <div class=\\\"ax-flex ax-flex-col ax-gap-2 ax-mt-4\\\">\\n @if(modules().length){\\n <ax-collapse-group [accordion]=\\\"false\\\" look=\\\"blank\\\">\\n @for(m of modules();track $index){\\n <ax-collapse class=\\\"ctx\\\" icon=\\\"fas fa-folder ax-text-warning\\\" [isCollapsed]=\\\"true\\\" [caption]=\\\"m.title\\\"\\n look=\\\"none\\\" data-elementType=\\\"module\\\" [attr.data-moduleId]=\\\"m.id\\\" data-entityType=\\\"module\\\">\\n <div class=\\\"ax-mx-3\\\">\\n <ax-collapse-group [accordion]=\\\"false\\\" look=\\\"blank\\\">\\n <ax-collapse class=\\\"ctx\\\" icon=\\\"fas fa-box ax-text-neutral-400\\\" [isCollapsed]=\\\"true\\\"\\n (onClick)=\\\"handleCollapseItemClick(m.id, $event, 'entity')\\\"\\n [caption]=\\\"('designer.entities' | translate | async) ?? 'Entities'\\\" look=\\\"none\\\"\\n data-elementType=\\\"subModule\\\" [attr.data-moduleId]=\\\"m.id\\\" data-entityType=\\\"entity\\\">\\n <ng-container [ngTemplateOutlet]=\\\"childTemplate\\\" [ngTemplateOutletContext]=\\\"{\\n $implicit: { type: 'entity', items: getEntities(m.id), moduleId: m.id }\\n }\\\"></ng-container>\\n </ax-collapse>\\n\\n <ax-collapse class=\\\"ctx\\\" icon=\\\"fas fa-star ax-text-neutral-400\\\" [isCollapsed]=\\\"true\\\"\\n (onClick)=\\\"handleCollapseItemClick(m.id, $event, 'feature')\\\"\\n [caption]=\\\"('designer.features' | translate | async) ?? 'Features'\\\" look=\\\"none\\\"\\n data-elementType=\\\"subModule\\\" [attr.data-moduleId]=\\\"m.id\\\" data-entityType=\\\"feature\\\">\\n <ng-container [ngTemplateOutlet]=\\\"childTemplate\\\" [ngTemplateOutletContext]=\\\"{\\n $implicit: { type: 'feature', items: getFeatures(m.id), moduleId: m.id }\\n }\\\"></ng-container>\\n </ax-collapse>\\n\\n <ax-collapse class=\\\"ctx\\\" icon=\\\"fas fa-key ax-text-neutral-400\\\" [isCollapsed]=\\\"true\\\"\\n (onClick)=\\\"handleCollapseItemClick(m.id, $event, 'permission')\\\"\\n [caption]=\\\"('designer.permissions' | translate | async) ?? 'Permissions'\\\" look=\\\"none\\\"\\n data-elementType=\\\"subModule\\\" [attr.data-moduleId]=\\\"m.id\\\" data-entityType=\\\"permission\\\">\\n <ng-container [ngTemplateOutlet]=\\\"childTemplate\\\" [ngTemplateOutletContext]=\\\"{\\n $implicit: { type: 'permission', items: getPermissions(m.id), moduleId: m.id }\\n }\\\"></ng-container>\\n </ax-collapse>\\n </ax-collapse-group>\\n </div>\\n </ax-collapse>\\n }\\n </ax-collapse-group>\\n } @else {\\n <div class=\\\"ax-h-full ax-flex ax-items-center ax-justify-center\\\">\\n <span class=\\\"ax-text-neutral-500 ax-text-sm\\\">{{ 'designer.emptyModulesText' | translate | async }}</span>\\n </div>\\n }\\n </div>\\n <ax-button class=\\\"ax-absolute ax-bottom-4 ax-w-72\\\"\\n [text]=\\\"('designer.createModule' | translate | async) ?? 'Create New Module'\\\" (onClick)=\\\"createModule()\\\"\\n look=\\\"solid\\\" color=\\\"primary\\\">\\n <ax-icon class=\\\"fas fa-plus\\\"> </ax-icon>\\n </ax-button>\\n </div>\\n </ax-content>\\n\\n <ng-template #childTemplate let-child>\\n <div class=\\\"ax-flex ax-flex-col ax-cursor-pointer ax-select-none ax-border-s ax-ms-[14px] ax-ps-2\\\">\\n @for (item of child.items; track $index) {\\n\\n <div #d (click)=\\\"contextMenuService.showDetails(child.type, item.id)\\\"\\n class=\\\"ctx ax-px-2 ax-py-1 ax-flex ax-items-center ax-justify-between hover:ax-bg-neutral-100 dark:hover:ax-bg-neutral-700 hover:ax-rounded-md\\\"\\n data-elementType=\\\"subModuleItem\\\">\\n {{ assignData(d, { record: item, entityType: child.type, moduleId: child.moduleId }) }}\\n <span>{{ item.title }}</span>\\n <ax-badge [look]=\\\"'twotone'\\\" [color]=\\\"item.isArchived ? 'danger' : 'success'\\\"\\n [text]=\\\"item.isArchived ? 'Off' : 'On'\\\">\\n </ax-badge>\\n </div>\\n }\\n </div>\\n </ng-template>\\n </ax-drawer>\\n <ax-content>\\n <router-outlet></router-outlet>\\n </ax-content>\\n</ax-drawer-container>\\n\\n<ax-context-menu #contextMenu (onItemClick)=\\\"handleActionClick($event)\\\" [items]=\\\"[]\\\" [target]=\\\"'.ctx'\\\"\\n [orientation]=\\\"'vertical'\\\" [closeOn]=\\\"'leave'\\\" (onOpening)=\\\"openingContextMenu($event)\\\">\\n</ax-context-menu>\", styles: [\".ax-collapse-header{padding:.25rem .5rem!important}.ax-collapse-header:hover{border-radius:.375rem;--tw-bg-opacity: 1;background-color:rgb(245 245 245 / var(--tw-bg-opacity, 1))}.ax-collapse-header:hover:is(.ax-dark *){--tw-bg-opacity: 1;background-color:rgb(64 64 64 / var(--tw-bg-opacity, 1))}.ax-collapse-body-content{padding:.25rem!important;padding-inline-start:0!important}\\n\"], dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"directive\", type: i1.NgTemplateOutlet, selector: \"[ngTemplateOutlet]\", inputs: [\"ngTemplateOutletContext\", \"ngTemplateOutlet\", \"ngTemplateOutletInjector\"] }, { kind: \"pipe\", type: i1.AsyncPipe, name: \"async\" }, { kind: \"ngmodule\", type: AXDrawerModule }, { kind: \"component\", type: i2.AXDrawerComponent, selector: \"ax-drawer\", inputs: [\"location\", \"showBackdrop\", \"mode\", \"closeOthers\", \"collapsed\"], outputs: [\"locationChange\", \"modeChange\", \"collapsedChange\"] }, { kind: \"component\", type: i2.AXDrawerContainerComponent, selector: \"ax-drawer-container\" }, { kind: \"ngmodule\", type: AXButtonModule }, { kind: \"component\", type: i3.AXButtonComponent, selector: \"ax-button\", inputs: [\"disabled\", \"size\", \"tabIndex\", \"color\", \"look\", \"text\", \"toggleable\", \"selected\", \"iconOnly\", \"type\", \"loadingText\"], outputs: [\"onBlur\", \"onFocus\", \"onClick\", \"selectedChange\", \"toggleableChange\", \"lookChange\", \"colorChange\", \"disabledChange\", \"loadingTextChange\"] }, { kind: \"ngmodule\", type: AXDecoratorModule }, { kind: \"component\", type: i4.AXDecoratorIconComponent, selector: \"ax-icon\", 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: AXTranslationModule }, { kind: \"pipe\", type: i5.AXTranslatorPipe, name: \"translate\" }, { kind: \"ngmodule\", type: AXSideMenuModule }, { kind: \"ngmodule\", type: AXCollapseModule }, { kind: \"component\", type: i6.AXCollapseComponent, selector: \"ax-collapse\", inputs: [\"disabled\", \"look\", \"isCollapsed\", \"showHeader\", \"caption\", \"icon\", \"isLoading\", \"headerTemplate\"], outputs: [\"onClick\", \"isCollapsedChange\"] }, { kind: \"component\", type: i6.AXCollapseGroupComponent, selector: \"ax-collapse-group\", inputs: [\"look\", \"accordion\", \"activeIndex\"], outputs: [\"accordionChange\", \"activeIndexChange\"] }, { kind: \"ngmodule\", type: AXPopoverModule }, { kind: \"ngmodule\", type: AXSelectionListModule }, { kind: \"ngmodule\", type: AXBadgeModule }, { kind: \"component\", type: i7.AXBadgeComponent, selector: \"ax-badge\", inputs: [\"color\", \"look\", \"text\"] }, { kind: \"ngmodule\", type: AXMenuModule }, { kind: \"component\", type: i8.AXContextMenuComponent, selector: \"ax-context-menu\", inputs: [\"orientation\", \"openOn\", \"closeOn\", \"items\", \"target\"], outputs: [\"onItemClick\", \"onOpening\"] }, { kind: \"ngmodule\", type: RouterModule }, { kind: \"directive\", type: i9.RouterOutlet, selector: \"router-outlet\", inputs: [\"name\", \"routerOutletData\"], outputs: [\"activate\", \"deactivate\", \"attach\", \"detach\"], exportAs: [\"outlet\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.6\", ngImport: i0, type: AXMModuleDesignerComponent, decorators: [{\n type: Component,\n args: [{ encapsulation: ViewEncapsulation.None, imports: [\n CommonModule,\n AXDrawerModule,\n AXButtonModule,\n AXDecoratorModule,\n AXTranslationModule,\n AXSideMenuModule,\n AXCollapseModule,\n AXPopoverModule,\n AXSelectionListModule,\n AXBadgeModule,\n AXMenuModule,\n RouterModule,\n ], changeDetection: ChangeDetectionStrategy.OnPush, template: \"<ax-drawer-container class=\\\"ax-overflow-hidden\\\">\\n <ax-drawer #drawer location=\\\"start\\\" [collapsed]=\\\"false\\\" [mode]=\\\"'push'\\\">\\n <ax-content class=\\\" ax-w-80 ax-relative ax-border-e ax-px-4 ax-py-2\\\">\\n <div class=\\\"ax-overflow-auto ax-h-[calc(100vh-180px)]\\\">\\n <span class=\\\"ax-font-bold ax-text-xl\\\">{{ 'designer.modules' | translate | async }}</span>\\n <div class=\\\"ax-flex ax-flex-col ax-gap-2 ax-mt-4\\\">\\n @if(modules().length){\\n <ax-collapse-group [accordion]=\\\"false\\\" look=\\\"blank\\\">\\n @for(m of modules();track $index){\\n <ax-collapse class=\\\"ctx\\\" icon=\\\"fas fa-folder ax-text-warning\\\" [isCollapsed]=\\\"true\\\" [caption]=\\\"m.title\\\"\\n look=\\\"none\\\" data-elementType=\\\"module\\\" [attr.data-moduleId]=\\\"m.id\\\" data-entityType=\\\"module\\\">\\n <div class=\\\"ax-mx-3\\\">\\n <ax-collapse-group [accordion]=\\\"false\\\" look=\\\"blank\\\">\\n <ax-collapse class=\\\"ctx\\\" icon=\\\"fas fa-box ax-text-neutral-400\\\" [isCollapsed]=\\\"true\\\"\\n (onClick)=\\\"handleCollapseItemClick(m.id, $event, 'entity')\\\"\\n [caption]=\\\"('designer.entities' | translate | async) ?? 'Entities'\\\" look=\\\"none\\\"\\n data-elementType=\\\"subModule\\\" [attr.data-moduleId]=\\\"m.id\\\" data-entityType=\\\"entity\\\">\\n <ng-container [ngTemplateOutlet]=\\\"childTemplate\\\" [ngTemplateOutletContext]=\\\"{\\n $implicit: { type: 'entity', items: getEntities(m.id), moduleId: m.id }\\n }\\\"></ng-container>\\n </ax-collapse>\\n\\n <ax-collapse class=\\\"ctx\\\" icon=\\\"fas fa-star ax-text-neutral-400\\\" [isCollapsed]=\\\"true\\\"\\n (onClick)=\\\"handleCollapseItemClick(m.id, $event, 'feature')\\\"\\n [caption]=\\\"('designer.features' | translate | async) ?? 'Features'\\\" look=\\\"none\\\"\\n data-elementType=\\\"subModule\\\" [attr.data-moduleId]=\\\"m.id\\\" data-entityType=\\\"feature\\\">\\n <ng-container [ngTemplateOutlet]=\\\"childTemplate\\\" [ngTemplateOutletContext]=\\\"{\\n $implicit: { type: 'feature', items: getFeatures(m.id), moduleId: m.id }\\n }\\\"></ng-container>\\n </ax-collapse>\\n\\n <ax-collapse class=\\\"ctx\\\" icon=\\\"fas fa-key ax-text-neutral-400\\\" [isCollapsed]=\\\"true\\\"\\n (onClick)=\\\"handleCollapseItemClick(m.id, $event, 'permission')\\\"\\n [caption]=\\\"('designer.permissions' | translate | async) ?? 'Permissions'\\\" look=\\\"none\\\"\\n data-elementType=\\\"subModule\\\" [attr.data-moduleId]=\\\"m.id\\\" data-entityType=\\\"permission\\\">\\n <ng-container [ngTemplateOutlet]=\\\"childTemplate\\\" [ngTemplateOutletContext]=\\\"{\\n $implicit: { type: 'permission', items: getPermissions(m.id), moduleId: m.id }\\n }\\\"></ng-container>\\n </ax-collapse>\\n </ax-collapse-group>\\n </div>\\n </ax-collapse>\\n }\\n </ax-collapse-group>\\n } @else {\\n <div class=\\\"ax-h-full ax-flex ax-items-center ax-justify-center\\\">\\n <span class=\\\"ax-text-neutral-500 ax-text-sm\\\">{{ 'designer.emptyModulesText' | translate | async }}</span>\\n </div>\\n }\\n </div>\\n <ax-button class=\\\"ax-absolute ax-bottom-4 ax-w-72\\\"\\n [text]=\\\"('designer.createModule' | translate | async) ?? 'Create New Module'\\\" (onClick)=\\\"createModule()\\\"\\n look=\\\"solid\\\" color=\\\"primary\\\">\\n <ax-icon class=\\\"fas fa-plus\\\"> </ax-icon>\\n </ax-button>\\n </div>\\n </ax-content>\\n\\n <ng-template #childTemplate let-child>\\n <div class=\\\"ax-flex ax-flex-col ax-cursor-pointer ax-select-none ax-border-s ax-ms-[14px] ax-ps-2\\\">\\n @for (item of child.items; track $index) {\\n\\n <div #d (click)=\\\"contextMenuService.showDetails(child.type, item.id)\\\"\\n class=\\\"ctx ax-px-2 ax-py-1 ax-flex ax-items-center ax-justify-between hover:ax-bg-neutral-100 dark:hover:ax-bg-neutral-700 hover:ax-rounded-md\\\"\\n data-elementType=\\\"subModuleItem\\\">\\n {{ assignData(d, { record: item, entityType: child.type, moduleId: child.moduleId }) }}\\n <span>{{ item.title }}</span>\\n <ax-badge [look]=\\\"'twotone'\\\" [color]=\\\"item.isArchived ? 'danger' : 'success'\\\"\\n [text]=\\\"item.isArchived ? 'Off' : 'On'\\\">\\n </ax-badge>\\n </div>\\n }\\n </div>\\n </ng-template>\\n </ax-drawer>\\n <ax-content>\\n <router-outlet></router-outlet>\\n </ax-content>\\n</ax-drawer-container>\\n\\n<ax-context-menu #contextMenu (onItemClick)=\\\"handleActionClick($event)\\\" [items]=\\\"[]\\\" [target]=\\\"'.ctx'\\\"\\n [orientation]=\\\"'vertical'\\\" [closeOn]=\\\"'leave'\\\" (onOpening)=\\\"openingContextMenu($event)\\\">\\n</ax-context-menu>\", styles: [\".ax-collapse-header{padding:.25rem .5rem!important}.ax-collapse-header:hover{border-radius:.375rem;--tw-bg-opacity: 1;background-color:rgb(245 245 245 / var(--tw-bg-opacity, 1))}.ax-collapse-header:hover:is(.ax-dark *){--tw-bg-opacity: 1;background-color:rgb(64 64 64 / var(--tw-bg-opacity, 1))}.ax-collapse-body-content{padding:.25rem!important;padding-inline-start:0!important}\\n\"] }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLWRlc2lnbmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9hcHBsaWNhdGlvbi1tYW5hZ2VtZW50L3NyYy9saWIvbW9kdWxlLWRlc2lnbmVyL21vZHVsZS1kZXNpZ25lci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvYXBwbGljYXRpb24tbWFuYWdlbWVudC9zcmMvbGliL21vZHVsZS1kZXNpZ25lci9tb2R1bGUtZGVzaWduZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQXdCLGdCQUFnQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDckYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sRUFJTCxZQUFZLEdBQ2IsTUFBTSx5QkFBeUIsQ0FBQztBQUNqQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDMUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDaEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDL0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDN0YsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxZQUFZ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LE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM1QixDQUFDOzhHQXZIVSwwQkFBMEI7a0dBQTFCLDBCQUEwQixvTUN2RHZDLHEySkFrRmtCLHNiRDFDZCxZQUFZLDBQQUNaLGNBQWMsNlVBQ2QsY0FBYyw2WEFDZCxpQkFBaUIsc1ZBQ2pCLG1CQUFtQiw4RkFDbkIsZ0JBQWdCLDhCQUNoQixnQkFBZ0IsOGJBQ2hCLGVBQWUsOEJBQ2YscUJBQXFCLDhCQUNyQixhQUFhLHlJQUNiLFlBQVksMk5BQ1osWUFBWTs7MkZBSUgsMEJBQTBCO2tCQXBCdEMsU0FBUztvQ0FHTyxpQkFBaUIsQ0FBQyxJQUFJLFdBQzVCO3dCQUNQLFlBQVk7d0JBQ1osY0FBYzt3QkFDZCxjQUFjO3dCQUNkLGlCQUFpQjt3QkFDakIsbUJBQW1CO3dCQUNuQixnQkFBZ0I7d0JBQ2hCLGdCQUFnQjt3QkFDaEIsZUFBZTt3QkFDZixxQkFBcUI7d0JBQ3JCLGFBQWE7d0JBQ2IsWUFBWTt3QkFDWixZQUFZO3FCQUNiLG1CQUNnQix1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhCYWRnZU1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9iYWRnZSc7XG5pbXBvcnQgeyBBWEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9idXR0b24nO1xuaW1wb3J0IHsgQVhDb2xsYXBzZUNsaWNrRXZlbnQsIEFYQ29sbGFwc2VNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvY29sbGFwc2UnO1xuaW1wb3J0IHsgQVhEZWNvcmF0b3JNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZGVjb3JhdG9ycyc7XG5pbXBvcnQgeyBBWERyYXdlck1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kcmF3ZXInO1xuaW1wb3J0IHtcbiAgQVhDb250ZXh0TWVudUNvbXBvbmVudCxcbiAgQVhDb250ZXh0TWVudUl0ZW1zQ2xpY2tFdmVudCxcbiAgQVhDb250ZXh0TWVudU9wZW5pbmdFdmVudCxcbiAgQVhNZW51TW9kdWxlLFxufSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvbWVudSc7XG5pbXBvcnQgeyBBWFBvcG92ZXJNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvcG9wb3Zlcic7XG5pbXBvcnQgeyBBWFNlbGVjdGlvbkxpc3RNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvc2VsZWN0aW9uLWxpc3QnO1xuaW1wb3J0IHsgQVhTaWRlTWVudU1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9zaWRlLW1lbnUnO1xuaW1wb3J0IHsgQVhUcmFuc2xhdGlvbk1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29yZS90cmFuc2xhdGlvbic7XG5pbXBvcnQgeyBBWFBFbnRpdHlDcmVhdGVFdmVudCwgQVhQRW50aXR5RGVsZXRlZEV2ZW50IH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvZW50aXR5JztcbmltcG9ydCB7IEFYUFdvcmtmbG93U2VydmljZSwgb2ZUeXBlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS93b3JrZmxvdyc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIGluamVjdCxcbiAgT25Jbml0LFxuICBzaWduYWwsXG4gIHZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IHNldCB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFYTU1vZHVsZURlc2lnbmVyQ29udGV4dE1lbnVTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvY29udGV4dC1tZW51LnNlcnZpY2UnO1xuaW1wb3J0IHsgQVhQTW9kdWxlRGVzaWduZXJTZXJ2aWNlIH0gZnJvbSAnLi9tb2R1bGUtZGVzaWduZXIuc2VydmljZSc7XG5pbXBvcnQgeyBBWE1Nb2R1bGVJdGVtIH0gZnJvbSAnLi9tb2R1bGUtZGVzaWduZXIudHlwZSc7XG5cbkBDb21wb25lbnQoe1xuICB0ZW1wbGF0ZVVybDogJy4vbW9kdWxlLWRlc2lnbmVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbW9kdWxlLWRlc2lnbmVyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgQVhEcmF3ZXJNb2R1bGUsXG4gICAgQVhCdXR0b25Nb2R1bGUsXG4gICAgQVhEZWNvcmF0b3JNb2R1bGUsXG4gICAgQVhUcmFuc2xhdGlvbk1vZHVsZSxcbiAgICBBWFNpZGVNZW51TW9kdWxlLFxuICAgIEFYQ29sbGFwc2VNb2R1bGUsXG4gICAgQVhQb3BvdmVyTW9kdWxlLFxuICAgIEFYU2VsZWN0aW9uTGlzdE1vZHVsZSxcbiAgICBBWEJhZGdlTW9kdWxlLFxuICAgIEFYTWVudU1vZHVsZSxcbiAgICBSb3V0ZXJNb2R1bGUsXG4gIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBBWE1Nb2R1bGVEZXNpZ25lckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHByb3RlY3RlZCBjZHI6IENoYW5nZURldGVjdG9yUmVmID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcbiAgcHJvdGVjdGVkIGNvbnRleHRNZW51ID0gdmlld0NoaWxkPEFYQ29udGV4dE1lbnVDb21wb25lbnQ+KCdjb250ZXh0TWVudScpO1xuXG4gIHByb3RlY3RlZCBkYXRhUHJvdmlkZXIgPSBpbmplY3QoQVhQTW9kdWxlRGVzaWduZXJTZXJ2aWNlKTtcbiAgcHJpdmF0ZSB3b3JrZmxvdyA9IGluamVjdChBWFBXb3JrZmxvd1NlcnZpY2UpO1xuICBwcm90ZWN0ZWQgY29udGV4dE1lbnVTZXJ2aWNlID0gaW5qZWN0KEFYTU1vZHVsZURlc2lnbmVyQ29udGV4dE1lbnVTZXJ2aWNlKTtcblxuICBwcm90ZWN0ZWQgbW9kdWxlcyA9IHNpZ25hbDxhbnlbXT4oW10pO1xuXG4gIHByb3RlY3RlZCBtb2R1bGVEYXRhQ2FjaGUgPSBuZXcgTWFwPHN0cmluZywgYW55W10+KCk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95ZWQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuc3Vic2NyaWJlQWN0aW9uRXZlbnRzKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmxvYWRNb2R1bGVzKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc3Vic2NyaWJlQWN0aW9uRXZlbnRzKCkge1xuICAgIHRoaXMud29ya2Zsb3cuZXZlbnRzJFxuICAgICAgLnBpcGUob2ZUeXBlKEFYUEVudGl0eURlbGV0ZWRFdmVudCwgQVhQRW50aXR5Q3JlYXRlRXZlbnQpKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveWVkKSlcbiAgICAgIC5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XG4gICAgICAgIGNvbnN0IHsgbWV0YSB9ID0gZXZlbnQucGF5bG9hZDtcbiAgICAgICAgaWYgKG1ldGEudHlwZSA9PT0gJ21vZHVsZScpIHtcbiAgICAgICAgICB0aGlzLmxvYWRNb2R1bGVzKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5sb2FkTW9kdWxlRGF0YShtZXRhLm1vZHVsZUlkLCBtZXRhLnR5cGUsIHRydWUpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgbG9hZE1vZHVsZXMoKSB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IG1vZHVsZXMgPSBhd2FpdCB0aGlzLmRhdGFQcm92aWRlci5nZXRNb2R1bGVzKCk7XG4gICAgICB0aGlzLm1vZHVsZXMuc2V0KG1vZHVsZXMuaXRlbXMpO1xuICAgICAgdGhpcy5yZWZyZXNoQ29udGV4dE1lbnUoKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgbG9hZGluZyBtb2R1bGVzOicsIGVycm9yKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgaGFuZGxlQ29sbGFwc2VJdGVtQ2xpY2sobW9kdWxlSWQ6IHN0cmluZywgZTogQVhDb2xsYXBzZUNsaWNrRXZlbnQsIGRhdGFUeXBlOiBBWE1Nb2R1bGVJdGVtKSB7XG4gICAgaWYgKGUuY29tcG9uZW50LmlzQ29sbGFwc2VkKSB7XG4gICAgICBlLmhhbmRsZWQgPSB0cnVlO1xuICAgICAgZS5jb21wb25lbnQuaXNMb2FkaW5nID0gdHJ1ZTtcblxuICAgICAgYXdhaXQgdGhpcy5sb2FkTW9kdWxlRGF0YShtb2R1bGVJZCwgZGF0YVR5cGUpO1xuXG4gICAgICBlLmNvbXBvbmVudC50b2dnbGUoKTtcbiAgICAgIGUuY29tcG9uZW50LmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgZS5jb21wb25lbnRbJ2NkciddLm1hcmtGb3JDaGVjaygpO1xuICAgICAgdGhpcy5yZWZyZXNoQ29udGV4dE1lbnUoKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgcmVmcmVzaENvbnRleHRNZW51KCkge1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5jb250ZXh0TWVudSgpPy5yZWZyZXNoKCk7XG4gICAgfSwgMCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgbG9hZE1vZHVsZURhdGEobW9kdWxlSWQ6IHN0cmluZywgZGF0YVR5cGU6IEFYTU1vZHVsZUl0ZW0sIGhhcmRSZWxvYWQgPSBmYWxzZSkge1xuICAgIGNvbnN0IGNhY2hlS2V5ID0gYCR7bW9kdWxlSWR9LSR7ZGF0YVR5cGV9YDtcblxuICAgIGxldCBkYXRhSXRlbXMgPSB0aGlzLm1vZHVsZURhdGFDYWNoZS5nZXQoY2FjaGVLZXkpO1xuICAgIC8vIGlmICghZGF0YUl0ZW1zIHx8IGhhcmRSZWxvYWQpIHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgbWV0aG9kTWFwID0ge1xuICAgICAgICBlbnRpdHk6IHRoaXMuZGF0YVByb3ZpZGVyLmdldEVudGl0aWVzLFxuICAgICAgICBwZXJtaXNzaW9uOiB0aGlzLmRhdGFQcm92aWRlci5nZXRQZXJtaXNzaW9ucyxcbiAgICAgICAgZmVhdHVyZTogdGhpcy5kYXRhUHJvdmlkZXIuZ2V0RmVhdHVyZXMsXG4gICAgICB9O1xuICAgICAgY29uc3QgZGF0YSA9IGF3YWl0IG1ldGhvZE1hcFtkYXRhVHlwZV0uY2FsbCh0aGlzLmRhdGFQcm92aWRlciwgbW9kdWxlSWQpO1xuXG4gICAgICBkYXRhSXRlbXMgPSBkYXRhLml0ZW1zIGFzIGFueVtdO1xuICAgICAgdGhpcy5tb2R1bGVEYXRhQ2FjaGUuc2V0KGNhY2hlS2V5LCBkYXRhSXRlbXMpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKGBFcnJvciBsb2FkaW5nICR7ZGF0YVR5cGV9OmAsIGVycm9yKTtcbiAgICB9XG4gICAgLy8gfVxuICB9XG5cbiAgcHJvdGVjdGVkIGdldEVudGl0aWVzKG1vZHVsZUlkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5tb2R1bGVEYXRhQ2FjaGUuZ2V0KGAke21vZHVsZUlkfS1lbnRpdHlgKSB8fCBbXTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRQZXJtaXNzaW9ucyhtb2R1bGVJZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMubW9kdWxlRGF0YUNhY2hlLmdldChgJHttb2R1bGVJZH0tcGVybWlzc2lvbmApIHx8IFtdO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldEZlYXR1cmVzKG1vZHVsZUlkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5tb2R1bGVEYXRhQ2FjaGUuZ2V0KGAke21vZHVsZUlkfS1mZWF0dXJlYCkgfHwgW107XG4gIH1cblxuICBwcm90ZWN0ZWQgb3BlbmluZ0NvbnRleHRNZW51KGU6IEFYQ29udGV4dE1lbnVPcGVuaW5nRXZlbnQpIHtcbiAgICB0aGlzLmNvbnRleHRNZW51U2VydmljZS5vcGVuKGUpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGhhbmRsZUFjdGlvbkNsaWNrKGU6IEFYQ29udGV4dE1lbnVJdGVtc0NsaWNrRXZlbnQpIHtcbiAgICB0aGlzLmNvbnRleHRNZW51U2VydmljZS5pdGVtQ2xpY2soZSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgY3JlYXRlTW9kdWxlKCkge1xuICAgIHRoaXMuY29udGV4dE1lbnVTZXJ2aWNlLmNyZWF0ZUVudGl0eSgnbW9kdWxlJyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZGVzdHJveSgpIHtcbiAgICB0aGlzLmRlc3Ryb3llZC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95ZWQuY29tcGxldGUoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBhc3NpZ25EYXRhKHRhcmdldDogSFRNTEVsZW1lbnQsIGRhdGE6IGFueSk6IHZvaWQge1xuICAgIHNldCh0YXJnZXQsICdkYXRhJywgZGF0YSk7XG4gIH1cbn1cbiIsIjxheC1kcmF3ZXItY29udGFpbmVyIGNsYXNzPVwiYXgtb3ZlcmZsb3ctaGlkZGVuXCI+XG4gIDxheC1kcmF3ZXIgI2RyYXdlciBsb2NhdGlvbj1cInN0YXJ0XCIgW2NvbGxhcHNlZF09XCJmYWxzZVwiIFttb2RlXT1cIidwdXNoJ1wiPlxuICAgIDxheC1jb250ZW50IGNsYXNzPVwiIGF4LXctODAgYXgtcmVsYXRpdmUgYXgtYm9yZGVyLWUgYXgtcHgtNCBheC1weS0yXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiYXgtb3ZlcmZsb3ctYXV0byBheC1oLVtjYWxjKDEwMHZoLTE4MHB4KV1cIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJheC1mb250LWJvbGQgYXgtdGV4dC14bFwiPnt7ICdkZXNpZ25lci5tb2R1bGVzJyB8IHRyYW5zbGF0ZSB8IGFzeW5jIH19PC9zcGFuPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtZmxleCBheC1mbGV4LWNvbCBheC1nYXAtMiBheC1tdC00XCI+XG4gICAgICAgICAgQGlmKG1vZHVsZXMoKS5sZW5ndGgpe1xuICAgICAgICAgIDxheC1jb2xsYXBzZS1ncm91cCBbYWNjb3JkaW9uXT1cImZhbHNlXCIgbG9vaz1cImJsYW5rXCI+XG4gICAgICAgICAgICBAZm9yKG0gb2YgbW9kdWxlcygpO3RyYWNrICRpbmRleCl7XG4gICAgICAgICAgICA8YXgtY29sbGFwc2UgY2xhc3M9XCJjdHhcIiBpY29uPVwiZmFzIGZhLWZvbGRlciBheC10ZXh0LXdhcm5pbmdcIiBbaXNDb2xsYXBzZWRdPVwidHJ1ZVwiIFtjYXB0aW9uXT1cIm0udGl0bGVcIlxuICAgICAgICAgICAgICBsb29rPVwibm9uZVwiIGRhdGEtZWxlbWVudFR5cGU9XCJtb2R1bGVcIiBbYXR0ci5kYXRhLW1vZHVsZUlkXT1cIm0uaWRcIiBkYXRhLWVudGl0eVR5cGU9XCJtb2R1bGVcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LW14LTNcIj5cbiAgICAgICAgICAgICAgICA8YXgtY29sbGFwc2UtZ3JvdXAgW2FjY29yZGlvbl09XCJmYWxzZVwiIGxvb2s9XCJibGFua1wiPlxuICAgICAgICAgICAgICAgICAgPGF4LWNvbGxhcHNlIGNsYXNzPVwiY3R4XCIgaWNvbj1cImZhcyBmYS1ib3ggYXgtdGV4dC1uZXV0cmFsLTQwMFwiIFtpc0NvbGxhcHNlZF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgKG9uQ2xpY2spPVwiaGFuZGxlQ29sbGFwc2VJdGVtQ2xpY2sobS5pZCwgJGV2ZW50LCAnZW50aXR5JylcIlxuICAgICAgICAgICAgICAgICAgICBbY2FwdGlvbl09XCIoJ2Rlc2lnbmVyLmVudGl0aWVzJyB8IHRyYW5zbGF0ZSB8IGFzeW5jKSA/PyAnRW50aXRpZXMnXCIgbG9vaz1cIm5vbmVcIlxuICAgICAgICAgICAgICAgICAgICBkYXRhLWVsZW1lbnRUeXBlPVwic3ViTW9kdWxlXCIgW2F0dHIuZGF0YS1tb2R1bGVJZF09XCJtLmlkXCIgZGF0YS1lbnRpdHlUeXBlPVwiZW50aXR5XCI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiY2hpbGRUZW1wbGF0ZVwiIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7XG4gICAgICAgICAgICAgICAgICAgICAgICAkaW1wbGljaXQ6IHsgdHlwZTogJ2VudGl0eScsIGl0ZW1zOiBnZXRFbnRpdGllcyhtLmlkKSwgbW9kdWxlSWQ6IG0uaWQgfVxuICAgICAgICAgICAgICAgICAgICAgIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgIDwvYXgtY29sbGFwc2U+XG5cbiAgICAgICAgICAgICAgICAgIDxheC1jb2xsYXBzZSBjbGFzcz1cImN0eFwiIGljb249XCJmYXMgZmEtc3RhciBheC10ZXh0LW5ldXRyYWwtNDAwXCIgW2lzQ29sbGFwc2VkXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAob25DbGljayk9XCJoYW5kbGVDb2xsYXBzZUl0ZW1DbGljayhtLmlkLCAkZXZlbnQsICdmZWF0dXJlJylcIlxuICAgICAgICAgICAgICAgICAgICBbY2FwdGlvbl09XCIoJ2Rlc2lnbmVyLmZlYXR1cmVzJyB8IHRyYW5zbGF0ZSB8IGFzeW5jKSA/PyAnRmVhdHVyZXMnXCIgbG9vaz1cIm5vbmVcIlxuICAgICAgICAgICAgICAgICAgICBkYXRhLWVsZW1lbnRUeXBlPVwic3ViTW9kdWxlXCIgW2F0dHIuZGF0YS1tb2R1bGVJZF09XCJtLmlkXCIgZGF0YS1lbnRpdHlUeXBlPVwiZmVhdHVyZVwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImNoaWxkVGVtcGxhdGVcIiBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwie1xuICAgICAgICAgICAgICAgICAgICAgICAgJGltcGxpY2l0OiB7IHR5cGU6ICdmZWF0dXJlJywgaXRlbXM6IGdldEZlYXR1cmVzKG0uaWQpLCBtb2R1bGVJZDogbS5pZCB9XG4gICAgICAgICAgICAgICAgICAgICAgfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgPC9heC1jb2xsYXBzZT5cblxuICAgICAgICAgICAgICAgICAgPGF4LWNvbGxhcHNlIGNsYXNzPVwiY3R4XCIgaWNvbj1cImZhcyBmYS1rZXkgYXgtdGV4dC1uZXV0cmFsLTQwMFwiIFtpc0NvbGxhcHNlZF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgKG9uQ2xpY2spPVwiaGFuZGxlQ29sbGFwc2VJdGVtQ2xpY2sobS5pZCwgJGV2ZW50LCAncGVybWlzc2lvbicpXCJcbiAgICAgICAgICAgICAgICAgICAgW2NhcHRpb25dPVwiKCdkZXNpZ25lci5wZXJtaXNzaW9ucycgfCB0cmFuc2xhdGUgfCBhc3luYykgPz8gJ1Blcm1pc3Npb25zJ1wiIGxvb2s9XCJub25lXCJcbiAgICAgICAgICAgICAgICAgICAgZGF0YS1lbGVtZW50VHlwZT1cInN1Yk1vZHVsZVwiIFthdHRyLmRhdGEtbW9kdWxlSWRdPVwibS5pZFwiIGRhdGEtZW50aXR5VHlwZT1cInBlcm1pc3Npb25cIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJjaGlsZFRlbXBsYXRlXCIgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIntcbiAgICAgICAgICAgICAgICAgICAgICAgICRpbXBsaWNpdDogeyB0eXBlOiAncGVybWlzc2lvbicsIGl0ZW1zOiBnZXRQZXJtaXNzaW9ucyhtLmlkKSwgbW9kdWxlSWQ6IG0uaWQgfVxuICAgICAgICAgICAgICAgICAgICAgIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgIDwvYXgtY29sbGFwc2U+XG4gICAgICAgICAgICAgICAgPC9heC1jb2xsYXBzZS1ncm91cD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2F4LWNvbGxhcHNlPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvYXgtY29sbGFwc2UtZ3JvdXA+XG4gICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWgtZnVsbCBheC1mbGV4IGF4LWl0ZW1zLWNlbnRlciBheC1qdXN0aWZ5LWNlbnRlclwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJheC10ZXh0LW5ldXRyYWwtNTAwIGF4LXRleHQtc21cIj57eyAnZGVzaWduZXIuZW1wdHlNb2R1bGVzVGV4dCcgfCB0cmFuc2xhdGUgfCBhc3luYyB9fTwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8YXgtYnV0dG9uIGNsYXNzPVwiYXgtYWJzb2x1dGUgYXgtYm90dG9tLTQgYXgtdy03MlwiXG4gICAgICAgICAgW3RleHRdPVwiKCdkZXNpZ25lci5jcmVhdGVNb2R1bGUnIHwgdHJhbnNsYXRlIHwgYXN5bmMpID8/ICdDcmVhdGUgTmV3IE1vZHVsZSdcIiAob25DbGljayk9XCJjcmVhdGVNb2R1bGUoKVwiXG4gICAgICAgICAgbG9vaz1cInNvbGlkXCIgY29sb3I9XCJwcmltYXJ5XCI+XG4gICAgICAgICAgPGF4LWljb24gY2xhc3M9XCJmYXMgZmEtcGx1c1wiPiA8L2F4LWljb24+XG4gICAgICAgIDwvYXgtYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9heC1jb250ZW50PlxuXG4gICAgPG5nLXRlbXBsYXRlICNjaGlsZFRlbXBsYXRlIGxldC1jaGlsZD5cbiAgICAgIDxkaXYgY2xhc3M9XCJheC1mbGV4IGF4LWZsZXgtY29sIGF4LWN1cnNvci1wb2ludGVyIGF4LXNlbGVjdC1ub25lIGF4LWJvcmRlci1zIGF4LW1zLVsxNHB4XSBheC1wcy0yXCI+XG4gICAgICAgIEBmb3IgKGl0ZW0gb2YgY2hpbGQuaXRlbXM7IHRyYWNrICRpbmRleCkge1xuXG4gICAgICAgIDxkaXYgI2QgKGNsaWNrKT1cImNvbnRleHRNZW51U2VydmljZS5zaG93RGV0YWlscyhjaGlsZC50eXBlLCBpdGVtLmlkKVwiXG4gICAgICAgICAgY2xhc3M9XCJjdHggYXgtcHgtMiBheC1weS0xIGF4LWZsZXggYXgtaXRlbXMtY2VudGVyIGF4LWp1c3RpZnktYmV0d2VlbiBob3ZlcjpheC1iZy1uZXV0cmFsLTEwMCBkYXJrOmhvdmVyOmF4LWJnLW5ldXRyYWwtNzAwIGhvdmVyOmF4LXJvdW5kZWQtbWRcIlxuICAgICAgICAgIGRhdGEtZWxlbWVudFR5cGU9XCJzdWJNb2R1bGVJdGVtXCI+XG4gICAgICAgICAge3sgYXNzaWduRGF0YShkLCB7IHJlY29yZDogaXRlbSwgZW50aXR5VHlwZTogY2hpbGQudHlwZSwgbW9kdWxlSWQ6IGNoaWxkLm1vZHVsZUlkIH0pIH19XG4gICAgICAgICAgPHNwYW4+e3sgaXRlbS50aXRsZSB9fTwvc3Bhbj5cbiAgICAgICAgICA8YXgtYmFkZ2UgW2xvb2tdPVwiJ3R3b3RvbmUnXCIgW2NvbG9yXT1cIml0ZW0uaXNBcmNoaXZlZCA/ICdkYW5nZXInIDogJ3N1Y2Nlc3MnXCJcbiAgICAgICAgICAgIFt0ZXh0XT1cIml0ZW0uaXNBcmNoaXZlZCA/ICdPZmYnIDogJ09uJ1wiPlxuICAgICAgICAgIDwvYXgtYmFkZ2U+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L2F4LWRyYXdlcj5cbiAgPGF4LWNvbnRlbnQ+XG4gICAgPHJvdXRlci1vdXRsZXQ+PC9yb3V0ZXItb3V0bGV0PlxuICA8L2F4LWNvbnRlbnQ+XG48L2F4LWRyYXdlci1jb250YWluZXI+XG5cbjxheC1jb250ZXh0LW1lbnUgI2NvbnRleHRNZW51IChvbkl0ZW1DbGljayk9XCJoYW5kbGVBY3Rpb25DbGljaygkZXZlbnQpXCIgW2l0ZW1zXT1cIltdXCIgW3RhcmdldF09XCInLmN0eCdcIlxuICBbb3JpZW50YXRpb25dPVwiJ3ZlcnRpY2FsJ1wiIFtjbG9zZU9uXT1cIidsZWF2ZSdcIiAob25PcGVuaW5nKT1cIm9wZW5pbmdDb250ZXh0TWVudSgkZXZlbnQpXCI+XG48L2F4LWNvbnRleHQtbWVudT4iXX0="],"names":["i3","i4","i5","i6","i8","i9"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"acorex-modules-application-management-module-designer.component-BvuZJdwg.mjs","sources":["../tmp-esm2022/application-management/lib/services/context-menu.service.js","../tmp-esm2022/application-management/lib/module-designer/module-designer.component.js"],"sourcesContent":["import { AXPWorkflowService } from '@acorex/platform/workflow';\nimport { inject, Injectable, signal } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class AXMModuleDesignerContextMenuService {\n constructor() {\n this.workflow = inject(AXPWorkflowService);\n this.copiedRecord = signal(null);\n this.elementData = signal(null);\n this.menuItems = [\n {\n name: 'create',\n text: 'Create',\n icon: 'fas fa-plus',\n color: 'primary',\n },\n {\n name: 'delete',\n text: 'Delete',\n icon: 'fas fa-trash',\n color: 'danger',\n },\n {\n name: 'details',\n text: 'Details',\n icon: 'fas fa-eye',\n color: 'default',\n },\n {\n name: 'copy',\n text: 'Copy',\n icon: 'fas fa-copy',\n color: 'default',\n },\n {\n name: 'paste',\n text: 'Paste',\n icon: 'fas fa-paste',\n color: 'default',\n disabled: false,\n },\n ];\n }\n open(e) {\n const target = e.targetElement;\n const elementType = target?.getAttribute('data-elementType');\n const { data } = target;\n if (elementType == 'module' || elementType == 'subModule') {\n const moduleId = target?.getAttribute('data-moduleId');\n const entityType = target?.getAttribute('data-entityType');\n if (elementType == 'module') {\n this.elementData.set({\n entityType,\n moduleId: moduleId,\n record: {\n id: moduleId,\n },\n });\n e.items = this.getMenuItems(['details', 'delete']);\n }\n else {\n this.elementData.set({\n entityType,\n moduleId: moduleId,\n record: undefined,\n });\n const items = this.getMenuItems(['create', 'paste']);\n const customMenuItems = items.map((i) => i.name == 'paste' ? { ...i, disabled: entityType == this.copiedRecord()?.type ? false : true } : i);\n e.items = customMenuItems;\n }\n }\n else if (elementType == 'subModuleItem') {\n this.elementData.set(data);\n e.items = this.getMenuItems(['delete', 'copy', 'details']);\n }\n else {\n e.items = [];\n e.canceled = true;\n }\n }\n itemClick(e) {\n if (this.elementData()) {\n switch (e.item.name) {\n case 'create':\n this.createEntity(this.elementData()?.entityType, this.elementData()?.moduleId);\n break;\n case 'details':\n this.showDetails(this.elementData()?.entityType, this.elementData()?.record.id);\n break;\n case 'delete':\n this.deleteEntity(this.elementData()?.entityType, this.elementData()?.record.id, this.elementData()?.moduleId);\n break;\n case 'copy':\n this.copyRecord(this.elementData()?.entityType, this.elementData()?.record);\n break;\n case 'paste':\n this.pasteRecord(this.elementData()?.moduleId);\n break;\n default:\n break;\n }\n }\n }\n async createEntity(entityType, moduleId) {\n await this.workflow.execute('create-module-entity', {\n entity: `application-management.${entityType}`,\n data: {\n moduleId,\n },\n meta: {\n type: entityType,\n moduleId,\n },\n });\n }\n async showDetails(entityType, id) {\n await this.workflow.execute('show-module-entity-details', {\n entity: `application-management.${entityType}`,\n data: {\n id,\n },\n });\n }\n copyRecord(entityType, record) {\n const newRecord = { ...record, moduleId: undefined, id: undefined };\n this.copiedRecord.set({ type: entityType, record: newRecord });\n }\n async pasteRecord(moduleId) {\n if (this.copiedRecord()) {\n await this.workflow.execute('create-module-entity', {\n entity: `application-management.${this.copiedRecord()?.type}`,\n data: {\n ...this.copiedRecord()?.record,\n moduleId,\n },\n meta: {\n type: this.copiedRecord()?.type,\n moduleId,\n },\n });\n }\n }\n async deleteEntity(entityType, id, moduleId) {\n await this.workflow.execute('delete-entity', {\n entity: `application-management.${entityType}`,\n data: {\n id,\n },\n meta: {\n moduleId,\n type: entityType,\n },\n });\n }\n getMenuItems(includeItems) {\n return this.menuItems.filter((i) => includeItems.includes(i.name));\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: AXMModuleDesignerContextMenuService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: AXMModuleDesignerContextMenuService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: AXMModuleDesignerContextMenuService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1tZW51LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvYXBwbGljYXRpb24tbWFuYWdlbWVudC9zcmMvbGliL3NlcnZpY2VzL2NvbnRleHQtbWVudS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFNM0QsTUFBTSxPQUFPLG1DQUFtQztJQUhoRDtRQUlVLGFBQVEsR0FBRyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUNwQyxpQkFBWSxHQUFHLE1BQU0sQ0FBOEMsSUFBSSxDQUFDLENBQUM7UUFDekUsZ0JBQVcsR0FBRyxNQUFNLENBQXNFLElBQUksQ0FBQyxDQUFDO1FBRWxHLGNBQVMsR0FBaUI7WUFDaEM7Z0JBQ0UsSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsSUFBSSxFQUFFLGFBQWE7Z0JBQ25CLEtBQUssRUFBRSxTQUFTO2FBQ2pCO1lBQ0Q7Z0JBQ0UsSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsSUFBSSxFQUFFLGNBQWM7Z0JBQ3BCLEtBQUssRUFBRSxRQUFRO2FBQ2hCO1lBQ0Q7Z0JBQ0UsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsSUFBSSxFQUFFLFlBQVk7Z0JBQ2xCLEtBQUssRUFBRSxTQUFTO2FBQ2pCO1lBQ0Q7Z0JBQ0UsSUFBSSxFQUFFLE1BQU07Z0JBQ1osSUFBSSxFQUFFLE1BQU07Z0JBQ1osSUFBSSxFQUFFLGFBQWE7Z0JBQ25CLEtBQUssRUFBRSxTQUFTO2FBQ2pCO1lBQ0Q7Z0JBQ0UsSUFBSSxFQUFFLE9BQU87Z0JBQ2IsSUFBSSxF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QyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFjLENBQUMsQ0FBQyxDQUFDO0lBQy9FLENBQUM7OEdBektVLG1DQUFtQztrSEFBbkMsbUNBQW1DLGNBRmxDLE1BQU07OzJGQUVQLG1DQUFtQztrQkFIL0MsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWENvbnRleHRNZW51SXRlbXNDbGlja0V2ZW50LCBBWENvbnRleHRNZW51T3BlbmluZ0V2ZW50LCBBWE1lbnVJdGVtIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL21lbnUnO1xuaW1wb3J0IHsgQVhQV29ya2Zsb3dTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS93b3JrZmxvdyc7XG5pbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhNTW9kdWxlSXRlbSB9IGZyb20gJy4uL21vZHVsZS1kZXNpZ25lci9tb2R1bGUtZGVzaWduZXIudHlwZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBBWE1Nb2R1bGVEZXNpZ25lckNvbnRleHRNZW51U2VydmljZSB7XG4gIHByaXZhdGUgd29ya2Zsb3cgPSBpbmplY3QoQVhQV29ya2Zsb3dTZXJ2aWNlKTtcbiAgcHJvdGVjdGVkIGNvcGllZFJlY29yZCA9IHNpZ25hbDx7IHR5cGU6IEFYTU1vZHVsZUl0ZW07IHJlY29yZDogYW55IH0gfCBudWxsPihudWxsKTtcbiAgcHJvdGVjdGVkIGVsZW1lbnREYXRhID0gc2lnbmFsPHsgZW50aXR5VHlwZTogQVhNTW9kdWxlSXRlbTsgcmVjb3JkOiBhbnk7IG1vZHVsZUlkOiBzdHJpbmcgfSB8IG51bGw+KG51bGwpO1xuXG4gIHByaXZhdGUgbWVudUl0ZW1zOiBBWE1lbnVJdGVtW10gPSBbXG4gICAge1xuICAgICAgbmFtZTogJ2NyZWF0ZScsXG4gICAgICB0ZXh0OiAnQ3JlYXRlJyxcbiAgICAgIGljb246ICdmYXMgZmEtcGx1cycsXG4gICAgICBjb2xvcjogJ3ByaW1hcnknLFxuICAgIH0sXG4gICAge1xuICAgICAgbmFtZTogJ2RlbGV0ZScsXG4gICAgICB0ZXh0OiAnRGVsZXRlJyxcbiAgICAgIGljb246ICdmYXMgZmEtdHJhc2gnLFxuICAgICAgY29sb3I6ICdkYW5nZXInLFxuICAgIH0sXG4gICAge1xuICAgICAgbmFtZTogJ2RldGFpbHMnLFxuICAgICAgdGV4dDogJ0RldGFpbHMnLFxuICAgICAgaWNvbjogJ2ZhcyBmYS1leWUnLFxuICAgICAgY29sb3I6ICdkZWZhdWx0JyxcbiAgICB9LFxuICAgIHtcbiAgICAgIG5hbWU6ICdjb3B5JyxcbiAgICAgIHRleHQ6ICdDb3B5JyxcbiAgICAgIGljb246ICdmYXMgZmEtY29weScsXG4gICAgICBjb2xvcjogJ2RlZmF1bHQnLFxuICAgIH0sXG4gICAge1xuICAgICAgbmFtZTogJ3Bhc3RlJyxcbiAgICAgIHRleHQ6ICdQYXN0ZScsXG4gICAgICBpY29uOiAnZmFzIGZhLXBhc3RlJyxcbiAgICAgIGNvbG9yOiAnZGVmYXVsdCcsXG4gICAgICBkaXNhYmxlZDogZmFsc2UsXG4gICAgfSxcbiAgXTtcblxuICBvcGVuKGU6IEFYQ29udGV4dE1lbnVPcGVuaW5nRXZlbnQpIHtcbiAgICBjb25zdCB0YXJnZXQgPSBlLnRhcmdldEVsZW1lbnQ7XG4gICAgY29uc3QgZWxlbWVudFR5cGUgPSB0YXJnZXQ/LmdldEF0dHJpYnV0ZSgnZGF0YS1lbGVtZW50VHlwZScpO1xuXG4gICAgY29uc3QgeyBkYXRhIH0gPSB0YXJnZXQgYXMgYW55O1xuXG4gICAgaWYgKGVsZW1lbnRUeXBlID09ICdtb2R1bGUnIHx8IGVsZW1lbnRUeXBlID09ICdzdWJNb2R1bGUnKSB7XG4gICAgICBjb25zdCBtb2R1bGVJZCA9IHRhcmdldD8uZ2V0QXR0cmlidXRlKCdkYXRhLW1vZHVsZUlkJyk7XG4gICAgICBjb25zdCBlbnRpdHlUeXBlID0gdGFyZ2V0Py5nZXRBdHRyaWJ1dGUoJ2RhdGEtZW50aXR5VHlwZScpIGFzIEFYTU1vZHVsZUl0ZW07XG4gICAgICBpZiAoZWxlbWVudFR5cGUgPT0gJ21vZHVsZScpIHtcbiAgICAgICAgdGhpcy5lbGVtZW50RGF0YS5zZXQoe1xuICAgICAgICAgIGVudGl0eVR5cGUsXG4gICAgICAgICAgbW9kdWxlSWQ6IG1vZHVsZUlkIGFzIHN0cmluZyxcbiAgICAgICAgICByZWNvcmQ6IHtcbiAgICAgICAgICAgIGlkOiBtb2R1bGVJZCxcbiAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICAgICAgZS5pdGVtcyA9IHRoaXMuZ2V0TWVudUl0ZW1zKFsnZGV0YWlscycsICdkZWxldGUnXSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmVsZW1lbnREYXRhLnNldCh7XG4gICAgICAgICAgZW50aXR5VHlwZSxcbiAgICAgICAgICBtb2R1bGVJZDogbW9kdWxlSWQgYXMgc3RyaW5nLFxuICAgICAgICAgIHJlY29yZDogdW5kZWZpbmVkLFxuICAgICAgICB9KTtcbiAgICAgICAgY29uc3QgaXRlbXMgPSB0aGlzLmdldE1lbnVJdGVtcyhbJ2NyZWF0ZScsICdwYXN0ZSddKTtcbiAgICAgICAgY29uc3QgY3VzdG9tTWVudUl0ZW1zID0gaXRlbXMubWFwKChpKSA9PlxuICAgICAgICAgIGkubmFtZSA9PSAncGFzdGUnID8geyAuLi5pLCBkaXNhYmxlZDogZW50aXR5VHlwZSA9PSB0aGlzLmNvcGllZFJlY29yZCgpPy50eXBlID8gZmFsc2UgOiB0cnVlIH0gOiBpXG4gICAgICAgICk7XG4gICAgICAgIGUuaXRlbXMgPSBjdXN0b21NZW51SXRlbXM7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChlbGVtZW50VHlwZSA9PSAnc3ViTW9kdWxlSXRlbScpIHtcbiAgICAgIHRoaXMuZWxlbWVudERhdGEuc2V0KGRhdGEpO1xuICAgICAgZS5pdGVtcyA9IHRoaXMuZ2V0TWVudUl0ZW1zKFsnZGVsZXRlJywgJ2NvcHknLCAnZGV0YWlscyddKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZS5pdGVtcyA9IFtdO1xuICAgICAgZS5jYW5jZWxlZCA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgaXRlbUNsaWNrKGU6IEFYQ29udGV4dE1lbnVJdGVtc0NsaWNrRXZlbnQpIHtcbiAgICBpZiAodGhpcy5lbGVtZW50RGF0YSgpKSB7XG4gICAgICBzd2l0Y2ggKGUuaXRlbS5uYW1lKSB7XG4gICAgICAgIGNhc2UgJ2NyZWF0ZSc6XG4gICAgICAgICAgdGhpcy5jcmVhdGVFbnRpdHkodGhpcy5lbGVtZW50RGF0YSgpPy5lbnRpdHlUeXBlIGFzIEFYTU1vZHVsZUl0ZW0sIHRoaXMuZWxlbWVudERhdGEoKT8ubW9kdWxlSWQpO1xuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIGNhc2UgJ2RldGFpbHMnOlxuICAgICAgICAgIHRoaXMuc2hvd0RldGFpbHModGhpcy5lbGVtZW50RGF0YSgpPy5lbnRpdHlUeXBlIGFzIEFYTU1vZHVsZUl0ZW0gfCAnbW9kdWxlJywgdGhpcy5lbGVtZW50RGF0YSgpPy5yZWNvcmQuaWQpO1xuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIGNhc2UgJ2RlbGV0ZSc6XG4gICAgICAgICAgdGhpcy5kZWxldGVFbnRpdHkoXG4gICAgICAgICAgICB0aGlzLmVsZW1lbnREYXRhKCk/LmVudGl0eVR5cGUgYXMgQVhNTW9kdWxlSXRlbSB8ICdtb2R1bGUnLFxuICAgICAgICAgICAgdGhpcy5lbGVtZW50RGF0YSgpPy5yZWNvcmQuaWQsXG4gICAgICAgICAgICB0aGlzLmVsZW1lbnREYXRhKCk/Lm1vZHVsZUlkXG4gICAgICAgICAgKTtcbiAgICAgICAgICBicmVhaztcblxuICAgICAgICBjYXNlICdjb3B5JzpcbiAgICAgICAgICB0aGlzLmNvcHlSZWNvcmQodGhpcy5lbGVtZW50RGF0YSgpPy5lbnRpdHlUeXBlIGFzIEFYTU1vZHVsZUl0ZW0sIHRoaXMuZWxlbWVudERhdGEoKT8ucmVjb3JkKTtcbiAgICAgICAgICBicmVhaztcblxuICAgICAgICBjYXNlICdwYXN0ZSc6XG4gICAgICAgICAgdGhpcy5wYXN0ZVJlY29yZCh0aGlzLmVsZW1lbnREYXRhKCk/Lm1vZHVsZUlkIGFzIHN0cmluZyk7XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBhc3luYyBjcmVhdGVFbnRpdHkoZW50aXR5VHlwZTogJ21vZHVsZScgfCBBWE1Nb2R1bGVJdGVtLCBtb2R1bGVJZD86IHN0cmluZykge1xuICAgIGF3YWl0IHRoaXMud29ya2Zsb3cuZXhlY3V0ZSgnY3JlYXRlLW1vZHVsZS1lbnRpdHknLCB7XG4gICAgICBlbnRpdHk6IGBhcHBsaWNhdGlvbi1tYW5hZ2VtZW50LiR7ZW50aXR5VHlwZX1gLFxuICAgICAgZGF0YToge1xuICAgICAgICBtb2R1bGVJZCxcbiAgICAgIH0sXG4gICAgICBtZXRhOiB7XG4gICAgICAgIHR5cGU6IGVudGl0eVR5cGUsXG4gICAgICAgIG1vZHVsZUlkLFxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIGFzeW5jIHNob3dEZXRhaWxzKGVudGl0eVR5cGU6ICdtb2R1bGUnIHwgQVhNTW9kdWxlSXRlbSwgaWQ6IHN0cmluZykge1xuICAgIGF3YWl0IHRoaXMud29ya2Zsb3cuZXhlY3V0ZSgnc2hvdy1tb2R1bGUtZW50aXR5LWRldGFpbHMnLCB7XG4gICAgICBlbnRpdHk6IGBhcHBsaWNhdGlvbi1tYW5hZ2VtZW50LiR7ZW50aXR5VHlwZX1gLFxuICAgICAgZGF0YToge1xuICAgICAgICBpZCxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGNvcHlSZWNvcmQoZW50aXR5VHlwZTogQVhNTW9kdWxlSXRlbSwgcmVjb3JkOiBhbnkpIHtcbiAgICBjb25zdCBuZXdSZWNvcmQgPSB7IC4uLnJlY29yZCwgbW9kdWxlSWQ6IHVuZGVmaW5lZCwgaWQ6IHVuZGVmaW5lZCB9O1xuICAgIHRoaXMuY29waWVkUmVjb3JkLnNldCh7IHR5cGU6IGVudGl0eVR5cGUsIHJlY29yZDogbmV3UmVjb3JkIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBwYXN0ZVJlY29yZChtb2R1bGVJZDogc3RyaW5nKSB7XG4gICAgaWYgKHRoaXMuY29waWVkUmVjb3JkKCkpIHtcbiAgICAgIGF3YWl0IHRoaXMud29ya2Zsb3cuZXhlY3V0ZSgnY3JlYXRlLW1vZHVsZS1lbnRpdHknLCB7XG4gICAgICAgIGVudGl0eTogYGFwcGxpY2F0aW9uLW1hbmFnZW1lbnQuJHt0aGlzLmNvcGllZFJlY29yZCgpPy50eXBlfWAsXG4gICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAuLi50aGlzLmNvcGllZFJlY29yZCgpPy5yZWNvcmQsXG4gICAgICAgICAgbW9kdWxlSWQsXG4gICAgICAgIH0sXG4gICAgICAgIG1ldGE6IHtcbiAgICAgICAgICB0eXBlOiB0aGlzLmNvcGllZFJlY29yZCgpPy50eXBlLFxuICAgICAgICAgIG1vZHVsZUlkLFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBkZWxldGVFbnRpdHkoZW50aXR5VHlwZTogJ21vZHVsZScgfCBBWE1Nb2R1bGVJdGVtLCBpZDogc3RyaW5nW10gfCBzdHJpbmcsIG1vZHVsZUlkPzogc3RyaW5nKSB7XG4gICAgYXdhaXQgdGhpcy53b3JrZmxvdy5leGVjdXRlKCdkZWxldGUtZW50aXR5Jywge1xuICAgICAgZW50aXR5OiBgYXBwbGljYXRpb24tbWFuYWdlbWVudC4ke2VudGl0eVR5cGV9YCxcbiAgICAgIGRhdGE6IHtcbiAgICAgICAgaWQsXG4gICAgICB9LFxuICAgICAgbWV0YToge1xuICAgICAgICBtb2R1bGVJZCxcbiAgICAgICAgdHlwZTogZW50aXR5VHlwZSxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGdldE1lbnVJdGVtcyhpbmNsdWRlSXRlbXM6IHN0cmluZ1tdKSB7XG4gICAgcmV0dXJuIHRoaXMubWVudUl0ZW1zLmZpbHRlcigoaSkgPT4gaW5jbHVkZUl0ZW1zLmluY2x1ZGVzKGkubmFtZSBhcyBzdHJpbmcpKTtcbiAgfVxufVxuIl19","import { AXBadgeModule } from '@acorex/components/badge';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXCollapseModule } from '@acorex/components/collapse';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXDrawerModule } from '@acorex/components/drawer';\nimport { AXMenuModule, } from '@acorex/components/menu';\nimport { AXPopoverModule } from '@acorex/components/popover';\nimport { AXSelectionListModule } from '@acorex/components/selection-list';\nimport { AXSideMenuModule } from '@acorex/components/side-menu';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPEntityCreateEvent, AXPEntityDeletedEvent } from '@acorex/platform/layout/entity';\nimport { AXPWorkflowService, ofType } from '@acorex/platform/workflow';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, inject, signal, viewChild, ViewEncapsulation, } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { set } from 'lodash-es';\nimport { Subject, takeUntil } from 'rxjs';\nimport { AXMModuleDesignerContextMenuService } from '../services/context-menu.service';\nimport { AXPModuleDesignerService } from './module-designer.service';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/common\";\nimport * as i2 from \"@acorex/components/drawer\";\nimport * as i3 from \"@acorex/components/button\";\nimport * as i4 from \"@acorex/components/decorators\";\nimport * as i5 from \"@acorex/core/translation\";\nimport * as i6 from \"@acorex/components/collapse\";\nimport * as i7 from \"@acorex/components/badge\";\nimport * as i8 from \"@acorex/components/menu\";\nimport * as i9 from \"@angular/router\";\nexport class AXMModuleDesignerComponent {\n constructor() {\n this.cdr = inject(ChangeDetectorRef);\n this.contextMenu = viewChild('contextMenu');\n this.dataProvider = inject(AXPModuleDesignerService);\n this.workflow = inject(AXPWorkflowService);\n this.contextMenuService = inject(AXMModuleDesignerContextMenuService);\n this.modules = signal([]);\n this.moduleDataCache = new Map();\n this.destroyed = new Subject();\n this.subscribeActionEvents();\n }\n ngOnInit() {\n this.loadModules();\n }\n subscribeActionEvents() {\n this.workflow.events$\n .pipe(ofType(AXPEntityDeletedEvent, AXPEntityCreateEvent))\n .pipe(takeUntil(this.destroyed))\n .subscribe((event) => {\n const { meta } = event.payload;\n if (meta.type === 'module') {\n this.loadModules();\n }\n else {\n this.loadModuleData(meta.moduleId, meta.type, true);\n }\n this.cdr.markForCheck();\n });\n }\n async loadModules() {\n try {\n const modules = await this.dataProvider.getModules();\n this.modules.set(modules.items);\n this.refreshContextMenu();\n }\n catch (error) {\n console.error('Error loading modules:', error);\n }\n }\n async handleCollapseItemClick(moduleId, e, dataType) {\n if (e.component.isCollapsed) {\n e.handled = true;\n e.component.isLoading = true;\n await this.loadModuleData(moduleId, dataType);\n e.component.toggle();\n e.component.isLoading = false;\n e.component['cdr'].markForCheck();\n this.refreshContextMenu();\n }\n }\n refreshContextMenu() {\n setTimeout(() => {\n this.contextMenu()?.refresh();\n }, 0);\n }\n async loadModuleData(moduleId, dataType, hardReload = false) {\n const cacheKey = `${moduleId}-${dataType}`;\n let dataItems = this.moduleDataCache.get(cacheKey);\n // if (!dataItems || hardReload) {\n try {\n const methodMap = {\n entity: this.dataProvider.getEntities,\n permission: this.dataProvider.getPermissions,\n feature: this.dataProvider.getFeatures,\n };\n const data = await methodMap[dataType].call(this.dataProvider, moduleId);\n dataItems = data.items;\n this.moduleDataCache.set(cacheKey, dataItems);\n }\n catch (error) {\n console.error(`Error loading ${dataType}:`, error);\n }\n // }\n }\n getEntities(moduleId) {\n return this.moduleDataCache.get(`${moduleId}-entity`) || [];\n }\n getPermissions(moduleId) {\n return this.moduleDataCache.get(`${moduleId}-permission`) || [];\n }\n getFeatures(moduleId) {\n return this.moduleDataCache.get(`${moduleId}-feature`) || [];\n }\n openingContextMenu(e) {\n this.contextMenuService.open(e);\n }\n handleActionClick(e) {\n this.contextMenuService.itemClick(e);\n }\n createModule() {\n this.contextMenuService.createEntity('module');\n }\n destroy() {\n this.destroyed.next();\n this.destroyed.complete();\n }\n assignData(target, data) {\n set(target, 'data', data);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: AXMModuleDesignerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.0.7\", type: AXMModuleDesignerComponent, isStandalone: true, selector: \"ng-component\", viewQueries: [{ propertyName: \"contextMenu\", first: true, predicate: [\"contextMenu\"], descendants: true, isSignal: true }], ngImport: i0, template: \"<ax-drawer-container class=\\\"ax-overflow-hidden\\\">\\n <ax-drawer #drawer location=\\\"start\\\" [collapsed]=\\\"false\\\" [mode]=\\\"'push'\\\">\\n <ax-content class=\\\" ax-w-80 ax-relative ax-border-e ax-px-4 ax-py-2\\\">\\n <div class=\\\"ax-overflow-auto ax-h-[calc(100vh-180px)]\\\">\\n <span class=\\\"ax-font-bold ax-text-xl\\\">{{ 'designer.modules' | translate | async }}</span>\\n <div class=\\\"ax-flex ax-flex-col ax-gap-2 ax-mt-4\\\">\\n @if(modules().length){\\n <ax-collapse-group [accordion]=\\\"false\\\" look=\\\"blank\\\">\\n @for(m of modules();track $index){\\n <ax-collapse class=\\\"ctx\\\" icon=\\\"fas fa-folder ax-text-warning\\\" [isCollapsed]=\\\"true\\\" [caption]=\\\"m.title\\\"\\n look=\\\"none\\\" data-elementType=\\\"module\\\" [attr.data-moduleId]=\\\"m.id\\\" data-entityType=\\\"module\\\">\\n <div class=\\\"ax-mx-3\\\">\\n <ax-collapse-group [accordion]=\\\"false\\\" look=\\\"blank\\\">\\n <ax-collapse class=\\\"ctx\\\" icon=\\\"fas fa-box ax-text-neutral-400\\\" [isCollapsed]=\\\"true\\\"\\n (onClick)=\\\"handleCollapseItemClick(m.id, $event, 'entity')\\\"\\n [caption]=\\\"('designer.entities' | translate | async) ?? 'Entities'\\\" look=\\\"none\\\"\\n data-elementType=\\\"subModule\\\" [attr.data-moduleId]=\\\"m.id\\\" data-entityType=\\\"entity\\\">\\n <ng-container [ngTemplateOutlet]=\\\"childTemplate\\\" [ngTemplateOutletContext]=\\\"{\\n $implicit: { type: 'entity', items: getEntities(m.id), moduleId: m.id }\\n }\\\"></ng-container>\\n </ax-collapse>\\n\\n <ax-collapse class=\\\"ctx\\\" icon=\\\"fas fa-star ax-text-neutral-400\\\" [isCollapsed]=\\\"true\\\"\\n (onClick)=\\\"handleCollapseItemClick(m.id, $event, 'feature')\\\"\\n [caption]=\\\"('designer.features' | translate | async) ?? 'Features'\\\" look=\\\"none\\\"\\n data-elementType=\\\"subModule\\\" [attr.data-moduleId]=\\\"m.id\\\" data-entityType=\\\"feature\\\">\\n <ng-container [ngTemplateOutlet]=\\\"childTemplate\\\" [ngTemplateOutletContext]=\\\"{\\n $implicit: { type: 'feature', items: getFeatures(m.id), moduleId: m.id }\\n }\\\"></ng-container>\\n </ax-collapse>\\n\\n <ax-collapse class=\\\"ctx\\\" icon=\\\"fas fa-key ax-text-neutral-400\\\" [isCollapsed]=\\\"true\\\"\\n (onClick)=\\\"handleCollapseItemClick(m.id, $event, 'permission')\\\"\\n [caption]=\\\"('designer.permissions' | translate | async) ?? 'Permissions'\\\" look=\\\"none\\\"\\n data-elementType=\\\"subModule\\\" [attr.data-moduleId]=\\\"m.id\\\" data-entityType=\\\"permission\\\">\\n <ng-container [ngTemplateOutlet]=\\\"childTemplate\\\" [ngTemplateOutletContext]=\\\"{\\n $implicit: { type: 'permission', items: getPermissions(m.id), moduleId: m.id }\\n }\\\"></ng-container>\\n </ax-collapse>\\n </ax-collapse-group>\\n </div>\\n </ax-collapse>\\n }\\n </ax-collapse-group>\\n } @else {\\n <div class=\\\"ax-h-full ax-flex ax-items-center ax-justify-center\\\">\\n <span class=\\\"ax-text-neutral-500 ax-text-sm\\\">{{ 'designer.emptyModulesText' | translate | async }}</span>\\n </div>\\n }\\n </div>\\n <ax-button class=\\\"ax-absolute ax-bottom-4 ax-w-72\\\"\\n [text]=\\\"('designer.createModule' | translate | async) ?? 'Create New Module'\\\" (onClick)=\\\"createModule()\\\"\\n look=\\\"solid\\\" color=\\\"primary\\\">\\n <ax-icon class=\\\"fas fa-plus\\\"> </ax-icon>\\n </ax-button>\\n </div>\\n </ax-content>\\n\\n <ng-template #childTemplate let-child>\\n <div class=\\\"ax-flex ax-flex-col ax-cursor-pointer ax-select-none ax-border-s ax-ms-[14px] ax-ps-2\\\">\\n @for (item of child.items; track $index) {\\n\\n <div #d (click)=\\\"contextMenuService.showDetails(child.type, item.id)\\\"\\n class=\\\"ctx ax-px-2 ax-py-1 ax-flex ax-items-center ax-justify-between hover:ax-bg-neutral-100 dark:hover:ax-bg-neutral-700 hover:ax-rounded-md\\\"\\n data-elementType=\\\"subModuleItem\\\">\\n {{ assignData(d, { record: item, entityType: child.type, moduleId: child.moduleId }) }}\\n <span>{{ item.title }}</span>\\n <ax-badge [look]=\\\"'twotone'\\\" [color]=\\\"item.isArchived ? 'danger' : 'success'\\\"\\n [text]=\\\"item.isArchived ? 'Off' : 'On'\\\">\\n </ax-badge>\\n </div>\\n }\\n </div>\\n </ng-template>\\n </ax-drawer>\\n <ax-content>\\n <router-outlet></router-outlet>\\n </ax-content>\\n</ax-drawer-container>\\n\\n<ax-context-menu #contextMenu (onItemClick)=\\\"handleActionClick($event)\\\" [items]=\\\"[]\\\" [target]=\\\"'.ctx'\\\"\\n [orientation]=\\\"'vertical'\\\" [closeOn]=\\\"'leave'\\\" (onOpening)=\\\"openingContextMenu($event)\\\">\\n</ax-context-menu>\", styles: [\".ax-collapse-header{padding:.25rem .5rem!important}.ax-collapse-header:hover{border-radius:.375rem;--tw-bg-opacity: 1;background-color:rgb(245 245 245 / var(--tw-bg-opacity, 1))}.ax-collapse-header:hover:is(.ax-dark *){--tw-bg-opacity: 1;background-color:rgb(64 64 64 / var(--tw-bg-opacity, 1))}.ax-collapse-body-content{padding:.25rem!important;padding-inline-start:0!important}\\n\"], dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"directive\", type: i1.NgTemplateOutlet, selector: \"[ngTemplateOutlet]\", inputs: [\"ngTemplateOutletContext\", \"ngTemplateOutlet\", \"ngTemplateOutletInjector\"] }, { kind: \"pipe\", type: i1.AsyncPipe, name: \"async\" }, { kind: \"ngmodule\", type: AXDrawerModule }, { kind: \"component\", type: i2.AXDrawerComponent, selector: \"ax-drawer\", inputs: [\"location\", \"showBackdrop\", \"mode\", \"closeOthers\", \"collapsed\"], outputs: [\"locationChange\", \"modeChange\", \"collapsedChange\"] }, { kind: \"component\", type: i2.AXDrawerContainerComponent, selector: \"ax-drawer-container\" }, { kind: \"ngmodule\", type: AXButtonModule }, { kind: \"component\", type: i3.AXButtonComponent, selector: \"ax-button\", inputs: [\"disabled\", \"size\", \"tabIndex\", \"color\", \"look\", \"text\", \"toggleable\", \"selected\", \"iconOnly\", \"type\", \"loadingText\"], outputs: [\"onBlur\", \"onFocus\", \"onClick\", \"selectedChange\", \"toggleableChange\", \"lookChange\", \"colorChange\", \"disabledChange\", \"loadingTextChange\"] }, { kind: \"ngmodule\", type: AXDecoratorModule }, { kind: \"component\", type: i4.AXDecoratorIconComponent, selector: \"ax-icon\", 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: AXTranslationModule }, { kind: \"pipe\", type: i5.AXTranslatorPipe, name: \"translate\" }, { kind: \"ngmodule\", type: AXSideMenuModule }, { kind: \"ngmodule\", type: AXCollapseModule }, { kind: \"component\", type: i6.AXCollapseComponent, selector: \"ax-collapse\", inputs: [\"disabled\", \"look\", \"isCollapsed\", \"showHeader\", \"caption\", \"icon\", \"isLoading\", \"headerTemplate\"], outputs: [\"onClick\", \"isCollapsedChange\"] }, { kind: \"component\", type: i6.AXCollapseGroupComponent, selector: \"ax-collapse-group\", inputs: [\"look\", \"accordion\", \"activeIndex\"], outputs: [\"accordionChange\", \"activeIndexChange\"] }, { kind: \"ngmodule\", type: AXPopoverModule }, { kind: \"ngmodule\", type: AXSelectionListModule }, { kind: \"ngmodule\", type: AXBadgeModule }, { kind: \"component\", type: i7.AXBadgeComponent, selector: \"ax-badge\", inputs: [\"color\", \"look\", \"text\"] }, { kind: \"ngmodule\", type: AXMenuModule }, { kind: \"component\", type: i8.AXContextMenuComponent, selector: \"ax-context-menu\", inputs: [\"orientation\", \"openOn\", \"closeOn\", \"items\", \"target\"], outputs: [\"onItemClick\", \"onOpening\"] }, { kind: \"ngmodule\", type: RouterModule }, { kind: \"directive\", type: i9.RouterOutlet, selector: \"router-outlet\", inputs: [\"name\", \"routerOutletData\"], outputs: [\"activate\", \"deactivate\", \"attach\", \"detach\"], exportAs: [\"outlet\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: AXMModuleDesignerComponent, decorators: [{\n type: Component,\n args: [{ encapsulation: ViewEncapsulation.None, imports: [\n CommonModule,\n AXDrawerModule,\n AXButtonModule,\n AXDecoratorModule,\n AXTranslationModule,\n AXSideMenuModule,\n AXCollapseModule,\n AXPopoverModule,\n AXSelectionListModule,\n AXBadgeModule,\n AXMenuModule,\n RouterModule,\n ], changeDetection: ChangeDetectionStrategy.OnPush, template: \"<ax-drawer-container class=\\\"ax-overflow-hidden\\\">\\n <ax-drawer #drawer location=\\\"start\\\" [collapsed]=\\\"false\\\" [mode]=\\\"'push'\\\">\\n <ax-content class=\\\" ax-w-80 ax-relative ax-border-e ax-px-4 ax-py-2\\\">\\n <div class=\\\"ax-overflow-auto ax-h-[calc(100vh-180px)]\\\">\\n <span class=\\\"ax-font-bold ax-text-xl\\\">{{ 'designer.modules' | translate | async }}</span>\\n <div class=\\\"ax-flex ax-flex-col ax-gap-2 ax-mt-4\\\">\\n @if(modules().length){\\n <ax-collapse-group [accordion]=\\\"false\\\" look=\\\"blank\\\">\\n @for(m of modules();track $index){\\n <ax-collapse class=\\\"ctx\\\" icon=\\\"fas fa-folder ax-text-warning\\\" [isCollapsed]=\\\"true\\\" [caption]=\\\"m.title\\\"\\n look=\\\"none\\\" data-elementType=\\\"module\\\" [attr.data-moduleId]=\\\"m.id\\\" data-entityType=\\\"module\\\">\\n <div class=\\\"ax-mx-3\\\">\\n <ax-collapse-group [accordion]=\\\"false\\\" look=\\\"blank\\\">\\n <ax-collapse class=\\\"ctx\\\" icon=\\\"fas fa-box ax-text-neutral-400\\\" [isCollapsed]=\\\"true\\\"\\n (onClick)=\\\"handleCollapseItemClick(m.id, $event, 'entity')\\\"\\n [caption]=\\\"('designer.entities' | translate | async) ?? 'Entities'\\\" look=\\\"none\\\"\\n data-elementType=\\\"subModule\\\" [attr.data-moduleId]=\\\"m.id\\\" data-entityType=\\\"entity\\\">\\n <ng-container [ngTemplateOutlet]=\\\"childTemplate\\\" [ngTemplateOutletContext]=\\\"{\\n $implicit: { type: 'entity', items: getEntities(m.id), moduleId: m.id }\\n }\\\"></ng-container>\\n </ax-collapse>\\n\\n <ax-collapse class=\\\"ctx\\\" icon=\\\"fas fa-star ax-text-neutral-400\\\" [isCollapsed]=\\\"true\\\"\\n (onClick)=\\\"handleCollapseItemClick(m.id, $event, 'feature')\\\"\\n [caption]=\\\"('designer.features' | translate | async) ?? 'Features'\\\" look=\\\"none\\\"\\n data-elementType=\\\"subModule\\\" [attr.data-moduleId]=\\\"m.id\\\" data-entityType=\\\"feature\\\">\\n <ng-container [ngTemplateOutlet]=\\\"childTemplate\\\" [ngTemplateOutletContext]=\\\"{\\n $implicit: { type: 'feature', items: getFeatures(m.id), moduleId: m.id }\\n }\\\"></ng-container>\\n </ax-collapse>\\n\\n <ax-collapse class=\\\"ctx\\\" icon=\\\"fas fa-key ax-text-neutral-400\\\" [isCollapsed]=\\\"true\\\"\\n (onClick)=\\\"handleCollapseItemClick(m.id, $event, 'permission')\\\"\\n [caption]=\\\"('designer.permissions' | translate | async) ?? 'Permissions'\\\" look=\\\"none\\\"\\n data-elementType=\\\"subModule\\\" [attr.data-moduleId]=\\\"m.id\\\" data-entityType=\\\"permission\\\">\\n <ng-container [ngTemplateOutlet]=\\\"childTemplate\\\" [ngTemplateOutletContext]=\\\"{\\n $implicit: { type: 'permission', items: getPermissions(m.id), moduleId: m.id }\\n }\\\"></ng-container>\\n </ax-collapse>\\n </ax-collapse-group>\\n </div>\\n </ax-collapse>\\n }\\n </ax-collapse-group>\\n } @else {\\n <div class=\\\"ax-h-full ax-flex ax-items-center ax-justify-center\\\">\\n <span class=\\\"ax-text-neutral-500 ax-text-sm\\\">{{ 'designer.emptyModulesText' | translate | async }}</span>\\n </div>\\n }\\n </div>\\n <ax-button class=\\\"ax-absolute ax-bottom-4 ax-w-72\\\"\\n [text]=\\\"('designer.createModule' | translate | async) ?? 'Create New Module'\\\" (onClick)=\\\"createModule()\\\"\\n look=\\\"solid\\\" color=\\\"primary\\\">\\n <ax-icon class=\\\"fas fa-plus\\\"> </ax-icon>\\n </ax-button>\\n </div>\\n </ax-content>\\n\\n <ng-template #childTemplate let-child>\\n <div class=\\\"ax-flex ax-flex-col ax-cursor-pointer ax-select-none ax-border-s ax-ms-[14px] ax-ps-2\\\">\\n @for (item of child.items; track $index) {\\n\\n <div #d (click)=\\\"contextMenuService.showDetails(child.type, item.id)\\\"\\n class=\\\"ctx ax-px-2 ax-py-1 ax-flex ax-items-center ax-justify-between hover:ax-bg-neutral-100 dark:hover:ax-bg-neutral-700 hover:ax-rounded-md\\\"\\n data-elementType=\\\"subModuleItem\\\">\\n {{ assignData(d, { record: item, entityType: child.type, moduleId: child.moduleId }) }}\\n <span>{{ item.title }}</span>\\n <ax-badge [look]=\\\"'twotone'\\\" [color]=\\\"item.isArchived ? 'danger' : 'success'\\\"\\n [text]=\\\"item.isArchived ? 'Off' : 'On'\\\">\\n </ax-badge>\\n </div>\\n }\\n </div>\\n </ng-template>\\n </ax-drawer>\\n <ax-content>\\n <router-outlet></router-outlet>\\n </ax-content>\\n</ax-drawer-container>\\n\\n<ax-context-menu #contextMenu (onItemClick)=\\\"handleActionClick($event)\\\" [items]=\\\"[]\\\" [target]=\\\"'.ctx'\\\"\\n [orientation]=\\\"'vertical'\\\" [closeOn]=\\\"'leave'\\\" (onOpening)=\\\"openingContextMenu($event)\\\">\\n</ax-context-menu>\", styles: [\".ax-collapse-header{padding:.25rem .5rem!important}.ax-collapse-header:hover{border-radius:.375rem;--tw-bg-opacity: 1;background-color:rgb(245 245 245 / var(--tw-bg-opacity, 1))}.ax-collapse-header:hover:is(.ax-dark *){--tw-bg-opacity: 1;background-color:rgb(64 64 64 / var(--tw-bg-opacity, 1))}.ax-collapse-body-content{padding:.25rem!important;padding-inline-start:0!important}\\n\"] }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLWRlc2lnbmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9hcHBsaWNhdGlvbi1tYW5hZ2VtZW50L3NyYy9saWIvbW9kdWxlLWRlc2lnbmVyL21vZHVsZS1kZXNpZ25lci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvYXBwbGljYXRpb24tbWFuYWdlbWVudC9zcmMvbGliL21vZHVsZS1kZXNpZ25lci9tb2R1bGUtZGVzaWduZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQXdCLGdCQUFnQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDckYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sRUFJTCxZQUFZLEdBQ2IsTUFBTSx5QkFBeUIsQ0FBQztBQUNqQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDMUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDaEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDL0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDN0YsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxZQUFZ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LE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM1QixDQUFDOzhHQXZIVSwwQkFBMEI7a0dBQTFCLDBCQUEwQixvTUN2RHZDLHEySkFrRmtCLHNiRDFDZCxZQUFZLDBQQUNaLGNBQWMsNlVBQ2QsY0FBYyw2WEFDZCxpQkFBaUIsc1ZBQ2pCLG1CQUFtQiw4RkFDbkIsZ0JBQWdCLDhCQUNoQixnQkFBZ0IsOGJBQ2hCLGVBQWUsOEJBQ2YscUJBQXFCLDhCQUNyQixhQUFhLHlJQUNiLFlBQVksMk5BQ1osWUFBWTs7MkZBSUgsMEJBQTBCO2tCQXBCdEMsU0FBUztvQ0FHTyxpQkFBaUIsQ0FBQyxJQUFJLFdBQzVCO3dCQUNQLFlBQVk7d0JBQ1osY0FBYzt3QkFDZCxjQUFjO3dCQUNkLGlCQUFpQjt3QkFDakIsbUJBQW1CO3dCQUNuQixnQkFBZ0I7d0JBQ2hCLGdCQUFnQjt3QkFDaEIsZUFBZTt3QkFDZixxQkFBcUI7d0JBQ3JCLGFBQWE7d0JBQ2IsWUFBWTt3QkFDWixZQUFZO3FCQUNiLG1CQUNnQix1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhCYWRnZU1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9iYWRnZSc7XG5pbXBvcnQgeyBBWEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9idXR0b24nO1xuaW1wb3J0IHsgQVhDb2xsYXBzZUNsaWNrRXZlbnQsIEFYQ29sbGFwc2VNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvY29sbGFwc2UnO1xuaW1wb3J0IHsgQVhEZWNvcmF0b3JNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZGVjb3JhdG9ycyc7XG5pbXBvcnQgeyBBWERyYXdlck1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kcmF3ZXInO1xuaW1wb3J0IHtcbiAgQVhDb250ZXh0TWVudUNvbXBvbmVudCxcbiAgQVhDb250ZXh0TWVudUl0ZW1zQ2xpY2tFdmVudCxcbiAgQVhDb250ZXh0TWVudU9wZW5pbmdFdmVudCxcbiAgQVhNZW51TW9kdWxlLFxufSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvbWVudSc7XG5pbXBvcnQgeyBBWFBvcG92ZXJNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvcG9wb3Zlcic7XG5pbXBvcnQgeyBBWFNlbGVjdGlvbkxpc3RNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvc2VsZWN0aW9uLWxpc3QnO1xuaW1wb3J0IHsgQVhTaWRlTWVudU1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9zaWRlLW1lbnUnO1xuaW1wb3J0IHsgQVhUcmFuc2xhdGlvbk1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29yZS90cmFuc2xhdGlvbic7XG5pbXBvcnQgeyBBWFBFbnRpdHlDcmVhdGVFdmVudCwgQVhQRW50aXR5RGVsZXRlZEV2ZW50IH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvZW50aXR5JztcbmltcG9ydCB7IEFYUFdvcmtmbG93U2VydmljZSwgb2ZUeXBlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS93b3JrZmxvdyc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIGluamVjdCxcbiAgT25Jbml0LFxuICBzaWduYWwsXG4gIHZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IHNldCB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFYTU1vZHVsZURlc2lnbmVyQ29udGV4dE1lbnVTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvY29udGV4dC1tZW51LnNlcnZpY2UnO1xuaW1wb3J0IHsgQVhQTW9kdWxlRGVzaWduZXJTZXJ2aWNlIH0gZnJvbSAnLi9tb2R1bGUtZGVzaWduZXIuc2VydmljZSc7XG5pbXBvcnQgeyBBWE1Nb2R1bGVJdGVtIH0gZnJvbSAnLi9tb2R1bGUtZGVzaWduZXIudHlwZSc7XG5cbkBDb21wb25lbnQoe1xuICB0ZW1wbGF0ZVVybDogJy4vbW9kdWxlLWRlc2lnbmVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbW9kdWxlLWRlc2lnbmVyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgQVhEcmF3ZXJNb2R1bGUsXG4gICAgQVhCdXR0b25Nb2R1bGUsXG4gICAgQVhEZWNvcmF0b3JNb2R1bGUsXG4gICAgQVhUcmFuc2xhdGlvbk1vZHVsZSxcbiAgICBBWFNpZGVNZW51TW9kdWxlLFxuICAgIEFYQ29sbGFwc2VNb2R1bGUsXG4gICAgQVhQb3BvdmVyTW9kdWxlLFxuICAgIEFYU2VsZWN0aW9uTGlzdE1vZHVsZSxcbiAgICBBWEJhZGdlTW9kdWxlLFxuICAgIEFYTWVudU1vZHVsZSxcbiAgICBSb3V0ZXJNb2R1bGUsXG4gIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBBWE1Nb2R1bGVEZXNpZ25lckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHByb3RlY3RlZCBjZHI6IENoYW5nZURldGVjdG9yUmVmID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcbiAgcHJvdGVjdGVkIGNvbnRleHRNZW51ID0gdmlld0NoaWxkPEFYQ29udGV4dE1lbnVDb21wb25lbnQ+KCdjb250ZXh0TWVudScpO1xuXG4gIHByb3RlY3RlZCBkYXRhUHJvdmlkZXIgPSBpbmplY3QoQVhQTW9kdWxlRGVzaWduZXJTZXJ2aWNlKTtcbiAgcHJpdmF0ZSB3b3JrZmxvdyA9IGluamVjdChBWFBXb3JrZmxvd1NlcnZpY2UpO1xuICBwcm90ZWN0ZWQgY29udGV4dE1lbnVTZXJ2aWNlID0gaW5qZWN0KEFYTU1vZHVsZURlc2lnbmVyQ29udGV4dE1lbnVTZXJ2aWNlKTtcblxuICBwcm90ZWN0ZWQgbW9kdWxlcyA9IHNpZ25hbDxhbnlbXT4oW10pO1xuXG4gIHByb3RlY3RlZCBtb2R1bGVEYXRhQ2FjaGUgPSBuZXcgTWFwPHN0cmluZywgYW55W10+KCk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95ZWQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuc3Vic2NyaWJlQWN0aW9uRXZlbnRzKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmxvYWRNb2R1bGVzKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc3Vic2NyaWJlQWN0aW9uRXZlbnRzKCkge1xuICAgIHRoaXMud29ya2Zsb3cuZXZlbnRzJFxuICAgICAgLnBpcGUob2ZUeXBlKEFYUEVudGl0eURlbGV0ZWRFdmVudCwgQVhQRW50aXR5Q3JlYXRlRXZlbnQpKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveWVkKSlcbiAgICAgIC5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XG4gICAgICAgIGNvbnN0IHsgbWV0YSB9ID0gZXZlbnQucGF5bG9hZDtcbiAgICAgICAgaWYgKG1ldGEudHlwZSA9PT0gJ21vZHVsZScpIHtcbiAgICAgICAgICB0aGlzLmxvYWRNb2R1bGVzKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5sb2FkTW9kdWxlRGF0YShtZXRhLm1vZHVsZUlkLCBtZXRhLnR5cGUsIHRydWUpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgbG9hZE1vZHVsZXMoKSB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IG1vZHVsZXMgPSBhd2FpdCB0aGlzLmRhdGFQcm92aWRlci5nZXRNb2R1bGVzKCk7XG4gICAgICB0aGlzLm1vZHVsZXMuc2V0KG1vZHVsZXMuaXRlbXMpO1xuICAgICAgdGhpcy5yZWZyZXNoQ29udGV4dE1lbnUoKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgbG9hZGluZyBtb2R1bGVzOicsIGVycm9yKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgaGFuZGxlQ29sbGFwc2VJdGVtQ2xpY2sobW9kdWxlSWQ6IHN0cmluZywgZTogQVhDb2xsYXBzZUNsaWNrRXZlbnQsIGRhdGFUeXBlOiBBWE1Nb2R1bGVJdGVtKSB7XG4gICAgaWYgKGUuY29tcG9uZW50LmlzQ29sbGFwc2VkKSB7XG4gICAgICBlLmhhbmRsZWQgPSB0cnVlO1xuICAgICAgZS5jb21wb25lbnQuaXNMb2FkaW5nID0gdHJ1ZTtcblxuICAgICAgYXdhaXQgdGhpcy5sb2FkTW9kdWxlRGF0YShtb2R1bGVJZCwgZGF0YVR5cGUpO1xuXG4gICAgICBlLmNvbXBvbmVudC50b2dnbGUoKTtcbiAgICAgIGUuY29tcG9uZW50LmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgZS5jb21wb25lbnRbJ2NkciddLm1hcmtGb3JDaGVjaygpO1xuICAgICAgdGhpcy5yZWZyZXNoQ29udGV4dE1lbnUoKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgcmVmcmVzaENvbnRleHRNZW51KCkge1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5jb250ZXh0TWVudSgpPy5yZWZyZXNoKCk7XG4gICAgfSwgMCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgbG9hZE1vZHVsZURhdGEobW9kdWxlSWQ6IHN0cmluZywgZGF0YVR5cGU6IEFYTU1vZHVsZUl0ZW0sIGhhcmRSZWxvYWQgPSBmYWxzZSkge1xuICAgIGNvbnN0IGNhY2hlS2V5ID0gYCR7bW9kdWxlSWR9LSR7ZGF0YVR5cGV9YDtcblxuICAgIGxldCBkYXRhSXRlbXMgPSB0aGlzLm1vZHVsZURhdGFDYWNoZS5nZXQoY2FjaGVLZXkpO1xuICAgIC8vIGlmICghZGF0YUl0ZW1zIHx8IGhhcmRSZWxvYWQpIHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgbWV0aG9kTWFwID0ge1xuICAgICAgICBlbnRpdHk6IHRoaXMuZGF0YVByb3ZpZGVyLmdldEVudGl0aWVzLFxuICAgICAgICBwZXJtaXNzaW9uOiB0aGlzLmRhdGFQcm92aWRlci5nZXRQZXJtaXNzaW9ucyxcbiAgICAgICAgZmVhdHVyZTogdGhpcy5kYXRhUHJvdmlkZXIuZ2V0RmVhdHVyZXMsXG4gICAgICB9O1xuICAgICAgY29uc3QgZGF0YSA9IGF3YWl0IG1ldGhvZE1hcFtkYXRhVHlwZV0uY2FsbCh0aGlzLmRhdGFQcm92aWRlciwgbW9kdWxlSWQpO1xuXG4gICAgICBkYXRhSXRlbXMgPSBkYXRhLml0ZW1zIGFzIGFueVtdO1xuICAgICAgdGhpcy5tb2R1bGVEYXRhQ2FjaGUuc2V0KGNhY2hlS2V5LCBkYXRhSXRlbXMpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKGBFcnJvciBsb2FkaW5nICR7ZGF0YVR5cGV9OmAsIGVycm9yKTtcbiAgICB9XG4gICAgLy8gfVxuICB9XG5cbiAgcHJvdGVjdGVkIGdldEVudGl0aWVzKG1vZHVsZUlkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5tb2R1bGVEYXRhQ2FjaGUuZ2V0KGAke21vZHVsZUlkfS1lbnRpdHlgKSB8fCBbXTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRQZXJtaXNzaW9ucyhtb2R1bGVJZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMubW9kdWxlRGF0YUNhY2hlLmdldChgJHttb2R1bGVJZH0tcGVybWlzc2lvbmApIHx8IFtdO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldEZlYXR1cmVzKG1vZHVsZUlkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5tb2R1bGVEYXRhQ2FjaGUuZ2V0KGAke21vZHVsZUlkfS1mZWF0dXJlYCkgfHwgW107XG4gIH1cblxuICBwcm90ZWN0ZWQgb3BlbmluZ0NvbnRleHRNZW51KGU6IEFYQ29udGV4dE1lbnVPcGVuaW5nRXZlbnQpIHtcbiAgICB0aGlzLmNvbnRleHRNZW51U2VydmljZS5vcGVuKGUpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGhhbmRsZUFjdGlvbkNsaWNrKGU6IEFYQ29udGV4dE1lbnVJdGVtc0NsaWNrRXZlbnQpIHtcbiAgICB0aGlzLmNvbnRleHRNZW51U2VydmljZS5pdGVtQ2xpY2soZSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgY3JlYXRlTW9kdWxlKCkge1xuICAgIHRoaXMuY29udGV4dE1lbnVTZXJ2aWNlLmNyZWF0ZUVudGl0eSgnbW9kdWxlJyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZGVzdHJveSgpIHtcbiAgICB0aGlzLmRlc3Ryb3llZC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95ZWQuY29tcGxldGUoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBhc3NpZ25EYXRhKHRhcmdldDogSFRNTEVsZW1lbnQsIGRhdGE6IGFueSk6IHZvaWQge1xuICAgIHNldCh0YXJnZXQsICdkYXRhJywgZGF0YSk7XG4gIH1cbn1cbiIsIjxheC1kcmF3ZXItY29udGFpbmVyIGNsYXNzPVwiYXgtb3ZlcmZsb3ctaGlkZGVuXCI+XG4gIDxheC1kcmF3ZXIgI2RyYXdlciBsb2NhdGlvbj1cInN0YXJ0XCIgW2NvbGxhcHNlZF09XCJmYWxzZVwiIFttb2RlXT1cIidwdXNoJ1wiPlxuICAgIDxheC1jb250ZW50IGNsYXNzPVwiIGF4LXctODAgYXgtcmVsYXRpdmUgYXgtYm9yZGVyLWUgYXgtcHgtNCBheC1weS0yXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiYXgtb3ZlcmZsb3ctYXV0byBheC1oLVtjYWxjKDEwMHZoLTE4MHB4KV1cIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJheC1mb250LWJvbGQgYXgtdGV4dC14bFwiPnt7ICdkZXNpZ25lci5tb2R1bGVzJyB8IHRyYW5zbGF0ZSB8IGFzeW5jIH19PC9zcGFuPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtZmxleCBheC1mbGV4LWNvbCBheC1nYXAtMiBheC1tdC00XCI+XG4gICAgICAgICAgQGlmKG1vZHVsZXMoKS5sZW5ndGgpe1xuICAgICAgICAgIDxheC1jb2xsYXBzZS1ncm91cCBbYWNjb3JkaW9uXT1cImZhbHNlXCIgbG9vaz1cImJsYW5rXCI+XG4gICAgICAgICAgICBAZm9yKG0gb2YgbW9kdWxlcygpO3RyYWNrICRpbmRleCl7XG4gICAgICAgICAgICA8YXgtY29sbGFwc2UgY2xhc3M9XCJjdHhcIiBpY29uPVwiZmFzIGZhLWZvbGRlciBheC10ZXh0LXdhcm5pbmdcIiBbaXNDb2xsYXBzZWRdPVwidHJ1ZVwiIFtjYXB0aW9uXT1cIm0udGl0bGVcIlxuICAgICAgICAgICAgICBsb29rPVwibm9uZVwiIGRhdGEtZWxlbWVudFR5cGU9XCJtb2R1bGVcIiBbYXR0ci5kYXRhLW1vZHVsZUlkXT1cIm0uaWRcIiBkYXRhLWVudGl0eVR5cGU9XCJtb2R1bGVcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LW14LTNcIj5cbiAgICAgICAgICAgICAgICA8YXgtY29sbGFwc2UtZ3JvdXAgW2FjY29yZGlvbl09XCJmYWxzZVwiIGxvb2s9XCJibGFua1wiPlxuICAgICAgICAgICAgICAgICAgPGF4LWNvbGxhcHNlIGNsYXNzPVwiY3R4XCIgaWNvbj1cImZhcyBmYS1ib3ggYXgtdGV4dC1uZXV0cmFsLTQwMFwiIFtpc0NvbGxhcHNlZF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgKG9uQ2xpY2spPVwiaGFuZGxlQ29sbGFwc2VJdGVtQ2xpY2sobS5pZCwgJGV2ZW50LCAnZW50aXR5JylcIlxuICAgICAgICAgICAgICAgICAgICBbY2FwdGlvbl09XCIoJ2Rlc2lnbmVyLmVudGl0aWVzJyB8IHRyYW5zbGF0ZSB8IGFzeW5jKSA/PyAnRW50aXRpZXMnXCIgbG9vaz1cIm5vbmVcIlxuICAgICAgICAgICAgICAgICAgICBkYXRhLWVsZW1lbnRUeXBlPVwic3ViTW9kdWxlXCIgW2F0dHIuZGF0YS1tb2R1bGVJZF09XCJtLmlkXCIgZGF0YS1lbnRpdHlUeXBlPVwiZW50aXR5XCI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiY2hpbGRUZW1wbGF0ZVwiIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7XG4gICAgICAgICAgICAgICAgICAgICAgICAkaW1wbGljaXQ6IHsgdHlwZTogJ2VudGl0eScsIGl0ZW1zOiBnZXRFbnRpdGllcyhtLmlkKSwgbW9kdWxlSWQ6IG0uaWQgfVxuICAgICAgICAgICAgICAgICAgICAgIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgIDwvYXgtY29sbGFwc2U+XG5cbiAgICAgICAgICAgICAgICAgIDxheC1jb2xsYXBzZSBjbGFzcz1cImN0eFwiIGljb249XCJmYXMgZmEtc3RhciBheC10ZXh0LW5ldXRyYWwtNDAwXCIgW2lzQ29sbGFwc2VkXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAob25DbGljayk9XCJoYW5kbGVDb2xsYXBzZUl0ZW1DbGljayhtLmlkLCAkZXZlbnQsICdmZWF0dXJlJylcIlxuICAgICAgICAgICAgICAgICAgICBbY2FwdGlvbl09XCIoJ2Rlc2lnbmVyLmZlYXR1cmVzJyB8IHRyYW5zbGF0ZSB8IGFzeW5jKSA/PyAnRmVhdHVyZXMnXCIgbG9vaz1cIm5vbmVcIlxuICAgICAgICAgICAgICAgICAgICBkYXRhLWVsZW1lbnRUeXBlPVwic3ViTW9kdWxlXCIgW2F0dHIuZGF0YS1tb2R1bGVJZF09XCJtLmlkXCIgZGF0YS1lbnRpdHlUeXBlPVwiZmVhdHVyZVwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImNoaWxkVGVtcGxhdGVcIiBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwie1xuICAgICAgICAgICAgICAgICAgICAgICAgJGltcGxpY2l0OiB7IHR5cGU6ICdmZWF0dXJlJywgaXRlbXM6IGdldEZlYXR1cmVzKG0uaWQpLCBtb2R1bGVJZDogbS5pZCB9XG4gICAgICAgICAgICAgICAgICAgICAgfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgPC9heC1jb2xsYXBzZT5cblxuICAgICAgICAgICAgICAgICAgPGF4LWNvbGxhcHNlIGNsYXNzPVwiY3R4XCIgaWNvbj1cImZhcyBmYS1rZXkgYXgtdGV4dC1uZXV0cmFsLTQwMFwiIFtpc0NvbGxhcHNlZF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgKG9uQ2xpY2spPVwiaGFuZGxlQ29sbGFwc2VJdGVtQ2xpY2sobS5pZCwgJGV2ZW50LCAncGVybWlzc2lvbicpXCJcbiAgICAgICAgICAgICAgICAgICAgW2NhcHRpb25dPVwiKCdkZXNpZ25lci5wZXJtaXNzaW9ucycgfCB0cmFuc2xhdGUgfCBhc3luYykgPz8gJ1Blcm1pc3Npb25zJ1wiIGxvb2s9XCJub25lXCJcbiAgICAgICAgICAgICAgICAgICAgZGF0YS1lbGVtZW50VHlwZT1cInN1Yk1vZHVsZVwiIFthdHRyLmRhdGEtbW9kdWxlSWRdPVwibS5pZFwiIGRhdGEtZW50aXR5VHlwZT1cInBlcm1pc3Npb25cIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJjaGlsZFRlbXBsYXRlXCIgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIntcbiAgICAgICAgICAgICAgICAgICAgICAgICRpbXBsaWNpdDogeyB0eXBlOiAncGVybWlzc2lvbicsIGl0ZW1zOiBnZXRQZXJtaXNzaW9ucyhtLmlkKSwgbW9kdWxlSWQ6IG0uaWQgfVxuICAgICAgICAgICAgICAgICAgICAgIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgIDwvYXgtY29sbGFwc2U+XG4gICAgICAgICAgICAgICAgPC9heC1jb2xsYXBzZS1ncm91cD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2F4LWNvbGxhcHNlPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvYXgtY29sbGFwc2UtZ3JvdXA+XG4gICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWgtZnVsbCBheC1mbGV4IGF4LWl0ZW1zLWNlbnRlciBheC1qdXN0aWZ5LWNlbnRlclwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJheC10ZXh0LW5ldXRyYWwtNTAwIGF4LXRleHQtc21cIj57eyAnZGVzaWduZXIuZW1wdHlNb2R1bGVzVGV4dCcgfCB0cmFuc2xhdGUgfCBhc3luYyB9fTwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8YXgtYnV0dG9uIGNsYXNzPVwiYXgtYWJzb2x1dGUgYXgtYm90dG9tLTQgYXgtdy03MlwiXG4gICAgICAgICAgW3RleHRdPVwiKCdkZXNpZ25lci5jcmVhdGVNb2R1bGUnIHwgdHJhbnNsYXRlIHwgYXN5bmMpID8/ICdDcmVhdGUgTmV3IE1vZHVsZSdcIiAob25DbGljayk9XCJjcmVhdGVNb2R1bGUoKVwiXG4gICAgICAgICAgbG9vaz1cInNvbGlkXCIgY29sb3I9XCJwcmltYXJ5XCI+XG4gICAgICAgICAgPGF4LWljb24gY2xhc3M9XCJmYXMgZmEtcGx1c1wiPiA8L2F4LWljb24+XG4gICAgICAgIDwvYXgtYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9heC1jb250ZW50PlxuXG4gICAgPG5nLXRlbXBsYXRlICNjaGlsZFRlbXBsYXRlIGxldC1jaGlsZD5cbiAgICAgIDxkaXYgY2xhc3M9XCJheC1mbGV4IGF4LWZsZXgtY29sIGF4LWN1cnNvci1wb2ludGVyIGF4LXNlbGVjdC1ub25lIGF4LWJvcmRlci1zIGF4LW1zLVsxNHB4XSBheC1wcy0yXCI+XG4gICAgICAgIEBmb3IgKGl0ZW0gb2YgY2hpbGQuaXRlbXM7IHRyYWNrICRpbmRleCkge1xuXG4gICAgICAgIDxkaXYgI2QgKGNsaWNrKT1cImNvbnRleHRNZW51U2VydmljZS5zaG93RGV0YWlscyhjaGlsZC50eXBlLCBpdGVtLmlkKVwiXG4gICAgICAgICAgY2xhc3M9XCJjdHggYXgtcHgtMiBheC1weS0xIGF4LWZsZXggYXgtaXRlbXMtY2VudGVyIGF4LWp1c3RpZnktYmV0d2VlbiBob3ZlcjpheC1iZy1uZXV0cmFsLTEwMCBkYXJrOmhvdmVyOmF4LWJnLW5ldXRyYWwtNzAwIGhvdmVyOmF4LXJvdW5kZWQtbWRcIlxuICAgICAgICAgIGRhdGEtZWxlbWVudFR5cGU9XCJzdWJNb2R1bGVJdGVtXCI+XG4gICAgICAgICAge3sgYXNzaWduRGF0YShkLCB7IHJlY29yZDogaXRlbSwgZW50aXR5VHlwZTogY2hpbGQudHlwZSwgbW9kdWxlSWQ6IGNoaWxkLm1vZHVsZUlkIH0pIH19XG4gICAgICAgICAgPHNwYW4+e3sgaXRlbS50aXRsZSB9fTwvc3Bhbj5cbiAgICAgICAgICA8YXgtYmFkZ2UgW2xvb2tdPVwiJ3R3b3RvbmUnXCIgW2NvbG9yXT1cIml0ZW0uaXNBcmNoaXZlZCA/ICdkYW5nZXInIDogJ3N1Y2Nlc3MnXCJcbiAgICAgICAgICAgIFt0ZXh0XT1cIml0ZW0uaXNBcmNoaXZlZCA/ICdPZmYnIDogJ09uJ1wiPlxuICAgICAgICAgIDwvYXgtYmFkZ2U+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L2F4LWRyYXdlcj5cbiAgPGF4LWNvbnRlbnQ+XG4gICAgPHJvdXRlci1vdXRsZXQ+PC9yb3V0ZXItb3V0bGV0PlxuICA8L2F4LWNvbnRlbnQ+XG48L2F4LWRyYXdlci1jb250YWluZXI+XG5cbjxheC1jb250ZXh0LW1lbnUgI2NvbnRleHRNZW51IChvbkl0ZW1DbGljayk9XCJoYW5kbGVBY3Rpb25DbGljaygkZXZlbnQpXCIgW2l0ZW1zXT1cIltdXCIgW3RhcmdldF09XCInLmN0eCdcIlxuICBbb3JpZW50YXRpb25dPVwiJ3ZlcnRpY2FsJ1wiIFtjbG9zZU9uXT1cIidsZWF2ZSdcIiAob25PcGVuaW5nKT1cIm9wZW5pbmdDb250ZXh0TWVudSgkZXZlbnQpXCI+XG48L2F4LWNvbnRleHQtbWVudT4iXX0="],"names":["i3","i4","i5","i6","i8","i9"],"mappings":"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"}
|