@abp/ng.theme.shared 7.2.2 → 7.3.0-rc.2
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/README.md +129 -2
- package/{esm2020 → esm2022}/abp-ng.theme.shared.mjs +4 -4
- package/{esm2020 → esm2022}/extensions/abp-ng.theme.shared-extensions.mjs +4 -4
- package/esm2022/extensions/lib/adapters/date-time.adapter.mjs +45 -0
- package/esm2022/extensions/lib/adapters/date.adapter.mjs +42 -0
- package/esm2022/extensions/lib/adapters/time.adapter.mjs +37 -0
- package/esm2022/extensions/lib/components/abstract-actions/abstract-actions.component.mjs +26 -0
- package/esm2022/extensions/lib/components/date-time-picker/date-time-picker.component.mjs +110 -0
- package/esm2022/extensions/lib/components/extensible-form/extensible-form-prop.component.mjs +199 -0
- package/esm2022/extensions/lib/components/extensible-form/extensible-form.component.mjs +74 -0
- package/esm2022/extensions/lib/components/extensible-table/extensible-table.component.mjs +137 -0
- package/esm2022/extensions/lib/components/grid-actions/grid-actions.component.mjs +40 -0
- package/esm2022/extensions/lib/components/page-toolbar/page-toolbar.component.mjs +39 -0
- package/{esm2020 → esm2022}/extensions/lib/constants/extra-properties.mjs +1 -1
- package/esm2022/extensions/lib/directives/disabled.directive.mjs +30 -0
- package/esm2022/extensions/lib/directives/prop-data.directive.mjs +42 -0
- package/{esm2020 → esm2022}/extensions/lib/enums/components.mjs +1 -1
- package/{esm2020 → esm2022}/extensions/lib/enums/props.enum.mjs +1 -1
- package/{esm2020 → esm2022}/extensions/lib/models/actions.mjs +46 -46
- package/{esm2020 → esm2022}/extensions/lib/models/entity-actions.mjs +28 -28
- package/esm2022/extensions/lib/models/entity-props.mjs +44 -0
- package/esm2022/extensions/lib/models/form-props.mjs +76 -0
- package/{esm2020 → esm2022}/extensions/lib/models/internal/object-extensions.mjs +2 -2
- package/{esm2020 → esm2022}/extensions/lib/models/object-extensions.mjs +2 -2
- package/esm2022/extensions/lib/models/props.mjs +54 -0
- package/{esm2020 → esm2022}/extensions/lib/models/toolbar-actions.mjs +43 -43
- package/esm2022/extensions/lib/pipes/create-injector.pipe.mjs +37 -0
- package/esm2022/extensions/lib/services/extensions.service.mjs +25 -0
- package/{esm2020 → esm2022}/extensions/lib/tokens/extensible-form-view-provider.token.mjs +2 -2
- package/{esm2020 → esm2022}/extensions/lib/tokens/extensions.token.mjs +11 -11
- package/esm2022/extensions/lib/ui-extensions.module.mjs +100 -0
- package/{esm2020 → esm2022}/extensions/lib/utils/actions.util.mjs +8 -8
- package/{esm2020 → esm2022}/extensions/lib/utils/enum.util.mjs +41 -41
- package/{esm2020 → esm2022}/extensions/lib/utils/factory.util.mjs +3 -3
- package/esm2022/extensions/lib/utils/form-props.util.mjs +51 -0
- package/{esm2020 → esm2022}/extensions/lib/utils/localization.util.mjs +12 -12
- package/{esm2020 → esm2022}/extensions/lib/utils/props.util.mjs +13 -13
- package/esm2022/extensions/lib/utils/state.util.mjs +126 -0
- package/{esm2020 → esm2022}/extensions/lib/utils/typeahead.util.mjs +51 -51
- package/{esm2020 → esm2022}/extensions/lib/utils/validation.util.mjs +10 -10
- package/{esm2020 → esm2022}/extensions/public-api.mjs +30 -30
- package/{esm2020 → esm2022}/lib/animations/bounce.animations.mjs +16 -16
- package/{esm2020 → esm2022}/lib/animations/collapse.animations.mjs +49 -49
- package/{esm2020 → esm2022}/lib/animations/fade.animations.mjs +37 -37
- package/{esm2020 → esm2022}/lib/animations/index.mjs +6 -6
- package/{esm2020 → esm2022}/lib/animations/modal.animations.mjs +10 -10
- package/{esm2020 → esm2022}/lib/animations/slide.animations.mjs +7 -7
- package/{esm2020 → esm2022}/lib/animations/toast.animations.mjs +12 -12
- package/esm2022/lib/components/breadcrumb/breadcrumb.component.mjs +44 -0
- package/esm2022/lib/components/breadcrumb-items/breadcrumb-items.component.mjs +20 -0
- package/esm2022/lib/components/button/button.component.mjs +103 -0
- package/{esm2020 → esm2022}/lib/components/card/card-body.component.mjs +27 -26
- package/esm2022/lib/components/card/card-footer.component.mjs +31 -0
- package/esm2022/lib/components/card/card-header.component.mjs +31 -0
- package/esm2022/lib/components/card/card-header.directive.mjs +20 -0
- package/esm2022/lib/components/card/card-img-top.directive.mjs +20 -0
- package/esm2022/lib/components/card/card-subtitle.directive.mjs +20 -0
- package/esm2022/lib/components/card/card-title.directive.mjs +20 -0
- package/esm2022/lib/components/card/card.component.mjs +24 -0
- package/esm2022/lib/components/card/card.module.mjs +50 -0
- package/{esm2020 → esm2022}/lib/components/card/index.mjs +9 -9
- package/esm2022/lib/components/checkbox/checkbox.component.mjs +89 -0
- package/esm2022/lib/components/confirmation/confirmation.component.mjs +46 -0
- package/esm2022/lib/components/form-input/form-input.component.mjs +95 -0
- package/esm2022/lib/components/http-error-wrapper/http-error-wrapper.component.mjs +60 -0
- package/{esm2020 → esm2022}/lib/components/index.mjs +16 -16
- package/esm2022/lib/components/loader-bar/loader-bar.component.mjs +122 -0
- package/esm2022/lib/components/loading/loading.component.mjs +20 -0
- package/esm2022/lib/components/modal/modal-close.directive.mjs +28 -0
- package/esm2022/lib/components/modal/modal-ref.service.mjs +27 -0
- package/esm2022/lib/components/modal/modal.component.mjs +190 -0
- package/esm2022/lib/components/password/password.component.mjs +39 -0
- package/esm2022/lib/components/toast/toast.component.mjs +56 -0
- package/esm2022/lib/components/toast-container/toast-container.component.mjs +59 -0
- package/{esm2020 → esm2022}/lib/constants/styles.mjs +1 -1
- package/{esm2020 → esm2022}/lib/constants/validation.mjs +19 -19
- package/esm2022/lib/directives/ellipsis.directive.mjs +65 -0
- package/{esm2020 → esm2022}/lib/directives/index.mjs +5 -5
- package/esm2022/lib/directives/loading.directive.mjs +90 -0
- package/esm2022/lib/directives/ngx-datatable-default.directive.mjs +76 -0
- package/esm2022/lib/directives/ngx-datatable-list.directive.mjs +95 -0
- package/esm2022/lib/directives/visible.directive.mjs +63 -0
- package/{esm2020 → esm2022}/lib/enums/form.mjs +5 -5
- package/{esm2020 → esm2022}/lib/enums/index.mjs +2 -2
- package/{esm2020 → esm2022}/lib/enums/route-names.mjs +1 -1
- package/esm2022/lib/handlers/document-dir.handler.mjs +32 -0
- package/esm2022/lib/handlers/error.handler.mjs +294 -0
- package/{esm2020 → esm2022}/lib/handlers/index.mjs +2 -2
- package/{esm2020 → esm2022}/lib/models/common.mjs +1 -1
- package/{esm2020 → esm2022}/lib/models/confirmation.mjs +9 -9
- package/{esm2020 → esm2022}/lib/models/index.mjs +7 -7
- package/{esm2020 → esm2022}/lib/models/nav-item.mjs +5 -5
- package/{esm2020 → esm2022}/lib/models/statistics.mjs +1 -1
- package/{esm2020 → esm2022}/lib/models/toaster.mjs +1 -1
- package/{esm2020 → esm2022}/lib/models/user-menu.mjs +3 -3
- package/{esm2020 → esm2022}/lib/models/validation.mjs +1 -1
- package/{esm2020 → esm2022}/lib/providers/index.mjs +2 -2
- package/{esm2020 → esm2022}/lib/providers/ng-bootstrap-config.provider.mjs +16 -16
- package/{esm2020 → esm2022}/lib/providers/route.provider.mjs +17 -17
- package/{esm2020 → esm2022}/lib/services/abstract-menu.service.mjs +49 -49
- package/esm2022/lib/services/confirmation.service.mjs +69 -0
- package/{esm2020 → esm2022}/lib/services/index.mjs +5 -5
- package/esm2022/lib/services/nav-items.service.mjs +18 -0
- package/esm2022/lib/services/page-alert.service.mjs +29 -0
- package/esm2022/lib/services/toaster.service.mjs +104 -0
- package/esm2022/lib/services/user-menu.service.mjs +18 -0
- package/esm2022/lib/theme-shared.module.mjs +202 -0
- package/{esm2020 → esm2022}/lib/tokens/append-content.token.mjs +10 -10
- package/{esm2020 → esm2022}/lib/tokens/confirmation-icons.token.mjs +10 -10
- package/{esm2020 → esm2022}/lib/tokens/http-error.token.mjs +13 -13
- package/{esm2020 → esm2022}/lib/tokens/index.mjs +4 -4
- package/{esm2020 → esm2022}/lib/tokens/ngx-datatable-messages.token.mjs +7 -7
- package/{esm2020 → esm2022}/lib/tokens/suppress-unsaved-changes-warning.token.mjs +2 -2
- package/esm2022/lib/utils/date-parser-formatter.mjs +59 -0
- package/{esm2020 → esm2022}/lib/utils/index.mjs +2 -2
- package/{esm2020 → esm2022}/lib/utils/validation-utils.mjs +61 -61
- package/{esm2020 → esm2022}/public-api.mjs +15 -15
- package/{esm2020 → esm2022}/testing/abp-ng.theme.shared-testing.mjs +4 -4
- package/{esm2020 → esm2022}/testing/lib/models/config.mjs +1 -1
- package/{esm2020 → esm2022}/testing/lib/models/index.mjs +1 -1
- package/esm2022/testing/lib/theme-shared-testing.module.mjs +47 -0
- package/{esm2020 → esm2022}/testing/public-api.mjs +3 -3
- package/extensions/index.d.ts +5 -5
- package/extensions/lib/adapters/date-time.adapter.d.ts +11 -11
- package/extensions/lib/adapters/date.adapter.d.ts +9 -9
- package/extensions/lib/adapters/time.adapter.d.ts +8 -8
- package/extensions/lib/components/abstract-actions/abstract-actions.component.d.ts +12 -12
- package/extensions/lib/components/date-time-picker/date-time-picker.component.d.ts +16 -16
- package/extensions/lib/components/extensible-form/extensible-form-prop.component.d.ts +43 -43
- package/extensions/lib/components/extensible-form/extensible-form.component.d.ts +25 -25
- package/extensions/lib/components/extensible-table/extensible-table.component.d.ts +38 -38
- package/extensions/lib/components/grid-actions/grid-actions.component.d.ts +13 -13
- package/extensions/lib/components/page-toolbar/page-toolbar.component.d.ts +20 -20
- package/extensions/lib/constants/extra-properties.d.ts +1 -1
- package/extensions/lib/directives/disabled.directive.d.ts +11 -11
- package/extensions/lib/directives/prop-data.directive.d.ts +19 -19
- package/extensions/lib/enums/components.d.ts +3 -3
- package/extensions/lib/enums/props.enum.d.ts +16 -16
- package/extensions/lib/models/actions.d.ts +36 -36
- package/extensions/lib/models/entity-actions.d.ts +22 -22
- package/extensions/lib/models/entity-props.d.ts +30 -29
- package/extensions/lib/models/form-props.d.ts +59 -58
- package/extensions/lib/models/internal/object-extensions.d.ts +86 -85
- package/extensions/lib/models/object-extensions.d.ts +2 -2
- package/extensions/lib/models/props.d.ts +45 -44
- package/extensions/lib/models/toolbar-actions.d.ts +38 -38
- package/extensions/lib/pipes/create-injector.pipe.d.ts +8 -8
- package/extensions/lib/services/extensions.service.d.ts +14 -14
- package/extensions/lib/tokens/extensible-form-view-provider.token.d.ts +5 -5
- package/extensions/lib/tokens/extensions.token.d.ts +20 -24
- package/extensions/lib/ui-extensions.module.d.ts +24 -24
- package/extensions/lib/utils/actions.util.d.ts +7 -7
- package/extensions/lib/utils/enum.util.d.ts +7 -7
- package/extensions/lib/utils/factory.util.d.ts +1 -1
- package/extensions/lib/utils/form-props.util.d.ts +3 -3
- package/extensions/lib/utils/localization.util.d.ts +3 -3
- package/extensions/lib/utils/props.util.d.ts +9 -9
- package/extensions/lib/utils/state.util.d.ts +5 -5
- package/extensions/lib/utils/typeahead.util.d.ts +11 -11
- package/extensions/lib/utils/validation.util.d.ts +3 -3
- package/extensions/public-api.d.ts +30 -30
- package/{fesm2020 → fesm2022}/abp-ng.theme.shared-extensions.mjs +1340 -1331
- package/fesm2022/abp-ng.theme.shared-extensions.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/abp-ng.theme.shared-testing.mjs +40 -40
- package/{fesm2015 → fesm2022}/abp-ng.theme.shared-testing.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/abp-ng.theme.shared.mjs +2292 -2290
- package/fesm2022/abp-ng.theme.shared.mjs.map +1 -0
- package/index.d.ts +5 -5
- package/lib/animations/bounce.animations.d.ts +1 -1
- package/lib/animations/collapse.animations.d.ts +9 -9
- package/lib/animations/fade.animations.d.ts +10 -10
- package/lib/animations/index.d.ts +6 -6
- package/lib/animations/modal.animations.d.ts +2 -2
- package/lib/animations/slide.animations.d.ts +1 -1
- package/lib/animations/toast.animations.d.ts +1 -1
- package/lib/components/breadcrumb/breadcrumb.component.d.ts +16 -16
- package/lib/components/breadcrumb-items/breadcrumb-items.component.d.ts +7 -7
- package/lib/components/button/button.component.d.ts +26 -26
- package/lib/components/card/card-body.component.d.ts +8 -8
- package/lib/components/card/card-footer.component.d.ts +8 -8
- package/lib/components/card/card-header.component.d.ts +8 -8
- package/lib/components/card/card-header.directive.d.ts +6 -6
- package/lib/components/card/card-img-top.directive.d.ts +6 -6
- package/lib/components/card/card-subtitle.directive.d.ts +6 -6
- package/lib/components/card/card-title.directive.d.ts +6 -6
- package/lib/components/card/card.component.d.ts +7 -7
- package/lib/components/card/card.module.d.ts +15 -15
- package/lib/components/card/index.d.ts +9 -9
- package/lib/components/checkbox/checkbox.component.d.ts +18 -18
- package/lib/components/confirmation/confirmation.component.d.ts +19 -19
- package/lib/components/form-input/form-input.component.d.ts +19 -19
- package/lib/components/http-error-wrapper/http-error-wrapper.component.d.ts +27 -27
- package/lib/components/index.d.ts +16 -16
- package/lib/components/loader-bar/loader-bar.component.d.ts +33 -33
- package/lib/components/loading/loading.component.d.ts +5 -5
- package/lib/components/modal/modal-close.directive.d.ts +9 -9
- package/lib/components/modal/modal-ref.service.d.ts +13 -13
- package/lib/components/modal/modal.component.d.ts +50 -50
- package/lib/components/password/password.component.d.ts +12 -12
- package/lib/components/toast/toast.component.d.ts +14 -14
- package/lib/components/toast-container/toast-container.component.d.ts +22 -22
- package/lib/constants/styles.d.ts +2 -2
- package/lib/constants/validation.d.ts +19 -19
- package/lib/directives/ellipsis.directive.d.ts +21 -21
- package/lib/directives/index.d.ts +5 -5
- package/lib/directives/loading.directive.d.ts +25 -25
- package/lib/directives/ngx-datatable-default.directive.d.ts +30 -30
- package/lib/directives/ngx-datatable-list.directive.d.ts +24 -24
- package/lib/directives/visible.directive.d.ts +18 -18
- package/lib/enums/form.d.ts +4 -4
- package/lib/enums/index.d.ts +2 -2
- package/lib/enums/route-names.d.ts +3 -3
- package/lib/handlers/document-dir.handler.d.ts +13 -13
- package/lib/handlers/error.handler.d.ts +83 -83
- package/lib/handlers/index.d.ts +2 -2
- package/lib/models/common.d.ts +21 -21
- package/lib/models/confirmation.d.ts +27 -27
- package/lib/models/index.d.ts +7 -7
- package/lib/models/nav-item.d.ts +13 -13
- package/lib/models/statistics.d.ts +12 -12
- package/lib/models/toaster.d.ts +30 -30
- package/lib/models/user-menu.d.ts +8 -8
- package/lib/models/validation.d.ts +1 -1
- package/lib/providers/index.d.ts +2 -2
- package/lib/providers/ng-bootstrap-config.provider.d.ts +8 -8
- package/lib/providers/route.provider.d.ts +8 -8
- package/lib/services/abstract-menu.service.d.ts +13 -13
- package/lib/services/confirmation.service.d.ts +21 -21
- package/lib/services/index.d.ts +5 -5
- package/lib/services/nav-items.service.d.ts +8 -8
- package/lib/services/page-alert.service.d.ts +18 -18
- package/lib/services/toaster.service.d.ts +60 -60
- package/lib/services/user-menu.service.d.ts +8 -8
- package/lib/theme-shared.module.d.ts +38 -38
- package/lib/tokens/append-content.token.d.ts +2 -2
- package/lib/tokens/confirmation-icons.token.d.ts +11 -11
- package/lib/tokens/http-error.token.d.ts +5 -5
- package/lib/tokens/index.d.ts +4 -4
- package/lib/tokens/ngx-datatable-messages.token.d.ts +12 -12
- package/lib/tokens/suppress-unsaved-changes-warning.token.d.ts +2 -2
- package/lib/utils/date-parser-formatter.d.ts +12 -12
- package/lib/utils/index.d.ts +2 -2
- package/lib/utils/validation-utils.d.ts +5 -5
- package/package.json +28 -24
- package/public-api.d.ts +12 -12
- package/testing/index.d.ts +5 -5
- package/testing/lib/models/config.d.ts +4 -4
- package/testing/lib/models/index.d.ts +1 -1
- package/testing/lib/theme-shared-testing.module.d.ts +14 -14
- package/testing/public-api.d.ts +3 -3
- package/esm2020/extensions/lib/adapters/date-time.adapter.mjs +0 -44
- package/esm2020/extensions/lib/adapters/date.adapter.mjs +0 -41
- package/esm2020/extensions/lib/adapters/time.adapter.mjs +0 -36
- package/esm2020/extensions/lib/components/abstract-actions/abstract-actions.component.mjs +0 -25
- package/esm2020/extensions/lib/components/date-time-picker/date-time-picker.component.mjs +0 -109
- package/esm2020/extensions/lib/components/extensible-form/extensible-form-prop.component.mjs +0 -198
- package/esm2020/extensions/lib/components/extensible-form/extensible-form.component.mjs +0 -73
- package/esm2020/extensions/lib/components/extensible-table/extensible-table.component.mjs +0 -135
- package/esm2020/extensions/lib/components/grid-actions/grid-actions.component.mjs +0 -39
- package/esm2020/extensions/lib/components/page-toolbar/page-toolbar.component.mjs +0 -38
- package/esm2020/extensions/lib/directives/disabled.directive.mjs +0 -29
- package/esm2020/extensions/lib/directives/prop-data.directive.mjs +0 -41
- package/esm2020/extensions/lib/models/entity-props.mjs +0 -43
- package/esm2020/extensions/lib/models/form-props.mjs +0 -75
- package/esm2020/extensions/lib/models/props.mjs +0 -53
- package/esm2020/extensions/lib/pipes/create-injector.pipe.mjs +0 -36
- package/esm2020/extensions/lib/services/extensions.service.mjs +0 -24
- package/esm2020/extensions/lib/ui-extensions.module.mjs +0 -95
- package/esm2020/extensions/lib/utils/form-props.util.mjs +0 -51
- package/esm2020/extensions/lib/utils/state.util.mjs +0 -123
- package/esm2020/lib/components/breadcrumb/breadcrumb.component.mjs +0 -43
- package/esm2020/lib/components/breadcrumb-items/breadcrumb-items.component.mjs +0 -19
- package/esm2020/lib/components/button/button.component.mjs +0 -102
- package/esm2020/lib/components/card/card-footer.component.mjs +0 -30
- package/esm2020/lib/components/card/card-header.component.mjs +0 -30
- package/esm2020/lib/components/card/card-header.directive.mjs +0 -19
- package/esm2020/lib/components/card/card-img-top.directive.mjs +0 -19
- package/esm2020/lib/components/card/card-subtitle.directive.mjs +0 -19
- package/esm2020/lib/components/card/card-title.directive.mjs +0 -19
- package/esm2020/lib/components/card/card.component.mjs +0 -23
- package/esm2020/lib/components/card/card.module.mjs +0 -49
- package/esm2020/lib/components/checkbox/checkbox.component.mjs +0 -88
- package/esm2020/lib/components/confirmation/confirmation.component.mjs +0 -45
- package/esm2020/lib/components/form-input/form-input.component.mjs +0 -94
- package/esm2020/lib/components/http-error-wrapper/http-error-wrapper.component.mjs +0 -59
- package/esm2020/lib/components/loader-bar/loader-bar.component.mjs +0 -121
- package/esm2020/lib/components/loading/loading.component.mjs +0 -19
- package/esm2020/lib/components/modal/modal-close.directive.mjs +0 -27
- package/esm2020/lib/components/modal/modal-ref.service.mjs +0 -26
- package/esm2020/lib/components/modal/modal.component.mjs +0 -189
- package/esm2020/lib/components/password/password.component.mjs +0 -38
- package/esm2020/lib/components/toast/toast.component.mjs +0 -55
- package/esm2020/lib/components/toast-container/toast-container.component.mjs +0 -58
- package/esm2020/lib/directives/ellipsis.directive.mjs +0 -63
- package/esm2020/lib/directives/loading.directive.mjs +0 -89
- package/esm2020/lib/directives/ngx-datatable-default.directive.mjs +0 -75
- package/esm2020/lib/directives/ngx-datatable-list.directive.mjs +0 -94
- package/esm2020/lib/directives/visible.directive.mjs +0 -62
- package/esm2020/lib/handlers/document-dir.handler.mjs +0 -31
- package/esm2020/lib/handlers/error.handler.mjs +0 -291
- package/esm2020/lib/services/confirmation.service.mjs +0 -68
- package/esm2020/lib/services/nav-items.service.mjs +0 -17
- package/esm2020/lib/services/page-alert.service.mjs +0 -28
- package/esm2020/lib/services/toaster.service.mjs +0 -103
- package/esm2020/lib/services/user-menu.service.mjs +0 -17
- package/esm2020/lib/theme-shared.module.mjs +0 -200
- package/esm2020/lib/utils/date-parser-formatter.mjs +0 -58
- package/esm2020/testing/lib/theme-shared-testing.module.mjs +0 -46
- package/fesm2015/abp-ng.theme.shared-extensions.mjs +0 -1460
- package/fesm2015/abp-ng.theme.shared-extensions.mjs.map +0 -1
- package/fesm2015/abp-ng.theme.shared-testing.mjs +0 -54
- package/fesm2015/abp-ng.theme.shared.mjs +0 -2767
- package/fesm2015/abp-ng.theme.shared.mjs.map +0 -1
- package/fesm2020/abp-ng.theme.shared-extensions.mjs.map +0 -1
- package/fesm2020/abp-ng.theme.shared-testing.mjs.map +0 -1
- package/fesm2020/abp-ng.theme.shared.mjs.map +0 -1
package/README.md
CHANGED
|
@@ -1,3 +1,130 @@
|
|
|
1
|
-
|
|
1
|
+
## ℹ️ Description
|
|
2
2
|
|
|
3
|
-
[
|
|
3
|
+
ABP Framework is a complete open-source infrastructure to create modern web applications by following the best practices and conventions of software development. This package is a part of the [ABP Framework](https://abp.io) and contains client-side files.
|
|
4
|
+
For more information, check out the below links:
|
|
5
|
+
|
|
6
|
+
🔗Official Website: https://abp.io
|
|
7
|
+
|
|
8
|
+
🔗Commercial Website: https://commercial.abp.io
|
|
9
|
+
|
|
10
|
+
🔗Commercial Demo: https://commercial.abp.io/demo
|
|
11
|
+
|
|
12
|
+
🔗GitHub Repository: https://github.com/abpframework/abp
|
|
13
|
+
|
|
14
|
+
🔗Official Theme: https://www.LeptonTheme.com
|
|
15
|
+
|
|
16
|
+
🔗Documentation: https://docs.abp.io
|
|
17
|
+
|
|
18
|
+
🔗Community: https://community.abp.io
|
|
19
|
+
|
|
20
|
+
🔗Blog: https://blog.abp.io
|
|
21
|
+
|
|
22
|
+
🔗Books: https://abp.io/books
|
|
23
|
+
|
|
24
|
+
🔗Twitter: https://twitter.com/abpframework
|
|
25
|
+
|
|
26
|
+
🔗Discord: https://community.abp.io/discord
|
|
27
|
+
|
|
28
|
+
🔗Stackoverflow: https://stackoverflow.com/questions/tagged/abp
|
|
29
|
+
|
|
30
|
+
🔗YouTube: https://www.youtube.com/@Volosoft
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
## 🤔 Why ABP Platform?
|
|
34
|
+
|
|
35
|
+
Why should you use the ABP.IO Platform instead of creating a new solution from scratch?
|
|
36
|
+
|
|
37
|
+
You can find the answer here 👉🏻 [Why ABP Platform?](https://docs.abp.io/en/commercial/latest/why-abp-io-platform)
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
## 🚀 Key Features of the ABP Framework
|
|
41
|
+
|
|
42
|
+
🟡 Modularity
|
|
43
|
+
|
|
44
|
+
🟡 Multi-Tenancy
|
|
45
|
+
|
|
46
|
+
🟡 Bootstrap Tag Helpers
|
|
47
|
+
|
|
48
|
+
🟡 Dynamic Forms
|
|
49
|
+
|
|
50
|
+
🟡 Authentication
|
|
51
|
+
|
|
52
|
+
🟡 Authorization
|
|
53
|
+
|
|
54
|
+
🟡 Distributed Event Bus
|
|
55
|
+
|
|
56
|
+
🟡 BLOB Storing
|
|
57
|
+
|
|
58
|
+
🟡 Text Templating
|
|
59
|
+
|
|
60
|
+
🟡 Tooling: ABP CLI
|
|
61
|
+
|
|
62
|
+
🟡 Cross-Cutting Concerns
|
|
63
|
+
|
|
64
|
+
🟡 Bundling & Minification
|
|
65
|
+
|
|
66
|
+
🟡 Virtual File System
|
|
67
|
+
|
|
68
|
+
🟡 Theming
|
|
69
|
+
|
|
70
|
+
🟡 Background Jobs
|
|
71
|
+
|
|
72
|
+
🟡 DDD Infrastructure
|
|
73
|
+
|
|
74
|
+
🟡 Auto REST APIs
|
|
75
|
+
|
|
76
|
+
🟡 Dynamic Client Proxies
|
|
77
|
+
|
|
78
|
+
🟡 Multiple Database Providers
|
|
79
|
+
|
|
80
|
+
🟡 Data filtering
|
|
81
|
+
|
|
82
|
+
🟡 Test Infrastructure
|
|
83
|
+
|
|
84
|
+
🟡 Audit Logging
|
|
85
|
+
|
|
86
|
+
🟡 Object to Object Mapping
|
|
87
|
+
|
|
88
|
+
🟡 Email & SMS Abstractions
|
|
89
|
+
|
|
90
|
+
🟡 Localization
|
|
91
|
+
|
|
92
|
+
🟡 Setting Management
|
|
93
|
+
|
|
94
|
+
🟡 Extension Methods
|
|
95
|
+
|
|
96
|
+
🟡 Aspect Oriented Programming
|
|
97
|
+
|
|
98
|
+
🟡 Dependency Injection
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
## 🧐 How It Works?
|
|
102
|
+
|
|
103
|
+
The following page explains how you use the ABP.IO Platform as a .NET developer 👉 [How it works?](https://commercial.abp.io/how-it-works)
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
### 📘 Supported Database Providers
|
|
107
|
+
|
|
108
|
+
🔵 Entity Framework Core
|
|
109
|
+
|
|
110
|
+
🔵 MongoDB
|
|
111
|
+
|
|
112
|
+
🔵 Dapper
|
|
113
|
+
|
|
114
|
+
|
|
115
|
+
### 🎴 Supported UI Frameworks
|
|
116
|
+
|
|
117
|
+
🔵 Angular
|
|
118
|
+
|
|
119
|
+
🔵 Razor Pages
|
|
120
|
+
|
|
121
|
+
🔵 Blazor Web Assembly
|
|
122
|
+
|
|
123
|
+
🔵 Blazor Server
|
|
124
|
+
|
|
125
|
+
🔵 MAUI with Blazor Hybrid
|
|
126
|
+
|
|
127
|
+
|
|
128
|
+
## 📫 Bug & Support
|
|
129
|
+
|
|
130
|
+
Support for open-source ABP Framework client-side packages is available at [GitHub Issues](https://github.com/abpframework/abp/issues), and the commercial support is available at [support.abp.io](https://support.abp.io).
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './public-api';
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './public-api';
|
|
5
5
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJwLW5nLnRoZW1lLnNoYXJlZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3RoZW1lLXNoYXJlZC9zcmMvYWJwLW5nLnRoZW1lLnNoYXJlZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './public-api';
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './public-api';
|
|
5
5
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJwLW5nLnRoZW1lLnNoYXJlZC1leHRlbnNpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvdGhlbWUtc2hhcmVkL2V4dGVuc2lvbnMvc3JjL2FicC1uZy50aGVtZS5zaGFyZWQtZXh0ZW5zaW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
class DateTimeAdapter {
|
|
4
|
+
fromModel(value) {
|
|
5
|
+
if (!value)
|
|
6
|
+
return null;
|
|
7
|
+
const date = new Date(value);
|
|
8
|
+
if (isNaN(date))
|
|
9
|
+
return null;
|
|
10
|
+
this.value = {
|
|
11
|
+
year: date.getFullYear(),
|
|
12
|
+
month: date.getMonth() + 1,
|
|
13
|
+
day: date.getDate(),
|
|
14
|
+
hour: date.getHours(),
|
|
15
|
+
minute: date.getMinutes(),
|
|
16
|
+
second: date.getSeconds(),
|
|
17
|
+
};
|
|
18
|
+
return this.value;
|
|
19
|
+
}
|
|
20
|
+
toModel(value) {
|
|
21
|
+
if (!value)
|
|
22
|
+
return '';
|
|
23
|
+
const now = new Date();
|
|
24
|
+
const newValue = {
|
|
25
|
+
// TODO look for strict mode errors
|
|
26
|
+
year: now.getUTCFullYear(),
|
|
27
|
+
month: now.getMonth() + 1,
|
|
28
|
+
day: now.getDate(),
|
|
29
|
+
hour: 0,
|
|
30
|
+
minute: 0,
|
|
31
|
+
second: 0,
|
|
32
|
+
...this.value,
|
|
33
|
+
...value,
|
|
34
|
+
};
|
|
35
|
+
const date = new Date(newValue.year, newValue.month - 1, newValue.day, newValue.hour, newValue.minute, newValue.second);
|
|
36
|
+
return new Date(date).toISOString();
|
|
37
|
+
}
|
|
38
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: DateTimeAdapter, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
39
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: DateTimeAdapter }); }
|
|
40
|
+
}
|
|
41
|
+
export { DateTimeAdapter };
|
|
42
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: DateTimeAdapter, decorators: [{
|
|
43
|
+
type: Injectable
|
|
44
|
+
}] });
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS10aW1lLmFkYXB0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy90aGVtZS1zaGFyZWQvZXh0ZW5zaW9ucy9zcmMvbGliL2FkYXB0ZXJzL2RhdGUtdGltZS5hZGFwdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRzNDLE1BQ2EsZUFBZTtJQUcxQixTQUFTLENBQUMsS0FBb0I7UUFDNUIsSUFBSSxDQUFDLEtBQUs7WUFBRSxPQUFPLElBQUksQ0FBQztRQUV4QixNQUFNLElBQUksR0FBRyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUU3QixJQUFJLEtBQUssQ0FBQyxJQUF5QixDQUFDO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFFbEQsSUFBSSxDQUFDLEtBQUssR0FBRztZQUNYLElBQUksRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3hCLEtBQUssRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQztZQUMxQixHQUFHLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNuQixJQUFJLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNyQixNQUFNLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUN6QixNQUFNLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRTtTQUMxQixDQUFDO1FBRUYsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFFRCxPQUFPLENBQUMsS0FBd0M7UUFDOUMsSUFBSSxDQUFDLEtBQUs7WUFBRSxPQUFPLEVBQUUsQ0FBQztRQUV0QixNQUFNLEdBQUcsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1FBRXZCLE1BQU0sUUFBUSxHQUFHO1lBQ2YsbUNBQW1DO1lBQ25DLElBQUksRUFBRSxHQUFHLENBQUMsY0FBYyxFQUFFO1lBQzFCLEtBQUssRUFBRSxHQUFHLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQztZQUN6QixHQUFHLEVBQUUsR0FBRyxDQUFDLE9BQU8sRUFBRTtZQUNsQixJQUFJLEVBQUUsQ0FBQztZQUNQLE1BQU0sRUFBRSxDQUFDO1lBQ1QsTUFBTSxFQUFFLENBQUM7WUFDVCxHQUFHLElBQUksQ0FBQyxLQUFLO1lBQ2IsR0FBRyxLQUFLO1NBQ1ksQ0FBQztRQUV2QixNQUFNLElBQUksR0FBRyxJQUFJLElBQUksQ0FDbkIsUUFBUSxDQUFDLElBQUksRUFDYixRQUFRLENBQUMsS0FBSyxHQUFHLENBQUMsRUFDbEIsUUFBUSxDQUFDLEdBQUcsRUFDWixRQUFRLENBQUMsSUFBSSxFQUNiLFFBQVEsQ0FBQyxNQUFNLEVBQ2YsUUFBUSxDQUFDLE1BQU0sQ0FDaEIsQ0FBQztRQUVGLE9BQU8sSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDdEMsQ0FBQzs4R0FqRFUsZUFBZTtrSEFBZixlQUFlOztTQUFmLGVBQWU7MkZBQWYsZUFBZTtrQkFEM0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTmdiRGF0ZVN0cnVjdCwgTmdiVGltZVN0cnVjdCB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIERhdGVUaW1lQWRhcHRlciB7XHJcbiAgdmFsdWUhOiBQYXJ0aWFsPE5nYkRhdGVUaW1lU3RydWN0PjtcclxuXHJcbiAgZnJvbU1vZGVsKHZhbHVlOiBzdHJpbmcgfCBEYXRlKTogUGFydGlhbDxOZ2JEYXRlVGltZVN0cnVjdD4gfCBudWxsIHtcclxuICAgIGlmICghdmFsdWUpIHJldHVybiBudWxsO1xyXG5cclxuICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZSh2YWx1ZSk7XHJcblxyXG4gICAgaWYgKGlzTmFOKGRhdGUgYXMgdW5rbm93biBhcyBudW1iZXIpKSByZXR1cm4gbnVsbDtcclxuXHJcbiAgICB0aGlzLnZhbHVlID0ge1xyXG4gICAgICB5ZWFyOiBkYXRlLmdldEZ1bGxZZWFyKCksXHJcbiAgICAgIG1vbnRoOiBkYXRlLmdldE1vbnRoKCkgKyAxLFxyXG4gICAgICBkYXk6IGRhdGUuZ2V0RGF0ZSgpLFxyXG4gICAgICBob3VyOiBkYXRlLmdldEhvdXJzKCksXHJcbiAgICAgIG1pbnV0ZTogZGF0ZS5nZXRNaW51dGVzKCksXHJcbiAgICAgIHNlY29uZDogZGF0ZS5nZXRTZWNvbmRzKCksXHJcbiAgICB9O1xyXG5cclxuICAgIHJldHVybiB0aGlzLnZhbHVlO1xyXG4gIH1cclxuXHJcbiAgdG9Nb2RlbCh2YWx1ZTogUGFydGlhbDxOZ2JEYXRlVGltZVN0cnVjdD4gfCBudWxsKTogc3RyaW5nIHtcclxuICAgIGlmICghdmFsdWUpIHJldHVybiAnJztcclxuXHJcbiAgICBjb25zdCBub3cgPSBuZXcgRGF0ZSgpO1xyXG5cclxuICAgIGNvbnN0IG5ld1ZhbHVlID0ge1xyXG4gICAgICAvLyBUT0RPIGxvb2sgZm9yIHN0cmljdCBtb2RlIGVycm9yc1xyXG4gICAgICB5ZWFyOiBub3cuZ2V0VVRDRnVsbFllYXIoKSxcclxuICAgICAgbW9udGg6IG5vdy5nZXRNb250aCgpICsgMSxcclxuICAgICAgZGF5OiBub3cuZ2V0RGF0ZSgpLFxyXG4gICAgICBob3VyOiAwLFxyXG4gICAgICBtaW51dGU6IDAsXHJcbiAgICAgIHNlY29uZDogMCxcclxuICAgICAgLi4udGhpcy52YWx1ZSxcclxuICAgICAgLi4udmFsdWUsXHJcbiAgICB9IGFzIE5nYkRhdGVUaW1lU3RydWN0O1xyXG5cclxuICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZShcclxuICAgICAgbmV3VmFsdWUueWVhcixcclxuICAgICAgbmV3VmFsdWUubW9udGggLSAxLFxyXG4gICAgICBuZXdWYWx1ZS5kYXksXHJcbiAgICAgIG5ld1ZhbHVlLmhvdXIsXHJcbiAgICAgIG5ld1ZhbHVlLm1pbnV0ZSxcclxuICAgICAgbmV3VmFsdWUuc2Vjb25kLFxyXG4gICAgKTtcclxuXHJcbiAgICByZXR1cm4gbmV3IERhdGUoZGF0ZSkudG9JU09TdHJpbmcoKTtcclxuICB9XHJcbn1cclxuXHJcbnR5cGUgTmdiRGF0ZVRpbWVTdHJ1Y3QgPSBOZ2JEYXRlU3RydWN0ICYgTmdiVGltZVN0cnVjdDtcclxuIl19
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { formatDate } from '@angular/common';
|
|
2
|
+
import { Injectable } from '@angular/core';
|
|
3
|
+
import { NgbDateAdapter } from '@ng-bootstrap/ng-bootstrap';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
class DateAdapter extends NgbDateAdapter {
|
|
6
|
+
fromModel(value) {
|
|
7
|
+
if (!value)
|
|
8
|
+
return null;
|
|
9
|
+
let date;
|
|
10
|
+
if (typeof value === 'string') {
|
|
11
|
+
date = this.dateOf(value);
|
|
12
|
+
}
|
|
13
|
+
else {
|
|
14
|
+
date = new Date(value);
|
|
15
|
+
}
|
|
16
|
+
if (isNaN(date))
|
|
17
|
+
return null;
|
|
18
|
+
return {
|
|
19
|
+
day: date.getDate(),
|
|
20
|
+
month: date.getMonth() + 1,
|
|
21
|
+
year: date.getFullYear(),
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
toModel(value) {
|
|
25
|
+
if (!value)
|
|
26
|
+
return '';
|
|
27
|
+
const date = new Date(value.year, value.month - 1, value.day);
|
|
28
|
+
const formattedDate = formatDate(date, 'yyyy-MM-dd', 'en');
|
|
29
|
+
return formattedDate;
|
|
30
|
+
}
|
|
31
|
+
dateOf(value) {
|
|
32
|
+
const dateUtc = new Date(Date.parse(value));
|
|
33
|
+
return new Date(dateUtc.getTime() + Math.abs(dateUtc.getTimezoneOffset() * 60000));
|
|
34
|
+
}
|
|
35
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: DateAdapter, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
36
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: DateAdapter }); }
|
|
37
|
+
}
|
|
38
|
+
export { DateAdapter };
|
|
39
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: DateAdapter, decorators: [{
|
|
40
|
+
type: Injectable
|
|
41
|
+
}] });
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS5hZGFwdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvdGhlbWUtc2hhcmVkL2V4dGVuc2lvbnMvc3JjL2xpYi9hZGFwdGVycy9kYXRlLmFkYXB0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGNBQWMsRUFBaUIsTUFBTSw0QkFBNEIsQ0FBQzs7QUFFM0UsTUFDYSxXQUFZLFNBQVEsY0FBNkI7SUFDNUQsU0FBUyxDQUFDLEtBQW9CO1FBQzVCLElBQUksQ0FBQyxLQUFLO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFFeEIsSUFBSSxJQUFVLENBQUM7UUFFZixJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRTtZQUM3QixJQUFJLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUMzQjthQUFNO1lBQ0wsSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3hCO1FBRUQsSUFBSSxLQUFLLENBQUMsSUFBeUIsQ0FBQztZQUFFLE9BQU8sSUFBSSxDQUFDO1FBRWxELE9BQU87WUFDTCxHQUFHLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNuQixLQUFLLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUM7WUFDMUIsSUFBSSxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUU7U0FDekIsQ0FBQztJQUNKLENBQUM7SUFFRCxPQUFPLENBQUMsS0FBMkI7UUFDakMsSUFBSSxDQUFDLEtBQUs7WUFBRSxPQUFPLEVBQUUsQ0FBQztRQUV0QixNQUFNLElBQUksR0FBRyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM5RCxNQUFNLGFBQWEsR0FBRyxVQUFVLENBQUMsSUFBSSxFQUFFLFlBQVksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUUzRCxPQUFPLGFBQWEsQ0FBQztJQUN2QixDQUFDO0lBRVMsTUFBTSxDQUFDLEtBQWE7UUFDNUIsTUFBTSxPQUFPLEdBQUcsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQzVDLE9BQU8sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLGlCQUFpQixFQUFFLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNyRixDQUFDOzhHQWpDVSxXQUFXO2tIQUFYLFdBQVc7O1NBQVgsV0FBVzsyRkFBWCxXQUFXO2tCQUR2QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZm9ybWF0RGF0ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTmdiRGF0ZUFkYXB0ZXIsIE5nYkRhdGVTdHJ1Y3QgfSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBEYXRlQWRhcHRlciBleHRlbmRzIE5nYkRhdGVBZGFwdGVyPHN0cmluZyB8IERhdGU+IHtcclxuICBmcm9tTW9kZWwodmFsdWU6IHN0cmluZyB8IERhdGUpOiBOZ2JEYXRlU3RydWN0IHwgbnVsbCB7XHJcbiAgICBpZiAoIXZhbHVlKSByZXR1cm4gbnVsbDtcclxuXHJcbiAgICBsZXQgZGF0ZTogRGF0ZTtcclxuXHJcbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJykge1xyXG4gICAgICBkYXRlID0gdGhpcy5kYXRlT2YodmFsdWUpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgZGF0ZSA9IG5ldyBEYXRlKHZhbHVlKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoaXNOYU4oZGF0ZSBhcyB1bmtub3duIGFzIG51bWJlcikpIHJldHVybiBudWxsO1xyXG5cclxuICAgIHJldHVybiB7XHJcbiAgICAgIGRheTogZGF0ZS5nZXREYXRlKCksXHJcbiAgICAgIG1vbnRoOiBkYXRlLmdldE1vbnRoKCkgKyAxLFxyXG4gICAgICB5ZWFyOiBkYXRlLmdldEZ1bGxZZWFyKCksXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgdG9Nb2RlbCh2YWx1ZTogTmdiRGF0ZVN0cnVjdCB8IG51bGwpOiBzdHJpbmcge1xyXG4gICAgaWYgKCF2YWx1ZSkgcmV0dXJuICcnO1xyXG5cclxuICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZSh2YWx1ZS55ZWFyLCB2YWx1ZS5tb250aCAtIDEsIHZhbHVlLmRheSk7XHJcbiAgICBjb25zdCBmb3JtYXR0ZWREYXRlID0gZm9ybWF0RGF0ZShkYXRlLCAneXl5eS1NTS1kZCcsICdlbicpO1xyXG5cclxuICAgIHJldHVybiBmb3JtYXR0ZWREYXRlO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGRhdGVPZih2YWx1ZTogc3RyaW5nKTogRGF0ZSB7XHJcbiAgICBjb25zdCBkYXRlVXRjID0gbmV3IERhdGUoRGF0ZS5wYXJzZSh2YWx1ZSkpO1xyXG4gICAgcmV0dXJuIG5ldyBEYXRlKGRhdGVVdGMuZ2V0VGltZSgpICsgTWF0aC5hYnMoZGF0ZVV0Yy5nZXRUaW1lem9uZU9mZnNldCgpICogNjAwMDApKTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { formatDate } from '@angular/common';
|
|
2
|
+
import { Injectable } from '@angular/core';
|
|
3
|
+
import { NgbTimeAdapter } from '@ng-bootstrap/ng-bootstrap';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
class TimeAdapter extends NgbTimeAdapter {
|
|
6
|
+
fromModel(value) {
|
|
7
|
+
if (!value)
|
|
8
|
+
return null;
|
|
9
|
+
const date = isTimeStr(value)
|
|
10
|
+
? new Date(0, 0, 1, ...value.split(':').map(Number))
|
|
11
|
+
: new Date(value);
|
|
12
|
+
if (isNaN(date))
|
|
13
|
+
return null;
|
|
14
|
+
return {
|
|
15
|
+
hour: date.getHours(),
|
|
16
|
+
minute: date.getMinutes(),
|
|
17
|
+
second: date.getSeconds(),
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
toModel(value) {
|
|
21
|
+
if (!value)
|
|
22
|
+
return '';
|
|
23
|
+
const date = new Date(0, 0, 1, value.hour, value.minute, value.second);
|
|
24
|
+
const formattedDate = formatDate(date, 'HH:mm', 'en');
|
|
25
|
+
return formattedDate;
|
|
26
|
+
}
|
|
27
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: TimeAdapter, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
28
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: TimeAdapter }); }
|
|
29
|
+
}
|
|
30
|
+
export { TimeAdapter };
|
|
31
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: TimeAdapter, decorators: [{
|
|
32
|
+
type: Injectable
|
|
33
|
+
}] });
|
|
34
|
+
function isTimeStr(value) {
|
|
35
|
+
return /^((2[123])|[01][0-9])(\:[0-5][0-9]){1,2}$/.test(String(value));
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS5hZGFwdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvdGhlbWUtc2hhcmVkL2V4dGVuc2lvbnMvc3JjL2xpYi9hZGFwdGVycy90aW1lLmFkYXB0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGNBQWMsRUFBaUIsTUFBTSw0QkFBNEIsQ0FBQzs7QUFFM0UsTUFDYSxXQUFZLFNBQVEsY0FBNkI7SUFDNUQsU0FBUyxDQUFDLEtBQW9CO1FBQzVCLElBQUksQ0FBQyxLQUFLO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFFeEIsTUFBTSxJQUFJLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQztZQUMzQixDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNwRCxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFcEIsSUFBSSxLQUFLLENBQUMsSUFBeUIsQ0FBQztZQUFFLE9BQU8sSUFBSSxDQUFDO1FBRWxELE9BQU87WUFDTCxJQUFJLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNyQixNQUFNLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUN6QixNQUFNLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRTtTQUMxQixDQUFDO0lBQ0osQ0FBQztJQUVELE9BQU8sQ0FBQyxLQUEyQjtRQUNqQyxJQUFJLENBQUMsS0FBSztZQUFFLE9BQU8sRUFBRSxDQUFDO1FBRXRCLE1BQU0sSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDdkUsTUFBTSxhQUFhLEdBQUcsVUFBVSxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFFdEQsT0FBTyxhQUFhLENBQUM7SUFDdkIsQ0FBQzs4R0F4QlUsV0FBVztrSEFBWCxXQUFXOztTQUFYLFdBQVc7MkZBQVgsV0FBVztrQkFEdkIsVUFBVTs7QUE0QlgsU0FBUyxTQUFTLENBQUMsS0FBb0I7SUFDckMsT0FBTywyQ0FBMkMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFDekUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZvcm1hdERhdGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5nYlRpbWVBZGFwdGVyLCBOZ2JUaW1lU3RydWN0IH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgVGltZUFkYXB0ZXIgZXh0ZW5kcyBOZ2JUaW1lQWRhcHRlcjxzdHJpbmcgfCBEYXRlPiB7XHJcbiAgZnJvbU1vZGVsKHZhbHVlOiBzdHJpbmcgfCBEYXRlKTogTmdiVGltZVN0cnVjdCB8IG51bGwge1xyXG4gICAgaWYgKCF2YWx1ZSkgcmV0dXJuIG51bGw7XHJcblxyXG4gICAgY29uc3QgZGF0ZSA9IGlzVGltZVN0cih2YWx1ZSlcclxuICAgICAgPyBuZXcgRGF0ZSgwLCAwLCAxLCAuLi52YWx1ZS5zcGxpdCgnOicpLm1hcChOdW1iZXIpKVxyXG4gICAgICA6IG5ldyBEYXRlKHZhbHVlKTtcclxuXHJcbiAgICBpZiAoaXNOYU4oZGF0ZSBhcyB1bmtub3duIGFzIG51bWJlcikpIHJldHVybiBudWxsO1xyXG5cclxuICAgIHJldHVybiB7XHJcbiAgICAgIGhvdXI6IGRhdGUuZ2V0SG91cnMoKSxcclxuICAgICAgbWludXRlOiBkYXRlLmdldE1pbnV0ZXMoKSxcclxuICAgICAgc2Vjb25kOiBkYXRlLmdldFNlY29uZHMoKSxcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICB0b01vZGVsKHZhbHVlOiBOZ2JUaW1lU3RydWN0IHwgbnVsbCk6IHN0cmluZyB7XHJcbiAgICBpZiAoIXZhbHVlKSByZXR1cm4gJyc7XHJcblxyXG4gICAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKDAsIDAsIDEsIHZhbHVlLmhvdXIsIHZhbHVlLm1pbnV0ZSwgdmFsdWUuc2Vjb25kKTtcclxuICAgIGNvbnN0IGZvcm1hdHRlZERhdGUgPSBmb3JtYXREYXRlKGRhdGUsICdISDptbScsICdlbicpO1xyXG5cclxuICAgIHJldHVybiBmb3JtYXR0ZWREYXRlO1xyXG4gIH1cclxufVxyXG5cclxuZnVuY3Rpb24gaXNUaW1lU3RyKHZhbHVlOiBzdHJpbmcgfCBEYXRlKTogdmFsdWUgaXMgc3RyaW5nIHtcclxuICByZXR1cm4gL14oKDJbMTIzXSl8WzAxXVswLTldKShcXDpbMC01XVswLTldKXsxLDJ9JC8udGVzdChTdHJpbmcodmFsdWUpKTtcclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { Directive, Injector, Input } from '@angular/core';
|
|
2
|
+
import { ActionData } from '../../models/actions';
|
|
3
|
+
import { ExtensionsService } from '../../services/extensions.service';
|
|
4
|
+
import { EXTENSIONS_ACTION_TYPE, EXTENSIONS_IDENTIFIER } from '../../tokens/extensions.token';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
// Fix for https://github.com/angular/angular/issues/23904
|
|
7
|
+
// @dynamic
|
|
8
|
+
class AbstractActionsComponent extends ActionData {
|
|
9
|
+
constructor(injector) {
|
|
10
|
+
super();
|
|
11
|
+
this.getInjected = injector.get.bind(injector);
|
|
12
|
+
const extensions = injector.get(ExtensionsService);
|
|
13
|
+
const name = injector.get(EXTENSIONS_IDENTIFIER);
|
|
14
|
+
const type = injector.get(EXTENSIONS_ACTION_TYPE);
|
|
15
|
+
this.actionList = extensions[type].get(name).actions;
|
|
16
|
+
}
|
|
17
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: AbstractActionsComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
18
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.1", type: AbstractActionsComponent, inputs: { record: "record" }, usesInheritance: true, ngImport: i0 }); }
|
|
19
|
+
}
|
|
20
|
+
export { AbstractActionsComponent };
|
|
21
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: AbstractActionsComponent, decorators: [{
|
|
22
|
+
type: Directive
|
|
23
|
+
}], ctorParameters: function () { return [{ type: i0.Injector }]; }, propDecorators: { record: [{
|
|
24
|
+
type: Input
|
|
25
|
+
}] } });
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtYWN0aW9ucy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy90aGVtZS1zaGFyZWQvZXh0ZW5zaW9ucy9zcmMvbGliL2NvbXBvbmVudHMvYWJzdHJhY3QtYWN0aW9ucy9hYnN0cmFjdC1hY3Rpb25zLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxFQUFFLFVBQVUsRUFBOEIsTUFBTSxzQkFBc0IsQ0FBQztBQUM5RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7QUFHOUYsMERBQTBEO0FBQzFELFdBQVc7QUFDWCxNQUNzQix3QkFFcEIsU0FBUSxVQUE2QjtJQU9yQyxZQUFZLFFBQWtCO1FBQzVCLEtBQUssRUFBRSxDQUFDO1FBRVIsSUFBSSxDQUFDLFdBQVcsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMvQyxNQUFNLFVBQVUsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDbkQsTUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQ2pELE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUNsRCxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBdUIsQ0FBQztJQUN2RSxDQUFDOzhHQWpCbUIsd0JBQXdCO2tHQUF4Qix3QkFBd0I7O1NBQXhCLHdCQUF3QjsyRkFBeEIsd0JBQXdCO2tCQUQ3QyxTQUFTOytGQVFDLE1BQU07c0JBQWQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5qZWN0b3IsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFjdGlvbkRhdGEsIEFjdGlvbkxpc3QsIEluZmVycmVkQWN0aW9uIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2FjdGlvbnMnO1xyXG5pbXBvcnQgeyBFeHRlbnNpb25zU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2V4dGVuc2lvbnMuc2VydmljZSc7XHJcbmltcG9ydCB7IEVYVEVOU0lPTlNfQUNUSU9OX1RZUEUsIEVYVEVOU0lPTlNfSURFTlRJRklFUiB9IGZyb20gJy4uLy4uL3Rva2Vucy9leHRlbnNpb25zLnRva2VuJztcclxuaW1wb3J0IHsgSW5mZXJyZWREYXRhLCBJbmZlcnJlZFJlY29yZCB9IGZyb20gJy4uLy4uL21vZGVscy90b29sYmFyLWFjdGlvbnMnO1xyXG5cclxuLy8gRml4IGZvciBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9hbmd1bGFyL2lzc3Vlcy8yMzkwNFxyXG4vLyBAZHluYW1pY1xyXG5ARGlyZWN0aXZlKClcclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0QWN0aW9uc0NvbXBvbmVudDxcclxuICBMIGV4dGVuZHMgQWN0aW9uTGlzdDxhbnksIEluZmVycmVkQWN0aW9uPEw+PixcclxuPiBleHRlbmRzIEFjdGlvbkRhdGE8SW5mZXJyZWRSZWNvcmQ8TD4+IHtcclxuICByZWFkb25seSBhY3Rpb25MaXN0OiBMO1xyXG5cclxuICByZWFkb25seSBnZXRJbmplY3RlZDogSW5mZXJyZWREYXRhPEw+WydnZXRJbmplY3RlZCddO1xyXG5cclxuICBASW5wdXQoKSByZWNvcmQhOiBJbmZlcnJlZERhdGE8TD5bJ3JlY29yZCddO1xyXG5cclxuICBjb25zdHJ1Y3RvcihpbmplY3RvcjogSW5qZWN0b3IpIHtcclxuICAgIHN1cGVyKCk7XHJcblxyXG4gICAgdGhpcy5nZXRJbmplY3RlZCA9IGluamVjdG9yLmdldC5iaW5kKGluamVjdG9yKTtcclxuICAgIGNvbnN0IGV4dGVuc2lvbnMgPSBpbmplY3Rvci5nZXQoRXh0ZW5zaW9uc1NlcnZpY2UpO1xyXG4gICAgY29uc3QgbmFtZSA9IGluamVjdG9yLmdldChFWFRFTlNJT05TX0lERU5USUZJRVIpO1xyXG4gICAgY29uc3QgdHlwZSA9IGluamVjdG9yLmdldChFWFRFTlNJT05TX0FDVElPTl9UWVBFKTtcclxuICAgIHRoaXMuYWN0aW9uTGlzdCA9IGV4dGVuc2lvbnNbdHlwZV0uZ2V0KG5hbWUpLmFjdGlvbnMgYXMgdW5rbm93biBhcyBMO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, Optional, SkipSelf, ViewChild, } from '@angular/core';
|
|
2
|
+
import { ControlContainer } from '@angular/forms';
|
|
3
|
+
import { NgbDateAdapter, NgbInputDatepicker, NgbTimeAdapter, NgbTimepicker, } from '@ng-bootstrap/ng-bootstrap';
|
|
4
|
+
import { DateTimeAdapter } from '../../adapters/date-time.adapter';
|
|
5
|
+
import { FormProp } from '../../models/form-props';
|
|
6
|
+
import { selfFactory } from '../../utils/factory.util';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "@angular/forms";
|
|
9
|
+
import * as i2 from "@ngx-validate/core";
|
|
10
|
+
import * as i3 from "@ng-bootstrap/ng-bootstrap";
|
|
11
|
+
class DateTimePickerComponent {
|
|
12
|
+
constructor(cdRef) {
|
|
13
|
+
this.cdRef = cdRef;
|
|
14
|
+
this.meridian = false;
|
|
15
|
+
}
|
|
16
|
+
setDate(datestr) {
|
|
17
|
+
this.date.writeValue(datestr);
|
|
18
|
+
}
|
|
19
|
+
setTime(datestr) {
|
|
20
|
+
this.time.writeValue(datestr);
|
|
21
|
+
}
|
|
22
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: DateTimePickerComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
23
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.1", type: DateTimePickerComponent, selector: "abp-date-time-picker", inputs: { prop: "prop", meridian: "meridian" }, viewQueries: [{ propertyName: "date", first: true, predicate: NgbInputDatepicker, descendants: true }, { propertyName: "time", first: true, predicate: NgbTimepicker, descendants: true }], exportAs: ["abpDateTimePicker"], ngImport: i0, template: `
|
|
24
|
+
<input
|
|
25
|
+
[id]="prop.id"
|
|
26
|
+
[formControlName]="prop.name"
|
|
27
|
+
(ngModelChange)="setTime($event)"
|
|
28
|
+
(click)="datepicker.open()"
|
|
29
|
+
(keyup.space)="datepicker.open()"
|
|
30
|
+
ngbDatepicker
|
|
31
|
+
#datepicker="ngbDatepicker"
|
|
32
|
+
type="text"
|
|
33
|
+
class="form-control"
|
|
34
|
+
/>
|
|
35
|
+
<ngb-timepicker
|
|
36
|
+
#timepicker
|
|
37
|
+
[formControlName]="prop.name"
|
|
38
|
+
(ngModelChange)="setDate($event)"
|
|
39
|
+
[meridian]="meridian"
|
|
40
|
+
></ngb-timepicker>
|
|
41
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i2.ValidationDirective, selector: "[formControl],[formControlName]", exportAs: ["validationDirective"] }, { kind: "directive", type: i3.NgbInputDatepicker, selector: "input[ngbDatepicker]", inputs: ["autoClose", "contentTemplate", "datepickerClass", "dayTemplate", "dayTemplateData", "displayMonths", "firstDayOfWeek", "footerTemplate", "markDisabled", "minDate", "maxDate", "navigation", "outsideDays", "placement", "popperOptions", "restoreFocus", "showWeekNumbers", "startDate", "container", "positionTarget", "weekdays", "disabled"], outputs: ["dateSelect", "navigate", "closed"], exportAs: ["ngbDatepicker"] }, { kind: "component", type: i3.NgbTimepicker, selector: "ngb-timepicker", inputs: ["meridian", "spinners", "seconds", "hourStep", "minuteStep", "secondStep", "readonlyInputs", "size"], exportAs: ["ngbTimepicker"] }], viewProviders: [
|
|
42
|
+
{
|
|
43
|
+
provide: ControlContainer,
|
|
44
|
+
useFactory: selfFactory,
|
|
45
|
+
deps: [[new Optional(), new SkipSelf(), ControlContainer]],
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
provide: NgbDateAdapter,
|
|
49
|
+
useClass: DateTimeAdapter,
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
provide: NgbTimeAdapter,
|
|
53
|
+
useClass: DateTimeAdapter,
|
|
54
|
+
},
|
|
55
|
+
], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
56
|
+
}
|
|
57
|
+
export { DateTimePickerComponent };
|
|
58
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: DateTimePickerComponent, decorators: [{
|
|
59
|
+
type: Component,
|
|
60
|
+
args: [{
|
|
61
|
+
exportAs: 'abpDateTimePicker',
|
|
62
|
+
selector: 'abp-date-time-picker',
|
|
63
|
+
template: `
|
|
64
|
+
<input
|
|
65
|
+
[id]="prop.id"
|
|
66
|
+
[formControlName]="prop.name"
|
|
67
|
+
(ngModelChange)="setTime($event)"
|
|
68
|
+
(click)="datepicker.open()"
|
|
69
|
+
(keyup.space)="datepicker.open()"
|
|
70
|
+
ngbDatepicker
|
|
71
|
+
#datepicker="ngbDatepicker"
|
|
72
|
+
type="text"
|
|
73
|
+
class="form-control"
|
|
74
|
+
/>
|
|
75
|
+
<ngb-timepicker
|
|
76
|
+
#timepicker
|
|
77
|
+
[formControlName]="prop.name"
|
|
78
|
+
(ngModelChange)="setDate($event)"
|
|
79
|
+
[meridian]="meridian"
|
|
80
|
+
></ngb-timepicker>
|
|
81
|
+
`,
|
|
82
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
83
|
+
viewProviders: [
|
|
84
|
+
{
|
|
85
|
+
provide: ControlContainer,
|
|
86
|
+
useFactory: selfFactory,
|
|
87
|
+
deps: [[new Optional(), new SkipSelf(), ControlContainer]],
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
provide: NgbDateAdapter,
|
|
91
|
+
useClass: DateTimeAdapter,
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
provide: NgbTimeAdapter,
|
|
95
|
+
useClass: DateTimeAdapter,
|
|
96
|
+
},
|
|
97
|
+
],
|
|
98
|
+
}]
|
|
99
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { prop: [{
|
|
100
|
+
type: Input
|
|
101
|
+
}], meridian: [{
|
|
102
|
+
type: Input
|
|
103
|
+
}], date: [{
|
|
104
|
+
type: ViewChild,
|
|
105
|
+
args: [NgbInputDatepicker]
|
|
106
|
+
}], time: [{
|
|
107
|
+
type: ViewChild,
|
|
108
|
+
args: [NgbTimepicker]
|
|
109
|
+
}] } });
|
|
110
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS10aW1lLXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy90aGVtZS1zaGFyZWQvZXh0ZW5zaW9ucy9zcmMvbGliL2NvbXBvbmVudHMvZGF0ZS10aW1lLXBpY2tlci9kYXRlLXRpbWUtcGlja2VyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsS0FBSyxFQUNMLFFBQVEsRUFDUixRQUFRLEVBQ1IsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xELE9BQU8sRUFDTCxjQUFjLEVBQ2Qsa0JBQWtCLEVBQ2xCLGNBQWMsRUFDZCxhQUFhLEdBQ2QsTUFBTSw0QkFBNEIsQ0FBQztBQUNwQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDbkUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ25ELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7QUFFdkQsTUF1Q2EsdUJBQXVCO0lBT2xDLFlBQTRCLEtBQXdCO1FBQXhCLFVBQUssR0FBTCxLQUFLLENBQW1CO1FBTDNDLGFBQVEsR0FBRyxLQUFLLENBQUM7SUFLNkIsQ0FBQztJQUV4RCxPQUFPLENBQUMsT0FBZTtRQUNyQixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsT0FBTyxDQUFDLE9BQWU7UUFDckIsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDaEMsQ0FBQzs4R0FmVSx1QkFBdUI7a0dBQXZCLHVCQUF1QixrSkFJdkIsa0JBQWtCLHVFQUNsQixhQUFhLGlGQXpDZDs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBa0JULG02Q0FFYztZQUNiO2dCQUNFLE9BQU8sRUFBRSxnQkFBZ0I7Z0JBQ3pCLFVBQVUsRUFBRSxXQUFXO2dCQUN2QixJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksUUFBUSxFQUFFLEVBQUUsSUFBSSxRQUFRLEVBQUUsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO2FBQzNEO1lBQ0Q7Z0JBQ0UsT0FBTyxFQUFFLGNBQWM7Z0JBQ3ZCLFFBQVEsRUFBRSxlQUFlO2FBQzFCO1lBQ0Q7Z0JBQ0UsT0FBTyxFQUFFLGNBQWM7Z0JBQ3ZCLFFBQVEsRUFBRSxlQUFlO2FBQzFCO1NBQ0Y7O1NBRVUsdUJBQXVCOzJGQUF2Qix1QkFBdUI7a0JBdkNuQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxtQkFBbUI7b0JBQzdCLFFBQVEsRUFBRSxzQkFBc0I7b0JBQ2hDLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBa0JUO29CQUNELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxhQUFhLEVBQUU7d0JBQ2I7NEJBQ0UsT0FBTyxFQUFFLGdCQUFnQjs0QkFDekIsVUFBVSxFQUFFLFdBQVc7NEJBQ3ZCLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxRQUFRLEVBQUUsRUFBRSxJQUFJLFFBQVEsRUFBRSxFQUFFLGdCQUFnQixDQUFDLENBQUM7eUJBQzNEO3dCQUNEOzRCQUNFLE9BQU8sRUFBRSxjQUFjOzRCQUN2QixRQUFRLEVBQUUsZUFBZTt5QkFDMUI7d0JBQ0Q7NEJBQ0UsT0FBTyxFQUFFLGNBQWM7NEJBQ3ZCLFFBQVEsRUFBRSxlQUFlO3lCQUMxQjtxQkFDRjtpQkFDRjt3R0FFVSxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFFeUIsSUFBSTtzQkFBbEMsU0FBUzt1QkFBQyxrQkFBa0I7Z0JBQ0gsSUFBSTtzQkFBN0IsU0FBUzt1QkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgSW5wdXQsXHJcbiAgT3B0aW9uYWwsXHJcbiAgU2tpcFNlbGYsXHJcbiAgVmlld0NoaWxkLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb250cm9sQ29udGFpbmVyIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQge1xyXG4gIE5nYkRhdGVBZGFwdGVyLFxyXG4gIE5nYklucHV0RGF0ZXBpY2tlcixcclxuICBOZ2JUaW1lQWRhcHRlcixcclxuICBOZ2JUaW1lcGlja2VyLFxyXG59IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcclxuaW1wb3J0IHsgRGF0ZVRpbWVBZGFwdGVyIH0gZnJvbSAnLi4vLi4vYWRhcHRlcnMvZGF0ZS10aW1lLmFkYXB0ZXInO1xyXG5pbXBvcnQgeyBGb3JtUHJvcCB9IGZyb20gJy4uLy4uL21vZGVscy9mb3JtLXByb3BzJztcclxuaW1wb3J0IHsgc2VsZkZhY3RvcnkgfSBmcm9tICcuLi8uLi91dGlscy9mYWN0b3J5LnV0aWwnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgZXhwb3J0QXM6ICdhYnBEYXRlVGltZVBpY2tlcicsXHJcbiAgc2VsZWN0b3I6ICdhYnAtZGF0ZS10aW1lLXBpY2tlcicsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxpbnB1dFxyXG4gICAgICBbaWRdPVwicHJvcC5pZFwiXHJcbiAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwicHJvcC5uYW1lXCJcclxuICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwic2V0VGltZSgkZXZlbnQpXCJcclxuICAgICAgKGNsaWNrKT1cImRhdGVwaWNrZXIub3BlbigpXCJcclxuICAgICAgKGtleXVwLnNwYWNlKT1cImRhdGVwaWNrZXIub3BlbigpXCJcclxuICAgICAgbmdiRGF0ZXBpY2tlclxyXG4gICAgICAjZGF0ZXBpY2tlcj1cIm5nYkRhdGVwaWNrZXJcIlxyXG4gICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgIC8+XHJcbiAgICA8bmdiLXRpbWVwaWNrZXJcclxuICAgICAgI3RpbWVwaWNrZXJcclxuICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJwcm9wLm5hbWVcIlxyXG4gICAgICAobmdNb2RlbENoYW5nZSk9XCJzZXREYXRlKCRldmVudClcIlxyXG4gICAgICBbbWVyaWRpYW5dPVwibWVyaWRpYW5cIlxyXG4gICAgPjwvbmdiLXRpbWVwaWNrZXI+XHJcbiAgYCxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICB2aWV3UHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IENvbnRyb2xDb250YWluZXIsXHJcbiAgICAgIHVzZUZhY3Rvcnk6IHNlbGZGYWN0b3J5LFxyXG4gICAgICBkZXBzOiBbW25ldyBPcHRpb25hbCgpLCBuZXcgU2tpcFNlbGYoKSwgQ29udHJvbENvbnRhaW5lcl1dLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTmdiRGF0ZUFkYXB0ZXIsXHJcbiAgICAgIHVzZUNsYXNzOiBEYXRlVGltZUFkYXB0ZXIsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBOZ2JUaW1lQWRhcHRlcixcclxuICAgICAgdXNlQ2xhc3M6IERhdGVUaW1lQWRhcHRlcixcclxuICAgIH0sXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIERhdGVUaW1lUGlja2VyQ29tcG9uZW50IHtcclxuICBASW5wdXQoKSBwcm9wITogRm9ybVByb3A7XHJcbiAgQElucHV0KCkgbWVyaWRpYW4gPSBmYWxzZTtcclxuXHJcbiAgQFZpZXdDaGlsZChOZ2JJbnB1dERhdGVwaWNrZXIpIGRhdGUhOiBOZ2JJbnB1dERhdGVwaWNrZXI7XHJcbiAgQFZpZXdDaGlsZChOZ2JUaW1lcGlja2VyKSB0aW1lITogTmdiVGltZXBpY2tlcjtcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIHJlYWRvbmx5IGNkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge31cclxuXHJcbiAgc2V0RGF0ZShkYXRlc3RyOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuZGF0ZS53cml0ZVZhbHVlKGRhdGVzdHIpO1xyXG4gIH1cclxuXHJcbiAgc2V0VGltZShkYXRlc3RyOiBzdHJpbmcpIHtcclxuICAgIHRoaXMudGltZS53cml0ZVZhbHVlKGRhdGVzdHIpO1xyXG4gIH1cclxufVxyXG4iXX0=
|