@acorex/platform 18.0.1 → 18.0.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/application.types.d.ts +43 -26
- package/common/lib/common.module.d.ts +6 -5
- package/common/lib/data/data-provider.types.d.ts +1 -1
- package/common/lib/data/dexie-storage.service.d.ts +15 -0
- package/common/lib/data/entity-data-provider.d.ts +14 -0
- package/common/lib/data/index.d.ts +3 -0
- package/common/lib/data/storage-service.d.ts +22 -0
- package/common/lib/schema/entity/entity.class.d.ts +3 -0
- package/common/lib/utils/data-generator.d.ts +2 -0
- package/esm2022/common/lib/app/application.types.mjs +1 -1
- package/esm2022/common/lib/common.module.mjs +19 -2
- package/esm2022/common/lib/data/data-provider.types.mjs +1 -1
- package/esm2022/common/lib/data/dexie-storage.service.mjs +36 -0
- package/esm2022/common/lib/data/entity-data-provider.mjs +26 -0
- package/esm2022/common/lib/data/index.mjs +4 -1
- package/esm2022/common/lib/data/storage-service.mjs +5 -0
- package/esm2022/common/lib/schema/entity/entity-registery.service.mjs +2 -2
- package/esm2022/common/lib/schema/entity/entity.class.mjs +1 -1
- package/esm2022/common/lib/utils/data-generator.mjs +22 -1
- package/esm2022/common/lib/workflows/common.workflow.mjs +3 -3
- package/esm2022/layout/builder/lib/builder/builder.service.mjs +7 -2
- package/esm2022/layout/builder/lib/builder/widget.types.mjs +5 -1
- package/esm2022/layout/entity/lib/entity-detail-list.viewmodel.mjs +9 -8
- package/esm2022/layout/entity/lib/entity-master-create.viewmodel.mjs +34 -21
- package/esm2022/layout/entity/lib/entity-master-list.viewmodel.mjs +23 -15
- package/esm2022/layout/entity/lib/entity-master-single.viewmodel.mjs +46 -49
- package/esm2022/layout/entity/lib/entity-master-update.viewmodel.mjs +9 -7
- package/esm2022/layout/entity/lib/entity-registery.service.mjs +2 -2
- package/esm2022/layout/entity/lib/entity.module.mjs +13 -4
- package/esm2022/layout/entity/lib/entity.viewmodel.mjs +7 -6
- package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget-edit.component.mjs +127 -39
- package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget-selector.component.mjs +83 -37
- package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget-selector.viewmodel.mjs +34 -23
- package/esm2022/layout/entity/lib/workflows/create-entity.workflow.mjs +17 -20
- package/esm2022/layout/entity/lib/workflows/delete-entity.workflow.mjs +17 -15
- package/esm2022/layout/entity/lib/workflows/modify-section.workflow.mjs +11 -23
- package/esm2022/layout/entity/lib/workflows/show-details.workflow.mjs +3 -3
- package/esm2022/layout/entity/lib/workflows/show-list.workflow.mjs +35 -0
- package/esm2022/layouts/lib/admin/entity-layout/entity-create-view/entity-create-view.component.mjs +3 -3
- package/esm2022/layouts/lib/admin/entity-layout/workflows/delete-entity.workflow.mjs +2 -2
- package/esm2022/layouts/lib/layout.module.mjs +3 -3
- package/esm2022/themes/default/acorex-platform-themes-default.mjs +5 -0
- package/esm2022/themes/default/index.mjs +3 -0
- package/esm2022/themes/default/lib/default.module.mjs +74 -0
- package/esm2022/themes/default/lib/entity-reuse.strategy.mjs +21 -0
- package/esm2022/themes/default/lib/layout.routes.mjs +20 -0
- package/esm2022/themes/default/lib/layouts/entity-layouts/entity-detail-list-view/entity-detail-list-view.component.mjs +114 -0
- package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-create-view/entity-master-create-view.component.mjs +93 -0
- package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-list-view/entity-master-list-view.component.mjs +163 -0
- package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-list-view/list-view-option-columns/list-view-option-columns.component.mjs +64 -0
- package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-list-view/list-view-option-sorting/list-view-option-sorting.component.mjs +62 -0
- package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-modify-view/entity-master-modify-view.component.mjs +82 -0
- package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-single-view/entity-master-single-view.component.mjs +77 -0
- package/esm2022/themes/default/lib/layouts/root-layout/components/footer/footer.component.mjs +14 -0
- package/esm2022/themes/default/lib/layouts/root-layout/components/header/header.component.mjs +29 -0
- package/esm2022/themes/default/lib/layouts/root-layout/index.mjs +5 -0
- package/esm2022/themes/default/lib/layouts/root-layout/root-layout.component.mjs +78 -0
- package/esm2022/themes/default/lib/layouts/root-layout/root-layout.module.mjs +91 -0
- package/esm2022/themes/default/lib/pages/errors/error-401/error-401.component.mjs +28 -0
- package/esm2022/themes/default/lib/pages/errors/error-404/error-404.component.mjs +22 -0
- package/esm2022/themes/default/lib/pages/errors/error-offline/error-offline.component.mjs +16 -0
- package/esm2022/widgets/lib/editors/date-time-box-widget/date-time-box-widget-column.component.mjs +2 -2
- package/esm2022/widgets/lib/editors/date-time-box-widget/date-time-box-widget-edit.component.mjs +21 -12
- package/esm2022/widgets/lib/editors/date-time-box-widget/date-time-box-widget-view.component.mjs +3 -2
- package/esm2022/widgets/lib/editors/number-box-widget/number-box-widget-column.component.mjs +2 -2
- package/esm2022/widgets/lib/editors/number-box-widget/number-box-widget-view.component.mjs +2 -2
- package/esm2022/workflow/lib/actions/start-workflow.action.mjs +28 -0
- package/esm2022/workflow/lib/workflow.module.mjs +7 -2
- package/esm2022/workflow/lib/workflow.service.mjs +53 -6
- package/esm2022/workflow/lib/workflow.types.mjs +12 -6
- package/fesm2022/{acorex-platform-common-avatar-widget-edit.component-DAmNXjDm.mjs → acorex-platform-common-avatar-widget-edit.component-B-of5ssU.mjs} +3 -2
- package/fesm2022/{acorex-platform-common-avatar-widget-edit.component-DAmNXjDm.mjs.map → acorex-platform-common-avatar-widget-edit.component-B-of5ssU.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-avatar-widget-view.component-BlA_cFkP.mjs → acorex-platform-common-avatar-widget-view.component-CJvrSkTv.mjs} +4 -3
- package/fesm2022/acorex-platform-common-avatar-widget-view.component-CJvrSkTv.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-boolean-widget-filter.component-CEqibiML.mjs → acorex-platform-common-boolean-widget-filter.component-BTcOjuUm.mjs} +4 -3
- package/fesm2022/acorex-platform-common-boolean-widget-filter.component-BTcOjuUm.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-checkbox-widget-column.component-BiUHPDqV.mjs → acorex-platform-common-checkbox-widget-column.component-X9d1iY_F.mjs} +4 -3
- package/fesm2022/{acorex-platform-common-checkbox-widget-column.component-BiUHPDqV.mjs.map → acorex-platform-common-checkbox-widget-column.component-X9d1iY_F.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-checkbox-widget-edit.component-BVG9_XXh.mjs → acorex-platform-common-checkbox-widget-edit.component-_jtT03Vn.mjs} +4 -3
- package/fesm2022/acorex-platform-common-checkbox-widget-edit.component-_jtT03Vn.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-checkbox-widget-view.component-CfGkMcDi.mjs → acorex-platform-common-checkbox-widget-view.component-nYmtb8bK.mjs} +4 -3
- package/fesm2022/{acorex-platform-common-checkbox-widget-view.component-CfGkMcDi.mjs.map → acorex-platform-common-checkbox-widget-view.component-nYmtb8bK.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-dateTime-widget-column.component-BlXTU887.mjs → acorex-platform-common-dateTime-widget-column.component-5ljYmtHI.mjs} +4 -3
- package/fesm2022/acorex-platform-common-dateTime-widget-column.component-5ljYmtHI.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-dateTime-widget-edit.component-B0s6FN-g.mjs → acorex-platform-common-dateTime-widget-edit.component-D8FSiqAo.mjs} +4 -3
- package/fesm2022/{acorex-platform-common-dateTime-widget-edit.component-B0s6FN-g.mjs.map → acorex-platform-common-dateTime-widget-edit.component-D8FSiqAo.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-dateTime-widget-filter.component-B7KBCsUt.mjs → acorex-platform-common-dateTime-widget-filter.component-Df0DuDtw.mjs} +4 -3
- package/fesm2022/{acorex-platform-common-dateTime-widget-filter.component-B7KBCsUt.mjs.map → acorex-platform-common-dateTime-widget-filter.component-Df0DuDtw.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-dateTime-widget-view.component-Dy7pAkGG.mjs → acorex-platform-common-dateTime-widget-view.component-CjVjQkPh.mjs} +4 -3
- package/fesm2022/{acorex-platform-common-dateTime-widget-view.component-Dy7pAkGG.mjs.map → acorex-platform-common-dateTime-widget-view.component-CjVjQkPh.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-email-widget-column.component-D_UNn2dW.mjs → acorex-platform-common-email-widget-column.component-BgNdL62k.mjs} +4 -3
- package/fesm2022/acorex-platform-common-email-widget-column.component-BgNdL62k.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-email-widget-edit.component-DWT24mCM.mjs → acorex-platform-common-email-widget-edit.component-CgHPGccx.mjs} +4 -3
- package/fesm2022/{acorex-platform-common-email-widget-edit.component-DWT24mCM.mjs.map → acorex-platform-common-email-widget-edit.component-CgHPGccx.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-email-widget-view.component-B6puyycL.mjs → acorex-platform-common-email-widget-view.component-C2aQ14k-.mjs} +4 -3
- package/fesm2022/{acorex-platform-common-email-widget-view.component-B6puyycL.mjs.map → acorex-platform-common-email-widget-view.component-C2aQ14k-.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-file-widget-column.component-C1faGR4K.mjs → acorex-platform-common-file-widget-column.component-CwFzLLHt.mjs} +4 -3
- package/fesm2022/acorex-platform-common-file-widget-column.component-CwFzLLHt.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-file-widget-edit.component-CTvS9ls8.mjs → acorex-platform-common-file-widget-edit.component-DxoQR4CU.mjs} +4 -3
- package/fesm2022/{acorex-platform-common-file-widget-edit.component-CTvS9ls8.mjs.map → acorex-platform-common-file-widget-edit.component-DxoQR4CU.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-file-widget-filter.component-D4AMg5M0.mjs → acorex-platform-common-file-widget-filter.component-BvG0iaKU.mjs} +4 -3
- package/fesm2022/acorex-platform-common-file-widget-filter.component-BvG0iaKU.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-file-widget-view.component-CHI4VCvt.mjs → acorex-platform-common-file-widget-view.component-BC9l3YrO.mjs} +4 -3
- package/fesm2022/{acorex-platform-common-file-widget-view.component-CHI4VCvt.mjs.map → acorex-platform-common-file-widget-view.component-BC9l3YrO.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-gallery-widget-edit.component-CAOctYzV.mjs → acorex-platform-common-gallery-widget-edit.component-BihOIJ9T.mjs} +4 -3
- package/fesm2022/{acorex-platform-common-gallery-widget-edit.component-CAOctYzV.mjs.map → acorex-platform-common-gallery-widget-edit.component-BihOIJ9T.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-gallery-widget-filter.component-lgaYDZeD.mjs → acorex-platform-common-gallery-widget-filter.component-DS1PCIJp.mjs} +4 -3
- package/fesm2022/acorex-platform-common-gallery-widget-filter.component-DS1PCIJp.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-gallery-widget-view.component-Ci50jeO5.mjs → acorex-platform-common-gallery-widget-view.component-CnQONVdg.mjs} +4 -3
- package/fesm2022/{acorex-platform-common-gallery-widget-view.component-Ci50jeO5.mjs.map → acorex-platform-common-gallery-widget-view.component-CnQONVdg.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-largetext-widget-edit.component-DFKG-kum.mjs → acorex-platform-common-largetext-widget-edit.component-BCtGkz1a.mjs} +4 -3
- package/fesm2022/acorex-platform-common-largetext-widget-edit.component-BCtGkz1a.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-lookup-widget-column.component-CFzCGcqA.mjs → acorex-platform-common-lookup-widget-column.component-Cl-vO5XW.mjs} +4 -3
- package/fesm2022/acorex-platform-common-lookup-widget-column.component-Cl-vO5XW.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-lookup-widget-edit.component-CYTSeEOq.mjs → acorex-platform-common-lookup-widget-edit.component-D9UhViUG.mjs} +4 -3
- package/fesm2022/acorex-platform-common-lookup-widget-edit.component-D9UhViUG.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-lookup-widget-filter.component-BkxT9_Hh.mjs → acorex-platform-common-lookup-widget-filter.component-RWweQQaO.mjs} +4 -3
- package/fesm2022/acorex-platform-common-lookup-widget-filter.component-RWweQQaO.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-lookup-widget-view.component-5YeixMp7.mjs → acorex-platform-common-lookup-widget-view.component-mXo8VADX.mjs} +4 -3
- package/fesm2022/acorex-platform-common-lookup-widget-view.component-mXo8VADX.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-map-widget-edit.component-CE3QQBmX.mjs → acorex-platform-common-map-widget-edit.component-SSrR3xxv.mjs} +4 -3
- package/fesm2022/acorex-platform-common-map-widget-edit.component-SSrR3xxv.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-map-widget-view.component-Cv4OCTxz.mjs → acorex-platform-common-map-widget-view.component-DrGG3gzg.mjs} +4 -3
- package/fesm2022/acorex-platform-common-map-widget-view.component-DrGG3gzg.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-messenger-widget-column.component-CJdh6TKb.mjs → acorex-platform-common-messenger-widget-column.component-BJ_XzNKc.mjs} +4 -3
- package/fesm2022/acorex-platform-common-messenger-widget-column.component-BJ_XzNKc.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-messenger-widget-edit.component-kiEHxJia.mjs → acorex-platform-common-messenger-widget-edit.component-B_FG_n0O.mjs} +4 -3
- package/fesm2022/{acorex-platform-common-messenger-widget-edit.component-kiEHxJia.mjs.map → acorex-platform-common-messenger-widget-edit.component-B_FG_n0O.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-messenger-widget-view.component-DzbjgZA7.mjs → acorex-platform-common-messenger-widget-view.component-EBiPO9ds.mjs} +4 -3
- package/fesm2022/{acorex-platform-common-messenger-widget-view.component-DzbjgZA7.mjs.map → acorex-platform-common-messenger-widget-view.component-EBiPO9ds.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-number-widget-edit.component-BRuIP96Y.mjs → acorex-platform-common-number-widget-edit.component-B1XXga-9.mjs} +4 -3
- package/fesm2022/acorex-platform-common-number-widget-edit.component-B1XXga-9.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-number-widget-filter.component-jQ4DaFQH.mjs → acorex-platform-common-number-widget-filter.component-B2JCpDjU.mjs} +4 -3
- package/fesm2022/{acorex-platform-common-number-widget-filter.component-jQ4DaFQH.mjs.map → acorex-platform-common-number-widget-filter.component-B2JCpDjU.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-number-widget-view.component-BzUWjT8m.mjs → acorex-platform-common-number-widget-view.component-DD0tkoc4.mjs} +4 -3
- package/fesm2022/acorex-platform-common-number-widget-view.component-DD0tkoc4.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-password-widget-column.component-BRzyuK5c.mjs → acorex-platform-common-password-widget-column.component-eyqgQlAt.mjs} +4 -3
- package/fesm2022/{acorex-platform-common-password-widget-column.component-BRzyuK5c.mjs.map → acorex-platform-common-password-widget-column.component-eyqgQlAt.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-password-widget-edit.component-q6R2dw5k.mjs → acorex-platform-common-password-widget-edit.component-C2yNb9Pl.mjs} +4 -3
- package/fesm2022/acorex-platform-common-password-widget-edit.component-C2yNb9Pl.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-password-widget-view.component-CKaQItON.mjs → acorex-platform-common-password-widget-view.component-o9S7pwJW.mjs} +4 -3
- package/fesm2022/{acorex-platform-common-password-widget-view.component-CKaQItON.mjs.map → acorex-platform-common-password-widget-view.component-o9S7pwJW.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-phone-widget-column.component-BD7BScjW.mjs → acorex-platform-common-phone-widget-column.component-BL9Xl2XH.mjs} +4 -3
- package/fesm2022/{acorex-platform-common-phone-widget-column.component-BD7BScjW.mjs.map → acorex-platform-common-phone-widget-column.component-BL9Xl2XH.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-phone-widget-edit.component-D8tGKfNj.mjs → acorex-platform-common-phone-widget-edit.component-DSh9zoZj.mjs} +4 -3
- package/fesm2022/{acorex-platform-common-phone-widget-edit.component-D8tGKfNj.mjs.map → acorex-platform-common-phone-widget-edit.component-DSh9zoZj.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-phone-widget-view.component-CFiMsGOB.mjs → acorex-platform-common-phone-widget-view.component-Br3xbaDd.mjs} +4 -3
- package/fesm2022/{acorex-platform-common-phone-widget-view.component-CFiMsGOB.mjs.map → acorex-platform-common-phone-widget-view.component-Br3xbaDd.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-rich-text-widget-column.component-BPzwY_8L.mjs → acorex-platform-common-rich-text-widget-column.component-DDT58tca.mjs} +4 -3
- package/fesm2022/{acorex-platform-common-rich-text-widget-column.component-BPzwY_8L.mjs.map → acorex-platform-common-rich-text-widget-column.component-DDT58tca.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-rich-text-widget-edit.component-CA2xRfVg.mjs → acorex-platform-common-rich-text-widget-edit.component-Dz1toc21.mjs} +4 -3
- package/fesm2022/acorex-platform-common-rich-text-widget-edit.component-Dz1toc21.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-rich-text-widget-view.component-DYfTZ64H.mjs → acorex-platform-common-rich-text-widget-view.component-CxTPcEIQ.mjs} +4 -3
- package/fesm2022/acorex-platform-common-rich-text-widget-view.component-CxTPcEIQ.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-selection-list-widget-column.component-_MglaOmo.mjs → acorex-platform-common-selection-list-widget-column.component-BCCmg8MI.mjs} +4 -3
- package/fesm2022/{acorex-platform-common-selection-list-widget-column.component-_MglaOmo.mjs.map → acorex-platform-common-selection-list-widget-column.component-BCCmg8MI.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-selection-list-widget-edit.component-QKw_tyOd.mjs → acorex-platform-common-selection-list-widget-edit.component-B5eUdN2R.mjs} +4 -3
- package/fesm2022/acorex-platform-common-selection-list-widget-edit.component-B5eUdN2R.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-selection-list-widget-filter.component-DRToTnHQ.mjs → acorex-platform-common-selection-list-widget-filter.component-DPpZq1TB.mjs} +4 -3
- package/fesm2022/acorex-platform-common-selection-list-widget-filter.component-DPpZq1TB.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-selection-list-widget-view.component-CjDiuUdj.mjs → acorex-platform-common-selection-list-widget-view.component-Bxvd_AKZ.mjs} +4 -3
- package/fesm2022/acorex-platform-common-selection-list-widget-view.component-Bxvd_AKZ.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-signature-pad-widget-edit.component-DF29uWl2.mjs → acorex-platform-common-signature-pad-widget-edit.component-CNjYCEi6.mjs} +4 -3
- package/fesm2022/{acorex-platform-common-signature-pad-widget-edit.component-DF29uWl2.mjs.map → acorex-platform-common-signature-pad-widget-edit.component-CNjYCEi6.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-signature-pad-widget-view.component-BWzoR4HM.mjs → acorex-platform-common-signature-pad-widget-view.component-CsiBv_7i.mjs} +4 -3
- package/fesm2022/acorex-platform-common-signature-pad-widget-view.component-CsiBv_7i.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-string-widget-filter.component-Di_GFHme.mjs → acorex-platform-common-string-widget-filter.component-CrGt6Bov.mjs} +4 -3
- package/fesm2022/acorex-platform-common-string-widget-filter.component-CrGt6Bov.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-text-widget-column.component-BSYd1CbC.mjs → acorex-platform-common-text-widget-column.component-qXusAevm.mjs} +4 -3
- package/fesm2022/{acorex-platform-common-text-widget-column.component-BSYd1CbC.mjs.map → acorex-platform-common-text-widget-column.component-qXusAevm.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-text-widget-edit.component-K9z9N1qw.mjs → acorex-platform-common-text-widget-edit.component-ed0MUYnD.mjs} +4 -3
- package/fesm2022/{acorex-platform-common-text-widget-edit.component-K9z9N1qw.mjs.map → acorex-platform-common-text-widget-edit.component-ed0MUYnD.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-text-widget-view.component-WbZtm_bf.mjs → acorex-platform-common-text-widget-view.component-BpxTaeQW.mjs} +4 -3
- package/fesm2022/{acorex-platform-common-text-widget-view.component-WbZtm_bf.mjs.map → acorex-platform-common-text-widget-view.component-BpxTaeQW.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-toggle-widget-column.component-ZCBSYMuz.mjs → acorex-platform-common-toggle-widget-column.component-BqiUQrmV.mjs} +4 -3
- package/fesm2022/{acorex-platform-common-toggle-widget-column.component-ZCBSYMuz.mjs.map → acorex-platform-common-toggle-widget-column.component-BqiUQrmV.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-toggle-widget-edit.component-rkDfLA-J.mjs → acorex-platform-common-toggle-widget-edit.component-CDG62BJN.mjs} +4 -3
- package/fesm2022/acorex-platform-common-toggle-widget-edit.component-CDG62BJN.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-toggle-widget-view.component-DLDIrci1.mjs → acorex-platform-common-toggle-widget-view.component-DWYcIPTd.mjs} +4 -3
- package/fesm2022/{acorex-platform-common-toggle-widget-view.component-DLDIrci1.mjs.map → acorex-platform-common-toggle-widget-view.component-DWYcIPTd.mjs.map} +1 -1
- package/fesm2022/acorex-platform-common.mjs +252 -149
- package/fesm2022/acorex-platform-common.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-builder.mjs +10 -1
- package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-entity.mjs +445 -261
- package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
- package/fesm2022/{acorex-platform-layouts-entity-create-view.component-BmSMt95H.mjs → acorex-platform-layouts-entity-create-view.component-fkKPKxlb.mjs} +3 -3
- package/fesm2022/acorex-platform-layouts-entity-create-view.component-fkKPKxlb.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts.mjs +4 -4
- package/fesm2022/acorex-platform-layouts.mjs.map +1 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-BxYT9KhH.mjs +96 -0
- package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-BxYT9KhH.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-F7dr-osu.mjs +85 -0
- package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-F7dr-osu.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-default-error-401.component-Djuin07Z.mjs +31 -0
- package/fesm2022/acorex-platform-themes-default-error-401.component-Djuin07Z.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-default-error-404.component-C-RyiLkk.mjs +25 -0
- package/fesm2022/acorex-platform-themes-default-error-404.component-C-RyiLkk.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-default-error-offline.component-WCfy9-cr.mjs +19 -0
- package/fesm2022/acorex-platform-themes-default-error-offline.component-WCfy9-cr.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-default.mjs +688 -0
- package/fesm2022/acorex-platform-themes-default.mjs.map +1 -0
- package/fesm2022/acorex-platform-widgets.mjs +50 -42
- package/fesm2022/acorex-platform-widgets.mjs.map +1 -1
- package/fesm2022/acorex-platform-workflow.mjs +184 -104
- package/fesm2022/acorex-platform-workflow.mjs.map +1 -1
- package/layout/builder/lib/builder/widget.types.d.ts +3 -0
- package/layout/entity/lib/entity-master-create.viewmodel.d.ts +6 -5
- package/layout/entity/lib/entity-master-list.viewmodel.d.ts +4 -0
- package/layout/entity/lib/entity-master-single.viewmodel.d.ts +10 -5
- package/layout/entity/lib/entity-master-update.viewmodel.d.ts +0 -1
- package/layout/entity/lib/entity.viewmodel.d.ts +3 -3
- package/layout/entity/lib/widgets/lookup-widget/lookup-widget-edit.component.d.ts +18 -3
- package/layout/entity/lib/widgets/lookup-widget/lookup-widget-selector.component.d.ts +8 -1
- package/layout/entity/lib/widgets/lookup-widget/lookup-widget-selector.viewmodel.d.ts +10 -3
- package/layout/entity/lib/workflows/create-entity.workflow.d.ts +0 -2
- package/layout/entity/lib/workflows/delete-entity.workflow.d.ts +2 -4
- package/layout/entity/lib/workflows/modify-section.workflow.d.ts +2 -5
- package/layout/entity/lib/workflows/show-list.workflow.d.ts +10 -0
- package/package.json +7 -1
- package/themes/default/README.md +3 -0
- package/themes/default/index.d.ts +2 -0
- package/themes/default/lib/default.module.d.ts +8 -0
- package/themes/default/lib/entity-reuse.strategy.d.ts +8 -0
- package/themes/default/lib/layout.routes.d.ts +2 -0
- package/themes/default/lib/layouts/entity-layouts/entity-detail-list-view/entity-detail-list-view.component.d.ts +24 -0
- package/themes/default/lib/layouts/entity-layouts/entity-master-create-view/entity-master-create-view.component.d.ts +17 -0
- package/themes/default/lib/layouts/entity-layouts/entity-master-list-view/entity-master-list-view.component.d.ts +29 -0
- package/themes/default/lib/layouts/entity-layouts/entity-master-list-view/list-view-option-columns/list-view-option-columns.component.d.ts +18 -0
- package/themes/default/lib/layouts/entity-layouts/entity-master-list-view/list-view-option-sorting/list-view-option-sorting.component.d.ts +16 -0
- package/themes/default/lib/layouts/entity-layouts/entity-master-modify-view/entity-master-modify-view.component.d.ts +16 -0
- package/themes/default/lib/layouts/entity-layouts/entity-master-single-view/entity-master-single-view.component.d.ts +13 -0
- package/themes/default/lib/layouts/root-layout/components/footer/footer.component.d.ts +5 -0
- package/themes/default/lib/layouts/root-layout/components/header/header.component.d.ts +10 -0
- package/themes/default/lib/layouts/root-layout/index.d.ts +4 -0
- package/themes/default/lib/layouts/root-layout/root-layout.component.d.ts +32 -0
- package/themes/default/lib/layouts/root-layout/root-layout.module.d.ts +24 -0
- package/themes/default/lib/pages/errors/error-401/error-401.component.d.ts +10 -0
- package/themes/default/lib/pages/errors/error-404/error-404.component.d.ts +8 -0
- package/themes/default/lib/pages/errors/error-offline/error-offline.component.d.ts +9 -0
- package/widgets/lib/editors/date-time-box-widget/date-time-box-widget-edit.component.d.ts +4 -0
- package/workflow/lib/actions/start-workflow.action.d.ts +10 -0
- package/workflow/lib/workflow.service.d.ts +4 -2
- package/workflow/lib/workflow.types.d.ts +3 -1
- package/fesm2022/acorex-platform-common-avatar-widget-view.component-BlA_cFkP.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-boolean-widget-filter.component-CEqibiML.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-checkbox-widget-edit.component-BVG9_XXh.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-dateTime-widget-column.component-BlXTU887.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-email-widget-column.component-D_UNn2dW.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-file-widget-column.component-C1faGR4K.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-file-widget-filter.component-D4AMg5M0.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-gallery-widget-filter.component-lgaYDZeD.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-largetext-widget-edit.component-DFKG-kum.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-lookup-widget-column.component-CFzCGcqA.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-lookup-widget-edit.component-CYTSeEOq.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-lookup-widget-filter.component-BkxT9_Hh.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-lookup-widget-view.component-5YeixMp7.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-map-widget-edit.component-CE3QQBmX.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-map-widget-view.component-Cv4OCTxz.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-messenger-widget-column.component-CJdh6TKb.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-number-widget-edit.component-BRuIP96Y.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-number-widget-view.component-BzUWjT8m.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-password-widget-edit.component-q6R2dw5k.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-rich-text-widget-edit.component-CA2xRfVg.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-rich-text-widget-view.component-DYfTZ64H.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-selection-list-widget-edit.component-QKw_tyOd.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-selection-list-widget-filter.component-DRToTnHQ.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-selection-list-widget-view.component-CjDiuUdj.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-signature-pad-widget-view.component-BWzoR4HM.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-string-widget-filter.component-Di_GFHme.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-toggle-widget-edit.component-rkDfLA-J.mjs.map +0 -1
- package/fesm2022/acorex-platform-layouts-entity-create-view.component-BmSMt95H.mjs.map +0 -1
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { inject, Injectable } from "@angular/core";
|
|
2
|
+
import { AXPWorkflowAction } from "../workflow.types";
|
|
3
|
+
import { AXPWorkflowService } from "../workflow.service";
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class AXPStartWorkflowAction extends AXPWorkflowAction {
|
|
6
|
+
constructor() {
|
|
7
|
+
super(...arguments);
|
|
8
|
+
this.workflowService = inject(AXPWorkflowService);
|
|
9
|
+
}
|
|
10
|
+
async execute(context) {
|
|
11
|
+
try {
|
|
12
|
+
let newContext = await this.workflowService.execute(this.workflow, this.context);
|
|
13
|
+
context.mergeWith(newContext);
|
|
14
|
+
}
|
|
15
|
+
catch (e) {
|
|
16
|
+
throw e;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXPStartWorkflowAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
20
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXPStartWorkflowAction, providedIn: 'root' }); }
|
|
21
|
+
}
|
|
22
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXPStartWorkflowAction, decorators: [{
|
|
23
|
+
type: Injectable,
|
|
24
|
+
args: [{
|
|
25
|
+
providedIn: 'root',
|
|
26
|
+
}]
|
|
27
|
+
}] });
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhcnQtd29ya2Zsb3cuYWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS93b3JrZmxvdy9zcmMvbGliL2FjdGlvbnMvc3RhcnQtd29ya2Zsb3cuYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxpQkFBaUIsRUFBc0IsTUFBTSxtQkFBbUIsQ0FBQztBQUMxRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7QUFLekQsTUFBTSxPQUFPLHNCQUF1QixTQUFRLGlCQUFpQjtJQUg3RDs7UUFLWSxvQkFBZSxHQUFHLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFBO0tBY3ZEO0lBVkcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUEyQjtRQUNyQyxJQUFJLENBQUM7WUFDRCxJQUFJLFVBQVUsR0FBRyxNQUFNLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ2pGLE9BQU8sQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDbEMsQ0FBQztRQUNELE9BQU8sQ0FBVSxFQUFFLENBQUM7WUFDaEIsTUFBTSxDQUFDLENBQUM7UUFDWixDQUFDO0lBRUwsQ0FBQzs4R0FmUSxzQkFBc0I7a0hBQXRCLHNCQUFzQixjQUZuQixNQUFNOzsyRkFFVCxzQkFBc0I7a0JBSGxDLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgQVhQV29ya2Zsb3dBY3Rpb24sIEFYUFdvcmtmbG93Q29udGV4dCB9IGZyb20gXCIuLi93b3JrZmxvdy50eXBlc1wiO1xyXG5pbXBvcnQgeyBBWFBXb3JrZmxvd1NlcnZpY2UgfSBmcm9tIFwiLi4vd29ya2Zsb3cuc2VydmljZVwiO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQVhQU3RhcnRXb3JrZmxvd0FjdGlvbiBleHRlbmRzIEFYUFdvcmtmbG93QWN0aW9uIHtcclxuXHJcbiAgICBwcml2YXRlIHdvcmtmbG93U2VydmljZSA9IGluamVjdChBWFBXb3JrZmxvd1NlcnZpY2UpXHJcbiAgICBwcml2YXRlIHdvcmtmbG93OiBzdHJpbmc7XHJcbiAgICBwcml2YXRlIGNvbnRleHQ6IGFueTtcclxuXHJcbiAgICBhc3luYyBleGVjdXRlKGNvbnRleHQ6IEFYUFdvcmtmbG93Q29udGV4dCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGxldCBuZXdDb250ZXh0ID0gYXdhaXQgdGhpcy53b3JrZmxvd1NlcnZpY2UuZXhlY3V0ZSh0aGlzLndvcmtmbG93LCB0aGlzLmNvbnRleHQpO1xyXG4gICAgICAgICAgICBjb250ZXh0Lm1lcmdlV2l0aChuZXdDb250ZXh0KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY2F0Y2ggKGU6IHVua25vd24pIHtcclxuICAgICAgICAgICAgdGhyb3cgZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG59Il19
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Inject, NgModule, Optional } from "@angular/core";
|
|
2
2
|
import { AXPWorkflowRegistryService } from "./workflow-registery.service";
|
|
3
|
+
import { AXPStartWorkflowAction } from "./actions/start-workflow.action";
|
|
3
4
|
import * as i0 from "@angular/core";
|
|
4
5
|
export class AXPWorkflowModule {
|
|
5
6
|
static forRoot(config) {
|
|
@@ -9,6 +10,8 @@ export class AXPWorkflowModule {
|
|
|
9
10
|
{
|
|
10
11
|
provide: 'AXPWorkflowModuleFactory',
|
|
11
12
|
useFactory: (registry) => () => {
|
|
13
|
+
registry.registerAction("start-workflow", AXPStartWorkflowAction);
|
|
14
|
+
//
|
|
12
15
|
if (config?.functions) {
|
|
13
16
|
for (const [key, type] of Object.entries(config.functions)) {
|
|
14
17
|
registry.registerFunction(key, type);
|
|
@@ -30,7 +33,7 @@ export class AXPWorkflowModule {
|
|
|
30
33
|
deps: [AXPWorkflowRegistryService],
|
|
31
34
|
multi: true
|
|
32
35
|
},
|
|
33
|
-
...Object.values(config?.actions ?? {}),
|
|
36
|
+
...Object.values(config?.actions ?? { AXPStartWorkflowAction }),
|
|
34
37
|
...Object.values(config?.functions ?? {}),
|
|
35
38
|
]
|
|
36
39
|
};
|
|
@@ -42,6 +45,8 @@ export class AXPWorkflowModule {
|
|
|
42
45
|
{
|
|
43
46
|
provide: 'AXPWorkflowModuleFactory',
|
|
44
47
|
useFactory: (registry) => () => {
|
|
48
|
+
registry.registerAction("start-workflow", AXPStartWorkflowAction);
|
|
49
|
+
//
|
|
45
50
|
if (config?.functions) {
|
|
46
51
|
for (const [key, type] of Object.entries(config.functions)) {
|
|
47
52
|
registry.registerFunction(key, type);
|
|
@@ -93,4 +98,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImpor
|
|
|
93
98
|
type: Inject,
|
|
94
99
|
args: ['AXPWorkflowModuleFactory']
|
|
95
100
|
}] }] });
|
|
96
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
101
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3cubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS93b3JrZmxvdy9zcmMvbGliL3dvcmtmbG93Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUF1QixRQUFRLEVBQUUsUUFBUSxFQUFRLE1BQU0sZUFBZSxDQUFDO0FBQ3RGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRTFFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOztBQW9CekUsTUFBTSxPQUFPLGlCQUFpQjtJQUUxQixNQUFNLENBQUMsT0FBTyxDQUFDLE1BQWlDO1FBQzVDLE9BQU87WUFDSCxRQUFRLEVBQUUsaUJBQWlCO1lBQzNCLFNBQVMsRUFBRTtnQkFDUDtvQkFDSSxPQUFPLEVBQUUsMEJBQTBCO29CQUNuQyxVQUFVLEVBQUUsQ0FBQyxRQUFvQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEVBQUU7d0JBQ3ZELFFBQVEsQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLEVBQUUsc0JBQXNCLENBQUMsQ0FBQzt3QkFDbEUsRUFBRTt3QkFDRixJQUFJLE1BQU0sRUFBRSxTQUFTLEVBQUUsQ0FBQzs0QkFDcEIsS0FBSyxNQUFNLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7Z0NBQ3pELFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7NEJBQ3pDLENBQUM7d0JBQ0wsQ0FBQzt3QkFDRCxFQUFFO3dCQUNGLElBQUksTUFBTSxFQUFFLE9BQU8sRUFBRSxDQUFDOzRCQUNsQixLQUFLLE1BQU0sQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENB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OytHQTdFakQsaUJBQWlCOytHQUFqQixpQkFBaUI7OzJGQUFqQixpQkFBaUI7a0JBTDdCLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFLEVBQUU7b0JBQ1gsT0FBTyxFQUFFLEVBQUU7b0JBQ1gsWUFBWSxFQUFFLEVBQUU7aUJBQ25COzswQkE4RWdCLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsMEJBQTBCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSwgT3B0aW9uYWwsIFR5cGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBBWFBXb3JrZmxvd1JlZ2lzdHJ5U2VydmljZSB9IGZyb20gXCIuL3dvcmtmbG93LXJlZ2lzdGVyeS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IEFYUFdvcmtmbG93LCBBWFBXb3JrZmxvd0FjdGlvbiwgQVhQV29ya2Zsb3dGdW5jdGlvbiB9IGZyb20gXCIuL3dvcmtmbG93LnR5cGVzXCI7XHJcbmltcG9ydCB7IEFYUFN0YXJ0V29ya2Zsb3dBY3Rpb24gfSBmcm9tIFwiLi9hY3Rpb25zL3N0YXJ0LXdvcmtmbG93LmFjdGlvblwiO1xyXG5cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQVhQV29ya2Zsb3dNb2R1bGVDb25maWdzIHtcclxuICAgIGZ1bmN0aW9ucz86IHtcclxuICAgICAgICBbbmFtZTogc3RyaW5nXTogVHlwZTxBWFBXb3JrZmxvd0Z1bmN0aW9uPlxyXG4gICAgfSxcclxuICAgIGFjdGlvbnM/OiB7XHJcbiAgICAgICAgW25hbWU6IHN0cmluZ106IFR5cGU8QVhQV29ya2Zsb3dBY3Rpb24+XHJcbiAgICB9LFxyXG4gICAgd29ya2Zsb3dzPzoge1xyXG4gICAgICAgIFtuYW1lOiBzdHJpbmddOiBBWFBXb3JrZmxvd1xyXG4gICAgfVxyXG59XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gICAgaW1wb3J0czogW10sXHJcbiAgICBleHBvcnRzOiBbXSxcclxuICAgIGRlY2xhcmF0aW9uczogW10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBWFBXb3JrZmxvd01vZHVsZSB7XHJcblxyXG4gICAgc3RhdGljIGZvclJvb3QoY29uZmlnPzogQVhQV29ya2Zsb3dNb2R1bGVDb25maWdzKTogTW9kdWxlV2l0aFByb3ZpZGVyczxBWFBXb3JrZmxvd01vZHVsZT4ge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIG5nTW9kdWxlOiBBWFBXb3JrZmxvd01vZHVsZSxcclxuICAgICAgICAgICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgcHJvdmlkZTogJ0FYUFdvcmtmbG93TW9kdWxlRmFjdG9yeScsXHJcbiAgICAgICAgICAgICAgICAgICAgdXNlRmFjdG9yeTogKHJlZ2lzdHJ5OiBBWFBXb3JrZmxvd1JlZ2lzdHJ5U2VydmljZSkgPT4gKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZWdpc3RyeS5yZWdpc3RlckFjdGlvbihcInN0YXJ0LXdvcmtmbG93XCIsIEFYUFN0YXJ0V29ya2Zsb3dBY3Rpb24pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvL1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoY29uZmlnPy5mdW5jdGlvbnMpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciAoY29uc3QgW2tleSwgdHlwZV0gb2YgT2JqZWN0LmVudHJpZXMoY29uZmlnLmZ1bmN0aW9ucykpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWdpc3RyeS5yZWdpc3RlckZ1bmN0aW9uKGtleSwgdHlwZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgLy9cclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGNvbmZpZz8uYWN0aW9ucykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCBba2V5LCB0eXBlXSBvZiBPYmplY3QuZW50cmllcyhjb25maWcuYWN0aW9ucykpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWdpc3RyeS5yZWdpc3RlckFjdGlvbihrZXksIHR5cGUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjb25maWc/LndvcmtmbG93cykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCBba2V5LCB0eXBlXSBvZiBPYmplY3QuZW50cmllcyhjb25maWcud29ya2Zsb3dzKSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZ2lzdHJ5LnJlZ2lzdGVyV29ya2Zsb3coa2V5LCB0eXBlKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgZGVwczogW0FYUFdvcmtmbG93UmVnaXN0cnlTZXJ2aWNlXSxcclxuICAgICAgICAgICAgICAgICAgICBtdWx0aTogdHJ1ZVxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIC4uLk9iamVjdC52YWx1ZXMoY29uZmlnPy5hY3Rpb25zID8/IHsgQVhQU3RhcnRXb3JrZmxvd0FjdGlvbiB9KSxcclxuICAgICAgICAgICAgICAgIC4uLk9iamVjdC52YWx1ZXMoY29uZmlnPy5mdW5jdGlvbnMgPz8ge30pLFxyXG4gICAgICAgICAgICBdXHJcbiAgICAgICAgfTtcclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgZm9yQ2hpbGQoY29uZmlnPzogQVhQV29ya2Zsb3dNb2R1bGVDb25maWdzKTogTW9kdWxlV2l0aFByb3ZpZGVyczxBWFBXb3JrZmxvd01vZHVsZT4ge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIG5nTW9kdWxlOiBBWFBXb3JrZmxvd01vZHVsZSxcclxuICAgICAgICAgICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgcHJvdmlkZTogJ0FYUFdvcmtmbG93TW9kdWxlRmFjdG9yeScsXHJcbiAgICAgICAgICAgICAgICAgICAgdXNlRmFjdG9yeTogKHJlZ2lzdHJ5OiBBWFBXb3JrZmxvd1JlZ2lzdHJ5U2VydmljZSkgPT4gKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZWdpc3RyeS5yZWdpc3RlckFjdGlvbihcInN0YXJ0LXdvcmtmbG93XCIsIEFYUFN0YXJ0V29ya2Zsb3dBY3Rpb24pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvL1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoY29uZmlnPy5mdW5jdGlvbnMpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciAoY29uc3QgW2tleSwgdHlwZV0gb2YgT2JqZWN0LmVudHJpZXMoY29uZmlnLmZ1bmN0aW9ucykpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWdpc3RyeS5yZWdpc3RlckZ1bmN0aW9uKGtleSwgdHlwZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgLy9cclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGNvbmZpZz8uYWN0aW9ucykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCBba2V5LCB0eXBlXSBvZiBPYmplY3QuZW50cmllcyhjb25maWcuYWN0aW9ucykpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWdpc3RyeS5yZWdpc3RlckFjdGlvbihrZXksIHR5cGUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjb25maWc/LndvcmtmbG93cykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCBba2V5LCB0eXBlXSBvZiBPYmplY3QuZW50cmllcyhjb25maWcud29ya2Zsb3dzKSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZ2lzdHJ5LnJlZ2lzdGVyV29ya2Zsb3coa2V5LCB0eXBlKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgZGVwczogW0FYUFdvcmtmbG93UmVnaXN0cnlTZXJ2aWNlXSxcclxuICAgICAgICAgICAgICAgICAgICBtdWx0aTogdHJ1ZVxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIC4uLk9iamVjdC52YWx1ZXMoY29uZmlnPy5hY3Rpb25zID8/IHt9KSxcclxuICAgICAgICAgICAgICAgIC4uLk9iamVjdC52YWx1ZXMoY29uZmlnPy5mdW5jdGlvbnMgPz8ge30pXHJcbiAgICAgICAgICAgIF1cclxuICAgICAgICB9O1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQGlnbm9yZVxyXG4gICAgICovXHJcbiAgICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBASW5qZWN0KCdBWFBXb3JrZmxvd01vZHVsZUZhY3RvcnknKSBpbnN0YW5jZXM6IGFueVtdKSB7XHJcbiAgICAgICAgaW5zdGFuY2VzPy5mb3JFYWNoKGYgPT4ge1xyXG4gICAgICAgICAgICBmKCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
@@ -3,6 +3,7 @@ import { AXPWorkflowError } from './errors.types';
|
|
|
3
3
|
import { AXPWorkflowEventService } from './workflow-event-dispatcher.service';
|
|
4
4
|
import { AXPWorkflowRegistryService } from './workflow-registery.service';
|
|
5
5
|
import { AXPWorkflowContext, } from './workflow.types';
|
|
6
|
+
import { cloneDeep, set } from 'lodash-es';
|
|
6
7
|
import * as i0 from "@angular/core";
|
|
7
8
|
import * as i1 from "./workflow-registery.service";
|
|
8
9
|
export class AXPWorkflowService {
|
|
@@ -18,9 +19,8 @@ export class AXPWorkflowService {
|
|
|
18
19
|
// Instantiate or retrieve the workflow
|
|
19
20
|
const wk = typeof workflow === 'string' ? this.getWorkflowInstance(workflow) : workflow;
|
|
20
21
|
let currentStepId = wk.startStepId;
|
|
21
|
-
const context = new AXPWorkflowContext();
|
|
22
|
+
const context = new AXPWorkflowContext(initialContext);
|
|
22
23
|
// Initialize context with initial variables
|
|
23
|
-
Object.entries(initialContext).forEach(e => context.setVariable(e[0], e[1]));
|
|
24
24
|
while (currentStepId) {
|
|
25
25
|
const currentStep = wk.steps[currentStepId];
|
|
26
26
|
if (!currentStep) {
|
|
@@ -29,12 +29,18 @@ export class AXPWorkflowService {
|
|
|
29
29
|
// Instantiate or retrieve the action
|
|
30
30
|
const action = typeof currentStep.action === 'string' ? this.getActionInstance(currentStep.action) : currentStep.action;
|
|
31
31
|
if (currentStep.input) {
|
|
32
|
-
|
|
32
|
+
let inputs = {};
|
|
33
|
+
await this.processInputs(cloneDeep(currentStep.input), inputs, '', context);
|
|
34
|
+
Object.assign(action, inputs);
|
|
33
35
|
}
|
|
34
36
|
try {
|
|
35
|
-
await
|
|
37
|
+
await new Promise((resolve) => setTimeout(async () => {
|
|
38
|
+
await action.execute(context);
|
|
39
|
+
resolve(0);
|
|
40
|
+
}, 0));
|
|
36
41
|
}
|
|
37
42
|
catch (error) {
|
|
43
|
+
console.error(error);
|
|
38
44
|
throw new AXPWorkflowError('Workflow Error', error);
|
|
39
45
|
}
|
|
40
46
|
// Determine the next step based on the conditions
|
|
@@ -46,6 +52,15 @@ export class AXPWorkflowService {
|
|
|
46
52
|
break; // Exit the loop if no next step is determined
|
|
47
53
|
}
|
|
48
54
|
}
|
|
55
|
+
return context;
|
|
56
|
+
}
|
|
57
|
+
//TODO : replace with AXDataGenerator
|
|
58
|
+
uuid() {
|
|
59
|
+
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (char) => {
|
|
60
|
+
const random = (Math.random() * 16) | 0;
|
|
61
|
+
const value = char === 'x' ? random : (random & 0x3) | 0x8;
|
|
62
|
+
return value.toString(16);
|
|
63
|
+
});
|
|
49
64
|
}
|
|
50
65
|
getActionInstance(actionName) {
|
|
51
66
|
const actionType = this.registryService.getAction(actionName);
|
|
@@ -101,8 +116,19 @@ export class AXPWorkflowService {
|
|
|
101
116
|
throw new AXPWorkflowError(`Unsupported condition type: ${condition.type}`);
|
|
102
117
|
}
|
|
103
118
|
}
|
|
104
|
-
async evaluateExpression(
|
|
119
|
+
async evaluateExpression(templateExpression, context) {
|
|
105
120
|
try {
|
|
121
|
+
let expression = '';
|
|
122
|
+
if (typeof templateExpression === 'string' && templateExpression.trim().includes('{{')) {
|
|
123
|
+
const expressionMatch = templateExpression.match(/\{\{\s*(.*?)\s*\}\}/);
|
|
124
|
+
if (!expressionMatch) {
|
|
125
|
+
throw Error(`No valid expression found in "${templateExpression}"`);
|
|
126
|
+
}
|
|
127
|
+
expression = expressionMatch[1];
|
|
128
|
+
}
|
|
129
|
+
else {
|
|
130
|
+
expression = templateExpression;
|
|
131
|
+
}
|
|
106
132
|
// Create a scope that includes context and registered functions
|
|
107
133
|
const scope = { context, ...this.createFunctionScope() };
|
|
108
134
|
// Evaluating the expression within the created scope
|
|
@@ -115,6 +141,27 @@ export class AXPWorkflowService {
|
|
|
115
141
|
return false;
|
|
116
142
|
}
|
|
117
143
|
}
|
|
144
|
+
async processInputs(obj, inputs, pathPrefix = '', context = {}) {
|
|
145
|
+
if (!obj)
|
|
146
|
+
return;
|
|
147
|
+
for await (const i of Object.entries(obj)) {
|
|
148
|
+
const key = i[0];
|
|
149
|
+
const value = i[1];
|
|
150
|
+
const currentPath = pathPrefix ? `${pathPrefix}.${key}` : key;
|
|
151
|
+
if (typeof value === 'string' && value.trim().includes('{{')) {
|
|
152
|
+
const expValue = await this.evaluateExpression(value, context);
|
|
153
|
+
set(inputs, currentPath, expValue);
|
|
154
|
+
}
|
|
155
|
+
else if (typeof value === 'object' && value !== null && (value.constructor === Object || Array.isArray(value))) {
|
|
156
|
+
// Recursively handle nested objects
|
|
157
|
+
this.processInputs(value, inputs, currentPath, context);
|
|
158
|
+
}
|
|
159
|
+
else {
|
|
160
|
+
// Apply static values directly
|
|
161
|
+
set(inputs, currentPath, value);
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
}
|
|
118
165
|
createFunctionScope() {
|
|
119
166
|
const scope = {};
|
|
120
167
|
this.registryService.getFunctionNames().forEach((name) => {
|
|
@@ -138,4 +185,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImpor
|
|
|
138
185
|
providedIn: 'root',
|
|
139
186
|
}]
|
|
140
187
|
}], ctorParameters: () => [{ type: i1.AXPWorkflowRegistryService }, { type: i0.Injector }] });
|
|
141
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3cuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vd29ya2Zsb3cvc3JjL2xpYi93b3JrZmxvdy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU3RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMxRSxPQUFPLEVBSUwsa0JBQWtCLEdBS25CLE1BQU0sa0JBQWtCLENBQUM7OztBQUsxQixNQUFNLE9BQU8sa0JBQWtCO0lBRzdCLElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUM7SUFDbkMsQ0FBQztJQUVELFlBQW9CLGVBQTJDLEVBQVUsUUFBa0I7UUFBdkUsb0JBQWUsR0FBZixlQUFlLENBQTRCO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQU5uRixpQkFBWSxHQUFHLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0lBTXdDLENBQUM7SUFFaEcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUE4QixFQUFFLGlCQUFzQixFQUFFO1FBQ3BFLHVDQUF1QztRQUN2QyxNQUFNLEVBQUUsR0FBRyxPQUFPLFFBQVEsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO1FBRXhGLElBQUksYUFBYSxHQUFHLEVBQUUsQ0FBQyxXQUFXLENBQUM7UUFDbkMsTUFBTSxPQUFPLEdBQUcsSUFBSSxrQkFBa0IsRUFBRSxDQUFDO1FBQ3pDLDRD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bUJBQW1CO1FBQ3pCLE1BQU0sS0FBSyxHQUFRLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsZUFBZSxDQUFDLGdCQUFnQixFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDdkQsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUM7UUFDdkQsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFTyxtQkFBbUIsQ0FBQyxZQUFvQjtRQUM5QyxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNwRSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDbEIsTUFBTSxJQUFJLGdCQUFnQixDQUFDLGtCQUFrQixZQUFZLDhCQUE4QixDQUFDLENBQUM7UUFDM0YsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDekMsQ0FBQzs4R0FqSlUsa0JBQWtCO2tIQUFsQixrQkFBa0IsY0FGakIsTUFBTTs7MkZBRVAsa0JBQWtCO2tCQUg5QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdG9yLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBBWFBXb3JrZmxvd0Vycm9yIH0gZnJvbSAnLi9lcnJvcnMudHlwZXMnO1xyXG5pbXBvcnQgeyBBWFBXb3JrZmxvd0V2ZW50U2VydmljZSB9IGZyb20gJy4vd29ya2Zsb3ctZXZlbnQtZGlzcGF0Y2hlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQVhQV29ya2Zsb3dSZWdpc3RyeVNlcnZpY2UgfSBmcm9tICcuL3dvcmtmbG93LXJlZ2lzdGVyeS5zZXJ2aWNlJztcclxuaW1wb3J0IHtcclxuICBBWFBXb3JrZmxvdyxcclxuICBBWFBXb3JrZmxvd0FjdGlvbixcclxuICBBWFBXb3JrZmxvd0NvbmRpdGlvbixcclxuICBBWFBXb3JrZmxvd0NvbnRleHQsXHJcbiAgQVhQV29ya2Zsb3dFdmVudCxcclxuICBBWFBXb3JrZmxvd0Z1bmN0aW9uLFxyXG4gIEFYUFdvcmtmbG93TmV4dFN0ZXAsXHJcbiAgQVhQV29ya2Zsb3dTdGVwLFxyXG59IGZyb20gJy4vd29ya2Zsb3cudHlwZXMnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFYUFdvcmtmbG93U2VydmljZSB7XHJcbiAgcHJpdmF0ZSBldmVudFNlcnZpY2UgPSBpbmplY3QoQVhQV29ya2Zsb3dFdmVudFNlcnZpY2UpO1xyXG5cclxuICBnZXQgZXZlbnRzJCgpOiBPYnNlcnZhYmxlPEFYUFdvcmtmbG93RXZlbnQ+IHtcclxuICAgIHJldHVybiB0aGlzLmV2ZW50U2VydmljZS5ldmVudHMkO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWdpc3RyeVNlcnZpY2U6IEFYUFdvcmtmbG93UmVnaXN0cnlTZXJ2aWNlLCBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvcikgeyB9XHJcblxyXG4gIGFzeW5jIGV4ZWN1dGUod29ya2Zsb3c6IEFYUFdvcmtmbG93IHwgc3RyaW5nLCBpbml0aWFsQ29udGV4dDogYW55ID0ge30pOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIC8vIEluc3RhbnRpYXRlIG9yIHJldHJpZXZlIHRoZSB3b3JrZmxvd1xyXG4gICAgY29uc3Qgd2sgPSB0eXBlb2Ygd29ya2Zsb3cgPT09ICdzdHJpbmcnID8gdGhpcy5nZXRXb3JrZmxvd0luc3RhbmNlKHdvcmtmbG93KSA6IHdvcmtmbG93O1xyXG5cclxuICAgIGxldCBjdXJyZW50U3RlcElkID0gd2suc3RhcnRTdGVwSWQ7XHJcbiAgICBjb25zdCBjb250ZXh0ID0gbmV3IEFYUFdvcmtmbG93Q29udGV4dCgpO1xyXG4gICAgLy8gSW5pdGlhbGl6ZSBjb250ZXh0IHdpdGggaW5pdGlhbCB2YXJpYWJsZXNcclxuICAgIE9iamVjdC5lbnRyaWVzKGluaXRpYWxDb250ZXh0KS5mb3JFYWNoKGUgPT4gY29udGV4dC5zZXRWYXJpYWJsZShlWzBdLCBlWzFdKSk7XHJcblxyXG4gICAgd2hpbGUgKGN1cnJlbnRTdGVwSWQpIHtcclxuICAgICAgY29uc3QgY3VycmVudFN0ZXAgPSB3ay5zdGVwc1tjdXJyZW50U3RlcElkXTtcclxuICAgICAgaWYgKCFjdXJyZW50U3RlcCkge1xyXG4gICAgICAgIHRocm93IG5ldyBBWFBXb3JrZmxvd0Vycm9yKGBTdGVwICcke2N1cnJlbnRTdGVwSWR9JyBub3QgZm91bmQgaW4gdGhlIHdvcmtmbG93IHN0ZXBzLmApO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAvLyBJbnN0YW50aWF0ZSBvciByZXRyaWV2ZSB0aGUgYWN0aW9uXHJcbiAgICAgIGNvbnN0IGFjdGlvbiA9XHJcbiAgICAgICAgdHlwZW9mIGN1cnJlbnRTdGVwLmFjdGlvbiA9PT0gJ3N0cmluZycgPyB0aGlzLmdldEFjdGlvbkluc3RhbmNlKGN1cnJlbnRTdGVwLmFjdGlvbikgOiBjdXJyZW50U3RlcC5hY3Rpb247XHJcbiAgICAgIGlmIChjdXJyZW50U3RlcC5pbnB1dCkge1xyXG4gICAgICAgIE9iamVjdC5hc3NpZ24oYWN0aW9uLCBjdXJyZW50U3RlcC5pbnB1dCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRyeSB7XHJcbiAgICAgICAgYXdhaXQgYWN0aW9uLmV4ZWN1dGUoY29udGV4dCk7XHJcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICAgICAgdGhyb3cgbmV3IEFYUFdvcmtmbG93RXJyb3IoJ1dvcmtmbG93IEVycm9yJywgZXJyb3IgYXMgRXJyb3IpO1xyXG4gICAgICB9XHJcbiAgICAgIC8vIERldGVybWluZSB0aGUgbmV4dCBzdGVwIGJhc2VkIG9uIHRoZSBjb25kaXRpb25zXHJcbiAgICAgIGNvbnN0IG5leHRTdGVwSW5mbyA9IGF3YWl0IHRoaXMuZGV0ZXJtaW5lTmV4dFN0ZXAoY3VycmVudFN0ZXAsIGNvbnRleHQpO1xyXG4gICAgICBpZiAobmV4dFN0ZXBJbmZvKSB7XHJcbiAgICAgICAgY3VycmVudFN0ZXBJZCA9IG5leHRTdGVwSW5mby5uZXh0U3RlcElkO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGJyZWFrOyAvLyBFeGl0IHRoZSBsb29wIGlmIG5vIG5leHQgc3RlcCBpcyBkZXRlcm1pbmVkXHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0QWN0aW9uSW5zdGFuY2UoYWN0aW9uTmFtZTogc3RyaW5nKTogQVhQV29ya2Zsb3dBY3Rpb24ge1xyXG4gICAgY29uc3QgYWN0aW9uVHlwZSA9IHRoaXMucmVnaXN0cnlTZXJ2aWNlLmdldEFjdGlvbihhY3Rpb25OYW1lKTtcclxuICAgIGlmICghYWN0aW9uVHlwZSkge1xyXG4gICAgICB0aHJvdyBuZXcgQVhQV29ya2Zsb3dFcnJvcihgQWN0aW9uIHR5cGUgJyR7YWN0aW9uTmFtZX0nIG5vdCBmb3VuZCBpbiB0aGUgcmVnaXN0cnkuYCk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5pbmplY3Rvci5nZXQoYWN0aW9uVHlwZSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldFdvcmtmbG93SW5zdGFuY2Uod29ya2Zsb3dOYW1lOiBzdHJpbmcpOiBBWFBXb3JrZmxvdyB7XHJcbiAgICBjb25zdCB3b3JrZmxvd1R5cGUgPSB0aGlzLnJlZ2lzdHJ5U2VydmljZS5nZXRXb3JrZmxvdyh3b3JrZmxvd05hbWUpO1xyXG4gICAgaWYgKCF3b3JrZmxvd1R5cGUpIHtcclxuICAgICAgdGhyb3cgbmV3IEFYUFdvcmtmbG93RXJyb3IoYFdvcmtmbG93IHR5cGUgJyR7d29ya2Zsb3dOYW1lfScgbm90IGZvdW5kIGluIHRoZSByZWdpc3RyeS5gKTtcclxuICAgIH1cclxuICAgIHJldHVybiB3b3JrZmxvd1R5cGU7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIGRldGVybWluZU5leHRTdGVwKFxyXG4gICAgY3VycmVudFN0ZXA6IEFYUFdvcmtmbG93U3RlcCxcclxuICAgIGNvbnRleHQ6IEFYUFdvcmtmbG93Q29udGV4dFxyXG4gICk6IFByb21pc2U8QVhQV29ya2Zsb3dOZXh0U3RlcCB8IG51bGw+IHtcclxuICAgIGlmICghY3VycmVudFN0ZXAubmV4dFN0ZXBzKSB7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gICAgZm9yIChjb25zdCBuZXh0U3RlcCBvZiBjdXJyZW50U3RlcC5uZXh0U3RlcHMpIHtcclxuICAgICAgaWYgKGF3YWl0IHRoaXMuZXZhbHVhdGVDb25kaXRpb24obmV4dFN0ZXAuY29uZGl0aW9ucywgY29udGV4dCkpIHtcclxuICAgICAgICByZXR1cm4gbmV4dFN0ZXA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBldmFsdWF0ZUNvbmRpdGlvbihjb25kaXRpb25zOiBBWFBXb3JrZmxvd0NvbmRpdGlvbltdLCBjb250ZXh0OiBBWFBXb3JrZmxvd0NvbnRleHQpOiBQcm9taXNlPGJvb2xlYW4+IHtcclxuICAgIGlmICghY29uZGl0aW9ucyB8fCBjb25kaXRpb25zLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICByZXR1cm4gdHJ1ZTsgLy8gSWYgbm8gY29uZGl0aW9ucywgdGhlIHN0ZXAgcHJvY2VlZHNcclxuICAgIH1cclxuXHJcbiAgICAvLyBNYXAgZWFjaCBjb25kaXRpb24gdG8gYSBwcm9taXNlIHVzaW5nIGV2YWx1YXRlU2luZ2xlQ29uZGl0aW9uXHJcbiAgICBjb25zdCBjb25kaXRpb25Qcm9taXNlcyA9IGNvbmRpdGlvbnMubWFwKChjb25kaXRpb24pID0+IHRoaXMuZXZhbHVhdGVTaW5nbGVDb25kaXRpb24oY29uZGl0aW9uLCBjb250ZXh0KSk7XHJcblxyXG4gICAgLy8gV2FpdCBmb3IgYWxsIHByb21pc2VzIHRvIHJlc29sdmVcclxuICAgIGNvbnN0IHJlc3VsdHMgPSBhd2FpdCBQcm9taXNlLmFsbChjb25kaXRpb25Qcm9taXNlcyk7XHJcblxyXG4gICAgLy8gQ2hlY2sgaWYgZXZlcnkgY29uZGl0aW9uIGlzIHRydWVcclxuICAgIHJldHVybiByZXN1bHRzLmV2ZXJ5KChyZXN1bHQpID0+IHJlc3VsdCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIGV2YWx1YXRlU2luZ2xlQ29uZGl0aW9uKFxyXG4gICAgY29uZGl0aW9uOiBBWFBXb3JrZmxvd0NvbmRpdGlvbixcclxuICAgIGNvbnRleHQ6IEFYUFdvcmtmbG93Q29udGV4dFxyXG4gICk6IFByb21pc2U8Ym9vbGVhbj4ge1xyXG4gICAgc3dpdGNoIChjb25kaXRpb24udHlwZSkge1xyXG4gICAgICBjYXNlICdTSU5HTEUnOlxyXG4gICAgICAgIHJldHVybiAoIWNvbmRpdGlvbi5leHByZXNzaW9uID8gdHJ1ZSA6IGF3YWl0IHRoaXMuZXZhbHVhdGVFeHByZXNzaW9uKGNvbmRpdGlvbi5leHByZXNzaW9uLCBjb250ZXh0KSkgYXMgYm9vbGVhbjtcclxuICAgICAgY2FzZSAnQU5EJzpcclxuICAgICAgICAvLyBFdmFsdWF0ZSBhbGwgY29uZGl0aW9ucyB3aXRoICdBTkQnIGxvZ2ljXHJcbiAgICAgICAgY29uc3QgYW5kQ29uZGl0aW9ucyA9IGNvbmRpdGlvbi5jb25kaXRpb25zID8/IFtdO1xyXG4gICAgICAgIGNvbnN0IGFuZFJlc3VsdHMgPSBhd2FpdCBQcm9taXNlLmFsbChhbmRDb25kaXRpb25zLm1hcCgoY29uZCkgPT4gdGhpcy5ldmFsdWF0ZVNpbmdsZUNvbmRpdGlvbihjb25kLCBjb250ZXh0KSkpO1xyXG4gICAgICAgIHJldHVybiBhbmRSZXN1bHRzLmV2ZXJ5KChyZXN1bHQpID0+IHJlc3VsdCk7XHJcblxyXG4gICAgICBjYXNlICdPUic6XHJcbiAgICAgICAgLy8gRXZhbHVhdGUgYWxsIGNvbmRpdGlvbnMgd2l0aCAnT1InIGxvZ2ljXHJcbiAgICAgICAgY29uc3Qgb3JDb25kaXRpb25zID0gY29uZGl0aW9uLmNvbmRpdGlvbnMgPz8gW107XHJcbiAgICAgICAgY29uc3Qgb3JSZXN1bHRzID0gYXdhaXQgUHJvbWlzZS5hbGwob3JDb25kaXRpb25zLm1hcCgoY29uZCkgPT4gdGhpcy5ldmFsdWF0ZVNpbmdsZUNvbmRpdGlvbihjb25kLCBjb250ZXh0KSkpO1xyXG4gICAgICAgIHJldHVybiBvclJlc3VsdHMuc29tZSgocmVzdWx0KSA9PiByZXN1bHQpO1xyXG5cclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICB0aHJvdyBuZXcgQVhQV29ya2Zsb3dFcnJvcihgVW5zdXBwb3J0ZWQgY29uZGl0aW9uIHR5cGU6ICR7Y29uZGl0aW9uLnR5cGV9YCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIGV2YWx1YXRlRXhwcmVzc2lvbihleHByZXNzaW9uOiBzdHJpbmcsIGNvbnRleHQ6IEFYUFdvcmtmbG93Q29udGV4dCk6IFByb21pc2U8Qm9vbGVhbj4ge1xyXG4gICAgdHJ5IHtcclxuICAgICAgLy8gQ3JlYXRlIGEgc2NvcGUgdGhhdCBpbmNsdWRlcyBjb250ZXh0IGFuZCByZWdpc3RlcmVkIGZ1bmN0aW9uc1xyXG4gICAgICBjb25zdCBzY29wZSA9IHsgY29udGV4dCwgLi4udGhpcy5jcmVhdGVGdW5jdGlvblNjb3BlKCkgfTtcclxuXHJcbiAgICAgIC8vIEV2YWx1YXRpbmcgdGhlIGV4cHJlc3Npb24gd2l0aGluIHRoZSBjcmVhdGVkIHNjb3BlXHJcbiAgICAgIGNvbnN0IHNhbmRib3ggPSBuZXcgRnVuY3Rpb24oJ3Njb3BlJywgYHJldHVybiAoYXN5bmMgZnVuY3Rpb24oKSB7IHdpdGggKHNjb3BlKSB7IHJldHVybiAke2V4cHJlc3Npb259OyB9IH0pKCk7YCk7XHJcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHNhbmRib3goc2NvcGUpO1xyXG4gICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgZXZhbHVhdGluZyBleHByZXNzaW9uOicsIGVycm9yKTtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjcmVhdGVGdW5jdGlvblNjb3BlKCk6IGFueSB7XHJcbiAgICBjb25zdCBzY29wZTogYW55ID0ge307XHJcbiAgICB0aGlzLnJlZ2lzdHJ5U2VydmljZS5nZXRGdW5jdGlvbk5hbWVzKCkuZm9yRWFjaCgobmFtZSkgPT4ge1xyXG4gICAgICBzY29wZVtuYW1lXSA9IHRoaXMuZ2V0RnVuY3Rpb25JbnN0YW5jZShuYW1lKS5leGVjdXRlO1xyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gc2NvcGU7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldEZ1bmN0aW9uSW5zdGFuY2UoZnVuY3Rpb25OYW1lOiBzdHJpbmcpOiBBWFBXb3JrZmxvd0Z1bmN0aW9uIHtcclxuICAgIGNvbnN0IGZ1bmN0aW9uVHlwZSA9IHRoaXMucmVnaXN0cnlTZXJ2aWNlLmdldEZ1bmN0aW9uKGZ1bmN0aW9uTmFtZSk7XHJcbiAgICBpZiAoIWZ1bmN0aW9uVHlwZSkge1xyXG4gICAgICB0aHJvdyBuZXcgQVhQV29ya2Zsb3dFcnJvcihgRnVuY3Rpb24gdHlwZSAnJHtmdW5jdGlvbk5hbWV9JyBub3QgZm91bmQgaW4gdGhlIHJlZ2lzdHJ5LmApO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuaW5qZWN0b3IuZ2V0KGZ1bmN0aW9uVHlwZSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
188
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3cuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vd29ya2Zsb3cvc3JjL2xpYi93b3JrZmxvdy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU3RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMxRSxPQUFPLEVBSUwsa0JBQWtCLEdBS25CLE1BQU0sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxXQUFXLENBQUM7OztBQUszQyxNQUFNLE9BQU8sa0JBQWtCO0lBSTdCLElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUM7SUFDbkMsQ0FBQztJQUVELFlBQW9CLGVBQTJDLEVBQVUsUUFBa0I7UUFBdkUsb0JBQWUsR0FBZixlQUFlLENBQTRCO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQVBuRixpQkFBWSxHQUFHLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0lBT3dDLENBQUM7SUFFaEcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUE4QixFQUFFLGlCQUFzQixFQUFFO1FBQ3BFLHVDQUF1QztRQUN2QyxNQUFNLEVBQUUsR0FBRyxPQUFPLFFBQVEsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO1FBRXhGLElBQUksYUFBYSxHQUFHLEVBQUUsQ0FBQyxXQUFXLENBQUM7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O2dCQUNOLCtCQUErQjtnQkFDL0IsR0FBRyxDQUFDLE1BQU0sRUFBRSxXQUFXLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDbEMsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRU8sbUJBQW1CO1FBQ3pCLE1BQU0sS0FBSyxHQUFRLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsZUFBZSxDQUFDLGdCQUFnQixFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDdkQsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUM7UUFDdkQsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFTyxtQkFBbUIsQ0FBQyxZQUFvQjtRQUM5QyxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNwRSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDbEIsTUFBTSxJQUFJLGdCQUFnQixDQUFDLGtCQUFrQixZQUFZLDhCQUE4QixDQUFDLENBQUM7UUFDM0YsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDekMsQ0FBQzs4R0EvTFUsa0JBQWtCO2tIQUFsQixrQkFBa0IsY0FGakIsTUFBTTs7MkZBRVAsa0JBQWtCO2tCQUg5QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdG9yLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBBWFBXb3JrZmxvd0Vycm9yIH0gZnJvbSAnLi9lcnJvcnMudHlwZXMnO1xyXG5pbXBvcnQgeyBBWFBXb3JrZmxvd0V2ZW50U2VydmljZSB9IGZyb20gJy4vd29ya2Zsb3ctZXZlbnQtZGlzcGF0Y2hlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQVhQV29ya2Zsb3dSZWdpc3RyeVNlcnZpY2UgfSBmcm9tICcuL3dvcmtmbG93LXJlZ2lzdGVyeS5zZXJ2aWNlJztcclxuaW1wb3J0IHtcclxuICBBWFBXb3JrZmxvdyxcclxuICBBWFBXb3JrZmxvd0FjdGlvbixcclxuICBBWFBXb3JrZmxvd0NvbmRpdGlvbixcclxuICBBWFBXb3JrZmxvd0NvbnRleHQsXHJcbiAgQVhQV29ya2Zsb3dFdmVudCxcclxuICBBWFBXb3JrZmxvd0Z1bmN0aW9uLFxyXG4gIEFYUFdvcmtmbG93TmV4dFN0ZXAsXHJcbiAgQVhQV29ya2Zsb3dTdGVwLFxyXG59IGZyb20gJy4vd29ya2Zsb3cudHlwZXMnO1xyXG5pbXBvcnQgeyBjbG9uZURlZXAsIHNldCB9IGZyb20gJ2xvZGFzaC1lcyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQVhQV29ya2Zsb3dTZXJ2aWNlIHtcclxuICBwcml2YXRlIGV2ZW50U2VydmljZSA9IGluamVjdChBWFBXb3JrZmxvd0V2ZW50U2VydmljZSk7XHJcblxyXG5cclxuICBnZXQgZXZlbnRzJCgpOiBPYnNlcnZhYmxlPEFYUFdvcmtmbG93RXZlbnQ+IHtcclxuICAgIHJldHVybiB0aGlzLmV2ZW50U2VydmljZS5ldmVudHMkO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWdpc3RyeVNlcnZpY2U6IEFYUFdvcmtmbG93UmVnaXN0cnlTZXJ2aWNlLCBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvcikgeyB9XHJcblxyXG4gIGFzeW5jIGV4ZWN1dGUod29ya2Zsb3c6IEFYUFdvcmtmbG93IHwgc3RyaW5nLCBpbml0aWFsQ29udGV4dDogYW55ID0ge30pOiBQcm9taXNlPEFYUFdvcmtmbG93Q29udGV4dD4ge1xyXG4gICAgLy8gSW5zdGFudGlhdGUgb3IgcmV0cmlldmUgdGhlIHdvcmtmbG93XHJcbiAgICBjb25zdCB3ayA9IHR5cGVvZiB3b3JrZmxvdyA9PT0gJ3N0cmluZycgPyB0aGlzLmdldFdvcmtmbG93SW5zdGFuY2Uod29ya2Zsb3cpIDogd29ya2Zsb3c7XHJcblxyXG4gICAgbGV0IGN1cnJlbnRTdGVwSWQgPSB3ay5zdGFydFN0ZXBJZDtcclxuICAgIGNvbnN0IGNvbnRleHQgPSBuZXcgQVhQV29ya2Zsb3dDb250ZXh0KGluaXRpYWxDb250ZXh0KTtcclxuICAgIC8vIEluaXRpYWxpemUgY29udGV4dCB3aXRoIGluaXRpYWwgdmFyaWFibGVzXHJcblxyXG4gICAgd2hpbGUgKGN1cnJlbnRTdGVwSWQpIHtcclxuICAgICAgY29uc3QgY3VycmVudFN0ZXAgPSB3ay5zdGVwc1tjdXJyZW50U3RlcElkXTtcclxuICAgICAgaWYgKCFjdXJyZW50U3RlcCkge1xyXG4gICAgICAgIHRocm93IG5ldyBBWFBXb3JrZmxvd0Vycm9yKGBTdGVwICcke2N1cnJlbnRTdGVwSWR9JyBub3QgZm91bmQgaW4gdGhlIHdvcmtmbG93IHN0ZXBzLmApO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAvLyBJbnN0YW50aWF0ZSBvciByZXRyaWV2ZSB0aGUgYWN0aW9uXHJcbiAgICAgIGNvbnN0IGFjdGlvbiA9IHR5cGVvZiBjdXJyZW50U3RlcC5hY3Rpb24gPT09ICdzdHJpbmcnID8gdGhpcy5nZXRBY3Rpb25JbnN0YW5jZShjdXJyZW50U3RlcC5hY3Rpb24pIDogY3VycmVudFN0ZXAuYWN0aW9uO1xyXG4gICAgICBpZiAoY3VycmVudFN0ZXAuaW5wdXQpIHtcclxuICAgICAgICBsZXQgaW5wdXRzOiBhbnkgPSB7fTtcclxuICAgICAgICBhd2FpdCB0aGlzLnByb2Nlc3NJbnB1dHMoY2xvbmVEZWVwKGN1cnJlbnRTdGVwLmlucHV0KSwgaW5wdXRzLCAnJywgY29udGV4dCk7XHJcbiAgICAgICAgT2JqZWN0LmFzc2lnbihhY3Rpb24sIGlucHV0cyk7XHJcbiAgICAgIH1cclxuICAgICAgdHJ5IHtcclxuICAgICAgICBhd2FpdCBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4gc2V0VGltZW91dChhc3luYyAoKSA9PiB7XHJcbiAgICAgICAgICBhd2FpdCBhY3Rpb24uZXhlY3V0ZShjb250ZXh0KTtcclxuICAgICAgICAgIHJlc29sdmUoMCk7XHJcbiAgICAgICAgfSwgMCkpO1xyXG4gICAgICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpO1xyXG4gICAgICAgIHRocm93IG5ldyBBWFBXb3JrZmxvd0Vycm9yKCdXb3JrZmxvdyBFcnJvcicsIGVycm9yIGFzIEVycm9yKTtcclxuICAgICAgfVxyXG4gICAgICAvLyBEZXRlcm1pbmUgdGhlIG5leHQgc3RlcCBiYXNlZCBvbiB0aGUgY29uZGl0aW9uc1xyXG4gICAgICBjb25zdCBuZXh0U3RlcEluZm8gPSBhd2FpdCB0aGlzLmRldGVybWluZU5leHRTdGVwKGN1cnJlbnRTdGVwLCBjb250ZXh0KTtcclxuICAgICAgaWYgKG5leHRTdGVwSW5mbykge1xyXG4gICAgICAgIGN1cnJlbnRTdGVwSWQgPSBuZXh0U3RlcEluZm8ubmV4dFN0ZXBJZDtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBicmVhazsgLy8gRXhpdCB0aGUgbG9vcCBpZiBubyBuZXh0IHN0ZXAgaXMgZGV0ZXJtaW5lZFxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gY29udGV4dDtcclxuICB9XHJcblxyXG4gIC8vVE9ETyA6IHJlcGxhY2Ugd2l0aCBBWERhdGFHZW5lcmF0b3JcclxuICBwcml2YXRlIHV1aWQoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiAneHh4eHh4eHgteHh4eC00eHh4LXl4eHgteHh4eHh4eHh4eHh4Jy5yZXBsYWNlKC9beHldL2csIChjaGFyKSA9PiB7XHJcbiAgICAgIGNvbnN0IHJhbmRvbSA9IChNYXRoLnJhbmRvbSgpICogMTYpIHwgMDtcclxuICAgICAgY29uc3QgdmFsdWUgPSBjaGFyID09PSAneCcgPyByYW5kb20gOiAocmFuZG9tICYgMHgzKSB8IDB4ODtcclxuICAgICAgcmV0dXJuIHZhbHVlLnRvU3RyaW5nKDE2KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRBY3Rpb25JbnN0YW5jZShhY3Rpb25OYW1lOiBzdHJpbmcpOiBBWFBXb3JrZmxvd0FjdGlvbiB7XHJcbiAgICBjb25zdCBhY3Rpb25UeXBlID0gdGhpcy5yZWdpc3RyeVNlcnZpY2UuZ2V0QWN0aW9uKGFjdGlvbk5hbWUpO1xyXG4gICAgaWYgKCFhY3Rpb25UeXBlKSB7XHJcbiAgICAgIHRocm93IG5ldyBBWFBXb3JrZmxvd0Vycm9yKGBBY3Rpb24gdHlwZSAnJHthY3Rpb25OYW1lfScgbm90IGZvdW5kIGluIHRoZSByZWdpc3RyeS5gKTtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLmluamVjdG9yLmdldChhY3Rpb25UeXBlLCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldFdvcmtmbG93SW5zdGFuY2Uod29ya2Zsb3dOYW1lOiBzdHJpbmcpOiBBWFBXb3JrZmxvdyB7XHJcbiAgICBjb25zdCB3b3JrZmxvd1R5cGUgPSB0aGlzLnJlZ2lzdHJ5U2VydmljZS5nZXRXb3JrZmxvdyh3b3JrZmxvd05hbWUpO1xyXG4gICAgaWYgKCF3b3JrZmxvd1R5cGUpIHtcclxuICAgICAgdGhyb3cgbmV3IEFYUFdvcmtmbG93RXJyb3IoYFdvcmtmbG93IHR5cGUgJyR7d29ya2Zsb3dOYW1lfScgbm90IGZvdW5kIGluIHRoZSByZWdpc3RyeS5gKTtcclxuICAgIH1cclxuICAgIHJldHVybiB3b3JrZmxvd1R5cGU7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIGRldGVybWluZU5leHRTdGVwKFxyXG4gICAgY3VycmVudFN0ZXA6IEFYUFdvcmtmbG93U3RlcCxcclxuICAgIGNvbnRleHQ6IEFYUFdvcmtmbG93Q29udGV4dFxyXG4gICk6IFByb21pc2U8QVhQV29ya2Zsb3dOZXh0U3RlcCB8IG51bGw+IHtcclxuICAgIGlmICghY3VycmVudFN0ZXAubmV4dFN0ZXBzKSB7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gICAgZm9yIChjb25zdCBuZXh0U3RlcCBvZiBjdXJyZW50U3RlcC5uZXh0U3RlcHMpIHtcclxuICAgICAgaWYgKGF3YWl0IHRoaXMuZXZhbHVhdGVDb25kaXRpb24obmV4dFN0ZXAuY29uZGl0aW9ucywgY29udGV4dCkpIHtcclxuICAgICAgICByZXR1cm4gbmV4dFN0ZXA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBldmFsdWF0ZUNvbmRpdGlvbihjb25kaXRpb25zOiBBWFBXb3JrZmxvd0NvbmRpdGlvbltdLCBjb250ZXh0OiBBWFBXb3JrZmxvd0NvbnRleHQpOiBQcm9taXNlPGJvb2xlYW4+IHtcclxuICAgIGlmICghY29uZGl0aW9ucyB8fCBjb25kaXRpb25zLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICByZXR1cm4gdHJ1ZTsgLy8gSWYgbm8gY29uZGl0aW9ucywgdGhlIHN0ZXAgcHJvY2VlZHNcclxuICAgIH1cclxuXHJcbiAgICAvLyBNYXAgZWFjaCBjb25kaXRpb24gdG8gYSBwcm9taXNlIHVzaW5nIGV2YWx1YXRlU2luZ2xlQ29uZGl0aW9uXHJcbiAgICBjb25zdCBjb25kaXRpb25Qcm9taXNlcyA9IGNvbmRpdGlvbnMubWFwKChjb25kaXRpb24pID0+IHRoaXMuZXZhbHVhdGVTaW5nbGVDb25kaXRpb24oY29uZGl0aW9uLCBjb250ZXh0KSk7XHJcblxyXG4gICAgLy8gV2FpdCBmb3IgYWxsIHByb21pc2VzIHRvIHJlc29sdmVcclxuICAgIGNvbnN0IHJlc3VsdHMgPSBhd2FpdCBQcm9taXNlLmFsbChjb25kaXRpb25Qcm9taXNlcyk7XHJcblxyXG4gICAgLy8gQ2hlY2sgaWYgZXZlcnkgY29uZGl0aW9uIGlzIHRydWVcclxuICAgIHJldHVybiByZXN1bHRzLmV2ZXJ5KChyZXN1bHQpID0+IHJlc3VsdCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIGV2YWx1YXRlU2luZ2xlQ29uZGl0aW9uKFxyXG4gICAgY29uZGl0aW9uOiBBWFBXb3JrZmxvd0NvbmRpdGlvbixcclxuICAgIGNvbnRleHQ6IEFYUFdvcmtmbG93Q29udGV4dFxyXG4gICk6IFByb21pc2U8Ym9vbGVhbj4ge1xyXG4gICAgc3dpdGNoIChjb25kaXRpb24udHlwZSkge1xyXG4gICAgICBjYXNlICdTSU5HTEUnOlxyXG4gICAgICAgIHJldHVybiAoIWNvbmRpdGlvbi5leHByZXNzaW9uID8gdHJ1ZSA6IGF3YWl0IHRoaXMuZXZhbHVhdGVFeHByZXNzaW9uKGNvbmRpdGlvbi5leHByZXNzaW9uLCBjb250ZXh0KSkgYXMgYm9vbGVhbjtcclxuICAgICAgY2FzZSAnQU5EJzpcclxuICAgICAgICAvLyBFdmFsdWF0ZSBhbGwgY29uZGl0aW9ucyB3aXRoICdBTkQnIGxvZ2ljXHJcbiAgICAgICAgY29uc3QgYW5kQ29uZGl0aW9ucyA9IGNvbmRpdGlvbi5jb25kaXRpb25zID8/IFtdO1xyXG4gICAgICAgIGNvbnN0IGFuZFJlc3VsdHMgPSBhd2FpdCBQcm9taXNlLmFsbChhbmRDb25kaXRpb25zLm1hcCgoY29uZCkgPT4gdGhpcy5ldmFsdWF0ZVNpbmdsZUNvbmRpdGlvbihjb25kLCBjb250ZXh0KSkpO1xyXG4gICAgICAgIHJldHVybiBhbmRSZXN1bHRzLmV2ZXJ5KChyZXN1bHQpID0+IHJlc3VsdCk7XHJcblxyXG4gICAgICBjYXNlICdPUic6XHJcbiAgICAgICAgLy8gRXZhbHVhdGUgYWxsIGNvbmRpdGlvbnMgd2l0aCAnT1InIGxvZ2ljXHJcbiAgICAgICAgY29uc3Qgb3JDb25kaXRpb25zID0gY29uZGl0aW9uLmNvbmRpdGlvbnMgPz8gW107XHJcbiAgICAgICAgY29uc3Qgb3JSZXN1bHRzID0gYXdhaXQgUHJvbWlzZS5hbGwob3JDb25kaXRpb25zLm1hcCgoY29uZCkgPT4gdGhpcy5ldmFsdWF0ZVNpbmdsZUNvbmRpdGlvbihjb25kLCBjb250ZXh0KSkpO1xyXG4gICAgICAgIHJldHVybiBvclJlc3VsdHMuc29tZSgocmVzdWx0KSA9PiByZXN1bHQpO1xyXG5cclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICB0aHJvdyBuZXcgQVhQV29ya2Zsb3dFcnJvcihgVW5zdXBwb3J0ZWQgY29uZGl0aW9uIHR5cGU6ICR7Y29uZGl0aW9uLnR5cGV9YCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIGV2YWx1YXRlRXhwcmVzc2lvbih0ZW1wbGF0ZUV4cHJlc3Npb246IHN0cmluZywgY29udGV4dDogQVhQV29ya2Zsb3dDb250ZXh0KTogUHJvbWlzZTxCb29sZWFuPiB7XHJcbiAgICB0cnkge1xyXG4gICAgICBsZXQgZXhwcmVzc2lvbiA9ICcnO1xyXG4gICAgICBpZiAodHlwZW9mIHRlbXBsYXRlRXhwcmVzc2lvbiA9PT0gJ3N0cmluZycgJiYgdGVtcGxhdGVFeHByZXNzaW9uLnRyaW0oKS5pbmNsdWRlcygne3snKSkge1xyXG4gICAgICAgIGNvbnN0IGV4cHJlc3Npb25NYXRjaCA9IHRlbXBsYXRlRXhwcmVzc2lvbi5tYXRjaCgvXFx7XFx7XFxzKiguKj8pXFxzKlxcfVxcfS8pO1xyXG4gICAgICAgIGlmICghZXhwcmVzc2lvbk1hdGNoKSB7XHJcbiAgICAgICAgICB0aHJvdyBFcnJvcihgTm8gdmFsaWQgZXhwcmVzc2lvbiBmb3VuZCBpbiBcIiR7dGVtcGxhdGVFeHByZXNzaW9ufVwiYCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGV4cHJlc3Npb24gPSBleHByZXNzaW9uTWF0Y2hbMV07XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgZXhwcmVzc2lvbiA9IHRlbXBsYXRlRXhwcmVzc2lvbjtcclxuICAgICAgfVxyXG4gICAgICAvLyBDcmVhdGUgYSBzY29wZSB0aGF0IGluY2x1ZGVzIGNvbnRleHQgYW5kIHJlZ2lzdGVyZWQgZnVuY3Rpb25zXHJcbiAgICAgIGNvbnN0IHNjb3BlID0geyBjb250ZXh0LCAuLi50aGlzLmNyZWF0ZUZ1bmN0aW9uU2NvcGUoKSB9O1xyXG4gICAgICAvLyBFdmFsdWF0aW5nIHRoZSBleHByZXNzaW9uIHdpdGhpbiB0aGUgY3JlYXRlZCBzY29wZVxyXG4gICAgICBjb25zdCBzYW5kYm94ID0gbmV3IEZ1bmN0aW9uKCdzY29wZScsIGByZXR1cm4gKGFzeW5jIGZ1bmN0aW9uKCkgeyB3aXRoIChzY29wZSkgeyByZXR1cm4gJHtleHByZXNzaW9ufTsgfSB9KSgpO2ApO1xyXG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBzYW5kYm94KHNjb3BlKTtcclxuICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGV2YWx1YXRpbmcgZXhwcmVzc2lvbjonLCBlcnJvcik7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGFzeW5jIHByb2Nlc3NJbnB1dHMob2JqOiBhbnksIGlucHV0czogYW55LCBwYXRoUHJlZml4OiBzdHJpbmcgPSAnJywgY29udGV4dDogYW55ID0ge30pOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGlmICghb2JqKVxyXG4gICAgICByZXR1cm47XHJcblxyXG4gICAgZm9yIGF3YWl0IChjb25zdCBpIG9mIE9iamVjdC5lbnRyaWVzKG9iaikpIHtcclxuICAgICAgY29uc3Qga2V5ID0gaVswXTtcclxuICAgICAgY29uc3QgdmFsdWUgPSBpWzFdO1xyXG4gICAgICBjb25zdCBjdXJyZW50UGF0aCA9IHBhdGhQcmVmaXggPyBgJHtwYXRoUHJlZml4fS4ke2tleX1gIDoga2V5O1xyXG4gICAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyAmJiB2YWx1ZS50cmltKCkuaW5jbHVkZXMoJ3t7JykpIHtcclxuICAgICAgICBjb25zdCBleHBWYWx1ZSA9IGF3YWl0IHRoaXMuZXZhbHVhdGVFeHByZXNzaW9uKHZhbHVlLCBjb250ZXh0KTtcclxuICAgICAgICBzZXQoaW5wdXRzLCBjdXJyZW50UGF0aCwgZXhwVmFsdWUpO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2UgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcgJiYgdmFsdWUgIT09IG51bGwgJiYgKHZhbHVlLmNvbnN0cnVjdG9yID09PSBPYmplY3QgfHwgQXJyYXkuaXNBcnJheSh2YWx1ZSkpKSB7XHJcbiAgICAgICAgLy8gUmVjdXJzaXZlbHkgaGFuZGxlIG5lc3RlZCBvYmplY3RzXHJcbiAgICAgICAgdGhpcy5wcm9jZXNzSW5wdXRzKHZhbHVlLCBpbnB1dHMsIGN1cnJlbnRQYXRoLCBjb250ZXh0KTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICAvLyBBcHBseSBzdGF0aWMgdmFsdWVzIGRpcmVjdGx5XHJcbiAgICAgICAgc2V0KGlucHV0cywgY3VycmVudFBhdGgsIHZhbHVlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjcmVhdGVGdW5jdGlvblNjb3BlKCk6IGFueSB7XHJcbiAgICBjb25zdCBzY29wZTogYW55ID0ge307XHJcbiAgICB0aGlzLnJlZ2lzdHJ5U2VydmljZS5nZXRGdW5jdGlvbk5hbWVzKCkuZm9yRWFjaCgobmFtZSkgPT4ge1xyXG4gICAgICBzY29wZVtuYW1lXSA9IHRoaXMuZ2V0RnVuY3Rpb25JbnN0YW5jZShuYW1lKS5leGVjdXRlO1xyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gc2NvcGU7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldEZ1bmN0aW9uSW5zdGFuY2UoZnVuY3Rpb25OYW1lOiBzdHJpbmcpOiBBWFBXb3JrZmxvd0Z1bmN0aW9uIHtcclxuICAgIGNvbnN0IGZ1bmN0aW9uVHlwZSA9IHRoaXMucmVnaXN0cnlTZXJ2aWNlLmdldEZ1bmN0aW9uKGZ1bmN0aW9uTmFtZSk7XHJcbiAgICBpZiAoIWZ1bmN0aW9uVHlwZSkge1xyXG4gICAgICB0aHJvdyBuZXcgQVhQV29ya2Zsb3dFcnJvcihgRnVuY3Rpb24gdHlwZSAnJHtmdW5jdGlvbk5hbWV9JyBub3QgZm91bmQgaW4gdGhlIHJlZ2lzdHJ5LmApO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuaW5qZWN0b3IuZ2V0KGZ1bmN0aW9uVHlwZSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,18 +1,20 @@
|
|
|
1
1
|
import { Injectable, inject } from '@angular/core';
|
|
2
2
|
import { filter } from 'rxjs';
|
|
3
3
|
import { AXPWorkflowEventService } from './workflow-event-dispatcher.service';
|
|
4
|
+
import { cloneDeep, get, merge, set } from 'lodash-es';
|
|
4
5
|
import * as i0 from "@angular/core";
|
|
5
6
|
export class AXPWorkflowContext {
|
|
6
|
-
constructor() {
|
|
7
|
-
|
|
7
|
+
constructor(initialData = {}) {
|
|
8
|
+
//private variables: Map<string, any> = new Map();
|
|
9
|
+
this.variables = {};
|
|
8
10
|
this.stepOutputs = new Map();
|
|
9
|
-
|
|
11
|
+
this.variables = cloneDeep(initialData);
|
|
10
12
|
}
|
|
11
13
|
setVariable(key, value) {
|
|
12
|
-
this.variables
|
|
14
|
+
set(this.variables, key, value);
|
|
13
15
|
}
|
|
14
16
|
getVariable(key) {
|
|
15
|
-
return this.variables
|
|
17
|
+
return get(this.variables, key);
|
|
16
18
|
}
|
|
17
19
|
setOutput(stepId, output) {
|
|
18
20
|
this.stepOutputs.set(stepId, output);
|
|
@@ -20,6 +22,10 @@ export class AXPWorkflowContext {
|
|
|
20
22
|
getOutput(stepId) {
|
|
21
23
|
return this.stepOutputs.get(stepId);
|
|
22
24
|
}
|
|
25
|
+
mergeWith(context) {
|
|
26
|
+
this.stepOutputs = new Map([...this.stepOutputs, ...context.stepOutputs]);
|
|
27
|
+
this.variables = merge(this.variables, context.variables);
|
|
28
|
+
}
|
|
23
29
|
}
|
|
24
30
|
export class AXPWorkflowAction {
|
|
25
31
|
constructor() {
|
|
@@ -49,4 +55,4 @@ export function createWorkFlowEvent(type) {
|
|
|
49
55
|
export function ofType(...allowedTypes) {
|
|
50
56
|
return filter((event) => allowedTypes.some((type) => event.type === type.type));
|
|
51
57
|
}
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3cudHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3dvcmtmbG93L3NyYy9saWIvd29ya2Zsb3cudHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM5QixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLE1BQU0sV0FBVyxDQUFDOztBQVF2RCxNQUFNLE9BQU8sa0JBQWtCO0lBRTdCLFlBQVksY0FBbUIsRUFBRTtRQUlqQyxrREFBa0Q7UUFDMUMsY0FBUyxHQUFRLEVBQUUsQ0FBQztRQUNwQixnQkFBVyxHQUFxQixJQUFJLEdBQUcsRUFBRSxDQUFDO1FBTGhELElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFNRCxXQUFXLENBQUMsR0FBVyxFQUFFLEtBQVU7UUFDakMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxXQUFXLENBQVUsR0FBVztRQUM5QixPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxTQUFTLENBQUMsTUFBYyxFQUFFLE1BQVc7UUFDbkMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxTQUFTLENBQVUsTUFBYztRQUMvQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxTQUFTLENBQUMsT0FBMkI7UUFDbkMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFBO1FBQ3pFLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzVELENBQUM7Q0FHRjtBQXlCRCxNQUFNLE9BQWdCLGlCQUFpQjtJQUR2QztRQUVVLGlCQUFZLEdBQUcsTUFBTSxDQUFDLHVCQUF1QixDQUFDLENBQUM7S0FPeEQ7SUFMVyxRQUFRLENBQUMsS0FBdUI7UUFDeEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDcEMsQ0FBQzs4R0FMbUIsaUJBQWlCO2tIQUFqQixpQkFBaUI7OzJGQUFqQixpQkFBaUI7a0JBRHRDLFVBQVU7O0FBWVgsTUFBTSxPQUFnQixtQkFBbUI7OEdBQW5CLG1CQUFtQjtrSEFBbkIsbUJBQW1COzsyRkFBbkIsbUJBQW1CO2tCQUR4QyxVQUFVOztBQVlYLE1BQU0sVUFBVSxtQkFBbUIsQ0FBSSxJQUFZO0lBQ2pELE1BQU0sWUFBWSxHQUFHLENBQUMsT0FBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDekQsWUFBWSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7SUFDekIsT0FBTyxZQUFZLENBQUM7QUFDdEIsQ0FBQztBQUVELE1BQU0sVUFBVSxNQUFNLENBQTZCLEdBQUcsWUFBcUM7SUFDekYsT0FBTyxNQUFNLENBQUMsQ0FBQyxLQUFRLEVBQUUsRUFBRSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7QUFDckYsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQVhQV29ya2Zsb3dFdmVudFNlcnZpY2UgfSBmcm9tICcuL3dvcmtmbG93LWV2ZW50LWRpc3BhdGNoZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IGNsb25lRGVlcCwgZ2V0LCBtZXJnZSwgc2V0IH0gZnJvbSAnbG9kYXNoLWVzJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQVhQV29ya2Zsb3cge1xyXG4gIHN0ZXBzOiB7IFtzdGVwTmFtZTogc3RyaW5nXTogQVhQV29ya2Zsb3dTdGVwIH07XHJcbiAgc3RhcnRTdGVwSWQ6IHN0cmluZztcclxufVxyXG5cclxuXHJcbmV4cG9ydCBjbGFzcyBBWFBXb3JrZmxvd0NvbnRleHQge1xyXG5cclxuICBjb25zdHJ1Y3Rvcihpbml0aWFsRGF0YTogYW55ID0ge30pIHtcclxuICAgIHRoaXMudmFyaWFibGVzID0gY2xvbmVEZWVwKGluaXRpYWxEYXRhKTtcclxuICB9XHJcblxyXG4gIC8vcHJpdmF0ZSB2YXJpYWJsZXM6IE1hcDxzdHJpbmcsIGFueT4gPSBuZXcgTWFwKCk7XHJcbiAgcHJpdmF0ZSB2YXJpYWJsZXM6IGFueSA9IHt9O1xyXG4gIHByaXZhdGUgc3RlcE91dHB1dHM6IE1hcDxzdHJpbmcsIGFueT4gPSBuZXcgTWFwKCk7XHJcblxyXG4gIHNldFZhcmlhYmxlKGtleTogc3RyaW5nLCB2YWx1ZTogYW55KTogdm9pZCB7XHJcbiAgICBzZXQodGhpcy52YXJpYWJsZXMsIGtleSwgdmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgZ2V0VmFyaWFibGU8VCA9IGFueT4oa2V5OiBzdHJpbmcpOiBUIHtcclxuICAgIHJldHVybiBnZXQodGhpcy52YXJpYWJsZXMsIGtleSk7XHJcbiAgfVxyXG5cclxuICBzZXRPdXRwdXQoc3RlcElkOiBzdHJpbmcsIG91dHB1dDogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLnN0ZXBPdXRwdXRzLnNldChzdGVwSWQsIG91dHB1dCk7XHJcbiAgfVxyXG5cclxuICBnZXRPdXRwdXQ8VCA9IGFueT4oc3RlcElkOiBzdHJpbmcpOiBUIHtcclxuICAgIHJldHVybiB0aGlzLnN0ZXBPdXRwdXRzLmdldChzdGVwSWQpO1xyXG4gIH1cclxuXHJcbiAgbWVyZ2VXaXRoKGNvbnRleHQ6IEFYUFdvcmtmbG93Q29udGV4dCkge1xyXG4gICAgdGhpcy5zdGVwT3V0cHV0cyA9IG5ldyBNYXAoWy4uLnRoaXMuc3RlcE91dHB1dHMsIC4uLmNvbnRleHQuc3RlcE91dHB1dHNdKVxyXG4gICAgdGhpcy52YXJpYWJsZXMgPSBtZXJnZSh0aGlzLnZhcmlhYmxlcywgY29udGV4dC52YXJpYWJsZXMpO1xyXG4gIH1cclxuXHJcbiAgLy8gWW91IGNhbiBhZGQgbW9yZSBoZWxwZXIgbWV0aG9kcyBhcyBuZWVkZWRcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgQVhQV29ya2Zsb3dBY3Rpb25JbnB1dCA9IGFueTtcclxuXHJcbmV4cG9ydCB0eXBlIEFYUFdvcmtmbG93Q29uZGl0aW9uVHlwZSA9ICdBTkQnIHwgJ09SJyB8ICdTSU5HTEUnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBBWFBXb3JrZmxvd0NvbmRpdGlvbiB7XHJcbiAgdHlwZTogQVhQV29ya2Zsb3dDb25kaXRpb25UeXBlO1xyXG4gIGNvbmRpdGlvbnM/OiBBWFBXb3JrZmxvd0NvbmRpdGlvbltdOyAvLyBOZXN0ZWQgY29uZGl0aW9uc1xyXG4gIGV4cHJlc3Npb24/OiBzdHJpbmc7IC8vIFVzZWQgaWYgdHlwZSBpcyAnU0lOR0xFJ1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEFYUFdvcmtmbG93TmV4dFN0ZXAge1xyXG4gIGNvbmRpdGlvbnM6IEFYUFdvcmtmbG93Q29uZGl0aW9uW107XHJcbiAgbmV4dFN0ZXBJZDogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEFYUFdvcmtmbG93U3RlcCB7XHJcbiAgaWQ/OiBzdHJpbmc7XHJcbiAgYWN0aW9uOiBBWFBXb3JrZmxvd0FjdGlvbiB8IHN0cmluZztcclxuICBpbnB1dD86IEFYUFdvcmtmbG93QWN0aW9uSW5wdXQ7XHJcbiAgbmV4dFN0ZXBzPzogQVhQV29ya2Zsb3dOZXh0U3RlcFtdO1xyXG4gIGNvbmRpdGlvbnM/OiBBWFBXb3JrZmxvd0NvbmRpdGlvbltdO1xyXG59XHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFYUFdvcmtmbG93QWN0aW9uIHtcclxuICBwcml2YXRlIGV2ZW50U2VydmljZSA9IGluamVjdChBWFBXb3JrZmxvd0V2ZW50U2VydmljZSk7XHJcblxyXG4gIHByb3RlY3RlZCBkaXNwYXRjaChldmVudDogQVhQV29ya2Zsb3dFdmVudCk6IHZvaWQge1xyXG4gICAgdGhpcy5ldmVudFNlcnZpY2UuZGlzcGF0Y2goZXZlbnQpO1xyXG4gIH1cclxuXHJcbiAgYWJzdHJhY3QgZXhlY3V0ZShjb250ZXh0OiBBWFBXb3JrZmxvd0NvbnRleHQpOiBQcm9taXNlPHZvaWQ+O1xyXG59XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBWFBXb3JrZmxvd0Z1bmN0aW9uIHtcclxuICBhYnN0cmFjdCBleGVjdXRlKC4uLmFyZ3M6IGFueVtdKTogUHJvbWlzZTxhbnk+IHwgYW55O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEFYUFdvcmtmbG93RXZlbnQ8VCA9IGFueT4ge1xyXG4gIHR5cGU6IHN0cmluZztcclxuICBwYXlsb2FkPzogVDtcclxufVxyXG5cclxuXHJcblxyXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlV29ya0Zsb3dFdmVudDxUPih0eXBlOiBzdHJpbmcpIHtcclxuICBjb25zdCBldmVudENyZWF0b3IgPSAocGF5bG9hZDogVCkgPT4gKHsgdHlwZSwgcGF5bG9hZCB9KTtcclxuICBldmVudENyZWF0b3IudHlwZSA9IHR5cGU7XHJcbiAgcmV0dXJuIGV2ZW50Q3JlYXRvcjtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIG9mVHlwZTxUIGV4dGVuZHMgeyB0eXBlOiBzdHJpbmcgfT4oLi4uYWxsb3dlZFR5cGVzOiBBcnJheTx7IHR5cGU6IHN0cmluZyB9Pikge1xyXG4gIHJldHVybiBmaWx0ZXIoKGV2ZW50OiBUKSA9PiBhbGxvd2VkVHlwZXMuc29tZSgodHlwZSkgPT4gZXZlbnQudHlwZSA9PT0gdHlwZS50eXBlKSk7XHJcbn1cclxuIl19
|
|
@@ -20,14 +20,15 @@ import 'rxjs';
|
|
|
20
20
|
import '@angular/common';
|
|
21
21
|
import '@acorex/core/platform';
|
|
22
22
|
import '@acorex/components/toast';
|
|
23
|
+
import '@acorex/platform/workflow';
|
|
23
24
|
import 'lodash-es';
|
|
25
|
+
import 'dexie';
|
|
24
26
|
import '@acorex/components/skeleton';
|
|
25
27
|
import '@angular/cdk/portal';
|
|
26
28
|
import '@acorex/components/data-table';
|
|
27
29
|
import '@acorex/core/utils';
|
|
28
30
|
import '@acorex/core/format';
|
|
29
31
|
import 'rxjs/operators';
|
|
30
|
-
import '@acorex/platform/workflow';
|
|
31
32
|
|
|
32
33
|
class AXPAvatarWidgetEditComponent extends AXPWidgetEditBase {
|
|
33
34
|
constructor() {
|
|
@@ -175,4 +176,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImpor
|
|
|
175
176
|
}] });
|
|
176
177
|
|
|
177
178
|
export { AXPAvatarWidgetEditComponent };
|
|
178
|
-
//# sourceMappingURL=acorex-platform-common-avatar-widget-edit.component-
|
|
179
|
+
//# sourceMappingURL=acorex-platform-common-avatar-widget-edit.component-B-of5ssU.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-platform-common-avatar-widget-edit.component-
|
|
1
|
+
{"version":3,"file":"acorex-platform-common-avatar-widget-edit.component-B-of5ssU.mjs","sources":["../../../../libs/platform/common/src/lib/schema/widgets/avatar/avatar-widget-edit.component.ts"],"sourcesContent":["import { AXAvatarModule } from '@acorex/components/avatar';\r\nimport { AXButtonModule } from '@acorex/components/button';\r\nimport { AXDecoratorModule } from '@acorex/components/decorators';\r\nimport { AXDialogService } from '@acorex/components/dialog';\r\nimport { AXImageModule } from '@acorex/components/image';\r\nimport { AXLoadingModule } from '@acorex/components/loading';\r\n// import { FakePersonService } from '@acorex/platform/mocks';\r\nimport { ChangeDetectionStrategy, Component, OnInit, inject } from '@angular/core';\r\nimport { AXPDataProvider } from '../../../data';\r\nimport { AXPWidgetEditBase } from '../../widget';\r\n\r\n@Component({\r\n selector: 'axp-number-widget-edit',\r\n template: `\r\n <div class=\"ax-w-fit ax-flex flex-row ax-border ax-rounded-lg ax-shadow-md ax-overflow-hidden\">\r\n @if(src){\r\n <ax-avatar color=\"secondary\" [size]=\"120\" look=\"sharp\">\r\n <ax-image [src]=\"src\">\r\n <ax-loading></ax-loading>\r\n </ax-image>\r\n </ax-avatar>\r\n } @else {\r\n <ax-avatar color=\"secondary\" [size]=\"120\" look=\"sharp\">\r\n <ax-loading></ax-loading>\r\n </ax-avatar>\r\n }\r\n <div class=\"ax-flex ax-w-14 ax-flex-col ax-items-center ax-justify-around ax-cursor-pointer ax-border-l-2\">\r\n <div\r\n (click)=\"handleAddItem()\"\r\n class=\"ax-h-[50%] ax-flex ax-items-center ax-justify-center ax-w-full ax-border-b-2 hover:ax-bg-gray-100 hover:ax-text-blue-700 ax-cursor-pointer\"\r\n >\r\n <ax-icon>\r\n <i class=\"fa-solid fa-camera\"></i>\r\n </ax-icon>\r\n </div>\r\n\r\n <div\r\n (click)=\"handleRemoveItem(src)\"\r\n class=\"ax-h-[50%] ax-flex ax-items-center ax-justify-center ax-w-full ax-cursor-pointer hover:ax-bg-gray-100\"\r\n >\r\n <ax-prefix>\r\n <i class=\"fa-solid fa-trash ax-text-danger\"></i>\r\n </ax-prefix>\r\n </div>\r\n </div>\r\n </div>\r\n `,\r\n standalone: true,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [AXAvatarModule, AXImageModule, AXLoadingModule, AXButtonModule, AXDecoratorModule],\r\n})\r\nexport class AXPAvatarWidgetEditComponent extends AXPWidgetEditBase implements OnInit {\r\n dataService = inject(AXPDataProvider);\r\n private dialogService = inject(AXDialogService);\r\n protected src!: string | null;\r\n\r\n ngOnInit() {\r\n this.render();\r\n }\r\n override render() {\r\n const rawValue = this.rawValue;\r\n if (rawValue == null) return;\r\n this.loadImageById(rawValue);\r\n }\r\n\r\n protected handleRemoveItem(item: any) {\r\n this.src = null;\r\n this.value = null;\r\n }\r\n\r\n protected async handleAddItem() {\r\n const input = document.createElement('input');\r\n input.type = 'file';\r\n input.accept = 'image/*';\r\n input.click();\r\n input.addEventListener(\r\n 'change',\r\n async () => {\r\n const file = input.files?.[0];\r\n if (file) {\r\n const maxSize = 1 * 1024 * 1024; // Example size limit: 1MB\r\n const maxResolution = { width: 1920, height: 1080 }; // Example resolution limit\r\n\r\n if (file.size > maxSize) {\r\n this.dialogService.alert('File too large!', `The selected file exceeds the maximum size of ${maxSize / (1024 * 1024)}MB.`, 'warning');\r\n return;\r\n }\r\n\r\n const image = new Image();\r\n image.src = URL.createObjectURL(file);\r\n image.onload = async () => {\r\n const { width, height } = image;\r\n\r\n if (width > maxResolution.width || height > maxResolution.height) {\r\n this.dialogService.alert(\r\n 'Resolution too high!',\r\n `The selected file exceeds the maximum resolution of ${maxResolution.width}x${maxResolution.height}.`,\r\n 'warning'\r\n );\r\n return;\r\n }\r\n\r\n // If file size and resolution are within limits, proceed with upload\r\n try {\r\n const resolved = await this.dataService.uploadFile(file, file.name);\r\n console.log('resolved', resolved);\r\n this.src = URL.createObjectURL(file); // Show the image temporarily\r\n this.value = resolved; // Store the file ID\r\n } catch (error) {\r\n this.dialogService.alert('Something went wrong!', `${error}`, 'warning');\r\n }\r\n };\r\n }\r\n },\r\n { once: true }\r\n );\r\n }\r\n\r\n private async loadImageById(fileId: string) {\r\n try {\r\n const blob = await this.dataService.viewFile(fileId, '');\r\n this.src = URL.createObjectURL(blob);\r\n this.cdr.markForCheck(); // Explicitly mark for check since OnPush is used\r\n } catch (error) {\r\n console.error('Failed to load image by ID:', error);\r\n }\r\n }\r\n}\r\n"],"names":["i4"],"mappings":"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"}
|
|
@@ -18,15 +18,16 @@ import '@angular/common';
|
|
|
18
18
|
import '@acorex/components/button';
|
|
19
19
|
import '@acorex/core/platform';
|
|
20
20
|
import '@acorex/components/toast';
|
|
21
|
+
import '@acorex/platform/workflow';
|
|
22
|
+
import '@acorex/components/dialog';
|
|
21
23
|
import 'lodash-es';
|
|
24
|
+
import 'dexie';
|
|
22
25
|
import '@acorex/components/skeleton';
|
|
23
26
|
import '@angular/cdk/portal';
|
|
24
27
|
import '@acorex/components/data-table';
|
|
25
28
|
import '@acorex/core/utils';
|
|
26
29
|
import '@acorex/core/format';
|
|
27
30
|
import 'rxjs/operators';
|
|
28
|
-
import '@acorex/components/dialog';
|
|
29
|
-
import '@acorex/platform/workflow';
|
|
30
31
|
|
|
31
32
|
class AXPAvatarWidgetViewComponent extends AXPWidgetBase {
|
|
32
33
|
constructor() {
|
|
@@ -82,4 +83,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImpor
|
|
|
82
83
|
}] });
|
|
83
84
|
|
|
84
85
|
export { AXPAvatarWidgetViewComponent };
|
|
85
|
-
//# sourceMappingURL=acorex-platform-common-avatar-widget-view.component-
|
|
86
|
+
//# sourceMappingURL=acorex-platform-common-avatar-widget-view.component-CJvrSkTv.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"acorex-platform-common-avatar-widget-view.component-CJvrSkTv.mjs","sources":["../../../../libs/platform/common/src/lib/schema/widgets/avatar/avatar-widget-view.component.ts"],"sourcesContent":["import { AXAvatarModule } from '@acorex/components/avatar';\r\nimport { AXImageModule } from '@acorex/components/image';\r\nimport { AXLoadingModule } from '@acorex/components/loading';\r\nimport { ChangeDetectionStrategy, Component, OnInit, inject } from '@angular/core';\r\nimport { AXPDataProvider } from '../../../data';\r\nimport { AXPWidgetBase } from '../../widget/widget-base';\r\n@Component({\r\n selector: 'ax-Avatar-widget-view',\r\n template: ` @if(src){<ax-avatar class=\"ax-shadow-\" color=\"secondary\" [size]=\"120\" look=\"soft\">\r\n <ax-image [src]=\"src\"> <ax-loading></ax-loading></ax-image>\r\n </ax-avatar>\r\n } @else {\r\n <ax-avatar color=\"secondary\" [size]=\"120\" look=\"sharp\">\r\n <ax-loading></ax-loading>\r\n </ax-avatar>\r\n }`,\r\n standalone: true,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [AXAvatarModule, AXImageModule, AXLoadingModule],\r\n inputs: ['context', 'value'],\r\n})\r\nexport class AXPAvatarWidgetViewComponent extends AXPWidgetBase implements OnInit {\r\n protected src!: string;\r\n dataService = inject(AXPDataProvider);\r\n\r\n ngOnInit() {\r\n this.render();\r\n }\r\n override render() {\r\n const rawValue = this.rawValue;\r\n if (rawValue == null) return;\r\n this.loadImageById(rawValue);\r\n }\r\n\r\n private async loadImageById(fileId: string) {\r\n try {\r\n const blob = await this.dataService.viewFile(fileId, '');\r\n this.src = URL.createObjectURL(blob);\r\n this.cdr.markForCheck(); // Explicitly mark for check since OnPush is used\r\n } catch (error) {\r\n console.error('Failed to load image by ID:', error);\r\n }\r\n }\r\n}\r\n"],"names":[],"mappings":"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"}
|
|
@@ -25,15 +25,16 @@ import '@acorex/components/image';
|
|
|
25
25
|
import '@angular/common';
|
|
26
26
|
import '@acorex/core/platform';
|
|
27
27
|
import '@acorex/components/toast';
|
|
28
|
+
import '@acorex/platform/workflow';
|
|
29
|
+
import '@acorex/components/dialog';
|
|
28
30
|
import 'lodash-es';
|
|
31
|
+
import 'dexie';
|
|
29
32
|
import '@acorex/components/skeleton';
|
|
30
33
|
import '@angular/cdk/portal';
|
|
31
34
|
import '@acorex/components/data-table';
|
|
32
35
|
import '@acorex/core/utils';
|
|
33
36
|
import '@acorex/core/format';
|
|
34
37
|
import 'rxjs/operators';
|
|
35
|
-
import '@acorex/components/dialog';
|
|
36
|
-
import '@acorex/platform/workflow';
|
|
37
38
|
|
|
38
39
|
class AXPBooleanWidgetFilterComponent extends AXPWidgetFilterBase {
|
|
39
40
|
constructor() {
|
|
@@ -166,4 +167,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImpor
|
|
|
166
167
|
}] });
|
|
167
168
|
|
|
168
169
|
export { AXPBooleanWidgetFilterComponent };
|
|
169
|
-
//# sourceMappingURL=acorex-platform-common-boolean-widget-filter.component-
|
|
170
|
+
//# sourceMappingURL=acorex-platform-common-boolean-widget-filter.component-BTcOjuUm.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"acorex-platform-common-boolean-widget-filter.component-BTcOjuUm.mjs","sources":["../../../../libs/platform/common/src/lib/schema/widgets/common-widget-filter/boolean-widget-filter.component.ts"],"sourcesContent":["import { AXButtonModule } from '@acorex/components/button';\r\nimport { AXDataSource } from '@acorex/components/common';\r\nimport { AXDecoratorModule } from '@acorex/components/decorators';\r\nimport { AXNumberBoxModule } from '@acorex/components/number-box';\r\nimport { AXPopoverModule } from '@acorex/components/popover';\r\nimport { AXSelectBoxModule } from '@acorex/components/select-box';\r\nimport { AXSelectionListModule } from '@acorex/components/selection-list';\r\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { AXPWidgetFilterBase } from '../../widget/widget-base';\r\nimport { AXPFilterOperator } from '../../../app';\r\n\r\n@Component({\r\n selector: 'axp-boolean-widget-filter',\r\n template: `\r\n <div class=\"ax-flex ax-items-center\">\r\n <ax-select-box\r\n [disabled]=\"!this.getOperatorHasValue()\"\r\n textField=\"text\"\r\n valueField=\"value\"\r\n placeholder=\"Select ...\"\r\n [dataSource]=\"dataSource\"\r\n [(ngModel)]=\"value\"\r\n ></ax-select-box>\r\n @if(operations.length){\r\n <ax-button #changeOperator look=\"blank\" color=\"default\" class=\"ax-sm\">\r\n <ax-icon class=\"fa-solid fa-ellipsis-vertical\"></ax-icon>\r\n </ax-button>\r\n <ax-popover\r\n #operatorsPopover\r\n [target]=\"changeOperator\"\r\n [openOn]=\"'toggle'\"\r\n [closeOn]=\"'clickOut'\"\r\n [adaptivityEnabled]=\"true\"\r\n >\r\n <div\r\n class=\"ax-bg-surface ax-py-5 ax-px-3 ax-border ax-border-default ax-rounded-md ax-shadow-md ax-w-full ax-min-w-[250px]\"\r\n >\r\n <ax-selection-list\r\n [valueField]=\"'name'\"\r\n [textField]=\"'title'\"\r\n [(ngModel)]=\"operator\"\r\n (ngModelChange)=\"operatorsPopover.close()\"\r\n [direction]=\"'vertical'\"\r\n [items]=\"operations\"\r\n [multiple]=\"false\"\r\n ></ax-selection-list>\r\n </div>\r\n </ax-popover>\r\n }\r\n </div>\r\n `,\r\n standalone: true,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [\r\n AXNumberBoxModule,\r\n FormsModule,\r\n AXDecoratorModule,\r\n AXPopoverModule,\r\n AXSelectionListModule,\r\n AXButtonModule,\r\n AXSelectBoxModule,\r\n ],\r\n inputs: ['trulyText', 'falsyText'],\r\n})\r\nexport class AXPBooleanWidgetFilterComponent extends AXPWidgetFilterBase<number> {\r\n protected falsyText!: string;\r\n protected trulyText!: string;\r\n protected operations: AXPFilterOperator[] = [];\r\n protected items: { text: string; value: boolean }[] = [];\r\n protected dataSource: any = new AXDataSource({\r\n load: () => {\r\n return Promise.resolve({\r\n items: this.items,\r\n total: this.items.length,\r\n });\r\n },\r\n byKey: (id: unknown) => {\r\n const item = this.items.find((c) => c.value.toString() == id);\r\n return Promise.resolve(item);\r\n },\r\n pageSize: 10,\r\n key: 'value',\r\n });\r\n\r\n protected getOperatorHasValue(): boolean {\r\n const operator = this.operations.find((op) => op.name == this.operator);\r\n return !operator || operator.hasValue ? true : false;\r\n }\r\n\r\n override render(): void {\r\n this.operations = this.schema.filterOptions.operators;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.items = [\r\n { text: this.trulyText || 'Yes', value: true },\r\n { text: this.falsyText || 'No', value: false },\r\n ];\r\n }\r\n}\r\n"],"names":["i1","i2","i3","i5"],"mappings":"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"}
|
|
@@ -14,15 +14,16 @@ import '@angular/common';
|
|
|
14
14
|
import '@acorex/components/button';
|
|
15
15
|
import '@acorex/core/platform';
|
|
16
16
|
import '@acorex/components/toast';
|
|
17
|
+
import '@acorex/platform/workflow';
|
|
18
|
+
import '@acorex/components/dialog';
|
|
17
19
|
import 'lodash-es';
|
|
20
|
+
import 'dexie';
|
|
18
21
|
import '@acorex/components/skeleton';
|
|
19
22
|
import '@angular/cdk/portal';
|
|
20
23
|
import '@acorex/components/data-table';
|
|
21
24
|
import '@acorex/core/utils';
|
|
22
25
|
import '@acorex/core/format';
|
|
23
26
|
import 'rxjs/operators';
|
|
24
|
-
import '@acorex/components/dialog';
|
|
25
|
-
import '@acorex/platform/workflow';
|
|
26
27
|
|
|
27
28
|
class AXPCheckboxWidgetColumnComponent extends AXPWidgetBase {
|
|
28
29
|
render() {
|
|
@@ -73,4 +74,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImpor
|
|
|
73
74
|
}] });
|
|
74
75
|
|
|
75
76
|
export { AXPCheckboxWidgetColumnComponent };
|
|
76
|
-
//# sourceMappingURL=acorex-platform-common-checkbox-widget-column.component-
|
|
77
|
+
//# sourceMappingURL=acorex-platform-common-checkbox-widget-column.component-X9d1iY_F.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-platform-common-checkbox-widget-column.component-
|
|
1
|
+
{"version":3,"file":"acorex-platform-common-checkbox-widget-column.component-X9d1iY_F.mjs","sources":["../../../../libs/platform/common/src/lib/schema/widgets/checkbox/checkbox-widget-column.component.ts"],"sourcesContent":["import { AXDecoratorModule } from '@acorex/components/decorators';\r\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\r\nimport { AXPWidgetBase } from '../../widget/widget-base';\r\n@Component({\r\n template: `<div>\r\n @if(value){ @if(trulyText){\r\n <span [class]=\"negative ? 'ax-text-danger' : 'ax-text-success'\">{{ trulyText }}</span>\r\n }@else { @if(negative){\r\n <ax-icon class=\"fa-solid fa-check ax-text-danger\"> </ax-icon>\r\n }@else{\r\n <ax-icon class=\"fa-solid fa-check ax-text-success\"> </ax-icon>\r\n\r\n } } }@else { @if(falsyText){\r\n <span [class]=\"negative ? 'ax-text-success' : 'ax-text-danger'\">{{ falsyText }}</span>\r\n }@else { @if(negative){\r\n <ax-icon class=\"fa-solid fa-xmark ax-text-success\"> </ax-icon>\r\n }@else{\r\n <ax-icon class=\"fa-solid fa-xmark ax-text-danger\"> </ax-icon>\r\n } } }\r\n </div>`,\r\n standalone: true,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [AXDecoratorModule],\r\n inputs: ['context', 'trulyText', 'falsyText', 'negative', 'width', 'allowResizing'],\r\n})\r\nexport class AXPCheckboxWidgetColumnComponent extends AXPWidgetBase {\r\n protected value!: boolean;\r\n protected negative!: boolean;\r\n protected trulyText!: boolean;\r\n protected falsyText!: boolean;\r\n\r\n protected override render(): void {\r\n this.value = !!this.rawValue;\r\n }\r\n}\r\n"],"names":["i1"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAyBM,MAAO,gCAAiC,SAAQ,aAAa,CAAA;IAM9C,MAAM,GAAA;QACvB,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;KAC9B;8GARU,gCAAgC,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAhC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,gCAAgC,EArBjC,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,SAAA,EAAA,WAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,UAAA,EAAA,KAAA,EAAA,OAAA,EAAA,aAAA,EAAA,eAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;;;;;;;;;AAeH,QAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAGG,iBAAiB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,wBAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAGhB,gCAAgC,EAAA,UAAA,EAAA,CAAA;kBAtB5C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,CAAA;;;;;;;;;;;;;;;AAeH,QAAA,CAAA;AACP,oBAAA,UAAU,EAAE,IAAI;oBAChB,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,OAAO,EAAE,CAAC,iBAAiB,CAAC;AAC5B,oBAAA,MAAM,EAAE,CAAC,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,eAAe,CAAC;AACpF,iBAAA,CAAA;;;;;"}
|
|
@@ -17,15 +17,16 @@ import '@angular/common';
|
|
|
17
17
|
import '@acorex/components/button';
|
|
18
18
|
import '@acorex/core/platform';
|
|
19
19
|
import '@acorex/components/toast';
|
|
20
|
+
import '@acorex/platform/workflow';
|
|
21
|
+
import '@acorex/components/dialog';
|
|
20
22
|
import 'lodash-es';
|
|
23
|
+
import 'dexie';
|
|
21
24
|
import '@acorex/components/skeleton';
|
|
22
25
|
import '@angular/cdk/portal';
|
|
23
26
|
import '@acorex/components/data-table';
|
|
24
27
|
import '@acorex/core/utils';
|
|
25
28
|
import '@acorex/core/format';
|
|
26
29
|
import 'rxjs/operators';
|
|
27
|
-
import '@acorex/components/dialog';
|
|
28
|
-
import '@acorex/platform/workflow';
|
|
29
30
|
|
|
30
31
|
class AXPCheckboxWidgetEditComponent extends AXPWidgetEditBase {
|
|
31
32
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXPCheckboxWidgetEditComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
@@ -43,4 +44,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImpor
|
|
|
43
44
|
}] });
|
|
44
45
|
|
|
45
46
|
export { AXPCheckboxWidgetEditComponent };
|
|
46
|
-
//# sourceMappingURL=acorex-platform-common-checkbox-widget-edit.component-
|
|
47
|
+
//# sourceMappingURL=acorex-platform-common-checkbox-widget-edit.component-_jtT03Vn.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"acorex-platform-common-checkbox-widget-edit.component-_jtT03Vn.mjs","sources":["../../../../libs/platform/common/src/lib/schema/widgets/checkbox/checkbox-widget-edit.component.ts"],"sourcesContent":["import { AXCheckBoxModule } from '@acorex/components/check-box';\r\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { AXPWidgetEditBase } from '../../widget/widget-base';\r\n\r\n@Component({\r\n template: `<ax-check-box [(ngModel)]=\"value\"></ax-check-box>`,\r\n standalone: true,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [AXCheckBoxModule, FormsModule],\r\n inputs: [],\r\n})\r\nexport class AXPCheckboxWidgetEditComponent extends AXPWidgetEditBase { }\r\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYM,MAAO,8BAA+B,SAAQ,iBAAiB,CAAA;8GAAxD,8BAA8B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAA9B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,8BAA8B,EAN/B,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,cAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA,iDAAA,CAAmD,EAGnD,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,gBAAgB,+QAAE,WAAW,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAG5B,8BAA8B,EAAA,UAAA,EAAA,CAAA;kBAP1C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,CAAmD,iDAAA,CAAA;AAC7D,oBAAA,UAAU,EAAE,IAAI;oBAChB,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,OAAO,EAAE,CAAC,gBAAgB,EAAE,WAAW,CAAC;AACxC,oBAAA,MAAM,EAAE,EAAE;AACX,iBAAA,CAAA;;;;;"}
|