@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
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { of } from 'rxjs';
|
|
2
|
-
import { EXTRA_PROPERTIES_KEY } from '../constants/extra-properties';
|
|
3
|
-
export function createExtraPropertyValueResolver(name) {
|
|
4
|
-
return (data) => of(data.record[EXTRA_PROPERTIES_KEY][name]);
|
|
5
|
-
}
|
|
6
|
-
export function mergeWithDefaultProps(extension, defaultProps, ...contributors) {
|
|
7
|
-
Object.keys(defaultProps).forEach((name) => {
|
|
8
|
-
const props = extension.get(name);
|
|
9
|
-
props.clearContributors();
|
|
10
|
-
props.addContributor((propList) => propList.addManyTail(defaultProps[name]));
|
|
11
|
-
contributors.forEach(contributor => (contributor[name] || []).forEach((callback) => props.addContributor(callback)));
|
|
12
|
-
});
|
|
13
|
-
}
|
|
1
|
+
import { of } from 'rxjs';
|
|
2
|
+
import { EXTRA_PROPERTIES_KEY } from '../constants/extra-properties';
|
|
3
|
+
export function createExtraPropertyValueResolver(name) {
|
|
4
|
+
return (data) => of(data.record[EXTRA_PROPERTIES_KEY][name]);
|
|
5
|
+
}
|
|
6
|
+
export function mergeWithDefaultProps(extension, defaultProps, ...contributors) {
|
|
7
|
+
Object.keys(defaultProps).forEach((name) => {
|
|
8
|
+
const props = extension.get(name);
|
|
9
|
+
props.clearContributors();
|
|
10
|
+
props.addContributor((propList) => propList.addManyTail(defaultProps[name]));
|
|
11
|
+
contributors.forEach(contributor => (contributor[name] || []).forEach((callback) => props.addContributor(callback)));
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
14
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcHMudXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3RoZW1lLXNoYXJlZC9leHRlbnNpb25zL3NyYy9saWIvdXRpbHMvcHJvcHMudXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBd0JyRSxNQUFNLFVBQVUsZ0NBQWdDLENBQzlDLElBQVk7SUFFWixPQUFPLENBQUMsSUFBSyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUUsSUFBSSxDQUFDLE1BQWlDLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0FBQzVGLENBQUM7QUFFRCxNQUFNLFVBQVUscUJBQXFCLENBQ25DLFNBQVksRUFDWixZQUFxQyxFQUNyQyxHQUFHLFlBQW1EO0lBRXRELE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBWSxFQUFFLEVBQUU7UUFDakQsTUFBTSxLQUFLLEdBQXFCLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDcEQsS0FBSyxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDMUIsS0FBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDLFFBQTBDLEVBQUUsRUFBRSxDQUNsRSxRQUFRLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUN6QyxDQUFDO1FBQ0YsWUFBWSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUNqQyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFzQyxFQUFFLEVBQUUsQ0FDM0UsS0FBSyxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FDL0IsQ0FDRixDQUFDO0lBQ0osQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgRVhUUkFfUFJPUEVSVElFU19LRVkgfSBmcm9tICcuLi9jb25zdGFudHMvZXh0cmEtcHJvcGVydGllcyc7XHJcbmltcG9ydCB7XHJcbiAgRW50aXR5UHJvcENvbnRyaWJ1dG9yQ2FsbGJhY2tzLFxyXG4gIEVudGl0eVByb3BEZWZhdWx0cyxcclxuICBFbnRpdHlQcm9wcyxcclxuICBFbnRpdHlQcm9wc0ZhY3RvcnksXHJcbn0gZnJvbSAnLi4vbW9kZWxzL2VudGl0eS1wcm9wcyc7XHJcbmltcG9ydCB7XHJcbiAgQ3JlYXRlRm9ybVByb3BDb250cmlidXRvckNhbGxiYWNrcyxcclxuICBDcmVhdGVGb3JtUHJvcERlZmF1bHRzLFxyXG4gIENyZWF0ZUZvcm1Qcm9wc0ZhY3RvcnksXHJcbiAgRWRpdEZvcm1Qcm9wQ29udHJpYnV0b3JDYWxsYmFja3MsXHJcbiAgRWRpdEZvcm1Qcm9wRGVmYXVsdHMsXHJcbiAgRWRpdEZvcm1Qcm9wc0ZhY3RvcnksXHJcbiAgRm9ybVByb3BzLFxyXG59IGZyb20gJy4uL21vZGVscy9mb3JtLXByb3BzJztcclxuaW1wb3J0IHtcclxuICBJbmZlcnJlZFByb3AsXHJcbiAgUHJvcENhbGxiYWNrLFxyXG4gIFByb3BDb250cmlidXRvckNhbGxiYWNrLFxyXG4gIFByb3BMaXN0LFxyXG4gIFByb3BzRmFjdG9yeSxcclxufSBmcm9tICcuLi9tb2RlbHMvcHJvcHMnO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUV4dHJhUHJvcGVydHlWYWx1ZVJlc29sdmVyPFQ+KFxyXG4gIG5hbWU6IHN0cmluZyxcclxuKTogUHJvcENhbGxiYWNrPFQsIE9ic2VydmFibGU8YW55Pj4ge1xyXG4gIHJldHVybiAoZGF0YT8pID0+IG9mKChkYXRhLnJlY29yZCBhcyB7IFtrZXk6IHN0cmluZ106IGFueSB9KVtFWFRSQV9QUk9QRVJUSUVTX0tFWV1bbmFtZV0pO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gbWVyZ2VXaXRoRGVmYXVsdFByb3BzPEYgZXh0ZW5kcyBQcm9wc0ZhY3Rvcnk8YW55Pj4oXHJcbiAgZXh0ZW5zaW9uOiBGLFxyXG4gIGRlZmF1bHRQcm9wczogSW5mZXJyZWRQcm9wRGVmYXVsdHM8Rj4sXHJcbiAgLi4uY29udHJpYnV0b3JzOiBJbmZlcnJlZFByb3BDb250cmlidXRvckNhbGxiYWNrczxGPltdXHJcbikge1xyXG4gIE9iamVjdC5rZXlzKGRlZmF1bHRQcm9wcykuZm9yRWFjaCgobmFtZTogc3RyaW5nKSA9PiB7XHJcbiAgICBjb25zdCBwcm9wczogSW5mZXJyZWRQcm9wczxGPiA9IGV4dGVuc2lvbi5nZXQobmFtZSk7XHJcbiAgICBwcm9wcy5jbGVhckNvbnRyaWJ1dG9ycygpO1xyXG4gICAgcHJvcHMuYWRkQ29udHJpYnV0b3IoKHByb3BMaXN0OiBQcm9wTGlzdDxhbnksIEluZmVycmVkUHJvcDxhbnk+PikgPT5cclxuICAgICAgcHJvcExpc3QuYWRkTWFueVRhaWwoZGVmYXVsdFByb3BzW25hbWVdKSxcclxuICAgICk7XHJcbiAgICBjb250cmlidXRvcnMuZm9yRWFjaChjb250cmlidXRvciA9PlxyXG4gICAgICAoY29udHJpYnV0b3JbbmFtZV0gfHwgW10pLmZvckVhY2goKGNhbGxiYWNrOiBQcm9wQ29udHJpYnV0b3JDYWxsYmFjazxhbnk+KSA9PlxyXG4gICAgICAgIHByb3BzLmFkZENvbnRyaWJ1dG9yKGNhbGxiYWNrKSxcclxuICAgICAgKSxcclxuICAgICk7XHJcbiAgfSk7XHJcbn1cclxudHlwZSBJbmZlcnJlZFByb3BEZWZhdWx0czxGPiA9IEYgZXh0ZW5kcyBFbnRpdHlQcm9wc0ZhY3Rvcnk8aW5mZXIgUkU+XHJcbiAgPyBFbnRpdHlQcm9wRGVmYXVsdHM8UkU+XHJcbiAgOiBGIGV4dGVuZHMgQ3JlYXRlRm9ybVByb3BzRmFjdG9yeTxpbmZlciBSQ0Y+XHJcbiAgPyBDcmVhdGVGb3JtUHJvcERlZmF1bHRzPFJDRj5cclxuICA6IEYgZXh0ZW5kcyBFZGl0Rm9ybVByb3BzRmFjdG9yeTxpbmZlciBSRUY+XHJcbiAgPyBFZGl0Rm9ybVByb3BEZWZhdWx0czxSRUY+XHJcbiAgOiBuZXZlcjtcclxuXHJcbnR5cGUgSW5mZXJyZWRQcm9wQ29udHJpYnV0b3JDYWxsYmFja3M8Rj4gPSBGIGV4dGVuZHMgRW50aXR5UHJvcHNGYWN0b3J5PGluZmVyIFJFPlxyXG4gID8gRW50aXR5UHJvcENvbnRyaWJ1dG9yQ2FsbGJhY2tzPFJFPlxyXG4gIDogRiBleHRlbmRzIENyZWF0ZUZvcm1Qcm9wc0ZhY3Rvcnk8aW5mZXIgUkNGPlxyXG4gID8gQ3JlYXRlRm9ybVByb3BDb250cmlidXRvckNhbGxiYWNrczxSQ0Y+XHJcbiAgOiBGIGV4dGVuZHMgRWRpdEZvcm1Qcm9wc0ZhY3Rvcnk8aW5mZXIgUkVGPlxyXG4gID8gRWRpdEZvcm1Qcm9wQ29udHJpYnV0b3JDYWxsYmFja3M8UkVGPlxyXG4gIDogbmV2ZXI7XHJcblxyXG50eXBlIEluZmVycmVkUHJvcHM8Rj4gPSBGIGV4dGVuZHMgRW50aXR5UHJvcHNGYWN0b3J5PGluZmVyIFJFPlxyXG4gID8gRW50aXR5UHJvcHM8UkU+XHJcbiAgOiBGIGV4dGVuZHMgQ3JlYXRlRm9ybVByb3BzRmFjdG9yeTxpbmZlciBSQ0Y+XHJcbiAgPyBGb3JtUHJvcHM8UkNGPlxyXG4gIDogRiBleHRlbmRzIEVkaXRGb3JtUHJvcHNGYWN0b3J5PGluZmVyIFJFRj5cclxuICA/IEZvcm1Qcm9wczxSRUY+XHJcbiAgOiBuZXZlcjtcclxuIl19
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
import { pipe, zip } from 'rxjs';
|
|
2
|
+
import { filter, map, switchMap, take } from 'rxjs/operators';
|
|
3
|
+
import { EntityProp } from '../models/entity-props';
|
|
4
|
+
import { FormProp } from '../models/form-props';
|
|
5
|
+
import { createEnum, createEnumOptions, createEnumValueResolver } from './enum.util';
|
|
6
|
+
import { createDisplayNameLocalizationPipeKeyGenerator } from './localization.util';
|
|
7
|
+
import { createExtraPropertyValueResolver } from './props.util';
|
|
8
|
+
import { createTypeaheadDisplayNameGenerator, createTypeaheadOptions, getTypeaheadType, hasTypeaheadTextSuffix, } from './typeahead.util';
|
|
9
|
+
import { getValidatorsFromProperty } from './validation.util';
|
|
10
|
+
function selectObjectExtensions(configState) {
|
|
11
|
+
return configState.getOne$('objectExtensions');
|
|
12
|
+
}
|
|
13
|
+
function selectLocalization(configState) {
|
|
14
|
+
return configState.getOne$('localization');
|
|
15
|
+
}
|
|
16
|
+
function selectEnums(configState) {
|
|
17
|
+
return selectObjectExtensions(configState).pipe(map((extensions) => Object.keys(extensions.enums).reduce((acc, key) => {
|
|
18
|
+
const { fields, localizationResource } = extensions.enums[key];
|
|
19
|
+
acc[key] = {
|
|
20
|
+
fields,
|
|
21
|
+
localizationResource,
|
|
22
|
+
transformed: createEnum(fields),
|
|
23
|
+
};
|
|
24
|
+
return acc;
|
|
25
|
+
}, {})));
|
|
26
|
+
}
|
|
27
|
+
export function getObjectExtensionEntitiesFromStore(configState, moduleKey) {
|
|
28
|
+
return selectObjectExtensions(configState).pipe(map(extensions => {
|
|
29
|
+
if (!extensions)
|
|
30
|
+
return null;
|
|
31
|
+
return (extensions.modules[moduleKey] || {})
|
|
32
|
+
.entities;
|
|
33
|
+
}), map(entities => (isUndefined(entities) ? {} : entities)), filter(Boolean), take(1));
|
|
34
|
+
}
|
|
35
|
+
export function mapEntitiesToContributors(configState, resource) {
|
|
36
|
+
return pipe(switchMap((entities) => zip(selectLocalization(configState), selectEnums(configState)).pipe(map(([localization, enums]) => {
|
|
37
|
+
const generateDisplayName = createDisplayNameLocalizationPipeKeyGenerator(localization);
|
|
38
|
+
return Object.keys(entities).reduce((acc, key) => {
|
|
39
|
+
acc.prop[key] = [];
|
|
40
|
+
acc.createForm[key] = [];
|
|
41
|
+
acc.editForm[key] = [];
|
|
42
|
+
const entity = entities[key];
|
|
43
|
+
if (!entity)
|
|
44
|
+
return acc;
|
|
45
|
+
const properties = entity.properties;
|
|
46
|
+
if (!properties)
|
|
47
|
+
return acc;
|
|
48
|
+
const mapPropertiesToContributors = createPropertiesToContributorsMapper(generateDisplayName, resource, enums);
|
|
49
|
+
return mapPropertiesToContributors(properties, acc, key);
|
|
50
|
+
}, {
|
|
51
|
+
prop: {},
|
|
52
|
+
createForm: {},
|
|
53
|
+
editForm: {},
|
|
54
|
+
});
|
|
55
|
+
}))), take(1));
|
|
56
|
+
}
|
|
57
|
+
function createPropertiesToContributorsMapper(generateDisplayName, resource, enums) {
|
|
58
|
+
return (properties, contributors, key) => {
|
|
59
|
+
const isExtra = true;
|
|
60
|
+
const generateTypeaheadDisplayName = createTypeaheadDisplayNameGenerator(generateDisplayName, properties);
|
|
61
|
+
Object.keys(properties).forEach((name) => {
|
|
62
|
+
const property = properties[name];
|
|
63
|
+
const propName = name;
|
|
64
|
+
const lookup = property.ui.lookup || {};
|
|
65
|
+
const type = getTypeaheadType(lookup, name) || getTypeFromProperty(property);
|
|
66
|
+
const generateDN = hasTypeaheadTextSuffix(name)
|
|
67
|
+
? generateTypeaheadDisplayName
|
|
68
|
+
: generateDisplayName;
|
|
69
|
+
const displayName = generateDN(property.displayName, { name, resource });
|
|
70
|
+
if (property.ui.onTable.isVisible) {
|
|
71
|
+
const sortable = Boolean(property.ui.onTable.isSortable);
|
|
72
|
+
const columnWidth = type === "boolean" /* ePropType.Boolean */ ? 150 : 250;
|
|
73
|
+
const valueResolver = type === "enum" /* ePropType.Enum */ &&
|
|
74
|
+
property.type
|
|
75
|
+
? createEnumValueResolver(property.type, enums[property.type], propName)
|
|
76
|
+
: createExtraPropertyValueResolver(propName);
|
|
77
|
+
const entityProp = new EntityProp({
|
|
78
|
+
type,
|
|
79
|
+
name: propName,
|
|
80
|
+
displayName,
|
|
81
|
+
sortable,
|
|
82
|
+
columnWidth,
|
|
83
|
+
valueResolver,
|
|
84
|
+
isExtra,
|
|
85
|
+
});
|
|
86
|
+
const contributor = (propList) => propList.addTail(entityProp);
|
|
87
|
+
contributors.prop[key].push(contributor);
|
|
88
|
+
}
|
|
89
|
+
const isOnCreateForm = property.ui.onCreateForm.isVisible;
|
|
90
|
+
const isOnEditForm = property.ui.onEditForm.isVisible;
|
|
91
|
+
if (isOnCreateForm || isOnEditForm) {
|
|
92
|
+
const defaultValue = property.defaultValue;
|
|
93
|
+
const formText = property.formText;
|
|
94
|
+
const validators = () => getValidatorsFromProperty(property);
|
|
95
|
+
let options;
|
|
96
|
+
if (type === "enum" /* ePropType.Enum */)
|
|
97
|
+
options = createEnumOptions(propName, enums[property.type || '']);
|
|
98
|
+
else if (type === "typeahead" /* ePropType.Typeahead */)
|
|
99
|
+
options = createTypeaheadOptions(lookup);
|
|
100
|
+
const formProp = new FormProp({
|
|
101
|
+
type,
|
|
102
|
+
name: propName,
|
|
103
|
+
displayName,
|
|
104
|
+
options,
|
|
105
|
+
defaultValue,
|
|
106
|
+
validators,
|
|
107
|
+
isExtra,
|
|
108
|
+
formText,
|
|
109
|
+
});
|
|
110
|
+
const formContributor = (propList) => propList.addTail(formProp);
|
|
111
|
+
if (isOnCreateForm)
|
|
112
|
+
contributors.createForm[key].push(formContributor);
|
|
113
|
+
if (isOnEditForm)
|
|
114
|
+
contributors.editForm[key].push(formContributor);
|
|
115
|
+
}
|
|
116
|
+
});
|
|
117
|
+
return contributors;
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
function getTypeFromProperty(property) {
|
|
121
|
+
return property?.typeSimple?.replace(/\?$/, '');
|
|
122
|
+
}
|
|
123
|
+
function isUndefined(obj) {
|
|
124
|
+
return typeof obj === 'undefined';
|
|
125
|
+
}
|
|
126
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGUudXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3RoZW1lLXNoYXJlZC9leHRlbnNpb25zL3NyYy9saWIvdXRpbHMvc3RhdGUudXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFRQSxPQUFPLEVBQWMsSUFBSSxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM3QyxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFOUQsT0FBTyxFQUFFLFVBQVUsRUFBa0IsTUFBTSx3QkFBd0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsUUFBUSxFQUFnQixNQUFNLHNCQUFzQixDQUFDO0FBRzlELE9BQU8sRUFBRSxVQUFVLEVBQUUsaUJBQWlCLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDckYsT0FBTyxFQUFFLDZDQUE2QyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDcEYsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2hFLE9BQU8sRUFDTCxtQ0FBbUMsRUFDbkMsc0JBQXNCLEVBQ3RCLGdCQUFnQixFQUNoQixzQkFBc0IsR0FDdkIsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUU5RCxTQUFTLHNCQUFzQixDQUFDLFdBQStCO0lBQzdELE9BQU8sV0FBVyxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0FBQ2pELENBQUM7QUFFRCxTQUFTLGtCQUFrQixDQUN6QixXQUErQjtJQUUvQixPQUFPLFdBQVcsQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLENBQUM7QUFDN0MsQ0FBQztBQUVELFNBQVMsV0FBVyxDQUNsQixXQUErQjtJQUUvQixPQUFPLHNCQUFzQixDQUFDLFdBQVcsQ0FBQyxD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QUksRUFBRSxDQUFDLENBQUMsQ0FBQztxQkFDL0QsSUFBSSxJQUFJLDBDQUF3QjtvQkFBRSxPQUFPLEdBQUcsc0JBQXNCLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBRWhGLE1BQU0sUUFBUSxHQUFHLElBQUksUUFBUSxDQUFDO29CQUM1QixJQUFJO29CQUNKLElBQUksRUFBRSxRQUFRO29CQUNkLFdBQVc7b0JBQ1gsT0FBTztvQkFDUCxZQUFZO29CQUNaLFVBQVU7b0JBQ1YsT0FBTztvQkFDUCxRQUFRO2lCQUNULENBQUMsQ0FBQztnQkFFSCxNQUFNLGVBQWUsR0FBRyxDQUFDLFFBQXlCLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBRWxGLElBQUksY0FBYztvQkFBRSxZQUFZLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztnQkFDdkUsSUFBSSxZQUFZO29CQUFFLFlBQVksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO2FBQ3BFO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLFlBQVksQ0FBQztJQUN0QixDQUFDLENBQUM7QUFDSixDQUFDO0FBRUQsU0FBUyxtQkFBbUIsQ0FBQyxRQUErQztJQUMxRSxPQUFPLFFBQVEsRUFBRSxVQUFVLEVBQUUsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQXdCLENBQUM7QUFDekUsQ0FBQztBQUVELFNBQVMsV0FBVyxDQUFDLEdBQVE7SUFDM0IsT0FBTyxPQUFPLEdBQUcsS0FBSyxXQUFXLENBQUM7QUFDcEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQUJQLFxyXG4gIEFwcGxpY2F0aW9uTG9jYWxpemF0aW9uQ29uZmlndXJhdGlvbkR0byxcclxuICBDb25maWdTdGF0ZVNlcnZpY2UsXHJcbiAgRXh0ZW5zaW9uRW51bUR0byxcclxuICBFeHRlbnNpb25Qcm9wZXJ0eVVpTG9va3VwRHRvLFxyXG4gIE9iamVjdEV4dGVuc2lvbnNEdG8sXHJcbn0gZnJvbSAnQGFicC9uZy5jb3JlJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgcGlwZSwgemlwIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGZpbHRlciwgbWFwLCBzd2l0Y2hNYXAsIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IGVQcm9wVHlwZSB9IGZyb20gJy4uL2VudW1zL3Byb3BzLmVudW0nO1xyXG5pbXBvcnQgeyBFbnRpdHlQcm9wLCBFbnRpdHlQcm9wTGlzdCB9IGZyb20gJy4uL21vZGVscy9lbnRpdHktcHJvcHMnO1xyXG5pbXBvcnQgeyBGb3JtUHJvcCwgRm9ybVByb3BMaXN0IH0gZnJvbSAnLi4vbW9kZWxzL2Zvcm0tcHJvcHMnO1xyXG5pbXBvcnQgeyBPYmplY3RFeHRlbnNpb25zIH0gZnJvbSAnLi4vbW9kZWxzL29iamVjdC1leHRlbnNpb25zJztcclxuaW1wb3J0IHsgUHJvcENhbGxiYWNrIH0gZnJvbSAnLi4vbW9kZWxzL3Byb3BzJztcclxuaW1wb3J0IHsgY3JlYXRlRW51bSwgY3JlYXRlRW51bU9wdGlvbnMsIGNyZWF0ZUVudW1WYWx1ZVJlc29sdmVyIH0gZnJvbSAnLi9lbnVtLnV0aWwnO1xyXG5pbXBvcnQgeyBjcmVhdGVEaXNwbGF5TmFtZUxvY2FsaXphdGlvblBpcGVLZXlHZW5lcmF0b3IgfSBmcm9tICcuL2xvY2FsaXphdGlvbi51dGlsJztcclxuaW1wb3J0IHsgY3JlYXRlRXh0cmFQcm9wZXJ0eVZhbHVlUmVzb2x2ZXIgfSBmcm9tICcuL3Byb3BzLnV0aWwnO1xyXG5pbXBvcnQge1xyXG4gIGNyZWF0ZVR5cGVhaGVhZERpc3BsYXlOYW1lR2VuZXJhdG9yLFxyXG4gIGNyZWF0ZVR5cGVhaGVhZE9wdGlvbnMsXHJcbiAgZ2V0VHlwZWFoZWFkVHlwZSxcclxuICBoYXNUeXBlYWhlYWRUZXh0U3VmZml4LFxyXG59IGZyb20gJy4vdHlwZWFoZWFkLnV0aWwnO1xyXG5pbXBvcnQgeyBnZXRWYWxpZGF0b3JzRnJvbVByb3BlcnR5IH0gZnJvbSAnLi92YWxpZGF0aW9uLnV0aWwnO1xyXG5cclxuZnVuY3Rpb24gc2VsZWN0T2JqZWN0RXh0ZW5zaW9ucyhjb25maWdTdGF0ZTogQ29uZmlnU3RhdGVTZXJ2aWNlKTogT2JzZXJ2YWJsZTxPYmplY3RFeHRlbnNpb25zRHRvPiB7XHJcbiAgcmV0dXJuIGNvbmZpZ1N0YXRlLmdldE9uZSQoJ29iamVjdEV4dGVuc2lvbnMnKTtcclxufVxyXG5cclxuZnVuY3Rpb24gc2VsZWN0TG9jYWxpemF0aW9uKFxyXG4gIGNvbmZpZ1N0YXRlOiBDb25maWdTdGF0ZVNlcnZpY2UsXHJcbik6IE9ic2VydmFibGU8QXBwbGljYXRpb25Mb2NhbGl6YXRpb25Db25maWd1cmF0aW9uRHRvPiB7XHJcbiAgcmV0dXJuIGNvbmZpZ1N0YXRlLmdldE9uZSQoJ2xvY2FsaXphdGlvbicpO1xyXG59XHJcblxyXG5mdW5jdGlvbiBzZWxlY3RFbnVtcyhcclxuICBjb25maWdTdGF0ZTogQ29uZmlnU3RhdGVTZXJ2aWNlLFxyXG4pOiBPYnNlcnZhYmxlPFJlY29yZDxzdHJpbmcsIEV4dGVuc2lvbkVudW1EdG8+PiB7XHJcbiAgcmV0dXJuIHNlbGVjdE9iamVjdEV4dGVuc2lvbnMoY29uZmlnU3RhdGUpLnBpcGUoXHJcbiAgICBtYXAoKGV4dGVuc2lvbnM6IE9iamVjdEV4dGVuc2lvbnNEdG8pID0+XHJcbiAgICAgIE9iamVjdC5rZXlzKGV4dGVuc2lvbnMuZW51bXMpLnJlZHVjZSgoYWNjLCBrZXkpID0+IHtcclxuICAgICAgICBjb25zdCB7IGZpZWxkcywgbG9jYWxpemF0aW9uUmVzb3VyY2UgfSA9IGV4dGVuc2lvbnMuZW51bXNba2V5XTtcclxuICAgICAgICBhY2Nba2V5XSA9IHtcclxuICAgICAgICAgIGZpZWxkcyxcclxuICAgICAgICAgIGxvY2FsaXphdGlvblJlc291cmNlLFxyXG4gICAgICAgICAgdHJhbnNmb3JtZWQ6IGNyZWF0ZUVudW0oZmllbGRzKSxcclxuICAgICAgICB9O1xyXG4gICAgICAgIHJldHVybiBhY2M7XHJcbiAgICAgIH0sIHt9IGFzIFJlY29yZDxzdHJpbmcsIE9iamVjdEV4dGVuc2lvbnMuRXh0ZW5zaW9uRW51bUR0bz4pLFxyXG4gICAgKSxcclxuICApO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0T2JqZWN0RXh0ZW5zaW9uRW50aXRpZXNGcm9tU3RvcmUoXHJcbiAgY29uZmlnU3RhdGU6IENvbmZpZ1N0YXRlU2VydmljZSxcclxuICBtb2R1bGVLZXk6IHN0cmluZyxcclxuKSB7XHJcbiAgcmV0dXJuIHNlbGVjdE9iamVjdEV4dGVuc2lvbnMoY29uZmlnU3RhdGUpLnBpcGUoXHJcbiAgICBtYXAoZXh0ZW5zaW9ucyA9PiB7XHJcbiAgICAgIGlmICghZXh0ZW5zaW9ucykgcmV0dXJuIG51bGw7XHJcblxyXG4gICAgICByZXR1cm4gKGV4dGVuc2lvbnMubW9kdWxlc1ttb2R1bGVLZXldIHx8ICh7fSBhcyBPYmplY3RFeHRlbnNpb25zLk1vZHVsZUV4dGVuc2lvbkR0bykpXHJcbiAgICAgICAgLmVudGl0aWVzO1xyXG4gICAgfSksXHJcbiAgICBtYXAoZW50aXRpZXMgPT4gKGlzVW5kZWZpbmVkKGVudGl0aWVzKSA/ICh7fSBhcyBhbnkpIDogZW50aXRpZXMpKSxcclxuICAgIGZpbHRlcjxPYmplY3RFeHRlbnNpb25zLkVudGl0eUV4dGVuc2lvbnM+KEJvb2xlYW4pLFxyXG4gICAgdGFrZSgxKSxcclxuICApO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gbWFwRW50aXRpZXNUb0NvbnRyaWJ1dG9yczxUID0gYW55PihcclxuICBjb25maWdTdGF0ZTogQ29uZmlnU3RhdGVTZXJ2aWNlLFxyXG4gIHJlc291cmNlOiBzdHJpbmcsXHJcbikge1xyXG4gIHJldHVybiBwaXBlKFxyXG4gICAgc3dpdGNoTWFwKChlbnRpdGllczogYW55KSA9PlxyXG4gICAgICB6aXAoc2VsZWN0TG9jYWxpemF0aW9uKGNvbmZpZ1N0YXRlKSwgc2VsZWN0RW51bXMoY29uZmlnU3RhdGUpKS5waXBlKFxyXG4gICAgICAgIG1hcCgoW2xvY2FsaXphdGlvbiwgZW51bXNdKSA9PiB7XHJcbiAgICAgICAgICBjb25zdCBnZW5lcmF0ZURpc3BsYXlOYW1lID0gY3JlYXRlRGlzcGxheU5hbWVMb2NhbGl6YXRpb25QaXBlS2V5R2VuZXJhdG9yKGxvY2FsaXphdGlvbik7XHJcblxyXG4gICAgICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKGVudGl0aWVzKS5yZWR1Y2UoXHJcbiAgICAgICAgICAgIChhY2MsIGtleToga2V5b2YgT2JqZWN0RXh0ZW5zaW9ucy5FbnRpdHlFeHRlbnNpb25zKSA9PiB7XHJcbiAgICAgICAgICAgICAgYWNjLnByb3Bba2V5XSA9IFtdO1xyXG4gICAgICAgICAgICAgIGFjYy5jcmVhdGVGb3JtW2tleV0gPSBbXTtcclxuICAgICAgICAgICAgICBhY2MuZWRpdEZvcm1ba2V5XSA9IFtdO1xyXG5cclxuICAgICAgICAgICAgICBjb25zdCBlbnRpdHk6IE9iamVjdEV4dGVuc2lvbnMuRW50aXR5RXh0ZW5zaW9uRHRvID0gZW50aXRpZXNba2V5XTtcclxuICAgICAgICAgICAgICBpZiAoIWVudGl0eSkgcmV0dXJuIGFjYztcclxuXHJcbiAgICAgICAgICAgICAgY29uc3QgcHJvcGVydGllcyA9IGVudGl0eS5wcm9wZXJ0aWVzO1xyXG4gICAgICAgICAgICAgIGlmICghcHJvcGVydGllcykgcmV0dXJuIGFjYztcclxuXHJcbiAgICAgICAgICAgICAgY29uc3QgbWFwUHJvcGVydGllc1RvQ29udHJpYnV0b3JzID0gY3JlYXRlUHJvcGVydGllc1RvQ29udHJpYnV0b3JzTWFwcGVyPFQ+KFxyXG4gICAgICAgICAgICAgICAgZ2VuZXJhdGVEaXNwbGF5TmFtZSxcclxuICAgICAgICAgICAgICAgIHJlc291cmNlLFxyXG4gICAgICAgICAgICAgICAgZW51bXMsXHJcbiAgICAgICAgICAgICAgKTtcclxuXHJcbiAgICAgICAgICAgICAgcmV0dXJuIG1hcFByb3BlcnRpZXNUb0NvbnRyaWJ1dG9ycyhwcm9wZXJ0aWVzLCBhY2MsIGtleSk7XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICBwcm9wOiB7fSxcclxuICAgICAgICAgICAgICBjcmVhdGVGb3JtOiB7fSxcclxuICAgICAgICAgICAgICBlZGl0Rm9ybToge30sXHJcbiAgICAgICAgICAgIH0gYXMgT2JqZWN0RXh0ZW5zaW9ucy5Qcm9wQ29udHJpYnV0b3JzLFxyXG4gICAgICAgICAgKTtcclxuICAgICAgICB9KSxcclxuICAgICAgKSxcclxuICAgICksXHJcbiAgICB0YWtlKDEpLFxyXG4gICk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGNyZWF0ZVByb3BlcnRpZXNUb0NvbnRyaWJ1dG9yc01hcHBlcjxUID0gYW55PihcclxuICBnZW5lcmF0ZURpc3BsYXlOYW1lOiBPYmplY3RFeHRlbnNpb25zLkRpc3BsYXlOYW1lR2VuZXJhdG9yRm4sXHJcbiAgcmVzb3VyY2U6IHN0cmluZyxcclxuICBlbnVtczogUmVjb3JkPHN0cmluZywgT2JqZWN0RXh0ZW5zaW9ucy5FeHRlbnNpb25FbnVtRHRvPixcclxuKSB7XHJcbiAgcmV0dXJuIChcclxuICAgIHByb3BlcnRpZXM6IE9iamVjdEV4dGVuc2lvbnMuRW50aXR5RXh0ZW5zaW9uUHJvcGVydGllcyxcclxuICAgIGNvbnRyaWJ1dG9yczogT2JqZWN0RXh0ZW5zaW9ucy5Qcm9wQ29udHJpYnV0b3JzPFQ+LFxyXG4gICAga2V5OiBzdHJpbmcsXHJcbiAgKSA9PiB7XHJcbiAgICBjb25zdCBpc0V4dHJhID0gdHJ1ZTtcclxuICAgIGNvbnN0IGdlbmVyYXRlVHlwZWFoZWFkRGlzcGxheU5hbWUgPSBjcmVhdGVUeXBlYWhlYWREaXNwbGF5TmFtZUdlbmVyYXRvcihcclxuICAgICAgZ2VuZXJhdGVEaXNwbGF5TmFtZSxcclxuICAgICAgcHJvcGVydGllcyxcclxuICAgICk7XHJcblxyXG4gICAgT2JqZWN0LmtleXMocHJvcGVydGllcykuZm9yRWFjaCgobmFtZTogc3RyaW5nKSA9PiB7XHJcbiAgICAgIGNvbnN0IHByb3BlcnR5ID0gcHJvcGVydGllc1tuYW1lXTtcclxuICAgICAgY29uc3QgcHJvcE5hbWUgPSBuYW1lO1xyXG4gICAgICBjb25zdCBsb29rdXAgPSBwcm9wZXJ0eS51aS5sb29rdXAgfHwgKHt9IGFzIEV4dGVuc2lvblByb3BlcnR5VWlMb29rdXBEdG8pO1xyXG4gICAgICBjb25zdCB0eXBlID0gZ2V0VHlwZWFoZWFkVHlwZShsb29rdXAsIG5hbWUpIHx8IGdldFR5cGVGcm9tUHJvcGVydHkocHJvcGVydHkpO1xyXG4gICAgICBjb25zdCBnZW5lcmF0ZUROID0gaGFzVHlwZWFoZWFkVGV4dFN1ZmZpeChuYW1lKVxyXG4gICAgICAgID8gZ2VuZXJhdGVUeXBlYWhlYWREaXNwbGF5TmFtZVxyXG4gICAgICAgIDogZ2VuZXJhdGVEaXNwbGF5TmFtZTtcclxuICAgICAgY29uc3QgZGlzcGxheU5hbWUgPSBnZW5lcmF0ZUROKHByb3BlcnR5LmRpc3BsYXlOYW1lLCB7IG5hbWUsIHJlc291cmNlIH0pO1xyXG5cclxuICAgICAgaWYgKHByb3BlcnR5LnVpLm9uVGFibGUuaXNWaXNpYmxlKSB7XHJcbiAgICAgICAgY29uc3Qgc29ydGFibGUgPSBCb29sZWFuKHByb3BlcnR5LnVpLm9uVGFibGUuaXNTb3J0YWJsZSk7XHJcbiAgICAgICAgY29uc3QgY29sdW1uV2lkdGggPSB0eXBlID09PSBlUHJvcFR5cGUuQm9vbGVhbiA/IDE1MCA6IDI1MDtcclxuICAgICAgICBjb25zdCB2YWx1ZVJlc29sdmVyOiBQcm9wQ2FsbGJhY2s8VCwgT2JzZXJ2YWJsZTxhbnk+PiA9IHR5cGUgPT09IGVQcm9wVHlwZS5FbnVtICYmXHJcbiAgICAgICAgcHJvcGVydHkudHlwZVxyXG4gICAgICAgICAgPyBjcmVhdGVFbnVtVmFsdWVSZXNvbHZlcihwcm9wZXJ0eS50eXBlLCBlbnVtc1twcm9wZXJ0eS50eXBlXSwgcHJvcE5hbWUpXHJcbiAgICAgICAgICA6IGNyZWF0ZUV4dHJhUHJvcGVydHlWYWx1ZVJlc29sdmVyPFQ+KHByb3BOYW1lKTtcclxuXHJcbiAgICAgICAgY29uc3QgZW50aXR5UHJvcCA9IG5ldyBFbnRpdHlQcm9wPFQ+KHtcclxuICAgICAgICAgIHR5cGUsXHJcbiAgICAgICAgICBuYW1lOiBwcm9wTmFtZSxcclxuICAgICAgICAgIGRpc3BsYXlOYW1lLFxyXG4gICAgICAgICAgc29ydGFibGUsXHJcbiAgICAgICAgICBjb2x1bW5XaWR0aCxcclxuICAgICAgICAgIHZhbHVlUmVzb2x2ZXIsXHJcbiAgICAgICAgICBpc0V4dHJhLFxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICBjb25zdCBjb250cmlidXRvciA9IChwcm9wTGlzdDogRW50aXR5UHJvcExpc3Q8VD4pID0+IHByb3BMaXN0LmFkZFRhaWwoZW50aXR5UHJvcCk7XHJcbiAgICAgICAgY29udHJpYnV0b3JzLnByb3Bba2V5XS5wdXNoKGNvbnRyaWJ1dG9yKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgY29uc3QgaXNPbkNyZWF0ZUZvcm0gPSBwcm9wZXJ0eS51aS5vbkNyZWF0ZUZvcm0uaXNWaXNpYmxlO1xyXG4gICAgICBjb25zdCBpc09uRWRpdEZvcm0gPSBwcm9wZXJ0eS51aS5vbkVkaXRGb3JtLmlzVmlzaWJsZTtcclxuXHJcbiAgICAgIGlmIChpc09uQ3JlYXRlRm9ybSB8fCBpc09uRWRpdEZvcm0pIHtcclxuICAgICAgICBjb25zdCBkZWZhdWx0VmFsdWUgPSBwcm9wZXJ0eS5kZWZhdWx0VmFsdWU7XHJcbiAgICAgICAgY29uc3QgZm9ybVRleHQgPSBwcm9wZXJ0eS5mb3JtVGV4dDtcclxuICAgICAgICBjb25zdCB2YWxpZGF0b3JzID0gKCkgPT4gZ2V0VmFsaWRhdG9yc0Zyb21Qcm9wZXJ0eShwcm9wZXJ0eSk7XHJcbiAgICAgICAgbGV0IG9wdGlvbnM6IFByb3BDYWxsYmFjazxhbnksIE9ic2VydmFibGU8QUJQLk9wdGlvbjxhbnk+W10+PiB8IHVuZGVmaW5lZDtcclxuICAgICAgICBpZiAodHlwZSA9PT0gZVByb3BUeXBlLkVudW0pXHJcbiAgICAgICAgICBvcHRpb25zID0gY3JlYXRlRW51bU9wdGlvbnMocHJvcE5hbWUsIGVudW1zW3Byb3BlcnR5LnR5cGUgfHwgJyddKTtcclxuICAgICAgICBlbHNlIGlmICh0eXBlID09PSBlUHJvcFR5cGUuVHlwZWFoZWFkKSBvcHRpb25zID0gY3JlYXRlVHlwZWFoZWFkT3B0aW9ucyhsb29rdXApO1xyXG5cclxuICAgICAgICBjb25zdCBmb3JtUHJvcCA9IG5ldyBGb3JtUHJvcCh7XHJcbiAgICAgICAgICB0eXBlLFxyXG4gICAgICAgICAgbmFtZTogcHJvcE5hbWUsXHJcbiAgICAgICAgICBkaXNwbGF5TmFtZSxcclxuICAgICAgICAgIG9wdGlvbnMsXHJcbiAgICAgICAgICBkZWZhdWx0VmFsdWUsXHJcbiAgICAgICAgICB2YWxpZGF0b3JzLFxyXG4gICAgICAgICAgaXNFeHRyYSxcclxuICAgICAgICAgIGZvcm1UZXh0LFxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICBjb25zdCBmb3JtQ29udHJpYnV0b3IgPSAocHJvcExpc3Q6IEZvcm1Qcm9wTGlzdDxUPikgPT4gcHJvcExpc3QuYWRkVGFpbChmb3JtUHJvcCk7XHJcblxyXG4gICAgICAgIGlmIChpc09uQ3JlYXRlRm9ybSkgY29udHJpYnV0b3JzLmNyZWF0ZUZvcm1ba2V5XS5wdXNoKGZvcm1Db250cmlidXRvcik7XHJcbiAgICAgICAgaWYgKGlzT25FZGl0Rm9ybSkgY29udHJpYnV0b3JzLmVkaXRGb3JtW2tleV0ucHVzaChmb3JtQ29udHJpYnV0b3IpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gY29udHJpYnV0b3JzO1xyXG4gIH07XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGdldFR5cGVGcm9tUHJvcGVydHkocHJvcGVydHk6IE9iamVjdEV4dGVuc2lvbnMuRXh0ZW5zaW9uUHJvcGVydHlEdG8pOiBlUHJvcFR5cGUge1xyXG4gIHJldHVybiBwcm9wZXJ0eT8udHlwZVNpbXBsZT8ucmVwbGFjZSgvXFw/JC8sICcnKSBhcyBzdHJpbmcgYXMgZVByb3BUeXBlO1xyXG59XHJcblxyXG5mdW5jdGlvbiBpc1VuZGVmaW5lZChvYmo6IGFueSk6IG9iaiBpcyB1bmRlZmluZWQge1xyXG4gIHJldHVybiB0eXBlb2Ygb2JqID09PSAndW5kZWZpbmVkJztcclxufVxyXG4iXX0=
|
|
@@ -1,52 +1,52 @@
|
|
|
1
|
-
import { RestService } from '@abp/ng.core';
|
|
2
|
-
import { of } from 'rxjs';
|
|
3
|
-
import { map } from 'rxjs/operators';
|
|
4
|
-
const TYPEAHEAD_TEXT_SUFFIX = '_Text';
|
|
5
|
-
const TYPEAHEAD_TEXT_SUFFIX_REGEX = /_Text$/;
|
|
6
|
-
export function createTypeaheadOptions(lookup) {
|
|
7
|
-
return (data, searchText) => searchText && data
|
|
8
|
-
? data
|
|
9
|
-
.getInjected(RestService)
|
|
10
|
-
.request({
|
|
11
|
-
method: 'GET',
|
|
12
|
-
url: lookup.url || '',
|
|
13
|
-
params: {
|
|
14
|
-
[lookup.filterParamName || '']: searchText,
|
|
15
|
-
},
|
|
16
|
-
}, { apiName: 'Default' })
|
|
17
|
-
.pipe(map((response) => {
|
|
18
|
-
const list = response[lookup.resultListPropertyName || ''];
|
|
19
|
-
const mapToOption = (item) => ({
|
|
20
|
-
key: item[lookup.displayPropertyName || ''],
|
|
21
|
-
value: item[lookup.valuePropertyName || ''],
|
|
22
|
-
});
|
|
23
|
-
return list.map(mapToOption);
|
|
24
|
-
}))
|
|
25
|
-
: of([]);
|
|
26
|
-
}
|
|
27
|
-
export function getTypeaheadType(lookup, name) {
|
|
28
|
-
return Boolean(lookup.url)
|
|
29
|
-
? "typeahead" /* ePropType.Typeahead */
|
|
30
|
-
: name.endsWith(TYPEAHEAD_TEXT_SUFFIX)
|
|
31
|
-
? "hidden" /* ePropType.Hidden */
|
|
32
|
-
: undefined;
|
|
33
|
-
}
|
|
34
|
-
export function createTypeaheadDisplayNameGenerator(displayNameGeneratorFn, properties) {
|
|
35
|
-
return (displayName, fallback) => {
|
|
36
|
-
const name = removeTypeaheadTextSuffix(fallback.name || '');
|
|
37
|
-
return displayNameGeneratorFn(displayName || properties[name].displayName, {
|
|
38
|
-
name,
|
|
39
|
-
resource: fallback.resource,
|
|
40
|
-
});
|
|
41
|
-
};
|
|
42
|
-
}
|
|
43
|
-
export function addTypeaheadTextSuffix(name) {
|
|
44
|
-
return name + TYPEAHEAD_TEXT_SUFFIX;
|
|
45
|
-
}
|
|
46
|
-
export function hasTypeaheadTextSuffix(name) {
|
|
47
|
-
return TYPEAHEAD_TEXT_SUFFIX_REGEX.test(name);
|
|
48
|
-
}
|
|
49
|
-
export function removeTypeaheadTextSuffix(name) {
|
|
50
|
-
return name.replace(TYPEAHEAD_TEXT_SUFFIX_REGEX, '');
|
|
51
|
-
}
|
|
1
|
+
import { RestService } from '@abp/ng.core';
|
|
2
|
+
import { of } from 'rxjs';
|
|
3
|
+
import { map } from 'rxjs/operators';
|
|
4
|
+
const TYPEAHEAD_TEXT_SUFFIX = '_Text';
|
|
5
|
+
const TYPEAHEAD_TEXT_SUFFIX_REGEX = /_Text$/;
|
|
6
|
+
export function createTypeaheadOptions(lookup) {
|
|
7
|
+
return (data, searchText) => searchText && data
|
|
8
|
+
? data
|
|
9
|
+
.getInjected(RestService)
|
|
10
|
+
.request({
|
|
11
|
+
method: 'GET',
|
|
12
|
+
url: lookup.url || '',
|
|
13
|
+
params: {
|
|
14
|
+
[lookup.filterParamName || '']: searchText,
|
|
15
|
+
},
|
|
16
|
+
}, { apiName: 'Default' })
|
|
17
|
+
.pipe(map((response) => {
|
|
18
|
+
const list = response[lookup.resultListPropertyName || ''];
|
|
19
|
+
const mapToOption = (item) => ({
|
|
20
|
+
key: item[lookup.displayPropertyName || ''],
|
|
21
|
+
value: item[lookup.valuePropertyName || ''],
|
|
22
|
+
});
|
|
23
|
+
return list.map(mapToOption);
|
|
24
|
+
}))
|
|
25
|
+
: of([]);
|
|
26
|
+
}
|
|
27
|
+
export function getTypeaheadType(lookup, name) {
|
|
28
|
+
return Boolean(lookup.url)
|
|
29
|
+
? "typeahead" /* ePropType.Typeahead */
|
|
30
|
+
: name.endsWith(TYPEAHEAD_TEXT_SUFFIX)
|
|
31
|
+
? "hidden" /* ePropType.Hidden */
|
|
32
|
+
: undefined;
|
|
33
|
+
}
|
|
34
|
+
export function createTypeaheadDisplayNameGenerator(displayNameGeneratorFn, properties) {
|
|
35
|
+
return (displayName, fallback) => {
|
|
36
|
+
const name = removeTypeaheadTextSuffix(fallback.name || '');
|
|
37
|
+
return displayNameGeneratorFn(displayName || properties[name].displayName, {
|
|
38
|
+
name,
|
|
39
|
+
resource: fallback.resource,
|
|
40
|
+
});
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
export function addTypeaheadTextSuffix(name) {
|
|
44
|
+
return name + TYPEAHEAD_TEXT_SUFFIX;
|
|
45
|
+
}
|
|
46
|
+
export function hasTypeaheadTextSuffix(name) {
|
|
47
|
+
return TYPEAHEAD_TEXT_SUFFIX_REGEX.test(name);
|
|
48
|
+
}
|
|
49
|
+
export function removeTypeaheadTextSuffix(name) {
|
|
50
|
+
return name.replace(TYPEAHEAD_TEXT_SUFFIX_REGEX, '');
|
|
51
|
+
}
|
|
52
52
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZWFoZWFkLnV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy90aGVtZS1zaGFyZWQvZXh0ZW5zaW9ucy9zcmMvbGliL3V0aWxzL3R5cGVhaGVhZC51dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUMsV0FBVyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzlFLE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBS3JDLE1BQU0scUJBQXFCLEdBQUcsT0FBTyxDQUFDO0FBQ3RDLE1BQU0sMkJBQTJCLEdBQUcsUUFBUSxDQUFDO0FBRTdDLE1BQU0sVUFBVSxzQkFBc0IsQ0FDcEMsTUFBb0M7SUFFcEMsT0FBTyxDQUFDLElBQUksRUFBRSxVQUFVLEVBQUUsRUFBRSxDQUMxQixVQUFVLElBQUksSUFBSTtRQUNoQixDQUFDLENBQUMsSUFBSTthQUNELFdBQVcsQ0FBQyxXQUFXLENBQUM7YUFDeEIsT0FBTyxDQUNOO1lBQ0UsTUFBTSxFQUFFLEtBQUs7WUFDYixHQUFHLEVBQUUsTUFBTSxDQUFDLEdBQUcsSUFBSSxFQUFFO1lBQ3JCLE1BQU0sRUFBRTtnQkFDTixDQUFDLE1BQU0sQ0FBQyxlQUFlLElBQUksRUFBRSxDQUFDLEVBQUUsVUFBVTthQUMzQztTQUNGLEVBQ0QsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLENBQ3ZCO2FBQ0EsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLFFBQWEsRUFBRSxFQUFFO1lBQ3BCLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsc0JBQXNCLElBQUksRUFBRSxDQUFDLENBQUM7WUFDM0QsTUFBTSxXQUFXLEdBQUcsQ0FBQyxJQUFTLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQ2xDLEdBQUcsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLG1CQUFtQixJQUFJLEVBQUUsQ0FBQztnQkFDM0MsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsaUJBQWlCLElBQUksRUFBRSxDQUFDO2FBQzVDLENBQUMsQ0FBQztZQUNILE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUMvQixDQUFDLENBQUMsQ0FDSDtRQUNMLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDZixDQUFDO0FBRUQsTUFBTSxVQUFVLGdCQUFnQixDQUFDLE1BQW9DLEVBQUUsSUFBWTtJQUNqRixPQUFPLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDO1FBQ3hCLENBQUM7UUFDRCxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxxQkFBcUIsQ0FBQztZQUN0QyxDQUFDO1lBQ0QsQ0FBQyxDQUFDLFNBQVMsQ0FBQztBQUNoQixDQUFDO0FBRUQsTUFBTSxVQUFVLG1DQUFtQyxDQUNqRCxzQkFBK0QsRUFDL0QsVUFBc0Q7SUFFdEQsT0FBTyxDQUFDLFdBQVcsRUFBRSxRQUFRLEVBQUUsRUFBRTtRQUMvQixNQUFNLElBQUksR0FBRyx5QkFBeUIsQ0FBQyxRQUFRLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQzVELE9BQU8sc0JBQXNCLENBQUMsV0FBVyxJQUFJLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxXQUFXLEVBQUU7WUFDekUsSUFBSTtZQUNKLFFBQVEsRUFBRSxRQUFRLENBQUMsUUFBUTtTQUM1QixDQUFDLENBQUM7SUFDTCxDQUFDLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxVQUFVLHNCQUFzQixDQUFDLElBQVk7SUFDakQsT0FBTyxJQUFJLEdBQUcscUJBQXFCLENBQUM7QUFDdEMsQ0FBQztBQUVELE1BQU0sVUFBVSxzQkFBc0IsQ0FBQyxJQUFZO0lBQ2pELE9BQU8sMkJBQTJCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ2hELENBQUM7QUFFRCxNQUFNLFVBQVUseUJBQXlCLENBQUMsSUFBWTtJQUNwRCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsMkJBQTJCLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDdkQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFCUCwgRXh0ZW5zaW9uUHJvcGVydHlVaUxvb2t1cER0bywgUmVzdFNlcnZpY2UgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IGVQcm9wVHlwZSB9IGZyb20gJy4uL2VudW1zL3Byb3BzLmVudW0nO1xyXG5pbXBvcnQgeyBPYmplY3RFeHRlbnNpb25zIH0gZnJvbSAnLi4vbW9kZWxzL29iamVjdC1leHRlbnNpb25zJztcclxuaW1wb3J0IHsgUHJvcENhbGxiYWNrIH0gZnJvbSAnLi4vbW9kZWxzL3Byb3BzJztcclxuXHJcbmNvbnN0IFRZUEVBSEVBRF9URVhUX1NVRkZJWCA9ICdfVGV4dCc7XHJcbmNvbnN0IFRZUEVBSEVBRF9URVhUX1NVRkZJWF9SRUdFWCA9IC9fVGV4dCQvO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVR5cGVhaGVhZE9wdGlvbnMoXHJcbiAgbG9va3VwOiBFeHRlbnNpb25Qcm9wZXJ0eVVpTG9va3VwRHRvLFxyXG4pOiBQcm9wQ2FsbGJhY2s8YW55LCBPYnNlcnZhYmxlPEFCUC5PcHRpb248YW55PltdPj4ge1xyXG4gIHJldHVybiAoZGF0YSwgc2VhcmNoVGV4dCkgPT5cclxuICAgIHNlYXJjaFRleHQgJiYgZGF0YVxyXG4gICAgICA/IGRhdGFcclxuICAgICAgICAgIC5nZXRJbmplY3RlZChSZXN0U2VydmljZSlcclxuICAgICAgICAgIC5yZXF1ZXN0KFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgbWV0aG9kOiAnR0VUJyxcclxuICAgICAgICAgICAgICB1cmw6IGxvb2t1cC51cmwgfHwgJycsXHJcbiAgICAgICAgICAgICAgcGFyYW1zOiB7XHJcbiAgICAgICAgICAgICAgICBbbG9va3VwLmZpbHRlclBhcmFtTmFtZSB8fCAnJ106IHNlYXJjaFRleHQsXHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgeyBhcGlOYW1lOiAnRGVmYXVsdCcgfSxcclxuICAgICAgICAgIClcclxuICAgICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgICBtYXAoKHJlc3BvbnNlOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICBjb25zdCBsaXN0ID0gcmVzcG9uc2VbbG9va3VwLnJlc3VsdExpc3RQcm9wZXJ0eU5hbWUgfHwgJyddO1xyXG4gICAgICAgICAgICAgIGNvbnN0IG1hcFRvT3B0aW9uID0gKGl0ZW06IGFueSkgPT4gKHtcclxuICAgICAgICAgICAgICAgIGtleTogaXRlbVtsb29rdXAuZGlzcGxheVByb3BlcnR5TmFtZSB8fCAnJ10sXHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogaXRlbVtsb29rdXAudmFsdWVQcm9wZXJ0eU5hbWUgfHwgJyddLFxyXG4gICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgIHJldHVybiBsaXN0Lm1hcChtYXBUb09wdGlvbik7XHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgKVxyXG4gICAgICA6IG9mKFtdKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGdldFR5cGVhaGVhZFR5cGUobG9va3VwOiBFeHRlbnNpb25Qcm9wZXJ0eVVpTG9va3VwRHRvLCBuYW1lOiBzdHJpbmcpIHtcclxuICByZXR1cm4gQm9vbGVhbihsb29rdXAudXJsKVxyXG4gICAgPyBlUHJvcFR5cGUuVHlwZWFoZWFkXHJcbiAgICA6IG5hbWUuZW5kc1dpdGgoVFlQRUFIRUFEX1RFWFRfU1VGRklYKVxyXG4gICAgPyBlUHJvcFR5cGUuSGlkZGVuXHJcbiAgICA6IHVuZGVmaW5lZDtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVR5cGVhaGVhZERpc3BsYXlOYW1lR2VuZXJhdG9yKFxyXG4gIGRpc3BsYXlOYW1lR2VuZXJhdG9yRm46IE9iamVjdEV4dGVuc2lvbnMuRGlzcGxheU5hbWVHZW5lcmF0b3JGbixcclxuICBwcm9wZXJ0aWVzOiBPYmplY3RFeHRlbnNpb25zLkVudGl0eUV4dGVuc2lvblByb3BlcnRpZXMsXHJcbik6IE9iamVjdEV4dGVuc2lvbnMuRGlzcGxheU5hbWVHZW5lcmF0b3JGbiB7XHJcbiAgcmV0dXJuIChkaXNwbGF5TmFtZSwgZmFsbGJhY2spID0+IHtcclxuICAgIGNvbnN0IG5hbWUgPSByZW1vdmVUeXBlYWhlYWRUZXh0U3VmZml4KGZhbGxiYWNrLm5hbWUgfHwgJycpO1xyXG4gICAgcmV0dXJuIGRpc3BsYXlOYW1lR2VuZXJhdG9yRm4oZGlzcGxheU5hbWUgfHwgcHJvcGVydGllc1tuYW1lXS5kaXNwbGF5TmFtZSwge1xyXG4gICAgICBuYW1lLFxyXG4gICAgICByZXNvdXJjZTogZmFsbGJhY2sucmVzb3VyY2UsXHJcbiAgICB9KTtcclxuICB9O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gYWRkVHlwZWFoZWFkVGV4dFN1ZmZpeChuYW1lOiBzdHJpbmcpIHtcclxuICByZXR1cm4gbmFtZSArIFRZUEVBSEVBRF9URVhUX1NVRkZJWDtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGhhc1R5cGVhaGVhZFRleHRTdWZmaXgobmFtZTogc3RyaW5nKSB7XHJcbiAgcmV0dXJuIFRZUEVBSEVBRF9URVhUX1NVRkZJWF9SRUdFWC50ZXN0KG5hbWUpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gcmVtb3ZlVHlwZWFoZWFkVGV4dFN1ZmZpeChuYW1lOiBzdHJpbmcpIHtcclxuICByZXR1cm4gbmFtZS5yZXBsYWNlKFRZUEVBSEVBRF9URVhUX1NVRkZJWF9SRUdFWCwgJycpO1xyXG59XHJcbiJdfQ==
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { AbpValidators } from '@abp/ng.core';
|
|
2
|
-
export function getValidatorsFromProperty(property) {
|
|
3
|
-
const validators = [];
|
|
4
|
-
property.attributes.forEach(attr => {
|
|
5
|
-
if (attr.typeSimple && attr.typeSimple in AbpValidators) {
|
|
6
|
-
validators.push(AbpValidators[attr.typeSimple](attr.config));
|
|
7
|
-
}
|
|
8
|
-
});
|
|
9
|
-
return validators;
|
|
10
|
-
}
|
|
1
|
+
import { AbpValidators } from '@abp/ng.core';
|
|
2
|
+
export function getValidatorsFromProperty(property) {
|
|
3
|
+
const validators = [];
|
|
4
|
+
property.attributes.forEach(attr => {
|
|
5
|
+
if (attr.typeSimple && attr.typeSimple in AbpValidators) {
|
|
6
|
+
validators.push(AbpValidators[attr.typeSimple](attr.config));
|
|
7
|
+
}
|
|
8
|
+
});
|
|
9
|
+
return validators;
|
|
10
|
+
}
|
|
11
11
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi51dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvdGhlbWUtc2hhcmVkL2V4dGVuc2lvbnMvc3JjL2xpYi91dGlscy92YWxpZGF0aW9uLnV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUk3QyxNQUFNLFVBQVUseUJBQXlCLENBQ3ZDLFFBQStDO0lBRS9DLE1BQU0sVUFBVSxHQUFrQixFQUFFLENBQUM7SUFFckMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFDakMsSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxVQUFVLElBQUksYUFBYSxFQUFFO1lBQ3ZELFVBQVUsQ0FBQyxJQUFJLENBQUUsYUFBcUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7U0FDdkU7SUFDSCxDQUFDLENBQUMsQ0FBQztJQUVILE9BQU8sVUFBVSxDQUFDO0FBQ3BCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBYnBWYWxpZGF0b3JzIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcclxuaW1wb3J0IHsgVmFsaWRhdG9yRm4gfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE9iamVjdEV4dGVuc2lvbnMgfSBmcm9tICcuLi9tb2RlbHMvb2JqZWN0LWV4dGVuc2lvbnMnO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGdldFZhbGlkYXRvcnNGcm9tUHJvcGVydHkoXHJcbiAgcHJvcGVydHk6IE9iamVjdEV4dGVuc2lvbnMuRXh0ZW5zaW9uUHJvcGVydHlEdG8sXHJcbik6IFZhbGlkYXRvckZuW10ge1xyXG4gIGNvbnN0IHZhbGlkYXRvcnM6IFZhbGlkYXRvckZuW10gPSBbXTtcclxuXHJcbiAgcHJvcGVydHkuYXR0cmlidXRlcy5mb3JFYWNoKGF0dHIgPT4ge1xyXG4gICAgaWYgKGF0dHIudHlwZVNpbXBsZSAmJiBhdHRyLnR5cGVTaW1wbGUgaW4gQWJwVmFsaWRhdG9ycykge1xyXG4gICAgICB2YWxpZGF0b3JzLnB1c2goKEFicFZhbGlkYXRvcnMgYXMgYW55KVthdHRyLnR5cGVTaW1wbGVdKGF0dHIuY29uZmlnKSk7XHJcbiAgICB9XHJcbiAgfSk7XHJcblxyXG4gIHJldHVybiB2YWxpZGF0b3JzO1xyXG59XHJcbiJdfQ==
|
|
@@ -1,31 +1,31 @@
|
|
|
1
|
-
export * from './lib/adapters/date-time.adapter';
|
|
2
|
-
export * from './lib/adapters/date.adapter';
|
|
3
|
-
export * from './lib/adapters/time.adapter';
|
|
4
|
-
export * from './lib/components/date-time-picker/date-time-picker.component';
|
|
5
|
-
export * from './lib/components/extensible-form/extensible-form-prop.component';
|
|
6
|
-
export * from './lib/components/extensible-form/extensible-form.component';
|
|
7
|
-
export * from './lib/components/extensible-table/extensible-table.component';
|
|
8
|
-
export * from './lib/components/grid-actions/grid-actions.component';
|
|
9
|
-
export * from './lib/components/page-toolbar/page-toolbar.component';
|
|
10
|
-
export * from './lib/constants/extra-properties';
|
|
11
|
-
export * from './lib/directives/disabled.directive';
|
|
12
|
-
export * from './lib/directives/prop-data.directive';
|
|
13
|
-
export * from './lib/enums/props.enum';
|
|
14
|
-
export * from './lib/enums/components';
|
|
15
|
-
export { ActionList, } from './lib/models/actions';
|
|
16
|
-
export { EntityAction, EntityActionList, EntityActions, EntityActionsFactory, } from './lib/models/entity-actions';
|
|
17
|
-
export { EntityProp, EntityPropList, EntityProps, EntityPropsFactory, } from './lib/models/entity-props';
|
|
18
|
-
export { CreateFormPropsFactory, EditFormPropsFactory, FormProp, FormPropData, FormPropList, FormProps, } from './lib/models/form-props';
|
|
19
|
-
export * from './lib/models/object-extensions';
|
|
20
|
-
export { PropList, } from './lib/models/props';
|
|
21
|
-
export { ToolbarAction, ToolbarActionList, ToolbarActions, ToolbarActionsFactory, ToolbarComponent, } from './lib/models/toolbar-actions';
|
|
22
|
-
export * from './lib/pipes/create-injector.pipe';
|
|
23
|
-
export * from './lib/services/extensions.service';
|
|
24
|
-
export * from './lib/tokens/extensions.token';
|
|
25
|
-
export * from './lib/tokens/extensible-form-view-provider.token';
|
|
26
|
-
export * from './lib/ui-extensions.module';
|
|
27
|
-
export * from './lib/utils/actions.util';
|
|
28
|
-
export * from './lib/utils/form-props.util';
|
|
29
|
-
export * from './lib/utils/props.util';
|
|
30
|
-
export * from './lib/utils/state.util';
|
|
1
|
+
export * from './lib/adapters/date-time.adapter';
|
|
2
|
+
export * from './lib/adapters/date.adapter';
|
|
3
|
+
export * from './lib/adapters/time.adapter';
|
|
4
|
+
export * from './lib/components/date-time-picker/date-time-picker.component';
|
|
5
|
+
export * from './lib/components/extensible-form/extensible-form-prop.component';
|
|
6
|
+
export * from './lib/components/extensible-form/extensible-form.component';
|
|
7
|
+
export * from './lib/components/extensible-table/extensible-table.component';
|
|
8
|
+
export * from './lib/components/grid-actions/grid-actions.component';
|
|
9
|
+
export * from './lib/components/page-toolbar/page-toolbar.component';
|
|
10
|
+
export * from './lib/constants/extra-properties';
|
|
11
|
+
export * from './lib/directives/disabled.directive';
|
|
12
|
+
export * from './lib/directives/prop-data.directive';
|
|
13
|
+
export * from './lib/enums/props.enum';
|
|
14
|
+
export * from './lib/enums/components';
|
|
15
|
+
export { ActionList, } from './lib/models/actions';
|
|
16
|
+
export { EntityAction, EntityActionList, EntityActions, EntityActionsFactory, } from './lib/models/entity-actions';
|
|
17
|
+
export { EntityProp, EntityPropList, EntityProps, EntityPropsFactory, } from './lib/models/entity-props';
|
|
18
|
+
export { CreateFormPropsFactory, EditFormPropsFactory, FormProp, FormPropData, FormPropList, FormProps, } from './lib/models/form-props';
|
|
19
|
+
export * from './lib/models/object-extensions';
|
|
20
|
+
export { PropList, } from './lib/models/props';
|
|
21
|
+
export { ToolbarAction, ToolbarActionList, ToolbarActions, ToolbarActionsFactory, ToolbarComponent, } from './lib/models/toolbar-actions';
|
|
22
|
+
export * from './lib/pipes/create-injector.pipe';
|
|
23
|
+
export * from './lib/services/extensions.service';
|
|
24
|
+
export * from './lib/tokens/extensions.token';
|
|
25
|
+
export * from './lib/tokens/extensible-form-view-provider.token';
|
|
26
|
+
export * from './lib/ui-extensions.module';
|
|
27
|
+
export * from './lib/utils/actions.util';
|
|
28
|
+
export * from './lib/utils/form-props.util';
|
|
29
|
+
export * from './lib/utils/props.util';
|
|
30
|
+
export * from './lib/utils/state.util';
|
|
31
31
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3RoZW1lLXNoYXJlZC9leHRlbnNpb25zL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsOERBQThELENBQUM7QUFDN0UsY0FBYyxpRUFBaUUsQ0FBQztBQUNoRixjQUFjLDREQUE0RCxDQUFDO0FBQzNFLGNBQWMsOERBQThELENBQUM7QUFDN0UsY0FBYyxzREFBc0QsQ0FBQztBQUNyRSxjQUFjLHNEQUFzRCxDQUFDO0FBQ3JFLGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxPQUFPLEVBRUwsVUFBVSxHQUdYLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUNMLFlBQVksRUFFWixnQkFBZ0IsRUFFaEIsYUFBYSxFQUNiLG9CQUFvQixHQUNyQixNQUFNLDZCQUE2QixDQUFDO0FBQ3JDLE9BQU8sRUFDTCxVQUFVLEVBRVYsY0FBYyxFQUVkLFdBQVcsRUFDWCxrQkFBa0IsR0FDbkIsTUFBTSwyQkFBMkIsQ0FBQztBQUNuQyxPQUFPLEVBRUwsc0JBQXNCLEVBRXRCLG9CQUFvQixFQUNwQixRQUFRLEVBQ1IsWUFBWSxFQUNaLFlBQVksRUFFWixTQUFTLEdBQ1YsTUFBTSx5QkFBeUIsQ0FBQztBQUNqQyxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLE9BQU8sRUFFTCxRQUFRLEdBR1QsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQ0wsYUFBYSxFQUViLGlCQUFpQixFQUVqQixjQUFjLEVBQ2QscUJBQXFCLEVBQ3JCLGdCQUFnQixHQUVqQixNQUFNLDhCQUE4QixDQUFDO0FBQ3RDLGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsa0RBQWtELENBQUM7QUFDakUsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLHdCQUF3QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWIvYWRhcHRlcnMvZGF0ZS10aW1lLmFkYXB0ZXInO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hZGFwdGVycy9kYXRlLmFkYXB0ZXInO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hZGFwdGVycy90aW1lLmFkYXB0ZXInO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2RhdGUtdGltZS1waWNrZXIvZGF0ZS10aW1lLXBpY2tlci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2V4dGVuc2libGUtZm9ybS9leHRlbnNpYmxlLWZvcm0tcHJvcC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2V4dGVuc2libGUtZm9ybS9leHRlbnNpYmxlLWZvcm0uY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9leHRlbnNpYmxlLXRhYmxlL2V4dGVuc2libGUtdGFibGUuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9ncmlkLWFjdGlvbnMvZ3JpZC1hY3Rpb25zLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvcGFnZS10b29sYmFyL3BhZ2UtdG9vbGJhci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb25zdGFudHMvZXh0cmEtcHJvcGVydGllcyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvZGlzYWJsZWQuZGlyZWN0aXZlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9wcm9wLWRhdGEuZGlyZWN0aXZlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZW51bXMvcHJvcHMuZW51bSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2VudW1zL2NvbXBvbmVudHMnO1xyXG5leHBvcnQge1xyXG4gIEFjdGlvbkNhbGxiYWNrLFxyXG4gIEFjdGlvbkxpc3QsXHJcbiAgQWN0aW9uUHJlZGljYXRlLFxyXG4gIFJlYWRvbmx5QWN0aW9uRGF0YSBhcyBBY3Rpb25EYXRhLFxyXG59IGZyb20gJy4vbGliL21vZGVscy9hY3Rpb25zJztcclxuZXhwb3J0IHtcclxuICBFbnRpdHlBY3Rpb24sXHJcbiAgRW50aXR5QWN0aW9uQ29udHJpYnV0b3JDYWxsYmFjayxcclxuICBFbnRpdHlBY3Rpb25MaXN0LFxyXG4gIEVudGl0eUFjdGlvbk9wdGlvbnMsXHJcbiAgRW50aXR5QWN0aW9ucyxcclxuICBFbnRpdHlBY3Rpb25zRmFjdG9yeSxcclxufSBmcm9tICcuL2xpYi9tb2RlbHMvZW50aXR5LWFjdGlvbnMnO1xyXG5leHBvcnQge1xyXG4gIEVudGl0eVByb3AsXHJcbiAgRW50aXR5UHJvcENvbnRyaWJ1dG9yQ2FsbGJhY2ssXHJcbiAgRW50aXR5UHJvcExpc3QsXHJcbiAgRW50aXR5UHJvcE9wdGlvbnMsXHJcbiAgRW50aXR5UHJvcHMsXHJcbiAgRW50aXR5UHJvcHNGYWN0b3J5LFxyXG59IGZyb20gJy4vbGliL21vZGVscy9lbnRpdHktcHJvcHMnO1xyXG5leHBvcnQge1xyXG4gIENyZWF0ZUZvcm1Qcm9wQ29udHJpYnV0b3JDYWxsYmFjayxcclxuICBDcmVhdGVGb3JtUHJvcHNGYWN0b3J5LFxyXG4gIEVkaXRGb3JtUHJvcENvbnRyaWJ1dG9yQ2FsbGJhY2ssXHJcbiAgRWRpdEZvcm1Qcm9wc0ZhY3RvcnksXHJcbiAgRm9ybVByb3AsXHJcbiAgRm9ybVByb3BEYXRhLFxyXG4gIEZvcm1Qcm9wTGlzdCxcclxuICBGb3JtUHJvcE9wdGlvbnMsXHJcbiAgRm9ybVByb3BzLFxyXG59IGZyb20gJy4vbGliL21vZGVscy9mb3JtLXByb3BzJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL29iamVjdC1leHRlbnNpb25zJztcclxuZXhwb3J0IHtcclxuICBQcm9wQ2FsbGJhY2ssXHJcbiAgUHJvcExpc3QsXHJcbiAgUHJvcFByZWRpY2F0ZSxcclxuICBSZWFkb25seVByb3BEYXRhIGFzIFByb3BEYXRhLFxyXG59IGZyb20gJy4vbGliL21vZGVscy9wcm9wcyc7XHJcbmV4cG9ydCB7XHJcbiAgVG9vbGJhckFjdGlvbixcclxuICBUb29sYmFyQWN0aW9uQ29udHJpYnV0b3JDYWxsYmFjayxcclxuICBUb29sYmFyQWN0aW9uTGlzdCxcclxuICBUb29sYmFyQWN0aW9uT3B0aW9ucyxcclxuICBUb29sYmFyQWN0aW9ucyxcclxuICBUb29sYmFyQWN0aW9uc0ZhY3RvcnksXHJcbiAgVG9vbGJhckNvbXBvbmVudCxcclxuICBUb29sYmFyQ29tcG9uZW50T3B0aW9ucyxcclxufSBmcm9tICcuL2xpYi9tb2RlbHMvdG9vbGJhci1hY3Rpb25zJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvcGlwZXMvY3JlYXRlLWluamVjdG9yLnBpcGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9leHRlbnNpb25zLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi90b2tlbnMvZXh0ZW5zaW9ucy50b2tlbic7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Rva2Vucy9leHRlbnNpYmxlLWZvcm0tdmlldy1wcm92aWRlci50b2tlbic7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpLWV4dGVuc2lvbnMubW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdXRpbHMvYWN0aW9ucy51dGlsJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdXRpbHMvZm9ybS1wcm9wcy51dGlsJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdXRpbHMvcHJvcHMudXRpbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3V0aWxzL3N0YXRlLnV0aWwnO1xyXG4iXX0=
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import { animate, animation, keyframes, style } from '@angular/animations';
|
|
2
|
-
export const bounceIn = animation([
|
|
3
|
-
style({ opacity: '0', display: '{{ display }}' }),
|
|
4
|
-
animate('{{ time}} {{ easing }}', keyframes([
|
|
5
|
-
style({ opacity: '0', transform: '{{ transform }} scale(0.0)', offset: 0 }),
|
|
6
|
-
style({ opacity: '0', transform: '{{ transform }} scale(0.8)', offset: 0.5 }),
|
|
7
|
-
style({ opacity: '1', transform: '{{ transform }} scale(1.0)', offset: 1 }),
|
|
8
|
-
])),
|
|
9
|
-
], {
|
|
10
|
-
params: {
|
|
11
|
-
time: '350ms',
|
|
12
|
-
easing: 'cubic-bezier(.7,.31,.72,1.47)',
|
|
13
|
-
display: 'block',
|
|
14
|
-
transform: 'translate(-50%, -50%)',
|
|
15
|
-
},
|
|
16
|
-
});
|
|
1
|
+
import { animate, animation, keyframes, style } from '@angular/animations';
|
|
2
|
+
export const bounceIn = animation([
|
|
3
|
+
style({ opacity: '0', display: '{{ display }}' }),
|
|
4
|
+
animate('{{ time}} {{ easing }}', keyframes([
|
|
5
|
+
style({ opacity: '0', transform: '{{ transform }} scale(0.0)', offset: 0 }),
|
|
6
|
+
style({ opacity: '0', transform: '{{ transform }} scale(0.8)', offset: 0.5 }),
|
|
7
|
+
style({ opacity: '1', transform: '{{ transform }} scale(1.0)', offset: 1 }),
|
|
8
|
+
])),
|
|
9
|
+
], {
|
|
10
|
+
params: {
|
|
11
|
+
time: '350ms',
|
|
12
|
+
easing: 'cubic-bezier(.7,.31,.72,1.47)',
|
|
13
|
+
display: 'block',
|
|
14
|
+
transform: 'translate(-50%, -50%)',
|
|
15
|
+
},
|
|
16
|
+
});
|
|
17
17
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm91bmNlLmFuaW1hdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy90aGVtZS1zaGFyZWQvc3JjL2xpYi9hbmltYXRpb25zL2JvdW5jZS5hbmltYXRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUUzRSxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsU0FBUyxDQUMvQjtJQUNFLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxDQUFDO0lBQ2pELE9BQU8sQ0FDTCx3QkFBd0IsRUFDeEIsU0FBUyxDQUFDO1FBQ1IsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDO1FBQzNFLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQztRQUM3RSxLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSw0QkFBNEIsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUM7S0FDNUUsQ0FBQyxDQUNIO0NBQ0YsRUFDRDtJQUNFLE1BQU0sRUFBRTtRQUNOLElBQUksRUFBRSxPQUFPO1FBQ2IsTUFBTSxFQUFFLCtCQUErQjtRQUN2QyxPQUFPLEVBQUUsT0FBTztRQUNoQixTQUFTLEVBQUUsdUJBQXVCO0tBQ25DO0NBQ0YsQ0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYW5pbWF0ZSwgYW5pbWF0aW9uLCBrZXlmcmFtZXMsIHN0eWxlIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XHJcblxyXG5leHBvcnQgY29uc3QgYm91bmNlSW4gPSBhbmltYXRpb24oXHJcbiAgW1xyXG4gICAgc3R5bGUoeyBvcGFjaXR5OiAnMCcsIGRpc3BsYXk6ICd7eyBkaXNwbGF5IH19JyB9KSxcclxuICAgIGFuaW1hdGUoXHJcbiAgICAgICd7eyB0aW1lfX0ge3sgZWFzaW5nIH19JyxcclxuICAgICAga2V5ZnJhbWVzKFtcclxuICAgICAgICBzdHlsZSh7IG9wYWNpdHk6ICcwJywgdHJhbnNmb3JtOiAne3sgdHJhbnNmb3JtIH19IHNjYWxlKDAuMCknLCBvZmZzZXQ6IDAgfSksXHJcbiAgICAgICAgc3R5bGUoeyBvcGFjaXR5OiAnMCcsIHRyYW5zZm9ybTogJ3t7IHRyYW5zZm9ybSB9fSBzY2FsZSgwLjgpJywgb2Zmc2V0OiAwLjUgfSksXHJcbiAgICAgICAgc3R5bGUoeyBvcGFjaXR5OiAnMScsIHRyYW5zZm9ybTogJ3t7IHRyYW5zZm9ybSB9fSBzY2FsZSgxLjApJywgb2Zmc2V0OiAxIH0pLFxyXG4gICAgICBdKSxcclxuICAgICksXHJcbiAgXSxcclxuICB7XHJcbiAgICBwYXJhbXM6IHtcclxuICAgICAgdGltZTogJzM1MG1zJyxcclxuICAgICAgZWFzaW5nOiAnY3ViaWMtYmV6aWVyKC43LC4zMSwuNzIsMS40NyknLFxyXG4gICAgICBkaXNwbGF5OiAnYmxvY2snLFxyXG4gICAgICB0cmFuc2Zvcm06ICd0cmFuc2xhdGUoLTUwJSwgLTUwJSknLFxyXG4gICAgfSxcclxuICB9LFxyXG4pO1xyXG4iXX0=
|
|
@@ -1,50 +1,50 @@
|
|
|
1
|
-
import { animate, animation, trigger, state, style, transition, useAnimation, } from '@angular/animations';
|
|
2
|
-
export const collapseY = animation([
|
|
3
|
-
style({ height: '*', overflow: 'hidden', 'box-sizing': 'border-box' }),
|
|
4
|
-
animate('{{ time }} {{ easing }}', style({ height: '0', padding: '0px' })),
|
|
5
|
-
], { params: { time: '350ms', easing: 'ease' } });
|
|
6
|
-
export const collapseYWithMargin = animation([
|
|
7
|
-
style({ 'margin-top': '0' }),
|
|
8
|
-
animate('{{ time }} {{ easing }}', style({ 'margin-left': '-100%' })),
|
|
9
|
-
], {
|
|
10
|
-
params: { time: '500ms', easing: 'ease' },
|
|
11
|
-
});
|
|
12
|
-
export const collapseX = animation([
|
|
13
|
-
style({ width: '*', overflow: 'hidden', 'box-sizing': 'border-box' }),
|
|
14
|
-
animate('{{ time }} {{ easing }}', style({ width: '0', padding: '0px' })),
|
|
15
|
-
], { params: { time: '350ms', easing: 'ease' } });
|
|
16
|
-
export const expandY = animation([
|
|
17
|
-
style({ height: '0', overflow: 'hidden', 'box-sizing': 'border-box' }),
|
|
18
|
-
animate('{{ time }} {{ easing }}', style({ height: '*', padding: '*' })),
|
|
19
|
-
], { params: { time: '350ms', easing: 'ease' } });
|
|
20
|
-
export const expandYWithMargin = animation([
|
|
21
|
-
style({ 'margin-top': '-100%' }),
|
|
22
|
-
animate('{{ time }} {{ easing }}', style({ 'margin-top': '0' })),
|
|
23
|
-
], {
|
|
24
|
-
params: { time: '500ms', easing: 'ease' },
|
|
25
|
-
});
|
|
26
|
-
export const expandX = animation([
|
|
27
|
-
style({ width: '0', overflow: 'hidden', 'box-sizing': 'border-box' }),
|
|
28
|
-
animate('{{ time }} {{ easing }}', style({ width: '*', padding: '*' })),
|
|
29
|
-
], { params: { time: '350ms', easing: 'ease' } });
|
|
30
|
-
export const collapse = trigger('collapse', [
|
|
31
|
-
state('collapsed', style({ height: '0', overflow: 'hidden' })),
|
|
32
|
-
state('expanded', style({ height: '*', overflow: 'hidden' })),
|
|
33
|
-
transition('expanded => collapsed', useAnimation(collapseY)),
|
|
34
|
-
transition('collapsed => expanded', useAnimation(expandY)),
|
|
35
|
-
]);
|
|
36
|
-
export const collapseWithMargin = trigger('collapseWithMargin', [
|
|
37
|
-
state('collapsed', style({ 'margin-top': '-100%' })),
|
|
38
|
-
state('expanded', style({ 'margin-top': '0' })),
|
|
39
|
-
transition('expanded => collapsed', useAnimation(collapseYWithMargin), {
|
|
40
|
-
params: { time: '400ms', easing: 'linear' },
|
|
41
|
-
}),
|
|
42
|
-
transition('collapsed => expanded', useAnimation(expandYWithMargin)),
|
|
43
|
-
]);
|
|
44
|
-
export const collapseLinearWithMargin = trigger('collapseLinearWithMargin', [
|
|
45
|
-
state('collapsed', style({ 'margin-top': '-100vh' })),
|
|
46
|
-
state('expanded', style({ 'margin-top': '0' })),
|
|
47
|
-
transition('expanded => collapsed', useAnimation(collapseYWithMargin, { params: { time: '200ms', easing: 'linear' } })),
|
|
48
|
-
transition('collapsed => expanded', useAnimation(expandYWithMargin, { params: { time: '250ms', easing: 'linear' } })),
|
|
49
|
-
]);
|
|
1
|
+
import { animate, animation, trigger, state, style, transition, useAnimation, } from '@angular/animations';
|
|
2
|
+
export const collapseY = animation([
|
|
3
|
+
style({ height: '*', overflow: 'hidden', 'box-sizing': 'border-box' }),
|
|
4
|
+
animate('{{ time }} {{ easing }}', style({ height: '0', padding: '0px' })),
|
|
5
|
+
], { params: { time: '350ms', easing: 'ease' } });
|
|
6
|
+
export const collapseYWithMargin = animation([
|
|
7
|
+
style({ 'margin-top': '0' }),
|
|
8
|
+
animate('{{ time }} {{ easing }}', style({ 'margin-left': '-100%' })),
|
|
9
|
+
], {
|
|
10
|
+
params: { time: '500ms', easing: 'ease' },
|
|
11
|
+
});
|
|
12
|
+
export const collapseX = animation([
|
|
13
|
+
style({ width: '*', overflow: 'hidden', 'box-sizing': 'border-box' }),
|
|
14
|
+
animate('{{ time }} {{ easing }}', style({ width: '0', padding: '0px' })),
|
|
15
|
+
], { params: { time: '350ms', easing: 'ease' } });
|
|
16
|
+
export const expandY = animation([
|
|
17
|
+
style({ height: '0', overflow: 'hidden', 'box-sizing': 'border-box' }),
|
|
18
|
+
animate('{{ time }} {{ easing }}', style({ height: '*', padding: '*' })),
|
|
19
|
+
], { params: { time: '350ms', easing: 'ease' } });
|
|
20
|
+
export const expandYWithMargin = animation([
|
|
21
|
+
style({ 'margin-top': '-100%' }),
|
|
22
|
+
animate('{{ time }} {{ easing }}', style({ 'margin-top': '0' })),
|
|
23
|
+
], {
|
|
24
|
+
params: { time: '500ms', easing: 'ease' },
|
|
25
|
+
});
|
|
26
|
+
export const expandX = animation([
|
|
27
|
+
style({ width: '0', overflow: 'hidden', 'box-sizing': 'border-box' }),
|
|
28
|
+
animate('{{ time }} {{ easing }}', style({ width: '*', padding: '*' })),
|
|
29
|
+
], { params: { time: '350ms', easing: 'ease' } });
|
|
30
|
+
export const collapse = trigger('collapse', [
|
|
31
|
+
state('collapsed', style({ height: '0', overflow: 'hidden' })),
|
|
32
|
+
state('expanded', style({ height: '*', overflow: 'hidden' })),
|
|
33
|
+
transition('expanded => collapsed', useAnimation(collapseY)),
|
|
34
|
+
transition('collapsed => expanded', useAnimation(expandY)),
|
|
35
|
+
]);
|
|
36
|
+
export const collapseWithMargin = trigger('collapseWithMargin', [
|
|
37
|
+
state('collapsed', style({ 'margin-top': '-100%' })),
|
|
38
|
+
state('expanded', style({ 'margin-top': '0' })),
|
|
39
|
+
transition('expanded => collapsed', useAnimation(collapseYWithMargin), {
|
|
40
|
+
params: { time: '400ms', easing: 'linear' },
|
|
41
|
+
}),
|
|
42
|
+
transition('collapsed => expanded', useAnimation(expandYWithMargin)),
|
|
43
|
+
]);
|
|
44
|
+
export const collapseLinearWithMargin = trigger('collapseLinearWithMargin', [
|
|
45
|
+
state('collapsed', style({ 'margin-top': '-100vh' })),
|
|
46
|
+
state('expanded', style({ 'margin-top': '0' })),
|
|
47
|
+
transition('expanded => collapsed', useAnimation(collapseYWithMargin, { params: { time: '200ms', easing: 'linear' } })),
|
|
48
|
+
transition('collapsed => expanded', useAnimation(expandYWithMargin, { params: { time: '250ms', easing: 'linear' } })),
|
|
49
|
+
]);
|
|
50
50
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGFwc2UuYW5pbWF0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3RoZW1lLXNoYXJlZC9zcmMvbGliL2FuaW1hdGlvbnMvY29sbGFwc2UuYW5pbWF0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsT0FBTyxFQUNQLFNBQVMsRUFDVCxPQUFPLEVBQ1AsS0FBSyxFQUNMLEtBQUssRUFDTCxVQUFVLEVBQ1YsWUFBWSxHQUNiLE1BQU0scUJBQXFCLENBQUM7QUFFN0IsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLFNBQVMsQ0FDaEM7SUFDRSxLQUFLLENBQUMsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxDQUFDO0lBQ3RFLE9BQU8sQ0FBQyx5QkFBeUIsRUFBRSxLQUFLLENBQUMsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0NBQzNFLEVBQ0QsRUFBRSxNQUFNLEVBQUUsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsRUFBRSxDQUM5QyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsU0FBUyxDQUMxQztJQUNFLEtBQUssQ0FBQyxFQUFFLFlBQVksRUFBRSxHQUFHLEVBQUUsQ0FBQztJQUM1QixPQUFPLENBQUMseUJBQXlCLEVBQUUsS0FBSyxDQUFDLEVBQUUsYUFBYSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7Q0FDdEUsRUFDRDtJQUNFLE1BQU0sRUFBRSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRTtDQUMxQyxDQUNGLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsU0FBUyxDQUNoQztJQUNFLEtBQUssQ0FBQyxFQUFFLEtB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QixFQUFFLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0NBQ3JFLENBQUMsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLE9BQU8sQ0FBQywwQkFBMEIsRUFBRTtJQUMxRSxLQUFLLENBQUMsV0FBVyxFQUFFLEtBQUssQ0FBQyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQ3JELEtBQUssQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLEVBQUUsWUFBWSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDL0MsVUFBVSxDQUNSLHVCQUF1QixFQUN2QixZQUFZLENBQUMsbUJBQW1CLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQ25GO0lBQ0QsVUFBVSxDQUNSLHVCQUF1QixFQUN2QixZQUFZLENBQUMsaUJBQWlCLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQ2pGO0NBQ0YsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBhbmltYXRlLFxyXG4gIGFuaW1hdGlvbixcclxuICB0cmlnZ2VyLFxyXG4gIHN0YXRlLFxyXG4gIHN0eWxlLFxyXG4gIHRyYW5zaXRpb24sXHJcbiAgdXNlQW5pbWF0aW9uLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xyXG5cclxuZXhwb3J0IGNvbnN0IGNvbGxhcHNlWSA9IGFuaW1hdGlvbihcclxuICBbXHJcbiAgICBzdHlsZSh7IGhlaWdodDogJyonLCBvdmVyZmxvdzogJ2hpZGRlbicsICdib3gtc2l6aW5nJzogJ2JvcmRlci1ib3gnIH0pLFxyXG4gICAgYW5pbWF0ZSgne3sgdGltZSB9fSB7eyBlYXNpbmcgfX0nLCBzdHlsZSh7IGhlaWdodDogJzAnLCBwYWRkaW5nOiAnMHB4JyB9KSksXHJcbiAgXSxcclxuICB7IHBhcmFtczogeyB0aW1lOiAnMzUwbXMnLCBlYXNpbmc6ICdlYXNlJyB9IH0sXHJcbik7XHJcblxyXG5leHBvcnQgY29uc3QgY29sbGFwc2VZV2l0aE1hcmdpbiA9IGFuaW1hdGlvbihcclxuICBbXHJcbiAgICBzdHlsZSh7ICdtYXJnaW4tdG9wJzogJzAnIH0pLFxyXG4gICAgYW5pbWF0ZSgne3sgdGltZSB9fSB7eyBlYXNpbmcgfX0nLCBzdHlsZSh7ICdtYXJnaW4tbGVmdCc6ICctMTAwJScgfSkpLFxyXG4gIF0sXHJcbiAge1xyXG4gICAgcGFyYW1zOiB7IHRpbWU6ICc1MDBtcycsIGVhc2luZzogJ2Vhc2UnIH0sXHJcbiAgfSxcclxuKTtcclxuXHJcbmV4cG9ydCBjb25zdCBjb2xsYXBzZVggPSBhbmltYXRpb24oXHJcbiAgW1xyXG4gICAgc3R5bGUoeyB3aWR0aDogJyonLCBvdmVyZmxvdzogJ2hpZGRlbicsICdib3gtc2l6aW5nJzogJ2JvcmRlci1ib3gnIH0pLFxyXG4gICAgYW5pbWF0ZSgne3sgdGltZSB9fSB7eyBlYXNpbmcgfX0nLCBzdHlsZSh7IHdpZHRoOiAnMCcsIHBhZGRpbmc6ICcwcHgnIH0pKSxcclxuICBdLFxyXG4gIHsgcGFyYW1zOiB7IHRpbWU6ICczNTBtcycsIGVhc2luZzogJ2Vhc2UnIH0gfSxcclxuKTtcclxuXHJcbmV4cG9ydCBjb25zdCBleHBhbmRZID0gYW5pbWF0aW9uKFxyXG4gIFtcclxuICAgIHN0eWxlKHsgaGVpZ2h0OiAnMCcsIG92ZXJmbG93OiAnaGlkZGVuJywgJ2JveC1zaXppbmcnOiAnYm9yZGVyLWJveCcgfSksXHJcbiAgICBhbmltYXRlKCd7eyB0aW1lIH19IHt7IGVhc2luZyB9fScsIHN0eWxlKHsgaGVpZ2h0OiAnKicsIHBhZGRpbmc6ICcqJyB9KSksXHJcbiAgXSxcclxuICB7IHBhcmFtczogeyB0aW1lOiAnMzUwbXMnLCBlYXNpbmc6ICdlYXNlJyB9IH0sXHJcbik7XHJcblxyXG5leHBvcnQgY29uc3QgZXhwYW5kWVdpdGhNYXJnaW4gPSBhbmltYXRpb24oXHJcbiAgW1xyXG4gICAgc3R5bGUoeyAnbWFyZ2luLXRvcCc6ICctMTAwJScgfSksXHJcbiAgICBhbmltYXRlKCd7eyB0aW1lIH19IHt7IGVhc2luZyB9fScsIHN0eWxlKHsgJ21hcmdpbi10b3AnOiAnMCcgfSkpLFxyXG4gIF0sXHJcbiAge1xyXG4gICAgcGFyYW1zOiB7IHRpbWU6ICc1MDBtcycsIGVhc2luZzogJ2Vhc2UnIH0sXHJcbiAgfSxcclxuKTtcclxuXHJcbmV4cG9ydCBjb25zdCBleHBhbmRYID0gYW5pbWF0aW9uKFxyXG4gIFtcclxuICAgIHN0eWxlKHsgd2lkdGg6ICcwJywgb3ZlcmZsb3c6ICdoaWRkZW4nLCAnYm94LXNpemluZyc6ICdib3JkZXItYm94JyB9KSxcclxuICAgIGFuaW1hdGUoJ3t7IHRpbWUgfX0ge3sgZWFzaW5nIH19Jywgc3R5bGUoeyB3aWR0aDogJyonLCBwYWRkaW5nOiAnKicgfSkpLFxyXG4gIF0sXHJcbiAgeyBwYXJhbXM6IHsgdGltZTogJzM1MG1zJywgZWFzaW5nOiAnZWFzZScgfSB9LFxyXG4pO1xyXG5cclxuZXhwb3J0IGNvbnN0IGNvbGxhcHNlID0gdHJpZ2dlcignY29sbGFwc2UnLCBbXHJcbiAgc3RhdGUoJ2NvbGxhcHNlZCcsIHN0eWxlKHsgaGVpZ2h0OiAnMCcsIG92ZXJmbG93OiAnaGlkZGVuJyB9KSksXHJcbiAgc3RhdGUoJ2V4cGFuZGVkJywgc3R5bGUoeyBoZWlnaHQ6ICcqJywgb3ZlcmZsb3c6ICdoaWRkZW4nIH0pKSxcclxuICB0cmFuc2l0aW9uKCdleHBhbmRlZCA9PiBjb2xsYXBzZWQnLCB1c2VBbmltYXRpb24oY29sbGFwc2VZKSksXHJcbiAgdHJhbnNpdGlvbignY29sbGFwc2VkID0+IGV4cGFuZGVkJywgdXNlQW5pbWF0aW9uKGV4cGFuZFkpKSxcclxuXSk7XHJcblxyXG5leHBvcnQgY29uc3QgY29sbGFwc2VXaXRoTWFyZ2luID0gdHJpZ2dlcignY29sbGFwc2VXaXRoTWFyZ2luJywgW1xyXG4gIHN0YXRlKCdjb2xsYXBzZWQnLCBzdHlsZSh7ICdtYXJnaW4tdG9wJzogJy0xMDAlJyB9KSksXHJcbiAgc3RhdGUoJ2V4cGFuZGVkJywgc3R5bGUoeyAnbWFyZ2luLXRvcCc6ICcwJyB9KSksXHJcbiAgdHJhbnNpdGlvbignZXhwYW5kZWQgPT4gY29sbGFwc2VkJywgdXNlQW5pbWF0aW9uKGNvbGxhcHNlWVdpdGhNYXJnaW4pLCB7XHJcbiAgICBwYXJhbXM6IHsgdGltZTogJzQwMG1zJywgZWFzaW5nOiAnbGluZWFyJyB9LFxyXG4gIH0pLFxyXG4gIHRyYW5zaXRpb24oJ2NvbGxhcHNlZCA9PiBleHBhbmRlZCcsIHVzZUFuaW1hdGlvbihleHBhbmRZV2l0aE1hcmdpbikpLFxyXG5dKTtcclxuXHJcbmV4cG9ydCBjb25zdCBjb2xsYXBzZUxpbmVhcldpdGhNYXJnaW4gPSB0cmlnZ2VyKCdjb2xsYXBzZUxpbmVhcldpdGhNYXJnaW4nLCBbXHJcbiAgc3RhdGUoJ2NvbGxhcHNlZCcsIHN0eWxlKHsgJ21hcmdpbi10b3AnOiAnLTEwMHZoJyB9KSksXHJcbiAgc3RhdGUoJ2V4cGFuZGVkJywgc3R5bGUoeyAnbWFyZ2luLXRvcCc6ICcwJyB9KSksXHJcbiAgdHJhbnNpdGlvbihcclxuICAgICdleHBhbmRlZCA9PiBjb2xsYXBzZWQnLFxyXG4gICAgdXNlQW5pbWF0aW9uKGNvbGxhcHNlWVdpdGhNYXJnaW4sIHsgcGFyYW1zOiB7IHRpbWU6ICcyMDBtcycsIGVhc2luZzogJ2xpbmVhcicgfSB9KSxcclxuICApLFxyXG4gIHRyYW5zaXRpb24oXHJcbiAgICAnY29sbGFwc2VkID0+IGV4cGFuZGVkJyxcclxuICAgIHVzZUFuaW1hdGlvbihleHBhbmRZV2l0aE1hcmdpbiwgeyBwYXJhbXM6IHsgdGltZTogJzI1MG1zJywgZWFzaW5nOiAnbGluZWFyJyB9IH0pLFxyXG4gICksXHJcbl0pO1xyXG4iXX0=
|