ngx-vector-components 4.130.0 → 4.131.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/CHANGELOG.md +1472 -1467
- package/README.md +35 -35
- package/assets/icons/chevron_down_icon.svg +3 -3
- package/assets/icons/home_menu_icon.svg +3 -3
- package/assets/icons/logout_icon.svg +9 -9
- package/assets/icons/menu_footer_icon.svg +3 -3
- package/assets/icons/menu_hamburguer_icon.svg +3 -3
- package/assets/icons/terms_of_use_icon.svg +9 -9
- package/assets/icons/vector_admin_icon.svg +4 -4
- package/assets/icons/vector_fintech_icon.svg +3 -3
- package/assets/icons/vector_logtech_icon.svg +6 -6
- package/assets/icons/vector_marketplace_icon.svg +3 -3
- package/assets/images/bunge_logo.svg +23 -23
- package/assets/images/cofco_logo.svg +117 -117
- package/assets/images/emote_bad.svg +6 -6
- package/assets/images/emote_cool.svg +5 -5
- package/assets/images/emote_nice.svg +5 -5
- package/assets/images/success_sign.svg +4 -4
- package/assets/images/vector-logo-horizontal-inverse-color.svg +13 -13
- package/assets/images/vector_logo_horizontal.svg +13 -13
- package/assets/images/warn_sign.svg +4 -4
- package/assets/styles/_fonts.scss +114 -114
- package/assets/styles/_mixins.scss +7 -7
- package/assets/styles/_primeng-custom-theme.scss +1105 -1101
- package/assets/styles/_spinner.scss +35 -35
- package/assets/styles/_styles.scss +115 -115
- package/assets/styles/_variables.scss +27 -27
- package/esm2020/lib/components/badge/badge.component.mjs +39 -39
- package/esm2020/lib/components/badge/badge.module.mjs +19 -19
- package/esm2020/lib/components/badge/index.mjs +3 -3
- package/esm2020/lib/components/breadcrumb/breadcrumb.component.mjs +66 -66
- package/esm2020/lib/components/breadcrumb/breadcrumb.module.mjs +18 -18
- package/esm2020/lib/components/breadcrumb/index.mjs +3 -3
- package/esm2020/lib/components/crud-base/crud-base.component.mjs +47 -47
- package/esm2020/lib/components/crud-base/index.mjs +2 -2
- package/esm2020/lib/components/crud-footer/crud-footer.component.mjs +40 -40
- package/esm2020/lib/components/crud-footer/crud-footer.module.mjs +20 -20
- package/esm2020/lib/components/crud-footer/index.mjs +3 -3
- package/esm2020/lib/components/crud-header/crud-header.component.mjs +30 -30
- package/esm2020/lib/components/crud-header/crud-header.module.mjs +19 -19
- package/esm2020/lib/components/crud-header/index.mjs +3 -3
- package/esm2020/lib/components/crud-history/crud-history.component.mjs +82 -82
- package/esm2020/lib/components/crud-history/crud-history.module.mjs +20 -20
- package/esm2020/lib/components/crud-history/index.mjs +3 -3
- package/esm2020/lib/components/fields/button/button.component.mjs +41 -41
- package/esm2020/lib/components/fields/button/index.mjs +2 -2
- package/esm2020/lib/components/fields/calendar-field/calendar-field.component.mjs +74 -74
- package/esm2020/lib/components/fields/calendar-field/index.mjs +2 -2
- package/esm2020/lib/components/fields/checkbox-field/checkbox-field.component.mjs +46 -46
- package/esm2020/lib/components/fields/checkbox-field/index.mjs +2 -2
- package/esm2020/lib/components/fields/currency-field/currency-field.component.mjs +98 -98
- package/esm2020/lib/components/fields/currency-field/index.mjs +2 -2
- package/esm2020/lib/components/fields/data-table/data-table.component.mjs +388 -388
- package/esm2020/lib/components/fields/data-table/index.mjs +2 -2
- package/esm2020/lib/components/fields/dropdown-field/dropdown-field.component.mjs +204 -204
- package/esm2020/lib/components/fields/dropdown-field/index.mjs +2 -2
- package/esm2020/lib/components/fields/field-error-message/field-error-message.component.mjs +30 -30
- package/esm2020/lib/components/fields/field-error-message/index.mjs +2 -2
- package/esm2020/lib/components/fields/fields.module.mjs +222 -222
- package/esm2020/lib/components/fields/filters/filters.component.mjs +209 -209
- package/esm2020/lib/components/fields/filters/index.mjs +2 -2
- package/esm2020/lib/components/fields/index.mjs +20 -20
- package/esm2020/lib/components/fields/input-number-field/index.mjs +2 -2
- package/esm2020/lib/components/fields/input-number-field/input-number-field.component.mjs +86 -86
- package/esm2020/lib/components/fields/input-switch-field/index.mjs +2 -2
- package/esm2020/lib/components/fields/input-switch-field/input-switch-field.component.mjs +16 -16
- package/esm2020/lib/components/fields/multiselect-field/index.mjs +2 -2
- package/esm2020/lib/components/fields/multiselect-field/multiselect-field.component.mjs +154 -154
- package/esm2020/lib/components/fields/percentage-field/index.mjs +2 -2
- package/esm2020/lib/components/fields/percentage-field/percentage-field.component.mjs +54 -54
- package/esm2020/lib/components/fields/radio-button-field/index.mjs +2 -2
- package/esm2020/lib/components/fields/radio-button-field/radio-button-field.component.mjs +48 -48
- package/esm2020/lib/components/fields/range-value/index.mjs +2 -2
- package/esm2020/lib/components/fields/range-value/range-value.component.mjs +72 -72
- package/esm2020/lib/components/fields/search-field/index.mjs +2 -2
- package/esm2020/lib/components/fields/search-field/search-field.component.mjs +33 -33
- package/esm2020/lib/components/fields/select-button-field/index.mjs +2 -2
- package/esm2020/lib/components/fields/select-button-field/select-button-field.component.mjs +20 -20
- package/esm2020/lib/components/fields/text-field/index.mjs +2 -2
- package/esm2020/lib/components/fields/text-field/text-field.component.mjs +238 -238
- package/esm2020/lib/components/fields/textarea-field/index.mjs +2 -2
- package/esm2020/lib/components/fields/textarea-field/textarea-field.component.mjs +81 -81
- package/esm2020/lib/components/generic-error-modal/generic-error-modal.component.mjs +36 -36
- package/esm2020/lib/components/generic-error-modal/generic-error-modal.module.mjs +20 -20
- package/esm2020/lib/components/generic-error-modal/index.mjs +3 -3
- package/esm2020/lib/components/generic-modal/generic-modal.component.mjs +66 -66
- package/esm2020/lib/components/generic-modal/generic-modal.module.mjs +20 -20
- package/esm2020/lib/components/generic-modal/index.mjs +3 -3
- package/esm2020/lib/components/index.mjs +15 -15
- package/esm2020/lib/components/menu/index.mjs +4 -4
- package/esm2020/lib/components/menu/menu.component.mjs +305 -305
- package/esm2020/lib/components/menu/menu.module.mjs +20 -20
- package/esm2020/lib/components/menu/sub-menus-list/sub-menus-list.component.mjs +42 -42
- package/esm2020/lib/components/panel/index.mjs +3 -3
- package/esm2020/lib/components/panel/panel.component.mjs +15 -15
- package/esm2020/lib/components/panel/panel.module.mjs +19 -19
- package/esm2020/lib/components/score/index.mjs +3 -3
- package/esm2020/lib/components/score/score.component.mjs +17 -17
- package/esm2020/lib/components/score/score.module.mjs +16 -16
- package/esm2020/lib/components/stepper/index.mjs +3 -3
- package/esm2020/lib/components/stepper/stepper.component.mjs +47 -47
- package/esm2020/lib/components/stepper/stepper.module.mjs +19 -19
- package/esm2020/lib/components/top-bar/index.mjs +3 -3
- package/esm2020/lib/components/top-bar/top-bar.component.mjs +147 -147
- package/esm2020/lib/components/top-bar/top-bar.module.mjs +20 -20
- package/esm2020/lib/guards/crud-list-has-items.guard.mjs +22 -22
- package/esm2020/lib/guards/get-token-by-guid.guard.mjs +54 -54
- package/esm2020/lib/guards/has-permission.guard.mjs +27 -27
- package/esm2020/lib/guards/index.mjs +6 -6
- package/esm2020/lib/guards/role.guard.mjs +24 -24
- package/esm2020/lib/guards/token-is-present.guard.mjs +26 -26
- package/esm2020/lib/interceptors/http-interceptor.mjs +185 -185
- package/esm2020/lib/interceptors/index.mjs +2 -2
- package/esm2020/lib/models/app-name.enum.mjs +10 -10
- package/esm2020/lib/models/boolean-type.enum.mjs +6 -6
- package/esm2020/lib/models/crud-history.model.mjs +3 -3
- package/esm2020/lib/models/crud-mode.enum.mjs +7 -7
- package/esm2020/lib/models/currency.enum.mjs +7 -7
- package/esm2020/lib/models/data-table.model.mjs +23 -23
- package/esm2020/lib/models/document-type.enum.mjs +6 -6
- package/esm2020/lib/models/filters.model.mjs +2 -2
- package/esm2020/lib/models/generic-modal.model.mjs +2 -2
- package/esm2020/lib/models/http-response.model.mjs +2 -2
- package/esm2020/lib/models/index.mjs +18 -18
- package/esm2020/lib/models/ip-info.enum.mjs +2 -2
- package/esm2020/lib/models/list-item.model.mjs +2 -2
- package/esm2020/lib/models/locale.enum.mjs +7 -7
- package/esm2020/lib/models/menu-item.model.mjs +2 -2
- package/esm2020/lib/models/message-status.enum.mjs +8 -8
- package/esm2020/lib/models/profile.model.mjs +338 -338
- package/esm2020/lib/models/role.enum.mjs +5 -5
- package/esm2020/lib/models/status.enum.mjs +8 -8
- package/esm2020/lib/models/topbar.model.mjs +2 -2
- package/esm2020/lib/models/vector-app.model.mjs +2 -2
- package/esm2020/lib/models/vector-notification.model.mjs +2 -2
- package/esm2020/lib/models/view.enum.mjs +8 -8
- package/esm2020/lib/pipes/currency-brl.pipe.mjs +18 -18
- package/esm2020/lib/pipes/format-document.pipe.mjs +17 -17
- package/esm2020/lib/pipes/index.mjs +9 -9
- package/esm2020/lib/pipes/mask.pipe.mjs +21 -21
- package/esm2020/lib/pipes/not-hidden.pipe.mjs +16 -16
- package/esm2020/lib/pipes/only-active.pipe.mjs +16 -16
- package/esm2020/lib/pipes/pipes.module.mjs +50 -50
- package/esm2020/lib/pipes/remove-last-child.pipe.mjs +18 -18
- package/esm2020/lib/pipes/unread-notifications.pipe.mjs +15 -15
- package/esm2020/lib/resolvers/get-selected-crud-item.resolver.mjs +28 -28
- package/esm2020/lib/resolvers/index.mjs +2 -2
- package/esm2020/lib/services/auth.service.mjs +77 -77
- package/esm2020/lib/services/base-dropdown.mjs +2 -2
- package/esm2020/lib/services/crud-base.service.mjs +14 -14
- package/esm2020/lib/services/enum.service.mjs +43 -43
- package/esm2020/lib/services/error-message.service.mjs +16 -16
- package/esm2020/lib/services/geolocation.service.mjs +23 -23
- package/esm2020/lib/services/index.mjs +13 -13
- package/esm2020/lib/services/loading.service.mjs +15 -15
- package/esm2020/lib/services/menu.service.mjs +152 -152
- package/esm2020/lib/services/modal.service.mjs +15 -15
- package/esm2020/lib/services/notifications.service.mjs +64 -64
- package/esm2020/lib/services/profile.service.mjs +112 -112
- package/esm2020/lib/services/storage.service.mjs +108 -108
- package/esm2020/lib/shared/shared.module.mjs +19 -19
- package/esm2020/lib/utils/cpf-cnpj-validator.util.mjs +116 -116
- package/esm2020/lib/utils/file.util.mjs +15 -15
- package/esm2020/lib/utils/index.mjs +8 -8
- package/esm2020/lib/utils/mask.util.mjs +76 -76
- package/esm2020/lib/utils/object.util.mjs +27 -27
- package/esm2020/lib/utils/string.util.mjs +30 -30
- package/esm2020/lib/utils/validation.util.mjs +234 -234
- package/esm2020/lib/utils/window.util.mjs +9 -9
- package/esm2020/ngx-vector-components.mjs +4 -4
- package/esm2020/public-api.mjs +9 -9
- package/fesm2015/ngx-vector-components.mjs +4866 -4866
- package/fesm2015/ngx-vector-components.mjs.map +1 -1
- package/fesm2020/ngx-vector-components.mjs +4842 -4842
- package/fesm2020/ngx-vector-components.mjs.map +1 -1
- package/lib/components/badge/badge.component.d.ts +15 -15
- package/lib/components/badge/badge.module.d.ts +9 -9
- package/lib/components/badge/index.d.ts +2 -2
- package/lib/components/breadcrumb/breadcrumb.component.d.ts +19 -19
- package/lib/components/breadcrumb/breadcrumb.module.d.ts +8 -8
- package/lib/components/breadcrumb/index.d.ts +2 -2
- package/lib/components/crud-base/crud-base.component.d.ts +20 -20
- package/lib/components/crud-base/index.d.ts +1 -1
- package/lib/components/crud-footer/crud-footer.component.d.ts +19 -19
- package/lib/components/crud-footer/crud-footer.module.d.ts +10 -10
- package/lib/components/crud-footer/index.d.ts +2 -2
- package/lib/components/crud-header/crud-header.component.d.ts +11 -11
- package/lib/components/crud-header/crud-header.module.d.ts +9 -9
- package/lib/components/crud-header/index.d.ts +2 -2
- package/lib/components/crud-history/crud-history.component.d.ts +12 -12
- package/lib/components/crud-history/crud-history.module.d.ts +10 -10
- package/lib/components/crud-history/index.d.ts +2 -2
- package/lib/components/fields/button/button.component.d.ts +17 -17
- package/lib/components/fields/button/index.d.ts +1 -1
- package/lib/components/fields/calendar-field/calendar-field.component.d.ts +23 -23
- package/lib/components/fields/calendar-field/index.d.ts +1 -1
- package/lib/components/fields/checkbox-field/checkbox-field.component.d.ts +19 -19
- package/lib/components/fields/checkbox-field/index.d.ts +1 -1
- package/lib/components/fields/currency-field/currency-field.component.d.ts +32 -32
- package/lib/components/fields/currency-field/index.d.ts +1 -1
- package/lib/components/fields/data-table/data-table.component.d.ts +87 -87
- package/lib/components/fields/data-table/index.d.ts +1 -1
- package/lib/components/fields/dropdown-field/dropdown-field.component.d.ts +52 -52
- package/lib/components/fields/dropdown-field/index.d.ts +1 -1
- package/lib/components/fields/field-error-message/field-error-message.component.d.ts +10 -10
- package/lib/components/fields/field-error-message/index.d.ts +1 -1
- package/lib/components/fields/fields.module.d.ts +50 -50
- package/lib/components/fields/filters/filters.component.d.ts +65 -65
- package/lib/components/fields/filters/index.d.ts +1 -1
- package/lib/components/fields/index.d.ts +19 -19
- package/lib/components/fields/input-number-field/index.d.ts +1 -1
- package/lib/components/fields/input-number-field/input-number-field.component.d.ts +28 -28
- package/lib/components/fields/input-switch-field/index.d.ts +1 -1
- package/lib/components/fields/input-switch-field/input-switch-field.component.d.ts +8 -8
- package/lib/components/fields/multiselect-field/index.d.ts +1 -1
- package/lib/components/fields/multiselect-field/multiselect-field.component.d.ts +40 -40
- package/lib/components/fields/percentage-field/index.d.ts +1 -1
- package/lib/components/fields/percentage-field/percentage-field.component.d.ts +20 -20
- package/lib/components/fields/radio-button-field/index.d.ts +1 -1
- package/lib/components/fields/radio-button-field/radio-button-field.component.d.ts +25 -25
- package/lib/components/fields/range-value/index.d.ts +1 -1
- package/lib/components/fields/range-value/range-value.component.d.ts +18 -18
- package/lib/components/fields/search-field/index.d.ts +1 -1
- package/lib/components/fields/search-field/search-field.component.d.ts +14 -14
- package/lib/components/fields/select-button-field/index.d.ts +1 -1
- package/lib/components/fields/select-button-field/select-button-field.component.d.ts +9 -9
- package/lib/components/fields/text-field/index.d.ts +1 -1
- package/lib/components/fields/text-field/text-field.component.d.ts +56 -56
- package/lib/components/fields/textarea-field/index.d.ts +1 -1
- package/lib/components/fields/textarea-field/textarea-field.component.d.ts +22 -22
- package/lib/components/generic-error-modal/generic-error-modal.component.d.ts +15 -15
- package/lib/components/generic-error-modal/generic-error-modal.module.d.ts +10 -10
- package/lib/components/generic-error-modal/index.d.ts +2 -2
- package/lib/components/generic-modal/generic-modal.component.d.ts +24 -24
- package/lib/components/generic-modal/generic-modal.module.d.ts +10 -10
- package/lib/components/generic-modal/index.d.ts +2 -2
- package/lib/components/index.d.ts +14 -14
- package/lib/components/menu/index.d.ts +3 -3
- package/lib/components/menu/menu.component.d.ts +53 -53
- package/lib/components/menu/menu.module.d.ts +10 -10
- package/lib/components/menu/sub-menus-list/sub-menus-list.component.d.ts +14 -14
- package/lib/components/panel/index.d.ts +2 -2
- package/lib/components/panel/panel.component.d.ts +8 -8
- package/lib/components/panel/panel.module.d.ts +9 -9
- package/lib/components/score/index.d.ts +2 -2
- package/lib/components/score/score.component.d.ts +9 -9
- package/lib/components/score/score.module.d.ts +7 -7
- package/lib/components/stepper/index.d.ts +2 -2
- package/lib/components/stepper/stepper.component.d.ts +15 -15
- package/lib/components/stepper/stepper.module.d.ts +9 -9
- package/lib/components/top-bar/index.d.ts +2 -2
- package/lib/components/top-bar/top-bar.component.d.ts +49 -49
- package/lib/components/top-bar/top-bar.module.d.ts +10 -10
- package/lib/guards/crud-list-has-items.guard.d.ts +10 -10
- package/lib/guards/get-token-by-guid.guard.d.ts +15 -15
- package/lib/guards/has-permission.guard.d.ts +13 -13
- package/lib/guards/index.d.ts +5 -5
- package/lib/guards/role.guard.d.ts +11 -11
- package/lib/guards/token-is-present.guard.d.ts +11 -11
- package/lib/interceptors/http-interceptor.d.ts +31 -31
- package/lib/interceptors/index.d.ts +1 -1
- package/lib/models/app-name.enum.d.ts +8 -8
- package/lib/models/boolean-type.enum.d.ts +4 -4
- package/lib/models/crud-history.model.d.ts +13 -13
- package/lib/models/crud-mode.enum.d.ts +5 -5
- package/lib/models/currency.enum.d.ts +5 -5
- package/lib/models/data-table.model.d.ts +65 -65
- package/lib/models/document-type.enum.d.ts +4 -4
- package/lib/models/filters.model.d.ts +4 -4
- package/lib/models/generic-modal.model.d.ts +12 -12
- package/lib/models/http-response.model.d.ts +57 -57
- package/lib/models/index.d.ts +17 -17
- package/lib/models/ip-info.enum.d.ts +6 -6
- package/lib/models/list-item.model.d.ts +7 -7
- package/lib/models/locale.enum.d.ts +5 -5
- package/lib/models/menu-item.model.d.ts +16 -16
- package/lib/models/message-status.enum.d.ts +6 -6
- package/lib/models/profile.model.d.ts +358 -358
- package/lib/models/role.enum.d.ts +3 -3
- package/lib/models/status.enum.d.ts +6 -6
- package/lib/models/topbar.model.d.ts +5 -5
- package/lib/models/vector-app.model.d.ts +9 -9
- package/lib/models/vector-notification.model.d.ts +8 -8
- package/lib/models/view.enum.d.ts +6 -6
- package/lib/pipes/currency-brl.pipe.d.ts +7 -7
- package/lib/pipes/format-document.pipe.d.ts +7 -7
- package/lib/pipes/index.d.ts +8 -8
- package/lib/pipes/mask.pipe.d.ts +7 -7
- package/lib/pipes/not-hidden.pipe.d.ts +7 -7
- package/lib/pipes/only-active.pipe.d.ts +7 -7
- package/lib/pipes/pipes.module.d.ts +13 -13
- package/lib/pipes/remove-last-child.pipe.d.ts +7 -7
- package/lib/pipes/unread-notifications.pipe.d.ts +9 -9
- package/lib/resolvers/get-selected-crud-item.resolver.d.ts +10 -10
- package/lib/resolvers/index.d.ts +1 -1
- package/lib/services/auth.service.d.ts +24 -24
- package/lib/services/base-dropdown.d.ts +7 -7
- package/lib/services/crud-base.service.d.ts +7 -7
- package/lib/services/enum.service.d.ts +13 -13
- package/lib/services/error-message.service.d.ts +8 -8
- package/lib/services/geolocation.service.d.ts +13 -13
- package/lib/services/index.d.ts +12 -12
- package/lib/services/loading.service.d.ts +7 -7
- package/lib/services/menu.service.d.ts +35 -35
- package/lib/services/modal.service.d.ts +7 -7
- package/lib/services/notifications.service.d.ts +13 -13
- package/lib/services/profile.service.d.ts +27 -27
- package/lib/services/storage.service.d.ts +43 -43
- package/lib/shared/shared.module.d.ts +10 -10
- package/lib/utils/cpf-cnpj-validator.util.d.ts +5 -5
- package/lib/utils/file.util.d.ts +4 -4
- package/lib/utils/index.d.ts +7 -7
- package/lib/utils/mask.util.d.ts +21 -21
- package/lib/utils/object.util.d.ts +5 -5
- package/lib/utils/string.util.d.ts +6 -6
- package/lib/utils/validation.util.d.ts +17 -17
- package/lib/utils/window.util.d.ts +4 -4
- package/ngx-vector-components.d.ts +5 -5
- package/package.json +1 -1
- package/public-api.d.ts +8 -8
|
@@ -1,154 +1,154 @@
|
|
|
1
|
-
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
-
import { ObjectUtil } from '../../../utils';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "primeng/multiselect";
|
|
5
|
-
import * as i2 from "@angular/common";
|
|
6
|
-
import * as i3 from "@angular/forms";
|
|
7
|
-
export class MultiselectFieldComponent {
|
|
8
|
-
constructor(renderer) {
|
|
9
|
-
this.renderer = renderer;
|
|
10
|
-
this.isRequired = false;
|
|
11
|
-
this.label = '';
|
|
12
|
-
this.options = [];
|
|
13
|
-
this.filter = false;
|
|
14
|
-
this.showSelectAllOption = true;
|
|
15
|
-
this.display = 'comma';
|
|
16
|
-
this.paged = true;
|
|
17
|
-
this.minLengthToService = 0;
|
|
18
|
-
this.initialLoad = true;
|
|
19
|
-
this.filterVirtualScrool = false;
|
|
20
|
-
this.onChange = new EventEmitter();
|
|
21
|
-
this.onClosePanel = new EventEmitter();
|
|
22
|
-
this.currentSearchQuery = '';
|
|
23
|
-
this.currentScrollPage = -1;
|
|
24
|
-
this.currentScrollIndex = 0;
|
|
25
|
-
this.unlistenAutocompleteVirtualScroll = () => { };
|
|
26
|
-
this._pagedSugestion = [];
|
|
27
|
-
}
|
|
28
|
-
set pagedSugestion(_pagedSugestion) {
|
|
29
|
-
this._pagedSugestion = _pagedSugestion;
|
|
30
|
-
this.options = this.pagedSugestion || [];
|
|
31
|
-
}
|
|
32
|
-
get placeholder() {
|
|
33
|
-
if (!this.label) {
|
|
34
|
-
return '';
|
|
35
|
-
}
|
|
36
|
-
return `${this.label}${this.isRequired ? '*' : ''}`;
|
|
37
|
-
}
|
|
38
|
-
get pagedSugestion() {
|
|
39
|
-
return this._pagedSugestion;
|
|
40
|
-
}
|
|
41
|
-
ngOnInit() {
|
|
42
|
-
if (this.initialLoad && this.filterVirtualScrool) {
|
|
43
|
-
this.search(null, true);
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
fieldErrorLabel() {
|
|
47
|
-
if (this.control && this.control.invalid && this.control.touched) {
|
|
48
|
-
if (this.control.hasError('required')) {
|
|
49
|
-
return 'Campo obrigatório';
|
|
50
|
-
}
|
|
51
|
-
return typeof this.control.errors['invalid'] === 'string' ? this.control.errors['invalid'] : 'Campo inválido';
|
|
52
|
-
}
|
|
53
|
-
return '';
|
|
54
|
-
}
|
|
55
|
-
onOpenAutocompletePanel() {
|
|
56
|
-
this.search();
|
|
57
|
-
const multiSelectPanel = document.querySelector('.p-multiselect-items-wrapper');
|
|
58
|
-
if (multiSelectPanel && this.paged && this.currentSearchQuery.length >= this.minLengthToService) {
|
|
59
|
-
this.unlistenAutocompleteVirtualScroll = this.renderer.listen(multiSelectPanel, 'scroll', (event) => {
|
|
60
|
-
const eventHeight = event.target.scrollHeight - event.target.clientHeight - 150;
|
|
61
|
-
if (Math.round(event.target.scrollTop) >= eventHeight) {
|
|
62
|
-
this.pageResults();
|
|
63
|
-
}
|
|
64
|
-
});
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
onHideAutocompletePanel() {
|
|
68
|
-
if (this.paged) {
|
|
69
|
-
this.unlistenAutocompleteVirtualScroll();
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
search($event, forceSearch = false) {
|
|
73
|
-
this.currentSearchQuery = $event?.filter.toUpperCase() || '';
|
|
74
|
-
this.currentScrollPage = -1;
|
|
75
|
-
this.currentScrollIndex = 0;
|
|
76
|
-
if (forceSearch || this.currentSearchQuery.length >= this.minLengthToService) {
|
|
77
|
-
this.pageResults();
|
|
78
|
-
}
|
|
79
|
-
else {
|
|
80
|
-
this.options = [];
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
pageResults() {
|
|
84
|
-
const filteredOptions = this.filterListByQuery(this.pagedSugestion, this.currentSearchQuery.toUpperCase());
|
|
85
|
-
this.options = filteredOptions.slice(0, this.currentScrollIndex + 20);
|
|
86
|
-
if (this.pagedSugestion?.length && this.pagedSugestion.length > 20) {
|
|
87
|
-
this.currentScrollIndex = this.currentScrollIndex + 20;
|
|
88
|
-
}
|
|
89
|
-
this.setControlValueFromSuggestions();
|
|
90
|
-
}
|
|
91
|
-
filterListByQuery(list = [], query) {
|
|
92
|
-
return list.filter((opt) => String(opt.code).toUpperCase().includes(query) || opt.name.toUpperCase().includes(query));
|
|
93
|
-
}
|
|
94
|
-
setControlValueFromSuggestions() {
|
|
95
|
-
const code = (ObjectUtil.isValid(this.control.value?.code) && `${this.control.value?.code}`) || `${this.control.value}`;
|
|
96
|
-
if (this.control.value && this.options?.length) {
|
|
97
|
-
let itemsArray = this.options;
|
|
98
|
-
if (this.options?.length) {
|
|
99
|
-
itemsArray = this.options;
|
|
100
|
-
}
|
|
101
|
-
const itemFromSuggestions = itemsArray.find((opt) => `${opt.code}`.toUpperCase() === code.toUpperCase());
|
|
102
|
-
if (itemFromSuggestions) {
|
|
103
|
-
this.control.setValue(itemFromSuggestions, { emitEvent: false });
|
|
104
|
-
}
|
|
105
|
-
else {
|
|
106
|
-
this.service?.getById(+code).subscribe((response) => {
|
|
107
|
-
this.control.setValue(response, { emitEvent: false });
|
|
108
|
-
});
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
else if (this.control.value && !this.options?.length) {
|
|
112
|
-
this.service?.getById(+code).subscribe((response) => {
|
|
113
|
-
this.control.setValue(response, { emitEvent: false });
|
|
114
|
-
});
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
MultiselectFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MultiselectFieldComponent, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
|
|
119
|
-
MultiselectFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: MultiselectFieldComponent, selector: "vector-multiselect-field", inputs: { pagedSugestion: "pagedSugestion", isRequired: "isRequired", control: "control", label: "label", options: "options", filter: "filter", showSelectAllOption: "showSelectAllOption", display: "display", paged: "paged", minLengthToService: "minLengthToService", initialLoad: "initialLoad", service: "service", filterVirtualScrool: "filterVirtualScrool" }, outputs: { onChange: "onChange", onClosePanel: "onClosePanel" }, ngImport: i0, template: "<div class=\"multiselect-field-input-container\">\
|
|
120
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MultiselectFieldComponent, decorators: [{
|
|
121
|
-
type: Component,
|
|
122
|
-
args: [{ selector: 'vector-multiselect-field', template: "<div class=\"multiselect-field-input-container\">\
|
|
123
|
-
}], ctorParameters: function () { return [{ type: i0.Renderer2 }]; }, propDecorators: { pagedSugestion: [{
|
|
124
|
-
type: Input
|
|
125
|
-
}], isRequired: [{
|
|
126
|
-
type: Input
|
|
127
|
-
}], control: [{
|
|
128
|
-
type: Input
|
|
129
|
-
}], label: [{
|
|
130
|
-
type: Input
|
|
131
|
-
}], options: [{
|
|
132
|
-
type: Input
|
|
133
|
-
}], filter: [{
|
|
134
|
-
type: Input
|
|
135
|
-
}], showSelectAllOption: [{
|
|
136
|
-
type: Input
|
|
137
|
-
}], display: [{
|
|
138
|
-
type: Input
|
|
139
|
-
}], paged: [{
|
|
140
|
-
type: Input
|
|
141
|
-
}], minLengthToService: [{
|
|
142
|
-
type: Input
|
|
143
|
-
}], initialLoad: [{
|
|
144
|
-
type: Input
|
|
145
|
-
}], service: [{
|
|
146
|
-
type: Input
|
|
147
|
-
}], filterVirtualScrool: [{
|
|
148
|
-
type: Input
|
|
149
|
-
}], onChange: [{
|
|
150
|
-
type: Output
|
|
151
|
-
}], onClosePanel: [{
|
|
152
|
-
type: Output
|
|
153
|
-
}] } });
|
|
154
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGlzZWxlY3QtZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZlY3Rvci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9maWVsZHMvbXVsdGlzZWxlY3QtZmllbGQvbXVsdGlzZWxlY3QtZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZlY3Rvci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9maWVsZHMvbXVsdGlzZWxlY3QtZmllbGQvbXVsdGlzZWxlY3QtZmllbGQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUdsRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7O0FBTzVDLE1BQU0sT0FBTyx5QkFBeUI7SUFzRHBDLFlBQW9CLFFBQW1CO1FBQW5CLGFBQVEsR0FBUixRQUFRLENBQVc7UUEvQ2hDLGVBQVUsR0FBWSxLQUFLLENBQUM7UUFJNUIsVUFBSyxHQUFXLEVBQUUsQ0FBQztRQUVuQixZQUFPLEdBQWUsRUFBRSxDQUFDO1FBRXpCLFdBQU0sR0FBRyxLQUFLLENBQUM7UUFFZix3QkFBbUIsR0FBWSxJQUFJLENBQUM7UUFFcEMsWUFBTyxHQUFXLE9BQU8sQ0FBQztRQUUxQixVQUFLLEdBQUcsSUFBSSxDQUFDO1FBRWIsdUJBQWtCLEdBQVcsQ0FBQyxDQUFDO1FBRS9CLGdCQUFXLEdBQUcsSUFBSSxDQUFDO1FBSW5CLHdCQUFtQixHQUFHLEtBQUssQ0FBQztRQUU1QixhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUU5QixpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFakMsdUJBQWtC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WUFDdEQsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtnQkFDbEQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7WUFDeEQsQ0FBQyxDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7O3NIQS9JVSx5QkFBeUI7MEdBQXpCLHlCQUF5Qix5ZUNWdEMsOHJEQWlEQTsyRkR2Q2EseUJBQXlCO2tCQUxyQyxTQUFTOytCQUNFLDBCQUEwQjtnR0FNaEMsY0FBYztzQkFEakIsS0FBSztnQkFNQyxVQUFVO3NCQURoQixLQUFLO2dCQUdDLE9BQU87c0JBRGIsS0FBSztnQkFHQyxLQUFLO3NCQURYLEtBQUs7Z0JBR0MsT0FBTztzQkFEYixLQUFLO2dCQUdDLE1BQU07c0JBRFosS0FBSztnQkFHQyxtQkFBbUI7c0JBRHpCLEtBQUs7Z0JBR0MsT0FBTztzQkFEYixLQUFLO2dCQUdDLEtBQUs7c0JBRFgsS0FBSztnQkFHQyxrQkFBa0I7c0JBRHhCLEtBQUs7Z0JBR0MsV0FBVztzQkFEakIsS0FBSztnQkFHQyxPQUFPO3NCQURiLEtBQUs7Z0JBR0MsbUJBQW1CO3NCQUR6QixLQUFLO2dCQUdDLFFBQVE7c0JBRGQsTUFBTTtnQkFHQSxZQUFZO3NCQURsQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsIFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBMaXN0SXRlbSB9IGZyb20gJy4uLy4uLy4uL21vZGVscyc7XHJcbmltcG9ydCB7IEJhc2VEcm9wZG93biB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzJztcclxuaW1wb3J0IHsgT2JqZWN0VXRpbCB9IGZyb20gJy4uLy4uLy4uL3V0aWxzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAndmVjdG9yLW11bHRpc2VsZWN0LWZpZWxkJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vbXVsdGlzZWxlY3QtZmllbGQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL211bHRpc2VsZWN0LWZpZWxkLmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNdWx0aXNlbGVjdEZpZWxkQ29tcG9uZW50IHtcclxuICBASW5wdXQoKVxyXG4gIHNldCBwYWdlZFN1Z2VzdGlvbihfcGFnZWRTdWdlc3Rpb246IExpc3RJdGVtW10pIHtcclxuICAgIHRoaXMuX3BhZ2VkU3VnZXN0aW9uID0gX3BhZ2VkU3VnZXN0aW9uO1xyXG4gICAgdGhpcy5vcHRpb25zID0gdGhpcy5wYWdlZFN1Z2VzdGlvbiB8fCBbXTtcclxuICB9XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgaXNSZXF1aXJlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGNvbnRyb2w6IGFueTtcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBsYWJlbDogc3RyaW5nID0gJyc7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgb3B0aW9uczogTGlzdEl0ZW1bXSA9IFtdO1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGZpbHRlciA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNob3dTZWxlY3RBbGxPcHRpb246IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGRpc3BsYXk6IHN0cmluZyA9ICdjb21tYSc7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgcGFnZWQgPSB0cnVlO1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIG1pbkxlbmd0aFRvU2VydmljZTogbnVtYmVyID0gMDtcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBpbml0aWFsTG9hZCA9IHRydWU7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2VydmljZTogQmFzZURyb3Bkb3duIHwgdW5kZWZpbmVkO1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGZpbHRlclZpcnR1YWxTY3Jvb2wgPSBmYWxzZTtcclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgb25DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIG9uQ2xvc2VQYW5lbCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgcHJpdmF0ZSBjdXJyZW50U2VhcmNoUXVlcnkgPSAnJztcclxuICBwcml2YXRlIGN1cnJlbnRTY3JvbGxQYWdlID0gLTE7XHJcbiAgcHJpdmF0ZSBjdXJyZW50U2Nyb2xsSW5kZXggPSAwO1xyXG5cclxuICBwdWJsaWMgdW5saXN0ZW5BdXRvY29tcGxldGVWaXJ0dWFsU2Nyb2xsID0gKCkgPT4ge307XHJcblxyXG4gIGdldCBwbGFjZWhvbGRlcigpIHtcclxuICAgIGlmICghdGhpcy5sYWJlbCkge1xyXG4gICAgICByZXR1cm4gJyc7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYCR7dGhpcy5sYWJlbH0ke3RoaXMuaXNSZXF1aXJlZCA/ICcqJyA6ICcnfWA7XHJcbiAgfVxyXG5cclxuICBnZXQgcGFnZWRTdWdlc3Rpb24oKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fcGFnZWRTdWdlc3Rpb247XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9wYWdlZFN1Z2VzdGlvbjogTGlzdEl0ZW1bXSA9IFtdO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIpIHt9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuaW5pdGlhbExvYWQgJiYgdGhpcy5maWx0ZXJWaXJ0dWFsU2Nyb29sKSB7XHJcbiAgICAgIHRoaXMuc2VhcmNoKG51bGwsIHRydWUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGZpZWxkRXJyb3JMYWJlbCgpOiBzdHJpbmcge1xyXG4gICAgaWYgKHRoaXMuY29udHJvbCAmJiB0aGlzLmNvbnRyb2wuaW52YWxpZCAmJiB0aGlzLmNvbnRyb2wudG91Y2hlZCkge1xyXG4gICAgICBpZiAodGhpcy5jb250cm9sLmhhc0Vycm9yKCdyZXF1aXJlZCcpKSB7XHJcbiAgICAgICAgcmV0dXJuICdDYW1wbyBvYnJpZ2F0w7NyaW8nO1xyXG4gICAgICB9XHJcblxyXG4gICAgICByZXR1cm4gdHlwZW9mIHRoaXMuY29udHJvbC5lcnJvcnNbJ2ludmFsaWQnXSA9PT0gJ3N0cmluZycgPyB0aGlzLmNvbnRyb2wuZXJyb3JzWydpbnZhbGlkJ10gOiAnQ2FtcG8gaW52w6FsaWRvJztcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gJyc7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25PcGVuQXV0b2NvbXBsZXRlUGFuZWwoKTogdm9pZCB7XHJcbiAgICB0aGlzLnNlYXJjaCgpO1xyXG4gICAgY29uc3QgbXVsdGlTZWxlY3RQYW5lbCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5wLW11bHRpc2VsZWN0LWl0ZW1zLXdyYXBwZXInKTtcclxuXHJcbiAgICBpZiAobXVsdGlTZWxlY3RQYW5lbCAmJiB0aGlzLnBhZ2VkICYmIHRoaXMuY3VycmVudFNlYXJjaFF1ZXJ5Lmxlbmd0aCA+PSB0aGlzLm1pbkxlbmd0aFRvU2VydmljZSkge1xyXG4gICAgICB0aGlzLnVubGlzdGVuQXV0b2NvbXBsZXRlVmlydHVhbFNjcm9sbCA9IHRoaXMucmVuZGVyZXIubGlzdGVuKG11bHRpU2VsZWN0UGFuZWwsICdzY3JvbGwnLCAoZXZlbnQpID0+IHtcclxuICAgICAgICBjb25zdCBldmVudEhlaWdodCA9IGV2ZW50LnRhcmdldC5zY3JvbGxIZWlnaHQgLSBldmVudC50YXJnZXQuY2xpZW50SGVpZ2h0IC0gMTUwO1xyXG5cclxuICAgICAgICBpZiAoTWF0aC5yb3VuZChldmVudC50YXJnZXQuc2Nyb2xsVG9wKSA+PSBldmVudEhlaWdodCkge1xyXG4gICAgICAgICAgdGhpcy5wYWdlUmVzdWx0cygpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25IaWRlQXV0b2NvbXBsZXRlUGFuZWwoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5wYWdlZCkge1xyXG4gICAgICB0aGlzLnVubGlzdGVuQXV0b2NvbXBsZXRlVmlydHVhbFNjcm9sbCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIHNlYXJjaCgkZXZlbnQ/OiBhbnksIGZvcmNlU2VhcmNoID0gZmFsc2UpOiB2b2lkIHtcclxuICAgIHRoaXMuY3VycmVudFNlYXJjaFF1ZXJ5ID0gJGV2ZW50Py5maWx0ZXIudG9VcHBlckNhc2UoKSB8fCAnJztcclxuICAgIHRoaXMuY3VycmVudFNjcm9sbFBhZ2UgPSAtMTtcclxuICAgIHRoaXMuY3VycmVudFNjcm9sbEluZGV4ID0gMDtcclxuICAgIGlmIChmb3JjZVNlYXJjaCB8fCB0aGlzLmN1cnJlbnRTZWFyY2hRdWVyeS5sZW5ndGggPj0gdGhpcy5taW5MZW5ndGhUb1NlcnZpY2UpIHtcclxuICAgICAgdGhpcy5wYWdlUmVzdWx0cygpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5vcHRpb25zID0gW107XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHBhZ2VSZXN1bHRzKCk6IHZvaWQge1xyXG4gICAgY29uc3QgZmlsdGVyZWRPcHRpb25zID0gdGhpcy5maWx0ZXJMaXN0QnlRdWVyeSh0aGlzLnBhZ2VkU3VnZXN0aW9uLCB0aGlzLmN1cnJlbnRTZWFyY2hRdWVyeS50b1VwcGVyQ2FzZSgpKTtcclxuICAgIHRoaXMub3B0aW9ucyA9IGZpbHRlcmVkT3B0aW9ucy5zbGljZSgwLCB0aGlzLmN1cnJlbnRTY3JvbGxJbmRleCArIDIwKTtcclxuXHJcbiAgICBpZiAodGhpcy5wYWdlZFN1Z2VzdGlvbj8ubGVuZ3RoICYmIHRoaXMucGFnZWRTdWdlc3Rpb24ubGVuZ3RoID4gMjApIHtcclxuICAgICAgdGhpcy5jdXJyZW50U2Nyb2xsSW5kZXggPSB0aGlzLmN1cnJlbnRTY3JvbGxJbmRleCArIDIwO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuc2V0Q29udHJvbFZhbHVlRnJvbVN1Z2dlc3Rpb25zKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGZpbHRlckxpc3RCeVF1ZXJ5KGxpc3Q6IExpc3RJdGVtW10gPSBbXSwgcXVlcnk6IHN0cmluZyk6IExpc3RJdGVtW10ge1xyXG4gICAgcmV0dXJuIGxpc3QuZmlsdGVyKFxyXG4gICAgICAob3B0KSA9PiBTdHJpbmcob3B0LmNvZGUpLnRvVXBwZXJDYXNlKCkuaW5jbHVkZXMocXVlcnkpIHx8IG9wdC5uYW1lLnRvVXBwZXJDYXNlKCkuaW5jbHVkZXMocXVlcnkpXHJcbiAgICApO1xyXG4gIH1cclxuICBwcml2YXRlIHNldENvbnRyb2xWYWx1ZUZyb21TdWdnZXN0aW9ucygpIHtcclxuICAgIGNvbnN0IGNvZGUgPVxyXG4gICAgICAoT2JqZWN0VXRpbC5pc1ZhbGlkKHRoaXMuY29udHJvbC52YWx1ZT8uY29kZSkgJiYgYCR7dGhpcy5jb250cm9sLnZhbHVlPy5jb2RlfWApIHx8IGAke3RoaXMuY29udHJvbC52YWx1ZX1gO1xyXG4gICAgaWYgKHRoaXMuY29udHJvbC52YWx1ZSAmJiB0aGlzLm9wdGlvbnM/Lmxlbmd0aCkge1xyXG4gICAgICBsZXQgaXRlbXNBcnJheSA9IHRoaXMub3B0aW9ucztcclxuICAgICAgaWYgKHRoaXMub3B0aW9ucz8ubGVuZ3RoKSB7XHJcbiAgICAgICAgaXRlbXNBcnJheSA9IHRoaXMub3B0aW9ucztcclxuICAgICAgfVxyXG4gICAgICBjb25zdCBpdGVtRnJvbVN1Z2dlc3Rpb25zID0gaXRlbXNBcnJheS5maW5kKChvcHQpID0+IGAke29wdC5jb2RlfWAudG9VcHBlckNhc2UoKSA9PT0gY29kZS50b1VwcGVyQ2FzZSgpKTtcclxuICAgICAgaWYgKGl0ZW1Gcm9tU3VnZ2VzdGlvbnMpIHtcclxuICAgICAgICB0aGlzLmNvbnRyb2wuc2V0VmFsdWUoaXRlbUZyb21TdWdnZXN0aW9ucywgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuc2VydmljZT8uZ2V0QnlJZCgrY29kZSkuc3Vic2NyaWJlKChyZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5jb250cm9sLnNldFZhbHVlKHJlc3BvbnNlLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSBpZiAodGhpcy5jb250cm9sLnZhbHVlICYmICF0aGlzLm9wdGlvbnM/Lmxlbmd0aCkge1xyXG4gICAgICB0aGlzLnNlcnZpY2U/LmdldEJ5SWQoK2NvZGUpLnN1YnNjcmliZSgocmVzcG9uc2UpID0+IHtcclxuICAgICAgICB0aGlzLmNvbnRyb2wuc2V0VmFsdWUocmVzcG9uc2UsIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJtdWx0aXNlbGVjdC1maWVsZC1pbnB1dC1jb250YWluZXJcIj5cclxuICA8cC1tdWx0aVNlbGVjdFxyXG4gICAgKm5nSWY9XCIhZmlsdGVyVmlydHVhbFNjcm9vbFwiXHJcbiAgICAjbXVsdGlzZWxlY3RcclxuICAgIGFwcGVuZFRvPVwiYm9keVwiXHJcbiAgICBvcHRpb25MYWJlbD1cIm5hbWVcIlxyXG4gICAgb3B0aW9uVmFsdWU9XCJjb2RlXCJcclxuICAgIGRyb3Bkb3duSWNvbj1cImZhcyBmYS1zb3J0LWRvd25cIlxyXG4gICAgc2VsZWN0ZWRJdGVtc0xhYmVsPVwiU2VsZWNpb25hciB0b2Rvc1wiXHJcbiAgICBbcGFuZWxTdHlsZUNsYXNzXT1cImZpbHRlciA/ICdoYXMtZmlsdGVyJyA6ICcnXCJcclxuICAgIFtvcHRpb25zXT1cIm9wdGlvbnNcIlxyXG4gICAgW2Zvcm1Db250cm9sXT1cImNvbnRyb2xcIlxyXG4gICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcclxuICAgIFtmaWx0ZXJdPVwiZmlsdGVyXCJcclxuICAgIFttYXhTZWxlY3RlZExhYmVsc109XCJvcHRpb25zLmxlbmd0aCAtIDFcIlxyXG4gICAgW3Nob3dIZWFkZXJdPVwidHJ1ZVwiXHJcbiAgICBbc2hvd1RvZ2dsZUFsbF09XCJzaG93U2VsZWN0QWxsT3B0aW9uXCJcclxuICAgIFtkcm9wZG93bkljb25dPVwiJ3BpIHBpLWNoZXZyb24tZG93bidcIlxyXG4gICAgW2Rpc3BsYXldPVwiZGlzcGxheVwiXHJcbiAgICAob25DaGFuZ2UpPVwib25DaGFuZ2UuZW1pdCgkZXZlbnQpXCJcclxuICAgIChvblBhbmVsSGlkZSk9XCJvbkNsb3NlUGFuZWwuZW1pdCgkZXZlbnQpXCJcclxuICA+XHJcbiAgPC9wLW11bHRpU2VsZWN0PlxyXG4gIDxwLW11bHRpU2VsZWN0XHJcbiAgICAqbmdJZj1cImZpbHRlclZpcnR1YWxTY3Jvb2xcIlxyXG4gICAgI211bHRpc2VsZWN0XHJcbiAgICBhcHBlbmRUbz1cImJvZHlcIlxyXG4gICAgb3B0aW9uTGFiZWw9XCJuYW1lXCJcclxuICAgIG9wdGlvblZhbHVlPVwiY29kZVwiXHJcbiAgICBkcm9wZG93bkljb249XCJmYXMgZmEtc29ydC1kb3duXCJcclxuICAgIHNlbGVjdGVkSXRlbXNMYWJlbD1cIlNlbGVjaW9uYXIgdG9kb3NcIlxyXG4gICAgW3BhbmVsU3R5bGVDbGFzc109XCJmaWx0ZXIgPyAnaGFzLWZpbHRlcicgOiAnJ1wiXHJcbiAgICBbb3B0aW9uc109XCJvcHRpb25zXCJcclxuICAgIFtmb3JtQ29udHJvbF09XCJjb250cm9sXCJcclxuICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXHJcbiAgICBbZmlsdGVyXT1cImZpbHRlclwiXHJcbiAgICBbbWF4U2VsZWN0ZWRMYWJlbHNdPVwib3B0aW9ucy5sZW5ndGggLSAxXCJcclxuICAgIFtzaG93SGVhZGVyXT1cInRydWVcIlxyXG4gICAgW3Nob3dUb2dnbGVBbGxdPVwic2hvd1NlbGVjdEFsbE9wdGlvblwiXHJcbiAgICBbZHJvcGRvd25JY29uXT1cIidwaSBwaS1jaGV2cm9uLWRvd24nXCJcclxuICAgIFtkaXNwbGF5XT1cImRpc3BsYXlcIlxyXG4gICAgKG9uQ2hhbmdlKT1cIm9uQ2hhbmdlLmVtaXQoJGV2ZW50KVwiXHJcbiAgICAob25GaWx0ZXIpPVwic2VhcmNoKCRldmVudClcIlxyXG4gICAgKG9uUGFuZWxTaG93KT1cIm9uT3BlbkF1dG9jb21wbGV0ZVBhbmVsKClcIlxyXG4gICAgKG9uUGFuZWxIaWRlKT1cIm9uSGlkZUF1dG9jb21wbGV0ZVBhbmVsKClcIlxyXG4gID5cclxuICA8L3AtbXVsdGlTZWxlY3Q+XHJcbiAgPHNwYW4gY2xhc3M9XCJpbnB1dC1lcnJvclwiPnt7IGZpZWxkRXJyb3JMYWJlbCgpIH19PC9zcGFuPlxyXG48L2Rpdj5cclxuIl19
|
|
1
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import { ObjectUtil } from '../../../utils';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "primeng/multiselect";
|
|
5
|
+
import * as i2 from "@angular/common";
|
|
6
|
+
import * as i3 from "@angular/forms";
|
|
7
|
+
export class MultiselectFieldComponent {
|
|
8
|
+
constructor(renderer) {
|
|
9
|
+
this.renderer = renderer;
|
|
10
|
+
this.isRequired = false;
|
|
11
|
+
this.label = '';
|
|
12
|
+
this.options = [];
|
|
13
|
+
this.filter = false;
|
|
14
|
+
this.showSelectAllOption = true;
|
|
15
|
+
this.display = 'comma';
|
|
16
|
+
this.paged = true;
|
|
17
|
+
this.minLengthToService = 0;
|
|
18
|
+
this.initialLoad = true;
|
|
19
|
+
this.filterVirtualScrool = false;
|
|
20
|
+
this.onChange = new EventEmitter();
|
|
21
|
+
this.onClosePanel = new EventEmitter();
|
|
22
|
+
this.currentSearchQuery = '';
|
|
23
|
+
this.currentScrollPage = -1;
|
|
24
|
+
this.currentScrollIndex = 0;
|
|
25
|
+
this.unlistenAutocompleteVirtualScroll = () => { };
|
|
26
|
+
this._pagedSugestion = [];
|
|
27
|
+
}
|
|
28
|
+
set pagedSugestion(_pagedSugestion) {
|
|
29
|
+
this._pagedSugestion = _pagedSugestion;
|
|
30
|
+
this.options = this.pagedSugestion || [];
|
|
31
|
+
}
|
|
32
|
+
get placeholder() {
|
|
33
|
+
if (!this.label) {
|
|
34
|
+
return '';
|
|
35
|
+
}
|
|
36
|
+
return `${this.label}${this.isRequired ? '*' : ''}`;
|
|
37
|
+
}
|
|
38
|
+
get pagedSugestion() {
|
|
39
|
+
return this._pagedSugestion;
|
|
40
|
+
}
|
|
41
|
+
ngOnInit() {
|
|
42
|
+
if (this.initialLoad && this.filterVirtualScrool) {
|
|
43
|
+
this.search(null, true);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
fieldErrorLabel() {
|
|
47
|
+
if (this.control && this.control.invalid && this.control.touched) {
|
|
48
|
+
if (this.control.hasError('required')) {
|
|
49
|
+
return 'Campo obrigatório';
|
|
50
|
+
}
|
|
51
|
+
return typeof this.control.errors['invalid'] === 'string' ? this.control.errors['invalid'] : 'Campo inválido';
|
|
52
|
+
}
|
|
53
|
+
return '';
|
|
54
|
+
}
|
|
55
|
+
onOpenAutocompletePanel() {
|
|
56
|
+
this.search();
|
|
57
|
+
const multiSelectPanel = document.querySelector('.p-multiselect-items-wrapper');
|
|
58
|
+
if (multiSelectPanel && this.paged && this.currentSearchQuery.length >= this.minLengthToService) {
|
|
59
|
+
this.unlistenAutocompleteVirtualScroll = this.renderer.listen(multiSelectPanel, 'scroll', (event) => {
|
|
60
|
+
const eventHeight = event.target.scrollHeight - event.target.clientHeight - 150;
|
|
61
|
+
if (Math.round(event.target.scrollTop) >= eventHeight) {
|
|
62
|
+
this.pageResults();
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
onHideAutocompletePanel() {
|
|
68
|
+
if (this.paged) {
|
|
69
|
+
this.unlistenAutocompleteVirtualScroll();
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
search($event, forceSearch = false) {
|
|
73
|
+
this.currentSearchQuery = $event?.filter.toUpperCase() || '';
|
|
74
|
+
this.currentScrollPage = -1;
|
|
75
|
+
this.currentScrollIndex = 0;
|
|
76
|
+
if (forceSearch || this.currentSearchQuery.length >= this.minLengthToService) {
|
|
77
|
+
this.pageResults();
|
|
78
|
+
}
|
|
79
|
+
else {
|
|
80
|
+
this.options = [];
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
pageResults() {
|
|
84
|
+
const filteredOptions = this.filterListByQuery(this.pagedSugestion, this.currentSearchQuery.toUpperCase());
|
|
85
|
+
this.options = filteredOptions.slice(0, this.currentScrollIndex + 20);
|
|
86
|
+
if (this.pagedSugestion?.length && this.pagedSugestion.length > 20) {
|
|
87
|
+
this.currentScrollIndex = this.currentScrollIndex + 20;
|
|
88
|
+
}
|
|
89
|
+
this.setControlValueFromSuggestions();
|
|
90
|
+
}
|
|
91
|
+
filterListByQuery(list = [], query) {
|
|
92
|
+
return list.filter((opt) => String(opt.code).toUpperCase().includes(query) || opt.name.toUpperCase().includes(query));
|
|
93
|
+
}
|
|
94
|
+
setControlValueFromSuggestions() {
|
|
95
|
+
const code = (ObjectUtil.isValid(this.control.value?.code) && `${this.control.value?.code}`) || `${this.control.value}`;
|
|
96
|
+
if (this.control.value && this.options?.length) {
|
|
97
|
+
let itemsArray = this.options;
|
|
98
|
+
if (this.options?.length) {
|
|
99
|
+
itemsArray = this.options;
|
|
100
|
+
}
|
|
101
|
+
const itemFromSuggestions = itemsArray.find((opt) => `${opt.code}`.toUpperCase() === code.toUpperCase());
|
|
102
|
+
if (itemFromSuggestions) {
|
|
103
|
+
this.control.setValue(itemFromSuggestions, { emitEvent: false });
|
|
104
|
+
}
|
|
105
|
+
else {
|
|
106
|
+
this.service?.getById(+code).subscribe((response) => {
|
|
107
|
+
this.control.setValue(response, { emitEvent: false });
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
else if (this.control.value && !this.options?.length) {
|
|
112
|
+
this.service?.getById(+code).subscribe((response) => {
|
|
113
|
+
this.control.setValue(response, { emitEvent: false });
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
MultiselectFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MultiselectFieldComponent, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
|
|
119
|
+
MultiselectFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: MultiselectFieldComponent, selector: "vector-multiselect-field", inputs: { pagedSugestion: "pagedSugestion", isRequired: "isRequired", control: "control", label: "label", options: "options", filter: "filter", showSelectAllOption: "showSelectAllOption", display: "display", paged: "paged", minLengthToService: "minLengthToService", initialLoad: "initialLoad", service: "service", filterVirtualScrool: "filterVirtualScrool" }, outputs: { onChange: "onChange", onClosePanel: "onClosePanel" }, ngImport: i0, template: "<div class=\"multiselect-field-input-container\">\n <p-multiSelect\n *ngIf=\"!filterVirtualScrool\"\n #multiselect\n appendTo=\"body\"\n optionLabel=\"name\"\n optionValue=\"code\"\n dropdownIcon=\"fas fa-sort-down\"\n selectedItemsLabel=\"Selecionar todos\"\n [panelStyleClass]=\"filter ? 'has-filter' : ''\"\n [options]=\"options\"\n [formControl]=\"control\"\n [placeholder]=\"placeholder\"\n [filter]=\"filter\"\n [maxSelectedLabels]=\"options.length - 1\"\n [showHeader]=\"true\"\n [showToggleAll]=\"showSelectAllOption\"\n [dropdownIcon]=\"'pi pi-chevron-down'\"\n [display]=\"display\"\n (onChange)=\"onChange.emit($event)\"\n (onPanelHide)=\"onClosePanel.emit($event)\"\n >\n </p-multiSelect>\n <p-multiSelect\n *ngIf=\"filterVirtualScrool\"\n #multiselect\n appendTo=\"body\"\n optionLabel=\"name\"\n optionValue=\"code\"\n dropdownIcon=\"fas fa-sort-down\"\n selectedItemsLabel=\"Selecionar todos\"\n [panelStyleClass]=\"filter ? 'has-filter' : ''\"\n [options]=\"options\"\n [formControl]=\"control\"\n [placeholder]=\"placeholder\"\n [filter]=\"filter\"\n [maxSelectedLabels]=\"options.length - 1\"\n [showHeader]=\"true\"\n [showToggleAll]=\"showSelectAllOption\"\n [dropdownIcon]=\"'pi pi-chevron-down'\"\n [display]=\"display\"\n (onChange)=\"onChange.emit($event)\"\n (onFilter)=\"search($event)\"\n (onPanelShow)=\"onOpenAutocompletePanel()\"\n (onPanelHide)=\"onHideAutocompletePanel()\"\n >\n </p-multiSelect>\n <span class=\"input-error\">{{ fieldErrorLabel() }}</span>\n</div>\n", styles: [".multiselect-field-input-container{height:62px}.multiselect-field-input-container .input-error{font-size:.7em;color:var(--error-color)}.multiselect-field-input-container div.p-multiselect-token{padding:auto 1em!important;background:#eff0f6!important}\n"], components: [{ type: i1.MultiSelect, selector: "p-multiSelect", inputs: ["style", "styleClass", "panelStyle", "panelStyleClass", "inputId", "disabled", "readonly", "group", "filter", "filterPlaceHolder", "filterLocale", "overlayVisible", "tabindex", "appendTo", "dataKey", "name", "ariaLabelledBy", "displaySelectedLabel", "maxSelectedLabels", "selectionLimit", "selectedItemsLabel", "showToggleAll", "emptyFilterMessage", "emptyMessage", "resetFilterOnHide", "dropdownIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "showHeader", "autoZIndex", "baseZIndex", "filterBy", "virtualScroll", "itemSize", "showTransitionOptions", "hideTransitionOptions", "ariaFilterLabel", "filterMatchMode", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "display", "autocomplete", "scrollHeight", "defaultLabel", "placeholder", "options", "filterValue"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onPanelShow", "onPanelHide"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
|
|
120
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MultiselectFieldComponent, decorators: [{
|
|
121
|
+
type: Component,
|
|
122
|
+
args: [{ selector: 'vector-multiselect-field', template: "<div class=\"multiselect-field-input-container\">\n <p-multiSelect\n *ngIf=\"!filterVirtualScrool\"\n #multiselect\n appendTo=\"body\"\n optionLabel=\"name\"\n optionValue=\"code\"\n dropdownIcon=\"fas fa-sort-down\"\n selectedItemsLabel=\"Selecionar todos\"\n [panelStyleClass]=\"filter ? 'has-filter' : ''\"\n [options]=\"options\"\n [formControl]=\"control\"\n [placeholder]=\"placeholder\"\n [filter]=\"filter\"\n [maxSelectedLabels]=\"options.length - 1\"\n [showHeader]=\"true\"\n [showToggleAll]=\"showSelectAllOption\"\n [dropdownIcon]=\"'pi pi-chevron-down'\"\n [display]=\"display\"\n (onChange)=\"onChange.emit($event)\"\n (onPanelHide)=\"onClosePanel.emit($event)\"\n >\n </p-multiSelect>\n <p-multiSelect\n *ngIf=\"filterVirtualScrool\"\n #multiselect\n appendTo=\"body\"\n optionLabel=\"name\"\n optionValue=\"code\"\n dropdownIcon=\"fas fa-sort-down\"\n selectedItemsLabel=\"Selecionar todos\"\n [panelStyleClass]=\"filter ? 'has-filter' : ''\"\n [options]=\"options\"\n [formControl]=\"control\"\n [placeholder]=\"placeholder\"\n [filter]=\"filter\"\n [maxSelectedLabels]=\"options.length - 1\"\n [showHeader]=\"true\"\n [showToggleAll]=\"showSelectAllOption\"\n [dropdownIcon]=\"'pi pi-chevron-down'\"\n [display]=\"display\"\n (onChange)=\"onChange.emit($event)\"\n (onFilter)=\"search($event)\"\n (onPanelShow)=\"onOpenAutocompletePanel()\"\n (onPanelHide)=\"onHideAutocompletePanel()\"\n >\n </p-multiSelect>\n <span class=\"input-error\">{{ fieldErrorLabel() }}</span>\n</div>\n", styles: [".multiselect-field-input-container{height:62px}.multiselect-field-input-container .input-error{font-size:.7em;color:var(--error-color)}.multiselect-field-input-container div.p-multiselect-token{padding:auto 1em!important;background:#eff0f6!important}\n"] }]
|
|
123
|
+
}], ctorParameters: function () { return [{ type: i0.Renderer2 }]; }, propDecorators: { pagedSugestion: [{
|
|
124
|
+
type: Input
|
|
125
|
+
}], isRequired: [{
|
|
126
|
+
type: Input
|
|
127
|
+
}], control: [{
|
|
128
|
+
type: Input
|
|
129
|
+
}], label: [{
|
|
130
|
+
type: Input
|
|
131
|
+
}], options: [{
|
|
132
|
+
type: Input
|
|
133
|
+
}], filter: [{
|
|
134
|
+
type: Input
|
|
135
|
+
}], showSelectAllOption: [{
|
|
136
|
+
type: Input
|
|
137
|
+
}], display: [{
|
|
138
|
+
type: Input
|
|
139
|
+
}], paged: [{
|
|
140
|
+
type: Input
|
|
141
|
+
}], minLengthToService: [{
|
|
142
|
+
type: Input
|
|
143
|
+
}], initialLoad: [{
|
|
144
|
+
type: Input
|
|
145
|
+
}], service: [{
|
|
146
|
+
type: Input
|
|
147
|
+
}], filterVirtualScrool: [{
|
|
148
|
+
type: Input
|
|
149
|
+
}], onChange: [{
|
|
150
|
+
type: Output
|
|
151
|
+
}], onClosePanel: [{
|
|
152
|
+
type: Output
|
|
153
|
+
}] } });
|
|
154
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGlzZWxlY3QtZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZlY3Rvci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9maWVsZHMvbXVsdGlzZWxlY3QtZmllbGQvbXVsdGlzZWxlY3QtZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZlY3Rvci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9maWVsZHMvbXVsdGlzZWxlY3QtZmllbGQvbXVsdGlzZWxlY3QtZmllbGQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUdsRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7O0FBTzVDLE1BQU0sT0FBTyx5QkFBeUI7SUFzRHBDLFlBQW9CLFFBQW1CO1FBQW5CLGFBQVEsR0FBUixRQUFRLENBQVc7UUEvQ2hDLGVBQVUsR0FBWSxLQUFLLENBQUM7UUFJNUIsVUFBSyxHQUFXLEVBQUUsQ0FBQztRQUVuQixZQUFPLEdBQWUsRUFBRSxDQUFDO1FBRXpCLFdBQU0sR0FBRyxLQUFLLENBQUM7UUFFZix3QkFBbUIsR0FBWSxJQUFJLENBQUM7UUFFcEMsWUFBTyxHQUFXLE9BQU8sQ0FBQztRQUUxQixVQUFLLEdBQUcsSUFBSSxDQUFDO1FBRWIsdUJBQWtCLEdBQVcsQ0FBQyxDQUFDO1FBRS9CLGdCQUFXLEdBQUcsSUFBSSxDQUFDO1FBSW5CLHdCQUFtQixHQUFHLEtBQUssQ0FBQztRQUU1QixhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUU5QixpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFakMsdUJBQWtCLEdBQUcsRUFBRSxDQUFDO1FBQ3hCLHNCQUFpQixHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3ZCLHVCQUFrQixHQUFHLENBQUMsQ0FBQztRQUV4QixzQ0FBaUMsR0FBRyxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7UUFhNUMsb0JBQWUsR0FBZSxFQUFFLENBQUM7SUFFQyxDQUFDO0lBckQzQyxJQUNJLGNBQWMsQ0FBQyxlQUEyQjtRQUM1QyxJQUFJLENBQUMsZUFBZSxHQUFHLGVBQWUsQ0FBQztRQUN2QyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxjQUFjLElBQUksRUFBRSxDQUFDO0lBQzNDLENBQUM7SUFvQ0QsSUFBSSxXQUFXO1FBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDZixPQUFPLEVBQUUsQ0FBQztTQUNYO1FBQ0QsT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQztJQUN0RCxDQUFDO0lBRUQsSUFBSSxjQUFjO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUM5QixDQUFDO0lBTUQsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsbUJBQW1CLEVBQUU7WUFDaEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7U0FDekI7SUFDSCxDQUFDO0lBRU0sZUFBZTtRQUNwQixJQUFJLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUU7WUFDaEUsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsRUFBRTtnQkFDckMsT0FBTyxtQkFBbUIsQ0FBQzthQUM1QjtZQUVELE9BQU8sT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQztTQUMvRztRQUVELE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVNLHVCQUF1QjtRQUM1QixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDZCxNQUFNLGdCQUFnQixHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsOEJBQThCLENBQUMsQ0FBQztRQUVoRixJQUFJLGdCQUFnQixJQUFJLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsa0JBQWtCLEVBQUU7WUFDL0YsSUFBSSxDQUFDLGlDQUFpQyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFO2dCQUNsRyxNQUFNLFdBQVcsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLFlBQVksR0FBRyxHQUFHLENBQUM7Z0JBRWhGLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxJQUFJLFdBQVcsRUFBRTtvQkFDckQsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO2lCQUNwQjtZQUNILENBQUMsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDO0lBRU0sdUJBQXVCO1FBQzVCLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNkLElBQUksQ0FBQyxpQ0FBaUMsRUFBRSxDQUFDO1NBQzFDO0lBQ0gsQ0FBQztJQUVNLE1BQU0sQ0FBQyxNQUFZLEVBQUUsV0FBVyxHQUFHLEtBQUs7UUFDN0MsSUFBSSxDQUFDLGtCQUFrQixHQUFHLE1BQU0sRUFBRSxNQUFNLENBQUMsV0FBVyxFQUFFLElBQUksRUFBRSxDQUFDO1FBQzdELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUM1QixJQUFJLENBQUMsa0JBQWtCLEdBQUcsQ0FBQyxDQUFDO1FBQzVCLElBQUksV0FBVyxJQUFJLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLGtCQUFrQixFQUFFO1lBQzVFLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUNwQjthQUFNO1lBQ0wsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7U0FDbkI7SUFDSCxDQUFDO0lBRU8sV0FBVztRQUNqQixNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUMzRyxJQUFJLENBQUMsT0FBTyxHQUFHLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUV0RSxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUUsTUFBTSxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxHQUFHLEVBQUUsRUFBRTtZQUNsRSxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEVBQUUsQ0FBQztTQUN4RDtRQUVELElBQUksQ0FBQyw4QkFBOEIsRUFBRSxDQUFDO0lBQ3hDLENBQUM7SUFFTyxpQkFBaUIsQ0FBQyxPQUFtQixFQUFFLEVBQUUsS0FBYTtRQUM1RCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQ2hCLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FDbEcsQ0FBQztJQUNKLENBQUM7SUFDTyw4QkFBOEI7UUFDcEMsTUFBTSxJQUFJLEdBQ1IsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDN0csSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRTtZQUM5QyxJQUFJLFVBQVUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1lBQzlCLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUU7Z0JBQ3hCLFVBQVUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO2FBQzNCO1lBQ0QsTUFBTSxtQkFBbUIsR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUUsS0FBSyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztZQUN6RyxJQUFJLG1CQUFtQixFQUFFO2dCQUN2QixJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxtQkFBbUIsRUFBRSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO2FBQ2xFO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUU7b0JBQ2xELElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO2dCQUN4RCxDQUFDLENBQUMsQ0FBQzthQUNKO1NBQ0Y7YUFBTSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUU7WUFDdEQsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtnQkFDbEQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7WUFDeEQsQ0FBQyxDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7O3NIQS9JVSx5QkFBeUI7MEdBQXpCLHlCQUF5Qix5ZUNWdEMsNGxEQWlEQTsyRkR2Q2EseUJBQXlCO2tCQUxyQyxTQUFTOytCQUNFLDBCQUEwQjtnR0FNaEMsY0FBYztzQkFEakIsS0FBSztnQkFNQyxVQUFVO3NCQURoQixLQUFLO2dCQUdDLE9BQU87c0JBRGIsS0FBSztnQkFHQyxLQUFLO3NCQURYLEtBQUs7Z0JBR0MsT0FBTztzQkFEYixLQUFLO2dCQUdDLE1BQU07c0JBRFosS0FBSztnQkFHQyxtQkFBbUI7c0JBRHpCLEtBQUs7Z0JBR0MsT0FBTztzQkFEYixLQUFLO2dCQUdDLEtBQUs7c0JBRFgsS0FBSztnQkFHQyxrQkFBa0I7c0JBRHhCLEtBQUs7Z0JBR0MsV0FBVztzQkFEakIsS0FBSztnQkFHQyxPQUFPO3NCQURiLEtBQUs7Z0JBR0MsbUJBQW1CO3NCQUR6QixLQUFLO2dCQUdDLFFBQVE7c0JBRGQsTUFBTTtnQkFHQSxZQUFZO3NCQURsQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsIFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTGlzdEl0ZW0gfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgQmFzZURyb3Bkb3duIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgT2JqZWN0VXRpbCB9IGZyb20gJy4uLy4uLy4uL3V0aWxzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmVjdG9yLW11bHRpc2VsZWN0LWZpZWxkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL211bHRpc2VsZWN0LWZpZWxkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbXVsdGlzZWxlY3QtZmllbGQuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgTXVsdGlzZWxlY3RGaWVsZENvbXBvbmVudCB7XG4gIEBJbnB1dCgpXG4gIHNldCBwYWdlZFN1Z2VzdGlvbihfcGFnZWRTdWdlc3Rpb246IExpc3RJdGVtW10pIHtcbiAgICB0aGlzLl9wYWdlZFN1Z2VzdGlvbiA9IF9wYWdlZFN1Z2VzdGlvbjtcbiAgICB0aGlzLm9wdGlvbnMgPSB0aGlzLnBhZ2VkU3VnZXN0aW9uIHx8IFtdO1xuICB9XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBpc1JlcXVpcmVkOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBjb250cm9sOiBhbnk7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBsYWJlbDogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBvcHRpb25zOiBMaXN0SXRlbVtdID0gW107XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBmaWx0ZXIgPSBmYWxzZTtcbiAgQElucHV0KClcbiAgcHVibGljIHNob3dTZWxlY3RBbGxPcHRpb246IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKVxuICBwdWJsaWMgZGlzcGxheTogc3RyaW5nID0gJ2NvbW1hJztcbiAgQElucHV0KClcbiAgcHVibGljIHBhZ2VkID0gdHJ1ZTtcbiAgQElucHV0KClcbiAgcHVibGljIG1pbkxlbmd0aFRvU2VydmljZTogbnVtYmVyID0gMDtcbiAgQElucHV0KClcbiAgcHVibGljIGluaXRpYWxMb2FkID0gdHJ1ZTtcbiAgQElucHV0KClcbiAgcHVibGljIHNlcnZpY2U6IEJhc2VEcm9wZG93biB8IHVuZGVmaW5lZDtcbiAgQElucHV0KClcbiAgcHVibGljIGZpbHRlclZpcnR1YWxTY3Jvb2wgPSBmYWxzZTtcbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBvbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBvbkNsb3NlUGFuZWwgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgcHJpdmF0ZSBjdXJyZW50U2VhcmNoUXVlcnkgPSAnJztcbiAgcHJpdmF0ZSBjdXJyZW50U2Nyb2xsUGFnZSA9IC0xO1xuICBwcml2YXRlIGN1cnJlbnRTY3JvbGxJbmRleCA9IDA7XG5cbiAgcHVibGljIHVubGlzdGVuQXV0b2NvbXBsZXRlVmlydHVhbFNjcm9sbCA9ICgpID0+IHt9O1xuXG4gIGdldCBwbGFjZWhvbGRlcigpIHtcbiAgICBpZiAoIXRoaXMubGFiZWwpIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG4gICAgcmV0dXJuIGAke3RoaXMubGFiZWx9JHt0aGlzLmlzUmVxdWlyZWQgPyAnKicgOiAnJ31gO1xuICB9XG5cbiAgZ2V0IHBhZ2VkU3VnZXN0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLl9wYWdlZFN1Z2VzdGlvbjtcbiAgfVxuXG4gIHByaXZhdGUgX3BhZ2VkU3VnZXN0aW9uOiBMaXN0SXRlbVtdID0gW107XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmluaXRpYWxMb2FkICYmIHRoaXMuZmlsdGVyVmlydHVhbFNjcm9vbCkge1xuICAgICAgdGhpcy5zZWFyY2gobnVsbCwgdHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGZpZWxkRXJyb3JMYWJlbCgpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLmNvbnRyb2wgJiYgdGhpcy5jb250cm9sLmludmFsaWQgJiYgdGhpcy5jb250cm9sLnRvdWNoZWQpIHtcbiAgICAgIGlmICh0aGlzLmNvbnRyb2wuaGFzRXJyb3IoJ3JlcXVpcmVkJykpIHtcbiAgICAgICAgcmV0dXJuICdDYW1wbyBvYnJpZ2F0w7NyaW8nO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gdHlwZW9mIHRoaXMuY29udHJvbC5lcnJvcnNbJ2ludmFsaWQnXSA9PT0gJ3N0cmluZycgPyB0aGlzLmNvbnRyb2wuZXJyb3JzWydpbnZhbGlkJ10gOiAnQ2FtcG8gaW52w6FsaWRvJztcbiAgICB9XG5cbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICBwdWJsaWMgb25PcGVuQXV0b2NvbXBsZXRlUGFuZWwoKTogdm9pZCB7XG4gICAgdGhpcy5zZWFyY2goKTtcbiAgICBjb25zdCBtdWx0aVNlbGVjdFBhbmVsID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLnAtbXVsdGlzZWxlY3QtaXRlbXMtd3JhcHBlcicpO1xuXG4gICAgaWYgKG11bHRpU2VsZWN0UGFuZWwgJiYgdGhpcy5wYWdlZCAmJiB0aGlzLmN1cnJlbnRTZWFyY2hRdWVyeS5sZW5ndGggPj0gdGhpcy5taW5MZW5ndGhUb1NlcnZpY2UpIHtcbiAgICAgIHRoaXMudW5saXN0ZW5BdXRvY29tcGxldGVWaXJ0dWFsU2Nyb2xsID0gdGhpcy5yZW5kZXJlci5saXN0ZW4obXVsdGlTZWxlY3RQYW5lbCwgJ3Njcm9sbCcsIChldmVudCkgPT4ge1xuICAgICAgICBjb25zdCBldmVudEhlaWdodCA9IGV2ZW50LnRhcmdldC5zY3JvbGxIZWlnaHQgLSBldmVudC50YXJnZXQuY2xpZW50SGVpZ2h0IC0gMTUwO1xuXG4gICAgICAgIGlmIChNYXRoLnJvdW5kKGV2ZW50LnRhcmdldC5zY3JvbGxUb3ApID49IGV2ZW50SGVpZ2h0KSB7XG4gICAgICAgICAgdGhpcy5wYWdlUmVzdWx0cygpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25IaWRlQXV0b2NvbXBsZXRlUGFuZWwoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucGFnZWQpIHtcbiAgICAgIHRoaXMudW5saXN0ZW5BdXRvY29tcGxldGVWaXJ0dWFsU2Nyb2xsKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHNlYXJjaCgkZXZlbnQ/OiBhbnksIGZvcmNlU2VhcmNoID0gZmFsc2UpOiB2b2lkIHtcbiAgICB0aGlzLmN1cnJlbnRTZWFyY2hRdWVyeSA9ICRldmVudD8uZmlsdGVyLnRvVXBwZXJDYXNlKCkgfHwgJyc7XG4gICAgdGhpcy5jdXJyZW50U2Nyb2xsUGFnZSA9IC0xO1xuICAgIHRoaXMuY3VycmVudFNjcm9sbEluZGV4ID0gMDtcbiAgICBpZiAoZm9yY2VTZWFyY2ggfHwgdGhpcy5jdXJyZW50U2VhcmNoUXVlcnkubGVuZ3RoID49IHRoaXMubWluTGVuZ3RoVG9TZXJ2aWNlKSB7XG4gICAgICB0aGlzLnBhZ2VSZXN1bHRzKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMub3B0aW9ucyA9IFtdO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgcGFnZVJlc3VsdHMoKTogdm9pZCB7XG4gICAgY29uc3QgZmlsdGVyZWRPcHRpb25zID0gdGhpcy5maWx0ZXJMaXN0QnlRdWVyeSh0aGlzLnBhZ2VkU3VnZXN0aW9uLCB0aGlzLmN1cnJlbnRTZWFyY2hRdWVyeS50b1VwcGVyQ2FzZSgpKTtcbiAgICB0aGlzLm9wdGlvbnMgPSBmaWx0ZXJlZE9wdGlvbnMuc2xpY2UoMCwgdGhpcy5jdXJyZW50U2Nyb2xsSW5kZXggKyAyMCk7XG5cbiAgICBpZiAodGhpcy5wYWdlZFN1Z2VzdGlvbj8ubGVuZ3RoICYmIHRoaXMucGFnZWRTdWdlc3Rpb24ubGVuZ3RoID4gMjApIHtcbiAgICAgIHRoaXMuY3VycmVudFNjcm9sbEluZGV4ID0gdGhpcy5jdXJyZW50U2Nyb2xsSW5kZXggKyAyMDtcbiAgICB9XG5cbiAgICB0aGlzLnNldENvbnRyb2xWYWx1ZUZyb21TdWdnZXN0aW9ucygpO1xuICB9XG5cbiAgcHJpdmF0ZSBmaWx0ZXJMaXN0QnlRdWVyeShsaXN0OiBMaXN0SXRlbVtdID0gW10sIHF1ZXJ5OiBzdHJpbmcpOiBMaXN0SXRlbVtdIHtcbiAgICByZXR1cm4gbGlzdC5maWx0ZXIoXG4gICAgICAob3B0KSA9PiBTdHJpbmcob3B0LmNvZGUpLnRvVXBwZXJDYXNlKCkuaW5jbHVkZXMocXVlcnkpIHx8IG9wdC5uYW1lLnRvVXBwZXJDYXNlKCkuaW5jbHVkZXMocXVlcnkpXG4gICAgKTtcbiAgfVxuICBwcml2YXRlIHNldENvbnRyb2xWYWx1ZUZyb21TdWdnZXN0aW9ucygpIHtcbiAgICBjb25zdCBjb2RlID1cbiAgICAgIChPYmplY3RVdGlsLmlzVmFsaWQodGhpcy5jb250cm9sLnZhbHVlPy5jb2RlKSAmJiBgJHt0aGlzLmNvbnRyb2wudmFsdWU/LmNvZGV9YCkgfHwgYCR7dGhpcy5jb250cm9sLnZhbHVlfWA7XG4gICAgaWYgKHRoaXMuY29udHJvbC52YWx1ZSAmJiB0aGlzLm9wdGlvbnM/Lmxlbmd0aCkge1xuICAgICAgbGV0IGl0ZW1zQXJyYXkgPSB0aGlzLm9wdGlvbnM7XG4gICAgICBpZiAodGhpcy5vcHRpb25zPy5sZW5ndGgpIHtcbiAgICAgICAgaXRlbXNBcnJheSA9IHRoaXMub3B0aW9ucztcbiAgICAgIH1cbiAgICAgIGNvbnN0IGl0ZW1Gcm9tU3VnZ2VzdGlvbnMgPSBpdGVtc0FycmF5LmZpbmQoKG9wdCkgPT4gYCR7b3B0LmNvZGV9YC50b1VwcGVyQ2FzZSgpID09PSBjb2RlLnRvVXBwZXJDYXNlKCkpO1xuICAgICAgaWYgKGl0ZW1Gcm9tU3VnZ2VzdGlvbnMpIHtcbiAgICAgICAgdGhpcy5jb250cm9sLnNldFZhbHVlKGl0ZW1Gcm9tU3VnZ2VzdGlvbnMsIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuc2VydmljZT8uZ2V0QnlJZCgrY29kZSkuc3Vic2NyaWJlKChyZXNwb25zZSkgPT4ge1xuICAgICAgICAgIHRoaXMuY29udHJvbC5zZXRWYWx1ZShyZXNwb25zZSwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHRoaXMuY29udHJvbC52YWx1ZSAmJiAhdGhpcy5vcHRpb25zPy5sZW5ndGgpIHtcbiAgICAgIHRoaXMuc2VydmljZT8uZ2V0QnlJZCgrY29kZSkuc3Vic2NyaWJlKChyZXNwb25zZSkgPT4ge1xuICAgICAgICB0aGlzLmNvbnRyb2wuc2V0VmFsdWUocmVzcG9uc2UsIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIm11bHRpc2VsZWN0LWZpZWxkLWlucHV0LWNvbnRhaW5lclwiPlxuICA8cC1tdWx0aVNlbGVjdFxuICAgICpuZ0lmPVwiIWZpbHRlclZpcnR1YWxTY3Jvb2xcIlxuICAgICNtdWx0aXNlbGVjdFxuICAgIGFwcGVuZFRvPVwiYm9keVwiXG4gICAgb3B0aW9uTGFiZWw9XCJuYW1lXCJcbiAgICBvcHRpb25WYWx1ZT1cImNvZGVcIlxuICAgIGRyb3Bkb3duSWNvbj1cImZhcyBmYS1zb3J0LWRvd25cIlxuICAgIHNlbGVjdGVkSXRlbXNMYWJlbD1cIlNlbGVjaW9uYXIgdG9kb3NcIlxuICAgIFtwYW5lbFN0eWxlQ2xhc3NdPVwiZmlsdGVyID8gJ2hhcy1maWx0ZXInIDogJydcIlxuICAgIFtvcHRpb25zXT1cIm9wdGlvbnNcIlxuICAgIFtmb3JtQ29udHJvbF09XCJjb250cm9sXCJcbiAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgIFtmaWx0ZXJdPVwiZmlsdGVyXCJcbiAgICBbbWF4U2VsZWN0ZWRMYWJlbHNdPVwib3B0aW9ucy5sZW5ndGggLSAxXCJcbiAgICBbc2hvd0hlYWRlcl09XCJ0cnVlXCJcbiAgICBbc2hvd1RvZ2dsZUFsbF09XCJzaG93U2VsZWN0QWxsT3B0aW9uXCJcbiAgICBbZHJvcGRvd25JY29uXT1cIidwaSBwaS1jaGV2cm9uLWRvd24nXCJcbiAgICBbZGlzcGxheV09XCJkaXNwbGF5XCJcbiAgICAob25DaGFuZ2UpPVwib25DaGFuZ2UuZW1pdCgkZXZlbnQpXCJcbiAgICAob25QYW5lbEhpZGUpPVwib25DbG9zZVBhbmVsLmVtaXQoJGV2ZW50KVwiXG4gID5cbiAgPC9wLW11bHRpU2VsZWN0PlxuICA8cC1tdWx0aVNlbGVjdFxuICAgICpuZ0lmPVwiZmlsdGVyVmlydHVhbFNjcm9vbFwiXG4gICAgI211bHRpc2VsZWN0XG4gICAgYXBwZW5kVG89XCJib2R5XCJcbiAgICBvcHRpb25MYWJlbD1cIm5hbWVcIlxuICAgIG9wdGlvblZhbHVlPVwiY29kZVwiXG4gICAgZHJvcGRvd25JY29uPVwiZmFzIGZhLXNvcnQtZG93blwiXG4gICAgc2VsZWN0ZWRJdGVtc0xhYmVsPVwiU2VsZWNpb25hciB0b2Rvc1wiXG4gICAgW3BhbmVsU3R5bGVDbGFzc109XCJmaWx0ZXIgPyAnaGFzLWZpbHRlcicgOiAnJ1wiXG4gICAgW29wdGlvbnNdPVwib3B0aW9uc1wiXG4gICAgW2Zvcm1Db250cm9sXT1cImNvbnRyb2xcIlxuICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgW2ZpbHRlcl09XCJmaWx0ZXJcIlxuICAgIFttYXhTZWxlY3RlZExhYmVsc109XCJvcHRpb25zLmxlbmd0aCAtIDFcIlxuICAgIFtzaG93SGVhZGVyXT1cInRydWVcIlxuICAgIFtzaG93VG9nZ2xlQWxsXT1cInNob3dTZWxlY3RBbGxPcHRpb25cIlxuICAgIFtkcm9wZG93bkljb25dPVwiJ3BpIHBpLWNoZXZyb24tZG93bidcIlxuICAgIFtkaXNwbGF5XT1cImRpc3BsYXlcIlxuICAgIChvbkNoYW5nZSk9XCJvbkNoYW5nZS5lbWl0KCRldmVudClcIlxuICAgIChvbkZpbHRlcik9XCJzZWFyY2goJGV2ZW50KVwiXG4gICAgKG9uUGFuZWxTaG93KT1cIm9uT3BlbkF1dG9jb21wbGV0ZVBhbmVsKClcIlxuICAgIChvblBhbmVsSGlkZSk9XCJvbkhpZGVBdXRvY29tcGxldGVQYW5lbCgpXCJcbiAgPlxuICA8L3AtbXVsdGlTZWxlY3Q+XG4gIDxzcGFuIGNsYXNzPVwiaW5wdXQtZXJyb3JcIj57eyBmaWVsZEVycm9yTGFiZWwoKSB9fTwvc3Bhbj5cbjwvZGl2PlxuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from './percentage-field.component';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
export * from './percentage-field.component';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmVjdG9yLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2ZpZWxkcy9wZXJjZW50YWdlLWZpZWxkL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsOEJBQThCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3BlcmNlbnRhZ2UtZmllbGQuY29tcG9uZW50JztcbiJdfQ==
|
|
@@ -1,54 +1,54 @@
|
|
|
1
|
-
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "primeng/inputnumber";
|
|
4
|
-
import * as i2 from "@angular/forms";
|
|
5
|
-
export class PercentageFieldComponent {
|
|
6
|
-
constructor() {
|
|
7
|
-
this.min = 0;
|
|
8
|
-
this.max = 100;
|
|
9
|
-
this.minFractionDigits = 0;
|
|
10
|
-
this.maxFractionDigits = 0;
|
|
11
|
-
this.step = 0;
|
|
12
|
-
this.blurEvent = new EventEmitter();
|
|
13
|
-
this.enterKeyPress = new EventEmitter();
|
|
14
|
-
this.focusEvent = new EventEmitter();
|
|
15
|
-
this.percentageRegex = `^(100(\\.0{1,2})?|[1-9]?\\d(\\.\\d{1,2})?)$`;
|
|
16
|
-
this.lastBlurValue = '';
|
|
17
|
-
}
|
|
18
|
-
ngOnInit() { }
|
|
19
|
-
ngOnDestroy() { }
|
|
20
|
-
onBlur() {
|
|
21
|
-
this.control.markAsTouched();
|
|
22
|
-
if (this.lastBlurValue !== this.control.value) {
|
|
23
|
-
this.lastBlurValue = this.control.value;
|
|
24
|
-
setTimeout(() => {
|
|
25
|
-
this.blurEvent.emit(this.control.value);
|
|
26
|
-
});
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
PercentageFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: PercentageFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
31
|
-
PercentageFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: PercentageFieldComponent, selector: "vector-percentage-field", inputs: { control: "control", min: "min", max: "max", minFractionDigits: "minFractionDigits", maxFractionDigits: "maxFractionDigits", step: "step" }, outputs: { blurEvent: "blurEvent", enterKeyPress: "enterKeyPress", focusEvent: "focusEvent" }, ngImport: i0, template: "<form class=\"input-container\">\
|
|
32
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: PercentageFieldComponent, decorators: [{
|
|
33
|
-
type: Component,
|
|
34
|
-
args: [{ selector: 'vector-percentage-field', template: "<form class=\"input-container\">\
|
|
35
|
-
}], propDecorators: { control: [{
|
|
36
|
-
type: Input
|
|
37
|
-
}], min: [{
|
|
38
|
-
type: Input
|
|
39
|
-
}], max: [{
|
|
40
|
-
type: Input
|
|
41
|
-
}], minFractionDigits: [{
|
|
42
|
-
type: Input
|
|
43
|
-
}], maxFractionDigits: [{
|
|
44
|
-
type: Input
|
|
45
|
-
}], step: [{
|
|
46
|
-
type: Input
|
|
47
|
-
}], blurEvent: [{
|
|
48
|
-
type: Output
|
|
49
|
-
}], enterKeyPress: [{
|
|
50
|
-
type: Output
|
|
51
|
-
}], focusEvent: [{
|
|
52
|
-
type: Output
|
|
53
|
-
}] } });
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "primeng/inputnumber";
|
|
4
|
+
import * as i2 from "@angular/forms";
|
|
5
|
+
export class PercentageFieldComponent {
|
|
6
|
+
constructor() {
|
|
7
|
+
this.min = 0;
|
|
8
|
+
this.max = 100;
|
|
9
|
+
this.minFractionDigits = 0;
|
|
10
|
+
this.maxFractionDigits = 0;
|
|
11
|
+
this.step = 0;
|
|
12
|
+
this.blurEvent = new EventEmitter();
|
|
13
|
+
this.enterKeyPress = new EventEmitter();
|
|
14
|
+
this.focusEvent = new EventEmitter();
|
|
15
|
+
this.percentageRegex = `^(100(\\.0{1,2})?|[1-9]?\\d(\\.\\d{1,2})?)$`;
|
|
16
|
+
this.lastBlurValue = '';
|
|
17
|
+
}
|
|
18
|
+
ngOnInit() { }
|
|
19
|
+
ngOnDestroy() { }
|
|
20
|
+
onBlur() {
|
|
21
|
+
this.control.markAsTouched();
|
|
22
|
+
if (this.lastBlurValue !== this.control.value) {
|
|
23
|
+
this.lastBlurValue = this.control.value;
|
|
24
|
+
setTimeout(() => {
|
|
25
|
+
this.blurEvent.emit(this.control.value);
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
PercentageFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: PercentageFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
31
|
+
PercentageFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: PercentageFieldComponent, selector: "vector-percentage-field", inputs: { control: "control", min: "min", max: "max", minFractionDigits: "minFractionDigits", maxFractionDigits: "maxFractionDigits", step: "step" }, outputs: { blurEvent: "blurEvent", enterKeyPress: "enterKeyPress", focusEvent: "focusEvent" }, ngImport: i0, template: "<form class=\"input-container\">\n <p-inputNumber\n [formControl]=\"control\"\n suffix=\"%\"\n [min]=\"min\"\n [max]=\"max\"\n [minFractionDigits]=\"minFractionDigits\"\n [maxFractionDigits]=\"maxFractionDigits\"\n [step]=\"step\"\n [showButtons]=\"step > 1\"\n buttonLayout=\"horizontal\"\n decrementButtonIcon=\"pi pi-minus-circle\"\n incrementButtonIcon=\"pi pi-plus-circle\"\n (onBlur)=\"onBlur()\"\n ></p-inputNumber>\n</form>\n", styles: [".input-container{width:100%}\n"], components: [{ type: i1.InputNumber, selector: "p-inputNumber", inputs: ["showButtons", "format", "buttonLayout", "inputId", "styleClass", "style", "placeholder", "size", "maxlength", "tabindex", "title", "ariaLabel", "ariaRequired", "name", "required", "autocomplete", "min", "max", "incrementButtonClass", "decrementButtonClass", "incrementButtonIcon", "decrementButtonIcon", "readonly", "step", "allowEmpty", "locale", "localeMatcher", "mode", "currency", "currencyDisplay", "useGrouping", "minFractionDigits", "maxFractionDigits", "prefix", "suffix", "inputStyle", "inputStyleClass", "disabled"], outputs: ["onInput", "onFocus", "onBlur", "onKeyDown"] }], directives: [{ type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i2.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
|
|
32
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: PercentageFieldComponent, decorators: [{
|
|
33
|
+
type: Component,
|
|
34
|
+
args: [{ selector: 'vector-percentage-field', template: "<form class=\"input-container\">\n <p-inputNumber\n [formControl]=\"control\"\n suffix=\"%\"\n [min]=\"min\"\n [max]=\"max\"\n [minFractionDigits]=\"minFractionDigits\"\n [maxFractionDigits]=\"maxFractionDigits\"\n [step]=\"step\"\n [showButtons]=\"step > 1\"\n buttonLayout=\"horizontal\"\n decrementButtonIcon=\"pi pi-minus-circle\"\n incrementButtonIcon=\"pi pi-plus-circle\"\n (onBlur)=\"onBlur()\"\n ></p-inputNumber>\n</form>\n", styles: [".input-container{width:100%}\n"] }]
|
|
35
|
+
}], propDecorators: { control: [{
|
|
36
|
+
type: Input
|
|
37
|
+
}], min: [{
|
|
38
|
+
type: Input
|
|
39
|
+
}], max: [{
|
|
40
|
+
type: Input
|
|
41
|
+
}], minFractionDigits: [{
|
|
42
|
+
type: Input
|
|
43
|
+
}], maxFractionDigits: [{
|
|
44
|
+
type: Input
|
|
45
|
+
}], step: [{
|
|
46
|
+
type: Input
|
|
47
|
+
}], blurEvent: [{
|
|
48
|
+
type: Output
|
|
49
|
+
}], enterKeyPress: [{
|
|
50
|
+
type: Output
|
|
51
|
+
}], focusEvent: [{
|
|
52
|
+
type: Output
|
|
53
|
+
}] } });
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyY2VudGFnZS1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmVjdG9yLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2ZpZWxkcy9wZXJjZW50YWdlLWZpZWxkL3BlcmNlbnRhZ2UtZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZlY3Rvci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9maWVsZHMvcGVyY2VudGFnZS1maWVsZC9wZXJjZW50YWdlLWZpZWxkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBTzFGLE1BQU0sT0FBTyx3QkFBd0I7SUFMckM7UUFTUyxRQUFHLEdBQVcsQ0FBQyxDQUFDO1FBRWhCLFFBQUcsR0FBVyxHQUFHLENBQUM7UUFFbEIsc0JBQWlCLEdBQVcsQ0FBQyxDQUFDO1FBRTlCLHNCQUFpQixHQUFXLENBQUMsQ0FBQztRQUU5QixTQUFJLEdBQUcsQ0FBQyxDQUFDO1FBRVQsY0FBUyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFL0Isa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBRW5DLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBRXZCLG9CQUFlLEdBQUcsNkNBQTZDLENBQUM7UUFFeEUsa0JBQWEsR0FBRyxFQUFFLENBQUM7S0FlNUI7SUFiQyxRQUFRLEtBQUksQ0FBQztJQUViLFdBQVcsS0FBSSxDQUFDO0lBRVQsTUFBTTtRQUNYLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDN0IsSUFBSSxJQUFJLENBQUMsYUFBYSxLQUFLLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFO1lBQzdDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7WUFDeEMsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDZCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzFDLENBQUMsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDOztxSEFwQ1Usd0JBQXdCO3lHQUF4Qix3QkFBd0Isb1RDUHJDLHlkQWdCQTsyRkRUYSx3QkFBd0I7a0JBTHBDLFNBQVM7K0JBQ0UseUJBQXlCOzhCQU01QixPQUFPO3NCQURiLEtBQUs7Z0JBR0MsR0FBRztzQkFEVCxLQUFLO2dCQUdDLEdBQUc7c0JBRFQsS0FBSztnQkFHQyxpQkFBaUI7c0JBRHZCLEtBQUs7Z0JBR0MsaUJBQWlCO3NCQUR2QixLQUFLO2dCQUdDLElBQUk7c0JBRFYsS0FBSztnQkFHQyxTQUFTO3NCQURmLE1BQU07Z0JBR0EsYUFBYTtzQkFEbkIsTUFBTTtnQkFHQSxVQUFVO3NCQURoQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZlY3Rvci1wZXJjZW50YWdlLWZpZWxkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3BlcmNlbnRhZ2UtZmllbGQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9wZXJjZW50YWdlLWZpZWxkLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFBlcmNlbnRhZ2VGaWVsZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgQElucHV0KClcbiAgcHVibGljIGNvbnRyb2w6IGFueTtcbiAgQElucHV0KClcbiAgcHVibGljIG1pbjogbnVtYmVyID0gMDtcbiAgQElucHV0KClcbiAgcHVibGljIG1heDogbnVtYmVyID0gMTAwO1xuICBASW5wdXQoKVxuICBwdWJsaWMgbWluRnJhY3Rpb25EaWdpdHM6IG51bWJlciA9IDA7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBtYXhGcmFjdGlvbkRpZ2l0czogbnVtYmVyID0gMDtcbiAgQElucHV0KClcbiAgcHVibGljIHN0ZXAgPSAwO1xuICBAT3V0cHV0KClcbiAgcHVibGljIGJsdXJFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBlbnRlcktleVByZXNzID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KClcbiAgcHVibGljIGZvY3VzRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgcHVibGljIHJlYWRvbmx5IHBlcmNlbnRhZ2VSZWdleCA9IGBeKDEwMChcXFxcLjB7MSwyfSk/fFsxLTldP1xcXFxkKFxcXFwuXFxcXGR7MSwyfSk/KSRgO1xuXG4gIHByaXZhdGUgbGFzdEJsdXJWYWx1ZSA9ICcnO1xuXG4gIG5nT25Jbml0KCkge31cblxuICBuZ09uRGVzdHJveSgpIHt9XG5cbiAgcHVibGljIG9uQmx1cigpIHtcbiAgICB0aGlzLmNvbnRyb2wubWFya0FzVG91Y2hlZCgpO1xuICAgIGlmICh0aGlzLmxhc3RCbHVyVmFsdWUgIT09IHRoaXMuY29udHJvbC52YWx1ZSkge1xuICAgICAgdGhpcy5sYXN0Qmx1clZhbHVlID0gdGhpcy5jb250cm9sLnZhbHVlO1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMuYmx1ckV2ZW50LmVtaXQodGhpcy5jb250cm9sLnZhbHVlKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuIiwiPGZvcm0gY2xhc3M9XCJpbnB1dC1jb250YWluZXJcIj5cbiAgPHAtaW5wdXROdW1iZXJcbiAgICBbZm9ybUNvbnRyb2xdPVwiY29udHJvbFwiXG4gICAgc3VmZml4PVwiJVwiXG4gICAgW21pbl09XCJtaW5cIlxuICAgIFttYXhdPVwibWF4XCJcbiAgICBbbWluRnJhY3Rpb25EaWdpdHNdPVwibWluRnJhY3Rpb25EaWdpdHNcIlxuICAgIFttYXhGcmFjdGlvbkRpZ2l0c109XCJtYXhGcmFjdGlvbkRpZ2l0c1wiXG4gICAgW3N0ZXBdPVwic3RlcFwiXG4gICAgW3Nob3dCdXR0b25zXT1cInN0ZXAgPiAxXCJcbiAgICBidXR0b25MYXlvdXQ9XCJob3Jpem9udGFsXCJcbiAgICBkZWNyZW1lbnRCdXR0b25JY29uPVwicGkgcGktbWludXMtY2lyY2xlXCJcbiAgICBpbmNyZW1lbnRCdXR0b25JY29uPVwicGkgcGktcGx1cy1jaXJjbGVcIlxuICAgIChvbkJsdXIpPVwib25CbHVyKClcIlxuICA+PC9wLWlucHV0TnVtYmVyPlxuPC9mb3JtPlxuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from './radio-button-field.component';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
export * from './radio-button-field.component';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmVjdG9yLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2ZpZWxkcy9yYWRpby1idXR0b24tZmllbGQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxnQ0FBZ0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vcmFkaW8tYnV0dG9uLWZpZWxkLmNvbXBvbmVudCc7XG4iXX0=
|