@acorex/modules 19.2.20 → 19.3.0-next.1
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/application-management/lib/layouts/module-entity-detail-view/module-entity-detail-view.component.d.ts +2 -2
- package/auth/lib/setting.provider.d.ts +4 -0
- package/common/index.d.ts +1 -0
- package/common/lib/entities/dashboard/dashboard.types.d.ts +1 -1
- package/common/lib/features/{dashboard-home/dashboard-home.d.ts → home-dashboard/dashboard-home/home-dashboard.d.ts} +72 -52
- package/common/lib/features/{dashboard-home/dashboard-home.store.d.ts → home-dashboard/dashboard-home/home-dashboard.store.d.ts} +9 -4
- package/common/lib/features/home-dashboard/dashboard-home/index.d.ts +3 -0
- package/common/lib/features/{dashboard-popups → home-dashboard/dashboard-popups}/add-dashboard-popup.d.ts +7 -5
- package/common/lib/features/home-dashboard/dashboard-popups/configuration-popup.d.ts +14 -0
- package/common/lib/features/{dashboard-popups → home-dashboard/dashboard-popups}/dashboard-popup.service.d.ts +5 -4
- package/common/lib/features/home-dashboard/setrting.keys.d.ts +3 -0
- package/common/lib/features/{widget-wrapper → home-dashboard/widget-wrapper}/dashboard-widget-wrapper.d.ts +2 -1
- package/common/lib/menu.provider.d.ts +1 -1
- package/conversation/lib/entities/chat/pages/chat/chat.component.d.ts +1 -1
- package/conversation/lib/entities/comments/comments.service.d.ts +4 -4
- package/conversation/lib/entities/comments/comments.type.d.ts +1 -1
- package/document-management/lib/badge.provider.d.ts +11 -0
- package/document-management/lib/entities/document/document.service.d.ts +1 -1
- package/document-management/lib/entities/document/document.types.d.ts +2 -0
- package/document-management/lib/entities/document-type/document-type.service.d.ts +3 -3
- package/document-management/lib/entities/folder/folder.service.d.ts +2 -7
- package/document-management/lib/entities/folder/folder.types.d.ts +2 -1
- package/document-management/lib/features/document-explorer/components/create-folder-dialog/create-folder-dialog.component.d.ts +9 -0
- package/document-management/lib/features/document-explorer/document-explorer.component.d.ts +20 -8
- package/document-management/lib/features/document-explorer/document-explorer.viewmodel.d.ts +10 -6
- package/document-management/lib/features/document-explorer/views/detail-panel/detail-panel.component.d.ts +40 -36
- package/document-management/lib/features/document-explorer/views/details/details-view.component.d.ts +40 -36
- package/document-management/lib/features/document-explorer/views/large-icons/large-icons-view.component.d.ts +40 -36
- package/document-management/lib/features/document-explorer/views/large-tiles/large-tiles-view.component.d.ts +40 -36
- package/document-management/lib/features/document-explorer/views/list/list-view.component.d.ts +40 -36
- package/document-management/lib/features/document-explorer/views/small-icons/small-icons-view.component.d.ts +40 -36
- package/document-management/lib/features/document-explorer/views/small-tiles/small-tiles-view.component.d.ts +40 -36
- package/document-management/lib/features/drive/drive.component.d.ts +15 -9
- package/document-management/lib/features/drive/index.d.ts +3 -0
- package/document-management/lib/features/drive-choose/drive-choose.component.d.ts +16 -8
- package/document-management/lib/features/shared/components/document-type-choose-file/document-type-choose-file.component.d.ts +16 -0
- package/document-management/lib/features/shared/components/file-viewer-popup/file-viewer-popup.component.d.ts +5 -1
- package/document-management/lib/features/shared/components/folder-path-breadcrumbs/folder-path-breadcrumbs.component.d.ts +10 -6
- package/document-management/lib/features/shared/components/index.d.ts +1 -0
- package/document-management/lib/features/shared/components/link-dialog/link-dialog.component.d.ts +24 -0
- package/document-management/lib/features/shared/components/lock-dialog/lock-dialog.component.d.ts +16 -0
- package/document-management/lib/features/shared/components/share-dialog/share-dialog.component.d.ts +22 -0
- package/document-management/lib/features/shared/components/share-email-dialog/share-email-dialog.component.d.ts +17 -0
- package/document-management/lib/features/shared/components/unlock-dialog/unlock-dialog.component.d.ts +10 -0
- package/document-management/lib/features/shared/document-manager.service.d.ts +45 -22
- package/document-management/lib/features/shared/document-manager.types.d.ts +5 -7
- package/document-management/lib/features/widgets/document-attachment/document-attachment-widget-column.component.d.ts +1 -1
- package/document-management/lib/features/widgets/document-attachment/document-attachment-widget-edit.component.d.ts +66 -44
- package/document-management/lib/features/widgets/document-attachment/document-attachment-widget-print.component.d.ts +1 -1
- package/document-management/lib/features/widgets/document-attachment/document-attachment-widget-view.component.d.ts +1 -1
- package/document-management/lib/features/widgets/document-attachment/index.d.ts +0 -1
- package/fesm2022/acorex-modules-application-management.mjs +0 -1
- package/fesm2022/acorex-modules-application-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-auth-acorex-modules-auth-DrcL7GCj.mjs → acorex-modules-auth-acorex-modules-auth-5o4GqqVA.mjs} +15 -19
- package/fesm2022/acorex-modules-auth-acorex-modules-auth-5o4GqqVA.mjs.map +1 -0
- package/fesm2022/{acorex-modules-auth-app-chooser.component-CbJb1P_k.mjs → acorex-modules-auth-app-chooser.component-NuQzP5DC.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-app-chooser.component-CbJb1P_k.mjs.map → acorex-modules-auth-app-chooser.component-NuQzP5DC.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-login.module-DFCB1l7W.mjs → acorex-modules-auth-login.module-B_WrZQJx.mjs} +4 -4
- package/fesm2022/{acorex-modules-auth-login.module-DFCB1l7W.mjs.map → acorex-modules-auth-login.module-B_WrZQJx.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-master.layout-CuKXvY0o.mjs → acorex-modules-auth-master.layout-hDbrFbwO.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-master.layout-CuKXvY0o.mjs.map → acorex-modules-auth-master.layout-hDbrFbwO.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-password.component-DacOjakT.mjs → acorex-modules-auth-password.component-BnT_IaqN.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-password.component-DacOjakT.mjs.map → acorex-modules-auth-password.component-BnT_IaqN.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-password.component-5gwz30CZ.mjs → acorex-modules-auth-password.component-DDE0M5GE.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-password.component-5gwz30CZ.mjs.map → acorex-modules-auth-password.component-DDE0M5GE.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-routes-D018Lg-b.mjs → acorex-modules-auth-routes-Da02kID6.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-routes-D018Lg-b.mjs.map → acorex-modules-auth-routes-Da02kID6.mjs.map} +1 -1
- package/fesm2022/acorex-modules-auth-setting.provider-D3A0WUgJ.mjs +271 -0
- package/fesm2022/acorex-modules-auth-setting.provider-D3A0WUgJ.mjs.map +1 -0
- package/fesm2022/{acorex-modules-auth-two-factor.module-DiEB7VWl.mjs → acorex-modules-auth-two-factor.module-BrDpX4X1.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-two-factor.module-DiEB7VWl.mjs.map → acorex-modules-auth-two-factor.module-BrDpX4X1.mjs.map} +1 -1
- package/fesm2022/acorex-modules-auth.mjs +1 -1
- package/fesm2022/acorex-modules-common-index-rvP9ISgL.mjs +717 -0
- package/fesm2022/acorex-modules-common-index-rvP9ISgL.mjs.map +1 -0
- package/fesm2022/acorex-modules-common.mjs +34 -24
- package/fesm2022/acorex-modules-common.mjs.map +1 -1
- package/fesm2022/acorex-modules-conversation.mjs +4 -2
- package/fesm2022/acorex-modules-conversation.mjs.map +1 -1
- package/fesm2022/{acorex-modules-document-management-acorex-modules-document-management-_BOVaDOq.mjs → acorex-modules-document-management-acorex-modules-document-management-C36haVZ_.mjs} +1054 -266
- package/fesm2022/acorex-modules-document-management-acorex-modules-document-management-C36haVZ_.mjs.map +1 -0
- package/fesm2022/acorex-modules-document-management-create-folder-dialog.component-C9YP1aFi.mjs +135 -0
- package/fesm2022/acorex-modules-document-management-create-folder-dialog.component-C9YP1aFi.mjs.map +1 -0
- package/fesm2022/{acorex-modules-document-management-details-view.component-BHcu_gYH.mjs → acorex-modules-document-management-details-view.component-BFMgAxeK.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-details-view.component-BHcu_gYH.mjs.map → acorex-modules-document-management-details-view.component-BFMgAxeK.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-drive-choose.component-WoZfDyLK.mjs → acorex-modules-document-management-drive-choose.component-Bo-I7TN5.mjs} +22 -16
- package/fesm2022/acorex-modules-document-management-drive-choose.component-Bo-I7TN5.mjs.map +1 -0
- package/fesm2022/{acorex-modules-document-management-large-icons-view.component-DvriE0YR.mjs → acorex-modules-document-management-large-icons-view.component-CZ-GUtnO.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-large-icons-view.component-DvriE0YR.mjs.map → acorex-modules-document-management-large-icons-view.component-CZ-GUtnO.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-large-tiles-view.component-ByWrKvZe.mjs → acorex-modules-document-management-large-tiles-view.component-Cw5yZ851.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-large-tiles-view.component-ByWrKvZe.mjs.map → acorex-modules-document-management-large-tiles-view.component-Cw5yZ851.mjs.map} +1 -1
- package/fesm2022/acorex-modules-document-management-link-dialog.component-1iPUnhr1.mjs +70 -0
- package/fesm2022/acorex-modules-document-management-link-dialog.component-1iPUnhr1.mjs.map +1 -0
- package/fesm2022/{acorex-modules-document-management-list-view.component-B6J6Tokv.mjs → acorex-modules-document-management-list-view.component-BPkaAGjR.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-list-view.component-B6J6Tokv.mjs.map → acorex-modules-document-management-list-view.component-BPkaAGjR.mjs.map} +1 -1
- package/fesm2022/acorex-modules-document-management-lock-dialog.component-BwKdUUcf.mjs +52 -0
- package/fesm2022/acorex-modules-document-management-lock-dialog.component-BwKdUUcf.mjs.map +1 -0
- package/fesm2022/{acorex-modules-document-management-rename-node-dialog.component-Dae6RWb8.mjs → acorex-modules-document-management-rename-node-dialog.component-DEhPxW3b.mjs} +10 -10
- package/fesm2022/acorex-modules-document-management-rename-node-dialog.component-DEhPxW3b.mjs.map +1 -0
- package/fesm2022/acorex-modules-document-management-share-dialog.component-BiNdRpqs.mjs +143 -0
- package/fesm2022/acorex-modules-document-management-share-dialog.component-BiNdRpqs.mjs.map +1 -0
- package/fesm2022/acorex-modules-document-management-share-email-dialog.component-BvR5OuCV.mjs +55 -0
- package/fesm2022/acorex-modules-document-management-share-email-dialog.component-BvR5OuCV.mjs.map +1 -0
- package/fesm2022/{acorex-modules-document-management-small-icons-view.component-TrYeB22e.mjs → acorex-modules-document-management-small-icons-view.component-Cz-sHFPj.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-small-icons-view.component-TrYeB22e.mjs.map → acorex-modules-document-management-small-icons-view.component-Cz-sHFPj.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-small-tiles-view.component-DDKdWg8I.mjs → acorex-modules-document-management-small-tiles-view.component-C_SlJ79h.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-small-tiles-view.component-DDKdWg8I.mjs.map → acorex-modules-document-management-small-tiles-view.component-C_SlJ79h.mjs.map} +1 -1
- package/fesm2022/acorex-modules-document-management-unlock-dialog.component-DkZQ84kg.mjs +37 -0
- package/fesm2022/acorex-modules-document-management-unlock-dialog.component-DkZQ84kg.mjs.map +1 -0
- package/fesm2022/acorex-modules-document-management.mjs +1 -1
- package/fesm2022/{acorex-modules-form-template-management-acorex-modules-form-template-management-CJYrDtq6.mjs → acorex-modules-form-template-management-acorex-modules-form-template-management-C3bCqH0S.mjs} +30 -24
- package/fesm2022/acorex-modules-form-template-management-acorex-modules-form-template-management-C3bCqH0S.mjs.map +1 -0
- package/fesm2022/{acorex-modules-form-template-management-category.entity-BdiYytzK.mjs → acorex-modules-form-template-management-category.entity-B8FoSfDd.mjs} +7 -3
- package/fesm2022/acorex-modules-form-template-management-category.entity-B8FoSfDd.mjs.map +1 -0
- package/fesm2022/{acorex-modules-form-template-management-setting.provider-CoETMkEC.mjs → acorex-modules-form-template-management-setting.provider-2gDLkJ82.mjs} +20 -17
- package/fesm2022/acorex-modules-form-template-management-setting.provider-2gDLkJ82.mjs.map +1 -0
- package/fesm2022/{acorex-modules-form-template-management-template-picker.component-0JfGxdMv.mjs → acorex-modules-form-template-management-template-picker.component-M-R2U9CH.mjs} +5 -4
- package/fesm2022/acorex-modules-form-template-management-template-picker.component-M-R2U9CH.mjs.map +1 -0
- package/fesm2022/{acorex-modules-form-template-management-template-widget-edit.component-BkJ3ieIg.mjs → acorex-modules-form-template-management-template-widget-edit.component-CGLJ_4tB.mjs} +2 -2
- package/fesm2022/{acorex-modules-form-template-management-template-widget-edit.component-BkJ3ieIg.mjs.map → acorex-modules-form-template-management-template-widget-edit.component-CGLJ_4tB.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-form-template-management-template.entity-ByE2p0Mu.mjs → acorex-modules-form-template-management-template.entity-Cm57FCm7.mjs} +53 -33
- package/fesm2022/acorex-modules-form-template-management-template.entity-Cm57FCm7.mjs.map +1 -0
- package/fesm2022/{acorex-modules-form-template-management-viewer-popup.component-CThcXWpt.mjs → acorex-modules-form-template-management-viewer-popup.component-C8QVMY0f.mjs} +2 -2
- package/fesm2022/{acorex-modules-form-template-management-viewer-popup.component-CThcXWpt.mjs.map → acorex-modules-form-template-management-viewer-popup.component-C8QVMY0f.mjs.map} +1 -1
- package/fesm2022/acorex-modules-form-template-management.mjs +1 -1
- package/fesm2022/acorex-modules-notification-management.mjs +43 -35
- package/fesm2022/acorex-modules-notification-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-organization-management-org-chart-configuration.page-JKQwYEPq.mjs → acorex-modules-organization-management-org-chart-configuration.page-BFu7TUGC.mjs} +3 -3
- package/fesm2022/{acorex-modules-organization-management-org-chart-configuration.page-JKQwYEPq.mjs.map → acorex-modules-organization-management-org-chart-configuration.page-BFu7TUGC.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-org-chart-configuration.service-QLdDEdqL.mjs → acorex-modules-organization-management-org-chart-configuration.service-B4ohp4o5.mjs} +5 -4
- package/fesm2022/acorex-modules-organization-management-org-chart-configuration.service-B4ohp4o5.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-org-chart.page-C2ZtUVKI.mjs → acorex-modules-organization-management-org-chart.page-BIytyLYP.mjs} +3 -4
- package/fesm2022/acorex-modules-organization-management-org-chart.page-BIytyLYP.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-setting.provider-CMDpwkG2.mjs → acorex-modules-organization-management-setting.provider-BPjFNA5E.mjs} +44 -23
- package/fesm2022/acorex-modules-organization-management-setting.provider-BPjFNA5E.mjs.map +1 -0
- package/fesm2022/acorex-modules-organization-management.mjs +6 -6
- package/fesm2022/acorex-modules-organization-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-platform-management-acorex-modules-platform-management-C-vMSeD0.mjs +4746 -0
- package/fesm2022/acorex-modules-platform-management-acorex-modules-platform-management-C-vMSeD0.mjs.map +1 -0
- package/fesm2022/{acorex-modules-platform-management-list-version.component-C9764yzu.mjs → acorex-modules-platform-management-list-version.component-EHtlPye1.mjs} +2 -2
- package/fesm2022/acorex-modules-platform-management-list-version.component-EHtlPye1.mjs.map +1 -0
- package/fesm2022/acorex-modules-platform-management-setting.provider-Bbd_enhk.mjs +335 -0
- package/fesm2022/acorex-modules-platform-management-setting.provider-Bbd_enhk.mjs.map +1 -0
- package/fesm2022/acorex-modules-platform-management.mjs +1 -4866
- package/fesm2022/acorex-modules-platform-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-security-management.mjs +18 -12
- package/fesm2022/acorex-modules-security-management.mjs.map +1 -1
- package/form-template-management/lib/entities/category/category.service.d.ts +2 -2
- package/form-template-management/lib/entities/category/category.types.d.ts +2 -1
- package/form-template-management/lib/entities/template/template.service.d.ts +2 -2
- package/form-template-management/lib/entities/template/template.types.d.ts +38 -5
- package/form-template-management/lib/features/designer/template.provider.d.ts +1 -1
- package/form-template-management/lib/features/designer/widgets/template-picker/template.provider.d.ts +3 -3
- package/form-template-management/lib/setting.provider.d.ts +4 -0
- package/notification-management/lib/{components → features/components}/admin-notification-item/admin-notification-item.component.d.ts +1 -1
- package/notification-management/lib/{components → features/components}/admin-notification-panel/admin-notification-panel.component.d.ts +1 -1
- package/notification-management/lib/setting.provider.d.ts +4 -0
- package/organization-management/lib/features/organization-chart/org-chart-configuration.page.d.ts +2 -2
- package/organization-management/lib/features/organization-chart/org-chart.page.d.ts +2 -2
- package/organization-management/lib/setting.provider.d.ts +5 -3
- package/package.json +1 -1
- package/platform-management/index.d.ts +1 -1
- package/platform-management/lib/entities/app-term/index.d.ts +2 -2
- package/platform-management/lib/entities/app-version/index.d.ts +2 -2
- package/platform-management/lib/entities/index.d.ts +0 -1
- package/platform-management/lib/entities/promotion/index.d.ts +1 -1
- package/platform-management/lib/features/app-terms/check-terms.service.d.ts +11 -0
- package/platform-management/lib/{entities/app-term → features/app-terms}/components/notify-app/notify-app.component.d.ts +1 -1
- package/platform-management/lib/{entities/app-term → features/app-terms}/pages/list/list-terms.component.d.ts +2 -2
- package/platform-management/lib/{entities/check-version.d.ts → features/app-version/check-version.service.d.ts} +3 -4
- package/platform-management/lib/{entities → features}/app-version/components/list-versions/list-version.component.d.ts +1 -1
- package/platform-management/lib/{entities → features}/app-version/components/notify-app/notify-app.component.d.ts +1 -1
- package/platform-management/lib/{common → features/common}/index.d.ts +1 -1
- package/platform-management/lib/{common → features/common}/regional/setting.keys.d.ts +3 -1
- package/platform-management/lib/{common → features/common}/regional/setting.provider.d.ts +4 -1
- package/platform-management/lib/{entities → features}/promotion/components/promotion-slot/promotion-slot.component.d.ts +2 -2
- package/platform-management/lib/platform-management.module.d.ts +4 -3
- package/security-management/lib/entities/users/users.service.d.ts +4 -4
- package/security-management/lib/entities/users/users.types.d.ts +0 -4
- package/common/lib/features/dashboard-home/index.d.ts +0 -1
- package/document-management/lib/features/widgets/document-attachment/document-attachment-widget-filter.component.d.ts +0 -6
- package/fesm2022/acorex-modules-auth-acorex-modules-auth-DrcL7GCj.mjs.map +0 -1
- package/fesm2022/acorex-modules-auth-setting.provider-DDl3OHw6.mjs +0 -59
- package/fesm2022/acorex-modules-auth-setting.provider-DDl3OHw6.mjs.map +0 -1
- package/fesm2022/acorex-modules-common-index-D90SN6SH.mjs +0 -507
- package/fesm2022/acorex-modules-common-index-D90SN6SH.mjs.map +0 -1
- package/fesm2022/acorex-modules-document-management-acorex-modules-document-management-_BOVaDOq.mjs.map +0 -1
- package/fesm2022/acorex-modules-document-management-create-folder-dialog.component-D66KoQNb.mjs +0 -92
- package/fesm2022/acorex-modules-document-management-create-folder-dialog.component-D66KoQNb.mjs.map +0 -1
- package/fesm2022/acorex-modules-document-management-drive-choose.component-WoZfDyLK.mjs.map +0 -1
- package/fesm2022/acorex-modules-document-management-drive.component-B3BCzdVv.mjs +0 -305
- package/fesm2022/acorex-modules-document-management-drive.component-B3BCzdVv.mjs.map +0 -1
- package/fesm2022/acorex-modules-document-management-rename-node-dialog.component-Dae6RWb8.mjs.map +0 -1
- package/fesm2022/acorex-modules-form-template-management-acorex-modules-form-template-management-CJYrDtq6.mjs.map +0 -1
- package/fesm2022/acorex-modules-form-template-management-category.entity-BdiYytzK.mjs.map +0 -1
- package/fesm2022/acorex-modules-form-template-management-setting.provider-CoETMkEC.mjs.map +0 -1
- package/fesm2022/acorex-modules-form-template-management-template-picker.component-0JfGxdMv.mjs.map +0 -1
- package/fesm2022/acorex-modules-form-template-management-template.entity-ByE2p0Mu.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-org-chart-configuration.service-QLdDEdqL.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-org-chart.page-C2ZtUVKI.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-setting.provider-CMDpwkG2.mjs.map +0 -1
- package/fesm2022/acorex-modules-platform-management-list-version.component-C9764yzu.mjs.map +0 -1
- /package/common/lib/features/{dashboard-home/dashboard.type.d.ts → home-dashboard/dashboard-home/home-dashboard.type.d.ts} +0 -0
- /package/notification-management/lib/{components → features/components}/admin-notification-slot/admin-notification-slot.component.d.ts +0 -0
- /package/platform-management/lib/{entities/app-term → features/app-terms}/pages/index.d.ts +0 -0
- /package/platform-management/lib/{entities/app-term → features/app-terms}/workflows/index.d.ts +0 -0
- /package/platform-management/lib/{entities/app-term → features/app-terms}/workflows/notify-new-term.workflow.d.ts +0 -0
- /package/platform-management/lib/{entities → features}/app-version/components/index.d.ts +0 -0
- /package/platform-management/lib/{entities → features}/app-version/components/slots/app-version-slot.component.d.ts +0 -0
- /package/platform-management/lib/{entities → features}/app-version/workflows/change-log.workflow.d.ts +0 -0
- /package/platform-management/lib/{entities → features}/app-version/workflows/index.d.ts +0 -0
- /package/platform-management/lib/{entities → features}/app-version/workflows/show-release-notes.workflow.d.ts +0 -0
- /package/platform-management/lib/{common → features/common}/common.module.d.ts +0 -0
- /package/platform-management/lib/{common → features/common}/entity.provider.d.ts +0 -0
- /package/platform-management/lib/{common → features/common}/regional/data-source.provider.d.ts +0 -0
- /package/platform-management/lib/{common → features/common}/regional/index.d.ts +0 -0
- /package/platform-management/lib/{common → features/common}/regional/language-slot/language-slot.component.d.ts +0 -0
- /package/platform-management/lib/{common → features/common}/regional/regional-store.service.d.ts +0 -0
- /package/platform-management/lib/{entities → features}/promotion/components/index.d.ts +0 -0
package/fesm2022/acorex-modules-document-management-rename-node-dialog.component-Dae6RWb8.mjs.map
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"acorex-modules-document-management-rename-node-dialog.component-Dae6RWb8.mjs","sources":["../../../../libs/modules/document-management/src/lib/features/document-explorer/components/rename-node-dialog/rename-node-dialog.component.ts","../../../../libs/modules/document-management/src/lib/features/document-explorer/components/rename-node-dialog/rename-node-dialog.component.html"],"sourcesContent":["import { AXButtonModule } from '@acorex/components/button';\nimport { AXColorBoxModule } from '@acorex/components/color-box';\nimport { AXAutoFocusDirective } from '@acorex/components/common';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXFormComponent, AXFormModule } from '@acorex/components/form';\nimport { AXLabelModule } from '@acorex/components/label';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXBasePageComponent } from '@acorex/components/page';\nimport { AXTextBoxModule } from '@acorex/components/text-box';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { CommonModule } from '@angular/common';\nimport { Component, inject, model } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXMDocumentManagerService } from '../../../shared/document-manager.service';\nimport { AXMDocumentExplorerNode } from '../../../shared/document-manager.types';\n@Component({\n selector: 'ax-rename-node-dialog',\n standalone: true,\n imports: [\n CommonModule,\n FormsModule,\n //\n AXDecoratorModule,\n AXTextBoxModule,\n AXLabelModule,\n AXButtonModule,\n AXFormModule,\n AXColorBoxModule,\n AXTranslationModule,\n AXLoadingModule,\n AXAutoFocusDirective,\n ],\n templateUrl: './rename-node-dialog.component.html',\n})\nexport class AXMRenameNodeDialog extends AXBasePageComponent {\n private driveService = inject(AXMDocumentManagerService);\n\n node: AXMDocumentExplorerNode;\n\n protected name = model<string>('');\n\n protected override ngOnInit(): void {\n super.ngOnInit();\n this.name.set(this.node.name);\n }\n\n async handleSubmitButton(form: AXFormComponent) {\n this.isLoading = true;\n const validated = await form.validate();\n if (validated.result) {\n try {\n debugger;\n if (this.node.type == 'folder') {\n const folder = await this.driveService.updateFolder(this.node.id, {\n name: this.name(),\n });\n this.close({\n result: true,\n folder,\n });\n } else {\n const file = await this.driveService.updateFile(this.node.id, {\n name: this.name(),\n });\n this.close({\n result: true,\n file,\n });\n }\n } catch (error) {\n console.error('Error updating node:', error);\n } finally {\n this.isLoading = false;\n }\n } else {\n this.isLoading = false;\n }\n }\n\n onCancel() {\n this.close({\n result: false,\n });\n }\n}\n","<div class=\"ax-p-4\">\n <ax-form #form>\n <div class=\"ax-flex ax-flex-col ax-gap-4\">\n <ax-form-field>\n <ax-label>\n {{ 'name' | translate | async }}\n </ax-label>\n <ax-text-box [(ngModel)]=\"name\" class=\"ax-input ax-w-full\" [axAutoFocus]=\"true\">\n <ax-validation-rule rule=\"required\"></ax-validation-rule>\n </ax-text-box>\n </ax-form-field>\n <div class=\"ax-flex ax-justify-end ax-gap-2\"></div>\n </div>\n </ax-form>\n</div>\n<ax-footer>\n <ax-suffix>\n <ax-button (onClick)=\"onCancel()\" [text]=\"'cancel' | translate | async\"></ax-button>\n <ax-button look=\"solid\" color=\"primary\" (onClick)=\"handleSubmitButton(form)\" [text]=\"'save' | translate | async\">\n @if(isLoading) {\n <ax-loading> </ax-loading>\n }\n </ax-button>\n </ax-suffix>\n</ax-footer>"],"names":["i6","i8"],"mappings":"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"}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"acorex-modules-form-template-management-acorex-modules-form-template-management-CJYrDtq6.mjs","sources":["../../../../libs/modules/form-template-management/src/lib/const.ts","../../../../libs/modules/form-template-management/src/lib/entities/category/category.service.ts","../../../../libs/modules/form-template-management/src/lib/entities/category/category.module.ts","../../../../libs/modules/form-template-management/src/lib/entities/template/template.service.ts","../../../../libs/modules/form-template-management/src/lib/entities/template/template.module.ts","../../../../libs/modules/form-template-management/src/lib/entities/template/template.types.ts","../../../../libs/modules/form-template-management/src/lib/entity.provider.ts","../../../../libs/modules/form-template-management/src/lib/menu.provider.ts","../../../../libs/modules/form-template-management/src/lib/permission.provider.ts","../../../../libs/modules/form-template-management/src/lib/search-command.provider.ts","../../../../libs/modules/form-template-management/src/lib/features/designer/template.provider.ts","../../../../libs/modules/form-template-management/src/lib/features/designer/designer-connector.service.ts","../../../../libs/modules/form-template-management/src/lib/features/designer/workflows/create-template.workflow.ts","../../../../libs/modules/form-template-management/src/lib/features/designer/workflows/design-template.workflow.ts","../../../../libs/modules/form-template-management/src/lib/features/designer/widgets/template-picker/template.provider.ts","../../../../libs/modules/form-template-management/src/lib/features/designer/widgets/template/template-widget-view.component.ts","../../../../libs/modules/form-template-management/src/lib/features/designer/widgets/template/template-widget-designer.component.ts","../../../../libs/modules/form-template-management/src/lib/features/designer/widgets/template/template-widget.config.ts","../../../../libs/modules/form-template-management/src/lib/features/designer/widgets/template-designer/template-designer-widget-view.component.ts","../../../../libs/modules/form-template-management/src/lib/features/designer/widgets/template-designer/template-designer-widget.config.ts","../../../../libs/modules/form-template-management/src/lib/features/viewer/workflows/open-template.workflow.ts","../../../../libs/modules/form-template-management/src/lib/features/viewer/viewer-connector.service.ts","../../../../libs/modules/form-template-management/src/lib/features/designer/workflows/workflow.actions.ts","../../../../libs/modules/form-template-management/src/lib/form-template-management.module.ts","../../../../libs/modules/form-template-management/src/acorex-modules-form-template-management.ts"],"sourcesContent":["const config = {\n i18n: 'form-template-management',\n};\nexport const RootConfig = {\n config,\n module: {\n route: 'form-template-management',\n name: 'FormTemplateManagement',\n title: `t('module-name', {scope:\"${config.i18n}\"})`,\n icon: 'fa-light fa-file-invoice'\n },\n entities: {\n category: {\n name: 'Category',\n title: 't(\"category\", { scope: \"common\" })',\n icon: 'fa-light fa-list'\n },\n template: {\n name: 'Template',\n title: `t(\"template\",{scope:\"${config.i18n}\"})`,\n icon: 'fa-light fa-file-code'\n }\n },\n};\n","import { AXMEntityCrudServiceImpl } from '@acorex/platform/layout/entity';\nimport { Injectable } from '@angular/core';\nimport { RootConfig } from '../../const';\nimport { AXMFormTemplateManagementCategoryEntityModel } from './category.types';\n\nexport abstract class AXMFormTemplateManagementCategoryEntityService extends AXMEntityCrudServiceImpl<\n string,\n AXMFormTemplateManagementCategoryEntityModel\n> {}\n\n@Injectable()\nexport class AXMFormTemplateManagementCategoryEntityServiceImpl extends AXMFormTemplateManagementCategoryEntityService {\n constructor() {\n super(`${RootConfig.module.name}.${RootConfig.entities.category.name}`);\n }\n}\n","import { NgModule } from \"@angular/core\";\nimport { AXMFormTemplateManagementCategoryEntityService, AXMFormTemplateManagementCategoryEntityServiceImpl } from './category.service';\n\n@NgModule({\nimports: [],\nexports: [],\ndeclarations: [],\n providers: [\n {\n provide: AXMFormTemplateManagementCategoryEntityService,\n useClass: AXMFormTemplateManagementCategoryEntityServiceImpl,\n },\n ],\n})\nexport class AXMFormTemplateManagementCategoryEntityModule {\n}\n ","import { AXMEntityCrudServiceImpl } from '@acorex/platform/layout/entity';\nimport { Injectable } from '@angular/core';\nimport { RootConfig } from '../../const';\nimport { AXMFormTemplateManagementTemplateEntityModel } from './template.types';\n\nexport abstract class AXMFormTemplateManagementTemplateEntityService extends AXMEntityCrudServiceImpl<\n string,\n AXMFormTemplateManagementTemplateEntityModel\n> {}\n\n@Injectable()\nexport class AXMFormTemplateManagementTemplateEntityServiceImpl extends AXMFormTemplateManagementTemplateEntityService {\n constructor() {\n super(`${RootConfig.module.name}.${RootConfig.entities.template.name}`);\n }\n}\n","import { NgModule } from \"@angular/core\";\nimport { AXMFormTemplateManagementTemplateEntityService, AXMFormTemplateManagementTemplateEntityServiceImpl } from './template.service';\n\n@NgModule({\nimports: [],\nexports: [],\ndeclarations: [],\n providers: [\n {\n provide: AXMFormTemplateManagementTemplateEntityService,\n useClass: AXMFormTemplateManagementTemplateEntityServiceImpl,\n },\n ],\n})\nexport class AXMFormTemplateManagementTemplateEntityModule {\n}\n ","import { AXPEntityModel } from '@acorex/platform/layout/entity';\n\nexport interface AXMFormTemplateManagementTemplateEntityModel extends AXPEntityModel<string> {\n name: string;\n title: string;\n template: string;\n description?: string;\n type: number;\n categoryId: string;\n}\n\nexport const AXMFormTemplateTypes = {\n Form: { id: 10, title: 'Form Template' },\n Widget: { id: 20, title: 'Widget Template' },\n};\n","import { AXPEntity } from '@acorex/platform/common';\nimport {\n AXPEntityDefinitionLoader,\n AXPEntityDefinitionPreloader,\n AXPEntityPreloadEntity,\n} from '@acorex/platform/layout/entity';\nimport { Injectable, Injector, inject } from '@angular/core';\nimport { RootConfig } from './const';\n\n@Injectable()\nexport class AXMEntityProvider implements AXPEntityDefinitionLoader, AXPEntityDefinitionPreloader {\n public preload(): AXPEntityPreloadEntity[] {\n const module = RootConfig.module.name;\n return Array.from(Object.values(RootConfig.entities)).map((entity: any) => ({\n module: module,\n entity: entity.name,\n }));\n }\n\n private injector = inject(Injector);\n\n async get(moduleName: string, entityName: string): Promise<AXPEntity | null> {\n if (moduleName == RootConfig.module.name) {\n switch (entityName) {\n case RootConfig.entities.category.name:\n return (await import('./entities/category/category.entity')).factory(this.injector);\n case RootConfig.entities.template.name:\n return (await import('./entities/template/template.entity')).factory(this.injector);\n }\n }\n return null;\n }\n}\n","import { AXPMenuProvider, AXPMenuProviderContext } from '@acorex/platform/common';\nimport { AXPEntityService } from '@acorex/platform/layout/entity';\nimport { inject } from '@angular/core';\nimport { RootConfig } from './const';\nimport { firstValueFrom } from 'rxjs';\nimport { AXPSessionService } from '@acorex/platform/auth';\n\nexport class AXMMenuProvider implements AXPMenuProvider {\n private entityService = inject(AXPEntityService);\n private sessionService = inject(AXPSessionService);\n\n async provide(context: AXPMenuProviderContext): Promise<void> {\n const isAuthorized = await firstValueFrom(this.sessionService.isAuthorized$);\n if (!isAuthorized) {\n return;\n }\n //\n\n const scope = RootConfig.config.i18n;\n const module = RootConfig.module;\n\n context.addItems([\n {\n priority: 9001,\n text: `t('root-menu', {scope:\"${scope}\"})`,\n icon: module.icon,\n data: {\n requiredPermission: ['forms:management']\n },\n children: [\n {\n text: `t(\"categories\", {scope: \"${scope}\"})`,\n path: this.entityService.createPath(module.name, RootConfig.entities.category.name),\n icon: RootConfig.entities.category.icon,\n priority: 1,\n data: {\n requiredPermission: ['forms:categories:edit']\n },\n },\n {\n text: `t('templates', {scope:\"${scope}\"})`,\n path: this.entityService.createPath(module.name, RootConfig.entities.template.name),\n icon: RootConfig.entities.template.icon,\n priority: 2,\n data: {\n requiredPermission: ['forms:templates:edit']\n },\n },\n ],\n },\n ]);\n }\n}\n","import { AXPPermissionProvider, AXPPermissionProviderContext } from '@acorex/platform/auth';\n\nexport class AXMPermissionProvider implements AXPPermissionProvider {\n async provide(context: AXPPermissionProviderContext): Promise<void> {\n context.addPermissions([\n {\n name: 'forms:management',\n title: 'Permission to manage templates',\n isArchived: false,\n },\n {\n name: 'forms:templates:view',\n title: 'Permission to view templates',\n isArchived: false,\n },\n {\n name: 'forms:templates:edit',\n title: 'Permission to edit templates',\n isArchived: false,\n },\n {\n name: 'forms:categories:edit',\n title: 'Permission to edit templates categories',\n isArchived: false,\n },\n ]);\n }\n}\n","import { AXPSearchCommandProvider, AXPSearchResult } from '@acorex/platform/common';\nimport { RootConfig } from './const';\n\nexport class AXMSearchCommandProvider extends AXPSearchCommandProvider {\n commands: AXPSearchResult[] = [\n {\n group: 'command',\n title: 'New Form Template',\n icon: RootConfig.entities.template.icon,\n description: 'Create a new form template for designing reusable forms.', // Added description\n command: {\n // 'create-entity': {\n // entity: `${RootConfig.module.name}.${RootConfig.entities.template.name}`,\n // },\n name: 'create-entity',\n options: {\n entity: `${RootConfig.module.name}.${RootConfig.entities.template.name}`\n }\n },\n },\n {\n group: 'command',\n title: 'New Form Template Category',\n icon: RootConfig.entities.category.icon,\n description: 'Create a new category to organize form templates.', // Added description\n command: {\n // 'create-entity': {\n // entity: `${RootConfig.module.name}.${RootConfig.entities.category.name}`,\n // },\n name: 'create-entity',\n options: {\n entity: `${RootConfig.module.name}.${RootConfig.entities.template.name}`\n }\n },\n },\n ];\n}\n","import { AXPWidgetNode } from '@acorex/platform/layout/builder';\nimport { AXPQueryRequest } from '@acorex/platform/layout/entity';\nimport { inject } from '@angular/core';\nimport { get } from 'lodash-es';\nimport { AXMFormTemplateManagementTemplateEntityService } from '../../entities/template';\nimport { AXPTemplateWidgetItem, AXPTemplateWidgetListItem, AXPTemplateWidgetProvider } from './widgets/template';\n\nexport class AXPTemplateWidgetProviderImpl implements AXPTemplateWidgetProvider {\n private service = inject(AXMFormTemplateManagementTemplateEntityService);\n\n async items(query?: AXPQueryRequest): Promise<AXPTemplateWidgetListItem[]> {\n const result = (await this.service.query(query)).items.map(\n (c) =>\n ({\n id: c.id,\n title: c.title,\n group: {\n name: c.categoryId,\n order: 2,\n title: get(c, 'category.title') ?? 'Custom',\n },\n description: c.description,\n } as AXPTemplateWidgetListItem)\n );\n return result;\n }\n\n async get(id: string): Promise<AXPTemplateWidgetItem | null> {\n const item = await this.service.getOne(id);\n if (item) {\n const document = JSON.parse(item.template) as AXPWidgetNode;\n const page = document?.children?.[0];\n\n return {\n id: item.id as string,\n nodes: page?.children ?? [],\n title: item.title,\n };\n } else {\n throw Error('Invalid Id');\n }\n }\n}\n","import { AXPDesignerConnector, AXPDesignerContent } from '@acorex/platform/layout/designer';\nimport { inject, Injectable } from '@angular/core';\nimport { AXPWorkflowService } from '@acorex/platform/workflow';\nimport { AXPDataGenerator } from '@acorex/platform/common';\nimport { RootConfig } from '../../const';\nimport { AXMFormTemplateManagementCategoryEntityService } from '../../entities/category';\nimport { AXMFormTemplateManagementTemplateEntityService, AXMFormTemplateTypes } from '../../entities/template';\n@Injectable()\nexport class AXPDesignerConnectorImpl extends AXPDesignerConnector {\n\n\n private workflow = inject(AXPWorkflowService);\n private templateEntityService = inject(AXMFormTemplateManagementTemplateEntityService)\n private categoryEntityService = inject(AXMFormTemplateManagementCategoryEntityService)\n\n //#region Save and load Widgets\n\n public override async save(id: string, content: AXPDesignerContent): Promise<boolean> {\n const item = await this.templateEntityService.getOne(id)\n if (item) {\n await this.templateEntityService.updateOne(id, { template: content.json })\n return true;\n }\n else {\n throw Error(\"Invalid Id\");\n }\n }\n\n public override async saveAs(content: AXPDesignerContent): Promise<boolean> {\n const result = await this.workflow.execute('create-entity', {\n redirect: false,\n entity: `${RootConfig.module.name}.${RootConfig.entities.template.name}`,\n canCreateNewOne: false,\n data: {\n name: AXPDataGenerator.alphanumeric(10),\n type: AXMFormTemplateTypes.Widget,\n template: content.json,\n categoryId: (await this.categoryEntityService.query()).items[0]?.id\n }\n });\n return result.getOutput('result');\n }\n\n public override async load(id: string): Promise<string | null> {\n const item = await this.templateEntityService.getOne(id)\n if (item) {\n return item.template;\n }\n else {\n throw Error(\"Invalid Id\");\n }\n }\n\n //#endregion\n}\n","import { AXPWorkflow } from \"@acorex/platform/workflow\";\nimport { RootConfig } from \"../../../const\";\n\nexport const AXMCreateFormTemplateWorkflow: AXPWorkflow = {\n startStepId: 'create-form-template',\n steps: {\n \"create-form-template\": {\n action: 'start-workflow',\n input: {\n workflow: \"create-entity\",\n context: {\n redirect: true,\n entity: `${RootConfig.module.name}.${RootConfig.entities.template.name}`,\n }\n },\n nextSteps: [\n {\n conditions: [{ type: 'SINGLE', expression: 'context.getOutput(\"result\") == true' }],\n nextStepId: 'get-template-confirmaton',\n },\n ],\n },\n \"get-template-confirmaton\": {\n action: 'show-prompt-dialog',\n input: {\n title: 'Confirm Action',\n message: `Would you like to proceed with starting template design?`,\n type: 'primary',\n },\n nextSteps: [\n {\n conditions: [{ type: 'SINGLE', expression: 'context.getOutput(\"result\") == true' }],\n nextStepId: 'template-design',\n },\n ],\n },\n \"template-design\": {\n action: 'open-form-template-designer',\n },\n },\n};\n\n\n","import { AXPWorkflow } from \"@acorex/platform/workflow\";\n\nexport const AXMDesignFormTemplateWorkflow: AXPWorkflow = {\n startStepId: 'open',\n steps: {\n \"open\": {\n action: 'decide',\n nextSteps: [\n {\n conditions: [{ type: 'SINGLE', expression: ' context.getVariable(\"embedded\") == true' }],\n nextStepId: 'embedded',\n },\n {\n conditions: [{ type: 'SINGLE', expression: ' !context.getVariable(\"embedded\")' }],\n nextStepId: 'form',\n },\n ],\n },\n 'embedded': {\n action: 'open-embedded-template-designer',\n nextSteps: [\n {\n conditions: [{ type: 'SINGLE', expression: ' context.getOutput(\"result\") == true' }],\n nextStepId: 'save-embedded',\n },\n ],\n },\n 'form': {\n action: 'open-form-template-designer',\n },\n 'save-embedded': {\n action: 'save-embedded-template-designer',\n },\n },\n};\n\n\n","import { AXPopupService } from '@acorex/components/popup';\nimport { AXPWidgetGroup, AXPWidgetNode } from '@acorex/platform/layout/builder';\nimport { AXPQueryRequest } from '@acorex/platform/layout/entity';\nimport { inject, Injectable, InjectionToken } from '@angular/core';\nimport { sortBy } from 'lodash-es';\nimport { AXMFormTemplateManagementCategoryEntityService } from '../../../../entities/category';\n\nexport interface AXPTemplateWidgetListItem {\n id: string;\n title: string;\n description?: string;\n icon?: string;\n group: AXPWidgetGroup;\n}\n\nexport interface AXPTemplateWidgetItem {\n id: string;\n title: string;\n nodes: AXPWidgetNode[];\n}\n\nexport interface AXPTemplateWidgetProvider {\n items(query?: AXPQueryRequest): Promise<AXPTemplateWidgetListItem[]>;\n get(id: string): Promise<AXPTemplateWidgetItem | null>;\n}\n\nexport const AXP_TEMPLATE_WIDGET_PROVIDER = new InjectionToken<AXPTemplateWidgetProvider[]>(\n 'AXP_TEMPLATE_WIDGET_PROVIDER'\n);\n\n@Injectable({ providedIn: 'root' })\nexport class AXPTemplateWidgetProviderService implements AXPTemplateWidgetProvider {\n private popupService = inject(AXPopupService);\n\n private categoryEntityService = inject(AXMFormTemplateManagementCategoryEntityService);\n\n private providers = inject(AXP_TEMPLATE_WIDGET_PROVIDER, { optional: true });\n\n async items(query?: AXPQueryRequest): Promise<AXPTemplateWidgetListItem[]> {\n if (Array.isArray(this.providers)) {\n const result: AXPTemplateWidgetListItem[] = [];\n for (const provider of this.providers) {\n const items = await provider.items(query);\n if (items) {\n result.push(...items);\n }\n }\n return result;\n } else {\n return [];\n }\n }\n\n async get(id: string): Promise<AXPTemplateWidgetItem | null> {\n if (Array.isArray(this.providers)) {\n for (const provider of this.providers) {\n const node = await provider.get(id);\n if (node) {\n return node;\n }\n }\n }\n return null;\n }\n\n async chooseTemplate(): Promise<AXPTemplateWidgetListItem | null> {\n const com = await import('./template-picker.component').then((c) => c.AXPTemplateWidgetPickerComponent);\n const widgets = await this.items({\n skip: 0,\n take: 100,\n filter: {\n field: 'type.id',\n value: 20,\n operator: {\n type: 'equal',\n },\n },\n });\n\n const categories = (await this.categoryEntityService.query({ skip: 0, take: 100 })).items;\n const result = await this.popupService.open(com, {\n title: 'Widget Template Gallery',\n size: 'md',\n closeButton: true,\n data: {\n widgets: sortBy(widgets, (c) => c.title),\n categories,\n },\n });\n if (result.data) {\n const selected = result.data?.widgets as AXPTemplateWidgetListItem[];\n return selected[0];\n }\n return null;\n }\n}\n","import { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPLayoutBuilderModule, AXPWidgetComponent, AXPWidgetNode } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, effect, inject, signal } from '@angular/core';\nimport { get } from 'lodash-es';\nimport { AXPTemplateWidgetProviderService } from '../template-picker/template.provider';\n\n@Component({\n selector: 'axp-template-widget-view',\n template: `\n @for (node of nodes(); track $index) {\n <ng-container axp-widget-renderer\n [node]=\"node\"\n [parentNode]=\"this\"\n [mode]=\"this.mode\"\n >\n </ng-container>\n }\n @empty {\n <span class=\"ax-underline ax-decoration-dotted ax-underline-offset-8 ax-text-gray-400\">\n {{ 'empty-template' | translate : { scope: 'form-template-management' } | async }}\n </span>\n }\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXPLayoutBuilderModule, AXTranslationModule]\n})\nexport class AXPTemplateWidgetViewComponent extends AXPWidgetComponent<any> {\n private metaKey = '__meta__';\n private templateProvider = inject(AXPTemplateWidgetProviderService);\n protected templateId = computed<string>(() => this.options()['templateId'] as string);\n protected nodes = signal<AXPWidgetNode[]>([]);\n\n constructor() {\n super();\n //\n effect(\n async () => {\n this.nodes.set([]);\n const value = this.getValue();\n const templateId = get(value, `${this.metaKey}.templateId`) ?? this.templateId();\n if (templateId) {\n const item = await this.templateProvider.get(templateId);\n if (item) {\n this.nodes.set(item.nodes);\n }\n }\n }\n );\n }\n}\n","import { AXPWidgetComponent, AXPLayoutBuilderModule, AXPWidgetNode } from '@acorex/platform/layout/builder';\nimport {\n AXPDesignerAddWidgetMiniButtonComponent,\n AXPDesignerService,\n AXPDesignerWidgetComponent,\n AXPWidgetDesignerRendererDirective,\n} from '@acorex/platform/layout/designer';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, effect, HostBinding, inject, signal } from '@angular/core';\nimport { AXPTemplateWidgetProviderService } from '../template-picker/template.provider';\nimport { AXMenuItem } from '@acorex/components/menu';\n\nexport const AXP_DESIGNER_TEMPLATE_WIDGET_CHOOSE_MENU: AXMenuItem = {\n text: 'Choose Template',\n name: 'choose',\n icon: 'fa-solid fa-folder-open',\n};\n\n\n@Component({\n selector: 'axp-template-widget-designer',\n template: `\n @if(nodes().length) {\n <div class=\"ax-relative ax-block ax-w-full ax-pointer-events-none\">\n @for (node of nodes(); track $index) {\n <ng-container axp-widget-designer-renderer [locked]=\"true\" [node]=\"node\" [parentNode]=\"this\" [mode]=\"this.mode\"> </ng-container>\n }\n <div\n class=\"ax-absolute ax-top-0 ax-bottom-0 ax-left-0 ax-right-0 ax-bg-blue-400 ax-opacity-30 ax-flex ax-justify-center ax-items-center ax-z-[400]\"\n >\n <span class=\"ax-capitalize ax-font-semibold ax-text-primary-700\"> {{ title() }}</span>\n </div>\n </div>\n } @else {\n <axp-designer-add-widget-mini-button\n class=\"ax-flex-1 ax-self-center ax-place-self-end\"\n (onClick)=\"handleChooseWidget()\"\n >\n </axp-designer-add-widget-mini-button>\n }\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n CommonModule,\n AXPLayoutBuilderModule,\n AXPWidgetDesignerRendererDirective,\n AXPDesignerAddWidgetMiniButtonComponent,\n ],\n providers: [\n {\n provide: AXPTemplateWidgetDesignerComponent,\n useExisting: AXPWidgetComponent,\n },\n ]\n})\nexport class AXPTemplateWidgetDesignerComponent extends AXPWidgetComponent<any> implements AXPDesignerWidgetComponent {\n private templateProvider = inject(AXPTemplateWidgetProviderService);\n private designerService = inject(AXPDesignerService);\n\n protected templateId = computed<string>(() => this.options()['templateId'] as string);\n protected nodes = signal<AXPWidgetNode[]>([]);\n protected title = signal<string | null>(null);\n\n constructor() {\n super();\n //\n effect(\n async () => {\n this.nodes.set([]);\n if (this.templateId()) {\n const item = await this.templateProvider.get(this.templateId());\n if (item && item.nodes?.length > 0) {\n this.title.set(item.title);\n this.nodes.set(item.nodes);\n }\n }\n }\n );\n }\n\n async handleChooseWidget() {\n const result = await this.templateProvider.chooseTemplate();\n if (result) {\n this.designerService.update({\n mode: 'update',\n values: { options: { templateId: result.id } },\n widget: this.node,\n });\n }\n }\n\n @HostBinding('class')\n private get __class(): string {\n const cls: any = {};\n //\n cls[`ax-w-full`] = true;\n cls[`ax-widget-outline`] = true;\n //\n cls[`ax-block`] = true;\n return cls;\n }\n\n onContextMenu(context: { items: AXMenuItem[]; }): void {\n const items: AXMenuItem[] = [\n AXP_DESIGNER_TEMPLATE_WIDGET_CHOOSE_MENU\n ]\n items[items.length - 1].break = true;\n context.items.unshift(...items)\n }\n\n async executeCommand(command: { name: string; data?: any; handled: boolean; }): Promise<void> {\n switch (command.name) {\n case AXP_DESIGNER_TEMPLATE_WIDGET_CHOOSE_MENU.name:\n await this.handleChooseWidget();\n break;\n }\n return Promise.resolve();\n }\n}\n","import { AXP_WIDGETS_ADVANCE_GROUP, AXPWidgetConfig, AXPWidgetProperty, createStringProperty } from '@acorex/platform/layout/builder';\nimport { AXP_BEHAVIOR_PROPERTY_GROUP, AXP_DATA_PATH_PROPERTY, AXP_NAME_PROPERTY } from '@acorex/platform/widgets';\n\nexport const AXPTemplateWidget: AXPWidgetConfig<AXPBlockWidgetConfigType> = {\n name: 'template',\n title: 'Template',\n type: 'container',\n icon: 'fa-solid fa-file-invoice',\n group: AXP_WIDGETS_ADVANCE_GROUP,\n visible: true,\n options: {\n canInsert: false,\n },\n properties: [\n AXP_NAME_PROPERTY,\n AXP_DATA_PATH_PROPERTY,\n createStringProperty({\n name: 'options.templateId',\n title: 'Template',\n group: AXP_BEHAVIOR_PROPERTY_GROUP,\n visible: false,\n }),\n ],\n components: {\n view: {\n component: () => import('./template-widget-view.component').then((c) => c.AXPTemplateWidgetViewComponent),\n },\n edit: {\n component: () => import('./template-widget-edit.component').then((c) => c.AXPTemplateWidgetEditComponent),\n },\n print: {\n component: () => import('./template-widget-view.component').then((c) => c.AXPTemplateWidgetViewComponent),\n },\n designer: {\n component: () => import('./template-widget-designer.component').then((c) => c.AXPTemplateWidgetDesignerComponent),\n },\n },\n};\n\nexport type AXPBlockWidgetConfigType = {\n type: 'container';\n}\n","import { AXButtonModule } from '@acorex/components/button';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { AXPWorkflowService } from '@acorex/platform/workflow';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, inject } from '@angular/core';\n\n@Component({\n template: `\n <span\n class=\"ax-underline ax-decoration-dotted ax-underline-offset-8 hover:ax-text-primary-500 ax-cursor-pointer\"\n (click)=\"handleClick()\" *translate=\"let t\"\n >\n {{ t(\"edit-template\",{ scope:\"form-template-management\" }) | async }}\n </span>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXTranslationModule]\n})\nexport class AXPTemplateDesignerWidgetViewComponent extends AXPWidgetComponent<any> {\n \n private workflow = inject(AXPWorkflowService);\n\n protected embedded = computed<string | null>(() => this.options()['embedded'] ?? false);\n\n protected async handleClick() {\n if (this.embedded()) {\n const context = await this.workflow.execute('design-form-template', { embedded: true, content: this.getValue() });\n const content = context.getVariable('content');\n this.setValue(content);\n }\n else {\n const id = this.extractValue('id');\n const context = await this.workflow.execute('design-form-template', { id });\n }\n }\n}\n","import { AXP_WIDGETS_LAYOUT_GROUP, AXPWidgetConfig } from '@acorex/platform/layout/builder';\nimport { AXP_DATA_PATH_PROPERTY, AXP_NAME_PROPERTY } from '@acorex/platform/widgets';\n\nexport const AXPTemplateDesignerWidget: AXPWidgetConfig = {\n name: \"template-designer\",\n title: \"Template Designer\",\n icon: \"fa-solid fa-square\",\n type: 'editor',\n group: AXP_WIDGETS_LAYOUT_GROUP,\n visible: false,\n properties: [\n AXP_NAME_PROPERTY,\n AXP_DATA_PATH_PROPERTY,\n ],\n components: {\n view: {\n component: () => import('./template-designer-widget-view.component').then((c) => c.AXPTemplateDesignerWidgetViewComponent),\n },\n edit: {\n component: () => import('./template-designer-widget-view.component').then((c) => c.AXPTemplateDesignerWidgetViewComponent),\n }\n }\n}\n\ndeclare module '@acorex/platform/layout/builder' {\n interface AXPWidgetTypesMap {\n templateDesigner: 'template-designer';\n }\n}","import { AXPWorkflow, AXPWorkflowAction, AXPWorkflowContext } from \"@acorex/platform/workflow\";\nimport { inject, Injectable } from \"@angular/core\";\nimport { AXPopupService } from \"@acorex/components/popup\";\n\n\n@Injectable()\nexport class AXMOpenFormTemplateViewerAction extends AXPWorkflowAction {\n\n private popupService = inject(AXPopupService);\n\n async execute(context: AXPWorkflowContext): Promise<void> {\n const { id } = context.getVariable('data');\n const metadata = context.getVariable('metadata');\n const comp = await import('../viewer-popup.component').then(x => x.AXPFormTemplateViewerPopupComponent);\n const result = await this.popupService.open(comp, {\n title: 'Form Template Viewer',\n data: {\n templateId: id,\n metadata\n }\n })\n context.setOutput('result', result.data != null);\n if (result.data?.context) {\n context.setOutput('form-context', result.data?.context);\n }\n }\n}\n\n\nexport const AXMOpenFormTemplateViewerWorkflow: AXPWorkflow = {\n startStepId: 'open-form',\n steps: {\n \"open-form\": {\n action: 'open-form-template-viewer',\n },\n },\n};\n\n\n","import { inject, Injectable } from '@angular/core';\nimport { AXMFormTemplateManagementTemplateEntityService } from '../../entities/template';\nimport { AXPMetaData } from '@acorex/platform/core';\n\nexport abstract class AXPFormTemplateViewerConnector {\n abstract submit(id: string, context: any, metadeta?: AXPMetaData): Promise<boolean>;\n abstract load(id: string): Promise<string | null>;\n}\n\n@Injectable()\nexport class AXPFormTemplateViewerConnectorImpl extends AXPFormTemplateViewerConnector {\n private templateEntityService = inject(AXMFormTemplateManagementTemplateEntityService);\n\n //#region Save and load Widgets\n\n public override async submit(id: string, context: any, metadeta?: AXPMetaData): Promise<boolean> {\n console.log(id, context, metadeta);\n return Promise.resolve(true);\n }\n\n public override async load(id: string): Promise<string | null> {\n const item = await this.templateEntityService.getOne(id);\n if (item) {\n return item.template;\n } else {\n throw Error('Invalid Id');\n }\n }\n\n //#endregion\n}\n","import { AXToastService } from \"@acorex/components/toast\";\nimport { AXPWorkflowNavigateAction } from \"@acorex/platform/common\";\nimport { AXPBroadcastEventService, AXPDataGenerator } from \"@acorex/platform/core\";\nimport { AXPDesignerMessageKeys, AXPDesignerSaveFormMessage } from \"@acorex/platform/layout/designer\";\nimport { AXPWorkflowAction, AXPWorkflowContext } from \"@acorex/platform/workflow\";\nimport { Injectable, inject } from \"@angular/core\";\n\n@Injectable()\nexport class AXMOpenFormTemplateDesignerAction extends AXPWorkflowAction {\n\n private navigation = inject(AXPWorkflowNavigateAction);\n\n async execute(context: AXPWorkflowContext): Promise<void> {\n const id = context.getVariable('id') ?? context.getVariable('data.id') ?? AXPDataGenerator.uuid();\n context.setVariable('payload', {\n commands: `forms/designer?id=${id}`,\n target: 'blank'\n });\n await this.navigation.execute(context);\n }\n}\n\n\nInjectable()\nexport class AXMOpenEmbeddedTemplateDesignerAction extends AXPWorkflowAction {\n\n private navigation = inject(AXPWorkflowNavigateAction);\n private broadcastService = inject(AXPBroadcastEventService);\n\n async execute(context: AXPWorkflowContext): Promise<void> {\n const id = context.getVariable('id') ?? context.getVariable('data.id') ?? AXPDataGenerator.uuid();\n\n context.setVariable('payload', {\n commands: `forms/designer?id=${id}&strategy=Broadcast`,\n target: 'blank'\n });\n await this.navigation.execute(context);\n\n console.log(`Form opened for ID: ${id}. Waiting for user to close the form...`);\n\n return new Promise((resolve, reject) => {\n this.broadcastService.listen<{ formId: string }>(AXPDesignerMessageKeys.RequestFormContent).subscribe(async (event) => {\n if (event.requestId && event.data.formId == id) {\n const content: string | null = context.getVariable('content') ?? null;\n this.broadcastService.respondToRequest(event.requestId, content);\n context.setOutput(\"result\", true);\n resolve();\n } else {\n context.setOutput(\"result\", false);\n reject('No valid requestId found in the event.');\n }\n });\n\n })\n }\n}\n\nInjectable()\nexport class AXMSaveEmbeddedTemplateDesignerAction extends AXPWorkflowAction {\n private broadcastService = inject(AXPBroadcastEventService);\n\n override async execute(context: AXPWorkflowContext): Promise<void> {\n debugger\n return new Promise((resolve, reject) => {\n this.broadcastService.listen<AXPDesignerSaveFormMessage>(AXPDesignerMessageKeys.SaveForm).subscribe(async (event) => {\n debugger\n if (event.data.success) {\n this.broadcastService.respondToRequest(event.requestId!, { success: true });\n context.setVariable('content', event.data.content);\n context.setOutput('result', true)\n }\n else {\n context.setOutput('result', false)\n }\n resolve();\n });\n });\n }\n\n}","import { AXP_PERMISSION_PROVIDER } from '@acorex/platform/auth';\nimport { AXP_MENU_PROVIDER, AXP_SEARCH_PROVIDER, AXP_SETTING_DEFINITION_PROVIDER } from '@acorex/platform/common';\nimport { AXPLayoutBuilderModule } from '@acorex/platform/layout/builder';\nimport { AXPDesignerConnector } from '@acorex/platform/layout/designer';\nimport { AXP_ENTITY_DEFINITION_LOADER } from '@acorex/platform/layout/entity';\nimport { AXPWidgetsModule } from '@acorex/platform/widgets';\nimport { AXPWorkflowModule } from '@acorex/platform/workflow';\nimport { NgModule } from '@angular/core';\nimport { ROUTES, Routes } from '@angular/router';\nimport { AXMFormTemplateManagementCategoryEntityModule } from './entities/category';\nimport { AXMFormTemplateManagementTemplateEntityModule } from './entities/template';\nimport { AXMEntityProvider } from './entity.provider';\nimport { AXMMenuProvider } from './menu.provider';\nimport { AXMPermissionProvider } from './permission.provider';\n\nimport { AXMSearchCommandProvider } from './search-command.provider';\nimport { AXPTemplateWidgetProviderImpl } from './features/designer/template.provider';\nimport { AXPDesignerConnectorImpl } from './features/designer/designer-connector.service';\nimport { AXMCreateFormTemplateWorkflow, AXMDesignFormTemplateWorkflow, AXP_TEMPLATE_WIDGET_PROVIDER, AXPTemplateDesignerWidget, AXPTemplateWidget } from './features';\nimport { AXMOpenFormTemplateViewerAction, AXMOpenFormTemplateViewerWorkflow } from './features/viewer/workflows/open-template.workflow';\nimport { AXPFormTemplateViewerConnector, AXPFormTemplateViewerConnectorImpl } from './features/viewer/viewer-connector.service';\nimport { AXMOpenEmbeddedTemplateDesignerAction, AXMOpenFormTemplateDesignerAction, AXMSaveEmbeddedTemplateDesignerAction } from './features/designer/workflows/workflow.actions';\n\nfunction routesFacory() {\n const routes: Routes = [\n {\n path: 'forms',\n children: [\n {\n path: 'designer',\n loadComponent: () =>\n import('./features/designer/designer.page').then((c) => c.AXMFormTemplateManagementModuleDesignerPage),\n },\n {\n path: 'preview',\n loadComponent: () =>\n import('@acorex/platform/layout/designer').then((c) => c.AXPLayoutDesignerPreviewComponent),\n },\n {\n path: 'viewer',\n loadComponent: () =>\n import('@acorex/platform/layout/designer').then((c) => c.AXPLayoutDesignerPreviewViewerComponent),\n },\n ],\n },\n ];\n return routes;\n}\n\n@NgModule({\n imports: [\n AXPWidgetsModule,\n AXMFormTemplateManagementCategoryEntityModule,\n AXMFormTemplateManagementTemplateEntityModule,\n AXPLayoutBuilderModule.forChild({\n widgets: [AXPTemplateDesignerWidget, AXPTemplateWidget],\n }),\n AXPWorkflowModule.forChild({\n actions: {\n 'open-form-template-viewer': AXMOpenFormTemplateViewerAction,\n //\n 'open-form-template-designer': AXMOpenFormTemplateDesignerAction,\n 'open-embedded-template-designer': AXMOpenEmbeddedTemplateDesignerAction,\n //\n 'save-embedded-template-designer': AXMSaveEmbeddedTemplateDesignerAction\n },\n workflows: {\n 'create-form-template': AXMCreateFormTemplateWorkflow,\n 'design-form-template': AXMDesignFormTemplateWorkflow,\n 'open-form-template': AXMOpenFormTemplateViewerWorkflow\n },\n }),\n ],\n exports: [],\n declarations: [],\n providers: [\n {\n provide: ROUTES,\n multi: true,\n useFactory: routesFacory,\n },\n {\n provide: AXP_ENTITY_DEFINITION_LOADER,\n useClass: AXMEntityProvider,\n multi: true,\n },\n {\n provide: AXP_MENU_PROVIDER,\n useClass: AXMMenuProvider,\n multi: true,\n },\n {\n provide: AXPDesignerConnector,\n useClass: AXPDesignerConnectorImpl,\n },\n {\n provide: AXPFormTemplateViewerConnector,\n useClass: AXPFormTemplateViewerConnectorImpl,\n },\n {\n provide: AXP_TEMPLATE_WIDGET_PROVIDER,\n useClass: AXPTemplateWidgetProviderImpl,\n multi: true,\n },\n {\n provide: AXP_SETTING_DEFINITION_PROVIDER,\n useFactory: async () => {\n const provider = (await import('./setting.provider')).AXMSettingProvider;\n return new provider();\n },\n multi: true,\n },\n {\n provide: AXP_SEARCH_PROVIDER,\n useClass: AXMSearchCommandProvider,\n multi: true,\n },\n {\n provide: AXP_PERMISSION_PROVIDER,\n useClass: AXMPermissionProvider,\n multi: true,\n },\n ],\n})\nexport class AXMFormTemplateManagementModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2","AXPDataGenerator","i1"],"mappings":"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"}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"acorex-modules-form-template-management-category.entity-BdiYytzK.mjs","sources":["../../../../libs/modules/form-template-management/src/lib/entities/category/category.entity.ts"],"sourcesContent":["import { AXPEntity, AXPEntityCommandScope, AXPEntityQueryType } from '@acorex/platform/common';\nimport { AXPWidgetsCatalog } from '@acorex/platform/layout/builder';\nimport { Injector } from '@angular/core';\n\nimport { RootConfig } from '../../const';\nimport { AXMFormTemplateManagementCategoryEntityService } from './category.service';\n\nexport async function factory(injector: Injector): Promise<AXPEntity | null> {\n const dataService = injector.get(AXMFormTemplateManagementCategoryEntityService);\n const i18n = RootConfig.config.i18n;\n\n const entityDef: AXPEntity = {\n module: RootConfig.module.name,\n name: RootConfig.entities.category.name,\n parentKey: 'parentId',\n source: '',\n title: RootConfig.entities.category.title,\n formats: {\n individual: `t(\"category\", { scope: \"${i18n}\" })`,\n plural: `t(\"categories\", { scope: \"${i18n}\" })`,\n searchResult: {\n title: '{{ title }}',\n description: RootConfig.module.title,\n },\n },\n relatedEntities: [],\n groups: [\n {\n id: 'section',\n title: `t(\"category\", { scope: \"common\" })`,\n },\n ],\n properties: [\n {\n name: 'title',\n title: `t(\"title\",{ scope: \"common\" })`,\n groupId: 'section',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n options: {\n width: '400px',\n },\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'parentId',\n title: `t(\"parentId\",{ scope: \"${i18n}\" })`,\n groupId: 'section',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.lookup,\n options: {\n entity: `${RootConfig.module.name}.${RootConfig.entities.category.name}`,\n },\n },\n },\n },\n ],\n columns: [{ name: 'title' }],\n commands: {\n create: {\n execute: async (data: any) => {\n const res = await dataService.insertOne(data);\n return { id: res };\n },\n },\n delete: {\n execute: async (id: any) => {\n return await dataService.deleteOne(id);\n },\n },\n update: {\n execute: async (data: any) => {\n return await dataService.updateOne(data.id, data);\n },\n },\n },\n queries: {\n byKey: {\n execute: async (id: string) => {\n return await dataService.getOne(id);\n },\n type: AXPEntityQueryType.Single,\n },\n list: {\n execute: async (e: any) => {\n return await dataService.query({ skip: e.skip, take: e.take, filter: e.filter });\n },\n type: AXPEntityQueryType.List,\n },\n },\n interfaces: {\n master: {\n create: {\n sections: [\n {\n id: 'section',\n },\n ],\n properties: [\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n {\n name: 'parentId',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n ],\n },\n update: {\n sections: [\n {\n id: 'section',\n },\n ],\n properties: [\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n {\n name: 'parentId',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n ],\n },\n single: {\n title: '{{title}}',\n sections: [\n {\n id: 'section',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n ],\n properties: [\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n ],\n actions: [],\n },\n list: {\n actions: [\n {\n title: `t(\"create\", { scope: \"common\" })`,\n command: 'create-entity',\n priority: 'primary',\n type: 'create',\n scope: AXPEntityCommandScope.TypeLevel,\n },\n {\n title: 't(\"deleteItems\", { scope: \"common\" })',\n command: 'delete-entity',\n priority: 'primary',\n type: 'delete',\n scope: AXPEntityCommandScope.Selected,\n },\n {\n title: 't(\"detail\", { scope: \"common\" })',\n command: 'open-entity',\n priority: 'secondary',\n type: 'view',\n scope: AXPEntityCommandScope.Individual,\n },\n {\n title: 't(\"delete\", { scope: \"common\" })',\n command: 'delete-entity',\n priority: 'secondary',\n type: 'delete',\n scope: AXPEntityCommandScope.Individual,\n },\n ],\n views: [\n {\n name: 'all',\n title: 't(\"allItem\", { scope: \"common\" })',\n fixed: true,\n columns: [],\n conditions: [],\n sorts: [],\n },\n ],\n },\n },\n },\n };\n\n return entityDef;\n}\n"],"names":[],"mappings":";;;;AAOO,eAAe,OAAO,CAAC,QAAkB,EAAA;IAC9C,MAAM,WAAW,GAAG,QAAQ,CAAC,GAAG,CAAC,8CAA8C,CAAC;AAChF,IAAA,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI;AAEnC,IAAA,MAAM,SAAS,GAAc;AAC3B,QAAA,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,IAAI;AAC9B,QAAA,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI;AACvC,QAAA,SAAS,EAAE,UAAU;AACrB,QAAA,MAAM,EAAE,EAAE;AACV,QAAA,KAAK,EAAE,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK;AACzC,QAAA,OAAO,EAAE;YACP,UAAU,EAAE,CAA2B,wBAAA,EAAA,IAAI,CAAM,IAAA,CAAA;YACjD,MAAM,EAAE,CAA6B,0BAAA,EAAA,IAAI,CAAM,IAAA,CAAA;AAC/C,YAAA,YAAY,EAAE;AACZ,gBAAA,KAAK,EAAE,aAAa;AACpB,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,CAAC,KAAK;AACrC,aAAA;AACF,SAAA;AACD,QAAA,eAAe,EAAE,EAAE;AACnB,QAAA,MAAM,EAAE;AACN,YAAA;AACE,gBAAA,EAAE,EAAE,SAAS;AACb,gBAAA,KAAK,EAAE,CAAoC,kCAAA,CAAA;AAC5C,aAAA;AACF,SAAA;AACD,QAAA,UAAU,EAAE;AACV,YAAA;AACE,gBAAA,IAAI,EAAE,OAAO;AACb,gBAAA,KAAK,EAAE,CAAiC,+BAAA,CAAA;AACxC,gBAAA,OAAO,EAAE,SAAS;AAClB,gBAAA,MAAM,EAAE;AACN,oBAAA,QAAQ,EAAE,QAAQ;AAClB,oBAAA,SAAS,EAAE;wBACT,IAAI,EAAE,iBAAiB,CAAC,IAAI;AAC5B,wBAAA,OAAO,EAAE;AACP,4BAAA,KAAK,EAAE,OAAO;AACf,yBAAA;AACF,qBAAA;AACF,iBAAA;AACD,gBAAA,WAAW,EAAE;AACX,oBAAA;AACE,wBAAA,IAAI,EAAE,UAAU;AACjB,qBAAA;AACF,iBAAA;AACF,aAAA;AACD,YAAA;AACE,gBAAA,IAAI,EAAE,UAAU;gBAChB,KAAK,EAAE,CAA0B,uBAAA,EAAA,IAAI,CAAM,IAAA,CAAA;AAC3C,gBAAA,OAAO,EAAE,SAAS;AAClB,gBAAA,MAAM,EAAE;AACN,oBAAA,QAAQ,EAAE,QAAQ;AAClB,oBAAA,SAAS,EAAE;wBACT,IAAI,EAAE,iBAAiB,CAAC,MAAM;AAC9B,wBAAA,OAAO,EAAE;AACP,4BAAA,MAAM,EAAE,CAAA,EAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAI,CAAA,EAAA,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAE,CAAA;AACzE,yBAAA;AACF,qBAAA;AACF,iBAAA;AACF,aAAA;AACF,SAAA;AACD,QAAA,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;AAC5B,QAAA,QAAQ,EAAE;AACR,YAAA,MAAM,EAAE;AACN,gBAAA,OAAO,EAAE,OAAO,IAAS,KAAI;oBAC3B,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC;AAC7C,oBAAA,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE;iBACnB;AACF,aAAA;AACD,YAAA,MAAM,EAAE;AACN,gBAAA,OAAO,EAAE,OAAO,EAAO,KAAI;AACzB,oBAAA,OAAO,MAAM,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC;iBACvC;AACF,aAAA;AACD,YAAA,MAAM,EAAE;AACN,gBAAA,OAAO,EAAE,OAAO,IAAS,KAAI;oBAC3B,OAAO,MAAM,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC;iBAClD;AACF,aAAA;AACF,SAAA;AACD,QAAA,OAAO,EAAE;AACP,YAAA,KAAK,EAAE;AACL,gBAAA,OAAO,EAAE,OAAO,EAAU,KAAI;AAC5B,oBAAA,OAAO,MAAM,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;iBACpC;gBACD,IAAI,EAAE,kBAAkB,CAAC,MAAM;AAChC,aAAA;AACD,YAAA,IAAI,EAAE;AACJ,gBAAA,OAAO,EAAE,OAAO,CAAM,KAAI;oBACxB,OAAO,MAAM,WAAW,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;iBACjF;gBACD,IAAI,EAAE,kBAAkB,CAAC,IAAI;AAC9B,aAAA;AACF,SAAA;AACD,QAAA,UAAU,EAAE;AACV,YAAA,MAAM,EAAE;AACN,gBAAA,MAAM,EAAE;AACN,oBAAA,QAAQ,EAAE;AACR,wBAAA;AACE,4BAAA,EAAE,EAAE,SAAS;AACd,yBAAA;AACF,qBAAA;AACD,oBAAA,UAAU,EAAE;AACV,wBAAA;AACE,4BAAA,IAAI,EAAE,OAAO;AACb,4BAAA,MAAM,EAAE;AACN,gCAAA,SAAS,EAAE;AACT,oCAAA,EAAE,EAAE;AACF,wCAAA,OAAO,EAAE,EAAE;AACZ,qCAAA;AACF,iCAAA;AACF,6BAAA;AACF,yBAAA;AACD,wBAAA;AACE,4BAAA,IAAI,EAAE,UAAU;AAChB,4BAAA,MAAM,EAAE;AACN,gCAAA,SAAS,EAAE;AACT,oCAAA,EAAE,EAAE;AACF,wCAAA,OAAO,EAAE,EAAE;AACZ,qCAAA;AACF,iCAAA;AACF,6BAAA;AACF,yBAAA;AACF,qBAAA;AACF,iBAAA;AACD,gBAAA,MAAM,EAAE;AACN,oBAAA,QAAQ,EAAE;AACR,wBAAA;AACE,4BAAA,EAAE,EAAE,SAAS;AACd,yBAAA;AACF,qBAAA;AACD,oBAAA,UAAU,EAAE;AACV,wBAAA;AACE,4BAAA,IAAI,EAAE,OAAO;AACb,4BAAA,MAAM,EAAE;AACN,gCAAA,SAAS,EAAE;AACT,oCAAA,EAAE,EAAE;AACF,wCAAA,OAAO,EAAE,EAAE;AACZ,qCAAA;AACF,iCAAA;AACF,6BAAA;AACF,yBAAA;AACD,wBAAA;AACE,4BAAA,IAAI,EAAE,UAAU;AAChB,4BAAA,MAAM,EAAE;AACN,gCAAA,SAAS,EAAE;AACT,oCAAA,EAAE,EAAE;AACF,wCAAA,OAAO,EAAE,EAAE;AACZ,qCAAA;AACF,iCAAA;AACF,6BAAA;AACF,yBAAA;AACF,qBAAA;AACF,iBAAA;AACD,gBAAA,MAAM,EAAE;AACN,oBAAA,KAAK,EAAE,WAAW;AAClB,oBAAA,QAAQ,EAAE;AACR,wBAAA;AACE,4BAAA,EAAE,EAAE,SAAS;AACb,4BAAA,MAAM,EAAE;AACN,gCAAA,SAAS,EAAE;AACT,oCAAA,EAAE,EAAE;AACF,wCAAA,OAAO,EAAE,EAAE;AACZ,qCAAA;AACF,iCAAA;AACF,6BAAA;AACF,yBAAA;AACF,qBAAA;AACD,oBAAA,UAAU,EAAE;AACV,wBAAA;AACE,4BAAA,IAAI,EAAE,OAAO;AACb,4BAAA,MAAM,EAAE;AACN,gCAAA,SAAS,EAAE;AACT,oCAAA,EAAE,EAAE;AACF,wCAAA,OAAO,EAAE,CAAC;AACX,qCAAA;AACF,iCAAA;AACF,6BAAA;AACF,yBAAA;AACF,qBAAA;AACD,oBAAA,OAAO,EAAE,EAAE;AACZ,iBAAA;AACD,gBAAA,IAAI,EAAE;AACJ,oBAAA,OAAO,EAAE;AACP,wBAAA;AACE,4BAAA,KAAK,EAAE,CAAkC,gCAAA,CAAA;AACzC,4BAAA,OAAO,EAAE,eAAe;AACxB,4BAAA,QAAQ,EAAE,SAAS;AACnB,4BAAA,IAAI,EAAE,QAAQ;4BACd,KAAK,EAAE,qBAAqB,CAAC,SAAS;AACvC,yBAAA;AACD,wBAAA;AACE,4BAAA,KAAK,EAAE,uCAAuC;AAC9C,4BAAA,OAAO,EAAE,eAAe;AACxB,4BAAA,QAAQ,EAAE,SAAS;AACnB,4BAAA,IAAI,EAAE,QAAQ;4BACd,KAAK,EAAE,qBAAqB,CAAC,QAAQ;AACtC,yBAAA;AACD,wBAAA;AACE,4BAAA,KAAK,EAAE,kCAAkC;AACzC,4BAAA,OAAO,EAAE,aAAa;AACtB,4BAAA,QAAQ,EAAE,WAAW;AACrB,4BAAA,IAAI,EAAE,MAAM;4BACZ,KAAK,EAAE,qBAAqB,CAAC,UAAU;AACxC,yBAAA;AACD,wBAAA;AACE,4BAAA,KAAK,EAAE,kCAAkC;AACzC,4BAAA,OAAO,EAAE,eAAe;AACxB,4BAAA,QAAQ,EAAE,WAAW;AACrB,4BAAA,IAAI,EAAE,QAAQ;4BACd,KAAK,EAAE,qBAAqB,CAAC,UAAU;AACxC,yBAAA;AACF,qBAAA;AACD,oBAAA,KAAK,EAAE;AACL,wBAAA;AACE,4BAAA,IAAI,EAAE,KAAK;AACX,4BAAA,KAAK,EAAE,mCAAmC;AAC1C,4BAAA,KAAK,EAAE,IAAI;AACX,4BAAA,OAAO,EAAE,EAAE;AACX,4BAAA,UAAU,EAAE,EAAE;AACd,4BAAA,KAAK,EAAE,EAAE;AACV,yBAAA;AACF,qBAAA;AACF,iBAAA;AACF,aAAA;AACF,SAAA;KACF;AAED,IAAA,OAAO,SAAS;AAClB;;;;"}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"acorex-modules-form-template-management-setting.provider-CoETMkEC.mjs","sources":["../../../../libs/modules/form-template-management/src/lib/setting.provider.ts"],"sourcesContent":["import { AXPSettingDefinitionProvider, AXPSettingDefinitionProviderContext } from '@acorex/platform/common';\nimport { AXPWidgetsCatalog } from '@acorex/platform/layout/builder';\nimport { RootConfig } from './const';\n\nexport class AXMSettingProvider implements AXPSettingDefinitionProvider {\n\n async provide(context: AXPSettingDefinitionProviderContext): Promise<void> {\n context\n // Add Form Template Group\n .addGroup('form-template', 'Form Template', 'Settings related to form templates.', RootConfig.module.icon)\n\n // Start Interface Section\n .addSection('interface', 'UI Interface', 'Customize the user interface for forms.')\n .addSetting({\n key: 'history-panel',\n title: 'Show History Panel',\n scope: 'U',\n isInherited: true,\n defaultValue: false,\n widget: {\n type: AXPWidgetsCatalog.toggle,\n },\n description: 'Enable or disable the history panel for forms.',\n validationRules: [\n {\n rule: 'required',\n },\n ],\n })\n .endSection()\n\n // Start Saving Section\n .addSection('saving', 'Saving', 'Settings related to saving form data.')\n .addSetting({\n key: 'auto-save',\n title: 'Auto Save',\n scope: 'U',\n isInherited: true,\n defaultValue: false,\n widget: {\n type: AXPWidgetsCatalog.toggle,\n },\n description: 'Automatically save form data at regular intervals.',\n })\n .addSetting({\n key: 'auto-save-interval',\n title: 'Auto Save Interval',\n scope: 'U',\n isInherited: true,\n defaultValue: 1,\n widget: {\n type: AXPWidgetsCatalog.number,\n options: {\n visibility: `{{ context.eval('auto-save') }}`,\n hasClearButton: false,\n minValue: 1,\n maxValue: 60,\n }\n },\n\n description: 'Set the time interval (in minites) for auto-saving form data.',\n })\n .endSection()\n\n // End Form Template Group\n .endGroup();\n }\n}\n"],"names":[],"mappings":";;;MAIa,kBAAkB,CAAA;IAE7B,MAAM,OAAO,CAAC,OAA4C,EAAA;QACxD;;AAEG,aAAA,QAAQ,CAAC,eAAe,EAAE,eAAe,EAAE,qCAAqC,EAAE,UAAU,CAAC,MAAM,CAAC,IAAI;;AAGxG,aAAA,UAAU,CAAC,WAAW,EAAE,cAAc,EAAE,yCAAyC;AACjF,aAAA,UAAU,CAAC;AACV,YAAA,GAAG,EAAE,eAAe;AACpB,YAAA,KAAK,EAAE,oBAAoB;AAC3B,YAAA,KAAK,EAAE,GAAG;AACV,YAAA,WAAW,EAAE,IAAI;AACjB,YAAA,YAAY,EAAE,KAAK;AACnB,YAAA,MAAM,EAAE;gBACN,IAAI,EAAE,iBAAiB,CAAC,MAAM;AAC/B,aAAA;AACD,YAAA,WAAW,EAAE,gDAAgD;AAC7D,YAAA,eAAe,EAAE;AACf,gBAAA;AACE,oBAAA,IAAI,EAAE,UAAU;AACjB,iBAAA;AACF,aAAA;SACF;AACA,aAAA,UAAU;;AAGV,aAAA,UAAU,CAAC,QAAQ,EAAE,QAAQ,EAAE,uCAAuC;AACtE,aAAA,UAAU,CAAC;AACV,YAAA,GAAG,EAAE,WAAW;AAChB,YAAA,KAAK,EAAE,WAAW;AAClB,YAAA,KAAK,EAAE,GAAG;AACV,YAAA,WAAW,EAAE,IAAI;AACjB,YAAA,YAAY,EAAE,KAAK;AACnB,YAAA,MAAM,EAAE;gBACN,IAAI,EAAE,iBAAiB,CAAC,MAAM;AAC/B,aAAA;AACD,YAAA,WAAW,EAAE,oDAAoD;SAClE;AACA,aAAA,UAAU,CAAC;AACV,YAAA,GAAG,EAAE,oBAAoB;AACzB,YAAA,KAAK,EAAE,oBAAoB;AAC3B,YAAA,KAAK,EAAE,GAAG;AACV,YAAA,WAAW,EAAE,IAAI;AACjB,YAAA,YAAY,EAAE,CAAC;AACf,YAAA,MAAM,EAAE;gBACN,IAAI,EAAE,iBAAiB,CAAC,MAAM;AAC9B,gBAAA,OAAO,EAAE;AACP,oBAAA,UAAU,EAAE,CAAiC,+BAAA,CAAA;AAC7C,oBAAA,cAAc,EAAE,KAAK;AACrB,oBAAA,QAAQ,EAAE,CAAC;AACX,oBAAA,QAAQ,EAAE,EAAE;AACb;AACF,aAAA;AAED,YAAA,WAAW,EAAE,+DAA+D;SAC7E;AACA,aAAA,UAAU;;AAGV,aAAA,QAAQ,EAAE;;AAEhB;;;;"}
|
package/fesm2022/acorex-modules-form-template-management-template-picker.component-0JfGxdMv.mjs.map
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"acorex-modules-form-template-management-template-picker.component-0JfGxdMv.mjs","sources":["../../../../libs/modules/form-template-management/src/lib/features/designer/widgets/template-picker/template-picker.component.ts","../../../../libs/modules/form-template-management/src/lib/features/designer/widgets/template-picker/template-picker.component.html"],"sourcesContent":["import { AXButtonModule } from '@acorex/components/button';\nimport { AXCommonModule } from '@acorex/components/common';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXBasePageComponent } from '@acorex/components/page';\nimport { AXSearchBoxModule } from '@acorex/components/search-box';\nimport { AXTabStripChangedEvent } from '@acorex/components/tabs';\nimport { AXPSettingScope, AXPSettingService } from '@acorex/platform/common';\nimport { CommonModule } from '@angular/common';\nimport { Component, computed, inject, model, signal, ViewEncapsulation } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { orderBy } from 'lodash-es';\nimport { AXPTemplateWidgetListItem } from './template.provider';\nimport { AXSideMenuModule } from '@acorex/components/side-menu';\nimport { AXTranslationModule } from '@acorex/core/translation';\n\nexport interface AXPDisplayWidgetProvided extends AXPTemplateWidgetListItem {\n pinned: boolean;\n}\n\nexport interface AXPCategoryDisplayModel {\n id: string;\n text: string;\n parentId?: string;\n hasChild: boolean;\n children?: AXPCategoryDisplayModel[];\n}\n\n@Component({\n imports: [\n CommonModule,\n FormsModule,\n //\n AXCommonModule,\n AXButtonModule,\n AXDecoratorModule,\n AXSearchBoxModule,\n AXSideMenuModule,\n AXTranslationModule\n ],\n templateUrl: './template-picker.component.html',\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./template-picker.component.scss']\n})\nexport class AXPTemplateWidgetPickerComponent extends AXBasePageComponent {\n private settingService = inject(AXPSettingService);\n private readonly lastSelectedCategoryKey = 'forms:templates:picker:lastSelectedCategory';\n\n protected override async ngOnInit() {\n super.ngOnInit();\n const pinnedWidgets = (await this.settingService.get<string[]>(this.pinnedSettingKey)) || [];\n this.displayWidgets.set(this.widgets.map((c) => ({ ...c, pinned: pinnedWidgets.includes(c.id), icon: c.icon ?? 'fa-solid fa-file-invoice' })));\n\n const lastSelectedCategoryId = await this.settingService.get<string>(this.lastSelectedCategoryKey);\n if (lastSelectedCategoryId) {\n const findCategory = (categories: AXPCategoryDisplayModel[], id: string): AXPCategoryDisplayModel | null => {\n for (const category of categories) {\n if (category.id === id) return category;\n if (category.children) {\n const found = findCategory(category.children, id);\n if (found) return found;\n }\n }\n return null;\n };\n const lastSelectedCategory = findCategory(this.displayCategories(), lastSelectedCategoryId);\n if (lastSelectedCategory) {\n this.selectedCategory.set(lastSelectedCategory);\n }\n }\n }\n\n protected isExpanded(item: AXPCategoryDisplayModel): boolean {\n const selectedCategory = this.selectedCategory();\n if (!selectedCategory) return false;\n\n const isParent = (category: AXPCategoryDisplayModel, targetId: string): boolean => {\n if (category.id === targetId) return true;\n if (category.children) {\n return category.children.some(child => isParent(child, targetId));\n }\n return false;\n };\n\n return isParent(item, selectedCategory.id);\n }\n\n\n private readonly pinnedSettingKey = 'forms:templates:picker:pinned';\n\n protected searchTerm = model('');\n\n // Signals\n private widgets: AXPDisplayWidgetProvided[] = [];\n private displayWidgets = signal<AXPDisplayWidgetProvided[]>([]);\n\n // Signal to track selected widgets\n protected selectedWidgets = signal<AXPDisplayWidgetProvided[]>([]);\n\n // Computed for filtered and ordered widget list\n private orderedList = computed(() => {\n const search = this.searchTerm().toLowerCase();\n const selectedCategory = this.selectedCategory();\n const selectedCategoryId = selectedCategory ? selectedCategory.id : null;\n\n const filterByCategory = (widget: AXPDisplayWidgetProvided) => {\n if (!selectedCategoryId) return true;\n const categoryIds = [selectedCategoryId, ...(selectedCategory?.children?.map(c => c.id) || [])];\n return categoryIds.includes(widget.group.name);\n };\n\n return orderBy(\n this.displayWidgets().filter((w) => {\n const matchesCategory = filterByCategory(w);\n const matchesSearch =\n !search || w.title.toLowerCase().includes(search) || w.description?.toLowerCase().includes(search);\n return matchesCategory && matchesSearch;\n }),\n ['pinned', 'title'],\n ['desc', 'asc']\n );\n });\n\n // Pinned and regular lists\n protected pinnedList = computed(() => this.orderedList().filter((c) => c.pinned));\n protected regularList = computed(() => this.orderedList().filter((c) => !c.pinned));\n\n\n protected currentTabIndex = signal(0);\n\n\n // protected override async ngOnInit() {\n // super.ngOnInit();\n // const pinnedWidgets = (await this.settingService.get<string[]>(this.pinnedSettingKey)) || [];\n // this.displayWidgets.set(this.widgets.map((c) => ({ ...c, pinned: pinnedWidgets.includes(c.id), icon: c.icon ?? 'fa-solid fa-file-invoice' })));\n // }\n\n protected handleTabChange(event: AXTabStripChangedEvent): void {\n const indx = event.index;\n if (this.currentTabIndex() != indx) {\n this.currentTabIndex.set(indx);\n }\n }\n\n protected handleClick(event: MouseEvent, widget: AXPDisplayWidgetProvided) {\n if (event.ctrlKey) {\n const currentSelection = this.selectedWidgets();\n const isAlreadySelected = currentSelection.some((w) => w === widget);\n\n if (isAlreadySelected) {\n // Deselect widget if already selected\n this.selectedWidgets.set(currentSelection.filter((w) => w !== widget));\n } else {\n // Add widget to selection\n this.selectedWidgets.set([...currentSelection, widget]);\n }\n } else {\n // If CTRL is not pressed, select only the clicked widget\n this.close({ widgets: [widget] });\n }\n }\n\n protected async handlePinClick(e: MouseEvent, widget: AXPDisplayWidgetProvided) {\n e.stopPropagation();\n widget.pinned = !widget.pinned;\n // Get the current list of pinned widgets from settings\n let pinnedWidgets = (await this.settingService.get<string[]>(this.pinnedSettingKey)) || [];\n\n // Update the list of pinned widgets based on the pinned status\n if (widget.pinned) {\n if (!pinnedWidgets.includes(widget.id)) {\n pinnedWidgets.push(widget.id);\n }\n } else {\n pinnedWidgets = pinnedWidgets.filter((name) => name !== widget.id);\n }\n\n // Save the updated list of pinned widgets\n await this.settingService.scope(AXPSettingScope.User).set(this.pinnedSettingKey, pinnedWidgets);\n\n // Trigger a re-render of the widgets\n this.displayWidgets.set([...this.displayWidgets()]);\n }\n\n // Check if a widget is selected\n protected isWidgetSelected(widget: AXPDisplayWidgetProvided): boolean {\n return this.selectedWidgets().includes(widget);\n }\n\n protected handleConfirmSelection(): void {\n this.close({ widgets: this.selectedWidgets() });\n }\n\n\n //#region Category Tree\n\n private categories: any[] = [];\n\n protected displayCategories = computed<AXPCategoryDisplayModel[]>(() => {\n const map = (node: any): AXPCategoryDisplayModel => {\n const children = this.categories.filter(i => i.parentId == node.id).map(map);\n return {\n id: node.id,\n text: node.title,\n parentId: node.parentId,\n hasChild: children.length > 0,\n children: children\n } as AXPCategoryDisplayModel\n }\n return this.categories.filter(c => !c.parentId).map(map);\n });\n\n\n protected selectedCategory = signal<AXPCategoryDisplayModel | null>(null);\n\n protected handleMenuItemClick(item: AXPCategoryDisplayModel) {\n this.selectedCategory.set(item);\n this.settingService.scope(AXPSettingScope.User).set(this.lastSelectedCategoryKey, item.id);\n }\n\n //#end region\n}\n","<div class=\"ax-flex ax-flex-col lg:ax-h-[60vh]\">\n <div class=\"ax-p-2 ax-surface-lowest ax-border-b ax-flex-none\">\n <ax-search-box look=\"fill\" placeholder=\"e.g. Button, Text, ...\" class=\"ax-sm\" [(ngModel)]=\"searchTerm\"\n [delayTime]=\"300\" [axAutoFocus]=\"true\">\n <ax-clear-button></ax-clear-button>\n </ax-search-box>\n </div>\n <div class=\"ax-flex ax-flex-grow ax-h-full \">\n <div\n class=\"ax-flex ax-h-full ax-overflow-auto ax-w-1/3 ax-justify-start ax-items-start ax-surface-lowest ax-border-e \">\n <ax-side-menu look=\"pills\" [look]=\"'with-line-color'\" [location]=\"'start'\">\n <ng-container *ngFor=\"let item of displayCategories()\" [ngTemplateOutlet]=\"recursiveMenu\"\n [ngTemplateOutletContext]=\"{ item: item }\">\n </ng-container>\n </ax-side-menu>\n <ng-template #recursiveMenu let-item=\"item\">\n <ax-side-menu-item [active]=\"item ===selectedCategory()\" (onClick)=\"handleMenuItemClick(item)\"\n [isCollapsed]=\"!isExpanded(item)\">\n <ax-prefix>\n <ax-icon class=\"fa-solid fa-folder ax-text-yellow-500 fa-fw\"></ax-icon>\n </ax-prefix>\n <span>{{ item.text | translate | async }}</span>\n <ng-container *ngIf=\"item.hasChild\">\n <ng-container *ngFor=\"let child of item.children\" [ngTemplateOutlet]=\"recursiveMenu\"\n [ngTemplateOutletContext]=\"{ item: child }\">\n </ng-container>\n </ng-container>\n </ax-side-menu-item>\n </ng-template>\n </div>\n <div class=\"ax-flex ax-h-full ax-overflow-auto ax-flex-col ax-w-2/3 \">\n <div class=\"ax-flex ax-flex-col ax-p-4\">\n <ng-template #itemTpl let-w>\n <div (click)=\"handleClick($event, w)\"\n class=\"ax-py-2 ax-px-3 ax-rounded-md ax-flex ax-gap-3 ax-items-center ax-group hover:ax-bg-primary-100 dark:hover:ax-bg-primary-800 ax-cursor-pointer\"\n [class.ax-bg-primary-100]=\"isWidgetSelected(w)\">\n <div\n class=\"ax-w-10 ax-h-10 ax-flex ax-items-center ax-justify-center ax-rounded-md ax-border ax-border-neutral-200 ax-text-neutral-500 ax-bg-on-surface group-hover:ax-bg-primary-200\"\n [class.ax-bg-primary-200]=\"isWidgetSelected(w)\">\n <i [ngClass]=\"w.icon\" class=\"ax-text-lg group-hover:ax-text-primary-700 ax-text-on-surface-fore\"\n [class.ax-text-primary-700]=\"isWidgetSelected(w)\"></i>\n </div>\n <div class=\"ax-flex ax-flex-col ax-gap-1 ax-flex-1\">\n <div class=\"ax-flex ax-items-center ax-gap-2\">\n <div class=\"ax-font-semibold ax-text-sm\">{{ w.title }}</div>\n <div (click)=\"handlePinClick($event, w)\">\n @if (w.pinned) {\n <i class=\"fa-solid fa-thumbtack ax-text-sm ax-text-neutral-500 ax-rotate-45\"></i>\n } @else {\n <i\n class=\"fa-light fa-thumbtack ax-text-sm ax-text-neutral-500 ax-rotate-45 ax-invisible group-hover:ax-visible\"></i>\n }\n </div>\n </div>\n <span class=\"ax-text-xs ax-text-neutral-400 ax-truncate\">\n {{ w.description }}\n </span>\n </div>\n </div>\n </ng-template>\n <div class=\"ax-grid ax-grid-cols-2 ax-gap-2\">\n @for(w of pinnedList();track $index) {\n <ng-container *ngTemplateOutlet=\"itemTpl; context: { $implicit: w }\"></ng-container>\n }\n </div>\n @if(pinnedList().length) {\n <hr class=\"ax-my-4 ax-border-dashed\" />\n }\n <div class=\"ax-grid ax-grid-cols-2 ax-gap-2\">\n @for(w of regularList();track $index) {\n <ng-container *ngTemplateOutlet=\"itemTpl; context: { $implicit: w }\"></ng-container>\n }\n </div>\n </div>\n </div>\n </div>\n</div>\n\n@if(selectedWidgets().length) {\n<ax-footer>\n <ax-suffix>\n <ax-button look=\"solid\" color=\"primary\" text=\"{{ selectedWidgets().length }} Selected\"\n (onClick)=\"handleConfirmSelection()\"></ax-button>\n </ax-suffix>\n</ax-footer>\n}"],"names":["i8"],"mappings":"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"}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"acorex-modules-form-template-management-template.entity-ByE2p0Mu.mjs","sources":["../../../../libs/modules/form-template-management/src/lib/entities/template/template.entity.ts"],"sourcesContent":["import { AXPEntity, AXPEntityCommandScope, AXPEntityQueryType, createAllQueryView, createQueryView } from '@acorex/platform/common';\nimport { AXPWidgetsCatalog } from '@acorex/platform/layout/builder';\nimport { Injector } from '@angular/core';\n\nimport { RootConfig } from '../../const';\nimport { AXMFormTemplateManagementTemplateEntityService } from './template.service';\nimport { AXMFormTemplateTypes } from './template.types';\n\nexport async function factory(injector: Injector): Promise<AXPEntity | null> {\n const dataService = injector.get(AXMFormTemplateManagementTemplateEntityService);\n const i18n = RootConfig.config.i18n;\n\n const entityDef: AXPEntity = {\n module: RootConfig.module.name,\n name: RootConfig.entities.template.name,\n source: '',\n title: RootConfig.entities.template.title,\n formats: {\n individual: `t(\"template\",{scope:\"${i18n}\"})`,\n plural: `t(\"templates\",{scope:\"${i18n}\"})`,\n searchResult: {\n title: '{{ title }}',\n description: RootConfig.module.title,\n },\n },\n relatedEntities: [],\n groups: [\n {\n id: 'section',\n title: `t(\"information\",{scope:\"common\"})`,\n },\n ],\n properties: [\n {\n name: 'documentId',\n title: `t(\"document-id\",{scope:\"${i18n}\"})`,\n groupId: 'section',\n options: {\n filter: {\n inline: { enabled: true },\n },\n sort: {\n enabled: true,\n },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n validations: [\n {\n rule: 'required',\n },\n {\n rule: 'minLength',\n options: {\n value: 3\n }\n },\n {\n rule: 'maxLength',\n options: {\n value: 10\n }\n },\n ],\n },\n {\n name: 'title',\n title: `t(\"title\",{scope:\"common\"})`,\n groupId: 'section',\n options: {\n filter: {\n inline: { enabled: true },\n },\n sort: {\n enabled: true,\n },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n validations: [\n {\n rule: 'required',\n },\n {\n rule: 'minLength',\n options: {\n value: 3\n }\n },\n {\n rule: 'maxLength',\n options: {\n value: 50\n }\n },\n ],\n },\n {\n name: 'categoryId',\n title: `t(\"categoryId\",{scope:\"${i18n}\"})`,\n groupId: 'section',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.lookup,\n options: {\n entity: `${RootConfig.module.name}.${RootConfig.entities.category.name}`,\n expose: [\n { source: 'id', target: 'categoryId' },\n { source: 'title', target: 'category.title' },\n ],\n },\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'type',\n title: `t(\"template-type\",{scope:\"${i18n}\"})`,\n groupId: 'section',\n schema: {\n dataType: 'string',\n defaultValue: AXMFormTemplateTypes.Form,\n interface: {\n type: AXPWidgetsCatalog.select,\n options: {\n valueField: 'id',\n textField: 'title',\n dataSource: [AXMFormTemplateTypes.Form, AXMFormTemplateTypes.Widget],\n multiple: false,\n },\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'template',\n title: `t(\"template\",{scope:\"${i18n}\"})`,\n groupId: 'section',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.templateDesigner,\n },\n },\n },\n {\n name: 'isArchived',\n title: `t(\"isArchived\",{scope:\"${i18n}\"})`,\n groupId: 'application',\n schema: {\n dataType: 'boolean',\n interface: {\n type: AXPWidgetsCatalog.toggle,\n },\n },\n },\n ],\n columns: [\n { name: 'documentId' },\n { name: 'title' },\n { name: 'type' },\n { name: 'categoryId', options: { dataPath: 'category.title' } },\n { name: 'isArchived' },\n ],\n commands: {\n create: {\n execute: async (data: any) => {\n const res = await dataService.insertOne(data);\n return { id: res };\n },\n },\n delete: {\n execute: async (id: any) => {\n return await dataService.deleteOne(id);\n },\n },\n update: {\n execute: async (data: any) => {\n return await dataService.updateOne(data.id, data);\n },\n },\n },\n queries: {\n byKey: {\n execute: async (id: string) => {\n return await dataService.getOne(id);\n },\n type: AXPEntityQueryType.Single,\n },\n list: {\n execute: async (e: any) => {\n return await dataService.query({ skip: e.skip, take: e.take, filter: e.filter });\n },\n type: AXPEntityQueryType.List,\n },\n },\n interfaces: {\n master: {\n create: {\n sections: [\n {\n id: 'section',\n },\n ],\n properties: [\n {\n name: 'documentId',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'type',\n layout: {\n order: 10,\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'categoryId',\n layout: {\n order: 20,\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n ],\n },\n update: {\n sections: [\n {\n id: 'section',\n },\n ],\n properties: [\n {\n name: 'documentId',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'categoryId',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'type',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n ],\n },\n single: {\n title: '{{title}} {{documentId}}',\n sections: [\n {\n id: 'section',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n {\n id: 'template',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n ],\n properties: [\n {\n name: 'documentId',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'type',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'categoryId',\n layout: {\n positions: {\n lg: {\n colSpan: 4,\n },\n },\n },\n },\n {\n name: 'template',\n layout: {\n label: {\n visible: false,\n },\n positions: {\n lg: {\n colSpan: 4,\n },\n },\n },\n },\n ],\n actions: [\n {\n command: 'archive-entity',\n priority: 'secondary',\n scope: AXPEntityCommandScope.Individual,\n type: 'archive',\n title: `t(\"archive\", { scope: \"common\" })`,\n },\n {\n title: 't(\"delete\", { scope: \"common\" })',\n command: 'delete-entity',\n priority: 'secondary',\n type: 'delete',\n scope: AXPEntityCommandScope.Individual,\n },\n ],\n },\n list: {\n actions: [\n {\n title: `t(\"create\", { scope: \"common\" })`,\n command: 'create-form-template',\n priority: 'primary',\n type: 'create',\n scope: AXPEntityCommandScope.TypeLevel,\n },\n {\n title: `t(\"design\", { scope: \"common\" })`,\n command: 'design-form-template',\n priority: 'primary',\n type: 'design',\n scope: AXPEntityCommandScope.Individual,\n },\n\n {\n title: `t(\"open\", { scope: \"common\" })`,\n command: {\n name: 'open-form-template',\n metadata: {\n preview: true\n }\n },\n priority: 'primary',\n type: 'view',\n scope: AXPEntityCommandScope.Individual,\n },\n\n {\n title: 't(\"delete\", { scope: \"common\" })',\n command: 'delete-entity',\n priority: 'primary',\n type: 'delete',\n scope: AXPEntityCommandScope.Selected,\n },\n {\n title: 't(\"detail\", { scope: \"common\" })',\n command: 'open-entity',\n priority: 'secondary',\n type: 'view',\n scope: AXPEntityCommandScope.Individual,\n },\n {\n title: 't(\"delete\", { scope: \"common\" })',\n command: 'delete-entity',\n priority: 'secondary',\n type: 'delete',\n scope: AXPEntityCommandScope.Individual,\n },\n {\n command: 'archive-entity',\n priority: 'secondary',\n scope: AXPEntityCommandScope.Selected,\n type: 'archive',\n title: `t(\"archive\", { scope: \"common\" })`,\n },\n ],\n views: [\n createAllQueryView({ sorts: [{ name: 'title', dir: 'asc' }] }),\n createQueryView('forms', `t(\"forms\", { scope: \"${i18n}\" })`, true,\n {\n conditions: [\n {\n name: 'type.value',\n operator: {\n type: 'equal',\n },\n value: 10,\n }\n ]\n }),\n createQueryView('widgets', `t(\"widgets\", { scope: \"${i18n}\" })`, true,\n {\n conditions: [\n {\n name: 'type.value',\n operator: {\n type: 'equal',\n },\n value: 20,\n }\n ]\n }),\n ],\n },\n },\n },\n };\n\n return entityDef;\n}\n"],"names":[],"mappings":"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"}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"acorex-modules-organization-management-org-chart-configuration.service-QLdDEdqL.mjs","sources":["../../../../libs/modules/organization-management/src/lib/features/organization-chart/org-chart-configuration.service.ts"],"sourcesContent":["import { inject, Injectable, signal } from '@angular/core';\nimport { AXPSettingScope, AXPSettingService } from '@acorex/platform/common';\nimport { AXPOrganizationSetting } from '../../setting.keys';\nimport { AXM_ORG_CHART_NODE_TYPE_ENTITY_MAPPINGS, AXMOrgChartNodePermission } from './org-chart.type';\n\n\n\n\n@Injectable()\nexport class AXMOrgChartConfigService {\n\n private readonly settingService = inject(AXPSettingService);\n //\n protected _types = Object.entries(AXM_ORG_CHART_NODE_TYPE_ENTITY_MAPPINGS).map(c => c[1].type);\n\n public get types(): string[] {\n return this._types;\n }\n\n private _defaultPermissioEncoded = '011111100001011100000111100000011100011111110011111110011111110000000011000000000';\n\n public permissions = signal<AXMOrgChartNodePermission>(this.defaultPermissions());\n\n\n private defaultPermissions(): AXMOrgChartNodePermission {\n return this.decode(this._defaultPermissioEncoded);\n }\n\n\n private encode(\n permissions: AXMOrgChartNodePermission\n ): string {\n let str = '';\n for (const parent of this.types) {\n for (const child of this.types) {\n str += (permissions[parent]?.[child] ?? 0).toString();\n }\n }\n return str;\n }\n\n\n private decode(encoded: string): AXMOrgChartNodePermission {\n const result: AXMOrgChartNodePermission = {};\n const expectedLength = this.types.length * this.types.length;\n if (encoded.length !== expectedLength) {\n throw new Error(`Invalid permissions string length. Expected ${expectedLength} but got ${encoded.length}`);\n }\n let index = 0;\n for (const parent of this.types) {\n result[parent] = {};\n for (const child of this.types) {\n const char = encoded.charAt(index);\n result[parent][child] = parseInt(char, 10);\n index++;\n }\n }\n return result;\n }\n\n\n private decodeMatrix(matrix: number[][]): AXMOrgChartNodePermission {\n const newPermissions: AXMOrgChartNodePermission = {};\n this.types.forEach((parent, rowIndex) => {\n newPermissions[parent] = {};\n this.types.forEach((child, colIndex) => {\n newPermissions[parent][child] = matrix[rowIndex][colIndex];\n });\n });\n return newPermissions;\n }\n\n private validateEncodedValue(storedValue: unknown): AXMOrgChartNodePermission {\n try {\n if (typeof storedValue === 'string') {\n const expectedLength = this.types.length * this.types.length;\n // Check that the string is the correct length and only contains 0s and 1s.\n if (storedValue.length === expectedLength && /^[01]+$/.test(storedValue)) {\n return this.decode(storedValue);\n }\n } else if (Array.isArray(storedValue)) {\n // Validate the 2D array dimensions and values.\n if (\n storedValue.length === this.types.length &&\n storedValue.every(\n row =>\n Array.isArray(row) &&\n row.length === this.types.length &&\n row.every(val => val === 0 || val === 1)\n )\n ) {\n return this.decodeMatrix(storedValue);\n }\n } else if (typeof storedValue === 'object' && storedValue !== null) {\n // Validate that the object has all the required keys and that their values are 0 or 1.\n let valid = true;\n for (const parent of this.types) {\n if (!(parent in storedValue)) {\n valid = false;\n break;\n }\n const childPermissions = (storedValue as any)[parent];\n for (const child of this.types) {\n if (!(child in childPermissions) || (childPermissions[child] !== 0 && childPermissions[child] !== 1)) {\n valid = false;\n break;\n }\n }\n if (!valid) break;\n }\n if (valid) {\n return storedValue as AXMOrgChartNodePermission;\n }\n }\n } catch (error) {\n // In case of any errors during validation, fall back to default permissions.\n }\n // Return the default permissions if validation fails.\n return this.defaultPermissions();\n }\n\n\n public isAllowed(parent: string, child: string): boolean {\n return (this.permissions()[parent]?.[child] ?? 0) === 1;\n }\n\n\n public set(parent: string, child: string, value: boolean) {\n this.permissions.update((p) => {\n if (!p[parent]) {\n p[parent] = {};\n }\n p[parent][child] = value ? 1 : 0;\n return p;\n });\n }\n\n public get(parent: string, child: string): boolean {\n return this.permissions()[parent]?.[child] === 1;\n }\n\n\n public async load() {\n const storedValue = await this.settingService\n .scope(AXPSettingScope.Tenant)\n .get(AXPOrganizationSetting.Relations);\n\n // Use the validation method to ensure the stored value is correct.\n if (storedValue) {\n const validatedPermissions = this.validateEncodedValue(storedValue);\n this.permissions.set(validatedPermissions);\n } else {\n this.permissions.set(this.defaultPermissions());\n }\n }\n\n public async update() {\n const matrix = this.encode(this.permissions());\n await this.settingService\n .scope(AXPSettingScope.Tenant)\n .set(AXPOrganizationSetting.Relations, matrix);\n }\n\n}\n"],"names":[],"mappings":"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"}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"acorex-modules-organization-management-org-chart.page-C2ZtUVKI.mjs","sources":["../../../../libs/modules/organization-management/src/lib/features/organization-chart/org-chart-print.service.ts","../../../../libs/modules/organization-management/src/lib/features/organization-chart/org-chart.service.ts","../../../../libs/modules/organization-management/src/lib/features/organization-chart/org-chart.page.ts","../../../../libs/modules/organization-management/src/lib/features/organization-chart/org-chart.page.html"],"sourcesContent":["import { AXStyleColorType } from '@acorex/components/common';\nimport { AXDialogRef, AXLoadingDialogService } from '@acorex/components/loading-dialog';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXPExportService } from '@acorex/platform/common';\nimport { inject, Injectable } from '@angular/core';\n\n/**\n * Service for printing organization charts.\n */\n@Injectable()\nexport class AXMOrgChartPrintService {\n private loadingDialog = inject(AXLoadingDialogService);\n private exportService = inject(AXPExportService);\n private translationService = inject(AXTranslationService);\n\n /**\n * Prints the organization chart.\n * @param element - The HTMLElement representing the chart to be printed.\n * @returns A promise that resolves when the print process is complete.\n */\n async printChart(element: HTMLElement): Promise<void> {\n const d = this.loadingDialog.show({\n title: 'Printing Organization Chart...',\n mode: 'determinate',\n progressColor: 'primary',\n progressValue: 0,\n status: '0/10',\n text: 'Initializing print process...',\n buttons: [\n {\n text: 'Cancel',\n color: 'danger',\n onClick: () => {\n d.close();\n },\n },\n ],\n });\n\n try {\n await this.HandleStep(d, await this.translateStatements('preparing-document'), 10, '1/10');\n const chartElement = element;\n const { originalStyles, modifiedStyles } = this.expandChart(chartElement);\n\n await this.HandleStep(d, await this.translateStatements('rendering-chart-image'), 25, '2.5/10');\n const canvasBlob = await this.exportService.generateBlobFromElement(chartElement, {\n popup: true,\n filter: (node: Node) => {\n if (node instanceof Element && node.classList.contains('--toggle')) {\n return false;\n }\n return true;\n },\n bgcolor: 'transparent',\n scale: 2,\n quality: 1,\n height: Number.parseInt(modifiedStyles.modifiedHeight),\n width: Number.parseInt(modifiedStyles.modifiedWidth),\n });\n\n await this.HandleStep(d, await this.translateStatements('finalizing-image-processing'), 50, '5/10');\n this.restoreChartStyles(chartElement, originalStyles);\n\n await this.HandleStep(d, await this.translateStatements('downloading-image'), 75, '7.5/10');\n this.exportService.download(canvasBlob, 'org-chart.png');\n\n await this.HandleStep(d, await this.translateStatements('process-complete'), 100, '10/10');\n\n setTimeout(() => d.close(), 1500);\n } catch (err) {\n console.error('Error capturing chart:', err);\n await this.HandleStep(\n d,\n await this.translateStatements('failed-to-generate-chart-image'),\n 100,\n 'Error',\n 'danger'\n );\n d.close();\n }\n }\n\n /**\n * Expands the chart temporarily to capture the full view.\n * @param chartElement - The HTMLElement representing the chart.\n * @returns An object containing the original and modified styles of the chart.\n */\n private expandChart(chartElement: HTMLElement): {\n originalStyles: {\n originalOverflow: string;\n originalWidth: string;\n originalHeight: string;\n };\n modifiedStyles: {\n modifiedOverflow: string;\n modifiedWidth: string;\n modifiedHeight: string;\n };\n } {\n const originalStyles = {\n originalOverflow: chartElement.style.overflow,\n originalWidth: chartElement.style.width,\n originalHeight: chartElement.style.height,\n };\n\n const modifiedStyles = {\n modifiedOverflow: 'visible',\n modifiedWidth: `${chartElement.scrollWidth}px`,\n modifiedHeight: `${chartElement.scrollHeight}px`,\n };\n\n chartElement.style.overflow = modifiedStyles.modifiedOverflow;\n chartElement.style.width = modifiedStyles.modifiedWidth;\n chartElement.style.height = modifiedStyles.modifiedHeight;\n\n return { originalStyles, modifiedStyles };\n }\n\n /**\n * Restores chart styles after capturing.\n * @param chartElement - The HTMLElement representing the chart.\n * @param originalStyles - The original styles to be restored.\n */\n private restoreChartStyles(\n chartElement: HTMLElement,\n originalStyles: { originalOverflow: string; originalWidth: string; originalHeight: string }\n ): void {\n chartElement.style.overflow = originalStyles.originalOverflow;\n chartElement.style.width = originalStyles.originalWidth;\n chartElement.style.height = originalStyles.originalHeight;\n }\n\n /**\n * Handles updating the progress dialog step.\n * @param dialog - The dialog reference.\n * @param text - The text to display in the dialog.\n * @param progress - The progress value to set.\n * @param status - The status to display.\n * @param color - The color of the progress bar.\n * @returns A promise that resolves when the dialog is updated.\n */\n private async HandleStep(\n dialog: AXDialogRef,\n text: string,\n progress: number,\n status: string,\n color: AXStyleColorType = 'primary'\n ): Promise<void> {\n return new Promise((resolve) => {\n dialog.setProgressColor(color);\n dialog.setProgressText(text);\n dialog.setProgressValue(progress);\n dialog.setProgressStatus(status);\n resolve();\n });\n }\n\n /**\n * Translates a statement using the translation service.\n * @param key - The translation key.\n * @returns A promise that resolves to the translated string.\n */\n private async translateStatements(key: string): Promise<string> {\n return (await this.translationService.translateAsync(key, { scope: 'organization-management' })) + '...';\n }\n}\n","import { AXDialogService } from '@acorex/components/dialog';\nimport { AXMenuItem } from '@acorex/components/menu';\nimport { AXPopupService } from '@acorex/components/popup';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXPSessionService } from '@acorex/platform/auth';\nimport { AXPDataGenerator, AXPRegionalService } from '@acorex/platform/common';\nimport { applyFilterArray } from '@acorex/platform/core';\nimport { AXPPagedListResult, AXPQueryRequest } from '@acorex/platform/layout/entity';\nimport { AXPLayoutThemeService } from '@acorex/platform/themes/shared';\nimport { inject, Injectable, signal } from '@angular/core';\nimport { cloneDeep } from 'lodash-es';\nimport get from 'lodash-es/get';\nimport {\n AXMOrganizationManagementBranchEntityService,\n AXMOrganizationManagementChartEntityService,\n AXMOrganizationManagementDepartmentEntityService,\n AXMOrganizationManagementDivisionEntityService,\n AXMOrganizationManagementEmployeeEntityService,\n AXMOrganizationManagementPositionEntityService,\n} from '../../entities';\nimport { AXMOrgChartConfigService } from './org-chart-configuration.service';\nimport {\n AXM_ORG_CHART_NODE_TYPE_ENTITY_MAPPINGS,\n AXMOrganizationNode,\n AXMOrganizationNodeType,\n AXMOrganizationNodeTypeCategory,\n} from './org-chart.type';\n\n@Injectable()\nexport class AXMOrgChartService {\n private departmentService = inject(AXMOrganizationManagementDepartmentEntityService);\n private divisionService = inject(AXMOrganizationManagementDivisionEntityService);\n private branchService = inject(AXMOrganizationManagementBranchEntityService);\n private employmentService = inject(AXMOrganizationManagementEmployeeEntityService);\n private positionService = inject(AXMOrganizationManagementPositionEntityService);\n private chartService = inject(AXMOrganizationManagementChartEntityService);\n\n private sessionService = inject(AXPSessionService);\n private configService = inject(AXMOrgChartConfigService);\n private popupService = inject(AXPopupService);\n private layoutService = inject(AXPLayoutThemeService);\n private regionalService = inject(AXPRegionalService);\n private dialogService = inject(AXDialogService);\n private translateService = inject(AXTranslationService);\n\n private readonly _rootNode = signal<AXMOrganizationNode>({ id: AXPDataGenerator.uuid(), title: 'Company' });\n\n public readonly rootNode = this._rootNode.asReadonly();\n\n // The clipboard holds the node being cut or copied.\n private clipboard = signal<{ mode: 'cut' | 'copy'; node: AXMOrganizationNode } | null>(null);\n\n //#region Load/Save\n\n public async load(): Promise<void> {\n const first = (\n await this.chartService.query({\n skip: 0,\n take: 1,\n sort: [{ field: 'version', dir: 'desc' }],\n })\n ).items[0];\n //\n if (first) {\n const data = first.data as AXMOrganizationNode;\n this._rootNode.set(data);\n } else {\n await this.createNew();\n await this.load();\n }\n }\n\n private async createNew(): Promise<void> {\n const tenant = this.sessionService.tenant!;\n const record = {\n id: AXPDataGenerator.uuid(),\n createAt: new Date(),\n updateAt: new Date(),\n version: '0.0.0',\n data: {\n id: AXPDataGenerator.uuid(),\n title: tenant.name,\n type: AXMOrganizationNodeType.Company,\n entity: {\n id: tenant.id,\n source: 'tenant',\n },\n children: [],\n },\n };\n await this.chartService.insertOne({ data: record.data, version: record.version });\n }\n\n public async save(): Promise<void> {\n const first = (await this.chartService.query()).items[0];\n await this.chartService.updateOne(first.id!, {\n version: first.version,\n data: this._rootNode(),\n updateAt: new Date(),\n });\n }\n\n //#endregion\n\n //#region Context Menu\n\n public async getAllowedAddMenuItems(node: AXMOrganizationNode): Promise<AXMenuItem[]> {\n const allowedTypes = await this.getAllowedChildCategoriesForParent(node);\n const allowedMenuItems: AXMenuItem[] = [];\n // Group items by category for visual breaks.\n const groupedMenuItems: Record<AXMOrganizationNodeTypeCategory, AXMenuItem[]> = {\n Company: [],\n Location: [],\n BusinessUnit: [],\n Role: [],\n Employee: [],\n };\n\n Object.entries(AXM_ORG_CHART_NODE_TYPE_ENTITY_MAPPINGS).forEach(([entitySource, config]) => {\n if (allowedTypes.includes(config.type)) {\n groupedMenuItems[config.category].push({\n name: 'add',\n text: `${config.title}`,\n icon: config.icon,\n data: {\n node,\n config,\n source: entitySource,\n },\n });\n }\n });\n\n Object.values(groupedMenuItems).forEach((group) => {\n if (group.length > 0) {\n allowedMenuItems.push(...group);\n group[group.length - 1].break = true;\n }\n });\n\n if (allowedMenuItems.length > 0) {\n allowedMenuItems[allowedMenuItems.length - 1].break = false;\n }\n return allowedMenuItems;\n }\n\n //#endregion\n\n //#region Check Permission\n\n private async getAllowedChildCategoriesForParent(parent: AXMOrganizationNode): Promise<AXMOrganizationNodeType[]> {\n await this.configService.load();\n const types = this.configService.types;\n const currentType = parent.type;\n if (!parent || !currentType) {\n return [];\n }\n const allowedTypes: Set<AXMOrganizationNodeType> = new Set();\n Object.entries(AXM_ORG_CHART_NODE_TYPE_ENTITY_MAPPINGS).forEach(([entitySource, config]) => {\n if (this.configService.isAllowed(currentType, config.type) && types.includes(config.type)) {\n allowedTypes.add(config.type);\n }\n });\n return Array.from(allowedTypes);\n }\n\n //#endregion\n\n //#region Remove/Cut/Copy/Past\n\n public async removeNode(id: string) {\n const title = await this.translateService.translateAsync('dialogs.delete.title');\n const message = await this.translateService.translateAsync('dialogs.delete.message');\n const dialogResult = await this.dialogService.confirm(title, message, 'danger', 'horizontal');\n if (dialogResult.result) {\n this._rootNode.update((node) => this.removeNodeRecursively(node, id)!);\n await this.save();\n }\n }\n\n private removeNodeRecursively(node: AXMOrganizationNode, id: string): AXMOrganizationNode | null {\n // If the node itself is the one to be deleted, return null\n if (node.id === id) {\n return null;\n }\n // Otherwise, recursively check children\n if (node.children) {\n node.children = node.children\n .filter((child) => child.id !== id)\n .map((child) => {\n return { ...child, children: this.removeNodeRecursively(child, id)?.children };\n });\n }\n\n return node;\n }\n\n public isPasteAvailable(): boolean {\n return this.clipboard() != null && this.clipboard()?.node != null;\n }\n\n public async allowPaste(target: AXMOrganizationNode): Promise<boolean> {\n if (!this.isPasteAvailable()) {\n return false;\n }\n const allowedTypes = await this.getAllowedChildCategoriesForParent(target);\n // Compare using the clipboard node's category.\n return allowedTypes.includes(this.clipboard()?.node.type!);\n }\n\n /**\n * Cuts the node with the given id.\n * The node is removed from the tree and stored in the clipboard.\n * Cutting the root node is not allowed.\n */\n public async cutNode(id: string): Promise<void> {\n const tree = this._rootNode();\n if (tree.id === id) {\n throw new Error('Cannot cut the root node.');\n }\n const result = this.findNodeAndParent(tree, id);\n if (!result) {\n throw new Error('Node not found.');\n }\n // Set the clipboard signal with mode 'cut'\n this.clipboard.set({ mode: 'cut', node: result.node });\n // Remove the node from the tree.\n const newTree = this.removeNodeRecursively(tree, id);\n this._rootNode.set(newTree!);\n await this.save();\n }\n\n /**\n * Copies the node with the given id.\n * A deep clone of the node is stored in the clipboard.\n */\n public copyNode(id: string): void {\n const tree = this._rootNode();\n const result = this.findNodeAndParent(tree, id);\n if (!result) {\n throw new Error('Node not found.');\n }\n // Use lodash's cloneDeep to create a deep clone.\n const copiedNode = cloneDeep(result.node);\n this.clipboard.set({ mode: 'copy', node: copiedNode });\n }\n\n /**\n * Pastes the node in the clipboard as a child of the node with the given parentId.\n * For a cut, the node is moved; for a copy, new IDs are generated so the pasted node is unique.\n */\n public async pasteNode(parentId: string): Promise<void> {\n const clipboardValue = this.clipboard();\n if (!clipboardValue) {\n throw new Error('Clipboard is empty.');\n }\n const tree = this._rootNode();\n const parentResult = this.findNodeAndParent(tree, parentId);\n if (!parentResult) {\n throw new Error('Parent node not found.');\n }\n let nodeToPaste: AXMOrganizationNode;\n if (clipboardValue.mode === 'cut') {\n nodeToPaste = clipboardValue.node;\n // Clear the clipboard after pasting.\n this.clipboard.set(null);\n } else {\n nodeToPaste = this.cloneNodeWithNewIds(clipboardValue.node);\n }\n const newTree = this.insertNodeRecursively(tree, parentId, nodeToPaste);\n this._rootNode.set(newTree);\n await this.save();\n }\n\n /**\n * Recursively searches the tree for the node with the given id,\n * returning both the node and its parent.\n */\n private findNodeAndParent(\n node: AXMOrganizationNode,\n id: string,\n parent: AXMOrganizationNode | null = null\n ): { node: AXMOrganizationNode; parent: AXMOrganizationNode | null } | null {\n if (node.id === id) {\n return { node, parent };\n }\n if (node.children) {\n for (const child of node.children) {\n const result = this.findNodeAndParent(child, id, node);\n if (result) {\n return result;\n }\n }\n }\n return null;\n }\n\n /**\n * Clones a node recursively and generates new IDs for the node and its children.\n */\n private cloneNodeWithNewIds(node: AXMOrganizationNode): AXMOrganizationNode {\n // First, clone the node using lodash.\n const newNode = cloneDeep(node);\n // Then, assign new IDs recursively.\n this.assignNewIds(newNode);\n return newNode;\n }\n\n /**\n * Recursively assigns new unique IDs to the given node and its children.\n */\n private assignNewIds(node: AXMOrganizationNode): void {\n node.id = AXPDataGenerator.uuid();\n if (node.children) {\n node.children.forEach((child) => this.assignNewIds(child));\n }\n }\n\n /**\n * Recursively traverses the tree to insert newNode as a child of the node with parentId.\n */\n private insertNodeRecursively(\n node: AXMOrganizationNode,\n parentId: string,\n newNode: AXMOrganizationNode\n ): AXMOrganizationNode {\n if (node.id === parentId) {\n const newChildren = node.children ? [...node.children, newNode] : [newNode];\n return { ...node, children: newChildren };\n }\n if (node.children) {\n return {\n ...node,\n children: node.children.map((child) => this.insertNodeRecursively(child, parentId, newNode)),\n };\n }\n return node;\n }\n\n //#endregion\n\n //#region Add Node\n\n public async addNode(data: any): Promise<boolean> {\n this.layoutService.setNavigationLoading(true);\n try {\n const component = (await import('./add-item/add-item.component')).AddItemComponent;\n const node = get(data, 'node') as AXMOrganizationNode;\n const type = get(data, 'config.type');\n const icon = get(data, 'config.icon');\n const source = get(data, 'source');\n let query: (request: AXPQueryRequest) => Promise<AXPPagedListResult<unknown>>;\n\n const countrySource = async (request: AXPQueryRequest) => {\n let list = await this.regionalService.getCountries();\n if (request.filter) {\n list = applyFilterArray(list, [request.filter]);\n }\n const items = list.map((c) => ({\n id: c.code,\n title: c.title,\n }));\n return { items, total: items.length } as AXPPagedListResult;\n };\n\n const provinceSource = async (request: AXPQueryRequest) => {\n let list = await this.regionalService.getProvinces(\n node.type === AXMOrganizationNodeType.Country ? node.entity?.id : undefined\n );\n if (request.filter) {\n list = applyFilterArray(list, [request.filter]);\n }\n const items = list.map((c) => ({\n id: c.code,\n title: c.title,\n }));\n return { items, total: items.length } as AXPPagedListResult;\n };\n\n const citySource = async (request: AXPQueryRequest) => {\n let filter: { countryId?: string; provinceId?: string } = {};\n\n if (node.type === AXMOrganizationNodeType.Country) {\n filter.countryId = node.entity?.id;\n } else if (node.type === AXMOrganizationNodeType.State) {\n filter.provinceId = node.entity?.id;\n }\n\n let list = await this.regionalService.getCities(filter);\n if (request.filter) {\n list = applyFilterArray(list, [request.filter]);\n }\n const items = list.map((c) => ({\n id: c.code,\n title: c.title,\n }));\n return { items, total: items.length } as AXPPagedListResult;\n };\n\n const valueField = 'id';\n const titleField = 'title';\n const subtitleField = null;\n const descriptionField = 'description';\n\n switch (type) {\n case AXMOrganizationNodeType.Country:\n query = countrySource;\n break;\n case AXMOrganizationNodeType.State:\n query = provinceSource;\n break;\n case AXMOrganizationNodeType.City:\n query = citySource;\n break;\n case AXMOrganizationNodeType.Department:\n query = this.departmentService.query.bind(this.departmentService);\n break;\n case AXMOrganizationNodeType.Division:\n query = this.divisionService.query.bind(this.divisionService);\n break;\n case AXMOrganizationNodeType.Branch:\n query = this.branchService.query.bind(this.branchService);\n break;\n case AXMOrganizationNodeType.Position:\n query = this.positionService.query.bind(this.positionService);\n break;\n case AXMOrganizationNodeType.Employee:\n query = this.employmentService.query.bind(this.employmentService);\n break;\n default:\n throw new Error(`Unsupported node type: ${type}`);\n }\n\n const result = await this.popupService.open(component, {\n title: `Add ${get(data, 'config.title')}`,\n size: 'md',\n data: {\n config: {\n valueField,\n titleField,\n subtitleField,\n descriptionField,\n query: query,\n },\n },\n });\n\n if (!result.data) {\n return false;\n }\n\n const newNode: AXMOrganizationNode = {\n id: AXPDataGenerator.uuid(),\n title: result.data.title,\n description: result.data.description,\n subtitle: result.data.subtitle,\n type: type,\n parentId: node.id,\n icon,\n entity: {\n id: result.data.id,\n source: source,\n },\n };\n\n const tree = this._rootNode();\n const newTree = this.insertNodeRecursively(tree, node.id, newNode);\n this._rootNode.set(newTree);\n await this.save();\n\n return true;\n } finally {\n this.layoutService.setNavigationLoading(false);\n }\n }\n\n //#endregion\n}\n","import { AXPanViewDirective } from '@acorex/cdk/pan-view';\nimport { AXBadgeModule } from '@acorex/components/badge';\nimport { AXBreadcrumbsModule } from '@acorex/components/breadcrumbs';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXDropdownButtonModule } from '@acorex/components/dropdown-button';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport {\n AXContextMenuComponent,\n AXContextMenuItemsClickEvent,\n AXContextMenuOpeningEvent,\n AXMenuModule,\n} from '@acorex/components/menu';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPSimplePageLayout } from '@acorex/platform/themes/default';\nimport {\n AXPLayoutThemeService,\n AXPThemeLayoutActionsComponent,\n AXPThemeLayoutBlockComponent,\n AXPThemeLayoutFooterComponent,\n AXPThemeLayoutPageHeaderComponent,\n AXPThemeLayoutPagePrimaryActionsComponent,\n AXPThemeLayoutPageSecondaryActionsComponent,\n} from '@acorex/platform/themes/shared';\nimport { CommonModule } from '@angular/common';\nimport {\n afterNextRender,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n inject,\n NgZone,\n signal,\n TemplateRef,\n viewChild,\n ViewContainerRef,\n ViewEncapsulation,\n} from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport get from 'lodash-es/get';\nimport set from 'lodash-es/set';\nimport { RootConfig } from '../../const';\nimport { AXMOrgChartConfigService } from './org-chart-configuration.service';\nimport { AXMOrgChartPrintService } from './org-chart-print.service';\nimport { AXMOrgChartService } from './org-chart.service';\nimport {\n AXM_ORG_CHART_NODE_TYPE_ENTITY_MAPPINGS,\n AXMOrganizationNode,\n AXMOrganizationNodeType,\n AXMOrganizationNodeTypeCategory,\n} from './org-chart.type';\n\n/**\n * Component for displaying and interacting with an organizational chart.\n */\n@Component({\n templateUrl: './org-chart.page.html',\n styleUrls: ['./org-chart.page.scss'],\n imports: [\n CommonModule,\n RouterModule,\n //\n AXMenuModule,\n AXButtonModule,\n AXDropdownButtonModule,\n AXTranslationModule,\n AXDecoratorModule,\n AXPanViewDirective,\n AXLoadingModule,\n AXBreadcrumbsModule,\n AXBadgeModule,\n //\n AXPSimplePageLayout,\n AXPThemeLayoutBlockComponent,\n AXPThemeLayoutPageHeaderComponent,\n AXPThemeLayoutActionsComponent,\n AXPThemeLayoutPageSecondaryActionsComponent,\n AXPThemeLayoutPagePrimaryActionsComponent,\n AXPThemeLayoutFooterComponent,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [AXMOrgChartConfigService, AXMOrgChartService, AXMOrgChartPrintService],\n})\nexport class AXMOrgChartPage {\n protected readonly layout = inject(AXPLayoutThemeService);\n protected readonly rootConfig = RootConfig;\n\n private d3!: typeof import('d3');\n\n private nodeTemplate = viewChild.required<TemplateRef<any>>('nodeTemplate');\n private treeContainer = viewChild.required<ElementRef<HTMLDivElement>>('chart');\n private parent = viewChild.required<ElementRef<HTMLDivElement>>('parent');\n private contextMenu = viewChild(AXContextMenuComponent);\n private panView = viewChild(AXPanViewDirective);\n\n private ngzone = inject(NgZone);\n private viewContainerRef = inject(ViewContainerRef);\n private chartPrintService = inject(AXMOrgChartPrintService);\n private chartService = inject(AXMOrgChartService);\n\n private readonly NODE_STROKE_COLOR = 'rgba(var(--ax-sys-color-primary-400))';\n private readonly LINK_STROKE_WIDTH = 1;\n\n protected readonly NodeTypes = AXMOrganizationNodeTypeCategory;\n\n protected isFullscreen = signal(false);\n protected panX = signal(0);\n protected panY = signal(0);\n protected panZoomLevel = signal(100);\n\n protected isChartRendered = false;\n\n protected nodeTypes = Object.entries(AXM_ORG_CHART_NODE_TYPE_ENTITY_MAPPINGS).map((c) => ({\n title: c[1].title,\n color: c[1].color,\n icon: c[1].icon,\n category: c[1].category,\n }));\n\n #initialize = afterNextRender(async () => {\n this.d3 = await import('d3');\n await this.chartService.load();\n await this.refreshChart();\n });\n\n /**\n * Zooms in the chart.\n */\n protected zoomIn() {\n this.panView()?.zoomIn();\n }\n\n /**\n * Zooms out the chart.\n */\n protected zoomOut() {\n this.panView()?.zoomOut();\n }\n\n /**\n * Resets the zoom level and pan position of the chart.\n */\n protected zoomReset() {\n this.panView()?.resetPosition();\n }\n\n /**\n * Toggles fullscreen mode for the chart.\n */\n protected toggleFullscreen() {\n if (this.isFullscreen()) {\n document.exitFullscreen();\n this.isFullscreen.set(false);\n } else {\n this.parent().nativeElement.requestFullscreen();\n this.isFullscreen.set(true);\n }\n document.querySelector(`foreignObject[node=\"node-${this.chartService.rootNode().id}\"]`)?.scrollIntoView({\n behavior: 'smooth',\n block: 'start',\n inline: 'center',\n });\n }\n\n /**\n * Calculates the maximum depth of the organizational chart.\n * @param node - The root node of the chart.\n * @returns The maximum depth of the chart.\n */\n private calculateMaxDepth(node: AXMOrganizationNode): number {\n if (!node.children || node.children.length === 0 || node.isExpanded === false) {\n return 1;\n }\n return 1 + Math.max(...node.children.map((child) => this.calculateMaxDepth(child)));\n }\n\n /**\n * Calculates the maximum breadth of the organizational chart.\n * @param node - The root node of the chart.\n * @returns The maximum breadth of the chart.\n */\n private calculateMaxBreadth(node: AXMOrganizationNode): number {\n if (!node.children || node.children.length === 0 || node.isExpanded === false) {\n return 1;\n }\n return node.children.reduce((acc, child) => acc + this.calculateMaxBreadth(child), 0);\n }\n\n /**\n * Creates and renders the organizational chart.\n * @param el - The container element for the chart.\n * @param data - The root node of the organizational chart.\n */\n createChart(el: Element, data: AXMOrganizationNode): void {\n if (!this.d3) {\n return;\n }\n this.ngzone.runOutsideAngular(() => {\n const NODE_WIDTH_BASE = 260;\n const NODE_HEIGHT_BASE = 180;\n const HORIZONTAL_SPACING = 20;\n const VERTICAL_SPACING = 40;\n\n this.clearChart(el);\n const newSvg = this.d3.select(el).append('svg');\n\n const root = this.d3.hierarchy(data);\n\n root.descendants().forEach((node: any) => {\n if (node.data.isExpanded === false) {\n node.children = undefined;\n }\n });\n\n const treeLayout = this.d3\n .tree<AXMOrganizationNode>()\n .nodeSize([NODE_WIDTH_BASE + HORIZONTAL_SPACING, NODE_HEIGHT_BASE + VERTICAL_SPACING]);\n\n treeLayout(root);\n\n let minX = Infinity,\n maxX = -Infinity,\n minY = Infinity,\n maxY = -Infinity;\n root.descendants().forEach((d: any) => {\n if (d.x < minX) minX = d.x;\n if (d.x > maxX) maxX = d.x;\n if (d.y < minY) minY = d.y;\n if (d.y > maxY) maxY = d.y;\n });\n\n const CONTAINER_WIDTH = maxX - minX + NODE_WIDTH_BASE + 2 * HORIZONTAL_SPACING;\n const CONTAINER_HEIGHT = maxY - minY + NODE_HEIGHT_BASE + 2 * VERTICAL_SPACING;\n\n newSvg.attr('width', CONTAINER_WIDTH).attr('height', CONTAINER_HEIGHT);\n\n const g = newSvg\n .append('g')\n .attr(\n 'transform',\n `translate(${-minX + NODE_WIDTH_BASE / 2 + HORIZONTAL_SPACING / 2}, ${-minY + NODE_HEIGHT_BASE / 2 + VERTICAL_SPACING / 2\n })`\n );\n\n const link = g\n .selectAll('.link')\n .data(root.links())\n .enter()\n .append('path')\n .attr('class', 'link')\n .attr('d', (d: any) => {\n const source = d.source;\n const target = d.target;\n return `M${source.x},${source.y}V${(source.y + target.y) / 2}H${target.x}V${target.y - 10}`;\n })\n .attr('fill', 'none')\n .attr('stroke', this.NODE_STROKE_COLOR)\n .attr('stroke-width', this.LINK_STROKE_WIDTH)\n .attr('from', (d: any) => `node-${d.source.data.id}`)\n .attr('to', (d: any) => `node-${d.target.data.id}`);\n\n const node = g\n .selectAll('.axp-chart-node')\n .data(root.descendants())\n .enter()\n .append('foreignObject')\n .attr('class', 'axp-chart-node')\n .attr('node', (d: any) => `node-${d.data.id}`)\n .attr('x', (d: any) => d.x - NODE_WIDTH_BASE / 2)\n .attr('y', (d: any) => d.y - NODE_HEIGHT_BASE / 2 + 10)\n .attr('width', NODE_WIDTH_BASE)\n .attr('height', NODE_HEIGHT_BASE)\n .each((d: any) => this.renderNodeTemplate(d.data, d.x, d.y));\n\n this.contextMenu()?.refresh();\n });\n if (!this.isChartRendered) {\n // document.querySelector(`foreignObject[node=\"node-${data.id}\"] .--heading-container`)?.scrollIntoView({\n // behavior: 'smooth',\n // block: 'center',\n // inline: 'center',\n // });\n this.isChartRendered = true;\n this.panView()?.resetPosition();\n }\n }\n\n /**\n * Renders the node template for a given organizational node.\n * @param data - The node data.\n * @param x - The x-coordinate of the node.\n * @param y - The y-coordinate of the node.\n */\n private renderNodeTemplate(data: AXMOrganizationNode, x: number, y: number): void {\n // Find the key that matches the node type\n const entityKey = Object.keys(AXM_ORG_CHART_NODE_TYPE_ENTITY_MAPPINGS).find((key) => {\n const keyName = key.split('.').pop(); // Get the last part after splitting by '.'\n return keyName === data.type; // Compare with data.type\n });\n\n if (entityKey) {\n const categoryMapping = AXM_ORG_CHART_NODE_TYPE_ENTITY_MAPPINGS[entityKey];\n\n // Add the category to the data object\n set(data, 'category', categoryMapping.category);\n }\n\n const viewRef = this.viewContainerRef.createEmbeddedView(this.nodeTemplate(), {\n $implicit: data,\n });\n\n const nodeElement = this.d3.select(this.treeContainer().nativeElement).select(`[node=\"node-${data.id}\"]`);\n const element = nodeElement.node() as HTMLElement | null;\n if (element) {\n element.appendChild(viewRef.rootNodes[0]);\n }\n }\n\n /**\n * Toggles the expansion state of a node.\n * @param data - The node data.\n * @param el - The HTML element representing the node.\n */\n protected toggleNode(data: AXMOrganizationNode, el: HTMLDivElement) {\n data.isExpanded = data.isExpanded === undefined ? false : !data.isExpanded;\n this.createChart(this.treeContainer().nativeElement, this.chartService.rootNode());\n // el.scrollIntoView({\n // behavior: 'smooth',\n // });\n }\n\n /**\n * Clears the chart from the container element.\n * @param el - The container element.\n */\n private clearChart(el: Element): void {\n if (this.d3) {\n this.d3.select(el).select('svg').remove();\n this.viewContainerRef.clear();\n }\n }\n\n private async refreshChart() {\n if (this.d3) {\n this.createChart(this.treeContainer().nativeElement, this.chartService.rootNode());\n }\n }\n\n //#region Context Menu\n\n protected async handleContextMenuOnOpening(e: AXContextMenuOpeningEvent) {\n const node = get(e.targetElement, '__data__.data') as any as AXMOrganizationNode;\n const allowedAddItems = await this.chartService.getAllowedAddMenuItems(node);\n const allowDelete = node.type != AXMOrganizationNodeType.Company;\n const isPasteAvailable = await this.chartService.isPasteAvailable();\n const allowPaste = await this.chartService.allowPaste(node);\n //\n if (allowedAddItems.length) {\n e.items.push({\n text: 'Add New',\n icon: 'fa-light fa-plus',\n items: allowedAddItems,\n break: allowDelete,\n });\n }\n //\n if (allowDelete) {\n e.items.push({\n name: 'cut',\n text: 'Cut',\n icon: 'fa-light fa-cut',\n data: node,\n });\n e.items.push({\n name: 'copy',\n text: 'Copy',\n icon: 'fa-light fa-copy',\n data: node,\n break: !isPasteAvailable,\n });\n }\n if (isPasteAvailable) {\n e.items.push({\n name: 'paste',\n text: 'Paste',\n icon: 'fa-light fa-paste',\n data: node,\n break: true,\n disabled: !allowPaste,\n });\n }\n //\n if (allowDelete) {\n e.items.push({\n name: 'remove',\n text: 'Remove',\n color: 'danger',\n icon: 'fa-light fa-trash-can',\n data: node,\n });\n }\n //\n if (e.items.length == 0) {\n e.canceled = true;\n }\n }\n\n protected async handleContextMenuItemClick(e: AXContextMenuItemsClickEvent) {\n //\n if (e.item.name == 'add') {\n if (await this.chartService.addNode(e.item.data)) {\n await this.refreshChart();\n }\n }\n //\n else if (e.item.name == 'remove') {\n await this.chartService.removeNode(e.item.data.id);\n await this.refreshChart();\n }\n //\n else if (e.item.name == 'copy') {\n await this.chartService.copyNode(e.item.data.id);\n } else if (e.item.name == 'cut') {\n await this.chartService.cutNode(e.item.data.id);\n await this.refreshChart();\n } else if (e.item.name == 'paste') {\n await this.chartService.pasteNode(e.item.data.id);\n await this.refreshChart();\n }\n }\n\n //#endregion\n\n /**\n * Prints the organizational chart.\n */\n protected async printChart() {\n let [panX, panY, panZoomLevel] = [this.panX(), this.panY(), this.panZoomLevel()];\n this.panX.set(0), this.panY.set(0), this.panZoomLevel.set(100);\n await this.chartPrintService.printChart(this.treeContainer().nativeElement);\n this.panX.set(panX), this.panY.set(panY), this.panZoomLevel.set(panZoomLevel);\n }\n\n /**\n * Gets the node colors based on the provided color.\n * @param color - The color to use for the node.\n * @returns An object containing the node's background, text, and border colors.\n */\n protected getNodeColors(color: string) {\n if (color.includes('surface')) {\n return {\n '--node-bg-color': `var(--ax-sys-color-${color})`,\n '--node-text-color': `var(--ax-sys-color-on-${color})`,\n '--node-border-color': `var(--ax-sys-color-border-${color})`,\n };\n }\n return {\n '--node-bg-color': `var(--ax-sys-color-${color}-surface)`,\n '--node-text-color': `var(--ax-sys-color-on-${color}-surface)`,\n '--node-border-color': `var(--ax-sys-color-border-${color}-surface)`,\n };\n }\n\n protected updateVar(oldValue: any, newValue: AXMOrganizationNodeTypeCategory) {\n oldValue.cat = newValue;\n }\n\n ngOnDestroy(): void {\n this.clearChart(this.treeContainer().nativeElement);\n }\n}\n","<axp-layout-simple-page *translate=\"let t\">\n <axp-layout-page-header>\n <axp-layout-title> {{t(rootConfig.entities.chart.title) | async}} </axp-layout-title>\n\n <axp-layout-description> Clear and dynamic view of your organization's structure </axp-layout-description>\n\n <axp-layout-actions>\n <axp-layout-actions-primary> </axp-layout-actions-primary>\n\n <axp-layout-actions-secondary>\n <ax-button-item [text]=\"(t('print') | async)!\" (onClick)=\"printChart()\">\n <ax-prefix>\n <ax-icon [icon]=\"'fa-solid fa-print'\"> </ax-icon>\n </ax-prefix>\n </ax-button-item>\n </axp-layout-actions-secondary>\n </axp-layout-actions>\n\n <axp-layout-breadcrumbs>\n <ax-breadcrumbs [class.ax-hidden]=\"layout.isSmall()\">\n <ng-template #divider>\n <i class=\"fa-regular fa-slash-forward\"></i>\n </ng-template>\n <ax-breadcrumbs-item> {{(t('home') | async)}} </ax-breadcrumbs-item>\n <ax-breadcrumbs-item> Organization </ax-breadcrumbs-item>\n </ax-breadcrumbs>\n </axp-layout-breadcrumbs>\n </axp-layout-page-header>\n\n <axp-layout-page-content class=\"ax-overflow-hidden\">\n <div class=\"ax-h-[calc(100vh-290px)]\" #parent id=\"parent\">\n <div #chart axPanView [(panX)]=\"panX\" [(panY)]=\"panY\" [freeMode]=\"true\" [(zoom)]=\"panZoomLevel\"\n [fitContent]=\"true\" wrapperClasses=\"h\" class=\"ax-light\"></div>\n <ax-context-menu [target]=\"'.axp-chart-node'\" [orientation]=\"'vertical'\" [closeOn]=\"'leave'\"\n (onItemClick)=\"handleContextMenuItemClick($event)\" (onOpening)=\"handleContextMenuOnOpening($event)\">\n </ax-context-menu>\n </div>\n </axp-layout-page-content>\n <axp-layout-page-footer>\n <axp-layout-prefix>\n <div class=\"ax-flex ax-gap-1 ax-light ax-flex-wrap ax-justify-center\">\n @let v = {cat:'Company'};\n @for (item of nodeTypes; track $index) {\n <div class=\"axp-node-hint\" [style]=\"getNodeColors(item.color)\" [class.ax-ms-4]=\"v.cat!=item.category\">\n <div class=\"--badge\">\n </div>\n {{item.title}}\n </div>\n {{updateVar(v,item.category)}}\n }\n </div>\n </axp-layout-prefix>\n <axp-layout-suffix>\n <div class=\"ax-flex ax-gap-2 \">\n <ax-button (onClick)=\"zoomOut()\">\n <ax-icon class=\"fa-solid fa-minus\"> </ax-icon>\n </ax-button>\n <ax-button [text]=\"panZoomLevel()\" (onClick)=\"zoomReset()\"></ax-button>\n <ax-button (onClick)=\"zoomIn()\">\n <ax-icon class=\"fa-solid fa-add\"> </ax-icon>\n </ax-button>\n <ax-button (onClick)=\"toggleFullscreen()\">\n <ax-icon>\n <i class=\"fa-solid\" [class]=\"isFullscreen()? 'fa-compress' : 'fa-expand'\"></i>\n </ax-icon>\n </ax-button>\n </div>\n </axp-layout-suffix>\n </axp-layout-page-footer>\n</axp-layout-simple-page>\n\n<ng-template #nodeTemplate let-data>\n <div>\n @switch (data.category) {\n <!-- Company -->\n @case (NodeTypes.Company) {\n <ng-container *ngTemplateOutlet=\"generalTemplate; context: { data,color:'primary' }\"></ng-container>\n }\n <!-- Location -->\n @case (NodeTypes.Location) {\n <ng-container *ngTemplateOutlet=\"generalTemplate; context: { data,color:'accent1' }\"></ng-container>\n }\n <!-- BusinessUnit -->\n @case (NodeTypes.BusinessUnit) {\n <ng-container *ngTemplateOutlet=\"generalTemplate; context: { data,color:'accent2' }\"></ng-container>\n }\n <!-- Role -->\n @case (NodeTypes.Role) {\n <ng-container *ngTemplateOutlet=\"generalTemplate; context: { data,color:'accent3' }\"></ng-container>\n }\n <!-- Employee -->\n @case (NodeTypes.Employee) {\n <ng-container *ngTemplateOutlet=\"generalTemplate; context: { data,color:'surface' }\"></ng-container>\n }\n }\n </div>\n</ng-template>\n\n<!----------------------------------- General Node Template ----------------------------------->\n<ng-template #generalTemplate let-data=\"data\" let-color=\"color\">\n <div #node class=\"--node-container\" [style]=\"getNodeColors(color)\">\n <div class=\"--container\">\n <div class=\"--heading-container\">\n <div class=\"--content\">\n <div class=\"--icon\">\n <i class=\"fa-light fa-xl fa-fw\" [class]=\"data.icon\"></i>\n </div>\n <div class=\"--titles\">\n <span class=\"--title\">{{data.title}}</span>\n @if(data.subtitle)\n {\n <span class=\"--sub-title\">{{data.subtitle}}</span>\n }\n </div>\n @if(data?.children?.length){\n <div class=\"--badge\">\n <span>{{data?.children?.length ?? 0}}</span>\n </div>\n }\n </div>\n </div>\n @if(data.description)\n {\n <div class=\"--body-container\">\n <div class=\"--description\" [class.ax-pb-3]=\"data.children && data.children.length > 0\">\n {{data.description}}\n </div>\n </div>\n }\n @if(data.children && data.children.length > 0){\n <div class=\"--toggle\">\n <ax-button class=\"ax-xs ax-rounded-sm\" (onClick)=\"toggleNode(data,node)\">\n <ax-icon icon=\"fa-solid\" [class]=\"data.isExpanded === false ? 'fa-chevron-down' : 'fa-chevron-up'\"></ax-icon>\n </ax-button>\n </div>\n }\n </div>\n </div>\n</ng-template>"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA;;AAEG;MAEU,uBAAuB,CAAA;AADpC,IAAA,WAAA,GAAA;AAEU,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,sBAAsB,CAAC;AAC9C,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,gBAAgB,CAAC;AACxC,QAAA,IAAA,CAAA,kBAAkB,GAAG,MAAM,CAAC,oBAAoB,CAAC;AAwJ1D;AAtJC;;;;AAIG;IACH,MAAM,UAAU,CAAC,OAAoB,EAAA;AACnC,QAAA,MAAM,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;AAChC,YAAA,KAAK,EAAE,gCAAgC;AACvC,YAAA,IAAI,EAAE,aAAa;AACnB,YAAA,aAAa,EAAE,SAAS;AACxB,YAAA,aAAa,EAAE,CAAC;AAChB,YAAA,MAAM,EAAE,MAAM;AACd,YAAA,IAAI,EAAE,+BAA+B;AACrC,YAAA,OAAO,EAAE;AACP,gBAAA;AACE,oBAAA,IAAI,EAAE,QAAQ;AACd,oBAAA,KAAK,EAAE,QAAQ;oBACf,OAAO,EAAE,MAAK;wBACZ,CAAC,CAAC,KAAK,EAAE;qBACV;AACF,iBAAA;AACF,aAAA;AACF,SAAA,CAAC;AAEF,QAAA,IAAI;AACF,YAAA,MAAM,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,MAAM,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC;YAC1F,MAAM,YAAY,GAAG,OAAO;AAC5B,YAAA,MAAM,EAAE,cAAc,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC;AAEzE,YAAA,MAAM,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,MAAM,IAAI,CAAC,mBAAmB,CAAC,uBAAuB,CAAC,EAAE,EAAE,EAAE,QAAQ,CAAC;YAC/F,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,uBAAuB,CAAC,YAAY,EAAE;AAChF,gBAAA,KAAK,EAAE,IAAI;AACX,gBAAA,MAAM,EAAE,CAAC,IAAU,KAAI;AACrB,oBAAA,IAAI,IAAI,YAAY,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;AAClE,wBAAA,OAAO,KAAK;;AAEd,oBAAA,OAAO,IAAI;iBACZ;AACD,gBAAA,OAAO,EAAE,aAAa;AACtB,gBAAA,KAAK,EAAE,CAAC;AACR,gBAAA,OAAO,EAAE,CAAC;gBACV,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC;gBACtD,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC;AACrD,aAAA,CAAC;AAEF,YAAA,MAAM,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,MAAM,IAAI,CAAC,mBAAmB,CAAC,6BAA6B,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC;AACnG,YAAA,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,cAAc,CAAC;AAErD,YAAA,MAAM,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,MAAM,IAAI,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,EAAE,EAAE,EAAE,QAAQ,CAAC;YAC3F,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAC;AAExD,YAAA,MAAM,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,MAAM,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC;YAE1F,UAAU,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC;;QACjC,OAAO,GAAG,EAAE;AACZ,YAAA,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,GAAG,CAAC;YAC5C,MAAM,IAAI,CAAC,UAAU,CACnB,CAAC,EACD,MAAM,IAAI,CAAC,mBAAmB,CAAC,gCAAgC,CAAC,EAChE,GAAG,EACH,OAAO,EACP,QAAQ,CACT;YACD,CAAC,CAAC,KAAK,EAAE;;;AAIb;;;;AAIG;AACK,IAAA,WAAW,CAAC,YAAyB,EAAA;AAY3C,QAAA,MAAM,cAAc,GAAG;AACrB,YAAA,gBAAgB,EAAE,YAAY,CAAC,KAAK,CAAC,QAAQ;AAC7C,YAAA,aAAa,EAAE,YAAY,CAAC,KAAK,CAAC,KAAK;AACvC,YAAA,cAAc,EAAE,YAAY,CAAC,KAAK,CAAC,MAAM;SAC1C;AAED,QAAA,MAAM,cAAc,GAAG;AACrB,YAAA,gBAAgB,EAAE,SAAS;AAC3B,YAAA,aAAa,EAAE,CAAA,EAAG,YAAY,CAAC,WAAW,CAAI,EAAA,CAAA;AAC9C,YAAA,cAAc,EAAE,CAAA,EAAG,YAAY,CAAC,YAAY,CAAI,EAAA,CAAA;SACjD;QAED,YAAY,CAAC,KAAK,CAAC,QAAQ,GAAG,cAAc,CAAC,gBAAgB;QAC7D,YAAY,CAAC,KAAK,CAAC,KAAK,GAAG,cAAc,CAAC,aAAa;QACvD,YAAY,CAAC,KAAK,CAAC,MAAM,GAAG,cAAc,CAAC,cAAc;AAEzD,QAAA,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE;;AAG3C;;;;AAIG;IACK,kBAAkB,CACxB,YAAyB,EACzB,cAA2F,EAAA;QAE3F,YAAY,CAAC,KAAK,CAAC,QAAQ,GAAG,cAAc,CAAC,gBAAgB;QAC7D,YAAY,CAAC,KAAK,CAAC,KAAK,GAAG,cAAc,CAAC,aAAa;QACvD,YAAY,CAAC,KAAK,CAAC,MAAM,GAAG,cAAc,CAAC,cAAc;;AAG3D;;;;;;;;AAQG;AACK,IAAA,MAAM,UAAU,CACtB,MAAmB,EACnB,IAAY,EACZ,QAAgB,EAChB,MAAc,EACd,KAAA,GAA0B,SAAS,EAAA;AAEnC,QAAA,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,KAAI;AAC7B,YAAA,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC;AAC9B,YAAA,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC;AAC5B,YAAA,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC;AACjC,YAAA,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC;AAChC,YAAA,OAAO,EAAE;AACX,SAAC,CAAC;;AAGJ;;;;AAIG;IACK,MAAM,mBAAmB,CAAC,GAAW,EAAA;AAC3C,QAAA,OAAO,CAAC,MAAM,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,yBAAyB,EAAE,CAAC,IAAI,KAAK;;8GAzJ/F,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kHAAvB,uBAAuB,EAAA,CAAA,CAAA;;2FAAvB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBADnC;;;MCoBY,kBAAkB,CAAA;AAD/B,IAAA,WAAA,GAAA;AAEU,QAAA,IAAA,CAAA,iBAAiB,GAAG,MAAM,CAAC,gDAAgD,CAAC;AAC5E,QAAA,IAAA,CAAA,eAAe,GAAG,MAAM,CAAC,8CAA8C,CAAC;AACxE,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,4CAA4C,CAAC;AACpE,QAAA,IAAA,CAAA,iBAAiB,GAAG,MAAM,CAAC,8CAA8C,CAAC;AAC1E,QAAA,IAAA,CAAA,eAAe,GAAG,MAAM,CAAC,8CAA8C,CAAC;AACxE,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAAC,2CAA2C,CAAC;AAElE,QAAA,IAAA,CAAA,cAAc,GAAG,MAAM,CAAC,iBAAiB,CAAC;AAC1C,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,wBAAwB,CAAC;AAChD,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAAC,cAAc,CAAC;AACrC,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,qBAAqB,CAAC;AAC7C,QAAA,IAAA,CAAA,eAAe,GAAG,MAAM,CAAC,kBAAkB,CAAC;AAC5C,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,eAAe,CAAC;AACvC,QAAA,IAAA,CAAA,gBAAgB,GAAG,MAAM,CAAC,oBAAoB,CAAC;AAEtC,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAsB,EAAE,EAAE,EAAE,gBAAgB,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;AAE3F,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE;;AAG9C,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAA6D,IAAI,CAAC;AA2a7F;;AAvaQ,IAAA,MAAM,IAAI,GAAA;QACf,MAAM,KAAK,GAAG,CACZ,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;AAC5B,YAAA,IAAI,EAAE,CAAC;AACP,YAAA,IAAI,EAAE,CAAC;YACP,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC;AAC1C,SAAA,CAAC,EACF,KAAK,CAAC,CAAC,CAAC;;QAEV,IAAI,KAAK,EAAE;AACT,YAAA,MAAM,IAAI,GAAG,KAAK,CAAC,IAA2B;AAC9C,YAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC;;aACnB;AACL,YAAA,MAAM,IAAI,CAAC,SAAS,EAAE;AACtB,YAAA,MAAM,IAAI,CAAC,IAAI,EAAE;;;AAIb,IAAA,MAAM,SAAS,GAAA;AACrB,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,MAAO;AAC1C,QAAA,MAAM,MAAM,GAAG;AACb,YAAA,EAAE,EAAE,gBAAgB,CAAC,IAAI,EAAE;YAC3B,QAAQ,EAAE,IAAI,IAAI,EAAE;YACpB,QAAQ,EAAE,IAAI,IAAI,EAAE;AACpB,YAAA,OAAO,EAAE,OAAO;AAChB,YAAA,IAAI,EAAE;AACJ,gBAAA,EAAE,EAAE,gBAAgB,CAAC,IAAI,EAAE;gBAC3B,KAAK,EAAE,MAAM,CAAC,IAAI;gBAClB,IAAI,EAAE,uBAAuB,CAAC,OAAO;AACrC,gBAAA,MAAM,EAAE;oBACN,EAAE,EAAE,MAAM,CAAC,EAAE;AACb,oBAAA,MAAM,EAAE,QAAQ;AACjB,iBAAA;AACD,gBAAA,QAAQ,EAAE,EAAE;AACb,aAAA;SACF;QACD,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;;AAG5E,IAAA,MAAM,IAAI,GAAA;AACf,QAAA,MAAM,KAAK,GAAG,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC;QACxD,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,EAAG,EAAE;YAC3C,OAAO,EAAE,KAAK,CAAC,OAAO;AACtB,YAAA,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE;YACtB,QAAQ,EAAE,IAAI,IAAI,EAAE;AACrB,SAAA,CAAC;;;;IAOG,MAAM,sBAAsB,CAAC,IAAyB,EAAA;QAC3D,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,kCAAkC,CAAC,IAAI,CAAC;QACxE,MAAM,gBAAgB,GAAiB,EAAE;;AAEzC,QAAA,MAAM,gBAAgB,GAA0D;AAC9E,YAAA,OAAO,EAAE,EAAE;AACX,YAAA,QAAQ,EAAE,EAAE;AACZ,YAAA,YAAY,EAAE,EAAE;AAChB,YAAA,IAAI,EAAE,EAAE;AACR,YAAA,QAAQ,EAAE,EAAE;SACb;AAED,QAAA,MAAM,CAAC,OAAO,CAAC,uCAAuC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,EAAE,MAAM,CAAC,KAAI;YACzF,IAAI,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;AACtC,gBAAA,gBAAgB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC;AACrC,oBAAA,IAAI,EAAE,KAAK;AACX,oBAAA,IAAI,EAAE,CAAA,EAAG,MAAM,CAAC,KAAK,CAAE,CAAA;oBACvB,IAAI,EAAE,MAAM,CAAC,IAAI;AACjB,oBAAA,IAAI,EAAE;wBACJ,IAAI;wBACJ,MAAM;AACN,wBAAA,MAAM,EAAE,YAAY;AACrB,qBAAA;AACF,iBAAA,CAAC;;AAEN,SAAC,CAAC;QAEF,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,KAAI;AAChD,YAAA,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;AACpB,gBAAA,gBAAgB,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;gBAC/B,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI;;AAExC,SAAC,CAAC;AAEF,QAAA,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE;YAC/B,gBAAgB,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,KAAK;;AAE7D,QAAA,OAAO,gBAAgB;;;;IAOjB,MAAM,kCAAkC,CAAC,MAA2B,EAAA;AAC1E,QAAA,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE;AAC/B,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK;AACtC,QAAA,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI;AAC/B,QAAA,IAAI,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE;AAC3B,YAAA,OAAO,EAAE;;AAEX,QAAA,MAAM,YAAY,GAAiC,IAAI,GAAG,EAAE;AAC5D,QAAA,MAAM,CAAC,OAAO,CAAC,uCAAuC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,EAAE,MAAM,CAAC,KAAI;YACzF,IAAI,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;AACzF,gBAAA,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;;AAEjC,SAAC,CAAC;AACF,QAAA,OAAO,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC;;;;IAO1B,MAAM,UAAU,CAAC,EAAU,EAAA;QAChC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,sBAAsB,CAAC;QAChF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,wBAAwB,CAAC;AACpF,QAAA,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,CAAC;AAC7F,QAAA,IAAI,YAAY,CAAC,MAAM,EAAE;AACvB,YAAA,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,EAAE,CAAE,CAAC;AACtE,YAAA,MAAM,IAAI,CAAC,IAAI,EAAE;;;IAIb,qBAAqB,CAAC,IAAyB,EAAE,EAAU,EAAA;;AAEjE,QAAA,IAAI,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE;AAClB,YAAA,OAAO,IAAI;;;AAGb,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;iBAClB,MAAM,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,EAAE,KAAK,EAAE;AACjC,iBAAA,GAAG,CAAC,CAAC,KAAK,KAAI;AACb,gBAAA,OAAO,EAAE,GAAG,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,QAAQ,EAAE;AAChF,aAAC,CAAC;;AAGN,QAAA,OAAO,IAAI;;IAGN,gBAAgB,GAAA;AACrB,QAAA,OAAO,IAAI,CAAC,SAAS,EAAE,IAAI,IAAI,IAAI,IAAI,CAAC,SAAS,EAAE,EAAE,IAAI,IAAI,IAAI;;IAG5D,MAAM,UAAU,CAAC,MAA2B,EAAA;AACjD,QAAA,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE;AAC5B,YAAA,OAAO,KAAK;;QAEd,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,kCAAkC,CAAC,MAAM,CAAC;;AAE1E,QAAA,OAAO,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,IAAK,CAAC;;AAG5D;;;;AAIG;IACI,MAAM,OAAO,CAAC,EAAU,EAAA;AAC7B,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE;AAC7B,QAAA,IAAI,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE;AAClB,YAAA,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC;;QAE9C,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,EAAE,CAAC;QAC/C,IAAI,CAAC,MAAM,EAAE;AACX,YAAA,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC;;;AAGpC,QAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;;QAEtD,MAAM,OAAO,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,EAAE,CAAC;AACpD,QAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAQ,CAAC;AAC5B,QAAA,MAAM,IAAI,CAAC,IAAI,EAAE;;AAGnB;;;AAGG;AACI,IAAA,QAAQ,CAAC,EAAU,EAAA;AACxB,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE;QAC7B,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,EAAE,CAAC;QAC/C,IAAI,CAAC,MAAM,EAAE;AACX,YAAA,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC;;;QAGpC,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC;AACzC,QAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;;AAGxD;;;AAGG;IACI,MAAM,SAAS,CAAC,QAAgB,EAAA;AACrC,QAAA,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,EAAE;QACvC,IAAI,CAAC,cAAc,EAAE;AACnB,YAAA,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC;;AAExC,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE;QAC7B,MAAM,YAAY,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,QAAQ,CAAC;QAC3D,IAAI,CAAC,YAAY,EAAE;AACjB,YAAA,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC;;AAE3C,QAAA,IAAI,WAAgC;AACpC,QAAA,IAAI,cAAc,CAAC,IAAI,KAAK,KAAK,EAAE;AACjC,YAAA,WAAW,GAAG,cAAc,CAAC,IAAI;;AAEjC,YAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC;;aACnB;YACL,WAAW,GAAG,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC,IAAI,CAAC;;AAE7D,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,CAAC;AACvE,QAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC;AAC3B,QAAA,MAAM,IAAI,CAAC,IAAI,EAAE;;AAGnB;;;AAGG;AACK,IAAA,iBAAiB,CACvB,IAAyB,EACzB,EAAU,EACV,SAAqC,IAAI,EAAA;AAEzC,QAAA,IAAI,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE;AAClB,YAAA,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE;;AAEzB,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAA,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjC,gBAAA,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,EAAE,EAAE,IAAI,CAAC;gBACtD,IAAI,MAAM,EAAE;AACV,oBAAA,OAAO,MAAM;;;;AAInB,QAAA,OAAO,IAAI;;AAGb;;AAEG;AACK,IAAA,mBAAmB,CAAC,IAAyB,EAAA;;AAEnD,QAAA,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC;;AAE/B,QAAA,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC;AAC1B,QAAA,OAAO,OAAO;;AAGhB;;AAEG;AACK,IAAA,YAAY,CAAC,IAAyB,EAAA;AAC5C,QAAA,IAAI,CAAC,EAAE,GAAG,gBAAgB,CAAC,IAAI,EAAE;AACjC,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;;;AAI9D;;AAEG;AACK,IAAA,qBAAqB,CAC3B,IAAyB,EACzB,QAAgB,EAChB,OAA4B,EAAA;AAE5B,QAAA,IAAI,IAAI,CAAC,EAAE,KAAK,QAAQ,EAAE;YACxB,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;YAC3E,OAAO,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE;;AAE3C,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,OAAO;AACL,gBAAA,GAAG,IAAI;gBACP,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;aAC7F;;AAEH,QAAA,OAAO,IAAI;;;;IAON,MAAM,OAAO,CAAC,IAAS,EAAA;AAC5B,QAAA,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,IAAI,CAAC;AAC7C,QAAA,IAAI;YACF,MAAM,SAAS,GAAG,CAAC,MAAM,OAAO,0EAA+B,CAAC,EAAE,gBAAgB;YAClF,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,EAAE,MAAM,CAAwB;YACrD,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,EAAE,aAAa,CAAC;YACrC,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,EAAE,aAAa,CAAC;YACrC,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC;AAClC,YAAA,IAAI,KAAyE;AAE7E,YAAA,MAAM,aAAa,GAAG,OAAO,OAAwB,KAAI;gBACvD,IAAI,IAAI,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE;AACpD,gBAAA,IAAI,OAAO,CAAC,MAAM,EAAE;oBAClB,IAAI,GAAG,gBAAgB,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;;gBAEjD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM;oBAC7B,EAAE,EAAE,CAAC,CAAC,IAAI;oBACV,KAAK,EAAE,CAAC,CAAC,KAAK;AACf,iBAAA,CAAC,CAAC;gBACH,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAwB;AAC7D,aAAC;AAED,YAAA,MAAM,cAAc,GAAG,OAAO,OAAwB,KAAI;AACxD,gBAAA,IAAI,IAAI,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,YAAY,CAChD,IAAI,CAAC,IAAI,KAAK,uBAAuB,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,GAAG,SAAS,CAC5E;AACD,gBAAA,IAAI,OAAO,CAAC,MAAM,EAAE;oBAClB,IAAI,GAAG,gBAAgB,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;;gBAEjD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM;oBAC7B,EAAE,EAAE,CAAC,CAAC,IAAI;oBACV,KAAK,EAAE,CAAC,CAAC,KAAK;AACf,iBAAA,CAAC,CAAC;gBACH,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAwB;AAC7D,aAAC;AAED,YAAA,MAAM,UAAU,GAAG,OAAO,OAAwB,KAAI;gBACpD,IAAI,MAAM,GAAgD,EAAE;gBAE5D,IAAI,IAAI,CAAC,IAAI,KAAK,uBAAuB,CAAC,OAAO,EAAE;oBACjD,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE;;qBAC7B,IAAI,IAAI,CAAC,IAAI,KAAK,uBAAuB,CAAC,KAAK,EAAE;oBACtD,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE;;gBAGrC,IAAI,IAAI,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,MAAM,CAAC;AACvD,gBAAA,IAAI,OAAO,CAAC,MAAM,EAAE;oBAClB,IAAI,GAAG,gBAAgB,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;;gBAEjD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM;oBAC7B,EAAE,EAAE,CAAC,CAAC,IAAI;oBACV,KAAK,EAAE,CAAC,CAAC,KAAK;AACf,iBAAA,CAAC,CAAC;gBACH,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAwB;AAC7D,aAAC;YAED,MAAM,UAAU,GAAG,IAAI;YACvB,MAAM,UAAU,GAAG,OAAO;YAC1B,MAAM,aAAa,GAAG,IAAI;YAC1B,MAAM,gBAAgB,GAAG,aAAa;YAEtC,QAAQ,IAAI;gBACV,KAAK,uBAAuB,CAAC,OAAO;oBAClC,KAAK,GAAG,aAAa;oBACrB;gBACF,KAAK,uBAAuB,CAAC,KAAK;oBAChC,KAAK,GAAG,cAAc;oBACtB;gBACF,KAAK,uBAAuB,CAAC,IAAI;oBAC/B,KAAK,GAAG,UAAU;oBAClB;gBACF,KAAK,uBAAuB,CAAC,UAAU;AACrC,oBAAA,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC;oBACjE;gBACF,KAAK,uBAAuB,CAAC,QAAQ;AACnC,oBAAA,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC;oBAC7D;gBACF,KAAK,uBAAuB,CAAC,MAAM;AACjC,oBAAA,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC;oBACzD;gBACF,KAAK,uBAAuB,CAAC,QAAQ;AACnC,oBAAA,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC;oBAC7D;gBACF,KAAK,uBAAuB,CAAC,QAAQ;AACnC,oBAAA,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC;oBACjE;AACF,gBAAA;AACE,oBAAA,MAAM,IAAI,KAAK,CAAC,0BAA0B,IAAI,CAAA,CAAE,CAAC;;YAGrD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE;gBACrD,KAAK,EAAE,OAAO,GAAG,CAAC,IAAI,EAAE,cAAc,CAAC,CAAE,CAAA;AACzC,gBAAA,IAAI,EAAE,IAAI;AACV,gBAAA,IAAI,EAAE;AACJ,oBAAA,MAAM,EAAE;wBACN,UAAU;wBACV,UAAU;wBACV,aAAa;wBACb,gBAAgB;AAChB,wBAAA,KAAK,EAAE,KAAK;AACb,qBAAA;AACF,iBAAA;AACF,aAAA,CAAC;AAEF,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;AAChB,gBAAA,OAAO,KAAK;;AAGd,YAAA,MAAM,OAAO,GAAwB;AACnC,gBAAA,EAAE,EAAE,gBAAgB,CAAC,IAAI,EAAE;AAC3B,gBAAA,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK;AACxB,gBAAA,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW;AACpC,gBAAA,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ;AAC9B,gBAAA,IAAI,EAAE,IAAI;gBACV,QAAQ,EAAE,IAAI,CAAC,EAAE;gBACjB,IAAI;AACJ,gBAAA,MAAM,EAAE;AACN,oBAAA,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE;AAClB,oBAAA,MAAM,EAAE,MAAM;AACf,iBAAA;aACF;AAED,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE;AAC7B,YAAA,MAAM,OAAO,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC;AAClE,YAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC;AAC3B,YAAA,MAAM,IAAI,CAAC,IAAI,EAAE;AAEjB,YAAA,OAAO,IAAI;;gBACH;AACR,YAAA,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,KAAK,CAAC;;;8GA3bvC,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kHAAlB,kBAAkB,EAAA,CAAA,CAAA;;2FAAlB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAD9B;;;ACwBD;;AAEG;MA8BU,eAAe,CAAA;AA7B5B,IAAA,WAAA,GAAA;AA8BqB,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,qBAAqB,CAAC;QACtC,IAAU,CAAA,UAAA,GAAG,UAAU;AAIlC,QAAA,IAAA,CAAA,YAAY,GAAG,SAAS,CAAC,QAAQ,CAAmB,cAAc,CAAC;AACnE,QAAA,IAAA,CAAA,aAAa,GAAG,SAAS,CAAC,QAAQ,CAA6B,OAAO,CAAC;AACvE,QAAA,IAAA,CAAA,MAAM,GAAG,SAAS,CAAC,QAAQ,CAA6B,QAAQ,CAAC;AACjE,QAAA,IAAA,CAAA,WAAW,GAAG,SAAS,CAAC,sBAAsB,CAAC;AAC/C,QAAA,IAAA,CAAA,OAAO,GAAG,SAAS,CAAC,kBAAkB,CAAC;AAEvC,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;AACvB,QAAA,IAAA,CAAA,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC;AAC3C,QAAA,IAAA,CAAA,iBAAiB,GAAG,MAAM,CAAC,uBAAuB,CAAC;AACnD,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAAC,kBAAkB,CAAC;QAEhC,IAAiB,CAAA,iBAAA,GAAG,uCAAuC;QAC3D,IAAiB,CAAA,iBAAA,GAAG,CAAC;QAEnB,IAAS,CAAA,SAAA,GAAG,+BAA+B;AAEpD,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC;AAC5B,QAAA,IAAA,CAAA,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC;AAChB,QAAA,IAAA,CAAA,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC;AAChB,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC;QAE1B,IAAe,CAAA,eAAA,GAAG,KAAK;AAEvB,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,uCAAuC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM;AACxF,YAAA,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK;AACjB,YAAA,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK;AACjB,YAAA,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;AACf,YAAA,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ;AACxB,SAAA,CAAC,CAAC;AAEH,QAAA,IAAA,CAAA,WAAW,GAAG,eAAe,CAAC,YAAW;YACvC,IAAI,CAAC,EAAE,GAAG,MAAM,OAAO,IAAI,CAAC;AAC5B,YAAA,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE;AAC9B,YAAA,MAAM,IAAI,CAAC,YAAY,EAAE;AAC3B,SAAC,CAAC;AA2VH;AA/VC,IAAA,WAAW;AAMX;;AAEG;IACO,MAAM,GAAA;AACd,QAAA,IAAI,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE;;AAG1B;;AAEG;IACO,OAAO,GAAA;AACf,QAAA,IAAI,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE;;AAG3B;;AAEG;IACO,SAAS,GAAA;AACjB,QAAA,IAAI,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE;;AAGjC;;AAEG;IACO,gBAAgB,GAAA;AACxB,QAAA,IAAI,IAAI,CAAC,YAAY,EAAE,EAAE;YACvB,QAAQ,CAAC,cAAc,EAAE;AACzB,YAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC;;aACvB;YACL,IAAI,CAAC,MAAM,EAAE,CAAC,aAAa,CAAC,iBAAiB,EAAE;AAC/C,YAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC;;AAE7B,QAAA,QAAQ,CAAC,aAAa,CAAC,CAA4B,yBAAA,EAAA,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAA,EAAA,CAAI,CAAC,EAAE,cAAc,CAAC;AACtG,YAAA,QAAQ,EAAE,QAAQ;AAClB,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,MAAM,EAAE,QAAQ;AACjB,SAAA,CAAC;;AAGJ;;;;AAIG;AACK,IAAA,iBAAiB,CAAC,IAAyB,EAAA;AACjD,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,UAAU,KAAK,KAAK,EAAE;AAC7E,YAAA,OAAO,CAAC;;QAEV,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC;;AAGrF;;;;AAIG;AACK,IAAA,mBAAmB,CAAC,IAAyB,EAAA;AACnD,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,UAAU,KAAK,KAAK,EAAE;AAC7E,YAAA,OAAO,CAAC;;QAEV,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,KAAK,GAAG,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;;AAGvF;;;;AAIG;IACH,WAAW,CAAC,EAAW,EAAE,IAAyB,EAAA;AAChD,QAAA,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE;YACZ;;AAEF,QAAA,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,MAAK;YACjC,MAAM,eAAe,GAAG,GAAG;YAC3B,MAAM,gBAAgB,GAAG,GAAG;YAC5B,MAAM,kBAAkB,GAAG,EAAE;YAC7B,MAAM,gBAAgB,GAAG,EAAE;AAE3B,YAAA,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;AACnB,YAAA,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;YAE/C,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC;YAEpC,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,CAAC,IAAS,KAAI;gBACvC,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,KAAK,KAAK,EAAE;AAClC,oBAAA,IAAI,CAAC,QAAQ,GAAG,SAAS;;AAE7B,aAAC,CAAC;AAEF,YAAA,MAAM,UAAU,GAAG,IAAI,CAAC;AACrB,iBAAA,IAAI;iBACJ,QAAQ,CAAC,CAAC,eAAe,GAAG,kBAAkB,EAAE,gBAAgB,GAAG,gBAAgB,CAAC,CAAC;YAExF,UAAU,CAAC,IAAI,CAAC;AAEhB,YAAA,IAAI,IAAI,GAAG,QAAQ,EACjB,IAAI,GAAG,CAAC,QAAQ,EAChB,IAAI,GAAG,QAAQ,EACf,IAAI,GAAG,CAAC,QAAQ;YAClB,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,CAAC,CAAM,KAAI;AACpC,gBAAA,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI;AAAE,oBAAA,IAAI,GAAG,CAAC,CAAC,CAAC;AAC1B,gBAAA,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI;AAAE,oBAAA,IAAI,GAAG,CAAC,CAAC,CAAC;AAC1B,gBAAA,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI;AAAE,oBAAA,IAAI,GAAG,CAAC,CAAC,CAAC;AAC1B,gBAAA,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI;AAAE,oBAAA,IAAI,GAAG,CAAC,CAAC,CAAC;AAC5B,aAAC,CAAC;YAEF,MAAM,eAAe,GAAG,IAAI,GAAG,IAAI,GAAG,eAAe,GAAG,CAAC,GAAG,kBAAkB;YAC9E,MAAM,gBAAgB,GAAG,IAAI,GAAG,IAAI,GAAG,gBAAgB,GAAG,CAAC,GAAG,gBAAgB;AAE9E,YAAA,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,gBAAgB,CAAC;YAEtE,MAAM,CAAC,GAAG;iBACP,MAAM,CAAC,GAAG;iBACV,IAAI,CACH,WAAW,EACX,CAAa,UAAA,EAAA,CAAC,IAAI,GAAG,eAAe,GAAG,CAAC,GAAG,kBAAkB,GAAG,CAAC,CAAA,EAAA,EAAK,CAAC,IAAI,GAAG,gBAAgB,GAAG,CAAC,GAAG,gBAAgB,GAAG,CACxH,CAAG,CAAA,CAAA,CACJ;YAEH,MAAM,IAAI,GAAG;iBACV,SAAS,CAAC,OAAO;AACjB,iBAAA,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;AACjB,iBAAA,KAAK;iBACL,MAAM,CAAC,MAAM;AACb,iBAAA,IAAI,CAAC,OAAO,EAAE,MAAM;AACpB,iBAAA,IAAI,CAAC,GAAG,EAAE,CAAC,CAAM,KAAI;AACpB,gBAAA,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM;AACvB,gBAAA,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM;AACvB,gBAAA,OAAO,CAAI,CAAA,EAAA,MAAM,CAAC,CAAC,CAAI,CAAA,EAAA,MAAM,CAAC,CAAC,CAAI,CAAA,EAAA,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,CAAA,CAAA,EAAI,MAAM,CAAC,CAAC,CAAI,CAAA,EAAA,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE;AAC7F,aAAC;AACA,iBAAA,IAAI,CAAC,MAAM,EAAE,MAAM;AACnB,iBAAA,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,iBAAiB;AACrC,iBAAA,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,iBAAiB;AAC3C,iBAAA,IAAI,CAAC,MAAM,EAAE,CAAC,CAAM,KAAK,CAAQ,KAAA,EAAA,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE;AACnD,iBAAA,IAAI,CAAC,IAAI,EAAE,CAAC,CAAM,KAAK,CAAA,KAAA,EAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAA,CAAE,CAAC;YAErD,MAAM,IAAI,GAAG;iBACV,SAAS,CAAC,iBAAiB;AAC3B,iBAAA,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;AACvB,iBAAA,KAAK;iBACL,MAAM,CAAC,eAAe;AACtB,iBAAA,IAAI,CAAC,OAAO,EAAE,gBAAgB;AAC9B,iBAAA,IAAI,CAAC,MAAM,EAAE,CAAC,CAAM,KAAK,CAAA,KAAA,EAAQ,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE;AAC5C,iBAAA,IAAI,CAAC,GAAG,EAAE,CAAC,CAAM,KAAK,CAAC,CAAC,CAAC,GAAG,eAAe,GAAG,CAAC;AAC/C,iBAAA,IAAI,CAAC,GAAG,EAAE,CAAC,CAAM,KAAK,CAAC,CAAC,CAAC,GAAG,gBAAgB,GAAG,CAAC,GAAG,EAAE;AACrD,iBAAA,IAAI,CAAC,OAAO,EAAE,eAAe;AAC7B,iBAAA,IAAI,CAAC,QAAQ,EAAE,gBAAgB;iBAC/B,IAAI,CAAC,CAAC,CAAM,KAAK,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAE9D,YAAA,IAAI,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE;AAC/B,SAAC,CAAC;AACF,QAAA,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;;;;;;AAMzB,YAAA,IAAI,CAAC,eAAe,GAAG,IAAI;AAC3B,YAAA,IAAI,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE;;;AAInC;;;;;AAKG;AACK,IAAA,kBAAkB,CAAC,IAAyB,EAAE,CAAS,EAAE,CAAS,EAAA;;AAExE,QAAA,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,KAAI;AAClF,YAAA,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;AACrC,YAAA,OAAO,OAAO,KAAK,IAAI,CAAC,IAAI,CAAC;AAC/B,SAAC,CAAC;QAEF,IAAI,SAAS,EAAE;AACb,YAAA,MAAM,eAAe,GAAG,uCAAuC,CAAC,SAAS,CAAC;;YAG1E,GAAG,CAAC,IAAI,EAAE,UAAU,EAAE,eAAe,CAAC,QAAQ,CAAC;;AAGjD,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE;AAC5E,YAAA,SAAS,EAAE,IAAI;AAChB,SAAA,CAAC;QAEF,MAAM,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,CAAA,YAAA,EAAe,IAAI,CAAC,EAAE,CAAI,EAAA,CAAA,CAAC;AACzG,QAAA,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,EAAwB;QACxD,IAAI,OAAO,EAAE;YACX,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;;;AAI7C;;;;AAIG;IACO,UAAU,CAAC,IAAyB,EAAE,EAAkB,EAAA;AAChE,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,KAAK,SAAS,GAAG,KAAK,GAAG,CAAC,IAAI,CAAC,UAAU;AAC1E,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,aAAa,EAAE,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;;;;;AAMpF;;;AAGG;AACK,IAAA,UAAU,CAAC,EAAW,EAAA;AAC5B,QAAA,IAAI,IAAI,CAAC,EAAE,EAAE;AACX,YAAA,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE;AACzC,YAAA,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE;;;AAIzB,IAAA,MAAM,YAAY,GAAA;AACxB,QAAA,IAAI,IAAI,CAAC,EAAE,EAAE;AACX,YAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,aAAa,EAAE,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;;;;IAM5E,MAAM,0BAA0B,CAAC,CAA4B,EAAA;QACrE,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,aAAa,EAAE,eAAe,CAA+B;QAChF,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,sBAAsB,CAAC,IAAI,CAAC;QAC5E,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,IAAI,uBAAuB,CAAC,OAAO;QAChE,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,gBAAgB,EAAE;QACnE,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC;;AAE3D,QAAA,IAAI,eAAe,CAAC,MAAM,EAAE;AAC1B,YAAA,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;AACX,gBAAA,IAAI,EAAE,SAAS;AACf,gBAAA,IAAI,EAAE,kBAAkB;AACxB,gBAAA,KAAK,EAAE,eAAe;AACtB,gBAAA,KAAK,EAAE,WAAW;AACnB,aAAA,CAAC;;;QAGJ,IAAI,WAAW,EAAE;AACf,YAAA,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;AACX,gBAAA,IAAI,EAAE,KAAK;AACX,gBAAA,IAAI,EAAE,KAAK;AACX,gBAAA,IAAI,EAAE,iBAAiB;AACvB,gBAAA,IAAI,EAAE,IAAI;AACX,aAAA,CAAC;AACF,YAAA,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;AACX,gBAAA,IAAI,EAAE,MAAM;AACZ,gBAAA,IAAI,EAAE,MAAM;AACZ,gBAAA,IAAI,EAAE,kBAAkB;AACxB,gBAAA,IAAI,EAAE,IAAI;gBACV,KAAK,EAAE,CAAC,gBAAgB;AACzB,aAAA,CAAC;;QAEJ,IAAI,gBAAgB,EAAE;AACpB,YAAA,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;AACX,gBAAA,IAAI,EAAE,OAAO;AACb,gBAAA,IAAI,EAAE,OAAO;AACb,gBAAA,IAAI,EAAE,mBAAmB;AACzB,gBAAA,IAAI,EAAE,IAAI;AACV,gBAAA,KAAK,EAAE,IAAI;gBACX,QAAQ,EAAE,CAAC,UAAU;AACtB,aAAA,CAAC;;;QAGJ,IAAI,WAAW,EAAE;AACf,YAAA,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;AACX,gBAAA,IAAI,EAAE,QAAQ;AACd,gBAAA,IAAI,EAAE,QAAQ;AACd,gBAAA,KAAK,EAAE,QAAQ;AACf,gBAAA,IAAI,EAAE,uBAAuB;AAC7B,gBAAA,IAAI,EAAE,IAAI;AACX,aAAA,CAAC;;;QAGJ,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE;AACvB,YAAA,CAAC,CAAC,QAAQ,GAAG,IAAI;;;IAIX,MAAM,0BAA0B,CAAC,CAA+B,EAAA;;QAExE,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,KAAK,EAAE;AACxB,YAAA,IAAI,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;AAChD,gBAAA,MAAM,IAAI,CAAC,YAAY,EAAE;;;;aAIxB,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,QAAQ,EAAE;AAChC,YAAA,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;AAClD,YAAA,MAAM,IAAI,CAAC,YAAY,EAAE;;;aAGtB,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,MAAM,EAAE;AAC9B,YAAA,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;;aAC3C,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,KAAK,EAAE;AAC/B,YAAA,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;AAC/C,YAAA,MAAM,IAAI,CAAC,YAAY,EAAE;;aACpB,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,OAAO,EAAE;AACjC,YAAA,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;AACjD,YAAA,MAAM,IAAI,CAAC,YAAY,EAAE;;;;AAM7B;;AAEG;AACO,IAAA,MAAM,UAAU,GAAA;QACxB,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC;QAChF,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC;AAC9D,QAAA,MAAM,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,aAAa,CAAC;QAC3E,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC;;AAG/E;;;;AAIG;AACO,IAAA,aAAa,CAAC,KAAa,EAAA;AACnC,QAAA,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;YAC7B,OAAO;gBACL,iBAAiB,EAAE,CAAsB,mBAAA,EAAA,KAAK,CAAG,CAAA,CAAA;gBACjD,mBAAmB,EAAE,CAAyB,sBAAA,EAAA,KAAK,CAAG,CAAA,CAAA;gBACtD,qBAAqB,EAAE,CAA6B,0BAAA,EAAA,KAAK,CAAG,CAAA,CAAA;aAC7D;;QAEH,OAAO;YACL,iBAAiB,EAAE,CAAsB,mBAAA,EAAA,KAAK,CAAW,SAAA,CAAA;YACzD,mBAAmB,EAAE,CAAyB,sBAAA,EAAA,KAAK,CAAW,SAAA,CAAA;YAC9D,qBAAqB,EAAE,CAA6B,0BAAA,EAAA,KAAK,CAAW,SAAA,CAAA;SACrE;;IAGO,SAAS,CAAC,QAAa,EAAE,QAAyC,EAAA;AAC1E,QAAA,QAAQ,CAAC,GAAG,GAAG,QAAQ;;IAGzB,WAAW,GAAA;QACT,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,aAAa,CAAC;;8GAjY1C,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAe,2DAFf,CAAC,wBAAwB,EAAE,kBAAkB,EAAE,uBAAuB,CAAC,EAWlD,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,cAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,cAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,eAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,OAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,QAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,QAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,aAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,sBAAsB,0FAC1B,kBAAkB,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC9FhD,o4KA0Ic,ED/EV,MAAA,EAAA,CAAA,g8GAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,YAAY,0PACZ,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA;;AAEZ,gBAAA,YAAY,EACZ,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,SAAA,EAAA,OAAA,EAAA,QAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,EAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,cAAc,EACd,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,MAAA,EAAA,UAAA,EAAA,OAAA,EAAA,MAAA,EAAA,MAAA,EAAA,YAAA,EAAA,UAAA,EAAA,UAAA,EAAA,MAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,YAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,mBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,qBAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,UAAA,EAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,MAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,SAAA,EAAA,SAAA,EAAA,QAAA,EAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,sBAAsB,8BACtB,mBAAmB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,qBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACnB,iBAAiB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,wBAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,2BAAA,EAAA,QAAA,EAAA,8IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACjB,kBAAkB,EAClB,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,EAAA,YAAA,EAAA,YAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,YAAA,EAAA,YAAA,EAAA,YAAA,EAAA,gBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,eAAe,EACf,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,mBAAmB,+OACnB,aAAa,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA;;gBAEb,mBAAmB,EAAA,QAAA,EAAA,wBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACnB,4BAA4B,EAAA,QAAA,EAAA,2ZAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAC5B,iCAAiC,EAAA,QAAA,EAAA,wBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACjC,8BAA8B,EAAA,QAAA,EAAA,oBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAC9B,2CAA2C,EAAA,QAAA,EAAA,8BAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAC3C,yCAAyC,EAAA,QAAA,EAAA,4BAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACzC,6BAA6B,EAAA,QAAA,EAAA,2CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAMpB,eAAe,EAAA,UAAA,EAAA,CAAA;kBA7B3B,SAAS;AAGC,YAAA,IAAA,EAAA,CAAA,EAAA,OAAA,EAAA;wBACP,YAAY;wBACZ,YAAY;;wBAEZ,YAAY;wBACZ,cAAc;wBACd,sBAAsB;wBACtB,mBAAmB;wBACnB,iBAAiB;wBACjB,kBAAkB;wBAClB,eAAe;wBACf,mBAAmB;wBACnB,aAAa;;wBAEb,mBAAmB;wBACnB,4BAA4B;wBAC5B,iCAAiC;wBACjC,8BAA8B;wBAC9B,2CAA2C;wBAC3C,yCAAyC;wBACzC,6BAA6B;AAC9B,qBAAA,EAAA,eAAA,EACgB,uBAAuB,CAAC,MAAM,EAAA,aAAA,EAChC,iBAAiB,CAAC,IAAI,EAC1B,SAAA,EAAA,CAAC,wBAAwB,EAAE,kBAAkB,EAAE,uBAAuB,CAAC,EAAA,QAAA,EAAA,o4KAAA,EAAA,MAAA,EAAA,CAAA,g8GAAA,CAAA,EAAA;;;;;"}
|