@po-ui/ng-components 5.19.0 → 5.22.1
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 +36 -36
- package/bundles/po-ui-ng-components.umd.js +38618 -38614
- package/bundles/po-ui-ng-components.umd.js.map +1 -1
- package/esm2015/lib/components/components.module.js +122 -122
- package/esm2015/lib/components/index.js +38 -38
- package/esm2015/lib/components/po-accordion/index.js +4 -4
- package/esm2015/lib/components/po-accordion/po-accordion-base.component.js +29 -29
- package/esm2015/lib/components/po-accordion/po-accordion-item/po-accordion-item.component.js +66 -66
- package/esm2015/lib/components/po-accordion/po-accordion-item-body/po-accordion-item-body.component.js +23 -23
- package/esm2015/lib/components/po-accordion/po-accordion-item-header/po-accordion-item-header.component.js +24 -24
- package/esm2015/lib/components/po-accordion/po-accordion.component.js +70 -70
- package/esm2015/lib/components/po-accordion/po-accordion.module.js +52 -52
- package/esm2015/lib/components/po-accordion/services/po-accordion.service.js +27 -27
- package/esm2015/lib/components/po-avatar/index.js +3 -3
- package/esm2015/lib/components/po-avatar/po-avatar-base.component.js +68 -68
- package/esm2015/lib/components/po-avatar/po-avatar.component.js +42 -42
- package/esm2015/lib/components/po-avatar/po-avatar.module.js +18 -18
- package/esm2015/lib/components/po-badge/po-badge-base.component.js +89 -89
- package/esm2015/lib/components/po-badge/po-badge.component.js +16 -16
- package/esm2015/lib/components/po-badge/po-badge.module.js +18 -18
- package/esm2015/lib/components/po-breadcrumb/index.js +5 -5
- package/esm2015/lib/components/po-breadcrumb/po-breadcrumb-base.component.js +48 -48
- package/esm2015/lib/components/po-breadcrumb/po-breadcrumb-dropdown/po-breadcrumb-dropdown.component.js +20 -20
- package/esm2015/lib/components/po-breadcrumb/po-breadcrumb-favorite/po-breadcrumb-favorite.component.js +77 -77
- package/esm2015/lib/components/po-breadcrumb/po-breadcrumb-favorite/po-breadcrumb-favorite.service.js +49 -49
- package/esm2015/lib/components/po-breadcrumb/po-breadcrumb-item/po-breadcrumb-item.component.js +27 -27
- package/esm2015/lib/components/po-breadcrumb/po-breadcrumb-item.interface.js +2 -2
- package/esm2015/lib/components/po-breadcrumb/po-breadcrumb.component.js +159 -159
- package/esm2015/lib/components/po-breadcrumb/po-breadcrumb.interface.js +2 -2
- package/esm2015/lib/components/po-breadcrumb/po-breadcrumb.module.js +28 -28
- package/esm2015/lib/components/po-button/index.js +3 -3
- package/esm2015/lib/components/po-button/po-button-base.component.js +127 -127
- package/esm2015/lib/components/po-button/po-button.component.js +69 -69
- package/esm2015/lib/components/po-button/po-button.module.js +20 -20
- package/esm2015/lib/components/po-button-group/index.js +5 -5
- package/esm2015/lib/components/po-button-group/po-button-group-base.component.js +95 -95
- package/esm2015/lib/components/po-button-group/po-button-group-item.interface.js +2 -2
- package/esm2015/lib/components/po-button-group/po-button-group-toggle.enum.js +17 -17
- package/esm2015/lib/components/po-button-group/po-button-group.component.js +43 -43
- package/esm2015/lib/components/po-button-group/po-button-group.module.js +20 -20
- package/esm2015/lib/components/po-calendar/index.js +4 -4
- package/esm2015/lib/components/po-calendar/po-calendar-base.component.js +176 -176
- package/esm2015/lib/components/po-calendar/po-calendar-header/po-calendar-header.component.js +24 -24
- package/esm2015/lib/components/po-calendar/po-calendar-mode.enum.js +13 -13
- package/esm2015/lib/components/po-calendar/po-calendar-wrapper/po-calendar-wrapper.component.js +251 -251
- package/esm2015/lib/components/po-calendar/po-calendar.component.js +199 -199
- package/esm2015/lib/components/po-calendar/po-calendar.module.js +19 -19
- package/esm2015/lib/components/po-calendar/services/po-calendar.lang.service.js +187 -187
- package/esm2015/lib/components/po-calendar/services/po-calendar.service.js +44 -44
- package/esm2015/lib/components/po-chart/directives/po-resize-observer.directive.js +44 -44
- package/esm2015/lib/components/po-chart/enums/po-chart-type.enum.js +51 -51
- package/esm2015/lib/components/po-chart/helpers/po-chart-default-values.constant.js +18 -18
- package/esm2015/lib/components/po-chart/index.js +8 -8
- package/esm2015/lib/components/po-chart/interfaces/po-chart-axis-options.interface.js +2 -2
- package/esm2015/lib/components/po-chart/interfaces/po-chart-bar-coordinates.interface.js +2 -2
- package/esm2015/lib/components/po-chart/interfaces/po-chart-container-size.interface.js +11 -11
- package/esm2015/lib/components/po-chart/interfaces/po-chart-label-coordinates.interface.js +2 -2
- package/esm2015/lib/components/po-chart/interfaces/po-chart-min-max-values.interface.js +2 -2
- package/esm2015/lib/components/po-chart/interfaces/po-chart-options.interface.js +2 -2
- package/esm2015/lib/components/po-chart/interfaces/po-chart-path-coordinates.interface.js +2 -2
- package/esm2015/lib/components/po-chart/interfaces/po-chart-points-coordinates.interface.js +2 -2
- package/esm2015/lib/components/po-chart/interfaces/po-chart-serie.interface.js +2 -2
- package/esm2015/lib/components/po-chart/po-chart-base.component.js +244 -244
- package/esm2015/lib/components/po-chart/po-chart-container/po-chart-axis/po-chart-axis-label/po-chart-axis-label.component.js +23 -23
- package/esm2015/lib/components/po-chart/po-chart-container/po-chart-axis/po-chart-axis-path/po-chart-axis-path.component.js +19 -19
- package/esm2015/lib/components/po-chart/po-chart-container/po-chart-axis/po-chart-axis.component.js +287 -287
- package/esm2015/lib/components/po-chart/po-chart-container/po-chart-bar/po-chart-bar-base.component.js +94 -94
- package/esm2015/lib/components/po-chart/po-chart-container/po-chart-bar/po-chart-bar-path/po-chart-bar-path.component.js +33 -33
- package/esm2015/lib/components/po-chart/po-chart-container/po-chart-bar/po-chart-bar.component.js +58 -58
- package/esm2015/lib/components/po-chart/po-chart-container/po-chart-bar/po-chart-column/po-chart-column.component.js +59 -59
- package/esm2015/lib/components/po-chart/po-chart-container/po-chart-circular/po-chart-circular-label/po-chart-circular-label.component.js +29 -29
- package/esm2015/lib/components/po-chart/po-chart-container/po-chart-circular/po-chart-circular-path/po-chart-circular-path.component.js +35 -35
- package/esm2015/lib/components/po-chart/po-chart-container/po-chart-circular/po-chart-circular-path/po-chart-tooltip.directive.js +76 -76
- package/esm2015/lib/components/po-chart/po-chart-container/po-chart-circular/po-chart-circular.component.js +142 -142
- package/esm2015/lib/components/po-chart/po-chart-container/po-chart-circular/po-chart-donut/po-chart-donut.component.js +115 -115
- package/esm2015/lib/components/po-chart/po-chart-container/po-chart-circular/po-chart-pie/po-chart-pie.component.js +57 -57
- package/esm2015/lib/components/po-chart/po-chart-container/po-chart-container.component.js +119 -119
- package/esm2015/lib/components/po-chart/po-chart-container/po-chart-line/po-chart-area/po-chart-area.component.js +77 -77
- package/esm2015/lib/components/po-chart/po-chart-container/po-chart-line/po-chart-line-base.component.js +151 -151
- package/esm2015/lib/components/po-chart/po-chart-container/po-chart-line/po-chart-line.component.js +41 -41
- package/esm2015/lib/components/po-chart/po-chart-container/po-chart-line/po-chart-path/po-chart-path.component.js +65 -65
- package/esm2015/lib/components/po-chart/po-chart-container/po-chart-line/po-chart-series-point/po-chart-series-point.component.js +95 -95
- package/esm2015/lib/components/po-chart/po-chart-legend/po-chart-legend.component.js +21 -21
- package/esm2015/lib/components/po-chart/po-chart-types/po-chart-circular/po-chart-circular.constant.js +11 -11
- package/esm2015/lib/components/po-chart/po-chart-types/po-chart-circular/po-chart-circular.js +374 -374
- package/esm2015/lib/components/po-chart/po-chart-types/po-chart-dynamic-type.component.js +45 -45
- package/esm2015/lib/components/po-chart/po-chart-types/po-chart-gauge/po-chart-gauge-series.interface.js +2 -2
- package/esm2015/lib/components/po-chart/po-chart-types/po-chart-gauge/po-chart-gauge-text-content/po-chart-gauge-text-content.component.js +75 -75
- package/esm2015/lib/components/po-chart/po-chart-types/po-chart-gauge/po-chart-gauge.component.js +85 -85
- package/esm2015/lib/components/po-chart/po-chart.component.js +203 -203
- package/esm2015/lib/components/po-chart/po-chart.module.js +61 -61
- package/esm2015/lib/components/po-chart/services/po-chart-maths.service.js +135 -135
- package/esm2015/lib/components/po-chart/services/po-chart-svg-container.service.js +57 -57
- package/esm2015/lib/components/po-container/index.js +3 -3
- package/esm2015/lib/components/po-container/po-container-base.component.js +88 -88
- package/esm2015/lib/components/po-container/po-container.component.js +32 -32
- package/esm2015/lib/components/po-container/po-container.module.js +18 -18
- package/esm2015/lib/components/po-disclaimer/index.js +4 -4
- package/esm2015/lib/components/po-disclaimer/po-disclaimer-base.component.js +77 -77
- package/esm2015/lib/components/po-disclaimer/po-disclaimer.component.js +29 -29
- package/esm2015/lib/components/po-disclaimer/po-disclaimer.interface.js +2 -2
- package/esm2015/lib/components/po-disclaimer/po-disclaimer.module.js +17 -17
- package/esm2015/lib/components/po-disclaimer-group/index.js +5 -5
- package/esm2015/lib/components/po-disclaimer-group/po-disclaimer-group-base.component.js +194 -194
- package/esm2015/lib/components/po-disclaimer-group/po-disclaimer-group-remove-action.interface.js +2 -2
- package/esm2015/lib/components/po-disclaimer-group/po-disclaimer-group.component.js +41 -41
- package/esm2015/lib/components/po-disclaimer-group/po-disclaimer-group.interface.js +2 -2
- package/esm2015/lib/components/po-disclaimer-group/po-disclaimer-group.module.js +20 -20
- package/esm2015/lib/components/po-disclaimer-group/po-disclaimer-remove/po-disclaimer-remove.component.js +30 -30
- package/esm2015/lib/components/po-divider/index.js +3 -3
- package/esm2015/lib/components/po-divider/po-divider-base.component.js +16 -16
- package/esm2015/lib/components/po-divider/po-divider.component.js +32 -32
- package/esm2015/lib/components/po-divider/po-divider.module.js +18 -18
- package/esm2015/lib/components/po-dropdown/index.js +4 -4
- package/esm2015/lib/components/po-dropdown/po-dropdown-action.interface.js +2 -2
- package/esm2015/lib/components/po-dropdown/po-dropdown-base.component.js +71 -71
- package/esm2015/lib/components/po-dropdown/po-dropdown.component.js +97 -97
- package/esm2015/lib/components/po-dropdown/po-dropdown.module.js +18 -18
- package/esm2015/lib/components/po-dynamic/index.js +11 -11
- package/esm2015/lib/components/po-dynamic/po-dynamic-field-type.enum.js +25 -25
- package/esm2015/lib/components/po-dynamic/po-dynamic-field.interface.js +2 -2
- package/esm2015/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-base.component.js +104 -104
- package/esm2015/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-field.interface.js +2 -2
- package/esm2015/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-fields/po-dynamic-form-field-internal.interface.js +2 -2
- package/esm2015/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-fields/po-dynamic-form-fields-base.component.js +200 -200
- package/esm2015/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-fields/po-dynamic-form-fields.component.js +129 -129
- package/esm2015/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-load/po-dynamic-form-load.interface.js +2 -2
- package/esm2015/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-load/po-dynamic-form-load.service.js +32 -32
- package/esm2015/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-operation/po-dynamic-form-operation.js +20 -20
- package/esm2015/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-response.interface.js +2 -2
- package/esm2015/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-validation/po-dynamic-form-field-changed.interface.js +2 -2
- package/esm2015/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-validation/po-dynamic-form-field-validation.interface.js +2 -2
- package/esm2015/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-validation/po-dynamic-form-validation.interface.js +2 -2
- package/esm2015/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-validation/po-dynamic-form-validation.service.js +39 -39
- package/esm2015/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form.component.js +167 -167
- package/esm2015/lib/components/po-dynamic/po-dynamic-view/po-dynamic-view-base.component.js +163 -163
- package/esm2015/lib/components/po-dynamic/po-dynamic-view/po-dynamic-view-field.interface.js +2 -2
- package/esm2015/lib/components/po-dynamic/po-dynamic-view/po-dynamic-view.component.js +101 -101
- package/esm2015/lib/components/po-dynamic/po-dynamic-view/po-dynamic-view.service.js +17 -17
- package/esm2015/lib/components/po-dynamic/po-dynamic.module.js +35 -35
- package/esm2015/lib/components/po-dynamic/po-dynamic.util.js +18 -18
- package/esm2015/lib/components/po-field/index.js +51 -51
- package/esm2015/lib/components/po-field/po-checkbox/po-checkbox-base.component.js +98 -98
- package/esm2015/lib/components/po-field/po-checkbox/po-checkbox.component.js +94 -94
- package/esm2015/lib/components/po-field/po-checkbox-group/interfaces/po-checkbox-group-option-view.interface.js +2 -2
- package/esm2015/lib/components/po-field/po-checkbox-group/interfaces/po-checkbox-group-option.interface.js +2 -2
- package/esm2015/lib/components/po-field/po-checkbox-group/po-checkbox-group-base.component.js +289 -289
- package/esm2015/lib/components/po-field/po-checkbox-group/po-checkbox-group.component.js +98 -98
- package/esm2015/lib/components/po-field/po-checkbox-group/po-checkbox-group.module.js +20 -20
- package/esm2015/lib/components/po-field/po-clean/po-clean-base.component.js +42 -42
- package/esm2015/lib/components/po-field/po-clean/po-clean.component.js +33 -33
- package/esm2015/lib/components/po-field/po-clean/po-clean.module.js +18 -18
- package/esm2015/lib/components/po-field/po-combo/interfaces/po-combo-filter.interface.js +2 -2
- package/esm2015/lib/components/po-field/po-combo/interfaces/po-combo-group.interface.js +2 -2
- package/esm2015/lib/components/po-field/po-combo/interfaces/po-combo-literals.interface.js +2 -2
- package/esm2015/lib/components/po-field/po-combo/interfaces/po-combo-option-group.interface.js +2 -2
- package/esm2015/lib/components/po-field/po-combo/interfaces/po-combo-option.interface.js +2 -2
- package/esm2015/lib/components/po-field/po-combo/interfaces/po-response.interface.js +2 -2
- package/esm2015/lib/components/po-field/po-combo/po-combo-base.component.js +741 -741
- package/esm2015/lib/components/po-field/po-combo/po-combo-filter-mode.enum.js +17 -17
- package/esm2015/lib/components/po-field/po-combo/po-combo-filter.service.js +78 -78
- package/esm2015/lib/components/po-field/po-combo/po-combo-option-template/po-combo-option-template.directive.js +81 -81
- package/esm2015/lib/components/po-field/po-combo/po-combo.component.js +525 -525
- package/esm2015/lib/components/po-field/po-datepicker/enums/po-datepicker-iso-format.enum.js +17 -17
- package/esm2015/lib/components/po-field/po-datepicker/po-datepicker-base.component.js +396 -396
- package/esm2015/lib/components/po-field/po-datepicker/po-datepicker.component.js +345 -344
- package/esm2015/lib/components/po-field/po-datepicker/po-datepicker.module.js +22 -22
- package/esm2015/lib/components/po-field/po-datepicker-range/interfaces/po-datepicker-range-literals.interface.js +2 -2
- package/esm2015/lib/components/po-field/po-datepicker-range/interfaces/po-datepicker-range.interface.js +2 -2
- package/esm2015/lib/components/po-field/po-datepicker-range/po-datepicker-range-base.component.js +475 -475
- package/esm2015/lib/components/po-field/po-datepicker-range/po-datepicker-range.component.js +443 -436
- package/esm2015/lib/components/po-field/po-datepicker-range/po-datepicker-range.literals.js +27 -27
- package/esm2015/lib/components/po-field/po-decimal/po-decimal.component.js +598 -598
- package/esm2015/lib/components/po-field/po-email/po-email.component.js +106 -106
- package/esm2015/lib/components/po-field/po-field-container/po-field-container-bottom/po-field-container-bottom.component.js +29 -29
- package/esm2015/lib/components/po-field/po-field-container/po-field-container-literals.js +15 -15
- package/esm2015/lib/components/po-field/po-field-container/po-field-container.component.js +39 -39
- package/esm2015/lib/components/po-field/po-field-container/po-field-container.module.js +19 -19
- package/esm2015/lib/components/po-field/po-field-validate.model.js +69 -0
- package/esm2015/lib/components/po-field/po-field.model.js +78 -75
- package/esm2015/lib/components/po-field/po-field.module.js +156 -156
- package/esm2015/lib/components/po-field/po-input/po-input-base.component.js +357 -357
- package/esm2015/lib/components/po-field/po-input/po-input.component.js +56 -56
- package/esm2015/lib/components/po-field/po-input/po-mask.js +460 -460
- package/esm2015/lib/components/po-field/po-input-generic/po-input-generic.js +187 -187
- package/esm2015/lib/components/po-field/po-login/po-login.component.js +65 -65
- package/esm2015/lib/components/po-field/po-lookup/interfaces/po-lookup-advanced-filter.interface.js +2 -2
- package/esm2015/lib/components/po-field/po-lookup/interfaces/po-lookup-column.interface.js +2 -2
- package/esm2015/lib/components/po-field/po-lookup/interfaces/po-lookup-filter.interface.js +2 -2
- package/esm2015/lib/components/po-field/po-lookup/interfaces/po-lookup-filtered-items-params.interface.js +2 -2
- package/esm2015/lib/components/po-field/po-lookup/interfaces/po-lookup-literals.interface.js +2 -2
- package/esm2015/lib/components/po-field/po-lookup/interfaces/po-lookup-response-api.interface.js +2 -2
- package/esm2015/lib/components/po-field/po-lookup/po-lookup-base.component.js +451 -450
- package/esm2015/lib/components/po-field/po-lookup/po-lookup-modal/po-lookup-modal-base.component.js +347 -347
- package/esm2015/lib/components/po-field/po-lookup/po-lookup-modal/po-lookup-modal.component.js +130 -130
- package/esm2015/lib/components/po-field/po-lookup/po-lookup.component.js +337 -332
- package/esm2015/lib/components/po-field/po-lookup/services/po-lookup-filter.service.js +59 -59
- package/esm2015/lib/components/po-field/po-lookup/services/po-lookup-modal.service.js +62 -62
- package/esm2015/lib/components/po-field/po-multiselect/po-multiselect-base.component.js +576 -571
- package/esm2015/lib/components/po-field/po-multiselect/po-multiselect-dropdown/po-multiselect-dropdown.component.js +139 -139
- package/esm2015/lib/components/po-field/po-multiselect/po-multiselect-filter-mode.enum.js +17 -17
- package/esm2015/lib/components/po-field/po-multiselect/po-multiselect-filter.interface.js +2 -2
- package/esm2015/lib/components/po-field/po-multiselect/po-multiselect-filter.service.js +50 -50
- package/esm2015/lib/components/po-field/po-multiselect/po-multiselect-item/po-multiselect-item.component.js +33 -33
- package/esm2015/lib/components/po-field/po-multiselect/po-multiselect-literals.interface.js +2 -2
- package/esm2015/lib/components/po-field/po-multiselect/po-multiselect-option.interface.js +2 -2
- package/esm2015/lib/components/po-field/po-multiselect/po-multiselect-search/po-multiselect-search.component.js +57 -57
- package/esm2015/lib/components/po-field/po-multiselect/po-multiselect.component.js +359 -359
- package/esm2015/lib/components/po-field/po-number/po-number-base.component.js +114 -114
- package/esm2015/lib/components/po-field/po-number/po-number.component.js +119 -119
- package/esm2015/lib/components/po-field/po-password/po-password.component.js +92 -92
- package/esm2015/lib/components/po-field/po-radio-group/po-radio-group-base.component.js +184 -184
- package/esm2015/lib/components/po-field/po-radio-group/po-radio-group-option.interface.js +2 -2
- package/esm2015/lib/components/po-field/po-radio-group/po-radio-group.component.js +119 -119
- package/esm2015/lib/components/po-field/po-rich-text/interfaces/po-rich-text-toolbar-button-group-item.interface.js +2 -2
- package/esm2015/lib/components/po-field/po-rich-text/po-rich-text-base.component.js +181 -181
- package/esm2015/lib/components/po-field/po-rich-text/po-rich-text-body/po-rich-text-body.component.js +312 -312
- package/esm2015/lib/components/po-field/po-rich-text/po-rich-text-image-modal/po-rich-text-image-modal.component.js +96 -96
- package/esm2015/lib/components/po-field/po-rich-text/po-rich-text-link-modal/po-rich-text-link-modal.component.js +140 -140
- package/esm2015/lib/components/po-field/po-rich-text/po-rich-text-literals.js +83 -83
- package/esm2015/lib/components/po-field/po-rich-text/po-rich-text-toolbar/po-rich-text-toolbar.component.js +166 -166
- package/esm2015/lib/components/po-field/po-rich-text/po-rich-text.component.js +147 -147
- package/esm2015/lib/components/po-field/po-rich-text/po-rich-text.service.js +17 -17
- package/esm2015/lib/components/po-field/po-select/po-select-option-template/po-select-option-template.directive.js +59 -59
- package/esm2015/lib/components/po-field/po-select/po-select-option.interface.js +2 -2
- package/esm2015/lib/components/po-field/po-select/po-select.component.js +359 -289
- package/esm2015/lib/components/po-field/po-switch/po-switch-label-position.enum.js +15 -15
- package/esm2015/lib/components/po-field/po-switch/po-switch.component.js +190 -190
- package/esm2015/lib/components/po-field/po-textarea/po-textarea-base.component.js +269 -269
- package/esm2015/lib/components/po-field/po-textarea/po-textarea.component.js +130 -130
- package/esm2015/lib/components/po-field/po-upload/interfaces/po-upload-file-restriction.interface.js +2 -2
- package/esm2015/lib/components/po-field/po-upload/interfaces/po-upload-literals.interface.js +2 -2
- package/esm2015/lib/components/po-field/po-upload/po-upload-base.component.js +573 -573
- package/esm2015/lib/components/po-field/po-upload/po-upload-base.service.js +88 -88
- package/esm2015/lib/components/po-field/po-upload/po-upload-drag-drop/po-upload-drag-drop-area/po-upload-drag-drop-area.component.js +30 -30
- package/esm2015/lib/components/po-field/po-upload/po-upload-drag-drop/po-upload-drag-drop-area-overlay/po-upload-drag-drop-area-overlay.component.js +40 -40
- package/esm2015/lib/components/po-field/po-upload/po-upload-drag-drop/po-upload-drag-drop.component.js +60 -60
- package/esm2015/lib/components/po-field/po-upload/po-upload-drag-drop/po-upload-drag-drop.directive.js +165 -165
- package/esm2015/lib/components/po-field/po-upload/po-upload-file-restrictions/po-upload-file-restrictions.component.js +63 -63
- package/esm2015/lib/components/po-field/po-upload/po-upload-file.js +39 -39
- package/esm2015/lib/components/po-field/po-upload/po-upload-status.enum.js +13 -13
- package/esm2015/lib/components/po-field/po-upload/po-upload.component.js +326 -326
- package/esm2015/lib/components/po-field/po-upload/po-upload.service.js +8 -8
- package/esm2015/lib/components/po-field/po-url/po-url.component.js +86 -86
- package/esm2015/lib/components/po-field/validators.js +41 -41
- package/esm2015/lib/components/po-gauge/index.js +4 -4
- package/esm2015/lib/components/po-gauge/interfaces/po-gauge-coordinates.interface.js +2 -2
- package/esm2015/lib/components/po-gauge/interfaces/po-gauge-ranges.interface.js +2 -2
- package/esm2015/lib/components/po-gauge/interfaces/po-gauge-svg-container.interface.js +2 -2
- package/esm2015/lib/components/po-gauge/po-gauge-base.component.js +146 -146
- package/esm2015/lib/components/po-gauge/po-gauge-default-values.constant.js +11 -11
- package/esm2015/lib/components/po-gauge/po-gauge-description/po-gauge-description.component.js +27 -27
- package/esm2015/lib/components/po-gauge/po-gauge-legend/po-gauge-legend.component.js +27 -27
- package/esm2015/lib/components/po-gauge/po-gauge-svg/po-gauge-path/po-gauge-path.component.js +20 -20
- package/esm2015/lib/components/po-gauge/po-gauge-svg/po-gauge-pointer/po-gauge-pointer.component.js +50 -50
- package/esm2015/lib/components/po-gauge/po-gauge-svg/po-gauge-svg.component.js +204 -204
- package/esm2015/lib/components/po-gauge/po-gauge-title/po-gauge-title.component.js +13 -13
- package/esm2015/lib/components/po-gauge/po-gauge.component.js +72 -72
- package/esm2015/lib/components/po-gauge/po-gauge.module.js +32 -32
- package/esm2015/lib/components/po-grid/index.js +4 -4
- package/esm2015/lib/components/po-grid/po-grid-cell/po-grid-cell.component.js +111 -111
- package/esm2015/lib/components/po-grid/po-grid-cell-action/po-grid-cell-action.component.js +24 -24
- package/esm2015/lib/components/po-grid/po-grid-head/po-grid-head.component.js +30 -30
- package/esm2015/lib/components/po-grid/po-grid-row-actions.interface.js +2 -2
- package/esm2015/lib/components/po-grid/po-grid.component.js +314 -314
- package/esm2015/lib/components/po-grid/po-grid.module.js +23 -23
- package/esm2015/lib/components/po-icon/index.js +3 -3
- package/esm2015/lib/components/po-icon/po-icon.component.js +62 -62
- package/esm2015/lib/components/po-icon/po-icon.module.js +18 -18
- package/esm2015/lib/components/po-info/index.js +4 -4
- package/esm2015/lib/components/po-info/po-info-base.component.js +62 -62
- package/esm2015/lib/components/po-info/po-info-orietation.enum.js +15 -15
- package/esm2015/lib/components/po-info/po-info.component.js +36 -36
- package/esm2015/lib/components/po-info/po-info.module.js +21 -21
- package/esm2015/lib/components/po-list-view/index.js +7 -7
- package/esm2015/lib/components/po-list-view/interfaces/po-list-view-action.interface.js +2 -2
- package/esm2015/lib/components/po-list-view/interfaces/po-list-view-literals.interface.js +2 -2
- package/esm2015/lib/components/po-list-view/po-list-view-base.component.js +274 -274
- package/esm2015/lib/components/po-list-view/po-list-view-content-template/po-list-view-content-template.directive.js +101 -101
- package/esm2015/lib/components/po-list-view/po-list-view-detail-template/po-list-view-detail-template.directive.js +64 -64
- package/esm2015/lib/components/po-list-view/po-list-view.component.js +128 -128
- package/esm2015/lib/components/po-list-view/po-list-view.module.js +51 -51
- package/esm2015/lib/components/po-loading/index.js +5 -5
- package/esm2015/lib/components/po-loading/po-loading-base.component.js +24 -24
- package/esm2015/lib/components/po-loading/po-loading-icon/po-loading-icon.component.js +37 -37
- package/esm2015/lib/components/po-loading/po-loading-overlay/interfaces/po-loading-overlay-literals.interface.js +2 -2
- package/esm2015/lib/components/po-loading/po-loading-overlay/po-loading-overlay-base.component.js +91 -91
- package/esm2015/lib/components/po-loading/po-loading-overlay/po-loading-overlay.component.js +41 -41
- package/esm2015/lib/components/po-loading/po-loading.component.js +16 -16
- package/esm2015/lib/components/po-loading/po-loading.module.js +22 -22
- package/esm2015/lib/components/po-menu/index.js +9 -9
- package/esm2015/lib/components/po-menu/po-menu-base.component.js +299 -299
- package/esm2015/lib/components/po-menu/po-menu-filter/po-menu-filter-literals.interface.js +2 -2
- package/esm2015/lib/components/po-menu/po-menu-filter/po-menu-filter.component.js +40 -40
- package/esm2015/lib/components/po-menu/po-menu-filter/po-menu-filter.interface.js +2 -2
- package/esm2015/lib/components/po-menu/po-menu-header-template/po-menu-header-template.directive.js +51 -51
- package/esm2015/lib/components/po-menu/po-menu-item/po-menu-item-badge.interface.js +2 -2
- package/esm2015/lib/components/po-menu/po-menu-item/po-menu-item-filtered.interface.js +2 -2
- package/esm2015/lib/components/po-menu/po-menu-item/po-menu-item.component.js +173 -173
- package/esm2015/lib/components/po-menu/po-menu-item.interface.js +2 -2
- package/esm2015/lib/components/po-menu/po-menu.component.js +497 -497
- package/esm2015/lib/components/po-menu/po-menu.module.js +26 -26
- package/esm2015/lib/components/po-menu/services/po-menu-global.service.js +32 -32
- package/esm2015/lib/components/po-menu/services/po-menu-items.service.js +35 -35
- package/esm2015/lib/components/po-menu/services/po-menu.service.js +35 -35
- package/esm2015/lib/components/po-menu-panel/index.js +4 -4
- package/esm2015/lib/components/po-menu-panel/po-menu-panel-base.component.js +76 -76
- package/esm2015/lib/components/po-menu-panel/po-menu-panel-item/po-menu-panel-item-internal.interface.js +2 -2
- package/esm2015/lib/components/po-menu-panel/po-menu-panel-item/po-menu-panel-item.component.js +54 -54
- package/esm2015/lib/components/po-menu-panel/po-menu-panel-item/po-menu-panel-item.interface.js +2 -2
- package/esm2015/lib/components/po-menu-panel/po-menu-panel.component.js +145 -145
- package/esm2015/lib/components/po-menu-panel/po-menu-panel.module.js +24 -24
- package/esm2015/lib/components/po-menu-panel/services/po-menu-panel-items.service.js +35 -35
- package/esm2015/lib/components/po-modal/index.js +5 -4
- package/esm2015/lib/components/po-modal/po-modal-action.interface.js +2 -2
- package/esm2015/lib/components/po-modal/po-modal-base.component.js +121 -120
- package/esm2015/lib/components/po-modal/po-modal-footer/po-modal-footer.component.js +43 -0
- package/esm2015/lib/components/po-modal/po-modal.component.js +114 -112
- package/esm2015/lib/components/po-modal/po-modal.literals.js +15 -15
- package/esm2015/lib/components/po-modal/po-modal.module.js +19 -18
- package/esm2015/lib/components/po-navbar/index.js +5 -5
- package/esm2015/lib/components/po-navbar/interfaces/po-navbar-icon-action.interface.js +2 -2
- package/esm2015/lib/components/po-navbar/interfaces/po-navbar-item.interface.js +2 -2
- package/esm2015/lib/components/po-navbar/interfaces/po-navbar-literals.interface.js +2 -2
- package/esm2015/lib/components/po-navbar/po-navbar-actions/po-navbar-action/po-navbar-action.component.js +43 -43
- package/esm2015/lib/components/po-navbar/po-navbar-actions/po-navbar-action-popup/po-navbar-action-popup.component.js +18 -18
- package/esm2015/lib/components/po-navbar/po-navbar-actions/po-navbar-actions.component.js +19 -19
- package/esm2015/lib/components/po-navbar/po-navbar-actions/po-navbar-actions.module.js +18 -18
- package/esm2015/lib/components/po-navbar/po-navbar-base.component.js +147 -147
- package/esm2015/lib/components/po-navbar/po-navbar-item-navigation/po-navbar-item-navigation-icon/po-navbar-item-navigation-icon.component.js +18 -18
- package/esm2015/lib/components/po-navbar/po-navbar-item-navigation/po-navbar-item-navigation.component.js +18 -18
- package/esm2015/lib/components/po-navbar/po-navbar-item-navigation/po-navbar-item-navigation.module.js +15 -15
- package/esm2015/lib/components/po-navbar/po-navbar-items/po-navbar-item/po-navbar-item.component.js +30 -30
- package/esm2015/lib/components/po-navbar/po-navbar-items/po-navbar-items.component.js +53 -53
- package/esm2015/lib/components/po-navbar/po-navbar-items/po-navbar-items.module.js +15 -15
- package/esm2015/lib/components/po-navbar/po-navbar-logo/po-navbar-logo.component.js +13 -13
- package/esm2015/lib/components/po-navbar/po-navbar.component.js +213 -213
- package/esm2015/lib/components/po-navbar/po-navbar.module.js +57 -57
- package/esm2015/lib/components/po-page/index.js +15 -15
- package/esm2015/lib/components/po-page/po-page-action.interface.js +2 -2
- package/esm2015/lib/components/po-page/po-page-base.component.js +23 -23
- package/esm2015/lib/components/po-page/po-page-content/po-page-content-base.component.js +10 -10
- package/esm2015/lib/components/po-page/po-page-content/po-page-content.component.js +54 -54
- package/esm2015/lib/components/po-page/po-page-default/po-page-default-base.component.js +111 -111
- package/esm2015/lib/components/po-page/po-page-default/po-page-default-literals.interface.js +2 -2
- package/esm2015/lib/components/po-page/po-page-default/po-page-default.component.js +98 -98
- package/esm2015/lib/components/po-page/po-page-default/po-page-default.interface.js +2 -2
- package/esm2015/lib/components/po-page/po-page-detail/po-page-detail-base.component.js +141 -141
- package/esm2015/lib/components/po-page/po-page-detail/po-page-detail-literals.interface.js +2 -2
- package/esm2015/lib/components/po-page/po-page-detail/po-page-detail.component.js +62 -62
- package/esm2015/lib/components/po-page/po-page-edit/po-page-edit-base.component.js +146 -146
- package/esm2015/lib/components/po-page/po-page-edit/po-page-edit-literals.interface.js +2 -2
- package/esm2015/lib/components/po-page/po-page-edit/po-page-edit.component.js +65 -65
- package/esm2015/lib/components/po-page/po-page-filter.interface.js +2 -2
- package/esm2015/lib/components/po-page/po-page-header/po-page-header-base.component.js +26 -26
- package/esm2015/lib/components/po-page/po-page-header/po-page-header.component.js +15 -15
- package/esm2015/lib/components/po-page/po-page-list/po-page-list-base.component.js +137 -137
- package/esm2015/lib/components/po-page/po-page-list/po-page-list-literals.interface.js +2 -2
- package/esm2015/lib/components/po-page/po-page-list/po-page-list.component.js +188 -188
- package/esm2015/lib/components/po-page/po-page-slide/po-page-slide-base.component.js +135 -135
- package/esm2015/lib/components/po-page/po-page-slide/po-page-slide.component.js +121 -121
- package/esm2015/lib/components/po-page/po-page.component.js +16 -16
- package/esm2015/lib/components/po-page/po-page.interface.js +2 -2
- package/esm2015/lib/components/po-page/po-page.module.js +60 -60
- package/esm2015/lib/components/po-popover/index.js +3 -3
- package/esm2015/lib/components/po-popover/po-popover-base.component.js +113 -113
- package/esm2015/lib/components/po-popover/po-popover.component.js +138 -138
- package/esm2015/lib/components/po-popover/po-popover.module.js +17 -17
- package/esm2015/lib/components/po-popup/index.js +4 -4
- package/esm2015/lib/components/po-popup/po-popup-action.interface.js +2 -2
- package/esm2015/lib/components/po-popup/po-popup-base.component.js +186 -186
- package/esm2015/lib/components/po-popup/po-popup.component.js +169 -169
- package/esm2015/lib/components/po-popup/po-popup.module.js +21 -21
- package/esm2015/lib/components/po-progress/enums/po-progress-status.enum.js +17 -17
- package/esm2015/lib/components/po-progress/index.js +4 -4
- package/esm2015/lib/components/po-progress/po-progress-bar/po-progress-bar.component.js +18 -18
- package/esm2015/lib/components/po-progress/po-progress-base.component.js +107 -107
- package/esm2015/lib/components/po-progress/po-progress.component.js +56 -56
- package/esm2015/lib/components/po-progress/po-progress.module.js +19 -19
- package/esm2015/lib/components/po-slide/directives/po-slide-content-template.directive.js +59 -59
- package/esm2015/lib/components/po-slide/index.js +5 -5
- package/esm2015/lib/components/po-slide/interfaces/po-slide-item.interface.js +2 -2
- package/esm2015/lib/components/po-slide/po-slide-base.component.js +104 -104
- package/esm2015/lib/components/po-slide/po-slide-circles/po-slide-circles.component.js +26 -26
- package/esm2015/lib/components/po-slide/po-slide-control/po-slide-control.component.js +25 -25
- package/esm2015/lib/components/po-slide/po-slide-item/po-slide-item.component.js +37 -37
- package/esm2015/lib/components/po-slide/po-slide.component.js +256 -256
- package/esm2015/lib/components/po-slide/po-slide.module.js +58 -58
- package/esm2015/lib/components/po-stepper/enums/po-stepper-orientation.enum.js +18 -18
- package/esm2015/lib/components/po-stepper/enums/po-stepper-status.enum.js +23 -23
- package/esm2015/lib/components/po-stepper/index.js +7 -7
- package/esm2015/lib/components/po-stepper/po-step/po-step.component.js +78 -78
- package/esm2015/lib/components/po-stepper/po-stepper-base.component.js +144 -144
- package/esm2015/lib/components/po-stepper/po-stepper-circle/po-stepper-circle.component.js +47 -47
- package/esm2015/lib/components/po-stepper/po-stepper-item.interface.js +2 -2
- package/esm2015/lib/components/po-stepper/po-stepper-label/po-stepper-label.component.js +20 -20
- package/esm2015/lib/components/po-stepper/po-stepper-step/po-stepper-step.component.js +116 -116
- package/esm2015/lib/components/po-stepper/po-stepper.component.js +219 -219
- package/esm2015/lib/components/po-stepper/po-stepper.module.js +27 -27
- package/esm2015/lib/components/po-table/enums/po-table-column-sort-type.enum.js +14 -14
- package/esm2015/lib/components/po-table/enums/po-table-row-template-arrow-direction.enum.js +14 -14
- package/esm2015/lib/components/po-table/index.js +18 -18
- package/esm2015/lib/components/po-table/interfaces/po-table-action.interface.js +2 -2
- package/esm2015/lib/components/po-table/interfaces/po-table-boolean.interface.js +2 -2
- package/esm2015/lib/components/po-table/interfaces/po-table-column-sort.interface.js +2 -2
- package/esm2015/lib/components/po-table/interfaces/po-table-column.interface.js +2 -2
- package/esm2015/lib/components/po-table/interfaces/po-table-filter.interface.js +2 -2
- package/esm2015/lib/components/po-table/interfaces/po-table-filtered-items-params.interface.js +2 -2
- package/esm2015/lib/components/po-table/interfaces/po-table-literals.interface.js +2 -2
- package/esm2015/lib/components/po-table/interfaces/po-table-response-api.interface.js +2 -2
- package/esm2015/lib/components/po-table/po-table-base.component.js +860 -860
- package/esm2015/lib/components/po-table/po-table-cell-template/po-table-cell-template.directive.js +82 -82
- package/esm2015/lib/components/po-table/po-table-column-icon/po-table-column-icon.component.js +72 -72
- package/esm2015/lib/components/po-table/po-table-column-icon/po-table-column-icon.interface.js +2 -2
- package/esm2015/lib/components/po-table/po-table-column-label/po-table-column-label.component.js +38 -38
- package/esm2015/lib/components/po-table/po-table-column-label/po-table-column-label.interface.js +2 -2
- package/esm2015/lib/components/po-table/po-table-column-link/po-table-column-link.component.js +38 -38
- package/esm2015/lib/components/po-table/po-table-column-manager/po-table-column-manager.component.js +250 -250
- package/esm2015/lib/components/po-table/po-table-column-template/po-table-column-template.directive.js +90 -90
- package/esm2015/lib/components/po-table/po-table-detail/po-table-detail-column.interface.js +2 -2
- package/esm2015/lib/components/po-table/po-table-detail/po-table-detail.component.js +88 -88
- package/esm2015/lib/components/po-table/po-table-detail/po-table-detail.interface.js +2 -2
- package/esm2015/lib/components/po-table/po-table-icon/po-table-icon.component.js +46 -46
- package/esm2015/lib/components/po-table/po-table-row-template/po-table-row-template.directive.js +128 -128
- package/esm2015/lib/components/po-table/po-table-show-subtitle/po-table-show-subtitle.component.js +21 -21
- package/esm2015/lib/components/po-table/po-table-subtitle-circle/po-table-subtitle-circle.component.js +41 -41
- package/esm2015/lib/components/po-table/po-table-subtitle-footer/po-table-subtitle-column.interface.js +2 -2
- package/esm2015/lib/components/po-table/po-table-subtitle-footer/po-table-subtitle-footer.component.js +70 -70
- package/esm2015/lib/components/po-table/po-table.component.js +542 -542
- package/esm2015/lib/components/po-table/po-table.module.js +75 -75
- package/esm2015/lib/components/po-table/services/po-table.service.js +38 -38
- package/esm2015/lib/components/po-tabs/index.js +5 -5
- package/esm2015/lib/components/po-tabs/po-tab/po-tab-base.component.js +82 -82
- package/esm2015/lib/components/po-tabs/po-tab/po-tab.component.js +27 -27
- package/esm2015/lib/components/po-tabs/po-tab/po-tab.interface.js +2 -2
- package/esm2015/lib/components/po-tabs/po-tab-button/po-tab-button.component.js +75 -75
- package/esm2015/lib/components/po-tabs/po-tab-dropdown/po-tab-dropdown.component.js +44 -44
- package/esm2015/lib/components/po-tabs/po-tabs-base.component.js +49 -49
- package/esm2015/lib/components/po-tabs/po-tabs.component.js +126 -126
- package/esm2015/lib/components/po-tabs/po-tabs.module.js +21 -21
- package/esm2015/lib/components/po-tag/enums/po-tag-icon.enum.js +19 -19
- package/esm2015/lib/components/po-tag/enums/po-tag-orientation.enum.js +15 -15
- package/esm2015/lib/components/po-tag/enums/po-tag-type.enum.js +19 -19
- package/esm2015/lib/components/po-tag/index.js +5 -5
- package/esm2015/lib/components/po-tag/interfaces/po-tag-item.interface.js +2 -2
- package/esm2015/lib/components/po-tag/po-tag-base.component.js +175 -175
- package/esm2015/lib/components/po-tag/po-tag.component.js +71 -71
- package/esm2015/lib/components/po-tag/po-tag.module.js +21 -21
- package/esm2015/lib/components/po-toolbar/index.js +5 -5
- package/esm2015/lib/components/po-toolbar/po-toolbar-action.interface.js +2 -2
- package/esm2015/lib/components/po-toolbar/po-toolbar-actions/po-toolbar-actions.component.js +35 -35
- package/esm2015/lib/components/po-toolbar/po-toolbar-base.component.js +43 -43
- package/esm2015/lib/components/po-toolbar/po-toolbar-notification/po-toolbar-notification.component.js +39 -39
- package/esm2015/lib/components/po-toolbar/po-toolbar-profile/po-toolbar-profile.component.js +28 -28
- package/esm2015/lib/components/po-toolbar/po-toolbar-profile/po-toolbar-profile.interface.js +2 -2
- package/esm2015/lib/components/po-toolbar/po-toolbar.component.js +46 -46
- package/esm2015/lib/components/po-toolbar/po-toolbar.module.js +32 -32
- package/esm2015/lib/components/po-tree-view/index.js +4 -4
- package/esm2015/lib/components/po-tree-view/po-tree-view-base.component.js +197 -197
- package/esm2015/lib/components/po-tree-view/po-tree-view-item/po-tree-view-item.component.js +58 -58
- package/esm2015/lib/components/po-tree-view/po-tree-view-item/po-tree-view-item.interface.js +2 -2
- package/esm2015/lib/components/po-tree-view/po-tree-view-item-header/po-tree-view-item-header.component.js +26 -26
- package/esm2015/lib/components/po-tree-view/po-tree-view.component.js +60 -60
- package/esm2015/lib/components/po-tree-view/po-tree-view.module.js +49 -49
- package/esm2015/lib/components/po-tree-view/services/po-tree-view.service.js +24 -24
- package/esm2015/lib/components/po-widget/index.js +3 -3
- package/esm2015/lib/components/po-widget/po-widget-base.component.js +216 -216
- package/esm2015/lib/components/po-widget/po-widget.component.js +114 -114
- package/esm2015/lib/components/po-widget/po-widget.module.js +19 -19
- package/esm2015/lib/decorators/index.js +3 -3
- package/esm2015/lib/decorators/input-boolean/input-boolean.decorator.js +18 -18
- package/esm2015/lib/decorators/input-required/input-required.decorator.js +34 -34
- package/esm2015/lib/decorators/property-decorator.interface.js +2 -2
- package/esm2015/lib/decorators/utils-decorators.js +64 -64
- package/esm2015/lib/directives/directives.module.js +14 -14
- package/esm2015/lib/directives/index.js +3 -3
- package/esm2015/lib/directives/po-tooltip/index.js +3 -3
- package/esm2015/lib/directives/po-tooltip/po-tooltip-base.directive.js +106 -106
- package/esm2015/lib/directives/po-tooltip/po-tooltip-control-position.service.js +8 -8
- package/esm2015/lib/directives/po-tooltip/po-tooltip.directive.js +147 -147
- package/esm2015/lib/directives/po-tooltip/po-tooltip.module.js +18 -18
- package/esm2015/lib/enums/po-color-palette.enum.js +35 -35
- package/esm2015/lib/enums/po-key-code.enum.js +31 -31
- package/esm2015/lib/guards/guards.module.js +13 -13
- package/esm2015/lib/guards/index.js +2 -2
- package/esm2015/lib/index.js +10 -10
- package/esm2015/lib/interceptors/index.js +4 -4
- package/esm2015/lib/interceptors/interceptors.module.js +15 -15
- package/esm2015/lib/interceptors/po-http-interceptor/index.js +3 -3
- package/esm2015/lib/interceptors/po-http-interceptor/po-http-interceptor-base.service.js +249 -249
- package/esm2015/lib/interceptors/po-http-interceptor/po-http-interceptor-detail/po-http-interceptor-detail-literals.interface.js +39 -39
- package/esm2015/lib/interceptors/po-http-interceptor/po-http-interceptor-detail/po-http-interceptor-detail.component.js +83 -83
- package/esm2015/lib/interceptors/po-http-interceptor/po-http-interceptor-detail/po-http-interceptor-detail.interface.js +2 -2
- package/esm2015/lib/interceptors/po-http-interceptor/po-http-interceptor-literals.js +23 -23
- package/esm2015/lib/interceptors/po-http-interceptor/po-http-interceptor.module.js +28 -28
- package/esm2015/lib/interceptors/po-http-interceptor/po-http-interceptor.service.js +28 -28
- package/esm2015/lib/interceptors/po-http-request/index.js +3 -3
- package/esm2015/lib/interceptors/po-http-request/po-http-request-control-service.js +23 -23
- package/esm2015/lib/interceptors/po-http-request/po-http-request-interceptor.service.js +169 -169
- package/esm2015/lib/interceptors/po-http-request/po-http-request.module.js +24 -24
- package/esm2015/lib/interfaces/index.js +2 -2
- package/esm2015/lib/interfaces/po-http/po-response-api.interface.js +2 -2
- package/esm2015/lib/pipes/index.js +3 -3
- package/esm2015/lib/pipes/pipes.module.js +14 -14
- package/esm2015/lib/pipes/po-time/index.js +3 -3
- package/esm2015/lib/pipes/po-time/po-time.module.js +19 -19
- package/esm2015/lib/pipes/po-time/po-time.pipe.js +55 -55
- package/esm2015/lib/po.module.js +34 -34
- package/esm2015/lib/services/index.js +11 -11
- package/esm2015/lib/services/po-active-overlay/index.js +3 -3
- package/esm2015/lib/services/po-active-overlay/po-active-overlay.module.js +16 -16
- package/esm2015/lib/services/po-active-overlay/po-active-overlay.service.js +14 -14
- package/esm2015/lib/services/po-color/po-color.service.js +60 -60
- package/esm2015/lib/services/po-color/po-colors.constant.js +43 -43
- package/esm2015/lib/services/po-color-palette/index.js +3 -3
- package/esm2015/lib/services/po-color-palette/po-color-palette.module.js +16 -16
- package/esm2015/lib/services/po-color-palette/po-color-palette.service.js +25 -25
- package/esm2015/lib/services/po-component-injector/index.js +3 -3
- package/esm2015/lib/services/po-component-injector/po-component-injector.module.js +14 -14
- package/esm2015/lib/services/po-component-injector/po-component-injector.service.js +34 -34
- package/esm2015/lib/services/po-control-position/index.js +3 -3
- package/esm2015/lib/services/po-control-position/po-control-position.constants.js +16 -16
- package/esm2015/lib/services/po-control-position/po-control-position.module.js +15 -15
- package/esm2015/lib/services/po-control-position/po-control-position.service.js +361 -361
- package/esm2015/lib/services/po-date/index.js +3 -3
- package/esm2015/lib/services/po-date/po-date.module.js +16 -16
- package/esm2015/lib/services/po-date/po-date.service.js +201 -201
- package/esm2015/lib/services/po-dialog/index.js +8 -8
- package/esm2015/lib/services/po-dialog/interfaces/po-dialog-alert-literals.interface.js +2 -2
- package/esm2015/lib/services/po-dialog/interfaces/po-dialog-confirm-literals.interface.js +2 -2
- package/esm2015/lib/services/po-dialog/interfaces/po-dialog.interface.js +2 -2
- package/esm2015/lib/services/po-dialog/po-dialog-base.service.js +18 -18
- package/esm2015/lib/services/po-dialog/po-dialog.component.js +115 -115
- package/esm2015/lib/services/po-dialog/po-dialog.enum.js +16 -16
- package/esm2015/lib/services/po-dialog/po-dialog.module.js +15 -15
- package/esm2015/lib/services/po-dialog/po-dialog.service.js +42 -42
- package/esm2015/lib/services/po-i18n/index.js +8 -8
- package/esm2015/lib/services/po-i18n/interfaces/po-i18n-config-default.interface.js +2 -2
- package/esm2015/lib/services/po-i18n/interfaces/po-i18n-config.interface.js +2 -2
- package/esm2015/lib/services/po-i18n/interfaces/po-i18n-literals.interface.js +2 -2
- package/esm2015/lib/services/po-i18n/po-i18n-base.pipe.js +40 -40
- package/esm2015/lib/services/po-i18n/po-i18n-base.service.js +439 -439
- package/esm2015/lib/services/po-i18n/po-i18n-config-injection-token.js +3 -3
- package/esm2015/lib/services/po-i18n/po-i18n.module.js +188 -188
- package/esm2015/lib/services/po-i18n/po-i18n.pipe.js +21 -21
- package/esm2015/lib/services/po-i18n/po-i18n.service.js +20 -20
- package/esm2015/lib/services/po-language/index.js +5 -5
- package/esm2015/lib/services/po-language/po-language.constant.js +75 -75
- package/esm2015/lib/services/po-language/po-language.interface.js +2 -2
- package/esm2015/lib/services/po-language/po-language.module.js +15 -15
- package/esm2015/lib/services/po-language/po-language.service.js +136 -136
- package/esm2015/lib/services/po-notification/index.js +6 -6
- package/esm2015/lib/services/po-notification/po-notification-base.service.js +111 -111
- package/esm2015/lib/services/po-notification/po-notification.interface.js +2 -2
- package/esm2015/lib/services/po-notification/po-notification.module.js +15 -15
- package/esm2015/lib/services/po-notification/po-notification.service.js +92 -92
- package/esm2015/lib/services/po-notification/po-toaster/po-toaster-base.component.js +15 -15
- package/esm2015/lib/services/po-notification/po-toaster/po-toaster-orientation.enum.js +13 -13
- package/esm2015/lib/services/po-notification/po-toaster/po-toaster-type.enum.js +17 -17
- package/esm2015/lib/services/po-notification/po-toaster/po-toaster.component.js +132 -132
- package/esm2015/lib/services/po-notification/po-toaster/po-toaster.interface.js +2 -2
- package/esm2015/lib/services/services.module.js +40 -40
- package/esm2015/lib/utils/util.js +508 -508
- package/esm2015/po-ui-ng-components.js +206 -206
- package/esm2015/public-api.js +2 -2
- package/fesm2015/po-ui-ng-components.js +35174 -35162
- package/fesm2015/po-ui-ng-components.js.map +1 -1
- package/lib/components/components.module.d.ts +2 -2
- package/lib/components/index.d.ts +37 -37
- package/lib/components/po-accordion/index.d.ts +3 -3
- package/lib/components/po-accordion/po-accordion-base.component.d.ts +28 -28
- package/lib/components/po-accordion/po-accordion-item/po-accordion-item.component.d.ts +49 -49
- package/lib/components/po-accordion/po-accordion-item-body/po-accordion-item-body.component.d.ts +3 -3
- package/lib/components/po-accordion/po-accordion-item-header/po-accordion-item-header.component.d.ts +7 -7
- package/lib/components/po-accordion/po-accordion.component.d.ts +37 -37
- package/lib/components/po-accordion/po-accordion.module.d.ts +33 -33
- package/lib/components/po-accordion/services/po-accordion.service.d.ts +13 -13
- package/lib/components/po-avatar/index.d.ts +2 -2
- package/lib/components/po-avatar/po-avatar-base.component.d.ts +53 -53
- package/lib/components/po-avatar/po-avatar.component.d.ts +28 -28
- package/lib/components/po-avatar/po-avatar.module.d.ts +7 -7
- package/lib/components/po-badge/po-badge-base.component.d.ts +55 -55
- package/lib/components/po-badge/po-badge.component.d.ts +8 -8
- package/lib/components/po-badge/po-badge.module.d.ts +7 -7
- package/lib/components/po-breadcrumb/index.d.ts +4 -4
- package/lib/components/po-breadcrumb/po-breadcrumb-base.component.d.ts +104 -104
- package/lib/components/po-breadcrumb/po-breadcrumb-dropdown/po-breadcrumb-dropdown.component.d.ts +11 -11
- package/lib/components/po-breadcrumb/po-breadcrumb-favorite/po-breadcrumb-favorite.component.d.ts +29 -29
- package/lib/components/po-breadcrumb/po-breadcrumb-favorite/po-breadcrumb-favorite.service.d.ts +27 -27
- package/lib/components/po-breadcrumb/po-breadcrumb-item/po-breadcrumb-item.component.d.ts +13 -13
- package/lib/components/po-breadcrumb/po-breadcrumb-item.interface.d.ts +31 -31
- package/lib/components/po-breadcrumb/po-breadcrumb.component.d.ts +53 -53
- package/lib/components/po-breadcrumb/po-breadcrumb.interface.d.ts +42 -42
- package/lib/components/po-breadcrumb/po-breadcrumb.module.d.ts +8 -8
- package/lib/components/po-button/index.d.ts +2 -2
- package/lib/components/po-button/po-button-base.component.d.ts +120 -120
- package/lib/components/po-button/po-button.component.d.ts +49 -49
- package/lib/components/po-button/po-button.module.d.ts +7 -7
- package/lib/components/po-button-group/index.d.ts +4 -4
- package/lib/components/po-button-group/po-button-group-base.component.d.ts +53 -53
- package/lib/components/po-button-group/po-button-group-item.interface.d.ts +64 -64
- package/lib/components/po-button-group/po-button-group-toggle.enum.d.ts +15 -15
- package/lib/components/po-button-group/po-button-group.component.d.ts +31 -31
- package/lib/components/po-button-group/po-button-group.module.d.ts +7 -7
- package/lib/components/po-calendar/index.d.ts +3 -3
- package/lib/components/po-calendar/po-calendar-base.component.d.ts +129 -129
- package/lib/components/po-calendar/po-calendar-header/po-calendar-header.component.d.ts +8 -8
- package/lib/components/po-calendar/po-calendar-mode.enum.d.ts +11 -11
- package/lib/components/po-calendar/po-calendar-wrapper/po-calendar-wrapper.component.d.ts +77 -77
- package/lib/components/po-calendar/po-calendar.component.d.ts +53 -53
- package/lib/components/po-calendar/po-calendar.module.d.ts +6 -6
- package/lib/components/po-calendar/services/po-calendar.lang.service.d.ts +16 -16
- package/lib/components/po-calendar/services/po-calendar.service.d.ts +5 -5
- package/lib/components/po-chart/directives/po-resize-observer.directive.d.ts +12 -12
- package/lib/components/po-chart/enums/po-chart-type.enum.d.ts +49 -49
- package/lib/components/po-chart/helpers/po-chart-default-values.constant.d.ts +8 -8
- package/lib/components/po-chart/index.d.ts +7 -7
- package/lib/components/po-chart/interfaces/po-chart-axis-options.interface.d.ts +37 -37
- package/lib/components/po-chart/interfaces/po-chart-bar-coordinates.interface.d.ts +23 -23
- package/lib/components/po-chart/interfaces/po-chart-container-size.interface.d.ts +23 -23
- package/lib/components/po-chart/interfaces/po-chart-label-coordinates.interface.d.ts +19 -19
- package/lib/components/po-chart/interfaces/po-chart-min-max-values.interface.d.ts +19 -19
- package/lib/components/po-chart/interfaces/po-chart-options.interface.d.ts +20 -20
- package/lib/components/po-chart/interfaces/po-chart-path-coordinates.interface.d.ts +23 -23
- package/lib/components/po-chart/interfaces/po-chart-points-coordinates.interface.d.ts +26 -26
- package/lib/components/po-chart/interfaces/po-chart-serie.interface.d.ts +101 -101
- package/lib/components/po-chart/po-chart-base.component.d.ts +152 -152
- package/lib/components/po-chart/po-chart-container/po-chart-axis/po-chart-axis-label/po-chart-axis-label.component.d.ts +10 -10
- package/lib/components/po-chart/po-chart-container/po-chart-axis/po-chart-axis-path/po-chart-axis-path.component.d.ts +7 -7
- package/lib/components/po-chart/po-chart-container/po-chart-axis/po-chart-axis.component.d.ts +60 -60
- package/lib/components/po-chart/po-chart-container/po-chart-bar/po-chart-bar-base.component.d.ts +31 -31
- package/lib/components/po-chart/po-chart-container/po-chart-bar/po-chart-bar-path/po-chart-bar-path.component.d.ts +13 -13
- package/lib/components/po-chart/po-chart-container/po-chart-bar/po-chart-bar.component.d.ts +13 -13
- package/lib/components/po-chart/po-chart-container/po-chart-bar/po-chart-column/po-chart-column.component.d.ts +13 -13
- package/lib/components/po-chart/po-chart-container/po-chart-circular/po-chart-circular-label/po-chart-circular-label.component.d.ts +11 -11
- package/lib/components/po-chart/po-chart-container/po-chart-circular/po-chart-circular-path/po-chart-circular-path.component.d.ts +13 -13
- package/lib/components/po-chart/po-chart-container/po-chart-circular/po-chart-circular-path/po-chart-tooltip.directive.d.ts +20 -20
- package/lib/components/po-chart/po-chart-container/po-chart-circular/po-chart-circular.component.d.ts +42 -42
- package/lib/components/po-chart/po-chart-container/po-chart-circular/po-chart-donut/po-chart-donut.component.d.ts +16 -16
- package/lib/components/po-chart/po-chart-container/po-chart-circular/po-chart-pie/po-chart-pie.component.d.ts +8 -8
- package/lib/components/po-chart/po-chart-container/po-chart-container.component.d.ts +43 -43
- package/lib/components/po-chart/po-chart-container/po-chart-line/po-chart-area/po-chart-area.component.d.ts +20 -20
- package/lib/components/po-chart/po-chart-container/po-chart-line/po-chart-line-base.component.d.ts +46 -46
- package/lib/components/po-chart/po-chart-container/po-chart-line/po-chart-line.component.d.ts +13 -13
- package/lib/components/po-chart/po-chart-container/po-chart-line/po-chart-path/po-chart-path.component.d.ts +19 -19
- package/lib/components/po-chart/po-chart-container/po-chart-line/po-chart-series-point/po-chart-series-point.component.d.ts +30 -30
- package/lib/components/po-chart/po-chart-legend/po-chart-legend.component.d.ts +7 -7
- package/lib/components/po-chart/po-chart-types/po-chart-circular/po-chart-circular.constant.d.ts +7 -7
- package/lib/components/po-chart/po-chart-types/po-chart-circular/po-chart-circular.d.ts +55 -55
- package/lib/components/po-chart/po-chart-types/po-chart-dynamic-type.component.d.ts +36 -36
- package/lib/components/po-chart/po-chart-types/po-chart-gauge/po-chart-gauge-series.interface.d.ts +39 -39
- package/lib/components/po-chart/po-chart-types/po-chart-gauge/po-chart-gauge-text-content/po-chart-gauge-text-content.component.d.ts +24 -24
- package/lib/components/po-chart/po-chart-types/po-chart-gauge/po-chart-gauge.component.d.ts +20 -20
- package/lib/components/po-chart/po-chart.component.d.ts +67 -67
- package/lib/components/po-chart/po-chart.module.d.ts +7 -7
- package/lib/components/po-chart/services/po-chart-maths.service.d.ts +63 -63
- package/lib/components/po-chart/services/po-chart-svg-container.service.d.ts +21 -21
- package/lib/components/po-container/index.d.ts +2 -2
- package/lib/components/po-container/po-container-base.component.d.ts +59 -59
- package/lib/components/po-container/po-container.component.d.ts +24 -24
- package/lib/components/po-container/po-container.module.d.ts +7 -7
- package/lib/components/po-disclaimer/index.d.ts +3 -3
- package/lib/components/po-disclaimer/po-disclaimer-base.component.d.ts +56 -56
- package/lib/components/po-disclaimer/po-disclaimer.component.d.ts +16 -16
- package/lib/components/po-disclaimer/po-disclaimer.interface.d.ts +17 -17
- package/lib/components/po-disclaimer/po-disclaimer.module.d.ts +6 -6
- package/lib/components/po-disclaimer-group/index.d.ts +4 -4
- package/lib/components/po-disclaimer-group/po-disclaimer-group-base.component.d.ts +114 -114
- package/lib/components/po-disclaimer-group/po-disclaimer-group-remove-action.interface.d.ts +18 -18
- package/lib/components/po-disclaimer-group/po-disclaimer-group.component.d.ts +28 -28
- package/lib/components/po-disclaimer-group/po-disclaimer-group.interface.d.ts +78 -78
- package/lib/components/po-disclaimer-group/po-disclaimer-group.module.d.ts +7 -7
- package/lib/components/po-disclaimer-group/po-disclaimer-remove/po-disclaimer-remove.component.d.ts +16 -16
- package/lib/components/po-divider/index.d.ts +2 -2
- package/lib/components/po-divider/po-divider-base.component.d.ts +10 -10
- package/lib/components/po-divider/po-divider.component.d.ts +23 -23
- package/lib/components/po-divider/po-divider.module.d.ts +7 -7
- package/lib/components/po-dropdown/index.d.ts +3 -3
- package/lib/components/po-dropdown/po-dropdown-action.interface.d.ts +11 -11
- package/lib/components/po-dropdown/po-dropdown-base.component.d.ts +54 -54
- package/lib/components/po-dropdown/po-dropdown.component.d.ts +41 -41
- package/lib/components/po-dropdown/po-dropdown.module.d.ts +6 -6
- package/lib/components/po-dynamic/index.d.ts +10 -10
- package/lib/components/po-dynamic/po-dynamic-field-type.enum.d.ts +23 -23
- package/lib/components/po-dynamic/po-dynamic-field.interface.d.ts +130 -130
- package/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-base.component.d.ts +215 -215
- package/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-field.interface.d.ts +249 -251
- package/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-fields/po-dynamic-form-field-internal.interface.d.ts +14 -14
- package/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-fields/po-dynamic-form-fields-base.component.d.ts +44 -44
- package/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-fields/po-dynamic-form-fields.component.d.ts +36 -36
- package/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-load/po-dynamic-form-load.interface.d.ts +20 -20
- package/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-load/po-dynamic-form-load.service.d.ts +8 -8
- package/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-operation/po-dynamic-form-operation.d.ts +10 -10
- package/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-response.interface.d.ts +29 -29
- package/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-validation/po-dynamic-form-field-changed.interface.d.ts +13 -13
- package/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-validation/po-dynamic-form-field-validation.interface.d.ts +21 -21
- package/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-validation/po-dynamic-form-validation.interface.d.ts +20 -20
- package/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-validation/po-dynamic-form-validation.service.d.ts +12 -12
- package/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form.component.d.ts +83 -83
- package/lib/components/po-dynamic/po-dynamic-view/po-dynamic-view-base.component.d.ts +134 -134
- package/lib/components/po-dynamic/po-dynamic-view/po-dynamic-view-field.interface.d.ts +104 -104
- package/lib/components/po-dynamic/po-dynamic-view/po-dynamic-view.component.d.ts +36 -36
- package/lib/components/po-dynamic/po-dynamic-view/po-dynamic-view.service.d.ts +10 -10
- package/lib/components/po-dynamic/po-dynamic.module.d.ts +2 -2
- package/lib/components/po-dynamic/po-dynamic.util.d.ts +4 -4
- package/lib/components/po-field/index.d.ts +50 -50
- package/lib/components/po-field/po-checkbox/po-checkbox-base.component.d.ts +62 -62
- package/lib/components/po-field/po-checkbox/po-checkbox.component.d.ts +51 -51
- package/lib/components/po-field/po-checkbox-group/interfaces/po-checkbox-group-option-view.interface.d.ts +14 -14
- package/lib/components/po-field/po-checkbox-group/interfaces/po-checkbox-group-option.interface.d.ts +24 -24
- package/lib/components/po-field/po-checkbox-group/po-checkbox-group-base.component.d.ts +176 -176
- package/lib/components/po-field/po-checkbox-group/po-checkbox-group.component.d.ts +50 -50
- package/lib/components/po-field/po-checkbox-group/po-checkbox-group.module.d.ts +7 -7
- package/lib/components/po-field/po-clean/po-clean-base.component.d.ts +30 -30
- package/lib/components/po-field/po-clean/po-clean.component.d.ts +17 -17
- package/lib/components/po-field/po-clean/po-clean.module.d.ts +7 -7
- package/lib/components/po-field/po-combo/interfaces/po-combo-filter.interface.d.ts +27 -27
- package/lib/components/po-field/po-combo/interfaces/po-combo-group.interface.d.ts +11 -11
- package/lib/components/po-field/po-combo/interfaces/po-combo-literals.interface.d.ts +11 -11
- package/lib/components/po-field/po-combo/interfaces/po-combo-option-group.interface.d.ts +14 -14
- package/lib/components/po-field/po-combo/interfaces/po-combo-option.interface.d.ts +21 -21
- package/lib/components/po-field/po-combo/interfaces/po-response.interface.d.ts +11 -11
- package/lib/components/po-field/po-combo/po-combo-base.component.d.ts +401 -401
- package/lib/components/po-field/po-combo/po-combo-filter-mode.enum.d.ts +15 -15
- package/lib/components/po-field/po-combo/po-combo-filter.service.d.ts +28 -28
- package/lib/components/po-field/po-combo/po-combo-option-template/po-combo-option-template.directive.d.ts +70 -70
- package/lib/components/po-field/po-combo/po-combo.component.d.ts +139 -139
- package/lib/components/po-field/po-datepicker/enums/po-datepicker-iso-format.enum.d.ts +15 -15
- package/lib/components/po-field/po-datepicker/po-datepicker-base.component.d.ts +223 -223
- package/lib/components/po-field/po-datepicker/po-datepicker.component.d.ts +101 -101
- package/lib/components/po-field/po-datepicker/po-datepicker.module.d.ts +7 -7
- package/lib/components/po-field/po-datepicker-range/interfaces/po-datepicker-range-literals.interface.d.ts +17 -17
- package/lib/components/po-field/po-datepicker-range/interfaces/po-datepicker-range.interface.d.ts +16 -16
- package/lib/components/po-field/po-datepicker-range/po-datepicker-range-base.component.d.ts +269 -269
- package/lib/components/po-field/po-datepicker-range/po-datepicker-range.component.d.ts +125 -124
- package/lib/components/po-field/po-datepicker-range/po-datepicker-range.literals.d.ts +7 -7
- package/lib/components/po-field/po-decimal/po-decimal.component.d.ts +180 -180
- package/lib/components/po-field/po-email/po-email.component.d.ts +42 -42
- package/lib/components/po-field/po-field-container/po-field-container-bottom/po-field-container-bottom.component.d.ts +15 -15
- package/lib/components/po-field/po-field-container/po-field-container-literals.d.ts +14 -14
- package/lib/components/po-field/po-field-container/po-field-container.component.d.ts +18 -18
- package/lib/components/po-field/po-field-container/po-field-container.module.d.ts +7 -7
- package/lib/components/po-field/po-field-validate.model.d.ts +38 -0
- package/lib/components/po-field/po-field.model.d.ts +51 -50
- package/lib/components/po-field/po-field.module.d.ts +12 -12
- package/lib/components/po-field/po-input/po-input-base.component.d.ts +265 -265
- package/lib/components/po-field/po-input/po-input.component.d.ts +29 -29
- package/lib/components/po-field/po-input/po-mask.d.ts +49 -49
- package/lib/components/po-field/po-input-generic/po-input-generic.d.ts +35 -35
- package/lib/components/po-field/po-login/po-login.component.d.ts +34 -34
- package/lib/components/po-field/po-lookup/interfaces/po-lookup-advanced-filter.interface.d.ts +8 -8
- package/lib/components/po-field/po-lookup/interfaces/po-lookup-column.interface.d.ts +44 -44
- package/lib/components/po-field/po-lookup/interfaces/po-lookup-filter.interface.d.ts +29 -29
- package/lib/components/po-field/po-lookup/interfaces/po-lookup-filtered-items-params.interface.d.ts +40 -40
- package/lib/components/po-field/po-lookup/interfaces/po-lookup-literals.interface.d.ts +40 -40
- package/lib/components/po-field/po-lookup/interfaces/po-lookup-response-api.interface.d.ts +8 -8
- package/lib/components/po-field/po-lookup/po-lookup-base.component.d.ts +387 -387
- package/lib/components/po-field/po-lookup/po-lookup-modal/po-lookup-modal-base.component.d.ts +119 -119
- package/lib/components/po-field/po-lookup/po-lookup-modal/po-lookup-modal.component.d.ts +41 -41
- package/lib/components/po-field/po-lookup/po-lookup.component.d.ts +113 -113
- package/lib/components/po-field/po-lookup/services/po-lookup-filter.service.d.ts +25 -25
- package/lib/components/po-field/po-lookup/services/po-lookup-modal.service.d.ts +44 -44
- package/lib/components/po-field/po-multiselect/po-multiselect-base.component.d.ts +345 -345
- package/lib/components/po-field/po-multiselect/po-multiselect-dropdown/po-multiselect-dropdown.component.d.ts +57 -57
- package/lib/components/po-field/po-multiselect/po-multiselect-filter-mode.enum.d.ts +15 -15
- package/lib/components/po-field/po-multiselect/po-multiselect-filter.interface.d.ts +28 -28
- package/lib/components/po-field/po-multiselect/po-multiselect-filter.service.d.ts +18 -18
- package/lib/components/po-field/po-multiselect/po-multiselect-item/po-multiselect-item.component.d.ts +17 -17
- package/lib/components/po-field/po-multiselect/po-multiselect-literals.interface.d.ts +15 -15
- package/lib/components/po-field/po-multiselect/po-multiselect-option.interface.d.ts +13 -13
- package/lib/components/po-field/po-multiselect/po-multiselect-search/po-multiselect-search.component.d.ts +34 -34
- package/lib/components/po-field/po-multiselect/po-multiselect.component.d.ts +107 -107
- package/lib/components/po-field/po-number/po-number-base.component.d.ts +18 -18
- package/lib/components/po-field/po-number/po-number.component.d.ts +59 -59
- package/lib/components/po-field/po-password/po-password.component.d.ts +48 -48
- package/lib/components/po-field/po-radio-group/po-radio-group-base.component.d.ts +119 -119
- package/lib/components/po-field/po-radio-group/po-radio-group-option.interface.d.ts +15 -15
- package/lib/components/po-field/po-radio-group/po-radio-group.component.d.ts +64 -64
- package/lib/components/po-field/po-rich-text/interfaces/po-rich-text-toolbar-button-group-item.interface.d.ts +4 -4
- package/lib/components/po-field/po-rich-text/po-rich-text-base.component.d.ts +144 -144
- package/lib/components/po-field/po-rich-text/po-rich-text-body/po-rich-text-body.component.d.ts +52 -52
- package/lib/components/po-field/po-rich-text/po-rich-text-image-modal/po-rich-text-image-modal.component.d.ts +34 -34
- package/lib/components/po-field/po-rich-text/po-rich-text-link-modal/po-rich-text-link-modal.component.d.ts +45 -45
- package/lib/components/po-field/po-rich-text/po-rich-text-literals.d.ts +82 -82
- package/lib/components/po-field/po-rich-text/po-rich-text-toolbar/po-rich-text-toolbar.component.d.ts +45 -45
- package/lib/components/po-field/po-rich-text/po-rich-text.component.d.ts +60 -60
- package/lib/components/po-field/po-rich-text/po-rich-text.service.d.ts +5 -5
- package/lib/components/po-field/po-select/po-select-option-template/po-select-option-template.directive.d.ts +48 -48
- package/lib/components/po-field/po-select/po-select-option.interface.d.ts +13 -13
- package/lib/components/po-field/po-select/po-select.component.d.ts +151 -91
- package/lib/components/po-field/po-switch/po-switch-label-position.enum.d.ts +13 -13
- package/lib/components/po-field/po-switch/po-switch.component.d.ts +102 -102
- package/lib/components/po-field/po-textarea/po-textarea-base.component.d.ts +178 -178
- package/lib/components/po-field/po-textarea/po-textarea.component.d.ts +59 -59
- package/lib/components/po-field/po-upload/interfaces/po-upload-file-restriction.interface.d.ts +37 -37
- package/lib/components/po-field/po-upload/interfaces/po-upload-literals.interface.d.ts +45 -45
- package/lib/components/po-field/po-upload/po-upload-base.component.d.ts +325 -325
- package/lib/components/po-field/po-upload/po-upload-base.service.d.ts +32 -32
- package/lib/components/po-field/po-upload/po-upload-drag-drop/po-upload-drag-drop-area/po-upload-drag-drop-area.component.d.ts +14 -14
- package/lib/components/po-field/po-upload/po-upload-drag-drop/po-upload-drag-drop-area-overlay/po-upload-drag-drop-area-overlay.component.d.ts +14 -14
- package/lib/components/po-field/po-upload/po-upload-drag-drop/po-upload-drag-drop.component.d.ts +24 -24
- package/lib/components/po-field/po-upload/po-upload-drag-drop/po-upload-drag-drop.directive.d.ts +32 -32
- package/lib/components/po-field/po-upload/po-upload-file-restrictions/po-upload-file-restrictions.component.d.ts +21 -21
- package/lib/components/po-field/po-upload/po-upload-file.d.ts +15 -15
- package/lib/components/po-field/po-upload/po-upload-status.enum.d.ts +6 -6
- package/lib/components/po-field/po-upload/po-upload.component.d.ts +106 -106
- package/lib/components/po-field/po-upload/po-upload.service.d.ts +3 -3
- package/lib/components/po-field/po-url/po-url.component.d.ts +41 -41
- package/lib/components/po-field/validators.d.ts +7 -7
- package/lib/components/po-gauge/index.d.ts +3 -3
- package/lib/components/po-gauge/interfaces/po-gauge-coordinates.interface.d.ts +19 -19
- package/lib/components/po-gauge/interfaces/po-gauge-ranges.interface.d.ts +44 -44
- package/lib/components/po-gauge/interfaces/po-gauge-svg-container.interface.d.ts +15 -15
- package/lib/components/po-gauge/po-gauge-base.component.d.ts +98 -98
- package/lib/components/po-gauge/po-gauge-default-values.constant.d.ts +5 -5
- package/lib/components/po-gauge/po-gauge-description/po-gauge-description.component.d.ts +11 -11
- package/lib/components/po-gauge/po-gauge-legend/po-gauge-legend.component.d.ts +9 -9
- package/lib/components/po-gauge/po-gauge-svg/po-gauge-path/po-gauge-path.component.d.ts +9 -9
- package/lib/components/po-gauge/po-gauge-svg/po-gauge-pointer/po-gauge-pointer.component.d.ts +15 -15
- package/lib/components/po-gauge/po-gauge-svg/po-gauge-svg.component.d.ts +32 -32
- package/lib/components/po-gauge/po-gauge-title/po-gauge-title.component.d.ts +3 -3
- package/lib/components/po-gauge/po-gauge.component.d.ts +37 -37
- package/lib/components/po-gauge/po-gauge.module.d.ts +6 -6
- package/lib/components/po-grid/index.d.ts +3 -3
- package/lib/components/po-grid/po-grid-cell/po-grid-cell.component.d.ts +27 -27
- package/lib/components/po-grid/po-grid-cell-action/po-grid-cell-action.component.d.ts +6 -6
- package/lib/components/po-grid/po-grid-head/po-grid-head.component.d.ts +10 -10
- package/lib/components/po-grid/po-grid-row-actions.interface.d.ts +86 -86
- package/lib/components/po-grid/po-grid.component.d.ts +80 -80
- package/lib/components/po-grid/po-grid.module.d.ts +7 -7
- package/lib/components/po-icon/index.d.ts +2 -2
- package/lib/components/po-icon/po-icon.component.d.ts +39 -39
- package/lib/components/po-icon/po-icon.module.d.ts +7 -7
- package/lib/components/po-info/index.d.ts +3 -3
- package/lib/components/po-info/po-info-base.component.d.ts +46 -46
- package/lib/components/po-info/po-info-orietation.enum.d.ts +13 -13
- package/lib/components/po-info/po-info.component.d.ts +24 -24
- package/lib/components/po-info/po-info.module.d.ts +7 -7
- package/lib/components/po-list-view/index.d.ts +6 -6
- package/lib/components/po-list-view/interfaces/po-list-view-action.interface.d.ts +15 -15
- package/lib/components/po-list-view/interfaces/po-list-view-literals.interface.d.ts +19 -19
- package/lib/components/po-list-view/po-list-view-base.component.d.ts +165 -165
- package/lib/components/po-list-view/po-list-view-content-template/po-list-view-content-template.directive.d.ts +97 -97
- package/lib/components/po-list-view/po-list-view-detail-template/po-list-view-detail-template.directive.d.ts +60 -60
- package/lib/components/po-list-view/po-list-view.component.d.ts +53 -53
- package/lib/components/po-list-view/po-list-view.module.d.ts +33 -33
- package/lib/components/po-loading/index.d.ts +4 -4
- package/lib/components/po-loading/po-loading-base.component.d.ts +14 -14
- package/lib/components/po-loading/po-loading-icon/po-loading-icon.component.d.ts +22 -22
- package/lib/components/po-loading/po-loading-overlay/interfaces/po-loading-overlay-literals.interface.d.ts +13 -13
- package/lib/components/po-loading/po-loading-overlay/po-loading-overlay-base.component.d.ts +59 -59
- package/lib/components/po-loading/po-loading-overlay/po-loading-overlay.component.d.ts +28 -28
- package/lib/components/po-loading/po-loading.component.d.ts +8 -8
- package/lib/components/po-loading/po-loading.module.d.ts +8 -8
- package/lib/components/po-menu/index.d.ts +8 -8
- package/lib/components/po-menu/po-menu-base.component.d.ts +182 -182
- package/lib/components/po-menu/po-menu-filter/po-menu-filter-literals.interface.d.ts +14 -14
- package/lib/components/po-menu/po-menu-filter/po-menu-filter.component.d.ts +25 -25
- package/lib/components/po-menu/po-menu-filter/po-menu-filter.interface.d.ts +19 -19
- package/lib/components/po-menu/po-menu-header-template/po-menu-header-template.directive.d.ts +40 -40
- package/lib/components/po-menu/po-menu-item/po-menu-item-badge.interface.d.ts +49 -49
- package/lib/components/po-menu/po-menu-item/po-menu-item-filtered.interface.d.ts +13 -13
- package/lib/components/po-menu/po-menu-item/po-menu-item.component.d.ts +54 -54
- package/lib/components/po-menu/po-menu-item.interface.d.ts +78 -78
- package/lib/components/po-menu/po-menu.component.d.ts +178 -178
- package/lib/components/po-menu/po-menu.module.d.ts +7 -7
- package/lib/components/po-menu/services/po-menu-global.service.d.ts +14 -14
- package/lib/components/po-menu/services/po-menu-items.service.d.ts +16 -16
- package/lib/components/po-menu/services/po-menu.service.d.ts +20 -20
- package/lib/components/po-menu-panel/index.d.ts +3 -3
- package/lib/components/po-menu-panel/po-menu-panel-base.component.d.ts +33 -33
- package/lib/components/po-menu-panel/po-menu-panel-item/po-menu-panel-item-internal.interface.d.ts +16 -16
- package/lib/components/po-menu-panel/po-menu-panel-item/po-menu-panel-item.component.d.ts +23 -23
- package/lib/components/po-menu-panel/po-menu-panel-item/po-menu-panel-item.interface.d.ts +18 -18
- package/lib/components/po-menu-panel/po-menu-panel.component.d.ts +91 -91
- package/lib/components/po-menu-panel/po-menu-panel.module.d.ts +7 -7
- package/lib/components/po-menu-panel/services/po-menu-panel-items.service.d.ts +16 -16
- package/lib/components/po-modal/index.d.ts +4 -3
- package/lib/components/po-modal/po-modal-action.interface.d.ts +23 -23
- package/lib/components/po-modal/po-modal-base.component.d.ts +79 -78
- package/lib/components/po-modal/po-modal-footer/po-modal-footer.component.d.ts +30 -0
- package/lib/components/po-modal/po-modal.component.d.ts +46 -44
- package/lib/components/po-modal/po-modal.literals.d.ts +14 -14
- package/lib/components/po-modal/po-modal.module.d.ts +6 -6
- package/lib/components/po-navbar/index.d.ts +4 -4
- package/lib/components/po-navbar/interfaces/po-navbar-icon-action.interface.d.ts +55 -55
- package/lib/components/po-navbar/interfaces/po-navbar-item.interface.d.ts +21 -21
- package/lib/components/po-navbar/interfaces/po-navbar-literals.interface.d.ts +11 -11
- package/lib/components/po-navbar/po-navbar-actions/po-navbar-action/po-navbar-action.component.d.ts +13 -13
- package/lib/components/po-navbar/po-navbar-actions/po-navbar-action-popup/po-navbar-action-popup.component.d.ts +5 -5
- package/lib/components/po-navbar/po-navbar-actions/po-navbar-actions.component.d.ts +6 -6
- package/lib/components/po-navbar/po-navbar-actions/po-navbar-actions.module.d.ts +2 -2
- package/lib/components/po-navbar/po-navbar-base.component.d.ts +129 -129
- package/lib/components/po-navbar/po-navbar-item-navigation/po-navbar-item-navigation-icon/po-navbar-item-navigation-icon.component.d.ts +6 -6
- package/lib/components/po-navbar/po-navbar-item-navigation/po-navbar-item-navigation.component.d.ts +6 -6
- package/lib/components/po-navbar/po-navbar-item-navigation/po-navbar-item-navigation.module.d.ts +2 -2
- package/lib/components/po-navbar/po-navbar-items/po-navbar-item/po-navbar-item.component.d.ts +11 -11
- package/lib/components/po-navbar/po-navbar-items/po-navbar-items.component.d.ts +17 -17
- package/lib/components/po-navbar/po-navbar-items/po-navbar-items.module.d.ts +2 -2
- package/lib/components/po-navbar/po-navbar-logo/po-navbar-logo.component.d.ts +3 -3
- package/lib/components/po-navbar/po-navbar.component.d.ts +57 -57
- package/lib/components/po-navbar/po-navbar.module.d.ts +33 -33
- package/lib/components/po-page/index.d.ts +14 -14
- package/lib/components/po-page/po-page-action.interface.d.ts +16 -16
- package/lib/components/po-page/po-page-base.component.d.ts +22 -22
- package/lib/components/po-page/po-page-content/po-page-content-base.component.d.ts +10 -10
- package/lib/components/po-page/po-page-content/po-page-content.component.d.ts +20 -20
- package/lib/components/po-page/po-page-default/po-page-default-base.component.d.ts +75 -75
- package/lib/components/po-page/po-page-default/po-page-default-literals.interface.d.ts +11 -11
- package/lib/components/po-page/po-page-default/po-page-default.component.d.ts +45 -45
- package/lib/components/po-page/po-page-default/po-page-default.interface.d.ts +13 -13
- package/lib/components/po-page/po-page-detail/po-page-detail-base.component.d.ts +100 -100
- package/lib/components/po-page/po-page-detail/po-page-detail-literals.interface.d.ts +15 -15
- package/lib/components/po-page/po-page-detail/po-page-detail.component.d.ts +28 -28
- package/lib/components/po-page/po-page-edit/po-page-edit-base.component.d.ts +106 -106
- package/lib/components/po-page/po-page-edit/po-page-edit-literals.interface.d.ts +15 -15
- package/lib/components/po-page/po-page-edit/po-page-edit.component.d.ts +29 -29
- package/lib/components/po-page/po-page-filter.interface.d.ts +26 -26
- package/lib/components/po-page/po-page-header/po-page-header-base.component.d.ts +17 -17
- package/lib/components/po-page/po-page-header/po-page-header.component.d.ts +7 -7
- package/lib/components/po-page/po-page-list/po-page-list-base.component.d.ts +108 -108
- package/lib/components/po-page/po-page-list/po-page-list-literals.interface.d.ts +11 -11
- package/lib/components/po-page/po-page-list/po-page-list.component.d.ts +71 -71
- package/lib/components/po-page/po-page-slide/po-page-slide-base.component.d.ts +111 -111
- package/lib/components/po-page/po-page-slide/po-page-slide.component.d.ts +42 -42
- package/lib/components/po-page/po-page.component.d.ts +8 -8
- package/lib/components/po-page/po-page.interface.d.ts +14 -14
- package/lib/components/po-page/po-page.module.d.ts +7 -7
- package/lib/components/po-popover/index.d.ts +2 -2
- package/lib/components/po-popover/po-popover-base.component.d.ts +131 -131
- package/lib/components/po-popover/po-popover.component.d.ts +47 -47
- package/lib/components/po-popover/po-popover.module.d.ts +6 -6
- package/lib/components/po-popup/index.d.ts +3 -3
- package/lib/components/po-popup/po-popup-action.interface.d.ts +91 -91
- package/lib/components/po-popup/po-popup-base.component.d.ts +151 -151
- package/lib/components/po-popup/po-popup.component.d.ts +69 -69
- package/lib/components/po-popup/po-popup.module.d.ts +7 -7
- package/lib/components/po-progress/enums/po-progress-status.enum.d.ts +15 -15
- package/lib/components/po-progress/index.d.ts +3 -3
- package/lib/components/po-progress/po-progress-bar/po-progress-bar.component.d.ts +5 -5
- package/lib/components/po-progress/po-progress-base.component.d.ts +103 -103
- package/lib/components/po-progress/po-progress.component.d.ts +28 -28
- package/lib/components/po-progress/po-progress.module.d.ts +7 -7
- package/lib/components/po-slide/directives/po-slide-content-template.directive.d.ts +48 -48
- package/lib/components/po-slide/index.d.ts +4 -4
- package/lib/components/po-slide/interfaces/po-slide-item.interface.d.ts +17 -17
- package/lib/components/po-slide/po-slide-base.component.d.ts +75 -75
- package/lib/components/po-slide/po-slide-circles/po-slide-circles.component.d.ts +16 -16
- package/lib/components/po-slide/po-slide-control/po-slide-control.component.d.ts +14 -14
- package/lib/components/po-slide/po-slide-item/po-slide-item.component.d.ts +28 -28
- package/lib/components/po-slide/po-slide.component.d.ts +110 -110
- package/lib/components/po-slide/po-slide.module.d.ts +33 -33
- package/lib/components/po-stepper/enums/po-stepper-orientation.enum.d.ts +16 -16
- package/lib/components/po-stepper/enums/po-stepper-status.enum.d.ts +21 -21
- package/lib/components/po-stepper/index.d.ts +6 -6
- package/lib/components/po-stepper/po-step/po-step.component.d.ts +76 -76
- package/lib/components/po-stepper/po-stepper-base.component.d.ts +132 -132
- package/lib/components/po-stepper/po-stepper-circle/po-stepper-circle.component.d.ts +20 -20
- package/lib/components/po-stepper/po-stepper-item.interface.d.ts +14 -14
- package/lib/components/po-stepper/po-stepper-label/po-stepper-label.component.d.ts +10 -10
- package/lib/components/po-stepper/po-stepper-step/po-stepper-step.component.d.ts +37 -37
- package/lib/components/po-stepper/po-stepper.component.d.ts +80 -80
- package/lib/components/po-stepper/po-stepper.module.d.ts +6 -6
- package/lib/components/po-table/enums/po-table-column-sort-type.enum.d.ts +12 -12
- package/lib/components/po-table/enums/po-table-row-template-arrow-direction.enum.d.ts +12 -12
- package/lib/components/po-table/index.d.ts +17 -17
- package/lib/components/po-table/interfaces/po-table-action.interface.d.ts +8 -8
- package/lib/components/po-table/interfaces/po-table-boolean.interface.d.ts +13 -13
- package/lib/components/po-table/interfaces/po-table-column-sort.interface.d.ts +15 -15
- package/lib/components/po-table/interfaces/po-table-column.interface.d.ts +242 -242
- package/lib/components/po-table/interfaces/po-table-filter.interface.d.ts +16 -16
- package/lib/components/po-table/interfaces/po-table-filtered-items-params.interface.d.ts +33 -33
- package/lib/components/po-table/interfaces/po-table-literals.interface.d.ts +25 -25
- package/lib/components/po-table/interfaces/po-table-response-api.interface.d.ts +7 -7
- package/lib/components/po-table/po-table-base.component.d.ts +501 -501
- package/lib/components/po-table/po-table-cell-template/po-table-cell-template.directive.d.ts +71 -71
- package/lib/components/po-table/po-table-column-icon/po-table-column-icon.component.d.ts +26 -26
- package/lib/components/po-table/po-table-column-icon/po-table-column-icon.interface.d.ts +80 -80
- package/lib/components/po-table/po-table-column-label/po-table-column-label.component.d.ts +17 -17
- package/lib/components/po-table/po-table-column-label/po-table-column-label.interface.d.ts +42 -42
- package/lib/components/po-table/po-table-column-link/po-table-column-link.component.d.ts +15 -15
- package/lib/components/po-table/po-table-column-manager/po-table-column-manager.component.d.ts +74 -74
- package/lib/components/po-table/po-table-column-template/po-table-column-template.directive.d.ts +86 -86
- package/lib/components/po-table/po-table-detail/po-table-detail-column.interface.d.ts +61 -61
- package/lib/components/po-table/po-table-detail/po-table-detail.component.d.ts +44 -44
- package/lib/components/po-table/po-table-detail/po-table-detail.interface.d.ts +36 -36
- package/lib/components/po-table/po-table-icon/po-table-icon.component.d.ts +27 -27
- package/lib/components/po-table/po-table-row-template/po-table-row-template.directive.d.ts +120 -120
- package/lib/components/po-table/po-table-show-subtitle/po-table-show-subtitle.component.d.ts +14 -14
- package/lib/components/po-table/po-table-subtitle-circle/po-table-subtitle-circle.component.d.ts +19 -19
- package/lib/components/po-table/po-table-subtitle-footer/po-table-subtitle-column.interface.d.ts +39 -39
- package/lib/components/po-table/po-table-subtitle-footer/po-table-subtitle-footer.component.d.ts +31 -31
- package/lib/components/po-table/po-table.component.d.ts +229 -229
- package/lib/components/po-table/po-table.module.d.ts +6 -6
- package/lib/components/po-table/services/po-table.service.d.ts +14 -14
- package/lib/components/po-tabs/index.d.ts +4 -4
- package/lib/components/po-tabs/po-tab/po-tab-base.component.d.ts +57 -57
- package/lib/components/po-tabs/po-tab/po-tab.component.d.ts +11 -11
- package/lib/components/po-tabs/po-tab/po-tab.interface.d.ts +45 -45
- package/lib/components/po-tabs/po-tab-button/po-tab-button.component.d.ts +29 -29
- package/lib/components/po-tabs/po-tab-dropdown/po-tab-dropdown.component.d.ts +23 -23
- package/lib/components/po-tabs/po-tabs-base.component.d.ts +34 -34
- package/lib/components/po-tabs/po-tabs.component.d.ts +50 -50
- package/lib/components/po-tabs/po-tabs.module.d.ts +6 -6
- package/lib/components/po-tag/enums/po-tag-icon.enum.d.ts +17 -17
- package/lib/components/po-tag/enums/po-tag-orientation.enum.d.ts +13 -13
- package/lib/components/po-tag/enums/po-tag-type.enum.d.ts +17 -17
- package/lib/components/po-tag/index.d.ts +4 -4
- package/lib/components/po-tag/interfaces/po-tag-item.interface.d.ts +13 -13
- package/lib/components/po-tag/po-tag-base.component.d.ts +144 -144
- package/lib/components/po-tag/po-tag.component.d.ts +32 -32
- package/lib/components/po-tag/po-tag.module.d.ts +7 -7
- package/lib/components/po-toolbar/index.d.ts +4 -4
- package/lib/components/po-toolbar/po-toolbar-action.interface.d.ts +8 -8
- package/lib/components/po-toolbar/po-toolbar-actions/po-toolbar-actions.component.d.ts +19 -19
- package/lib/components/po-toolbar/po-toolbar-base.component.d.ts +75 -75
- package/lib/components/po-toolbar/po-toolbar-notification/po-toolbar-notification.component.d.ts +22 -22
- package/lib/components/po-toolbar/po-toolbar-profile/po-toolbar-profile.component.d.ts +18 -18
- package/lib/components/po-toolbar/po-toolbar-profile/po-toolbar-profile.interface.d.ts +15 -15
- package/lib/components/po-toolbar/po-toolbar.component.d.ts +29 -29
- package/lib/components/po-toolbar/po-toolbar.module.d.ts +8 -8
- package/lib/components/po-tree-view/index.d.ts +3 -3
- package/lib/components/po-tree-view/po-tree-view-base.component.d.ts +86 -86
- package/lib/components/po-tree-view/po-tree-view-item/po-tree-view-item.component.d.ts +12 -12
- package/lib/components/po-tree-view/po-tree-view-item/po-tree-view-item.interface.d.ts +24 -24
- package/lib/components/po-tree-view/po-tree-view-item-header/po-tree-view-item-header.component.d.ts +10 -10
- package/lib/components/po-tree-view/po-tree-view.component.d.ts +35 -35
- package/lib/components/po-tree-view/po-tree-view.module.d.ts +33 -33
- package/lib/components/po-tree-view/services/po-tree-view.service.d.ts +9 -9
- package/lib/components/po-widget/index.d.ts +2 -2
- package/lib/components/po-widget/po-widget-base.component.d.ts +162 -162
- package/lib/components/po-widget/po-widget.component.d.ts +41 -41
- package/lib/components/po-widget/po-widget.module.d.ts +7 -7
- package/lib/decorators/index.d.ts +2 -2
- package/lib/decorators/input-boolean/input-boolean.decorator.d.ts +10 -10
- package/lib/decorators/input-required/input-required.decorator.d.ts +22 -22
- package/lib/decorators/property-decorator.interface.d.ts +13 -13
- package/lib/decorators/utils-decorators.d.ts +27 -27
- package/lib/directives/directives.module.d.ts +2 -2
- package/lib/directives/index.d.ts +2 -2
- package/lib/directives/po-tooltip/index.d.ts +2 -2
- package/lib/directives/po-tooltip/po-tooltip-base.directive.d.ts +67 -67
- package/lib/directives/po-tooltip/po-tooltip-control-position.service.d.ts +3 -3
- package/lib/directives/po-tooltip/po-tooltip.directive.d.ts +52 -52
- package/lib/directives/po-tooltip/po-tooltip.module.d.ts +7 -7
- package/lib/enums/po-color-palette.enum.d.ts +33 -33
- package/lib/enums/po-key-code.enum.d.ts +29 -29
- package/lib/guards/guards.module.d.ts +2 -2
- package/lib/guards/index.d.ts +1 -1
- package/lib/index.d.ts +9 -9
- package/lib/interceptors/index.d.ts +3 -3
- package/lib/interceptors/interceptors.module.d.ts +2 -2
- package/lib/interceptors/po-http-interceptor/index.d.ts +2 -2
- package/lib/interceptors/po-http-interceptor/po-http-interceptor-base.service.d.ts +154 -154
- package/lib/interceptors/po-http-interceptor/po-http-interceptor-detail/po-http-interceptor-detail-literals.interface.d.ts +6 -6
- package/lib/interceptors/po-http-interceptor/po-http-interceptor-detail/po-http-interceptor-detail.component.d.ts +39 -39
- package/lib/interceptors/po-http-interceptor/po-http-interceptor-detail/po-http-interceptor-detail.interface.d.ts +23 -23
- package/lib/interceptors/po-http-interceptor/po-http-interceptor-literals.d.ts +6 -6
- package/lib/interceptors/po-http-interceptor/po-http-interceptor.module.d.ts +2 -2
- package/lib/interceptors/po-http-interceptor/po-http-interceptor.service.d.ts +16 -16
- package/lib/interceptors/po-http-request/index.d.ts +2 -2
- package/lib/interceptors/po-http-request/po-http-request-control-service.d.ts +12 -12
- package/lib/interceptors/po-http-request/po-http-request-interceptor.service.d.ts +102 -102
- package/lib/interceptors/po-http-request/po-http-request.module.d.ts +2 -2
- package/lib/interfaces/index.d.ts +1 -1
- package/lib/interfaces/po-http/po-response-api.interface.d.ts +13 -13
- package/lib/pipes/index.d.ts +2 -2
- package/lib/pipes/pipes.module.d.ts +2 -2
- package/lib/pipes/po-time/index.d.ts +2 -2
- package/lib/pipes/po-time/po-time.module.d.ts +7 -7
- package/lib/pipes/po-time/po-time.pipe.d.ts +14 -14
- package/lib/po.module.d.ts +2 -2
- package/lib/services/index.d.ts +10 -10
- package/lib/services/po-active-overlay/index.d.ts +2 -2
- package/lib/services/po-active-overlay/po-active-overlay.module.d.ts +7 -7
- package/lib/services/po-active-overlay/po-active-overlay.service.d.ts +3 -3
- package/lib/services/po-color/po-color.service.d.ts +16 -16
- package/lib/services/po-color/po-colors.constant.d.ts +2 -2
- package/lib/services/po-color-palette/index.d.ts +2 -2
- package/lib/services/po-color-palette/po-color-palette.module.d.ts +7 -7
- package/lib/services/po-color-palette/po-color-palette.service.d.ts +7 -7
- package/lib/services/po-component-injector/index.d.ts +2 -2
- package/lib/services/po-component-injector/po-component-injector.module.d.ts +2 -2
- package/lib/services/po-component-injector/po-component-injector.service.d.ts +9 -9
- package/lib/services/po-control-position/index.d.ts +2 -2
- package/lib/services/po-control-position/po-control-position.constants.d.ts +1 -1
- package/lib/services/po-control-position/po-control-position.module.d.ts +7 -7
- package/lib/services/po-control-position/po-control-position.service.d.ts +56 -56
- package/lib/services/po-date/index.d.ts +2 -2
- package/lib/services/po-date/po-date.module.d.ts +7 -7
- package/lib/services/po-date/po-date.service.d.ts +94 -94
- package/lib/services/po-dialog/index.d.ts +7 -7
- package/lib/services/po-dialog/interfaces/po-dialog-alert-literals.interface.d.ts +11 -11
- package/lib/services/po-dialog/interfaces/po-dialog-confirm-literals.interface.d.ts +13 -13
- package/lib/services/po-dialog/interfaces/po-dialog.interface.d.ts +82 -82
- package/lib/services/po-dialog/po-dialog-base.service.d.ts +15 -15
- package/lib/services/po-dialog/po-dialog.component.d.ts +48 -48
- package/lib/services/po-dialog/po-dialog.enum.d.ts +12 -12
- package/lib/services/po-dialog/po-dialog.module.d.ts +2 -2
- package/lib/services/po-dialog/po-dialog.service.d.ts +29 -29
- package/lib/services/po-i18n/index.d.ts +7 -7
- package/lib/services/po-i18n/interfaces/po-i18n-config-default.interface.d.ts +35 -35
- package/lib/services/po-i18n/interfaces/po-i18n-config.interface.d.ts +78 -78
- package/lib/services/po-i18n/interfaces/po-i18n-literals.interface.d.ts +15 -15
- package/lib/services/po-i18n/po-i18n-base.pipe.d.ts +29 -29
- package/lib/services/po-i18n/po-i18n-base.service.d.ts +212 -212
- package/lib/services/po-i18n/po-i18n-config-injection-token.d.ts +3 -3
- package/lib/services/po-i18n/po-i18n.module.d.ts +150 -150
- package/lib/services/po-i18n/po-i18n.pipe.d.ts +15 -15
- package/lib/services/po-i18n/po-i18n.service.d.ts +10 -10
- package/lib/services/po-language/index.d.ts +4 -4
- package/lib/services/po-language/po-language.constant.d.ts +58 -58
- package/lib/services/po-language/po-language.interface.d.ts +43 -43
- package/lib/services/po-language/po-language.module.d.ts +7 -7
- package/lib/services/po-language/po-language.service.d.ts +95 -95
- package/lib/services/po-notification/index.d.ts +5 -5
- package/lib/services/po-notification/po-notification-base.service.d.ts +84 -84
- package/lib/services/po-notification/po-notification.interface.d.ts +33 -33
- package/lib/services/po-notification/po-notification.module.d.ts +2 -2
- package/lib/services/po-notification/po-notification.service.d.ts +31 -31
- package/lib/services/po-notification/po-toaster/po-toaster-base.component.d.ts +41 -41
- package/lib/services/po-notification/po-toaster/po-toaster-orientation.enum.d.ts +11 -11
- package/lib/services/po-notification/po-toaster/po-toaster-type.enum.d.ts +15 -15
- package/lib/services/po-notification/po-toaster/po-toaster.component.d.ts +33 -33
- package/lib/services/po-notification/po-toaster/po-toaster.interface.d.ts +15 -15
- package/lib/services/services.module.d.ts +2 -2
- package/lib/utils/util.d.ts +217 -217
- package/package.json +4 -4
- package/po-ui-ng-components-5.22.1.tgz +0 -0
- package/po-ui-ng-components.d.ts +205 -205
- package/po-ui-ng-components.metadata.json +1 -1
- package/public-api.d.ts +1 -1
- package/schematics/README.md +74 -74
- package/schematics/collection.json +40 -40
- package/schematics/migrations.json +25 -25
- package/schematics/ng-add/index.d.ts +8 -8
- package/schematics/ng-add/index.js +25 -25
- package/schematics/ng-add/index.spec.d.ts +1 -1
- package/schematics/ng-add/index.spec.js +91 -91
- package/schematics/ng-add/schema.json +16 -16
- package/schematics/ng-add/setup-project.d.ts +8 -8
- package/schematics/ng-add/setup-project.js +55 -55
- package/schematics/ng-generate/po-page-default/files/__path__/__name@dasherize__/__name@dasherize__-routing.module.ts.template +14 -14
- package/schematics/ng-generate/po-page-default/files/__path__/__name@dasherize__/__name@dasherize__.component.html.template +3 -3
- package/schematics/ng-generate/po-page-default/files/__path__/__name@dasherize__/__name@dasherize__.component.spec.ts.template +32 -32
- package/schematics/ng-generate/po-page-default/files/__path__/__name@dasherize__/__name@dasherize__.component.ts.template +18 -18
- package/schematics/ng-generate/po-page-default/files/__path__/__name@dasherize__/__name@dasherize__.module.ts.template +19 -19
- package/schematics/ng-generate/po-page-default/index.d.ts +4 -4
- package/schematics/ng-generate/po-page-default/index.js +12 -12
- package/schematics/ng-generate/po-page-default/index.spec.d.ts +1 -1
- package/schematics/ng-generate/po-page-default/index.spec.js +120 -120
- package/schematics/ng-generate/po-page-default/schema.d.ts +3 -3
- package/schematics/ng-generate/po-page-default/schema.js +2 -2
- package/schematics/ng-generate/po-page-default/schema.json +67 -67
- package/schematics/ng-generate/po-page-detail/files/__path__/__name@dasherize__/__name@dasherize__-routing.module.ts.template +14 -14
- package/schematics/ng-generate/po-page-detail/files/__path__/__name@dasherize__/__name@dasherize__.component.html.template +8 -8
- package/schematics/ng-generate/po-page-detail/files/__path__/__name@dasherize__/__name@dasherize__.component.spec.ts.template +32 -32
- package/schematics/ng-generate/po-page-detail/files/__path__/__name@dasherize__/__name@dasherize__.component.ts.template +26 -26
- package/schematics/ng-generate/po-page-detail/files/__path__/__name@dasherize__/__name@dasherize__.module.ts.template +19 -19
- package/schematics/ng-generate/po-page-detail/index.d.ts +4 -4
- package/schematics/ng-generate/po-page-detail/index.js +12 -12
- package/schematics/ng-generate/po-page-detail/index.spec.d.ts +1 -1
- package/schematics/ng-generate/po-page-detail/index.spec.js +120 -120
- package/schematics/ng-generate/po-page-detail/schema.d.ts +3 -3
- package/schematics/ng-generate/po-page-detail/schema.js +2 -2
- package/schematics/ng-generate/po-page-detail/schema.json +67 -67
- package/schematics/ng-generate/po-page-edit/files/__path__/__name@dasherize__/__name@dasherize__-routing.module.ts.template +14 -14
- package/schematics/ng-generate/po-page-edit/files/__path__/__name@dasherize__/__name@dasherize__.component.html.template +8 -8
- package/schematics/ng-generate/po-page-edit/files/__path__/__name@dasherize__/__name@dasherize__.component.spec.ts.template +32 -32
- package/schematics/ng-generate/po-page-edit/files/__path__/__name@dasherize__/__name@dasherize__.component.ts.template +26 -26
- package/schematics/ng-generate/po-page-edit/files/__path__/__name@dasherize__/__name@dasherize__.module.ts.template +19 -19
- package/schematics/ng-generate/po-page-edit/index.d.ts +4 -4
- package/schematics/ng-generate/po-page-edit/index.js +12 -12
- package/schematics/ng-generate/po-page-edit/index.spec.d.ts +1 -1
- package/schematics/ng-generate/po-page-edit/index.spec.js +120 -120
- package/schematics/ng-generate/po-page-edit/schema.d.ts +3 -3
- package/schematics/ng-generate/po-page-edit/schema.js +2 -2
- package/schematics/ng-generate/po-page-edit/schema.json +67 -67
- package/schematics/ng-generate/po-page-list/files/__path__/__name@dasherize__/__name@dasherize__-routing.module.ts.template +14 -14
- package/schematics/ng-generate/po-page-list/files/__path__/__name@dasherize__/__name@dasherize__.component.html.template +28 -28
- package/schematics/ng-generate/po-page-list/files/__path__/__name@dasherize__/__name@dasherize__.component.spec.ts.template +35 -35
- package/schematics/ng-generate/po-page-list/files/__path__/__name@dasherize__/__name@dasherize__.component.ts.template +33 -33
- package/schematics/ng-generate/po-page-list/files/__path__/__name@dasherize__/__name@dasherize__.module.ts.template +19 -19
- package/schematics/ng-generate/po-page-list/index.d.ts +7 -7
- package/schematics/ng-generate/po-page-list/index.js +15 -15
- package/schematics/ng-generate/po-page-list/index.spec.d.ts +1 -1
- package/schematics/ng-generate/po-page-list/index.spec.js +120 -120
- package/schematics/ng-generate/po-page-list/schema.d.ts +5 -5
- package/schematics/ng-generate/po-page-list/schema.js +2 -2
- package/schematics/ng-generate/po-page-list/schema.json +78 -78
- package/schematics/ng-generate/sidemenu/files/app.component.html.template +9 -9
- package/schematics/ng-generate/sidemenu/files/app.component.spec.ts.template +30 -30
- package/schematics/ng-generate/sidemenu/files/app.component.ts.template +20 -20
- package/schematics/ng-generate/sidemenu/index.d.ts +8 -8
- package/schematics/ng-generate/sidemenu/index.js +51 -51
- package/schematics/ng-generate/sidemenu/index.spec.d.ts +1 -1
- package/schematics/ng-generate/sidemenu/index.spec.js +62 -62
- package/schematics/ng-generate/sidemenu/schema.d.ts +13 -13
- package/schematics/ng-generate/sidemenu/schema.js +2 -2
- package/schematics/ng-generate/sidemenu/schema.json +32 -32
- package/schematics/ng-update/v2/changes.d.ts +19 -19
- package/schematics/ng-update/v2/changes.js +58 -58
- package/schematics/ng-update/v2/index.d.ts +1 -1
- package/schematics/ng-update/v2/index.js +145 -145
- package/schematics/ng-update/v3/changes.d.ts +4 -4
- package/schematics/ng-update/v3/changes.js +20 -20
- package/schematics/ng-update/v3/index.d.ts +1 -1
- package/schematics/ng-update/v3/index.js +66 -66
- package/schematics/ng-update/v4/changes.d.ts +4 -4
- package/schematics/ng-update/v4/changes.js +20 -20
- package/schematics/ng-update/v4/index.d.ts +1 -1
- package/schematics/ng-update/v4/index.js +65 -65
- package/schematics/ng-update/v5/changes.d.ts +4 -4
- package/schematics/ng-update/v5/changes.js +25 -25
- package/schematics/ng-update/v5/index.d.ts +1 -1
- package/schematics/ng-update/v5/index.js +65 -65
- package/esm2015/lib/components/po-field/po-select/po-select-base.component.js +0 -191
- package/lib/components/po-field/po-select/po-select-base.component.d.ts +0 -144
- package/po-ui-ng-components-5.19.0.tgz +0 -0
|
@@ -1,359 +1,359 @@
|
|
|
1
|
-
import { ChangeDetectorRef, Component, ElementRef, forwardRef, Renderer2, ViewChild } from '@angular/core';
|
|
2
|
-
import { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
|
-
import { of } from 'rxjs';
|
|
4
|
-
import { tap, catchError } from 'rxjs/operators';
|
|
5
|
-
import { isMobile } from './../../../utils/util';
|
|
6
|
-
import { PoControlPositionService } from './../../../services/po-control-position/po-control-position.service';
|
|
7
|
-
import { PoKeyCodeEnum } from './../../../enums/po-key-code.enum';
|
|
8
|
-
import { PoLanguageService } from '../../../services/po-language/po-language.service';
|
|
9
|
-
import { PoMultiselectBaseComponent } from './po-multiselect-base.component';
|
|
10
|
-
import { PoMultiselectFilterService } from './po-multiselect-filter.service';
|
|
11
|
-
const poMultiselectContainerOffset = 8;
|
|
12
|
-
const poMultiselectContainerPositionDefault = 'bottom';
|
|
13
|
-
/* istanbul ignore next */
|
|
14
|
-
const providers = [
|
|
15
|
-
PoMultiselectFilterService,
|
|
16
|
-
PoControlPositionService,
|
|
17
|
-
{
|
|
18
|
-
provide: NG_VALUE_ACCESSOR,
|
|
19
|
-
// eslint-disable-next-line
|
|
20
|
-
useExisting: forwardRef(() => PoMultiselectComponent),
|
|
21
|
-
multi: true
|
|
22
|
-
},
|
|
23
|
-
{
|
|
24
|
-
provide: NG_VALIDATORS,
|
|
25
|
-
// eslint-disable-next-line
|
|
26
|
-
useExisting: forwardRef(() => PoMultiselectComponent),
|
|
27
|
-
multi: true
|
|
28
|
-
}
|
|
29
|
-
];
|
|
30
|
-
/**
|
|
31
|
-
* @docsExtends PoMultiselectBaseComponent
|
|
32
|
-
*
|
|
33
|
-
* @example
|
|
34
|
-
*
|
|
35
|
-
* <example name="po-multiselect-basic" title="PO Multiselect Basic">
|
|
36
|
-
* <file name="sample-po-multiselect-basic/sample-po-multiselect-basic.component.html"> </file>
|
|
37
|
-
* <file name="sample-po-multiselect-basic/sample-po-multiselect-basic.component.ts"> </file>
|
|
38
|
-
* </example>
|
|
39
|
-
*
|
|
40
|
-
* <example name="po-multiselect-labs" title="PO Multiselect Labs">
|
|
41
|
-
* <file name="sample-po-multiselect-labs/sample-po-multiselect-labs.component.html"> </file>
|
|
42
|
-
* <file name="sample-po-multiselect-labs/sample-po-multiselect-labs.component.ts"> </file>
|
|
43
|
-
* </example>
|
|
44
|
-
*
|
|
45
|
-
* <example name="po-multiselect-vacation" title="PO Multiselect - Vacation">
|
|
46
|
-
* <file name="sample-po-multiselect-vacation/sample-po-multiselect-vacation.component.html"> </file>
|
|
47
|
-
* <file name="sample-po-multiselect-vacation/sample-po-multiselect-vacation.component.ts"> </file>
|
|
48
|
-
* </example>
|
|
49
|
-
*
|
|
50
|
-
* <example name="po-multiselect-vacation-reactive-form" title="PO Multiselect - Vacation Reactive Form">
|
|
51
|
-
* <file name="sample-po-multiselect-vacation-reactive-form/sample-po-multiselect-vacation-reactive-form.component.html"> </file>
|
|
52
|
-
* <file name="sample-po-multiselect-vacation-reactive-form/sample-po-multiselect-vacation-reactive-form.component.ts"> </file>
|
|
53
|
-
* </example>
|
|
54
|
-
*
|
|
55
|
-
* <example name="po-multiselect-heroes" title="PO Multiselect - Heroes - using API">
|
|
56
|
-
* <file name="sample-po-multiselect-heroes/sample-po-multiselect-heroes.component.html"> </file>
|
|
57
|
-
* <file name="sample-po-multiselect-heroes/sample-po-multiselect-heroes.component.ts"> </file>
|
|
58
|
-
* <file name="sample-po-multiselect-heroes/sample-po-multiselect-heroes.service.ts"> </file>
|
|
59
|
-
* </example>
|
|
60
|
-
*/
|
|
61
|
-
export class PoMultiselectComponent extends PoMultiselectBaseComponent {
|
|
62
|
-
constructor(renderer, changeDetector, el, controlPosition, defaultService, languageService) {
|
|
63
|
-
super(languageService);
|
|
64
|
-
this.renderer = renderer;
|
|
65
|
-
this.changeDetector = changeDetector;
|
|
66
|
-
this.el = el;
|
|
67
|
-
this.controlPosition = controlPosition;
|
|
68
|
-
this.defaultService = defaultService;
|
|
69
|
-
this.disclaimerOffset = 0;
|
|
70
|
-
this.dropdownIcon = 'po-icon-arrow-down';
|
|
71
|
-
this.dropdownOpen = false;
|
|
72
|
-
this.initialized = false;
|
|
73
|
-
this.visibleElement = false;
|
|
74
|
-
this.isCalculateVisibleItems = true;
|
|
75
|
-
this.onScroll = () => {
|
|
76
|
-
this.adjustContainerPosition();
|
|
77
|
-
};
|
|
78
|
-
}
|
|
79
|
-
ngAfterViewInit() {
|
|
80
|
-
if (this.autoFocus) {
|
|
81
|
-
this.focus();
|
|
82
|
-
}
|
|
83
|
-
this.initialized = true;
|
|
84
|
-
}
|
|
85
|
-
ngOnChanges(changes) {
|
|
86
|
-
if (changes.filterService || changes.fieldValue || changes.fieldLabel) {
|
|
87
|
-
this.setService(this.filterService);
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
ngDoCheck() {
|
|
91
|
-
const inputWidth = this.inputElement.nativeElement.offsetWidth;
|
|
92
|
-
// Permite que os disclaimers sejam calculados na primeira vez que o componente torna-se visível,
|
|
93
|
-
// evitando com isso, problemas com Tabs ou Divs que iniciem escondidas.
|
|
94
|
-
if ((inputWidth && !this.visibleElement && this.initialized) || (inputWidth && this.isCalculateVisibleItems)) {
|
|
95
|
-
this.debounceResize();
|
|
96
|
-
this.visibleElement = true;
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
ngOnDestroy() {
|
|
100
|
-
var _a, _b;
|
|
101
|
-
this.removeListeners();
|
|
102
|
-
(_a = this.getObjectsByValuesSubscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();
|
|
103
|
-
(_b = this.filterSubject) === null || _b === void 0 ? void 0 : _b.unsubscribe();
|
|
104
|
-
}
|
|
105
|
-
/**
|
|
106
|
-
* Função que atribui foco ao componente.
|
|
107
|
-
*
|
|
108
|
-
* Para utilizá-la é necessário ter a instância do componente no DOM, podendo ser utilizado o ViewChild da seguinte forma:
|
|
109
|
-
*
|
|
110
|
-
* ```
|
|
111
|
-
* import { PoMultiselectComponent } from '@po-ui/ng-components';
|
|
112
|
-
*
|
|
113
|
-
* ...
|
|
114
|
-
*
|
|
115
|
-
* @ViewChild(PoMultiselectComponent, { static: true }) multiselect: PoMultiselectComponent;
|
|
116
|
-
*
|
|
117
|
-
* focusMultiselect() {
|
|
118
|
-
* this.multiselect.focus();
|
|
119
|
-
* }
|
|
120
|
-
* ```
|
|
121
|
-
*/
|
|
122
|
-
focus() {
|
|
123
|
-
if (!this.disabled) {
|
|
124
|
-
this.inputElement.nativeElement.focus();
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
getInputWidth() {
|
|
128
|
-
return this.el.nativeElement.querySelector('.po-input').offsetWidth - 40;
|
|
129
|
-
}
|
|
130
|
-
getDisclaimersWidth() {
|
|
131
|
-
const disclaimers = this.el.nativeElement.querySelectorAll('po-disclaimer');
|
|
132
|
-
return Array.from(disclaimers).map(disclaimer => disclaimer['offsetWidth']);
|
|
133
|
-
}
|
|
134
|
-
calculateVisibleItems() {
|
|
135
|
-
const disclaimersWidth = this.getDisclaimersWidth();
|
|
136
|
-
const inputWidth = this.getInputWidth();
|
|
137
|
-
const extraDisclaimerSize = 38;
|
|
138
|
-
const disclaimersVisible = disclaimersWidth[0];
|
|
139
|
-
this.visibleDisclaimers = [];
|
|
140
|
-
if (inputWidth > 0) {
|
|
141
|
-
let sum = 0;
|
|
142
|
-
let i = 0;
|
|
143
|
-
for (i = 0; i < this.selectedOptions.length; i++) {
|
|
144
|
-
sum += disclaimersWidth[i];
|
|
145
|
-
this.visibleDisclaimers.push(this.selectedOptions[i]);
|
|
146
|
-
if (sum > inputWidth) {
|
|
147
|
-
sum -= disclaimersWidth[i];
|
|
148
|
-
this.isCalculateVisibleItems = false;
|
|
149
|
-
break;
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
|
-
if (disclaimersVisible || !this.selectedOptions.length) {
|
|
153
|
-
if (i === this.selectedOptions.length) {
|
|
154
|
-
this.isCalculateVisibleItems = false;
|
|
155
|
-
return;
|
|
156
|
-
}
|
|
157
|
-
if (sum + extraDisclaimerSize > inputWidth) {
|
|
158
|
-
this.visibleDisclaimers.splice(-2, 2);
|
|
159
|
-
const label = '+' + (this.selectedOptions.length + 1 - i).toString();
|
|
160
|
-
this.visibleDisclaimers.push({ value: '', label: label });
|
|
161
|
-
}
|
|
162
|
-
else {
|
|
163
|
-
this.visibleDisclaimers.splice(-1, 1);
|
|
164
|
-
const label = '+' + (this.selectedOptions.length - i).toString();
|
|
165
|
-
this.visibleDisclaimers.push({ value: '', label: label });
|
|
166
|
-
}
|
|
167
|
-
}
|
|
168
|
-
}
|
|
169
|
-
}
|
|
170
|
-
changeItems(changedItems) {
|
|
171
|
-
this.updateSelectedOptions(changedItems);
|
|
172
|
-
this.callOnChange(this.selectedOptions);
|
|
173
|
-
if (this.autoHeight && this.dropdownOpen) {
|
|
174
|
-
this.changeDetector.detectChanges();
|
|
175
|
-
this.adjustContainerPosition();
|
|
176
|
-
}
|
|
177
|
-
}
|
|
178
|
-
updateVisibleItems() {
|
|
179
|
-
if (this.selectedOptions) {
|
|
180
|
-
this.visibleDisclaimers = [].concat(this.selectedOptions);
|
|
181
|
-
}
|
|
182
|
-
this.debounceResize();
|
|
183
|
-
// quando estiver dentro de modal
|
|
184
|
-
if (!this.inputElement.nativeElement.offsetWidth) {
|
|
185
|
-
this.isCalculateVisibleItems = true;
|
|
186
|
-
}
|
|
187
|
-
}
|
|
188
|
-
debounceResize() {
|
|
189
|
-
if (!this.autoHeight) {
|
|
190
|
-
clearTimeout(this.timeoutResize);
|
|
191
|
-
this.timeoutResize = setTimeout(() => {
|
|
192
|
-
this.calculateVisibleItems();
|
|
193
|
-
}, 200);
|
|
194
|
-
}
|
|
195
|
-
}
|
|
196
|
-
onBlur() {
|
|
197
|
-
var _a;
|
|
198
|
-
(_a = this.onModelTouched) === null || _a === void 0 ? void 0 : _a.call(this);
|
|
199
|
-
}
|
|
200
|
-
onKeyDown(event) {
|
|
201
|
-
if (event.keyCode === PoKeyCodeEnum.arrowUp || event.keyCode === PoKeyCodeEnum.arrowDown) {
|
|
202
|
-
event.preventDefault();
|
|
203
|
-
this.controlDropdownVisibility(true);
|
|
204
|
-
return;
|
|
205
|
-
}
|
|
206
|
-
if (event.keyCode === PoKeyCodeEnum.tab) {
|
|
207
|
-
this.controlDropdownVisibility(false);
|
|
208
|
-
}
|
|
209
|
-
}
|
|
210
|
-
toggleDropdownVisibility() {
|
|
211
|
-
if (this.disabled) {
|
|
212
|
-
return;
|
|
213
|
-
}
|
|
214
|
-
if (this.filterService) {
|
|
215
|
-
this.applyFilterInFirstClick();
|
|
216
|
-
}
|
|
217
|
-
this.controlDropdownVisibility(!this.dropdownOpen);
|
|
218
|
-
}
|
|
219
|
-
openDropdown(toOpen) {
|
|
220
|
-
if (toOpen && !this.disabled) {
|
|
221
|
-
this.controlDropdownVisibility(true);
|
|
222
|
-
}
|
|
223
|
-
}
|
|
224
|
-
controlDropdownVisibility(toOpen) {
|
|
225
|
-
toOpen ? this.open() : this.close();
|
|
226
|
-
}
|
|
227
|
-
scrollToSelectedOptions() {
|
|
228
|
-
if (this.selectedOptions && this.selectedOptions.length) {
|
|
229
|
-
const index = this.options.findIndex(option => option.value === this.selectedOptions[0].value);
|
|
230
|
-
this.dropdown.scrollTo(index);
|
|
231
|
-
}
|
|
232
|
-
}
|
|
233
|
-
setVisibleOptionsDropdown(options) {
|
|
234
|
-
this.visibleOptionsDropdown = options;
|
|
235
|
-
}
|
|
236
|
-
changeSearch(event) {
|
|
237
|
-
if (event && event.value !== undefined) {
|
|
238
|
-
if (this.filterService) {
|
|
239
|
-
this.filterSubject.next(event.value);
|
|
240
|
-
}
|
|
241
|
-
else {
|
|
242
|
-
this.searchByLabel(event.value, this.options, this.filterMode);
|
|
243
|
-
}
|
|
244
|
-
}
|
|
245
|
-
else {
|
|
246
|
-
this.setVisibleOptionsDropdown(this.options);
|
|
247
|
-
}
|
|
248
|
-
// timeout necessário para reposicionar corretamente quando dropdown estiver pra cima do input e realizar busca no input
|
|
249
|
-
setTimeout(() => this.adjustContainerPosition());
|
|
250
|
-
}
|
|
251
|
-
closeDisclaimer(value) {
|
|
252
|
-
const index = this.selectedOptions.findIndex(option => option.value === value);
|
|
253
|
-
this.selectedOptions.splice(index, 1);
|
|
254
|
-
this.updateVisibleItems();
|
|
255
|
-
this.callOnChange(this.selectedOptions);
|
|
256
|
-
}
|
|
257
|
-
wasClickedOnToggle(event) {
|
|
258
|
-
if (this.dropdownOpen &&
|
|
259
|
-
!this.inputElement.nativeElement.contains(event.target) &&
|
|
260
|
-
!this.iconElement.nativeElement.contains(event.target) &&
|
|
261
|
-
!this.dropdownElement.nativeElement.contains(event.target)) {
|
|
262
|
-
this.controlDropdownVisibility(false);
|
|
263
|
-
}
|
|
264
|
-
}
|
|
265
|
-
applyFilter(value = '') {
|
|
266
|
-
const param = { property: 'label', value: value };
|
|
267
|
-
return this.service.getFilteredData(param).pipe(catchError(err => {
|
|
268
|
-
this.isServerSearching = false;
|
|
269
|
-
return of([]);
|
|
270
|
-
}), tap((options) => {
|
|
271
|
-
this.setOptionsByApplyFilter(options);
|
|
272
|
-
}));
|
|
273
|
-
}
|
|
274
|
-
applyFilterInFirstClick() {
|
|
275
|
-
if (this.isFirstFilter) {
|
|
276
|
-
this.isServerSearching = true;
|
|
277
|
-
// necessario enviar um objeto string vazia para refazer a busca, quando alterar filterService, fieldValue e fieldLabel
|
|
278
|
-
// pois temos o distinctUntilChange no pipe do filterSubject
|
|
279
|
-
/* eslint-disable no-new-wrappers */
|
|
280
|
-
this.filterSubject.next(new String());
|
|
281
|
-
}
|
|
282
|
-
else {
|
|
283
|
-
this.options = [...this.cacheOptions];
|
|
284
|
-
}
|
|
285
|
-
}
|
|
286
|
-
setOptionsByApplyFilter(items) {
|
|
287
|
-
if (this.isFirstFilter) {
|
|
288
|
-
this.cacheOptions = [...items];
|
|
289
|
-
this.isFirstFilter = false;
|
|
290
|
-
}
|
|
291
|
-
this.options = [...items];
|
|
292
|
-
this.setVisibleOptionsDropdown(this.options);
|
|
293
|
-
}
|
|
294
|
-
adjustContainerPosition() {
|
|
295
|
-
this.controlPosition.adjustPosition(poMultiselectContainerPositionDefault);
|
|
296
|
-
}
|
|
297
|
-
close() {
|
|
298
|
-
this.dropdownIcon = 'po-icon-arrow-down';
|
|
299
|
-
this.dropdownOpen = false;
|
|
300
|
-
this.dropdown.controlVisibility(false);
|
|
301
|
-
this.setVisibleOptionsDropdown(this.options);
|
|
302
|
-
this.removeListeners();
|
|
303
|
-
}
|
|
304
|
-
initializeListeners() {
|
|
305
|
-
this.clickOutListener = this.renderer.listen('document', 'click', (event) => {
|
|
306
|
-
this.wasClickedOnToggle(event);
|
|
307
|
-
});
|
|
308
|
-
this.resizeListener = this.renderer.listen('window', 'resize', () => {
|
|
309
|
-
this.updateVisibleItems();
|
|
310
|
-
isMobile() ? this.adjustContainerPosition() : this.close();
|
|
311
|
-
});
|
|
312
|
-
window.addEventListener('scroll', this.onScroll, true);
|
|
313
|
-
}
|
|
314
|
-
open() {
|
|
315
|
-
this.dropdownIcon = 'po-icon-arrow-up';
|
|
316
|
-
this.dropdownOpen = true;
|
|
317
|
-
this.dropdown.controlVisibility(true);
|
|
318
|
-
this.setVisibleOptionsDropdown(this.options);
|
|
319
|
-
this.initializeListeners();
|
|
320
|
-
this.scrollToSelectedOptions();
|
|
321
|
-
this.changeDetector.detectChanges();
|
|
322
|
-
this.setPositionDropdown();
|
|
323
|
-
}
|
|
324
|
-
removeListeners() {
|
|
325
|
-
if (this.clickOutListener) {
|
|
326
|
-
this.clickOutListener();
|
|
327
|
-
}
|
|
328
|
-
if (this.resizeListener) {
|
|
329
|
-
this.resizeListener();
|
|
330
|
-
}
|
|
331
|
-
window.removeEventListener('scroll', this.onScroll, true);
|
|
332
|
-
}
|
|
333
|
-
setPositionDropdown() {
|
|
334
|
-
this.controlPosition.setElements(this.dropdown.container.nativeElement, poMultiselectContainerOffset, this.inputElement, ['top', 'bottom'], true);
|
|
335
|
-
this.adjustContainerPosition();
|
|
336
|
-
}
|
|
337
|
-
}
|
|
338
|
-
PoMultiselectComponent.decorators = [
|
|
339
|
-
{ type: Component, args: [{
|
|
340
|
-
selector: 'po-multiselect',
|
|
341
|
-
template: "<po-field-container [p-label]=\"label\" [p-help]=\"help\" [p-optional]=\"!required && optional\">\
|
|
342
|
-
providers
|
|
343
|
-
},] }
|
|
344
|
-
];
|
|
345
|
-
PoMultiselectComponent.ctorParameters = () => [
|
|
346
|
-
{ type: Renderer2 },
|
|
347
|
-
{ type: ChangeDetectorRef },
|
|
348
|
-
{ type: ElementRef },
|
|
349
|
-
{ type: PoControlPositionService },
|
|
350
|
-
{ type: PoMultiselectFilterService },
|
|
351
|
-
{ type: PoLanguageService }
|
|
352
|
-
];
|
|
353
|
-
PoMultiselectComponent.propDecorators = {
|
|
354
|
-
dropdownElement: [{ type: ViewChild, args: ['dropdownElement', { read: ElementRef, static: true },] }],
|
|
355
|
-
dropdown: [{ type: ViewChild, args: ['dropdownElement', { static: true },] }],
|
|
356
|
-
iconElement: [{ type: ViewChild, args: ['iconElement', { read: ElementRef, static: true },] }],
|
|
357
|
-
inputElement: [{ type: ViewChild, args: ['inputElement', { read: ElementRef, static: true },] }]
|
|
358
|
-
};
|
|
359
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tbXVsdGlzZWxlY3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9jb21wb25lbnRzL3BvLWZpZWxkL3BvLW11bHRpc2VsZWN0L3BvLW11bHRpc2VsZWN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsaUJBQWlCLEVBQ2pCLFNBQVMsRUFFVCxVQUFVLEVBQ1YsVUFBVSxFQUdWLFNBQVMsRUFFVCxTQUFTLEVBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWxFLE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUFFLEdBQUcsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVqRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDakQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0scUVBQXFFLENBQUM7QUFDL0csT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBRXRGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRTdFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRTdFLE1BQU0sNEJBQTRCLEdBQUcsQ0FBQyxDQUFDO0FBQ3ZDLE1BQU0scUNBQXFDLEdBQUcsUUFBUSxDQUFDO0FBRXZELDBCQUEwQjtBQUMxQixNQUFNLFNBQVMsR0FBRztJQUNoQiwwQkFBMEI7SUFDMUIsd0JBQXdCO0lBQ3hCO1FBQ0UsT0FBTyxFQUFFLGlCQUFpQjtRQUMxQiwyQkFBMkI7UUFDM0IsV0FBVyxFQUFFLFVB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QWlCLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7dUJBQy9ELFNBQVMsU0FBQyxpQkFBaUIsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7MEJBQzdDLFNBQVMsU0FBQyxhQUFhLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7MkJBQzNELFNBQVMsU0FBQyxjQUFjLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIEFmdGVyVmlld0luaXQsXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgQ29tcG9uZW50LFxyXG4gIERvQ2hlY2ssXHJcbiAgRWxlbWVudFJlZixcclxuICBmb3J3YXJkUmVmLFxyXG4gIE9uQ2hhbmdlcyxcclxuICBPbkRlc3Ryb3ksXHJcbiAgUmVuZGVyZXIyLFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbiAgVmlld0NoaWxkXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5HX1ZBTElEQVRPUlMsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgdGFwLCBjYXRjaEVycm9yIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuaW1wb3J0IHsgaXNNb2JpbGUgfSBmcm9tICcuLy4uLy4uLy4uL3V0aWxzL3V0aWwnO1xyXG5pbXBvcnQgeyBQb0NvbnRyb2xQb3NpdGlvblNlcnZpY2UgfSBmcm9tICcuLy4uLy4uLy4uL3NlcnZpY2VzL3BvLWNvbnRyb2wtcG9zaXRpb24vcG8tY29udHJvbC1wb3NpdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUG9LZXlDb2RlRW51bSB9IGZyb20gJy4vLi4vLi4vLi4vZW51bXMvcG8ta2V5LWNvZGUuZW51bSc7XHJcbmltcG9ydCB7IFBvTGFuZ3VhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvcG8tbGFuZ3VhZ2UvcG8tbGFuZ3VhZ2Uuc2VydmljZSc7XHJcblxyXG5pbXBvcnQgeyBQb011bHRpc2VsZWN0QmFzZUNvbXBvbmVudCB9IGZyb20gJy4vcG8tbXVsdGlzZWxlY3QtYmFzZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBQb011bHRpc2VsZWN0T3B0aW9uIH0gZnJvbSAnLi9wby1tdWx0aXNlbGVjdC1vcHRpb24uaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgUG9NdWx0aXNlbGVjdEZpbHRlclNlcnZpY2UgfSBmcm9tICcuL3BvLW11bHRpc2VsZWN0LWZpbHRlci5zZXJ2aWNlJztcclxuXHJcbmNvbnN0IHBvTXVsdGlzZWxlY3RDb250YWluZXJPZmZzZXQgPSA4O1xyXG5jb25zdCBwb011bHRpc2VsZWN0Q29udGFpbmVyUG9zaXRpb25EZWZhdWx0ID0gJ2JvdHRvbSc7XHJcblxyXG4vKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xyXG5jb25zdCBwcm92aWRlcnMgPSBbXHJcbiAgUG9NdWx0aXNlbGVjdEZpbHRlclNlcnZpY2UsXHJcbiAgUG9Db250cm9sUG9zaXRpb25TZXJ2aWNlLFxyXG4gIHtcclxuICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lXHJcbiAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBQb011bHRpc2VsZWN0Q29tcG9uZW50KSxcclxuICAgIG11bHRpOiB0cnVlXHJcbiAgfSxcclxuICB7XHJcbiAgICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxyXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lXHJcbiAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBQb011bHRpc2VsZWN0Q29tcG9uZW50KSxcclxuICAgIG11bHRpOiB0cnVlXHJcbiAgfVxyXG5dO1xyXG5cclxuLyoqXHJcbiAqIEBkb2NzRXh0ZW5kcyBQb011bHRpc2VsZWN0QmFzZUNvbXBvbmVudFxyXG4gKlxyXG4gKiBAZXhhbXBsZVxyXG4gKlxyXG4gKiA8ZXhhbXBsZSBuYW1lPVwicG8tbXVsdGlzZWxlY3QtYmFzaWNcIiB0aXRsZT1cIlBPIE11bHRpc2VsZWN0IEJhc2ljXCI+XHJcbiAqICAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1tdWx0aXNlbGVjdC1iYXNpYy9zYW1wbGUtcG8tbXVsdGlzZWxlY3QtYmFzaWMuY29tcG9uZW50Lmh0bWxcIj4gPC9maWxlPlxyXG4gKiAgIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tbXVsdGlzZWxlY3QtYmFzaWMvc2FtcGxlLXBvLW11bHRpc2VsZWN0LWJhc2ljLmNvbXBvbmVudC50c1wiPiA8L2ZpbGU+XHJcbiAqIDwvZXhhbXBsZT5cclxuICpcclxuICogPGV4YW1wbGUgbmFtZT1cInBvLW11bHRpc2VsZWN0LWxhYnNcIiB0aXRsZT1cIlBPIE11bHRpc2VsZWN0IExhYnNcIj5cclxuICogICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLW11bHRpc2VsZWN0LWxhYnMvc2FtcGxlLXBvLW11bHRpc2VsZWN0LWxhYnMuY29tcG9uZW50Lmh0bWxcIj4gPC9maWxlPlxyXG4gKiAgIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tbXVsdGlzZWxlY3QtbGFicy9zYW1wbGUtcG8tbXVsdGlzZWxlY3QtbGFicy5jb21wb25lbnQudHNcIj4gPC9maWxlPlxyXG4gKiA8L2V4YW1wbGU+XHJcbiAqXHJcbiAqIDxleGFtcGxlIG5hbWU9XCJwby1tdWx0aXNlbGVjdC12YWNhdGlvblwiIHRpdGxlPVwiUE8gTXVsdGlzZWxlY3QgLSBWYWNhdGlvblwiPlxyXG4gKiAgIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tbXVsdGlzZWxlY3QtdmFjYXRpb24vc2FtcGxlLXBvLW11bHRpc2VsZWN0LXZhY2F0aW9uLmNvbXBvbmVudC5odG1sXCI+IDwvZmlsZT5cclxuICogICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLW11bHRpc2VsZWN0LXZhY2F0aW9uL3NhbXBsZS1wby1tdWx0aXNlbGVjdC12YWNhdGlvbi5jb21wb25lbnQudHNcIj4gPC9maWxlPlxyXG4gKiA8L2V4YW1wbGU+XHJcbiAqXHJcbiAqIDxleGFtcGxlIG5hbWU9XCJwby1tdWx0aXNlbGVjdC12YWNhdGlvbi1yZWFjdGl2ZS1mb3JtXCIgdGl0bGU9XCJQTyBNdWx0aXNlbGVjdCAtIFZhY2F0aW9uIFJlYWN0aXZlIEZvcm1cIj5cclxuICogICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLW11bHRpc2VsZWN0LXZhY2F0aW9uLXJlYWN0aXZlLWZvcm0vc2FtcGxlLXBvLW11bHRpc2VsZWN0LXZhY2F0aW9uLXJlYWN0aXZlLWZvcm0uY29tcG9uZW50Lmh0bWxcIj4gPC9maWxlPlxyXG4gKiAgIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tbXVsdGlzZWxlY3QtdmFjYXRpb24tcmVhY3RpdmUtZm9ybS9zYW1wbGUtcG8tbXVsdGlzZWxlY3QtdmFjYXRpb24tcmVhY3RpdmUtZm9ybS5jb21wb25lbnQudHNcIj4gPC9maWxlPlxyXG4gKiA8L2V4YW1wbGU+XHJcbiAqXHJcbiAqIDxleGFtcGxlIG5hbWU9XCJwby1tdWx0aXNlbGVjdC1oZXJvZXNcIiB0aXRsZT1cIlBPIE11bHRpc2VsZWN0IC0gSGVyb2VzIC0gdXNpbmcgQVBJXCI+XHJcbiAqICAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1tdWx0aXNlbGVjdC1oZXJvZXMvc2FtcGxlLXBvLW11bHRpc2VsZWN0LWhlcm9lcy5jb21wb25lbnQuaHRtbFwiPiA8L2ZpbGU+XHJcbiAqICAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1tdWx0aXNlbGVjdC1oZXJvZXMvc2FtcGxlLXBvLW11bHRpc2VsZWN0LWhlcm9lcy5jb21wb25lbnQudHNcIj4gPC9maWxlPlxyXG4gKiAgIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tbXVsdGlzZWxlY3QtaGVyb2VzL3NhbXBsZS1wby1tdWx0aXNlbGVjdC1oZXJvZXMuc2VydmljZS50c1wiPiA8L2ZpbGU+XHJcbiAqIDwvZXhhbXBsZT5cclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAncG8tbXVsdGlzZWxlY3QnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9wby1tdWx0aXNlbGVjdC5jb21wb25lbnQuaHRtbCcsXHJcbiAgcHJvdmlkZXJzXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQb011bHRpc2VsZWN0Q29tcG9uZW50XHJcbiAgZXh0ZW5kcyBQb011bHRpc2VsZWN0QmFzZUNvbXBvbmVudFxyXG4gIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgRG9DaGVjaywgT25EZXN0cm95LCBPbkNoYW5nZXMge1xyXG4gIEBWaWV3Q2hpbGQoJ2Ryb3Bkb3duRWxlbWVudCcsIHsgcmVhZDogRWxlbWVudFJlZiwgc3RhdGljOiB0cnVlIH0pIGRyb3Bkb3duRWxlbWVudDogRWxlbWVudFJlZjtcclxuICBAVmlld0NoaWxkKCdkcm9wZG93bkVsZW1lbnQnLCB7IHN0YXRpYzogdHJ1ZSB9KSBkcm9wZG93bjtcclxuICBAVmlld0NoaWxkKCdpY29uRWxlbWVudCcsIHsgcmVhZDogRWxlbWVudFJlZiwgc3RhdGljOiB0cnVlIH0pIGljb25FbGVtZW50OiBFbGVtZW50UmVmO1xyXG4gIEBWaWV3Q2hpbGQoJ2lucHV0RWxlbWVudCcsIHsgcmVhZDogRWxlbWVudFJlZiwgc3RhdGljOiB0cnVlIH0pIGlucHV0RWxlbWVudDogRWxlbWVudFJlZjtcclxuXHJcbiAgZGlzY2xhaW1lck9mZnNldCA9IDA7XHJcbiAgZHJvcGRvd25JY29uOiBzdHJpbmcgPSAncG8taWNvbi1hcnJvdy1kb3duJztcclxuICBkcm9wZG93bk9wZW46IGJvb2xlYW4gPSBmYWxzZTtcclxuICBpbml0aWFsaXplZCA9IGZhbHNlO1xyXG4gIHBvc2l0aW9uRGlzY2xhaW1lckV4dHJhO1xyXG4gIHRpbWVvdXRSZXNpemU7XHJcbiAgdmlzaWJsZUVsZW1lbnQgPSBmYWxzZTtcclxuXHJcbiAgcHJpdmF0ZSBpc0NhbGN1bGF0ZVZpc2libGVJdGVtczogYm9vbGVhbiA9IHRydWU7XHJcbiAgcHJpdmF0ZSBjYWNoZU9wdGlvbnM6IEFycmF5PFBvTXVsdGlzZWxlY3RPcHRpb24+O1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcclxuICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHJpdmF0ZSBlbDogRWxlbWVudFJlZixcclxuICAgIHByaXZhdGUgY29udHJvbFBvc2l0aW9uOiBQb0NvbnRyb2xQb3NpdGlvblNlcnZpY2UsXHJcbiAgICBwdWJsaWMgZGVmYXVsdFNlcnZpY2U6IFBvTXVsdGlzZWxlY3RGaWx0ZXJTZXJ2aWNlLFxyXG4gICAgbGFuZ3VhZ2VTZXJ2aWNlOiBQb0xhbmd1YWdlU2VydmljZVxyXG4gICkge1xyXG4gICAgc3VwZXIobGFuZ3VhZ2VTZXJ2aWNlKTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIGlmICh0aGlzLmF1dG9Gb2N1cykge1xyXG4gICAgICB0aGlzLmZvY3VzKCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmluaXRpYWxpemVkID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuICAgIGlmIChjaGFuZ2VzLmZpbHRlclNlcnZpY2UgfHwgY2hhbmdlcy5maWVsZFZhbHVlIHx8IGNoYW5nZXMuZmllbGRMYWJlbCkge1xyXG4gICAgICB0aGlzLnNldFNlcnZpY2UodGhpcy5maWx0ZXJTZXJ2aWNlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nRG9DaGVjaygpIHtcclxuICAgIGNvbnN0IGlucHV0V2lkdGggPSB0aGlzLmlucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoO1xyXG4gICAgLy8gUGVybWl0ZSBxdWUgb3MgZGlzY2xhaW1lcnMgc2VqYW0gY2FsY3VsYWRvcyBuYSBwcmltZWlyYSB2ZXogcXVlIG8gY29tcG9uZW50ZSB0b3JuYS1zZSB2aXPDrXZlbCxcclxuICAgIC8vIGV2aXRhbmRvIGNvbSBpc3NvLCBwcm9ibGVtYXMgY29tIFRhYnMgb3UgRGl2cyBxdWUgaW5pY2llbSBlc2NvbmRpZGFzLlxyXG4gICAgaWYgKChpbnB1dFdpZHRoICYmICF0aGlzLnZpc2libGVFbGVtZW50ICYmIHRoaXMuaW5pdGlhbGl6ZWQpIHx8IChpbnB1dFdpZHRoICYmIHRoaXMuaXNDYWxjdWxhdGVWaXNpYmxlSXRlbXMpKSB7XHJcbiAgICAgIHRoaXMuZGVib3VuY2VSZXNpemUoKTtcclxuICAgICAgdGhpcy52aXNpYmxlRWxlbWVudCA9IHRydWU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMucmVtb3ZlTGlzdGVuZXJzKCk7XHJcbiAgICB0aGlzLmdldE9iamVjdHNCeVZhbHVlc1N1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcclxuICAgIHRoaXMuZmlsdGVyU3ViamVjdD8udW5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEZ1bsOnw6NvIHF1ZSBhdHJpYnVpIGZvY28gYW8gY29tcG9uZW50ZS5cclxuICAgKlxyXG4gICAqIFBhcmEgdXRpbGl6w6EtbGEgw6kgbmVjZXNzw6FyaW8gdGVyIGEgaW5zdMOibmNpYSBkbyBjb21wb25lbnRlIG5vIERPTSwgcG9kZW5kbyBzZXIgdXRpbGl6YWRvIG8gVmlld0NoaWxkIGRhIHNlZ3VpbnRlIGZvcm1hOlxyXG4gICAqXHJcbiAgICogYGBgXHJcbiAgICogaW1wb3J0IHsgUG9NdWx0aXNlbGVjdENvbXBvbmVudCB9IGZyb20gJ0Bwby11aS9uZy1jb21wb25lbnRzJztcclxuICAgKlxyXG4gICAqIC4uLlxyXG4gICAqXHJcbiAgICogQFZpZXdDaGlsZChQb011bHRpc2VsZWN0Q29tcG9uZW50LCB7IHN0YXRpYzogdHJ1ZSB9KSBtdWx0aXNlbGVjdDogUG9NdWx0aXNlbGVjdENvbXBvbmVudDtcclxuICAgKlxyXG4gICAqIGZvY3VzTXVsdGlzZWxlY3QoKSB7XHJcbiAgICogICB0aGlzLm11bHRpc2VsZWN0LmZvY3VzKCk7XHJcbiAgICogfVxyXG4gICAqIGBgYFxyXG4gICAqL1xyXG4gIGZvY3VzKCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XHJcbiAgICAgIHRoaXMuaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldElucHV0V2lkdGgoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5wby1pbnB1dCcpLm9mZnNldFdpZHRoIC0gNDA7XHJcbiAgfVxyXG5cclxuICBnZXREaXNjbGFpbWVyc1dpZHRoKCkge1xyXG4gICAgY29uc3QgZGlzY2xhaW1lcnMgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvckFsbCgncG8tZGlzY2xhaW1lcicpO1xyXG4gICAgcmV0dXJuIEFycmF5LmZyb20oZGlzY2xhaW1lcnMpLm1hcChkaXNjbGFpbWVyID0+IGRpc2NsYWltZXJbJ29mZnNldFdpZHRoJ10pO1xyXG4gIH1cclxuXHJcbiAgY2FsY3VsYXRlVmlzaWJsZUl0ZW1zKCkge1xyXG4gICAgY29uc3QgZGlzY2xhaW1lcnNXaWR0aCA9IHRoaXMuZ2V0RGlzY2xhaW1lcnNXaWR0aCgpO1xyXG4gICAgY29uc3QgaW5wdXRXaWR0aCA9IHRoaXMuZ2V0SW5wdXRXaWR0aCgpO1xyXG4gICAgY29uc3QgZXh0cmFEaXNjbGFpbWVyU2l6ZSA9IDM4O1xyXG4gICAgY29uc3QgZGlzY2xhaW1lcnNWaXNpYmxlID0gZGlzY2xhaW1lcnNXaWR0aFswXTtcclxuXHJcbiAgICB0aGlzLnZpc2libGVEaXNjbGFpbWVycyA9IFtdO1xyXG5cclxuICAgIGlmIChpbnB1dFdpZHRoID4gMCkge1xyXG4gICAgICBsZXQgc3VtID0gMDtcclxuICAgICAgbGV0IGkgPSAwO1xyXG4gICAgICBmb3IgKGkgPSAwOyBpIDwgdGhpcy5zZWxlY3RlZE9wdGlvbnMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICBzdW0gKz0gZGlzY2xhaW1lcnNXaWR0aFtpXTtcclxuICAgICAgICB0aGlzLnZpc2libGVEaXNjbGFpbWVycy5wdXNoKHRoaXMuc2VsZWN0ZWRPcHRpb25zW2ldKTtcclxuXHJcbiAgICAgICAgaWYgKHN1bSA+IGlucHV0V2lkdGgpIHtcclxuICAgICAgICAgIHN1bSAtPSBkaXNjbGFpbWVyc1dpZHRoW2ldO1xyXG4gICAgICAgICAgdGhpcy5pc0NhbGN1bGF0ZVZpc2libGVJdGVtcyA9IGZhbHNlO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAoZGlzY2xhaW1lcnNWaXNpYmxlIHx8ICF0aGlzLnNlbGVjdGVkT3B0aW9ucy5sZW5ndGgpIHtcclxuICAgICAgICBpZiAoaSA9PT0gdGhpcy5zZWxlY3RlZE9wdGlvbnMubGVuZ3RoKSB7XHJcbiAgICAgICAgICB0aGlzLmlzQ2FsY3VsYXRlVmlzaWJsZUl0ZW1zID0gZmFsc2U7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoc3VtICsgZXh0cmFEaXNjbGFpbWVyU2l6ZSA+IGlucHV0V2lkdGgpIHtcclxuICAgICAgICAgIHRoaXMudmlzaWJsZURpc2NsYWltZXJzLnNwbGljZSgtMiwgMik7XHJcbiAgICAgICAgICBjb25zdCBsYWJlbCA9ICcrJyArICh0aGlzLnNlbGVjdGVkT3B0aW9ucy5sZW5ndGggKyAxIC0gaSkudG9TdHJpbmcoKTtcclxuICAgICAgICAgIHRoaXMudmlzaWJsZURpc2NsYWltZXJzLnB1c2goeyB2YWx1ZTogJycsIGxhYmVsOiBsYWJlbCB9KTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy52aXNpYmxlRGlzY2xhaW1lcnMuc3BsaWNlKC0xLCAxKTtcclxuICAgICAgICAgIGNvbnN0IGxhYmVsID0gJysnICsgKHRoaXMuc2VsZWN0ZWRPcHRpb25zLmxlbmd0aCAtIGkpLnRvU3RyaW5nKCk7XHJcbiAgICAgICAgICB0aGlzLnZpc2libGVEaXNjbGFpbWVycy5wdXNoKHsgdmFsdWU6ICcnLCBsYWJlbDogbGFiZWwgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjaGFuZ2VJdGVtcyhjaGFuZ2VkSXRlbXMpIHtcclxuICAgIHRoaXMudXBkYXRlU2VsZWN0ZWRPcHRpb25zKGNoYW5nZWRJdGVtcyk7XHJcbiAgICB0aGlzLmNhbGxPbkNoYW5nZSh0aGlzLnNlbGVjdGVkT3B0aW9ucyk7XHJcblxyXG4gICAgaWYgKHRoaXMuYXV0b0hlaWdodCAmJiB0aGlzLmRyb3Bkb3duT3Blbikge1xyXG4gICAgICB0aGlzLmNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgdGhpcy5hZGp1c3RDb250YWluZXJQb3NpdGlvbigpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdXBkYXRlVmlzaWJsZUl0ZW1zKCkge1xyXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRPcHRpb25zKSB7XHJcbiAgICAgIHRoaXMudmlzaWJsZURpc2NsYWltZXJzID0gW10uY29uY2F0KHRoaXMuc2VsZWN0ZWRPcHRpb25zKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmRlYm91bmNlUmVzaXplKCk7XHJcblxyXG4gICAgLy8gcXVhbmRvIGVzdGl2ZXIgZGVudHJvIGRlIG1vZGFsXHJcbiAgICBpZiAoIXRoaXMuaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGgpIHtcclxuICAgICAgdGhpcy5pc0NhbGN1bGF0ZVZpc2libGVJdGVtcyA9IHRydWU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBkZWJvdW5jZVJlc2l6ZSgpIHtcclxuICAgIGlmICghdGhpcy5hdXRvSGVpZ2h0KSB7XHJcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLnRpbWVvdXRSZXNpemUpO1xyXG4gICAgICB0aGlzLnRpbWVvdXRSZXNpemUgPSBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICB0aGlzLmNhbGN1bGF0ZVZpc2libGVJdGVtcygpO1xyXG4gICAgICB9LCAyMDApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25CbHVyKCkge1xyXG4gICAgdGhpcy5vbk1vZGVsVG91Y2hlZD8uKCk7XHJcbiAgfVxyXG5cclxuICBvbktleURvd24oZXZlbnQ/OiBhbnkpIHtcclxuICAgIGlmIChldmVudC5rZXlDb2RlID09PSBQb0tleUNvZGVFbnVtLmFycm93VXAgfHwgZXZlbnQua2V5Q29kZSA9PT0gUG9LZXlDb2RlRW51bS5hcnJvd0Rvd24pIHtcclxuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgdGhpcy5jb250cm9sRHJvcGRvd25WaXNpYmlsaXR5KHRydWUpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGV2ZW50LmtleUNvZGUgPT09IFBvS2V5Q29kZUVudW0udGFiKSB7XHJcbiAgICAgIHRoaXMuY29udHJvbERyb3Bkb3duVmlzaWJpbGl0eShmYWxzZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB0b2dnbGVEcm9wZG93blZpc2liaWxpdHkoKSB7XHJcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuZmlsdGVyU2VydmljZSkge1xyXG4gICAgICB0aGlzLmFwcGx5RmlsdGVySW5GaXJzdENsaWNrKCk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5jb250cm9sRHJvcGRvd25WaXNpYmlsaXR5KCF0aGlzLmRyb3Bkb3duT3Blbik7XHJcbiAgfVxyXG5cclxuICBvcGVuRHJvcGRvd24odG9PcGVuKSB7XHJcbiAgICBpZiAodG9PcGVuICYmICF0aGlzLmRpc2FibGVkKSB7XHJcbiAgICAgIHRoaXMuY29udHJvbERyb3Bkb3duVmlzaWJpbGl0eSh0cnVlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNvbnRyb2xEcm9wZG93blZpc2liaWxpdHkodG9PcGVuOiBib29sZWFuKSB7XHJcbiAgICB0b09wZW4gPyB0aGlzLm9wZW4oKSA6IHRoaXMuY2xvc2UoKTtcclxuICB9XHJcblxyXG4gIHNjcm9sbFRvU2VsZWN0ZWRPcHRpb25zKCkge1xyXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRPcHRpb25zICYmIHRoaXMuc2VsZWN0ZWRPcHRpb25zLmxlbmd0aCkge1xyXG4gICAgICBjb25zdCBpbmRleCA9IHRoaXMub3B0aW9ucy5maW5kSW5kZXgob3B0aW9uID0+IG9wdGlvbi52YWx1ZSA9PT0gdGhpcy5zZWxlY3RlZE9wdGlvbnNbMF0udmFsdWUpO1xyXG4gICAgICB0aGlzLmRyb3Bkb3duLnNjcm9sbFRvKGluZGV4KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldFZpc2libGVPcHRpb25zRHJvcGRvd24ob3B0aW9ucykge1xyXG4gICAgdGhpcy52aXNpYmxlT3B0aW9uc0Ryb3Bkb3duID0gb3B0aW9ucztcclxuICB9XHJcblxyXG4gIGNoYW5nZVNlYXJjaChldmVudCkge1xyXG4gICAgaWYgKGV2ZW50ICYmIGV2ZW50LnZhbHVlICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgaWYgKHRoaXMuZmlsdGVyU2VydmljZSkge1xyXG4gICAgICAgIHRoaXMuZmlsdGVyU3ViamVjdC5uZXh0KGV2ZW50LnZhbHVlKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnNlYXJjaEJ5TGFiZWwoZXZlbnQudmFsdWUsIHRoaXMub3B0aW9ucywgdGhpcy5maWx0ZXJNb2RlKTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zZXRWaXNpYmxlT3B0aW9uc0Ryb3Bkb3duKHRoaXMub3B0aW9ucyk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gdGltZW91dCBuZWNlc3PDoXJpbyBwYXJhIHJlcG9zaWNpb25hciBjb3JyZXRhbWVudGUgcXVhbmRvIGRyb3Bkb3duIGVzdGl2ZXIgcHJhIGNpbWEgZG8gaW5wdXQgZSByZWFsaXphciBidXNjYSBubyBpbnB1dFxyXG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmFkanVzdENvbnRhaW5lclBvc2l0aW9uKCkpO1xyXG4gIH1cclxuXHJcbiAgY2xvc2VEaXNjbGFpbWVyKHZhbHVlKSB7XHJcbiAgICBjb25zdCBpbmRleCA9IHRoaXMuc2VsZWN0ZWRPcHRpb25zLmZpbmRJbmRleChvcHRpb24gPT4gb3B0aW9uLnZhbHVlID09PSB2YWx1ZSk7XHJcbiAgICB0aGlzLnNlbGVjdGVkT3B0aW9ucy5zcGxpY2UoaW5kZXgsIDEpO1xyXG5cclxuICAgIHRoaXMudXBkYXRlVmlzaWJsZUl0ZW1zKCk7XHJcbiAgICB0aGlzLmNhbGxPbkNoYW5nZSh0aGlzLnNlbGVjdGVkT3B0aW9ucyk7XHJcbiAgfVxyXG5cclxuICB3YXNDbGlja2VkT25Ub2dnbGUoZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcclxuICAgIGlmIChcclxuICAgICAgdGhpcy5kcm9wZG93bk9wZW4gJiZcclxuICAgICAgIXRoaXMuaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0KSAmJlxyXG4gICAgICAhdGhpcy5pY29uRWxlbWVudC5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCkgJiZcclxuICAgICAgIXRoaXMuZHJvcGRvd25FbGVtZW50Lm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0KVxyXG4gICAgKSB7XHJcbiAgICAgIHRoaXMuY29udHJvbERyb3Bkb3duVmlzaWJpbGl0eShmYWxzZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhcHBseUZpbHRlcih2YWx1ZTogc3RyaW5nID0gJycpOiBPYnNlcnZhYmxlPEFycmF5PFBvTXVsdGlzZWxlY3RPcHRpb24+PiB7XHJcbiAgICBjb25zdCBwYXJhbSA9IHsgcHJvcGVydHk6ICdsYWJlbCcsIHZhbHVlOiB2YWx1ZSB9O1xyXG4gICAgcmV0dXJuIHRoaXMuc2VydmljZS5nZXRGaWx0ZXJlZERhdGEocGFyYW0pLnBpcGUoXHJcbiAgICAgIGNhdGNoRXJyb3IoZXJyID0+IHtcclxuICAgICAgICB0aGlzLmlzU2VydmVyU2VhcmNoaW5nID0gZmFsc2U7XHJcbiAgICAgICAgcmV0dXJuIG9mKFtdKTtcclxuICAgICAgfSksXHJcbiAgICAgIHRhcCgob3B0aW9uczogQXJyYXk8UG9NdWx0aXNlbGVjdE9wdGlvbj4pID0+IHtcclxuICAgICAgICB0aGlzLnNldE9wdGlvbnNCeUFwcGx5RmlsdGVyKG9wdGlvbnMpO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXBwbHlGaWx0ZXJJbkZpcnN0Q2xpY2soKSB7XHJcbiAgICBpZiAodGhpcy5pc0ZpcnN0RmlsdGVyKSB7XHJcbiAgICAgIHRoaXMuaXNTZXJ2ZXJTZWFyY2hpbmcgPSB0cnVlO1xyXG5cclxuICAgICAgLy8gbmVjZXNzYXJpbyBlbnZpYXIgdW0gb2JqZXRvIHN0cmluZyB2YXppYSBwYXJhIHJlZmF6ZXIgYSBidXNjYSwgcXVhbmRvIGFsdGVyYXIgZmlsdGVyU2VydmljZSwgZmllbGRWYWx1ZSBlIGZpZWxkTGFiZWxcclxuICAgICAgLy8gcG9pcyB0ZW1vcyBvIGRpc3RpbmN0VW50aWxDaGFuZ2Ugbm8gcGlwZSBkbyBmaWx0ZXJTdWJqZWN0XHJcbiAgICAgIC8qIGVzbGludC1kaXNhYmxlIG5vLW5ldy13cmFwcGVycyAqL1xyXG4gICAgICB0aGlzLmZpbHRlclN1YmplY3QubmV4dChuZXcgU3RyaW5nKCkpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5vcHRpb25zID0gWy4uLnRoaXMuY2FjaGVPcHRpb25zXTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0T3B0aW9uc0J5QXBwbHlGaWx0ZXIoaXRlbXM6IEFycmF5PFBvTXVsdGlzZWxlY3RPcHRpb24+KSB7XHJcbiAgICBpZiAodGhpcy5pc0ZpcnN0RmlsdGVyKSB7XHJcbiAgICAgIHRoaXMuY2FjaGVPcHRpb25zID0gWy4uLml0ZW1zXTtcclxuICAgICAgdGhpcy5pc0ZpcnN0RmlsdGVyID0gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5vcHRpb25zID0gWy4uLml0ZW1zXTtcclxuICAgIHRoaXMuc2V0VmlzaWJsZU9wdGlvbnNEcm9wZG93bih0aGlzLm9wdGlvbnMpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhZGp1c3RDb250YWluZXJQb3NpdGlvbigpOiB2b2lkIHtcclxuICAgIHRoaXMuY29udHJvbFBvc2l0aW9uLmFkanVzdFBvc2l0aW9uKHBvTXVsdGlzZWxlY3RDb250YWluZXJQb3NpdGlvbkRlZmF1bHQpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjbG9zZSgpOiB2b2lkIHtcclxuICAgIHRoaXMuZHJvcGRvd25JY29uID0gJ3BvLWljb24tYXJyb3ctZG93bic7XHJcbiAgICB0aGlzLmRyb3Bkb3duT3BlbiA9IGZhbHNlO1xyXG5cclxuICAgIHRoaXMuZHJvcGRvd24uY29udHJvbFZpc2liaWxpdHkoZmFsc2UpO1xyXG4gICAgdGhpcy5zZXRWaXNpYmxlT3B0aW9uc0Ryb3Bkb3duKHRoaXMub3B0aW9ucyk7XHJcblxyXG4gICAgdGhpcy5yZW1vdmVMaXN0ZW5lcnMoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaW5pdGlhbGl6ZUxpc3RlbmVycygpOiB2b2lkIHtcclxuICAgIHRoaXMuY2xpY2tPdXRMaXN0ZW5lciA9IHRoaXMucmVuZGVyZXIubGlzdGVuKCdkb2N1bWVudCcsICdjbGljaycsIChldmVudDogTW91c2VFdmVudCkgPT4ge1xyXG4gICAgICB0aGlzLndhc0NsaWNrZWRPblRvZ2dsZShldmVudCk7XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLnJlc2l6ZUxpc3RlbmVyID0gdGhpcy5yZW5kZXJlci5saXN0ZW4oJ3dpbmRvdycsICdyZXNpemUnLCAoKSA9PiB7XHJcbiAgICAgIHRoaXMudXBkYXRlVmlzaWJsZUl0ZW1zKCk7XHJcblxyXG4gICAgICBpc01vYmlsZSgpID8gdGhpcy5hZGp1c3RDb250YWluZXJQb3NpdGlvbigpIDogdGhpcy5jbG9zZSgpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIHRoaXMub25TY3JvbGwsIHRydWUpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBvblNjcm9sbCA9ICgpOiB2b2lkID0+IHtcclxuICAgIHRoaXMuYWRqdXN0Q29udGFpbmVyUG9zaXRpb24oKTtcclxuICB9O1xyXG5cclxuICBwcml2YXRlIG9wZW4oKTogdm9pZCB7XHJcbiAgICB0aGlzLmRyb3Bkb3duSWNvbiA9ICdwby1pY29uLWFycm93LXVwJztcclxuICAgIHRoaXMuZHJvcGRvd25PcGVuID0gdHJ1ZTtcclxuXHJcbiAgICB0aGlzLmRyb3Bkb3duLmNvbnRyb2xWaXNpYmlsaXR5KHRydWUpO1xyXG4gICAgdGhpcy5zZXRWaXNpYmxlT3B0aW9uc0Ryb3Bkb3duKHRoaXMub3B0aW9ucyk7XHJcbiAgICB0aGlzLmluaXRpYWxpemVMaXN0ZW5lcnMoKTtcclxuICAgIHRoaXMuc2Nyb2xsVG9TZWxlY3RlZE9wdGlvbnMoKTtcclxuXHJcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcclxuICAgIHRoaXMuc2V0UG9zaXRpb25Ecm9wZG93bigpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByZW1vdmVMaXN0ZW5lcnMoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5jbGlja091dExpc3RlbmVyKSB7XHJcbiAgICAgIHRoaXMuY2xpY2tPdXRMaXN0ZW5lcigpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLnJlc2l6ZUxpc3RlbmVyKSB7XHJcbiAgICAgIHRoaXMucmVzaXplTGlzdGVuZXIoKTtcclxuICAgIH1cclxuXHJcbiAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgdGhpcy5vblNjcm9sbCwgdHJ1ZSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldFBvc2l0aW9uRHJvcGRvd24oKTogdm9pZCB7XHJcbiAgICB0aGlzLmNvbnRyb2xQb3NpdGlvbi5zZXRFbGVtZW50cyhcclxuICAgICAgdGhpcy5kcm9wZG93bi5jb250YWluZXIubmF0aXZlRWxlbWVudCxcclxuICAgICAgcG9NdWx0aXNlbGVjdENvbnRhaW5lck9mZnNldCxcclxuICAgICAgdGhpcy5pbnB1dEVsZW1lbnQsXHJcbiAgICAgIFsndG9wJywgJ2JvdHRvbSddLFxyXG4gICAgICB0cnVlXHJcbiAgICApO1xyXG5cclxuICAgIHRoaXMuYWRqdXN0Q29udGFpbmVyUG9zaXRpb24oKTtcclxuICB9XHJcbn1cclxuIl19
|
|
1
|
+
import { ChangeDetectorRef, Component, ElementRef, forwardRef, Renderer2, ViewChild } from '@angular/core';
|
|
2
|
+
import { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
|
+
import { of } from 'rxjs';
|
|
4
|
+
import { tap, catchError } from 'rxjs/operators';
|
|
5
|
+
import { isMobile } from './../../../utils/util';
|
|
6
|
+
import { PoControlPositionService } from './../../../services/po-control-position/po-control-position.service';
|
|
7
|
+
import { PoKeyCodeEnum } from './../../../enums/po-key-code.enum';
|
|
8
|
+
import { PoLanguageService } from '../../../services/po-language/po-language.service';
|
|
9
|
+
import { PoMultiselectBaseComponent } from './po-multiselect-base.component';
|
|
10
|
+
import { PoMultiselectFilterService } from './po-multiselect-filter.service';
|
|
11
|
+
const poMultiselectContainerOffset = 8;
|
|
12
|
+
const poMultiselectContainerPositionDefault = 'bottom';
|
|
13
|
+
/* istanbul ignore next */
|
|
14
|
+
const providers = [
|
|
15
|
+
PoMultiselectFilterService,
|
|
16
|
+
PoControlPositionService,
|
|
17
|
+
{
|
|
18
|
+
provide: NG_VALUE_ACCESSOR,
|
|
19
|
+
// eslint-disable-next-line
|
|
20
|
+
useExisting: forwardRef(() => PoMultiselectComponent),
|
|
21
|
+
multi: true
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
provide: NG_VALIDATORS,
|
|
25
|
+
// eslint-disable-next-line
|
|
26
|
+
useExisting: forwardRef(() => PoMultiselectComponent),
|
|
27
|
+
multi: true
|
|
28
|
+
}
|
|
29
|
+
];
|
|
30
|
+
/**
|
|
31
|
+
* @docsExtends PoMultiselectBaseComponent
|
|
32
|
+
*
|
|
33
|
+
* @example
|
|
34
|
+
*
|
|
35
|
+
* <example name="po-multiselect-basic" title="PO Multiselect Basic">
|
|
36
|
+
* <file name="sample-po-multiselect-basic/sample-po-multiselect-basic.component.html"> </file>
|
|
37
|
+
* <file name="sample-po-multiselect-basic/sample-po-multiselect-basic.component.ts"> </file>
|
|
38
|
+
* </example>
|
|
39
|
+
*
|
|
40
|
+
* <example name="po-multiselect-labs" title="PO Multiselect Labs">
|
|
41
|
+
* <file name="sample-po-multiselect-labs/sample-po-multiselect-labs.component.html"> </file>
|
|
42
|
+
* <file name="sample-po-multiselect-labs/sample-po-multiselect-labs.component.ts"> </file>
|
|
43
|
+
* </example>
|
|
44
|
+
*
|
|
45
|
+
* <example name="po-multiselect-vacation" title="PO Multiselect - Vacation">
|
|
46
|
+
* <file name="sample-po-multiselect-vacation/sample-po-multiselect-vacation.component.html"> </file>
|
|
47
|
+
* <file name="sample-po-multiselect-vacation/sample-po-multiselect-vacation.component.ts"> </file>
|
|
48
|
+
* </example>
|
|
49
|
+
*
|
|
50
|
+
* <example name="po-multiselect-vacation-reactive-form" title="PO Multiselect - Vacation Reactive Form">
|
|
51
|
+
* <file name="sample-po-multiselect-vacation-reactive-form/sample-po-multiselect-vacation-reactive-form.component.html"> </file>
|
|
52
|
+
* <file name="sample-po-multiselect-vacation-reactive-form/sample-po-multiselect-vacation-reactive-form.component.ts"> </file>
|
|
53
|
+
* </example>
|
|
54
|
+
*
|
|
55
|
+
* <example name="po-multiselect-heroes" title="PO Multiselect - Heroes - using API">
|
|
56
|
+
* <file name="sample-po-multiselect-heroes/sample-po-multiselect-heroes.component.html"> </file>
|
|
57
|
+
* <file name="sample-po-multiselect-heroes/sample-po-multiselect-heroes.component.ts"> </file>
|
|
58
|
+
* <file name="sample-po-multiselect-heroes/sample-po-multiselect-heroes.service.ts"> </file>
|
|
59
|
+
* </example>
|
|
60
|
+
*/
|
|
61
|
+
export class PoMultiselectComponent extends PoMultiselectBaseComponent {
|
|
62
|
+
constructor(renderer, changeDetector, el, controlPosition, defaultService, languageService) {
|
|
63
|
+
super(languageService);
|
|
64
|
+
this.renderer = renderer;
|
|
65
|
+
this.changeDetector = changeDetector;
|
|
66
|
+
this.el = el;
|
|
67
|
+
this.controlPosition = controlPosition;
|
|
68
|
+
this.defaultService = defaultService;
|
|
69
|
+
this.disclaimerOffset = 0;
|
|
70
|
+
this.dropdownIcon = 'po-icon-arrow-down';
|
|
71
|
+
this.dropdownOpen = false;
|
|
72
|
+
this.initialized = false;
|
|
73
|
+
this.visibleElement = false;
|
|
74
|
+
this.isCalculateVisibleItems = true;
|
|
75
|
+
this.onScroll = () => {
|
|
76
|
+
this.adjustContainerPosition();
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
ngAfterViewInit() {
|
|
80
|
+
if (this.autoFocus) {
|
|
81
|
+
this.focus();
|
|
82
|
+
}
|
|
83
|
+
this.initialized = true;
|
|
84
|
+
}
|
|
85
|
+
ngOnChanges(changes) {
|
|
86
|
+
if (changes.filterService || changes.fieldValue || changes.fieldLabel) {
|
|
87
|
+
this.setService(this.filterService);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
ngDoCheck() {
|
|
91
|
+
const inputWidth = this.inputElement.nativeElement.offsetWidth;
|
|
92
|
+
// Permite que os disclaimers sejam calculados na primeira vez que o componente torna-se visível,
|
|
93
|
+
// evitando com isso, problemas com Tabs ou Divs que iniciem escondidas.
|
|
94
|
+
if ((inputWidth && !this.visibleElement && this.initialized) || (inputWidth && this.isCalculateVisibleItems)) {
|
|
95
|
+
this.debounceResize();
|
|
96
|
+
this.visibleElement = true;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
ngOnDestroy() {
|
|
100
|
+
var _a, _b;
|
|
101
|
+
this.removeListeners();
|
|
102
|
+
(_a = this.getObjectsByValuesSubscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();
|
|
103
|
+
(_b = this.filterSubject) === null || _b === void 0 ? void 0 : _b.unsubscribe();
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Função que atribui foco ao componente.
|
|
107
|
+
*
|
|
108
|
+
* Para utilizá-la é necessário ter a instância do componente no DOM, podendo ser utilizado o ViewChild da seguinte forma:
|
|
109
|
+
*
|
|
110
|
+
* ```
|
|
111
|
+
* import { PoMultiselectComponent } from '@po-ui/ng-components';
|
|
112
|
+
*
|
|
113
|
+
* ...
|
|
114
|
+
*
|
|
115
|
+
* @ViewChild(PoMultiselectComponent, { static: true }) multiselect: PoMultiselectComponent;
|
|
116
|
+
*
|
|
117
|
+
* focusMultiselect() {
|
|
118
|
+
* this.multiselect.focus();
|
|
119
|
+
* }
|
|
120
|
+
* ```
|
|
121
|
+
*/
|
|
122
|
+
focus() {
|
|
123
|
+
if (!this.disabled) {
|
|
124
|
+
this.inputElement.nativeElement.focus();
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
getInputWidth() {
|
|
128
|
+
return this.el.nativeElement.querySelector('.po-input').offsetWidth - 40;
|
|
129
|
+
}
|
|
130
|
+
getDisclaimersWidth() {
|
|
131
|
+
const disclaimers = this.el.nativeElement.querySelectorAll('po-disclaimer');
|
|
132
|
+
return Array.from(disclaimers).map(disclaimer => disclaimer['offsetWidth']);
|
|
133
|
+
}
|
|
134
|
+
calculateVisibleItems() {
|
|
135
|
+
const disclaimersWidth = this.getDisclaimersWidth();
|
|
136
|
+
const inputWidth = this.getInputWidth();
|
|
137
|
+
const extraDisclaimerSize = 38;
|
|
138
|
+
const disclaimersVisible = disclaimersWidth[0];
|
|
139
|
+
this.visibleDisclaimers = [];
|
|
140
|
+
if (inputWidth > 0) {
|
|
141
|
+
let sum = 0;
|
|
142
|
+
let i = 0;
|
|
143
|
+
for (i = 0; i < this.selectedOptions.length; i++) {
|
|
144
|
+
sum += disclaimersWidth[i];
|
|
145
|
+
this.visibleDisclaimers.push(this.selectedOptions[i]);
|
|
146
|
+
if (sum > inputWidth) {
|
|
147
|
+
sum -= disclaimersWidth[i];
|
|
148
|
+
this.isCalculateVisibleItems = false;
|
|
149
|
+
break;
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
if (disclaimersVisible || !this.selectedOptions.length) {
|
|
153
|
+
if (i === this.selectedOptions.length) {
|
|
154
|
+
this.isCalculateVisibleItems = false;
|
|
155
|
+
return;
|
|
156
|
+
}
|
|
157
|
+
if (sum + extraDisclaimerSize > inputWidth) {
|
|
158
|
+
this.visibleDisclaimers.splice(-2, 2);
|
|
159
|
+
const label = '+' + (this.selectedOptions.length + 1 - i).toString();
|
|
160
|
+
this.visibleDisclaimers.push({ value: '', label: label });
|
|
161
|
+
}
|
|
162
|
+
else {
|
|
163
|
+
this.visibleDisclaimers.splice(-1, 1);
|
|
164
|
+
const label = '+' + (this.selectedOptions.length - i).toString();
|
|
165
|
+
this.visibleDisclaimers.push({ value: '', label: label });
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
changeItems(changedItems) {
|
|
171
|
+
this.updateSelectedOptions(changedItems);
|
|
172
|
+
this.callOnChange(this.selectedOptions);
|
|
173
|
+
if (this.autoHeight && this.dropdownOpen) {
|
|
174
|
+
this.changeDetector.detectChanges();
|
|
175
|
+
this.adjustContainerPosition();
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
updateVisibleItems() {
|
|
179
|
+
if (this.selectedOptions) {
|
|
180
|
+
this.visibleDisclaimers = [].concat(this.selectedOptions);
|
|
181
|
+
}
|
|
182
|
+
this.debounceResize();
|
|
183
|
+
// quando estiver dentro de modal
|
|
184
|
+
if (!this.inputElement.nativeElement.offsetWidth) {
|
|
185
|
+
this.isCalculateVisibleItems = true;
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
debounceResize() {
|
|
189
|
+
if (!this.autoHeight) {
|
|
190
|
+
clearTimeout(this.timeoutResize);
|
|
191
|
+
this.timeoutResize = setTimeout(() => {
|
|
192
|
+
this.calculateVisibleItems();
|
|
193
|
+
}, 200);
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
onBlur() {
|
|
197
|
+
var _a;
|
|
198
|
+
(_a = this.onModelTouched) === null || _a === void 0 ? void 0 : _a.call(this);
|
|
199
|
+
}
|
|
200
|
+
onKeyDown(event) {
|
|
201
|
+
if (event.keyCode === PoKeyCodeEnum.arrowUp || event.keyCode === PoKeyCodeEnum.arrowDown) {
|
|
202
|
+
event.preventDefault();
|
|
203
|
+
this.controlDropdownVisibility(true);
|
|
204
|
+
return;
|
|
205
|
+
}
|
|
206
|
+
if (event.keyCode === PoKeyCodeEnum.tab) {
|
|
207
|
+
this.controlDropdownVisibility(false);
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
toggleDropdownVisibility() {
|
|
211
|
+
if (this.disabled) {
|
|
212
|
+
return;
|
|
213
|
+
}
|
|
214
|
+
if (this.filterService) {
|
|
215
|
+
this.applyFilterInFirstClick();
|
|
216
|
+
}
|
|
217
|
+
this.controlDropdownVisibility(!this.dropdownOpen);
|
|
218
|
+
}
|
|
219
|
+
openDropdown(toOpen) {
|
|
220
|
+
if (toOpen && !this.disabled) {
|
|
221
|
+
this.controlDropdownVisibility(true);
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
controlDropdownVisibility(toOpen) {
|
|
225
|
+
toOpen ? this.open() : this.close();
|
|
226
|
+
}
|
|
227
|
+
scrollToSelectedOptions() {
|
|
228
|
+
if (this.selectedOptions && this.selectedOptions.length) {
|
|
229
|
+
const index = this.options.findIndex(option => option.value === this.selectedOptions[0].value);
|
|
230
|
+
this.dropdown.scrollTo(index);
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
setVisibleOptionsDropdown(options) {
|
|
234
|
+
this.visibleOptionsDropdown = options;
|
|
235
|
+
}
|
|
236
|
+
changeSearch(event) {
|
|
237
|
+
if (event && event.value !== undefined) {
|
|
238
|
+
if (this.filterService) {
|
|
239
|
+
this.filterSubject.next(event.value);
|
|
240
|
+
}
|
|
241
|
+
else {
|
|
242
|
+
this.searchByLabel(event.value, this.options, this.filterMode);
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
else {
|
|
246
|
+
this.setVisibleOptionsDropdown(this.options);
|
|
247
|
+
}
|
|
248
|
+
// timeout necessário para reposicionar corretamente quando dropdown estiver pra cima do input e realizar busca no input
|
|
249
|
+
setTimeout(() => this.adjustContainerPosition());
|
|
250
|
+
}
|
|
251
|
+
closeDisclaimer(value) {
|
|
252
|
+
const index = this.selectedOptions.findIndex(option => option.value === value);
|
|
253
|
+
this.selectedOptions.splice(index, 1);
|
|
254
|
+
this.updateVisibleItems();
|
|
255
|
+
this.callOnChange(this.selectedOptions);
|
|
256
|
+
}
|
|
257
|
+
wasClickedOnToggle(event) {
|
|
258
|
+
if (this.dropdownOpen &&
|
|
259
|
+
!this.inputElement.nativeElement.contains(event.target) &&
|
|
260
|
+
!this.iconElement.nativeElement.contains(event.target) &&
|
|
261
|
+
!this.dropdownElement.nativeElement.contains(event.target)) {
|
|
262
|
+
this.controlDropdownVisibility(false);
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
applyFilter(value = '') {
|
|
266
|
+
const param = { property: 'label', value: value };
|
|
267
|
+
return this.service.getFilteredData(param).pipe(catchError(err => {
|
|
268
|
+
this.isServerSearching = false;
|
|
269
|
+
return of([]);
|
|
270
|
+
}), tap((options) => {
|
|
271
|
+
this.setOptionsByApplyFilter(options);
|
|
272
|
+
}));
|
|
273
|
+
}
|
|
274
|
+
applyFilterInFirstClick() {
|
|
275
|
+
if (this.isFirstFilter) {
|
|
276
|
+
this.isServerSearching = true;
|
|
277
|
+
// necessario enviar um objeto string vazia para refazer a busca, quando alterar filterService, fieldValue e fieldLabel
|
|
278
|
+
// pois temos o distinctUntilChange no pipe do filterSubject
|
|
279
|
+
/* eslint-disable no-new-wrappers */
|
|
280
|
+
this.filterSubject.next(new String());
|
|
281
|
+
}
|
|
282
|
+
else {
|
|
283
|
+
this.options = [...this.cacheOptions];
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
setOptionsByApplyFilter(items) {
|
|
287
|
+
if (this.isFirstFilter) {
|
|
288
|
+
this.cacheOptions = [...items];
|
|
289
|
+
this.isFirstFilter = false;
|
|
290
|
+
}
|
|
291
|
+
this.options = [...items];
|
|
292
|
+
this.setVisibleOptionsDropdown(this.options);
|
|
293
|
+
}
|
|
294
|
+
adjustContainerPosition() {
|
|
295
|
+
this.controlPosition.adjustPosition(poMultiselectContainerPositionDefault);
|
|
296
|
+
}
|
|
297
|
+
close() {
|
|
298
|
+
this.dropdownIcon = 'po-icon-arrow-down';
|
|
299
|
+
this.dropdownOpen = false;
|
|
300
|
+
this.dropdown.controlVisibility(false);
|
|
301
|
+
this.setVisibleOptionsDropdown(this.options);
|
|
302
|
+
this.removeListeners();
|
|
303
|
+
}
|
|
304
|
+
initializeListeners() {
|
|
305
|
+
this.clickOutListener = this.renderer.listen('document', 'click', (event) => {
|
|
306
|
+
this.wasClickedOnToggle(event);
|
|
307
|
+
});
|
|
308
|
+
this.resizeListener = this.renderer.listen('window', 'resize', () => {
|
|
309
|
+
this.updateVisibleItems();
|
|
310
|
+
isMobile() ? this.adjustContainerPosition() : this.close();
|
|
311
|
+
});
|
|
312
|
+
window.addEventListener('scroll', this.onScroll, true);
|
|
313
|
+
}
|
|
314
|
+
open() {
|
|
315
|
+
this.dropdownIcon = 'po-icon-arrow-up';
|
|
316
|
+
this.dropdownOpen = true;
|
|
317
|
+
this.dropdown.controlVisibility(true);
|
|
318
|
+
this.setVisibleOptionsDropdown(this.options);
|
|
319
|
+
this.initializeListeners();
|
|
320
|
+
this.scrollToSelectedOptions();
|
|
321
|
+
this.changeDetector.detectChanges();
|
|
322
|
+
this.setPositionDropdown();
|
|
323
|
+
}
|
|
324
|
+
removeListeners() {
|
|
325
|
+
if (this.clickOutListener) {
|
|
326
|
+
this.clickOutListener();
|
|
327
|
+
}
|
|
328
|
+
if (this.resizeListener) {
|
|
329
|
+
this.resizeListener();
|
|
330
|
+
}
|
|
331
|
+
window.removeEventListener('scroll', this.onScroll, true);
|
|
332
|
+
}
|
|
333
|
+
setPositionDropdown() {
|
|
334
|
+
this.controlPosition.setElements(this.dropdown.container.nativeElement, poMultiselectContainerOffset, this.inputElement, ['top', 'bottom'], true);
|
|
335
|
+
this.adjustContainerPosition();
|
|
336
|
+
}
|
|
337
|
+
}
|
|
338
|
+
PoMultiselectComponent.decorators = [
|
|
339
|
+
{ type: Component, args: [{
|
|
340
|
+
selector: 'po-multiselect',
|
|
341
|
+
template: "<po-field-container [p-label]=\"label\" [p-help]=\"help\" [p-optional]=\"!required && optional\">\n <div class=\"po-field-container-content\" [class.po-multiselect-show]=\"dropdownOpen\">\n <div\n #inputElement\n [tabindex]=\"disabled ? -1 : 0\"\n class=\"po-input po-input-icon-right po-multiselect-input po-clickable\"\n [class.po-multiselect-input-auto]=\"autoHeight\"\n [class.po-multiselect-input-static]=\"!autoHeight\"\n [class.po-multiselect-input-disabled]=\"disabled\"\n (keyup.enter)=\"toggleDropdownVisibility()\"\n (keydown)=\"onKeyDown($event)\"\n (click)=\"toggleDropdownVisibility()\"\n (blur)=\"onBlur()\"\n >\n <span *ngIf=\"placeholder && !visibleDisclaimers?.length\" class=\"po-multiselect-input-placeholder\">\n {{ placeholder }}\n </span>\n\n <po-disclaimer\n *ngFor=\"let disclaimer of visibleDisclaimers\"\n class=\"po-multiselect-input-disclaimer\"\n [p-label]=\"disclaimer.label\"\n [p-value]=\"disclaimer.value\"\n [p-hide-close]=\"disclaimer.value === '' || disabled\"\n [class.po-clickable]=\"disclaimer.value === '' && !disabled\"\n (click)=\"openDropdown(disclaimer.value === '')\"\n (p-close-action)=\"closeDisclaimer(disclaimer.value)\"\n >\n </po-disclaimer>\n\n <div class=\"po-field-icon-container-right\">\n <span\n #iconElement\n class=\"po-icon po-field-icon {{ dropdownIcon }}\"\n [ngClass]=\"disabled ? 'po-field-icon-disabled' : ''\"\n >\n </span>\n </div>\n </div>\n </div>\n\n <po-multiselect-dropdown\n #dropdownElement\n [p-searching]=\"isServerSearching\"\n [p-hide-search]=\"hideSearch\"\n [p-hide-select-all]=\"hideSelectAll\"\n [p-literals]=\"literals\"\n [p-options]=\"options\"\n [p-visible-options]=\"visibleOptionsDropdown\"\n [p-selected-options]=\"selectedOptions\"\n [p-placeholder-search]=\"placeholderSearch\"\n (p-change)=\"changeItems($event)\"\n (p-change-search)=\"changeSearch($event)\"\n (p-close-dropdown)=\"controlDropdownVisibility(false)\"\n >\n </po-multiselect-dropdown>\n\n <po-field-container-bottom></po-field-container-bottom>\n</po-field-container>\n",
|
|
342
|
+
providers
|
|
343
|
+
},] }
|
|
344
|
+
];
|
|
345
|
+
PoMultiselectComponent.ctorParameters = () => [
|
|
346
|
+
{ type: Renderer2 },
|
|
347
|
+
{ type: ChangeDetectorRef },
|
|
348
|
+
{ type: ElementRef },
|
|
349
|
+
{ type: PoControlPositionService },
|
|
350
|
+
{ type: PoMultiselectFilterService },
|
|
351
|
+
{ type: PoLanguageService }
|
|
352
|
+
];
|
|
353
|
+
PoMultiselectComponent.propDecorators = {
|
|
354
|
+
dropdownElement: [{ type: ViewChild, args: ['dropdownElement', { read: ElementRef, static: true },] }],
|
|
355
|
+
dropdown: [{ type: ViewChild, args: ['dropdownElement', { static: true },] }],
|
|
356
|
+
iconElement: [{ type: ViewChild, args: ['iconElement', { read: ElementRef, static: true },] }],
|
|
357
|
+
inputElement: [{ type: ViewChild, args: ['inputElement', { read: ElementRef, static: true },] }]
|
|
358
|
+
};
|
|
359
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tbXVsdGlzZWxlY3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9jb21wb25lbnRzL3BvLWZpZWxkL3BvLW11bHRpc2VsZWN0L3BvLW11bHRpc2VsZWN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsaUJBQWlCLEVBQ2pCLFNBQVMsRUFFVCxVQUFVLEVBQ1YsVUFBVSxFQUdWLFNBQVMsRUFFVCxTQUFTLEVBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWxFLE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUFFLEdBQUcsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVqRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDakQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0scUVBQXFFLENBQUM7QUFDL0csT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBRXRGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRTdFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRTdFLE1BQU0sNEJBQTRCLEdBQUcsQ0FBQyxDQUFDO0FBQ3ZDLE1BQU0scUNBQXFDLEdBQUcsUUFBUSxDQUFDO0FBRXZELDBCQUEwQjtBQUMxQixNQUFNLFNBQVMsR0FBRztJQUNoQiwwQkFBMEI7SUFDMUIsd0JBQXdCO0lBQ3hCO1FBQ0UsT0FBTyxFQUFFLGlCQUFpQjtRQUMxQiwyQkFBMkI7UUFDM0IsV0FBVyxFQUFFLFVB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QWlCLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7dUJBQy9ELFNBQVMsU0FBQyxpQkFBaUIsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7MEJBQzdDLFNBQVMsU0FBQyxhQUFhLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7MkJBQzNELFNBQVMsU0FBQyxjQUFjLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBEb0NoZWNrLFxuICBFbGVtZW50UmVmLFxuICBmb3J3YXJkUmVmLFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgUmVuZGVyZXIyLFxuICBTaW1wbGVDaGFuZ2VzLFxuICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOR19WQUxJREFUT1JTLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRhcCwgY2F0Y2hFcnJvciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgaXNNb2JpbGUgfSBmcm9tICcuLy4uLy4uLy4uL3V0aWxzL3V0aWwnO1xuaW1wb3J0IHsgUG9Db250cm9sUG9zaXRpb25TZXJ2aWNlIH0gZnJvbSAnLi8uLi8uLi8uLi9zZXJ2aWNlcy9wby1jb250cm9sLXBvc2l0aW9uL3BvLWNvbnRyb2wtcG9zaXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBQb0tleUNvZGVFbnVtIH0gZnJvbSAnLi8uLi8uLi8uLi9lbnVtcy9wby1rZXktY29kZS5lbnVtJztcbmltcG9ydCB7IFBvTGFuZ3VhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvcG8tbGFuZ3VhZ2UvcG8tbGFuZ3VhZ2Uuc2VydmljZSc7XG5cbmltcG9ydCB7IFBvTXVsdGlzZWxlY3RCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi9wby1tdWx0aXNlbGVjdC1iYXNlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQb011bHRpc2VsZWN0T3B0aW9uIH0gZnJvbSAnLi9wby1tdWx0aXNlbGVjdC1vcHRpb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IFBvTXVsdGlzZWxlY3RGaWx0ZXJTZXJ2aWNlIH0gZnJvbSAnLi9wby1tdWx0aXNlbGVjdC1maWx0ZXIuc2VydmljZSc7XG5cbmNvbnN0IHBvTXVsdGlzZWxlY3RDb250YWluZXJPZmZzZXQgPSA4O1xuY29uc3QgcG9NdWx0aXNlbGVjdENvbnRhaW5lclBvc2l0aW9uRGVmYXVsdCA9ICdib3R0b20nO1xuXG4vKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuY29uc3QgcHJvdmlkZXJzID0gW1xuICBQb011bHRpc2VsZWN0RmlsdGVyU2VydmljZSxcbiAgUG9Db250cm9sUG9zaXRpb25TZXJ2aWNlLFxuICB7XG4gICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lXG4gICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gUG9NdWx0aXNlbGVjdENvbXBvbmVudCksXG4gICAgbXVsdGk6IHRydWVcbiAgfSxcbiAge1xuICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lXG4gICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gUG9NdWx0aXNlbGVjdENvbXBvbmVudCksXG4gICAgbXVsdGk6IHRydWVcbiAgfVxuXTtcblxuLyoqXG4gKiBAZG9jc0V4dGVuZHMgUG9NdWx0aXNlbGVjdEJhc2VDb21wb25lbnRcbiAqXG4gKiBAZXhhbXBsZVxuICpcbiAqIDxleGFtcGxlIG5hbWU9XCJwby1tdWx0aXNlbGVjdC1iYXNpY1wiIHRpdGxlPVwiUE8gTXVsdGlzZWxlY3QgQmFzaWNcIj5cbiAqICAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1tdWx0aXNlbGVjdC1iYXNpYy9zYW1wbGUtcG8tbXVsdGlzZWxlY3QtYmFzaWMuY29tcG9uZW50Lmh0bWxcIj4gPC9maWxlPlxuICogICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLW11bHRpc2VsZWN0LWJhc2ljL3NhbXBsZS1wby1tdWx0aXNlbGVjdC1iYXNpYy5jb21wb25lbnQudHNcIj4gPC9maWxlPlxuICogPC9leGFtcGxlPlxuICpcbiAqIDxleGFtcGxlIG5hbWU9XCJwby1tdWx0aXNlbGVjdC1sYWJzXCIgdGl0bGU9XCJQTyBNdWx0aXNlbGVjdCBMYWJzXCI+XG4gKiAgIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tbXVsdGlzZWxlY3QtbGFicy9zYW1wbGUtcG8tbXVsdGlzZWxlY3QtbGFicy5jb21wb25lbnQuaHRtbFwiPiA8L2ZpbGU+XG4gKiAgIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tbXVsdGlzZWxlY3QtbGFicy9zYW1wbGUtcG8tbXVsdGlzZWxlY3QtbGFicy5jb21wb25lbnQudHNcIj4gPC9maWxlPlxuICogPC9leGFtcGxlPlxuICpcbiAqIDxleGFtcGxlIG5hbWU9XCJwby1tdWx0aXNlbGVjdC12YWNhdGlvblwiIHRpdGxlPVwiUE8gTXVsdGlzZWxlY3QgLSBWYWNhdGlvblwiPlxuICogICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLW11bHRpc2VsZWN0LXZhY2F0aW9uL3NhbXBsZS1wby1tdWx0aXNlbGVjdC12YWNhdGlvbi5jb21wb25lbnQuaHRtbFwiPiA8L2ZpbGU+XG4gKiAgIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tbXVsdGlzZWxlY3QtdmFjYXRpb24vc2FtcGxlLXBvLW11bHRpc2VsZWN0LXZhY2F0aW9uLmNvbXBvbmVudC50c1wiPiA8L2ZpbGU+XG4gKiA8L2V4YW1wbGU+XG4gKlxuICogPGV4YW1wbGUgbmFtZT1cInBvLW11bHRpc2VsZWN0LXZhY2F0aW9uLXJlYWN0aXZlLWZvcm1cIiB0aXRsZT1cIlBPIE11bHRpc2VsZWN0IC0gVmFjYXRpb24gUmVhY3RpdmUgRm9ybVwiPlxuICogICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLW11bHRpc2VsZWN0LXZhY2F0aW9uLXJlYWN0aXZlLWZvcm0vc2FtcGxlLXBvLW11bHRpc2VsZWN0LXZhY2F0aW9uLXJlYWN0aXZlLWZvcm0uY29tcG9uZW50Lmh0bWxcIj4gPC9maWxlPlxuICogICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLW11bHRpc2VsZWN0LXZhY2F0aW9uLXJlYWN0aXZlLWZvcm0vc2FtcGxlLXBvLW11bHRpc2VsZWN0LXZhY2F0aW9uLXJlYWN0aXZlLWZvcm0uY29tcG9uZW50LnRzXCI+IDwvZmlsZT5cbiAqIDwvZXhhbXBsZT5cbiAqXG4gKiA8ZXhhbXBsZSBuYW1lPVwicG8tbXVsdGlzZWxlY3QtaGVyb2VzXCIgdGl0bGU9XCJQTyBNdWx0aXNlbGVjdCAtIEhlcm9lcyAtIHVzaW5nIEFQSVwiPlxuICogICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLW11bHRpc2VsZWN0LWhlcm9lcy9zYW1wbGUtcG8tbXVsdGlzZWxlY3QtaGVyb2VzLmNvbXBvbmVudC5odG1sXCI+IDwvZmlsZT5cbiAqICAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1tdWx0aXNlbGVjdC1oZXJvZXMvc2FtcGxlLXBvLW11bHRpc2VsZWN0LWhlcm9lcy5jb21wb25lbnQudHNcIj4gPC9maWxlPlxuICogICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLW11bHRpc2VsZWN0LWhlcm9lcy9zYW1wbGUtcG8tbXVsdGlzZWxlY3QtaGVyb2VzLnNlcnZpY2UudHNcIj4gPC9maWxlPlxuICogPC9leGFtcGxlPlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwby1tdWx0aXNlbGVjdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9wby1tdWx0aXNlbGVjdC5jb21wb25lbnQuaHRtbCcsXG4gIHByb3ZpZGVyc1xufSlcbmV4cG9ydCBjbGFzcyBQb011bHRpc2VsZWN0Q29tcG9uZW50XG4gIGV4dGVuZHMgUG9NdWx0aXNlbGVjdEJhc2VDb21wb25lbnRcbiAgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBEb0NoZWNrLCBPbkRlc3Ryb3ksIE9uQ2hhbmdlcyB7XG4gIEBWaWV3Q2hpbGQoJ2Ryb3Bkb3duRWxlbWVudCcsIHsgcmVhZDogRWxlbWVudFJlZiwgc3RhdGljOiB0cnVlIH0pIGRyb3Bkb3duRWxlbWVudDogRWxlbWVudFJlZjtcbiAgQFZpZXdDaGlsZCgnZHJvcGRvd25FbGVtZW50JywgeyBzdGF0aWM6IHRydWUgfSkgZHJvcGRvd247XG4gIEBWaWV3Q2hpbGQoJ2ljb25FbGVtZW50JywgeyByZWFkOiBFbGVtZW50UmVmLCBzdGF0aWM6IHRydWUgfSkgaWNvbkVsZW1lbnQ6IEVsZW1lbnRSZWY7XG4gIEBWaWV3Q2hpbGQoJ2lucHV0RWxlbWVudCcsIHsgcmVhZDogRWxlbWVudFJlZiwgc3RhdGljOiB0cnVlIH0pIGlucHV0RWxlbWVudDogRWxlbWVudFJlZjtcblxuICBkaXNjbGFpbWVyT2Zmc2V0ID0gMDtcbiAgZHJvcGRvd25JY29uOiBzdHJpbmcgPSAncG8taWNvbi1hcnJvdy1kb3duJztcbiAgZHJvcGRvd25PcGVuOiBib29sZWFuID0gZmFsc2U7XG4gIGluaXRpYWxpemVkID0gZmFsc2U7XG4gIHBvc2l0aW9uRGlzY2xhaW1lckV4dHJhO1xuICB0aW1lb3V0UmVzaXplO1xuICB2aXNpYmxlRWxlbWVudCA9IGZhbHNlO1xuXG4gIHByaXZhdGUgaXNDYWxjdWxhdGVWaXNpYmxlSXRlbXM6IGJvb2xlYW4gPSB0cnVlO1xuICBwcml2YXRlIGNhY2hlT3B0aW9uczogQXJyYXk8UG9NdWx0aXNlbGVjdE9wdGlvbj47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgZWw6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSBjb250cm9sUG9zaXRpb246IFBvQ29udHJvbFBvc2l0aW9uU2VydmljZSxcbiAgICBwdWJsaWMgZGVmYXVsdFNlcnZpY2U6IFBvTXVsdGlzZWxlY3RGaWx0ZXJTZXJ2aWNlLFxuICAgIGxhbmd1YWdlU2VydmljZTogUG9MYW5ndWFnZVNlcnZpY2VcbiAgKSB7XG4gICAgc3VwZXIobGFuZ3VhZ2VTZXJ2aWNlKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBpZiAodGhpcy5hdXRvRm9jdXMpIHtcbiAgICAgIHRoaXMuZm9jdXMoKTtcbiAgICB9XG4gICAgdGhpcy5pbml0aWFsaXplZCA9IHRydWU7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKGNoYW5nZXMuZmlsdGVyU2VydmljZSB8fCBjaGFuZ2VzLmZpZWxkVmFsdWUgfHwgY2hhbmdlcy5maWVsZExhYmVsKSB7XG4gICAgICB0aGlzLnNldFNlcnZpY2UodGhpcy5maWx0ZXJTZXJ2aWNlKTtcbiAgICB9XG4gIH1cblxuICBuZ0RvQ2hlY2soKSB7XG4gICAgY29uc3QgaW5wdXRXaWR0aCA9IHRoaXMuaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGg7XG4gICAgLy8gUGVybWl0ZSBxdWUgb3MgZGlzY2xhaW1lcnMgc2VqYW0gY2FsY3VsYWRvcyBuYSBwcmltZWlyYSB2ZXogcXVlIG8gY29tcG9uZW50ZSB0b3JuYS1zZSB2aXPDrXZlbCxcbiAgICAvLyBldml0YW5kbyBjb20gaXNzbywgcHJvYmxlbWFzIGNvbSBUYWJzIG91IERpdnMgcXVlIGluaWNpZW0gZXNjb25kaWRhcy5cbiAgICBpZiAoKGlucHV0V2lkdGggJiYgIXRoaXMudmlzaWJsZUVsZW1lbnQgJiYgdGhpcy5pbml0aWFsaXplZCkgfHwgKGlucHV0V2lkdGggJiYgdGhpcy5pc0NhbGN1bGF0ZVZpc2libGVJdGVtcykpIHtcbiAgICAgIHRoaXMuZGVib3VuY2VSZXNpemUoKTtcbiAgICAgIHRoaXMudmlzaWJsZUVsZW1lbnQgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMucmVtb3ZlTGlzdGVuZXJzKCk7XG4gICAgdGhpcy5nZXRPYmplY3RzQnlWYWx1ZXNTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5maWx0ZXJTdWJqZWN0Py51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEZ1bsOnw6NvIHF1ZSBhdHJpYnVpIGZvY28gYW8gY29tcG9uZW50ZS5cbiAgICpcbiAgICogUGFyYSB1dGlsaXrDoS1sYSDDqSBuZWNlc3PDoXJpbyB0ZXIgYSBpbnN0w6JuY2lhIGRvIGNvbXBvbmVudGUgbm8gRE9NLCBwb2RlbmRvIHNlciB1dGlsaXphZG8gbyBWaWV3Q2hpbGQgZGEgc2VndWludGUgZm9ybWE6XG4gICAqXG4gICAqIGBgYFxuICAgKiBpbXBvcnQgeyBQb011bHRpc2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnQHBvLXVpL25nLWNvbXBvbmVudHMnO1xuICAgKlxuICAgKiAuLi5cbiAgICpcbiAgICogQFZpZXdDaGlsZChQb011bHRpc2VsZWN0Q29tcG9uZW50LCB7IHN0YXRpYzogdHJ1ZSB9KSBtdWx0aXNlbGVjdDogUG9NdWx0aXNlbGVjdENvbXBvbmVudDtcbiAgICpcbiAgICogZm9jdXNNdWx0aXNlbGVjdCgpIHtcbiAgICogICB0aGlzLm11bHRpc2VsZWN0LmZvY3VzKCk7XG4gICAqIH1cbiAgICogYGBgXG4gICAqL1xuICBmb2N1cygpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMuaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICB9XG4gIH1cblxuICBnZXRJbnB1dFdpZHRoKCkge1xuICAgIHJldHVybiB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLnBvLWlucHV0Jykub2Zmc2V0V2lkdGggLSA0MDtcbiAgfVxuXG4gIGdldERpc2NsYWltZXJzV2lkdGgoKSB7XG4gICAgY29uc3QgZGlzY2xhaW1lcnMgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvckFsbCgncG8tZGlzY2xhaW1lcicpO1xuICAgIHJldHVybiBBcnJheS5mcm9tKGRpc2NsYWltZXJzKS5tYXAoZGlzY2xhaW1lciA9PiBkaXNjbGFpbWVyWydvZmZzZXRXaWR0aCddKTtcbiAgfVxuXG4gIGNhbGN1bGF0ZVZpc2libGVJdGVtcygpIHtcbiAgICBjb25zdCBkaXNjbGFpbWVyc1dpZHRoID0gdGhpcy5nZXREaXNjbGFpbWVyc1dpZHRoKCk7XG4gICAgY29uc3QgaW5wdXRXaWR0aCA9IHRoaXMuZ2V0SW5wdXRXaWR0aCgpO1xuICAgIGNvbnN0IGV4dHJhRGlzY2xhaW1lclNpemUgPSAzODtcbiAgICBjb25zdCBkaXNjbGFpbWVyc1Zpc2libGUgPSBkaXNjbGFpbWVyc1dpZHRoWzBdO1xuXG4gICAgdGhpcy52aXNpYmxlRGlzY2xhaW1lcnMgPSBbXTtcblxuICAgIGlmIChpbnB1dFdpZHRoID4gMCkge1xuICAgICAgbGV0IHN1bSA9IDA7XG4gICAgICBsZXQgaSA9IDA7XG4gICAgICBmb3IgKGkgPSAwOyBpIDwgdGhpcy5zZWxlY3RlZE9wdGlvbnMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgc3VtICs9IGRpc2NsYWltZXJzV2lkdGhbaV07XG4gICAgICAgIHRoaXMudmlzaWJsZURpc2NsYWltZXJzLnB1c2godGhpcy5zZWxlY3RlZE9wdGlvbnNbaV0pO1xuXG4gICAgICAgIGlmIChzdW0gPiBpbnB1dFdpZHRoKSB7XG4gICAgICAgICAgc3VtIC09IGRpc2NsYWltZXJzV2lkdGhbaV07XG4gICAgICAgICAgdGhpcy5pc0NhbGN1bGF0ZVZpc2libGVJdGVtcyA9IGZhbHNlO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmIChkaXNjbGFpbWVyc1Zpc2libGUgfHwgIXRoaXMuc2VsZWN0ZWRPcHRpb25zLmxlbmd0aCkge1xuICAgICAgICBpZiAoaSA9PT0gdGhpcy5zZWxlY3RlZE9wdGlvbnMubGVuZ3RoKSB7XG4gICAgICAgICAgdGhpcy5pc0NhbGN1bGF0ZVZpc2libGVJdGVtcyA9IGZhbHNlO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChzdW0gKyBleHRyYURpc2NsYWltZXJTaXplID4gaW5wdXRXaWR0aCkge1xuICAgICAgICAgIHRoaXMudmlzaWJsZURpc2NsYWltZXJzLnNwbGljZSgtMiwgMik7XG4gICAgICAgICAgY29uc3QgbGFiZWwgPSAnKycgKyAodGhpcy5zZWxlY3RlZE9wdGlvbnMubGVuZ3RoICsgMSAtIGkpLnRvU3RyaW5nKCk7XG4gICAgICAgICAgdGhpcy52aXNpYmxlRGlzY2xhaW1lcnMucHVzaCh7IHZhbHVlOiAnJywgbGFiZWw6IGxhYmVsIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMudmlzaWJsZURpc2NsYWltZXJzLnNwbGljZSgtMSwgMSk7XG4gICAgICAgICAgY29uc3QgbGFiZWwgPSAnKycgKyAodGhpcy5zZWxlY3RlZE9wdGlvbnMubGVuZ3RoIC0gaSkudG9TdHJpbmcoKTtcbiAgICAgICAgICB0aGlzLnZpc2libGVEaXNjbGFpbWVycy5wdXNoKHsgdmFsdWU6ICcnLCBsYWJlbDogbGFiZWwgfSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBjaGFuZ2VJdGVtcyhjaGFuZ2VkSXRlbXMpIHtcbiAgICB0aGlzLnVwZGF0ZVNlbGVjdGVkT3B0aW9ucyhjaGFuZ2VkSXRlbXMpO1xuICAgIHRoaXMuY2FsbE9uQ2hhbmdlKHRoaXMuc2VsZWN0ZWRPcHRpb25zKTtcblxuICAgIGlmICh0aGlzLmF1dG9IZWlnaHQgJiYgdGhpcy5kcm9wZG93bk9wZW4pIHtcbiAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgdGhpcy5hZGp1c3RDb250YWluZXJQb3NpdGlvbigpO1xuICAgIH1cbiAgfVxuXG4gIHVwZGF0ZVZpc2libGVJdGVtcygpIHtcbiAgICBpZiAodGhpcy5zZWxlY3RlZE9wdGlvbnMpIHtcbiAgICAgIHRoaXMudmlzaWJsZURpc2NsYWltZXJzID0gW10uY29uY2F0KHRoaXMuc2VsZWN0ZWRPcHRpb25zKTtcbiAgICB9XG5cbiAgICB0aGlzLmRlYm91bmNlUmVzaXplKCk7XG5cbiAgICAvLyBxdWFuZG8gZXN0aXZlciBkZW50cm8gZGUgbW9kYWxcbiAgICBpZiAoIXRoaXMuaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGgpIHtcbiAgICAgIHRoaXMuaXNDYWxjdWxhdGVWaXNpYmxlSXRlbXMgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIGRlYm91bmNlUmVzaXplKCkge1xuICAgIGlmICghdGhpcy5hdXRvSGVpZ2h0KSB7XG4gICAgICBjbGVhclRpbWVvdXQodGhpcy50aW1lb3V0UmVzaXplKTtcbiAgICAgIHRoaXMudGltZW91dFJlc2l6ZSA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLmNhbGN1bGF0ZVZpc2libGVJdGVtcygpO1xuICAgICAgfSwgMjAwKTtcbiAgICB9XG4gIH1cblxuICBvbkJsdXIoKSB7XG4gICAgdGhpcy5vbk1vZGVsVG91Y2hlZD8uKCk7XG4gIH1cblxuICBvbktleURvd24oZXZlbnQ/OiBhbnkpIHtcbiAgICBpZiAoZXZlbnQua2V5Q29kZSA9PT0gUG9LZXlDb2RlRW51bS5hcnJvd1VwIHx8IGV2ZW50LmtleUNvZGUgPT09IFBvS2V5Q29kZUVudW0uYXJyb3dEb3duKSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgdGhpcy5jb250cm9sRHJvcGRvd25WaXNpYmlsaXR5KHRydWUpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChldmVudC5rZXlDb2RlID09PSBQb0tleUNvZGVFbnVtLnRhYikge1xuICAgICAgdGhpcy5jb250cm9sRHJvcGRvd25WaXNpYmlsaXR5KGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICB0b2dnbGVEcm9wZG93blZpc2liaWxpdHkoKSB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5maWx0ZXJTZXJ2aWNlKSB7XG4gICAgICB0aGlzLmFwcGx5RmlsdGVySW5GaXJzdENsaWNrKCk7XG4gICAgfVxuXG4gICAgdGhpcy5jb250cm9sRHJvcGRvd25WaXNpYmlsaXR5KCF0aGlzLmRyb3Bkb3duT3Blbik7XG4gIH1cblxuICBvcGVuRHJvcGRvd24odG9PcGVuKSB7XG4gICAgaWYgKHRvT3BlbiAmJiAhdGhpcy5kaXNhYmxlZCkge1xuICAgICAgdGhpcy5jb250cm9sRHJvcGRvd25WaXNpYmlsaXR5KHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIGNvbnRyb2xEcm9wZG93blZpc2liaWxpdHkodG9PcGVuOiBib29sZWFuKSB7XG4gICAgdG9PcGVuID8gdGhpcy5vcGVuKCkgOiB0aGlzLmNsb3NlKCk7XG4gIH1cblxuICBzY3JvbGxUb1NlbGVjdGVkT3B0aW9ucygpIHtcbiAgICBpZiAodGhpcy5zZWxlY3RlZE9wdGlvbnMgJiYgdGhpcy5zZWxlY3RlZE9wdGlvbnMubGVuZ3RoKSB7XG4gICAgICBjb25zdCBpbmRleCA9IHRoaXMub3B0aW9ucy5maW5kSW5kZXgob3B0aW9uID0+IG9wdGlvbi52YWx1ZSA9PT0gdGhpcy5zZWxlY3RlZE9wdGlvbnNbMF0udmFsdWUpO1xuICAgICAgdGhpcy5kcm9wZG93bi5zY3JvbGxUbyhpbmRleCk7XG4gICAgfVxuICB9XG5cbiAgc2V0VmlzaWJsZU9wdGlvbnNEcm9wZG93bihvcHRpb25zKSB7XG4gICAgdGhpcy52aXNpYmxlT3B0aW9uc0Ryb3Bkb3duID0gb3B0aW9ucztcbiAgfVxuXG4gIGNoYW5nZVNlYXJjaChldmVudCkge1xuICAgIGlmIChldmVudCAmJiBldmVudC52YWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBpZiAodGhpcy5maWx0ZXJTZXJ2aWNlKSB7XG4gICAgICAgIHRoaXMuZmlsdGVyU3ViamVjdC5uZXh0KGV2ZW50LnZhbHVlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuc2VhcmNoQnlMYWJlbChldmVudC52YWx1ZSwgdGhpcy5vcHRpb25zLCB0aGlzLmZpbHRlck1vZGUpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNldFZpc2libGVPcHRpb25zRHJvcGRvd24odGhpcy5vcHRpb25zKTtcbiAgICB9XG5cbiAgICAvLyB0aW1lb3V0IG5lY2Vzc8OhcmlvIHBhcmEgcmVwb3NpY2lvbmFyIGNvcnJldGFtZW50ZSBxdWFuZG8gZHJvcGRvd24gZXN0aXZlciBwcmEgY2ltYSBkbyBpbnB1dCBlIHJlYWxpemFyIGJ1c2NhIG5vIGlucHV0XG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmFkanVzdENvbnRhaW5lclBvc2l0aW9uKCkpO1xuICB9XG5cbiAgY2xvc2VEaXNjbGFpbWVyKHZhbHVlKSB7XG4gICAgY29uc3QgaW5kZXggPSB0aGlzLnNlbGVjdGVkT3B0aW9ucy5maW5kSW5kZXgob3B0aW9uID0+IG9wdGlvbi52YWx1ZSA9PT0gdmFsdWUpO1xuICAgIHRoaXMuc2VsZWN0ZWRPcHRpb25zLnNwbGljZShpbmRleCwgMSk7XG5cbiAgICB0aGlzLnVwZGF0ZVZpc2libGVJdGVtcygpO1xuICAgIHRoaXMuY2FsbE9uQ2hhbmdlKHRoaXMuc2VsZWN0ZWRPcHRpb25zKTtcbiAgfVxuXG4gIHdhc0NsaWNrZWRPblRvZ2dsZShldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIGlmIChcbiAgICAgIHRoaXMuZHJvcGRvd25PcGVuICYmXG4gICAgICAhdGhpcy5pbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudC5jb250YWlucyhldmVudC50YXJnZXQpICYmXG4gICAgICAhdGhpcy5pY29uRWxlbWVudC5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCkgJiZcbiAgICAgICF0aGlzLmRyb3Bkb3duRWxlbWVudC5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldClcbiAgICApIHtcbiAgICAgIHRoaXMuY29udHJvbERyb3Bkb3duVmlzaWJpbGl0eShmYWxzZSk7XG4gICAgfVxuICB9XG5cbiAgYXBwbHlGaWx0ZXIodmFsdWU6IHN0cmluZyA9ICcnKTogT2JzZXJ2YWJsZTxBcnJheTxQb011bHRpc2VsZWN0T3B0aW9uPj4ge1xuICAgIGNvbnN0IHBhcmFtID0geyBwcm9wZXJ0eTogJ2xhYmVsJywgdmFsdWU6IHZhbHVlIH07XG4gICAgcmV0dXJuIHRoaXMuc2VydmljZS5nZXRGaWx0ZXJlZERhdGEocGFyYW0pLnBpcGUoXG4gICAgICBjYXRjaEVycm9yKGVyciA9PiB7XG4gICAgICAgIHRoaXMuaXNTZXJ2ZXJTZWFyY2hpbmcgPSBmYWxzZTtcbiAgICAgICAgcmV0dXJuIG9mKFtdKTtcbiAgICAgIH0pLFxuICAgICAgdGFwKChvcHRpb25zOiBBcnJheTxQb011bHRpc2VsZWN0T3B0aW9uPikgPT4ge1xuICAgICAgICB0aGlzLnNldE9wdGlvbnNCeUFwcGx5RmlsdGVyKG9wdGlvbnMpO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBhcHBseUZpbHRlckluRmlyc3RDbGljaygpIHtcbiAgICBpZiAodGhpcy5pc0ZpcnN0RmlsdGVyKSB7XG4gICAgICB0aGlzLmlzU2VydmVyU2VhcmNoaW5nID0gdHJ1ZTtcblxuICAgICAgLy8gbmVjZXNzYXJpbyBlbnZpYXIgdW0gb2JqZXRvIHN0cmluZyB2YXppYSBwYXJhIHJlZmF6ZXIgYSBidXNjYSwgcXVhbmRvIGFsdGVyYXIgZmlsdGVyU2VydmljZSwgZmllbGRWYWx1ZSBlIGZpZWxkTGFiZWxcbiAgICAgIC8vIHBvaXMgdGVtb3MgbyBkaXN0aW5jdFVudGlsQ2hhbmdlIG5vIHBpcGUgZG8gZmlsdGVyU3ViamVjdFxuICAgICAgLyogZXNsaW50LWRpc2FibGUgbm8tbmV3LXdyYXBwZXJzICovXG4gICAgICB0aGlzLmZpbHRlclN1YmplY3QubmV4dChuZXcgU3RyaW5nKCkpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm9wdGlvbnMgPSBbLi4udGhpcy5jYWNoZU9wdGlvbnNdO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0T3B0aW9uc0J5QXBwbHlGaWx0ZXIoaXRlbXM6IEFycmF5PFBvTXVsdGlzZWxlY3RPcHRpb24+KSB7XG4gICAgaWYgKHRoaXMuaXNGaXJzdEZpbHRlcikge1xuICAgICAgdGhpcy5jYWNoZU9wdGlvbnMgPSBbLi4uaXRlbXNdO1xuICAgICAgdGhpcy5pc0ZpcnN0RmlsdGVyID0gZmFsc2U7XG4gICAgfVxuXG4gICAgdGhpcy5vcHRpb25zID0gWy4uLml0ZW1zXTtcbiAgICB0aGlzLnNldFZpc2libGVPcHRpb25zRHJvcGRvd24odGhpcy5vcHRpb25zKTtcbiAgfVxuXG4gIHByaXZhdGUgYWRqdXN0Q29udGFpbmVyUG9zaXRpb24oKTogdm9pZCB7XG4gICAgdGhpcy5jb250cm9sUG9zaXRpb24uYWRqdXN0UG9zaXRpb24ocG9NdWx0aXNlbGVjdENvbnRhaW5lclBvc2l0aW9uRGVmYXVsdCk7XG4gIH1cblxuICBwcml2YXRlIGNsb3NlKCk6IHZvaWQge1xuICAgIHRoaXMuZHJvcGRvd25JY29uID0gJ3BvLWljb24tYXJyb3ctZG93bic7XG4gICAgdGhpcy5kcm9wZG93bk9wZW4gPSBmYWxzZTtcblxuICAgIHRoaXMuZHJvcGRvd24uY29udHJvbFZpc2liaWxpdHkoZmFsc2UpO1xuICAgIHRoaXMuc2V0VmlzaWJsZU9wdGlvbnNEcm9wZG93bih0aGlzLm9wdGlvbnMpO1xuXG4gICAgdGhpcy5yZW1vdmVMaXN0ZW5lcnMoKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdGlhbGl6ZUxpc3RlbmVycygpOiB2b2lkIHtcbiAgICB0aGlzLmNsaWNrT3V0TGlzdGVuZXIgPSB0aGlzLnJlbmRlcmVyLmxpc3RlbignZG9jdW1lbnQnLCAnY2xpY2snLCAoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHtcbiAgICAgIHRoaXMud2FzQ2xpY2tlZE9uVG9nZ2xlKGV2ZW50KTtcbiAgICB9KTtcblxuICAgIHRoaXMucmVzaXplTGlzdGVuZXIgPSB0aGlzLnJlbmRlcmVyLmxpc3Rlbignd2luZG93JywgJ3Jlc2l6ZScsICgpID0+IHtcbiAgICAgIHRoaXMudXBkYXRlVmlzaWJsZUl0ZW1zKCk7XG5cbiAgICAgIGlzTW9iaWxlKCkgPyB0aGlzLmFkanVzdENvbnRhaW5lclBvc2l0aW9uKCkgOiB0aGlzLmNsb3NlKCk7XG4gICAgfSk7XG5cbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgdGhpcy5vblNjcm9sbCwgdHJ1ZSk7XG4gIH1cblxuICBwcml2YXRlIG9uU2Nyb2xsID0gKCk6IHZvaWQgPT4ge1xuICAgIHRoaXMuYWRqdXN0Q29udGFpbmVyUG9zaXRpb24oKTtcbiAgfTtcblxuICBwcml2YXRlIG9wZW4oKTogdm9pZCB7XG4gICAgdGhpcy5kcm9wZG93bkljb24gPSAncG8taWNvbi1hcnJvdy11cCc7XG4gICAgdGhpcy5kcm9wZG93bk9wZW4gPSB0cnVlO1xuXG4gICAgdGhpcy5kcm9wZG93bi5jb250cm9sVmlzaWJpbGl0eSh0cnVlKTtcbiAgICB0aGlzLnNldFZpc2libGVPcHRpb25zRHJvcGRvd24odGhpcy5vcHRpb25zKTtcbiAgICB0aGlzLmluaXRpYWxpemVMaXN0ZW5lcnMoKTtcbiAgICB0aGlzLnNjcm9sbFRvU2VsZWN0ZWRPcHRpb25zKCk7XG5cbiAgICB0aGlzLmNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcbiAgICB0aGlzLnNldFBvc2l0aW9uRHJvcGRvd24oKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVtb3ZlTGlzdGVuZXJzKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmNsaWNrT3V0TGlzdGVuZXIpIHtcbiAgICAgIHRoaXMuY2xpY2tPdXRMaXN0ZW5lcigpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnJlc2l6ZUxpc3RlbmVyKSB7XG4gICAgICB0aGlzLnJlc2l6ZUxpc3RlbmVyKCk7XG4gICAgfVxuXG4gICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIHRoaXMub25TY3JvbGwsIHRydWUpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRQb3NpdGlvbkRyb3Bkb3duKCk6IHZvaWQge1xuICAgIHRoaXMuY29udHJvbFBvc2l0aW9uLnNldEVsZW1lbnRzKFxuICAgICAgdGhpcy5kcm9wZG93bi5jb250YWluZXIubmF0aXZlRWxlbWVudCxcbiAgICAgIHBvTXVsdGlzZWxlY3RDb250YWluZXJPZmZzZXQsXG4gICAgICB0aGlzLmlucHV0RWxlbWVudCxcbiAgICAgIFsndG9wJywgJ2JvdHRvbSddLFxuICAgICAgdHJ1ZVxuICAgICk7XG5cbiAgICB0aGlzLmFkanVzdENvbnRhaW5lclBvc2l0aW9uKCk7XG4gIH1cbn1cbiJdfQ==
|