@acorex/platform 18.2.2 → 18.2.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/common/lib/app/operators.d.ts +1 -0
- package/common/lib/common.module.d.ts +6 -7
- package/common/lib/data/filter-middleware.service.d.ts +28 -0
- package/common/lib/data/index.d.ts +3 -1
- package/common/lib/data/operators.service.d.ts +14 -0
- package/common/lib/layout/index.d.ts +0 -2
- package/common/lib/schema/widgets/dateTime/dateTime-widget-edit.component.d.ts +0 -2
- package/common/lib/schema/widgets/dateTime/dateTime-widget-filter.component.d.ts +1 -0
- package/common/lib/schema/widgets/email/email-widget-edit.component.d.ts +0 -2
- package/common/lib/schema/widgets/phone/phone-widget-edit.component.d.ts +0 -2
- package/common/lib/schema/widgets/text/text-widget-edit.component.d.ts +0 -2
- package/common/lib/settings/setting-definition.provider.d.ts +6 -6
- package/common/lib/settings/settings.types.d.ts +18 -9
- package/esm2022/common/lib/app/operators.mjs +16 -1
- package/esm2022/common/lib/common.module.mjs +23 -12
- package/esm2022/common/lib/data/filter-middleware.service.mjs +53 -0
- package/esm2022/common/lib/data/index.mjs +4 -2
- package/esm2022/common/lib/data/operators.service.mjs +15 -0
- package/esm2022/common/lib/layout/index.mjs +1 -3
- package/esm2022/common/lib/layout/menu/menu.service.mjs +2 -2
- package/esm2022/common/lib/layout/sticky.directive.mjs +15 -11
- package/esm2022/common/lib/schema/widgets/dateTime/dateTime-widget-edit.component.mjs +7 -8
- package/esm2022/common/lib/schema/widgets/dateTime/dateTime-widget-filter.component.mjs +47 -25
- package/esm2022/common/lib/schema/widgets/email/email-widget-edit.component.mjs +6 -7
- package/esm2022/common/lib/schema/widgets/phone/phone-widget-edit.component.mjs +6 -7
- package/esm2022/common/lib/schema/widgets/text/text-widget-edit.component.mjs +6 -7
- package/esm2022/common/lib/settings/setting-definition.provider.mjs +141 -187
- package/esm2022/common/lib/settings/settings.types.mjs +2 -7
- package/esm2022/common/lib/utils/data-generator.mjs +1 -1
- package/esm2022/layout/builder/lib/builder/widget-catalog.mjs +2 -1
- package/esm2022/layout/builder/lib/builder/widget-column-renderer.mjs +22 -11
- package/esm2022/layout/builder/lib/builder/widget.types.mjs +11 -6
- package/esm2022/layout/designer/lib/designer/components/header-menu/header-menu.component.mjs +2 -7
- package/esm2022/layout/designer/lib/designer/components/size-mode/view-size-toolbar.component.mjs +27 -32
- package/esm2022/layout/entity/lib/entity-detail-list.viewmodel.mjs +8 -6
- package/esm2022/layout/entity/lib/entity-master-create.viewmodel.mjs +4 -3
- package/esm2022/layout/entity/lib/entity-master-list.viewmodel.mjs +39 -12
- package/esm2022/layout/entity/lib/entity-master-single.viewmodel.mjs +4 -3
- package/esm2022/layout/entity/lib/entity-master-update.viewmodel.mjs +3 -3
- package/esm2022/layout/entity/lib/entity.module.mjs +1 -6
- package/esm2022/layout/entity/lib/index.mjs +5 -4
- package/esm2022/layout/setting/acorex-platform-layout-setting.mjs +5 -0
- package/esm2022/layout/setting/index.mjs +2 -0
- package/esm2022/layout/setting/lib/convert-setting-data.mjs +59 -0
- package/esm2022/layout/setting/lib/setting.viewmodel.mjs +132 -0
- package/esm2022/layouts/lib/admin/admin.module.mjs +17 -5
- package/esm2022/layouts/lib/admin/entity-layout/entity-create-view/entity-create-view.config.mjs +3 -3
- package/esm2022/layouts/lib/admin/entity-layout/entity-details-view/detail-view.config.mjs +4 -3
- package/esm2022/layouts/lib/admin/entity-layout/entity-details-view/entity-details-view.component.mjs +8 -23
- package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/components/list-view-option-columns/list-view-option-columns.component.mjs +2 -6
- package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/components/list-view-option-conditions/list-view-option-conditions.component.mjs +4 -5
- package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/entity-list-view.component.mjs +4 -8
- package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/list-view.config.mjs +12 -10
- package/esm2022/layouts/lib/admin/entity-layout/entity-modify-view/entity-modify-view.config.mjs +3 -3
- package/esm2022/layouts/lib/admin/entity-layout/entity-quick-view/entity-quick-view.component.mjs +1 -3
- package/esm2022/themes/default/index.mjs +2 -1
- package/esm2022/themes/default/lib/default.module.mjs +83 -39
- package/esm2022/themes/default/lib/layouts/entity-layouts/entity-detail-list-view/entity-detail-list-view.component.mjs +18 -24
- package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-list-view/entity-master-list-view.component.mjs +21 -24
- package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-list-view/list-view-option-columns/list-view-option-columns.component.mjs +18 -12
- package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-single-view/entity-master-single-view.component.mjs +6 -8
- package/esm2022/themes/default/lib/layouts/root-layout/components/header/header.component.mjs +6 -8
- package/esm2022/themes/default/lib/layouts/root-layout/components/menu/root-menu.component.mjs +1 -1
- package/esm2022/themes/default/lib/layouts/root-layout/root-layout.component.mjs +11 -38
- package/esm2022/themes/default/lib/layouts/setting-layout/index.mjs +3 -0
- package/esm2022/themes/default/lib/layouts/setting-layout/setting-menu/setting-menu.component.mjs +28 -0
- package/esm2022/themes/default/lib/layouts/setting-layout/setting-view/setting-view.component.mjs +42 -0
- package/esm2022/themes/shared/lib/services/theme.service.mjs +183 -19
- package/esm2022/widgets/lib/properties/layout.props.mjs +13 -13
- package/esm2022/widgets/lib/widgets/advance/cron-job/cron-job-widget-column.component.mjs +20 -0
- package/esm2022/widgets/lib/widgets/advance/cron-job/cron-job-widget-designer.component.mjs +18 -0
- package/esm2022/widgets/lib/widgets/advance/cron-job/cron-job-widget-edit.component.mjs +24 -0
- package/esm2022/widgets/lib/widgets/advance/cron-job/cron-job-widget-filter.component.mjs +20 -0
- package/esm2022/widgets/lib/widgets/advance/cron-job/cron-job-widget-print.component.mjs +19 -0
- package/esm2022/widgets/lib/widgets/advance/cron-job/cron-job-widget-view.component.mjs +22 -0
- package/esm2022/widgets/lib/widgets/advance/cron-job/cron-job-widget.config.mjs +32 -0
- package/esm2022/widgets/lib/widgets/advance/cron-job/index.mjs +8 -0
- package/esm2022/widgets/lib/widgets/editors/selection-list/selection-list-widget-designer.component.mjs +4 -9
- package/esm2022/widgets/lib/widgets/editors/selection-list/selection-list-widget-edit.component.mjs +2 -9
- package/esm2022/widgets/lib/widgets/layout/block/block-widget.config.mjs +6 -7
- package/esm2022/widgets/lib/widgets.module.mjs +5 -2
- package/esm2022/workflow/lib/workflow.service.mjs +1 -1
- package/fesm2022/{acorex-platform-common-avatar-widget-edit.component-vDhYokEG.mjs → acorex-platform-common-avatar-widget-edit.component-DtC2IaE8.mjs} +3 -4
- package/fesm2022/{acorex-platform-common-avatar-widget-edit.component-vDhYokEG.mjs.map → acorex-platform-common-avatar-widget-edit.component-DtC2IaE8.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-avatar-widget-view.component-Dew3CVLm.mjs → acorex-platform-common-avatar-widget-view.component-BOIV0Be1.mjs} +4 -5
- package/fesm2022/acorex-platform-common-avatar-widget-view.component-BOIV0Be1.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-boolean-widget-filter.component-BdE7WOK5.mjs → acorex-platform-common-boolean-widget-filter.component-S4-3SmKA.mjs} +3 -4
- package/fesm2022/acorex-platform-common-boolean-widget-filter.component-S4-3SmKA.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-checkbox-widget-column.component-Bj5rjEk1.mjs → acorex-platform-common-checkbox-widget-column.component-DOoneR7g.mjs} +4 -5
- package/fesm2022/{acorex-platform-common-checkbox-widget-column.component-Bj5rjEk1.mjs.map → acorex-platform-common-checkbox-widget-column.component-DOoneR7g.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-checkbox-widget-edit.component-ChXbJsuG.mjs → acorex-platform-common-checkbox-widget-edit.component-PFRq-XS-.mjs} +4 -5
- package/fesm2022/acorex-platform-common-checkbox-widget-edit.component-PFRq-XS-.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-checkbox-widget-view.component-CbQwjE_u.mjs → acorex-platform-common-checkbox-widget-view.component-CKz8XnjT.mjs} +4 -5
- package/fesm2022/{acorex-platform-common-checkbox-widget-view.component-CbQwjE_u.mjs.map → acorex-platform-common-checkbox-widget-view.component-CKz8XnjT.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-dateTime-widget-column.component-QUYyDVw8.mjs → acorex-platform-common-dateTime-widget-column.component-DG0leXAo.mjs} +4 -5
- package/fesm2022/acorex-platform-common-dateTime-widget-column.component-DG0leXAo.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-dateTime-widget-edit.component-CzLb3xnR.mjs → acorex-platform-common-dateTime-widget-edit.component-D8W-XEcx.mjs} +10 -13
- package/fesm2022/acorex-platform-common-dateTime-widget-edit.component-D8W-XEcx.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-dateTime-widget-filter.component-DZRQ6yVk.mjs → acorex-platform-common-dateTime-widget-filter.component-DngCKwFY.mjs} +49 -28
- package/fesm2022/acorex-platform-common-dateTime-widget-filter.component-DngCKwFY.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-dateTime-widget-view.component-DxNwm_5m.mjs → acorex-platform-common-dateTime-widget-view.component-KGgJkiKB.mjs} +4 -5
- package/fesm2022/{acorex-platform-common-dateTime-widget-view.component-DxNwm_5m.mjs.map → acorex-platform-common-dateTime-widget-view.component-KGgJkiKB.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-email-widget-column.component-Cm-fhlNZ.mjs → acorex-platform-common-email-widget-column.component-CLNqSuB7.mjs} +4 -5
- package/fesm2022/acorex-platform-common-email-widget-column.component-CLNqSuB7.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-email-widget-edit.component-BfXFBLF6.mjs → acorex-platform-common-email-widget-edit.component--0gaRm4s.mjs} +9 -11
- package/fesm2022/acorex-platform-common-email-widget-edit.component--0gaRm4s.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-email-widget-view.component-ClRjKVy6.mjs → acorex-platform-common-email-widget-view.component-C3AUr1HO.mjs} +4 -5
- package/fesm2022/{acorex-platform-common-email-widget-view.component-ClRjKVy6.mjs.map → acorex-platform-common-email-widget-view.component-C3AUr1HO.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-file-widget-column.component-B0v2rSWI.mjs → acorex-platform-common-file-widget-column.component-C9AHk2UP.mjs} +4 -5
- package/fesm2022/acorex-platform-common-file-widget-column.component-C9AHk2UP.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-file-widget-edit.component-DsIqehpt.mjs → acorex-platform-common-file-widget-edit.component-L7bln9k0.mjs} +4 -5
- package/fesm2022/{acorex-platform-common-file-widget-edit.component-DsIqehpt.mjs.map → acorex-platform-common-file-widget-edit.component-L7bln9k0.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-file-widget-filter.component-C3uBjqF-.mjs → acorex-platform-common-file-widget-filter.component-Ce35mqny.mjs} +4 -5
- package/fesm2022/acorex-platform-common-file-widget-filter.component-Ce35mqny.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-file-widget-view.component-DTl_Rehd.mjs → acorex-platform-common-file-widget-view.component-BvMzrs5C.mjs} +4 -5
- package/fesm2022/{acorex-platform-common-file-widget-view.component-DTl_Rehd.mjs.map → acorex-platform-common-file-widget-view.component-BvMzrs5C.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-gallery-widget-edit.component-DHeFVg5x.mjs → acorex-platform-common-gallery-widget-edit.component-BVuV2Ib8.mjs} +3 -4
- package/fesm2022/{acorex-platform-common-gallery-widget-edit.component-DHeFVg5x.mjs.map → acorex-platform-common-gallery-widget-edit.component-BVuV2Ib8.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-gallery-widget-filter.component-Di446i2c.mjs → acorex-platform-common-gallery-widget-filter.component-C8tdM6PX.mjs} +4 -5
- package/fesm2022/acorex-platform-common-gallery-widget-filter.component-C8tdM6PX.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-gallery-widget-view.component-CkcRvfv-.mjs → acorex-platform-common-gallery-widget-view.component-D8YmSi9C.mjs} +3 -4
- package/fesm2022/{acorex-platform-common-gallery-widget-view.component-CkcRvfv-.mjs.map → acorex-platform-common-gallery-widget-view.component-D8YmSi9C.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-largetext-widget-edit.component-D89AlBSm.mjs → acorex-platform-common-largetext-widget-edit.component-DGMxpnsr.mjs} +4 -5
- package/fesm2022/acorex-platform-common-largetext-widget-edit.component-DGMxpnsr.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-lookup-widget-column.component-CB0ehp_y.mjs → acorex-platform-common-lookup-widget-column.component-B-cEaNjv.mjs} +4 -5
- package/fesm2022/acorex-platform-common-lookup-widget-column.component-B-cEaNjv.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-lookup-widget-edit.component-B0HQnsb8.mjs → acorex-platform-common-lookup-widget-edit.component-DqB_g9Zz.mjs} +4 -5
- package/fesm2022/{acorex-platform-common-lookup-widget-edit.component-B0HQnsb8.mjs.map → acorex-platform-common-lookup-widget-edit.component-DqB_g9Zz.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-lookup-widget-filter.component-Dxj_XEYV.mjs → acorex-platform-common-lookup-widget-filter.component-0TPWNWSd.mjs} +3 -4
- package/fesm2022/acorex-platform-common-lookup-widget-filter.component-0TPWNWSd.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-lookup-widget-view.component-BtO3feA9.mjs → acorex-platform-common-lookup-widget-view.component-DYAg76YH.mjs} +4 -5
- package/fesm2022/acorex-platform-common-lookup-widget-view.component-DYAg76YH.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-map-widget-edit.component-hXIZrhzg.mjs → acorex-platform-common-map-widget-edit.component-C3cpsXD5.mjs} +4 -5
- package/fesm2022/acorex-platform-common-map-widget-edit.component-C3cpsXD5.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-map-widget-view.component-RgV-r8q6.mjs → acorex-platform-common-map-widget-view.component-C-DCNaJi.mjs} +4 -5
- package/fesm2022/acorex-platform-common-map-widget-view.component-C-DCNaJi.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-messenger-widget-column.component-DGWQWuzM.mjs → acorex-platform-common-messenger-widget-column.component-B2A7ZBEP.mjs} +4 -5
- package/fesm2022/acorex-platform-common-messenger-widget-column.component-B2A7ZBEP.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-messenger-widget-edit.component-Blv1qL4e.mjs → acorex-platform-common-messenger-widget-edit.component-DC8vQDo0.mjs} +4 -5
- package/fesm2022/acorex-platform-common-messenger-widget-edit.component-DC8vQDo0.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-messenger-widget-view.component-DEbnPggG.mjs → acorex-platform-common-messenger-widget-view.component-B6FavkmG.mjs} +4 -5
- package/fesm2022/{acorex-platform-common-messenger-widget-view.component-DEbnPggG.mjs.map → acorex-platform-common-messenger-widget-view.component-B6FavkmG.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-number-widget-edit.component-gQCEBhPv.mjs → acorex-platform-common-number-widget-edit.component-Bc5-ZUw4.mjs} +4 -5
- package/fesm2022/acorex-platform-common-number-widget-edit.component-Bc5-ZUw4.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-number-widget-filter.component-CvEw3awN.mjs → acorex-platform-common-number-widget-filter.component-DxfJ90n4.mjs} +4 -5
- package/fesm2022/acorex-platform-common-number-widget-filter.component-DxfJ90n4.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-number-widget-view.component-ROrdklif.mjs → acorex-platform-common-number-widget-view.component-DGfLSGw1.mjs} +4 -5
- package/fesm2022/acorex-platform-common-number-widget-view.component-DGfLSGw1.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-password-widget-column.component-vXdE4UjM.mjs → acorex-platform-common-password-widget-column.component-DEHaVLGK.mjs} +4 -5
- package/fesm2022/{acorex-platform-common-password-widget-column.component-vXdE4UjM.mjs.map → acorex-platform-common-password-widget-column.component-DEHaVLGK.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-password-widget-edit.component-BCOoHtGl.mjs → acorex-platform-common-password-widget-edit.component-DrYyu5v-.mjs} +4 -5
- package/fesm2022/acorex-platform-common-password-widget-edit.component-DrYyu5v-.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-password-widget-view.component-rpjAeimk.mjs → acorex-platform-common-password-widget-view.component-B_HU-3J1.mjs} +4 -4
- package/fesm2022/{acorex-platform-common-password-widget-view.component-rpjAeimk.mjs.map → acorex-platform-common-password-widget-view.component-B_HU-3J1.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-phone-widget-column.component-BbuUbPCu.mjs → acorex-platform-common-phone-widget-column.component-D99ncxxJ.mjs} +4 -5
- package/fesm2022/{acorex-platform-common-phone-widget-column.component-BbuUbPCu.mjs.map → acorex-platform-common-phone-widget-column.component-D99ncxxJ.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-phone-widget-edit.component-Bo_aOxfZ.mjs → acorex-platform-common-phone-widget-edit.component-a5EAI9FK.mjs} +8 -10
- package/fesm2022/acorex-platform-common-phone-widget-edit.component-a5EAI9FK.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-phone-widget-view.component-DDBCR_QY.mjs → acorex-platform-common-phone-widget-view.component-BlFVuoNN.mjs} +4 -5
- package/fesm2022/{acorex-platform-common-phone-widget-view.component-DDBCR_QY.mjs.map → acorex-platform-common-phone-widget-view.component-BlFVuoNN.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-rich-text-widget-column.component-BHiq7hdp.mjs → acorex-platform-common-rich-text-widget-column.component-DOdv5I2s.mjs} +4 -5
- package/fesm2022/{acorex-platform-common-rich-text-widget-column.component-BHiq7hdp.mjs.map → acorex-platform-common-rich-text-widget-column.component-DOdv5I2s.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-rich-text-widget-edit.component-12odUyzb.mjs → acorex-platform-common-rich-text-widget-edit.component-DL5UyAqe.mjs} +4 -5
- package/fesm2022/acorex-platform-common-rich-text-widget-edit.component-DL5UyAqe.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-rich-text-widget-view.component-Xr0ohz5L.mjs → acorex-platform-common-rich-text-widget-view.component-B9WB-mx9.mjs} +4 -5
- package/fesm2022/acorex-platform-common-rich-text-widget-view.component-B9WB-mx9.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-selection-list-widget-column.component-C2JikSdw.mjs → acorex-platform-common-selection-list-widget-column.component-CkOuYy0Z.mjs} +4 -5
- package/fesm2022/{acorex-platform-common-selection-list-widget-column.component-C2JikSdw.mjs.map → acorex-platform-common-selection-list-widget-column.component-CkOuYy0Z.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-selection-list-widget-edit.component-C1QPfHCm.mjs → acorex-platform-common-selection-list-widget-edit.component-BmbDQ1LH.mjs} +4 -5
- package/fesm2022/acorex-platform-common-selection-list-widget-edit.component-BmbDQ1LH.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-selection-list-widget-filter.component-DIgxHmqa.mjs → acorex-platform-common-selection-list-widget-filter.component-Dm_1-7eT.mjs} +3 -4
- package/fesm2022/acorex-platform-common-selection-list-widget-filter.component-Dm_1-7eT.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-selection-list-widget-view.component-D-VQ4JNC.mjs → acorex-platform-common-selection-list-widget-view.component-3hinF85C.mjs} +4 -5
- package/fesm2022/acorex-platform-common-selection-list-widget-view.component-3hinF85C.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-signature-pad-widget-edit.component-BimaJ4_d.mjs → acorex-platform-common-signature-pad-widget-edit.component-DmmPbw-A.mjs} +3 -4
- package/fesm2022/{acorex-platform-common-signature-pad-widget-edit.component-BimaJ4_d.mjs.map → acorex-platform-common-signature-pad-widget-edit.component-DmmPbw-A.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-signature-pad-widget-view.component-USd0U707.mjs → acorex-platform-common-signature-pad-widget-view.component-DkFaMNk8.mjs} +4 -5
- package/fesm2022/acorex-platform-common-signature-pad-widget-view.component-DkFaMNk8.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-string-widget-filter.component-wI9D-Ju5.mjs → acorex-platform-common-string-widget-filter.component-DAqR2PUN.mjs} +4 -5
- package/fesm2022/acorex-platform-common-string-widget-filter.component-DAqR2PUN.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-text-widget-column.component-Be7Nr0lJ.mjs → acorex-platform-common-text-widget-column.component-DVczwvKA.mjs} +4 -5
- package/fesm2022/{acorex-platform-common-text-widget-column.component-Be7Nr0lJ.mjs.map → acorex-platform-common-text-widget-column.component-DVczwvKA.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-text-widget-edit.component-feJTTnye.mjs → acorex-platform-common-text-widget-edit.component-DC_GnFhe.mjs} +9 -12
- package/fesm2022/acorex-platform-common-text-widget-edit.component-DC_GnFhe.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-text-widget-view.component-DsUAJ-md.mjs → acorex-platform-common-text-widget-view.component-BK3HZGgb.mjs} +4 -5
- package/fesm2022/{acorex-platform-common-text-widget-view.component-DsUAJ-md.mjs.map → acorex-platform-common-text-widget-view.component-BK3HZGgb.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-toggle-widget-column.component-BFwzsY4-.mjs → acorex-platform-common-toggle-widget-column.component-Bp1d7SAE.mjs} +4 -5
- package/fesm2022/{acorex-platform-common-toggle-widget-column.component-BFwzsY4-.mjs.map → acorex-platform-common-toggle-widget-column.component-Bp1d7SAE.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-toggle-widget-edit.component-Cuf9_RrU.mjs → acorex-platform-common-toggle-widget-edit.component-D64m4agx.mjs} +4 -5
- package/fesm2022/acorex-platform-common-toggle-widget-edit.component-D64m4agx.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-toggle-widget-view.component-DYz6VTey.mjs → acorex-platform-common-toggle-widget-view.component-BTaXXZ88.mjs} +4 -5
- package/fesm2022/{acorex-platform-common-toggle-widget-view.component-DYz6VTey.mjs.map → acorex-platform-common-toggle-widget-view.component-BTaXXZ88.mjs.map} +1 -1
- package/fesm2022/acorex-platform-common.mjs +846 -981
- package/fesm2022/acorex-platform-common.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-builder.mjs +28 -11
- package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-designer.mjs +26 -36
- package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-entity.mjs +843 -819
- package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-setting.mjs +197 -0
- package/fesm2022/acorex-platform-layout-setting.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts.mjs +37 -46
- package/fesm2022/acorex-platform-layouts.mjs.map +1 -1
- package/fesm2022/{acorex-platform-themes-default-entity-master-create-view.component-Cf5ttvrG.mjs → acorex-platform-themes-default-entity-master-create-view.component-Bs6fn6z2.mjs} +5 -5
- package/fesm2022/{acorex-platform-themes-default-entity-master-create-view.component-Cf5ttvrG.mjs.map → acorex-platform-themes-default-entity-master-create-view.component-Bs6fn6z2.mjs.map} +1 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-DPHXeucj.mjs +310 -0
- package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-DPHXeucj.mjs.map +1 -0
- package/fesm2022/{acorex-platform-themes-default-entity-master-modify-view.component-CCvE7XiE.mjs → acorex-platform-themes-default-entity-master-modify-view.component-CWrpcOC2.mjs} +5 -5
- package/fesm2022/{acorex-platform-themes-default-entity-master-modify-view.component-CCvE7XiE.mjs.map → acorex-platform-themes-default-entity-master-modify-view.component-CWrpcOC2.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-themes-default-entity-master-single-view.component-CwrgQFY7.mjs → acorex-platform-themes-default-entity-master-single-view.component-DHfe0Qtu.mjs} +19 -21
- package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-DHfe0Qtu.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-default.mjs +173 -135
- package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
- package/fesm2022/acorex-platform-themes-shared.mjs +184 -20
- package/fesm2022/acorex-platform-themes-shared.mjs.map +1 -1
- package/fesm2022/{acorex-platform-widgets-template-widget-edit.component-JlCVB-Aq.mjs → acorex-platform-widgets-template-widget-edit.component-DwPYeF0y.mjs} +2 -1
- package/fesm2022/{acorex-platform-widgets-template-widget-edit.component-JlCVB-Aq.mjs.map → acorex-platform-widgets-template-widget-edit.component-DwPYeF0y.mjs.map} +1 -1
- package/fesm2022/acorex-platform-widgets.mjs +181 -34
- package/fesm2022/acorex-platform-widgets.mjs.map +1 -1
- package/fesm2022/acorex-platform-workflow.mjs.map +1 -1
- package/layout/builder/lib/builder/widget-column-renderer.d.ts +1 -1
- package/layout/builder/lib/builder/widget.types.d.ts +1 -2
- package/layout/entity/lib/entity-detail-list.viewmodel.d.ts +1 -0
- package/layout/entity/lib/entity-master-create.viewmodel.d.ts +2 -2
- package/layout/entity/lib/entity-master-list.viewmodel.d.ts +7 -2
- package/layout/entity/lib/index.d.ts +4 -3
- package/layout/setting/README.md +3 -0
- package/layout/setting/index.d.ts +1 -0
- package/layout/setting/lib/convert-setting-data.d.ts +21 -0
- package/layout/setting/lib/setting.viewmodel.d.ts +39 -0
- package/layouts/lib/admin/admin.module.d.ts +6 -3
- package/layouts/lib/admin/entity-layout/entity-details-view/entity-details-view.component.d.ts +42 -9
- package/layouts/lib/admin/entity-layout/entity-list-view/components/list-view-option-columns/list-view-option-columns.component.d.ts +0 -2
- package/layouts/lib/admin/entity-layout/entity-list-view/entity-list-view.component.d.ts +0 -2
- package/layouts/lib/admin/entity-layout/entity-list-view/list-view.config.d.ts +4 -2
- package/layouts/lib/admin/entity-layout/entity-quick-view/entity-quick-view.component.d.ts +0 -1
- package/package.json +12 -12
- package/themes/default/index.d.ts +1 -0
- package/themes/default/lib/default.module.d.ts +3 -4
- package/themes/default/lib/layouts/entity-layouts/entity-detail-list-view/entity-detail-list-view.component.d.ts +43 -8
- package/themes/default/lib/layouts/entity-layouts/entity-master-list-view/entity-master-list-view.component.d.ts +42 -4
- package/themes/default/lib/layouts/entity-layouts/entity-master-list-view/list-view-option-columns/list-view-option-columns.component.d.ts +3 -2
- package/themes/default/lib/layouts/entity-layouts/entity-master-single-view/entity-master-single-view.component.d.ts +42 -3
- package/themes/default/lib/layouts/root-layout/components/header/header.component.d.ts +42 -2
- package/themes/default/lib/layouts/root-layout/root-layout.component.d.ts +42 -11
- package/themes/default/lib/layouts/setting-layout/index.d.ts +2 -0
- package/themes/default/lib/layouts/setting-layout/setting-menu/setting-menu.component.d.ts +12 -0
- package/themes/default/lib/layouts/setting-layout/setting-view/setting-view.component.d.ts +7 -0
- package/themes/shared/lib/components/theme-slot.component.d.ts +31 -5
- package/themes/shared/lib/services/theme.service.d.ts +45 -5
- package/widgets/lib/widgets/advance/cron-job/cron-job-widget-column.component.d.ts +6 -0
- package/widgets/lib/widgets/advance/cron-job/cron-job-widget-designer.component.d.ts +6 -0
- package/widgets/lib/widgets/advance/cron-job/cron-job-widget-edit.component.d.ts +7 -0
- package/widgets/lib/widgets/advance/cron-job/cron-job-widget-filter.component.d.ts +6 -0
- package/widgets/lib/widgets/advance/cron-job/cron-job-widget-print.component.d.ts +6 -0
- package/widgets/lib/widgets/advance/cron-job/cron-job-widget-view.component.d.ts +7 -0
- package/widgets/lib/widgets/advance/cron-job/cron-job-widget.config.d.ts +7 -0
- package/widgets/lib/widgets/advance/cron-job/index.d.ts +7 -0
- package/workflow/lib/workflow.service.d.ts +1 -1
- package/common/lib/layout/layout.service.d.ts +0 -19
- package/common/lib/layout/theme/store/admin-layout.actions.d.ts +0 -7
- package/common/lib/layout/theme/store/admin-layout.effects.d.ts +0 -9
- package/common/lib/layout/theme/store/admin-layout.reducers.d.ts +0 -19
- package/common/lib/layout/theme/store/admin-layout.selectors.d.ts +0 -4
- package/common/lib/layout/theme/store/admin-layout.state.d.ts +0 -11
- package/common/lib/layout/theme/store/index.d.ts +0 -5
- package/esm2022/common/lib/layout/layout.service.mjs +0 -79
- package/esm2022/common/lib/layout/theme/store/admin-layout.actions.mjs +0 -11
- package/esm2022/common/lib/layout/theme/store/admin-layout.effects.mjs +0 -21
- package/esm2022/common/lib/layout/theme/store/admin-layout.reducers.mjs +0 -64
- package/esm2022/common/lib/layout/theme/store/admin-layout.selectors.mjs +0 -7
- package/esm2022/common/lib/layout/theme/store/admin-layout.state.mjs +0 -13
- package/esm2022/common/lib/layout/theme/store/index.mjs +0 -6
- package/esm2022/mocks/acorex-platform-mocks.mjs +0 -5
- package/esm2022/mocks/index.mjs +0 -7
- package/esm2022/mocks/lib/mocks.module.mjs +0 -15
- package/esm2022/mocks/lib/services/mocker.service.mjs +0 -114
- package/esm2022/mocks/lib/storage/storage.mock.service.mjs +0 -183
- package/esm2022/themes/default/lib/layout.routes.mjs +0 -20
- package/fesm2022/acorex-platform-common-avatar-widget-view.component-Dew3CVLm.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-boolean-widget-filter.component-BdE7WOK5.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-checkbox-widget-edit.component-ChXbJsuG.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-dateTime-widget-column.component-QUYyDVw8.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-dateTime-widget-edit.component-CzLb3xnR.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-dateTime-widget-filter.component-DZRQ6yVk.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-email-widget-column.component-Cm-fhlNZ.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-email-widget-edit.component-BfXFBLF6.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-file-widget-column.component-B0v2rSWI.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-file-widget-filter.component-C3uBjqF-.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-gallery-widget-filter.component-Di446i2c.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-largetext-widget-edit.component-D89AlBSm.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-lookup-widget-column.component-CB0ehp_y.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-lookup-widget-filter.component-Dxj_XEYV.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-lookup-widget-view.component-BtO3feA9.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-map-widget-edit.component-hXIZrhzg.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-map-widget-view.component-RgV-r8q6.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-messenger-widget-column.component-DGWQWuzM.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-messenger-widget-edit.component-Blv1qL4e.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-number-widget-edit.component-gQCEBhPv.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-number-widget-filter.component-CvEw3awN.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-number-widget-view.component-ROrdklif.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-password-widget-edit.component-BCOoHtGl.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-phone-widget-edit.component-Bo_aOxfZ.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-rich-text-widget-edit.component-12odUyzb.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-rich-text-widget-view.component-Xr0ohz5L.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-selection-list-widget-edit.component-C1QPfHCm.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-selection-list-widget-filter.component-DIgxHmqa.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-selection-list-widget-view.component-D-VQ4JNC.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-signature-pad-widget-view.component-USd0U707.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-string-widget-filter.component-wI9D-Ju5.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-text-widget-edit.component-feJTTnye.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-toggle-widget-edit.component-Cuf9_RrU.mjs.map +0 -1
- package/fesm2022/acorex-platform-mocks.mjs +0 -319
- package/fesm2022/acorex-platform-mocks.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-BLb_4pK5.mjs +0 -306
- package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-BLb_4pK5.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-CwrgQFY7.mjs.map +0 -1
- package/mocks/README.md +0 -3
- package/mocks/index.d.ts +0 -3
- package/mocks/lib/mocks.module.d.ts +0 -7
- package/mocks/lib/services/mocker.service.d.ts +0 -29
- package/mocks/lib/storage/storage.mock.service.d.ts +0 -25
- package/themes/default/lib/layout.routes.d.ts +0 -2
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
import { AXToastService } from '@acorex/components/toast';
|
|
2
|
+
import { AXPlatform } from '@acorex/core/platform';
|
|
3
|
+
import { AXPSettingDefinitionProviderService } from '@acorex/platform/common';
|
|
4
|
+
import * as i0 from '@angular/core';
|
|
5
|
+
import { inject, signal, computed, Injectable } from '@angular/core';
|
|
6
|
+
import { Router, NavigationEnd } from '@angular/router';
|
|
7
|
+
import { filter, take } from 'rxjs';
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Converts a list of AXPSettingDefinitionGroup into a tree structure of AXTreeViewSchema.
|
|
11
|
+
* This function processes groups and their nested sub-groups, recursively creating a tree.
|
|
12
|
+
*
|
|
13
|
+
* @param groups - Array of top-level setting groups to be converted into tree view schema.
|
|
14
|
+
* @param parentId - The parent ID for nested groups, passed down recursively. (Optional, default is undefined)
|
|
15
|
+
*
|
|
16
|
+
* @returns An array of AXTreeViewSchema representing the hierarchical structure of groups.
|
|
17
|
+
*/
|
|
18
|
+
function convertToTreeViewSchema(groups, parentId) {
|
|
19
|
+
// Helper function to traverse and convert a single group (and its sub-groups)
|
|
20
|
+
const traverseGroups = (group, parent) => {
|
|
21
|
+
const currentId = group.name;
|
|
22
|
+
// Schema for the current group
|
|
23
|
+
const schema = {
|
|
24
|
+
id: currentId, // Unique identifier for the group (using group name)
|
|
25
|
+
parentId: parent, // Parent group ID, passed down recursively
|
|
26
|
+
text: group.title, // Display title of the group
|
|
27
|
+
//tooltip: group.description, // Optional description as tooltip
|
|
28
|
+
hasChild: group.groups.length > 0, // Whether the group has child groups
|
|
29
|
+
isExpanded: false, // Default state for expansion (optional)
|
|
30
|
+
childrens: group.groups.length > 0 ? [] : undefined, // Child groups array (undefined if no children)
|
|
31
|
+
};
|
|
32
|
+
// Recursively process nested groups (sub-groups inside the current group)
|
|
33
|
+
group.groups.forEach((subGroup) => {
|
|
34
|
+
const childSchema = traverseGroups(subGroup, currentId); // Create schema for sub-group
|
|
35
|
+
schema.childrens?.push(childSchema); // Add the child schema to the parent group's children
|
|
36
|
+
});
|
|
37
|
+
return schema; // Return the group schema with its children (if any)
|
|
38
|
+
};
|
|
39
|
+
// Initialize an array to hold the top-level groups' schemas
|
|
40
|
+
const treeViewSchemas = [];
|
|
41
|
+
// Process each top-level group and convert it into tree view schema
|
|
42
|
+
groups.forEach((group) => {
|
|
43
|
+
treeViewSchemas.push(traverseGroups(group, parentId)); // Add the schema for each group
|
|
44
|
+
});
|
|
45
|
+
// Return the resulting hierarchical structure
|
|
46
|
+
return treeViewSchemas;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Recursively searches for a specific `id` in a tree structure and updates its `active` property to `true`.
|
|
50
|
+
* Additionally, ensures all other nodes have their `active` property set to `false`.
|
|
51
|
+
*
|
|
52
|
+
* @param tree - The tree structure to search, represented as an array of AXTreeViewSchema nodes.
|
|
53
|
+
* @param targetId - The `id` of the node to activate.
|
|
54
|
+
* @returns The updated tree structure with the target node activated and others deactivated.
|
|
55
|
+
*/
|
|
56
|
+
function setActiveByValueField(tree, targetId) {
|
|
57
|
+
return tree.map((node) => {
|
|
58
|
+
// Set active property for the target node
|
|
59
|
+
node.active = node.id === targetId;
|
|
60
|
+
// Recursively process children if they exist
|
|
61
|
+
if (node.childrens && node.childrens.length > 0) {
|
|
62
|
+
node.childrens = setActiveByValueField(node.childrens, targetId);
|
|
63
|
+
}
|
|
64
|
+
return node;
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
class AXPSettingsViewModel {
|
|
69
|
+
constructor() {
|
|
70
|
+
this.router = inject(Router);
|
|
71
|
+
this.settingService = inject(AXPSettingDefinitionProviderService);
|
|
72
|
+
this.platform = inject(AXPlatform);
|
|
73
|
+
this.toastService = inject(AXToastService);
|
|
74
|
+
this.data = signal(null);
|
|
75
|
+
this.isMobile = signal(this.platform.is('MD'));
|
|
76
|
+
this.fullRoute = this.router.url.split('/settings')[0] + '/settings/';
|
|
77
|
+
this.activatedGroup = signal(undefined);
|
|
78
|
+
this.dataDetails = computed(() => {
|
|
79
|
+
if (this.activatedGroup()) {
|
|
80
|
+
return this.fetchGroupDetails(this.activatedGroup());
|
|
81
|
+
}
|
|
82
|
+
else
|
|
83
|
+
return null;
|
|
84
|
+
});
|
|
85
|
+
this.formattedData = signal([]);
|
|
86
|
+
this.context = signal({});
|
|
87
|
+
this.previousContext = signal({});
|
|
88
|
+
this.isSaving = signal(false);
|
|
89
|
+
this.canCancel = computed(() => this.isObjectEmpty(this.context()));
|
|
90
|
+
this.canSave = computed(() => !this.isSaving() &&
|
|
91
|
+
!this.isObjectEmpty(this.context()) &&
|
|
92
|
+
!this.areObjectsEqual(this.context(), this.previousContext()));
|
|
93
|
+
}
|
|
94
|
+
async initializeService(activatedRoute) {
|
|
95
|
+
// Initial setup
|
|
96
|
+
this.activatedRoute = activatedRoute;
|
|
97
|
+
this.router.events.pipe(filter((event) => event instanceof NavigationEnd)).subscribe(() => {
|
|
98
|
+
this.updateGroupParam();
|
|
99
|
+
});
|
|
100
|
+
this.updateGroupParam();
|
|
101
|
+
await this.getData();
|
|
102
|
+
}
|
|
103
|
+
ngOnDestroy() {
|
|
104
|
+
this.subscription.unsubscribe();
|
|
105
|
+
}
|
|
106
|
+
// Fetch settings data
|
|
107
|
+
async getData() {
|
|
108
|
+
const items = await this.settingService.items();
|
|
109
|
+
this.data.set(items);
|
|
110
|
+
this.formattedData.set(convertToTreeViewSchema(this.data()));
|
|
111
|
+
}
|
|
112
|
+
// Fetch group details for preview
|
|
113
|
+
fetchGroupDetails(groupName) {
|
|
114
|
+
return this.settingService.findGroupDetails(groupName);
|
|
115
|
+
}
|
|
116
|
+
// Update group param logic
|
|
117
|
+
updateGroupParam() {
|
|
118
|
+
// If no child routes exist, set groupParam to null
|
|
119
|
+
if (this.activatedRoute.children.length === 0) {
|
|
120
|
+
this.activatedGroup.set(undefined);
|
|
121
|
+
return;
|
|
122
|
+
}
|
|
123
|
+
// Traverse child routes to check for the group parameter
|
|
124
|
+
this.activatedRoute.children.forEach((childRoute) => {
|
|
125
|
+
childRoute.paramMap.pipe(take(1)).subscribe((params) => {
|
|
126
|
+
const group = params.get('group');
|
|
127
|
+
console.log(group);
|
|
128
|
+
this.activatedGroup.set(group || undefined);
|
|
129
|
+
if (group) {
|
|
130
|
+
this.formattedData.set(setActiveByValueField(this.formattedData(), group));
|
|
131
|
+
}
|
|
132
|
+
});
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
onChooseGroup(item) {
|
|
136
|
+
const value = item.data?.['id'];
|
|
137
|
+
this.router.navigate([value], { relativeTo: this.activatedRoute });
|
|
138
|
+
}
|
|
139
|
+
setContext(value) {
|
|
140
|
+
this.context.set(value);
|
|
141
|
+
}
|
|
142
|
+
// Save settings logic
|
|
143
|
+
async onSaveSettings() {
|
|
144
|
+
this.previousContext.set(this.context());
|
|
145
|
+
this.isSaving.set(true);
|
|
146
|
+
// Simulate an API call
|
|
147
|
+
this.toastService.show({
|
|
148
|
+
color: 'success',
|
|
149
|
+
title: `Saved successfully`,
|
|
150
|
+
location: 'bottom-center',
|
|
151
|
+
closeButton: true,
|
|
152
|
+
timeOut: 3000,
|
|
153
|
+
timeOutProgress: false,
|
|
154
|
+
});
|
|
155
|
+
await new Promise((resolve) => setTimeout(resolve, 500));
|
|
156
|
+
this.isSaving.set(false);
|
|
157
|
+
}
|
|
158
|
+
// Cancel settings logic
|
|
159
|
+
onCancelSettings() {
|
|
160
|
+
this.context.set({});
|
|
161
|
+
}
|
|
162
|
+
// Helper: Check if object is empty
|
|
163
|
+
isObjectEmpty(obj) {
|
|
164
|
+
return Object.keys(obj).length === 0;
|
|
165
|
+
}
|
|
166
|
+
// Helper: Compare objects
|
|
167
|
+
areObjectsEqual(obj1, obj2) {
|
|
168
|
+
if (typeof obj1 !== 'object' || typeof obj2 !== 'object' || obj1 === null || obj2 === null) {
|
|
169
|
+
return obj1 === obj2;
|
|
170
|
+
}
|
|
171
|
+
const keys1 = Object.keys(obj1);
|
|
172
|
+
const keys2 = Object.keys(obj2);
|
|
173
|
+
if (keys1.length !== keys2.length) {
|
|
174
|
+
return false;
|
|
175
|
+
}
|
|
176
|
+
for (const key of keys1) {
|
|
177
|
+
const keyTyped = key;
|
|
178
|
+
if (!obj2.hasOwnProperty(key) || !this.areObjectsEqual(obj1[keyTyped], obj2[keyTyped])) {
|
|
179
|
+
return false;
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
return true;
|
|
183
|
+
}
|
|
184
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPSettingsViewModel, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
185
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPSettingsViewModel, providedIn: 'root' }); }
|
|
186
|
+
}
|
|
187
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPSettingsViewModel, decorators: [{
|
|
188
|
+
type: Injectable,
|
|
189
|
+
args: [{ providedIn: 'root' }]
|
|
190
|
+
}], ctorParameters: () => [] });
|
|
191
|
+
|
|
192
|
+
/**
|
|
193
|
+
* Generated bundle index. Do not edit.
|
|
194
|
+
*/
|
|
195
|
+
|
|
196
|
+
export { AXPSettingsViewModel };
|
|
197
|
+
//# sourceMappingURL=acorex-platform-layout-setting.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"acorex-platform-layout-setting.mjs","sources":["../../../../libs/platform/layout/setting/src/lib/convert-setting-data.ts","../../../../libs/platform/layout/setting/src/lib/setting.viewmodel.ts","../../../../libs/platform/layout/setting/src/acorex-platform-layout-setting.ts"],"sourcesContent":["import { AXTreeViewSchema } from '@acorex/components/tree-view/lib/tree-view.class';\nimport { AXPSettingDefinitionGroup } from '@acorex/platform/common';\n\n/**\n * Converts a list of AXPSettingDefinitionGroup into a tree structure of AXTreeViewSchema.\n * This function processes groups and their nested sub-groups, recursively creating a tree.\n *\n * @param groups - Array of top-level setting groups to be converted into tree view schema.\n * @param parentId - The parent ID for nested groups, passed down recursively. (Optional, default is undefined)\n *\n * @returns An array of AXTreeViewSchema representing the hierarchical structure of groups.\n */\nexport function convertToTreeViewSchema(\n groups: AXPSettingDefinitionGroup[],\n parentId?: string | number\n): AXTreeViewSchema[] {\n // Helper function to traverse and convert a single group (and its sub-groups)\n const traverseGroups = (group: AXPSettingDefinitionGroup, parent?: string | number): AXTreeViewSchema => {\n const currentId = group.name;\n\n // Schema for the current group\n const schema: AXTreeViewSchema = {\n id: currentId, // Unique identifier for the group (using group name)\n parentId: parent, // Parent group ID, passed down recursively\n text: group.title, // Display title of the group\n //tooltip: group.description, // Optional description as tooltip\n hasChild: group.groups.length > 0, // Whether the group has child groups\n isExpanded: false, // Default state for expansion (optional)\n childrens: group.groups.length > 0 ? [] : undefined, // Child groups array (undefined if no children)\n };\n\n // Recursively process nested groups (sub-groups inside the current group)\n group.groups.forEach((subGroup) => {\n const childSchema = traverseGroups(subGroup, currentId); // Create schema for sub-group\n schema.childrens?.push(childSchema); // Add the child schema to the parent group's children\n });\n\n return schema; // Return the group schema with its children (if any)\n };\n\n // Initialize an array to hold the top-level groups' schemas\n const treeViewSchemas: AXTreeViewSchema[] = [];\n\n // Process each top-level group and convert it into tree view schema\n groups.forEach((group) => {\n treeViewSchemas.push(traverseGroups(group, parentId)); // Add the schema for each group\n });\n\n // Return the resulting hierarchical structure\n return treeViewSchemas;\n}\n\n/**\n * Recursively searches for a specific `id` in a tree structure and updates its `active` property to `true`.\n * Additionally, ensures all other nodes have their `active` property set to `false`.\n *\n * @param tree - The tree structure to search, represented as an array of AXTreeViewSchema nodes.\n * @param targetId - The `id` of the node to activate.\n * @returns The updated tree structure with the target node activated and others deactivated.\n */\nexport function setActiveByValueField(tree: AXTreeViewSchema[], targetId: string | number): AXTreeViewSchema[] {\n return tree.map((node) => {\n // Set active property for the target node\n node.active = node.id === targetId;\n\n // Recursively process children if they exist\n if (node.childrens && node.childrens.length > 0) {\n node.childrens = setActiveByValueField(node.childrens, targetId);\n }\n\n return node;\n });\n}\n","import { AXToastService } from '@acorex/components/toast';\nimport { AXTreeItemClickBaseEvent, AXTreeViewSchema } from '@acorex/components/tree-view/lib/tree-view.class';\nimport { AXPlatform } from '@acorex/core/platform';\nimport {\n AXPGroupDetails,\n AXPSettingDefinitionItem,\n AXPSettingDefinitionProviderService,\n} from '@acorex/platform/common';\nimport { computed, inject, Injectable, OnDestroy, signal } from '@angular/core';\nimport { ActivatedRoute, NavigationEnd, Router } from '@angular/router';\nimport { filter, Subscription, take } from 'rxjs';\nimport { convertToTreeViewSchema, setActiveByValueField } from './convert-setting-data';\n\n@Injectable({ providedIn: 'root' })\nexport class AXPSettingsViewModel implements OnDestroy {\n private readonly router = inject(Router);\n private readonly settingService = inject(AXPSettingDefinitionProviderService);\n private readonly platform = inject(AXPlatform);\n private readonly toastService = inject(AXToastService);\n\n private activatedRoute: ActivatedRoute;\n\n subscription: Subscription;\n data = signal<AXPSettingDefinitionItem[] | null>(null);\n isMobile = signal(this.platform.is('MD'));\n fullRoute = this.router.url.split('/settings')[0] + '/settings/';\n\n activatedGroup = signal<string | undefined>(undefined);\n dataDetails = computed<AXPGroupDetails | null>(() => {\n if (this.activatedGroup()) {\n return this.fetchGroupDetails(this.activatedGroup()!);\n } else return null;\n });\n\n formattedData = signal<AXTreeViewSchema[]>([]);\n\n constructor() {}\n\n async initializeService(activatedRoute: ActivatedRoute) {\n // Initial setup\n this.activatedRoute = activatedRoute;\n this.router.events.pipe(filter((event) => event instanceof NavigationEnd)).subscribe(() => {\n this.updateGroupParam();\n });\n this.updateGroupParam();\n await this.getData();\n }\n\n ngOnDestroy(): void {\n this.subscription.unsubscribe();\n }\n\n // Fetch settings data\n async getData(): Promise<void> {\n const items = await this.settingService.items();\n this.data.set(items);\n this.formattedData.set(convertToTreeViewSchema(this.data()!));\n }\n\n // Fetch group details for preview\n fetchGroupDetails(groupName: string): AXPGroupDetails | null {\n return this.settingService.findGroupDetails(groupName);\n }\n\n // Update group param logic\n private updateGroupParam(): void {\n // If no child routes exist, set groupParam to null\n if (this.activatedRoute.children.length === 0) {\n this.activatedGroup.set(undefined);\n return;\n }\n // Traverse child routes to check for the group parameter\n this.activatedRoute.children.forEach((childRoute) => {\n childRoute.paramMap.pipe(take(1)).subscribe((params) => {\n const group = params.get('group');\n console.log(group);\n this.activatedGroup.set(group || undefined);\n if (group) {\n this.formattedData.set(setActiveByValueField(this.formattedData(), group));\n }\n });\n });\n }\n\n public onChooseGroup(item: AXTreeItemClickBaseEvent) {\n const value = item.data?.['id'];\n this.router.navigate([value], { relativeTo: this.activatedRoute });\n }\n\n context = signal<Record<any, any>>({});\n previousContext = signal<Record<any, any>>({});\n setContext(value: any) {\n this.context.set(value);\n }\n isSaving = signal(false);\n\n canCancel = computed(() => this.isObjectEmpty(this.context()));\n canSave = computed(\n () =>\n !this.isSaving() &&\n !this.isObjectEmpty(this.context()) &&\n !this.areObjectsEqual(this.context(), this.previousContext())\n );\n // Save settings logic\n public async onSaveSettings(): Promise<void> {\n this.previousContext.set(this.context());\n this.isSaving.set(true);\n\n // Simulate an API call\n this.toastService.show({\n color: 'success',\n title: `Saved successfully`,\n location: 'bottom-center',\n closeButton: true,\n timeOut: 3000,\n timeOutProgress: false,\n });\n\n await new Promise((resolve) => setTimeout(resolve, 500));\n this.isSaving.set(false);\n }\n\n // Cancel settings logic\n public onCancelSettings(): void {\n this.context.set({});\n }\n\n // Helper: Check if object is empty\n private isObjectEmpty(obj: object): boolean {\n return Object.keys(obj).length === 0;\n }\n\n // Helper: Compare objects\n private areObjectsEqual<T>(obj1: T, obj2: T): boolean {\n if (typeof obj1 !== 'object' || typeof obj2 !== 'object' || obj1 === null || obj2 === null) {\n return obj1 === obj2;\n }\n const keys1 = Object.keys(obj1);\n const keys2 = Object.keys(obj2);\n\n if (keys1.length !== keys2.length) {\n return false;\n }\n for (const key of keys1) {\n const keyTyped = key as keyof T;\n if (!obj2.hasOwnProperty(key) || !this.areObjectsEqual(obj1[keyTyped], obj2[keyTyped])) {\n return false;\n }\n }\n return true;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|