@acorex/modules 20.0.23 → 20.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/auth/index.d.ts +57 -4
- package/common/index.d.ts +8 -1
- package/data-management/index.d.ts +401 -3
- package/fesm2022/{acorex-modules-application-management-module-designer.component-BvuZJdwg.mjs → acorex-modules-application-management-module-designer.component-udoks-Ef.mjs} +17 -17
- package/fesm2022/acorex-modules-application-management-module-designer.component-udoks-Ef.mjs.map +1 -0
- package/fesm2022/acorex-modules-application-management.mjs +53 -53
- package/fesm2022/acorex-modules-application-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-auth-acorex-modules-auth-DqsEqXec.mjs → acorex-modules-auth-acorex-modules-auth-5TIjp5UG.mjs} +182 -123
- package/fesm2022/acorex-modules-auth-acorex-modules-auth-5TIjp5UG.mjs.map +1 -0
- package/fesm2022/{acorex-modules-auth-app-chooser.component-D0pKNUts.mjs → acorex-modules-auth-app-chooser.component-B0w1Xzx7.mjs} +6 -6
- package/fesm2022/{acorex-modules-auth-app-chooser.component-D0pKNUts.mjs.map → acorex-modules-auth-app-chooser.component-B0w1Xzx7.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-blank.layout-BwVSMaFI.mjs → acorex-modules-auth-blank.layout-C8NsXB9K.mjs} +5 -5
- package/fesm2022/{acorex-modules-auth-blank.layout-BwVSMaFI.mjs.map → acorex-modules-auth-blank.layout-C8NsXB9K.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-login.module-Dky49ylL.mjs → acorex-modules-auth-login.module-B8sVVZHV.mjs} +8 -8
- package/fesm2022/{acorex-modules-auth-login.module-Dky49ylL.mjs.map → acorex-modules-auth-login.module-B8sVVZHV.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-master.layout-DXfRjCLL.mjs → acorex-modules-auth-master.layout-CMKxj1Qo.mjs} +7 -7
- package/fesm2022/{acorex-modules-auth-master.layout-DXfRjCLL.mjs.map → acorex-modules-auth-master.layout-CMKxj1Qo.mjs.map} +1 -1
- package/fesm2022/acorex-modules-auth-oauth-callback.component-C95YLpI_.mjs +101 -0
- package/fesm2022/acorex-modules-auth-oauth-callback.component-C95YLpI_.mjs.map +1 -0
- package/fesm2022/{acorex-modules-auth-password.component-oH5OFHqQ.mjs → acorex-modules-auth-password.component-DH0qKunk.mjs} +9 -9
- package/fesm2022/{acorex-modules-auth-password.component-oH5OFHqQ.mjs.map → acorex-modules-auth-password.component-DH0qKunk.mjs.map} +1 -1
- package/fesm2022/acorex-modules-auth-password.component-Du0EBIiw.mjs +239 -0
- package/fesm2022/acorex-modules-auth-password.component-Du0EBIiw.mjs.map +1 -0
- package/fesm2022/{acorex-modules-auth-routes-DAiaTm4Y.mjs → acorex-modules-auth-routes-Q9zaIiBS.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-routes-DAiaTm4Y.mjs.map → acorex-modules-auth-routes-Q9zaIiBS.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-3-FFY4tI.mjs → acorex-modules-auth-tenant-chooser.component-wp7OOLsH.mjs} +16 -13
- package/fesm2022/acorex-modules-auth-tenant-chooser.component-wp7OOLsH.mjs.map +1 -0
- package/fesm2022/{acorex-modules-auth-two-factor-code.component-UUmdX7IM.mjs → acorex-modules-auth-two-factor-code.component-DSWd06bn.mjs} +7 -7
- package/fesm2022/{acorex-modules-auth-two-factor-code.component-UUmdX7IM.mjs.map → acorex-modules-auth-two-factor-code.component-DSWd06bn.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-two-factor.module-Coe4NNUW.mjs → acorex-modules-auth-two-factor.module-oRixkeAn.mjs} +7 -7
- package/fesm2022/{acorex-modules-auth-two-factor.module-Coe4NNUW.mjs.map → acorex-modules-auth-two-factor.module-oRixkeAn.mjs.map} +1 -1
- package/fesm2022/acorex-modules-auth-user-sessions.component-8wwWI0cQ.mjs +135 -0
- package/fesm2022/acorex-modules-auth-user-sessions.component-8wwWI0cQ.mjs.map +1 -0
- package/fesm2022/acorex-modules-auth.mjs +1 -1
- package/fesm2022/acorex-modules-calendar-management.mjs +19 -19
- package/fesm2022/acorex-modules-calendar-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-common-acorex-modules-common-DQESb8jf.mjs +1667 -0
- package/fesm2022/acorex-modules-common-acorex-modules-common-DQESb8jf.mjs.map +1 -0
- package/fesm2022/{acorex-modules-common-search-popup.component-B_bJ0ZRM.mjs → acorex-modules-common-search-popup.component-CpFvcrxw.mjs} +13 -13
- package/fesm2022/acorex-modules-common-search-popup.component-CpFvcrxw.mjs.map +1 -0
- package/fesm2022/{acorex-modules-platform-management-settings.provider-intHn3XI.mjs → acorex-modules-common-settings.provider-ha75F6g5.mjs} +2 -3
- package/fesm2022/acorex-modules-common-settings.provider-ha75F6g5.mjs.map +1 -0
- package/fesm2022/{acorex-modules-common-timeline-version-history-popup.component-D48aDOVu.mjs → acorex-modules-common-timeline-version-history-popup.component-D_6STmWm.mjs} +11 -11
- package/fesm2022/acorex-modules-common-timeline-version-history-popup.component-D_6STmWm.mjs.map +1 -0
- package/fesm2022/acorex-modules-common.mjs +1 -1199
- package/fesm2022/acorex-modules-common.mjs.map +1 -1
- package/fesm2022/{acorex-modules-contact-management-acorex-modules-contact-management-DVjMlS0K.mjs → acorex-modules-contact-management-acorex-modules-contact-management-CM72FkGM.mjs} +47 -222
- package/fesm2022/acorex-modules-contact-management-acorex-modules-contact-management-CM72FkGM.mjs.map +1 -0
- package/fesm2022/{acorex-modules-contact-management-address-type.entity-CWIBwWfZ.mjs → acorex-modules-contact-management-address-type.entity-CW0fx3v8.mjs} +2 -2
- package/fesm2022/{acorex-modules-contact-management-address-type.entity-CWIBwWfZ.mjs.map → acorex-modules-contact-management-address-type.entity-CW0fx3v8.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-contact-management-contact-address.entity-DO6GizbS.mjs → acorex-modules-contact-management-contact-address.entity-D5OGWsSx.mjs} +2 -2
- package/fesm2022/{acorex-modules-contact-management-contact-address.entity-DO6GizbS.mjs.map → acorex-modules-contact-management-contact-address.entity-D5OGWsSx.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-contact-management-contact-method.entity-tEtMSV4f.mjs → acorex-modules-contact-management-contact-method.entity-Cpdd-Xwb.mjs} +2 -2
- package/fesm2022/{acorex-modules-contact-management-contact-method.entity-tEtMSV4f.mjs.map → acorex-modules-contact-management-contact-method.entity-Cpdd-Xwb.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-contact-management-contact-relationship.entity-C-B5aOoq.mjs → acorex-modules-contact-management-contact-relationship.entity-B_gQ7mEo.mjs} +2 -2
- package/fesm2022/{acorex-modules-contact-management-contact-relationship.entity-C-B5aOoq.mjs.map → acorex-modules-contact-management-contact-relationship.entity-B_gQ7mEo.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-contact-management-contact-source.entity-Dw8jwcox.mjs → acorex-modules-contact-management-contact-source.entity-BwYBaS8B.mjs} +2 -2
- package/fesm2022/{acorex-modules-contact-management-contact-source.entity-Dw8jwcox.mjs.map → acorex-modules-contact-management-contact-source.entity-BwYBaS8B.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-contact-management-emergency-contact-category.entity-BJOOhcD1.mjs → acorex-modules-contact-management-emergency-contact-category.entity-CDbm4Rq3.mjs} +2 -2
- package/fesm2022/{acorex-modules-contact-management-emergency-contact-category.entity-BJOOhcD1.mjs.map → acorex-modules-contact-management-emergency-contact-category.entity-CDbm4Rq3.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-contact-management-emergency-contact.entity-Cr7_5JKD.mjs → acorex-modules-contact-management-emergency-contact.entity-BpNDJPVs.mjs} +2 -2
- package/fesm2022/{acorex-modules-contact-management-emergency-contact.entity-Cr7_5JKD.mjs.map → acorex-modules-contact-management-emergency-contact.entity-BpNDJPVs.mjs.map} +1 -1
- package/fesm2022/acorex-modules-contact-management.mjs +1 -1
- package/fesm2022/acorex-modules-content-management.mjs +14 -14
- package/fesm2022/acorex-modules-content-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-conversation.mjs +123 -123
- package/fesm2022/acorex-modules-conversation.mjs.map +1 -1
- package/fesm2022/acorex-modules-dashboard-management.mjs +191 -191
- package/fesm2022/acorex-modules-dashboard-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-data-management.mjs +2215 -265
- package/fesm2022/acorex-modules-data-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-document-management-acorex-modules-document-management-Bte3VGKC.mjs → acorex-modules-document-management-acorex-modules-document-management-B4Jd-KGV.mjs} +144 -144
- package/fesm2022/acorex-modules-document-management-acorex-modules-document-management-B4Jd-KGV.mjs.map +1 -0
- package/fesm2022/{acorex-modules-document-management-attachment-widget.component-Cc0anIMV.mjs → acorex-modules-document-management-attachment-widget.component-Bp4kKjC4.mjs} +5 -5
- package/fesm2022/{acorex-modules-document-management-attachment-widget.component-Cc0anIMV.mjs.map → acorex-modules-document-management-attachment-widget.component-Bp4kKjC4.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-create-folder-dialog.component-BNcu8bzT.mjs → acorex-modules-document-management-create-folder-dialog.component-12aUAucS.mjs} +22 -22
- package/fesm2022/acorex-modules-document-management-create-folder-dialog.component-12aUAucS.mjs.map +1 -0
- package/fesm2022/{acorex-modules-document-management-details-view.component-BeN0NPcy.mjs → acorex-modules-document-management-details-view.component-bzA7fJZW.mjs} +5 -5
- package/fesm2022/{acorex-modules-document-management-details-view.component-BeN0NPcy.mjs.map → acorex-modules-document-management-details-view.component-bzA7fJZW.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-drive-choose.component-B66wODCQ.mjs → acorex-modules-document-management-drive-choose.component-DLJdJzp1.mjs} +18 -18
- package/fesm2022/acorex-modules-document-management-drive-choose.component-DLJdJzp1.mjs.map +1 -0
- package/fesm2022/{acorex-modules-document-management-drive.component-CUej0GjY.mjs → acorex-modules-document-management-drive.component-DrkSd6Rv.mjs} +28 -28
- package/fesm2022/acorex-modules-document-management-drive.component-DrkSd6Rv.mjs.map +1 -0
- package/fesm2022/{acorex-modules-document-management-large-icons-view.component-BuwrkLhe.mjs → acorex-modules-document-management-large-icons-view.component-DV8oWdDh.mjs} +5 -5
- package/fesm2022/{acorex-modules-document-management-large-icons-view.component-BuwrkLhe.mjs.map → acorex-modules-document-management-large-icons-view.component-DV8oWdDh.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-large-tiles-view.component-Cs-mjiQX.mjs → acorex-modules-document-management-large-tiles-view.component-Bgr9s_zf.mjs} +5 -5
- package/fesm2022/{acorex-modules-document-management-large-tiles-view.component-Cs-mjiQX.mjs.map → acorex-modules-document-management-large-tiles-view.component-Bgr9s_zf.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-link-dialog.component-OTa8ttto.mjs → acorex-modules-document-management-link-dialog.component-CSEIhT4P.mjs} +5 -5
- package/fesm2022/{acorex-modules-document-management-link-dialog.component-OTa8ttto.mjs.map → acorex-modules-document-management-link-dialog.component-CSEIhT4P.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-list-view.component-1M2rIOGv.mjs → acorex-modules-document-management-list-view.component-Dz6ymqrq.mjs} +5 -5
- package/fesm2022/{acorex-modules-document-management-list-view.component-1M2rIOGv.mjs.map → acorex-modules-document-management-list-view.component-Dz6ymqrq.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-meta-choose-popup.component-DsSo15AL.mjs → acorex-modules-document-management-meta-choose-popup.component-DYJN-4Pe.mjs} +20 -20
- package/fesm2022/acorex-modules-document-management-meta-choose-popup.component-DYJN-4Pe.mjs.map +1 -0
- package/fesm2022/{acorex-modules-document-management-meta-selector-widget-column.component-gunvY9et.mjs → acorex-modules-document-management-meta-selector-widget-column.component-C_J1rPak.mjs} +4 -4
- package/fesm2022/{acorex-modules-document-management-meta-selector-widget-column.component-gunvY9et.mjs.map → acorex-modules-document-management-meta-selector-widget-column.component-C_J1rPak.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-meta-selector-widget-designer.component-B-fYrGs1.mjs → acorex-modules-document-management-meta-selector-widget-designer.component-By_NgUX6.mjs} +7 -7
- package/fesm2022/acorex-modules-document-management-meta-selector-widget-designer.component-By_NgUX6.mjs.map +1 -0
- package/fesm2022/{acorex-modules-document-management-meta-selector-widget-view.component-D4gu7liQ.mjs → acorex-modules-document-management-meta-selector-widget-view.component-zwCw3v1w.mjs} +4 -4
- package/fesm2022/{acorex-modules-document-management-meta-selector-widget-view.component-D4gu7liQ.mjs.map → acorex-modules-document-management-meta-selector-widget-view.component-zwCw3v1w.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-permission-definition.provider-BEq3ySY3.mjs → acorex-modules-document-management-permission-definition.provider-CN7HVQLu.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-permission-definition.provider-BEq3ySY3.mjs.map → acorex-modules-document-management-permission-definition.provider-CN7HVQLu.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-rename-node-dialog.component-DWzD41AV.mjs → acorex-modules-document-management-rename-node-dialog.component-C_dsLLMb.mjs} +15 -15
- package/fesm2022/acorex-modules-document-management-rename-node-dialog.component-C_dsLLMb.mjs.map +1 -0
- package/fesm2022/{acorex-modules-document-management-share-dialog.component-DiyR6CiE.mjs → acorex-modules-document-management-share-dialog.component-CBrf7hjZ.mjs} +6 -6
- package/fesm2022/{acorex-modules-document-management-share-dialog.component-DiyR6CiE.mjs.map → acorex-modules-document-management-share-dialog.component-CBrf7hjZ.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-share-email-dialog.component-CKlG3YwB.mjs → acorex-modules-document-management-share-email-dialog.component-D3WcHAOf.mjs} +5 -5
- package/fesm2022/{acorex-modules-document-management-share-email-dialog.component-CKlG3YwB.mjs.map → acorex-modules-document-management-share-email-dialog.component-D3WcHAOf.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-small-icons-view.component-Dh5Di_2Y.mjs → acorex-modules-document-management-small-icons-view.component-wvFkjOqg.mjs} +5 -5
- package/fesm2022/{acorex-modules-document-management-small-icons-view.component-Dh5Di_2Y.mjs.map → acorex-modules-document-management-small-icons-view.component-wvFkjOqg.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-small-tiles-view.component-mOjQbw-f.mjs → acorex-modules-document-management-small-tiles-view.component-C4ARGOZR.mjs} +5 -5
- package/fesm2022/{acorex-modules-document-management-small-tiles-view.component-mOjQbw-f.mjs.map → acorex-modules-document-management-small-tiles-view.component-C4ARGOZR.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-EsaVgkdd.mjs → acorex-modules-form-template-management-acorex-modules-form-template-management-zz8KU2BM.mjs} +68 -68
- package/fesm2022/acorex-modules-form-template-management-acorex-modules-form-template-management-zz8KU2BM.mjs.map +1 -0
- package/fesm2022/{acorex-modules-form-template-management-category.entity-CC0qe4pv.mjs → acorex-modules-form-template-management-category.entity-g5YGQjj3.mjs} +2 -2
- package/fesm2022/{acorex-modules-form-template-management-category.entity-CC0qe4pv.mjs.map → acorex-modules-form-template-management-category.entity-g5YGQjj3.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-form-template-management-designer.page-B14QVCAw.mjs → acorex-modules-form-template-management-designer.page-DQorNK3f.mjs} +6 -6
- package/fesm2022/acorex-modules-form-template-management-designer.page-DQorNK3f.mjs.map +1 -0
- package/fesm2022/{acorex-modules-form-template-management-permission-definition.provider-BMd6DvoR.mjs → acorex-modules-form-template-management-permission-definition.provider-BFPqDVO3.mjs} +2 -2
- package/fesm2022/{acorex-modules-form-template-management-permission-definition.provider-BMd6DvoR.mjs.map → acorex-modules-form-template-management-permission-definition.provider-BFPqDVO3.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-form-template-management-settings.provider-BYS5t4c_.mjs → acorex-modules-form-template-management-settings.provider-DYbrgJI7.mjs} +2 -2
- package/fesm2022/{acorex-modules-form-template-management-settings.provider-BYS5t4c_.mjs.map → acorex-modules-form-template-management-settings.provider-DYbrgJI7.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-form-template-management-template-picker.component-C0mLCsFT.mjs → acorex-modules-form-template-management-template-picker.component-DgH_DUIB.mjs} +14 -14
- package/fesm2022/acorex-modules-form-template-management-template-picker.component-DgH_DUIB.mjs.map +1 -0
- package/fesm2022/{acorex-modules-form-template-management-template-widget-edit.component-CffnsEo2.mjs → acorex-modules-form-template-management-template-widget-edit.component-CCL7xNSm.mjs} +9 -9
- package/fesm2022/acorex-modules-form-template-management-template-widget-edit.component-CCL7xNSm.mjs.map +1 -0
- package/fesm2022/{acorex-modules-form-template-management-template.entity-DTx9CejD.mjs → acorex-modules-form-template-management-template.entity-XNBsmQZY.mjs} +2 -2
- package/fesm2022/{acorex-modules-form-template-management-template.entity-DTx9CejD.mjs.map → acorex-modules-form-template-management-template.entity-XNBsmQZY.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-form-template-management-viewer-popup.component-BwVSDsN3.mjs → acorex-modules-form-template-management-viewer-popup.component-Bw9VbGx7.mjs} +12 -12
- package/fesm2022/acorex-modules-form-template-management-viewer-popup.component-Bw9VbGx7.mjs.map +1 -0
- package/fesm2022/acorex-modules-form-template-management.mjs +1 -1
- package/fesm2022/{acorex-modules-issue-management-acorex-modules-issue-management-DKdtV_QL.mjs → acorex-modules-issue-management-acorex-modules-issue-management-B8ZVc-0b.mjs} +45 -45
- package/fesm2022/{acorex-modules-issue-management-acorex-modules-issue-management-DKdtV_QL.mjs.map → acorex-modules-issue-management-acorex-modules-issue-management-B8ZVc-0b.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-issue-management-capture-screen.component-CucnKDr1.mjs → acorex-modules-issue-management-capture-screen.component-D1vapaJC.mjs} +7 -7
- package/fesm2022/{acorex-modules-issue-management-capture-screen.component-CucnKDr1.mjs.map → acorex-modules-issue-management-capture-screen.component-D1vapaJC.mjs.map} +1 -1
- package/fesm2022/acorex-modules-issue-management.mjs +1 -1
- package/fesm2022/acorex-modules-log-management.mjs +427 -479
- package/fesm2022/acorex-modules-log-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-notification-management.mjs +60 -60
- package/fesm2022/acorex-modules-notification-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-organization-management-add-item.component-Br70YGJS.mjs → acorex-modules-organization-management-add-item.component-DsDk5cyO.mjs} +16 -16
- package/fesm2022/{acorex-modules-organization-management-add-item.component-Br70YGJS.mjs.map → acorex-modules-organization-management-add-item.component-DsDk5cyO.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-branch.entity-Bsgj4Pow.mjs → acorex-modules-organization-management-branch.entity-CHp5WtIF.mjs} +80 -6
- package/fesm2022/acorex-modules-organization-management-branch.entity-CHp5WtIF.mjs.map +1 -0
- 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 → acorex-modules-organization-management-department.entity-BxCyXNtv.mjs} +68 -7
- package/fesm2022/acorex-modules-organization-management-department.entity-BxCyXNtv.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-division.entity-BnWpX4US.mjs → acorex-modules-organization-management-division.entity-DzQT2jpz.mjs} +68 -6
- package/fesm2022/acorex-modules-organization-management-division.entity-DzQT2jpz.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-employee.entity-DBuCVYZP.mjs → acorex-modules-organization-management-employee.entity-CSY_U9Bl.mjs} +152 -28
- package/fesm2022/acorex-modules-organization-management-employee.entity-CSY_U9Bl.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-employment-type.entity-CWYu9tIg.mjs → acorex-modules-organization-management-employment-type.entity-h9Hua7Xe.mjs} +21 -8
- package/fesm2022/acorex-modules-organization-management-employment-type.entity-h9Hua7Xe.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-org-chart-configuration.page-DHu4UuxD.mjs → acorex-modules-organization-management-org-chart-configuration.page-a2JPiCy9.mjs} +6 -6
- package/fesm2022/acorex-modules-organization-management-org-chart-configuration.page-a2JPiCy9.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-org-chart-configuration.service-CcZMGyCz.mjs → acorex-modules-organization-management-org-chart-configuration.service-BkfSow3s.mjs} +5 -5
- package/fesm2022/acorex-modules-organization-management-org-chart-configuration.service-BkfSow3s.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-org-chart.page-CSMTnTDi.mjs → acorex-modules-organization-management-org-chart.page-DWQ-5NF_.mjs} +20 -20
- package/fesm2022/acorex-modules-organization-management-org-chart.page-DWQ-5NF_.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-position-category.entity-DrZ9Ott4.mjs → acorex-modules-organization-management-position-category.entity-CIir9UMg.mjs} +20 -35
- package/fesm2022/acorex-modules-organization-management-position-category.entity-CIir9UMg.mjs.map +1 -0
- package/fesm2022/acorex-modules-organization-management-position.entity-BpkjUsoZ.mjs +526 -0
- package/fesm2022/acorex-modules-organization-management-position.entity-BpkjUsoZ.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-responsibility-category.entity-CmafbyCZ.mjs → acorex-modules-organization-management-responsibility-category.entity-tJFpEylO.mjs} +12 -25
- package/fesm2022/acorex-modules-organization-management-responsibility-category.entity-tJFpEylO.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-responsibility.entity-DmLeFogS.mjs → acorex-modules-organization-management-responsibility.entity-DmKSoxpL.mjs} +70 -25
- package/fesm2022/acorex-modules-organization-management-responsibility.entity-DmKSoxpL.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-role-category.entity-Cyt1dAKR.mjs → acorex-modules-organization-management-role-category.entity-CAljzQcH.mjs} +22 -14
- package/fesm2022/acorex-modules-organization-management-role-category.entity-CAljzQcH.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-position.entity-CY4TugWR.mjs → acorex-modules-organization-management-role.entity-CruQeObl.mjs} +77 -79
- package/fesm2022/acorex-modules-organization-management-role.entity-CruQeObl.mjs.map +1 -0
- package/fesm2022/acorex-modules-organization-management-settings.provider-hlbUXugb.mjs.map +1 -1
- package/fesm2022/{acorex-modules-organization-management-skill-category.entity-BPgGGVT3.mjs → acorex-modules-organization-management-skill-category.entity-iIbc-pjJ.mjs} +18 -33
- package/fesm2022/acorex-modules-organization-management-skill-category.entity-iIbc-pjJ.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-skill.entity-D9XojzUV.mjs → acorex-modules-organization-management-skill.entity-DoAsCzm9.mjs} +61 -22
- package/fesm2022/acorex-modules-organization-management-skill.entity-DoAsCzm9.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-team.entity-mYPhrc2l.mjs → acorex-modules-organization-management-team.entity-DMCfAZsr.mjs} +58 -10
- package/fesm2022/acorex-modules-organization-management-team.entity-DMCfAZsr.mjs.map +1 -0
- package/fesm2022/acorex-modules-organization-management.mjs +221 -136
- package/fesm2022/acorex-modules-organization-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-platform-management-list-version.component-CgF5pvTa.mjs → acorex-modules-platform-management-list-version.component-BOfUQDwo.mjs} +9 -9
- package/fesm2022/acorex-modules-platform-management-list-version.component-BOfUQDwo.mjs.map +1 -0
- package/fesm2022/acorex-modules-platform-management.mjs +3479 -1
- package/fesm2022/acorex-modules-platform-management.mjs.map +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-DqrLa6vh.mjs → acorex-modules-report-management-report-create-root.component-DgouOz2M.mjs} +10 -10
- package/fesm2022/acorex-modules-report-management-report-create-root.component-DgouOz2M.mjs.map +1 -0
- package/fesm2022/{acorex-modules-report-management-report-runner-root-page.component-C3UP9Jsi.mjs → acorex-modules-report-management-report-runner-root-page.component-DHu-kyCd.mjs} +13 -13
- package/fesm2022/{acorex-modules-report-management-report-runner-root-page.component-C3UP9Jsi.mjs.map → acorex-modules-report-management-report-runner-root-page.component-DHu-kyCd.mjs.map} +1 -1
- package/fesm2022/acorex-modules-report-management.mjs +465 -232
- 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 +170 -102
- package/fesm2022/acorex-modules-security-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-settings-management-setting-page.component-BbnEqXKu.mjs → acorex-modules-settings-management-setting-page.component-cG4ykm2g.mjs} +17 -17
- package/fesm2022/acorex-modules-settings-management-setting-page.component-cG4ykm2g.mjs.map +1 -0
- package/fesm2022/{acorex-modules-settings-management-setting-view.component-DP8mxDK9.mjs → acorex-modules-settings-management-setting-view.component-CrEK2N1U.mjs} +11 -11
- package/fesm2022/acorex-modules-settings-management-setting-view.component-CrEK2N1U.mjs.map +1 -0
- 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-zaSchG-u.mjs → acorex-modules-workflow-management-task-board.page-BoG_tFGn.mjs} +123 -133
- package/fesm2022/acorex-modules-workflow-management-task-board.page-BoG_tFGn.mjs.map +1 -0
- package/fesm2022/acorex-modules-workflow-management.mjs +12 -12
- package/fesm2022/acorex-modules-workflow-management.mjs.map +1 -1
- package/log-management/index.d.ts +46 -19
- package/organization-management/index.d.ts +41 -13
- package/package.json +1 -1
- package/platform-management/index.d.ts +8 -277
- package/report-management/index.d.ts +180 -126
- package/security-management/index.d.ts +2 -46
- package/fesm2022/acorex-modules-application-management-module-designer.component-BvuZJdwg.mjs.map +0 -1
- package/fesm2022/acorex-modules-auth-acorex-modules-auth-DqsEqXec.mjs.map +0 -1
- package/fesm2022/acorex-modules-auth-password.component-BbsQWpEh.mjs +0 -134
- package/fesm2022/acorex-modules-auth-password.component-BbsQWpEh.mjs.map +0 -1
- package/fesm2022/acorex-modules-auth-tenant-chooser.component-3-FFY4tI.mjs.map +0 -1
- package/fesm2022/acorex-modules-auth-user-sessions.component-CtTrstZT.mjs +0 -135
- package/fesm2022/acorex-modules-auth-user-sessions.component-CtTrstZT.mjs.map +0 -1
- package/fesm2022/acorex-modules-common-search-popup.component-B_bJ0ZRM.mjs.map +0 -1
- package/fesm2022/acorex-modules-common-timeline-version-history-popup.component-D48aDOVu.mjs.map +0 -1
- package/fesm2022/acorex-modules-contact-management-acorex-modules-contact-management-DVjMlS0K.mjs.map +0 -1
- package/fesm2022/acorex-modules-document-management-acorex-modules-document-management-Bte3VGKC.mjs.map +0 -1
- package/fesm2022/acorex-modules-document-management-create-folder-dialog.component-BNcu8bzT.mjs.map +0 -1
- package/fesm2022/acorex-modules-document-management-drive-choose.component-B66wODCQ.mjs.map +0 -1
- package/fesm2022/acorex-modules-document-management-drive.component-CUej0GjY.mjs.map +0 -1
- package/fesm2022/acorex-modules-document-management-meta-choose-popup.component-DsSo15AL.mjs.map +0 -1
- package/fesm2022/acorex-modules-document-management-meta-selector-widget-designer.component-B-fYrGs1.mjs.map +0 -1
- package/fesm2022/acorex-modules-document-management-rename-node-dialog.component-DWzD41AV.mjs.map +0 -1
- package/fesm2022/acorex-modules-form-template-management-acorex-modules-form-template-management-EsaVgkdd.mjs.map +0 -1
- package/fesm2022/acorex-modules-form-template-management-designer.page-B14QVCAw.mjs.map +0 -1
- package/fesm2022/acorex-modules-form-template-management-template-picker.component-C0mLCsFT.mjs.map +0 -1
- package/fesm2022/acorex-modules-form-template-management-template-widget-edit.component-CffnsEo2.mjs.map +0 -1
- package/fesm2022/acorex-modules-form-template-management-viewer-popup.component-BwVSDsN3.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-branch.entity-Bsgj4Pow.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-department.entity-BMojk26d.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-division.entity-BnWpX4US.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-employee.entity-DBuCVYZP.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-employment-type.entity-CWYu9tIg.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-org-chart-configuration.page-DHu4UuxD.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-org-chart-configuration.service-CcZMGyCz.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-org-chart.page-CSMTnTDi.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-position-category.entity-DrZ9Ott4.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-position.entity-CY4TugWR.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-responsibility-category.entity-CmafbyCZ.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-responsibility.entity-DmLeFogS.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-role-category.entity-Cyt1dAKR.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-role.entity-BDErzNv-.mjs +0 -324
- package/fesm2022/acorex-modules-organization-management-role.entity-BDErzNv-.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-skill-category.entity-BPgGGVT3.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-skill.entity-D9XojzUV.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-team.entity-mYPhrc2l.mjs.map +0 -1
- package/fesm2022/acorex-modules-platform-management-acorex-modules-platform-management-BLhzWiXM.mjs +0 -5524
- package/fesm2022/acorex-modules-platform-management-acorex-modules-platform-management-BLhzWiXM.mjs.map +0 -1
- package/fesm2022/acorex-modules-platform-management-list-version.component-CgF5pvTa.mjs.map +0 -1
- package/fesm2022/acorex-modules-platform-management-settings.provider-intHn3XI.mjs.map +0 -1
- package/fesm2022/acorex-modules-report-management-report-create-root.component-DqrLa6vh.mjs.map +0 -1
- package/fesm2022/acorex-modules-settings-management-setting-page.component-BbnEqXKu.mjs.map +0 -1
- package/fesm2022/acorex-modules-settings-management-setting-view.component-DP8mxDK9.mjs.map +0 -1
- package/fesm2022/acorex-modules-workflow-management-task-board.page-zaSchG-u.mjs.map +0 -1
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"acorex-modules-workflow-management-task-board.page-zaSchG-u.mjs","sources":["../tmp-esm2022/workflow-management/lib/const.js","../tmp-esm2022/workflow-management/lib/features/task-board/settings.keys.js","../tmp-esm2022/workflow-management/lib/features/task-board/task-board.viewmodel.js","../tmp-esm2022/workflow-management/lib/features/task-board/task-board-detail-panel/task-board-detail-panel.component.js","../tmp-esm2022/workflow-management/lib/features/task-board/views/task-board-calendar-view/task-board-calendar-view.component.js","../tmp-esm2022/workflow-management/lib/features/task-board/views/task-board-grid-view/task-board-grid-view.component.js","../tmp-esm2022/workflow-management/lib/features/task-board/views/task-board-kanban-view/task-board-kanban-view.component.js","../tmp-esm2022/workflow-management/lib/features/task-board/views/task-board-status-grouped-grid-view/task-board-status-grouped-grid-view.component.js","../tmp-esm2022/workflow-management/lib/features/task-board/views/task-board-time-grouped-grid-view/task-board-time-grouped-grid-view.component.js","../tmp-esm2022/workflow-management/lib/features/task-board/task-board.page.js"],"sourcesContent":["const config = {\n i18n: 'workflow-management',\n};\nexport const RootConfig = {\n config,\n module: {\n module: 'WorkflowManagement',\n name: 'WorkflowManagement',\n title: `t('module-name', {scope:\"${config.i18n}\"})`,\n icon: 'fa-light fa-clipboard-list-check',\n },\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvd29ya2Zsb3ctbWFuYWdlbWVudC9zcmMvbGliL2NvbnN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sTUFBTSxHQUFHO0lBQ2IsSUFBSSxFQUFFLHFCQUFxQjtDQUM1QixDQUFDO0FBQ0YsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3hCLE1BQU07SUFDTixNQUFNLEVBQUU7UUFDTixNQUFNLEVBQUUsb0JBQW9CO1FBQzVCLElBQUksRUFBRSxvQkFBb0I7UUFDMUIsS0FBSyxFQUFFLDRCQUE0QixNQUFNLENBQUMsSUFBSSxLQUFLO1FBQ25ELElBQUksRUFBRSxtQ0FBbUM7S0FDMUM7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgY29uZmlnID0ge1xuICBpMThuOiAnd29ya2Zsb3ctbWFuYWdlbWVudCcsXG59O1xuZXhwb3J0IGNvbnN0IFJvb3RDb25maWcgPSB7XG4gIGNvbmZpZyxcbiAgbW9kdWxlOiB7XG4gICAgbW9kdWxlOiAnV29ya2Zsb3dNYW5hZ2VtZW50JyxcbiAgICBuYW1lOiAnV29ya2Zsb3dNYW5hZ2VtZW50JyxcbiAgICB0aXRsZTogYHQoJ21vZHVsZS1uYW1lJywge3Njb3BlOlwiJHtjb25maWcuaTE4bn1cIn0pYCxcbiAgICBpY29uOiAnZmEtbGlnaHQgIGZhLWNsaXBib2FyZC1saXN0LWNoZWNrJyxcbiAgfSxcbn07XG4iXX0=","export var AXMTaskBoardSettings;\n(function (AXMTaskBoardSettings) {\n AXMTaskBoardSettings[\"ViewMode\"] = \"taskboard.viewMode\";\n AXMTaskBoardSettings[\"ViewCategory\"] = \"taskboard.viewCategory\";\n AXMTaskBoardSettings[\"DaysCount\"] = \"taskboard.calendar.daysCount\";\n AXMTaskBoardSettings[\"CurrentDate\"] = \"taskboard.calendar.currentDate\";\n AXMTaskBoardSettings[\"SelectedTaskTypeFilter\"] = \"taskboard.filter.selectedTaskType\";\n})(AXMTaskBoardSettings || (AXMTaskBoardSettings = {}));\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZ3Mua2V5cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy93b3JrZmxvdy1tYW5hZ2VtZW50L3NyYy9saWIvZmVhdHVyZXMvdGFzay1ib2FyZC9zZXR0aW5ncy5rZXlzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLG9CQU1YO0FBTkQsV0FBWSxvQkFBb0I7SUFDOUIsdURBQStCLENBQUE7SUFDL0IsK0RBQXVDLENBQUE7SUFDdkMsa0VBQTBDLENBQUE7SUFDMUMsc0VBQThDLENBQUE7SUFDOUMsb0ZBQTRELENBQUE7QUFDOUQsQ0FBQyxFQU5XLG9CQUFvQixLQUFwQixvQkFBb0IsUUFNL0IiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBBWE1UYXNrQm9hcmRTZXR0aW5ncyB7XG4gIFZpZXdNb2RlID0gJ3Rhc2tib2FyZC52aWV3TW9kZScsXG4gIFZpZXdDYXRlZ29yeSA9ICd0YXNrYm9hcmQudmlld0NhdGVnb3J5JyxcbiAgRGF5c0NvdW50ID0gJ3Rhc2tib2FyZC5jYWxlbmRhci5kYXlzQ291bnQnLFxuICBDdXJyZW50RGF0ZSA9ICd0YXNrYm9hcmQuY2FsZW5kYXIuY3VycmVudERhdGUnLFxuICBTZWxlY3RlZFRhc2tUeXBlRmlsdGVyID0gJ3Rhc2tib2FyZC5maWx0ZXIuc2VsZWN0ZWRUYXNrVHlwZScsXG59XG4iXX0=","import { AXPSettingService } from '@acorex/platform/common';\nimport { AXPPlatformScope } from '@acorex/platform/core';\nimport { computed, inject } from '@angular/core';\nimport { patchState, signalStore, withComputed, withMethods, withState } from '@ngrx/signals';\nimport { AXMTaskBoardSettings } from './settings.keys';\nimport { AXPTaskBoardService } from './task-board.service';\nexport const AXMTaskBoardViewModel = signalStore({ providedIn: 'root' }, withState(() => ({\n daysCount: 7,\n taskTypes: [],\n isLoading: true,\n detailPanel: false,\n selectedTask: null,\n rangeStartDate: null,\n currentDate: new Date(),\n currentViewMode: 'month',\n selectedTaskTypeName: null,\n currentViewCategory: 'calendar',\n})), withComputed((store) => ({\n selectedTaskType: computed(() => {\n const name = store.selectedTaskTypeName();\n if (!name) {\n return null;\n }\n return store.taskTypes().find((tt) => tt.name === name) || null;\n }),\n // (Optional but recommended) Add a computed signal to easily check if a task is selected\n isTaskSelected: computed(() => store.selectedTask() !== null),\n isDetailPanelOpen: computed(() => store.detailPanel()),\n endDate: computed(() => {\n const currentDate = store.currentDate();\n const daysCount = store.daysCount();\n return new Date(currentDate.getTime() + daysCount * 24 * 60 * 60 * 1000);\n }),\n})), withMethods((store, settingService = inject(AXPSettingService), taskBoardService = inject(AXPTaskBoardService)) => {\n // Create a private method for getting the user-scoped settings to avoid repetition\n const userScopedSettings = () => settingService.scope(AXPPlatformScope.User);\n return {\n async initialize() {\n patchState(store, { isLoading: true });\n try {\n // 1. Load Task Types first\n const taskTypes = await taskBoardService.getTaskTypes();\n patchState(store, { taskTypes });\n // 2. Load Persisted Settings individually\n const [savedDateString, savedViewMode, savedViewCategory, savedTaskTypeName] = await Promise.all([\n userScopedSettings().get(AXMTaskBoardSettings.CurrentDate),\n userScopedSettings().get(AXMTaskBoardSettings.ViewMode),\n userScopedSettings().get(AXMTaskBoardSettings.ViewCategory),\n userScopedSettings().get(AXMTaskBoardSettings.SelectedTaskTypeFilter),\n ]);\n patchState(store, {\n currentViewMode: savedViewMode || 'month',\n currentViewCategory: savedViewCategory || 'calendar',\n currentDate: savedDateString ? new Date(savedDateString) : new Date(),\n selectedTaskTypeName: savedTaskTypeName || null,\n isLoading: false,\n });\n }\n catch (error) {\n console.error('Error initializing TaskBoard ViewModel:', error);\n patchState(store, {\n currentViewMode: 'month',\n currentDate: new Date(),\n selectedTaskTypeName: null,\n taskTypes: store.taskTypes(),\n isLoading: false,\n });\n }\n },\n setViewCategory(mode) {\n switch (mode) {\n case 'calendar':\n this.setViewMode('month');\n break;\n case 'table':\n this.setViewMode('grid');\n break;\n case 'kanban':\n this.setViewMode('kanban');\n break;\n }\n this.setCategory(mode);\n },\n setCategory(mode) {\n patchState(store, { currentViewCategory: mode });\n userScopedSettings()\n .set(AXMTaskBoardSettings.ViewCategory, mode)\n .catch((error) => console.error('Error saving calendar view category:', error));\n },\n setViewMode(mode) {\n if ((mode === 'kanban' || mode === 'grid' || mode === 'status-grouped-grid' || mode === 'time-grouped-grid') &&\n store.selectedTaskTypeName() === null) {\n const taskTypeName = store.taskTypes()[0]?.name;\n if (taskTypeName) {\n patchState(store, { selectedTaskTypeName: taskTypeName });\n userScopedSettings()\n .set(AXMTaskBoardSettings.SelectedTaskTypeFilter, taskTypeName)\n .catch((error) => console.error('Error saving selected task type filter:', error));\n }\n }\n patchState(store, { currentViewMode: mode });\n userScopedSettings()\n .set(AXMTaskBoardSettings.ViewMode, mode)\n .catch((error) => console.error('Error saving calendar view mode:', error));\n },\n setCurrentDate(date) {\n patchState(store, { currentDate: new Date(date) });\n userScopedSettings()\n .set(AXMTaskBoardSettings.CurrentDate, date.toISOString())\n .catch((error) => console.error('Error saving current date:', error));\n },\n setSelectedTaskTypeProvider(taskType) {\n const taskTypeName = taskType ? taskType.name : null;\n patchState(store, { selectedTaskTypeName: taskTypeName });\n userScopedSettings()\n .set(AXMTaskBoardSettings.SelectedTaskTypeFilter, taskTypeName)\n .catch((error) => console.error('Error saving selected task type filter:', error));\n },\n /**\n * Sets the currently selected task. Pass `null` to clear the selection.\n * @param task The task to select, or null.\n */\n selectTask(task) {\n patchState(store, { selectedTask: task });\n },\n /**\n * A convenience method to clear the currently selected task.\n */\n clearSelectedTask() {\n patchState(store, { selectedTask: null });\n },\n openDetailPanel() {\n patchState(store, { detailPanel: true });\n },\n closeDetailPanel() {\n patchState(store, { detailPanel: false });\n },\n toggleDetailPanel() {\n patchState(store, { detailPanel: !store.detailPanel() });\n },\n getStatusName(key, provider) {\n return taskBoardService.getStatusName(key, provider);\n },\n /**\n * Sets the start date for a new range selection.\n * Pass `null` to clear the selection.\n * @param date The start date of the range.\n */\n setRangeStartDate(date) {\n patchState(store, { rangeStartDate: date });\n },\n setDaysCount(days) {\n const count = Math.max(1, days);\n patchState(store, { daysCount: count });\n userScopedSettings()\n .set(AXMTaskBoardSettings.DaysCount, count)\n .catch((error) => console.error('Error saving days count:', error));\n },\n };\n}));\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay1ib2FyZC52aWV3bW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvd29ya2Zsb3ctbWFuYWdlbWVudC9zcmMvbGliL2ZlYXR1cmVzL3Rhc2stYm9hcmQvdGFzay1ib2FyZC52aWV3bW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFekQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdkQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFrQjNELE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLFdBQVcsQ0FDOUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEVBQ3RCLFNBQVMsQ0FBb0IsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUNsQyxTQUFTLEVBQUUsQ0FBQztJQUNaLFNBQVMsRUFBRSxFQUFFO0lBQ2IsU0FBUyxFQUFFLElBQUk7SUFDZixXQUFXLEVBQUUsS0FBSztJQUNsQixZQUFZLEVBQUUsSUFBSTtJQUNsQixjQUFjLEVBQUUsSUFBSTtJQUNwQixXQUFXLEVBQUUsSUFBSSxJQUFJLEVBQUU7SUFDdkIsZUFBZSxFQUFFLE9BQU87SUFDeEIsb0JBQW9CLEVBQUUsSUFBSTtJQUMxQixtQkFBbUIsRUFBRSxVQUFVO0NBQ2hDLENBQUMsQ0FBQyxFQUVILFlBQVksQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENB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QU8sZ0JBQWdCLENBQUMsYUFBYSxDQUFDLEdBQUcsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUN2RCxDQUFDO1FBRUQ7Ozs7V0FJRztRQUNILGlCQUFpQixDQUFDLElBQWlCO1lBQ2pDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxjQUFjLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUM5QyxDQUFDO1FBRUQsWUFBWSxDQUFDLElBQVk7WUFDdkIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDaEMsVUFBVSxDQUFDLEtBQUssRUFBRSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1lBQ3hDLGtCQUFrQixFQUFFO2lCQUNqQixHQUFHLENBQUMsb0JBQW9CLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQztpQkFDMUMsS0FBSyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLDBCQUEwQixFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDeEUsQ0FBQztLQUNGLENBQUM7QUFDSixDQUFDLENBQUMsQ0FDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhTY2hlZHVsZXJWaWV3IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3NjaGVkdWxlcic7XG5pbXBvcnQgeyBBWFBTZXR0aW5nU2VydmljZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29tbW9uJztcbmltcG9ydCB7IEFYUFBsYXRmb3JtU2NvcGUgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvcmUnO1xuaW1wb3J0IHsgQVhQVGFzaywgQVhQV29ya2Zsb3dUYXNrUHJvdmlkZXIgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL3dvcmtmbG93JztcbmltcG9ydCB7IGNvbXB1dGVkLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHBhdGNoU3RhdGUsIHNpZ25hbFN0b3JlLCB3aXRoQ29tcHV0ZWQsIHdpdGhNZXRob2RzLCB3aXRoU3RhdGUgfSBmcm9tICdAbmdyeC9zaWduYWxzJztcbmltcG9ydCB7IEFYTVRhc2tCb2FyZFNldHRpbmdzIH0gZnJvbSAnLi9zZXR0aW5ncy5rZXlzJztcbmltcG9ydCB7IEFYUFRhc2tCb2FyZFNlcnZpY2UgfSBmcm9tICcuL3Rhc2stYm9hcmQuc2VydmljZSc7XG5cbmV4cG9ydCB0eXBlIEFYUFRhc2tCb2FyZFZpZXdNb2RlID0gQVhTY2hlZHVsZXJWaWV3IHwgJ2thbmJhbicgfCAnZ3JpZCcgfCAnc3RhdHVzLWdyb3VwZWQtZ3JpZCcgfCAndGltZS1ncm91cGVkLWdyaWQnO1xuZXhwb3J0IHR5cGUgQVhQVGFza0JvYXJkVmlld0NhdGVnb3J5ID0gJ2NhbGVuZGFyJyB8ICd0YWJsZScgfCAna2FuYmFuJztcblxudHlwZSBBWFBUYXNrQm9hcmRTdGF0ZSA9IHtcbiAgZGF5c0NvdW50OiBudW1iZXI7XG4gIGN1cnJlbnREYXRlOiBEYXRlO1xuICBpc0xvYWRpbmc6IGJvb2xlYW47XG4gIGRldGFpbFBhbmVsOiBib29sZWFuO1xuICByYW5nZVN0YXJ0RGF0ZTogRGF0ZSB8IG51bGw7XG4gIHNlbGVjdGVkVGFzazogQVhQVGFzayB8IG51bGw7XG4gIHNlbGVjdGVkVGFza1R5cGVOYW1lOiBzdHJpbmcgfCBudWxsO1xuICB0YXNrVHlwZXM6IEFYUFdvcmtmbG93VGFza1Byb3ZpZGVyW107XG4gIGN1cnJlbnRWaWV3TW9kZTogQVhQVGFza0JvYXJkVmlld01vZGU7XG4gIGN1cnJlbnRWaWV3Q2F0ZWdvcnk6IEFYUFRhc2tCb2FyZFZpZXdDYXRlZ29yeTtcbn07XG5cbmV4cG9ydCBjb25zdCBBWE1UYXNrQm9hcmRWaWV3TW9kZWwgPSBzaWduYWxTdG9yZShcbiAgeyBwcm92aWRlZEluOiAncm9vdCcgfSxcbiAgd2l0aFN0YXRlPEFYUFRhc2tCb2FyZFN0YXRlPigoKSA9PiAoe1xuICAgIGRheXNDb3VudDogNyxcbiAgICB0YXNrVHlwZXM6IFtdLFxuICAgIGlzTG9hZGluZzogdHJ1ZSxcbiAgICBkZXRhaWxQYW5lbDogZmFsc2UsXG4gICAgc2VsZWN0ZWRUYXNrOiBudWxsLFxuICAgIHJhbmdlU3RhcnREYXRlOiBudWxsLFxuICAgIGN1cnJlbnREYXRlOiBuZXcgRGF0ZSgpLFxuICAgIGN1cnJlbnRWaWV3TW9kZTogJ21vbnRoJyxcbiAgICBzZWxlY3RlZFRhc2tUeXBlTmFtZTogbnVsbCxcbiAgICBjdXJyZW50Vmlld0NhdGVnb3J5OiAnY2FsZW5kYXInLFxuICB9KSksXG5cbiAgd2l0aENvbXB1dGVkKChzdG9yZSkgPT4gKHtcbiAgICBzZWxlY3RlZFRhc2tUeXBlOiBjb21wdXRlZCgoKSA9PiB7XG4gICAgICBjb25zdCBuYW1lID0gc3RvcmUuc2VsZWN0ZWRUYXNrVHlwZU5hbWUoKTtcbiAgICAgIGlmICghbmFtZSkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cbiAgICAgIHJldHVybiBzdG9yZS50YXNrVHlwZXMoKS5maW5kKCh0dCkgPT4gdHQubmFtZSA9PT0gbmFtZSkgfHwgbnVsbDtcbiAgICB9KSxcbiAgICAvLyAoT3B0aW9uYWwgYnV0IHJlY29tbWVuZGVkKSBBZGQgYSBjb21wdXRlZCBzaWduYWwgdG8gZWFzaWx5IGNoZWNrIGlmIGEgdGFzayBpcyBzZWxlY3RlZFxuICAgIGlzVGFza1NlbGVjdGVkOiBjb21wdXRlZCgoKSA9PiBzdG9yZS5zZWxlY3RlZFRhc2soKSAhPT0gbnVsbCksXG4gICAgaXNEZXRhaWxQYW5lbE9wZW46IGNvbXB1dGVkKCgpID0+IHN0b3JlLmRldGFpbFBhbmVsKCkpLFxuICAgIGVuZERhdGU6IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgIGNvbnN0IGN1cnJlbnREYXRlID0gc3RvcmUuY3VycmVudERhdGUoKTtcbiAgICAgIGNvbnN0IGRheXNDb3VudCA9IHN0b3JlLmRheXNDb3VudCgpO1xuICAgICAgcmV0dXJuIG5ldyBEYXRlKGN1cnJlbnREYXRlLmdldFRpbWUoKSArIGRheXNDb3VudCAqIDI0ICogNjAgKiA2MCAqIDEwMDApO1xuICAgIH0pLFxuICB9KSksXG5cbiAgd2l0aE1ldGhvZHMoKHN0b3JlLCBzZXR0aW5nU2VydmljZSA9IGluamVjdChBWFBTZXR0aW5nU2VydmljZSksIHRhc2tCb2FyZFNlcnZpY2UgPSBpbmplY3QoQVhQVGFza0JvYXJkU2VydmljZSkpID0+IHtcbiAgICAvLyBDcmVhdGUgYSBwcml2YXRlIG1ldGhvZCBmb3IgZ2V0dGluZyB0aGUgdXNlci1zY29wZWQgc2V0dGluZ3MgdG8gYXZvaWQgcmVwZXRpdGlvblxuICAgIGNvbnN0IHVzZXJTY29wZWRTZXR0aW5ncyA9ICgpID0+IHNldHRpbmdTZXJ2aWNlLnNjb3BlKEFYUFBsYXRmb3JtU2NvcGUuVXNlcik7XG5cbiAgICByZXR1cm4ge1xuICAgICAgYXN5bmMgaW5pdGlhbGl6ZSgpIHtcbiAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwgeyBpc0xvYWRpbmc6IHRydWUgfSk7XG5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAvLyAxLiBMb2FkIFRhc2sgVHlwZXMgZmlyc3RcbiAgICAgICAgICBjb25zdCB0YXNrVHlwZXMgPSBhd2FpdCB0YXNrQm9hcmRTZXJ2aWNlLmdldFRhc2tUeXBlcygpO1xuICAgICAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHsgdGFza1R5cGVzIH0pO1xuXG4gICAgICAgICAgLy8gMi4gTG9hZCBQZXJzaXN0ZWQgU2V0dGluZ3MgaW5kaXZpZHVhbGx5XG4gICAgICAgICAgY29uc3QgW3NhdmVkRGF0ZVN0cmluZywgc2F2ZWRWaWV3TW9kZSwgc2F2ZWRWaWV3Q2F0ZWdvcnksIHNhdmVkVGFza1R5cGVOYW1lXSA9IGF3YWl0IFByb21pc2UuYWxsKFtcbiAgICAgICAgICAgIHVzZXJTY29wZWRTZXR0aW5ncygpLmdldDxzdHJpbmcgfCB1bmRlZmluZWQ+KEFYTVRhc2tCb2FyZFNldHRpbmdzLkN1cnJlbnREYXRlKSxcbiAgICAgICAgICAgIHVzZXJTY29wZWRTZXR0aW5ncygpLmdldDxBWFBUYXNrQm9hcmRWaWV3TW9kZSB8IHVuZGVmaW5lZD4oQVhNVGFza0JvYXJkU2V0dGluZ3MuVmlld01vZGUpLFxuICAgICAgICAgICAgdXNlclNjb3BlZFNldHRpbmdzKCkuZ2V0PEFYUFRhc2tCb2FyZFZpZXdDYXRlZ29yeSB8IHVuZGVmaW5lZD4oQVhNVGFza0JvYXJkU2V0dGluZ3MuVmlld0NhdGVnb3J5KSxcbiAgICAgICAgICAgIHVzZXJTY29wZWRTZXR0aW5ncygpLmdldDxzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkPihBWE1UYXNrQm9hcmRTZXR0aW5ncy5TZWxlY3RlZFRhc2tUeXBlRmlsdGVyKSxcbiAgICAgICAgICBdKTtcblxuICAgICAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHtcbiAgICAgICAgICAgIGN1cnJlbnRWaWV3TW9kZTogc2F2ZWRWaWV3TW9kZSB8fCAnbW9udGgnLFxuICAgICAgICAgICAgY3VycmVudFZpZXdDYXRlZ29yeTogc2F2ZWRWaWV3Q2F0ZWdvcnkgfHwgJ2NhbGVuZGFyJyxcbiAgICAgICAgICAgIGN1cnJlbnREYXRlOiBzYXZlZERhdGVTdHJpbmcgPyBuZXcgRGF0ZShzYXZlZERhdGVTdHJpbmcpIDogbmV3IERhdGUoKSxcbiAgICAgICAgICAgIHNlbGVjdGVkVGFza1R5cGVOYW1lOiBzYXZlZFRhc2tUeXBlTmFtZSB8fCBudWxsLFxuICAgICAgICAgICAgaXNMb2FkaW5nOiBmYWxzZSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBpbml0aWFsaXppbmcgVGFza0JvYXJkIFZpZXdNb2RlbDonLCBlcnJvcik7XG4gICAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwge1xuICAgICAgICAgICAgY3VycmVudFZpZXdNb2RlOiAnbW9udGgnLFxuICAgICAgICAgICAgY3VycmVudERhdGU6IG5ldyBEYXRlKCksXG4gICAgICAgICAgICBzZWxlY3RlZFRhc2tUeXBlTmFtZTogbnVsbCxcbiAgICAgICAgICAgIHRhc2tUeXBlczogc3RvcmUudGFza1R5cGVzKCksXG4gICAgICAgICAgICBpc0xvYWRpbmc6IGZhbHNlLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9LFxuXG4gICAgICBzZXRWaWV3Q2F0ZWdvcnkobW9kZTogQVhQVGFza0JvYXJkVmlld0NhdGVnb3J5KSB7XG4gICAgICAgIHN3aXRjaCAobW9kZSkge1xuICAgICAgICAgIGNhc2UgJ2NhbGVuZGFyJzpcbiAgICAgICAgICAgIHRoaXMuc2V0Vmlld01vZGUoJ21vbnRoJyk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlICd0YWJsZSc6XG4gICAgICAgICAgICB0aGlzLnNldFZpZXdNb2RlKCdncmlkJyk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlICdrYW5iYW4nOlxuICAgICAgICAgICAgdGhpcy5zZXRWaWV3TW9kZSgna2FuYmFuJyk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnNldENhdGVnb3J5KG1vZGUpO1xuICAgICAgfSxcblxuICAgICAgc2V0Q2F0ZWdvcnkobW9kZTogQVhQVGFza0JvYXJkVmlld0NhdGVnb3J5KSB7XG4gICAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHsgY3VycmVudFZpZXdDYXRlZ29yeTogbW9kZSB9KTtcblxuICAgICAgICB1c2VyU2NvcGVkU2V0dGluZ3MoKVxuICAgICAgICAgIC5zZXQoQVhNVGFza0JvYXJkU2V0dGluZ3MuVmlld0NhdGVnb3J5LCBtb2RlKVxuICAgICAgICAgIC5jYXRjaCgoZXJyb3IpID0+IGNvbnNvbGUuZXJyb3IoJ0Vycm9yIHNhdmluZyBjYWxlbmRhciB2aWV3IGNhdGVnb3J5OicsIGVycm9yKSk7XG4gICAgICB9LFxuXG4gICAgICBzZXRWaWV3TW9kZShtb2RlOiBBWFBUYXNrQm9hcmRWaWV3TW9kZSkge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgKG1vZGUgPT09ICdrYW5iYW4nIHx8IG1vZGUgPT09ICdncmlkJyB8fCBtb2RlID09PSAnc3RhdHVzLWdyb3VwZWQtZ3JpZCcgfHwgbW9kZSA9PT0gJ3RpbWUtZ3JvdXBlZC1ncmlkJykgJiZcbiAgICAgICAgICBzdG9yZS5zZWxlY3RlZFRhc2tUeXBlTmFtZSgpID09PSBudWxsXG4gICAgICAgICkge1xuICAgICAgICAgIGNvbnN0IHRhc2tUeXBlTmFtZSA9IHN0b3JlLnRhc2tUeXBlcygpWzBdPy5uYW1lO1xuICAgICAgICAgIGlmICh0YXNrVHlwZU5hbWUpIHtcbiAgICAgICAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHsgc2VsZWN0ZWRUYXNrVHlwZU5hbWU6IHRhc2tUeXBlTmFtZSB9KTtcbiAgICAgICAgICAgIHVzZXJTY29wZWRTZXR0aW5ncygpXG4gICAgICAgICAgICAgIC5zZXQoQVhNVGFza0JvYXJkU2V0dGluZ3MuU2VsZWN0ZWRUYXNrVHlwZUZpbHRlciwgdGFza1R5cGVOYW1lKVxuICAgICAgICAgICAgICAuY2F0Y2goKGVycm9yKSA9PiBjb25zb2xlLmVycm9yKCdFcnJvciBzYXZpbmcgc2VsZWN0ZWQgdGFzayB0eXBlIGZpbHRlcjonLCBlcnJvcikpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHsgY3VycmVudFZpZXdNb2RlOiBtb2RlIH0pO1xuICAgICAgICB1c2VyU2NvcGVkU2V0dGluZ3MoKVxuICAgICAgICAgIC5zZXQoQVhNVGFza0JvYXJkU2V0dGluZ3MuVmlld01vZGUsIG1vZGUpXG4gICAgICAgICAgLmNhdGNoKChlcnJvcikgPT4gY29uc29sZS5lcnJvcignRXJyb3Igc2F2aW5nIGNhbGVuZGFyIHZpZXcgbW9kZTonLCBlcnJvcikpO1xuICAgICAgfSxcblxuICAgICAgc2V0Q3VycmVudERhdGUoZGF0ZTogRGF0ZSkge1xuICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7IGN1cnJlbnREYXRlOiBuZXcgRGF0ZShkYXRlKSB9KTtcbiAgICAgICAgdXNlclNjb3BlZFNldHRpbmdzKClcbiAgICAgICAgICAuc2V0KEFYTVRhc2tCb2FyZFNldHRpbmdzLkN1cnJlbnREYXRlLCBkYXRlLnRvSVNPU3RyaW5nKCkpXG4gICAgICAgICAgLmNhdGNoKChlcnJvcikgPT4gY29uc29sZS5lcnJvcignRXJyb3Igc2F2aW5nIGN1cnJlbnQgZGF0ZTonLCBlcnJvcikpO1xuICAgICAgfSxcblxuICAgICAgc2V0U2VsZWN0ZWRUYXNrVHlwZVByb3ZpZGVyKHRhc2tUeXBlOiBBWFBXb3JrZmxvd1Rhc2tQcm92aWRlciB8IG51bGwpIHtcbiAgICAgICAgY29uc3QgdGFza1R5cGVOYW1lID0gdGFza1R5cGUgPyB0YXNrVHlwZS5uYW1lIDogbnVsbDtcbiAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwgeyBzZWxlY3RlZFRhc2tUeXBlTmFtZTogdGFza1R5cGVOYW1lIH0pO1xuICAgICAgICB1c2VyU2NvcGVkU2V0dGluZ3MoKVxuICAgICAgICAgIC5zZXQoQVhNVGFza0JvYXJkU2V0dGluZ3MuU2VsZWN0ZWRUYXNrVHlwZUZpbHRlciwgdGFza1R5cGVOYW1lKVxuICAgICAgICAgIC5jYXRjaCgoZXJyb3IpID0+IGNvbnNvbGUuZXJyb3IoJ0Vycm9yIHNhdmluZyBzZWxlY3RlZCB0YXNrIHR5cGUgZmlsdGVyOicsIGVycm9yKSk7XG4gICAgICB9LFxuXG4gICAgICAvKipcbiAgICAgICAqIFNldHMgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0YXNrLiBQYXNzIGBudWxsYCB0byBjbGVhciB0aGUgc2VsZWN0aW9uLlxuICAgICAgICogQHBhcmFtIHRhc2sgVGhlIHRhc2sgdG8gc2VsZWN0LCBvciBudWxsLlxuICAgICAgICovXG4gICAgICBzZWxlY3RUYXNrKHRhc2s6IEFYUFRhc2sgfCBudWxsKSB7XG4gICAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHsgc2VsZWN0ZWRUYXNrOiB0YXNrIH0pO1xuICAgICAgfSxcblxuICAgICAgLyoqXG4gICAgICAgKiBBIGNvbnZlbmllbmNlIG1ldGhvZCB0byBjbGVhciB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRhc2suXG4gICAgICAgKi9cbiAgICAgIGNsZWFyU2VsZWN0ZWRUYXNrKCkge1xuICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7IHNlbGVjdGVkVGFzazogbnVsbCB9KTtcbiAgICAgIH0sXG5cbiAgICAgIG9wZW5EZXRhaWxQYW5lbCgpIHtcbiAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwgeyBkZXRhaWxQYW5lbDogdHJ1ZSB9KTtcbiAgICAgIH0sXG5cbiAgICAgIGNsb3NlRGV0YWlsUGFuZWwoKSB7XG4gICAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHsgZGV0YWlsUGFuZWw6IGZhbHNlIH0pO1xuICAgICAgfSxcblxuICAgICAgdG9nZ2xlRGV0YWlsUGFuZWwoKSB7XG4gICAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHsgZGV0YWlsUGFuZWw6ICFzdG9yZS5kZXRhaWxQYW5lbCgpIH0pO1xuICAgICAgfSxcblxuICAgICAgZ2V0U3RhdHVzTmFtZShrZXk6IGFueSwgcHJvdmlkZXI6IHN0cmluZyk6IHN0cmluZyB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGFza0JvYXJkU2VydmljZS5nZXRTdGF0dXNOYW1lKGtleSwgcHJvdmlkZXIpO1xuICAgICAgfSxcblxuICAgICAgLyoqXG4gICAgICAgKiBTZXRzIHRoZSBzdGFydCBkYXRlIGZvciBhIG5ldyByYW5nZSBzZWxlY3Rpb24uXG4gICAgICAgKiBQYXNzIGBudWxsYCB0byBjbGVhciB0aGUgc2VsZWN0aW9uLlxuICAgICAgICogQHBhcmFtIGRhdGUgVGhlIHN0YXJ0IGRhdGUgb2YgdGhlIHJhbmdlLlxuICAgICAgICovXG4gICAgICBzZXRSYW5nZVN0YXJ0RGF0ZShkYXRlOiBEYXRlIHwgbnVsbCkge1xuICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7IHJhbmdlU3RhcnREYXRlOiBkYXRlIH0pO1xuICAgICAgfSxcblxuICAgICAgc2V0RGF5c0NvdW50KGRheXM6IG51bWJlcikge1xuICAgICAgICBjb25zdCBjb3VudCA9IE1hdGgubWF4KDEsIGRheXMpO1xuICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7IGRheXNDb3VudDogY291bnQgfSk7XG4gICAgICAgIHVzZXJTY29wZWRTZXR0aW5ncygpXG4gICAgICAgICAgLnNldChBWE1UYXNrQm9hcmRTZXR0aW5ncy5EYXlzQ291bnQsIGNvdW50KVxuICAgICAgICAgIC5jYXRjaCgoZXJyb3IpID0+IGNvbnNvbGUuZXJyb3IoJ0Vycm9yIHNhdmluZyBkYXlzIGNvdW50OicsIGVycm9yKSk7XG4gICAgICB9LFxuICAgIH07XG4gIH0pLFxuKTtcbiJdfQ==","import { AXButtonComponent } from '@acorex/components/button';\nimport { AXDecoratorIconComponent } from '@acorex/components/decorators';\nimport { AXFormatPipe } from '@acorex/core/format';\nimport { AXLocaleService } from '@acorex/core/locale';\nimport { AXTranslatorPipe } from '@acorex/core/translation';\nimport { AsyncPipe } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject, ViewEncapsulation } from '@angular/core';\nimport { RootConfig } from '../../../const';\nimport { AXMTaskBoardViewModel } from '../task-board.viewmodel';\nimport * as i0 from \"@angular/core\";\nexport class AXMTaskBoardDetailPanel {\n constructor() {\n this.rootConfig = RootConfig;\n this.vm = inject(AXMTaskBoardViewModel);\n this.localeService = inject(AXLocaleService);\n }\n capitalizeFirstLetter(text) {\n return String(text).charAt(0).toUpperCase() + String(text).slice(1);\n }\n getStatusName(key, provider) {\n if (!provider)\n return null;\n return this.vm.getStatusName(key, provider);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: AXMTaskBoardDetailPanel, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.0.7\", type: AXMTaskBoardDetailPanel, isStandalone: true, selector: \"axm-task-board-detail-panel\", ngImport: i0, template: \"@if (vm.isTaskSelected()) {\\n @let nodeInfo = vm.selectedTask();\\n <div class=\\\"__header\\\">\\n <div class=\\\"__title\\\">\\n <span>{{ nodeInfo?.title }}</span>\\n </div>\\n <ax-button [look]=\\\"'blank'\\\" class=\\\"ax-sm ax-rounded-full\\\" (onClick)=\\\"vm.closeDetailPanel()\\\">\\n <ax-icon icon=\\\"fa-solid fa-xmark\\\"></ax-icon>\\n </ax-button>\\n </div>\\n\\n <div class=\\\"__content\\\">\\n <div class=\\\"__section\\\">\\n <div class=\\\"__title\\\">\\n <span>{{ 'task-board.detail-panel.title' | translate: { scope: rootConfig.config.i18n } | async }}</span>\\n </div>\\n <div class=\\\"__content\\\">\\n @if (nodeInfo?.description) {\\n <div class=\\\"__row\\\">\\n <div class=\\\"__title\\\">\\n <span>\\n {{ 'task-board.detail-panel.description' | translate: { scope: rootConfig.config.i18n } | async }}\\n </span>\\n </div>\\n <div class=\\\"__content\\\">{{ nodeInfo?.description }}</div>\\n </div>\\n }\\n <div class=\\\"__row\\\">\\n <div class=\\\"__title\\\">\\n <span>\\n {{ 'task-board.detail-panel.start-date' | translate: { scope: rootConfig.config.i18n } | async }}\\n </span>\\n </div>\\n <div class=\\\"__content\\\">\\n {{\\n nodeInfo?.startDate\\n | format: 'datetime' : { format: 'short', calendar: localeService.activeProfile().calendar.system }\\n | async\\n }}\\n </div>\\n </div>\\n <div class=\\\"__row\\\">\\n <div class=\\\"__title\\\">\\n <span>{{ 'task-board.detail-panel.end-date' | translate: { scope: rootConfig.config.i18n } | async }}</span>\\n </div>\\n <div class=\\\"__content\\\">\\n {{\\n nodeInfo?.endDate\\n | format: 'datetime' : { format: 'short', calendar: localeService.activeProfile().calendar.system }\\n | async\\n }}\\n </div>\\n </div>\\n @let statusName = getStatusName(nodeInfo?.statusKey, nodeInfo?.data?.provider);\\n @if (statusName) {\\n <div class=\\\"__row\\\">\\n <div class=\\\"__title\\\">\\n <span>{{ 'task-board.detail-panel.status' | translate: { scope: rootConfig.config.i18n } | async }}</span>\\n </div>\\n <div class=\\\"__content\\\">{{ statusName }}</div>\\n </div>\\n }\\n @if (nodeInfo?.priority) {\\n <div class=\\\"__row\\\">\\n <div class=\\\"__title\\\">\\n <span>\\n {{ 'task-board.detail-panel.priority' | translate: { scope: rootConfig.config.i18n } | async }}\\n </span>\\n </div>\\n <div class=\\\"__content\\\">{{ capitalizeFirstLetter(nodeInfo?.priority ?? '') }}</div>\\n </div>\\n }\\n </div>\\n </div>\\n </div>\\n} @else {\\n <div class=\\\"__header\\\">\\n <div class=\\\"__title\\\">\\n <span>\\n {{ 'task-board.detail-panel.no-task-selected' | translate: { scope: rootConfig.config.i18n } | async }}\\n </span>\\n </div>\\n <ax-button [look]=\\\"'blank'\\\" class=\\\"ax-sm ax-rounded-full\\\" (onClick)=\\\"vm.closeDetailPanel()\\\">\\n <ax-icon icon=\\\"fa-solid fa-xmark\\\"></ax-icon>\\n </ax-button>\\n </div>\\n}\\n\", styles: [\"axm-task-board-detail-panel{display:flex;flex-direction:column;border-radius:.5rem;border-width:1px;--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}@media (min-width: 1024px){axm-task-board-detail-panel{width:24rem}}axm-task-board-detail-panel>.__header{display:flex;flex-direction:row;align-items:center;justify-content:space-between;border-bottom-width:1px;padding:1rem}@media (min-width: 1024px){axm-task-board-detail-panel>.__header{width:20rem}}axm-task-board-detail-panel>.__header>.__title{display:flex;width:90%;flex-direction:row;align-items:center;gap:.5rem}axm-task-board-detail-panel>.__header>.__title span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:start;font-weight:600;line-height:1.625}axm-task-board-detail-panel>.__content{display:flex;flex-direction:column}axm-task-board-detail-panel>.__content>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}axm-task-board-detail-panel>.__content>.__section{display:flex;flex-direction:column;padding:1rem}axm-task-board-detail-panel>.__content>.__section>.__title{margin-bottom:1rem;font-size:.875rem;line-height:1.25rem;font-weight:700}axm-task-board-detail-panel>.__content>.__section>.__content{display:flex;flex-direction:column;gap:1rem}axm-task-board-detail-panel>.__content>.__section>.__content>.__row{display:flex;flex-direction:column;gap:.25rem}axm-task-board-detail-panel>.__content>.__section>.__content>.__row>.__title{display:flex;font-size:.875rem;line-height:1.25rem;font-weight:600;opacity:.9}axm-task-board-detail-panel>.__content>.__section>.__content>.__row>.__content{display:flex;flex-direction:row;align-items:center;gap:.5rem}axm-task-board-detail-panel>.__content>.__section>.__content>.__row>.__content span{opacity:.7}\\n\"], dependencies: [{ kind: \"component\", type: 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: \"component\", type: AXDecoratorIconComponent, selector: \"ax-icon\", inputs: [\"icon\"] }, { kind: \"pipe\", type: AXFormatPipe, name: \"format\" }, { kind: \"pipe\", type: AsyncPipe, name: \"async\" }, { kind: \"pipe\", type: AXTranslatorPipe, name: \"translate\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: AXMTaskBoardDetailPanel, decorators: [{\n type: Component,\n args: [{ selector: 'axm-task-board-detail-panel', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [AXButtonComponent, AXDecoratorIconComponent, AXFormatPipe, AsyncPipe, AXTranslatorPipe], template: \"@if (vm.isTaskSelected()) {\\n @let nodeInfo = vm.selectedTask();\\n <div class=\\\"__header\\\">\\n <div class=\\\"__title\\\">\\n <span>{{ nodeInfo?.title }}</span>\\n </div>\\n <ax-button [look]=\\\"'blank'\\\" class=\\\"ax-sm ax-rounded-full\\\" (onClick)=\\\"vm.closeDetailPanel()\\\">\\n <ax-icon icon=\\\"fa-solid fa-xmark\\\"></ax-icon>\\n </ax-button>\\n </div>\\n\\n <div class=\\\"__content\\\">\\n <div class=\\\"__section\\\">\\n <div class=\\\"__title\\\">\\n <span>{{ 'task-board.detail-panel.title' | translate: { scope: rootConfig.config.i18n } | async }}</span>\\n </div>\\n <div class=\\\"__content\\\">\\n @if (nodeInfo?.description) {\\n <div class=\\\"__row\\\">\\n <div class=\\\"__title\\\">\\n <span>\\n {{ 'task-board.detail-panel.description' | translate: { scope: rootConfig.config.i18n } | async }}\\n </span>\\n </div>\\n <div class=\\\"__content\\\">{{ nodeInfo?.description }}</div>\\n </div>\\n }\\n <div class=\\\"__row\\\">\\n <div class=\\\"__title\\\">\\n <span>\\n {{ 'task-board.detail-panel.start-date' | translate: { scope: rootConfig.config.i18n } | async }}\\n </span>\\n </div>\\n <div class=\\\"__content\\\">\\n {{\\n nodeInfo?.startDate\\n | format: 'datetime' : { format: 'short', calendar: localeService.activeProfile().calendar.system }\\n | async\\n }}\\n </div>\\n </div>\\n <div class=\\\"__row\\\">\\n <div class=\\\"__title\\\">\\n <span>{{ 'task-board.detail-panel.end-date' | translate: { scope: rootConfig.config.i18n } | async }}</span>\\n </div>\\n <div class=\\\"__content\\\">\\n {{\\n nodeInfo?.endDate\\n | format: 'datetime' : { format: 'short', calendar: localeService.activeProfile().calendar.system }\\n | async\\n }}\\n </div>\\n </div>\\n @let statusName = getStatusName(nodeInfo?.statusKey, nodeInfo?.data?.provider);\\n @if (statusName) {\\n <div class=\\\"__row\\\">\\n <div class=\\\"__title\\\">\\n <span>{{ 'task-board.detail-panel.status' | translate: { scope: rootConfig.config.i18n } | async }}</span>\\n </div>\\n <div class=\\\"__content\\\">{{ statusName }}</div>\\n </div>\\n }\\n @if (nodeInfo?.priority) {\\n <div class=\\\"__row\\\">\\n <div class=\\\"__title\\\">\\n <span>\\n {{ 'task-board.detail-panel.priority' | translate: { scope: rootConfig.config.i18n } | async }}\\n </span>\\n </div>\\n <div class=\\\"__content\\\">{{ capitalizeFirstLetter(nodeInfo?.priority ?? '') }}</div>\\n </div>\\n }\\n </div>\\n </div>\\n </div>\\n} @else {\\n <div class=\\\"__header\\\">\\n <div class=\\\"__title\\\">\\n <span>\\n {{ 'task-board.detail-panel.no-task-selected' | translate: { scope: rootConfig.config.i18n } | async }}\\n </span>\\n </div>\\n <ax-button [look]=\\\"'blank'\\\" class=\\\"ax-sm ax-rounded-full\\\" (onClick)=\\\"vm.closeDetailPanel()\\\">\\n <ax-icon icon=\\\"fa-solid fa-xmark\\\"></ax-icon>\\n </ax-button>\\n </div>\\n}\\n\", styles: [\"axm-task-board-detail-panel{display:flex;flex-direction:column;border-radius:.5rem;border-width:1px;--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}@media (min-width: 1024px){axm-task-board-detail-panel{width:24rem}}axm-task-board-detail-panel>.__header{display:flex;flex-direction:row;align-items:center;justify-content:space-between;border-bottom-width:1px;padding:1rem}@media (min-width: 1024px){axm-task-board-detail-panel>.__header{width:20rem}}axm-task-board-detail-panel>.__header>.__title{display:flex;width:90%;flex-direction:row;align-items:center;gap:.5rem}axm-task-board-detail-panel>.__header>.__title span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:start;font-weight:600;line-height:1.625}axm-task-board-detail-panel>.__content{display:flex;flex-direction:column}axm-task-board-detail-panel>.__content>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}axm-task-board-detail-panel>.__content>.__section{display:flex;flex-direction:column;padding:1rem}axm-task-board-detail-panel>.__content>.__section>.__title{margin-bottom:1rem;font-size:.875rem;line-height:1.25rem;font-weight:700}axm-task-board-detail-panel>.__content>.__section>.__content{display:flex;flex-direction:column;gap:1rem}axm-task-board-detail-panel>.__content>.__section>.__content>.__row{display:flex;flex-direction:column;gap:.25rem}axm-task-board-detail-panel>.__content>.__section>.__content>.__row>.__title{display:flex;font-size:.875rem;line-height:1.25rem;font-weight:600;opacity:.9}axm-task-board-detail-panel>.__content>.__section>.__content>.__row>.__content{display:flex;flex-direction:row;align-items:center;gap:.5rem}axm-task-board-detail-panel>.__content>.__section>.__content>.__row>.__content span{opacity:.7}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay1ib2FyZC1kZXRhaWwtcGFuZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL3dvcmtmbG93LW1hbmFnZW1lbnQvc3JjL2xpYi9mZWF0dXJlcy90YXNrLWJvYXJkL3Rhc2stYm9hcmQtZGV0YWlsLXBhbmVsL3Rhc2stYm9hcmQtZGV0YWlsLXBhbmVsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy93b3JrZmxvdy1tYW5hZ2VtZW50L3NyYy9saWIvZmVhdHVyZXMvdGFzay1ib2FyZC90YXNrLWJvYXJkLWRldGFpbC1wYW5lbC90YXNrLWJvYXJkLWRldGFpbC1wYW5lbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzVELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUJBQXlCLENBQUM7O0FBVWhFLE1BQU0sT0FBTyx1QkFBdUI7SUFScEM7UUFTcUIsZUFBVSxHQUFHLFVBQVUsQ0FBQztRQUN4QixPQUFFLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDbkMsa0JBQWEsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7S0FVNUQ7SUFSVyxxQkFBcUIsQ0FBQyxJQUFZO1FBQzFDLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFFRCxhQUFhLENBQUMsR0FBUSxFQUFFLFFBQTRCO1FBQ2xELElBQUksQ0FBQyxRQUFRO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFDM0IsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDOUMsQ0FBQzs4R0FaVSx1QkFBdUI7a0dBQXZCLHVCQUF1Qix1RkNsQnBDLDJ0R0F1RkEsb3NFRHZFWSxpQkFBaUIsMlVBQUUsd0JBQXdCLGlFQUFFLFlBQVksMENBQUUsU0FBUyx5Q0FBRSxnQkFBZ0I7OzJGQUVyRix1QkFBdUI7a0JBUm5DLFNBQVM7K0JBQ0UsNkJBQTZCLG1CQUd0Qix1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJLFdBQzVCLENBQUMsaUJBQWlCLEVBQUUsd0JBQXdCLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2J1dHRvbic7XG5pbXBvcnQgeyBBWERlY29yYXRvckljb25Db21wb25lbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZGVjb3JhdG9ycyc7XG5pbXBvcnQgeyBBWEZvcm1hdFBpcGUgfSBmcm9tICdAYWNvcmV4L2NvcmUvZm9ybWF0JztcbmltcG9ydCB7IEFYTG9jYWxlU2VydmljZSB9IGZyb20gJ0BhY29yZXgvY29yZS9sb2NhbGUnO1xuaW1wb3J0IHsgQVhUcmFuc2xhdG9yUGlwZSB9IGZyb20gJ0BhY29yZXgvY29yZS90cmFuc2xhdGlvbic7XG5pbXBvcnQgeyBBc3luY1BpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgaW5qZWN0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm9vdENvbmZpZyB9IGZyb20gJy4uLy4uLy4uL2NvbnN0JztcbmltcG9ydCB7IEFYTVRhc2tCb2FyZFZpZXdNb2RlbCB9IGZyb20gJy4uL3Rhc2stYm9hcmQudmlld21vZGVsJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXhtLXRhc2stYm9hcmQtZGV0YWlsLXBhbmVsJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Rhc2stYm9hcmQtZGV0YWlsLXBhbmVsLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGFzay1ib2FyZC1kZXRhaWwtcGFuZWwuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGltcG9ydHM6IFtBWEJ1dHRvbkNvbXBvbmVudCwgQVhEZWNvcmF0b3JJY29uQ29tcG9uZW50LCBBWEZvcm1hdFBpcGUsIEFzeW5jUGlwZSwgQVhUcmFuc2xhdG9yUGlwZV0sXG59KVxuZXhwb3J0IGNsYXNzIEFYTVRhc2tCb2FyZERldGFpbFBhbmVsIHtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHJvb3RDb25maWcgPSBSb290Q29uZmlnO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgdm0gPSBpbmplY3QoQVhNVGFza0JvYXJkVmlld01vZGVsKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGxvY2FsZVNlcnZpY2UgPSBpbmplY3QoQVhMb2NhbGVTZXJ2aWNlKTtcblxuICBwcm90ZWN0ZWQgY2FwaXRhbGl6ZUZpcnN0TGV0dGVyKHRleHQ6IHN0cmluZykge1xuICAgIHJldHVybiBTdHJpbmcodGV4dCkuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyBTdHJpbmcodGV4dCkuc2xpY2UoMSk7XG4gIH1cblxuICBnZXRTdGF0dXNOYW1lKGtleTogYW55LCBwcm92aWRlcjogc3RyaW5nIHwgdW5kZWZpbmVkKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgaWYgKCFwcm92aWRlcikgcmV0dXJuIG51bGw7XG4gICAgcmV0dXJuIHRoaXMudm0uZ2V0U3RhdHVzTmFtZShrZXksIHByb3ZpZGVyKTtcbiAgfVxufVxuIiwiQGlmICh2bS5pc1Rhc2tTZWxlY3RlZCgpKSB7XG4gIEBsZXQgbm9kZUluZm8gPSB2bS5zZWxlY3RlZFRhc2soKTtcbiAgPGRpdiBjbGFzcz1cIl9faGVhZGVyXCI+XG4gICAgPGRpdiBjbGFzcz1cIl9fdGl0bGVcIj5cbiAgICAgIDxzcGFuPnt7IG5vZGVJbmZvPy50aXRsZSB9fTwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgICA8YXgtYnV0dG9uIFtsb29rXT1cIidibGFuaydcIiBjbGFzcz1cImF4LXNtIGF4LXJvdW5kZWQtZnVsbFwiIChvbkNsaWNrKT1cInZtLmNsb3NlRGV0YWlsUGFuZWwoKVwiPlxuICAgICAgPGF4LWljb24gaWNvbj1cImZhLXNvbGlkIGZhLXhtYXJrXCI+PC9heC1pY29uPlxuICAgIDwvYXgtYnV0dG9uPlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwiX19jb250ZW50XCI+XG4gICAgPGRpdiBjbGFzcz1cIl9fc2VjdGlvblwiPlxuICAgICAgPGRpdiBjbGFzcz1cIl9fdGl0bGVcIj5cbiAgICAgICAgPHNwYW4+e3sgJ3Rhc2stYm9hcmQuZGV0YWlsLXBhbmVsLnRpdGxlJyB8IHRyYW5zbGF0ZTogeyBzY29wZTogcm9vdENvbmZpZy5jb25maWcuaTE4biB9IHwgYXN5bmMgfX08L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJfX2NvbnRlbnRcIj5cbiAgICAgICAgQGlmIChub2RlSW5mbz8uZGVzY3JpcHRpb24pIHtcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiX19yb3dcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJfX3RpdGxlXCI+XG4gICAgICAgICAgICAgIDxzcGFuPlxuICAgICAgICAgICAgICAgIHt7ICd0YXNrLWJvYXJkLmRldGFpbC1wYW5lbC5kZXNjcmlwdGlvbicgfCB0cmFuc2xhdGU6IHsgc2NvcGU6IHJvb3RDb25maWcuY29uZmlnLmkxOG4gfSB8IGFzeW5jIH19XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIl9fY29udGVudFwiPnt7IG5vZGVJbmZvPy5kZXNjcmlwdGlvbiB9fTwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgICAgIDxkaXYgY2xhc3M9XCJfX3Jvd1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJfX3RpdGxlXCI+XG4gICAgICAgICAgICA8c3Bhbj5cbiAgICAgICAgICAgICAge3sgJ3Rhc2stYm9hcmQuZGV0YWlsLXBhbmVsLnN0YXJ0LWRhdGUnIHwgdHJhbnNsYXRlOiB7IHNjb3BlOiByb290Q29uZmlnLmNvbmZpZy5pMThuIH0gfCBhc3luYyB9fVxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJfX2NvbnRlbnRcIj5cbiAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgIG5vZGVJbmZvPy5zdGFydERhdGVcbiAgICAgICAgICAgICAgICB8IGZvcm1hdDogJ2RhdGV0aW1lJyA6IHsgZm9ybWF0OiAnc2hvcnQnLCBjYWxlbmRhcjogbG9jYWxlU2VydmljZS5hY3RpdmVQcm9maWxlKCkuY2FsZW5kYXIuc3lzdGVtIH1cbiAgICAgICAgICAgICAgICB8IGFzeW5jXG4gICAgICAgICAgICB9fVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIl9fcm93XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIl9fdGl0bGVcIj5cbiAgICAgICAgICAgIDxzcGFuPnt7ICd0YXNrLWJvYXJkLmRldGFpbC1wYW5lbC5lbmQtZGF0ZScgfCB0cmFuc2xhdGU6IHsgc2NvcGU6IHJvb3RDb25maWcuY29uZmlnLmkxOG4gfSB8IGFzeW5jIH19PC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJfX2NvbnRlbnRcIj5cbiAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgIG5vZGVJbmZvPy5lbmREYXRlXG4gICAgICAgICAgICAgICAgfCBmb3JtYXQ6ICdkYXRldGltZScgOiB7IGZvcm1hdDogJ3Nob3J0JywgY2FsZW5kYXI6IGxvY2FsZVNlcnZpY2UuYWN0aXZlUHJvZmlsZSgpLmNhbGVuZGFyLnN5c3RlbSB9XG4gICAgICAgICAgICAgICAgfCBhc3luY1xuICAgICAgICAgICAgfX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIEBsZXQgc3RhdHVzTmFtZSA9IGdldFN0YXR1c05hbWUobm9kZUluZm8/LnN0YXR1c0tleSwgbm9kZUluZm8/LmRhdGE/LnByb3ZpZGVyKTtcbiAgICAgICAgQGlmIChzdGF0dXNOYW1lKSB7XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIl9fcm93XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiX190aXRsZVwiPlxuICAgICAgICAgICAgICA8c3Bhbj57eyAndGFzay1ib2FyZC5kZXRhaWwtcGFuZWwuc3RhdHVzJyB8IHRyYW5zbGF0ZTogeyBzY29wZTogcm9vdENvbmZpZy5jb25maWcuaTE4biB9IHwgYXN5bmMgfX08L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJfX2NvbnRlbnRcIj57eyBzdGF0dXNOYW1lIH19PC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICAgICAgQGlmIChub2RlSW5mbz8ucHJpb3JpdHkpIHtcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiX19yb3dcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJfX3RpdGxlXCI+XG4gICAgICAgICAgICAgIDxzcGFuPlxuICAgICAgICAgICAgICAgIHt7ICd0YXNrLWJvYXJkLmRldGFpbC1wYW5lbC5wcmlvcml0eScgfCB0cmFuc2xhdGU6IHsgc2NvcGU6IHJvb3RDb25maWcuY29uZmlnLmkxOG4gfSB8IGFzeW5jIH19XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIl9fY29udGVudFwiPnt7IGNhcGl0YWxpemVGaXJzdExldHRlcihub2RlSW5mbz8ucHJpb3JpdHkgPz8gJycpIH19PC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbn0gQGVsc2Uge1xuICA8ZGl2IGNsYXNzPVwiX19oZWFkZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwiX190aXRsZVwiPlxuICAgICAgPHNwYW4+XG4gICAgICAgIHt7ICd0YXNrLWJvYXJkLmRldGFpbC1wYW5lbC5uby10YXNrLXNlbGVjdGVkJyB8IHRyYW5zbGF0ZTogeyBzY29wZTogcm9vdENvbmZpZy5jb25maWcuaTE4biB9IHwgYXN5bmMgfX1cbiAgICAgIDwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgICA8YXgtYnV0dG9uIFtsb29rXT1cIidibGFuaydcIiBjbGFzcz1cImF4LXNtIGF4LXJvdW5kZWQtZnVsbFwiIChvbkNsaWNrKT1cInZtLmNsb3NlRGV0YWlsUGFuZWwoKVwiPlxuICAgICAgPGF4LWljb24gaWNvbj1cImZhLXNvbGlkIGZhLXhtYXJrXCI+PC9heC1pY29uPlxuICAgIDwvYXgtYnV0dG9uPlxuICA8L2Rpdj5cbn1cbiJdfQ==","import { AXSchedulerComponent, } from '@acorex/components/scheduler';\nimport { AXCalendarService } from '@acorex/core/date-time';\nimport { ChangeDetectionStrategy, Component, computed, inject, input, output, viewChild, ViewEncapsulation, } from '@angular/core';\nimport { AXPTaskBoardService } from '../../task-board.service';\nimport { AXMTaskBoardViewModel } from '../../task-board.viewmodel';\nimport * as i0 from \"@angular/core\";\nexport class AXMTaskBoardCalendarViewComponent {\n constructor() {\n this.vm = inject(AXMTaskBoardViewModel);\n this.calendarService = inject(AXCalendarService);\n this.taskBoardService = inject(AXPTaskBoardService);\n this.schedulerComponent = viewChild(AXSchedulerComponent);\n this.startingDate = input(new Date());\n this.selectedView = input('month');\n this.dataSource = input.required();\n this.currentSchedulerView = computed(() => this.selectedView() === 'kanban' || this.selectedView() === 'grid'\n ? 'month'\n : this.selectedView());\n this.onTaskClick = output();\n this.onTaskChanged = output();\n this.onMonthSlotDblClicked = output();\n this.onActionClick = output();\n this.component = output();\n this.onTaskRightClick = output();\n this.onRangeChanged = output();\n }\n ngAfterViewInit() {\n if (this.schedulerComponent()) {\n this.component.emit(this.schedulerComponent());\n }\n }\n onTaskDrop(event) {\n if (event.isSameSlotDrop)\n return;\n let from;\n let end;\n const apptStartDate = this.calendarService.create(event.appointment.startDate);\n const apptEndDate = event.appointment.endDate;\n const apptDiffTime = Math.abs(apptStartDate.date.getTime() - apptEndDate.getTime());\n switch (event.slot.view) {\n case 'month':\n case 'agenda':\n from = this.calendarService\n .create(event.slot.startDate.date)\n .set('hour', apptStartDate.hour)\n .set('minute', apptStartDate.minute)\n .set('second', apptStartDate.second).date;\n end = new Date(from.getTime() + apptDiffTime);\n break;\n default:\n from = event.slot.startDate.date;\n end = event.slot.endDate.date;\n const isAllDay = Math.abs(from.getTime() - end.getTime()) >= 24 * 60 * 60 * 1000 - 1;\n const wasAllDay = apptDiffTime >= 24 * 60 * 60 * 1000 - 1;\n if ((wasAllDay && isAllDay) || (!wasAllDay && !isAllDay)) {\n end = new Date(from.getTime() + apptDiffTime);\n }\n break;\n }\n this.taskBoardService.updateTaskDateRange(event.appointment, { from, end }).then((task) => {\n this.onTaskChanged.emit(task);\n this.schedulerComponent()?.refresh([task]);\n });\n }\n onTaskRightClickHandler(event) {\n this.onTaskRightClick.emit({ nativeEvent: event.nativeEvent, task: event.appointment });\n }\n onSlotDblClicked(event) {\n if (event.sender.selectedView() === 'month') {\n this.onMonthSlotDblClicked.emit(event.slot.startDate.date);\n }\n }\n handleRangeChanged(event) {\n this.onRangeChanged.emit(event);\n }\n handleActionClick(event) {\n this.onActionClick.emit({ nativeEvent: event.nativeEvent, task: event.appointment });\n }\n onTaskClickHandler(event) {\n this.onTaskClick.emit(event.appointment);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: AXMTaskBoardCalendarViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.2.0\", version: \"20.0.7\", type: AXMTaskBoardCalendarViewComponent, isStandalone: true, selector: \"axm-task-board-calendar-view\", inputs: { startingDate: { classPropertyName: \"startingDate\", publicName: \"startingDate\", isSignal: true, isRequired: false, transformFunction: null }, selectedView: { classPropertyName: \"selectedView\", publicName: \"selectedView\", isSignal: true, isRequired: false, transformFunction: null }, dataSource: { classPropertyName: \"dataSource\", publicName: \"dataSource\", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { onTaskClick: \"onTaskClick\", onTaskChanged: \"onTaskChanged\", onMonthSlotDblClicked: \"onMonthSlotDblClicked\", onActionClick: \"onActionClick\", component: \"component\", onTaskRightClick: \"onTaskRightClick\", onRangeChanged: \"onRangeChanged\" }, viewQueries: [{ propertyName: \"schedulerComponent\", first: true, predicate: AXSchedulerComponent, descendants: true, isSignal: true }], ngImport: i0, template: \"<ax-scheduler\\n [hasHeader]=\\\"false\\\"\\n [hasActions]=\\\"true\\\"\\n [dataSource]=\\\"dataSource()\\\"\\n [startingDate]=\\\"startingDate()\\\"\\n [selectedView]=\\\"currentSchedulerView()\\\"\\n [multiDayViewDaysCount]=\\\"vm.daysCount()\\\"\\n (onAppointmentDrop)=\\\"onTaskDrop($event)\\\"\\n (onActionClick)=\\\"handleActionClick($event)\\\"\\n (onRangeChanged)=\\\"handleRangeChanged($event)\\\"\\n (onSlotDblClicked)=\\\"onSlotDblClicked($event)\\\"\\n (onAppointmentClicked)=\\\"onTaskClickHandler($event)\\\"\\n (onAppointmentRightClick)=\\\"onTaskRightClickHandler($event)\\\"\\n></ax-scheduler>\\n\", styles: [\"ax-scheduler{line-height:1.5;background-color:rgba(var(--ax-sys-color-lightest-surface))!important}\\n\"], dependencies: [{ kind: \"component\", type: AXSchedulerComponent, selector: \"ax-scheduler\", inputs: [\"calendar\", \"startingDate\", \"endDayHour\", \"startDayHour\", \"hasHeader\", \"readonly\", \"draggable\", \"hasActions\", \"dragStartDelay\", \"allowFullScreen\", \"multiDayViewDaysCount\", \"tooltipTemplate\", \"dataSource\", \"firstDayOfWeek\", \"views\", \"selectedView\"], outputs: [\"selectedViewChange\", \"onDataLoaded\", \"onRangeChanged\", \"onSlotClicked\", \"onSlotDblClicked\", \"onSlotRightClick\", \"onAppointmentDrop\", \"onActionClick\", \"onAppointmentClicked\", \"onAppointmentDblClicked\", \"onAppointmentRightClick\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: AXMTaskBoardCalendarViewComponent, decorators: [{\n type: Component,\n args: [{ selector: 'axm-task-board-calendar-view', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [AXSchedulerComponent], template: \"<ax-scheduler\\n [hasHeader]=\\\"false\\\"\\n [hasActions]=\\\"true\\\"\\n [dataSource]=\\\"dataSource()\\\"\\n [startingDate]=\\\"startingDate()\\\"\\n [selectedView]=\\\"currentSchedulerView()\\\"\\n [multiDayViewDaysCount]=\\\"vm.daysCount()\\\"\\n (onAppointmentDrop)=\\\"onTaskDrop($event)\\\"\\n (onActionClick)=\\\"handleActionClick($event)\\\"\\n (onRangeChanged)=\\\"handleRangeChanged($event)\\\"\\n (onSlotDblClicked)=\\\"onSlotDblClicked($event)\\\"\\n (onAppointmentClicked)=\\\"onTaskClickHandler($event)\\\"\\n (onAppointmentRightClick)=\\\"onTaskRightClickHandler($event)\\\"\\n></ax-scheduler>\\n\", styles: [\"ax-scheduler{line-height:1.5;background-color:rgba(var(--ax-sys-color-lightest-surface))!important}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay1ib2FyZC1jYWxlbmRhci12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy93b3JrZmxvdy1tYW5hZ2VtZW50L3NyYy9saWIvZmVhdHVyZXMvdGFzay1ib2FyZC92aWV3cy90YXNrLWJvYXJkLWNhbGVuZGFyLXZpZXcvdGFzay1ib2FyZC1jYWxlbmRhci12aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy93b3JrZmxvdy1tYW5hZ2VtZW50L3NyYy9saWIvZmVhdHVyZXMvdGFzay1ib2FyZC92aWV3cy90YXNrLWJvYXJkLWNhbGVuZGFyLXZpZXcvdGFzay1ib2FyZC1jYWxlbmRhci12aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFHTCxvQkFBb0IsR0FLckIsTUFBTSw4QkFBOEIsQ0FBQztBQUN0QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUUzRCxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxRQUFRLEVBQ1IsTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNULGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUscUJBQXFCLEVBQXdCLE1BQU0sNEJBQTRCLENBQUM7O0FBVXpGLE1BQU0sT0FBTyxpQ0FBaUM7SUFSOUM7UUFTcUIsT0FBRSxHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQ25DLG9CQUFlLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDNUMscUJBQWdCLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFF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QUMsQ0FBQztJQUNsQyxDQUFDO0lBRVMsaUJBQWlCLENBQUMsS0FBdUM7UUFDakUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRSxXQUFXLEVBQUUsS0FBSyxDQUFDLFdBQVcsRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLFdBQXNCLEVBQUUsQ0FBQyxDQUFDO0lBQ2xHLENBQUM7SUFFUyxrQkFBa0IsQ0FBQyxLQUF1QztRQUNsRSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBc0IsQ0FBQyxDQUFDO0lBQ3RELENBQUM7OEdBekZVLGlDQUFpQztrR0FBakMsaUNBQWlDLGl6QkFLYixvQkFBb0IsZ0VDdENyRCxxakJBY0EsK0pEaUJZLG9CQUFvQjs7MkZBRW5CLGlDQUFpQztrQkFSN0MsU0FBUzsrQkFDRSw4QkFBOEIsbUJBR3ZCLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUksV0FDNUIsQ0FBQyxvQkFBb0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFYU2NoZWR1bGVyQXBwb2ludG1lbnREYXRhU291cmNlLFxuICBBWFNjaGVkdWxlckFwcG9pbnRtZW50TW91c2VFdmVudCxcbiAgQVhTY2hlZHVsZXJDb21wb25lbnQsXG4gIEFYU2NoZWR1bGVyRGF0ZVJhbmdlLFxuICBBWFNjaGVkdWxlclNsb3REcm9wRXZlbnQsXG4gIEFYU2NoZWR1bGVyU2xvdE1vdXNlRXZlbnQsXG4gIEFYU2NoZWR1bGVyVmlldyxcbn0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3NjaGVkdWxlcic7XG5pbXBvcnQgeyBBWENhbGVuZGFyU2VydmljZSB9IGZyb20gJ0BhY29yZXgvY29yZS9kYXRlLXRpbWUnO1xuaW1wb3J0IHsgQVhQVGFzaywgQVhQVGFza0FjdGlvbiB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vd29ya2Zsb3cnO1xuaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgY29tcHV0ZWQsXG4gIGluamVjdCxcbiAgaW5wdXQsXG4gIG91dHB1dCxcbiAgdmlld0NoaWxkLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWFBUYXNrQm9hcmRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vdGFzay1ib2FyZC5zZXJ2aWNlJztcbmltcG9ydCB7IEFYTVRhc2tCb2FyZFZpZXdNb2RlbCwgQVhQVGFza0JvYXJkVmlld01vZGUgfSBmcm9tICcuLi8uLi90YXNrLWJvYXJkLnZpZXdtb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4bS10YXNrLWJvYXJkLWNhbGVuZGFyLXZpZXcnLFxuICB0ZW1wbGF0ZVVybDogJy4vdGFzay1ib2FyZC1jYWxlbmRhci12aWV3LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGFzay1ib2FyZC1jYWxlbmRhci12aWV3LmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBpbXBvcnRzOiBbQVhTY2hlZHVsZXJDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBBWE1UYXNrQm9hcmRDYWxlbmRhclZpZXdDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHZtID0gaW5qZWN0KEFYTVRhc2tCb2FyZFZpZXdNb2RlbCk7XG4gIHByb3RlY3RlZCByZWFkb25seSBjYWxlbmRhclNlcnZpY2UgPSBpbmplY3QoQVhDYWxlbmRhclNlcnZpY2UpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgdGFza0JvYXJkU2VydmljZSA9IGluamVjdChBWFBUYXNrQm9hcmRTZXJ2aWNlKTtcblxuICBzY2hlZHVsZXJDb21wb25lbnQgPSB2aWV3Q2hpbGQoQVhTY2hlZHVsZXJDb21wb25lbnQpO1xuXG4gIHN0YXJ0aW5nRGF0ZSA9IGlucHV0PERhdGU+KG5ldyBEYXRlKCkpO1xuICBzZWxlY3RlZFZpZXcgPSBpbnB1dDxBWFBUYXNrQm9hcmRWaWV3TW9kZT4oJ21vbnRoJyk7XG4gIGRhdGFTb3VyY2UgPSBpbnB1dC5yZXF1aXJlZDxBWFNjaGVkdWxlckFwcG9pbnRtZW50RGF0YVNvdXJjZT4oKTtcblxuICBwcm90ZWN0ZWQgY3VycmVudFNjaGVkdWxlclZpZXcgPSBjb21wdXRlZDxBWFNjaGVkdWxlclZpZXc+KCgpID0+XG4gICAgdGhpcy5zZWxlY3RlZFZpZXcoKSA9PT0gJ2thbmJhbicgfHwgdGhpcy5zZWxlY3RlZFZpZXcoKSA9PT0gJ2dyaWQnXG4gICAgICA/ICdtb250aCdcbiAgICAgIDogKHRoaXMuc2VsZWN0ZWRWaWV3KCkgYXMgQVhTY2hlZHVsZXJWaWV3KSxcbiAgKTtcblxuICBvblRhc2tDbGljayA9IG91dHB1dDxBWFBUYXNrPigpO1xuICBvblRhc2tDaGFuZ2VkID0gb3V0cHV0PEFYUFRhc2s+KCk7XG4gIG9uTW9udGhTbG90RGJsQ2xpY2tlZCA9IG91dHB1dDxEYXRlPigpO1xuICBvbkFjdGlvbkNsaWNrID0gb3V0cHV0PEFYUFRhc2tBY3Rpb24+KCk7XG4gIGNvbXBvbmVudCA9IG91dHB1dDxBWFNjaGVkdWxlckNvbXBvbmVudD4oKTtcbiAgb25UYXNrUmlnaHRDbGljayA9IG91dHB1dDxBWFBUYXNrQWN0aW9uPigpO1xuICBvblJhbmdlQ2hhbmdlZCA9IG91dHB1dDxBWFNjaGVkdWxlckRhdGVSYW5nZT4oKTtcblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc2NoZWR1bGVyQ29tcG9uZW50KCkpIHtcbiAgICAgIHRoaXMuY29tcG9uZW50LmVtaXQodGhpcy5zY2hlZHVsZXJDb21wb25lbnQoKSEpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBvblRhc2tEcm9wKGV2ZW50OiBBWFNjaGVkdWxlclNsb3REcm9wRXZlbnQpIHtcbiAgICBpZiAoZXZlbnQuaXNTYW1lU2xvdERyb3ApIHJldHVybjtcbiAgICBsZXQgZnJvbTogRGF0ZTtcbiAgICBsZXQgZW5kOiBEYXRlO1xuICAgIGNvbnN0IGFwcHRTdGFydERhdGUgPSB0aGlzLmNhbGVuZGFyU2VydmljZS5jcmVhdGUoZXZlbnQuYXBwb2ludG1lbnQuc3RhcnREYXRlKTtcbiAgICBjb25zdCBhcHB0RW5kRGF0ZSA9IGV2ZW50LmFwcG9pbnRtZW50LmVuZERhdGU7XG5cbiAgICBjb25zdCBhcHB0RGlmZlRpbWUgPSBNYXRoLmFicyhhcHB0U3RhcnREYXRlLmRhdGUuZ2V0VGltZSgpIC0gYXBwdEVuZERhdGUuZ2V0VGltZSgpKTtcbiAgICBzd2l0Y2ggKGV2ZW50LnNsb3Qudmlldykge1xuICAgICAgY2FzZSAnbW9udGgnOlxuICAgICAgY2FzZSAnYWdlbmRhJzpcbiAgICAgICAgZnJvbSA9IHRoaXMuY2FsZW5kYXJTZXJ2aWNlXG4gICAgICAgICAgLmNyZWF0ZShldmVudC5zbG90LnN0YXJ0RGF0ZS5kYXRlKVxuICAgICAgICAgIC5zZXQoJ2hvdXInLCBhcHB0U3RhcnREYXRlLmhvdXIpXG4gICAgICAgICAgLnNldCgnbWludXRlJywgYXBwdFN0YXJ0RGF0ZS5taW51dGUpXG4gICAgICAgICAgLnNldCgnc2Vjb25kJywgYXBwdFN0YXJ0RGF0ZS5zZWNvbmQpLmRhdGU7XG4gICAgICAgIGVuZCA9IG5ldyBEYXRlKGZyb20uZ2V0VGltZSgpICsgYXBwdERpZmZUaW1lKTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGZyb20gPSBldmVudC5zbG90LnN0YXJ0RGF0ZS5kYXRlO1xuICAgICAgICBlbmQgPSBldmVudC5zbG90LmVuZERhdGUuZGF0ZTtcblxuICAgICAgICBjb25zdCBpc0FsbERheSA9IE1hdGguYWJzKGZyb20uZ2V0VGltZSgpIC0gZW5kLmdldFRpbWUoKSkgPj0gMjQgKiA2MCAqIDYwICogMTAwMCAtIDE7XG4gICAgICAgIGNvbnN0IHdhc0FsbERheSA9IGFwcHREaWZmVGltZSA+PSAyNCAqIDYwICogNjAgKiAxMDAwIC0gMTtcblxuICAgICAgICBpZiAoKHdhc0FsbERheSAmJiBpc0FsbERheSkgfHwgKCF3YXNBbGxEYXkgJiYgIWlzQWxsRGF5KSkge1xuICAgICAgICAgIGVuZCA9IG5ldyBEYXRlKGZyb20uZ2V0VGltZSgpICsgYXBwdERpZmZUaW1lKTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICB9XG5cbiAgICB0aGlzLnRhc2tCb2FyZFNlcnZpY2UudXBkYXRlVGFza0RhdGVSYW5nZShldmVudC5hcHBvaW50bWVudCBhcyBBWFBUYXNrLCB7IGZyb20sIGVuZCB9KS50aGVuKCh0YXNrKSA9PiB7XG4gICAgICB0aGlzLm9uVGFza0NoYW5nZWQuZW1pdCh0YXNrKTtcbiAgICAgIHRoaXMuc2NoZWR1bGVyQ29tcG9uZW50KCk/LnJlZnJlc2goW3Rhc2tdKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvblRhc2tSaWdodENsaWNrSGFuZGxlcihldmVudDogQVhTY2hlZHVsZXJBcHBvaW50bWVudE1vdXNlRXZlbnQpIHtcbiAgICB0aGlzLm9uVGFza1JpZ2h0Q2xpY2suZW1pdCh7IG5hdGl2ZUV2ZW50OiBldmVudC5uYXRpdmVFdmVudCwgdGFzazogZXZlbnQuYXBwb2ludG1lbnQgYXMgQVhQVGFzayB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvblNsb3REYmxDbGlja2VkKGV2ZW50OiBBWFNjaGVkdWxlclNsb3RNb3VzZUV2ZW50KSB7XG4gICAgaWYgKGV2ZW50LnNlbmRlci5zZWxlY3RlZFZpZXcoKSA9PT0gJ21vbnRoJykge1xuICAgICAgdGhpcy5vbk1vbnRoU2xvdERibENsaWNrZWQuZW1pdChldmVudC5zbG90LnN0YXJ0RGF0ZS5kYXRlKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlUmFuZ2VDaGFuZ2VkKGV2ZW50OiBBWFNjaGVkdWxlckRhdGVSYW5nZSkge1xuICAgIHRoaXMub25SYW5nZUNoYW5nZWQuZW1pdChldmVudCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlQWN0aW9uQ2xpY2soZXZlbnQ6IEFYU2NoZWR1bGVyQXBwb2ludG1lbnRNb3VzZUV2ZW50KSB7XG4gICAgdGhpcy5vbkFjdGlvbkNsaWNrLmVtaXQoeyBuYXRpdmVFdmVudDogZXZlbnQubmF0aXZlRXZlbnQsIHRhc2s6IGV2ZW50LmFwcG9pbnRtZW50IGFzIEFYUFRhc2sgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb25UYXNrQ2xpY2tIYW5kbGVyKGV2ZW50OiBBWFNjaGVkdWxlckFwcG9pbnRtZW50TW91c2VFdmVudCkge1xuICAgIHRoaXMub25UYXNrQ2xpY2suZW1pdChldmVudC5hcHBvaW50bWVudCBhcyBBWFBUYXNrKTtcbiAgfVxufVxuIiwiPGF4LXNjaGVkdWxlclxuICBbaGFzSGVhZGVyXT1cImZhbHNlXCJcbiAgW2hhc0FjdGlvbnNdPVwidHJ1ZVwiXG4gIFtkYXRhU291cmNlXT1cImRhdGFTb3VyY2UoKVwiXG4gIFtzdGFydGluZ0RhdGVdPVwic3RhcnRpbmdEYXRlKClcIlxuICBbc2VsZWN0ZWRWaWV3XT1cImN1cnJlbnRTY2hlZHVsZXJWaWV3KClcIlxuICBbbXVsdGlEYXlWaWV3RGF5c0NvdW50XT1cInZtLmRheXNDb3VudCgpXCJcbiAgKG9uQXBwb2ludG1lbnREcm9wKT1cIm9uVGFza0Ryb3AoJGV2ZW50KVwiXG4gIChvbkFjdGlvbkNsaWNrKT1cImhhbmRsZUFjdGlvbkNsaWNrKCRldmVudClcIlxuICAob25SYW5nZUNoYW5nZWQpPVwiaGFuZGxlUmFuZ2VDaGFuZ2VkKCRldmVudClcIlxuICAob25TbG90RGJsQ2xpY2tlZCk9XCJvblNsb3REYmxDbGlja2VkKCRldmVudClcIlxuICAob25BcHBvaW50bWVudENsaWNrZWQpPVwib25UYXNrQ2xpY2tIYW5kbGVyKCRldmVudClcIlxuICAob25BcHBvaW50bWVudFJpZ2h0Q2xpY2spPVwib25UYXNrUmlnaHRDbGlja0hhbmRsZXIoJGV2ZW50KVwiXG4+PC9heC1zY2hlZHVsZXI+XG4iXX0=","import { AXDataSource } from '@acorex/cdk/common';\nimport { AXDataTableModule } from '@acorex/components/data-table';\nimport { AXCalendarService } from '@acorex/core/date-time';\nimport { AXLocaleService } from '@acorex/core/locale';\nimport { ChangeDetectionStrategy, Component, computed, effect, inject, input, output, untracked, ViewEncapsulation, } from '@angular/core';\nimport { isEqual } from 'lodash-es';\nimport { AXPTaskBoardService } from '../../task-board.service';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@acorex/components/data-table\";\nexport class AXMTaskBoardGridViewComponent {\n constructor() {\n this.localeService = inject(AXLocaleService);\n this.calendarService = inject(AXCalendarService);\n this.taskBoardService = inject(AXPTaskBoardService);\n this.tasks = input.required();\n this.statuses = input.required();\n this.onTaskClick = output();\n this.onActionClick = output();\n this.stableTasks = computed(() => this.tasks(), { equal: isEqual });\n this.tasksDataSource = computed(() => {\n return new AXDataSource({\n load: async (e) => {\n const items = this.stableTasks().map((task) => ({\n id: task.id,\n title: task.title,\n priority: task.priority,\n description: task.description,\n endDate: this.calendarService.format(task.endDate, 'DD/MM/YYYY HH:mm', {\n locale: this.localeService.activeProfile().calendar.system,\n }),\n startDate: this.calendarService.format(task.startDate, 'DD/MM/YYYY HH:mm', {\n locale: this.localeService.activeProfile().calendar.system,\n }),\n statusTitle: this.statuses().find((status) => status.key === task.statusKey)?.title,\n }));\n return {\n items: items.slice(e.skip, e.skip + e.take),\n total: items.length,\n };\n },\n pageSize: 10,\n key: 'id',\n byKey: async (key) => {\n return this.stableTasks().find((task) => task.id === key);\n },\n });\n });\n this.#tasksChanged = effect(() => {\n this.stableTasks();\n untracked(() => {\n this.tasksDataSource().refresh();\n });\n });\n }\n #tasksChanged;\n handleRowClick(event) {\n const task = this.stableTasks().find((task) => task.id === event.data.id);\n if (task) {\n this.onTaskClick.emit(task);\n }\n }\n onActionClickHandler(e) {\n const task = this.stableTasks().find((task) => task.id === e.data.id);\n if (!task)\n return;\n this.onActionClick.emit({ nativeEvent: e.nativeEvent, task });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: AXMTaskBoardGridViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.1.0\", version: \"20.0.7\", type: AXMTaskBoardGridViewComponent, isStandalone: true, selector: \"axm-task-board-grid-view\", inputs: { tasks: { classPropertyName: \"tasks\", publicName: \"tasks\", isSignal: true, isRequired: true, transformFunction: null }, statuses: { classPropertyName: \"statuses\", publicName: \"statuses\", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { onTaskClick: \"onTaskClick\", onActionClick: \"onActionClick\" }, ngImport: i0, template: \"<ax-data-table\\n [fetchDataMode]=\\\"'manual'\\\"\\n [dataSource]=\\\"tasksDataSource()\\\"\\n (onRowClick)=\\\"handleRowClick($event)\\\"\\n [loading]=\\\"{ enabled: true, animation: true }\\\"\\n>\\n <ax-text-column dataField=\\\"title\\\" caption=\\\"title\\\" [width]=\\\"'350px'\\\"></ax-text-column>\\n <ax-text-column dataField=\\\"description\\\" caption=\\\"description\\\" [width]=\\\"'100%'\\\"></ax-text-column>\\n <ax-text-column dataField=\\\"startDate\\\" caption=\\\"Start Date\\\" [width]=\\\"'150px'\\\"></ax-text-column>\\n <ax-text-column dataField=\\\"endDate\\\" caption=\\\"Due Date\\\" [width]=\\\"'150px'\\\"></ax-text-column>\\n <ax-text-column dataField=\\\"priority\\\" caption=\\\"priority\\\" [width]=\\\"'125px'\\\"></ax-text-column>\\n <ax-text-column dataField=\\\"statusTitle\\\" caption=\\\"status\\\" [width]=\\\"'125px'\\\"></ax-text-column>\\n <ax-command-column\\n fixed=\\\"end\\\"\\n [width]=\\\"'60px'\\\"\\n (onItemClick)=\\\"onActionClickHandler($event)\\\"\\n [items]=\\\"[{ name: 'view', text: 'View', icon: 'ax-icon ax-icon-more-horizontal' }]\\\"\\n ></ax-command-column>\\n</ax-data-table>\\n\", styles: [\"ax-kanban{--ax-comp-kanban-status-min-width: 25rem;height:100%;line-height:1.5}\\n\"], dependencies: [{ kind: \"ngmodule\", type: AXDataTableModule }, { kind: \"component\", type: i1.AXDataTableComponent, selector: \"ax-data-table\", inputs: [\"dataSource\", \"parentField\", \"rowTemplate\", \"emptyTemplate\", \"alternative\", \"showHeader\", \"fixedHeader\", \"showFooter\", \"fixedFooter\", \"itemHeight\", \"allowReordering\", \"paging\", \"fetchDataMode\", \"loading\", \"focusedRow\"], outputs: [\"selectedRowsChange\", \"focusedRowChange\", \"onRowClick\", \"onRowDbClick\", \"onColumnsOrderChanged\", \"onColumnSizeChanged\", \"onPageChanged\"] }, { kind: \"component\", type: i1.AXDataTableTextColumnComponent, selector: \"ax-text-column\", inputs: [\"width\", \"caption\", \"allowSorting\", \"allowResizing\", \"fixed\", \"customExpandIcon\", \"customCollapseIcon\", \"dataField\", \"expandHandler\", \"wrapText\", \"cellTemplate\", \"footerTemplate\", \"headerTemplate\", \"format\", \"formatOptions\"] }, { kind: \"component\", type: i1.AXRowCommandColumnComponent, selector: \"ax-command-column\", inputs: [\"width\", \"caption\", \"fixed\", \"footerTemplate\", \"items\"], outputs: [\"onItemClick\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: AXMTaskBoardGridViewComponent, decorators: [{\n type: Component,\n args: [{ selector: 'axm-task-board-grid-view', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [AXDataTableModule], template: \"<ax-data-table\\n [fetchDataMode]=\\\"'manual'\\\"\\n [dataSource]=\\\"tasksDataSource()\\\"\\n (onRowClick)=\\\"handleRowClick($event)\\\"\\n [loading]=\\\"{ enabled: true, animation: true }\\\"\\n>\\n <ax-text-column dataField=\\\"title\\\" caption=\\\"title\\\" [width]=\\\"'350px'\\\"></ax-text-column>\\n <ax-text-column dataField=\\\"description\\\" caption=\\\"description\\\" [width]=\\\"'100%'\\\"></ax-text-column>\\n <ax-text-column dataField=\\\"startDate\\\" caption=\\\"Start Date\\\" [width]=\\\"'150px'\\\"></ax-text-column>\\n <ax-text-column dataField=\\\"endDate\\\" caption=\\\"Due Date\\\" [width]=\\\"'150px'\\\"></ax-text-column>\\n <ax-text-column dataField=\\\"priority\\\" caption=\\\"priority\\\" [width]=\\\"'125px'\\\"></ax-text-column>\\n <ax-text-column dataField=\\\"statusTitle\\\" caption=\\\"status\\\" [width]=\\\"'125px'\\\"></ax-text-column>\\n <ax-command-column\\n fixed=\\\"end\\\"\\n [width]=\\\"'60px'\\\"\\n (onItemClick)=\\\"onActionClickHandler($event)\\\"\\n [items]=\\\"[{ name: 'view', text: 'View', icon: 'ax-icon ax-icon-more-horizontal' }]\\\"\\n ></ax-command-column>\\n</ax-data-table>\\n\", styles: [\"ax-kanban{--ax-comp-kanban-status-min-width: 25rem;height:100%;line-height:1.5}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay1ib2FyZC1ncmlkLXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL3dvcmtmbG93LW1hbmFnZW1lbnQvc3JjL2xpYi9mZWF0dXJlcy90YXNrLWJvYXJkL3ZpZXdzL3Rhc2stYm9hcmQtZ3JpZC12aWV3L3Rhc2stYm9hcmQtZ3JpZC12aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy93b3JrZmxvdy1tYW5hZ2VtZW50L3NyYy9saWIvZmVhdHVyZXMvdGFzay1ib2FyZC92aWV3cy90YXNrLWJvYXJkLWdyaWQtdmlldy90YXNrLWJvYXJkLWdyaWQtdmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXNCLFlBQVksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxpQkFBaUIsRUFBdUIsTUFBTSwrQkFBK0IsQ0FBQztBQUV2RixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFdEQsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsUUFBUSxFQUNSLE1BQU0sRUFDTixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEVBQ1QsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDcEMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7OztBQVUvRCxNQUFNLE9BQU8sNkJBQTZCO0lBUjFDO1FBU3FCLGtCQUFhLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ3hDLG9CQUFlLEdBQUcsTUFB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QUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzFFLElBQUksSUFBSSxFQUFFLENBQUM7WUFDVCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM5QixDQUFDO0lBQ0gsQ0FBQztJQUVTLG9CQUFvQixDQUFDLENBQXFCO1FBQ2xELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN0RSxJQUFJLENBQUMsSUFBSTtZQUFFLE9BQU87UUFDbEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDLFdBQVcsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7OEdBM0RVLDZCQUE2QjtrR0FBN0IsNkJBQTZCLGdhQzVCMUMscWhDQW1CQSwwSURPWSxpQkFBaUI7OzJGQUVoQiw2QkFBNkI7a0JBUnpDLFNBQVM7K0JBQ0UsMEJBQTBCLG1CQUduQix1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJLFdBQzVCLENBQUMsaUJBQWlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWEJ1dHRvbkNsaWNrRXZlbnQsIEFYRGF0YVNvdXJjZSB9IGZyb20gJ0BhY29yZXgvY2RrL2NvbW1vbic7XG5pbXBvcnQgeyBBWERhdGFUYWJsZU1vZHVsZSwgQVhEYXRhVGFibGVSb3dDbGljayB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kYXRhLXRhYmxlJztcbmltcG9ydCB7IEFYS2FuYmFuU3RhdHVzIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2thbmJhbic7XG5pbXBvcnQgeyBBWENhbGVuZGFyU2VydmljZSB9IGZyb20gJ0BhY29yZXgvY29yZS9kYXRlLXRpbWUnO1xuaW1wb3J0IHsgQVhMb2NhbGVTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9jb3JlL2xvY2FsZSc7XG5pbXBvcnQgeyBBWFBUYXNrLCBBWFBUYXNrQWN0aW9uIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS93b3JrZmxvdyc7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBjb21wdXRlZCxcbiAgZWZmZWN0LFxuICBpbmplY3QsXG4gIGlucHV0LFxuICBvdXRwdXQsXG4gIHVudHJhY2tlZCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaXNFcXVhbCB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBBWFBUYXNrQm9hcmRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vdGFzay1ib2FyZC5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXhtLXRhc2stYm9hcmQtZ3JpZC12aWV3JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Rhc2stYm9hcmQtZ3JpZC12aWV3LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGFzay1ib2FyZC1ncmlkLXZpZXcuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGltcG9ydHM6IFtBWERhdGFUYWJsZU1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIEFYTVRhc2tCb2FyZEdyaWRWaWV3Q29tcG9uZW50IHtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGxvY2FsZVNlcnZpY2UgPSBpbmplY3QoQVhMb2NhbGVTZXJ2aWNlKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGNhbGVuZGFyU2VydmljZSA9IGluamVjdChBWENhbGVuZGFyU2VydmljZSk7XG4gIHByb3RlY3RlZCByZWFkb25seSB0YXNrQm9hcmRTZXJ2aWNlID0gaW5qZWN0KEFYUFRhc2tCb2FyZFNlcnZpY2UpO1xuXG4gIHRhc2tzID0gaW5wdXQucmVxdWlyZWQ8QVhQVGFza1tdPigpO1xuICBzdGF0dXNlcyA9IGlucHV0LnJlcXVpcmVkPEFYS2FuYmFuU3RhdHVzW10+KCk7XG5cbiAgb25UYXNrQ2xpY2sgPSBvdXRwdXQ8QVhQVGFzaz4oKTtcbiAgb25BY3Rpb25DbGljayA9IG91dHB1dDxBWFBUYXNrQWN0aW9uPigpO1xuXG4gIHN0YWJsZVRhc2tzID0gY29tcHV0ZWQoKCkgPT4gdGhpcy50YXNrcygpLCB7IGVxdWFsOiBpc0VxdWFsIH0pO1xuICBwcm90ZWN0ZWQgdGFza3NEYXRhU291cmNlID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIHJldHVybiBuZXcgQVhEYXRhU291cmNlPGFueT4oe1xuICAgICAgbG9hZDogYXN5bmMgKGUpID0+IHtcbiAgICAgICAgY29uc3QgaXRlbXMgPSB0aGlzLnN0YWJsZVRhc2tzKCkubWFwKCh0YXNrKSA9PiAoe1xuICAgICAgICAgIGlkOiB0YXNrLmlkLFxuICAgICAgICAgIHRpdGxlOiB0YXNrLnRpdGxlLFxuICAgICAgICAgIHByaW9yaXR5OiB0YXNrLnByaW9yaXR5LFxuICAgICAgICAgIGRlc2NyaXB0aW9uOiB0YXNrLmRlc2NyaXB0aW9uLFxuICAgICAgICAgIGVuZERhdGU6IHRoaXMuY2FsZW5kYXJTZXJ2aWNlLmZvcm1hdCh0YXNrLmVuZERhdGUsICdERC9NTS9ZWVlZIEhIOm1tJywge1xuICAgICAgICAgICAgbG9jYWxlOiB0aGlzLmxvY2FsZVNlcnZpY2UuYWN0aXZlUHJvZmlsZSgpLmNhbGVuZGFyLnN5c3RlbSxcbiAgICAgICAgICB9KSxcbiAgICAgICAgICBzdGFydERhdGU6IHRoaXMuY2FsZW5kYXJTZXJ2aWNlLmZvcm1hdCh0YXNrLnN0YXJ0RGF0ZSwgJ0REL01NL1lZWVkgSEg6bW0nLCB7XG4gICAgICAgICAgICBsb2NhbGU6IHRoaXMubG9jYWxlU2VydmljZS5hY3RpdmVQcm9maWxlKCkuY2FsZW5kYXIuc3lzdGVtLFxuICAgICAgICAgIH0pLFxuICAgICAgICAgIHN0YXR1c1RpdGxlOiB0aGlzLnN0YXR1c2VzKCkuZmluZCgoc3RhdHVzKSA9PiBzdGF0dXMua2V5ID09PSB0YXNrLnN0YXR1c0tleSk/LnRpdGxlLFxuICAgICAgICB9KSk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgaXRlbXM6IGl0ZW1zLnNsaWNlKGUuc2tpcCwgZS5za2lwICsgZS50YWtlKSxcbiAgICAgICAgICB0b3RhbDogaXRlbXMubGVuZ3RoLFxuICAgICAgICB9O1xuICAgICAgfSxcbiAgICAgIHBhZ2VTaXplOiAxMCxcbiAgICAgIGtleTogJ2lkJyxcbiAgICAgIGJ5S2V5OiBhc3luYyAoa2V5OiB1bmtub3duKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0YWJsZVRhc2tzKCkuZmluZCgodGFzaykgPT4gdGFzay5pZCA9PT0ga2V5KTtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH0pO1xuXG4gICN0YXNrc0NoYW5nZWQgPSBlZmZlY3QoKCkgPT4ge1xuICAgIHRoaXMuc3RhYmxlVGFza3MoKTtcbiAgICB1bnRyYWNrZWQoKCkgPT4ge1xuICAgICAgdGhpcy50YXNrc0RhdGFTb3VyY2UoKS5yZWZyZXNoKCk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIHByb3RlY3RlZCBoYW5kbGVSb3dDbGljayhldmVudDogQVhEYXRhVGFibGVSb3dDbGljaykge1xuICAgIGNvbnN0IHRhc2sgPSB0aGlzLnN0YWJsZVRhc2tzKCkuZmluZCgodGFzaykgPT4gdGFzay5pZCA9PT0gZXZlbnQuZGF0YS5pZCk7XG4gICAgaWYgKHRhc2spIHtcbiAgICAgIHRoaXMub25UYXNrQ2xpY2suZW1pdCh0YXNrKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb25BY3Rpb25DbGlja0hhbmRsZXIoZTogQVhCdXR0b25DbGlja0V2ZW50KSB7XG4gICAgY29uc3QgdGFzayA9IHRoaXMuc3RhYmxlVGFza3MoKS5maW5kKCh0YXNrKSA9PiB0YXNrLmlkID09PSBlLmRhdGEuaWQpO1xuICAgIGlmICghdGFzaykgcmV0dXJuO1xuICAgIHRoaXMub25BY3Rpb25DbGljay5lbWl0KHsgbmF0aXZlRXZlbnQ6IGUubmF0aXZlRXZlbnQsIHRhc2sgfSk7XG4gIH1cbn1cbiIsIjxheC1kYXRhLXRhYmxlXG4gIFtmZXRjaERhdGFNb2RlXT1cIidtYW51YWwnXCJcbiAgW2RhdGFTb3VyY2VdPVwidGFza3NEYXRhU291cmNlKClcIlxuICAob25Sb3dDbGljayk9XCJoYW5kbGVSb3dDbGljaygkZXZlbnQpXCJcbiAgW2xvYWRpbmddPVwieyBlbmFibGVkOiB0cnVlLCBhbmltYXRpb246IHRydWUgfVwiXG4+XG4gIDxheC10ZXh0LWNvbHVtbiBkYXRhRmllbGQ9XCJ0aXRsZVwiIGNhcHRpb249XCJ0aXRsZVwiIFt3aWR0aF09XCInMzUwcHgnXCI+PC9heC10ZXh0LWNvbHVtbj5cbiAgPGF4LXRleHQtY29sdW1uIGRhdGFGaWVsZD1cImRlc2NyaXB0aW9uXCIgY2FwdGlvbj1cImRlc2NyaXB0aW9uXCIgW3dpZHRoXT1cIicxMDAlJ1wiPjwvYXgtdGV4dC1jb2x1bW4+XG4gIDxheC10ZXh0LWNvbHVtbiBkYXRhRmllbGQ9XCJzdGFydERhdGVcIiBjYXB0aW9uPVwiU3RhcnQgRGF0ZVwiIFt3aWR0aF09XCInMTUwcHgnXCI+PC9heC10ZXh0LWNvbHVtbj5cbiAgPGF4LXRleHQtY29sdW1uIGRhdGFGaWVsZD1cImVuZERhdGVcIiBjYXB0aW9uPVwiRHVlIERhdGVcIiBbd2lkdGhdPVwiJzE1MHB4J1wiPjwvYXgtdGV4dC1jb2x1bW4+XG4gIDxheC10ZXh0LWNvbHVtbiBkYXRhRmllbGQ9XCJwcmlvcml0eVwiIGNhcHRpb249XCJwcmlvcml0eVwiIFt3aWR0aF09XCInMTI1cHgnXCI+PC9heC10ZXh0LWNvbHVtbj5cbiAgPGF4LXRleHQtY29sdW1uIGRhdGFGaWVsZD1cInN0YXR1c1RpdGxlXCIgY2FwdGlvbj1cInN0YXR1c1wiIFt3aWR0aF09XCInMTI1cHgnXCI+PC9heC10ZXh0LWNvbHVtbj5cbiAgPGF4LWNvbW1hbmQtY29sdW1uXG4gICAgZml4ZWQ9XCJlbmRcIlxuICAgIFt3aWR0aF09XCInNjBweCdcIlxuICAgIChvbkl0ZW1DbGljayk9XCJvbkFjdGlvbkNsaWNrSGFuZGxlcigkZXZlbnQpXCJcbiAgICBbaXRlbXNdPVwiW3sgbmFtZTogJ3ZpZXcnLCB0ZXh0OiAnVmlldycsIGljb246ICdheC1pY29uIGF4LWljb24tbW9yZS1ob3Jpem9udGFsJyB9XVwiXG4gID48L2F4LWNvbW1hbmQtY29sdW1uPlxuPC9heC1kYXRhLXRhYmxlPlxuIl19","import { AXKanbanComponent, } from '@acorex/components/kanban';\nimport { ChangeDetectionStrategy, Component, computed, inject, input, model, output, viewChild, ViewEncapsulation, } from '@angular/core';\nimport { isEqual } from 'lodash-es';\nimport { AXPTaskBoardService } from '../../task-board.service';\nimport * as i0 from \"@angular/core\";\nexport class AXMTaskBoardKanbanViewComponent {\n constructor() {\n this.taskBoardService = inject(AXPTaskBoardService);\n this.kanbanComponent = viewChild(AXKanbanComponent);\n this.tasks = model.required();\n this.statuses = input.required();\n this.onTaskClick = output();\n this.onTaskChanged = output();\n this.component = output();\n this.onActionClick = output();\n this.stableTasks = computed(() => this.tasks(), { equal: isEqual });\n this.kanbanTasks = computed(() => {\n return this.stableTasks().map((task) => ({\n id: task.id,\n title: task.title,\n index: task.index,\n cssClass: task.cssClass,\n priority: task.priority,\n statusKey: task.statusKey,\n description: task.description,\n }));\n });\n }\n ngAfterViewInit() {\n if (this.kanbanComponent()) {\n this.component.emit(this.kanbanComponent());\n }\n }\n onSortChanged(event) {\n const tasks = this.tasks().map((item) => {\n const task = event.allItems.find((t) => t.id === item.id);\n if (task) {\n return { ...item, index: task.index, statusKey: task.statusKey };\n }\n return item;\n });\n this.taskBoardService.updateMultipleTasks(tasks).then((tasks) => {\n this.tasks.set(tasks);\n });\n }\n handleItemClick(event) {\n const task = this.stableTasks().find((task) => task.id === event.item.id);\n if (task) {\n this.onTaskClick.emit(task);\n }\n }\n handleActionClick(event) {\n const task = this.stableTasks().find((task) => task.id === event.item.id);\n if (task) {\n this.onActionClick.emit({ nativeEvent: event.nativeEvent, task: task });\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: AXMTaskBoardKanbanViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.2.0\", version: \"20.0.7\", type: AXMTaskBoardKanbanViewComponent, isStandalone: true, selector: \"axm-task-board-kanban-view\", inputs: { tasks: { classPropertyName: \"tasks\", publicName: \"tasks\", isSignal: true, isRequired: true, transformFunction: null }, statuses: { classPropertyName: \"statuses\", publicName: \"statuses\", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { tasks: \"tasksChange\", onTaskClick: \"onTaskClick\", onTaskChanged: \"onTaskChanged\", component: \"component\", onActionClick: \"onActionClick\" }, viewQueries: [{ propertyName: \"kanbanComponent\", first: true, predicate: AXKanbanComponent, descendants: true, isSignal: true }], ngImport: i0, template: \"<ax-kanban\\n [hasActions]=\\\"true\\\"\\n [statuses]=\\\"statuses()\\\"\\n [dataSource]=\\\"kanbanTasks()\\\"\\n (onItemClick)=\\\"handleItemClick($event)\\\"\\n (onSortChanged)=\\\"onSortChanged($event)\\\"\\n (onActionClick)=\\\"handleActionClick($event)\\\"\\n></ax-kanban>\\n\", styles: [\"ax-kanban{--ax-comp-kanban-status-min-width: 25rem;height:100%;line-height:1.5}\\n\"], dependencies: [{ kind: \"component\", type: AXKanbanComponent, selector: \"ax-kanban\", inputs: [\"hasActions\", \"dragStartDelay\", \"statuses\", \"itemTemplate\", \"dataSource\", \"keyField\", \"indexField\", \"titleField\", \"cssClassField\", \"priorityField\", \"statusKeyField\", \"descriptionField\", \"emptyTemplate\", \"headerTemplate\", \"footerTemplate\", \"contentFooterTemplate\", \"tooltipTemplate\"], outputs: [\"onSortChanged\", \"onItemClick\", \"onActionClick\", \"onItemDblClick\", \"onItemRightClick\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: AXMTaskBoardKanbanViewComponent, decorators: [{\n type: Component,\n args: [{ selector: 'axm-task-board-kanban-view', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [AXKanbanComponent], template: \"<ax-kanban\\n [hasActions]=\\\"true\\\"\\n [statuses]=\\\"statuses()\\\"\\n [dataSource]=\\\"kanbanTasks()\\\"\\n (onItemClick)=\\\"handleItemClick($event)\\\"\\n (onSortChanged)=\\\"onSortChanged($event)\\\"\\n (onActionClick)=\\\"handleActionClick($event)\\\"\\n></ax-kanban>\\n\", styles: [\"ax-kanban{--ax-comp-kanban-status-min-width: 25rem;height:100%;line-height:1.5}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay1ib2FyZC1rYW5iYW4tdmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvd29ya2Zsb3ctbWFuYWdlbWVudC9zcmMvbGliL2ZlYXR1cmVzL3Rhc2stYm9hcmQvdmlld3MvdGFzay1ib2FyZC1rYW5iYW4tdmlldy90YXNrLWJvYXJkLWthbmJhbi12aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy93b3JrZmxvdy1tYW5hZ2VtZW50L3NyYy9saWIvZmVhdHVyZXMvdGFzay1ib2FyZC92aWV3cy90YXNrLWJvYXJkLWthbmJhbi12aWV3L3Rhc2stYm9hcmQta2FuYmFuLXZpZXcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLGlCQUFpQixHQUtsQixNQUFNLDJCQUEyQixDQUFDO0FBRW5DLE9BQU8sRUFFTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFFBQVEsRUFDUixNQUFNLEVBQ04sS0FBSyxFQUNMLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNULGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDOztBQVUvRCxNQUFNLE9BQU8sK0JBQStCO0lBUjVDO1FBU3FCLHFCQUFnQixHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBRWxFLG9CQUFlLEdBQUcsU0FBUyxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFFL0MsVUFBSyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQWEsQ0FBQztRQUNwQyxhQUFRLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBb0IsQ0FBQztRQUU5QyxnQkFBVyxH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LEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFDMUUsQ0FBQztJQUNILENBQUM7OEdBekRVLCtCQUErQjtrR0FBL0IsK0JBQStCLGlpQkFHZCxpQkFBaUIsZ0VDbEMvQyxnUUFRQSwySURxQlksaUJBQWlCOzsyRkFFaEIsK0JBQStCO2tCQVIzQyxTQUFTOytCQUNFLDRCQUE0QixtQkFHckIsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSxXQUM1QixDQUFDLGlCQUFpQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQVhLYW5iYW5Db21wb25lbnQsXG4gIEFYS2FuYmFuSXRlbSxcbiAgQVhLYW5iYW5Nb3VzZUV2ZW50LFxuICBBWEthbmJhblNvcnRFdmVudCxcbiAgQVhLYW5iYW5TdGF0dXMsXG59IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9rYW5iYW4nO1xuaW1wb3J0IHsgQVhQVGFzaywgQVhQVGFza0FjdGlvbiB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vd29ya2Zsb3cnO1xuaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgY29tcHV0ZWQsXG4gIGluamVjdCxcbiAgaW5wdXQsXG4gIG1vZGVsLFxuICBvdXRwdXQsXG4gIHZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaXNFcXVhbCB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBBWFBUYXNrQm9hcmRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vdGFzay1ib2FyZC5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXhtLXRhc2stYm9hcmQta2FuYmFuLXZpZXcnLFxuICB0ZW1wbGF0ZVVybDogJy4vdGFzay1ib2FyZC1rYW5iYW4tdmlldy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3Rhc2stYm9hcmQta2FuYmFuLXZpZXcuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGltcG9ydHM6IFtBWEthbmJhbkNvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIEFYTVRhc2tCb2FyZEthbmJhblZpZXdDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHRhc2tCb2FyZFNlcnZpY2UgPSBpbmplY3QoQVhQVGFza0JvYXJkU2VydmljZSk7XG5cbiAga2FuYmFuQ29tcG9uZW50ID0gdmlld0NoaWxkKEFYS2FuYmFuQ29tcG9uZW50KTtcblxuICB0YXNrcyA9IG1vZGVsLnJlcXVpcmVkPEFYUFRhc2tbXT4oKTtcbiAgc3RhdHVzZXMgPSBpbnB1dC5yZXF1aXJlZDxBWEthbmJhblN0YXR1c1tdPigpO1xuXG4gIG9uVGFza0NsaWNrID0gb3V0cHV0PEFYUFRhc2s+KCk7XG4gIG9uVGFza0NoYW5nZWQgPSBvdXRwdXQ8QVhQVGFzaz4oKTtcbiAgY29tcG9uZW50ID0gb3V0cHV0PEFYS2FuYmFuQ29tcG9uZW50PigpO1xuICBvbkFjdGlvbkNsaWNrID0gb3V0cHV0PEFYUFRhc2tBY3Rpb24+KCk7XG5cbiAgc3RhYmxlVGFza3MgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnRhc2tzKCksIHsgZXF1YWw6IGlzRXF1YWwgfSk7XG4gIHByb3RlY3RlZCBrYW5iYW5UYXNrcyA9IGNvbXB1dGVkPEFYS2FuYmFuSXRlbVtdPigoKSA9PiB7XG4gICAgcmV0dXJuIHRoaXMuc3RhYmxlVGFza3MoKS5tYXAoKHRhc2spID0+ICh7XG4gICAgICBpZDogdGFzay5pZCxcbiAgICAgIHRpdGxlOiB0YXNrLnRpdGxlLFxuICAgICAgaW5kZXg6IHRhc2suaW5kZXgsXG4gICAgICBjc3NDbGFzczogdGFzay5jc3NDbGFzcyxcbiAgICAgIHByaW9yaXR5OiB0YXNrLnByaW9yaXR5LFxuICAgICAgc3RhdHVzS2V5OiB0YXNrLnN0YXR1c0tleSxcbiAgICAgIGRlc2NyaXB0aW9uOiB0YXNrLmRlc2NyaXB0aW9uLFxuICAgIH0pKTtcbiAgfSk7XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmthbmJhbkNvbXBvbmVudCgpKSB7XG4gICAgICB0aGlzLmNvbXBvbmVudC5lbWl0KHRoaXMua2FuYmFuQ29tcG9uZW50KCkhKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb25Tb3J0Q2hhbmdlZChldmVudDogQVhLYW5iYW5Tb3J0RXZlbnQpIHtcbiAgICBjb25zdCB0YXNrcyA9IHRoaXMudGFza3MoKS5tYXAoKGl0ZW0pID0+IHtcbiAgICAgIGNvbnN0IHRhc2sgPSBldmVudC5hbGxJdGVtcy5maW5kKCh0KSA9PiB0LmlkID09PSBpdGVtLmlkKTtcbiAgICAgIGlmICh0YXNrKSB7XG4gICAgICAgIHJldHVybiB7IC4uLml0ZW0sIGluZGV4OiB0YXNrLmluZGV4LCBzdGF0dXNLZXk6IHRhc2suc3RhdHVzS2V5IH07XG4gICAgICB9XG4gICAgICByZXR1cm4gaXRlbTtcbiAgICB9KTtcbiAgICB0aGlzLnRhc2tCb2FyZFNlcnZpY2UudXBkYXRlTXVsdGlwbGVUYXNrcyh0YXNrcykudGhlbigodGFza3MpID0+IHtcbiAgICAgIHRoaXMudGFza3Muc2V0KHRhc2tzKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVJdGVtQ2xpY2soZXZlbnQ6IEFYS2FuYmFuTW91c2VFdmVudCkge1xuICAgIGNvbnN0IHRhc2sgPSB0aGlzLnN0YWJsZVRhc2tzKCkuZmluZCgodGFzaykgPT4gdGFzay5pZCA9PT0gZXZlbnQuaXRlbS5pZCk7XG4gICAgaWYgKHRhc2spIHtcbiAgICAgIHRoaXMub25UYXNrQ2xpY2suZW1pdCh0YXNrKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlQWN0aW9uQ2xpY2soZXZlbnQ6IEFYS2FuYmFuTW91c2VFdmVudCkge1xuICAgIGNvbnN0IHRhc2sgPSB0aGlzLnN0YWJsZVRhc2tzKCkuZmluZCgodGFzaykgPT4gdGFzay5pZCA9PT0gZXZlbnQuaXRlbS5pZCk7XG4gICAgaWYgKHRhc2spIHtcbiAgICAgIHRoaXMub25BY3Rpb25DbGljay5lbWl0KHsgbmF0aXZlRXZlbnQ6IGV2ZW50Lm5hdGl2ZUV2ZW50LCB0YXNrOiB0YXNrIH0pO1xuICAgIH1cbiAgfVxufVxuIiwiPGF4LWthbmJhblxuICBbaGFzQWN0aW9uc109XCJ0cnVlXCJcbiAgW3N0YXR1c2VzXT1cInN0YXR1c2VzKClcIlxuICBbZGF0YVNvdXJjZV09XCJrYW5iYW5UYXNrcygpXCJcbiAgKG9uSXRlbUNsaWNrKT1cImhhbmRsZUl0ZW1DbGljaygkZXZlbnQpXCJcbiAgKG9uU29ydENoYW5nZWQpPVwib25Tb3J0Q2hhbmdlZCgkZXZlbnQpXCJcbiAgKG9uQWN0aW9uQ2xpY2spPVwiaGFuZGxlQWN0aW9uQ2xpY2soJGV2ZW50KVwiXG4+PC9heC1rYW5iYW4+XG4iXX0=","import { AXDataSource } from '@acorex/cdk/common';\nimport { AXDataTableModule } from '@acorex/components/data-table';\nimport { AXCalendarService } from '@acorex/core/date-time';\nimport { AXLocaleService } from '@acorex/core/locale';\nimport { ChangeDetectionStrategy, Component, computed, effect, inject, input, output, signal, untracked, ViewEncapsulation, } from '@angular/core';\nimport { isEqual } from 'lodash-es';\nimport { AXPTaskBoardService } from '../../task-board.service';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@acorex/components/data-table\";\nexport class AXMTaskBoardStatusGroupedGridViewComponent {\n constructor() {\n this.localeService = inject(AXLocaleService);\n this.calendarService = inject(AXCalendarService);\n this.taskBoardService = inject(AXPTaskBoardService);\n this.tasks = input.required();\n this.statuses = input.required();\n this.onTaskChanged = output();\n this.onActionClick = output();\n this.groupedTasks = signal([]);\n this.stableTasks = computed(() => this.tasks(), { equal: isEqual });\n this.#tasksChanged = effect(() => {\n const allTasks = this.stableTasks();\n const allStatuses = this.statuses();\n if (!allTasks.length || !allStatuses.length) {\n this.groupedTasks.set([]);\n return;\n }\n const map = allStatuses.map((status) => ({\n statusInfo: status,\n tasks: this.createTaskDataSource(allTasks.filter((task) => task.statusKey === status.key)),\n }));\n this.groupedTasks.set(map);\n untracked(() => {\n this.groupedTasks()?.forEach((group) => {\n group.tasks.refresh();\n });\n });\n });\n }\n #tasksChanged;\n createTaskDataSource(tasks) {\n return new AXDataSource({\n load: async (e) => {\n const items = tasks.map((task) => ({\n id: task.id,\n title: task.title,\n priority: task.priority,\n description: task.description,\n endDate: this.calendarService.format(task.endDate, 'DD/MM/YYYY HH:mm', {\n locale: this.localeService.activeProfile().calendar.system,\n }),\n startDate: this.calendarService.format(task.startDate, 'DD/MM/YYYY HH:mm', {\n locale: this.localeService.activeProfile().calendar.system,\n }),\n statusTitle: this.statuses().find((status) => status.key === task.statusKey)?.title,\n }));\n return {\n items: items.slice(e.skip, e.skip + e.take),\n total: items.length,\n };\n },\n pageSize: 10,\n key: 'id',\n byKey: async (key) => {\n return tasks.find((task) => task.id === key);\n },\n });\n }\n onActionClickHandler(e) {\n const task = this.tasks().find((task) => task.id === e.data.id);\n if (!task)\n return;\n this.onActionClick.emit({ nativeEvent: e.nativeEvent, task });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: AXMTaskBoardStatusGroupedGridViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.0.7\", type: AXMTaskBoardStatusGroupedGridViewComponent, isStandalone: true, selector: \"axm-task-board-status-grouped-grid-view\", inputs: { tasks: { classPropertyName: \"tasks\", publicName: \"tasks\", isSignal: true, isRequired: true, transformFunction: null }, statuses: { classPropertyName: \"statuses\", publicName: \"statuses\", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { onTaskChanged: \"onTaskChanged\", onActionClick: \"onActionClick\" }, ngImport: i0, template: \"@for (group of groupedTasks(); track group) {\\n <h1 class=\\\"ax-text-xl ax-font-bold\\\">{{ group.statusInfo.title }}</h1>\\n <ax-data-table\\n class=\\\"ax-h-[291px]\\\"\\n [fetchDataMode]=\\\"'manual'\\\"\\n [dataSource]=\\\"group.tasks\\\"\\n [loading]=\\\"{ enabled: true, animation: true }\\\"\\n >\\n <ax-text-column dataField=\\\"title\\\" caption=\\\"title\\\" [width]=\\\"'350px'\\\"></ax-text-column>\\n <ax-text-column dataField=\\\"description\\\" caption=\\\"description\\\" [width]=\\\"'100%'\\\"></ax-text-column>\\n <ax-text-column dataField=\\\"startDate\\\" caption=\\\"Start Date\\\" [width]=\\\"'150px'\\\"></ax-text-column>\\n <ax-text-column dataField=\\\"endDate\\\" caption=\\\"Due Date\\\" [width]=\\\"'150px'\\\"></ax-text-column>\\n <ax-text-column dataField=\\\"priority\\\" caption=\\\"priority\\\" [width]=\\\"'125px'\\\"></ax-text-column>\\n <ax-command-column\\n fixed=\\\"end\\\"\\n [width]=\\\"'60px'\\\"\\n (onItemClick)=\\\"onActionClickHandler($event)\\\"\\n [items]=\\\"[{ name: 'view', text: 'View', icon: 'ax-icon ax-icon-more-horizontal' }]\\\"\\n ></ax-command-column>\\n </ax-data-table>\\n}\\n\", styles: [\"ax-kanban{--ax-comp-kanban-status-min-width: 25rem;height:100%;line-height:1.5}\\n\"], dependencies: [{ kind: \"ngmodule\", type: AXDataTableModule }, { kind: \"component\", type: i1.AXDataTableComponent, selector: \"ax-data-table\", inputs: [\"dataSource\", \"parentField\", \"rowTemplate\", \"emptyTemplate\", \"alternative\", \"showHeader\", \"fixedHeader\", \"showFooter\", \"fixedFooter\", \"itemHeight\", \"allowReordering\", \"paging\", \"fetchDataMode\", \"loading\", \"focusedRow\"], outputs: [\"selectedRowsChange\", \"focusedRowChange\", \"onRowClick\", \"onRowDbClick\", \"onColumnsOrderChanged\", \"onColumnSizeChanged\", \"onPageChanged\"] }, { kind: \"component\", type: i1.AXDataTableTextColumnComponent, selector: \"ax-text-column\", inputs: [\"width\", \"caption\", \"allowSorting\", \"allowResizing\", \"fixed\", \"customExpandIcon\", \"customCollapseIcon\", \"dataField\", \"expandHandler\", \"wrapText\", \"cellTemplate\", \"footerTemplate\", \"headerTemplate\", \"format\", \"formatOptions\"] }, { kind: \"component\", type: i1.AXRowCommandColumnComponent, selector: \"ax-command-column\", inputs: [\"width\", \"caption\", \"fixed\", \"footerTemplate\", \"items\"], outputs: [\"onItemClick\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: AXMTaskBoardStatusGroupedGridViewComponent, decorators: [{\n type: Component,\n args: [{ selector: 'axm-task-board-status-grouped-grid-view', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [AXDataTableModule], template: \"@for (group of groupedTasks(); track group) {\\n <h1 class=\\\"ax-text-xl ax-font-bold\\\">{{ group.statusInfo.title }}</h1>\\n <ax-data-table\\n class=\\\"ax-h-[291px]\\\"\\n [fetchDataMode]=\\\"'manual'\\\"\\n [dataSource]=\\\"group.tasks\\\"\\n [loading]=\\\"{ enabled: true, animation: true }\\\"\\n >\\n <ax-text-column dataField=\\\"title\\\" caption=\\\"title\\\" [width]=\\\"'350px'\\\"></ax-text-column>\\n <ax-text-column dataField=\\\"description\\\" caption=\\\"description\\\" [width]=\\\"'100%'\\\"></ax-text-column>\\n <ax-text-column dataField=\\\"startDate\\\" caption=\\\"Start Date\\\" [width]=\\\"'150px'\\\"></ax-text-column>\\n <ax-text-column dataField=\\\"endDate\\\" caption=\\\"Due Date\\\" [width]=\\\"'150px'\\\"></ax-text-column>\\n <ax-text-column dataField=\\\"priority\\\" caption=\\\"priority\\\" [width]=\\\"'125px'\\\"></ax-text-column>\\n <ax-command-column\\n fixed=\\\"end\\\"\\n [width]=\\\"'60px'\\\"\\n (onItemClick)=\\\"onActionClickHandler($event)\\\"\\n [items]=\\\"[{ name: 'view', text: 'View', icon: 'ax-icon ax-icon-more-horizontal' }]\\\"\\n ></ax-command-column>\\n </ax-data-table>\\n}\\n\", styles: [\"ax-kanban{--ax-comp-kanban-status-min-width: 25rem;height:100%;line-height:1.5}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay1ib2FyZC1zdGF0dXMtZ3JvdXBlZC1ncmlkLXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL3dvcmtmbG93LW1hbmFnZW1lbnQvc3JjL2xpYi9mZWF0dXJlcy90YXNrLWJvYXJkL3ZpZXdzL3Rhc2stYm9hcmQtc3RhdHVzLWdyb3VwZWQtZ3JpZC12aWV3L3Rhc2stYm9hcmQtc3RhdHVzLWdyb3VwZWQtZ3JpZC12aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy93b3JrZmxvdy1tYW5hZ2VtZW50L3NyYy9saWIvZmVhdHVyZXMvdGFzay1ib2FyZC92aWV3cy90YXNrLWJvYXJkLXN0YXR1cy1ncm91cGVkLWdyaWQtdmlldy90YXNrLWJvYXJkLXN0YXR1cy1ncm91cGVkLWdyaWQtdmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXNCLFlBQVksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRWxFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzNELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV0RCxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxRQUFRLEVBQ1IsTUFBTSxFQUNOLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUNOLE1BQU0sRUFDTixTQUFTLEVBQ1QsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDcEMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7OztBQWUvRCxN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Q0FBMEM7a0JBUnRELFNBQVM7K0JBQ0UseUNBQXlDLG1CQUdsQyx1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJLFdBQzVCLENBQUMsaUJBQWlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWEJ1dHRvbkNsaWNrRXZlbnQsIEFYRGF0YVNvdXJjZSB9IGZyb20gJ0BhY29yZXgvY2RrL2NvbW1vbic7XG5pbXBvcnQgeyBBWERhdGFUYWJsZU1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kYXRhLXRhYmxlJztcbmltcG9ydCB7IEFYS2FuYmFuU3RhdHVzIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2thbmJhbic7XG5pbXBvcnQgeyBBWENhbGVuZGFyU2VydmljZSB9IGZyb20gJ0BhY29yZXgvY29yZS9kYXRlLXRpbWUnO1xuaW1wb3J0IHsgQVhMb2NhbGVTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9jb3JlL2xvY2FsZSc7XG5pbXBvcnQgeyBBWFBUYXNrLCBBWFBUYXNrQWN0aW9uIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS93b3JrZmxvdyc7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBjb21wdXRlZCxcbiAgZWZmZWN0LFxuICBpbmplY3QsXG4gIGlucHV0LFxuICBvdXRwdXQsXG4gIHNpZ25hbCxcbiAgdW50cmFja2VkLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBpc0VxdWFsIH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IEFYUFRhc2tCb2FyZFNlcnZpY2UgfSBmcm9tICcuLi8uLi90YXNrLWJvYXJkLnNlcnZpY2UnO1xuXG5pbnRlcmZhY2UgU3RhdHVzVGFza0dyb3VwIHtcbiAgc3RhdHVzSW5mbzogQVhLYW5iYW5TdGF0dXM7XG4gIHRhc2tzOiBBWERhdGFTb3VyY2U8YW55Pjtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXhtLXRhc2stYm9hcmQtc3RhdHVzLWdyb3VwZWQtZ3JpZC12aWV3JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Rhc2stYm9hcmQtc3RhdHVzLWdyb3VwZWQtZ3JpZC12aWV3LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGFzay1ib2FyZC1zdGF0dXMtZ3JvdXBlZC1ncmlkLXZpZXcuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGltcG9ydHM6IFtBWERhdGFUYWJsZU1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIEFYTVRhc2tCb2FyZFN0YXR1c0dyb3VwZWRHcmlkVmlld0NvbXBvbmVudCB7XG4gIHByb3RlY3RlZCByZWFkb25seSBsb2NhbGVTZXJ2aWNlID0gaW5qZWN0KEFYTG9jYWxlU2VydmljZSk7XG4gIHByb3RlY3RlZCByZWFkb25seSBjYWxlbmRhclNlcnZpY2UgPSBpbmplY3QoQVhDYWxlbmRhclNlcnZpY2UpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgdGFza0JvYXJkU2VydmljZSA9IGluamVjdChBWFBUYXNrQm9hcmRTZXJ2aWNlKTtcblxuICB0YXNrcyA9IGlucHV0LnJlcXVpcmVkPEFYUFRhc2tbXT4oKTtcbiAgc3RhdHVzZXMgPSBpbnB1dC5yZXF1aXJlZDxBWEthbmJhblN0YXR1c1tdPigpO1xuXG4gIG9uVGFza0NoYW5nZWQgPSBvdXRwdXQ8QVhQVGFzaz4oKTtcbiAgb25BY3Rpb25DbGljayA9IG91dHB1dDxBWFBUYXNrQWN0aW9uPigpO1xuXG4gIGdyb3VwZWRUYXNrcyA9IHNpZ25hbDxTdGF0dXNUYXNrR3JvdXBbXT4oW10pO1xuXG4gIHN0YWJsZVRhc2tzID0gY29tcHV0ZWQoKCkgPT4gdGhpcy50YXNrcygpLCB7IGVxdWFsOiBpc0VxdWFsIH0pO1xuXG4gICN0YXNrc0NoYW5nZWQgPSBlZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGFsbFRhc2tzID0gdGhpcy5zdGFibGVUYXNrcygpO1xuICAgIGNvbnN0IGFsbFN0YXR1c2VzID0gdGhpcy5zdGF0dXNlcygpO1xuICAgIGlmICghYWxsVGFza3MubGVuZ3RoIHx8ICFhbGxTdGF0dXNlcy5sZW5ndGgpIHtcbiAgICAgIHRoaXMuZ3JvdXBlZFRhc2tzLnNldChbXSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IG1hcCA9IGFsbFN0YXR1c2VzLm1hcCgoc3RhdHVzKSA9PiAoe1xuICAgICAgc3RhdHVzSW5mbzogc3RhdHVzLFxuICAgICAgdGFza3M6IHRoaXMuY3JlYXRlVGFza0RhdGFTb3VyY2UoYWxsVGFza3MuZmlsdGVyKCh0YXNrKSA9PiB0YXNrLnN0YXR1c0tleSA9PT0gc3RhdHVzLmtleSkpLFxuICAgIH0pKTtcbiAgICB0aGlzLmdyb3VwZWRUYXNrcy5zZXQobWFwKTtcbiAgICB1bnRyYWNrZWQoKCkgPT4ge1xuICAgICAgdGhpcy5ncm91cGVkVGFza3MoKT8uZm9yRWFjaCgoZ3JvdXApID0+IHtcbiAgICAgICAgZ3JvdXAudGFza3MucmVmcmVzaCgpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIHByaXZhdGUgY3JlYXRlVGFza0RhdGFTb3VyY2UodGFza3M6IEFYUFRhc2tbXSk6IEFYRGF0YVNvdXJjZTxhbnk+IHtcbiAgICByZXR1cm4gbmV3IEFYRGF0YVNvdXJjZTxhbnk+KHtcbiAgICAgIGxvYWQ6IGFzeW5jIChlKSA9PiB7XG4gICAgICAgIGNvbnN0IGl0ZW1zID0gdGFza3MubWFwKCh0YXNrKSA9PiAoe1xuICAgICAgICAgIGlkOiB0YXNrLmlkLFxuICAgICAgICAgIHRpdGxlOiB0YXNrLnRpdGxlLFxuICAgICAgICAgIHByaW9yaXR5OiB0YXNrLnByaW9yaXR5LFxuICAgICAgICAgIGRlc2NyaXB0aW9uOiB0YXNrLmRlc2NyaXB0aW9uLFxuICAgICAgICAgIGVuZERhdGU6IHRoaXMuY2FsZW5kYXJTZXJ2aWNlLmZvcm1hdCh0YXNrLmVuZERhdGUsICdERC9NTS9ZWVlZIEhIOm1tJywge1xuICAgICAgICAgICAgbG9jYWxlOiB0aGlzLmxvY2FsZVNlcnZpY2UuYWN0aXZlUHJvZmlsZSgpLmNhbGVuZGFyLnN5c3RlbSxcbiAgICAgICAgICB9KSxcbiAgICAgICAgICBzdGFydERhdGU6IHRoaXMuY2FsZW5kYXJTZXJ2aWNlLmZvcm1hdCh0YXNrLnN0YXJ0RGF0ZSwgJ0REL01NL1lZWVkgSEg6bW0nLCB7XG4gICAgICAgICAgICBsb2NhbGU6IHRoaXMubG9jYWxlU2VydmljZS5hY3RpdmVQcm9maWxlKCkuY2FsZW5kYXIuc3lzdGVtLFxuICAgICAgICAgIH0pLFxuICAgICAgICAgIHN0YXR1c1RpdGxlOiB0aGlzLnN0YXR1c2VzKCkuZmluZCgoc3RhdHVzKSA9PiBzdGF0dXMua2V5ID09PSB0YXNrLnN0YXR1c0tleSk/LnRpdGxlLFxuICAgICAgICB9KSk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgaXRlbXM6IGl0ZW1zLnNsaWNlKGUuc2tpcCwgZS5za2lwICsgZS50YWtlKSxcbiAgICAgICAgICB0b3RhbDogaXRlbXMubGVuZ3RoLFxuICAgICAgICB9O1xuICAgICAgfSxcbiAgICAgIHBhZ2VTaXplOiAxMCxcbiAgICAgIGtleTogJ2lkJyxcbiAgICAgIGJ5S2V5OiBhc3luYyAoa2V5OiB1bmtub3duKSA9PiB7XG4gICAgICAgIHJldHVybiB0YXNrcy5maW5kKCh0YXNrKSA9PiB0YXNrLmlkID09PSBrZXkpO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvbkFjdGlvbkNsaWNrSGFuZGxlcihlOiBBWEJ1dHRvbkNsaWNrRXZlbnQpIHtcbiAgICBjb25zdCB0YXNrID0gdGhpcy50YXNrcygpLmZpbmQoKHRhc2spID0+IHRhc2suaWQgPT09IGUuZGF0YS5pZCk7XG4gICAgaWYgKCF0YXNrKSByZXR1cm47XG4gICAgdGhpcy5vbkFjdGlvbkNsaWNrLmVtaXQoeyBuYXRpdmVFdmVudDogZS5uYXRpdmVFdmVudCwgdGFzayB9KTtcbiAgfVxufVxuIiwiQGZvciAoZ3JvdXAgb2YgZ3JvdXBlZFRhc2tzKCk7IHRyYWNrIGdyb3VwKSB7XG4gIDxoMSBjbGFzcz1cImF4LXRleHQteGwgYXgtZm9udC1ib2xkXCI+e3sgZ3JvdXAuc3RhdHVzSW5mby50aXRsZSB9fTwvaDE+XG4gIDxheC1kYXRhLXRhYmxlXG4gICAgY2xhc3M9XCJheC1oLVsyOTFweF1cIlxuICAgIFtmZXRjaERhdGFNb2RlXT1cIidtYW51YWwnXCJcbiAgICBbZGF0YVNvdXJjZV09XCJncm91cC50YXNrc1wiXG4gICAgW2xvYWRpbmddPVwieyBlbmFibGVkOiB0cnVlLCBhbmltYXRpb246IHRydWUgfVwiXG4gID5cbiAgICA8YXgtdGV4dC1jb2x1bW4gZGF0YUZpZWxkPVwidGl0bGVcIiBjYXB0aW9uPVwidGl0bGVcIiBbd2lkdGhdPVwiJzM1MHB4J1wiPjwvYXgtdGV4dC1jb2x1bW4+XG4gICAgPGF4LXRleHQtY29sdW1uIGRhdGFGaWVsZD1cImRlc2NyaXB0aW9uXCIgY2FwdGlvbj1cImRlc2NyaXB0aW9uXCIgW3dpZHRoXT1cIicxMDAlJ1wiPjwvYXgtdGV4dC1jb2x1bW4+XG4gICAgPGF4LXRleHQtY29sdW1uIGRhdGFGaWVsZD1cInN0YXJ0RGF0ZVwiIGNhcHRpb249XCJTdGFydCBEYXRlXCIgW3dpZHRoXT1cIicxNTBweCdcIj48L2F4LXRleHQtY29sdW1uPlxuICAgIDxheC10ZXh0LWNvbHVtbiBkYXRhRmllbGQ9XCJlbmREYXRlXCIgY2FwdGlvbj1cIkR1ZSBEYXRlXCIgW3dpZHRoXT1cIicxNTBweCdcIj48L2F4LXRleHQtY29sdW1uPlxuICAgIDxheC10ZXh0LWNvbHVtbiBkYXRhRmllbGQ9XCJwcmlvcml0eVwiIGNhcHRpb249XCJwcmlvcml0eVwiIFt3aWR0aF09XCInMTI1cHgnXCI+PC9heC10ZXh0LWNvbHVtbj5cbiAgICA8YXgtY29tbWFuZC1jb2x1bW5cbiAgICAgIGZpeGVkPVwiZW5kXCJcbiAgICAgIFt3aWR0aF09XCInNjBweCdcIlxuICAgICAgKG9uSXRlbUNsaWNrKT1cIm9uQWN0aW9uQ2xpY2tIYW5kbGVyKCRldmVudClcIlxuICAgICAgW2l0ZW1zXT1cIlt7IG5hbWU6ICd2aWV3JywgdGV4dDogJ1ZpZXcnLCBpY29uOiAnYXgtaWNvbiBheC1pY29uLW1vcmUtaG9yaXpvbnRhbCcgfV1cIlxuICAgID48L2F4LWNvbW1hbmQtY29sdW1uPlxuICA8L2F4LWRhdGEtdGFibGU+XG59XG4iXX0=","import { AXDataSource } from '@acorex/cdk/common';\nimport { AXDataTableComponent, AXDataTableModule } from '@acorex/components/data-table';\nimport { AXCalendarService } from '@acorex/core/date-time';\nimport { AXLocaleService } from '@acorex/core/locale';\nimport { ChangeDetectionStrategy, Component, computed, effect, inject, input, output, signal, untracked, viewChildren, ViewEncapsulation, } from '@angular/core';\nimport { isEqual } from 'lodash-es';\nimport { AXPTaskBoardService } from '../../task-board.service';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@acorex/components/data-table\";\nexport class AXMTaskBoardTimeGroupedGridViewComponent {\n constructor() {\n this.localeService = inject(AXLocaleService);\n this.calendarService = inject(AXCalendarService);\n this.taskBoardService = inject(AXPTaskBoardService);\n this.tables = viewChildren(AXDataTableComponent);\n this.tasks = input.required();\n this.statuses = input.required();\n this.onTaskChanged = output();\n this.onActionClick = output();\n this.groupedTasks = signal([]);\n this.stableTasks = computed(() => this.tasks(), { equal: isEqual });\n this.#tasksChanged = effect(() => {\n const allTasks = this.stableTasks();\n const allStatuses = this.statuses();\n if (!allTasks.length || !allStatuses.length) {\n this.groupedTasks.set([]);\n return;\n }\n const map = allStatuses.map((status) => ({\n statusInfo: status,\n tasks: this.createTaskDataSource(allTasks.filter((task) => task.statusKey === status.key)),\n }));\n this.groupedTasks.set(map);\n untracked(() => {\n this.groupedTasks()?.forEach((group) => {\n group.tasks.refresh();\n });\n });\n });\n }\n #tasksChanged;\n createTaskDataSource(tasks) {\n return new AXDataSource({\n load: async (e) => {\n const items = tasks.map((task) => ({\n id: task.id,\n title: task.title,\n priority: task.priority,\n description: task.description,\n endDate: this.calendarService.format(task.endDate, 'DD/MM/YYYY HH:mm', {\n locale: this.localeService.activeProfile().calendar.system,\n }),\n startDate: this.calendarService.format(task.startDate, 'DD/MM/YYYY HH:mm', {\n locale: this.localeService.activeProfile().calendar.system,\n }),\n statusTitle: this.statuses().find((status) => status.key === task.statusKey)?.title,\n }));\n return {\n items: items.slice(e.skip, e.skip + e.take),\n total: items.length,\n };\n },\n pageSize: 10,\n key: 'id',\n byKey: async (key) => {\n return tasks.find((task) => task.id === key);\n },\n });\n }\n onActionClickHandler(e) {\n const task = this.tasks().find((task) => task.id === e.data.id);\n if (!task)\n return;\n this.onActionClick.emit({ nativeEvent: e.nativeEvent, task });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: AXMTaskBoardTimeGroupedGridViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.0.7\", type: AXMTaskBoardTimeGroupedGridViewComponent, isStandalone: true, selector: \"axm-task-board-time-grouped-grid-view\", inputs: { tasks: { classPropertyName: \"tasks\", publicName: \"tasks\", isSignal: true, isRequired: true, transformFunction: null }, statuses: { classPropertyName: \"statuses\", publicName: \"statuses\", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { onTaskChanged: \"onTaskChanged\", onActionClick: \"onActionClick\" }, viewQueries: [{ propertyName: \"tables\", predicate: AXDataTableComponent, descendants: true, isSignal: true }], ngImport: i0, template: \"@for (group of groupedTasks(); track group) {\\n <h1 class=\\\"ax-text-xl ax-font-bold\\\">{{ group.statusInfo.title }}</h1>\\n <ax-data-table\\n class=\\\"ax-h-[291px]\\\"\\n [fetchDataMode]=\\\"'manual'\\\"\\n [dataSource]=\\\"group.tasks\\\"\\n [loading]=\\\"{ enabled: true, animation: true }\\\"\\n >\\n <ax-text-column dataField=\\\"title\\\" caption=\\\"title\\\" [width]=\\\"'350px'\\\"></ax-text-column>\\n <ax-text-column dataField=\\\"description\\\" caption=\\\"description\\\" [width]=\\\"'100%'\\\"></ax-text-column>\\n <ax-text-column dataField=\\\"startDate\\\" caption=\\\"Start Date\\\" [width]=\\\"'150px'\\\"></ax-text-column>\\n <ax-text-column dataField=\\\"endDate\\\" caption=\\\"Due Date\\\" [width]=\\\"'150px'\\\"></ax-text-column>\\n <ax-text-column dataField=\\\"priority\\\" caption=\\\"priority\\\" [width]=\\\"'125px'\\\"></ax-text-column>\\n <ax-command-column\\n fixed=\\\"end\\\"\\n [width]=\\\"'60px'\\\"\\n (onItemClick)=\\\"onActionClickHandler($event)\\\"\\n [items]=\\\"[{ name: 'view', text: 'View', icon: 'ax-icon ax-icon-more-horizontal' }]\\\"\\n ></ax-command-column>\\n </ax-data-table>\\n}\\n\", styles: [\"ax-kanban{--ax-comp-kanban-status-min-width: 25rem;height:100%;line-height:1.5}\\n\"], dependencies: [{ kind: \"ngmodule\", type: AXDataTableModule }, { kind: \"component\", type: i1.AXDataTableComponent, selector: \"ax-data-table\", inputs: [\"dataSource\", \"parentField\", \"rowTemplate\", \"emptyTemplate\", \"alternative\", \"showHeader\", \"fixedHeader\", \"showFooter\", \"fixedFooter\", \"itemHeight\", \"allowReordering\", \"paging\", \"fetchDataMode\", \"loading\", \"focusedRow\"], outputs: [\"selectedRowsChange\", \"focusedRowChange\", \"onRowClick\", \"onRowDbClick\", \"onColumnsOrderChanged\", \"onColumnSizeChanged\", \"onPageChanged\"] }, { kind: \"component\", type: i1.AXDataTableTextColumnComponent, selector: \"ax-text-column\", inputs: [\"width\", \"caption\", \"allowSorting\", \"allowResizing\", \"fixed\", \"customExpandIcon\", \"customCollapseIcon\", \"dataField\", \"expandHandler\", \"wrapText\", \"cellTemplate\", \"footerTemplate\", \"headerTemplate\", \"format\", \"formatOptions\"] }, { kind: \"component\", type: i1.AXRowCommandColumnComponent, selector: \"ax-command-column\", inputs: [\"width\", \"caption\", \"fixed\", \"footerTemplate\", \"items\"], outputs: [\"onItemClick\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: AXMTaskBoardTimeGroupedGridViewComponent, decorators: [{\n type: Component,\n args: [{ selector: 'axm-task-board-time-grouped-grid-view', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [AXDataTableModule], template: \"@for (group of groupedTasks(); track group) {\\n <h1 class=\\\"ax-text-xl ax-font-bold\\\">{{ group.statusInfo.title }}</h1>\\n <ax-data-table\\n class=\\\"ax-h-[291px]\\\"\\n [fetchDataMode]=\\\"'manual'\\\"\\n [dataSource]=\\\"group.tasks\\\"\\n [loading]=\\\"{ enabled: true, animation: true }\\\"\\n >\\n <ax-text-column dataField=\\\"title\\\" caption=\\\"title\\\" [width]=\\\"'350px'\\\"></ax-text-column>\\n <ax-text-column dataField=\\\"description\\\" caption=\\\"description\\\" [width]=\\\"'100%'\\\"></ax-text-column>\\n <ax-text-column dataField=\\\"startDate\\\" caption=\\\"Start Date\\\" [width]=\\\"'150px'\\\"></ax-text-column>\\n <ax-text-column dataField=\\\"endDate\\\" caption=\\\"Due Date\\\" [width]=\\\"'150px'\\\"></ax-text-column>\\n <ax-text-column dataField=\\\"priority\\\" caption=\\\"priority\\\" [width]=\\\"'125px'\\\"></ax-text-column>\\n <ax-command-column\\n fixed=\\\"end\\\"\\n [width]=\\\"'60px'\\\"\\n (onItemClick)=\\\"onActionClickHandler($event)\\\"\\n [items]=\\\"[{ name: 'view', text: 'View', icon: 'ax-icon ax-icon-more-horizontal' }]\\\"\\n ></ax-command-column>\\n </ax-data-table>\\n}\\n\", styles: [\"ax-kanban{--ax-comp-kanban-status-min-width: 25rem;height:100%;line-height:1.5}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay1ib2FyZC10aW1lLWdyb3VwZWQtZ3JpZC12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy93b3JrZmxvdy1tYW5hZ2VtZW50L3NyYy9saWIvZmVhdHVyZXMvdGFzay1ib2FyZC92aWV3cy90YXNrLWJvYXJkLXRpbWUtZ3JvdXBlZC1ncmlkLXZpZXcvdGFzay1ib2FyZC10aW1lLWdyb3VwZWQtZ3JpZC12aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy93b3JrZmxvdy1tYW5hZ2VtZW50L3NyYy9saWIvZmVhdHVyZXMvdGFzay1ib2FyZC92aWV3cy90YXNrLWJvYXJkLXRpbWUtZ3JvdXBlZC1ncmlkLXZpZXcvdGFzay1ib2FyZC10aW1lLWdyb3VwZWQtZ3JpZC12aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBc0IsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFeEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXRELE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFFBQVEsRUFDUixNQUFNLEVBQ04sTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBQ04sTUFBTSxFQUNOLFNBQVMsRUFDVCxZQUFZLEVBQ1osaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDcEMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENB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QXdDO2tHQUF4Qyx3Q0FBd0MsNGNBS1Asb0JBQW9CLGdFQ3hDbEUseWpDQXFCQSwwSURZWSxpQkFBaUI7OzJGQUVoQix3Q0FBd0M7a0JBUnBELFNBQVM7K0JBQ0UsdUNBQXVDLG1CQUdoQyx1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJLFdBQzVCLENBQUMsaUJBQWlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWEJ1dHRvbkNsaWNrRXZlbnQsIEFYRGF0YVNvdXJjZSB9IGZyb20gJ0BhY29yZXgvY2RrL2NvbW1vbic7XG5pbXBvcnQgeyBBWERhdGFUYWJsZUNvbXBvbmVudCwgQVhEYXRhVGFibGVNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZGF0YS10YWJsZSc7XG5pbXBvcnQgeyBBWEthbmJhblN0YXR1cyB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9rYW5iYW4nO1xuaW1wb3J0IHsgQVhDYWxlbmRhclNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L2NvcmUvZGF0ZS10aW1lJztcbmltcG9ydCB7IEFYTG9jYWxlU2VydmljZSB9IGZyb20gJ0BhY29yZXgvY29yZS9sb2NhbGUnO1xuaW1wb3J0IHsgQVhQVGFzaywgQVhQVGFza0FjdGlvbiB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vd29ya2Zsb3cnO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgY29tcHV0ZWQsXG4gIGVmZmVjdCxcbiAgaW5qZWN0LFxuICBpbnB1dCxcbiAgb3V0cHV0LFxuICBzaWduYWwsXG4gIHVudHJhY2tlZCxcbiAgdmlld0NoaWxkcmVuLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBpc0VxdWFsIH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IEFYUFRhc2tCb2FyZFNlcnZpY2UgfSBmcm9tICcuLi8uLi90YXNrLWJvYXJkLnNlcnZpY2UnO1xuXG5pbnRlcmZhY2UgU3RhdHVzVGFza0dyb3VwIHtcbiAgc3RhdHVzSW5mbzogQVhLYW5iYW5TdGF0dXM7XG4gIHRhc2tzOiBBWERhdGFTb3VyY2U8YW55Pjtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXhtLXRhc2stYm9hcmQtdGltZS1ncm91cGVkLWdyaWQtdmlldycsXG4gIHRlbXBsYXRlVXJsOiAnLi90YXNrLWJvYXJkLXRpbWUtZ3JvdXBlZC1ncmlkLXZpZXcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90YXNrLWJvYXJkLXRpbWUtZ3JvdXBlZC1ncmlkLXZpZXcuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGltcG9ydHM6IFtBWERhdGFUYWJsZU1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIEFYTVRhc2tCb2FyZFRpbWVHcm91cGVkR3JpZFZpZXdDb21wb25lbnQge1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgbG9jYWxlU2VydmljZSA9IGluamVjdChBWExvY2FsZVNlcnZpY2UpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgY2FsZW5kYXJTZXJ2aWNlID0gaW5qZWN0KEFYQ2FsZW5kYXJTZXJ2aWNlKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHRhc2tCb2FyZFNlcnZpY2UgPSBpbmplY3QoQVhQVGFza0JvYXJkU2VydmljZSk7XG5cbiAgdGFibGVzID0gdmlld0NoaWxkcmVuPEFYRGF0YVRhYmxlQ29tcG9uZW50PihBWERhdGFUYWJsZUNvbXBvbmVudCk7XG5cbiAgdGFza3MgPSBpbnB1dC5yZXF1aXJlZDxBWFBUYXNrW10+KCk7XG4gIHN0YXR1c2VzID0gaW5wdXQucmVxdWlyZWQ8QVhLYW5iYW5TdGF0dXNbXT4oKTtcblxuICBvblRhc2tDaGFuZ2VkID0gb3V0cHV0PEFYUFRhc2s+KCk7XG4gIG9uQWN0aW9uQ2xpY2sgPSBvdXRwdXQ8QVhQVGFza0FjdGlvbj4oKTtcblxuICBncm91cGVkVGFza3MgPSBzaWduYWw8U3RhdHVzVGFza0dyb3VwW10+KFtdKTtcblxuICBzdGFibGVUYXNrcyA9IGNvbXB1dGVkKCgpID0+IHRoaXMudGFza3MoKSwgeyBlcXVhbDogaXNFcXVhbCB9KTtcblxuICAjdGFza3NDaGFuZ2VkID0gZWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBhbGxUYXNrcyA9IHRoaXMuc3RhYmxlVGFza3MoKTtcbiAgICBjb25zdCBhbGxTdGF0dXNlcyA9IHRoaXMuc3RhdHVzZXMoKTtcbiAgICBpZiAoIWFsbFRhc2tzLmxlbmd0aCB8fCAhYWxsU3RhdHVzZXMubGVuZ3RoKSB7XG4gICAgICB0aGlzLmdyb3VwZWRUYXNrcy5zZXQoW10pO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBtYXAgPSBhbGxTdGF0dXNlcy5tYXAoKHN0YXR1cykgPT4gKHtcbiAgICAgIHN0YXR1c0luZm86IHN0YXR1cyxcbiAgICAgIHRhc2tzOiB0aGlzLmNyZWF0ZVRhc2tEYXRhU291cmNlKGFsbFRhc2tzLmZpbHRlcigodGFzaykgPT4gdGFzay5zdGF0dXNLZXkgPT09IHN0YXR1cy5rZXkpKSxcbiAgICB9KSk7XG4gICAgdGhpcy5ncm91cGVkVGFza3Muc2V0KG1hcCk7XG4gICAgdW50cmFja2VkKCgpID0+IHtcbiAgICAgIHRoaXMuZ3JvdXBlZFRhc2tzKCk/LmZvckVhY2goKGdyb3VwKSA9PiB7XG4gICAgICAgIGdyb3VwLnRhc2tzLnJlZnJlc2goKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9KTtcblxuICBwcml2YXRlIGNyZWF0ZVRhc2tEYXRhU291cmNlKHRhc2tzOiBBWFBUYXNrW10pOiBBWERhdGFTb3VyY2U8YW55PiB7XG4gICAgcmV0dXJuIG5ldyBBWERhdGFTb3VyY2U8YW55Pih7XG4gICAgICBsb2FkOiBhc3luYyAoZSkgPT4ge1xuICAgICAgICBjb25zdCBpdGVtcyA9IHRhc2tzLm1hcCgodGFzaykgPT4gKHtcbiAgICAgICAgICBpZDogdGFzay5pZCxcbiAgICAgICAgICB0aXRsZTogdGFzay50aXRsZSxcbiAgICAgICAgICBwcmlvcml0eTogdGFzay5wcmlvcml0eSxcbiAgICAgICAgICBkZXNjcmlwdGlvbjogdGFzay5kZXNjcmlwdGlvbixcbiAgICAgICAgICBlbmREYXRlOiB0aGlzLmNhbGVuZGFyU2VydmljZS5mb3JtYXQodGFzay5lbmREYXRlLCAnREQvTU0vWVlZWSBISDptbScsIHtcbiAgICAgICAgICAgIGxvY2FsZTogdGhpcy5sb2NhbGVTZXJ2aWNlLmFjdGl2ZVByb2ZpbGUoKS5jYWxlbmRhci5zeXN0ZW0sXG4gICAgICAgICAgfSksXG4gICAgICAgICAgc3RhcnREYXRlOiB0aGlzLmNhbGVuZGFyU2VydmljZS5mb3JtYXQodGFzay5zdGFydERhdGUsICdERC9NTS9ZWVlZIEhIOm1tJywge1xuICAgICAgICAgICAgbG9jYWxlOiB0aGlzLmxvY2FsZVNlcnZpY2UuYWN0aXZlUHJvZmlsZSgpLmNhbGVuZGFyLnN5c3RlbSxcbiAgICAgICAgICB9KSxcbiAgICAgICAgICBzdGF0dXNUaXRsZTogdGhpcy5zdGF0dXNlcygpLmZpbmQoKHN0YXR1cykgPT4gc3RhdHVzLmtleSA9PT0gdGFzay5zdGF0dXNLZXkpPy50aXRsZSxcbiAgICAgICAgfSkpO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGl0ZW1zOiBpdGVtcy5zbGljZShlLnNraXAsIGUuc2tpcCArIGUudGFrZSksXG4gICAgICAgICAgdG90YWw6IGl0ZW1zLmxlbmd0aCxcbiAgICAgICAgfTtcbiAgICAgIH0sXG4gICAgICBwYWdlU2l6ZTogMTAsXG4gICAgICBrZXk6ICdpZCcsXG4gICAgICBieUtleTogYXN5bmMgKGtleTogdW5rbm93bikgPT4ge1xuICAgICAgICByZXR1cm4gdGFza3MuZmluZCgodGFzaykgPT4gdGFzay5pZCA9PT0ga2V5KTtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb25BY3Rpb25DbGlja0hhbmRsZXIoZTogQVhCdXR0b25DbGlja0V2ZW50KSB7XG4gICAgY29uc3QgdGFzayA9IHRoaXMudGFza3MoKS5maW5kKCh0YXNrKSA9PiB0YXNrLmlkID09PSBlLmRhdGEuaWQpO1xuICAgIGlmICghdGFzaykgcmV0dXJuO1xuICAgIHRoaXMub25BY3Rpb25DbGljay5lbWl0KHsgbmF0aXZlRXZlbnQ6IGUubmF0aXZlRXZlbnQsIHRhc2sgfSk7XG4gIH1cbn1cbiIsIkBmb3IgKGdyb3VwIG9mIGdyb3VwZWRUYXNrcygpOyB0cmFjayBncm91cCkge1xuICA8aDEgY2xhc3M9XCJheC10ZXh0LXhsIGF4LWZvbnQtYm9sZFwiPnt7IGdyb3VwLnN0YXR1c0luZm8udGl0bGUgfX08L2gxPlxuICA8YXgtZGF0YS10YWJsZVxuICAgIGNsYXNzPVwiYXgtaC1bMjkxcHhdXCJcbiAgICBbZmV0Y2hEYXRhTW9kZV09XCInbWFudWFsJ1wiXG4gICAgW2RhdGFTb3VyY2VdPVwiZ3JvdXAudGFza3NcIlxuICAgIFtsb2FkaW5nXT1cInsgZW5hYmxlZDogdHJ1ZSwgYW5pbWF0aW9uOiB0cnVlIH1cIlxuICA+XG4gICAgPGF4LXRleHQtY29sdW1uIGRhdGFGaWVsZD1cInRpdGxlXCIgY2FwdGlvbj1cInRpdGxlXCIgW3dpZHRoXT1cIiczNTBweCdcIj48L2F4LXRleHQtY29sdW1uPlxuICAgIDxheC10ZXh0LWNvbHVtbiBkYXRhRmllbGQ9XCJkZXNjcmlwdGlvblwiIGNhcHRpb249XCJkZXNjcmlwdGlvblwiIFt3aWR0aF09XCInMTAwJSdcIj48L2F4LXRleHQtY29sdW1uPlxuICAgIDxheC10ZXh0LWNvbHVtbiBkYXRhRmllbGQ9XCJzdGFydERhdGVcIiBjYXB0aW9uPVwiU3RhcnQgRGF0ZVwiIFt3aWR0aF09XCInMTUwcHgnXCI+PC9heC10ZXh0LWNvbHVtbj5cbiAgICA8YXgtdGV4dC1jb2x1bW4gZGF0YUZpZWxkPVwiZW5kRGF0ZVwiIGNhcHRpb249XCJEdWUgRGF0ZVwiIFt3aWR0aF09XCInMTUwcHgnXCI+PC9heC10ZXh0LWNvbHVtbj5cbiAgICA8YXgtdGV4dC1jb2x1bW4gZGF0YUZpZWxkPVwicHJpb3JpdHlcIiBjYXB0aW9uPVwicHJpb3JpdHlcIiBbd2lkdGhdPVwiJzEyNXB4J1wiPjwvYXgtdGV4dC1jb2x1bW4+XG4gICAgPGF4LWNvbW1hbmQtY29sdW1uXG4gICAgICBmaXhlZD1cImVuZFwiXG4gICAgICBbd2lkdGhdPVwiJzYwcHgnXCJcbiAgICAgIChvbkl0ZW1DbGljayk9XCJvbkFjdGlvbkNsaWNrSGFuZGxlcigkZXZlbnQpXCJcbiAgICAgIFtpdGVtc109XCJbeyBuYW1lOiAndmlldycsIHRleHQ6ICdWaWV3JywgaWNvbjogJ2F4LWljb24gYXgtaWNvbi1tb3JlLWhvcml6b250YWwnIH1dXCJcbiAgICA+PC9heC1jb21tYW5kLWNvbHVtbj5cbiAgPC9heC1kYXRhLXRhYmxlPlxufVxuIl19","import { AXBadgeModule } from '@acorex/components/badge';\nimport { AXBreadcrumbsModule } from '@acorex/components/breadcrumbs';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXCalendarComponent } from '@acorex/components/calendar';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXDropdownPanelComponent } from '@acorex/components/dropdown';\nimport { AXDropdownButtonModule } from '@acorex/components/dropdown-button';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXMenuModule, } from '@acorex/components/menu';\nimport { AXPopoverModule } from '@acorex/components/popover';\nimport { AXCalendarService } from '@acorex/core/date-time';\nimport { AXLocaleService } from '@acorex/core/locale';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXUnsubscriber } from '@acorex/core/utils';\nimport { AXPThemeLayoutBlockComponent } from '@acorex/platform/layout/components';\nimport { AXPPageLayoutBase, AXPPageLayoutBaseComponent, AXPPageLayoutComponent } from '@acorex/platform/layout/views';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, effect, inject, signal, viewChild, ViewEncapsulation, } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { ActivatedRoute, NavigationEnd, Router, RouterModule } from '@angular/router';\nimport { filter, startWith } from 'rxjs';\nimport { RootConfig } from '../../const';\nimport { AXMTaskBoardDetailPanel } from './task-board-detail-panel/task-board-detail-panel.component';\nimport { AXPTaskBoardService } from './task-board.service';\nimport { AXMTaskBoardViewModel } from './task-board.viewmodel';\nimport { AXMTaskBoardCalendarViewComponent } from './views/task-board-calendar-view/task-board-calendar-view.component';\nimport { AXMTaskBoardGridViewComponent } from './views/task-board-grid-view/task-board-grid-view.component';\nimport { AXMTaskBoardKanbanViewComponent } from './views/task-board-kanban-view/task-board-kanban-view.component';\nimport { AXMTaskBoardStatusGroupedGridViewComponent } from './views/task-board-status-grouped-grid-view/task-board-status-grouped-grid-view.component';\nimport { AXMTaskBoardTimeGroupedGridViewComponent } from './views/task-board-time-grouped-grid-view/task-board-time-grouped-grid-view.component';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/forms\";\nimport * as i2 from \"@angular/common\";\nimport * as i3 from \"@acorex/components/menu\";\nimport * as i4 from \"@acorex/components/button\";\nimport * as i5 from \"@acorex/core/translation\";\nimport * as i6 from \"@acorex/components/decorators\";\nimport * as i7 from \"@acorex/components/popover\";\nexport class AXMTaskBoardPage extends AXPPageLayoutBaseComponent {\n constructor() {\n super(...arguments);\n this.router = inject(Router);\n this.rootConfig = RootConfig;\n this.vm = inject(AXMTaskBoardViewModel);\n this.unsubscribe = inject(AXUnsubscriber);\n this.activatedRoute = inject(ActivatedRoute);\n this.localeService = inject(AXLocaleService);\n this.calendarService = inject(AXCalendarService);\n this.taskBoardService = inject(AXPTaskBoardService);\n this.popover = viewChild('popover');\n this.calendar = viewChild('calendar');\n this.currentTask = signal(null);\n this.currentViewMode = signal('calendar');\n this.schedulerComponent = signal(null);\n this.viewsItems = signal([\n { key: 'day', text: 'daily', icon: 'fa-light fa-calendar-day', category: 'calendar' },\n { key: 'week', text: 'weekly', icon: 'fa-light fa-calendar-week', category: 'calendar' },\n { key: 'month', text: 'monthly', icon: 'fa-light fa-calendar-alt', category: 'calendar' },\n { key: 'agenda', text: 'agenda', icon: 'fa-light fa-calendar-range', category: 'calendar' },\n { key: 'grid', text: 'grid', icon: 'fa-light fa-table', category: 'table' },\n // { key: 'time-grouped-grid', text: 'time-grouped-grid', icon: 'fa-light fa-table' ,category: 'table'},\n { key: 'status-grouped-grid', text: 'status-grouped-grid', icon: 'fa-light fa-table', category: 'table' },\n ]);\n this.categoryItems = signal([\n { key: 'calendar', text: 'calendar', icon: 'fa-light fa-calendar-day' },\n { key: 'table', text: 'table', icon: 'fa-light fa-table' },\n { key: 'kanban', text: 'kanban', icon: 'fa-light fa-chart-kanban' },\n ]);\n this.calendarType = computed(() => this.localeService.activeProfile().calendar.system);\n this.todayButtonText = computed(() => {\n switch (this.vm.currentViewMode()) {\n case 'day':\n case 'grid':\n case 'agenda':\n case 'kanban':\n case 'timeline-day':\n case 'time-grouped-grid':\n case 'timeline-multi-day':\n case 'status-grouped-grid':\n return 'Today';\n case 'week':\n return 'Current week';\n case 'month':\n case 'timeline-month':\n return 'Current month';\n }\n });\n this.timeText = computed(() => {\n if (this.vm.currentViewMode() === 'grid' ||\n this.vm.currentViewMode() === 'kanban' ||\n this.vm.currentViewMode() === 'time-grouped-grid' ||\n this.vm.currentViewMode() === 'status-grouped-grid') {\n const start = this.calendarService.create(this.vm.currentDate(), this.localeService.activeProfile().calendar.system);\n const end = start.add('day', this.vm.daysCount() - 1);\n const startText = start.format('DD MMMM yyyy', { locale: this.localeService.activeProfile().calendar.system });\n const endText = end.format('DD MMMM yyyy', { locale: this.localeService.activeProfile().calendar.system });\n return `${startText} - ${endText}`;\n }\n return this.schedulerComponent()?.currentDateText();\n });\n this.calendarDepth = computed(() => {\n if (this.vm.currentViewMode() === 'grid' ||\n this.vm.currentViewMode() === 'kanban' ||\n this.vm.currentViewMode() === 'time-grouped-grid' ||\n this.vm.currentViewMode() === 'status-grouped-grid') {\n return 'day';\n }\n return this.schedulerComponent()?.calendarDepth();\n });\n this.selectedViewMode = computed(() => this.viewsItems().find((item) => item.key === this.vm.currentViewMode()) || this.viewsItems()[0]);\n this.selectedViewCategory = computed(() => this.categoryItems().find((item) => item.key === this.vm.currentViewCategory()) || this.categoryItems()[0]);\n this.currentViewModes = computed(() => this.viewsItems().filter((item) => item.category === this.vm.currentViewCategory()));\n this.filter = computed(() => {\n const taskTypeProvider = this.vm.selectedTaskType();\n const types = taskTypeProvider ? [taskTypeProvider.name] : undefined;\n let from = this.calendarService.create(this.vm.currentDate(), this.localeService.activeProfile().calendar.system);\n let end;\n if (this.vm.currentViewMode() === 'kanban') {\n end = from.add('day', this.vm.daysCount() - 1);\n }\n else if (this.vm.currentViewMode() === 'grid' ||\n this.vm.currentViewMode() === 'time-grouped-grid' ||\n this.vm.currentViewMode() === 'status-grouped-grid') {\n from = from.startOf('month');\n end = from.endOf('month');\n }\n else {\n end = from.endOf('day');\n }\n return {\n ...(types && { types }),\n range: { from: from.date, end: end.date },\n };\n });\n this.resolvedTasks = signal([]);\n this.eff = effect(async () => {\n this.resolvedTasks.set(await this.dataSource(this.filter()));\n });\n this.contextMenu = viewChild('rootContextMenu');\n this.dataSource = (filter) => {\n const taskTypeProvider = this.vm.selectedTaskType();\n const types = taskTypeProvider ? [taskTypeProvider.name] : undefined;\n return this.taskBoardService.getTasks({ ...filter, types });\n };\n this.statuses = computed(() => {\n return this.vm.selectedTaskType()?.statuses || [];\n });\n this.rangeBasedViews = [\n 'kanban',\n 'agenda',\n 'grid',\n 'time-grouped-grid',\n 'status-grouped-grid',\n 'timeline-multi-day',\n ];\n this.getCellClass = (date) => {\n const currentView = this.vm.currentViewMode();\n const selectionStartDate = this.vm.rangeStartDate();\n if (this.rangeBasedViews.includes(currentView)) {\n if (selectionStartDate) {\n const axSelectionStartDate = this.calendarService.create(selectionStartDate);\n if (date.equal(axSelectionStartDate, 'day')) {\n return 'ax-range-start ax-range-end';\n }\n return null;\n }\n const fromRange = this.calendarService.create(this.vm.currentDate());\n const endRange = fromRange.add('day', this.vm.daysCount() - 1);\n const isStart = date.equal(fromRange, 'day');\n const isEnd = date.equal(endRange, 'day');\n if (isStart && isEnd)\n return 'ax-range-start ax-range-end';\n if (isStart)\n return 'ax-range-start';\n if (isEnd)\n return 'ax-range-end';\n if (date.compare(fromRange, 'day') > 0 && date.compare(endRange, 'day') < 0) {\n return 'ax-range-between';\n }\n return null;\n }\n if (currentView === 'week') {\n const from = this.calendarService.create(this.vm.currentDate());\n const end = from.add('day', 6);\n if (date.equal(from, 'day'))\n return 'ax-range-start';\n if (date.equal(end, 'day'))\n return 'ax-range-end';\n if (date.compare(from, 'day') > 0 && date.compare(end, 'day') < 0) {\n return 'ax-range-between';\n }\n }\n return null;\n };\n }\n async ngOnInit() {\n await super.ngOnInit();\n await this.vm.initialize();\n this.router.events\n .pipe(this.unsubscribe.takeUntilDestroy, filter((event) => event instanceof NavigationEnd), startWith(null))\n .subscribe(async () => {\n await this.loadFromRoute();\n });\n }\n async getPageTitle() {\n return await this.translateService.translateAsync('task-board.page-title', { scope: this.rootConfig.config.i18n });\n }\n async getPageBreadcrumbs() {\n return [\n {\n title: await this.translateService.translateAsync('root-menu', { scope: this.rootConfig.config.i18n }),\n },\n ];\n }\n schedulerComponentChanged(component) {\n this.schedulerComponent.set(component);\n }\n handleContextMenuOnOpening(event) {\n for (const item of this.currentTask()?.data?.actions || []) {\n event.items.push({\n text: item.title,\n icon: item.icon,\n data: {\n command: item.command,\n },\n });\n }\n }\n handleContextMenu(event) {\n this.currentTask.set(event.task);\n const x = event.nativeEvent.clientX;\n const y = event.nativeEvent.clientY;\n const element = event.nativeEvent.target;\n this.contextMenu()?.showAt({ x, y }, element);\n }\n handleMonthSlotDblClicked(date) {\n this.vm.setCurrentDate(date);\n this.vm.setViewMode('day');\n }\n handleCalendarViewChange(view) {\n this.router.navigate([], { queryParams: { view } });\n this.vm.setViewMode(view);\n const schedulerComponent = this.schedulerComponent();\n if (schedulerComponent) {\n setTimeout(() => {\n this.vm.setCurrentDate(schedulerComponent.currentDate().date);\n this.popover()?.close();\n this.calendar()?.render();\n });\n }\n }\n handleViewCategoryChange(category) {\n let view;\n switch (category) {\n case 'calendar':\n view = 'month';\n break;\n case 'table':\n view = 'grid';\n break;\n case 'kanban':\n view = 'kanban';\n break;\n }\n this.vm.setViewCategory(category);\n this.router.navigate([], { queryParams: { view } });\n }\n handleSelectedTaskTypeChange(taskType) {\n this.vm.setSelectedTaskTypeProvider(taskType);\n this.schedulerComponent()?.refresh();\n }\n handleContextMenuItemClick(event) {\n this.taskBoardService.executeCommand(event.item.data?.command, this.currentTask()?.data?.provider ?? '');\n }\n changeDate(forward) {\n const date = this.calendarService.create(this.vm.currentDate(), this.localeService.activeProfile().calendar.system);\n switch (this.vm.currentViewMode()) {\n case 'day':\n case 'timeline-day':\n this.vm.setCurrentDate(date.add('day', forward ? 1 : -1).date);\n break;\n case 'week':\n this.vm.setCurrentDate(date.add('week', forward ? 1 : -1).date);\n break;\n case 'agenda':\n case 'kanban':\n case 'timeline-multi-day':\n this.vm.setCurrentDate(date.add('day', forward ? this.vm.daysCount() - 1 : 1 - this.vm.daysCount()).date);\n break;\n case 'grid':\n case 'month':\n case 'timeline-month':\n case 'time-grouped-grid':\n case 'status-grouped-grid':\n this.vm.setCurrentDate(date.add('month', forward ? 1 : -1).date);\n break;\n }\n this.popover()?.close();\n this.calendar()?.render();\n }\n handleCalendarSlotClick(event) {\n const clickedDate = event.item;\n const currentView = this.vm.currentViewMode();\n if (this.rangeBasedViews.includes(currentView)) {\n const selectionStartDate = this.vm.rangeStartDate();\n if (!selectionStartDate) {\n this.vm.setRangeStartDate(clickedDate);\n this.calendar()?.render();\n return;\n }\n const date1 = selectionStartDate.getTime();\n const date2 = clickedDate.getTime();\n const newStartDate = new Date(Math.min(date1, date2));\n const newEndDate = new Date(Math.max(date1, date2));\n const differenceInDays = this.calculateDifferenceInDays(newStartDate, newEndDate);\n this.vm.setCurrentDate(newStartDate);\n this.vm.setDaysCount(differenceInDays);\n this.vm.setRangeStartDate(null);\n this.calendar()?.render();\n this.popover()?.close();\n return;\n }\n let dateToSet = new Date(clickedDate);\n if (currentView === 'week') {\n const day = dateToSet.getDay();\n const weekStart = this.localeService.activeProfile().calendar.week.startsOn;\n let daysToSubtract = day - weekStart;\n if (daysToSubtract < 0) {\n daysToSubtract += 7;\n }\n dateToSet.setDate(dateToSet.getDate() - daysToSubtract);\n }\n this.vm.setCurrentDate(dateToSet);\n this.popover()?.close();\n this.calendar()?.render();\n }\n /**\n * Helper function to calculate the difference in whole days between two dates.\n * The result is inclusive (e.g., May 5 to May 6 is a 2-day range).\n */\n calculateDifferenceInDays(start, end) {\n if (!start || !end) {\n return 1;\n }\n const startDate = new Date(start.getFullYear(), start.getMonth(), start.getDate());\n const endDate = new Date(end.getFullYear(), end.getMonth(), end.getDate());\n const timeDifference = endDate.getTime() - startDate.getTime();\n const daysDifference = Math.round(timeDifference / (1000 * 3600 * 24));\n return daysDifference + 1;\n }\n handleTodayClick() {\n this.vm.setRangeStartDate(null);\n this.vm.setCurrentDate(new Date());\n this.popover()?.close();\n this.calendar()?.render();\n }\n async loadFromRoute() {\n const snapshot = this.activatedRoute.snapshot;\n const views = [\n 'day',\n 'week',\n 'grid',\n 'month',\n 'agenda',\n 'kanban',\n 'timeline-day',\n 'timeline-month',\n 'time-grouped-grid',\n 'timeline-multi-day',\n 'status-grouped-grid',\n ];\n const view = snapshot.queryParamMap.get('view') ?? null;\n if (view && views.includes(view)) {\n this.vm.setViewMode(view);\n if (view === 'kanban') {\n this.vm.setCategory('kanban');\n return;\n }\n const category = this.viewsItems().find((item) => item.key === view)?.category;\n if (category) {\n this.vm.setCategory(category);\n }\n }\n else if (!this.vm.currentViewMode()) {\n this.vm.setViewMode('day');\n }\n }\n setActiveTask(task) {\n this.vm.selectTask(task);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: AXMTaskBoardPage, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.0.7\", type: AXMTaskBoardPage, isStandalone: true, selector: \"ng-component\", providers: [\n {\n provide: AXPPageLayoutBase,\n useExisting: AXMTaskBoardPage,\n },\n ], viewQueries: [{ propertyName: \"popover\", first: true, predicate: [\"popover\"], descendants: true, isSignal: true }, { propertyName: \"calendar\", first: true, predicate: [\"calendar\"], descendants: true, isSignal: true }, { propertyName: \"contextMenu\", first: true, predicate: [\"rootContextMenu\"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: \"<axp-page-layout *translate=\\\"let t\\\">\\n <axp-page-toolbar>\\n <axp-layout-prefix class=\\\"sm:ax-flex-row ax-flex-col ax-items-start\\\">\\n <ax-button\\n [text]=\\\"t(vm.selectedTaskType()?.title || 'task-board.all', { scope: rootConfig.config.i18n }) | async\\\"\\n >\\n <ax-prefix><ax-icon icon=\\\"fa-light {{vm.selectedTaskType()?.icon || 'fa-tasks'}}\\\"></ax-icon></ax-prefix>\\n <ax-dropdown-panel>\\n <ax-button-item-list class=\\\"ax-p-2\\\">\\n @if(vm.currentViewMode()!=='kanban' && vm.currentViewMode()!=='grid' &&\\n vm.currentViewMode()!=='status-grouped-grid' && vm.currentViewMode()!=='time-grouped-grid') {\\n <ax-button-item\\n (onClick)=\\\"handleSelectedTaskTypeChange(null)\\\"\\n [text]=\\\"(t('task-board.all', { scope: rootConfig.config.i18n }) | async)!\\\"\\n >\\n <ax-prefix><ax-icon icon=\\\"fa-light fa-tasks\\\"></ax-icon></ax-prefix>\\n </ax-button-item>\\n } @for(item of vm.taskTypes(); track item.name) {\\n <ax-button-item\\n (onClick)=\\\"handleSelectedTaskTypeChange(item)\\\"\\n [text]=\\\"(t(item.title, { scope: rootConfig.config.i18n }) | async)!\\\"\\n >\\n <ax-prefix><ax-icon icon=\\\"fa-light {{ item.icon }}\\\"></ax-icon></ax-prefix>\\n </ax-button-item>\\n }\\n </ax-button-item-list>\\n </ax-dropdown-panel>\\n </ax-button>\\n\\n <div class=\\\"ax-scheduler-header ax-w-max ax-sm sm:ax-md\\\">\\n <ax-button look=\\\"blank\\\" (onClick)=\\\"changeDate(false)\\\">\\n <ax-icon class=\\\"ax-icon ax-text-xl ax-icon-chevron-left arrow-icon\\\"></ax-icon>\\n </ax-button>\\n <ax-button look=\\\"blank\\\" [text]=\\\"timeText()\\\" #date></ax-button>\\n <ax-button look=\\\"blank\\\" (onClick)=\\\"changeDate(true)\\\">\\n <ax-icon class=\\\"ax-icon ax-text-xl ax-icon-chevron-right arrow-icon\\\"></ax-icon>\\n </ax-button>\\n <ax-popover [target]=\\\"date\\\" [placement]=\\\"'bottom'\\\" #popover [adaptivityEnabled]=\\\"true\\\">\\n <div class=\\\"ax-overlay-pane\\\">\\n <ax-calendar\\n #calendar\\n [type]=\\\"calendarType()\\\"\\n [depth]=\\\"calendarDepth()\\\"\\n [cellClass]=\\\"getCellClass\\\"\\n [ngModel]=\\\"vm.currentDate()\\\"\\n class=\\\"ax-single-range-calendar\\\"\\n (onSlotClick)=\\\"handleCalendarSlotClick($event)\\\"\\n >\\n <ax-footer>\\n <ax-button\\n look=\\\"link\\\"\\n color=\\\"primary\\\"\\n [text]=\\\"todayButtonText()\\\"\\n (onClick)=\\\"handleTodayClick()\\\"\\n ></ax-button>\\n </ax-footer>\\n </ax-calendar>\\n </div>\\n </ax-popover>\\n </div>\\n </axp-layout-prefix>\\n <axp-layout-suffix>\\n <ax-button [text]=\\\"(t('task-board.' + selectedViewCategory().text, { scope: 'workflow-management' }) | async)!\\\">\\n <ax-prefix><ax-icon icon=\\\"fa-light {{ selectedViewCategory().icon }}\\\"></ax-icon></ax-prefix>\\n <ax-dropdown-panel>\\n <ax-button-item-list>\\n @for(item of categoryItems(); track item.key) {\\n <ax-button-item\\n [text]=\\\"(t('task-board.' + item.text, { scope: 'workflow-management' }) | async)!\\\"\\n [selected]=\\\"vm.currentViewCategory() === item.key\\\"\\n (onClick)=\\\"handleViewCategoryChange(item.key)\\\"\\n >\\n <ax-prefix>\\n <ax-icon icon=\\\"fa-light {{ item.icon }}\\\"></ax-icon>\\n </ax-prefix>\\n </ax-button-item>\\n @if(item.break) {\\n <ax-divider></ax-divider>\\n } }\\n </ax-button-item-list>\\n </ax-dropdown-panel>\\n </ax-button>\\n @if(currentViewModes().length){\\n <ax-button [text]=\\\"(t('task-board.view.' + selectedViewMode().text, { scope: 'workflow-management' }) | async)!\\\">\\n <ax-prefix><ax-icon icon=\\\"fa-light {{ selectedViewMode().icon }}\\\"></ax-icon></ax-prefix>\\n <ax-dropdown-panel>\\n <ax-button-item-list>\\n @for(item of currentViewModes(); track item.key) {\\n <ax-button-item\\n [text]=\\\"(t('task-board.view.' + item.text, { scope: 'workflow-management' }) | async)!\\\"\\n [selected]=\\\"vm.currentViewMode() === item.key\\\"\\n (onClick)=\\\"handleCalendarViewChange(item.key)\\\"\\n >\\n <ax-prefix>\\n <ax-icon icon=\\\"fa-light {{ item.icon }}\\\"></ax-icon>\\n </ax-prefix>\\n </ax-button-item>\\n }\\n </ax-button-item-list>\\n </ax-dropdown-panel>\\n </ax-button>\\n } @if(layoutService.isLarge()) {\\n <!-- Detail Panel Toggle -->\\n <ax-button (onClick)=\\\"vm.toggleDetailPanel()\\\">\\n <ax-icon icon=\\\"{{ vm.isDetailPanelOpen() ? 'fa-solid fa-square-info' : 'fa-light fa-square-info' }}\\\"></ax-icon>\\n </ax-button>\\n }\\n </axp-layout-suffix>\\n </axp-page-toolbar>\\n <axp-page-content class=\\\"ax-flex ax-flex-row ax-gap-2\\\"\\n >@switch(vm.currentViewMode()) { @case('kanban') {\\n <axm-task-board-kanban-view\\n [statuses]=\\\"statuses()\\\"\\n [tasks]=\\\"resolvedTasks()\\\"\\n (onTaskClick)=\\\"setActiveTask($event)\\\"\\n (onActionClick)=\\\"handleContextMenu($event)\\\"\\n class=\\\"axp-kanban-container ax-h-full ax-w-full\\\"\\n ></axm-task-board-kanban-view>\\n }@case('grid') {\\n <axm-task-board-grid-view\\n [statuses]=\\\"statuses()\\\"\\n [tasks]=\\\"resolvedTasks()\\\"\\n class=\\\"ax-h-full ax-w-full\\\"\\n (onTaskClick)=\\\"setActiveTask($event)\\\"\\n (onActionClick)=\\\"handleContextMenu($event)\\\"\\n ></axm-task-board-grid-view>\\n }@case('status-grouped-grid') {\\n <axm-task-board-status-grouped-grid-view\\n [statuses]=\\\"statuses()\\\"\\n [tasks]=\\\"resolvedTasks()\\\"\\n (onActionClick)=\\\"handleContextMenu($event)\\\"\\n class=\\\"ax-flex ax-flex-col ax-gap-2 ax-w-full\\\"\\n ></axm-task-board-status-grouped-grid-view>\\n }@case('time-grouped-grid') {\\n <axm-task-board-time-grouped-grid-view\\n [statuses]=\\\"statuses()\\\"\\n [tasks]=\\\"resolvedTasks()\\\"\\n (onActionClick)=\\\"handleContextMenu($event)\\\"\\n class=\\\"ax-flex ax-flex-col ax-gap-2 ax-w-full\\\"\\n ></axm-task-board-time-grouped-grid-view>\\n } @default {\\n <axm-task-board-calendar-view\\n class=\\\"axp-scheduler-container ax-h-full ax-w-full\\\"\\n [dataSource]=\\\"dataSource\\\"\\n [startingDate]=\\\"vm.currentDate()\\\"\\n (onTaskClick)=\\\"setActiveTask($event)\\\"\\n [selectedView]=\\\"vm.currentViewMode()\\\"\\n (onActionClick)=\\\"handleContextMenu($event)\\\"\\n (onTaskRightClick)=\\\"handleContextMenu($event)\\\"\\n (component)=\\\"schedulerComponentChanged($event)\\\"\\n (onMonthSlotDblClicked)=\\\"handleMonthSlotDblClicked($event)\\\"\\n ></axm-task-board-calendar-view>\\n } }\\n <ax-context-menu\\n #rootContextMenu\\n [closeOn]=\\\"'leave'\\\"\\n [orientation]=\\\"'vertical'\\\"\\n (onOpening)=\\\"handleContextMenuOnOpening($event)\\\"\\n (onItemClick)=\\\"handleContextMenuItemClick($event)\\\"\\n >\\n </ax-context-menu>\\n @if (vm.isDetailPanelOpen() && layoutService.isLarge()) {\\n <axm-task-board-detail-panel></axm-task-board-detail-panel>\\n }\\n </axp-page-content>\\n</axp-page-layout>\\n\", styles: [\"html[dir=rtl] axp-page-layout axp-page-toolbar axp-layout-prefix .ax-scheduler-header .arrow-icon:before{-moz-transform:scale(-1,1);-webkit-transform:scale(-1,1);-o-transform:scale(-1,1);-ms-transform:scale(-1,1);transform:scaleX(-1)}.ax-single-range-calendar .ax-range-start,.ax-single-range-calendar .ax-range-end{color:rgba(var(--ax-sys-color-on-primary-surface))!important;background-color:rgba(var(--ax-sys-color-primary-surface),.85)!important}.ax-single-range-calendar .ax-range-start:hover,.ax-single-range-calendar .ax-range-end:hover{background-color:rgba(var(--ax-sys-color-primary-surface))!important}.ax-single-range-calendar .ax-range-start.ax-state-holiday,.ax-single-range-calendar .ax-range-end.ax-state-holiday{background-color:rgba(var(--ax-sys-color-danger-surface),.85)!important}.ax-single-range-calendar .ax-range-between{color:rgba(var(--ax-sys-color-on-primary-surface))!important;background-color:rgba(var(--ax-sys-color-primary-surface),.65)}.ax-single-range-calendar .ax-range-between.ax-state-holiday{background-color:rgba(var(--ax-sys-color-danger-surface),.65)}.ax-single-range-calendar ax-footer{display:flex;justify-content:center;border-color:rgba(var(--ax-comp-calendar-view-header-border-color));border-top-width:var(--ax-comp-calendar-view-header-border-width, 1px)}axp-page-content:not(:has(axm-task-board-status-grouped-grid-view,axm-task-board-time-grouped-grid-view)){overflow-y:hidden}\\n\"], dependencies: [{ kind: \"ngmodule\", type: FormsModule }, { kind: \"directive\", type: i1.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { kind: \"directive\", type: i1.NgModel, selector: \"[ngModel]:not([formControlName]):not([formControl])\", inputs: [\"name\", \"disabled\", \"ngModel\", \"ngModelOptions\"], outputs: [\"ngModelChange\"], exportAs: [\"ngModel\"] }, { kind: \"ngmodule\", type: CommonModule }, { kind: \"pipe\", type: i2.AsyncPipe, name: \"async\" }, { kind: \"ngmodule\", type: RouterModule }, { kind: \"ngmodule\", type: \n //\n AXMenuModule }, { kind: \"component\", type: i3.AXContextMenuComponent, selector: \"ax-context-menu\", inputs: [\"orientation\", \"openOn\", \"closeOn\", \"items\", \"target\"], outputs: [\"onItemClick\", \"onOpening\"] }, { kind: \"ngmodule\", type: AXButtonModule }, { kind: \"component\", type: i4.AXButtonComponent, selector: \"ax-button\", inputs: [\"disabled\", \"size\", \"tabIndex\", \"color\", \"look\", \"text\", \"toggleable\", \"selected\", \"iconOnly\", \"type\", \"loadingText\"], outputs: [\"onBlur\", \"onFocus\", \"onClick\", \"selectedChange\", \"toggleableChange\", \"lookChange\", \"colorChange\", \"disabledChange\", \"loadingTextChange\"] }, { kind: \"component\", type: i4.AXButtonItemComponent, selector: \"ax-button-item\", inputs: [\"color\", \"disabled\", \"text\", \"selected\", \"divided\", \"data\", \"name\"], outputs: [\"onClick\", \"onFocus\", \"onBlur\", \"disabledChange\"] }, { kind: \"component\", type: i4.AXButtonItemListComponent, selector: \"ax-button-item-list\", inputs: [\"items\"], outputs: [\"onItemClick\"] }, { kind: \"ngmodule\", type: AXDropdownButtonModule }, { kind: \"ngmodule\", type: AXTranslationModule }, { kind: \"directive\", type: i5.AXTranslatorDirective, selector: \"[translate]\" }, { kind: \"ngmodule\", type: AXDecoratorModule }, { kind: \"component\", type: i6.AXDecoratorIconComponent, selector: \"ax-icon\", inputs: [\"icon\"] }, { kind: \"component\", type: i6.AXDecoratorGenericComponent, selector: \"ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay\" }, { kind: \"ngmodule\", type: AXLoadingModule }, { kind: \"ngmodule\", type: AXBreadcrumbsModule }, { kind: \"ngmodule\", type: AXBadgeModule }, { kind: \"component\", type: \n //\n AXPThemeLayoutBlockComponent, selector: \" axp-page-content, axp-page-footer-container, axp-page-footer, axp-page-header, axp-page-header-container, axp-page-toolbar, axp-layout-content, axp-layout-page-content, axp-layout-sections, axp-layout-body, axp-layout-page-body, axp-layout-prefix, axp-layout-suffix, axp-layout-title-bar, axp-layout-title, axp-layout-title-actions, axp-layout-nav-button, axp-layout-description, axp-layout-breadcrumbs, axp-layout-list-action, \" }, { kind: \"component\", type: AXPPageLayoutComponent, selector: \"axp-page-layout\" }, { kind: \"component\", type: AXMTaskBoardCalendarViewComponent, selector: \"axm-task-board-calendar-view\", inputs: [\"startingDate\", \"selectedView\", \"dataSource\"], outputs: [\"onTaskClick\", \"onTaskChanged\", \"onMonthSlotDblClicked\", \"onActionClick\", \"component\", \"onTaskRightClick\", \"onRangeChanged\"] }, { kind: \"component\", type: AXMTaskBoardKanbanViewComponent, selector: \"axm-task-board-kanban-view\", inputs: [\"tasks\", \"statuses\"], outputs: [\"tasksChange\", \"onTaskClick\", \"onTaskChanged\", \"component\", \"onActionClick\"] }, { kind: \"component\", type: AXMTaskBoardGridViewComponent, selector: \"axm-task-board-grid-view\", inputs: [\"tasks\", \"statuses\"], outputs: [\"onTaskClick\", \"onActionClick\"] }, { kind: \"component\", type: AXMTaskBoardTimeGroupedGridViewComponent, selector: \"axm-task-board-time-grouped-grid-view\", inputs: [\"tasks\", \"statuses\"], outputs: [\"onTaskChanged\", \"onActionClick\"] }, { kind: \"component\", type: AXMTaskBoardStatusGroupedGridViewComponent, selector: \"axm-task-board-status-grouped-grid-view\", inputs: [\"tasks\", \"statuses\"], outputs: [\"onTaskChanged\", \"onActionClick\"] }, { kind: \"component\", type: AXMTaskBoardDetailPanel, selector: \"axm-task-board-detail-panel\" }, { kind: \"component\", type: AXDropdownPanelComponent, selector: \"ax-dropdown-panel\", inputs: [\"isOpen\", \"fitParent\", \"dropdownWidth\", \"position\", \"placement\", \"_target\", \"adaptivityEnabled\"], outputs: [\"onOpened\", \"onClosed\"] }, { kind: \"ngmodule\", type: AXPopoverModule }, { kind: \"component\", type: i7.AXPopoverComponent, selector: \"ax-popover\", inputs: [\"width\", \"disabled\", \"offsetX\", \"offsetY\", \"target\", \"placement\", \"content\", \"openOn\", \"closeOn\", \"hasBackdrop\", \"openAfter\", \"closeAfter\", \"backdropClass\", \"panelClass\", \"adaptivityEnabled\"], outputs: [\"onOpened\", \"onClosed\"] }, { kind: \"component\", type: AXCalendarComponent, selector: \"ax-calendar\", inputs: [\"rtl\", \"readonly\", \"value\", \"name\", \"disabled\", \"depth\", \"activeView\", \"minValue\", \"maxValue\", \"disabledDates\", \"holidayDates\", \"type\", \"cellTemplate\", \"cellClass\", \"showNavigation\", \"count\", \"id\"], outputs: [\"onOptionChanged\", \"valueChange\", \"onValueChanged\", \"minValueChange\", \"maxValueChange\", \"onBlur\", \"onFocus\", \"depthChange\", \"typeChange\", \"activeViewChange\", \"disabledDatesChange\", \"holidayDatesChange\", \"onNavigate\", \"onSlotClick\", \"countChange\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: AXMTaskBoardPage, decorators: [{\n type: Component,\n args: [{ imports: [\n FormsModule,\n CommonModule,\n RouterModule,\n //\n AXMenuModule,\n AXButtonModule,\n AXDropdownButtonModule,\n AXTranslationModule,\n AXDecoratorModule,\n AXLoadingModule,\n AXBreadcrumbsModule,\n AXBadgeModule,\n //\n AXPThemeLayoutBlockComponent,\n AXPPageLayoutComponent,\n AXMTaskBoardCalendarViewComponent,\n AXMTaskBoardKanbanViewComponent,\n AXMTaskBoardGridViewComponent,\n AXMTaskBoardTimeGroupedGridViewComponent,\n AXMTaskBoardStatusGroupedGridViewComponent,\n AXMTaskBoardDetailPanel,\n AXDropdownPanelComponent,\n AXPopoverModule,\n AXCalendarComponent,\n ], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [\n {\n provide: AXPPageLayoutBase,\n useExisting: AXMTaskBoardPage,\n },\n ], template: \"<axp-page-layout *translate=\\\"let t\\\">\\n <axp-page-toolbar>\\n <axp-layout-prefix class=\\\"sm:ax-flex-row ax-flex-col ax-items-start\\\">\\n <ax-button\\n [text]=\\\"t(vm.selectedTaskType()?.title || 'task-board.all', { scope: rootConfig.config.i18n }) | async\\\"\\n >\\n <ax-prefix><ax-icon icon=\\\"fa-light {{vm.selectedTaskType()?.icon || 'fa-tasks'}}\\\"></ax-icon></ax-prefix>\\n <ax-dropdown-panel>\\n <ax-button-item-list class=\\\"ax-p-2\\\">\\n @if(vm.currentViewMode()!=='kanban' && vm.currentViewMode()!=='grid' &&\\n vm.currentViewMode()!=='status-grouped-grid' && vm.currentViewMode()!=='time-grouped-grid') {\\n <ax-button-item\\n (onClick)=\\\"handleSelectedTaskTypeChange(null)\\\"\\n [text]=\\\"(t('task-board.all', { scope: rootConfig.config.i18n }) | async)!\\\"\\n >\\n <ax-prefix><ax-icon icon=\\\"fa-light fa-tasks\\\"></ax-icon></ax-prefix>\\n </ax-button-item>\\n } @for(item of vm.taskTypes(); track item.name) {\\n <ax-button-item\\n (onClick)=\\\"handleSelectedTaskTypeChange(item)\\\"\\n [text]=\\\"(t(item.title, { scope: rootConfig.config.i18n }) | async)!\\\"\\n >\\n <ax-prefix><ax-icon icon=\\\"fa-light {{ item.icon }}\\\"></ax-icon></ax-prefix>\\n </ax-button-item>\\n }\\n </ax-button-item-list>\\n </ax-dropdown-panel>\\n </ax-button>\\n\\n <div class=\\\"ax-scheduler-header ax-w-max ax-sm sm:ax-md\\\">\\n <ax-button look=\\\"blank\\\" (onClick)=\\\"changeDate(false)\\\">\\n <ax-icon class=\\\"ax-icon ax-text-xl ax-icon-chevron-left arrow-icon\\\"></ax-icon>\\n </ax-button>\\n <ax-button look=\\\"blank\\\" [text]=\\\"timeText()\\\" #date></ax-button>\\n <ax-button look=\\\"blank\\\" (onClick)=\\\"changeDate(true)\\\">\\n <ax-icon class=\\\"ax-icon ax-text-xl ax-icon-chevron-right arrow-icon\\\"></ax-icon>\\n </ax-button>\\n <ax-popover [target]=\\\"date\\\" [placement]=\\\"'bottom'\\\" #popover [adaptivityEnabled]=\\\"true\\\">\\n <div class=\\\"ax-overlay-pane\\\">\\n <ax-calendar\\n #calendar\\n [type]=\\\"calendarType()\\\"\\n [depth]=\\\"calendarDepth()\\\"\\n [cellClass]=\\\"getCellClass\\\"\\n [ngModel]=\\\"vm.currentDate()\\\"\\n class=\\\"ax-single-range-calendar\\\"\\n (onSlotClick)=\\\"handleCalendarSlotClick($event)\\\"\\n >\\n <ax-footer>\\n <ax-button\\n look=\\\"link\\\"\\n color=\\\"primary\\\"\\n [text]=\\\"todayButtonText()\\\"\\n (onClick)=\\\"handleTodayClick()\\\"\\n ></ax-button>\\n </ax-footer>\\n </ax-calendar>\\n </div>\\n </ax-popover>\\n </div>\\n </axp-layout-prefix>\\n <axp-layout-suffix>\\n <ax-button [text]=\\\"(t('task-board.' + selectedViewCategory().text, { scope: 'workflow-management' }) | async)!\\\">\\n <ax-prefix><ax-icon icon=\\\"fa-light {{ selectedViewCategory().icon }}\\\"></ax-icon></ax-prefix>\\n <ax-dropdown-panel>\\n <ax-button-item-list>\\n @for(item of categoryItems(); track item.key) {\\n <ax-button-item\\n [text]=\\\"(t('task-board.' + item.text, { scope: 'workflow-management' }) | async)!\\\"\\n [selected]=\\\"vm.currentViewCategory() === item.key\\\"\\n (onClick)=\\\"handleViewCategoryChange(item.key)\\\"\\n >\\n <ax-prefix>\\n <ax-icon icon=\\\"fa-light {{ item.icon }}\\\"></ax-icon>\\n </ax-prefix>\\n </ax-button-item>\\n @if(item.break) {\\n <ax-divider></ax-divider>\\n } }\\n </ax-button-item-list>\\n </ax-dropdown-panel>\\n </ax-button>\\n @if(currentViewModes().length){\\n <ax-button [text]=\\\"(t('task-board.view.' + selectedViewMode().text, { scope: 'workflow-management' }) | async)!\\\">\\n <ax-prefix><ax-icon icon=\\\"fa-light {{ selectedViewMode().icon }}\\\"></ax-icon></ax-prefix>\\n <ax-dropdown-panel>\\n <ax-button-item-list>\\n @for(item of currentViewModes(); track item.key) {\\n <ax-button-item\\n [text]=\\\"(t('task-board.view.' + item.text, { scope: 'workflow-management' }) | async)!\\\"\\n [selected]=\\\"vm.currentViewMode() === item.key\\\"\\n (onClick)=\\\"handleCalendarViewChange(item.key)\\\"\\n >\\n <ax-prefix>\\n <ax-icon icon=\\\"fa-light {{ item.icon }}\\\"></ax-icon>\\n </ax-prefix>\\n </ax-button-item>\\n }\\n </ax-button-item-list>\\n </ax-dropdown-panel>\\n </ax-button>\\n } @if(layoutService.isLarge()) {\\n <!-- Detail Panel Toggle -->\\n <ax-button (onClick)=\\\"vm.toggleDetailPanel()\\\">\\n <ax-icon icon=\\\"{{ vm.isDetailPanelOpen() ? 'fa-solid fa-square-info' : 'fa-light fa-square-info' }}\\\"></ax-icon>\\n </ax-button>\\n }\\n </axp-layout-suffix>\\n </axp-page-toolbar>\\n <axp-page-content class=\\\"ax-flex ax-flex-row ax-gap-2\\\"\\n >@switch(vm.currentViewMode()) { @case('kanban') {\\n <axm-task-board-kanban-view\\n [statuses]=\\\"statuses()\\\"\\n [tasks]=\\\"resolvedTasks()\\\"\\n (onTaskClick)=\\\"setActiveTask($event)\\\"\\n (onActionClick)=\\\"handleContextMenu($event)\\\"\\n class=\\\"axp-kanban-container ax-h-full ax-w-full\\\"\\n ></axm-task-board-kanban-view>\\n }@case('grid') {\\n <axm-task-board-grid-view\\n [statuses]=\\\"statuses()\\\"\\n [tasks]=\\\"resolvedTasks()\\\"\\n class=\\\"ax-h-full ax-w-full\\\"\\n (onTaskClick)=\\\"setActiveTask($event)\\\"\\n (onActionClick)=\\\"handleContextMenu($event)\\\"\\n ></axm-task-board-grid-view>\\n }@case('status-grouped-grid') {\\n <axm-task-board-status-grouped-grid-view\\n [statuses]=\\\"statuses()\\\"\\n [tasks]=\\\"resolvedTasks()\\\"\\n (onActionClick)=\\\"handleContextMenu($event)\\\"\\n class=\\\"ax-flex ax-flex-col ax-gap-2 ax-w-full\\\"\\n ></axm-task-board-status-grouped-grid-view>\\n }@case('time-grouped-grid') {\\n <axm-task-board-time-grouped-grid-view\\n [statuses]=\\\"statuses()\\\"\\n [tasks]=\\\"resolvedTasks()\\\"\\n (onActionClick)=\\\"handleContextMenu($event)\\\"\\n class=\\\"ax-flex ax-flex-col ax-gap-2 ax-w-full\\\"\\n ></axm-task-board-time-grouped-grid-view>\\n } @default {\\n <axm-task-board-calendar-view\\n class=\\\"axp-scheduler-container ax-h-full ax-w-full\\\"\\n [dataSource]=\\\"dataSource\\\"\\n [startingDate]=\\\"vm.currentDate()\\\"\\n (onTaskClick)=\\\"setActiveTask($event)\\\"\\n [selectedView]=\\\"vm.currentViewMode()\\\"\\n (onActionClick)=\\\"handleContextMenu($event)\\\"\\n (onTaskRightClick)=\\\"handleContextMenu($event)\\\"\\n (component)=\\\"schedulerComponentChanged($event)\\\"\\n (onMonthSlotDblClicked)=\\\"handleMonthSlotDblClicked($event)\\\"\\n ></axm-task-board-calendar-view>\\n } }\\n <ax-context-menu\\n #rootContextMenu\\n [closeOn]=\\\"'leave'\\\"\\n [orientation]=\\\"'vertical'\\\"\\n (onOpening)=\\\"handleContextMenuOnOpening($event)\\\"\\n (onItemClick)=\\\"handleContextMenuItemClick($event)\\\"\\n >\\n </ax-context-menu>\\n @if (vm.isDetailPanelOpen() && layoutService.isLarge()) {\\n <axm-task-board-detail-panel></axm-task-board-detail-panel>\\n }\\n </axp-page-content>\\n</axp-page-layout>\\n\", styles: [\"html[dir=rtl] axp-page-layout axp-page-toolbar axp-layout-prefix .ax-scheduler-header .arrow-icon:before{-moz-transform:scale(-1,1);-webkit-transform:scale(-1,1);-o-transform:scale(-1,1);-ms-transform:scale(-1,1);transform:scaleX(-1)}.ax-single-range-calendar .ax-range-start,.ax-single-range-calendar .ax-range-end{color:rgba(var(--ax-sys-color-on-primary-surface))!important;background-color:rgba(var(--ax-sys-color-primary-surface),.85)!important}.ax-single-range-calendar .ax-range-start:hover,.ax-single-range-calendar .ax-range-end:hover{background-color:rgba(var(--ax-sys-color-primary-surface))!important}.ax-single-range-calendar .ax-range-start.ax-state-holiday,.ax-single-range-calendar .ax-range-end.ax-state-holiday{background-color:rgba(var(--ax-sys-color-danger-surface),.85)!important}.ax-single-range-calendar .ax-range-between{color:rgba(var(--ax-sys-color-on-primary-surface))!important;background-color:rgba(var(--ax-sys-color-primary-surface),.65)}.ax-single-range-calendar .ax-range-between.ax-state-holiday{background-color:rgba(var(--ax-sys-color-danger-surface),.65)}.ax-single-range-calendar ax-footer{display:flex;justify-content:center;border-color:rgba(var(--ax-comp-calendar-view-header-border-color));border-top-width:var(--ax-comp-calendar-view-header-border-width, 1px)}axp-page-content:not(:has(axm-task-board-status-grouped-grid-view,axm-task-board-time-grouped-grid-view)){overflow-y:hidden}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay1ib2FyZC5wYWdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL3dvcmtmbG93LW1hbmFnZW1lbnQvc3JjL2xpYi9mZWF0dXJlcy90YXNrLWJvYXJkL3Rhc2stYm9hcmQucGFnZS50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy93b3JrZmxvdy1tYW5hZ2VtZW50L3NyYy9saWIvZmVhdHVyZXMvdGFzay1ib2FyZC90YXNrLWJvYXJkLnBhZ2UuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDckUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sRUFBRSxtQkFBbUIsRUFBdUIsTUFBTSw2QkFBNkIsQ0FBQztBQUN2RixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM1RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUlMLFlBQVksR0FDYixNQUFNLHlCQUF5QixDQUFDO0FBQ2pDLE9BQU8sRUFBc0IsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFakYsT0FBTyxFQUFFLGlCQUFpQixFQUFjLE1BQU0sd0JBQXdCLENBQUM7QUFDdkUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxjQUFj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aUJBQWlCLENBQUMsSUFBSSxhQUMxQjt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLGtCQUFrQjt5QkFDOUI7cUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWEJhZGdlTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2JhZGdlJztcbmltcG9ydCB7IEFYQnJlYWRjcnVtYnNNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvYnJlYWRjcnVtYnMnO1xuaW1wb3J0IHsgQVhCdXR0b25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB7IEFYQ2FsZW5kYXJDb21wb25lbnQsIEFYQ2FsZW5kYXJTbG90Q2xpY2sgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvY2FsZW5kYXInO1xuaW1wb3J0IHsgQVhEZWNvcmF0b3JNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZGVjb3JhdG9ycyc7XG5pbXBvcnQgeyBBWERyb3Bkb3duUGFuZWxDb21wb25lbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZHJvcGRvd24nO1xuaW1wb3J0IHsgQVhEcm9wZG93bkJ1dHRvbk1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kcm9wZG93bi1idXR0b24nO1xuaW1wb3J0IHsgQVhMb2FkaW5nTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2xvYWRpbmcnO1xuaW1wb3J0IHtcbiAgQVhDb250ZXh0TWVudUNvbXBvbmVudCxcbiAgQVhDb250ZXh0TWVudUl0ZW1zQ2xpY2tFdmVudCxcbiAgQVhDb250ZXh0TWVudU9wZW5pbmdFdmVudCxcbiAgQVhNZW51TW9kdWxlLFxufSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvbWVudSc7XG5pbXBvcnQgeyBBWFBvcG92ZXJDb21wb25lbnQsIEFYUG9wb3Zlck1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9wb3BvdmVyJztcbmltcG9ydCB7IEFYU2NoZWR1bGVyQ29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3NjaGVkdWxlcic7XG5pbXBvcnQgeyBBWENhbGVuZGFyU2VydmljZSwgQVhEYXRlVGltZSB9IGZyb20gJ0BhY29yZXgvY29yZS9kYXRlLXRpbWUnO1xuaW1wb3J0IHsgQVhMb2NhbGVTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9jb3JlL2xvY2FsZSc7XG5pbXBvcnQgeyBBWFRyYW5zbGF0aW9uTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb3JlL3RyYW5zbGF0aW9uJztcbmltcG9ydCB7IEFYVW5zdWJzY3JpYmVyIH0gZnJvbSAnQGFjb3JleC9jb3JlL3V0aWxzJztcbmltcG9ydCB7IEFYUEJyZWFkY3J1bWJJdGVtIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb3JlJztcbmltcG9ydCB7IEFYUFRoZW1lTGF5b3V0QmxvY2tDb21wb25lbnQgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9jb21wb25lbnRzJztcbmltcG9ydCB7IEFYUFBhZ2VMYXlvdXRCYXNlLCBBWFBQYWdlTGF5b3V0QmFzZUNvbXBvbmVudCwgQVhQUGFnZUxheW91dENvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L3ZpZXdzJztcbmltcG9ydCB7XG4gIEFYUFRhc2ssXG4gIEFYUFRhc2tBY3Rpb24sXG4gIEFYUFRhc2tGaWx0ZXIsXG4gIEFYUFRhc2tTdGF0dXMsXG4gIEFYUFdvcmtmbG93VGFza1Byb3ZpZGVyLFxufSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL3dvcmtmbG93JztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBjb21wdXRlZCxcbiAgZWZmZWN0LFxuICBpbmplY3QsXG4gIE9uSW5pdCxcbiAgc2lnbmFsLFxuICB2aWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIE5hdmlnYXRpb25FbmQsIFJvdXRlciwgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IGZpbHRlciwgc3RhcnRXaXRoIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBSb290Q29uZmlnIH0gZnJvbSAnLi4vLi4vY29uc3QnO1xuaW1wb3J0IHsgQVhNVGFza0JvYXJkRGV0YWlsUGFuZWwgfSBmcm9tICcuL3Rhc2stYm9hcmQtZGV0YWlsLXBhbmVsL3Rhc2stYm9hcmQtZGV0YWlsLXBhbmVsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBWFBUYXNrQm9hcmRTZXJ2aWNlIH0gZnJvbSAnLi90YXNrLWJvYXJkLnNlcnZpY2UnO1xuaW1wb3J0IHsgQVhNVGFza0JvYXJkVmlld01vZGVsLCBBWFBUYXNrQm9hcmRWaWV3Q2F0ZWdvcnksIEFYUFRhc2tCb2FyZFZpZXdNb2RlIH0gZnJvbSAnLi90YXNrLWJvYXJkLnZpZXdtb2RlbCc7XG5pbXBvcnQgeyBBWE1UYXNrQm9hcmRDYWxlbmRhclZpZXdDb21wb25lbnQgfSBmcm9tICcuL3ZpZXdzL3Rhc2stYm9hcmQtY2FsZW5kYXItdmlldy90YXNrLWJvYXJkLWNhbGVuZGFyLXZpZXcuY29tcG9uZW50JztcbmltcG9ydCB7IEFYTVRhc2tCb2FyZEdyaWRWaWV3Q29tcG9uZW50IH0gZnJvbSAnLi92aWV3cy90YXNrLWJvYXJkLWdyaWQtdmlldy90YXNrLWJvYXJkLWdyaWQtdmlldy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQVhNVGFza0JvYXJkS2FuYmFuVmlld0NvbXBvbmVudCB9IGZyb20gJy4vdmlld3MvdGFzay1ib2FyZC1rYW5iYW4tdmlldy90YXNrLWJvYXJkLWthbmJhbi12aWV3LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBWE1UYXNrQm9hcmRTdGF0dXNHcm91cGVkR3JpZFZpZXdDb21wb25lbnQgfSBmcm9tICcuL3ZpZXdzL3Rhc2stYm9hcmQtc3RhdHVzLWdyb3VwZWQtZ3JpZC12aWV3L3Rhc2stYm9hcmQtc3RhdHVzLWdyb3VwZWQtZ3JpZC12aWV3LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBWE1UYXNrQm9hcmRUaW1lR3JvdXBlZEdyaWRWaWV3Q29tcG9uZW50IH0gZnJvbSAnLi92aWV3cy90YXNrLWJvYXJkLXRpbWUtZ3JvdXBlZC1ncmlkLXZpZXcvdGFzay1ib2FyZC10aW1lLWdyb3VwZWQtZ3JpZC12aWV3LmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICB0ZW1wbGF0ZVVybDogJy4vdGFzay1ib2FyZC5wYWdlLmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90YXNrLWJvYXJkLnBhZ2Uuc2NzcyddLFxuICBpbXBvcnRzOiBbXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFJvdXRlck1vZHVsZSxcbiAgICAvL1xuICAgIEFYTWVudU1vZHVsZSxcbiAgICBBWEJ1dHRvbk1vZHVsZSxcbiAgICBBWERyb3Bkb3duQnV0dG9uTW9kdWxlLFxuICAgIEFYVHJhbnNsYXRpb25Nb2R1bGUsXG4gICAgQVhEZWNvcmF0b3JNb2R1bGUsXG4gICAgQVhMb2FkaW5nTW9kdWxlLFxuICAgIEFYQnJlYWRjcnVtYnNNb2R1bGUsXG4gICAgQVhCYWRnZU1vZHVsZSxcbiAgICAvL1xuICAgIEFYUFRoZW1lTGF5b3V0QmxvY2tDb21wb25lbnQsXG4gICAgQVhQUGFnZUxheW91dENvbXBvbmVudCxcbiAgICBBWE1UYXNrQm9hcmRDYWxlbmRhclZpZXdDb21wb25lbnQsXG4gICAgQVhNVGFza0JvYXJkS2FuYmFuVmlld0NvbXBvbmVudCxcbiAgICBBWE1UYXNrQm9hcmRHcmlkVmlld0NvbXBvbmVudCxcbiAgICBBWE1UYXNrQm9hcmRUaW1lR3JvdXBlZEdyaWRWaWV3Q29tcG9uZW50LFxuICAgIEFYTVRhc2tCb2FyZFN0YXR1c0dyb3VwZWRHcmlkVmlld0NvbXBvbmVudCxcbiAgICBBWE1UYXNrQm9hcmREZXRhaWxQYW5lbCxcbiAgICBBWERyb3Bkb3duUGFuZWxDb21wb25lbnQsXG4gICAgQVhQb3BvdmVyTW9kdWxlLFxuICAgIEFYQ2FsZW5kYXJDb21wb25lbnQsXG4gIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBBWFBQYWdlTGF5b3V0QmFzZSxcbiAgICAgIHVzZUV4aXN0aW5nOiBBWE1UYXNrQm9hcmRQYWdlLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEFYTVRhc2tCb2FyZFBhZ2UgZXh0ZW5kcyBBWFBQYWdlTGF5b3V0QmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgcm91dGVyID0gaW5qZWN0KFJvdXRlcik7XG4gIHByb3RlY3RlZCByZWFkb25seSByb290Q29uZmlnID0gUm9vdENvbmZpZztcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHZtID0gaW5qZWN0KEFYTVRhc2tCb2FyZFZpZXdNb2RlbCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgdW5zdWJzY3JpYmUgPSBpbmplY3QoQVhVbnN1YnNjcmliZXIpO1xuICBwcml2YXRlIHJlYWRvbmx5IGFjdGl2YXRlZFJvdXRlID0gaW5qZWN0KEFjdGl2YXRlZFJvdXRlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBsb2NhbGVTZXJ2aWNlID0gaW5qZWN0KEFYTG9jYWxlU2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgY2FsZW5kYXJTZXJ2aWNlID0gaW5qZWN0KEFYQ2FsZW5kYXJTZXJ2aWNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSB0YXNrQm9hcmRTZXJ2aWNlID0gaW5qZWN0KEFYUFRhc2tCb2FyZFNlcnZpY2UpO1xuXG4gIHByb3RlY3RlZCBwb3BvdmVyID0gdmlld0NoaWxkPEFYUG9wb3ZlckNvbXBvbmVudD4oJ3BvcG92ZXInKTtcbiAgcHJvdGVjdGVkIGNhbGVuZGFyID0gdmlld0NoaWxkPEFYQ2FsZW5kYXJDb21wb25lbnQ+KCdjYWxlbmRhcicpO1xuXG4gIHByaXZhdGUgY3VycmVudFRhc2sgPSBzaWduYWw8QVhQVGFzayB8IG51bGw+KG51bGwpO1xuICBwcm90ZWN0ZWQgY3VycmVudFZpZXdNb2RlID0gc2lnbmFsPCdjYWxlbmRhcicgfCAna2FuYmFuJyB8ICdncmlkJyB8ICd0aW1lLWdyb3VwZWQtZ3JpZCcgfCAnc3RhdHVzLWdyb3VwZWQtZ3JpZCc+KFxuICAgICdjYWxlbmRhcicsXG4gICk7XG4gIHByb3RlY3RlZCBzY2hlZHVsZXJDb21wb25lbnQgPSBzaWduYWw8QVhTY2hlZHVsZXJDb21wb25lbnQgfCBudWxsPihudWxsKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHZpZXdzSXRlbXMgPSBzaWduYWw8XG4gICAgeyBrZXk6IEFYUFRhc2tCb2FyZFZpZXdNb2RlOyB0ZXh0OiBzdHJpbmc7IGljb246IHN0cmluZzsgY2F0ZWdvcnk/OiBBWFBUYXNrQm9hcmRWaWV3Q2F0ZWdvcnkgfVtdXG4gID4oW1xuICAgIHsga2V5OiAnZGF5JywgdGV4dDogJ2RhaWx5JywgaWNvbjogJ2ZhLWxpZ2h0IGZhLWNhbGVuZGFyLWRheScsIGNhdGVnb3J5OiAnY2FsZW5kYXInIH0sXG4gICAgeyBrZXk6ICd3ZWVrJywgdGV4dDogJ3dlZWtseScsIGljb246ICdmYS1saWdodCBmYS1jYWxlbmRhci13ZWVrJywgY2F0ZWdvcnk6ICdjYWxlbmRhcicgfSxcbiAgICB7IGtleTogJ21vbnRoJywgdGV4dDogJ21vbnRobHknLCBpY29uOiAnZmEtbGlnaHQgZmEtY2FsZW5kYXItYWx0JywgY2F0ZWdvcnk6ICdjYWxlbmRhcicgfSxcbiAgICB7IGtleTogJ2FnZW5kYScsIHRleHQ6ICdhZ2VuZGEnLCBpY29uOiAnZmEtbGlnaHQgZmEtY2FsZW5kYXItcmFuZ2UnLCBjYXRlZ29yeTogJ2NhbGVuZGFyJyB9LFxuICAgIHsga2V5OiAnZ3JpZCcsIHRleHQ6ICdncmlkJywgaWNvbjogJ2ZhLWxpZ2h0IGZhLXRhYmxlJywgY2F0ZWdvcnk6ICd0YWJsZScgfSxcbiAgICAvLyB7IGtleTogJ3RpbWUtZ3JvdXBlZC1ncmlkJywgdGV4dDogJ3RpbWUtZ3JvdXBlZC1ncmlkJywgaWNvbjogJ2ZhLWxpZ2h0IGZhLXRhYmxlJyAsY2F0ZWdvcnk6ICd0YWJsZSd9LFxuICAgIHsga2V5OiAnc3RhdHVzLWdyb3VwZWQtZ3JpZCcsIHRleHQ6ICdzdGF0dXMtZ3JvdXBlZC1ncmlkJywgaWNvbjogJ2ZhLWxpZ2h0IGZhLXRhYmxlJywgY2F0ZWdvcnk6ICd0YWJsZScgfSxcbiAgXSk7XG4gIHByb3RlY3RlZCByZWFkb25seSBjYXRlZ29yeUl0ZW1zID0gc2lnbmFsPFxuICAgIHsga2V5OiBBWFBUYXNrQm9hcmRWaWV3Q2F0ZWdvcnk7IHRleHQ6IHN0cmluZzsgaWNvbjogc3RyaW5nOyBicmVhaz86IGJvb2xlYW4gfVtdXG4gID4oW1xuICAgIHsga2V5OiAnY2FsZW5kYXInLCB0ZXh0OiAnY2FsZW5kYXInLCBpY29uOiAnZmEtbGlnaHQgZmEtY2FsZW5kYXItZGF5JyB9LFxuICAgIHsga2V5OiAndGFibGUnLCB0ZXh0OiAndGFibGUnLCBpY29uOiAnZmEtbGlnaHQgZmEtdGFibGUnIH0sXG4gICAgeyBrZXk6ICdrYW5iYW4nLCB0ZXh0OiAna2FuYmFuJywgaWNvbjogJ2ZhLWxpZ2h0IGZhLWNoYXJ0LWthbmJhbicgfSxcbiAgXSk7XG5cbiAgcHJvdGVjdGVkIGNhbGVuZGFyVHlwZSA9IGNvbXB1dGVkKCgpID0+IHRoaXMubG9jYWxlU2VydmljZS5hY3RpdmVQcm9maWxlKCkuY2FsZW5kYXIuc3lzdGVtKTtcbiAgcHJvdGVjdGVkIHRvZGF5QnV0dG9uVGV4dCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBzd2l0Y2ggKHRoaXMudm0uY3VycmVudFZpZXdNb2RlKCkpIHtcbiAgICAgIGNhc2UgJ2RheSc6XG4gICAgICBjYXNlICdncmlkJzpcbiAgICAgIGNhc2UgJ2FnZW5kYSc6XG4gICAgICBjYXNlICdrYW5iYW4nOlxuICAgICAgY2FzZSAndGltZWxpbmUtZGF5JzpcbiAgICAgIGNhc2UgJ3RpbWUtZ3JvdXBlZC1ncmlkJzpcbiAgICAgIGNhc2UgJ3RpbWVsaW5lLW11bHRpLWRheSc6XG4gICAgICBjYXNlICdzdGF0dXMtZ3JvdXBlZC1ncmlkJzpcbiAgICAgICAgcmV0dXJuICdUb2RheSc7XG4gICAgICBjYXNlICd3ZWVrJzpcbiAgICAgICAgcmV0dXJuICdDdXJyZW50IHdlZWsnO1xuICAgICAgY2FzZSAnbW9udGgnOlxuICAgICAgY2FzZSAndGltZWxpbmUtbW9udGgnOlxuICAgICAgICByZXR1cm4gJ0N1cnJlbnQgbW9udGgnO1xuICAgIH1cbiAgfSk7XG4gIHByb3RlY3RlZCB0aW1lVGV4dCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBpZiAoXG4gICAgICB0aGlzLnZtLmN1cnJlbnRWaWV3TW9kZSgpID09PSAnZ3JpZCcgfHxcbiAgICAgIHRoaXMudm0uY3VycmVudFZpZXdNb2RlKCkgPT09ICdrYW5iYW4nIHx8XG4gICAgICB0aGlzLnZtLmN1cnJlbnRWaWV3TW9kZSgpID09PSAndGltZS1ncm91cGVkLWdyaWQnIHx8XG4gICAgICB0aGlzLnZtLmN1cnJlbnRWaWV3TW9kZSgpID09PSAnc3RhdHVzLWdyb3VwZWQtZ3JpZCdcbiAgICApIHtcbiAgICAgIGNvbnN0IHN0YXJ0ID0gdGhpcy5jYWxlbmRhclNlcnZpY2UuY3JlYXRlKFxuICAgICAgICB0aGlzLnZtLmN1cnJlbnREYXRlKCksXG4gICAgICAgIHRoaXMubG9jYWxlU2VydmljZS5hY3RpdmVQcm9maWxlKCkuY2FsZW5kYXIuc3lzdGVtLFxuICAgICAgKTtcbiAgICAgIGNvbnN0IGVuZCA9IHN0YXJ0LmFkZCgnZGF5JywgdGhpcy52bS5kYXlzQ291bnQoKSAtIDEpO1xuICAgICAgY29uc3Qgc3RhcnRUZXh0ID0gc3RhcnQuZm9ybWF0KCdERCBNTU1NIHl5eXknLCB7IGxvY2FsZTogdGhpcy5sb2NhbGVTZXJ2aWNlLmFjdGl2ZVByb2ZpbGUoKS5jYWxlbmRhci5zeXN0ZW0gfSk7XG4gICAgICBjb25zdCBlbmRUZXh0ID0gZW5kLmZvcm1hdCgnREQgTU1NTSB5eXl5JywgeyBsb2NhbGU6IHRoaXMubG9jYWxlU2VydmljZS5hY3RpdmVQcm9maWxlKCkuY2FsZW5kYXIuc3lzdGVtIH0pO1xuICAgICAgcmV0dXJuIGAke3N0YXJ0VGV4dH0gLSAke2VuZFRleHR9YDtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuc2NoZWR1bGVyQ29tcG9uZW50KCk/LmN1cnJlbnREYXRlVGV4dCgpO1xuICB9KTtcbiAgcHJvdGVjdGVkIGNhbGVuZGFyRGVwdGggPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgaWYgKFxuICAgICAgdGhpcy52bS5jdXJyZW50Vmlld01vZGUoKSA9PT0gJ2dyaWQnIHx8XG4gICAgICB0aGlzLnZtLmN1cnJlbnRWaWV3TW9kZSgpID09PSAna2FuYmFuJyB8fFxuICAgICAgdGhpcy52bS5jdXJyZW50Vmlld01vZGUoKSA9PT0gJ3RpbWUtZ3JvdXBlZC1ncmlkJyB8fFxuICAgICAgdGhpcy52bS5jdXJyZW50Vmlld01vZGUoKSA9PT0gJ3N0YXR1cy1ncm91cGVkLWdyaWQnXG4gICAgKSB7XG4gICAgICByZXR1cm4gJ2RheSc7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnNjaGVkdWxlckNvbXBvbmVudCgpPy5jYWxlbmRhckRlcHRoKCk7XG4gIH0pO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgc2VsZWN0ZWRWaWV3TW9kZSA9IGNvbXB1dGVkKFxuICAgICgpID0+IHRoaXMudmlld3NJdGVtcygpLmZpbmQoKGl0ZW0pID0+IGl0ZW0ua2V5ID09PSB0aGlzLnZtLmN1cnJlbnRWaWV3TW9kZSgpKSB8fCB0aGlzLnZpZXdzSXRlbXMoKVswXSxcbiAgKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHNlbGVjdGVkVmlld0NhdGVnb3J5ID0gY29tcHV0ZWQoXG4gICAgKCkgPT4gdGhpcy5jYXRlZ29yeUl0ZW1zKCkuZmluZCgoaXRlbSkgPT4gaXRlbS5rZXkgPT09IHRoaXMudm0uY3VycmVudFZpZXdDYXRlZ29yeSgpKSB8fCB0aGlzLmNhdGVnb3J5SXRlbXMoKVswXSxcbiAgKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGN1cnJlbnRWaWV3TW9kZXMgPSBjb21wdXRlZCgoKSA9PlxuICAgIHRoaXMudmlld3NJdGVtcygpLmZpbHRlcigoaXRlbSkgPT4gaXRlbS5jYXRlZ29yeSA9PT0gdGhpcy52bS5jdXJyZW50Vmlld0NhdGVnb3J5KCkpLFxuICApO1xuICBwcm90ZWN0ZWQgZmlsdGVyID0gY29tcHV0ZWQ8QVhQVGFza0ZpbHRlcj4oKCkgPT4ge1xuICAgIGNvbnN0IHRhc2tUeXBlUHJvdmlkZXIgPSB0aGlzLnZtLnNlbGVjdGVkVGFza1R5cGUoKTtcbiAgICBjb25zdCB0eXBlcyA9IHRhc2tUeXBlUHJvdmlkZXIgPyBbdGFza1R5cGVQcm92aWRlci5uYW1lXSA6IHVuZGVmaW5lZDtcbiAgICBsZXQgZnJvbTogQVhEYXRlVGltZSA9IHRoaXMuY2FsZW5kYXJTZXJ2aWNlLmNyZWF0ZShcbiAgICAgIHRoaXMudm0uY3VycmVudERhdGUoKSxcbiAgICAgIHRoaXMubG9jYWxlU2VydmljZS5hY3RpdmVQcm9maWxlKCkuY2FsZW5kYXIuc3lzdGVtLFxuICAgICk7XG4gICAgbGV0IGVuZDogQVhEYXRlVGltZTtcbiAgICBpZiAodGhpcy52bS5jdXJyZW50Vmlld01vZGUoKSA9PT0gJ2thbmJhbicpIHtcbiAgICAgIGVuZCA9IGZyb20uYWRkKCdkYXknLCB0aGlzLnZtLmRheXNDb3VudCgpIC0gMSk7XG4gICAgfSBlbHNlIGlmIChcbiAgICAgIHRoaXMudm0uY3VycmVudFZpZXdNb2RlKCkgPT09ICdncmlkJyB8fFxuICAgICAgdGhpcy52bS5jdXJyZW50Vmlld01vZGUoKSA9PT0gJ3RpbWUtZ3JvdXBlZC1ncmlkJyB8fFxuICAgICAgdGhpcy52bS5jdXJyZW50Vmlld01vZGUoKSA9PT0gJ3N0YXR1cy1ncm91cGVkLWdyaWQnXG4gICAgKSB7XG4gICAgICBmcm9tID0gZnJvbS5zdGFydE9mKCdtb250aCcpO1xuICAgICAgZW5kID0gZnJvbS5lbmRPZignbW9udGgnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZW5kID0gZnJvbS5lbmRPZignZGF5Jyk7XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICAuLi4odHlwZXMgJiYgeyB0eXBlcyB9KSxcbiAgICAgIHJhbmdlOiB7IGZyb206IGZyb20uZGF0ZSwgZW5kOiBlbmQuZGF0ZSB9LFxuICAgIH07XG4gIH0pO1xuXG4gIHJlc29sdmVkVGFza3MgPSBzaWduYWw8QVhQVGFza1tdPihbXSk7XG5cbiAgZWZmID0gZWZmZWN0KGFzeW5jICgpID0+IHtcbiAgICB0aGlzLnJlc29sdmVkVGFza3Muc2V0KGF3YWl0IHRoaXMuZGF0YVNvdXJjZSh0aGlzLmZpbHRlcigpKSk7XG4gIH0pO1xuXG4gIHByaXZhdGUgY29udGV4dE1lbnUgPSB2aWV3Q2hpbGQ8QVhDb250ZXh0TWVudUNvbXBvbmVudD4oJ3Jvb3RDb250ZXh0TWVudScpO1xuXG4gIG92ZXJyaWRlIGFzeW5jIG5nT25Jbml0KCkge1xuICAgIGF3YWl0IHN1cGVyLm5nT25Jbml0KCk7XG4gICAgYXdhaXQgdGhpcy52bS5pbml0aWFsaXplKCk7XG5cbiAgICB0aGlzLnJvdXRlci5ldmVudHNcbiAgICAgIC5waXBlKFxuICAgICAgICB0aGlzLnVuc3Vic2NyaWJlLnRha2VVbnRpbERlc3Ryb3ksXG4gICAgICAgIGZpbHRlcigoZXZlbnQpID0+IGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCksXG4gICAgICAgIHN0YXJ0V2l0aChudWxsKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoYXN5bmMgKCkgPT4ge1xuICAgICAgICBhd2FpdCB0aGlzLmxvYWRGcm9tUm91dGUoKTtcbiAgICAgIH0pO1xuICB9XG4gIG92ZXJyaWRlIGFzeW5jIGdldFBhZ2VUaXRsZSgpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIHJldHVybiBhd2FpdCB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UudHJhbnNsYXRlQXN5bmMoJ3Rhc2stYm9hcmQucGFnZS10aXRsZScsIHsgc2NvcGU6IHRoaXMucm9vdENvbmZpZy5jb25maWcuaTE4biB9KTtcbiAgfVxuICBvdmVycmlkZSBhc3luYyBnZXRQYWdlQnJlYWRjcnVtYnMoKTogUHJvbWlzZTxBWFBCcmVhZGNydW1iSXRlbVtdPiB7XG4gICAgcmV0dXJuIFtcbiAgICAgIHtcbiAgICAgICAgdGl0bGU6IGF3YWl0IHRoaXMudHJhbnNsYXRlU2VydmljZS50cmFuc2xhdGVBc3luYygncm9vdC1tZW51JywgeyBzY29wZTogdGhpcy5yb290Q29uZmlnLmNvbmZpZy5pMThuIH0pLFxuICAgICAgfSxcbiAgICBdO1xuICB9XG5cbiAgcHJvdGVjdGVkIGRhdGFTb3VyY2UgPSAoZmlsdGVyPzogQVhQVGFza0ZpbHRlcik6IFByb21pc2U8QVhQVGFza1tdPiA9PiB7XG4gICAgY29uc3QgdGFza1R5cGVQcm92aWRlciA9IHRoaXMudm0uc2VsZWN0ZWRUYXNrVHlwZSgpO1xuICAgIGNvbnN0IHR5cGVzID0gdGFza1R5cGVQcm92aWRlciA/IFt0YXNrVHlwZVByb3ZpZGVyLm5hbWVdIDogdW5kZWZpbmVkO1xuICAgIHJldHVybiB0aGlzLnRhc2tCb2FyZFNlcnZpY2UuZ2V0VGFza3MoeyAuLi5maWx0ZXIsIHR5cGVzIH0pO1xuICB9O1xuXG4gIHByb3RlY3RlZCBzdGF0dXNlcyA9IGNvbXB1dGVkPEFYUFRhc2tTdGF0dXNbXT4oKCkgPT4ge1xuICAgIHJldHVybiB0aGlzLnZtLnNlbGVjdGVkVGFza1R5cGUoKT8uc3RhdHVzZXMgfHwgW107XG4gIH0pO1xuXG4gIHNjaGVkdWxlckNvbXBvbmVudENoYW5nZWQoY29tcG9uZW50OiBBWFNjaGVkdWxlckNvbXBvbmVudCkge1xuICAgIHRoaXMuc2NoZWR1bGVyQ29tcG9uZW50LnNldChjb21wb25lbnQpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGhhbmRsZUNvbnRleHRNZW51T25PcGVuaW5nKGV2ZW50OiBBWENvbnRleHRNZW51T3BlbmluZ0V2ZW50KSB7XG4gICAgZm9yIChjb25zdCBpdGVtIG9mIHRoaXMuY3VycmVudFRhc2soKT8uZGF0YT8uYWN0aW9ucyB8fCBbXSkge1xuICAgICAgZXZlbnQuaXRlbXMucHVzaCh7XG4gICAgICAgIHRleHQ6IGl0ZW0udGl0bGUsXG4gICAgICAgIGljb246IGl0ZW0uaWNvbixcbiAgICAgICAgZGF0YToge1xuICAgICAgICAgIGNvbW1hbmQ6IGl0ZW0uY29tbWFuZCxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVDb250ZXh0TWVudShldmVudDogQVhQVGFza0FjdGlvbikge1xuICAgIHRoaXMuY3VycmVudFRhc2suc2V0KGV2ZW50LnRhc2spO1xuICAgIGNvbnN0IHggPSBldmVudC5uYXRpdmVFdmVudC5jbGllbnRYO1xuICAgIGNvbnN0IHkgPSBldmVudC5uYXRpdmVFdmVudC5jbGllbnRZO1xuICAgIGNvbnN0IGVsZW1lbnQgPSBldmVudC5uYXRpdmVFdmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgdGhpcy5jb250ZXh0TWVudSgpPy5zaG93QXQoeyB4LCB5IH0sIGVsZW1lbnQpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGhhbmRsZU1vbnRoU2xvdERibENsaWNrZWQoZGF0ZTogRGF0ZSkge1xuICAgIHRoaXMudm0uc2V0Q3VycmVudERhdGUoZGF0ZSk7XG4gICAgdGhpcy52bS5zZXRWaWV3TW9kZSgnZGF5Jyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlQ2FsZW5kYXJWaWV3Q2hhbmdlKHZpZXc6IEFYUFRhc2tCb2FyZFZpZXdNb2RlKSB7XG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW10sIHsgcXVlcnlQYXJhbXM6IHsgdmlldyB9IH0pO1xuICAgIHRoaXMudm0uc2V0Vmlld01vZGUodmlldyk7XG5cbiAgICBjb25zdCBzY2hlZHVsZXJDb21wb25lbnQgPSB0aGlzLnNjaGVkdWxlckNvbXBvbmVudCgpO1xuICAgIGlmIChzY2hlZHVsZXJDb21wb25lbnQpIHtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLnZtLnNldEN1cnJlbnREYXRlKHNjaGVkdWxlckNvbXBvbmVudC5jdXJyZW50RGF0ZSgpLmRhdGUpO1xuICAgICAgICB0aGlzLnBvcG92ZXIoKT8uY2xvc2UoKTtcbiAgICAgICAgdGhpcy5jYWxlbmRhcigpPy5yZW5kZXIoKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVWaWV3Q2F0ZWdvcnlDaGFuZ2UoY2F0ZWdvcnk6IEFYUFRhc2tCb2FyZFZpZXdDYXRlZ29yeSkge1xuICAgIGxldCB2aWV3OiBBWFBUYXNrQm9hcmRWaWV3TW9kZTtcbiAgICBzd2l0Y2ggKGNhdGVnb3J5KSB7XG4gICAgICBjYXNlICdjYWxlbmRhcic6XG4gICAgICAgIHZpZXcgPSAnbW9udGgnO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ3RhYmxlJzpcbiAgICAgICAgdmlldyA9ICdncmlkJztcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdrYW5iYW4nOlxuICAgICAgICB2aWV3ID0gJ2thbmJhbic7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgICB0aGlzLnZtLnNldFZpZXdDYXRlZ29yeShjYXRlZ29yeSk7XG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW10sIHsgcXVlcnlQYXJhbXM6IHsgdmlldyB9IH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGhhbmRsZVNlbGVjdGVkVGFza1R5cGVDaGFuZ2UodGFza1R5cGU6IEFYUFdvcmtmbG93VGFza1Byb3ZpZGVyIHwgbnVsbCkge1xuICAgIHRoaXMudm0uc2V0U2VsZWN0ZWRUYXNrVHlwZVByb3ZpZGVyKHRhc2tUeXBlKTtcbiAgICB0aGlzLnNjaGVkdWxlckNvbXBvbmVudCgpPy5yZWZyZXNoKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlQ29udGV4dE1lbnVJdGVtQ2xpY2soZXZlbnQ6IEFYQ29udGV4dE1lbnVJdGVtc0NsaWNrRXZlbnQpIHtcbiAgICB0aGlzLnRhc2tCb2FyZFNlcnZpY2UuZXhlY3V0ZUNvbW1hbmQoZXZlbnQuaXRlbS5kYXRhPy5jb21tYW5kLCB0aGlzLmN1cnJlbnRUYXNrKCk/LmRhdGE/LnByb3ZpZGVyID8/ICcnKTtcbiAgfVxuXG4gIGNoYW5nZURhdGUoZm9yd2FyZDogYm9vbGVhbikge1xuICAgIGNvbnN0IGRhdGUgPSB0aGlzLmNhbGVuZGFyU2VydmljZS5jcmVhdGUodGhpcy52bS5jdXJyZW50RGF0ZSgpLCB0aGlzLmxvY2FsZVNlcnZpY2UuYWN0aXZlUHJvZmlsZSgpLmNhbGVuZGFyLnN5c3RlbSk7XG4gICAgc3dpdGNoICh0aGlzLnZtLmN1cnJlbnRWaWV3TW9kZSgpKSB7XG4gICAgICBjYXNlICdkYXknOlxuICAgICAgY2FzZSAndGltZWxpbmUtZGF5JzpcbiAgICAgICAgdGhpcy52bS5zZXRDdXJyZW50RGF0ZShkYXRlLmFkZCgnZGF5JywgZm9yd2FyZCA/IDEgOiAtMSkuZGF0ZSk7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlICd3ZWVrJzpcbiAgICAgICAgdGhpcy52bS5zZXRDdXJyZW50RGF0ZShkYXRlLmFkZCgnd2VlaycsIGZvcndhcmQgPyAxIDogLTEpLmRhdGUpO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSAnYWdlbmRhJzpcbiAgICAgIGNhc2UgJ2thbmJhbic6XG4gICAgICBjYXNlICd0aW1lbGluZS1tdWx0aS1kYXknOlxuICAgICAgICB0aGlzLnZtLnNldEN1cnJlbnREYXRlKGRhdGUuYWRkKCdkYXknLCBmb3J3YXJkID8gdGhpcy52bS5kYXlzQ291bnQoKSAtIDEgOiAxIC0gdGhpcy52bS5kYXlzQ291bnQoKSkuZGF0ZSk7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlICdncmlkJzpcbiAgICAgIGNhc2UgJ21vbnRoJzpcbiAgICAgIGNhc2UgJ3RpbWVsaW5lLW1vbnRoJzpcbiAgICAgIGNhc2UgJ3RpbWUtZ3JvdXBlZC1ncmlkJzpcbiAgICAgIGNhc2UgJ3N0YXR1cy1ncm91cGVkLWdyaWQnOlxuICAgICAgICB0aGlzLnZtLnNldEN1cnJlbnREYXRlKGRhdGUuYWRkKCdtb250aCcsIGZvcndhcmQgPyAxIDogLTEpLmRhdGUpO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gICAgdGhpcy5wb3BvdmVyKCk/LmNsb3NlKCk7XG4gICAgdGhpcy5jYWxlbmRhcigpPy5yZW5kZXIoKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgcmFuZ2VCYXNlZFZpZXdzOiBBWFBUYXNrQm9hcmRWaWV3TW9kZVtdID0gW1xuICAgICdrYW5iYW4nLFxuICAgICdhZ2VuZGEnLFxuICAgICdncmlkJyxcbiAgICAndGltZS1ncm91cGVkLWdyaWQnLFxuICAgICdzdGF0dXMtZ3JvdXBlZC1ncmlkJyxcbiAgICAndGltZWxpbmUtbXVsdGktZGF5JyxcbiAgXTtcblxuICBwcm90ZWN0ZWQgaGFuZGxlQ2FsZW5kYXJTbG90Q2xpY2soZXZlbnQ6IEFYQ2FsZW5kYXJTbG90Q2xpY2spIHtcbiAgICBjb25zdCBjbGlja2VkRGF0ZTogRGF0ZSA9IGV2ZW50Lml0ZW07XG4gICAgY29uc3QgY3VycmVudFZpZXcgPSB0aGlzLnZtLmN1cnJlbnRWaWV3TW9kZSgpO1xuXG4gICAgaWYgKHRoaXMucmFuZ2VCYXNlZFZpZXdzLmluY2x1ZGVzKGN1cnJlbnRWaWV3KSkge1xuICAgICAgY29uc3Qgc2VsZWN0aW9uU3RhcnREYXRlID0gdGhpcy52bS5yYW5nZVN0YXJ0RGF0ZSgpO1xuXG4gICAgICBpZiAoIXNlbGVjdGlvblN0YXJ0RGF0ZSkge1xuICAgICAgICB0aGlzLnZtLnNldFJhbmdlU3RhcnREYXRlKGNsaWNrZWREYXRlKTtcbiAgICAgICAgdGhpcy5jYWxlbmRhcigpPy5yZW5kZXIoKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBkYXRlMSA9IHNlbGVjdGlvblN0YXJ0RGF0ZS5nZXRUaW1lKCk7XG4gICAgICBjb25zdCBkYXRlMiA9IGNsaWNrZWREYXRlLmdldFRpbWUoKTtcbiAgICAgIGNvbnN0IG5ld1N0YXJ0RGF0ZSA9IG5ldyBEYXRlKE1hdGgubWluKGRhdGUxLCBkYXRlMikpO1xuICAgICAgY29uc3QgbmV3RW5kRGF0ZSA9IG5ldyBEYXRlKE1hdGgubWF4KGRhdGUxLCBkYXRlMikpO1xuXG4gICAgICBjb25zdCBkaWZmZXJlbmNlSW5EYXlzID0gdGhpcy5jYWxjdWxhdGVEaWZmZXJlbmNlSW5EYXlzKG5ld1N0YXJ0RGF0ZSwgbmV3RW5kRGF0ZSk7XG5cbiAgICAgIHRoaXMudm0uc2V0Q3VycmVudERhdGUobmV3U3RhcnREYXRlKTtcbiAgICAgIHRoaXMudm0uc2V0RGF5c0NvdW50KGRpZmZlcmVuY2VJbkRheXMpO1xuICAgICAgdGhpcy52bS5zZXRSYW5nZVN0YXJ0RGF0ZShudWxsKTtcblxuICAgICAgdGhpcy5jYWxlbmRhcigpPy5yZW5kZXIoKTtcbiAgICAgIHRoaXMucG9wb3ZlcigpPy5jbG9zZSgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGxldCBkYXRlVG9TZXQgPSBuZXcgRGF0ZShjbGlja2VkRGF0ZSk7XG5cbiAgICBpZiAoY3VycmVudFZpZXcgPT09ICd3ZWVrJykge1xuICAgICAgY29uc3QgZGF5ID0gZGF0ZVRvU2V0LmdldERheSgpO1xuICAgICAgY29uc3Qgd2Vla1N0YXJ0ID0gdGhpcy5sb2NhbGVTZXJ2aWNlLmFjdGl2ZVByb2ZpbGUoKS5jYWxlbmRhci53ZWVrLnN0YXJ0c09uO1xuICAgICAgbGV0IGRheXNUb1N1YnRyYWN0ID0gZGF5IC0gd2Vla1N0YXJ0O1xuICAgICAgaWYgKGRheXNUb1N1YnRyYWN0IDwgMCkge1xuICAgICAgICBkYXlzVG9TdWJ0cmFjdCArPSA3O1xuICAgICAgfVxuICAgICAgZGF0ZVRvU2V0LnNldERhdGUoZGF0ZVRvU2V0LmdldERhdGUoKSAtIGRheXNUb1N1YnRyYWN0KTtcbiAgICB9XG5cbiAgICB0aGlzLnZtLnNldEN1cnJlbnREYXRlKGRhdGVUb1NldCk7XG4gICAgdGhpcy5wb3BvdmVyKCk/LmNsb3NlKCk7XG4gICAgdGhpcy5jYWxlbmRhcigpPy5yZW5kZXIoKTtcbiAgfVxuXG4gIGdldENlbGxDbGFzcyA9IChkYXRlOiBBWERhdGVUaW1lKTogc3RyaW5nIHwgbnVsbCA9PiB7XG4gICAgY29uc3QgY3VycmVudFZpZXcgPSB0aGlzLnZtLmN1cnJlbnRWaWV3TW9kZSgpO1xuICAgIGNvbnN0IHNlbGVjdGlvblN0YXJ0RGF0ZSA9IHRoaXMudm0ucmFuZ2VTdGFydERhdGUoKTtcblxuICAgIGlmICh0aGlzLnJhbmdlQmFzZWRWaWV3cy5pbmNsdWRlcyhjdXJyZW50VmlldykpIHtcbiAgICAgIGlmIChzZWxlY3Rpb25TdGFydERhdGUpIHtcbiAgICAgICAgY29uc3QgYXhTZWxlY3Rpb25TdGFydERhdGUgPSB0aGlzLmNhbGVuZGFyU2VydmljZS5jcmVhdGUoc2VsZWN0aW9uU3RhcnREYXRlKTtcbiAgICAgICAgaWYgKGRhdGUuZXF1YWwoYXhTZWxlY3Rpb25TdGFydERhdGUsICdkYXknKSkge1xuICAgICAgICAgIHJldHVybiAnYXgtcmFuZ2Utc3RhcnQgYXgtcmFuZ2UtZW5kJztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cblxuICAgICAgY29uc3QgZnJvbVJhbmdlID0gdGhpcy5jYWxlbmRhclNlcnZpY2UuY3JlYXRlKHRoaXMudm0uY3VycmVudERhdGUoKSk7XG4gICAgICBjb25zdCBlbmRSYW5nZSA9IGZyb21SYW5nZS5hZGQoJ2RheScsIHRoaXMudm0uZGF5c0NvdW50KCkgLSAxKTtcblxuICAgICAgY29uc3QgaXNTdGFydCA9IGRhdGUuZXF1YWwoZnJvbVJhbmdlLCAnZGF5Jyk7XG4gICAgICBjb25zdCBpc0VuZCA9IGRhdGUuZXF1YWwoZW5kUmFuZ2UsICdkYXknKTtcblxuICAgICAgaWYgKGlzU3RhcnQgJiYgaXNFbmQpIHJldHVybiAnYXgtcmFuZ2Utc3RhcnQgYXgtcmFuZ2UtZW5kJztcbiAgICAgIGlmIChpc1N0YXJ0KSByZXR1cm4gJ2F4LXJhbmdlLXN0YXJ0JztcbiAgICAgIGlmIChpc0VuZCkgcmV0dXJuICdheC1yYW5nZS1lbmQnO1xuICAgICAgaWYgKGRhdGUuY29tcGFyZShmcm9tUmFuZ2UsICdkYXknKSA+IDAgJiYgZGF0ZS5jb21wYXJlKGVuZFJhbmdlLCAnZGF5JykgPCAwKSB7XG4gICAgICAgIHJldHVybiAnYXgtcmFuZ2UtYmV0d2Vlbic7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGlmIChjdXJyZW50VmlldyA9PT0gJ3dlZWsnKSB7XG4gICAgICBjb25zdCBmcm9tID0gdGhpcy5jYWxlbmRhclNlcnZpY2UuY3JlYXRlKHRoaXMudm0uY3VycmVudERhdGUoKSk7XG4gICAgICBjb25zdCBlbmQgPSBmcm9tLmFkZCgnZGF5JywgNik7XG5cbiAgICAgIGlmIChkYXRlLmVxdWFsKGZyb20sICdkYXknKSkgcmV0dXJuICdheC1yYW5nZS1zdGFydCc7XG4gICAgICBpZiAoZGF0ZS5lcXVhbChlbmQsICdkYXknKSkgcmV0dXJuICdheC1yYW5nZS1lbmQnO1xuICAgICAgaWYgKGRhdGUuY29tcGFyZShmcm9tLCAnZGF5JykgPiAwICYmIGRhdGUuY29tcGFyZShlbmQsICdkYXknKSA8IDApIHtcbiAgICAgICAgcmV0dXJuICdheC1yYW5nZS1iZXR3ZWVuJztcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfTtcblxuICAvKipcbiAgICogSGVscGVyIGZ1bmN0aW9uIHRvIGNhbGN1bGF0ZSB0aGUgZGlmZmVyZW5jZSBpbiB3aG9sZSBkYXlzIGJldHdlZW4gdHdvIGRhdGVzLlxuICAgKiBUaGUgcmVzdWx0IGlzIGluY2x1c2l2ZSAoZS5nLiwgTWF5IDUgdG8gTWF5IDYgaXMgYSAyLWRheSByYW5nZSkuXG4gICAqL1xuICBwcml2YXRlIGNhbGN1bGF0ZURpZmZlcmVuY2VJbkRheXMoc3RhcnQ6IERhdGUsIGVuZDogRGF0ZSk6IG51bWJlciB7XG4gICAgaWYgKCFzdGFydCB8fCAhZW5kKSB7XG4gICAgICByZXR1cm4gMTtcbiAgICB9XG4gICAgY29uc3Qgc3RhcnREYXRlID0gbmV3IERhdGUoc3RhcnQuZ2V0RnVsbFllYXIoKSwgc3RhcnQuZ2V0TW9udGgoKSwgc3RhcnQuZ2V0RGF0ZSgpKTtcbiAgICBjb25zdCBlbmREYXRlID0gbmV3IERhdGUoZW5kLmdldEZ1bGxZZWFyKCksIGVuZC5nZXRNb250aCgpLCBlbmQuZ2V0RGF0ZSgpKTtcblxuICAgIGNvbnN0IHRpbWVEaWZmZXJlbmNlID0gZW5kRGF0ZS5nZXRUaW1lKCkgLSBzdGFydERhdGUuZ2V0VGltZSgpO1xuICAgIGNvbnN0IGRheXNEaWZmZXJlbmNlID0gTWF0aC5yb3VuZCh0aW1lRGlmZmVyZW5jZSAvICgxMDAwICogMzYwMCAqIDI0KSk7XG5cbiAgICByZXR1cm4gZGF5c0RpZmZlcmVuY2UgKyAxO1xuICB9XG5cbiAgaGFuZGxlVG9kYXlDbGljaygpIHtcbiAgICB0aGlzLnZtLnNldFJhbmdlU3RhcnREYXRlKG51bGwpO1xuICAgIHRoaXMudm0uc2V0Q3VycmVudERhdGUobmV3IERhdGUoKSk7XG4gICAgdGhpcy5wb3BvdmVyKCk/LmNsb3NlKCk7XG4gICAgdGhpcy5jYWxlbmRhcigpPy5yZW5kZXIoKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgbG9hZEZyb21Sb3V0ZSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBzbmFwc2hvdCA9IHRoaXMuYWN0aXZhdGVkUm91dGUuc25hcHNob3Q7XG4gICAgY29uc3Qgdmlld3M6IEFYUFRhc2tCb2FyZFZpZXdNb2RlW10gPSBbXG4gICAgICAnZGF5JyxcbiAgICAgICd3ZWVrJyxcbiAgICAgICdncmlkJyxcbiAgICAgICdtb250aCcsXG4gICAgICAnYWdlbmRhJyxcbiAgICAgICdrYW5iYW4nLFxuICAgICAgJ3RpbWVsaW5lLWRheScsXG4gICAgICAndGltZWxpbmUtbW9udGgnLFxuICAgICAgJ3RpbWUtZ3JvdXBlZC1ncmlkJyxcbiAgICAgICd0aW1lbGluZS1tdWx0aS1kYXknLFxuICAgICAgJ3N0YXR1cy1ncm91cGVkLWdyaWQnLFxuICAgIF07XG5cbiAgICBjb25zdCB2aWV3ID0gc25hcHNob3QucXVlcnlQYXJhbU1hcC5nZXQoJ3ZpZXcnKSA/PyBudWxsO1xuICAgIGlmICh2aWV3ICYmIHZpZXdzLmluY2x1ZGVzKHZpZXcgYXMgQVhQVGFza0JvYXJkVmlld01vZGUpKSB7XG4gICAgICB0aGlzLnZtLnNldFZpZXdNb2RlKHZpZXcgYXMgQVhQVGFza0JvYXJkVmlld01vZGUpO1xuICAgICAgaWYgKHZpZXcgPT09ICdrYW5iYW4nKSB7XG4gICAgICAgIHRoaXMudm0uc2V0Q2F0ZWdvcnkoJ2thbmJhbicpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBjb25zdCBjYXRlZ29yeSA9IHRoaXMudmlld3NJdGVtcygpLmZpbmQoKGl0ZW0pID0+IGl0ZW0ua2V5ID09PSB2aWV3KT8uY2F0ZWdvcnk7XG4gICAgICBpZiAoY2F0ZWdvcnkpIHtcbiAgICAgICAgdGhpcy52bS5zZXRDYXRlZ29yeShjYXRlZ29yeSk7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmICghdGhpcy52bS5jdXJyZW50Vmlld01vZGUoKSkge1xuICAgICAgdGhpcy52bS5zZXRWaWV3TW9kZSgnZGF5Jyk7XG4gICAgfVxuICB9XG5cbiAgc2V0QWN0aXZlVGFzayh0YXNrOiBBWFBUYXNrKSB7XG4gICAgdGhpcy52bS5zZWxlY3RUYXNrKHRhc2spO1xuICB9XG59XG4iLCI8YXhwLXBhZ2UtbGF5b3V0ICp0cmFuc2xhdGU9XCJsZXQgdFwiPlxuICA8YXhwLXBhZ2UtdG9vbGJhcj5cbiAgICA8YXhwLWxheW91dC1wcmVmaXggY2xhc3M9XCJzbTpheC1mbGV4LXJvdyBheC1mbGV4LWNvbCBheC1pdGVtcy1zdGFydFwiPlxuICAgICAgPGF4LWJ1dHRvblxuICAgICAgICBbdGV4dF09XCJ0KHZtLnNlbGVjdGVkVGFza1R5cGUoKT8udGl0bGUgfHwgJ3Rhc2stYm9hcmQuYWxsJywgeyBzY29wZTogcm9vdENvbmZpZy5jb25maWcuaTE4biB9KSB8IGFzeW5jXCJcbiAgICAgID5cbiAgICAgICAgPGF4LXByZWZpeD48YXgtaWNvbiBpY29uPVwiZmEtbGlnaHQge3t2bS5zZWxlY3RlZFRhc2tUeXBlKCk/Lmljb24gfHwgJ2ZhLXRhc2tzJ319XCI+PC9heC1pY29uPjwvYXgtcHJlZml4PlxuICAgICAgICA8YXgtZHJvcGRvd24tcGFuZWw+XG4gICAgICAgICAgPGF4LWJ1dHRvbi1pdGVtLWxpc3QgY2xhc3M9XCJheC1wLTJcIj5cbiAgICAgICAgICAgIEBpZih2bS5jdXJyZW50Vmlld01vZGUoKSE9PSdrYW5iYW4nICYmIHZtLmN1cnJlbnRWaWV3TW9kZSgpIT09J2dyaWQnICYmXG4gICAgICAgICAgICB2bS5jdXJyZW50Vmlld01vZGUoKSE9PSdzdGF0dXMtZ3JvdXBlZC1ncmlkJyAmJiB2bS5jdXJyZW50Vmlld01vZGUoKSE9PSd0aW1lLWdyb3VwZWQtZ3JpZCcpIHtcbiAgICAgICAgICAgIDxheC1idXR0b24taXRlbVxuICAgICAgICAgICAgICAob25DbGljayk9XCJoYW5kbGVTZWxlY3RlZFRhc2tUeXBlQ2hhbmdlKG51bGwpXCJcbiAgICAgICAgICAgICAgW3RleHRdPVwiKHQoJ3Rhc2stYm9hcmQuYWxsJywgeyBzY29wZTogcm9vdENvbmZpZy5jb25maWcuaTE4biB9KSB8IGFzeW5jKSFcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8YXgtcHJlZml4PjxheC1pY29uIGljb249XCJmYS1saWdodCBmYS10YXNrc1wiPjwvYXgtaWNvbj48L2F4LXByZWZpeD5cbiAgICAgICAgICAgIDwvYXgtYnV0dG9uLWl0ZW0+XG4gICAgICAgICAgICB9IEBmb3IoaXRlbSBvZiB2bS50YXNrVHlwZXMoKTsgdHJhY2sgaXRlbS5uYW1lKSB7XG4gICAgICAgICAgICA8YXgtYnV0dG9uLWl0ZW1cbiAgICAgICAgICAgICAgKG9uQ2xpY2spPVwiaGFuZGxlU2VsZWN0ZWRUYXNrVHlwZUNoYW5nZShpdGVtKVwiXG4gICAgICAgICAgICAgIFt0ZXh0XT1cIih0KGl0ZW0udGl0bGUsIHsgc2NvcGU6IHJvb3RDb25maWcuY29uZmlnLmkxOG4gfSkgfCBhc3luYykhXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGF4LXByZWZpeD48YXgtaWNvbiBpY29uPVwiZmEtbGlnaHQge3sgaXRlbS5pY29uIH19XCI+PC9heC1pY29uPjwvYXgtcHJlZml4PlxuICAgICAgICAgICAgPC9heC1idXR0b24taXRlbT5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L2F4LWJ1dHRvbi1pdGVtLWxpc3Q+XG4gICAgICAgIDwvYXgtZHJvcGRvd24tcGFuZWw+XG4gICAgICA8L2F4LWJ1dHRvbj5cblxuICAgICAgPGRpdiBjbGFzcz1cImF4LXNjaGVkdWxlci1oZWFkZXIgYXgtdy1tYXggYXgtc20gc206YXgtbWRcIj5cbiAgICAgICAgPGF4LWJ1dHRvbiBsb29rPVwiYmxhbmtcIiAob25DbGljayk9XCJjaGFuZ2VEYXRlKGZhbHNlKVwiPlxuICAgICAgICAgIDxheC1pY29uIGNsYXNzPVwiYXgtaWNvbiBheC10ZXh0LXhsIGF4LWljb24tY2hldnJvbi1sZWZ0IGFycm93LWljb25cIj48L2F4LWljb24+XG4gICAgICAgIDwvYXgtYnV0dG9uPlxuICAgICAgICA8YXgtYnV0dG9uIGxvb2s9XCJibGFua1wiIFt0ZXh0XT1cInRpbWVUZXh0KClcIiAjZGF0ZT48L2F4LWJ1dHRvbj5cbiAgICAgICAgPGF4LWJ1dHRvbiBsb29rPVwiYmxhbmtcIiAob25DbGljayk9XCJjaGFuZ2VEYXRlKHRydWUpXCI+XG4gICAgICAgICAgPGF4LWljb24gY2xhc3M9XCJheC1pY29uIGF4LXRleHQteGwgYXgtaWNvbi1jaGV2cm9uLXJpZ2h0IGFycm93LWljb25cIj48L2F4LWljb24+XG4gICAgICAgIDwvYXgtYnV0dG9uPlxuICAgICAgICA8YXgtcG9wb3ZlciBbdGFyZ2V0XT1cImRhdGVcIiBbcGxhY2VtZW50XT1cIidib3R0b20nXCIgI3BvcG92ZXIgW2FkYXB0aXZpdHlFbmFibGVkXT1cInRydWVcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtb3ZlcmxheS1wYW5lXCI+XG4gICAgICAgICAgICA8YXgtY2FsZW5kYXJcbiAgICAgICAgICAgICAgI2NhbGVuZGFyXG4gICAgICAgICAgICAgIFt0eXBlXT1cImNhbGVuZGFyVHlwZSgpXCJcbiAgICAgICAgICAgICAgW2RlcHRoXT1cImNhbGVuZGFyRGVwdGgoKVwiXG4gICAgICAgICAgICAgIFtjZWxsQ2xhc3NdPVwiZ2V0Q2VsbENsYXNzXCJcbiAgICAgICAgICAgICAgW25nTW9kZWxdPVwidm0uY3VycmVudERhdGUoKVwiXG4gICAgICAgICAgICAgIGNsYXNzPVwiYXgtc2luZ2xlLXJhbmdlLWNhbGVuZGFyXCJcbiAgICAgICAgICAgICAgKG9uU2xvdENsaWNrKT1cImhhbmRsZUNhbGVuZGFyU2xvdENsaWNrKCRldmVudClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8YXgtZm9vdGVyPlxuICAgICAgICAgICAgICAgIDxheC1idXR0b25cbiAgICAgICAgICAgICAgICAgIGxvb2s9XCJsaW5rXCJcbiAgICAgICAgICAgICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgICAgICAgICAgICAgICBbdGV4dF09XCJ0b2RheUJ1dHRvblRleHQoKVwiXG4gICAgICAgICAgICAgICAgICAob25DbGljayk9XCJoYW5kbGVUb2RheUNsaWNrKClcIlxuICAgICAgICAgICAgICAgID48L2F4LWJ1dHRvbj5cbiAgICAgICAgICAgICAgPC9heC1mb290ZXI+XG4gICAgICAgICAgICA8L2F4LWNhbGVuZGFyPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2F4LXBvcG92ZXI+XG4gICAgICA8L2Rpdj5cbiAgICA8L2F4cC1sYXlvdXQtcHJlZml4PlxuICAgIDxheHAtbGF5b3V0LXN1ZmZpeD5cbiAgICAgIDxheC1idXR0b24gW3RleHRdPVwiKHQoJ3Rhc2stYm9hcmQuJyArIHNlbGVjdGVkVmlld0NhdGVnb3J5KCkudGV4dCwgeyBzY29wZTogJ3dvcmtmbG93LW1hbmFnZW1lbnQnIH0pIHwgYXN5bmMpIVwiPlxuICAgICAgICA8YXgtcHJlZml4PjxheC1pY29uIGljb249XCJmYS1saWdodCB7eyBzZWxlY3RlZFZpZXdDYXRlZ29yeSgpLmljb24gfX1cIj48L2F4LWljb24+PC9heC1wcmVmaXg+XG4gICAgICAgIDxheC1kcm9wZG93bi1wYW5lbD5cbiAgICAgICAgICA8YXgtYnV0dG9uLWl0ZW0tbGlzdD5cbiAgICAgICAgICAgIEBmb3IoaXRlbSBvZiBjYXRlZ29yeUl0ZW1zKCk7IHRyYWNrIGl0ZW0ua2V5KSB7XG4gICAgICAgICAgICA8YXgtYnV0dG9uLWl0ZW1cbiAgICAgICAgICAgICAgW3RleHRdPVwiKHQoJ3Rhc2stYm9hcmQuJyArIGl0ZW0udGV4dCwgeyBzY29wZTogJ3dvcmtmbG93LW1hbmFnZW1lbnQnIH0pIHwgYXN5bmMpIVwiXG4gICAgICAgICAgICAgIFtzZWxlY3RlZF09XCJ2bS5jdXJyZW50Vmlld0NhdGVnb3J5KCkgPT09IGl0ZW0ua2V5XCJcbiAgICAgICAgICAgICAgKG9uQ2xpY2spPVwiaGFuZGxlVmlld0NhdGVnb3J5Q2hhbmdlKGl0ZW0ua2V5KVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxheC1wcmVmaXg+XG4gICAgICAgICAgICAgICAgPGF4LWljb24gaWNvbj1cImZhLWxpZ2h0IHt7IGl0ZW0uaWNvbiB9fVwiPjwvYXgtaWNvbj5cbiAgICAgICAgICAgICAgPC9heC1wcmVmaXg+XG4gICAgICAgICAgICA8L2F4LWJ1dHRvbi1pdGVtPlxuICAgICAgICAgICAgQGlmKGl0ZW0uYnJlYWspIHtcbiAgICAgICAgICAgIDxheC1kaXZpZGVyPjwvYXgtZGl2aWRlcj5cbiAgICAgICAgICAgIH0gfVxuICAgICAgICAgIDwvYXgtYnV0dG9uLWl0ZW0tbGlzdD5cbiAgICAgICAgPC9heC1kcm9wZG93bi1wYW5lbD5cbiAgICAgIDwvYXgtYnV0dG9uPlxuICAgICAgQGlmKGN1cnJlbnRWaWV3TW9kZXMoKS5sZW5ndGgpe1xuICAgICAgPGF4LWJ1dHRvbiBbdGV4dF09XCIodCgndGFzay1ib2FyZC52aWV3LicgKyBzZWxlY3RlZFZpZXdNb2RlKCkudGV4dCwgeyBzY29wZTogJ3dvcmtmbG93LW1hbmFnZW1lbnQnIH0pIHwgYXN5bmMpIVwiPlxuICAgICAgICA8YXgtcHJlZml4PjxheC1pY29uIGljb249XCJmYS1saWdodCB7eyBzZWxlY3RlZFZpZXdNb2RlKCkuaWNvbiB9fVwiPjwvYXgtaWNvbj48L2F4LXByZWZpeD5cbiAgICAgICAgPGF4LWRyb3Bkb3duLXBhbmVsPlxuICAgICAgICAgIDxheC1idXR0b24taXRlbS1saXN0PlxuICAgICAgICAgICAgQGZvcihpdGVtIG9mIGN1cnJlbnRWaWV3TW9kZXMoKTsgdHJhY2sgaXRlbS5rZXkpIHtcbiAgICAgICAgICAgIDxheC1idXR0b24taXRlbVxuICAgICAgICAgICAgICBbdGV4dF09XCIodCgndGFzay1ib2FyZC52aWV3LicgKyBpdGVtLnRleHQsIHsgc2NvcGU6ICd3b3JrZmxvdy1tYW5hZ2VtZW50JyB9KSB8IGFzeW5jKSFcIlxuICAgICAgICAgICAgICBbc2VsZWN0ZWRdPVwidm0uY3VycmVudFZpZXdNb2RlKCkgPT09IGl0ZW0ua2V5XCJcbiAgICAgICAgICAgICAgKG9uQ2xpY2spPVwiaGFuZGxlQ2FsZW5kYXJWaWV3Q2hhbmdlKGl0ZW0ua2V5KVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxheC1wcmVmaXg+XG4gICAgICAgICAgICAgICAgPGF4LWljb24gaWNvbj1cImZhLWxpZ2h0IHt7IGl0ZW0uaWNvbiB9fVwiPjwvYXgtaWNvbj5cbiAgICAgICAgICAgICAgPC9heC1wcmVmaXg+XG4gICAgICAgICAgICA8L2F4LWJ1dHRvbi1pdGVtPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvYXgtYnV0dG9uLWl0ZW0tbGlzdD5cbiAgICAgICAgPC9heC1kcm9wZG93bi1wYW5lbD5cbiAgICAgIDwvYXgtYnV0dG9uPlxuICAgICAgfSBAaWYobGF5b3V0U2VydmljZS5pc0xhcmdlKCkpIHtcbiAgICAgIDwhLS0gRGV0YWlsIFBhbmVsIFRvZ2dsZSAtLT5cbiAgICAgIDxheC1idXR0b24gKG9uQ2xpY2spPVwidm0udG9nZ2xlRGV0YWlsUGFuZWwoKVwiPlxuICAgICAgICA8YXgtaWNvbiBpY29uPVwie3sgdm0uaXNEZXRhaWxQYW5lbE9wZW4oKSA/ICdmYS1zb2xpZCBmYS1zcXVhcmUtaW5mbycgOiAnZmEtbGlnaHQgZmEtc3F1YXJlLWluZm8nIH19XCI+PC9heC1pY29uPlxuICAgICAgPC9heC1idXR0b24+XG4gICAgICB9XG4gICAgPC9heHAtbGF5b3V0LXN1ZmZpeD5cbiAgPC9heHAtcGFnZS10b29sYmFyPlxuICA8YXhwLXBhZ2UtY29udGVudCBjbGFzcz1cImF4LWZsZXggYXgtZmxleC1yb3cgYXgtZ2FwLTJcIlxuICAgID5Ac3dpdGNoKHZtLmN1cnJlbnRWaWV3TW9kZSgpKSB7IEBjYXNlKCdrYW5iYW4nKSB7XG4gICAgPGF4bS10YXNrLWJvYXJkLWthbmJhbi12aWV3XG4gICAgICBbc3RhdHVzZXNdPVwic3RhdHVzZXMoKVwiXG4gICAgICBbdGFza3NdPVwicmVzb2x2ZWRUYXNrcygpXCJcbiAgICAgIChvblRhc2tDbGljayk9XCJzZXRBY3RpdmVUYXNrKCRldmVudClcIlxuICAgICAgKG9uQWN0aW9uQ2xpY2spPVwiaGFuZGxlQ29udGV4dE1lbnUoJGV2ZW50KVwiXG4gICAgICBjbGFzcz1cImF4cC1rYW5iYW4tY29udGFpbmVyIGF4LWgtZnVsbCBheC13LWZ1bGxcIlxuICAgID48L2F4bS10YXNrLWJvYXJkLWthbmJhbi12aWV3PlxuICAgIH1AY2FzZSgnZ3JpZCcpIHtcbiAgICA8YXhtLXRhc2stYm9hcmQtZ3JpZC12aWV3XG4gICAgICBbc3RhdHVzZXNdPVwic3RhdHVzZXMoKVwiXG4gICAgICBbdGFza3NdPVwicmVzb2x2ZWRUYXNrcygpXCJcbiAgICAgIGNsYXNzPVwiYXgtaC1mdWxsIGF4LXctZnVsbFwiXG4gICAgICAob25UYXNrQ2xpY2spPVwic2V0QWN0aXZlVGFzaygkZXZlbnQpXCJcbiAgICAgIChvbkFjdGlvbkNsaWNrKT1cImhhbmRsZUNvbnRleHRNZW51KCRldmVudClcIlxuICAgID48L2F4bS10YXNrLWJvYXJkLWdyaWQtdmlldz5cbiAgICB9QGNhc2UoJ3N0YXR1cy1ncm91cGVkLWdyaWQnKSB7XG4gICAgPGF4bS10YXNrLWJvYXJkLXN0YXR1cy1ncm91cGVkLWdyaWQtdmlld1xuICAgICAgW3N0YXR1c2VzXT1cInN0YXR1c2VzKClcIlxuICAgICAgW3Rhc2tzXT1cInJlc29sdmVkVGFza3MoKVwiXG4gICAgICAob25BY3Rpb25DbGljayk9XCJoYW5kbGVDb250ZXh0TWVudSgkZXZlbnQpXCJcbiAgICAgIGNsYXNzPVwiYXgtZmxleCBheC1mbGV4LWNvbCBheC1nYXAtMiBheC13LWZ1bGxcIlxuICAgID48L2F4bS10YXNrLWJvYXJkLXN0YXR1cy1ncm91cGVkLWdyaWQtdmlldz5cbiAgICB9QGNhc2UoJ3RpbWUtZ3JvdXBlZC1ncmlkJykge1xuICAgIDxheG0tdGFzay1ib2FyZC10aW1lLWdyb3VwZWQtZ3JpZC12aWV3XG4gICAgICBbc3RhdHVzZXNdPVwic3RhdHVzZXMoKVwiXG4gICAgICBbdGFza3NdPVwicmVzb2x2ZWRUYXNrcygpXCJcbiAgICAgIChvbkFjdGlvbkNsaWNrKT1cImhhbmRsZUNvbnRleHRNZW51KCRldmVudClcIlxuICAgICAgY2xhc3M9XCJheC1mbGV4IGF4LWZsZXgtY29sIGF4LWdhcC0yIGF4LXctZnVsbFwiXG4gICAgPjwvYXhtLXRhc2stYm9hcmQtdGltZS1ncm91cGVkLWdyaWQtdmlldz5cbiAgICB9IEBkZWZhdWx0IHtcbiAgICA8YXhtLXRhc2stYm9hcmQtY2FsZW5kYXItdmlld1xuICAgICAgY2xhc3M9XCJheHAtc2NoZWR1bGVyLWNvbnRhaW5lciBheC1oLWZ1bGwgYXgtdy1mdWxsXCJcbiAgICAgIFtkYXRhU291cmNlXT1cImRhdGFTb3VyY2VcIlxuICAgICAgW3N0YXJ0aW5nRGF0ZV09XCJ2bS5jdXJyZW50RGF0ZSgpXCJcbiAgICAgIChvblRhc2tDbGljayk9XCJzZXRBY3RpdmVUYXNrKCRldmVudClcIlxuICAgICAgW3NlbGVjdGVkVmlld109XCJ2bS5jdXJyZW50Vmlld01vZGUoKVwiXG4gICAgICAob25BY3Rpb25DbGljayk9XCJoYW5kbGVDb250ZXh0TWVudSgkZXZlbnQpXCJcbiAgICAgIChvblRhc2tSaWdodENsaWNrKT1cImhhbmRsZUNvbnRleHRNZW51KCRldmVudClcIlxuICAgICAgKGNvbXBvbmVudCk9XCJzY2hlZHVsZXJDb21wb25lbnRDaGFuZ2VkKCRldmVudClcIlxuICAgICAgKG9uTW9udGhTbG90RGJsQ2xpY2tlZCk9XCJoYW5kbGVNb250aFNsb3REYmxDbGlja2VkKCRldmVudClcIlxuICAgID48L2F4bS10YXNrLWJvYXJkLWNhbGVuZGFyLXZpZXc+XG4gICAgfSB9XG4gICAgPGF4LWNvbnRleHQtbWVudVxuICAgICAgI3Jvb3RDb250ZXh0TWVudVxuICAgICAgW2Nsb3NlT25dPVwiJ2xlYXZlJ1wiXG4gICAgICBbb3JpZW50YXRpb25dPVwiJ3ZlcnRpY2FsJ1wiXG4gICAgICAob25PcGVuaW5nKT1cImhhbmRsZUNvbnRleHRNZW51T25PcGVuaW5nKCRldmVudClcIlxuICAgICAgKG9uSXRlbUNsaWNrKT1cImhhbmRsZUNvbnRleHRNZW51SXRlbUNsaWNrKCRldmVudClcIlxuICAgID5cbiAgICA8L2F4LWNvbnRleHQtbWVudT5cbiAgICBAaWYgKHZtLmlzRGV0YWlsUGFuZWxPcGVuKCkgJiYgbGF5b3V0U2VydmljZS5pc0xhcmdlKCkpIHtcbiAgICA8YXhtLXRhc2stYm9hcmQtZGV0YWlsLXBhbmVsPjwvYXhtLXRhc2stYm9hcmQtZGV0YWlsLXBhbmVsPlxuICAgIH1cbiAgPC9heHAtcGFnZS1jb250ZW50PlxuPC9heHAtcGFnZS1sYXlvdXQ+XG4iXX0="],"names":["i1"],"mappings":"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"}
|