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
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { CommonModule } from '@angular/common';
|
|
3
|
-
import { ReadOnlyDirective } from './readonly.directive';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export class ReadOnlyModule {
|
|
6
|
-
}
|
|
7
|
-
ReadOnlyModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: ReadOnlyModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
8
|
-
ReadOnlyModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.0", ngImport: i0, type: ReadOnlyModule, declarations: [ReadOnlyDirective], imports: [CommonModule], exports: [ReadOnlyDirective] });
|
|
9
|
-
ReadOnlyModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: ReadOnlyModule, imports: [CommonModule] });
|
|
10
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: ReadOnlyModule, decorators: [{
|
|
11
|
-
type: NgModule,
|
|
12
|
-
args: [{
|
|
13
|
-
imports: [
|
|
14
|
-
CommonModule
|
|
15
|
-
],
|
|
16
|
-
declarations: [
|
|
17
|
-
ReadOnlyDirective,
|
|
18
|
-
],
|
|
19
|
-
exports: [ReadOnlyDirective]
|
|
20
|
-
}]
|
|
21
|
-
}] });
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhZG9ubHkubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvemVrL3NyYy9saWIvbW9kdWxlcy9yZWFkb25seS9yZWFkb25seS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7O0FBV3pELE1BQU0sT0FBTyxjQUFjOzsyR0FBZCxjQUFjOzRHQUFkLGNBQWMsaUJBSm5CLGlCQUFpQixhQUhqQixZQUFZLGFBS04saUJBQWlCOzRHQUVsQixjQUFjLFlBUG5CLFlBQVk7MkZBT1AsY0FBYztrQkFUMUIsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUU7d0JBQ0wsWUFBWTtxQkFDZjtvQkFDRCxZQUFZLEVBQUU7d0JBQ1YsaUJBQWlCO3FCQUNwQjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQztpQkFDL0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5cclxuaW1wb3J0IHsgUmVhZE9ubHlEaXJlY3RpdmUgfSBmcm9tICcuL3JlYWRvbmx5LmRpcmVjdGl2ZSc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gICAgaW1wb3J0czogW1xyXG4gICAgICAgIENvbW1vbk1vZHVsZVxyXG4gICAgXSxcclxuICAgIGRlY2xhcmF0aW9uczogW1xyXG4gICAgICAgIFJlYWRPbmx5RGlyZWN0aXZlLFxyXG4gICAgXSxcclxuICAgIGV4cG9ydHM6IFtSZWFkT25seURpcmVjdGl2ZV1cclxufSlcclxuZXhwb3J0IGNsYXNzIFJlYWRPbmx5TW9kdWxlIHsgfSJdfQ==
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { NgModule } from "@angular/core";
|
|
2
|
-
import { RECAPTCHA_SITE_KEY } from "../../tokens";
|
|
3
|
-
import { ReCaptchaService } from "./recaptcha.service";
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
//4.2.0
|
|
6
|
-
export class RecaptchaModule {
|
|
7
|
-
static forRoot(config) {
|
|
8
|
-
return {
|
|
9
|
-
ngModule: RecaptchaModule,
|
|
10
|
-
providers: [
|
|
11
|
-
ReCaptchaService,
|
|
12
|
-
{
|
|
13
|
-
provide: RECAPTCHA_SITE_KEY,
|
|
14
|
-
useValue: config.siteKey
|
|
15
|
-
},
|
|
16
|
-
]
|
|
17
|
-
};
|
|
18
|
-
}
|
|
19
|
-
static forChild(config) {
|
|
20
|
-
return this.forRoot(config);
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
RecaptchaModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: RecaptchaModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
24
|
-
RecaptchaModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.0", ngImport: i0, type: RecaptchaModule });
|
|
25
|
-
RecaptchaModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: RecaptchaModule, providers: [ReCaptchaService] });
|
|
26
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: RecaptchaModule, decorators: [{
|
|
27
|
-
type: NgModule,
|
|
28
|
-
args: [{
|
|
29
|
-
providers: [ReCaptchaService]
|
|
30
|
-
}]
|
|
31
|
-
}] });
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjYXB0Y2hhLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3play9zcmMvbGliL21vZHVsZXMvcmVjYXB0Y2hhL3JlY2FwdGNoYS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFOUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2xELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQUV2RCxPQUFPO0FBSVAsTUFBTSxPQUFPLGVBQWU7SUFDakIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUF1QjtRQUN6QyxPQUFPO1lBQ0gsUUFBUSxFQUFFLGVBQWU7WUFDekIsU0FBUyxFQUFFO2dCQUNQLGdCQUFnQjtnQkFDaEI7b0JBQ0ksT0FBTyxFQUFFLGtCQUFrQjtvQkFDM0IsUUFBUSxFQUFFLE1BQU0sQ0FBQyxPQUFPO2lCQUMzQjthQUNKO1NBQ0osQ0FBQztJQUNOLENBQUM7SUFFTSxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQXVCO1FBQzFDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNoQyxDQUFDOzs0R0FoQlEsZUFBZTs2R0FBZixlQUFlOzZHQUFmLGVBQWUsYUFGYixDQUFDLGdCQUFnQixDQUFDOzJGQUVwQixlQUFlO2tCQUgzQixRQUFRO21CQUFDO29CQUNOLFNBQVMsRUFBRSxDQUFDLGdCQUFnQixDQUFDO2lCQUNoQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgUmVDYXB0Y2hhQ29uZmlnIH0gZnJvbSBcIi4vaW5kZXhcIjtcclxuaW1wb3J0IHsgUkVDQVBUQ0hBX1NJVEVfS0VZIH0gZnJvbSBcIi4uLy4uL3Rva2Vuc1wiO1xyXG5pbXBvcnQgeyBSZUNhcHRjaGFTZXJ2aWNlIH0gZnJvbSBcIi4vcmVjYXB0Y2hhLnNlcnZpY2VcIjtcclxuXHJcbi8vNC4yLjBcclxuQE5nTW9kdWxlKHtcclxuICAgIHByb3ZpZGVyczogW1JlQ2FwdGNoYVNlcnZpY2VdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSZWNhcHRjaGFNb2R1bGUge1xyXG4gICAgcHVibGljIHN0YXRpYyBmb3JSb290KGNvbmZpZzogUmVDYXB0Y2hhQ29uZmlnKTogTW9kdWxlV2l0aFByb3ZpZGVyczxSZWNhcHRjaGFNb2R1bGU+IHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBuZ01vZHVsZTogUmVjYXB0Y2hhTW9kdWxlLFxyXG4gICAgICAgICAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICAgICAgICAgIFJlQ2FwdGNoYVNlcnZpY2UsXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgcHJvdmlkZTogUkVDQVBUQ0hBX1NJVEVfS0VZLFxyXG4gICAgICAgICAgICAgICAgICAgIHVzZVZhbHVlOiBjb25maWcuc2l0ZUtleVxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgXVxyXG4gICAgICAgIH07XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHN0YXRpYyBmb3JDaGlsZChjb25maWc6IFJlQ2FwdGNoYUNvbmZpZykge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmZvclJvb3QoY29uZmlnKTtcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -1,119 +0,0 @@
|
|
|
1
|
-
import { Inject, Injectable, Optional } from '@angular/core';
|
|
2
|
-
import { Subject } from 'rxjs';
|
|
3
|
-
import { RECAPTCHA_SITE_KEY } from '../../tokens';
|
|
4
|
-
import { loader } from './loader';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
export class ReCaptchaService {
|
|
7
|
-
constructor(zone, siteKey) {
|
|
8
|
-
this.isBrowser = true;
|
|
9
|
-
/** @internal */
|
|
10
|
-
this.onLoadComplete = (grecaptcha) => {
|
|
11
|
-
this.grecaptcha = grecaptcha;
|
|
12
|
-
if (this.actionBacklog && this.actionBacklog.length > 0) {
|
|
13
|
-
this.actionBacklog.forEach(([action, subject]) => this.executeActionWithSubject(action, subject));
|
|
14
|
-
this.actionBacklog = undefined;
|
|
15
|
-
}
|
|
16
|
-
};
|
|
17
|
-
this.zone = zone;
|
|
18
|
-
this.siteKey = siteKey;
|
|
19
|
-
this.init();
|
|
20
|
-
}
|
|
21
|
-
get onExecute() {
|
|
22
|
-
if (!this.onExecuteSubject) {
|
|
23
|
-
this.onExecuteSubject = new Subject();
|
|
24
|
-
this.onExecuteObservable = this.onExecuteSubject.asObservable();
|
|
25
|
-
}
|
|
26
|
-
if (!this.onExecuteObservable)
|
|
27
|
-
throw new Error("onExecuteObservable is undefined");
|
|
28
|
-
return this.onExecuteObservable;
|
|
29
|
-
}
|
|
30
|
-
get onExecuteError() {
|
|
31
|
-
if (!this.onExecuteErrorSubject) {
|
|
32
|
-
this.onExecuteErrorSubject = new Subject();
|
|
33
|
-
this.onExecuteErrorObservable = this.onExecuteErrorSubject.asObservable();
|
|
34
|
-
}
|
|
35
|
-
if (!this.onExecuteErrorObservable)
|
|
36
|
-
throw new Error("onExecuteErrorObservable is undefined");
|
|
37
|
-
return this.onExecuteErrorObservable;
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* Executes the provided `action` with reCAPTCHA v3 API.
|
|
41
|
-
* Use the emitted token value for verification purposes on the backend.
|
|
42
|
-
*
|
|
43
|
-
* For more information about reCAPTCHA v3 actions and tokens refer to the official documentation at
|
|
44
|
-
* https://developers.google.com/recaptcha/docs/v3.
|
|
45
|
-
*
|
|
46
|
-
* @param {string} action the action to execute
|
|
47
|
-
* @returns {Observable<string>} an `Observable` that will emit the reCAPTCHA v3 string `token` value whenever ready.
|
|
48
|
-
* The returned `Observable` completes immediately after emitting a value.
|
|
49
|
-
*/
|
|
50
|
-
execute(action) {
|
|
51
|
-
const subject = new Subject();
|
|
52
|
-
if (this.isBrowser) {
|
|
53
|
-
if (!this.grecaptcha) {
|
|
54
|
-
// todo: add to array of later executions
|
|
55
|
-
if (!this.actionBacklog) {
|
|
56
|
-
this.actionBacklog = [];
|
|
57
|
-
}
|
|
58
|
-
this.actionBacklog.push([action, subject]);
|
|
59
|
-
}
|
|
60
|
-
else {
|
|
61
|
-
this.executeActionWithSubject(action, subject);
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
return subject.asObservable();
|
|
65
|
-
}
|
|
66
|
-
/** @internal */
|
|
67
|
-
executeActionWithSubject(action, subject) {
|
|
68
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
69
|
-
const onError = (error) => {
|
|
70
|
-
this.zone.run(() => {
|
|
71
|
-
subject.error(error);
|
|
72
|
-
if (this.onExecuteErrorSubject) {
|
|
73
|
-
// We don't know any better at this point, unfortunately, so have to resort to `any`
|
|
74
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
75
|
-
this.onExecuteErrorSubject.next({ action, error });
|
|
76
|
-
}
|
|
77
|
-
});
|
|
78
|
-
};
|
|
79
|
-
this.zone.runOutsideAngular(() => {
|
|
80
|
-
try {
|
|
81
|
-
if (this.grecaptcha)
|
|
82
|
-
this.grecaptcha.execute(this.siteKey, { action }).then((token) => {
|
|
83
|
-
this.zone.run(() => {
|
|
84
|
-
subject.next(token);
|
|
85
|
-
subject.complete();
|
|
86
|
-
if (this.onExecuteSubject) {
|
|
87
|
-
this.onExecuteSubject.next({ action, token });
|
|
88
|
-
}
|
|
89
|
-
});
|
|
90
|
-
}, onError);
|
|
91
|
-
}
|
|
92
|
-
catch (e) {
|
|
93
|
-
onError(e);
|
|
94
|
-
}
|
|
95
|
-
});
|
|
96
|
-
}
|
|
97
|
-
/** @internal */
|
|
98
|
-
init() {
|
|
99
|
-
if (this.isBrowser) {
|
|
100
|
-
if ("grecaptcha" in window) {
|
|
101
|
-
this.grecaptcha = grecaptcha;
|
|
102
|
-
}
|
|
103
|
-
else {
|
|
104
|
-
loader.loadScript(this.siteKey, this.onLoadComplete);
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
ReCaptchaService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: ReCaptchaService, deps: [{ token: i0.NgZone }, { token: RECAPTCHA_SITE_KEY, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
110
|
-
ReCaptchaService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: ReCaptchaService });
|
|
111
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: ReCaptchaService, decorators: [{
|
|
112
|
-
type: Injectable
|
|
113
|
-
}], ctorParameters: function () { return [{ type: i0.NgZone }, { type: undefined, decorators: [{
|
|
114
|
-
type: Optional
|
|
115
|
-
}, {
|
|
116
|
-
type: Inject,
|
|
117
|
-
args: [RECAPTCHA_SITE_KEY]
|
|
118
|
-
}] }]; } });
|
|
119
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjYXB0Y2hhLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96ZWsvc3JjL2xpYi9tb2R1bGVzL3JlY2FwdGNoYS9yZWNhcHRjaGEuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBVSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckUsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDbEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFVBQVUsQ0FBQzs7QUF5Q2xDLE1BQU0sT0FBTyxnQkFBZ0I7SUFZekIsWUFDSSxJQUFZLEVBQzRCLE9BQWU7UUFiMUMsY0FBUyxHQUFZLElBQUksQ0FBQztRQW9IM0MsZ0JBQWdCO1FBQ1IsbUJBQWMsR0FBRyxDQUFDLFVBQWlDLEVBQUUsRUFBRTtZQUMzRCxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztZQUM3QixJQUFJLElBQUksQ0FBQyxhQUFhLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO2dCQUNyRCxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUM7Z0JBQ2xHLElBQUksQ0FBQyxhQUFhLEdBQUcsU0FBUyxDQUFDO2FBQ2xDO1FBQ0wsQ0FBQyxDQUFBO1FBNUdHLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNoQixDQUFD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QyxDQUFDOzZCQUNqRDt3QkFDTCxDQUFDLENBQUMsQ0FBQztvQkFDUCxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUM7YUFDbkI7WUFBQyxPQUFPLENBQUMsRUFBRTtnQkFDUixPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDZDtRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELGdCQUFnQjtJQUNSLElBQUk7UUFDUixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDaEIsSUFBSSxZQUFZLElBQUksTUFBTSxFQUFFO2dCQUN4QixJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQzthQUNoQztpQkFBTTtnQkFDSCxNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO2FBQ3hEO1NBQ0o7SUFDTCxDQUFDOzs2R0FuSFEsZ0JBQWdCLHdDQWNELGtCQUFrQjtpSEFkakMsZ0JBQWdCOzJGQUFoQixnQkFBZ0I7a0JBRDVCLFVBQVU7OzBCQWVGLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBOZ1pvbmUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgUkVDQVBUQ0hBX1NJVEVfS0VZIH0gZnJvbSAnLi4vLi4vdG9rZW5zJztcclxuaW1wb3J0IHsgbG9hZGVyIH0gZnJvbSAnLi9sb2FkZXInO1xyXG5pbXBvcnQgeyBSZUNhcHRjaGFWMiB9IGZyb20gJy4vcmVjYXB0Y2hhLm1vZGVsJztcclxuXHJcbmRlY2xhcmUgdmFyIGdyZWNhcHRjaGE6IFJlQ2FwdGNoYVYyLlJlQ2FwdGNoYSAmIHtcclxuICAgIGVudGVycHJpc2U6IFJlQ2FwdGNoYVYyLlJlQ2FwdGNoYTtcclxufTtcclxuXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFJlQ2FwdGNoYUNvbmZpZyB7XHJcbiAgICBzaXRlS2V5OiBzdHJpbmc7XHJcbn1cclxuXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIE9uRXhlY3V0ZURhdGEge1xyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgbmFtZSBvZiB0aGUgYWN0aW9uIHRoYXQgaGFzIGJlZW4gZXhlY3V0ZWQuXHJcbiAgICAgKi9cclxuICAgIGFjdGlvbjogc3RyaW5nO1xyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgdG9rZW4gdGhhdCByZUNBUFRDSEEgdjMgcHJvdmlkZWQgd2hlbiBleGVjdXRpbmcgdGhlIGFjdGlvbi5cclxuICAgICAqL1xyXG4gICAgdG9rZW46IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBPbkV4ZWN1dGVFcnJvckRhdGEge1xyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgbmFtZSBvZiB0aGUgYWN0aW9uIHRoYXQgaGFzIGJlZW4gZXhlY3V0ZWQuXHJcbiAgICAgKi9cclxuICAgIGFjdGlvbjogc3RyaW5nO1xyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgZXJyb3Igd2hpY2ggd2FzIGVuY291bnRlcmVkXHJcbiAgICAgKi9cclxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgICBlcnJvcjogYW55O1xyXG59XHJcblxyXG50eXBlIEFjdGlvbkJhY2tsb2dFbnRyeSA9IFtzdHJpbmcsIFN1YmplY3Q8c3RyaW5nPl07XHJcblxyXG5cclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIFJlQ2FwdGNoYVNlcnZpY2Uge1xyXG4gICAgcHJpdmF0ZSByZWFkb25seSBpc0Jyb3dzZXI6IGJvb2xlYW4gPSB0cnVlO1xyXG4gICAgcHJpdmF0ZSByZWFkb25seSBzaXRlS2V5OiBzdHJpbmc7XHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHpvbmU6IE5nWm9uZTtcclxuXHJcbiAgICBwcml2YXRlIGFjdGlvbkJhY2tsb2c6IEFjdGlvbkJhY2tsb2dFbnRyeVtdIHwgdW5kZWZpbmVkO1xyXG4gICAgcHJpdmF0ZSBncmVjYXB0Y2hhPzogUmVDYXB0Y2hhVjIuUmVDYXB0Y2hhO1xyXG4gICAgcHJpdmF0ZSBvbkV4ZWN1dGVTdWJqZWN0PzogU3ViamVjdDxPbkV4ZWN1dGVEYXRhPjtcclxuICAgIHByaXZhdGUgb25FeGVjdXRlRXJyb3JTdWJqZWN0PzogU3ViamVjdDxPbkV4ZWN1dGVFcnJvckRhdGE+O1xyXG4gICAgcHJpdmF0ZSBvbkV4ZWN1dGVPYnNlcnZhYmxlPzogT2JzZXJ2YWJsZTxPbkV4ZWN1dGVEYXRhPjtcclxuICAgIHByaXZhdGUgb25FeGVjdXRlRXJyb3JPYnNlcnZhYmxlPzogT2JzZXJ2YWJsZTxPbkV4ZWN1dGVFcnJvckRhdGE+O1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHpvbmU6IE5nWm9uZSxcclxuICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KFJFQ0FQVENIQV9TSVRFX0tFWSkgc2l0ZUtleTogc3RyaW5nKSB7XHJcblxyXG4gICAgICAgIHRoaXMuem9uZSA9IHpvbmU7XHJcbiAgICAgICAgdGhpcy5zaXRlS2V5ID0gc2l0ZUtleTtcclxuICAgICAgICB0aGlzLmluaXQoKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0IG9uRXhlY3V0ZSgpOiBPYnNlcnZhYmxlPE9uRXhlY3V0ZURhdGE+IHtcclxuICAgICAgICBpZiAoIXRoaXMub25FeGVjdXRlU3ViamVjdCkge1xyXG4gICAgICAgICAgICB0aGlzLm9uRXhlY3V0ZVN1YmplY3QgPSBuZXcgU3ViamVjdDxPbkV4ZWN1dGVEYXRhPigpO1xyXG4gICAgICAgICAgICB0aGlzLm9uRXhlY3V0ZU9ic2VydmFibGUgPSB0aGlzLm9uRXhlY3V0ZVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoIXRoaXMub25FeGVjdXRlT2JzZXJ2YWJsZSlcclxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwib25FeGVjdXRlT2JzZXJ2YWJsZSBpcyB1bmRlZmluZWRcIik7XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLm9uRXhlY3V0ZU9ic2VydmFibGU7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldCBvbkV4ZWN1dGVFcnJvcigpOiBPYnNlcnZhYmxlPE9uRXhlY3V0ZUVycm9yRGF0YT4ge1xyXG4gICAgICAgIGlmICghdGhpcy5vbkV4ZWN1dGVFcnJvclN1YmplY3QpIHtcclxuICAgICAgICAgICAgdGhpcy5vbkV4ZWN1dGVFcnJvclN1YmplY3QgPSBuZXcgU3ViamVjdDxPbkV4ZWN1dGVFcnJvckRhdGE+KCk7XHJcbiAgICAgICAgICAgIHRoaXMub25FeGVjdXRlRXJyb3JPYnNlcnZhYmxlID0gdGhpcy5vbkV4ZWN1dGVFcnJvclN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoIXRoaXMub25FeGVjdXRlRXJyb3JPYnNlcnZhYmxlKVxyXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJvbkV4ZWN1dGVFcnJvck9ic2VydmFibGUgaXMgdW5kZWZpbmVkXCIpO1xyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5vbkV4ZWN1dGVFcnJvck9ic2VydmFibGU7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBFeGVjdXRlcyB0aGUgcHJvdmlkZWQgYGFjdGlvbmAgd2l0aCByZUNBUFRDSEEgdjMgQVBJLlxyXG4gICAgICogVXNlIHRoZSBlbWl0dGVkIHRva2VuIHZhbHVlIGZvciB2ZXJpZmljYXRpb24gcHVycG9zZXMgb24gdGhlIGJhY2tlbmQuXHJcbiAgICAgKlxyXG4gICAgICogRm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgcmVDQVBUQ0hBIHYzIGFjdGlvbnMgYW5kIHRva2VucyByZWZlciB0byB0aGUgb2ZmaWNpYWwgZG9jdW1lbnRhdGlvbiBhdFxyXG4gICAgICogaHR0cHM6Ly9kZXZlbG9wZXJzLmdvb2dsZS5jb20vcmVjYXB0Y2hhL2RvY3MvdjMuXHJcbiAgICAgKlxyXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGFjdGlvbiB0aGUgYWN0aW9uIHRvIGV4ZWN1dGVcclxuICAgICAqIEByZXR1cm5zIHtPYnNlcnZhYmxlPHN0cmluZz59IGFuIGBPYnNlcnZhYmxlYCB0aGF0IHdpbGwgZW1pdCB0aGUgcmVDQVBUQ0hBIHYzIHN0cmluZyBgdG9rZW5gIHZhbHVlIHdoZW5ldmVyIHJlYWR5LlxyXG4gICAgICogVGhlIHJldHVybmVkIGBPYnNlcnZhYmxlYCBjb21wbGV0ZXMgaW1tZWRpYXRlbHkgYWZ0ZXIgZW1pdHRpbmcgYSB2YWx1ZS5cclxuICAgICAqL1xyXG4gICAgcHVibGljIGV4ZWN1dGUoYWN0aW9uOiBzdHJpbmcpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xyXG4gICAgICAgIGNvbnN0IHN1YmplY3QgPSBuZXcgU3ViamVjdDxzdHJpbmc+KCk7XHJcbiAgICAgICAgaWYgKHRoaXMuaXNCcm93c2VyKSB7XHJcbiAgICAgICAgICAgIGlmICghdGhpcy5ncmVjYXB0Y2hhKSB7XHJcbiAgICAgICAgICAgICAgICAvLyB0b2RvOiBhZGQgdG8gYXJyYXkgb2YgbGF0ZXIgZXhlY3V0aW9uc1xyXG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLmFjdGlvbkJhY2tsb2cpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmFjdGlvbkJhY2tsb2cgPSBbXTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICB0aGlzLmFjdGlvbkJhY2tsb2cucHVzaChbYWN0aW9uLCBzdWJqZWN0XSk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmV4ZWN1dGVBY3Rpb25XaXRoU3ViamVjdChhY3Rpb24sIHN1YmplY3QpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gc3ViamVjdC5hc09ic2VydmFibGUoKTtcclxuICAgIH1cclxuXHJcbiAgICAvKiogQGludGVybmFsICovXHJcbiAgICBwcml2YXRlIGV4ZWN1dGVBY3Rpb25XaXRoU3ViamVjdChhY3Rpb246IHN0cmluZywgc3ViamVjdDogU3ViamVjdDxzdHJpbmc+KTogdm9pZCB7XHJcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICAgICAgICBjb25zdCBvbkVycm9yID0gKGVycm9yOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgdGhpcy56b25lLnJ1bigoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBzdWJqZWN0LmVycm9yKGVycm9yKTtcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLm9uRXhlY3V0ZUVycm9yU3ViamVjdCkge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIFdlIGRvbid0IGtub3cgYW55IGJldHRlciBhdCB0aGlzIHBvaW50LCB1bmZvcnR1bmF0ZWx5LCBzbyBoYXZlIHRvIHJlc29ydCB0byBgYW55YFxyXG4gICAgICAgICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLWFzc2lnbm1lbnRcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLm9uRXhlY3V0ZUVycm9yU3ViamVjdC5uZXh0KHsgYWN0aW9uLCBlcnJvciB9KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgdGhpcy56b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcclxuICAgICAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmdyZWNhcHRjaGEpXHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5ncmVjYXB0Y2hhLmV4ZWN1dGUodGhpcy5zaXRlS2V5LCB7IGFjdGlvbiB9KS50aGVuKCh0b2tlbjogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuem9uZS5ydW4oKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3ViamVjdC5uZXh0KHRva2VuKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1YmplY3QuY29tcGxldGUoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLm9uRXhlY3V0ZVN1YmplY3QpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm9uRXhlY3V0ZVN1YmplY3QubmV4dCh7IGFjdGlvbiwgdG9rZW4gfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgIH0sIG9uRXJyb3IpO1xyXG4gICAgICAgICAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgICAgICAgICAgICBvbkVycm9yKGUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqIEBpbnRlcm5hbCAqL1xyXG4gICAgcHJpdmF0ZSBpbml0KCkge1xyXG4gICAgICAgIGlmICh0aGlzLmlzQnJvd3Nlcikge1xyXG4gICAgICAgICAgICBpZiAoXCJncmVjYXB0Y2hhXCIgaW4gd2luZG93KSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmdyZWNhcHRjaGEgPSBncmVjYXB0Y2hhO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgbG9hZGVyLmxvYWRTY3JpcHQodGhpcy5zaXRlS2V5LCB0aGlzLm9uTG9hZENvbXBsZXRlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKiogQGludGVybmFsICovXHJcbiAgICBwcml2YXRlIG9uTG9hZENvbXBsZXRlID0gKGdyZWNhcHRjaGE6IFJlQ2FwdGNoYVYyLlJlQ2FwdGNoYSkgPT4ge1xyXG4gICAgICAgIHRoaXMuZ3JlY2FwdGNoYSA9IGdyZWNhcHRjaGE7XHJcbiAgICAgICAgaWYgKHRoaXMuYWN0aW9uQmFja2xvZyAmJiB0aGlzLmFjdGlvbkJhY2tsb2cubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICB0aGlzLmFjdGlvbkJhY2tsb2cuZm9yRWFjaCgoW2FjdGlvbiwgc3ViamVjdF0pID0+IHRoaXMuZXhlY3V0ZUFjdGlvbldpdGhTdWJqZWN0KGFjdGlvbiwgc3ViamVjdCkpO1xyXG4gICAgICAgICAgICB0aGlzLmFjdGlvbkJhY2tsb2cgPSB1bmRlZmluZWQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59Il19
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { CommonModule } from '@angular/common';
|
|
3
|
-
import { SafePipe } from './safe.pipe';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export class SafeModule {
|
|
6
|
-
}
|
|
7
|
-
SafeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SafeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
8
|
-
SafeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.0", ngImport: i0, type: SafeModule, declarations: [SafePipe], imports: [CommonModule], exports: [SafePipe] });
|
|
9
|
-
SafeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SafeModule, imports: [CommonModule] });
|
|
10
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SafeModule, decorators: [{
|
|
11
|
-
type: NgModule,
|
|
12
|
-
args: [{
|
|
13
|
-
imports: [
|
|
14
|
-
CommonModule
|
|
15
|
-
],
|
|
16
|
-
declarations: [SafePipe],
|
|
17
|
-
exports: [SafePipe]
|
|
18
|
-
}]
|
|
19
|
-
}] });
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FmZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96ZWsvc3JjL2xpYi9tb2R1bGVzL3NhZmUvc2FmZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7QUFTdkMsTUFBTSxPQUFPLFVBQVU7O3VHQUFWLFVBQVU7d0dBQVYsVUFBVSxpQkFISixRQUFRLGFBRm5CLFlBQVksYUFHTixRQUFRO3dHQUVULFVBQVUsWUFMZixZQUFZOzJGQUtQLFVBQVU7a0JBUHRCLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFO3dCQUNMLFlBQVk7cUJBQ2Y7b0JBQ0QsWUFBWSxFQUFFLENBQUMsUUFBUSxDQUFDO29CQUN4QixPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUM7aUJBQ3RCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuXHJcbmltcG9ydCB7IFNhZmVQaXBlIH0gZnJvbSAnLi9zYWZlLnBpcGUnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICAgIGltcG9ydHM6IFtcclxuICAgICAgICBDb21tb25Nb2R1bGVcclxuICAgIF0sXHJcbiAgICBkZWNsYXJhdGlvbnM6IFtTYWZlUGlwZV0sXHJcbiAgICBleHBvcnRzOiBbU2FmZVBpcGVdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTYWZlTW9kdWxlIHsgfSJdfQ==
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { Pipe } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "@angular/platform-browser";
|
|
4
|
-
export class SafePipe {
|
|
5
|
-
constructor(sanitizer) {
|
|
6
|
-
this.sanitizer = sanitizer;
|
|
7
|
-
}
|
|
8
|
-
/**
|
|
9
|
-
* Transform
|
|
10
|
-
*
|
|
11
|
-
* @param value: string
|
|
12
|
-
* @param type: string html, style, script, url, resourceUrl
|
|
13
|
-
*/
|
|
14
|
-
transform(value, type) {
|
|
15
|
-
switch (type) {
|
|
16
|
-
case 'html':
|
|
17
|
-
return this.sanitizer.bypassSecurityTrustHtml(value);
|
|
18
|
-
case 'style':
|
|
19
|
-
return this.sanitizer.bypassSecurityTrustStyle(value);
|
|
20
|
-
case 'script':
|
|
21
|
-
return this.sanitizer.bypassSecurityTrustScript(value);
|
|
22
|
-
case 'url':
|
|
23
|
-
return this.sanitizer.bypassSecurityTrustUrl(value);
|
|
24
|
-
case 'resourceUrl':
|
|
25
|
-
return this.sanitizer.bypassSecurityTrustResourceUrl(value);
|
|
26
|
-
default:
|
|
27
|
-
return this.sanitizer.bypassSecurityTrustHtml(value);
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
SafePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SafePipe, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe });
|
|
32
|
-
SafePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.2.0", ngImport: i0, type: SafePipe, name: "safe" });
|
|
33
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SafePipe, decorators: [{
|
|
34
|
-
type: Pipe,
|
|
35
|
-
args: [{ name: 'safe' }]
|
|
36
|
-
}], ctorParameters: function () { return [{ type: i1.DomSanitizer }]; } });
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FmZS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvemVrL3NyYy9saWIvbW9kdWxlcy9zYWZlL3NhZmUucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7O0FBSXBELE1BQU0sT0FBTyxRQUFRO0lBQ25CLFlBQW9CLFNBQXVCO1FBQXZCLGNBQVMsR0FBVCxTQUFTLENBQWM7SUFDM0MsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsU0FBUyxDQUFDLEtBQWEsRUFBRSxJQUFzRTtRQUM3RixRQUFRLElBQUksRUFBRTtZQUNaLEtBQUssTUFBTTtnQkFDVCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsdUJBQXVCLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDdkQsS0FBSyxPQUFPO2dCQUNWLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyx3QkFBd0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN4RCxLQUFLLFFBQVE7Z0JBQ1gsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLHlCQUF5QixDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3pELEtBQUssS0FBSztnQkFDUixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsc0JBQXNCLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDdEQsS0FBSyxhQUFhO2dCQUNoQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsOEJBQThCLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDOUQ7Z0JBQ0UsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLHVCQUF1QixDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3hEO0lBQ0gsQ0FBQzs7cUdBekJVLFFBQVE7bUdBQVIsUUFBUTsyRkFBUixRQUFRO2tCQURwQixJQUFJO21CQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRG9tU2FuaXRpemVyLCBTYWZlSHRtbCwgU2FmZVJlc291cmNlVXJsLCBTYWZlU2NyaXB0LCBTYWZlU3R5bGUsIFNhZmVVcmwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuXHJcbkBQaXBlKHsgbmFtZTogJ3NhZmUnIH0pXHJcbmV4cG9ydCBjbGFzcyBTYWZlUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc2FuaXRpemVyOiBEb21TYW5pdGl6ZXIpIHtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFRyYW5zZm9ybVxyXG4gICAqXHJcbiAgICogQHBhcmFtIHZhbHVlOiBzdHJpbmdcclxuICAgKiBAcGFyYW0gdHlwZTogc3RyaW5nIGh0bWwsIHN0eWxlLCBzY3JpcHQsIHVybCwgcmVzb3VyY2VVcmxcclxuICAgKi9cclxuICB0cmFuc2Zvcm0odmFsdWU6IHN0cmluZywgdHlwZT86ICcnIHwgJ2h0bWwnIHwgJ3N0eWxlJyB8ICdzY3JpcHQnIHwgJ3VybCcgfCAncmVzb3VyY2VVcmwnIHwgbnVsbCk6IFNhZmVIdG1sIHwgU2FmZVN0eWxlIHwgU2FmZVNjcmlwdCB8IFNhZmVVcmwgfCBTYWZlUmVzb3VyY2VVcmwge1xyXG4gICAgc3dpdGNoICh0eXBlKSB7XHJcbiAgICAgIGNhc2UgJ2h0bWwnOlxyXG4gICAgICAgIHJldHVybiB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbCh2YWx1ZSk7XHJcbiAgICAgIGNhc2UgJ3N0eWxlJzpcclxuICAgICAgICByZXR1cm4gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdFN0eWxlKHZhbHVlKTtcclxuICAgICAgY2FzZSAnc2NyaXB0JzpcclxuICAgICAgICByZXR1cm4gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdFNjcmlwdCh2YWx1ZSk7XHJcbiAgICAgIGNhc2UgJ3VybCc6XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RVcmwodmFsdWUpO1xyXG4gICAgICBjYXNlICdyZXNvdXJjZVVybCc6XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RSZXNvdXJjZVVybCh2YWx1ZSk7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKHZhbHVlKTtcclxuICAgIH1cclxuICB9XHJcbn0iXX0=
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { CommonModule } from '@angular/common';
|
|
3
|
-
import { FormsModule } from '@angular/forms';
|
|
4
|
-
import { ZekSelectMultiple } from './select';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
export class ZekSelectModule {
|
|
7
|
-
}
|
|
8
|
-
ZekSelectModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: ZekSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
9
|
-
ZekSelectModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.0", ngImport: i0, type: ZekSelectModule, declarations: [ZekSelectMultiple], imports: [CommonModule,
|
|
10
|
-
FormsModule], exports: [ZekSelectMultiple] });
|
|
11
|
-
ZekSelectModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: ZekSelectModule, imports: [CommonModule,
|
|
12
|
-
FormsModule] });
|
|
13
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: ZekSelectModule, decorators: [{
|
|
14
|
-
type: NgModule,
|
|
15
|
-
args: [{
|
|
16
|
-
imports: [
|
|
17
|
-
CommonModule,
|
|
18
|
-
FormsModule
|
|
19
|
-
],
|
|
20
|
-
declarations: [
|
|
21
|
-
ZekSelectMultiple
|
|
22
|
-
],
|
|
23
|
-
exports: [
|
|
24
|
-
ZekSelectMultiple
|
|
25
|
-
],
|
|
26
|
-
}]
|
|
27
|
-
}] });
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvemVrL3NyYy9saWIvbW9kdWxlcy9zZWxlY3QvbW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxVQUFVLENBQUM7O0FBZTdDLE1BQU0sT0FBTyxlQUFlOzs0R0FBZixlQUFlOzZHQUFmLGVBQWUsaUJBUHhCLGlCQUFpQixhQUpqQixZQUFZO1FBQ1osV0FBVyxhQU1YLGlCQUFpQjs2R0FJUixlQUFlLFlBWHhCLFlBQVk7UUFDWixXQUFXOzJGQVVGLGVBQWU7a0JBYjNCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osV0FBVztxQkFDWjtvQkFDRCxZQUFZLEVBQUU7d0JBQ1osaUJBQWlCO3FCQUNsQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsaUJBQWlCO3FCQUNsQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbIiAgXHJcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBaZWtTZWxlY3RNdWx0aXBsZSB9IGZyb20gJy4vc2VsZWN0JztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGVcclxuICBdLFxyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgWmVrU2VsZWN0TXVsdGlwbGVcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIFpla1NlbGVjdE11bHRpcGxlXHJcbiAgXSxcclxufSlcclxuXHJcbmV4cG9ydCBjbGFzcyBaZWtTZWxlY3RNb2R1bGUge1xyXG59Il19
|
|
@@ -1,198 +0,0 @@
|
|
|
1
|
-
import { Component, forwardRef, Input } from '@angular/core';
|
|
2
|
-
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
|
-
import { CoreUiComponent } from '../../components';
|
|
4
|
-
import { ArrayHelper, Convert } from '../../utils';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "@angular/common";
|
|
7
|
-
let uniqueId = 0;
|
|
8
|
-
const ZEK_SELECT_MULTIPLE_CONTROL_VALUE_ACCESSOR = {
|
|
9
|
-
provide: NG_VALUE_ACCESSOR,
|
|
10
|
-
useExisting: forwardRef(() => ZekSelectMultiple),
|
|
11
|
-
multi: true,
|
|
12
|
-
};
|
|
13
|
-
export class ZekSelectMultiple extends CoreUiComponent {
|
|
14
|
-
constructor(renderer, elementRef) {
|
|
15
|
-
super(renderer, elementRef);
|
|
16
|
-
this._uniqueId = `zek-select-${++uniqueId}`;
|
|
17
|
-
/** The unique ID for the radio button. */
|
|
18
|
-
this.id = this._uniqueId;
|
|
19
|
-
this.css = 'primary';
|
|
20
|
-
this._placeholder = '';
|
|
21
|
-
this._label = '';
|
|
22
|
-
this._multiple = true;
|
|
23
|
-
this._selected = [];
|
|
24
|
-
this._data = [];
|
|
25
|
-
this.normalized = [];
|
|
26
|
-
this._text = '';
|
|
27
|
-
}
|
|
28
|
-
get placeholder() {
|
|
29
|
-
return this._placeholder;
|
|
30
|
-
}
|
|
31
|
-
set placeholder(value) {
|
|
32
|
-
if (value)
|
|
33
|
-
this._placeholder = value;
|
|
34
|
-
else
|
|
35
|
-
this._placeholder = '';
|
|
36
|
-
}
|
|
37
|
-
get label() {
|
|
38
|
-
return this._label;
|
|
39
|
-
}
|
|
40
|
-
set label(value) {
|
|
41
|
-
if (value)
|
|
42
|
-
this._label = value;
|
|
43
|
-
else
|
|
44
|
-
this._label = '';
|
|
45
|
-
}
|
|
46
|
-
get multiple() {
|
|
47
|
-
return this._multiple;
|
|
48
|
-
}
|
|
49
|
-
set multiple(value) {
|
|
50
|
-
this._multiple = Convert.toBooleanProperty(value);
|
|
51
|
-
}
|
|
52
|
-
get data() {
|
|
53
|
-
return this._data;
|
|
54
|
-
}
|
|
55
|
-
set data(value) {
|
|
56
|
-
if (this._data !== value) {
|
|
57
|
-
this._data = value;
|
|
58
|
-
this.onDataChanged();
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
onDataChanged() {
|
|
62
|
-
this._setSelectionByValue(this._value);
|
|
63
|
-
if (this.isInitialized) {
|
|
64
|
-
this._normalizeData();
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
onValueChanged() {
|
|
68
|
-
if (Array.isArray(this._data)) {
|
|
69
|
-
this._setSelectionByValue(this._value);
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
init() {
|
|
73
|
-
this._normalizeData();
|
|
74
|
-
}
|
|
75
|
-
_normalizeData() {
|
|
76
|
-
this.normalized = [];
|
|
77
|
-
if (Array.isArray(this._data)) {
|
|
78
|
-
if (this.valueField && this.textField) {
|
|
79
|
-
for (const item of this._data) {
|
|
80
|
-
this.normalized.push({ key: item[this.valueField], value: item[this.textField], checked: this._selected.includes(item), item: item });
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
else {
|
|
84
|
-
for (const item of this._data) {
|
|
85
|
-
this.normalized.push({ key: item, value: item, checked: this._selected.includes(item), item });
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
/**
|
|
91
|
-
* Sets the selected option based on a value. If no option can be
|
|
92
|
-
* found with the designated value, the select trigger is cleared.
|
|
93
|
-
*/
|
|
94
|
-
_setSelectionByValue(value) {
|
|
95
|
-
this._selected = [];
|
|
96
|
-
if (this.multiple && value) {
|
|
97
|
-
if (!Array.isArray(value)) {
|
|
98
|
-
throw new Error("value is not array");
|
|
99
|
-
}
|
|
100
|
-
if (Array.isArray(this._data)) {
|
|
101
|
-
let notUnique = [];
|
|
102
|
-
if (this.valueField) {
|
|
103
|
-
for (const currentValue of value) {
|
|
104
|
-
let items = ArrayHelper.filterByKey(currentValue, this.valueField, this._data);
|
|
105
|
-
notUnique = notUnique.concat(items);
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
else {
|
|
109
|
-
for (const currentValue of value) {
|
|
110
|
-
let items = this._data.filter(x => x === currentValue);
|
|
111
|
-
notUnique = notUnique.concat(items);
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
this._selected = ArrayHelper.distinct(notUnique);
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
else {
|
|
118
|
-
if (Array.isArray(this._data)) {
|
|
119
|
-
if (this.valueField) {
|
|
120
|
-
this._selected = ArrayHelper.filterByKey(value, this.valueField, this._data);
|
|
121
|
-
}
|
|
122
|
-
else {
|
|
123
|
-
this._selected = this._data.filter(x => x === value);
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
for (const norm of this.normalized) {
|
|
128
|
-
norm.checked = this._selected.includes(norm.item);
|
|
129
|
-
}
|
|
130
|
-
this._initText();
|
|
131
|
-
}
|
|
132
|
-
toggleChecked(v) {
|
|
133
|
-
if (v && !this.disabled && !this.readonly) {
|
|
134
|
-
if (!v.checked) {
|
|
135
|
-
v.checked = true;
|
|
136
|
-
if (this.multiple) {
|
|
137
|
-
let tmp = [];
|
|
138
|
-
for (const item of this.normalized) {
|
|
139
|
-
if (item.checked) {
|
|
140
|
-
tmp.push(item.key);
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
this.setNgModel(tmp);
|
|
144
|
-
// this.value = tmp;
|
|
145
|
-
}
|
|
146
|
-
else {
|
|
147
|
-
//this.value = v.key;
|
|
148
|
-
this.setNgModel(v.key);
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
else {
|
|
152
|
-
v.checked = false;
|
|
153
|
-
if (this.multiple) {
|
|
154
|
-
if (Array.isArray(this._value)) {
|
|
155
|
-
this.setNgModel(this._value.filter(x => x !== v.key));
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
else {
|
|
159
|
-
this.setNgModel(null);
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
_initText() {
|
|
165
|
-
let field = this.checkedTextField || this.textField || '';
|
|
166
|
-
if (field) {
|
|
167
|
-
this._text = this._selected.filter(x => x !== undefined && x !== null).map(x => x[field]).join(', ');
|
|
168
|
-
}
|
|
169
|
-
else {
|
|
170
|
-
this._text = this._selected.join(', ');
|
|
171
|
-
}
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
ZekSelectMultiple.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: ZekSelectMultiple, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
175
|
-
ZekSelectMultiple.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: ZekSelectMultiple, selector: "zek-select,[zek-select]", inputs: { id: "id", valueField: "valueField", textField: "textField", checkedTextField: "checkedTextField", css: "css", placeholder: "placeholder", label: "label", multiple: "multiple", data: "data" }, providers: [ZEK_SELECT_MULTIPLE_CONTROL_VALUE_ACCESSOR], usesInheritance: true, ngImport: i0, template: "<div class=\"dropdown\" id=\"dropdown-{{id}}\">\r\n <button class=\"btn btn-{{css}} dropdown-toggle\" type=\"button\" data-bs-toggle=\"dropdown\" aria-expanded=\"false\">\r\n {{label}} <ng-container *ngIf=\"!_text\">{{placeholder}}</ng-container> {{_text}}\r\n </button>\r\n <ul class=\"dropdown-menu\">\r\n <ng-container *ngIf=\"normalized\">\r\n <li><a class=\"dropdown-item\" href=\"javascript:void(0)\" *ngFor=\"let item of normalized\" (click)=\"toggleChecked(item)\">\r\n <span *ngIf=\"item.checked\"><i class=\"fa-regular fa-square-check\"></i></span>\r\n <span *ngIf=\"!item.checked\"><i class=\"fa-regular fa-square\"></i></span>\r\n {{item.value}}\r\n </a></li>\r\n </ng-container>\r\n </ul>\r\n</div>", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
176
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: ZekSelectMultiple, decorators: [{
|
|
177
|
-
type: Component,
|
|
178
|
-
args: [{ selector: 'zek-select,[zek-select]', providers: [ZEK_SELECT_MULTIPLE_CONTROL_VALUE_ACCESSOR], template: "<div class=\"dropdown\" id=\"dropdown-{{id}}\">\r\n <button class=\"btn btn-{{css}} dropdown-toggle\" type=\"button\" data-bs-toggle=\"dropdown\" aria-expanded=\"false\">\r\n {{label}} <ng-container *ngIf=\"!_text\">{{placeholder}}</ng-container> {{_text}}\r\n </button>\r\n <ul class=\"dropdown-menu\">\r\n <ng-container *ngIf=\"normalized\">\r\n <li><a class=\"dropdown-item\" href=\"javascript:void(0)\" *ngFor=\"let item of normalized\" (click)=\"toggleChecked(item)\">\r\n <span *ngIf=\"item.checked\"><i class=\"fa-regular fa-square-check\"></i></span>\r\n <span *ngIf=\"!item.checked\"><i class=\"fa-regular fa-square\"></i></span>\r\n {{item.value}}\r\n </a></li>\r\n </ng-container>\r\n </ul>\r\n</div>" }]
|
|
179
|
-
}], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }]; }, propDecorators: { id: [{
|
|
180
|
-
type: Input
|
|
181
|
-
}], valueField: [{
|
|
182
|
-
type: Input
|
|
183
|
-
}], textField: [{
|
|
184
|
-
type: Input
|
|
185
|
-
}], checkedTextField: [{
|
|
186
|
-
type: Input
|
|
187
|
-
}], css: [{
|
|
188
|
-
type: Input
|
|
189
|
-
}], placeholder: [{
|
|
190
|
-
type: Input
|
|
191
|
-
}], label: [{
|
|
192
|
-
type: Input
|
|
193
|
-
}], multiple: [{
|
|
194
|
-
type: Input
|
|
195
|
-
}], data: [{
|
|
196
|
-
type: Input
|
|
197
|
-
}] } });
|
|
198
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvemVrL3NyYy9saWIvbW9kdWxlcy9zZWxlY3Qvc2VsZWN0LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvemVrL3NyYy9saWIvbW9kdWxlcy9zZWxlY3Qvc2VsZWN0Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxVQUFVLEVBQUUsS0FBSyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBZ0IsZUFBZSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDakUsT0FBTyxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsTUFBTSxhQUFhLENBQUM7OztBQUluRCxJQUFJLFFBQVEsR0FBRyxDQUFDLENBQUM7QUFHakIsTUFBTSwwQ0FBMEMsR0FBUTtJQUNwRCxPQUFPLEVBQUUsaUJBQWlCO0lBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsaUJBQWlCLENBQUM7SUFDaEQsS0FBSyxFQUFFLElBQUk7Q0FDZCxDQUFDO0FBUUYsTUFBTSxPQUFPLGlCQUFrQixTQUFRLGVBQWU7SUFDbEQsWUFBWSxRQUFtQixFQUFFLFVBQXNCO1FBQ25ELEtBQUssQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFHeEIsY0FBUyxHQUFXLGNBQWMsRUFBRSxRQUFRLEVBQUUsQ0FBQztRQUN2RCwwQ0FBMEM7UUFDakMsT0FBRSxHQUFXLElBQUksQ0FBQyxTQUFTLENBQUM7UUFNNUIsUUFBRyxHQUE0RixTQUFTLENBQUM7UUFhMUcsaUJBQVksR0FBRyxFQUFFLENBQUM7UUFZbEIsV0FBTSxHQUFHLEVBQUUsQ0FBQztRQVdaLGNBQVMsR0FBRyxJQUFJLENBQUM7UUFHakIsY0FBUyxHQUFVLEVBQUUsQ0FB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LEVBQUU7c0JBQVYsS0FBSztnQkFFRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUVHLEdBQUc7c0JBQVgsS0FBSztnQkFJRixXQUFXO3NCQURkLEtBQUs7Z0JBYUYsS0FBSztzQkFEUixLQUFLO2dCQWVGLFFBQVE7c0JBRFgsS0FBSztnQkFhRixJQUFJO3NCQURQLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIGZvcndhcmRSZWYsIElucHV0LCBSZW5kZXJlcjIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEJvb2xlYW5JbnB1dCwgQ29yZVVpQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cyc7XHJcbmltcG9ydCB7IEFycmF5SGVscGVyLCBDb252ZXJ0IH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xyXG5pbXBvcnQgeyBLZXlQYWlyT3B0aW9uIH0gZnJvbSAnLi9tb2RlbCc7XHJcblxyXG5cclxubGV0IHVuaXF1ZUlkID0gMDtcclxuXHJcblxyXG5jb25zdCBaRUtfU0VMRUNUX01VTFRJUExFX0NPTlRST0xfVkFMVUVfQUNDRVNTT1I6IGFueSA9IHtcclxuICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gWmVrU2VsZWN0TXVsdGlwbGUpLFxyXG4gICAgbXVsdGk6IHRydWUsXHJcbn07XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnemVrLXNlbGVjdCxbemVrLXNlbGVjdF0nLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NlbGVjdC5odG1sJyxcclxuICAgIHByb3ZpZGVyczogW1pFS19TRUxFQ1RfTVVMVElQTEVfQ09OVFJPTF9WQUxVRV9BQ0NFU1NPUl0sXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgWmVrU2VsZWN0TXVsdGlwbGUgZXh0ZW5kcyBDb3JlVWlDb21wb25lbnQge1xyXG4gICAgY29uc3RydWN0b3IocmVuZGVyZXI6IFJlbmRlcmVyMiwgZWxlbWVudFJlZjogRWxlbWVudFJlZikge1xyXG4gICAgICAgIHN1cGVyKHJlbmRlcmVyLCBlbGVtZW50UmVmKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF91bmlxdWVJZDogc3RyaW5nID0gYHplay1zZWxlY3QtJHsrK3VuaXF1ZUlkfWA7XHJcbiAgICAvKiogVGhlIHVuaXF1ZSBJRCBmb3IgdGhlIHJhZGlvIGJ1dHRvbi4gKi9cclxuICAgIEBJbnB1dCgpIGlkOiBzdHJpbmcgPSB0aGlzLl91bmlxdWVJZDtcclxuXHJcbiAgICBASW5wdXQoKSB2YWx1ZUZpZWxkPzogc3RyaW5nIHwgbnVsbDtcclxuICAgIEBJbnB1dCgpIHRleHRGaWVsZD86IHN0cmluZyB8IG51bGw7XHJcbiAgICBASW5wdXQoKSBjaGVja2VkVGV4dEZpZWxkPzogc3RyaW5nIHwgbnVsbDtcclxuXHJcbiAgICBASW5wdXQoKSBjc3M6ICdwcmltYXJ5JyB8ICdzZWNvbmRhcnknIHwgJ3N1Y2Nlc3MnIHwgJ2RhbmdlciAnIHwgJ3dhcm5pbmcnIHwgJ2luZm8nIHwgJ2xpZ2h0JyB8ICdkYXJrJyA9ICdwcmltYXJ5JztcclxuXHJcblxyXG4gICAgQElucHV0KClcclxuICAgIGdldCBwbGFjZWhvbGRlcigpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9wbGFjZWhvbGRlcjtcclxuICAgIH1cclxuICAgIHNldCBwbGFjZWhvbGRlcih2YWx1ZTogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCkge1xyXG4gICAgICAgIGlmICh2YWx1ZSlcclxuICAgICAgICAgICAgdGhpcy5fcGxhY2Vob2xkZXIgPSB2YWx1ZTtcclxuICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgIHRoaXMuX3BsYWNlaG9sZGVyID0gJyc7XHJcbiAgICB9XHJcbiAgICBwcml2YXRlIF9wbGFjZWhvbGRlciA9ICcnO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgbGFiZWwoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fbGFiZWw7XHJcbiAgICB9XHJcbiAgICBzZXQgbGFiZWwodmFsdWU6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQpIHtcclxuICAgICAgICBpZiAodmFsdWUpXHJcbiAgICAgICAgICAgIHRoaXMuX2xhYmVsID0gdmFsdWU7XHJcbiAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICB0aGlzLl9sYWJlbCA9ICcnO1xyXG4gICAgfVxyXG4gICAgcHJpdmF0ZSBfbGFiZWwgPSAnJztcclxuXHJcblxyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgbXVsdGlwbGUoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX211bHRpcGxlO1xyXG4gICAgfVxyXG4gICAgc2V0IG11bHRpcGxlKHZhbHVlOiBCb29sZWFuSW5wdXQpIHtcclxuICAgICAgICB0aGlzLl9tdWx0aXBsZSA9IENvbnZlcnQudG9Cb29sZWFuUHJvcGVydHkodmFsdWUpO1xyXG4gICAgfVxyXG4gICAgcHJpdmF0ZSBfbXVsdGlwbGUgPSB0cnVlO1xyXG5cclxuXHJcbiAgICBwcml2YXRlIF9zZWxlY3RlZDogYW55W10gPSBbXTtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IGRhdGEoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RhdGE7XHJcbiAgICB9XHJcbiAgICBzZXQgZGF0YSh2YWx1ZTogYW55W10gfCBudWxsIHwgdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuX2RhdGEgIT09IHZhbHVlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2RhdGEgPSB2YWx1ZTtcclxuICAgICAgICAgICAgdGhpcy5vbkRhdGFDaGFuZ2VkKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgcHJpdmF0ZSBfZGF0YT86IGFueVtdIHwgbnVsbCA9IFtdO1xyXG4gICAgbm9ybWFsaXplZDogS2V5UGFpck9wdGlvbltdID0gW107XHJcbiAgICBvbkRhdGFDaGFuZ2VkKCkge1xyXG4gICAgICAgIHRoaXMuX3NldFNlbGVjdGlvbkJ5VmFsdWUodGhpcy5fdmFsdWUpO1xyXG4gICAgICAgIGlmICh0aGlzLmlzSW5pdGlhbGl6ZWQpIHtcclxuICAgICAgICAgICAgdGhpcy5fbm9ybWFsaXplRGF0YSgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBfdGV4dCA9ICcnO1xyXG5cclxuXHJcblxyXG4gICAgb3ZlcnJpZGUgb25WYWx1ZUNoYW5nZWQoKSB7XHJcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy5fZGF0YSkpIHtcclxuICAgICAgICAgICAgdGhpcy5fc2V0U2VsZWN0aW9uQnlWYWx1ZSh0aGlzLl92YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICBvdmVycmlkZSBpbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX25vcm1hbGl6ZURhdGEoKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgcHJpdmF0ZSBfbm9ybWFsaXplRGF0YSgpIHtcclxuICAgICAgICB0aGlzLm5vcm1hbGl6ZWQgPSBbXTtcclxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLl9kYXRhKSkge1xyXG4gICAgICAgICAgICBpZiAodGhpcy52YWx1ZUZpZWxkICYmIHRoaXMudGV4dEZpZWxkKSB7XHJcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgdGhpcy5fZGF0YSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubm9ybWFsaXplZC5wdXNoKHsga2V5OiBpdGVtW3RoaXMudmFsdWVGaWVsZF0sIHZhbHVlOiBpdGVtW3RoaXMudGV4dEZpZWxkXSwgY2hlY2tlZDogdGhpcy5fc2VsZWN0ZWQuaW5jbHVkZXMoaXRlbSksIGl0ZW06IGl0ZW0gfSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgdGhpcy5fZGF0YSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubm9ybWFsaXplZC5wdXNoKHsga2V5OiBpdGVtLCB2YWx1ZTogaXRlbSwgY2hlY2tlZDogdGhpcy5fc2VsZWN0ZWQuaW5jbHVkZXMoaXRlbSksIGl0ZW0gfSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTZXRzIHRoZSBzZWxlY3RlZCBvcHRpb24gYmFzZWQgb24gYSB2YWx1ZS4gSWYgbm8gb3B0aW9uIGNhbiBiZVxyXG4gICAgICogZm91bmQgd2l0aCB0aGUgZGVzaWduYXRlZCB2YWx1ZSwgdGhlIHNlbGVjdCB0cmlnZ2VyIGlzIGNsZWFyZWQuXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgX3NldFNlbGVjdGlvbkJ5VmFsdWUodmFsdWU6IGFueSB8IGFueVtdKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fc2VsZWN0ZWQgPSBbXTtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMubXVsdGlwbGUgJiYgdmFsdWUpIHtcclxuICAgICAgICAgICAgaWYgKCFBcnJheS5pc0FycmF5KHZhbHVlKSkge1xyXG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwidmFsdWUgaXMgbm90IGFycmF5XCIpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLl9kYXRhKSkge1xyXG4gICAgICAgICAgICAgICAgbGV0IG5vdFVuaXF1ZTogYW55W10gPSBbXTtcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLnZhbHVlRmllbGQpIHtcclxuICAgICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGN1cnJlbnRWYWx1ZSBvZiB2YWx1ZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgaXRlbXMgPSBBcnJheUhlbHBlci5maWx0ZXJCeUtleShjdXJyZW50VmFsdWUsIHRoaXMudmFsdWVGaWVsZCwgdGhpcy5fZGF0YSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG5vdFVuaXF1ZSA9IG5vdFVuaXF1ZS5jb25jYXQoaXRlbXMpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCBjdXJyZW50VmFsdWUgb2YgdmFsdWUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGl0ZW1zID0gdGhpcy5fZGF0YS5maWx0ZXIoeCA9PiB4ID09PSBjdXJyZW50VmFsdWUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBub3RVbmlxdWUgPSBub3RVbmlxdWUuY29uY2F0KGl0ZW1zKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgdGhpcy5fc2VsZWN0ZWQgPSBBcnJheUhlbHBlci5kaXN0aW5jdChub3RVbmlxdWUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy5fZGF0YSkpIHtcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLnZhbHVlRmllbGQpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9zZWxlY3RlZCA9IEFycmF5SGVscGVyLmZpbHRlckJ5S2V5KHZhbHVlLCB0aGlzLnZhbHVlRmllbGQsIHRoaXMuX2RhdGEpO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9zZWxlY3RlZCA9IHRoaXMuX2RhdGEuZmlsdGVyKHggPT4geCA9PT0gdmFsdWUpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBmb3IgKGNvbnN0IG5vcm0gb2YgdGhpcy5ub3JtYWxpemVkKSB7XHJcbiAgICAgICAgICAgIG5vcm0uY2hlY2tlZCA9IHRoaXMuX3NlbGVjdGVkLmluY2x1ZGVzKG5vcm0uaXRlbSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuX2luaXRUZXh0KCk7XHJcbiAgICB9XHJcblxyXG5cclxuXHJcblxyXG4gICAgdG9nZ2xlQ2hlY2tlZCh2OiBhbnkpIHtcclxuICAgICAgICBpZiAodiAmJiAhdGhpcy5kaXNhYmxlZCAmJiAhdGhpcy5yZWFkb25seSkge1xyXG4gICAgICAgICAgICBpZiAoIXYuY2hlY2tlZCkge1xyXG4gICAgICAgICAgICAgICAgdi5jaGVja2VkID0gdHJ1ZTtcclxuXHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5tdWx0aXBsZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCB0bXAgPSBbXTtcclxuICAgICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgdGhpcy5ub3JtYWxpemVkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpdGVtLmNoZWNrZWQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRtcC5wdXNoKGl0ZW0ua2V5KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXROZ01vZGVsKHRtcCk7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gdGhpcy52YWx1ZSA9IHRtcDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vdGhpcy52YWx1ZSA9IHYua2V5O1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0TmdNb2RlbCh2LmtleSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB2LmNoZWNrZWQgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLm11bHRpcGxlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy5fdmFsdWUpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0TmdNb2RlbCgodGhpcy5fdmFsdWUgYXMgYW55W10pLmZpbHRlcih4ID0+IHggIT09IHYua2V5KSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNldE5nTW9kZWwobnVsbCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICAgIHByaXZhdGUgX2luaXRUZXh0KCkge1xyXG4gICAgICAgIGxldCBmaWVsZCA9IHRoaXMuY2hlY2tlZFRleHRGaWVsZCB8fCB0aGlzLnRleHRGaWVsZCB8fCAnJztcclxuICAgICAgICBpZiAoZmllbGQpIHtcclxuICAgICAgICAgICAgdGhpcy5fdGV4dCA9IHRoaXMuX3NlbGVjdGVkLmZpbHRlcih4ID0+IHggIT09IHVuZGVmaW5lZCAmJiB4ICE9PSBudWxsKS5tYXAoeCA9PiB4W2ZpZWxkXSkuam9pbignLCAnKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLl90ZXh0ID0gdGhpcy5fc2VsZWN0ZWQuam9pbignLCAnKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImRyb3Bkb3duXCIgaWQ9XCJkcm9wZG93bi17e2lkfX1cIj5cclxuICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXt7Y3NzfX0gZHJvcGRvd24tdG9nZ2xlXCIgdHlwZT1cImJ1dHRvblwiIGRhdGEtYnMtdG9nZ2xlPVwiZHJvcGRvd25cIiBhcmlhLWV4cGFuZGVkPVwiZmFsc2VcIj5cclxuICAgICAgICB7e2xhYmVsfX0gPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFfdGV4dFwiPnt7cGxhY2Vob2xkZXJ9fTwvbmctY29udGFpbmVyPiB7e190ZXh0fX1cclxuICAgIDwvYnV0dG9uPlxyXG4gICAgPHVsIGNsYXNzPVwiZHJvcGRvd24tbWVudVwiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJub3JtYWxpemVkXCI+XHJcbiAgICAgICAgICAgIDxsaT48YSBjbGFzcz1cImRyb3Bkb3duLWl0ZW1cIiBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApXCIgKm5nRm9yPVwibGV0IGl0ZW0gb2Ygbm9ybWFsaXplZFwiIChjbGljayk9XCJ0b2dnbGVDaGVja2VkKGl0ZW0pXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJpdGVtLmNoZWNrZWRcIj48aSBjbGFzcz1cImZhLXJlZ3VsYXIgZmEtc3F1YXJlLWNoZWNrXCI+PC9pPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIiFpdGVtLmNoZWNrZWRcIj48aSBjbGFzcz1cImZhLXJlZ3VsYXIgZmEtc3F1YXJlXCI+PC9pPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICB7e2l0ZW0udmFsdWV9fVxyXG4gICAgICAgICAgICAgICAgPC9hPjwvbGk+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8L3VsPlxyXG48L2Rpdj4iXX0=
|