zek 14.2.91 → 16.0.0
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 +1 -1
- package/{esm2020 → esm2022}/lib/components/args.mjs +1 -1
- package/esm2022/lib/components/base.component.mjs +97 -0
- package/esm2022/lib/components/core-ui.component.mjs +195 -0
- package/esm2022/lib/components/core.component.mjs +40 -0
- package/esm2022/lib/components/edit-base.component.mjs +237 -0
- package/{esm2020 → esm2022}/lib/components/index.mjs +7 -7
- package/esm2022/lib/components/list-base.component.mjs +254 -0
- package/{esm2020 → esm2022}/lib/components/types.mjs +1 -1
- package/{esm2020 → esm2022}/lib/models/alert-type.mjs +11 -11
- package/{esm2020 → esm2022}/lib/models/captcha.model.mjs +1 -1
- package/{esm2020 → esm2022}/lib/models/ctor.mjs +1 -1
- package/{esm2020 → esm2022}/lib/models/edit-base.model.mjs +2 -2
- package/{esm2020 → esm2022}/lib/models/file.model.mjs +19 -19
- package/{esm2020 → esm2022}/lib/models/filter.model.mjs +11 -11
- package/{esm2020 → esm2022}/lib/models/gender.model.mjs +5 -5
- package/{esm2020 → esm2022}/lib/models/index.mjs +17 -17
- package/{esm2020 → esm2022}/lib/models/key-pair.model.mjs +13 -13
- package/{esm2020 → esm2022}/lib/models/list-base.model.mjs +2 -2
- package/{esm2020 → esm2022}/lib/models/login.model.mjs +1 -1
- package/{esm2020 → esm2022}/lib/models/month.model.mjs +15 -15
- package/{esm2020 → esm2022}/lib/models/nav.model.mjs +1 -1
- package/{esm2020 → esm2022}/lib/models/pager.model.mjs +31 -31
- package/{esm2020 → esm2022}/lib/models/print.model.mjs +5 -5
- package/{esm2020 → esm2022}/lib/models/tree.model.mjs +3 -3
- package/{esm2020 → esm2022}/lib/models/valid-event-args.model.mjs +5 -5
- package/esm2022/lib/modules/age/age.module.mjs +23 -0
- package/esm2022/lib/modules/age/age.pipe.mjs +22 -0
- package/{esm2020 → esm2022}/lib/modules/age/index.mjs +2 -2
- package/esm2022/lib/modules/alert/alert/alert.mjs +55 -0
- package/esm2022/lib/modules/alert/alert.module.mjs +36 -0
- package/{esm2020 → esm2022}/lib/modules/alert/index.mjs +5 -5
- package/esm2022/lib/modules/alert/toast/toast.mjs +110 -0
- package/esm2022/lib/modules/alert/validation/validation.mjs +86 -0
- package/esm2022/lib/modules/autocomplete/autocomplete.directive.mjs +25 -0
- package/esm2022/lib/modules/autocomplete/autocomplete.module.mjs +23 -0
- package/{esm2020 → esm2022}/lib/modules/autocomplete/index.mjs +2 -2
- package/esm2022/lib/modules/bb/bb-modal-base.component.mjs +75 -0
- package/esm2022/lib/modules/bb/bb-modal-toolbar.mjs +45 -0
- package/esm2022/lib/modules/bb/bb.component.mjs +189 -0
- package/esm2022/lib/modules/bb/bb.module.mjs +38 -0
- package/{esm2020 → esm2022}/lib/modules/bb/index.mjs +4 -4
- package/esm2022/lib/modules/callback/callback.module.mjs +23 -0
- package/esm2022/lib/modules/callback/callback.pipe.mjs +23 -0
- package/{esm2020 → esm2022}/lib/modules/callback/index.mjs +2 -2
- package/esm2022/lib/modules/card/card/card.component.mjs +48 -0
- package/esm2022/lib/modules/card/card.module.mjs +19 -0
- package/{esm2020 → esm2022}/lib/modules/card/index.mjs +2 -2
- package/esm2022/lib/modules/date-ago/date-ago.pipe.mjs +47 -0
- package/esm2022/lib/modules/date-ago/date.module.mjs +23 -0
- package/{esm2020 → esm2022}/lib/modules/date-ago/index.mjs +2 -2
- package/esm2022/lib/modules/datepicker/date-value-accessor.mjs +189 -0
- package/esm2022/lib/modules/datepicker/datepicker.module.mjs +32 -0
- package/{esm2020 → esm2022}/lib/modules/datepicker/index.mjs +2 -2
- package/esm2022/lib/modules/edit-toolbar/edit-toolbar.component.mjs +75 -0
- package/esm2022/lib/modules/edit-toolbar/edit-toolbar.module.mjs +27 -0
- package/{esm2020 → esm2022}/lib/modules/edit-toolbar/index.mjs +2 -2
- package/esm2022/lib/modules/file/file-size.pipe.mjs +48 -0
- package/esm2022/lib/modules/file/file.module.mjs +23 -0
- package/{esm2020 → esm2022}/lib/modules/file/index.mjs +2 -2
- package/esm2022/lib/modules/file-viewer/file-viewer.mjs +52 -0
- package/{esm2020 → esm2022}/lib/modules/file-viewer/index.mjs +2 -2
- package/esm2022/lib/modules/file-viewer/module.mjs +31 -0
- package/esm2022/lib/modules/grid-toolbar/grid-toolbar/grid-toolbar.component.mjs +146 -0
- package/esm2022/lib/modules/grid-toolbar/grid-toolbar-bar/grid-toolbar-bar.component.mjs +15 -0
- package/esm2022/lib/modules/grid-toolbar/grid-toolbar.module.mjs +34 -0
- package/{esm2020 → esm2022}/lib/modules/grid-toolbar/index.mjs +3 -3
- package/{esm2020 → esm2022}/lib/modules/index.mjs +32 -32
- package/{esm2020 → esm2022}/lib/modules/list-toolbar/index.mjs +2 -2
- package/esm2022/lib/modules/list-toolbar/list-toolbar.component.mjs +110 -0
- package/esm2022/lib/modules/list-toolbar/list-toolbar.module.mjs +25 -0
- package/{esm2020 → esm2022}/lib/modules/loading/index.mjs +3 -3
- package/esm2022/lib/modules/loading/loading-interceptor.mjs +80 -0
- package/esm2022/lib/modules/loading/loading.component.mjs +36 -0
- package/esm2022/lib/modules/loading/loading.module.mjs +33 -0
- package/esm2022/lib/modules/modal/filter-modal/filter-modal.component.mjs +27 -0
- package/{esm2020 → esm2022}/lib/modules/modal/index.mjs +4 -4
- package/esm2022/lib/modules/modal/modal/modal.component.mjs +313 -0
- package/esm2022/lib/modules/modal/modal.module.mjs +63 -0
- package/esm2022/lib/modules/modal/sum-modal/sum-modal.component.mjs +28 -0
- package/{esm2020 → esm2022}/lib/modules/page-title/index.mjs +2 -2
- package/esm2022/lib/modules/page-title/page-title.component.mjs +32 -0
- package/esm2022/lib/modules/page-title/page-title.module.mjs +27 -0
- package/{esm2020 → esm2022}/lib/modules/pager/index.mjs +2 -2
- package/esm2022/lib/modules/pager/pager/pager.component.mjs +51 -0
- package/esm2022/lib/modules/pager/pager.module.mjs +27 -0
- package/{esm2020 → esm2022}/lib/modules/password/index.mjs +2 -2
- package/{esm2020 → esm2022}/lib/modules/password/password.component.mjs +48 -47
- package/esm2022/lib/modules/password/password.module.mjs +31 -0
- package/{esm2020 → esm2022}/lib/modules/progress/index.mjs +2 -2
- package/esm2022/lib/modules/progress/module.mjs +27 -0
- package/esm2022/lib/modules/progress/progress.mjs +98 -0
- package/{esm2020 → esm2022}/lib/modules/radio/index.mjs +2 -2
- package/esm2022/lib/modules/radio/radio-button.component.mjs +135 -0
- package/esm2022/lib/modules/radio/radio.module.mjs +23 -0
- package/{esm2020 → esm2022}/lib/modules/readonly/index.mjs +2 -2
- package/esm2022/lib/modules/readonly/readonly.directive.mjs +26 -0
- package/esm2022/lib/modules/readonly/readonly.module.mjs +23 -0
- package/{esm2020 → esm2022}/lib/modules/recaptcha/index.mjs +3 -3
- package/{esm2020 → esm2022}/lib/modules/recaptcha/loader.mjs +12 -12
- package/{esm2020 → esm2022}/lib/modules/recaptcha/recaptcha.model.mjs +1 -1
- package/esm2022/lib/modules/recaptcha/recaptcha.module.mjs +33 -0
- package/esm2022/lib/modules/recaptcha/recaptcha.service.mjs +120 -0
- package/{esm2020 → esm2022}/lib/modules/safe/index.mjs +2 -2
- package/esm2022/lib/modules/safe/safe.module.mjs +21 -0
- package/esm2022/lib/modules/safe/safe.pipe.mjs +38 -0
- package/{esm2020 → esm2022}/lib/modules/select/index.mjs +2 -2
- package/{esm2020 → esm2022}/lib/modules/select/model.mjs +3 -3
- package/esm2022/lib/modules/select/module.mjs +29 -0
- package/esm2022/lib/modules/select/select.mjs +199 -0
- package/{esm2020 → esm2022}/lib/modules/select2/index.mjs +2 -2
- package/esm2022/lib/modules/select2/select2.component.mjs +171 -0
- package/esm2022/lib/modules/select2/select2.module.mjs +29 -0
- package/{esm2020 → esm2022}/lib/modules/select2-multiple/index.mjs +2 -2
- package/esm2022/lib/modules/select2-multiple/select2-multiple.component.mjs +133 -0
- package/esm2022/lib/modules/select2-multiple/select2-multiple.module.mjs +29 -0
- package/{esm2020 → esm2022}/lib/modules/sort/index.mjs +3 -3
- package/esm2022/lib/modules/sort/sort-button-group/sort-button-group.component.mjs +80 -0
- package/esm2022/lib/modules/sort/sort.directive.mjs +118 -0
- package/esm2022/lib/modules/sort/sort.module.mjs +34 -0
- package/{esm2020 → esm2022}/lib/modules/time/index.mjs +3 -3
- package/esm2022/lib/modules/time/time.module.mjs +28 -0
- package/esm2022/lib/modules/time/time.pipe.mjs +41 -0
- package/esm2022/lib/modules/time/timer-service.mjs +90 -0
- package/{esm2020 → esm2022}/lib/modules/validator/field-validator.mjs +21 -20
- package/{esm2020 → esm2022}/lib/modules/validator/index.mjs +2 -2
- package/esm2022/lib/modules/validator/validator.module.mjs +27 -0
- package/esm2022/lib/modules/validators/directive.mjs +76 -0
- package/{esm2020 → esm2022}/lib/modules/validators/index.mjs +3 -3
- package/esm2022/lib/modules/validators/module.mjs +23 -0
- package/{esm2020 → esm2022}/lib/modules/validators/validator.mjs +71 -71
- package/{esm2020 → esm2022}/lib/modules/wizard/index.mjs +3 -3
- package/esm2022/lib/modules/wizard/wizard/wizard.component.mjs +66 -0
- package/esm2022/lib/modules/wizard/wizard.module.mjs +34 -0
- package/esm2022/lib/modules/wizard/wizard2/wizard2.component.mjs +14 -0
- package/esm2022/lib/services/alert.service.mjs +77 -0
- package/esm2022/lib/services/auth-guard.service.mjs +29 -0
- package/esm2022/lib/services/auth.service.mjs +204 -0
- package/{esm2020 → esm2022}/lib/services/base.service.mjs +7 -7
- package/{esm2020 → esm2022}/lib/services/crud.service.mjs +42 -42
- package/esm2022/lib/services/http-error-handler.service.mjs +142 -0
- package/{esm2020 → esm2022}/lib/services/index.mjs +6 -6
- package/esm2022/lib/services/web.api.mjs +127 -0
- package/{esm2020 → esm2022}/lib/tokens.mjs +5 -5
- package/{esm2020 → esm2022}/lib/utils/array-helper.mjs +113 -113
- package/{esm2020 → esm2022}/lib/utils/base64-helper.mjs +8 -8
- package/{esm2020 → esm2022}/lib/utils/bitwise-helper.mjs +13 -13
- package/{esm2020 → esm2022}/lib/utils/bootstrap.helper.mjs +126 -126
- package/{esm2020 → esm2022}/lib/utils/convert.mjs +34 -34
- package/{esm2020 → esm2022}/lib/utils/css-helper.mjs +40 -40
- package/esm2022/lib/utils/date-helper.mjs +236 -0
- package/{esm2020 → esm2022}/lib/utils/file.helper.mjs +25 -25
- package/{esm2020 → esm2022}/lib/utils/filter-helper.mjs +12 -12
- package/{esm2020 → esm2022}/lib/utils/handler.mjs +23 -23
- package/{esm2020 → esm2022}/lib/utils/html-helper.mjs +65 -65
- package/{esm2020 → esm2022}/lib/utils/index.mjs +22 -22
- package/{esm2020 → esm2022}/lib/utils/math-helper.mjs +6 -6
- package/{esm2020 → esm2022}/lib/utils/object-helper.mjs +63 -63
- package/{esm2020 → esm2022}/lib/utils/overlap-helper.mjs +72 -72
- package/{esm2020 → esm2022}/lib/utils/pager-helper.mjs +62 -62
- package/{esm2020 → esm2022}/lib/utils/random-helper.mjs +10 -10
- package/{esm2020 → esm2022}/lib/utils/storage-helper.mjs +27 -27
- package/{esm2020 → esm2022}/lib/utils/string-helper.mjs +31 -31
- package/{esm2020 → esm2022}/lib/utils/thenBy.mjs +40 -40
- package/{esm2020 → esm2022}/lib/utils/time-helper.mjs +46 -46
- package/{esm2020 → esm2022}/lib/utils/url-helper.mjs +25 -25
- package/esm2022/lib/utils/validation-helper.mjs +11 -0
- package/esm2022/lib/zek.module.mjs +34 -0
- package/{esm2020 → esm2022}/public-api.mjs +10 -10
- package/{esm2020 → esm2022}/zek.mjs +4 -4
- package/{fesm2020 → fesm2022}/zek.mjs +6415 -6404
- package/fesm2022/zek.mjs.map +1 -0
- package/index.d.ts +5 -5
- package/lib/components/args.d.ts +5 -5
- package/lib/components/base.component.d.ts +24 -24
- package/lib/components/core-ui.component.d.ts +86 -86
- package/lib/components/core.component.d.ts +15 -15
- package/lib/components/edit-base.component.d.ts +59 -59
- package/lib/components/index.d.ts +7 -7
- package/lib/components/list-base.component.d.ts +61 -61
- package/lib/components/types.d.ts +3 -3
- package/lib/models/alert-type.d.ts +10 -10
- package/lib/models/captcha.model.d.ts +3 -3
- package/lib/models/ctor.d.ts +3 -3
- package/lib/models/edit-base.model.d.ts +5 -5
- package/lib/models/file.model.d.ts +14 -14
- package/lib/models/filter.model.d.ts +9 -9
- package/lib/models/gender.model.d.ts +4 -4
- package/lib/models/index.d.ts +16 -16
- package/lib/models/key-pair.model.d.ts +14 -14
- package/lib/models/list-base.model.d.ts +4 -4
- package/lib/models/login.model.d.ts +28 -28
- package/lib/models/month.model.d.ts +14 -14
- package/lib/models/nav.model.d.ts +19 -19
- package/lib/models/pager.model.d.ts +21 -21
- package/lib/models/print.model.d.ts +4 -4
- package/lib/models/tree.model.d.ts +8 -8
- package/lib/models/valid-event-args.model.d.ts +3 -3
- package/lib/modules/age/age.module.d.ts +8 -8
- package/lib/modules/age/age.pipe.d.ts +7 -7
- package/lib/modules/age/index.d.ts +2 -2
- package/lib/modules/alert/alert/alert.d.ts +16 -16
- package/lib/modules/alert/alert.module.d.ts +10 -10
- package/lib/modules/alert/index.d.ts +5 -5
- package/lib/modules/alert/toast/toast.d.ts +20 -20
- package/lib/modules/alert/validation/validation.d.ts +17 -17
- package/lib/modules/autocomplete/autocomplete.directive.d.ts +11 -11
- package/lib/modules/autocomplete/autocomplete.module.d.ts +8 -8
- package/lib/modules/autocomplete/index.d.ts +2 -2
- package/lib/modules/bb/bb-modal-base.component.d.ts +26 -26
- package/lib/modules/bb/bb-modal-toolbar.d.ts +16 -16
- package/lib/modules/bb/bb.component.d.ts +52 -52
- package/lib/modules/bb/bb.module.d.ts +11 -11
- package/lib/modules/bb/index.d.ts +4 -4
- package/lib/modules/callback/callback.module.d.ts +8 -8
- package/lib/modules/callback/callback.pipe.d.ts +7 -7
- package/lib/modules/callback/index.d.ts +2 -2
- package/lib/modules/card/card/card.component.d.ts +21 -21
- package/lib/modules/card/card.module.d.ts +8 -8
- package/lib/modules/card/index.d.ts +2 -2
- package/lib/modules/date-ago/date-ago.pipe.d.ts +7 -7
- package/lib/modules/date-ago/date.module.d.ts +8 -8
- package/lib/modules/date-ago/index.d.ts +2 -2
- package/lib/modules/datepicker/date-value-accessor.d.ts +24 -24
- package/lib/modules/datepicker/datepicker.module.d.ts +14 -14
- package/lib/modules/datepicker/index.d.ts +2 -2
- package/lib/modules/edit-toolbar/edit-toolbar.component.d.ts +25 -25
- package/lib/modules/edit-toolbar/edit-toolbar.module.d.ts +9 -9
- package/lib/modules/edit-toolbar/index.d.ts +2 -2
- package/lib/modules/file/file-size.pipe.d.ts +8 -8
- package/lib/modules/file/file.module.d.ts +8 -8
- package/lib/modules/file/index.d.ts +2 -2
- package/lib/modules/file-viewer/file-viewer.d.ts +10 -10
- package/lib/modules/file-viewer/index.d.ts +2 -2
- package/lib/modules/file-viewer/module.d.ts +10 -10
- package/lib/modules/grid-toolbar/grid-toolbar/grid-toolbar.component.d.ts +50 -50
- package/lib/modules/grid-toolbar/grid-toolbar-bar/grid-toolbar-bar.component.d.ts +6 -6
- package/lib/modules/grid-toolbar/grid-toolbar.module.d.ts +10 -10
- package/lib/modules/grid-toolbar/index.d.ts +3 -3
- package/lib/modules/index.d.ts +31 -31
- package/lib/modules/list-toolbar/index.d.ts +2 -2
- package/lib/modules/list-toolbar/list-toolbar.component.d.ts +41 -41
- package/lib/modules/list-toolbar/list-toolbar.module.d.ts +9 -9
- package/lib/modules/loading/index.d.ts +2 -2
- package/lib/modules/loading/loading-interceptor.d.ts +21 -21
- package/lib/modules/loading/loading.component.d.ts +13 -13
- package/lib/modules/loading/loading.module.d.ts +8 -8
- package/lib/modules/modal/filter-modal/filter-modal.component.d.ts +10 -10
- package/lib/modules/modal/index.d.ts +4 -4
- package/lib/modules/modal/modal/modal.component.d.ts +90 -90
- package/lib/modules/modal/modal.module.d.ts +12 -12
- package/lib/modules/modal/sum-modal/sum-modal.component.d.ts +8 -8
- package/lib/modules/page-title/index.d.ts +2 -2
- package/lib/modules/page-title/page-title.component.d.ts +12 -12
- package/lib/modules/page-title/page-title.module.d.ts +9 -9
- package/lib/modules/pager/index.d.ts +2 -2
- package/lib/modules/pager/pager/pager.component.d.ts +17 -17
- package/lib/modules/pager/pager.module.d.ts +9 -9
- package/lib/modules/password/index.d.ts +2 -2
- package/lib/modules/password/password.component.d.ts +18 -18
- package/lib/modules/password/password.module.d.ts +10 -10
- package/lib/modules/progress/index.d.ts +2 -2
- package/lib/modules/progress/module.d.ts +9 -9
- package/lib/modules/progress/progress.d.ts +33 -33
- package/lib/modules/radio/index.d.ts +2 -2
- package/lib/modules/radio/radio-button.component.d.ts +44 -41
- package/lib/modules/radio/radio.module.d.ts +8 -8
- package/lib/modules/readonly/index.d.ts +2 -2
- package/lib/modules/readonly/readonly.directive.d.ts +8 -8
- package/lib/modules/readonly/readonly.module.d.ts +8 -8
- package/lib/modules/recaptcha/index.d.ts +3 -3
- package/lib/modules/recaptcha/loader.d.ts +12 -12
- package/lib/modules/recaptcha/recaptcha.model.d.ts +109 -109
- package/lib/modules/recaptcha/recaptcha.module.d.ts +10 -10
- package/lib/modules/recaptcha/recaptcha.service.d.ts +60 -60
- package/lib/modules/safe/index.d.ts +2 -2
- package/lib/modules/safe/safe.module.d.ts +8 -8
- package/lib/modules/safe/safe.pipe.d.ts +16 -16
- package/lib/modules/select/index.d.ts +2 -2
- package/lib/modules/select/model.d.ts +5 -5
- package/lib/modules/select/module.d.ts +9 -9
- package/lib/modules/select/select.d.ts +42 -42
- package/lib/modules/select2/index.d.ts +2 -2
- package/lib/modules/select2/select2.component.d.ts +31 -31
- package/lib/modules/select2/select2.module.d.ts +9 -9
- package/lib/modules/select2-multiple/index.d.ts +2 -2
- package/lib/modules/select2-multiple/select2-multiple.component.d.ts +30 -30
- package/lib/modules/select2-multiple/select2-multiple.module.d.ts +9 -9
- package/lib/modules/sort/index.d.ts +3 -3
- package/lib/modules/sort/sort-button-group/sort-button-group.component.d.ts +34 -34
- package/lib/modules/sort/sort.directive.d.ts +34 -34
- package/lib/modules/sort/sort.module.d.ts +10 -10
- package/lib/modules/time/index.d.ts +3 -3
- package/lib/modules/time/time.module.d.ts +8 -8
- package/lib/modules/time/time.pipe.d.ts +11 -11
- package/lib/modules/time/timer-service.d.ts +21 -21
- package/lib/modules/validator/field-validator.d.ts +7 -7
- package/lib/modules/validator/index.d.ts +2 -2
- package/lib/modules/validator/validator.module.d.ts +9 -9
- package/lib/modules/validators/directive.d.ts +67 -67
- package/lib/modules/validators/index.d.ts +3 -3
- package/lib/modules/validators/module.d.ts +8 -8
- package/lib/modules/validators/validator.d.ts +33 -33
- package/lib/modules/wizard/index.d.ts +3 -3
- package/lib/modules/wizard/wizard/wizard.component.d.ts +19 -19
- package/lib/modules/wizard/wizard.module.d.ts +10 -10
- package/lib/modules/wizard/wizard2/wizard2.component.d.ts +6 -6
- package/lib/services/alert.service.d.ts +33 -33
- package/lib/services/auth-guard.service.d.ts +12 -12
- package/lib/services/auth.service.d.ts +30 -30
- package/lib/services/base.service.d.ts +8 -8
- package/lib/services/crud.service.d.ts +32 -32
- package/lib/services/http-error-handler.service.d.ts +39 -39
- package/lib/services/index.d.ts +6 -6
- package/lib/services/web.api.d.ts +31 -31
- package/lib/tokens.d.ts +5 -5
- package/lib/utils/array-helper.d.ts +14 -14
- package/lib/utils/base64-helper.d.ts +4 -4
- package/lib/utils/bitwise-helper.d.ts +4 -4
- package/lib/utils/bootstrap.helper.d.ts +25 -25
- package/lib/utils/convert.d.ts +7 -7
- package/lib/utils/css-helper.d.ts +5 -5
- package/lib/utils/date-helper.d.ts +43 -43
- package/lib/utils/file.helper.d.ts +3 -3
- package/lib/utils/filter-helper.d.ts +3 -3
- package/lib/utils/handler.d.ts +4 -4
- package/lib/utils/html-helper.d.ts +7 -7
- package/lib/utils/index.d.ts +22 -22
- package/lib/utils/math-helper.d.ts +3 -3
- package/lib/utils/object-helper.d.ts +13 -13
- package/lib/utils/overlap-helper.d.ts +22 -22
- package/lib/utils/pager-helper.d.ts +4 -4
- package/lib/utils/random-helper.d.ts +3 -3
- package/lib/utils/storage-helper.d.ts +4 -4
- package/lib/utils/string-helper.d.ts +8 -8
- package/lib/utils/thenBy.d.ts +4 -4
- package/lib/utils/time-helper.d.ts +7 -7
- package/lib/utils/url-helper.d.ts +5 -5
- package/lib/utils/validation-helper.d.ts +4 -4
- package/lib/zek.module.d.ts +14 -14
- package/package.json +9 -15
- package/public-api.d.ts +7 -7
- package/esm2020/lib/components/base.component.mjs +0 -96
- package/esm2020/lib/components/core-ui.component.mjs +0 -194
- package/esm2020/lib/components/core.component.mjs +0 -39
- package/esm2020/lib/components/edit-base.component.mjs +0 -234
- package/esm2020/lib/components/list-base.component.mjs +0 -253
- package/esm2020/lib/modules/age/age.module.mjs +0 -22
- package/esm2020/lib/modules/age/age.pipe.mjs +0 -21
- package/esm2020/lib/modules/alert/alert/alert.mjs +0 -54
- package/esm2020/lib/modules/alert/alert.module.mjs +0 -35
- package/esm2020/lib/modules/alert/toast/toast.mjs +0 -109
- package/esm2020/lib/modules/alert/validation/validation.mjs +0 -85
- package/esm2020/lib/modules/autocomplete/autocomplete.directive.mjs +0 -24
- package/esm2020/lib/modules/autocomplete/autocomplete.module.mjs +0 -22
- package/esm2020/lib/modules/bb/bb-modal-base.component.mjs +0 -74
- package/esm2020/lib/modules/bb/bb-modal-toolbar.mjs +0 -44
- package/esm2020/lib/modules/bb/bb.component.mjs +0 -188
- package/esm2020/lib/modules/bb/bb.module.mjs +0 -37
- package/esm2020/lib/modules/callback/callback.module.mjs +0 -22
- package/esm2020/lib/modules/callback/callback.pipe.mjs +0 -22
- package/esm2020/lib/modules/card/card/card.component.mjs +0 -47
- package/esm2020/lib/modules/card/card.module.mjs +0 -18
- package/esm2020/lib/modules/date-ago/date-ago.pipe.mjs +0 -46
- package/esm2020/lib/modules/date-ago/date.module.mjs +0 -22
- package/esm2020/lib/modules/datepicker/date-value-accessor.mjs +0 -188
- package/esm2020/lib/modules/datepicker/datepicker.module.mjs +0 -31
- package/esm2020/lib/modules/edit-toolbar/edit-toolbar.component.mjs +0 -74
- package/esm2020/lib/modules/edit-toolbar/edit-toolbar.module.mjs +0 -26
- package/esm2020/lib/modules/file/file-size.pipe.mjs +0 -47
- package/esm2020/lib/modules/file/file.module.mjs +0 -22
- package/esm2020/lib/modules/file-viewer/file-viewer.mjs +0 -51
- package/esm2020/lib/modules/file-viewer/module.mjs +0 -30
- package/esm2020/lib/modules/grid-toolbar/grid-toolbar/grid-toolbar.component.mjs +0 -145
- package/esm2020/lib/modules/grid-toolbar/grid-toolbar-bar/grid-toolbar-bar.component.mjs +0 -14
- package/esm2020/lib/modules/grid-toolbar/grid-toolbar.module.mjs +0 -33
- package/esm2020/lib/modules/list-toolbar/list-toolbar.component.mjs +0 -109
- package/esm2020/lib/modules/list-toolbar/list-toolbar.module.mjs +0 -24
- package/esm2020/lib/modules/loading/loading-interceptor.mjs +0 -79
- package/esm2020/lib/modules/loading/loading.component.mjs +0 -35
- package/esm2020/lib/modules/loading/loading.module.mjs +0 -32
- package/esm2020/lib/modules/modal/filter-modal/filter-modal.component.mjs +0 -26
- package/esm2020/lib/modules/modal/modal/modal.component.mjs +0 -307
- package/esm2020/lib/modules/modal/modal.module.mjs +0 -62
- package/esm2020/lib/modules/modal/sum-modal/sum-modal.component.mjs +0 -27
- package/esm2020/lib/modules/page-title/page-title.component.mjs +0 -31
- package/esm2020/lib/modules/page-title/page-title.module.mjs +0 -26
- package/esm2020/lib/modules/pager/pager/pager.component.mjs +0 -50
- package/esm2020/lib/modules/pager/pager.module.mjs +0 -26
- package/esm2020/lib/modules/password/password.module.mjs +0 -30
- package/esm2020/lib/modules/progress/module.mjs +0 -26
- package/esm2020/lib/modules/progress/progress.mjs +0 -97
- package/esm2020/lib/modules/radio/radio-button.component.mjs +0 -123
- package/esm2020/lib/modules/radio/radio.module.mjs +0 -22
- package/esm2020/lib/modules/readonly/readonly.directive.mjs +0 -25
- package/esm2020/lib/modules/readonly/readonly.module.mjs +0 -22
- package/esm2020/lib/modules/recaptcha/recaptcha.module.mjs +0 -32
- package/esm2020/lib/modules/recaptcha/recaptcha.service.mjs +0 -119
- package/esm2020/lib/modules/safe/safe.module.mjs +0 -20
- package/esm2020/lib/modules/safe/safe.pipe.mjs +0 -37
- package/esm2020/lib/modules/select/module.mjs +0 -28
- package/esm2020/lib/modules/select/select.mjs +0 -198
- package/esm2020/lib/modules/select2/select2.component.mjs +0 -170
- package/esm2020/lib/modules/select2/select2.module.mjs +0 -28
- package/esm2020/lib/modules/select2-multiple/select2-multiple.component.mjs +0 -132
- package/esm2020/lib/modules/select2-multiple/select2-multiple.module.mjs +0 -28
- package/esm2020/lib/modules/sort/sort-button-group/sort-button-group.component.mjs +0 -79
- package/esm2020/lib/modules/sort/sort.directive.mjs +0 -117
- package/esm2020/lib/modules/sort/sort.module.mjs +0 -33
- package/esm2020/lib/modules/time/time.module.mjs +0 -27
- package/esm2020/lib/modules/time/time.pipe.mjs +0 -40
- package/esm2020/lib/modules/time/timer-service.mjs +0 -89
- package/esm2020/lib/modules/validator/validator.module.mjs +0 -26
- package/esm2020/lib/modules/validators/directive.mjs +0 -75
- package/esm2020/lib/modules/validators/module.mjs +0 -22
- package/esm2020/lib/modules/wizard/wizard/wizard.component.mjs +0 -65
- package/esm2020/lib/modules/wizard/wizard.module.mjs +0 -33
- package/esm2020/lib/modules/wizard/wizard2/wizard2.component.mjs +0 -13
- package/esm2020/lib/services/alert.service.mjs +0 -76
- package/esm2020/lib/services/auth-guard.service.mjs +0 -28
- package/esm2020/lib/services/auth.service.mjs +0 -203
- package/esm2020/lib/services/http-error-handler.service.mjs +0 -141
- package/esm2020/lib/services/web.api.mjs +0 -126
- package/esm2020/lib/utils/date-helper.mjs +0 -235
- package/esm2020/lib/utils/validation-helper.mjs +0 -10
- package/esm2020/lib/zek.module.mjs +0 -33
- package/fesm2015/zek.mjs +0 -6682
- package/fesm2015/zek.mjs.map +0 -1
- package/fesm2020/zek.mjs.map +0 -1
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { Injectable, Input } from "@angular/core";
|
|
2
|
+
import { Subject, timer } from "rxjs";
|
|
3
|
+
import { map, takeWhile } from "rxjs/operators";
|
|
4
|
+
import { DateHelper } from "../../utils";
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
class TimerService {
|
|
7
|
+
get count() {
|
|
8
|
+
return this._count;
|
|
9
|
+
}
|
|
10
|
+
get left() {
|
|
11
|
+
return this._left;
|
|
12
|
+
}
|
|
13
|
+
// tickerInterval: any;
|
|
14
|
+
// expired: Observable<number> = new Observable<number>();
|
|
15
|
+
// initialCountValue: number = 0;
|
|
16
|
+
constructor() {
|
|
17
|
+
this.seconds = 0;
|
|
18
|
+
// running: boolean = false;
|
|
19
|
+
this._count = 0;
|
|
20
|
+
this._left = 0;
|
|
21
|
+
this.expireDate = null;
|
|
22
|
+
this.subscription = null;
|
|
23
|
+
//@Output() checkTime: EventEmitter<number> = new EventEmitter();
|
|
24
|
+
this.tick = new Subject();
|
|
25
|
+
this.completed = new Subject();
|
|
26
|
+
}
|
|
27
|
+
startHour(hours, minutes, seconds) {
|
|
28
|
+
this.start((hours ? hours * 60 * 60 : 0) + (minutes ? minutes * 60 : 0) + seconds);
|
|
29
|
+
}
|
|
30
|
+
startMinute(minutes, seconds) {
|
|
31
|
+
this.start((minutes ? minutes * 60 : 0) + seconds);
|
|
32
|
+
}
|
|
33
|
+
start(seconds) {
|
|
34
|
+
this.clear();
|
|
35
|
+
this._left = seconds;
|
|
36
|
+
this._count = seconds;
|
|
37
|
+
this.expireDate = DateHelper.addSeconds(new Date(), seconds);
|
|
38
|
+
//this.internalTick();//because run first tick value example 60 -> not 59
|
|
39
|
+
const source = timer(0, 1000).pipe(
|
|
40
|
+
//map(i => this.count - i),
|
|
41
|
+
//takeWhile(i => i > 0),
|
|
42
|
+
map(_i => this._left--), takeWhile(_i => this.left >= 0)
|
|
43
|
+
//tap(s => this.checkTime.emit(s))
|
|
44
|
+
);
|
|
45
|
+
this.subscription = source.subscribe(() => {
|
|
46
|
+
this.internalTick();
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
clear() {
|
|
50
|
+
this.subscription?.unsubscribe();
|
|
51
|
+
this.subscription = null;
|
|
52
|
+
this.expireDate = null;
|
|
53
|
+
}
|
|
54
|
+
internalTick() {
|
|
55
|
+
if (this.tick) {
|
|
56
|
+
this.tick.next(this._left);
|
|
57
|
+
}
|
|
58
|
+
if (this.left <= 0 && this.completed) {
|
|
59
|
+
this.completed.next(null);
|
|
60
|
+
}
|
|
61
|
+
/*
|
|
62
|
+
// get total seconds between the times
|
|
63
|
+
let delta = Math.abs(date_future - date_now) / 1000;
|
|
64
|
+
|
|
65
|
+
// calculate (and subtract) whole days
|
|
66
|
+
let days = Math.floor(delta / 86400);
|
|
67
|
+
delta -= days * 86400;
|
|
68
|
+
|
|
69
|
+
// calculate (and subtract) whole hours
|
|
70
|
+
let hours = Math.floor(delta / 3600) % 24;
|
|
71
|
+
delta -= hours * 3600;
|
|
72
|
+
|
|
73
|
+
// calculate (and subtract) whole minutes
|
|
74
|
+
let minutes = Math.floor(delta / 60) % 60;
|
|
75
|
+
delta -= minutes * 60;
|
|
76
|
+
|
|
77
|
+
// what's left is seconds
|
|
78
|
+
let seconds = delta % 60; // in theory the modulus is not required
|
|
79
|
+
*/
|
|
80
|
+
}
|
|
81
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: TimerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
82
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: TimerService }); }
|
|
83
|
+
}
|
|
84
|
+
export { TimerService };
|
|
85
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: TimerService, decorators: [{
|
|
86
|
+
type: Injectable
|
|
87
|
+
}], ctorParameters: function () { return []; }, propDecorators: { seconds: [{
|
|
88
|
+
type: Input
|
|
89
|
+
}] } });
|
|
90
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZXItc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3play9zcmMvbGliL21vZHVsZXMvdGltZS90aW1lci1zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxPQUFPLEVBQWdCLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNwRCxPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBTyxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxhQUFhLENBQUM7O0FBRXpDLE1BQ2EsWUFBWTtJQU1yQixJQUFXLEtBQUs7UUFDWixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDdkIsQ0FBQztJQUdELElBQVcsSUFBSTtRQUNYLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUN0QixDQUFDO0lBUUQsdUJBQXVCO0lBQ3ZCLDBEQUEwRDtJQUMxRCxpQ0FBaUM7SUFFakM7UUF4QlMsWUFBTyxHQUFXLENBQUMsQ0FBQztRQUU3Qiw0QkFBNEI7UUFFcEIsV0FBTSxHQUFZLENBQUMsQ0FBQztRQUtwQixVQUFLLEdBQVksQ0FBQyxDQUFDO1FBSzNCLGVBQVUsR0FBZ0IsSUFBSSxDQUFDO1FBQ3ZCLGlCQUFZLEdBQXdCLElBQUksQ0FBQztRQUNqRCxpRUFBaUU7UUFFakUsU0FBSSxHQUFHLElBQUksT0FBTyxFQUFVLENBQUM7UUFDN0IsY0FBUyxHQUFHLElBQUksT0FBTyxFQUFPLENBQUM7SUFLZixDQUFDO0lBR2pCLFNBQVMsQ0FBQyxLQUFhLEVBQUUsT0FBZSxFQUFFLE9BQWU7UUFDckQsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxPQUFPLENBQUMsQ0FBQztJQUN2RixDQUFDO0lBQ0QsV0FBVyxDQUFDLE9BQWUsRUFBRSxPQUFlO1FBQ3hDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFDRCxLQUFLLENBQUMsT0FBZTtRQUNqQixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFFYixJQUFJLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQztRQUNyQixJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQztRQUN0QixJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQyxVQUFVLENBQUMsSUFBSSxJQUFJLEVBQUUsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUU3RCwwRUFBMEU7UUFDMUUsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxJQUFJO1FBQzlCLDJCQUEyQjtRQUMzQix3QkFBd0I7UUFDeEIsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLEVBQ3ZCLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDO1FBQy9CLGtDQUFrQztTQUNyQyxDQUFDO1FBRUYsSUFBSSxDQUFDLFlBQVksR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUN0QyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDeEIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBQ0QsS0FBSztRQUNELElBQUksQ0FBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLENBQUM7UUFDakMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7UUFDekIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7SUFDM0IsQ0FBQztJQUdELFlBQVk7UUFDUixJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDWCxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDOUI7UUFFRCxJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDbEMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDN0I7UUFDRDs7Ozs7Ozs7Ozs7Ozs7Ozs7O1VBa0JFO0lBQ04sQ0FBQzs4R0F4RlEsWUFBWTtrSEFBWixZQUFZOztTQUFaLFlBQVk7MkZBQVosWUFBWTtrQkFEeEIsVUFBVTswRUFFRSxPQUFPO3NCQUFmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbnB1dCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IFN1YmplY3QsIFN1YnNjcmlwdGlvbiwgdGltZXIgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBtYXAsIHRha2VXaGlsZSwgdGFwIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XHJcbmltcG9ydCB7IERhdGVIZWxwZXIgfSBmcm9tIFwiLi4vLi4vdXRpbHNcIjtcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIFRpbWVyU2VydmljZSB7XHJcbiAgICBASW5wdXQoKSBzZWNvbmRzOiBudW1iZXIgPSAwO1xyXG5cclxuICAgIC8vIHJ1bm5pbmc6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIFxyXG4gICAgcHJpdmF0ZSBfY291bnQgOiBudW1iZXIgPSAwO1xyXG4gICAgcHVibGljIGdldCBjb3VudCgpIDogbnVtYmVyIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fY291bnQ7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIHByaXZhdGUgX2xlZnQgOiBudW1iZXIgPSAwO1xyXG4gICAgcHVibGljIGdldCBsZWZ0KCkgOiBudW1iZXIge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9sZWZ0O1xyXG4gICAgfVxyXG5cclxuICAgIGV4cGlyZURhdGU6IERhdGUgfCBudWxsID0gbnVsbDtcclxuICAgIHByaXZhdGUgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gfCBudWxsID0gbnVsbDtcclxuICAgIC8vQE91dHB1dCgpIGNoZWNrVGltZTogRXZlbnRFbWl0dGVyPG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gICAgdGljayA9IG5ldyBTdWJqZWN0PG51bWJlcj4oKTtcclxuICAgIGNvbXBsZXRlZCA9IG5ldyBTdWJqZWN0PGFueT4oKTtcclxuICAgIC8vIHRpY2tlckludGVydmFsOiBhbnk7XHJcbiAgICAvLyBleHBpcmVkOiBPYnNlcnZhYmxlPG51bWJlcj4gPSBuZXcgT2JzZXJ2YWJsZTxudW1iZXI+KCk7XHJcbiAgICAvLyBpbml0aWFsQ291bnRWYWx1ZTogbnVtYmVyID0gMDtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuXHJcbiAgICBzdGFydEhvdXIoaG91cnM6IG51bWJlciwgbWludXRlczogbnVtYmVyLCBzZWNvbmRzOiBudW1iZXIpIHtcclxuICAgICAgICB0aGlzLnN0YXJ0KChob3VycyA/IGhvdXJzICogNjAgKiA2MCA6IDApICsgKG1pbnV0ZXMgPyBtaW51dGVzICogNjAgOiAwKSArIHNlY29uZHMpO1xyXG4gICAgfVxyXG4gICAgc3RhcnRNaW51dGUobWludXRlczogbnVtYmVyLCBzZWNvbmRzOiBudW1iZXIpIHtcclxuICAgICAgICB0aGlzLnN0YXJ0KChtaW51dGVzID8gbWludXRlcyAqIDYwIDogMCkgKyBzZWNvbmRzKTtcclxuICAgIH1cclxuICAgIHN0YXJ0KHNlY29uZHM6IG51bWJlcikge1xyXG4gICAgICAgIHRoaXMuY2xlYXIoKTtcclxuXHJcbiAgICAgICAgdGhpcy5fbGVmdCA9IHNlY29uZHM7XHJcbiAgICAgICAgdGhpcy5fY291bnQgPSBzZWNvbmRzO1xyXG4gICAgICAgIHRoaXMuZXhwaXJlRGF0ZSA9IERhdGVIZWxwZXIuYWRkU2Vjb25kcyhuZXcgRGF0ZSgpLCBzZWNvbmRzKTtcclxuXHJcbiAgICAgICAgLy90aGlzLmludGVybmFsVGljaygpOy8vYmVjYXVzZSBydW4gZmlyc3QgdGljayB2YWx1ZSBleGFtcGxlIDYwIC0+ICBub3QgNTlcclxuICAgICAgICBjb25zdCBzb3VyY2UgPSB0aW1lcigwLCAxMDAwKS5waXBlKFxyXG4gICAgICAgICAgICAvL21hcChpID0+IHRoaXMuY291bnQgLSBpKSxcclxuICAgICAgICAgICAgLy90YWtlV2hpbGUoaSA9PiBpID4gMCksXHJcbiAgICAgICAgICAgIG1hcChfaSA9PiB0aGlzLl9sZWZ0LS0pLFxyXG4gICAgICAgICAgICB0YWtlV2hpbGUoX2kgPT4gdGhpcy5sZWZ0ID49IDApXHJcbiAgICAgICAgICAgIC8vdGFwKHMgPT4gdGhpcy5jaGVja1RpbWUuZW1pdChzKSlcclxuICAgICAgICApO1xyXG5cclxuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbiA9IHNvdXJjZS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmludGVybmFsVGljaygpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgY2xlYXIoKSB7XHJcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XHJcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb24gPSBudWxsO1xyXG4gICAgICAgIHRoaXMuZXhwaXJlRGF0ZSA9IG51bGw7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIGludGVybmFsVGljaygpIHtcclxuICAgICAgICBpZiAodGhpcy50aWNrKSB7XHJcbiAgICAgICAgICAgIHRoaXMudGljay5uZXh0KHRoaXMuX2xlZnQpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHRoaXMubGVmdCA8PSAwICYmIHRoaXMuY29tcGxldGVkKSB7XHJcbiAgICAgICAgICAgIHRoaXMuY29tcGxldGVkLm5leHQobnVsbCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8qXHJcbiAgICAgICAgLy8gZ2V0IHRvdGFsIHNlY29uZHMgYmV0d2VlbiB0aGUgdGltZXNcclxuICAgICAgICBsZXQgZGVsdGEgPSBNYXRoLmFicyhkYXRlX2Z1dHVyZSAtIGRhdGVfbm93KSAvIDEwMDA7XHJcblxyXG4gICAgICAgIC8vIGNhbGN1bGF0ZSAoYW5kIHN1YnRyYWN0KSB3aG9sZSBkYXlzXHJcbiAgICAgICAgbGV0IGRheXMgPSBNYXRoLmZsb29yKGRlbHRhIC8gODY0MDApO1xyXG4gICAgICAgIGRlbHRhIC09IGRheXMgKiA4NjQwMDtcclxuXHJcbiAgICAgICAgLy8gY2FsY3VsYXRlIChhbmQgc3VidHJhY3QpIHdob2xlIGhvdXJzXHJcbiAgICAgICAgbGV0IGhvdXJzID0gTWF0aC5mbG9vcihkZWx0YSAvIDM2MDApICUgMjQ7XHJcbiAgICAgICAgZGVsdGEgLT0gaG91cnMgKiAzNjAwO1xyXG5cclxuICAgICAgICAvLyBjYWxjdWxhdGUgKGFuZCBzdWJ0cmFjdCkgd2hvbGUgbWludXRlc1xyXG4gICAgICAgIGxldCBtaW51dGVzID0gTWF0aC5mbG9vcihkZWx0YSAvIDYwKSAlIDYwO1xyXG4gICAgICAgIGRlbHRhIC09IG1pbnV0ZXMgKiA2MDtcclxuXHJcbiAgICAgICAgLy8gd2hhdCdzIGxlZnQgaXMgc2Vjb25kc1xyXG4gICAgICAgIGxldCBzZWNvbmRzID0gZGVsdGEgJSA2MDsgIC8vIGluIHRoZW9yeSB0aGUgbW9kdWx1cyBpcyBub3QgcmVxdWlyZWRcclxuICAgICAgICAqL1xyXG4gICAgfVxyXG59Il19
|
|
@@ -1,20 +1,21 @@
|
|
|
1
|
-
import { Component, Input } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "@angular/common";
|
|
4
|
-
import * as i2 from "@ngx-translate/core";
|
|
5
|
-
|
|
6
|
-
// @Input() field?: NgModel;
|
|
7
|
-
constructor() {
|
|
8
|
-
if (this.field)
|
|
9
|
-
console.log(this.field.errors);
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/common";
|
|
4
|
+
import * as i2 from "@ngx-translate/core";
|
|
5
|
+
class ZekFieldValidator {
|
|
6
|
+
// @Input() field?: NgModel;
|
|
7
|
+
constructor() {
|
|
8
|
+
if (this.field)
|
|
9
|
+
console.log(this.field.errors);
|
|
10
|
+
}
|
|
11
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ZekFieldValidator, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
12
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.1", type: ZekFieldValidator, selector: "zek-field-validator, [zek-field-validator]", inputs: { field: "field" }, host: { properties: { "class": "\"invalid-tooltip\"" } }, ngImport: i0, template: "<ng-container *ngIf=\"field\">\r\n <ng-container *ngIf=\"field.invalid && (field.dirty || field.touched || field.formDirective?.submitted)\">\r\n <ng-container *ngIf=\"field.errors\">\r\n <ng-container *ngIf=\"field.errors.required\">{{ 'Validation.Required' | translate }}</ng-container>\r\n <ng-container *ngIf=\"field.errors.minlength\">{{ 'Validation.MinLengthFormat' | translate:{ value: field.errors.minlength.requiredLength } }}</ng-container>\r\n <ng-container *ngIf=\"field.errors.maxlength\">{{ 'Validation.MaxLengthFormat' | translate:{ value: field.errors.maxlength.requiredLength } }}</ng-container>\r\n <ng-container *ngIf=\"field.errors.email\">{{ 'Validation.Pattern' | translate }}</ng-container>\r\n <ng-container *ngIf=\"field.errors.pattern\">{{ 'Validation.Pattern' | translate }}</ng-container><!-- {{ field.errors.pattern.requiredPattern }} -->\r\n <ng-container *ngIf=\"field.errors.server\">{{field.errors.server}}</ng-container>\r\n </ng-container>\r\n </ng-container>\r\n</ng-container>", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] }); }
|
|
13
|
+
}
|
|
14
|
+
export { ZekFieldValidator };
|
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ZekFieldValidator, decorators: [{
|
|
16
|
+
type: Component,
|
|
17
|
+
args: [{ selector: 'zek-field-validator, [zek-field-validator]', host: { '[class]': '"invalid-tooltip"' }, template: "<ng-container *ngIf=\"field\">\r\n <ng-container *ngIf=\"field.invalid && (field.dirty || field.touched || field.formDirective?.submitted)\">\r\n <ng-container *ngIf=\"field.errors\">\r\n <ng-container *ngIf=\"field.errors.required\">{{ 'Validation.Required' | translate }}</ng-container>\r\n <ng-container *ngIf=\"field.errors.minlength\">{{ 'Validation.MinLengthFormat' | translate:{ value: field.errors.minlength.requiredLength } }}</ng-container>\r\n <ng-container *ngIf=\"field.errors.maxlength\">{{ 'Validation.MaxLengthFormat' | translate:{ value: field.errors.maxlength.requiredLength } }}</ng-container>\r\n <ng-container *ngIf=\"field.errors.email\">{{ 'Validation.Pattern' | translate }}</ng-container>\r\n <ng-container *ngIf=\"field.errors.pattern\">{{ 'Validation.Pattern' | translate }}</ng-container><!-- {{ field.errors.pattern.requiredPattern }} -->\r\n <ng-container *ngIf=\"field.errors.server\">{{field.errors.server}}</ng-container>\r\n </ng-container>\r\n </ng-container>\r\n</ng-container>" }]
|
|
18
|
+
}], ctorParameters: function () { return []; }, propDecorators: { field: [{
|
|
19
|
+
type: Input
|
|
20
|
+
}] } });
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtdmFsaWRhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvemVrL3NyYy9saWIvbW9kdWxlcy92YWxpZGF0b3IvZmllbGQtdmFsaWRhdG9yLnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvemVrL3NyYy9saWIvbW9kdWxlcy92YWxpZGF0b3IvZmllbGQtdmFsaWRhdG9yLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFFakQsTUFLYSxpQkFBaUI7SUFFMUIsNEJBQTRCO0lBRTVCO1FBQ0ksSUFBSSxJQUFJLENBQUMsS0FBSztZQUNWLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN2QyxDQUFDOzhHQVBRLGlCQUFpQjtrR0FBakIsaUJBQWlCLHdLQ1A5Qiw2a0NBV2U7O1NESkYsaUJBQWlCOzJGQUFqQixpQkFBaUI7a0JBTDdCLFNBQVM7K0JBQ0ksNENBQTRDLFFBQ2hELEVBQUUsU0FBUyxFQUFFLG1CQUFtQixFQUFFOzBFQUkvQixLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnemVrLWZpZWxkLXZhbGlkYXRvciwgW3play1maWVsZC12YWxpZGF0b3JdJyxcclxuICAgIGhvc3Q6IHsgJ1tjbGFzc10nOiAnXCJpbnZhbGlkLXRvb2x0aXBcIicgfSxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9maWVsZC12YWxpZGF0b3IuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFpla0ZpZWxkVmFsaWRhdG9yIHtcclxuICAgIEBJbnB1dCgpIGZpZWxkOiBhbnk7XHJcbiAgICAvLyBASW5wdXQoKSBmaWVsZD86IE5nTW9kZWw7XHJcblxyXG4gICAgY29uc3RydWN0b3IoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuZmllbGQpXHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKHRoaXMuZmllbGQuZXJyb3JzKTtcclxuICAgIH1cclxufSIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJmaWVsZFwiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImZpZWxkLmludmFsaWQgJiYgKGZpZWxkLmRpcnR5IHx8IGZpZWxkLnRvdWNoZWQgfHwgZmllbGQuZm9ybURpcmVjdGl2ZT8uc3VibWl0dGVkKVwiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJmaWVsZC5lcnJvcnNcIj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImZpZWxkLmVycm9ycy5yZXF1aXJlZFwiPnt7ICdWYWxpZGF0aW9uLlJlcXVpcmVkJyB8IHRyYW5zbGF0ZSB9fTwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZmllbGQuZXJyb3JzLm1pbmxlbmd0aFwiPnt7ICdWYWxpZGF0aW9uLk1pbkxlbmd0aEZvcm1hdCcgfCB0cmFuc2xhdGU6eyB2YWx1ZTogZmllbGQuZXJyb3JzLm1pbmxlbmd0aC5yZXF1aXJlZExlbmd0aCB9IH19PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJmaWVsZC5lcnJvcnMubWF4bGVuZ3RoXCI+e3sgJ1ZhbGlkYXRpb24uTWF4TGVuZ3RoRm9ybWF0JyB8IHRyYW5zbGF0ZTp7IHZhbHVlOiBmaWVsZC5lcnJvcnMubWF4bGVuZ3RoLnJlcXVpcmVkTGVuZ3RoIH0gfX08L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImZpZWxkLmVycm9ycy5lbWFpbFwiPnt7ICdWYWxpZGF0aW9uLlBhdHRlcm4nIHwgdHJhbnNsYXRlIH19PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJmaWVsZC5lcnJvcnMucGF0dGVyblwiPnt7ICdWYWxpZGF0aW9uLlBhdHRlcm4nIHwgdHJhbnNsYXRlIH19PC9uZy1jb250YWluZXI+PCEtLSB7eyBmaWVsZC5lcnJvcnMucGF0dGVybi5yZXF1aXJlZFBhdHRlcm4gfX0gLS0+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJmaWVsZC5lcnJvcnMuc2VydmVyXCI+e3tmaWVsZC5lcnJvcnMuc2VydmVyfX08L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG48L25nLWNvbnRhaW5lcj4iXX0=
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export * from './validator.module';
|
|
2
|
-
export * from './field-validator';
|
|
1
|
+
export * from './validator.module';
|
|
2
|
+
export * from './field-validator';
|
|
3
3
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96ZWsvc3JjL2xpYi9tb2R1bGVzL3ZhbGlkYXRvci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsbUJBQW1CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3ZhbGlkYXRvci5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2ZpZWxkLXZhbGlkYXRvcic7Il19
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { TranslateModule } from '@ngx-translate/core';
|
|
4
|
+
import { ZekFieldValidator } from './field-validator';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
class ValidatorModule {
|
|
7
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ValidatorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
8
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.1", ngImport: i0, type: ValidatorModule, declarations: [ZekFieldValidator], imports: [CommonModule,
|
|
9
|
+
TranslateModule], exports: [ZekFieldValidator] }); }
|
|
10
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ValidatorModule, imports: [CommonModule,
|
|
11
|
+
TranslateModule] }); }
|
|
12
|
+
}
|
|
13
|
+
export { ValidatorModule };
|
|
14
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ValidatorModule, decorators: [{
|
|
15
|
+
type: NgModule,
|
|
16
|
+
args: [{
|
|
17
|
+
imports: [
|
|
18
|
+
CommonModule,
|
|
19
|
+
TranslateModule,
|
|
20
|
+
],
|
|
21
|
+
declarations: [
|
|
22
|
+
ZekFieldValidator,
|
|
23
|
+
],
|
|
24
|
+
exports: [ZekFieldValidator]
|
|
25
|
+
}]
|
|
26
|
+
}] });
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9yLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3play9zcmMvbGliL21vZHVsZXMvdmFsaWRhdG9yL3ZhbGlkYXRvci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDOztBQUV0RCxNQVVhLGVBQWU7OEdBQWYsZUFBZTsrR0FBZixlQUFlLGlCQUpwQixpQkFBaUIsYUFKakIsWUFBWTtZQUNaLGVBQWUsYUFLVCxpQkFBaUI7K0dBRWxCLGVBQWUsWUFScEIsWUFBWTtZQUNaLGVBQWU7O1NBT1YsZUFBZTsyRkFBZixlQUFlO2tCQVYzQixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRTt3QkFDTCxZQUFZO3dCQUNaLGVBQWU7cUJBQ2xCO29CQUNELFlBQVksRUFBRTt3QkFDVixpQkFBaUI7cUJBQ3BCO29CQUNELE9BQU8sRUFBRSxDQUFDLGlCQUFpQixDQUFDO2lCQUMvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5pbXBvcnQgeyBaZWtGaWVsZFZhbGlkYXRvciB9IGZyb20gJy4vZmllbGQtdmFsaWRhdG9yJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgICBpbXBvcnRzOiBbXHJcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgICAgIFRyYW5zbGF0ZU1vZHVsZSxcclxuICAgIF0sXHJcbiAgICBkZWNsYXJhdGlvbnM6IFtcclxuICAgICAgICBaZWtGaWVsZFZhbGlkYXRvcixcclxuICAgIF0sXHJcbiAgICBleHBvcnRzOiBbWmVrRmllbGRWYWxpZGF0b3JdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBWYWxpZGF0b3JNb2R1bGUgeyB9Il19
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { Directive, forwardRef, Input } from "@angular/core";
|
|
2
|
+
import { NG_VALIDATORS } from "@angular/forms";
|
|
3
|
+
import { nullValidator, rangeValidator } from "./validator";
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
const RANGE_VALIDATOR = {
|
|
6
|
+
provide: NG_VALIDATORS,
|
|
7
|
+
useExisting: forwardRef(() => RangeValidator),
|
|
8
|
+
multi: true
|
|
9
|
+
};
|
|
10
|
+
function toFloat(value) {
|
|
11
|
+
return typeof value === 'number' ? value : parseFloat(value);
|
|
12
|
+
}
|
|
13
|
+
class AbstractValidatorDirective {
|
|
14
|
+
constructor() {
|
|
15
|
+
this._validator = nullValidator;
|
|
16
|
+
}
|
|
17
|
+
/** @nodoc */
|
|
18
|
+
ngOnChanges(changes) {
|
|
19
|
+
if (this.inputName in changes) {
|
|
20
|
+
const input = this.normalizeInput(changes[this.inputName].currentValue);
|
|
21
|
+
this._enabled = this.enabled(input);
|
|
22
|
+
this._validator = this._enabled ? this.createValidator(input) : nullValidator;
|
|
23
|
+
if (this._onChange) {
|
|
24
|
+
this._onChange();
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
/** @nodoc */
|
|
29
|
+
validate(control) {
|
|
30
|
+
return this._validator(control);
|
|
31
|
+
}
|
|
32
|
+
/** @nodoc */
|
|
33
|
+
registerOnValidatorChange(fn) {
|
|
34
|
+
this._onChange = fn;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* @description
|
|
38
|
+
* Determines whether this validator should be active or not based on an input.
|
|
39
|
+
* Base class implementation checks whether an input is defined (if the value is different from
|
|
40
|
+
* `null` and `undefined`). Validator classes that extend this base class can override this
|
|
41
|
+
* function with the logic specific to a particular validator directive.
|
|
42
|
+
*/
|
|
43
|
+
enabled(input) {
|
|
44
|
+
return input != null /* both `null` and `undefined` */;
|
|
45
|
+
}
|
|
46
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: AbstractValidatorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
47
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.1", type: AbstractValidatorDirective, usesOnChanges: true, ngImport: i0 }); }
|
|
48
|
+
}
|
|
49
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: AbstractValidatorDirective, decorators: [{
|
|
50
|
+
type: Directive
|
|
51
|
+
}] });
|
|
52
|
+
class RangeValidator extends AbstractValidatorDirective {
|
|
53
|
+
constructor() {
|
|
54
|
+
super(...arguments);
|
|
55
|
+
/** @internal */
|
|
56
|
+
this.inputName = 'range';
|
|
57
|
+
/** @internal */
|
|
58
|
+
this.normalizeInput = (input) => toFloat(input);
|
|
59
|
+
/** @internal */
|
|
60
|
+
this.createValidator = (range) => rangeValidator(range);
|
|
61
|
+
}
|
|
62
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: RangeValidator, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
63
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.1", type: RangeValidator, selector: "input[type=number][range][formControlName],input[type=number][range][formControl],input[type=number][range][ngModel]", inputs: { range: "range" }, host: { properties: { "attr.range": "_enabled ? range : null" } }, providers: [RANGE_VALIDATOR], usesInheritance: true, ngImport: i0 }); }
|
|
64
|
+
}
|
|
65
|
+
export { RangeValidator };
|
|
66
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: RangeValidator, decorators: [{
|
|
67
|
+
type: Directive,
|
|
68
|
+
args: [{
|
|
69
|
+
selector: 'input[type=number][range][formControlName],input[type=number][range][formControl],input[type=number][range][ngModel]',
|
|
70
|
+
providers: [RANGE_VALIDATOR],
|
|
71
|
+
host: { '[attr.range]': '_enabled ? range : null' }
|
|
72
|
+
}]
|
|
73
|
+
}], propDecorators: { range: [{
|
|
74
|
+
type: Input
|
|
75
|
+
}] } });
|
|
76
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvemVrL3NyYy9saWIvbW9kdWxlcy92YWxpZGF0b3JzL2RpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFPQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQW9DLE1BQU0sZUFBZSxDQUFDO0FBQy9GLE9BQU8sRUFBbUIsYUFBYSxFQUE0QyxNQUFNLGdCQUFnQixDQUFDO0FBQzFHLE9BQU8sRUFBRSxhQUFhLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDOztBQVQ1RCxNQUFNLGVBQWUsR0FBUTtJQUN6QixPQUFPLEVBQUUsYUFBYTtJQUN0QixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGNBQWMsQ0FBQztJQUM3QyxLQUFLLEVBQUUsSUFBSTtDQUNkLENBQUM7QUFPRixTQUFTLE9BQU8sQ0FBQyxLQUFzQjtJQUNuQyxPQUFPLE9BQU8sS0FBSyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDakUsQ0FBQztBQUdELE1BQ2UsMEJBQTBCO0lBRHpDO1FBRVksZUFBVSxHQUFnQixhQUFhLENBQUM7S0F1RW5EO0lBaENHLGFBQWE7SUFDYixXQUFXLENBQUMsT0FBc0I7UUFDOUIsSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLE9BQU8sRUFBRTtZQUMzQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDeEUsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3BDLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDO1lBQzlFLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtnQkFDaEIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO2FBQ3BCO1NBQ0o7SUFDTCxDQUFDO0lBRUQsYUFBYTtJQUNiLFFBQVEsQ0FBQyxPQUF3QjtRQUM3QixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVELGFBQWE7SUFDYix5QkFBeUIsQ0FBQyxFQUFjO1FBQ3BDLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxPQUFPLENBQUMsS0FBYztRQUNsQixPQUFPLEtBQUssSUFBSSxJQUFJLENBQUMsaUNBQWlDLENBQUM7SUFDM0QsQ0FBQzs4R0F2RVUsMEJBQTBCO2tHQUExQiwwQkFBMEI7OzJGQUExQiwwQkFBMEI7a0JBRHhDLFNBQVM7O0FBNkVWLE1BS2EsY0FBZSxTQUFRLDBCQUEwQjtJQUw5RDs7UUFRSSxnQkFBZ0I7UUFDUCxjQUFTLEdBQUcsT0FBTyxDQUFDO1FBQzdCLGdCQUFnQjtRQUNQLG1CQUFjLEdBQUcsQ0FBQyxLQUFzQixFQUFVLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDN0UsZ0JBQWdCO1FBQ1Asb0JBQWUsR0FBRyxDQUFDLEtBQWUsRUFBZSxFQUFFLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO0tBQ3RGOzhHQVRZLGNBQWM7a0dBQWQsY0FBYyw4T0FIWixDQUFDLGVBQWUsQ0FBQzs7U0FHbkIsY0FBYzsyRkFBZCxjQUFjO2tCQUwxQixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxzSEFBc0g7b0JBQ2hJLFNBQVMsRUFBRSxDQUFDLGVBQWUsQ0FBQztvQkFDNUIsSUFBSSxFQUFFLEVBQUUsY0FBYyxFQUFFLHlCQUF5QixFQUFFO2lCQUN0RDs4QkFFWSxLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBSQU5HRV9WQUxJREFUT1I6IGFueSA9IHtcclxuICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXHJcbiAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBSYW5nZVZhbGlkYXRvciksXHJcbiAgICBtdWx0aTogdHJ1ZVxyXG59O1xyXG5cclxuXHJcbmltcG9ydCB7IERpcmVjdGl2ZSwgZm9yd2FyZFJlZiwgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBOR19WQUxJREFUT1JTLCBWYWxpZGF0aW9uRXJyb3JzLCBWYWxpZGF0b3IsIFZhbGlkYXRvckZuIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IG51bGxWYWxpZGF0b3IsIHJhbmdlVmFsaWRhdG9yIH0gZnJvbSBcIi4vdmFsaWRhdG9yXCI7XHJcblxyXG5mdW5jdGlvbiB0b0Zsb2F0KHZhbHVlOiBzdHJpbmcgfCBudW1iZXIpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicgPyB2YWx1ZSA6IHBhcnNlRmxvYXQodmFsdWUpO1xyXG59XHJcblxyXG5cclxuQERpcmVjdGl2ZSgpXHJcbmFic3RyYWN0IGNsYXNzIEFic3RyYWN0VmFsaWRhdG9yRGlyZWN0aXZlIGltcGxlbWVudHMgVmFsaWRhdG9yLCBPbkNoYW5nZXMge1xyXG4gICAgcHJpdmF0ZSBfdmFsaWRhdG9yOiBWYWxpZGF0b3JGbiA9IG51bGxWYWxpZGF0b3I7XHJcbiAgICBwcml2YXRlIF9vbkNoYW5nZSE6ICgpID0+IHZvaWQ7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBBIGZsYWcgdGhhdCB0cmFja3Mgd2hldGhlciB0aGlzIHZhbGlkYXRvciBpcyBlbmFibGVkLlxyXG4gICAgICpcclxuICAgICAqIE1hcmtpbmcgaXQgYGludGVybmFsYCAodnMgYHByb3RlY3RlZGApLCBzbyB0aGF0IHRoaXMgZmxhZyBjYW4gYmUgdXNlZCBpbiBob3N0IGJpbmRpbmdzIG9mXHJcbiAgICAgKiBkaXJlY3RpdmUgY2xhc3NlcyB0aGF0IGV4dGVuZCB0aGlzIGJhc2UgY2xhc3MuXHJcbiAgICAgKiBAaW50ZXJuYWxcclxuICAgICAqL1xyXG4gICAgX2VuYWJsZWQ/OiBib29sZWFuO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogTmFtZSBvZiBhbiBpbnB1dCB0aGF0IG1hdGNoZXMgZGlyZWN0aXZlIHNlbGVjdG9yIGF0dHJpYnV0ZSAoZS5nLiBgbWlubGVuZ3RoYCBmb3JcclxuICAgICAqIGBNaW5MZW5ndGhEaXJlY3RpdmVgKS4gQW4gaW5wdXQgd2l0aCBhIGdpdmVuIG5hbWUgbWlnaHQgY29udGFpbiBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIChsaWtlXHJcbiAgICAgKiBgbWlubGVuZ3RoPScxMCdgKSBvciBhIGZsYWcgdGhhdCBpbmRpY2F0ZXMgd2hldGhlciB2YWxpZGF0b3Igc2hvdWxkIGJlIGVuYWJsZWQgKGxpa2VcclxuICAgICAqIGBbcmVxdWlyZWRdPSdmYWxzZSdgKS5cclxuICAgICAqXHJcbiAgICAgKiBAaW50ZXJuYWxcclxuICAgICAqL1xyXG4gICAgYWJzdHJhY3QgaW5wdXROYW1lOiBzdHJpbmc7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDcmVhdGVzIGFuIGluc3RhbmNlIG9mIGEgdmFsaWRhdG9yIChzcGVjaWZpYyB0byBhIGRpcmVjdGl2ZSB0aGF0IGV4dGVuZHMgdGhpcyBiYXNlIGNsYXNzKS5cclxuICAgICAqXHJcbiAgICAgKiBAaW50ZXJuYWxcclxuICAgICAqL1xyXG4gICAgYWJzdHJhY3QgY3JlYXRlVmFsaWRhdG9yKGlucHV0OiB1bmtub3duKTogVmFsaWRhdG9yRm47XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBQZXJmb3JtcyB0aGUgbmVjZXNzYXJ5IGlucHV0IG5vcm1hbGl6YXRpb24gYmFzZWQgb24gYSBzcGVjaWZpYyBsb2dpYyBvZiBhIERpcmVjdGl2ZS5cclxuICAgICAqIEZvciBleGFtcGxlLCB0aGUgZnVuY3Rpb24gbWlnaHQgYmUgdXNlZCB0byBjb252ZXJ0IHN0cmluZy1iYXNlZCByZXByZXNlbnRhdGlvbiBvZiB0aGVcclxuICAgICAqIGBtaW5sZW5ndGhgIGlucHV0IHRvIGFuIGludGVnZXIgdmFsdWUgdGhhdCBjYW4gbGF0ZXIgYmUgdXNlZCBpbiB0aGUgYFZhbGlkYXRvcnMubWluTGVuZ3RoYFxyXG4gICAgICogdmFsaWRhdG9yLlxyXG4gICAgICpcclxuICAgICAqIEBpbnRlcm5hbFxyXG4gICAgICovXHJcbiAgICBhYnN0cmFjdCBub3JtYWxpemVJbnB1dChpbnB1dDogdW5rbm93bik6IHVua25vd247XHJcblxyXG4gICAgLyoqIEBub2RvYyAqL1xyXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLmlucHV0TmFtZSBpbiBjaGFuZ2VzKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGlucHV0ID0gdGhpcy5ub3JtYWxpemVJbnB1dChjaGFuZ2VzW3RoaXMuaW5wdXROYW1lXS5jdXJyZW50VmFsdWUpO1xyXG4gICAgICAgICAgICB0aGlzLl9lbmFibGVkID0gdGhpcy5lbmFibGVkKGlucHV0KTtcclxuICAgICAgICAgICAgdGhpcy5fdmFsaWRhdG9yID0gdGhpcy5fZW5hYmxlZCA/IHRoaXMuY3JlYXRlVmFsaWRhdG9yKGlucHV0KSA6IG51bGxWYWxpZGF0b3I7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLl9vbkNoYW5nZSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fb25DaGFuZ2UoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKiogQG5vZG9jICovXHJcbiAgICB2YWxpZGF0ZShjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3ZhbGlkYXRvcihjb250cm9sKTtcclxuICAgIH1cclxuXHJcbiAgICAvKiogQG5vZG9jICovXHJcbiAgICByZWdpc3Rlck9uVmFsaWRhdG9yQ2hhbmdlKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fb25DaGFuZ2UgPSBmbjtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEBkZXNjcmlwdGlvblxyXG4gICAgICogRGV0ZXJtaW5lcyB3aGV0aGVyIHRoaXMgdmFsaWRhdG9yIHNob3VsZCBiZSBhY3RpdmUgb3Igbm90IGJhc2VkIG9uIGFuIGlucHV0LlxyXG4gICAgICogQmFzZSBjbGFzcyBpbXBsZW1lbnRhdGlvbiBjaGVja3Mgd2hldGhlciBhbiBpbnB1dCBpcyBkZWZpbmVkIChpZiB0aGUgdmFsdWUgaXMgZGlmZmVyZW50IGZyb21cclxuICAgICAqIGBudWxsYCBhbmQgYHVuZGVmaW5lZGApLiBWYWxpZGF0b3IgY2xhc3NlcyB0aGF0IGV4dGVuZCB0aGlzIGJhc2UgY2xhc3MgY2FuIG92ZXJyaWRlIHRoaXNcclxuICAgICAqIGZ1bmN0aW9uIHdpdGggdGhlIGxvZ2ljIHNwZWNpZmljIHRvIGEgcGFydGljdWxhciB2YWxpZGF0b3IgZGlyZWN0aXZlLlxyXG4gICAgICovXHJcbiAgICBlbmFibGVkKGlucHV0OiB1bmtub3duKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIGlucHV0ICE9IG51bGwgLyogYm90aCBgbnVsbGAgYW5kIGB1bmRlZmluZWRgICovO1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gICAgc2VsZWN0b3I6ICdpbnB1dFt0eXBlPW51bWJlcl1bcmFuZ2VdW2Zvcm1Db250cm9sTmFtZV0saW5wdXRbdHlwZT1udW1iZXJdW3JhbmdlXVtmb3JtQ29udHJvbF0saW5wdXRbdHlwZT1udW1iZXJdW3JhbmdlXVtuZ01vZGVsXScsXHJcbiAgICBwcm92aWRlcnM6IFtSQU5HRV9WQUxJREFUT1JdLFxyXG4gICAgaG9zdDogeyAnW2F0dHIucmFuZ2VdJzogJ19lbmFibGVkID8gcmFuZ2UgOiBudWxsJyB9XHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSYW5nZVZhbGlkYXRvciBleHRlbmRzIEFic3RyYWN0VmFsaWRhdG9yRGlyZWN0aXZlIHtcclxuICAgIEBJbnB1dCgpIHJhbmdlITogW251bWJlciwgbnVtYmVyXSB8IG51bGw7XHJcblxyXG4gICAgLyoqIEBpbnRlcm5hbCAqL1xyXG4gICAgb3ZlcnJpZGUgaW5wdXROYW1lID0gJ3JhbmdlJztcclxuICAgIC8qKiBAaW50ZXJuYWwgKi9cclxuICAgIG92ZXJyaWRlIG5vcm1hbGl6ZUlucHV0ID0gKGlucHV0OiBzdHJpbmcgfCBudW1iZXIpOiBudW1iZXIgPT4gdG9GbG9hdChpbnB1dCk7XHJcbiAgICAvKiogQGludGVybmFsICovXHJcbiAgICBvdmVycmlkZSBjcmVhdGVWYWxpZGF0b3IgPSAocmFuZ2U6IFtudW1iZXJdKTogVmFsaWRhdG9yRm4gPT4gcmFuZ2VWYWxpZGF0b3IocmFuZ2UpO1xyXG59Il19
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export * from './directive';
|
|
2
|
-
export * from './validator';
|
|
3
|
-
export * from './module';
|
|
1
|
+
export * from './directive';
|
|
2
|
+
export * from './validator';
|
|
3
|
+
export * from './module';
|
|
4
4
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96ZWsvc3JjL2xpYi9tb2R1bGVzL3ZhbGlkYXRvcnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxVQUFVLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2RpcmVjdGl2ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vdmFsaWRhdG9yJztcclxuZXhwb3J0ICogZnJvbSAnLi9tb2R1bGUnOyJdfQ==
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { RangeValidator } from './directive';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
class ValidatorsModule {
|
|
6
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ValidatorsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
7
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.1", ngImport: i0, type: ValidatorsModule, declarations: [RangeValidator], imports: [CommonModule], exports: [RangeValidator] }); }
|
|
8
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ValidatorsModule, imports: [CommonModule] }); }
|
|
9
|
+
}
|
|
10
|
+
export { ValidatorsModule };
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ValidatorsModule, decorators: [{
|
|
12
|
+
type: NgModule,
|
|
13
|
+
args: [{
|
|
14
|
+
imports: [
|
|
15
|
+
CommonModule
|
|
16
|
+
],
|
|
17
|
+
declarations: [
|
|
18
|
+
RangeValidator,
|
|
19
|
+
],
|
|
20
|
+
exports: [RangeValidator]
|
|
21
|
+
}]
|
|
22
|
+
}] });
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvemVrL3NyYy9saWIvbW9kdWxlcy92YWxpZGF0b3JzL21vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDOztBQUU3QyxNQVNhLGdCQUFnQjs4R0FBaEIsZ0JBQWdCOytHQUFoQixnQkFBZ0IsaUJBSnJCLGNBQWMsYUFIZCxZQUFZLGFBS04sY0FBYzsrR0FFZixnQkFBZ0IsWUFQckIsWUFBWTs7U0FPUCxnQkFBZ0I7MkZBQWhCLGdCQUFnQjtrQkFUNUIsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUU7d0JBQ0wsWUFBWTtxQkFDZjtvQkFDRCxZQUFZLEVBQUU7d0JBQ1YsY0FBYztxQkFDakI7b0JBQ0QsT0FBTyxFQUFFLENBQUMsY0FBYyxDQUFDO2lCQUM1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IFJhbmdlVmFsaWRhdG9yIH0gZnJvbSAnLi9kaXJlY3RpdmUnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICAgIGltcG9ydHM6IFtcclxuICAgICAgICBDb21tb25Nb2R1bGVcclxuICAgIF0sXHJcbiAgICBkZWNsYXJhdGlvbnM6IFtcclxuICAgICAgICBSYW5nZVZhbGlkYXRvcixcclxuICAgIF0sXHJcbiAgICBleHBvcnRzOiBbUmFuZ2VWYWxpZGF0b3JdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBWYWxpZGF0b3JzTW9kdWxlIHsgfSJdfQ==
|
|
@@ -1,72 +1,72 @@
|
|
|
1
|
-
// import { AbstractControl, Validators, ValidatorFn, ValidationErrors } from '@angular/forms'
|
|
2
|
-
// export const range = (range?: Array<number> | null): ValidatorFn => {
|
|
3
|
-
// return (control: AbstractControl): { [key: string]: any } | null => {
|
|
4
|
-
// if (!range) return null;
|
|
5
|
-
// if (Validators.required(control)) return null;
|
|
6
|
-
// let v: number = +control.value;
|
|
7
|
-
// return v >= range[0] && v <= range[1] ? null : { actualValue: v, requiredValue: range, range: true };
|
|
8
|
-
// };
|
|
9
|
-
// };
|
|
10
|
-
// export function blue(): ValidatorFn {
|
|
11
|
-
// return (control: AbstractControl): { [key: string]: any } | null =>
|
|
12
|
-
// control.value?.toLowerCase() === 'blue'
|
|
13
|
-
// ? null : { wrongColor: control.value };
|
|
14
|
-
// }
|
|
15
|
-
function isEmptyInputValue(value) {
|
|
16
|
-
/**
|
|
17
|
-
* Check if the object is a string or array before evaluating the length attribute.
|
|
18
|
-
* This avoids falsely rejecting objects that contain a custom length attribute.
|
|
19
|
-
* For example, the object {id: 1, length: 0, width: 0} should not be returned as empty.
|
|
20
|
-
*/
|
|
21
|
-
return typeof value === 'undefined' || value == null || ((typeof value === 'string' || Array.isArray(value)) && value.length === 0);
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* Function that has `ValidatorFn` shape, but performs no operation.
|
|
25
|
-
*/
|
|
26
|
-
export function nullValidator(control) {
|
|
27
|
-
return null;
|
|
28
|
-
}
|
|
29
|
-
export class Validators {
|
|
30
|
-
/**
|
|
31
|
-
* @description
|
|
32
|
-
* Validator that requires the control's value to be less than or equal to the provided number.
|
|
33
|
-
*
|
|
34
|
-
* @usageNotes
|
|
35
|
-
*
|
|
36
|
-
* ### Validate against a range 0 - 15
|
|
37
|
-
*
|
|
38
|
-
* ```typescript
|
|
39
|
-
* const control = new FormControl(16, Validators.max([0,15]));
|
|
40
|
-
*
|
|
41
|
-
* console.log(control.errors); // {range: {min: 0, max: 15, actual: 16}}
|
|
42
|
-
* ```
|
|
43
|
-
*
|
|
44
|
-
* @returns A validator function that returns an error map with the
|
|
45
|
-
* `range` property if the validation check fails, otherwise `null`.
|
|
46
|
-
*
|
|
47
|
-
* @see `updateValueAndValidity()`
|
|
48
|
-
*
|
|
49
|
-
*/
|
|
50
|
-
static range(min, max) {
|
|
51
|
-
return rangeValidator([min, max]);
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
/**
|
|
55
|
-
* Validator that requires the control's value to be between provided numbers.
|
|
56
|
-
* See `Validators.range` for additional information.
|
|
57
|
-
*/
|
|
58
|
-
export function rangeValidator(range) {
|
|
59
|
-
return (control) => {
|
|
60
|
-
if (isEmptyInputValue(control.value) || isEmptyInputValue(range) || range.length < 2) {
|
|
61
|
-
return null; // don't validate empty values to allow optional controls
|
|
62
|
-
}
|
|
63
|
-
const value = parseFloat(control.value);
|
|
64
|
-
let max = range[0];
|
|
65
|
-
let min = range[1];
|
|
66
|
-
if (!isNaN(value) && (value < min || value > max)) {
|
|
67
|
-
return { 'range': { 'min': min, 'max': max, 'actual': control.value } };
|
|
68
|
-
}
|
|
69
|
-
return null;
|
|
70
|
-
};
|
|
71
|
-
}
|
|
1
|
+
// import { AbstractControl, Validators, ValidatorFn, ValidationErrors } from '@angular/forms'
|
|
2
|
+
// export const range = (range?: Array<number> | null): ValidatorFn => {
|
|
3
|
+
// return (control: AbstractControl): { [key: string]: any } | null => {
|
|
4
|
+
// if (!range) return null;
|
|
5
|
+
// if (Validators.required(control)) return null;
|
|
6
|
+
// let v: number = +control.value;
|
|
7
|
+
// return v >= range[0] && v <= range[1] ? null : { actualValue: v, requiredValue: range, range: true };
|
|
8
|
+
// };
|
|
9
|
+
// };
|
|
10
|
+
// export function blue(): ValidatorFn {
|
|
11
|
+
// return (control: AbstractControl): { [key: string]: any } | null =>
|
|
12
|
+
// control.value?.toLowerCase() === 'blue'
|
|
13
|
+
// ? null : { wrongColor: control.value };
|
|
14
|
+
// }
|
|
15
|
+
function isEmptyInputValue(value) {
|
|
16
|
+
/**
|
|
17
|
+
* Check if the object is a string or array before evaluating the length attribute.
|
|
18
|
+
* This avoids falsely rejecting objects that contain a custom length attribute.
|
|
19
|
+
* For example, the object {id: 1, length: 0, width: 0} should not be returned as empty.
|
|
20
|
+
*/
|
|
21
|
+
return typeof value === 'undefined' || value == null || ((typeof value === 'string' || Array.isArray(value)) && value.length === 0);
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Function that has `ValidatorFn` shape, but performs no operation.
|
|
25
|
+
*/
|
|
26
|
+
export function nullValidator(control) {
|
|
27
|
+
return null;
|
|
28
|
+
}
|
|
29
|
+
export class Validators {
|
|
30
|
+
/**
|
|
31
|
+
* @description
|
|
32
|
+
* Validator that requires the control's value to be less than or equal to the provided number.
|
|
33
|
+
*
|
|
34
|
+
* @usageNotes
|
|
35
|
+
*
|
|
36
|
+
* ### Validate against a range 0 - 15
|
|
37
|
+
*
|
|
38
|
+
* ```typescript
|
|
39
|
+
* const control = new FormControl(16, Validators.max([0,15]));
|
|
40
|
+
*
|
|
41
|
+
* console.log(control.errors); // {range: {min: 0, max: 15, actual: 16}}
|
|
42
|
+
* ```
|
|
43
|
+
*
|
|
44
|
+
* @returns A validator function that returns an error map with the
|
|
45
|
+
* `range` property if the validation check fails, otherwise `null`.
|
|
46
|
+
*
|
|
47
|
+
* @see `updateValueAndValidity()`
|
|
48
|
+
*
|
|
49
|
+
*/
|
|
50
|
+
static range(min, max) {
|
|
51
|
+
return rangeValidator([min, max]);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Validator that requires the control's value to be between provided numbers.
|
|
56
|
+
* See `Validators.range` for additional information.
|
|
57
|
+
*/
|
|
58
|
+
export function rangeValidator(range) {
|
|
59
|
+
return (control) => {
|
|
60
|
+
if (isEmptyInputValue(control.value) || isEmptyInputValue(range) || range.length < 2) {
|
|
61
|
+
return null; // don't validate empty values to allow optional controls
|
|
62
|
+
}
|
|
63
|
+
const value = parseFloat(control.value);
|
|
64
|
+
let max = range[0];
|
|
65
|
+
let min = range[1];
|
|
66
|
+
if (!isNaN(value) && (value < min || value > max)) {
|
|
67
|
+
return { 'range': { 'min': min, 'max': max, 'actual': control.value } };
|
|
68
|
+
}
|
|
69
|
+
return null;
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
72
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvemVrL3NyYy9saWIvbW9kdWxlcy92YWxpZGF0b3JzL3ZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw4RkFBOEY7QUFJOUYsd0VBQXdFO0FBQ3hFLDRFQUE0RTtBQUU1RSxtQ0FBbUM7QUFDbkMseURBQXlEO0FBRXpELDBDQUEwQztBQUMxQyxnSEFBZ0g7QUFDaEgsU0FBUztBQUNULEtBQUs7QUFDTCx3Q0FBd0M7QUFDeEMsMEVBQTBFO0FBQzFFLGtEQUFrRDtBQUNsRCxzREFBc0Q7QUFDdEQsSUFBSTtBQUdKLFNBQVMsaUJBQWlCLENBQUMsS0FBVTtJQUNqQzs7OztPQUlHO0lBQ0gsT0FBTyxPQUFPLEtBQUssS0FBSyxXQUFXLElBQUksS0FBSyxJQUFJLElBQUksSUFBSSxDQUFDLENBQUMsT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQyxDQUFDO0FBQ3hJLENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sVUFBVSxhQUFhLENBQUMsT0FBd0I7SUFDbEQsT0FBTyxJQUFJLENBQUM7QUFDaEIsQ0FBQztBQUdELE1BQU0sT0FBTyxVQUFVO0lBRW5COzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0tBbUJDO0lBQ0QsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFXLEVBQUUsR0FBVztRQUNqQyxPQUFPLGNBQWMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7Q0FFSjtBQUdEOzs7R0FHRztBQUNILE1BQU0sVUFBVSxjQUFjLENBQUMsS0FBb0I7SUFDL0MsT0FBTyxDQUFDLE9BQXdCLEVBQTJCLEVBQUU7UUFDekQsSUFBSSxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksaUJBQWlCLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDbEYsT0FBTyxJQUFJLENBQUMsQ0FBRSx5REFBeUQ7U0FDMUU7UUFDRCxNQUFNLEtBQUssR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3hDLElBQUksR0FBRyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNuQixJQUFJLEdBQUcsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxHQUFHLElBQUksS0FBSyxHQUFHLEdBQUcsQ0FBQyxFQUFFO1lBQy9DLE9BQU8sRUFBRSxPQUFPLEVBQUUsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDO1NBQzNFO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQyxDQUFDO0FBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIGltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgVmFsaWRhdG9ycywgVmFsaWRhdG9yRm4sIFZhbGlkYXRpb25FcnJvcnMgfSBmcm9tICdAYW5ndWxhci9mb3JtcydcclxuXHJcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgVmFsaWRhdGlvbkVycm9ycywgVmFsaWRhdG9yRm4gfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuXHJcbi8vIGV4cG9ydCBjb25zdCByYW5nZSA9IChyYW5nZT86IEFycmF5PG51bWJlcj4gfCBudWxsKTogVmFsaWRhdG9yRm4gPT4ge1xyXG4vLyAgICAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiB7IFtrZXk6IHN0cmluZ106IGFueSB9IHwgbnVsbCA9PiB7XHJcblxyXG4vLyAgICAgICAgIGlmICghcmFuZ2UpIHJldHVybiBudWxsO1xyXG4vLyAgICAgICAgIGlmIChWYWxpZGF0b3JzLnJlcXVpcmVkKGNvbnRyb2wpKSByZXR1cm4gbnVsbDtcclxuXHJcbi8vICAgICAgICAgbGV0IHY6IG51bWJlciA9ICtjb250cm9sLnZhbHVlO1xyXG4vLyAgICAgICAgIHJldHVybiB2ID49IHJhbmdlWzBdICYmIHYgPD0gcmFuZ2VbMV0gPyBudWxsIDogeyBhY3R1YWxWYWx1ZTogdiwgcmVxdWlyZWRWYWx1ZTogcmFuZ2UsIHJhbmdlOiB0cnVlIH07XHJcbi8vICAgICB9O1xyXG4vLyB9O1xyXG4vLyBleHBvcnQgZnVuY3Rpb24gYmx1ZSgpOiBWYWxpZGF0b3JGbiB7XHJcbi8vICAgICByZXR1cm4gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IHsgW2tleTogc3RyaW5nXTogYW55IH0gfCBudWxsID0+XHJcbi8vICAgICAgICAgY29udHJvbC52YWx1ZT8udG9Mb3dlckNhc2UoKSA9PT0gJ2JsdWUnXHJcbi8vICAgICAgICAgICAgID8gbnVsbCA6IHsgd3JvbmdDb2xvcjogY29udHJvbC52YWx1ZSB9O1xyXG4vLyB9XHJcblxyXG5cclxuZnVuY3Rpb24gaXNFbXB0eUlucHV0VmFsdWUodmFsdWU6IGFueSk6IGJvb2xlYW4ge1xyXG4gICAgLyoqXHJcbiAgICAgKiBDaGVjayBpZiB0aGUgb2JqZWN0IGlzIGEgc3RyaW5nIG9yIGFycmF5IGJlZm9yZSBldmFsdWF0aW5nIHRoZSBsZW5ndGggYXR0cmlidXRlLlxyXG4gICAgICogVGhpcyBhdm9pZHMgZmFsc2VseSByZWplY3Rpbmcgb2JqZWN0cyB0aGF0IGNvbnRhaW4gYSBjdXN0b20gbGVuZ3RoIGF0dHJpYnV0ZS5cclxuICAgICAqIEZvciBleGFtcGxlLCB0aGUgb2JqZWN0IHtpZDogMSwgbGVuZ3RoOiAwLCB3aWR0aDogMH0gc2hvdWxkIG5vdCBiZSByZXR1cm5lZCBhcyBlbXB0eS5cclxuICAgICAqL1xyXG4gICAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ3VuZGVmaW5lZCcgfHwgdmFsdWUgPT0gbnVsbCB8fCAoKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgfHwgQXJyYXkuaXNBcnJheSh2YWx1ZSkpICYmIHZhbHVlLmxlbmd0aCA9PT0gMCk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBGdW5jdGlvbiB0aGF0IGhhcyBgVmFsaWRhdG9yRm5gIHNoYXBlLCBidXQgcGVyZm9ybXMgbm8gb3BlcmF0aW9uLlxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIG51bGxWYWxpZGF0b3IoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xyXG4gICAgcmV0dXJuIG51bGw7XHJcbn1cclxuXHJcblxyXG5leHBvcnQgY2xhc3MgVmFsaWRhdG9ycyB7XHJcblxyXG4gICAgLyoqXHJcbiAgICogQGRlc2NyaXB0aW9uXHJcbiAgICogVmFsaWRhdG9yIHRoYXQgcmVxdWlyZXMgdGhlIGNvbnRyb2wncyB2YWx1ZSB0byBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gdGhlIHByb3ZpZGVkIG51bWJlci5cclxuICAgKlxyXG4gICAqIEB1c2FnZU5vdGVzXHJcbiAgICpcclxuICAgKiAjIyMgVmFsaWRhdGUgYWdhaW5zdCBhIHJhbmdlIDAgLSAxNVxyXG4gICAqXHJcbiAgICogYGBgdHlwZXNjcmlwdFxyXG4gICAqIGNvbnN0IGNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woMTYsIFZhbGlkYXRvcnMubWF4KFswLDE1XSkpO1xyXG4gICAqXHJcbiAgICogY29uc29sZS5sb2coY29udHJvbC5lcnJvcnMpOyAvLyB7cmFuZ2U6IHttaW46IDAsIG1heDogMTUsIGFjdHVhbDogMTZ9fVxyXG4gICAqIGBgYFxyXG4gICAqXHJcbiAgICogQHJldHVybnMgQSB2YWxpZGF0b3IgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGFuIGVycm9yIG1hcCB3aXRoIHRoZVxyXG4gICAqIGByYW5nZWAgcHJvcGVydHkgaWYgdGhlIHZhbGlkYXRpb24gY2hlY2sgZmFpbHMsIG90aGVyd2lzZSBgbnVsbGAuXHJcbiAgICpcclxuICAgKiBAc2VlIGB1cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KClgXHJcbiAgICpcclxuICAgKi9cclxuICAgIHN0YXRpYyByYW5nZShtaW46IG51bWJlciwgbWF4OiBudW1iZXIpOiBWYWxpZGF0b3JGbiB7XHJcbiAgICAgICAgcmV0dXJuIHJhbmdlVmFsaWRhdG9yKFttaW4sIG1heF0pO1xyXG4gICAgfVxyXG5cclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBWYWxpZGF0b3IgdGhhdCByZXF1aXJlcyB0aGUgY29udHJvbCdzIHZhbHVlIHRvIGJlIGJldHdlZW4gcHJvdmlkZWQgbnVtYmVycy5cclxuICogU2VlIGBWYWxpZGF0b3JzLnJhbmdlYCBmb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbi5cclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiByYW5nZVZhbGlkYXRvcihyYW5nZTogQXJyYXk8bnVtYmVyPik6IFZhbGlkYXRvckZuIHtcclxuICAgIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPT4ge1xyXG4gICAgICAgIGlmIChpc0VtcHR5SW5wdXRWYWx1ZShjb250cm9sLnZhbHVlKSB8fCBpc0VtcHR5SW5wdXRWYWx1ZShyYW5nZSkgfHwgcmFuZ2UubGVuZ3RoIDwgMikge1xyXG4gICAgICAgICAgICByZXR1cm4gbnVsbDsgIC8vIGRvbid0IHZhbGlkYXRlIGVtcHR5IHZhbHVlcyB0byBhbGxvdyBvcHRpb25hbCBjb250cm9sc1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCB2YWx1ZSA9IHBhcnNlRmxvYXQoY29udHJvbC52YWx1ZSk7XHJcbiAgICAgICAgbGV0IG1heCA9IHJhbmdlWzBdO1xyXG4gICAgICAgIGxldCBtaW4gPSByYW5nZVsxXTtcclxuICAgICAgICBpZiAoIWlzTmFOKHZhbHVlKSAmJiAodmFsdWUgPCBtaW4gfHwgdmFsdWUgPiBtYXgpKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB7ICdyYW5nZSc6IHsgJ21pbic6IG1pbiwgJ21heCc6IG1heCwgJ2FjdHVhbCc6IGNvbnRyb2wudmFsdWUgfSB9O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9O1xyXG59XHJcbiJdfQ==
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export * from './wizard.module';
|
|
2
|
-
export * from './wizard/wizard.component';
|
|
3
|
-
export * from './wizard2/wizard2.component';
|
|
1
|
+
export * from './wizard.module';
|
|
2
|
+
export * from './wizard/wizard.component';
|
|
3
|
+
export * from './wizard2/wizard2.component';
|
|
4
4
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96ZWsvc3JjL2xpYi9tb2R1bGVzL3dpemFyZC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyw2QkFBNkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vd2l6YXJkLm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vd2l6YXJkL3dpemFyZC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL3dpemFyZDIvd2l6YXJkMi5jb21wb25lbnQnOyJdfQ==
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { Component, Input } from "@angular/core";
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/common";
|
|
4
|
+
import * as i2 from "../../safe/safe.pipe";
|
|
5
|
+
class WizardComponent {
|
|
6
|
+
constructor() {
|
|
7
|
+
this.progress = 0;
|
|
8
|
+
this.stepsArray = [
|
|
9
|
+
{ step: 1, progress: 0 }
|
|
10
|
+
];
|
|
11
|
+
this._steps = 1;
|
|
12
|
+
this._step = 1;
|
|
13
|
+
}
|
|
14
|
+
get steps() {
|
|
15
|
+
return this._steps;
|
|
16
|
+
}
|
|
17
|
+
set steps(v) {
|
|
18
|
+
if (v < 1)
|
|
19
|
+
v = 1;
|
|
20
|
+
if (this._steps !== v) {
|
|
21
|
+
this._steps = v;
|
|
22
|
+
this.init();
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
get step() {
|
|
26
|
+
return this._step;
|
|
27
|
+
}
|
|
28
|
+
set step(v) {
|
|
29
|
+
if (v < 1)
|
|
30
|
+
v = 1;
|
|
31
|
+
else if (v > this.steps)
|
|
32
|
+
v = this.steps;
|
|
33
|
+
if (this._step !== v) {
|
|
34
|
+
this._step = v;
|
|
35
|
+
let found = this.stepsArray.find(x => x.step === this._step);
|
|
36
|
+
if (found) {
|
|
37
|
+
this.progress = found.progress;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
init() {
|
|
42
|
+
this.stepsArray = [];
|
|
43
|
+
this.stepsArray.push({ step: 1, progress: 0 });
|
|
44
|
+
for (let i = 1; i < this.steps; i++) {
|
|
45
|
+
this.stepsArray.push({ step: i + 1, progress: Math.round(100 / (this.steps - 1) * i) });
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
previous() {
|
|
49
|
+
this.step--;
|
|
50
|
+
}
|
|
51
|
+
next() {
|
|
52
|
+
this.step++;
|
|
53
|
+
}
|
|
54
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: WizardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
55
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.1", type: WizardComponent, selector: "zek-wizard", inputs: { steps: "steps", step: "step" }, ngImport: i0, template: "<div class=\"position-relative m-4\">\r\n <div class=\"progress\" style=\"height: 1px;\">\r\n <div class=\"progress-bar\" role=\"progressbar\" [style.width.%]=\"progress\" [attr.aria-valuenow]=\"progress\" aria-valuemin=\"0\" aria-valuemax=\"100\"></div>\r\n </div>\r\n <!-- left: 33%!important -->\r\n <!-- [style.left.%]=\"item.progress\" -->\r\n <button *ngFor=\"let item of stepsArray\" [attr.style]=\"('width:2rem; height:2rem; left:' + item.progress + '%!important') | safe:'style'\" type=\"button\" class=\"position-absolute top-0 translate-middle btn btn-sm btn-primary rounded-pill\">{{ item.step }}</button>\r\n</div>", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: i2.SafePipe, name: "safe" }] }); }
|
|
56
|
+
}
|
|
57
|
+
export { WizardComponent };
|
|
58
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: WizardComponent, decorators: [{
|
|
59
|
+
type: Component,
|
|
60
|
+
args: [{ selector: 'zek-wizard', template: "<div class=\"position-relative m-4\">\r\n <div class=\"progress\" style=\"height: 1px;\">\r\n <div class=\"progress-bar\" role=\"progressbar\" [style.width.%]=\"progress\" [attr.aria-valuenow]=\"progress\" aria-valuemin=\"0\" aria-valuemax=\"100\"></div>\r\n </div>\r\n <!-- left: 33%!important -->\r\n <!-- [style.left.%]=\"item.progress\" -->\r\n <button *ngFor=\"let item of stepsArray\" [attr.style]=\"('width:2rem; height:2rem; left:' + item.progress + '%!important') | safe:'style'\" type=\"button\" class=\"position-absolute top-0 translate-middle btn btn-sm btn-primary rounded-pill\">{{ item.step }}</button>\r\n</div>" }]
|
|
61
|
+
}], propDecorators: { steps: [{
|
|
62
|
+
type: Input
|
|
63
|
+
}], step: [{
|
|
64
|
+
type: Input
|
|
65
|
+
}] } });
|
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l6YXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3play9zcmMvbGliL21vZHVsZXMvd2l6YXJkL3dpemFyZC93aXphcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvemVrL3NyYy9saWIvbW9kdWxlcy93aXphcmQvd2l6YXJkL3dpemFyZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQUVqRCxNQUlhLGVBQWU7SUFKNUI7UUFNSSxhQUFRLEdBQUcsQ0FBQyxDQUFDO1FBQ2IsZUFBVSxHQUF5QztZQUMvQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsUUFBUSxFQUFFLENBQUMsRUFBRTtTQUMzQixDQUFDO1FBRU0sV0FBTSxHQUFXLENBQUMsQ0FBQztRQWVuQixVQUFLLEdBQVcsQ0FBQyxDQUFDO0tBbUM3QjtJQWpERyxJQUNJLEtBQUs7UUFDTCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDdkIsQ0FBQztJQUNELElBQUksS0FBSyxDQUFDLENBQVM7UUFDZixJQUFJLENBQUMsR0FBRyxDQUFDO1lBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUVqQixJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQ25CLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1lBQ2hCLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUNmO0lBQ0wsQ0FBQztJQUlELElBQ0ksSUFBSTtRQUNKLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUN0QixDQUFDO0lBQ0QsSUFBSSxJQUFJLENBQUMsQ0FBUztRQUNkLElBQUksQ0FBQyxHQUFHLENBQUM7WUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQ1osSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUs7WUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUV4QyxJQUFJLElBQUksQ0FBQyxLQUFLLEtBQUssQ0FBQyxFQUFFO1lBQ2xCLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO1lBRWYsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM3RCxJQUFJLEtBQUssRUFBRTtnQkFDUCxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUM7YUFDbEM7U0FDSjtJQUNMLENBQUM7SUFHTyxJQUFJO1FBQ1IsSUFBSSxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLFFBQVEsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRS9DLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ2pDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDM0Y7SUFDTCxDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNoQixDQUFDO0lBQ0QsSUFBSTtRQUNBLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNoQixDQUFDOzhHQXhEUSxlQUFlO2tHQUFmLGVBQWUsNEZDTjVCLDZuQkFPTTs7U0RETyxlQUFlOzJGQUFmLGVBQWU7a0JBSjNCLFNBQVM7K0JBQ0ksWUFBWTs4QkFZbEIsS0FBSztzQkFEUixLQUFLO2dCQWdCRixJQUFJO3NCQURQLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICd6ZWstd2l6YXJkJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi93aXphcmQuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBXaXphcmRDb21wb25lbnQge1xyXG5cclxuICAgIHByb2dyZXNzID0gMDtcclxuICAgIHN0ZXBzQXJyYXk6IHsgc3RlcDogbnVtYmVyLCBwcm9ncmVzczogbnVtYmVyIH1bXSA9IFtcclxuICAgICAgICB7IHN0ZXA6IDEsIHByb2dyZXNzOiAwIH1cclxuICAgIF07XHJcblxyXG4gICAgcHJpdmF0ZSBfc3RlcHM6IG51bWJlciA9IDE7XHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IHN0ZXBzKCk6IG51bWJlciB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3N0ZXBzO1xyXG4gICAgfVxyXG4gICAgc2V0IHN0ZXBzKHY6IG51bWJlcikge1xyXG4gICAgICAgIGlmICh2IDwgMSkgdiA9IDE7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLl9zdGVwcyAhPT0gdikge1xyXG4gICAgICAgICAgICB0aGlzLl9zdGVwcyA9IHY7XHJcbiAgICAgICAgICAgIHRoaXMuaW5pdCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG4gICAgcHJpdmF0ZSBfc3RlcDogbnVtYmVyID0gMTtcclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgc3RlcCgpOiBudW1iZXIge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9zdGVwO1xyXG4gICAgfVxyXG4gICAgc2V0IHN0ZXAodjogbnVtYmVyKSB7XHJcbiAgICAgICAgaWYgKHYgPCAxKSB2ID0gMTtcclxuICAgICAgICBlbHNlIGlmICh2ID4gdGhpcy5zdGVwcykgdiA9IHRoaXMuc3RlcHM7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLl9zdGVwICE9PSB2KSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3N0ZXAgPSB2O1xyXG5cclxuICAgICAgICAgICAgbGV0IGZvdW5kID0gdGhpcy5zdGVwc0FycmF5LmZpbmQoeCA9PiB4LnN0ZXAgPT09IHRoaXMuX3N0ZXApO1xyXG4gICAgICAgICAgICBpZiAoZm91bmQpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMucHJvZ3Jlc3MgPSBmb3VuZC5wcm9ncmVzcztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG4gICAgcHJpdmF0ZSBpbml0KCkge1xyXG4gICAgICAgIHRoaXMuc3RlcHNBcnJheSA9IFtdO1xyXG4gICAgICAgIHRoaXMuc3RlcHNBcnJheS5wdXNoKHsgc3RlcDogMSwgcHJvZ3Jlc3M6IDAgfSk7XHJcblxyXG4gICAgICAgIGZvciAobGV0IGkgPSAxOyBpIDwgdGhpcy5zdGVwczsgaSsrKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc3RlcHNBcnJheS5wdXNoKHsgc3RlcDogaSArIDEsIHByb2dyZXNzOiBNYXRoLnJvdW5kKDEwMCAvICh0aGlzLnN0ZXBzIC0gMSkgKiBpKSB9KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJldmlvdXMoKSB7XHJcbiAgICAgICAgdGhpcy5zdGVwLS07XHJcbiAgICB9XHJcbiAgICBuZXh0KCkge1xyXG4gICAgICAgIHRoaXMuc3RlcCsrO1xyXG4gICAgfVxyXG59IiwiPGRpdiBjbGFzcz1cInBvc2l0aW9uLXJlbGF0aXZlIG0tNFwiPlxyXG4gIDxkaXYgY2xhc3M9XCJwcm9ncmVzc1wiIHN0eWxlPVwiaGVpZ2h0OiAxcHg7XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwicHJvZ3Jlc3MtYmFyXCIgcm9sZT1cInByb2dyZXNzYmFyXCIgW3N0eWxlLndpZHRoLiVdPVwicHJvZ3Jlc3NcIiBbYXR0ci5hcmlhLXZhbHVlbm93XT1cInByb2dyZXNzXCIgYXJpYS12YWx1ZW1pbj1cIjBcIiBhcmlhLXZhbHVlbWF4PVwiMTAwXCI+PC9kaXY+XHJcbiAgPC9kaXY+XHJcbiAgPCEtLSBsZWZ0OiAzMyUhaW1wb3J0YW50IC0tPlxyXG4gIDwhLS0gW3N0eWxlLmxlZnQuJV09XCJpdGVtLnByb2dyZXNzXCIgLS0+XHJcbiAgPGJ1dHRvbiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBzdGVwc0FycmF5XCIgW2F0dHIuc3R5bGVdPVwiKCd3aWR0aDoycmVtOyBoZWlnaHQ6MnJlbTsgbGVmdDonICsgaXRlbS5wcm9ncmVzcyArICclIWltcG9ydGFudCcpIHwgc2FmZTonc3R5bGUnXCIgdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwicG9zaXRpb24tYWJzb2x1dGUgdG9wLTAgdHJhbnNsYXRlLW1pZGRsZSBidG4gYnRuLXNtIGJ0bi1wcmltYXJ5IHJvdW5kZWQtcGlsbFwiPnt7IGl0ZW0uc3RlcCB9fTwvYnV0dG9uPlxyXG48L2Rpdj4iXX0=
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { WizardComponent } from './wizard/wizard.component';
|
|
4
|
+
import { WizardComponent2 } from './wizard2/wizard2.component';
|
|
5
|
+
import { SafeModule } from '../safe';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
class WizardModule {
|
|
8
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: WizardModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
9
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.1", ngImport: i0, type: WizardModule, declarations: [WizardComponent,
|
|
10
|
+
WizardComponent2], imports: [CommonModule,
|
|
11
|
+
SafeModule], exports: [WizardComponent,
|
|
12
|
+
WizardComponent2] }); }
|
|
13
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: WizardModule, imports: [CommonModule,
|
|
14
|
+
SafeModule] }); }
|
|
15
|
+
}
|
|
16
|
+
export { WizardModule };
|
|
17
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: WizardModule, decorators: [{
|
|
18
|
+
type: NgModule,
|
|
19
|
+
args: [{
|
|
20
|
+
imports: [
|
|
21
|
+
CommonModule,
|
|
22
|
+
SafeModule
|
|
23
|
+
],
|
|
24
|
+
declarations: [
|
|
25
|
+
WizardComponent,
|
|
26
|
+
WizardComponent2
|
|
27
|
+
],
|
|
28
|
+
exports: [
|
|
29
|
+
WizardComponent,
|
|
30
|
+
WizardComponent2
|
|
31
|
+
]
|
|
32
|
+
}]
|
|
33
|
+
}] });
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l6YXJkLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3play9zcmMvbGliL21vZHVsZXMvd2l6YXJkL3dpemFyZC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzVELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxTQUFTLENBQUM7O0FBRXJDLE1BY2EsWUFBWTs4R0FBWixZQUFZOytHQUFaLFlBQVksaUJBUmpCLGVBQWU7WUFDZixnQkFBZ0IsYUFMaEIsWUFBWTtZQUNaLFVBQVUsYUFPVixlQUFlO1lBQ2YsZ0JBQWdCOytHQUdYLFlBQVksWUFaakIsWUFBWTtZQUNaLFVBQVU7O1NBV0wsWUFBWTsyRkFBWixZQUFZO2tCQWR4QixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRTt3QkFDTCxZQUFZO3dCQUNaLFVBQVU7cUJBQ2I7b0JBQ0QsWUFBWSxFQUFFO3dCQUNWLGVBQWU7d0JBQ2YsZ0JBQWdCO3FCQUNuQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ0wsZUFBZTt3QkFDZixnQkFBZ0I7cUJBQ25CO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuXHJcbmltcG9ydCB7IFdpemFyZENvbXBvbmVudCB9IGZyb20gJy4vd2l6YXJkL3dpemFyZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBXaXphcmRDb21wb25lbnQyIH0gZnJvbSAnLi93aXphcmQyL3dpemFyZDIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2FmZU1vZHVsZSB9IGZyb20gJy4uL3NhZmUnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICAgIGltcG9ydHM6IFtcclxuICAgICAgICBDb21tb25Nb2R1bGUsXHJcbiAgICAgICAgU2FmZU1vZHVsZVxyXG4gICAgXSxcclxuICAgIGRlY2xhcmF0aW9uczogW1xyXG4gICAgICAgIFdpemFyZENvbXBvbmVudCxcclxuICAgICAgICBXaXphcmRDb21wb25lbnQyXHJcbiAgICBdLFxyXG4gICAgZXhwb3J0czogW1xyXG4gICAgICAgIFdpemFyZENvbXBvbmVudCxcclxuICAgICAgICBXaXphcmRDb21wb25lbnQyXHJcbiAgICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBXaXphcmRNb2R1bGUgeyB9Il19
|