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,14 @@
|
|
|
1
|
+
import { Component } from "@angular/core";
|
|
2
|
+
import { WizardComponent } from "../wizard/wizard.component";
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/common";
|
|
5
|
+
class WizardComponent2 extends WizardComponent {
|
|
6
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: WizardComponent2, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
7
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.1", type: WizardComponent2, selector: "zek-wizard2", usesInheritance: true, ngImport: i0, template: "<div class=\"m-2\">\r\n <button *ngFor=\"let item of stepsArray\"\r\n [class.btn-outline-secondary]=\"item.step >= steps\"\r\n [class.btn-primary]=\"item.step < steps\"\r\n type=\"button\"\r\n class=\"btn btn-sm mr me-2\"></button>\r\n</div>", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] }); }
|
|
8
|
+
}
|
|
9
|
+
export { WizardComponent2 };
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: WizardComponent2, decorators: [{
|
|
11
|
+
type: Component,
|
|
12
|
+
args: [{ selector: 'zek-wizard2', template: "<div class=\"m-2\">\r\n <button *ngFor=\"let item of stepsArray\"\r\n [class.btn-outline-secondary]=\"item.step >= steps\"\r\n [class.btn-primary]=\"item.step < steps\"\r\n type=\"button\"\r\n class=\"btn btn-sm mr me-2\"></button>\r\n</div>" }]
|
|
13
|
+
}] });
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l6YXJkMi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96ZWsvc3JjL2xpYi9tb2R1bGVzL3dpemFyZC93aXphcmQyL3dpemFyZDIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvemVrL3NyYy9saWIvbW9kdWxlcy93aXphcmQvd2l6YXJkMi93aXphcmQyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7QUFFN0QsTUFJYSxnQkFBaUIsU0FBUSxlQUFlOzhHQUF4QyxnQkFBZ0I7a0dBQWhCLGdCQUFnQiwwRUNQN0IsZ1FBTU07O1NEQ08sZ0JBQWdCOzJGQUFoQixnQkFBZ0I7a0JBSjVCLFNBQVM7K0JBQ0ksYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IFdpemFyZENvbXBvbmVudCB9IGZyb20gXCIuLi93aXphcmQvd2l6YXJkLmNvbXBvbmVudFwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3play13aXphcmQyJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi93aXphcmQyLmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgV2l6YXJkQ29tcG9uZW50MiBleHRlbmRzIFdpemFyZENvbXBvbmVudHtcclxuXHJcbn0iLCI8ZGl2IGNsYXNzPVwibS0yXCI+XHJcbiAgPGJ1dHRvbiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBzdGVwc0FycmF5XCJcclxuICAgIFtjbGFzcy5idG4tb3V0bGluZS1zZWNvbmRhcnldPVwiaXRlbS5zdGVwID49IHN0ZXBzXCJcclxuICAgIFtjbGFzcy5idG4tcHJpbWFyeV09XCJpdGVtLnN0ZXAgPCBzdGVwc1wiXHJcbiAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgIGNsYXNzPVwiYnRuIGJ0bi1zbSBtciBtZS0yXCI+PC9idXR0b24+XHJcbjwvZGl2PiJdfQ==
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { NavigationStart } from '@angular/router';
|
|
3
|
+
import { Subject } from 'rxjs';
|
|
4
|
+
import { AlertType } from '../models';
|
|
5
|
+
import { BootstrapHelper } from '../utils/bootstrap.helper';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "@angular/router";
|
|
8
|
+
export class BaseAlert {
|
|
9
|
+
}
|
|
10
|
+
export class Alert extends BaseAlert {
|
|
11
|
+
}
|
|
12
|
+
export class Toast extends BaseAlert {
|
|
13
|
+
}
|
|
14
|
+
class AlertService {
|
|
15
|
+
// private id = 0;
|
|
16
|
+
constructor(router) {
|
|
17
|
+
this.alertSubject = new Subject();
|
|
18
|
+
this.toastSubject = new Subject();
|
|
19
|
+
this.keepAfterRouteChange = false;
|
|
20
|
+
// clear alert messages on route change unless 'keepAfterRouteChange' flag is true
|
|
21
|
+
router.events.subscribe(event => {
|
|
22
|
+
if (event instanceof NavigationStart) {
|
|
23
|
+
if (this.keepAfterRouteChange) {
|
|
24
|
+
// only keep for a single route change
|
|
25
|
+
this.keepAfterRouteChange = false;
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
// clear alert messages
|
|
29
|
+
this.clear();
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
add(alertType, message, keepAfterRouteChange = false) {
|
|
35
|
+
let messages = [];
|
|
36
|
+
messages.push(message);
|
|
37
|
+
this.addRange(alertType, messages, keepAfterRouteChange);
|
|
38
|
+
}
|
|
39
|
+
addRange(alertType, messages, keepAfterRouteChange = false) {
|
|
40
|
+
this.keepAfterRouteChange = keepAfterRouteChange;
|
|
41
|
+
this.alertSubject.next({ type: alertType, messages: messages });
|
|
42
|
+
}
|
|
43
|
+
clear() {
|
|
44
|
+
this.alertSubject.next(null);
|
|
45
|
+
}
|
|
46
|
+
getAlert() {
|
|
47
|
+
return this.alertSubject.asObservable();
|
|
48
|
+
}
|
|
49
|
+
getToast() {
|
|
50
|
+
return this.toastSubject.asObservable();
|
|
51
|
+
}
|
|
52
|
+
success(message, title, icon) {
|
|
53
|
+
this.show(message, title, AlertType.Success, icon);
|
|
54
|
+
}
|
|
55
|
+
error(message, title, icon) {
|
|
56
|
+
this.show(message, title, AlertType.Danger, icon);
|
|
57
|
+
}
|
|
58
|
+
warning(message, title, icon) {
|
|
59
|
+
this.show(message, title, AlertType.Warning, icon);
|
|
60
|
+
}
|
|
61
|
+
info(message, title, icon) {
|
|
62
|
+
this.show(message, title, AlertType.Info, icon);
|
|
63
|
+
}
|
|
64
|
+
show(message, title, alertType, icon) {
|
|
65
|
+
if (!icon || icon.length == 0)
|
|
66
|
+
icon = BootstrapHelper.cssAlertIcon(alertType);
|
|
67
|
+
this.toastSubject.next({ message, title, type: alertType, icon }); //, id: `${this.id++}`
|
|
68
|
+
//$.notify(message, alertType ? AlertType[alertType].toLowerCase() : undefined, icon);
|
|
69
|
+
}
|
|
70
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: AlertService, deps: [{ token: i1.Router }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
71
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: AlertService }); }
|
|
72
|
+
}
|
|
73
|
+
export { AlertService };
|
|
74
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: AlertService, decorators: [{
|
|
75
|
+
type: Injectable
|
|
76
|
+
}], ctorParameters: function () { return [{ type: i1.Router }]; } });
|
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3play9zcmMvbGliL3NlcnZpY2VzL2FsZXJ0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQVUsZUFBZSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7O0FBRTVELE1BQU0sT0FBTyxTQUFTO0NBTXJCO0FBRUQsTUFBTSxPQUFPLEtBQU0sU0FBUSxTQUFTO0NBRW5DO0FBRUQsTUFBTSxPQUFPLEtBQU0sU0FBUSxTQUFTO0NBRW5DO0FBRUQsTUFDYSxZQUFZO0lBSXJCLGtCQUFrQjtJQUVsQixZQUFZLE1BQWM7UUFMbEIsaUJBQVksR0FBRyxJQUFJLE9BQU8sRUFBTyxDQUFDO1FBQ2xDLGlCQUFZLEdBQUcsSUFBSSxPQUFPLEVBQU8sQ0FBQztRQUNsQyx5QkFBb0IsR0FBRyxLQUFLLENBQUM7UUFJakMsa0ZBQWtGO1FBQ2xGLE1BQU0sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzVCLElBQUksS0FBSyxZQUFZLGVBQWUsRUFBRTtnQkFDbEMsSUFBSSxJQUFJLENBQUMsb0JBQW9CLEVBQUU7b0JBQzNCLHNDQUFzQztvQkFDdEMsSUFBSSxDQUFDLG9CQUFvQixHQUFHLEtBQUssQ0FBQztpQkFDckM7cUJBQU07b0JBQ0gsdUJBQXVCO29CQUN2QixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7aUJBQ2hCO2FBQ0o7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxHQUFHLENBQUMsU0FBb0IsRUFBRSxPQUFlLEVBQUUsb0JBQW9CLEdBQUcsS0FBSztRQUNuRSxJQUFJLFFBQVEsR0FBRyxFQUFFLENBQUM7UUFDbEIsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN2QixJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRSxRQUFRLEVBQUUsb0JBQW9CLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBQ0QsUUFBUSxDQUFDLFNBQW9CLEVBQUUsUUFBa0IsRUFBRSxvQkFBb0IsR0FBRyxLQUFLO1FBQzNFLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxvQkFBb0IsQ0FBQztRQUNqRCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBUSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDM0UsQ0FBQztJQUNELEtBQUs7UUFDRCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBR0QsUUFBUTtRQUNKLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUM1QyxDQUFDO0lBQ0QsUUFBUTtRQUNKLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUM1QyxDQUFDO0lBR0QsT0FBTyxDQUFDLE9BQWUsRUFBRSxLQUFxQixFQUFFLElBQW9CO1FBQ2hFLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxTQUFTLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFDRCxLQUFLLENBQUMsT0FBZSxFQUFFLEtBQXFCLEVBQUUsSUFBb0I7UUFDOUQsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLFNBQVMsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUNELE9BQU8sQ0FBQyxPQUFlLEVBQUUsS0FBcUIsRUFBRSxJQUFvQjtRQUNoRSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsU0FBUyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBQ0QsSUFBSSxDQUFDLE9BQWUsRUFBRSxLQUFxQixFQUFFLElBQW9CO1FBQzdELElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFDTyxJQUFJLENBQUMsT0FBZSxFQUFFLEtBQXFCLEVBQUUsU0FBNEIsRUFBRSxJQUFvQjtRQUNuRyxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQztZQUN6QixJQUFJLEdBQUcsZUFBZSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQTtRQUVsRCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBUSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUEsc0JBQXNCO1FBQy9GLHNGQUFzRjtJQUMxRixDQUFDOzhHQTdEUSxZQUFZO2tIQUFaLFlBQVk7O1NBQVosWUFBWTsyRkFBWixZQUFZO2tCQUR4QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSb3V0ZXIsIE5hdmlnYXRpb25TdGFydCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQWxlcnRUeXBlIH0gZnJvbSAnLi4vbW9kZWxzJztcclxuaW1wb3J0IHsgQm9vdHN0cmFwSGVscGVyIH0gZnJvbSAnLi4vdXRpbHMvYm9vdHN0cmFwLmhlbHBlcic7XHJcblxyXG5leHBvcnQgY2xhc3MgQmFzZUFsZXJ0IHtcclxuICAgIHR5cGU/OiBBbGVydFR5cGUgfCBudWxsO1xyXG4gICAgaWNvbj86IHN0cmluZyB8IG51bGw7XHJcbiAgICB0aXRsZT86IHN0cmluZyB8IG51bGw7XHJcbiAgICBjc3M/OiBzdHJpbmcgfCBudWxsO1xyXG4gICAgLy8gaWQ/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBBbGVydCBleHRlbmRzIEJhc2VBbGVydCB7XHJcbiAgICBtZXNzYWdlcz86IHN0cmluZ1tdO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgVG9hc3QgZXh0ZW5kcyBCYXNlQWxlcnQge1xyXG4gICAgbWVzc2FnZT86IHN0cmluZyB8IG51bGw7XHJcbn1cclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEFsZXJ0U2VydmljZSB7XHJcbiAgICBwcml2YXRlIGFsZXJ0U3ViamVjdCA9IG5ldyBTdWJqZWN0PGFueT4oKTtcclxuICAgIHByaXZhdGUgdG9hc3RTdWJqZWN0ID0gbmV3IFN1YmplY3Q8YW55PigpO1xyXG4gICAgcHJpdmF0ZSBrZWVwQWZ0ZXJSb3V0ZUNoYW5nZSA9IGZhbHNlO1xyXG4gICAgLy8gcHJpdmF0ZSBpZCA9IDA7XHJcblxyXG4gICAgY29uc3RydWN0b3Iocm91dGVyOiBSb3V0ZXIpIHtcclxuICAgICAgICAvLyBjbGVhciBhbGVydCBtZXNzYWdlcyBvbiByb3V0ZSBjaGFuZ2UgdW5sZXNzICdrZWVwQWZ0ZXJSb3V0ZUNoYW5nZScgZmxhZyBpcyB0cnVlXHJcbiAgICAgICAgcm91dGVyLmV2ZW50cy5zdWJzY3JpYmUoZXZlbnQgPT4ge1xyXG4gICAgICAgICAgICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uU3RhcnQpIHtcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmtlZXBBZnRlclJvdXRlQ2hhbmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gb25seSBrZWVwIGZvciBhIHNpbmdsZSByb3V0ZSBjaGFuZ2VcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmtlZXBBZnRlclJvdXRlQ2hhbmdlID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIGNsZWFyIGFsZXJ0IG1lc3NhZ2VzXHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jbGVhcigpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgYWRkKGFsZXJ0VHlwZTogQWxlcnRUeXBlLCBtZXNzYWdlOiBTdHJpbmcsIGtlZXBBZnRlclJvdXRlQ2hhbmdlID0gZmFsc2UpIHtcclxuICAgICAgICBsZXQgbWVzc2FnZXMgPSBbXTtcclxuICAgICAgICBtZXNzYWdlcy5wdXNoKG1lc3NhZ2UpO1xyXG4gICAgICAgIHRoaXMuYWRkUmFuZ2UoYWxlcnRUeXBlLCBtZXNzYWdlcywga2VlcEFmdGVyUm91dGVDaGFuZ2UpO1xyXG4gICAgfVxyXG4gICAgYWRkUmFuZ2UoYWxlcnRUeXBlOiBBbGVydFR5cGUsIG1lc3NhZ2VzOiBTdHJpbmdbXSwga2VlcEFmdGVyUm91dGVDaGFuZ2UgPSBmYWxzZSkge1xyXG4gICAgICAgIHRoaXMua2VlcEFmdGVyUm91dGVDaGFuZ2UgPSBrZWVwQWZ0ZXJSb3V0ZUNoYW5nZTtcclxuICAgICAgICB0aGlzLmFsZXJ0U3ViamVjdC5uZXh0KDxBbGVydD57IHR5cGU6IGFsZXJ0VHlwZSwgbWVzc2FnZXM6IG1lc3NhZ2VzIH0pO1xyXG4gICAgfVxyXG4gICAgY2xlYXIoKSB7XHJcbiAgICAgICAgdGhpcy5hbGVydFN1YmplY3QubmV4dChudWxsKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgZ2V0QWxlcnQoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYWxlcnRTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xyXG4gICAgfVxyXG4gICAgZ2V0VG9hc3QoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMudG9hc3RTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBzdWNjZXNzKG1lc3NhZ2U6IHN0cmluZywgdGl0bGU/OiBzdHJpbmcgfCBudWxsLCBpY29uPzogc3RyaW5nIHwgbnVsbCkge1xyXG4gICAgICAgIHRoaXMuc2hvdyhtZXNzYWdlLCB0aXRsZSwgQWxlcnRUeXBlLlN1Y2Nlc3MsIGljb24pO1xyXG4gICAgfVxyXG4gICAgZXJyb3IobWVzc2FnZTogc3RyaW5nLCB0aXRsZT86IHN0cmluZyB8IG51bGwsIGljb24/OiBzdHJpbmcgfCBudWxsKSB7XHJcbiAgICAgICAgdGhpcy5zaG93KG1lc3NhZ2UsIHRpdGxlLCBBbGVydFR5cGUuRGFuZ2VyLCBpY29uKTtcclxuICAgIH1cclxuICAgIHdhcm5pbmcobWVzc2FnZTogc3RyaW5nLCB0aXRsZT86IHN0cmluZyB8IG51bGwsIGljb24/OiBzdHJpbmcgfCBudWxsKSB7XHJcbiAgICAgICAgdGhpcy5zaG93KG1lc3NhZ2UsIHRpdGxlLCBBbGVydFR5cGUuV2FybmluZywgaWNvbik7XHJcbiAgICB9XHJcbiAgICBpbmZvKG1lc3NhZ2U6IHN0cmluZywgdGl0bGU/OiBzdHJpbmcgfCBudWxsLCBpY29uPzogc3RyaW5nIHwgbnVsbCkge1xyXG4gICAgICAgIHRoaXMuc2hvdyhtZXNzYWdlLCB0aXRsZSwgQWxlcnRUeXBlLkluZm8sIGljb24pO1xyXG4gICAgfVxyXG4gICAgcHJpdmF0ZSBzaG93KG1lc3NhZ2U6IHN0cmluZywgdGl0bGU/OiBzdHJpbmcgfCBudWxsLCBhbGVydFR5cGU/OiBBbGVydFR5cGUgfCBudWxsLCBpY29uPzogc3RyaW5nIHwgbnVsbCkge1xyXG4gICAgICAgIGlmICghaWNvbiB8fCBpY29uLmxlbmd0aCA9PSAwKVxyXG4gICAgICAgICAgICBpY29uID0gQm9vdHN0cmFwSGVscGVyLmNzc0FsZXJ0SWNvbihhbGVydFR5cGUpXHJcblxyXG4gICAgICAgIHRoaXMudG9hc3RTdWJqZWN0Lm5leHQoPFRvYXN0PnsgbWVzc2FnZSwgdGl0bGUsIHR5cGU6IGFsZXJ0VHlwZSwgaWNvbiB9KTsvLywgaWQ6IGAke3RoaXMuaWQrK31gXHJcbiAgICAgICAgLy8kLm5vdGlmeShtZXNzYWdlLCBhbGVydFR5cGUgPyBBbGVydFR5cGVbYWxlcnRUeXBlXS50b0xvd2VyQ2FzZSgpIDogdW5kZWZpbmVkLCBpY29uKTtcclxuICAgIH1cclxufSJdfQ==
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "./auth.service";
|
|
4
|
+
import * as i2 from "@angular/router";
|
|
5
|
+
class AuthGuardService {
|
|
6
|
+
constructor(authService, router) {
|
|
7
|
+
this.authService = authService;
|
|
8
|
+
this.router = router;
|
|
9
|
+
}
|
|
10
|
+
canActivate(route, state) {
|
|
11
|
+
if (!this.authService.isAuthenticated()) {
|
|
12
|
+
this.router.navigate(['/login'], { queryParams: { returnUrl: state.url } });
|
|
13
|
+
return false;
|
|
14
|
+
}
|
|
15
|
+
return this.authService.hasDataPermission(route.data);
|
|
16
|
+
// const allowedRoles = route.data.roles;
|
|
17
|
+
// let isInRole = this.authService.isInRole(allowedRoles);
|
|
18
|
+
// const permission = route.data.permission;
|
|
19
|
+
// let hasPermission = this.authService.hasPermission(permission);
|
|
20
|
+
// return isInRole && hasPermission;
|
|
21
|
+
}
|
|
22
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: AuthGuardService, deps: [{ token: i1.AuthService }, { token: i2.Router }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
23
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: AuthGuardService }); }
|
|
24
|
+
}
|
|
25
|
+
export { AuthGuardService };
|
|
26
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: AuthGuardService, decorators: [{
|
|
27
|
+
type: Injectable
|
|
28
|
+
}], ctorParameters: function () { return [{ type: i1.AuthService }, { type: i2.Router }]; } });
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1ndWFyZC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvemVrL3NyYy9saWIvc2VydmljZXMvYXV0aC1ndWFyZC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFNM0MsTUFDYSxnQkFBZ0I7SUFDekIsWUFBK0IsV0FBd0IsRUFBcUIsTUFBYztRQUEzRCxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUFxQixXQUFNLEdBQU4sTUFBTSxDQUFRO0lBQUksQ0FBQztJQUUvRixXQUFXLENBQUMsS0FBNkIsRUFBRSxLQUEwQjtRQUNqRSxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUFlLEVBQUUsRUFBRTtZQUNyQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUUsV0FBVyxFQUFFLEVBQUUsU0FBUyxFQUFFLEtBQUssQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDNUUsT0FBTyxLQUFLLENBQUM7U0FDaEI7UUFFRCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXRELHlDQUF5QztRQUN6QywwREFBMEQ7UUFFMUQsNENBQTRDO1FBQzVDLGtFQUFrRTtRQUVsRSxvQ0FBb0M7SUFDeEMsQ0FBQzs4R0FsQlEsZ0JBQWdCO2tIQUFoQixnQkFBZ0I7O1NBQWhCLGdCQUFnQjsyRkFBaEIsZ0JBQWdCO2tCQUQ1QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDYW5BY3RpdmF0ZSwgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgUm91dGVyU3RhdGVTbmFwc2hvdCwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5cclxuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICcuL2F1dGguc2VydmljZSc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBBdXRoR3VhcmRTZXJ2aWNlIGltcGxlbWVudHMgQ2FuQWN0aXZhdGUge1xyXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIHJlYWRvbmx5IGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSwgcHJvdGVjdGVkIHJlYWRvbmx5IHJvdXRlcjogUm91dGVyKSB7IH1cclxuXHJcbiAgICBjYW5BY3RpdmF0ZShyb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgc3RhdGU6IFJvdXRlclN0YXRlU25hcHNob3QpOiBib29sZWFuIHwgT2JzZXJ2YWJsZTxib29sZWFuPiB8IFByb21pc2U8Ym9vbGVhbj4ge1xyXG4gICAgICAgIGlmICghdGhpcy5hdXRoU2VydmljZS5pc0F1dGhlbnRpY2F0ZWQoKSkge1xyXG4gICAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy9sb2dpbiddLCB7IHF1ZXJ5UGFyYW1zOiB7IHJldHVyblVybDogc3RhdGUudXJsIH0gfSk7XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLmF1dGhTZXJ2aWNlLmhhc0RhdGFQZXJtaXNzaW9uKHJvdXRlLmRhdGEpO1xyXG5cclxuICAgICAgICAvLyBjb25zdCBhbGxvd2VkUm9sZXMgPSByb3V0ZS5kYXRhLnJvbGVzO1xyXG4gICAgICAgIC8vIGxldCBpc0luUm9sZSA9IHRoaXMuYXV0aFNlcnZpY2UuaXNJblJvbGUoYWxsb3dlZFJvbGVzKTtcclxuXHJcbiAgICAgICAgLy8gY29uc3QgcGVybWlzc2lvbiA9IHJvdXRlLmRhdGEucGVybWlzc2lvbjtcclxuICAgICAgICAvLyBsZXQgaGFzUGVybWlzc2lvbiA9IHRoaXMuYXV0aFNlcnZpY2UuaGFzUGVybWlzc2lvbihwZXJtaXNzaW9uKTtcclxuXHJcbiAgICAgICAgLy8gcmV0dXJuIGlzSW5Sb2xlICYmIGhhc1Blcm1pc3Npb247XHJcbiAgICB9XHJcbn0iXX0=
|
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
import { Injectable, } from '@angular/core';
|
|
2
|
+
import { BehaviorSubject, Subject } from 'rxjs';
|
|
3
|
+
import { Convert, DateHelper, ObjectHelper, StorageHelper } from '../utils';
|
|
4
|
+
import { BitwiseHelper } from '../utils/bitwise-helper';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
class AuthService {
|
|
7
|
+
constructor() {
|
|
8
|
+
this._isInitialized = false;
|
|
9
|
+
this._oldValue = false;
|
|
10
|
+
this._user = null;
|
|
11
|
+
}
|
|
12
|
+
get user() {
|
|
13
|
+
if (!this._isInitialized) {
|
|
14
|
+
let user = StorageHelper.get('login');
|
|
15
|
+
if (user) {
|
|
16
|
+
user.id = ObjectHelper.isDefined(user.id) ? Convert.parseNumber(user.id) : user.id;
|
|
17
|
+
user.expired = ObjectHelper.isDefined(user.expired) ? DateHelper.parseDate(user.expired) : user.expired;
|
|
18
|
+
user.refreshTokenTime = ObjectHelper.isDefined(user.refreshTokenTime) ? DateHelper.parseDate(user.refreshTokenTime) : user.refreshTokenTime;
|
|
19
|
+
if (Array.isArray(user.roles)) {
|
|
20
|
+
user.roles = user.roles.map(function (e) { return e ? e.toUpperCase() : e; });
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
this._user = user;
|
|
24
|
+
this._isInitialized = true;
|
|
25
|
+
this._starRefreshTokenTimer();
|
|
26
|
+
}
|
|
27
|
+
return this._user;
|
|
28
|
+
}
|
|
29
|
+
_starRefreshTokenTimer() {
|
|
30
|
+
this._stopRefreshTokenTimer();
|
|
31
|
+
let user = this._user;
|
|
32
|
+
if (user && user.refreshTokenTime) {
|
|
33
|
+
let timeout = user.refreshTokenTime.getTime() - Date.now(); // - (60 * 1000);
|
|
34
|
+
if (timeout < 0) {
|
|
35
|
+
this._emitRefreshToken();
|
|
36
|
+
}
|
|
37
|
+
const minRefreshTime = 60000; //1 min;
|
|
38
|
+
if (timeout < minRefreshTime) {
|
|
39
|
+
timeout = minRefreshTime;
|
|
40
|
+
}
|
|
41
|
+
this._timerId = setInterval(() => {
|
|
42
|
+
this._emitRefreshToken();
|
|
43
|
+
}, timeout);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
_stopRefreshTokenTimer() {
|
|
47
|
+
if (typeof this._timerId === 'number') {
|
|
48
|
+
clearInterval(this._timerId);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
_emitRefreshToken() {
|
|
52
|
+
if (this._onRefreshTokenSubject) {
|
|
53
|
+
this._onRefreshTokenSubject.next();
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
isAuthenticated() {
|
|
57
|
+
let expired = this.getExpired() || new Date(0); // if getExpired is null return min JS date
|
|
58
|
+
const newValue = new Date() < expired;
|
|
59
|
+
if (this._oldValue !== newValue) {
|
|
60
|
+
this._oldValue = newValue;
|
|
61
|
+
this.emitOnSignedIn();
|
|
62
|
+
// if (this._onSignedInSubject) {
|
|
63
|
+
// this._onSignedInSubject.next(newValue);
|
|
64
|
+
// }
|
|
65
|
+
//if user is signed in and expired we need to logout (remove from localStorage)
|
|
66
|
+
if (!newValue) {
|
|
67
|
+
this.logout();
|
|
68
|
+
}
|
|
69
|
+
return newValue;
|
|
70
|
+
}
|
|
71
|
+
return newValue;
|
|
72
|
+
}
|
|
73
|
+
emitOnSignedIn() {
|
|
74
|
+
if (this._onSignedInSubject) {
|
|
75
|
+
this._onSignedInSubject.next(this._oldValue);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
get onSignedIn() {
|
|
79
|
+
if (!this._onSignedInSubject) {
|
|
80
|
+
this._onSignedInSubject = new BehaviorSubject(false);
|
|
81
|
+
this._onSignedInObservable = this._onSignedInSubject.asObservable();
|
|
82
|
+
}
|
|
83
|
+
if (!this._onSignedInObservable)
|
|
84
|
+
throw new Error("_onExecuteObservable is undefined");
|
|
85
|
+
return this._onSignedInObservable;
|
|
86
|
+
}
|
|
87
|
+
get onRefreshToken() {
|
|
88
|
+
if (!this._onRefreshTokenSubject) {
|
|
89
|
+
this._onRefreshTokenSubject = new Subject();
|
|
90
|
+
this._onRefreshTokenObservable = this._onRefreshTokenSubject.asObservable();
|
|
91
|
+
}
|
|
92
|
+
if (!this._onRefreshTokenObservable)
|
|
93
|
+
throw new Error("onRefreshTokenObservable is undefined");
|
|
94
|
+
return this._onRefreshTokenObservable;
|
|
95
|
+
}
|
|
96
|
+
login(user) {
|
|
97
|
+
// if (user) {
|
|
98
|
+
// // I think we don't need this
|
|
99
|
+
// user.id = ObjectHelper.isDefined(user.id) ? Convert.parseNumber(user.id) : user.id;
|
|
100
|
+
// user.expired = ObjectHelper.isDefined(user.expired) ? DateHelper.parseDate(user.expired) : user.expired;
|
|
101
|
+
// user.refreshTokenTime = ObjectHelper.isDefined(user.refreshTokenTime) ? DateHelper.parseDate(user.refreshTokenTime) : user.refreshTokenTime;
|
|
102
|
+
// if (Array.isArray(user.roles)) {
|
|
103
|
+
// user.roles = user.roles.map(function (e) { return e.toUpperCase(); });
|
|
104
|
+
// }
|
|
105
|
+
// }
|
|
106
|
+
StorageHelper.set('login', user);
|
|
107
|
+
this._user = null;
|
|
108
|
+
this._isInitialized = false; //user get method will init user
|
|
109
|
+
this.isAuthenticated(); //this method need to execute subject.next();
|
|
110
|
+
}
|
|
111
|
+
logout() {
|
|
112
|
+
this.login(null);
|
|
113
|
+
}
|
|
114
|
+
getExpired() {
|
|
115
|
+
let user = this.user;
|
|
116
|
+
if (user) {
|
|
117
|
+
return user.expired;
|
|
118
|
+
}
|
|
119
|
+
return null;
|
|
120
|
+
}
|
|
121
|
+
getRefreshTokenExpired() {
|
|
122
|
+
let user = this.user;
|
|
123
|
+
if (user) {
|
|
124
|
+
return user.refreshTokenTime;
|
|
125
|
+
}
|
|
126
|
+
return null;
|
|
127
|
+
}
|
|
128
|
+
// isInRole(allowedRoles: string[]): boolean {
|
|
129
|
+
// if (!allowedRoles || allowedRoles.length === 0) {
|
|
130
|
+
// return true;
|
|
131
|
+
// }
|
|
132
|
+
// const tmp = this.getUser();
|
|
133
|
+
// const roles = tmp ? tmp.roles : null;
|
|
134
|
+
// if (!roles || roles.length === 0) {
|
|
135
|
+
// return false;
|
|
136
|
+
// }
|
|
137
|
+
// let isInRole = allowedRoles.some(role => roles.indexOf(role) !== -1);
|
|
138
|
+
// return isInRole;
|
|
139
|
+
// }
|
|
140
|
+
hasPermission(permission) {
|
|
141
|
+
if (!permission) {
|
|
142
|
+
return true;
|
|
143
|
+
}
|
|
144
|
+
let key = 0;
|
|
145
|
+
let value;
|
|
146
|
+
if (typeof permission === 'number' || typeof permission === 'string') {
|
|
147
|
+
key = +permission;
|
|
148
|
+
} // else if (Array.isArray(permission)) {
|
|
149
|
+
// }
|
|
150
|
+
else if (typeof permission === 'object') {
|
|
151
|
+
if (!permission.key)
|
|
152
|
+
return true;
|
|
153
|
+
key = permission.key;
|
|
154
|
+
value = permission.value;
|
|
155
|
+
}
|
|
156
|
+
return this.hasPermissions([key], value);
|
|
157
|
+
}
|
|
158
|
+
hasPermissions(permissions, value) {
|
|
159
|
+
if (!permissions || permissions.length === 0) {
|
|
160
|
+
return true;
|
|
161
|
+
}
|
|
162
|
+
const user = this.user;
|
|
163
|
+
const userPermissions = user ? user.permissions : null;
|
|
164
|
+
if (!userPermissions) {
|
|
165
|
+
return false;
|
|
166
|
+
}
|
|
167
|
+
if (value) {
|
|
168
|
+
for (let i = 0; i < permissions.length; i++) {
|
|
169
|
+
const p = permissions[i];
|
|
170
|
+
let found = userPermissions[p];
|
|
171
|
+
if (found) {
|
|
172
|
+
let hasPermission = BitwiseHelper.hasFlag(found, value);
|
|
173
|
+
if (hasPermission)
|
|
174
|
+
return true;
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
else {
|
|
179
|
+
for (let i = 0; i < permissions.length; i++) {
|
|
180
|
+
const p = permissions[i];
|
|
181
|
+
let found = userPermissions[p];
|
|
182
|
+
if (found)
|
|
183
|
+
return true;
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
return false;
|
|
187
|
+
}
|
|
188
|
+
hasDataPermission(data) {
|
|
189
|
+
//if (data === undefined || data === null) return true;
|
|
190
|
+
// const allowedRoles = data.roles;
|
|
191
|
+
// let isInRole = this.isInRole(allowedRoles);
|
|
192
|
+
const permission = data.permission;
|
|
193
|
+
let hasPermission = this.hasPermission(permission);
|
|
194
|
+
// return isInRole && hasPermission;
|
|
195
|
+
return hasPermission;
|
|
196
|
+
}
|
|
197
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: AuthService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
198
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: AuthService }); }
|
|
199
|
+
}
|
|
200
|
+
export { AuthService };
|
|
201
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: AuthService, decorators: [{
|
|
202
|
+
type: Injectable
|
|
203
|
+
}] });
|
|
204
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvemVrL3NyYy9saWIvc2VydmljZXMvYXV0aC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEdBQUcsTUFBTSxlQUFlLENBQUM7QUFDNUMsT0FBTyxFQUFFLGVBQWUsRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFNUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUM1RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7O0FBRXhELE1BQ2EsV0FBVztJQUR4QjtRQUVZLG1CQUFjLEdBQVksS0FBSyxDQUFDO1FBQ2hDLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFDM0IsVUFBSyxHQUFxQixJQUFJLENBQUM7S0ErTzFDO0lBN09HLElBQUksSUFBSTtRQUNKLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3RCLElBQUksSUFBSSxHQUFHLGFBQWEsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDdEMsSUFBSSxJQUFJLEVBQUU7Z0JBQ04sSUFBSSxDQUFDLEVBQUUsR0FBRyxZQUFZLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7Z0JBQ25GLElBQUksQ0FBQyxPQUFPLEdBQUcsWUFBWSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO2dCQUN4RyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsWUFBWSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDO2dCQUU1SSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFO29CQUMzQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBTSxJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2lCQUN0RjthQUNKO1lBQ0QsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7WUFDbEIsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7WUFDM0IsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7U0FDakM7UUFDRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDdEIsQ0FBQztJQUlPLHNCQUFzQjtRQUMxQixJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztRQUU5QixJQUFJLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ3RCLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtZQUMvQixJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUEsaUJBQWlCO1lBRTVFLElBQUksT0FBTyxHQUFHLENBQUMsRUFBRTtnQkFDYixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQzthQUM1QjtZQUVELE1BQU0sY0FBYyxHQUFHLEtBQU0sQ0FBQSxDQUFBLFFBQVE7WUFDckMsSUFBSSxPQUFPLEdBQUcsY0FBYyxFQUFFO2dCQUMxQixPQUFPLEdBQUcsY0FBYyxDQUFDO2FBQzVCO1lBRUQsSUFBSSxDQUFDLFFBQVEsR0FBRyxXQUFXLENBQUMsR0FBRyxFQUFFO2dCQUM3QixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUM3QixDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUM7U0FDZjtJQUNMLENBQUM7SUFDTyxzQkFBc0I7UUFDMUIsSUFBSSxPQUFPLElBQUksQ0FBQyxRQUFRLEtBQUssUUFBUSxFQUFFO1lBQ25DLGFBQWEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDaEM7SUFDTCxDQUFDO0lBQ08saUJBQWlCO1FBQ3JCLElBQUksSUFBSSxDQUFDLHNCQUFzQixFQUFFO1lBQzdCLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUN0QztJQUNMLENBQUM7SUFHRCxlQUFlO1FBQ1gsSUFBSSxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUEsMkNBQTJDO1FBRTFGLE1BQU0sUUFBUSxHQUFHLElBQUksSUFBSSxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBQ3RDLElBQUksSUFBSSxDQUFDLFNBQVMsS0FBSyxRQUFRLEVBQUU7WUFDN0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUM7WUFFMUIsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3RCLGlDQUFpQztZQUNqQyw4Q0FBOEM7WUFDOUMsSUFBSTtZQUVKLCtFQUErRTtZQUMvRSxJQUFJLENBQUMsUUFBUSxFQUFFO2dCQUNYLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQzthQUNqQjtZQUNELE9BQU8sUUFBUSxDQUFDO1NBQ25CO1FBQ0QsT0FBTyxRQUFRLENBQUM7SUFDcEIsQ0FBQztJQUNELGNBQWM7UUFDVixJQUFJLElBQUksQ0FBQyxrQkFBa0IsRUFBRTtZQUN6QixJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUNoRDtJQUNMLENBQUM7SUFJRCxJQUFJLFVBQVU7UUFDVixJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFO1lBQzFCLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztZQUM5RCxJQUFJLENBQUMscUJBQXFCLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVksRUFBRSxDQUFDO1NBQ3ZFO1FBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyxxQkFBcUI7WUFDM0IsTUFBTSxJQUFJLEtBQUssQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDO1FBRXpELE9BQU8sSUFBSSxDQUFDLHFCQUFxQixDQUFDO0lBQ3RDLENBQUM7SUFLRCxJQUFJLGNBQWM7UUFDZCxJQUFJLENBQUMsSUFBSSxDQUFDLHNCQUFzQixFQUFFO1lBQzlCLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1lBQ2xELElBQUksQ0FBQyx5QkFBeUIsR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsWUFBWSxFQUFFLENBQUM7U0FDL0U7UUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLHlCQUF5QjtZQUMvQixNQUFNLElBQUksS0FBSyxDQUFDLHVDQUF1QyxDQUFDLENBQUM7UUFFN0QsT0FBTyxJQUFJLENBQUMseUJBQXlCLENBQUM7SUFDMUMsQ0FBQztJQUlELEtBQUssQ0FBQyxJQUFtQztRQUNyQyxjQUFjO1FBQ2Qsb0NBQW9DO1FBQ3BDLDBGQUEwRjtRQUMxRixnSEFBZ0g7UUFDaEgsb0pBQW9KO1FBQ3BKLHVDQUF1QztRQUN2QyxpRkFBaUY7UUFDakYsUUFBUTtRQUNSLElBQUk7UUFFSixhQUFhLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNqQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUNsQixJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQyxDQUFBLGdDQUFnQztRQUM1RCxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUMsQ0FBQSxxREFBcUQ7SUFDaEYsQ0FBQztJQUNELE1BQU07UUFDRixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3JCLENBQUM7SUFJUyxVQUFVO1FBQ2hCLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDckIsSUFBSSxJQUFJLEVBQUU7WUFDTixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7U0FDdkI7UUFFRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRVMsc0JBQXNCO1FBQzVCLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDckIsSUFBSSxJQUFJLEVBQUU7WUFDTixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztTQUNoQztRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFHRCw4Q0FBOEM7SUFDOUMsd0RBQXdEO0lBQ3hELHVCQUF1QjtJQUN2QixRQUFRO0lBRVIsa0NBQWtDO0lBQ2xDLDRDQUE0QztJQUM1QywwQ0FBMEM7SUFDMUMsd0JBQXdCO0lBQ3hCLFFBQVE7SUFFUiw0RUFBNEU7SUFDNUUsdUJBQXVCO0lBQ3ZCLElBQUk7SUFHSixhQUFhLENBQUMsVUFBb0Q7UUFDOUQsSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNiLE9BQU8sSUFBSSxDQUFDO1NBQ2Y7UUFFRCxJQUFJLEdBQUcsR0FBRyxDQUFDLENBQUM7UUFDWixJQUFJLEtBQWdDLENBQUM7UUFDckMsSUFBSSxPQUFPLFVBQVUsS0FBSyxRQUFRLElBQUksT0FBTyxVQUFVLEtBQUssUUFBUSxFQUFFO1lBQ2xFLEdBQUcsR0FBRyxDQUFDLFVBQVUsQ0FBQztTQUNyQixDQUFBLHdDQUF3QztRQUN6QyxJQUFJO2FBQ0MsSUFBSSxPQUFPLFVBQVUsS0FBSyxRQUFRLEVBQUU7WUFDckMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHO2dCQUNmLE9BQU8sSUFBSSxDQUFDO1lBRWhCLEdBQUcsR0FBRyxVQUFVLENBQUMsR0FBRyxDQUFDO1lBQ3JCLEtBQUssR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDO1NBQzVCO1FBRUQsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUdELGNBQWMsQ0FBQyxXQUEyQixFQUFFLEtBQXFCO1FBQzdELElBQUksQ0FBQyxXQUFXLElBQUksV0FBVyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDMUMsT0FBTyxJQUFJLENBQUM7U0FDZjtRQUVELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDdkIsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDdkQsSUFBSSxDQUFDLGVBQWUsRUFBRTtZQUNsQixPQUFPLEtBQUssQ0FBQztTQUNoQjtRQUVELElBQUksS0FBSyxFQUFFO1lBQ1AsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7Z0JBQ3pDLE1BQU0sQ0FBQyxHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDekIsSUFBSSxLQUFLLEdBQUcsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUMvQixJQUFJLEtBQUssRUFBRTtvQkFDUCxJQUFJLGFBQWEsR0FBRyxhQUFhLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztvQkFDeEQsSUFBSSxhQUFhO3dCQUNiLE9BQU8sSUFBSSxDQUFDO2lCQUNuQjthQUNKO1NBQ0o7YUFBTTtZQUNILEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxXQUFXLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO2dCQUN6QyxNQUFNLENBQUMsR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3pCLElBQUksS0FBSyxHQUFHLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDL0IsSUFBSSxLQUFLO29CQUNMLE9BQU8sSUFBSSxDQUFDO2FBQ25CO1NBQ0o7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0lBR0QsaUJBQWlCLENBQUMsSUFBUztRQUN2Qix1REFBdUQ7UUFDdkQsbUNBQW1DO1FBQ25DLDhDQUE4QztRQUU5QyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO1FBRW5DLElBQUksYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFbkQsb0NBQW9DO1FBQ3BDLE9BQU8sYUFBYSxDQUFDO0lBQ3pCLENBQUM7OEdBalBRLFdBQVc7a0hBQVgsV0FBVzs7U0FBWCxXQUFXOzJGQUFYLFdBQVc7a0JBRHZCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgS2V5UGFpciwgTG9naW5Ub2tlbiwgTG9naW5Vc2VyIH0gZnJvbSAnLi4vbW9kZWxzJztcclxuaW1wb3J0IHsgQ29udmVydCwgRGF0ZUhlbHBlciwgT2JqZWN0SGVscGVyLCBTdG9yYWdlSGVscGVyIH0gZnJvbSAnLi4vdXRpbHMnO1xyXG5pbXBvcnQgeyBCaXR3aXNlSGVscGVyIH0gZnJvbSAnLi4vdXRpbHMvYml0d2lzZS1oZWxwZXInO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgQXV0aFNlcnZpY2Uge1xyXG4gICAgcHJpdmF0ZSBfaXNJbml0aWFsaXplZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgcHJpdmF0ZSBfb2xkVmFsdWU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIHByaXZhdGUgX3VzZXI6IExvZ2luVXNlciB8IG51bGwgPSBudWxsO1xyXG5cclxuICAgIGdldCB1c2VyKCk6IExvZ2luVXNlciB8IG51bGwge1xyXG4gICAgICAgIGlmICghdGhpcy5faXNJbml0aWFsaXplZCkge1xyXG4gICAgICAgICAgICBsZXQgdXNlciA9IFN0b3JhZ2VIZWxwZXIuZ2V0KCdsb2dpbicpO1xyXG4gICAgICAgICAgICBpZiAodXNlcikge1xyXG4gICAgICAgICAgICAgICAgdXNlci5pZCA9IE9iamVjdEhlbHBlci5pc0RlZmluZWQodXNlci5pZCkgPyBDb252ZXJ0LnBhcnNlTnVtYmVyKHVzZXIuaWQpIDogdXNlci5pZDtcclxuICAgICAgICAgICAgICAgIHVzZXIuZXhwaXJlZCA9IE9iamVjdEhlbHBlci5pc0RlZmluZWQodXNlci5leHBpcmVkKSA/IERhdGVIZWxwZXIucGFyc2VEYXRlKHVzZXIuZXhwaXJlZCkgOiB1c2VyLmV4cGlyZWQ7XHJcbiAgICAgICAgICAgICAgICB1c2VyLnJlZnJlc2hUb2tlblRpbWUgPSBPYmplY3RIZWxwZXIuaXNEZWZpbmVkKHVzZXIucmVmcmVzaFRva2VuVGltZSkgPyBEYXRlSGVscGVyLnBhcnNlRGF0ZSh1c2VyLnJlZnJlc2hUb2tlblRpbWUpIDogdXNlci5yZWZyZXNoVG9rZW5UaW1lO1xyXG5cclxuICAgICAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KHVzZXIucm9sZXMpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdXNlci5yb2xlcyA9IHVzZXIucm9sZXMubWFwKGZ1bmN0aW9uIChlOiBhbnkpIHsgcmV0dXJuIGUgPyBlLnRvVXBwZXJDYXNlKCkgOiBlOyB9KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLl91c2VyID0gdXNlcjtcclxuICAgICAgICAgICAgdGhpcy5faXNJbml0aWFsaXplZCA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMuX3N0YXJSZWZyZXNoVG9rZW5UaW1lcigpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdGhpcy5fdXNlcjtcclxuICAgIH1cclxuXHJcblxyXG4gICAgcHJpdmF0ZSBfdGltZXJJZDogYW55O1xyXG4gICAgcHJpdmF0ZSBfc3RhclJlZnJlc2hUb2tlblRpbWVyKCkge1xyXG4gICAgICAgIHRoaXMuX3N0b3BSZWZyZXNoVG9rZW5UaW1lcigpO1xyXG5cclxuICAgICAgICBsZXQgdXNlciA9IHRoaXMuX3VzZXI7XHJcbiAgICAgICAgaWYgKHVzZXIgJiYgdXNlci5yZWZyZXNoVG9rZW5UaW1lKSB7XHJcbiAgICAgICAgICAgIGxldCB0aW1lb3V0ID0gdXNlci5yZWZyZXNoVG9rZW5UaW1lLmdldFRpbWUoKSAtIERhdGUubm93KCk7Ly8gLSAoNjAgKiAxMDAwKTtcclxuXHJcbiAgICAgICAgICAgIGlmICh0aW1lb3V0IDwgMCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fZW1pdFJlZnJlc2hUb2tlbigpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBjb25zdCBtaW5SZWZyZXNoVGltZSA9IDYwXzAwMC8vMSBtaW47XHJcbiAgICAgICAgICAgIGlmICh0aW1lb3V0IDwgbWluUmVmcmVzaFRpbWUpIHtcclxuICAgICAgICAgICAgICAgIHRpbWVvdXQgPSBtaW5SZWZyZXNoVGltZTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgdGhpcy5fdGltZXJJZCA9IHNldEludGVydmFsKCgpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX2VtaXRSZWZyZXNoVG9rZW4oKTtcclxuICAgICAgICAgICAgfSwgdGltZW91dCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgcHJpdmF0ZSBfc3RvcFJlZnJlc2hUb2tlblRpbWVyKCkge1xyXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5fdGltZXJJZCA9PT0gJ251bWJlcicpIHtcclxuICAgICAgICAgICAgY2xlYXJJbnRlcnZhbCh0aGlzLl90aW1lcklkKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBwcml2YXRlIF9lbWl0UmVmcmVzaFRva2VuKCkge1xyXG4gICAgICAgIGlmICh0aGlzLl9vblJlZnJlc2hUb2tlblN1YmplY3QpIHtcclxuICAgICAgICAgICAgdGhpcy5fb25SZWZyZXNoVG9rZW5TdWJqZWN0Lm5leHQoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICAgIGlzQXV0aGVudGljYXRlZCgpOiBib29sZWFuIHtcclxuICAgICAgICBsZXQgZXhwaXJlZCA9IHRoaXMuZ2V0RXhwaXJlZCgpIHx8IG5ldyBEYXRlKDApOy8vIGlmIGdldEV4cGlyZWQgaXMgbnVsbCByZXR1cm4gbWluIEpTIGRhdGVcclxuXHJcbiAgICAgICAgY29uc3QgbmV3VmFsdWUgPSBuZXcgRGF0ZSgpIDwgZXhwaXJlZDtcclxuICAgICAgICBpZiAodGhpcy5fb2xkVmFsdWUgIT09IG5ld1ZhbHVlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX29sZFZhbHVlID0gbmV3VmFsdWU7XHJcblxyXG4gICAgICAgICAgICB0aGlzLmVtaXRPblNpZ25lZEluKCk7XHJcbiAgICAgICAgICAgIC8vIGlmICh0aGlzLl9vblNpZ25lZEluU3ViamVjdCkge1xyXG4gICAgICAgICAgICAvLyAgICAgdGhpcy5fb25TaWduZWRJblN1YmplY3QubmV4dChuZXdWYWx1ZSk7XHJcbiAgICAgICAgICAgIC8vIH1cclxuXHJcbiAgICAgICAgICAgIC8vaWYgdXNlciBpcyBzaWduZWQgaW4gYW5kIGV4cGlyZWQgd2UgbmVlZCB0byBsb2dvdXQgKHJlbW92ZSBmcm9tIGxvY2FsU3RvcmFnZSlcclxuICAgICAgICAgICAgaWYgKCFuZXdWYWx1ZSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5sb2dvdXQoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gbmV3VmFsdWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBuZXdWYWx1ZTtcclxuICAgIH1cclxuICAgIGVtaXRPblNpZ25lZEluKCkge1xyXG4gICAgICAgIGlmICh0aGlzLl9vblNpZ25lZEluU3ViamVjdCkge1xyXG4gICAgICAgICAgICB0aGlzLl9vblNpZ25lZEluU3ViamVjdC5uZXh0KHRoaXMuX29sZFZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfb25TaWduZWRJblN1YmplY3Q/OiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj47Ly9CZWhhdmlvclN1YmplY3QgaXMgZm9yIGluaXRpYWwgZmlydCB2YWx1ZSA9IGZhbHNlXHJcbiAgICBwcml2YXRlIF9vblNpZ25lZEluT2JzZXJ2YWJsZT86IE9ic2VydmFibGU8Ym9vbGVhbj47XHJcbiAgICBnZXQgb25TaWduZWRJbigpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcclxuICAgICAgICBpZiAoIXRoaXMuX29uU2lnbmVkSW5TdWJqZWN0KSB7XHJcbiAgICAgICAgICAgIHRoaXMuX29uU2lnbmVkSW5TdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XHJcbiAgICAgICAgICAgIHRoaXMuX29uU2lnbmVkSW5PYnNlcnZhYmxlID0gdGhpcy5fb25TaWduZWRJblN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoIXRoaXMuX29uU2lnbmVkSW5PYnNlcnZhYmxlKVxyXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJfb25FeGVjdXRlT2JzZXJ2YWJsZSBpcyB1bmRlZmluZWRcIik7XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLl9vblNpZ25lZEluT2JzZXJ2YWJsZTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgcHJpdmF0ZSBfb25SZWZyZXNoVG9rZW5TdWJqZWN0PzogU3ViamVjdDx2b2lkPjtcclxuICAgIHByaXZhdGUgX29uUmVmcmVzaFRva2VuT2JzZXJ2YWJsZT86IE9ic2VydmFibGU8dm9pZD47XHJcbiAgICBnZXQgb25SZWZyZXNoVG9rZW4oKTogT2JzZXJ2YWJsZTx2b2lkPiB7XHJcbiAgICAgICAgaWYgKCF0aGlzLl9vblJlZnJlc2hUb2tlblN1YmplY3QpIHtcclxuICAgICAgICAgICAgdGhpcy5fb25SZWZyZXNoVG9rZW5TdWJqZWN0ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICAgICAgICAgICAgdGhpcy5fb25SZWZyZXNoVG9rZW5PYnNlcnZhYmxlID0gdGhpcy5fb25SZWZyZXNoVG9rZW5TdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKCF0aGlzLl9vblJlZnJlc2hUb2tlbk9ic2VydmFibGUpXHJcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIm9uUmVmcmVzaFRva2VuT2JzZXJ2YWJsZSBpcyB1bmRlZmluZWRcIik7XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLl9vblJlZnJlc2hUb2tlbk9ic2VydmFibGU7XHJcbiAgICB9XHJcblxyXG5cclxuXHJcbiAgICBsb2dpbih1c2VyOiBMb2dpblRva2VuIHwgTG9naW5Vc2VyIHwgbnVsbCkge1xyXG4gICAgICAgIC8vIGlmICh1c2VyKSB7XHJcbiAgICAgICAgLy8gICAgIC8vIEkgdGhpbmsgd2UgZG9uJ3QgbmVlZCB0aGlzXHJcbiAgICAgICAgLy8gICAgIHVzZXIuaWQgPSBPYmplY3RIZWxwZXIuaXNEZWZpbmVkKHVzZXIuaWQpID8gQ29udmVydC5wYXJzZU51bWJlcih1c2VyLmlkKSA6IHVzZXIuaWQ7XHJcbiAgICAgICAgLy8gICAgIHVzZXIuZXhwaXJlZCA9IE9iamVjdEhlbHBlci5pc0RlZmluZWQodXNlci5leHBpcmVkKSA/ICBEYXRlSGVscGVyLnBhcnNlRGF0ZSh1c2VyLmV4cGlyZWQpIDogdXNlci5leHBpcmVkO1xyXG4gICAgICAgIC8vICAgICB1c2VyLnJlZnJlc2hUb2tlblRpbWUgPSBPYmplY3RIZWxwZXIuaXNEZWZpbmVkKHVzZXIucmVmcmVzaFRva2VuVGltZSkgPyAgRGF0ZUhlbHBlci5wYXJzZURhdGUodXNlci5yZWZyZXNoVG9rZW5UaW1lKSA6IHVzZXIucmVmcmVzaFRva2VuVGltZTtcclxuICAgICAgICAvLyAgICAgaWYgKEFycmF5LmlzQXJyYXkodXNlci5yb2xlcykpIHtcclxuICAgICAgICAvLyAgICAgICAgIHVzZXIucm9sZXMgPSB1c2VyLnJvbGVzLm1hcChmdW5jdGlvbiAoZSkgeyByZXR1cm4gZS50b1VwcGVyQ2FzZSgpOyB9KTtcclxuICAgICAgICAvLyAgICAgfVxyXG4gICAgICAgIC8vIH1cclxuXHJcbiAgICAgICAgU3RvcmFnZUhlbHBlci5zZXQoJ2xvZ2luJywgdXNlcik7XHJcbiAgICAgICAgdGhpcy5fdXNlciA9IG51bGw7XHJcbiAgICAgICAgdGhpcy5faXNJbml0aWFsaXplZCA9IGZhbHNlOy8vdXNlciBnZXQgbWV0aG9kIHdpbGwgaW5pdCB1c2VyXHJcbiAgICAgICAgdGhpcy5pc0F1dGhlbnRpY2F0ZWQoKTsvL3RoaXMgbWV0aG9kIG5lZWQgdG8gZXhlY3V0ZSBzdWJqZWN0Lm5leHQoKTsgICAgICAgIFxyXG4gICAgfVxyXG4gICAgbG9nb3V0KCkge1xyXG4gICAgICAgIHRoaXMubG9naW4obnVsbCk7XHJcbiAgICB9XHJcblxyXG5cclxuXHJcbiAgICBwcm90ZWN0ZWQgZ2V0RXhwaXJlZCgpOiBEYXRlIHwgbnVsbCB8IHVuZGVmaW5lZCB7XHJcbiAgICAgICAgbGV0IHVzZXIgPSB0aGlzLnVzZXI7XHJcbiAgICAgICAgaWYgKHVzZXIpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHVzZXIuZXhwaXJlZDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBnZXRSZWZyZXNoVG9rZW5FeHBpcmVkKCk6IERhdGUgfCBudWxsIHwgdW5kZWZpbmVkIHtcclxuICAgICAgICBsZXQgdXNlciA9IHRoaXMudXNlcjtcclxuICAgICAgICBpZiAodXNlcikge1xyXG4gICAgICAgICAgICByZXR1cm4gdXNlci5yZWZyZXNoVG9rZW5UaW1lO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8vIGlzSW5Sb2xlKGFsbG93ZWRSb2xlczogc3RyaW5nW10pOiBib29sZWFuIHtcclxuICAgIC8vICAgICBpZiAoIWFsbG93ZWRSb2xlcyB8fCBhbGxvd2VkUm9sZXMubGVuZ3RoID09PSAwKSB7XHJcbiAgICAvLyAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgLy8gICAgIH1cclxuXHJcbiAgICAvLyAgICAgY29uc3QgdG1wID0gdGhpcy5nZXRVc2VyKCk7XHJcbiAgICAvLyAgICAgY29uc3Qgcm9sZXMgPSB0bXAgPyB0bXAucm9sZXMgOiBudWxsO1xyXG4gICAgLy8gICAgIGlmICghcm9sZXMgfHwgcm9sZXMubGVuZ3RoID09PSAwKSB7XHJcbiAgICAvLyAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIC8vICAgICB9XHJcblxyXG4gICAgLy8gICAgIGxldCBpc0luUm9sZSA9IGFsbG93ZWRSb2xlcy5zb21lKHJvbGUgPT4gcm9sZXMuaW5kZXhPZihyb2xlKSAhPT0gLTEpO1xyXG4gICAgLy8gICAgIHJldHVybiBpc0luUm9sZTtcclxuICAgIC8vIH1cclxuXHJcblxyXG4gICAgaGFzUGVybWlzc2lvbihwZXJtaXNzaW9uPzogS2V5UGFpcjxudW1iZXIsIG51bWJlcj4gfCBudW1iZXIgfCBudWxsKTogYm9vbGVhbiB7XHJcbiAgICAgICAgaWYgKCFwZXJtaXNzaW9uKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgbGV0IGtleSA9IDA7XHJcbiAgICAgICAgbGV0IHZhbHVlOiBudW1iZXIgfCBudWxsIHwgdW5kZWZpbmVkO1xyXG4gICAgICAgIGlmICh0eXBlb2YgcGVybWlzc2lvbiA9PT0gJ251bWJlcicgfHwgdHlwZW9mIHBlcm1pc3Npb24gPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgICAgICAgIGtleSA9ICtwZXJtaXNzaW9uO1xyXG4gICAgICAgIH0vLyBlbHNlIGlmIChBcnJheS5pc0FycmF5KHBlcm1pc3Npb24pKSB7XHJcbiAgICAgICAgLy8gfVxyXG4gICAgICAgIGVsc2UgaWYgKHR5cGVvZiBwZXJtaXNzaW9uID09PSAnb2JqZWN0Jykge1xyXG4gICAgICAgICAgICBpZiAoIXBlcm1pc3Npb24ua2V5KVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XHJcblxyXG4gICAgICAgICAgICBrZXkgPSBwZXJtaXNzaW9uLmtleTtcclxuICAgICAgICAgICAgdmFsdWUgPSBwZXJtaXNzaW9uLnZhbHVlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaGFzUGVybWlzc2lvbnMoW2tleV0sIHZhbHVlKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgaGFzUGVybWlzc2lvbnMocGVybWlzc2lvbnM/OiBBcnJheTxudW1iZXI+LCB2YWx1ZT86IG51bWJlciB8IG51bGwpOiBib29sZWFuIHtcclxuICAgICAgICBpZiAoIXBlcm1pc3Npb25zIHx8IHBlcm1pc3Npb25zLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IHVzZXIgPSB0aGlzLnVzZXI7XHJcbiAgICAgICAgY29uc3QgdXNlclBlcm1pc3Npb25zID0gdXNlciA/IHVzZXIucGVybWlzc2lvbnMgOiBudWxsO1xyXG4gICAgICAgIGlmICghdXNlclBlcm1pc3Npb25zKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHBlcm1pc3Npb25zLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBwID0gcGVybWlzc2lvbnNbaV07XHJcbiAgICAgICAgICAgICAgICBsZXQgZm91bmQgPSB1c2VyUGVybWlzc2lvbnNbcF07XHJcbiAgICAgICAgICAgICAgICBpZiAoZm91bmQpIHtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgaGFzUGVybWlzc2lvbiA9IEJpdHdpc2VIZWxwZXIuaGFzRmxhZyhmb3VuZCwgdmFsdWUpO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChoYXNQZXJtaXNzaW9uKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcGVybWlzc2lvbnMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHAgPSBwZXJtaXNzaW9uc1tpXTtcclxuICAgICAgICAgICAgICAgIGxldCBmb3VuZCA9IHVzZXJQZXJtaXNzaW9uc1twXTtcclxuICAgICAgICAgICAgICAgIGlmIChmb3VuZClcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBoYXNEYXRhUGVybWlzc2lvbihkYXRhOiBhbnkpIHtcclxuICAgICAgICAvL2lmIChkYXRhID09PSB1bmRlZmluZWQgfHwgZGF0YSA9PT0gbnVsbCkgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgLy8gY29uc3QgYWxsb3dlZFJvbGVzID0gZGF0YS5yb2xlcztcclxuICAgICAgICAvLyBsZXQgaXNJblJvbGUgPSB0aGlzLmlzSW5Sb2xlKGFsbG93ZWRSb2xlcyk7XHJcblxyXG4gICAgICAgIGNvbnN0IHBlcm1pc3Npb24gPSBkYXRhLnBlcm1pc3Npb247XHJcblxyXG4gICAgICAgIGxldCBoYXNQZXJtaXNzaW9uID0gdGhpcy5oYXNQZXJtaXNzaW9uKHBlcm1pc3Npb24pO1xyXG5cclxuICAgICAgICAvLyByZXR1cm4gaXNJblJvbGUgJiYgaGFzUGVybWlzc2lvbjtcclxuICAgICAgICByZXR1cm4gaGFzUGVybWlzc2lvbjtcclxuICAgIH1cclxufSJdfQ==
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
export class BaseService {
|
|
2
|
-
constructor(controller, api, httpErrorHandler) {
|
|
3
|
-
this.controller = controller;
|
|
4
|
-
this.api = api;
|
|
5
|
-
this.handleError = httpErrorHandler.createHandleError(this.constructor.name);
|
|
6
|
-
}
|
|
7
|
-
}
|
|
1
|
+
export class BaseService {
|
|
2
|
+
constructor(controller, api, httpErrorHandler) {
|
|
3
|
+
this.controller = controller;
|
|
4
|
+
this.api = api;
|
|
5
|
+
this.handleError = httpErrorHandler.createHandleError(this.constructor.name);
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
8
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvemVrL3NyYy9saWIvc2VydmljZXMvYmFzZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE1BQU0sT0FBTyxXQUFXO0lBRXBCLFlBQ3VCLFVBQWtCLEVBQ2xCLEdBQWlCLEVBQ3BDLGdCQUFrQztRQUZmLGVBQVUsR0FBVixVQUFVLENBQVE7UUFDbEIsUUFBRyxHQUFILEdBQUcsQ0FBYztRQUVwQyxJQUFJLENBQUMsV0FBVyxHQUFHLGdCQUFnQixDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDakYsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgV2ViQXBpQ2xpZW50IH0gZnJvbSBcIi4vd2ViLmFwaVwiO1xyXG5pbXBvcnQgeyBIdHRwRXJyb3JIYW5kbGVyLCBIYW5kbGVFcnJvciB9IGZyb20gXCIuL2h0dHAtZXJyb3ItaGFuZGxlci5zZXJ2aWNlXCI7XHJcblxyXG5leHBvcnQgY2xhc3MgQmFzZVNlcnZpY2Uge1xyXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGhhbmRsZUVycm9yOiBIYW5kbGVFcnJvcjtcclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByb3RlY3RlZCByZWFkb25seSBjb250cm9sbGVyOiBzdHJpbmcsXHJcbiAgICAgICAgcHJvdGVjdGVkIHJlYWRvbmx5IGFwaTogV2ViQXBpQ2xpZW50LFxyXG4gICAgICAgIGh0dHBFcnJvckhhbmRsZXI6IEh0dHBFcnJvckhhbmRsZXIpIHtcclxuICAgICAgICB0aGlzLmhhbmRsZUVycm9yID0gaHR0cEVycm9ySGFuZGxlci5jcmVhdGVIYW5kbGVFcnJvcih0aGlzLmNvbnN0cnVjdG9yLm5hbWUpO1xyXG4gICAgfVxyXG59Il19
|
|
@@ -1,43 +1,43 @@
|
|
|
1
|
-
import { catchError } from "rxjs";
|
|
2
|
-
import { BaseService } from "./base.service";
|
|
3
|
-
export class CrudService extends BaseService {
|
|
4
|
-
constructor(controller, api, httpErrorHandler) {
|
|
5
|
-
super(controller, api, httpErrorHandler);
|
|
6
|
-
}
|
|
7
|
-
get(id) {
|
|
8
|
-
return this.api.get(`api/${this.controller}/${id}`).pipe(catchError(this.handleError('get', null)));
|
|
9
|
-
}
|
|
10
|
-
get2(id, id2) {
|
|
11
|
-
return this.api.get(`api/${this.controller}/${id}/${id2}`).pipe(catchError(this.handleError('get2', null)));
|
|
12
|
-
}
|
|
13
|
-
getAll(filter) {
|
|
14
|
-
return this.api.get(`api/${this.controller}`, filter).pipe(catchError(this.handleError('getAll')));
|
|
15
|
-
}
|
|
16
|
-
sum(filter) {
|
|
17
|
-
return this.api.get(`api/${this.controller}/Sum`, filter).pipe(catchError(this.handleError('sum')));
|
|
18
|
-
}
|
|
19
|
-
save(model) {
|
|
20
|
-
return !model.id
|
|
21
|
-
? this.api.post(`api/${this.controller}`, model).pipe(catchError(this.handleError('save', null)))
|
|
22
|
-
: this.api.put(`api/${this.controller}/${model.id}`, model).pipe(catchError(this.handleError('save', null)));
|
|
23
|
-
}
|
|
24
|
-
delete(id) {
|
|
25
|
-
return this.api.delete(`api/${this.controller}/${id}`).pipe(catchError(this.handleError('delete', null)));
|
|
26
|
-
}
|
|
27
|
-
delete2(id, id2) {
|
|
28
|
-
return this.api.delete(`api/${this.controller}/${id}/${id2}`).pipe(catchError(this.handleError('delete2', null)));
|
|
29
|
-
}
|
|
30
|
-
restore(id) {
|
|
31
|
-
return this.api.post(`api/${this.controller}/Restore/${id}`).pipe(catchError(this.handleError('restore', null)));
|
|
32
|
-
}
|
|
33
|
-
approve(model) {
|
|
34
|
-
return this.api.post(`api/${this.controller}/Approve`, model).pipe(catchError(this.handleError('approve', null)));
|
|
35
|
-
}
|
|
36
|
-
disapprove(model) {
|
|
37
|
-
return this.api.post(`api/${this.controller}/Disapprove`, model).pipe(catchError(this.handleError('disapprove', null)));
|
|
38
|
-
}
|
|
39
|
-
export(model, fileTypeId) {
|
|
40
|
-
return this.api.getBlob(`api/${this.controller}/Export/${fileTypeId}`, model).pipe(catchError(this.handleError('export', null)));
|
|
41
|
-
}
|
|
42
|
-
}
|
|
1
|
+
import { catchError } from "rxjs";
|
|
2
|
+
import { BaseService } from "./base.service";
|
|
3
|
+
export class CrudService extends BaseService {
|
|
4
|
+
constructor(controller, api, httpErrorHandler) {
|
|
5
|
+
super(controller, api, httpErrorHandler);
|
|
6
|
+
}
|
|
7
|
+
get(id) {
|
|
8
|
+
return this.api.get(`api/${this.controller}/${id}`).pipe(catchError(this.handleError('get', null)));
|
|
9
|
+
}
|
|
10
|
+
get2(id, id2) {
|
|
11
|
+
return this.api.get(`api/${this.controller}/${id}/${id2}`).pipe(catchError(this.handleError('get2', null)));
|
|
12
|
+
}
|
|
13
|
+
getAll(filter) {
|
|
14
|
+
return this.api.get(`api/${this.controller}`, filter).pipe(catchError(this.handleError('getAll')));
|
|
15
|
+
}
|
|
16
|
+
sum(filter) {
|
|
17
|
+
return this.api.get(`api/${this.controller}/Sum`, filter).pipe(catchError(this.handleError('sum')));
|
|
18
|
+
}
|
|
19
|
+
save(model) {
|
|
20
|
+
return !model.id
|
|
21
|
+
? this.api.post(`api/${this.controller}`, model).pipe(catchError(this.handleError('save', null)))
|
|
22
|
+
: this.api.put(`api/${this.controller}/${model.id}`, model).pipe(catchError(this.handleError('save', null)));
|
|
23
|
+
}
|
|
24
|
+
delete(id) {
|
|
25
|
+
return this.api.delete(`api/${this.controller}/${id}`).pipe(catchError(this.handleError('delete', null)));
|
|
26
|
+
}
|
|
27
|
+
delete2(id, id2) {
|
|
28
|
+
return this.api.delete(`api/${this.controller}/${id}/${id2}`).pipe(catchError(this.handleError('delete2', null)));
|
|
29
|
+
}
|
|
30
|
+
restore(id) {
|
|
31
|
+
return this.api.post(`api/${this.controller}/Restore/${id}`).pipe(catchError(this.handleError('restore', null)));
|
|
32
|
+
}
|
|
33
|
+
approve(model) {
|
|
34
|
+
return this.api.post(`api/${this.controller}/Approve`, model).pipe(catchError(this.handleError('approve', null)));
|
|
35
|
+
}
|
|
36
|
+
disapprove(model) {
|
|
37
|
+
return this.api.post(`api/${this.controller}/Disapprove`, model).pipe(catchError(this.handleError('disapprove', null)));
|
|
38
|
+
}
|
|
39
|
+
export(model, fileTypeId) {
|
|
40
|
+
return this.api.getBlob(`api/${this.controller}/Export/${fileTypeId}`, model).pipe(catchError(this.handleError('export', null)));
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
43
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3J1ZC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvemVrL3NyYy9saWIvc2VydmljZXMvY3J1ZC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFJOUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBa0I3QyxNQUFNLE9BQU8sV0FBWSxTQUFRLFdBQVc7SUFDeEMsWUFDSSxVQUFrQixFQUNsQixHQUFpQixFQUNqQixnQkFBa0M7UUFDbEMsS0FBSyxDQUFDLFVBQVUsRUFBRSxHQUFHLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsR0FBRyxDQUFDLEVBQVU7UUFDVixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLE9BQU8sSUFBSSxDQUFDLFVBQVUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3hHLENBQUM7SUFDRCxJQUFJLENBQUMsRUFBVSxFQUFFLEdBQVc7UUFDeEIsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxPQUFPLElBQUksQ0FBQyxVQUFVLElBQUksRUFBRSxJQUFJLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDaEgsQ0FBQztJQUVELE1BQU0sQ0FBQyxNQUFZO1FBQ2YsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxPQUFPLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFD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QUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNySSxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjYXRjaEVycm9yLCBPYnNlcnZhYmxlIH0gZnJvbSBcInJ4anNcIjtcclxuXHJcbmltcG9ydCB7IEh0dHBFcnJvckhhbmRsZXIgfSBmcm9tIFwiLi9odHRwLWVycm9yLWhhbmRsZXIuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBQYWdlZExpc3QgfSBmcm9tIFwiLi4vbW9kZWxzXCI7XHJcbmltcG9ydCB7IEJhc2VTZXJ2aWNlIH0gZnJvbSBcIi4vYmFzZS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFdlYkFwaUNsaWVudCB9IGZyb20gXCIuL3dlYi5hcGlcIjtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSVNlcnZpY2Uge1xyXG4gICAgZ2V0QWxsKGZpbHRlcjogYW55KTogT2JzZXJ2YWJsZTxQYWdlZExpc3Q+O1xyXG4gICAgZGVsZXRlKGlkOiBhbnkpOiBPYnNlcnZhYmxlPGFueT47XHJcbiAgICBkZWxldGUyKGlkOiBhbnksIGlkMjogYW55KTogT2JzZXJ2YWJsZTxhbnk+O1xyXG4gICAgZXhwb3J0KGZpbHRlcjogYW55LCBmaWxlVHlwZUlkOiBhbnkpOiBPYnNlcnZhYmxlPEJsb2IgfCBudWxsPjtcclxuICAgIHN1bShmaWx0ZXI6IGFueSk6IE9ic2VydmFibGU8YW55PjtcclxuXHJcbiAgICBnZXQoaWQ6IGFueSk6IE9ic2VydmFibGU8YW55PjtcclxuICAgIGdldDIoaWQ6IGFueSwgaWQyOiBhbnkpOiBPYnNlcnZhYmxlPGFueT47XHJcbiAgICBzYXZlKG1vZGVsOiBhbnkpOiBPYnNlcnZhYmxlPGFueT47XHJcbiAgICByZXN0b3JlKGlkOiBhbnkpOiBPYnNlcnZhYmxlPGFueT47XHJcbiAgICBhcHByb3ZlKG1vZGVsOiBhbnkpOiBPYnNlcnZhYmxlPGFueT47XHJcbiAgICBkaXNhcHByb3ZlKG1vZGVsOiBhbnkpOiBPYnNlcnZhYmxlPGFueT47XHJcblxyXG59XHJcbmV4cG9ydCBjbGFzcyBDcnVkU2VydmljZSBleHRlbmRzIEJhc2VTZXJ2aWNlIGltcGxlbWVudHMgSVNlcnZpY2Uge1xyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgY29udHJvbGxlcjogc3RyaW5nLFxyXG4gICAgICAgIGFwaTogV2ViQXBpQ2xpZW50LFxyXG4gICAgICAgIGh0dHBFcnJvckhhbmRsZXI6IEh0dHBFcnJvckhhbmRsZXIpIHtcclxuICAgICAgICBzdXBlcihjb250cm9sbGVyLCBhcGksIGh0dHBFcnJvckhhbmRsZXIpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldChpZDogbnVtYmVyKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYXBpLmdldChgYXBpLyR7dGhpcy5jb250cm9sbGVyfS8ke2lkfWApLnBpcGUoY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKCdnZXQnLCBudWxsKSkpO1xyXG4gICAgfVxyXG4gICAgZ2V0MihpZDogbnVtYmVyLCBpZDI6IG51bWJlcikge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmFwaS5nZXQoYGFwaS8ke3RoaXMuY29udHJvbGxlcn0vJHtpZH0vJHtpZDJ9YCkucGlwZShjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IoJ2dldDInLCBudWxsKSkpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldEFsbChmaWx0ZXI/OiBhbnkpOiBPYnNlcnZhYmxlPFBhZ2VkTGlzdD4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmFwaS5nZXQoYGFwaS8ke3RoaXMuY29udHJvbGxlcn1gLCBmaWx0ZXIpLnBpcGUoY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKCdnZXRBbGwnKSkpO1xyXG4gICAgfVxyXG4gICAgc3VtKGZpbHRlcj86IGFueSkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmFwaS5nZXQoYGFwaS8ke3RoaXMuY29udHJvbGxlcn0vU3VtYCwgZmlsdGVyKS5waXBlKGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcignc3VtJykpKTtcclxuICAgIH1cclxuXHJcbiAgICBzYXZlKG1vZGVsOiBhbnkpIHtcclxuICAgICAgICByZXR1cm4gIW1vZGVsLmlkXHJcbiAgICAgICAgICAgID8gdGhpcy5hcGkucG9zdDxhbnk+KGBhcGkvJHt0aGlzLmNvbnRyb2xsZXJ9YCwgbW9kZWwpLnBpcGUoY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKCdzYXZlJywgbnVsbCkpKVxyXG4gICAgICAgICAgICA6IHRoaXMuYXBpLnB1dDxhbnk+KGBhcGkvJHt0aGlzLmNvbnRyb2xsZXJ9LyR7bW9kZWwuaWR9YCwgbW9kZWwpLnBpcGUoY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKCdzYXZlJywgbnVsbCkpKTtcclxuICAgIH1cclxuXHJcbiAgICBkZWxldGUoaWQ6IGFueSkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmFwaS5kZWxldGUoYGFwaS8ke3RoaXMuY29udHJvbGxlcn0vJHtpZH1gKS5waXBlKGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcignZGVsZXRlJywgbnVsbCkpKTtcclxuICAgIH1cclxuICAgIGRlbGV0ZTIoaWQ6IGFueSwgaWQyOiBhbnkpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5hcGkuZGVsZXRlKGBhcGkvJHt0aGlzLmNvbnRyb2xsZXJ9LyR7aWR9LyR7aWQyfWApLnBpcGUoY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKCdkZWxldGUyJywgbnVsbCkpKTtcclxuICAgIH1cclxuXHJcbiAgICByZXN0b3JlKGlkOiBhbnkpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5hcGkucG9zdChgYXBpLyR7dGhpcy5jb250cm9sbGVyfS9SZXN0b3JlLyR7aWR9YCkucGlwZShjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IoJ3Jlc3RvcmUnLCBudWxsKSkpO1xyXG4gICAgfVxyXG5cclxuICAgIGFwcHJvdmUobW9kZWw6IGFueSkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmFwaS5wb3N0KGBhcGkvJHt0aGlzLmNvbnRyb2xsZXJ9L0FwcHJvdmVgLCBtb2RlbCkucGlwZShjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IoJ2FwcHJvdmUnLCBudWxsKSkpO1xyXG4gICAgfVxyXG4gICAgZGlzYXBwcm92ZShtb2RlbDogYW55KSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYXBpLnBvc3QoYGFwaS8ke3RoaXMuY29udHJvbGxlcn0vRGlzYXBwcm92ZWAsIG1vZGVsKS5waXBlKGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcignZGlzYXBwcm92ZScsIG51bGwpKSk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIGV4cG9ydChtb2RlbDogYW55LCBmaWxlVHlwZUlkOiBhbnkpOiBPYnNlcnZhYmxlPEJsb2IgfCBudWxsPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYXBpLmdldEJsb2IoYGFwaS8ke3RoaXMuY29udHJvbGxlcn0vRXhwb3J0LyR7ZmlsZVR5cGVJZH1gLCBtb2RlbCkucGlwZShjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IoJ2V4cG9ydCcsIG51bGwpKSk7XHJcbiAgICB9XHJcbn0iXX0=
|