@wizishop/angular-components 15.0.1 → 15.1.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/angular-components.scss +295 -548
- package/esm2020/lib/components/alert/alert.component.mjs +3 -3
- package/esm2020/lib/components/alert-popup/alert-popup-module.mjs +4 -4
- package/esm2020/lib/components/alert-popup/alert-popup.component.mjs +3 -3
- package/esm2020/lib/components/alert-popup/alert-popup.service.mjs +3 -3
- package/esm2020/lib/components/back/back.component.mjs +3 -3
- package/esm2020/lib/components/block/block-title-legacy/block-title-legacy.component.mjs +3 -3
- package/esm2020/lib/components/block/block.component.mjs +7 -7
- package/esm2020/lib/components/block/separator/block-separator.component.mjs +3 -3
- package/esm2020/lib/components/block-with-checkbox/block-with-checkbox.component.mjs +5 -5
- package/esm2020/lib/components/breadcrumbs/breadcrumbs.component.mjs +3 -3
- package/esm2020/lib/components/button/button.component.mjs +12 -12
- package/esm2020/lib/components/calendar/calendar.component.mjs +26 -26
- package/esm2020/lib/components/card-price/card-price.component.mjs +7 -5
- package/esm2020/lib/components/charging-bar/charging-bar.component.mjs +3 -3
- package/esm2020/lib/components/checkbox/checkbox.component.mjs +15 -14
- package/esm2020/lib/components/checkbox/checkbox.module.mjs +4 -4
- package/esm2020/lib/components/common/label/label.component.mjs +3 -3
- package/esm2020/lib/components/common/placeholder/placeholder.component.mjs +3 -3
- package/esm2020/lib/components/confirm-delete/confirm-delete.component.mjs +3 -3
- package/esm2020/lib/components/content-with-buttons/content-with-buttons.component.mjs +3 -3
- package/esm2020/lib/components/delete/delete.component.mjs +3 -3
- package/esm2020/lib/components/draganddrop-list/draganddrop-list.component.mjs +3 -3
- package/esm2020/lib/components/dropdown/dropdown.component.mjs +3 -3
- package/esm2020/lib/components/edit-in-place/edit-in-place.component.mjs +3 -3
- package/esm2020/lib/components/expanded-panel/expanded-panel.component.mjs +3 -3
- package/esm2020/lib/components/expansion/accordion/accordion.component.mjs +3 -3
- package/esm2020/lib/components/expansion/expansion-panel/expansion-panel-base.mjs +12 -12
- package/esm2020/lib/components/expansion/expansion-panel/expansion-panel.component.mjs +7 -7
- package/esm2020/lib/components/expansion/expansion-panel/expansion-panel.directive.mjs +3 -3
- package/esm2020/lib/components/expansion/expansion-panel-header/expansion-panel-header-base.mjs +7 -7
- package/esm2020/lib/components/expansion/expansion-panel-header/expansion-panel-header.component.mjs +7 -7
- package/esm2020/lib/components/expansion/expansion-panel-header/expansion-panel-header.directive.mjs +3 -3
- package/esm2020/lib/components/expansion/expansion.module.mjs +4 -4
- package/esm2020/lib/components/filters/filters.component.mjs +3 -3
- package/esm2020/lib/components/free-popin/free-popin.component.mjs +3 -3
- package/esm2020/lib/components/google-preview/google-preview.component.mjs +3 -3
- package/esm2020/lib/components/header-page/header-page.component.mjs +21 -9
- package/esm2020/lib/components/hn/h1/h1.component.mjs +3 -3
- package/esm2020/lib/components/hn/h2/h2.component.mjs +3 -3
- package/esm2020/lib/components/hn/h3/h3.component.mjs +3 -3
- package/esm2020/lib/components/hn/h4/h4.component.mjs +3 -3
- package/esm2020/lib/components/image/image.component.mjs +3 -3
- package/esm2020/lib/components/info/info.component.mjs +3 -3
- package/esm2020/lib/components/inputs/input/input.component.mjs +3 -3
- package/esm2020/lib/components/inputs/input/input.module.mjs +4 -4
- package/esm2020/lib/components/inputs/input-search/input-search.component.mjs +3 -3
- package/esm2020/lib/components/inputs/input-search/input-search.module.mjs +4 -4
- package/esm2020/lib/components/inputs/input-with-select/input-with-select.component.mjs +5 -5
- package/esm2020/lib/components/link/link.component.mjs +9 -9
- package/esm2020/lib/components/loader/loader.component.mjs +3 -3
- package/esm2020/lib/components/loader/loader.module.mjs +4 -4
- package/esm2020/lib/components/logo/logo.component.mjs +3 -3
- package/esm2020/lib/components/mosaic/mosaic.component.mjs +3 -3
- package/esm2020/lib/components/multiple-search/multiple-search.component.mjs +3 -3
- package/esm2020/lib/components/multiple-search-plus/multiple-search-plus.component.mjs +3 -3
- package/esm2020/lib/components/optional-disable-container/optional-disable-container.component.mjs +3 -3
- package/esm2020/lib/components/pagination/pagination.component.mjs +7 -7
- package/esm2020/lib/components/pagination/pagination.module.mjs +4 -4
- package/esm2020/lib/components/pagination/pipes/array-pages.pipe.mjs +3 -3
- package/esm2020/lib/components/pagination/pipes/custom-text.pipe.mjs +3 -3
- package/esm2020/lib/components/pagination/pipes/is-last-page.pipe.mjs +3 -3
- package/esm2020/lib/components/popin/popin.component.mjs +5 -5
- package/esm2020/lib/components/progress-bar/progress-bar.component.mjs +3 -3
- package/esm2020/lib/components/progress-bar/progress-bar.module.mjs +4 -4
- package/esm2020/lib/components/radio/radio-directive.mjs +39 -0
- package/esm2020/lib/components/radio/radio-group.directive.mjs +34 -0
- package/esm2020/lib/components/radio/radio.component.mjs +3 -3
- package/esm2020/lib/components/search/search.component.mjs +3 -3
- package/esm2020/lib/components/selected-list/selected-list.component.mjs +3 -3
- package/esm2020/lib/components/selects/option/option-selection-handler.interface.mjs +1 -1
- package/esm2020/lib/components/selects/option/option.component.mjs +8 -5
- package/esm2020/lib/components/selects/option/select-option.directive.mjs +18 -13
- package/esm2020/lib/components/selects/option-call-to-action/option-call-to-action.component.mjs +4 -4
- package/esm2020/lib/components/selects/select/select.component.mjs +197 -0
- package/esm2020/lib/components/selects/select/select.directive.mjs +164 -0
- package/esm2020/lib/components/selects/select/value-change.service.mjs +190 -0
- package/esm2020/lib/components/selects/select-in-text/select-in-text.component.mjs +11 -11
- package/esm2020/lib/components/selects/select-search-trigger/select-search-trigger.component.mjs +3 -3
- package/esm2020/lib/components/separator/separator.component.mjs +3 -3
- package/esm2020/lib/components/settings/settings.component.mjs +3 -3
- package/esm2020/lib/components/shared-components.module.mjs +9 -13
- package/esm2020/lib/components/snackbar/snackbar.component.mjs +3 -3
- package/esm2020/lib/components/state/state.component.mjs +3 -3
- package/esm2020/lib/components/summary/summary.component.mjs +8 -8
- package/esm2020/lib/components/switch/switch.component.mjs +3 -3
- package/esm2020/lib/components/tab/tab.component.mjs +3 -3
- package/esm2020/lib/components/table/directives/checkBoxRow.directive.mjs +13 -13
- package/esm2020/lib/components/table/directives/column.directive.mjs +3 -3
- package/esm2020/lib/components/table/directives/columnHeader.directive.mjs +11 -11
- package/esm2020/lib/components/table/directives/raw.directive.mjs +3 -3
- package/esm2020/lib/components/table/shared/filters-table.service.mjs +3 -3
- package/esm2020/lib/components/table/shared/table-checkbox-id.service.mjs +3 -3
- package/esm2020/lib/components/table/table.component.mjs +4 -4
- package/esm2020/lib/components/table/table.module.mjs +4 -4
- package/esm2020/lib/components/tag/tag.component.mjs +3 -3
- package/esm2020/lib/components/tag-label/tag-label.component.mjs +3 -3
- package/esm2020/lib/components/text/text.component.mjs +3 -3
- package/esm2020/lib/components/text-area/text-area.component.mjs +3 -3
- package/esm2020/lib/components/token-check/token-check.component.mjs +3 -3
- package/esm2020/lib/components/tooltip/tooltip.component.mjs +3 -3
- package/esm2020/lib/components/tooltip/tooltip.module.mjs +4 -4
- package/esm2020/lib/components/tree/tree.component.mjs +11 -9
- package/esm2020/lib/components/tree/tree.dto.mjs +1 -1
- package/esm2020/lib/components/tree/tree.module.mjs +4 -4
- package/esm2020/lib/components/upload/upload.component.mjs +3 -3
- package/esm2020/lib/components/wrapper/wrapper.component.mjs +3 -3
- package/esm2020/lib/components/wrapper-blocs/wrapper-blocs.component.mjs +3 -3
- package/esm2020/lib/components/wrapper-multiple-block/wrapper-multiple-block.component.mjs +3 -3
- package/esm2020/lib/components/wrapper-sidebar/wrapper-sidebar.component.mjs +3 -3
- package/esm2020/lib/directives/abstract-debounce/abstract-debounce.directive.mjs +3 -3
- package/esm2020/lib/directives/abstract-debounce/debounce-keyup.directive.mjs +3 -3
- package/esm2020/lib/directives/auto-hide/auto-hide.directive.mjs +3 -3
- package/esm2020/lib/directives/keyboard-events/keypress-enter.directive.mjs +8 -8
- package/esm2020/lib/directives/keyboard-events/only-numbers.directive.mjs +3 -3
- package/esm2020/lib/directives/keyboard-events/two-digital-decimal-number.directive.mjs +3 -3
- package/esm2020/lib/directives/ng-var.directive.mjs +12 -12
- package/esm2020/lib/directives/shared-directives.module.mjs +17 -9
- package/esm2020/lib/directives/zindex-toggle/zindex-toggle.directive.mjs +9 -9
- package/esm2020/lib/pipes/call-component-function.pipe.mjs +3 -3
- package/esm2020/lib/pipes/find-option-selected-field.pipe.mjs +3 -3
- package/esm2020/lib/pipes/select/filter-options.pipe.mjs +3 -3
- package/esm2020/lib/pipes/select/select-filters.pipe.mjs +3 -3
- package/esm2020/lib/pipes/selected-list/are-all-options-selected.pipe.mjs +3 -3
- package/esm2020/lib/pipes/shared-pipes.module.mjs +4 -4
- package/esm2020/lib/pipes/tree/format-object-to-recursif-tree.pipe.mjs +3 -3
- package/esm2020/lib/pipes/tree/format-object-to-simple-tree.pipe.mjs +3 -3
- package/esm2020/lib/services/dom.service.mjs +3 -3
- package/esm2020/lib/services/history.service.mjs +53 -0
- package/esm2020/lib/services/multiple-selection.service.mjs +3 -3
- package/esm2020/lib/utils/array.mjs +2 -0
- package/esm2020/lib/utils/uuid.mjs +8 -0
- package/esm2020/lib/wizi-components.module.mjs +4 -4
- package/esm2020/public-api.mjs +8 -5
- package/fesm2015/wizishop-angular-components.mjs +829 -748
- package/fesm2015/wizishop-angular-components.mjs.map +1 -1
- package/fesm2020/wizishop-angular-components.mjs +828 -747
- package/fesm2020/wizishop-angular-components.mjs.map +1 -1
- package/lib/components/block/block.component.d.ts +1 -1
- package/lib/components/card-price/card-price.component.d.ts +2 -1
- package/lib/components/checkbox/checkbox.component.d.ts +1 -1
- package/lib/components/header-page/header-page.component.d.ts +8 -2
- package/lib/components/inputs/input-with-select/input-with-select.component.d.ts +1 -1
- package/lib/components/inputs/input-with-select/option-item.dto.d.ts +1 -1
- package/lib/components/mosaic/mosaic.component.d.ts +4 -4
- package/lib/components/radio/radio-directive.d.ts +12 -0
- package/lib/components/radio/radio-group.directive.d.ts +11 -0
- package/lib/components/selects/option/option-selection-handler.interface.d.ts +1 -0
- package/lib/components/selects/option/option.component.d.ts +1 -0
- package/lib/components/selects/option/select-option.directive.d.ts +3 -1
- package/lib/components/selects/{select-test → select}/select.component.d.ts +3 -3
- package/lib/components/selects/{select-test → select}/select.directive.d.ts +8 -5
- package/lib/components/selects/{select-test → select}/value-change.service.d.ts +15 -5
- package/lib/components/shared-components.module.d.ts +79 -80
- package/lib/components/tree/tree.component.d.ts +8 -7
- package/lib/components/tree/tree.dto.d.ts +1 -1
- package/lib/directives/shared-directives.module.d.ts +6 -4
- package/lib/pipes/call-component-function.pipe.d.ts +1 -1
- package/lib/services/history.service.d.ts +14 -0
- package/lib/utils/array.d.ts +1 -0
- package/lib/utils/uuid.d.ts +1 -0
- package/package.json +13 -14
- package/public-api.d.ts +7 -4
- package/wizishop-angular-components-15.1.1.tgz +0 -0
- package/esm2020/lib/components/selects/legacy-select/select.component.mjs +0 -133
- package/esm2020/lib/components/selects/select-test/select.component.mjs +0 -197
- package/esm2020/lib/components/selects/select-test/select.directive.mjs +0 -154
- package/esm2020/lib/components/selects/select-test/value-change.service.mjs +0 -144
- package/lib/components/selects/legacy-select/select.component.d.ts +0 -46
- package/wizishop-angular-components-15.0.1.tgz +0 -0
|
@@ -1,154 +0,0 @@
|
|
|
1
|
-
import { DOWN_ARROW, UP_ARROW, LEFT_ARROW, RIGHT_ARROW, TAB } from '@angular/cdk/keycodes';
|
|
2
|
-
import { ContentChildren, Directive, EventEmitter, HostBinding, HostListener, Input, Output } from '@angular/core';
|
|
3
|
-
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
4
|
-
import { startWith, Subject, takeUntil } from 'rxjs';
|
|
5
|
-
import { OPTION_SELECTION_HANDLER } from '../option/option-selection-handler.token';
|
|
6
|
-
import { ValueChangeService } from './value-change.service';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
import * as i1 from "./value-change.service";
|
|
9
|
-
export class SelectDirective {
|
|
10
|
-
constructor(valueChangeService) {
|
|
11
|
-
this.valueChangeService = valueChangeService;
|
|
12
|
-
this.valueChange = new EventEmitter();
|
|
13
|
-
this._disabled = false;
|
|
14
|
-
this.tabIndex = 0;
|
|
15
|
-
this.isDestroyed$ = new Subject();
|
|
16
|
-
// ControlValueAccessor methods
|
|
17
|
-
this.onChange = () => { };
|
|
18
|
-
this.onTouch = () => { };
|
|
19
|
-
}
|
|
20
|
-
get tabindex() {
|
|
21
|
-
return this.tabIndex;
|
|
22
|
-
}
|
|
23
|
-
get isSelectDisabled() {
|
|
24
|
-
return this.disabled;
|
|
25
|
-
}
|
|
26
|
-
/** Handles all keydown events on the select. */
|
|
27
|
-
onKeydown(event) {
|
|
28
|
-
if (event.keyCode === TAB) {
|
|
29
|
-
return;
|
|
30
|
-
}
|
|
31
|
-
if (this.disabled) {
|
|
32
|
-
return;
|
|
33
|
-
}
|
|
34
|
-
this.handleKeyboardAction(event);
|
|
35
|
-
}
|
|
36
|
-
set value(value) {
|
|
37
|
-
this._value = value;
|
|
38
|
-
if (!this.optionChildren) {
|
|
39
|
-
return;
|
|
40
|
-
}
|
|
41
|
-
this.valueChangeService.assignValue(value);
|
|
42
|
-
}
|
|
43
|
-
get value() {
|
|
44
|
-
return this._value;
|
|
45
|
-
}
|
|
46
|
-
set disabled(disabled) {
|
|
47
|
-
this._disabled = disabled;
|
|
48
|
-
this.valueChangeService.setDisabledState(disabled);
|
|
49
|
-
}
|
|
50
|
-
get disabled() {
|
|
51
|
-
return this._disabled;
|
|
52
|
-
}
|
|
53
|
-
ngOnInit() {
|
|
54
|
-
this.handleValueChange();
|
|
55
|
-
}
|
|
56
|
-
ngAfterViewInit() {
|
|
57
|
-
this.handleOptionChildren();
|
|
58
|
-
}
|
|
59
|
-
handleValueChange() {
|
|
60
|
-
this.valueChangeService.valueChange$.pipe(takeUntil(this.isDestroyed$)).subscribe(value => {
|
|
61
|
-
this._value = value;
|
|
62
|
-
this.valueChange.emit(this.value);
|
|
63
|
-
this.onChange(this.value);
|
|
64
|
-
this.onTouch(this.value);
|
|
65
|
-
});
|
|
66
|
-
}
|
|
67
|
-
handleOptionChildren() {
|
|
68
|
-
this.optionChildren.changes.pipe(takeUntil(this.isDestroyed$), startWith(this.optionChildren)).subscribe(optionChildren => {
|
|
69
|
-
this.valueChangeService.handleSelectOptionsChange(optionChildren, this.value);
|
|
70
|
-
});
|
|
71
|
-
}
|
|
72
|
-
/** Handles keyboard events when the selected is open. */
|
|
73
|
-
handleKeyboardAction(event) {
|
|
74
|
-
const keyCode = event.keyCode;
|
|
75
|
-
const isArrowKey = keyCode === DOWN_ARROW ||
|
|
76
|
-
keyCode === UP_ARROW ||
|
|
77
|
-
keyCode === LEFT_ARROW ||
|
|
78
|
-
keyCode === RIGHT_ARROW;
|
|
79
|
-
// const isTyping = (keyCode >= A && keyCode <= Z) || (keyCode >= ZERO && keyCode <= NINE);
|
|
80
|
-
if (isArrowKey) {
|
|
81
|
-
event.preventDefault(); // prevents the page from scrolling
|
|
82
|
-
// select the next option on arrow key down
|
|
83
|
-
if (keyCode === DOWN_ARROW || keyCode === RIGHT_ARROW) {
|
|
84
|
-
this.valueChangeService.selectNextOption();
|
|
85
|
-
return;
|
|
86
|
-
}
|
|
87
|
-
this.valueChangeService.selectPreviousOption();
|
|
88
|
-
return;
|
|
89
|
-
}
|
|
90
|
-
/*
|
|
91
|
-
if (isTyping) {
|
|
92
|
-
this.valueChangeService.searchOptionByFirstLetter(event.key);
|
|
93
|
-
return;
|
|
94
|
-
}
|
|
95
|
-
*/
|
|
96
|
-
}
|
|
97
|
-
writeValue(value) {
|
|
98
|
-
if (typeof value === 'undefined') {
|
|
99
|
-
return;
|
|
100
|
-
}
|
|
101
|
-
this.value = value;
|
|
102
|
-
}
|
|
103
|
-
registerOnChange(fn) {
|
|
104
|
-
this.onChange = fn;
|
|
105
|
-
}
|
|
106
|
-
registerOnTouched(fn) {
|
|
107
|
-
this.onTouch = fn;
|
|
108
|
-
}
|
|
109
|
-
setDisabledState(isDisabled) {
|
|
110
|
-
this.disabled = isDisabled;
|
|
111
|
-
}
|
|
112
|
-
;
|
|
113
|
-
ngOnDestroy() {
|
|
114
|
-
this.isDestroyed$.next();
|
|
115
|
-
this.isDestroyed$.complete();
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
SelectDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: SelectDirective, deps: [{ token: i1.ValueChangeService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
119
|
-
SelectDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.2", type: SelectDirective, selector: "[wacSelect]", inputs: { value: "value", disabled: "disabled", tabIndex: "tabIndex" }, outputs: { valueChange: "valueChange" }, host: { listeners: { "keydown": "onKeydown($event)" }, properties: { "attr.tabindex": "this.tabindex", "class.wac-select-disabled": "this.isSelectDisabled" } }, providers: [
|
|
120
|
-
{ provide: NG_VALUE_ACCESSOR, useExisting: SelectDirective, multi: true },
|
|
121
|
-
ValueChangeService
|
|
122
|
-
], queries: [{ propertyName: "optionChildren", predicate: OPTION_SELECTION_HANDLER, descendants: true }], exportAs: ["wacSelect"], ngImport: i0 });
|
|
123
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: SelectDirective, decorators: [{
|
|
124
|
-
type: Directive,
|
|
125
|
-
args: [{
|
|
126
|
-
selector: '[wacSelect]',
|
|
127
|
-
providers: [
|
|
128
|
-
{ provide: NG_VALUE_ACCESSOR, useExisting: SelectDirective, multi: true },
|
|
129
|
-
ValueChangeService
|
|
130
|
-
],
|
|
131
|
-
exportAs: 'wacSelect'
|
|
132
|
-
}]
|
|
133
|
-
}], ctorParameters: function () { return [{ type: i1.ValueChangeService }]; }, propDecorators: { tabindex: [{
|
|
134
|
-
type: HostBinding,
|
|
135
|
-
args: ['attr.tabindex']
|
|
136
|
-
}], isSelectDisabled: [{
|
|
137
|
-
type: HostBinding,
|
|
138
|
-
args: ['class.wac-select-disabled']
|
|
139
|
-
}], onKeydown: [{
|
|
140
|
-
type: HostListener,
|
|
141
|
-
args: ['keydown', ['$event']]
|
|
142
|
-
}], optionChildren: [{
|
|
143
|
-
type: ContentChildren,
|
|
144
|
-
args: [OPTION_SELECTION_HANDLER, { descendants: true }]
|
|
145
|
-
}], value: [{
|
|
146
|
-
type: Input
|
|
147
|
-
}], valueChange: [{
|
|
148
|
-
type: Output
|
|
149
|
-
}], disabled: [{
|
|
150
|
-
type: Input
|
|
151
|
-
}], tabIndex: [{
|
|
152
|
-
type: Input
|
|
153
|
-
}] } });
|
|
154
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvc2VsZWN0cy9zZWxlY3QtdGVzdC9zZWxlY3QuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQW9CLEdBQUcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzdHLE9BQU8sRUFBaUIsZUFBZSxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUNoSyxPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXJELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7QUFXNUQsTUFBTSxPQUFPLGVBQWU7SUEwRHhCLFlBQXNCLGtCQUFvRDtRQUFwRCx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQWtDO1FBbEIxRSxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFnQixDQUFDO1FBVy9DLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFHbEIsYUFBUSxHQUFXLENBQUMsQ0FBQztRQUU5QixpQkFBWSxHQUFrQixJQUFJLE9BQU8sRUFBRSxDQUFDO1FBd0Q1QywrQkFBK0I7UUFFL0IsYUFBUSxHQUF5QixHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7UUFFMUMsWUFBTyxHQUF5QixHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7SUF6RHpDLENB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LFdBQVc7dUJBQUMsZUFBZTtnQkFJa0IsZ0JBQWdCO3NCQUE3RCxXQUFXO3VCQUFDLDJCQUEyQjtnQkFLSCxTQUFTO3NCQUE3QyxZQUFZO3VCQUFDLFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFVc0MsY0FBYztzQkFBdEYsZUFBZTt1QkFBQyx3QkFBK0IsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUU7Z0JBR25FLEtBQUs7c0JBRFIsS0FBSztnQkFpQk4sV0FBVztzQkFEVixNQUFNO2dCQUtILFFBQVE7c0JBRFgsS0FBSztnQkFXRyxRQUFRO3NCQUFoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRE9XTl9BUlJPVywgVVBfQVJST1csIExFRlRfQVJST1csIFJJR0hUX0FSUk9XLCBBLCBaLCBaRVJPLCBOSU5FLCBUQUIgfSBmcm9tICdAYW5ndWxhci9jZGsva2V5Y29kZXMnO1xuaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29udGVudENoaWxkcmVuLCBEaXJlY3RpdmUsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQsIFF1ZXJ5TGlzdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgc3RhcnRXaXRoLCBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE9wdGlvblNlbGVjdGlvbkhhbmRsZXIgfSBmcm9tICcuLi9vcHRpb24vb3B0aW9uLXNlbGVjdGlvbi1oYW5kbGVyLmludGVyZmFjZSc7XG5pbXBvcnQgeyBPUFRJT05fU0VMRUNUSU9OX0hBTkRMRVIgfSBmcm9tICcuLi9vcHRpb24vb3B0aW9uLXNlbGVjdGlvbi1oYW5kbGVyLnRva2VuJztcbmltcG9ydCB7IFZhbHVlQ2hhbmdlU2VydmljZSB9IGZyb20gJy4vdmFsdWUtY2hhbmdlLnNlcnZpY2UnO1xuXG5ARGlyZWN0aXZlKFxuICB7XG4gICAgc2VsZWN0b3I6ICdbd2FjU2VsZWN0XScsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHsgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsIHVzZUV4aXN0aW5nOiBTZWxlY3REaXJlY3RpdmUsIG11bHRpOiB0cnVlIH0sXG4gICAgICAgIFZhbHVlQ2hhbmdlU2VydmljZVxuICAgICAgXSxcbiAgICBleHBvcnRBczogJ3dhY1NlbGVjdCdcbn0pXG5leHBvcnQgY2xhc3MgU2VsZWN0RGlyZWN0aXZlPFRPcHRpb25WYWx1ZT4gaW1wbGVtZW50cyAgT25Jbml0LCBDb250cm9sVmFsdWVBY2Nlc3NvciwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcblxuICAgIEBIb3N0QmluZGluZygnYXR0ci50YWJpbmRleCcpIGdldCB0YWJpbmRleCgpIHtcbiAgICAgIHJldHVybiB0aGlzLnRhYkluZGV4O1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnY2xhc3Mud2FjLXNlbGVjdC1kaXNhYmxlZCcpIGdldCBpc1NlbGVjdERpc2FibGVkKCkge1xuICAgICAgcmV0dXJuIHRoaXMuZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgLyoqIEhhbmRsZXMgYWxsIGtleWRvd24gZXZlbnRzIG9uIHRoZSBzZWxlY3QuICovXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bicsIFsnJGV2ZW50J10pIG9uS2V5ZG93bihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgICAgaWYgKGV2ZW50LmtleUNvZGUgPT09IFRBQikge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICB0aGlzLmhhbmRsZUtleWJvYXJkQWN0aW9uKGV2ZW50KTtcbiAgICB9XG5cbiAgICBAQ29udGVudENoaWxkcmVuKE9QVElPTl9TRUxFQ1RJT05fSEFORExFUiBhcyBhbnksIHsgZGVzY2VuZGFudHM6IHRydWUgfSkgb3B0aW9uQ2hpbGRyZW4hOiBRdWVyeUxpc3Q8T3B0aW9uU2VsZWN0aW9uSGFuZGxlcjxUT3B0aW9uVmFsdWU+PjtcblxuICAgIEBJbnB1dCgpXG4gICAgc2V0IHZhbHVlKHZhbHVlOiBUT3B0aW9uVmFsdWUpIHtcbiAgICAgIHRoaXMuX3ZhbHVlID0gdmFsdWU7XG5cbiAgICAgIGlmICghdGhpcy5vcHRpb25DaGlsZHJlbikge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHRoaXMudmFsdWVDaGFuZ2VTZXJ2aWNlLmFzc2lnblZhbHVlKHZhbHVlKTtcbiAgICB9XG5cbiAgICBnZXQgdmFsdWUoKSA6IFRPcHRpb25WYWx1ZSB7XG4gICAgICByZXR1cm4gdGhpcy5fdmFsdWU7XG4gICAgfVxuICAgIF92YWx1ZTogVE9wdGlvblZhbHVlO1xuXG4gICAgQE91dHB1dCgpXG4gICAgdmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFRPcHRpb25WYWx1ZT4oKTtcblxuXG4gICAgQElucHV0KClcbiAgICBzZXQgZGlzYWJsZWQoZGlzYWJsZWQ6IGJvb2xlYW4pIHtcbiAgICAgIHRoaXMuX2Rpc2FibGVkID0gZGlzYWJsZWQ7XG4gICAgICB0aGlzLnZhbHVlQ2hhbmdlU2VydmljZS5zZXREaXNhYmxlZFN0YXRlKGRpc2FibGVkKTtcbiAgICB9XG4gICAgZ2V0IGRpc2FibGVkKCkgOiBib29sZWFuIHtcbiAgICAgIHJldHVybiB0aGlzLl9kaXNhYmxlZDtcbiAgICB9XG4gICAgX2Rpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cblxuICAgIEBJbnB1dCgpIHRhYkluZGV4OiBudW1iZXIgPSAwO1xuXG4gICAgaXNEZXN0cm95ZWQkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3QoKTtcblxuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCB2YWx1ZUNoYW5nZVNlcnZpY2U6IFZhbHVlQ2hhbmdlU2VydmljZTxUT3B0aW9uVmFsdWU+KSB7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICB0aGlzLmhhbmRsZVZhbHVlQ2hhbmdlKCk7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgICAgdGhpcy5oYW5kbGVPcHRpb25DaGlsZHJlbigpO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGFuZGxlVmFsdWVDaGFuZ2UoKSB7XG4gICAgICAgIHRoaXMudmFsdWVDaGFuZ2VTZXJ2aWNlLnZhbHVlQ2hhbmdlJC5waXBlKHRha2VVbnRpbCh0aGlzLmlzRGVzdHJveWVkJCkpLnN1YnNjcmliZSh2YWx1ZSA9PiB7XG4gICAgICAgICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodGhpcy52YWx1ZSk7XG4gICAgICAgICAgdGhpcy5vbkNoYW5nZSh0aGlzLnZhbHVlKTtcbiAgICAgICAgICB0aGlzLm9uVG91Y2godGhpcy52YWx1ZSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGFuZGxlT3B0aW9uQ2hpbGRyZW4oKSB7XG4gICAgICAgIHRoaXMub3B0aW9uQ2hpbGRyZW4uY2hhbmdlcy5waXBlKHRha2VVbnRpbCh0aGlzLmlzRGVzdHJveWVkJCksIHN0YXJ0V2l0aCh0aGlzLm9wdGlvbkNoaWxkcmVuKSkuc3Vic2NyaWJlKG9wdGlvbkNoaWxkcmVuID0+IHtcbiAgICAgICAgICAgIHRoaXMudmFsdWVDaGFuZ2VTZXJ2aWNlLmhhbmRsZVNlbGVjdE9wdGlvbnNDaGFuZ2Uob3B0aW9uQ2hpbGRyZW4sIHRoaXMudmFsdWUpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKiogSGFuZGxlcyBrZXlib2FyZCBldmVudHMgd2hlbiB0aGUgc2VsZWN0ZWQgaXMgb3Blbi4gKi9cbiAgICBwcm90ZWN0ZWQgaGFuZGxlS2V5Ym9hcmRBY3Rpb24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgIGNvbnN0IGtleUNvZGUgPSBldmVudC5rZXlDb2RlO1xuICAgICAgY29uc3QgaXNBcnJvd0tleSA9XG4gICAgICAgIGtleUNvZGUgPT09IERPV05fQVJST1cgfHxcbiAgICAgICAga2V5Q29kZSA9PT0gVVBfQVJST1cgfHxcbiAgICAgICAga2V5Q29kZSA9PT0gTEVGVF9BUlJPVyB8fFxuICAgICAgICBrZXlDb2RlID09PSBSSUdIVF9BUlJPVztcbiAgICAgIC8vIGNvbnN0IGlzVHlwaW5nID0gKGtleUNvZGUgPj0gQSAmJiBrZXlDb2RlIDw9IFopIHx8IChrZXlDb2RlID49IFpFUk8gJiYga2V5Q29kZSA8PSBOSU5FKTtcbiAgICAgIGlmIChpc0Fycm93S2V5KSB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7IC8vIHByZXZlbnRzIHRoZSBwYWdlIGZyb20gc2Nyb2xsaW5nXG4gICAgICAgIC8vIHNlbGVjdCB0aGUgbmV4dCBvcHRpb24gb24gYXJyb3cga2V5IGRvd25cbiAgICAgICAgaWYgKGtleUNvZGUgPT09IERPV05fQVJST1cgfHwga2V5Q29kZSA9PT0gUklHSFRfQVJST1cpIHtcbiAgICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlU2VydmljZS5zZWxlY3ROZXh0T3B0aW9uKCk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMudmFsdWVDaGFuZ2VTZXJ2aWNlLnNlbGVjdFByZXZpb3VzT3B0aW9uKCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgLypcbiAgICAgIGlmIChpc1R5cGluZykge1xuICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlU2VydmljZS5zZWFyY2hPcHRpb25CeUZpcnN0TGV0dGVyKGV2ZW50LmtleSk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgICAqL1xuICAgIH1cblxuICAgIC8vIENvbnRyb2xWYWx1ZUFjY2Vzc29yIG1ldGhvZHNcblxuICAgIG9uQ2hhbmdlOiAodmFsdWU6IGFueSkgPT4gdm9pZCA9ICgpID0+IHt9O1xuXG4gICAgb25Ub3VjaDogKHZhbHVlOiBhbnkpID0+IHZvaWQgPSAoKSA9PiB7fTtcblxuICAgIHdyaXRlVmFsdWUodmFsdWU6IGFueSl7XG4gICAgICBpZiAodHlwZW9mIHZhbHVlID09PSAndW5kZWZpbmVkJykge1xuICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSl7XG4gICAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gICAgfVxuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpe1xuICAgICAgdGhpcy5vblRvdWNoID0gZm47XG4gICAgfVxuXG4gICAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKSB7XG4gICAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgICB9O1xuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICB0aGlzLmlzRGVzdHJveWVkJC5uZXh0KCk7XG4gICAgICB0aGlzLmlzRGVzdHJveWVkJC5jb21wbGV0ZSgpO1xuICAgIH1cblxufVxuIl19
|
|
@@ -1,144 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { merge, Subject } from 'rxjs';
|
|
3
|
-
import { filter, map, takeUntil } from 'rxjs/operators';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export class ValueChangeService {
|
|
6
|
-
constructor(changeDetectorRef) {
|
|
7
|
-
this.changeDetectorRef = changeDetectorRef;
|
|
8
|
-
this.valueChange$ = new Subject();
|
|
9
|
-
this.indexSelectedOption = null;
|
|
10
|
-
this.resetListeners$ = new Subject();
|
|
11
|
-
this.indexOfMatchedOption = (option, index, letter) => {
|
|
12
|
-
const textOption = option.getContentRef().nativeElement.textContent.trim().toLowerCase();
|
|
13
|
-
return textOption.startsWith(letter) ? index : null;
|
|
14
|
-
};
|
|
15
|
-
this.isNotNull = (index) => {
|
|
16
|
-
return index !== null;
|
|
17
|
-
};
|
|
18
|
-
this.highestAndClosestIndex = (index) => {
|
|
19
|
-
if (isNaN(this.indexSelectedOption)) {
|
|
20
|
-
return true;
|
|
21
|
-
}
|
|
22
|
-
if (index > this.indexSelectedOption) {
|
|
23
|
-
return true;
|
|
24
|
-
}
|
|
25
|
-
return false;
|
|
26
|
-
};
|
|
27
|
-
}
|
|
28
|
-
set value(value) {
|
|
29
|
-
this._value = value;
|
|
30
|
-
this.handleValueChange();
|
|
31
|
-
this.valueChange$.next(value);
|
|
32
|
-
}
|
|
33
|
-
get value() {
|
|
34
|
-
return this._value;
|
|
35
|
-
}
|
|
36
|
-
handleSelectOptionsChange(optionChildren, value) {
|
|
37
|
-
this.resetListeners$.next();
|
|
38
|
-
this.optionChildren = optionChildren;
|
|
39
|
-
this._value = value;
|
|
40
|
-
this.indexSelectedOption = null;
|
|
41
|
-
this.handleInitialSelectedOption();
|
|
42
|
-
this.handleSelectedOptionsEvent();
|
|
43
|
-
}
|
|
44
|
-
assignValue(value) {
|
|
45
|
-
this._value = value;
|
|
46
|
-
this.handleValueChange();
|
|
47
|
-
}
|
|
48
|
-
handleValueChange() {
|
|
49
|
-
this.changeSelectedOption();
|
|
50
|
-
this.updateSelectPlaceholder();
|
|
51
|
-
this.changeDetectorRef.markForCheck();
|
|
52
|
-
}
|
|
53
|
-
setDisabledState(isDisabled) {
|
|
54
|
-
this.disabled = isDisabled;
|
|
55
|
-
this.optionChildren?.forEach((option) => option.setDisabledState(isDisabled));
|
|
56
|
-
}
|
|
57
|
-
selectNextOption() {
|
|
58
|
-
if (this.indexSelectedOption + 1 >= this.optionChildren.length) {
|
|
59
|
-
return;
|
|
60
|
-
}
|
|
61
|
-
if (this.indexSelectedOption === null) {
|
|
62
|
-
this.indexSelectedOption = 0;
|
|
63
|
-
}
|
|
64
|
-
else {
|
|
65
|
-
this.indexSelectedOption = this.indexSelectedOption + 1;
|
|
66
|
-
}
|
|
67
|
-
this.value = this.optionChildren.get(this.indexSelectedOption).value;
|
|
68
|
-
}
|
|
69
|
-
selectPreviousOption() {
|
|
70
|
-
if (!this.indexSelectedOption) {
|
|
71
|
-
this.indexSelectedOption = null;
|
|
72
|
-
this.assignValue(null);
|
|
73
|
-
return;
|
|
74
|
-
}
|
|
75
|
-
this.indexSelectedOption = this.indexSelectedOption - 1;
|
|
76
|
-
this.value = this.optionChildren.get(this.indexSelectedOption).value;
|
|
77
|
-
}
|
|
78
|
-
searchOptionByFirstLetter(letter) {
|
|
79
|
-
const matchedOptionsIndex = this.optionChildren
|
|
80
|
-
.map((option, index) => this.indexOfMatchedOption(option, index, letter))
|
|
81
|
-
.filter(this.isNotNull);
|
|
82
|
-
if (!matchedOptionsIndex.length) { // reset the selection
|
|
83
|
-
this.indexSelectedOption = null;
|
|
84
|
-
this.value = null;
|
|
85
|
-
return;
|
|
86
|
-
}
|
|
87
|
-
// find the next option after the current selected option, or the first option
|
|
88
|
-
const validOptionIndex = matchedOptionsIndex.find(this.highestAndClosestIndex);
|
|
89
|
-
this.indexSelectedOption = isNaN(validOptionIndex) ? matchedOptionsIndex[0] : validOptionIndex;
|
|
90
|
-
this.value = this.optionChildren.get(this.indexSelectedOption).value;
|
|
91
|
-
}
|
|
92
|
-
handleInitialSelectedOption() {
|
|
93
|
-
setTimeout(() => {
|
|
94
|
-
const selectedOption = this.getSelectedOptionComponent();
|
|
95
|
-
if (selectedOption && this.value !== selectedOption.value) { // avoid to emit event when there is an initial value (e.g. from ngModel)
|
|
96
|
-
this.value = selectedOption.value;
|
|
97
|
-
}
|
|
98
|
-
if (this.disabled) {
|
|
99
|
-
this.optionChildren.forEach((option) => option.setDisabledState(true));
|
|
100
|
-
}
|
|
101
|
-
this.handleValueChange();
|
|
102
|
-
}, 0);
|
|
103
|
-
}
|
|
104
|
-
handleSelectedOptionsEvent() {
|
|
105
|
-
this.optionSelectedChangeListeners().subscribe((value) => {
|
|
106
|
-
this.value = value;
|
|
107
|
-
});
|
|
108
|
-
}
|
|
109
|
-
updateSelectPlaceholder() {
|
|
110
|
-
if (!this.value && typeof this.value !== 'number') {
|
|
111
|
-
this.selectedOptionContent = null;
|
|
112
|
-
return;
|
|
113
|
-
}
|
|
114
|
-
const selectedOption = this.getSelectedOptionComponent();
|
|
115
|
-
this.selectedOptionContent = selectedOption?.getContentRef().nativeElement.innerHTML || undefined;
|
|
116
|
-
}
|
|
117
|
-
getSelectedOptionComponent() {
|
|
118
|
-
return this.optionChildren.find((option) => option.selected);
|
|
119
|
-
}
|
|
120
|
-
optionSelectedChangeListeners() {
|
|
121
|
-
const selectedChange$ = this.optionChildren.map((option) => {
|
|
122
|
-
return option.selectedChange.pipe(filter(() => !this.disabled), map(() => option.getValue()));
|
|
123
|
-
});
|
|
124
|
-
return merge(...selectedChange$).pipe(takeUntil(this.resetListeners$));
|
|
125
|
-
}
|
|
126
|
-
changeSelectedOption() {
|
|
127
|
-
this.optionChildren.forEach((optionComponent, index) => {
|
|
128
|
-
optionComponent.setSelected(optionComponent.value === this.value);
|
|
129
|
-
if (optionComponent.selected) {
|
|
130
|
-
this.indexSelectedOption = index;
|
|
131
|
-
}
|
|
132
|
-
});
|
|
133
|
-
}
|
|
134
|
-
ngOnDestroy() {
|
|
135
|
-
this.resetListeners$.next();
|
|
136
|
-
this.resetListeners$.complete();
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
ValueChangeService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: ValueChangeService, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
140
|
-
ValueChangeService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: ValueChangeService });
|
|
141
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: ValueChangeService, decorators: [{
|
|
142
|
-
type: Injectable
|
|
143
|
-
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; } });
|
|
144
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsdWUtY2hhbmdlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3NlbGVjdHMvc2VsZWN0LXRlc3QvdmFsdWUtY2hhbmdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQixVQUFVLEVBQXdCLE1BQU0sZUFBZSxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxLQUFLLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQUl4RCxNQUFNLE9BQU8sa0JBQWtCO0lBMEIzQixZQUFvQixpQkFBb0M7UUFBcEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQXhCeEQsaUJBQVksR0FBMEIsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQW9CcEQsd0JBQW1CLEdBQVcsSUFBSSxDQUFDO1FBRW5DLG9CQUFlLEdBQWtCLElBQUksT0FBTyxFQUFFLENBQUM7UUE2RXZDLHlCQUFvQixHQUFHLENBQUMsTUFBcUMsRUFBRSxLQUFhLEVBQUUsTUFBYyxFQUFFLEVBQUU7WUFDcEcsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLGFBQWEsRUFBRSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDekYsT0FBTyxVQUFVLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUN0RCxDQUFDLENBQUE7UUFFSyxjQUFTLEdBQUcsQ0FBQyxLQUFvQixFQUFFLEVBQUU7WUFDekMsT0FBTyxLQUFLLEtBQUssSUFBSSxDQUFDO1FBQzFCLENBQUMsQ0FBQTtRQUVPLDJC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QUUsQ0FBQyxDQUMvQixDQUFDO1FBQ04sQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLEtBQUssQ0FBQyxHQUFHLGVBQWUsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUM7SUFDM0UsQ0FBQztJQUVPLG9CQUFvQjtRQUN4QixJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDLGVBQWUsRUFBRSxLQUFLLEVBQUUsRUFBRTtZQUNuRCxlQUFlLENBQUMsV0FBVyxDQUFDLGVBQWUsQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBRWxFLElBQUksZUFBZSxDQUFDLFFBQVEsRUFBRTtnQkFDMUIsSUFBSSxDQUFDLG1CQUFtQixHQUFHLEtBQUssQ0FBQzthQUNwQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzVCLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDcEMsQ0FBQzs7K0dBckxRLGtCQUFrQjttSEFBbEIsa0JBQWtCOzJGQUFsQixrQkFBa0I7a0JBRDlCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgSW5qZWN0YWJsZSwgT25EZXN0cm95LCBRdWVyeUxpc3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IG1lcmdlLCBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIG1hcCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgT3B0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi4vb3B0aW9uL29wdGlvbi5jb21wb25lbnQnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgVmFsdWVDaGFuZ2VTZXJ2aWNlPFRPcHRpb25WYWx1ZT4gaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuXG4gICAgdmFsdWVDaGFuZ2UkOiBTdWJqZWN0PFRPcHRpb25WYWx1ZT4gPSBuZXcgU3ViamVjdCgpO1xuXG4gICAgc2V0IHZhbHVlKHZhbHVlOiBUT3B0aW9uVmFsdWUpIHtcbiAgICAgICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5oYW5kbGVWYWx1ZUNoYW5nZSgpO1xuICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlJC5uZXh0KHZhbHVlKTtcbiAgICB9XG5cbiAgICBnZXQgdmFsdWUoKTogVE9wdGlvblZhbHVlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3ZhbHVlO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3ZhbHVlOiBUT3B0aW9uVmFsdWU7XG5cbiAgICBkaXNhYmxlZDogYm9vbGVhbjtcblxuICAgIG9wdGlvbkNoaWxkcmVuOiBRdWVyeUxpc3Q8T3B0aW9uQ29tcG9uZW50PFRPcHRpb25WYWx1ZT4+O1xuXG4gICAgc2VsZWN0ZWRPcHRpb25Db250ZW50OiBhbnk7XG5cbiAgICBpbmRleFNlbGVjdGVkT3B0aW9uOiBudW1iZXIgPSBudWxsO1xuXG4gICAgcmVzZXRMaXN0ZW5lcnMkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3QoKTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgIH1cblxuICAgIGhhbmRsZVNlbGVjdE9wdGlvbnNDaGFuZ2Uob3B0aW9uQ2hpbGRyZW46IFF1ZXJ5TGlzdDxPcHRpb25Db21wb25lbnQ8VE9wdGlvblZhbHVlPj4sIHZhbHVlOiBhbnkpIHtcbiAgICAgICAgdGhpcy5yZXNldExpc3RlbmVycyQubmV4dCgpO1xuXG4gICAgICAgIHRoaXMub3B0aW9uQ2hpbGRyZW4gPSBvcHRpb25DaGlsZHJlbjtcbiAgICAgICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5pbmRleFNlbGVjdGVkT3B0aW9uID0gbnVsbDtcblxuICAgICAgICB0aGlzLmhhbmRsZUluaXRpYWxTZWxlY3RlZE9wdGlvbigpO1xuICAgICAgICB0aGlzLmhhbmRsZVNlbGVjdGVkT3B0aW9uc0V2ZW50KCk7XG4gICAgfVxuXG4gICAgYXNzaWduVmFsdWUodmFsdWU6IGFueSkge1xuICAgICAgICB0aGlzLl92YWx1ZSA9IHZhbHVlO1xuICAgICAgICB0aGlzLmhhbmRsZVZhbHVlQ2hhbmdlKCk7XG4gICAgfVxuXG4gICAgaGFuZGxlVmFsdWVDaGFuZ2UoKSB7XG4gICAgICAgIHRoaXMuY2hhbmdlU2VsZWN0ZWRPcHRpb24oKTtcbiAgICAgICAgdGhpcy51cGRhdGVTZWxlY3RQbGFjZWhvbGRlcigpO1xuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cblxuICAgIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbikge1xuICAgICAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgICAgICAgdGhpcy5vcHRpb25DaGlsZHJlbj8uZm9yRWFjaCgob3B0aW9uKSA9PiBvcHRpb24uc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkKSk7XG4gICAgfVxuXG4gICAgc2VsZWN0TmV4dE9wdGlvbigpIHtcbiAgICAgICAgaWYgKHRoaXMuaW5kZXhTZWxlY3RlZE9wdGlvbiArMSA+PSB0aGlzLm9wdGlvbkNoaWxkcmVuLmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuaW5kZXhTZWxlY3RlZE9wdGlvbiA9PT0gbnVsbCkge1xuICAgICAgICAgICAgdGhpcy5pbmRleFNlbGVjdGVkT3B0aW9uID0gMDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuaW5kZXhTZWxlY3RlZE9wdGlvbiA9IHRoaXMuaW5kZXhTZWxlY3RlZE9wdGlvbiArIDE7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnZhbHVlID0gdGhpcy5vcHRpb25DaGlsZHJlbi5nZXQodGhpcy5pbmRleFNlbGVjdGVkT3B0aW9uKS52YWx1ZTtcbiAgICB9XG5cbiAgICBzZWxlY3RQcmV2aW91c09wdGlvbigpIHtcblxuICAgICAgICBpZiAoIXRoaXMuaW5kZXhTZWxlY3RlZE9wdGlvbikge1xuICAgICAgICAgICAgdGhpcy5pbmRleFNlbGVjdGVkT3B0aW9uID0gbnVsbDtcbiAgICAgICAgICAgIHRoaXMuYXNzaWduVmFsdWUobnVsbCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmluZGV4U2VsZWN0ZWRPcHRpb24gPSB0aGlzLmluZGV4U2VsZWN0ZWRPcHRpb24gLSAxO1xuICAgICAgICB0aGlzLnZhbHVlID0gdGhpcy5vcHRpb25DaGlsZHJlbi5nZXQodGhpcy5pbmRleFNlbGVjdGVkT3B0aW9uKS52YWx1ZTtcbiAgICB9XG5cbiAgICBzZWFyY2hPcHRpb25CeUZpcnN0TGV0dGVyKGxldHRlcjogc3RyaW5nKSB7XG4gICAgICAgIGNvbnN0IG1hdGNoZWRPcHRpb25zSW5kZXggPSB0aGlzLm9wdGlvbkNoaWxkcmVuXG4gICAgICAgICAgICAubWFwKChvcHRpb24sIGluZGV4KSA9PiB0aGlzLmluZGV4T2ZNYXRjaGVkT3B0aW9uKG9wdGlvbiwgaW5kZXgsIGxldHRlcikpXG4gICAgICAgICAgICAuZmlsdGVyKHRoaXMuaXNOb3ROdWxsKTtcblxuICAgICAgICBpZiAoIW1hdGNoZWRPcHRpb25zSW5kZXgubGVuZ3RoKSB7IC8vIHJlc2V0IHRoZSBzZWxlY3Rpb25cbiAgICAgICAgICAgIHRoaXMuaW5kZXhTZWxlY3RlZE9wdGlvbiA9IG51bGw7XG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gbnVsbDtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGZpbmQgdGhlIG5leHQgb3B0aW9uIGFmdGVyIHRoZSBjdXJyZW50IHNlbGVjdGVkIG9wdGlvbiwgb3IgdGhlIGZpcnN0IG9wdGlvblxuXG4gICAgICAgIGNvbnN0IHZhbGlkT3B0aW9uSW5kZXggPSBtYXRjaGVkT3B0aW9uc0luZGV4LmZpbmQodGhpcy5oaWdoZXN0QW5kQ2xvc2VzdEluZGV4KTtcblxuICAgICAgICB0aGlzLmluZGV4U2VsZWN0ZWRPcHRpb24gPSBpc05hTih2YWxpZE9wdGlvbkluZGV4KSA/IG1hdGNoZWRPcHRpb25zSW5kZXhbMF0gOiB2YWxpZE9wdGlvbkluZGV4O1xuICAgICAgICB0aGlzLnZhbHVlID0gdGhpcy5vcHRpb25DaGlsZHJlbi5nZXQodGhpcy5pbmRleFNlbGVjdGVkT3B0aW9uKS52YWx1ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGluZGV4T2ZNYXRjaGVkT3B0aW9uID0gKG9wdGlvbjogT3B0aW9uQ29tcG9uZW50PFRPcHRpb25WYWx1ZT4sIGluZGV4OiBudW1iZXIsIGxldHRlcjogc3RyaW5nKSA9PiB7XG4gICAgICAgIGNvbnN0IHRleHRPcHRpb24gPSBvcHRpb24uZ2V0Q29udGVudFJlZigpLm5hdGl2ZUVsZW1lbnQudGV4dENvbnRlbnQudHJpbSgpLnRvTG93ZXJDYXNlKCk7XG4gICAgICAgIHJldHVybiB0ZXh0T3B0aW9uLnN0YXJ0c1dpdGgobGV0dGVyKSA/IGluZGV4IDogbnVsbDtcbiAgICAgIH1cblxuICAgIHByaXZhdGUgaXNOb3ROdWxsID0gKGluZGV4OiBudW1iZXIgfCBudWxsKSA9PiB7XG4gICAgICAgIHJldHVybiBpbmRleCAhPT0gbnVsbDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGhpZ2hlc3RBbmRDbG9zZXN0SW5kZXggPSAoaW5kZXg6IG51bWJlcikgPT4ge1xuICAgICAgICBpZiAoaXNOYU4odGhpcy5pbmRleFNlbGVjdGVkT3B0aW9uKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGluZGV4ID4gdGhpcy5pbmRleFNlbGVjdGVkT3B0aW9uKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGhhbmRsZUluaXRpYWxTZWxlY3RlZE9wdGlvbigpIHtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7IC8vICEgQXZvaWQgRXhwcmVzc2lvbiBoYXMgY2hhbmdlZC4uLlxuICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWRPcHRpb24gPSB0aGlzLmdldFNlbGVjdGVkT3B0aW9uQ29tcG9uZW50KCk7XG5cbiAgICAgICAgICAgIGlmIChzZWxlY3RlZE9wdGlvbiAmJiB0aGlzLnZhbHVlICE9PSBzZWxlY3RlZE9wdGlvbi52YWx1ZSkgeyAvLyBhdm9pZCB0byBlbWl0IGV2ZW50IHdoZW4gdGhlcmUgaXMgYW4gaW5pdGlhbCB2YWx1ZSAoZS5nLiBmcm9tIG5nTW9kZWwpXG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZSA9IHNlbGVjdGVkT3B0aW9uLnZhbHVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgICAgICAgICAgIHRoaXMub3B0aW9uQ2hpbGRyZW4uZm9yRWFjaCgob3B0aW9uKSA9PiBvcHRpb24uc2V0RGlzYWJsZWRTdGF0ZSh0cnVlKSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMuaGFuZGxlVmFsdWVDaGFuZ2UoKTtcbiAgICAgICAgICB9LCAwKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGhhbmRsZVNlbGVjdGVkT3B0aW9uc0V2ZW50KCkge1xuICAgICAgICB0aGlzLm9wdGlvblNlbGVjdGVkQ2hhbmdlTGlzdGVuZXJzKCkuc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xuICAgICAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVTZWxlY3RQbGFjZWhvbGRlcigpIHtcbiAgICAgICAgaWYgKCF0aGlzLnZhbHVlICYmIHR5cGVvZiB0aGlzLnZhbHVlICE9PSAnbnVtYmVyJykge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZE9wdGlvbkNvbnRlbnQgPSBudWxsO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRPcHRpb24gPSB0aGlzLmdldFNlbGVjdGVkT3B0aW9uQ29tcG9uZW50KCk7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRPcHRpb25Db250ZW50ID0gc2VsZWN0ZWRPcHRpb24/LmdldENvbnRlbnRSZWYoKS5uYXRpdmVFbGVtZW50LmlubmVySFRNTCB8fCB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRTZWxlY3RlZE9wdGlvbkNvbXBvbmVudCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMub3B0aW9uQ2hpbGRyZW4uZmluZCgob3B0aW9uKSA9PiBvcHRpb24uc2VsZWN0ZWQgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIG9wdGlvblNlbGVjdGVkQ2hhbmdlTGlzdGVuZXJzKCk6IE9ic2VydmFibGU8VE9wdGlvblZhbHVlPiB7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkQ2hhbmdlJCA9ICB0aGlzLm9wdGlvbkNoaWxkcmVuLm1hcCgob3B0aW9uKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gb3B0aW9uLnNlbGVjdGVkQ2hhbmdlLnBpcGUoXG4gICAgICAgICAgICAgICAgZmlsdGVyKCgpID0+ICF0aGlzLmRpc2FibGVkICksXG4gICAgICAgICAgICAgICAgbWFwKCgpID0+IG9wdGlvbi5nZXRWYWx1ZSgpKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIG1lcmdlKC4uLnNlbGVjdGVkQ2hhbmdlJCkucGlwZSh0YWtlVW50aWwodGhpcy5yZXNldExpc3RlbmVycyQpKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNoYW5nZVNlbGVjdGVkT3B0aW9uKCkge1xuICAgICAgICB0aGlzLm9wdGlvbkNoaWxkcmVuLmZvckVhY2goKG9wdGlvbkNvbXBvbmVudCwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgIG9wdGlvbkNvbXBvbmVudC5zZXRTZWxlY3RlZChvcHRpb25Db21wb25lbnQudmFsdWUgPT09IHRoaXMudmFsdWUpO1xuXG4gICAgICAgICAgICBpZiAob3B0aW9uQ29tcG9uZW50LnNlbGVjdGVkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5pbmRleFNlbGVjdGVkT3B0aW9uID0gaW5kZXg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLnJlc2V0TGlzdGVuZXJzJC5uZXh0KCk7XG4gICAgICAgIHRoaXMucmVzZXRMaXN0ZW5lcnMkLmNvbXBsZXRlKCk7XG4gICAgfVxufSJdfQ==
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import { ElementRef, EventEmitter } from '@angular/core';
|
|
2
|
-
import { CalllToAction } from '../call-to-action.model';
|
|
3
|
-
import { SelectItem } from '../select-items.dto';
|
|
4
|
-
import { ControlValueAccessor } from '@angular/forms';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
export declare class SelectComponent implements ControlValueAccessor {
|
|
7
|
-
_items: SelectItem[];
|
|
8
|
-
set items(items: SelectItem[]);
|
|
9
|
-
get items(): SelectItem[];
|
|
10
|
-
placeholder: string;
|
|
11
|
-
label: string;
|
|
12
|
-
maxWidthItems: string;
|
|
13
|
-
search: boolean;
|
|
14
|
-
searchValue: string;
|
|
15
|
-
openUp: boolean;
|
|
16
|
-
searchValueChange: EventEmitter<string>;
|
|
17
|
-
type: string;
|
|
18
|
-
_calllToAction: CalllToAction;
|
|
19
|
-
set callToAction(callToAction: CalllToAction);
|
|
20
|
-
get callToAction(): CalllToAction;
|
|
21
|
-
maxWidth: string;
|
|
22
|
-
disabled: boolean;
|
|
23
|
-
selectValue: EventEmitter<number>;
|
|
24
|
-
clickOnCallToAction: EventEmitter<any>;
|
|
25
|
-
searchElement: ElementRef;
|
|
26
|
-
openCategories: boolean;
|
|
27
|
-
indexItemSelected: number;
|
|
28
|
-
constructor();
|
|
29
|
-
onClose(): void;
|
|
30
|
-
customTB(item: SelectItem, index: number): string;
|
|
31
|
-
onSelectItem(id: number): void;
|
|
32
|
-
onClickCallToAction(): void;
|
|
33
|
-
onSearcheValueChange(): void;
|
|
34
|
-
private getItemSelected;
|
|
35
|
-
showCategories(): void;
|
|
36
|
-
private unselectAll;
|
|
37
|
-
private setIndexItemSelectedById;
|
|
38
|
-
private setIndexItemSelected;
|
|
39
|
-
onChange: (selectItem: SelectItem) => void;
|
|
40
|
-
onTouch: any;
|
|
41
|
-
writeValue(selectItem: any): void;
|
|
42
|
-
registerOnChange(fn: any): void;
|
|
43
|
-
registerOnTouched(fn: any): void;
|
|
44
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<SelectComponent, never>;
|
|
45
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<SelectComponent, "wac-select", never, { "items": "items"; "placeholder": "placeholder"; "label": "label"; "maxWidthItems": "maxWidthItems"; "search": "search"; "searchValue": "searchValue"; "openUp": "openUp"; "type": "type"; "callToAction": "callToAction"; "maxWidth": "maxWidth"; "disabled": "disabled"; }, { "searchValueChange": "searchValueChange"; "selectValue": "selectValue"; "clickOnCallToAction": "clickOnCallToAction"; }, never, never, false, never>;
|
|
46
|
-
}
|
|
Binary file
|