zek 15.2.1 → 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 -6415
- package/{fesm2020 → fesm2022}/zek.mjs.map +1 -1
- 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 -44
- 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 +7 -13
- 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 -134
- 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 -6693
- package/fesm2015/zek.mjs.map +0 -1
package/README.md
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export {};
|
|
1
|
+
export {};
|
|
2
2
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3play9zcmMvbGliL2NvbXBvbmVudHMvYXJncy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBDYW5jZWxBcmdzIHtcclxuICAgIC8vIC8qKlxyXG4gICAgLy8gICpcclxuICAgIC8vICAqL1xyXG4gICAgLy8gY29uc3RydWN0b3Iob2xkVmFsdWU6IGFueSwgbmV3VmFsdWU6IGFueSwgY2FuY2VsID0gZmFsc2UpIHtcclxuICAgIC8vICAgICB0aGlzLm9sZFZhbHVlID0gb2xkVmFsdWU7XHJcbiAgICAvLyAgICAgdGhpcy5uZXdWYWx1ZSA9IG5ld1ZhbHVlO1xyXG4gICAgLy8gICAgIHRoaXMuY2FuY2VsID0gY2FuY2VsO1xyXG4gICAgLy8gfVxyXG5cclxuICAgIG5ld1ZhbHVlOiBhbnk7XHJcblxyXG4gICAgb2xkVmFsdWU6IGFueTtcclxuXHJcbiAgICBjYW5jZWw/OiBib29sZWFuIHwgbnVsbDtcclxufSJdfQ==
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { Input, Directive } from '@angular/core';
|
|
2
|
+
import { PRIMARY_OUTLET } from '@angular/router';
|
|
3
|
+
import { AppBaseModule } from '../zek.module';
|
|
4
|
+
import { PrintType } from '../models/print.model';
|
|
5
|
+
import { WebApiClient } from '../services';
|
|
6
|
+
import { CoreComponent } from './core.component';
|
|
7
|
+
import { Convert, UrlHelper } from '../utils';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
import * as i1 from "@angular/router";
|
|
10
|
+
class BaseComponent extends CoreComponent {
|
|
11
|
+
constructor(route, router) {
|
|
12
|
+
super();
|
|
13
|
+
this.route = route;
|
|
14
|
+
this.router = router;
|
|
15
|
+
this._readOnly = false;
|
|
16
|
+
this._url = null;
|
|
17
|
+
}
|
|
18
|
+
get readOnly() {
|
|
19
|
+
return this._readOnly;
|
|
20
|
+
}
|
|
21
|
+
set readOnly(v) {
|
|
22
|
+
this._readOnly = Convert.toBooleanProperty(v);
|
|
23
|
+
}
|
|
24
|
+
get url() {
|
|
25
|
+
if (!this._url)
|
|
26
|
+
this._url = UrlHelper.getNoParam(this.router.url);
|
|
27
|
+
return this._url;
|
|
28
|
+
}
|
|
29
|
+
getParam(name) {
|
|
30
|
+
return this.route.snapshot.paramMap.get(name);
|
|
31
|
+
}
|
|
32
|
+
getQueryParam(name) {
|
|
33
|
+
return this.route.snapshot.queryParamMap.get(name);
|
|
34
|
+
}
|
|
35
|
+
navigateReturnUrl() {
|
|
36
|
+
const returnUrl = this.getQueryParam('returnUrl') || this.getParam('returnUrl');
|
|
37
|
+
if (returnUrl) {
|
|
38
|
+
let urlTree = this.router.parseUrl(returnUrl);
|
|
39
|
+
const urlWithoutParams = urlTree.root.children[PRIMARY_OUTLET].segments.map(it => it.path).join('/');
|
|
40
|
+
this.router.navigate([urlWithoutParams, urlTree.root.children[PRIMARY_OUTLET].segments[urlTree.root.children[PRIMARY_OUTLET].segments.length - 1].parameters]);
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
this.router.navigate([this.router.url.substring(0, this.router.url.lastIndexOf('/'))]);
|
|
44
|
+
}
|
|
45
|
+
cancel() {
|
|
46
|
+
this.navigateReturnUrl();
|
|
47
|
+
}
|
|
48
|
+
downloadFile(blob, fileName, type) {
|
|
49
|
+
if (!blob)
|
|
50
|
+
return;
|
|
51
|
+
const nav = window.navigator;
|
|
52
|
+
if (nav && nav.msSaveOrOpenBlob) {
|
|
53
|
+
nav.msSaveOrOpenBlob(blob, fileName);
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
let a = document.createElement('a');
|
|
57
|
+
a.href = URL.createObjectURL(blob);
|
|
58
|
+
a.download = fileName;
|
|
59
|
+
document.body.appendChild(a);
|
|
60
|
+
a.click();
|
|
61
|
+
document.body.removeChild(a);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
print(id, printType) {
|
|
65
|
+
const split = this.url.split('/');
|
|
66
|
+
if (split.length < 2) {
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
const template = split[1];
|
|
70
|
+
let api = AppBaseModule.injector.get(WebApiClient);
|
|
71
|
+
let actionName;
|
|
72
|
+
switch (printType) {
|
|
73
|
+
case PrintType.Pdf:
|
|
74
|
+
actionName = 'PrintPdfIdLink';
|
|
75
|
+
break;
|
|
76
|
+
default:
|
|
77
|
+
actionName = 'ShowIdLink';
|
|
78
|
+
break;
|
|
79
|
+
}
|
|
80
|
+
api.getString(`api/Reports/${actionName}`, { template, id }).subscribe(url => {
|
|
81
|
+
if (url) {
|
|
82
|
+
window.open(url, '_blank');
|
|
83
|
+
}
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: BaseComponent, deps: [{ token: i1.ActivatedRoute }, { token: i1.Router }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
87
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.1", type: BaseComponent, inputs: { readOnly: "readOnly", model: "model" }, usesInheritance: true, ngImport: i0 }); }
|
|
88
|
+
}
|
|
89
|
+
export { BaseComponent };
|
|
90
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: BaseComponent, decorators: [{
|
|
91
|
+
type: Directive
|
|
92
|
+
}], ctorParameters: function () { return [{ type: i1.ActivatedRoute }, { type: i1.Router }]; }, propDecorators: { readOnly: [{
|
|
93
|
+
type: Input
|
|
94
|
+
}], model: [{
|
|
95
|
+
type: Input
|
|
96
|
+
}] } });
|
|
97
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96ZWsvc3JjL2xpYi9jb21wb25lbnRzL2Jhc2UuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFRLE1BQU0sZUFBZSxDQUFDO0FBQ3ZELE9BQU8sRUFBMEIsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU5QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMzQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFakQsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxVQUFVLENBQUM7OztBQUU5QyxNQUNhLGFBQTRCLFNBQVEsYUFBYTtJQUMxRCxZQUN1QixLQUFxQixFQUNyQixNQUFjO1FBRWpDLEtBQUssRUFBRSxDQUFDO1FBSFcsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFDckIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQU03QixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBU2xCLFNBQUksR0FBa0IsSUFBSSxDQUFDO0lBWm5DLENBQUM7SUFJRCxJQUNJLFFBQVE7UUFDUixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDMUIsQ0FBQztJQUNELElBQUksUUFBUSxDQUFDLENBQWU7UUFDeEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUdELElBQWMsR0FBRztRQUNiLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSTtZQUNWLElBQUksQ0FBQyxJQUFJLEdBQUcsU0FBUyxDQUFD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QUFDLENBQUMsQ0FBQyxDQUFDO1FBQzFCLElBQUksR0FBRyxHQUFHLGFBQWEsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFlLFlBQWtDLENBQUMsQ0FBQztRQUV2RixJQUFJLFVBQWtCLENBQUM7UUFHdkIsUUFBUSxTQUFTLEVBQUU7WUFDZixLQUFLLFNBQVMsQ0FBQyxHQUFHO2dCQUNkLFVBQVUsR0FBRyxnQkFBZ0IsQ0FBQztnQkFDOUIsTUFBTTtZQUVWO2dCQUNJLFVBQVUsR0FBRyxZQUFZLENBQUE7Z0JBQ3pCLE1BQU07U0FDYjtRQUNELEdBQUcsQ0FBQyxTQUFTLENBQUMsZUFBZSxVQUFVLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUN6RSxJQUFJLEdBQUcsRUFBRTtnQkFDTCxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxRQUFRLENBQUMsQ0FBQzthQUM5QjtRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs4R0E5RlEsYUFBYTtrR0FBYixhQUFhOztTQUFiLGFBQWE7MkZBQWIsYUFBYTtrQkFEekIsU0FBUzswSEFZRixRQUFRO3NCQURYLEtBQUs7Z0JBZUcsS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5wdXQsIERpcmVjdGl2ZSwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyLCBQUklNQVJZX09VVExFVCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IEFwcEJhc2VNb2R1bGUgfSBmcm9tICcuLi96ZWsubW9kdWxlJztcclxuXHJcbmltcG9ydCB7IFByaW50VHlwZSB9IGZyb20gJy4uL21vZGVscy9wcmludC5tb2RlbCc7XHJcbmltcG9ydCB7IFdlYkFwaUNsaWVudCB9IGZyb20gJy4uL3NlcnZpY2VzJztcclxuaW1wb3J0IHsgQ29yZUNvbXBvbmVudCB9IGZyb20gJy4vY29yZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCb29sZWFuSW5wdXQgfSBmcm9tICcuL3R5cGVzJztcclxuaW1wb3J0IHsgQ29udmVydCwgVXJsSGVscGVyIH0gZnJvbSAnLi4vdXRpbHMnO1xyXG5cclxuQERpcmVjdGl2ZSgpXHJcbmV4cG9ydCBjbGFzcyBCYXNlQ29tcG9uZW50PFRNb2RlbCA9IGFueT4gZXh0ZW5kcyBDb3JlQ29tcG9uZW50IHtcclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByb3RlY3RlZCByZWFkb25seSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXHJcbiAgICAgICAgcHJvdGVjdGVkIHJlYWRvbmx5IHJvdXRlcjogUm91dGVyXHJcbiAgICApIHtcclxuICAgICAgICBzdXBlcigpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBwcml2YXRlIF9yZWFkT25seSA9IGZhbHNlO1xyXG4gICAgQElucHV0KClcclxuICAgIGdldCByZWFkT25seSgpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fcmVhZE9ubHk7XHJcbiAgICB9XHJcbiAgICBzZXQgcmVhZE9ubHkodjogQm9vbGVhbklucHV0KSB7XHJcbiAgICAgICAgdGhpcy5fcmVhZE9ubHkgPSBDb252ZXJ0LnRvQm9vbGVhblByb3BlcnR5KHYpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX3VybDogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcbiAgICBwcm90ZWN0ZWQgZ2V0IHVybCgpOiBzdHJpbmcge1xyXG4gICAgICAgIGlmICghdGhpcy5fdXJsKVxyXG4gICAgICAgICAgICB0aGlzLl91cmwgPSBVcmxIZWxwZXIuZ2V0Tm9QYXJhbSh0aGlzLnJvdXRlci51cmwpO1xyXG4gICAgICAgIHJldHVybiB0aGlzLl91cmw7XHJcbiAgICB9XHJcblxyXG4gICAgQElucHV0KCkgbW9kZWw/OiBUTW9kZWwgfCBudWxsO1xyXG5cclxuXHJcblxyXG4gICAgcHJvdGVjdGVkIGdldFBhcmFtKG5hbWU6IHN0cmluZykge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnJvdXRlLnNuYXBzaG90LnBhcmFtTWFwLmdldChuYW1lKTtcclxuICAgIH1cclxuICAgIHByb3RlY3RlZCBnZXRRdWVyeVBhcmFtKG5hbWU6IHN0cmluZykge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnJvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1NYXAuZ2V0KG5hbWUpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBwcm90ZWN0ZWQgbmF2aWdhdGVSZXR1cm5VcmwoKSB7XHJcbiAgICAgICAgY29uc3QgcmV0dXJuVXJsID0gdGhpcy5nZXRRdWVyeVBhcmFtKCdyZXR1cm5VcmwnKSB8fCB0aGlzLmdldFBhcmFtKCdyZXR1cm5VcmwnKTtcclxuICAgICAgICBpZiAocmV0dXJuVXJsKSB7XHJcbiAgICAgICAgICAgIGxldCB1cmxUcmVlID0gdGhpcy5yb3V0ZXIucGFyc2VVcmwocmV0dXJuVXJsKTtcclxuICAgICAgICAgICAgY29uc3QgdXJsV2l0aG91dFBhcmFtcyA9IHVybFRyZWUucm9vdC5jaGlsZHJlbltQUklNQVJZX09VVExFVF0uc2VnbWVudHMubWFwKGl0ID0+IGl0LnBhdGgpLmpvaW4oJy8nKVxyXG4gICAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbdXJsV2l0aG91dFBhcmFtcywgdXJsVHJlZS5yb290LmNoaWxkcmVuW1BSSU1BUllfT1VUTEVUXS5zZWdtZW50c1t1cmxUcmVlLnJvb3QuY2hpbGRyZW5bUFJJTUFSWV9PVVRMRVRdLnNlZ21lbnRzLmxlbmd0aCAtIDFdLnBhcmFtZXRlcnNdKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW3RoaXMucm91dGVyLnVybC5zdWJzdHJpbmcoMCwgdGhpcy5yb3V0ZXIudXJsLmxhc3RJbmRleE9mKCcvJykpXSk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIGNhbmNlbCgpIHtcclxuICAgICAgICB0aGlzLm5hdmlnYXRlUmV0dXJuVXJsKCk7XHJcbiAgICB9XHJcblxyXG4gICAgZG93bmxvYWRGaWxlKGJsb2I6IEJsb2IgfCBudWxsLCBmaWxlTmFtZTogc3RyaW5nLCB0eXBlOiBzdHJpbmcpIHtcclxuICAgICAgICBpZiAoIWJsb2IpIHJldHVybjtcclxuXHJcbiAgICAgICAgY29uc3QgbmF2ID0gKHdpbmRvdy5uYXZpZ2F0b3IgYXMgYW55KTtcclxuICAgICAgICBpZiAobmF2ICYmIG5hdi5tc1NhdmVPck9wZW5CbG9iKSB7XHJcbiAgICAgICAgICAgIG5hdi5tc1NhdmVPck9wZW5CbG9iKGJsb2IsIGZpbGVOYW1lKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBsZXQgYSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTtcclxuICAgICAgICAgICAgYS5ocmVmID0gVVJMLmNyZWF0ZU9iamVjdFVSTChibG9iKTtcclxuICAgICAgICAgICAgYS5kb3dubG9hZCA9IGZpbGVOYW1lO1xyXG4gICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGEpO1xyXG4gICAgICAgICAgICBhLmNsaWNrKCk7XHJcbiAgICAgICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoYSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgcHJpbnQoaWQ/OiBudW1iZXIgfCBudWxsLCBwcmludFR5cGU/OiBQcmludFR5cGUpIHtcclxuICAgICAgICBjb25zdCBzcGxpdCA9IHRoaXMudXJsLnNwbGl0KCcvJyk7XHJcbiAgICAgICAgaWYgKHNwbGl0Lmxlbmd0aCA8IDIpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCB0ZW1wbGF0ZSA9IHNwbGl0WzFdO1xyXG4gICAgICAgIGxldCBhcGkgPSBBcHBCYXNlTW9kdWxlLmluamVjdG9yLmdldDxXZWJBcGlDbGllbnQ+KFdlYkFwaUNsaWVudCBhcyBUeXBlPFdlYkFwaUNsaWVudD4pO1xyXG5cclxuICAgICAgICBsZXQgYWN0aW9uTmFtZTogc3RyaW5nO1xyXG5cclxuXHJcbiAgICAgICAgc3dpdGNoIChwcmludFR5cGUpIHtcclxuICAgICAgICAgICAgY2FzZSBQcmludFR5cGUuUGRmOlxyXG4gICAgICAgICAgICAgICAgYWN0aW9uTmFtZSA9ICdQcmludFBkZklkTGluayc7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuXHJcbiAgICAgICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgICAgICBhY3Rpb25OYW1lID0gJ1Nob3dJZExpbmsnXHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICB9XHJcbiAgICAgICAgYXBpLmdldFN0cmluZyhgYXBpL1JlcG9ydHMvJHthY3Rpb25OYW1lfWAsIHsgdGVtcGxhdGUsIGlkIH0pLnN1YnNjcmliZSh1cmwgPT4ge1xyXG4gICAgICAgICAgICBpZiAodXJsKSB7XHJcbiAgICAgICAgICAgICAgICB3aW5kb3cub3Blbih1cmwsICdfYmxhbmsnKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
import { Directive, EventEmitter, Input, Output } from "@angular/core";
|
|
2
|
+
import { Convert } from "../utils";
|
|
3
|
+
import { CoreComponent } from "./core.component";
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
let uniqueId = 0;
|
|
6
|
+
class CoreUiComponent extends CoreComponent {
|
|
7
|
+
constructor(_renderer, _elementRef
|
|
8
|
+
//private _changeDetector: ChangeDetectorRef
|
|
9
|
+
) {
|
|
10
|
+
super();
|
|
11
|
+
this._renderer = _renderer;
|
|
12
|
+
this._elementRef = _elementRef;
|
|
13
|
+
/** The method to be called in order to update ngModel */
|
|
14
|
+
this._onChange = () => { };
|
|
15
|
+
/**
|
|
16
|
+
* onTouch function registered via registerOnTouch (ControlValueAccessor).
|
|
17
|
+
* @docs-private
|
|
18
|
+
*/
|
|
19
|
+
this._onTouched = () => { };
|
|
20
|
+
this.change = new EventEmitter();
|
|
21
|
+
this.changing = new EventEmitter();
|
|
22
|
+
this._name = `zek-${++uniqueId}`;
|
|
23
|
+
this._isInitialized = false;
|
|
24
|
+
this._value = null;
|
|
25
|
+
this._readonly = false;
|
|
26
|
+
this._disabled = false;
|
|
27
|
+
this._required = false;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Helper method that sets a property on a target element using the current Renderer
|
|
31
|
+
* implementation.
|
|
32
|
+
* @nodoc
|
|
33
|
+
*/
|
|
34
|
+
setProperty(key, value) {
|
|
35
|
+
this._renderer.setProperty(this._elementRef.nativeElement, key, value);
|
|
36
|
+
}
|
|
37
|
+
get name() {
|
|
38
|
+
return this._name;
|
|
39
|
+
}
|
|
40
|
+
set name(value) {
|
|
41
|
+
if (this._name !== value) {
|
|
42
|
+
this._name = value;
|
|
43
|
+
this.onNameChanged();
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
onNameChanged() { }
|
|
47
|
+
get isInitialized() {
|
|
48
|
+
return this._isInitialized;
|
|
49
|
+
}
|
|
50
|
+
get value() {
|
|
51
|
+
return this._value;
|
|
52
|
+
}
|
|
53
|
+
set value(newValue) {
|
|
54
|
+
if (this._value !== newValue) {
|
|
55
|
+
let cancelEventArgs = {
|
|
56
|
+
oldValue: this._value,
|
|
57
|
+
newValue: newValue
|
|
58
|
+
};
|
|
59
|
+
this.onValueChanging(cancelEventArgs);
|
|
60
|
+
if (cancelEventArgs.cancel === true)
|
|
61
|
+
return;
|
|
62
|
+
// Set this before proceeding to ensure no circular loop occurs with selection.
|
|
63
|
+
this._value = newValue;
|
|
64
|
+
this.onValueChanged();
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
onValueChanging(e) {
|
|
68
|
+
this.changing.emit(e);
|
|
69
|
+
}
|
|
70
|
+
onValueChanged() { }
|
|
71
|
+
/**
|
|
72
|
+
* Use this method for client side change
|
|
73
|
+
* @param newValue
|
|
74
|
+
*/
|
|
75
|
+
setNgModel(newValue) {
|
|
76
|
+
if (!this.disabled) {
|
|
77
|
+
if (this._value !== newValue) {
|
|
78
|
+
this.value = newValue;
|
|
79
|
+
this._emitChangeEvent();
|
|
80
|
+
this._onChange(this._value); //write value to NgModel
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
/** Whether the component is disabled */
|
|
85
|
+
get readonly() {
|
|
86
|
+
return this._readonly;
|
|
87
|
+
}
|
|
88
|
+
set readonly(value) {
|
|
89
|
+
let v = Convert.toBooleanProperty(value);
|
|
90
|
+
if (this._readonly !== v) {
|
|
91
|
+
this._readonly = v;
|
|
92
|
+
this.onReadOnlyChanged();
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
onReadOnlyChanged() { }
|
|
96
|
+
/** Whether the component is disabled */
|
|
97
|
+
get disabled() {
|
|
98
|
+
return this._disabled;
|
|
99
|
+
}
|
|
100
|
+
set disabled(value) {
|
|
101
|
+
let v = Convert.toBooleanProperty(value);
|
|
102
|
+
if (this._disabled !== v) {
|
|
103
|
+
this._disabled = v;
|
|
104
|
+
this.onDisabledChanged();
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
onDisabledChanged() { }
|
|
108
|
+
/** Whether the component is required */
|
|
109
|
+
get required() {
|
|
110
|
+
return this._required;
|
|
111
|
+
}
|
|
112
|
+
set required(value) {
|
|
113
|
+
let v = Convert.toBooleanProperty(value);
|
|
114
|
+
if (this._required !== v) {
|
|
115
|
+
this._required = v;
|
|
116
|
+
this.onRequiredChanged();
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
onRequiredChanged() { }
|
|
120
|
+
_onInputInteraction(event) {
|
|
121
|
+
// We always have to stop propagation on the change event.
|
|
122
|
+
// Otherwise the change event, from the input element, will bubble up and
|
|
123
|
+
// emit its event object to the `change` output.
|
|
124
|
+
event.stopPropagation();
|
|
125
|
+
this.setNgModel(event.target.value);
|
|
126
|
+
}
|
|
127
|
+
/** Dispatch change event with current value. */
|
|
128
|
+
_emitChangeEvent() {
|
|
129
|
+
if (this._isInitialized) {
|
|
130
|
+
this.change.emit(this._value);
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
ngAfterContentInit() {
|
|
134
|
+
// Mark this component as initialized in AfterContentInit because the initial value can
|
|
135
|
+
// possibly be set by NgModel on component, and it is possible that the OnInit of the
|
|
136
|
+
// NgModel occurs *after* the OnInit of the component.
|
|
137
|
+
this._isInitialized = true;
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Sets the model value. Implemented as part of ControlValueAccessor.
|
|
141
|
+
* (write from model to el.nativeElement)
|
|
142
|
+
* @param value
|
|
143
|
+
*/
|
|
144
|
+
writeValue(value) {
|
|
145
|
+
this.value = value;
|
|
146
|
+
//this._changeDetector.markForCheck();
|
|
147
|
+
//this._renderer.setProperty(this._elementRef.nativeElement, 'value', value);
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Registers a callback to be triggered when the model value changes.
|
|
151
|
+
* Implemented as part of ControlValueAccessor.
|
|
152
|
+
* @param fn Callback to be registered.
|
|
153
|
+
*/
|
|
154
|
+
registerOnChange(fn) {
|
|
155
|
+
this._onChange = fn;
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* Registers a callback to be triggered when the control is touched.
|
|
159
|
+
* Implemented as part of ControlValueAccessor.
|
|
160
|
+
* @param fn Callback to be registered.
|
|
161
|
+
*/
|
|
162
|
+
registerOnTouched(fn) {
|
|
163
|
+
this._onTouched = fn;
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* Sets the disabled state of the control. Implemented as a part of ControlValueAccessor.
|
|
167
|
+
* @param isDisabled Whether the control should be disabled.
|
|
168
|
+
*/
|
|
169
|
+
setDisabledState(isDisabled) {
|
|
170
|
+
this.disabled = isDisabled;
|
|
171
|
+
//this._changeDetector.markForCheck();
|
|
172
|
+
//this._renderer.setProperty(this._elementRef.nativeElement, 'disabled', isDisabled);
|
|
173
|
+
}
|
|
174
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: CoreUiComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
175
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.1", type: CoreUiComponent, inputs: { name: "name", value: "value", readonly: "readonly", disabled: "disabled", required: "required" }, outputs: { change: "change", changing: "changing" }, usesInheritance: true, ngImport: i0 }); }
|
|
176
|
+
}
|
|
177
|
+
export { CoreUiComponent };
|
|
178
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: CoreUiComponent, decorators: [{
|
|
179
|
+
type: Directive
|
|
180
|
+
}], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }]; }, propDecorators: { change: [{
|
|
181
|
+
type: Output
|
|
182
|
+
}], changing: [{
|
|
183
|
+
type: Output
|
|
184
|
+
}], name: [{
|
|
185
|
+
type: Input
|
|
186
|
+
}], value: [{
|
|
187
|
+
type: Input
|
|
188
|
+
}], readonly: [{
|
|
189
|
+
type: Input
|
|
190
|
+
}], disabled: [{
|
|
191
|
+
type: Input
|
|
192
|
+
}], required: [{
|
|
193
|
+
type: Input
|
|
194
|
+
}] } });
|
|
195
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS11aS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96ZWsvc3JjL2xpYi9jb21wb25lbnRzL2NvcmUtdWkuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBdUMsU0FBUyxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBRW5JLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFbkMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDOztBQUdqRCxJQUFJLFFBQVEsR0FBRyxDQUFDLENBQUM7QUFFakIsTUFDYSxlQUFnQixTQUFRLGFBQWE7SUFFOUMsWUFDYyxTQUFvQixFQUNwQixXQUF1QjtJQUNqQyw0Q0FBNEM7O1FBRTVDLEtBQUssRUFBRSxDQUFDO1FBSkUsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUNwQixnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQU1yQyx5REFBeUQ7UUFDekQsY0FBUyxHQUF5QixHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFFNUM7OztXQUdHO1FBQ0gsZUFBVSxHQUFjLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztRQVlmLFdBQU0sR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUNwRCxhQUFRLEdBQTZCLElBQUksWUFBWSxFQUFjLENBQUM7UUFFL0UsVUFBSyxHQUFXLE9BQU8sRUFBRSxRQUFRLEVBQUUsQ0FBQztRQWNwQyxtQkFBYyxHQUFZLEtBQUssQ0FBQztRQUs5QixXQUFNLEdBQVEsSUFBSSxDQUFDO1FBd0NyQixjQUFTLEdBQVksS0FBSyxDQUFDO1FBZ0IzQixjQUFTLEdBQVksS0FBSyxDQUFDO1FBZ0IzQixjQUFTLEdBQVksS0FBSyxDQUFDO0lBbkhuQyxDQUFDO0lBWUQ7Ozs7S0FJQztJQUNTLFdBQVcsQ0FBQyxHQUFXLEVBQUUs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RSxDQUFDO0lBQ3pCLENBQUM7SUFHRDs7O09BR0c7SUFDSCxnQkFBZ0IsQ0FBQyxVQUFtQjtRQUNoQyxJQUFJLENBQUMsUUFBUSxHQUFHLFVBQVUsQ0FBQztRQUMzQixzQ0FBc0M7UUFDdEMscUZBQXFGO0lBQ3pGLENBQUM7OEdBek1RLGVBQWU7a0dBQWYsZUFBZTs7U0FBZixlQUFlOzJGQUFmLGVBQWU7a0JBRDNCLFNBQVM7eUhBOEJhLE1BQU07c0JBQXhCLE1BQU07Z0JBQ1ksUUFBUTtzQkFBMUIsTUFBTTtnQkFPSCxJQUFJO3NCQURQLEtBQUs7Z0JBb0JGLEtBQUs7c0JBRFIsS0FBSztnQkEwQ0YsUUFBUTtzQkFEWCxLQUFLO2dCQWlCRixRQUFRO3NCQURYLEtBQUs7Z0JBaUJGLFFBQVE7c0JBRFgsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyQ29udGVudEluaXQsIENoYW5nZURldGVjdG9yUmVmLCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgUmVuZGVyZXIyIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHsgQ29udmVydCB9IGZyb20gXCIuLi91dGlsc1wiO1xyXG5pbXBvcnQgeyBDYW5jZWxBcmdzIH0gZnJvbSBcIi4vYXJnc1wiO1xyXG5pbXBvcnQgeyBDb3JlQ29tcG9uZW50IH0gZnJvbSBcIi4vY29yZS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgQm9vbGVhbklucHV0IH0gZnJvbSBcIi4vdHlwZXNcIjtcclxuXHJcbmxldCB1bmlxdWVJZCA9IDA7XHJcblxyXG5ARGlyZWN0aXZlKClcclxuZXhwb3J0IGNsYXNzIENvcmVVaUNvbXBvbmVudCBleHRlbmRzIENvcmVDb21wb25lbnRcclxuICAgIGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJvdGVjdGVkIF9yZW5kZXJlcjogUmVuZGVyZXIyLFxyXG4gICAgICAgIHByb3RlY3RlZCBfZWxlbWVudFJlZjogRWxlbWVudFJlZlxyXG4gICAgICAgIC8vcHJpdmF0ZSBfY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmXHJcbiAgICApIHtcclxuICAgICAgICBzdXBlcigpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKiBUaGUgbWV0aG9kIHRvIGJlIGNhbGxlZCBpbiBvcmRlciB0byB1cGRhdGUgbmdNb2RlbCAqL1xyXG4gICAgX29uQ2hhbmdlOiAodmFsdWU6IGFueSkgPT4gdm9pZCA9ICgpID0+IHsgfTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIG9uVG91Y2ggZnVuY3Rpb24gcmVnaXN0ZXJlZCB2aWEgcmVnaXN0ZXJPblRvdWNoIChDb250cm9sVmFsdWVBY2Nlc3NvcikuXHJcbiAgICAgKiBAZG9jcy1wcml2YXRlXHJcbiAgICAgKi9cclxuICAgIF9vblRvdWNoZWQ6ICgpID0+IGFueSA9ICgpID0+IHsgfTtcclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICogSGVscGVyIG1ldGhvZCB0aGF0IHNldHMgYSBwcm9wZXJ0eSBvbiBhIHRhcmdldCBlbGVtZW50IHVzaW5nIHRoZSBjdXJyZW50IFJlbmRlcmVyXHJcbiAgICogaW1wbGVtZW50YXRpb24uXHJcbiAgICogQG5vZG9jXHJcbiAgICovXHJcbiAgICBwcm90ZWN0ZWQgc2V0UHJvcGVydHkoa2V5OiBzdHJpbmcsIHZhbHVlOiBhbnkpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9yZW5kZXJlci5zZXRQcm9wZXJ0eSh0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIGtleSwgdmFsdWUpO1xyXG4gICAgfVxyXG5cclxuICAgIEBPdXRwdXQoKSByZWFkb25seSBjaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgICBAT3V0cHV0KCkgcmVhZG9ubHkgY2hhbmdpbmc6IEV2ZW50RW1pdHRlcjxDYW5jZWxBcmdzPiA9IG5ldyBFdmVudEVtaXR0ZXI8Q2FuY2VsQXJncz4oKTtcclxuXHJcbiAgICBwcml2YXRlIF9uYW1lOiBzdHJpbmcgPSBgemVrLSR7Kyt1bmlxdWVJZH1gO1xyXG4gICAgZ2V0IG5hbWUoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fbmFtZTtcclxuICAgIH1cclxuICAgIEBJbnB1dCgpXHJcbiAgICBzZXQgbmFtZSh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuX25hbWUgIT09IHZhbHVlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX25hbWUgPSB2YWx1ZTtcclxuICAgICAgICAgICAgdGhpcy5vbk5hbWVDaGFuZ2VkKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgb25OYW1lQ2hhbmdlZCgpIHsgfVxyXG5cclxuXHJcbiAgICBwcml2YXRlIF9pc0luaXRpYWxpemVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBnZXQgaXNJbml0aWFsaXplZCgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5faXNJbml0aWFsaXplZDtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgX3ZhbHVlOiBhbnkgPSBudWxsO1xyXG4gICAgZ2V0IHZhbHVlKCk6IGFueSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3ZhbHVlO1xyXG4gICAgfVxyXG4gICAgQElucHV0KClcclxuICAgIHNldCB2YWx1ZShuZXdWYWx1ZTogYW55KSB7XHJcbiAgICAgICAgaWYgKHRoaXMuX3ZhbHVlICE9PSBuZXdWYWx1ZSkge1xyXG4gICAgICAgICAgICBsZXQgY2FuY2VsRXZlbnRBcmdzOiBDYW5jZWxBcmdzID0ge1xyXG4gICAgICAgICAgICAgICAgb2xkVmFsdWU6IHRoaXMuX3ZhbHVlLFxyXG4gICAgICAgICAgICAgICAgbmV3VmFsdWU6IG5ld1ZhbHVlXHJcbiAgICAgICAgICAgIH07XHJcblxyXG4gICAgICAgICAgICB0aGlzLm9uVmFsdWVDaGFuZ2luZyhjYW5jZWxFdmVudEFyZ3MpO1xyXG4gICAgICAgICAgICBpZiAoY2FuY2VsRXZlbnRBcmdzLmNhbmNlbCA9PT0gdHJ1ZSlcclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuXHJcbiAgICAgICAgICAgIC8vIFNldCB0aGlzIGJlZm9yZSBwcm9jZWVkaW5nIHRvIGVuc3VyZSBubyBjaXJjdWxhciBsb29wIG9jY3VycyB3aXRoIHNlbGVjdGlvbi5cclxuICAgICAgICAgICAgdGhpcy5fdmFsdWUgPSBuZXdWYWx1ZTtcclxuICAgICAgICAgICAgdGhpcy5vblZhbHVlQ2hhbmdlZCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIG9uVmFsdWVDaGFuZ2luZyhlOiBDYW5jZWxBcmdzKSB7XHJcbiAgICAgICAgdGhpcy5jaGFuZ2luZy5lbWl0KGUpO1xyXG4gICAgfVxyXG4gICAgb25WYWx1ZUNoYW5nZWQoKSB7IH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFVzZSB0aGlzIG1ldGhvZCBmb3IgY2xpZW50IHNpZGUgY2hhbmdlXHJcbiAgICAgKiBAcGFyYW0gbmV3VmFsdWUgXHJcbiAgICAgKi9cclxuICAgIHNldE5nTW9kZWwobmV3VmFsdWU6IGFueSkge1xyXG4gICAgICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5fdmFsdWUgIT09IG5ld1ZhbHVlKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlID0gbmV3VmFsdWU7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9lbWl0Q2hhbmdlRXZlbnQoKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuX29uQ2hhbmdlKHRoaXMuX3ZhbHVlKTsvL3dyaXRlIHZhbHVlIHRvIE5nTW9kZWxcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9yZWFkb25seTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgLyoqIFdoZXRoZXIgdGhlIGNvbXBvbmVudCBpcyBkaXNhYmxlZCAqL1xyXG4gICAgZ2V0IHJlYWRvbmx5KCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9yZWFkb25seTtcclxuICAgIH1cclxuICAgIEBJbnB1dCgpXHJcbiAgICBzZXQgcmVhZG9ubHkodmFsdWU6IEJvb2xlYW5JbnB1dCkge1xyXG4gICAgICAgIGxldCB2ID0gQ29udmVydC50b0Jvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XHJcbiAgICAgICAgaWYgKHRoaXMuX3JlYWRvbmx5ICE9PSB2KSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3JlYWRvbmx5ID0gdjtcclxuICAgICAgICAgICAgdGhpcy5vblJlYWRPbmx5Q2hhbmdlZCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIG9uUmVhZE9ubHlDaGFuZ2VkKCkgeyB9XHJcblxyXG5cclxuICAgIHByaXZhdGUgX2Rpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICAvKiogV2hldGhlciB0aGUgY29tcG9uZW50IGlzIGRpc2FibGVkICovXHJcbiAgICBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2Rpc2FibGVkO1xyXG4gICAgfVxyXG4gICAgQElucHV0KClcclxuICAgIHNldCBkaXNhYmxlZCh2YWx1ZTogQm9vbGVhbklucHV0KSB7XHJcbiAgICAgICAgbGV0IHYgPSBDb252ZXJ0LnRvQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcclxuICAgICAgICBpZiAodGhpcy5fZGlzYWJsZWQgIT09IHYpIHtcclxuICAgICAgICAgICAgdGhpcy5fZGlzYWJsZWQgPSB2O1xyXG4gICAgICAgICAgICB0aGlzLm9uRGlzYWJsZWRDaGFuZ2VkKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgb25EaXNhYmxlZENoYW5nZWQoKSB7IH1cclxuXHJcblxyXG4gICAgcHJpdmF0ZSBfcmVxdWlyZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIC8qKiBXaGV0aGVyIHRoZSBjb21wb25lbnQgaXMgcmVxdWlyZWQgKi9cclxuICAgIGdldCByZXF1aXJlZCgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fcmVxdWlyZWQ7XHJcbiAgICB9XHJcbiAgICBASW5wdXQoKVxyXG4gICAgc2V0IHJlcXVpcmVkKHZhbHVlOiBCb29sZWFuSW5wdXQpIHtcclxuICAgICAgICBsZXQgdiA9IENvbnZlcnQudG9Cb29sZWFuUHJvcGVydHkodmFsdWUpO1xyXG4gICAgICAgIGlmICh0aGlzLl9yZXF1aXJlZCAhPT0gdikge1xyXG4gICAgICAgICAgICB0aGlzLl9yZXF1aXJlZCA9IHY7XHJcbiAgICAgICAgICAgIHRoaXMub25SZXF1aXJlZENoYW5nZWQoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBvblJlcXVpcmVkQ2hhbmdlZCgpIHsgfVxyXG5cclxuXHJcbiAgICBfb25JbnB1dEludGVyYWN0aW9uKGV2ZW50OiBFdmVudCkge1xyXG4gICAgICAgIC8vIFdlIGFsd2F5cyBoYXZlIHRvIHN0b3AgcHJvcGFnYXRpb24gb24gdGhlIGNoYW5nZSBldmVudC5cclxuICAgICAgICAvLyBPdGhlcndpc2UgdGhlIGNoYW5nZSBldmVudCwgZnJvbSB0aGUgaW5wdXQgZWxlbWVudCwgd2lsbCBidWJibGUgdXAgYW5kXHJcbiAgICAgICAgLy8gZW1pdCBpdHMgZXZlbnQgb2JqZWN0IHRvIHRoZSBgY2hhbmdlYCBvdXRwdXQuXHJcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICAgICAgdGhpcy5zZXROZ01vZGVsKChldmVudC50YXJnZXQgYXMgYW55KS52YWx1ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqIERpc3BhdGNoIGNoYW5nZSBldmVudCB3aXRoIGN1cnJlbnQgdmFsdWUuICovXHJcbiAgICBfZW1pdENoYW5nZUV2ZW50KCk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLl9pc0luaXRpYWxpemVkKSB7XHJcbiAgICAgICAgICAgIHRoaXMuY2hhbmdlLmVtaXQodGhpcy5fdmFsdWUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xyXG4gICAgICAgIC8vIE1hcmsgdGhpcyBjb21wb25lbnQgYXMgaW5pdGlhbGl6ZWQgaW4gQWZ0ZXJDb250ZW50SW5pdCBiZWNhdXNlIHRoZSBpbml0aWFsIHZhbHVlIGNhblxyXG4gICAgICAgIC8vIHBvc3NpYmx5IGJlIHNldCBieSBOZ01vZGVsIG9uIGNvbXBvbmVudCwgYW5kIGl0IGlzIHBvc3NpYmxlIHRoYXQgdGhlIE9uSW5pdCBvZiB0aGVcclxuICAgICAgICAvLyBOZ01vZGVsIG9jY3VycyAqYWZ0ZXIqIHRoZSBPbkluaXQgb2YgdGhlIGNvbXBvbmVudC5cclxuICAgICAgICB0aGlzLl9pc0luaXRpYWxpemVkID0gdHJ1ZTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTZXRzIHRoZSBtb2RlbCB2YWx1ZS4gSW1wbGVtZW50ZWQgYXMgcGFydCBvZiBDb250cm9sVmFsdWVBY2Nlc3Nvci5cclxuICAgICAqICh3cml0ZSBmcm9tIG1vZGVsIHRvIGVsLm5hdGl2ZUVsZW1lbnQpXHJcbiAgICAgKiBAcGFyYW0gdmFsdWVcclxuICAgICAqL1xyXG4gICAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KSB7XHJcbiAgICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xyXG4gICAgICAgIC8vdGhpcy5fY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XHJcbiAgICAgICAgLy90aGlzLl9yZW5kZXJlci5zZXRQcm9wZXJ0eSh0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICd2YWx1ZScsIHZhbHVlKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJlZ2lzdGVycyBhIGNhbGxiYWNrIHRvIGJlIHRyaWdnZXJlZCB3aGVuIHRoZSBtb2RlbCB2YWx1ZSBjaGFuZ2VzLlxyXG4gICAgICogSW1wbGVtZW50ZWQgYXMgcGFydCBvZiBDb250cm9sVmFsdWVBY2Nlc3Nvci5cclxuICAgICAqIEBwYXJhbSBmbiBDYWxsYmFjayB0byBiZSByZWdpc3RlcmVkLlxyXG4gICAgICovXHJcbiAgICByZWdpc3Rlck9uQ2hhbmdlKGZuOiAoXzogYW55KSA9PiB2b2lkKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fb25DaGFuZ2UgPSBmbjtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJlZ2lzdGVycyBhIGNhbGxiYWNrIHRvIGJlIHRyaWdnZXJlZCB3aGVuIHRoZSBjb250cm9sIGlzIHRvdWNoZWQuXHJcbiAgICAgKiBJbXBsZW1lbnRlZCBhcyBwYXJ0IG9mIENvbnRyb2xWYWx1ZUFjY2Vzc29yLlxyXG4gICAgICogQHBhcmFtIGZuIENhbGxiYWNrIHRvIGJlIHJlZ2lzdGVyZWQuXHJcbiAgICAgKi9cclxuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpIHtcclxuICAgICAgICB0aGlzLl9vblRvdWNoZWQgPSBmbjtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTZXRzIHRoZSBkaXNhYmxlZCBzdGF0ZSBvZiB0aGUgY29udHJvbC4gSW1wbGVtZW50ZWQgYXMgYSBwYXJ0IG9mIENvbnRyb2xWYWx1ZUFjY2Vzc29yLlxyXG4gICAgICogQHBhcmFtIGlzRGlzYWJsZWQgV2hldGhlciB0aGUgY29udHJvbCBzaG91bGQgYmUgZGlzYWJsZWQuXHJcbiAgICAgKi9cclxuICAgIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbikge1xyXG4gICAgICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xyXG4gICAgICAgIC8vdGhpcy5fY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XHJcbiAgICAgICAgLy90aGlzLl9yZW5kZXJlci5zZXRQcm9wZXJ0eSh0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdkaXNhYmxlZCcsIGlzRGlzYWJsZWQpO1xyXG4gICAgfVxyXG59Il19
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { Directive } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
class CoreComponent {
|
|
4
|
+
constructor() {
|
|
5
|
+
this.loading = false;
|
|
6
|
+
}
|
|
7
|
+
ngOnInit() {
|
|
8
|
+
this.load();
|
|
9
|
+
}
|
|
10
|
+
ngOnDestroy() {
|
|
11
|
+
this.destroy();
|
|
12
|
+
}
|
|
13
|
+
async load() {
|
|
14
|
+
try {
|
|
15
|
+
if (this.loading)
|
|
16
|
+
return;
|
|
17
|
+
this.loading = true;
|
|
18
|
+
await this.init();
|
|
19
|
+
await this.bindModel();
|
|
20
|
+
await this.bindDictionary();
|
|
21
|
+
await this.onBound();
|
|
22
|
+
}
|
|
23
|
+
finally {
|
|
24
|
+
this.loading = false;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
init() { }
|
|
28
|
+
bindModel() { }
|
|
29
|
+
bindDictionary() { }
|
|
30
|
+
onBound() { }
|
|
31
|
+
async destroy() {
|
|
32
|
+
}
|
|
33
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: CoreComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
34
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.1", type: CoreComponent, ngImport: i0 }); }
|
|
35
|
+
}
|
|
36
|
+
export { CoreComponent };
|
|
37
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: CoreComponent, decorators: [{
|
|
38
|
+
type: Directive
|
|
39
|
+
}] });
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96ZWsvc3JjL2xpYi9jb21wb25lbnRzL2NvcmUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBVSxTQUFTLEVBQWEsTUFBTSxlQUFlLENBQUM7O0FBSzdELE1BQ2EsYUFBYTtJQUQxQjtRQUVJLFlBQU8sR0FBRyxLQUFLLENBQUM7S0FnQ25CO0lBNUJHLFFBQVE7UUFDSixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDaEIsQ0FBQztJQUNELFdBQVc7UUFDUCxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVELEtBQUssQ0FBQyxJQUFJO1FBQ04sSUFBSTtZQUNBLElBQUksSUFBSSxDQUFDLE9BQU87Z0JBQUUsT0FBTztZQUV6QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztZQUNwQixNQUFNLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNsQixNQUFNLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUN2QixNQUFNLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUM1QixNQUFNLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztTQUN4QjtnQkFDTztZQUNKLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1NBQ3hCO0lBQ0wsQ0FBQztJQUNELElBQUksS0FBSyxDQUFDO0lBQ1YsU0FBUyxLQUFLLENBQUM7SUFDZixjQUFjLEtBQUssQ0FBQztJQUNwQixPQUFPLEtBQUssQ0FBQztJQUViLEtBQUssQ0FBQyxPQUFPO0lBQ2IsQ0FBQzs4R0FoQ1EsYUFBYTtrR0FBYixhQUFhOztTQUFiLGFBQWE7MkZBQWIsYUFBYTtrQkFEekIsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9uSW5pdCwgRGlyZWN0aXZlLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29udmVydCB9IGZyb20gJy4uL3V0aWxzJztcclxuXHJcblxyXG5cclxuQERpcmVjdGl2ZSgpXHJcbmV4cG9ydCBjbGFzcyBDb3JlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gICAgbG9hZGluZyA9IGZhbHNlO1xyXG5cclxuXHJcblxyXG4gICAgbmdPbkluaXQoKSB7XHJcbiAgICAgICAgdGhpcy5sb2FkKCk7XHJcbiAgICB9XHJcbiAgICBuZ09uRGVzdHJveSgpIHtcclxuICAgICAgICB0aGlzLmRlc3Ryb3koKTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBsb2FkKCkge1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLmxvYWRpbmcpIHJldHVybjtcclxuXHJcbiAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7XHJcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuaW5pdCgpO1xyXG4gICAgICAgICAgICBhd2FpdCB0aGlzLmJpbmRNb2RlbCgpO1xyXG4gICAgICAgICAgICBhd2FpdCB0aGlzLmJpbmREaWN0aW9uYXJ5KCk7XHJcbiAgICAgICAgICAgIGF3YWl0IHRoaXMub25Cb3VuZCgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBmaW5hbGx5IHtcclxuICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgaW5pdCgpIHsgfVxyXG4gICAgYmluZE1vZGVsKCkgeyB9XHJcbiAgICBiaW5kRGljdGlvbmFyeSgpIHsgfVxyXG4gICAgb25Cb3VuZCgpIHsgfVxyXG5cclxuICAgIGFzeW5jIGRlc3Ryb3koKSB7XHJcbiAgICB9XHJcbn0iXX0=
|