@wizishop/angular-components 0.0.61 → 0.0.62

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.
@@ -2,39 +2,52 @@ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
2
  export class SearchComponent {
3
3
  constructor() {
4
4
  this.alwaysOpen = false;
5
+ this.disableSearchIn = false;
5
6
  this.emptyResult = '';
6
7
  this.search = '';
7
8
  this.openSelect = false;
8
9
  this.selectValue = new EventEmitter();
9
- this.selectValueByIndex = new EventEmitter();
10
+ this.searchKeyUp = new EventEmitter();
11
+ this.searchFocusOut = new EventEmitter();
10
12
  }
11
13
  ngOnInit() {
12
14
  this.triggerOptions = this.options;
13
15
  }
14
- customTB(item, index) {
15
- return `${item.id}-${index}`;
16
- }
17
16
  onClose() {
18
17
  this.openSelect = false;
19
18
  }
20
19
  setSearchValueToQuery(value) {
21
20
  this.search = value.target.value;
22
- if (this.search.length > 0) {
23
- this.openSelect = true;
24
- this.triggerOptions = this.options.filter(element => element.label.toLowerCase().indexOf(this.search.toLowerCase()) !== -1);
21
+ if (this.disableSearchIn) {
22
+ this.triggerOptions = this.options;
25
23
  }
26
24
  else {
27
- this.triggerOptions = this.options;
25
+ if (this.search.length > 0) {
26
+ this.openSelect = true;
27
+ this.triggerOptions = this.options.filter(element => element.label.toLowerCase().indexOf(this.search.toLowerCase()) !== -1);
28
+ }
29
+ else {
30
+ this.triggerOptions = this.options;
31
+ }
28
32
  }
33
+ this.searchKeyUp.emit(this.search);
34
+ }
35
+ sendEventFocusOut() {
36
+ this.searchFocusOut.emit(this.search);
29
37
  }
30
38
  closeSelect() {
31
- // this.openSelect = false;
39
+ this.openSelect = false;
32
40
  }
33
- onSelectItem(index) {
34
- this.selectValueByIndex.emit(index);
35
- this.selectValue.emit(this.options[index]);
41
+ onSelectItem(index, value, label) {
36
42
  this.search = '';
37
43
  this.openSelect = false;
44
+ if (this.disableSearchIn) {
45
+ this.selectValue.emit(index);
46
+ }
47
+ else {
48
+ const findInOption = this.options.findIndex(element => element.label === label && element.value === value);
49
+ this.selectValue.emit(findInOption);
50
+ }
38
51
  }
39
52
  resetAllVue() {
40
53
  this.search = '';
@@ -44,7 +57,7 @@ export class SearchComponent {
44
57
  SearchComponent.decorators = [
45
58
  { type: Component, args: [{
46
59
  selector: 'wac-search',
47
- template: "<div class=\"wac-search\" [ngClass]=\"{ open: openSelect || alwaysOpen }\" [zIndexToggle]=\"openSelect\" wzAutoHide (clickOutside)=\"closeSelect()\">\n <div class=\"wac-search__wrapper\">\n <button><i class=\"fal fa-search\"></i></button>\n <input [value]=\"search\" type=\"text\" required [placeholder]=\"placeholder\" (focus)=\"openSelect = true;\" (keyup)=\"setSearchValueToQuery($event)\" />\n </div>\n <div class=\"wac-search__absolute\" *ngIf=\"triggerOptions\" [ngClass]=\"{'hidden': !openSelect}\">\n <perfect-scrollbar [config]=\"{ suppressScrollX: true }\" *ngIf=\"triggerOptions.length > 0\">\n <div (click)=\"onClose()\" class=\"wac-select__content__item\" *ngFor=\"let item of triggerOptions; trackBy: customTB; let index = index;\">\n <div [ngClass]=\"{ selected: item.active }\" (click)=\"onSelectItem(index)\">\n {{ item.label }}\n </div>\n </div>\n </perfect-scrollbar>\n <div class=\"wac-select__content__empty\" *ngIf=\"triggerOptions.length === 0\">\n <span *ngIf=\"emptyResult\">{{emptyResult}}</span>\n </div>\n </div>\n</div>\n"
60
+ template: "<div class=\"wac-search\" [ngClass]=\"{ open: openSelect || alwaysOpen }\" [zIndexToggle]=\"openSelect\" wzAutoHide (clickOutside)=\"closeSelect()\">\n <div class=\"wac-search__wrapper\">\n <button><i class=\"fal fa-search\"></i></button>\n <input [value]=\"search\" type=\"text\" required [placeholder]=\"placeholder\" (focus)=\"openSelect = true;\" (focusout)=\"sendEventFocusOut()\" (keyup)=\"setSearchValueToQuery($event)\" />\n </div>\n <div class=\"wac-search__absolute\" *ngIf=\"triggerOptions\" [ngClass]=\"{'hidden': !openSelect}\">\n <perfect-scrollbar [config]=\"{ suppressScrollX: true }\" *ngIf=\"triggerOptions.length > 0\">\n <div (click)=\"onClose()\" class=\"wac-select__content__item\" *ngFor=\"let item of triggerOptions; let index = index;\">\n <div [ngClass]=\"{ selected: item.active }\" (click)=\"onSelectItem(index, item.value, item.label)\">\n {{ item.label }}\n </div>\n </div>\n </perfect-scrollbar>\n <div class=\"wac-select__content__empty\" *ngIf=\"triggerOptions.length === 0\">\n <span *ngIf=\"emptyResult\">{{emptyResult}}</span>\n </div>\n </div>\n</div>\n"
48
61
  },] }
49
62
  ];
50
63
  SearchComponent.ctorParameters = () => [];
@@ -53,8 +66,10 @@ SearchComponent.propDecorators = {
53
66
  alwaysOpen: [{ type: Input }],
54
67
  label: [{ type: Input }],
55
68
  options: [{ type: Input }],
69
+ disableSearchIn: [{ type: Input }],
56
70
  emptyResult: [{ type: Input }],
57
71
  selectValue: [{ type: Output }],
58
- selectValueByIndex: [{ type: Output }]
72
+ searchKeyUp: [{ type: Output }],
73
+ searchFocusOut: [{ type: Output }]
59
74
  };
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvc2VhcmNoL3NlYXJjaC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQVE3RSxNQUFNLE9BQU8sZUFBZTtJQVkxQjtRQVRTLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFHbkIsZ0JBQVcsR0FBRyxFQUFFLENBQUM7UUFDMUIsV0FBTSxHQUFRLEVBQUUsQ0FBQztRQUNqQixlQUFVLEdBQUcsS0FBSyxDQUFDO1FBRVQsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ3RDLHVCQUFrQixHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7SUFDM0MsQ0FBQztJQUVoQixRQUFRO1FBQ04sSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3JDLENBQUM7SUFFRCxRQUFRLENBQUMsSUFBZ0IsRUFBRSxLQUFhO1FBQ3RDLE9BQU8sR0FBRyxJQUFJLENBQUMsRUFBRSxJQUFJLEtBQUssRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFFRCxPQUFPO1FBQ0wsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7SUFDMUIsQ0FBQztJQUVELHFCQUFxQixDQUFDLEtBQUs7UUFDekIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztRQUNqQyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUMxQixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztZQUN2QixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDN0g7YUFBTTtZQUNMLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztTQUNwQztJQUNILENBQUM7SUFFRCxXQUFXO1FBQ1QsMkJBQTJCO0lBQzdCLENBQUM7SUFFRCxZQUFZLENBQUMsS0FBYTtRQUN4QixJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUMzQyxJQUFJLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztJQUMxQixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNyQixDQUFDOzs7WUF0REYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxZQUFZO2dCQUN0QixrbUNBQXNDO2FBQ3ZDOzs7OzBCQUdFLEtBQUs7eUJBQ0wsS0FBSztvQkFDTCxLQUFLO3NCQUNMLEtBQUs7MEJBQ0wsS0FBSzswQkFJTCxNQUFNO2lDQUNOLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtTZWFyY2hPcHRpb259IGZyb20gJy4vc2hhcmVkL3NlYXJjaC1vcHRpb24ubW9kZWwnO1xuaW1wb3J0IHtTZWxlY3RJdGVtfSBmcm9tICcuLi9zZWxlY3RzL3NlbGVjdC1pdGVtcy5kdG8nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd3YWMtc2VhcmNoJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NlYXJjaC5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgU2VhcmNoQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nO1xuICBASW5wdXQoKSBhbHdheXNPcGVuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmc7XG4gIEBJbnB1dCgpIG9wdGlvbnM6IFNlYXJjaE9wdGlvbltdO1xuICBASW5wdXQoKSBlbXB0eVJlc3VsdCA9ICcnO1xuICBzZWFyY2g6IGFueSA9ICcnO1xuICBvcGVuU2VsZWN0ID0gZmFsc2U7XG4gIHRyaWdnZXJPcHRpb25zOiBTZWFyY2hPcHRpb25bXTtcbiAgQE91dHB1dCgpIHNlbGVjdFZhbHVlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBzZWxlY3RWYWx1ZUJ5SW5kZXggPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMudHJpZ2dlck9wdGlvbnMgPSB0aGlzLm9wdGlvbnM7XG4gIH1cblxuICBjdXN0b21UQihpdGVtOiBTZWxlY3RJdGVtLCBpbmRleDogbnVtYmVyKSB7XG4gICAgcmV0dXJuIGAke2l0ZW0uaWR9LSR7aW5kZXh9YDtcbiAgfVxuXG4gIG9uQ2xvc2UoKSB7XG4gICAgdGhpcy5vcGVuU2VsZWN0ID0gZmFsc2U7XG4gIH1cblxuICBzZXRTZWFyY2hWYWx1ZVRvUXVlcnkodmFsdWUpIHtcbiAgICB0aGlzLnNlYXJjaCA9IHZhbHVlLnRhcmdldC52YWx1ZTtcbiAgICBpZiAodGhpcy5zZWFyY2gubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5vcGVuU2VsZWN0ID0gdHJ1ZTtcbiAgICAgIHRoaXMudHJpZ2dlck9wdGlvbnMgPSB0aGlzLm9wdGlvbnMuZmlsdGVyKGVsZW1lbnQgPT4gZWxlbWVudC5sYWJlbC50b0xvd2VyQ2FzZSgpLmluZGV4T2YodGhpcy5zZWFyY2gudG9Mb3dlckNhc2UoKSkgIT09IC0xKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy50cmlnZ2VyT3B0aW9ucyA9IHRoaXMub3B0aW9ucztcbiAgICB9XG4gIH1cblxuICBjbG9zZVNlbGVjdCgpIHtcbiAgICAvLyB0aGlzLm9wZW5TZWxlY3QgPSBmYWxzZTtcbiAgfVxuXG4gIG9uU2VsZWN0SXRlbShpbmRleDogbnVtYmVyKSB7XG4gICAgdGhpcy5zZWxlY3RWYWx1ZUJ5SW5kZXguZW1pdChpbmRleCk7XG4gICAgdGhpcy5zZWxlY3RWYWx1ZS5lbWl0KHRoaXMub3B0aW9uc1tpbmRleF0pO1xuICAgIHRoaXMuc2VhcmNoID0gJyc7XG4gICAgdGhpcy5vcGVuU2VsZWN0ID0gZmFsc2U7XG4gIH1cblxuICByZXNldEFsbFZ1ZSgpIHtcbiAgICB0aGlzLnNlYXJjaCA9ICcnO1xuICAgIHRoaXMuY2xvc2VTZWxlY3QoKTtcbiAgfVxuXG59XG4iXX0=
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvc2VhcmNoL3NlYXJjaC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQVE3RSxNQUFNLE9BQU8sZUFBZTtJQWMxQjtRQVhTLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFHbkIsb0JBQWUsR0FBRyxLQUFLLENBQUM7UUFDeEIsZ0JBQVcsR0FBRyxFQUFFLENBQUM7UUFDMUIsV0FBTSxHQUFRLEVBQUUsQ0FBQztRQUNqQixlQUFVLEdBQUcsS0FBSyxDQUFDO1FBRVQsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBQ3pDLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUN6QyxtQkFBYyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7SUFDdkMsQ0FBQztJQUVoQixRQUFRO1FBQ04sSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3JDLENBQUM7SUFFRCxPQUFPO1FBQ0wsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7SUFDMUIsQ0FBQztJQUVELHFCQUFxQixDQUFDLEtBQUs7UUFDekIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztRQUNqQyxJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDeEIsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1NBQ3BDO2FBQU07WUFDTCxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtnQkFDMUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7Z0JBQ3ZCLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUM3SDtpQkFBTTtnQkFDTCxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7YUFDcEM7U0FDRjtRQUNELElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7SUFDMUIsQ0FBQztJQUVELFlBQVksQ0FBQyxLQUFhLEVBQUUsS0FBYSxFQUFFLEtBQWE7UUFDdEQsSUFBSSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7UUFDeEIsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQ3hCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzlCO2FBQU07WUFDTCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEtBQUssS0FBSyxJQUFJLE9BQU8sQ0FBQyxLQUFLLEtBQUssS0FBSyxDQUFDLENBQUM7WUFDM0csSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDckM7SUFDSCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNyQixDQUFDOzs7WUFqRUYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxZQUFZO2dCQUN0Qiwwb0NBQXNDO2FBQ3ZDOzs7OzBCQUdFLEtBQUs7eUJBQ0wsS0FBSztvQkFDTCxLQUFLO3NCQUNMLEtBQUs7OEJBQ0wsS0FBSzswQkFDTCxLQUFLOzBCQUlMLE1BQU07MEJBQ04sTUFBTTs2QkFDTixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7U2VhcmNoT3B0aW9ufSBmcm9tICcuL3NoYXJlZC9zZWFyY2gtb3B0aW9uLm1vZGVsJztcbmltcG9ydCB7U2VsZWN0SXRlbX0gZnJvbSAnLi4vc2VsZWN0cy9zZWxlY3QtaXRlbXMuZHRvJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnd2FjLXNlYXJjaCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWFyY2guY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFNlYXJjaENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZztcbiAgQElucHV0KCkgYWx3YXlzT3BlbiA9IGZhbHNlO1xuICBASW5wdXQoKSBsYWJlbDogc3RyaW5nO1xuICBASW5wdXQoKSBvcHRpb25zOiBTZWFyY2hPcHRpb25bXTtcbiAgQElucHV0KCkgZGlzYWJsZVNlYXJjaEluID0gZmFsc2U7XG4gIEBJbnB1dCgpIGVtcHR5UmVzdWx0ID0gJyc7XG4gIHNlYXJjaDogYW55ID0gJyc7XG4gIG9wZW5TZWxlY3QgPSBmYWxzZTtcbiAgdHJpZ2dlck9wdGlvbnM6IFNlYXJjaE9wdGlvbltdO1xuICBAT3V0cHV0KCkgc2VsZWN0VmFsdWUgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcbiAgQE91dHB1dCgpIHNlYXJjaEtleVVwID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG4gIEBPdXRwdXQoKSBzZWFyY2hGb2N1c091dCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy50cmlnZ2VyT3B0aW9ucyA9IHRoaXMub3B0aW9ucztcbiAgfVxuXG4gIG9uQ2xvc2UoKSB7XG4gICAgdGhpcy5vcGVuU2VsZWN0ID0gZmFsc2U7XG4gIH1cblxuICBzZXRTZWFyY2hWYWx1ZVRvUXVlcnkodmFsdWUpIHtcbiAgICB0aGlzLnNlYXJjaCA9IHZhbHVlLnRhcmdldC52YWx1ZTtcbiAgICBpZiAodGhpcy5kaXNhYmxlU2VhcmNoSW4pIHtcbiAgICAgIHRoaXMudHJpZ2dlck9wdGlvbnMgPSB0aGlzLm9wdGlvbnM7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICh0aGlzLnNlYXJjaC5sZW5ndGggPiAwKSB7XG4gICAgICAgIHRoaXMub3BlblNlbGVjdCA9IHRydWU7XG4gICAgICAgIHRoaXMudHJpZ2dlck9wdGlvbnMgPSB0aGlzLm9wdGlvbnMuZmlsdGVyKGVsZW1lbnQgPT4gZWxlbWVudC5sYWJlbC50b0xvd2VyQ2FzZSgpLmluZGV4T2YodGhpcy5zZWFyY2gudG9Mb3dlckNhc2UoKSkgIT09IC0xKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMudHJpZ2dlck9wdGlvbnMgPSB0aGlzLm9wdGlvbnM7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuc2VhcmNoS2V5VXAuZW1pdCh0aGlzLnNlYXJjaCk7XG4gIH1cblxuICBzZW5kRXZlbnRGb2N1c091dCgpIHtcbiAgICB0aGlzLnNlYXJjaEZvY3VzT3V0LmVtaXQodGhpcy5zZWFyY2gpO1xuICB9XG5cbiAgY2xvc2VTZWxlY3QoKSB7XG4gICAgdGhpcy5vcGVuU2VsZWN0ID0gZmFsc2U7XG4gIH1cblxuICBvblNlbGVjdEl0ZW0oaW5kZXg6IG51bWJlciwgdmFsdWU6IHN0cmluZywgbGFiZWw6IHN0cmluZykge1xuICAgIHRoaXMuc2VhcmNoID0gJyc7XG4gICAgdGhpcy5vcGVuU2VsZWN0ID0gZmFsc2U7XG4gICAgaWYgKHRoaXMuZGlzYWJsZVNlYXJjaEluKSB7XG4gICAgICB0aGlzLnNlbGVjdFZhbHVlLmVtaXQoaW5kZXgpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBmaW5kSW5PcHRpb24gPSB0aGlzLm9wdGlvbnMuZmluZEluZGV4KGVsZW1lbnQgPT4gZWxlbWVudC5sYWJlbCA9PT0gbGFiZWwgJiYgZWxlbWVudC52YWx1ZSA9PT0gdmFsdWUpO1xuICAgICAgdGhpcy5zZWxlY3RWYWx1ZS5lbWl0KGZpbmRJbk9wdGlvbik7XG4gICAgfVxuICB9XG5cbiAgcmVzZXRBbGxWdWUoKSB7XG4gICAgdGhpcy5zZWFyY2ggPSAnJztcbiAgICB0aGlzLmNsb3NlU2VsZWN0KCk7XG4gIH1cblxufVxuIl19
@@ -3147,39 +3147,52 @@ AlertPopupModule.decorators = [
3147
3147
  class SearchComponent {
3148
3148
  constructor() {
3149
3149
  this.alwaysOpen = false;
3150
+ this.disableSearchIn = false;
3150
3151
  this.emptyResult = '';
3151
3152
  this.search = '';
3152
3153
  this.openSelect = false;
3153
3154
  this.selectValue = new EventEmitter();
3154
- this.selectValueByIndex = new EventEmitter();
3155
+ this.searchKeyUp = new EventEmitter();
3156
+ this.searchFocusOut = new EventEmitter();
3155
3157
  }
3156
3158
  ngOnInit() {
3157
3159
  this.triggerOptions = this.options;
3158
3160
  }
3159
- customTB(item, index) {
3160
- return `${item.id}-${index}`;
3161
- }
3162
3161
  onClose() {
3163
3162
  this.openSelect = false;
3164
3163
  }
3165
3164
  setSearchValueToQuery(value) {
3166
3165
  this.search = value.target.value;
3167
- if (this.search.length > 0) {
3168
- this.openSelect = true;
3169
- this.triggerOptions = this.options.filter(element => element.label.toLowerCase().indexOf(this.search.toLowerCase()) !== -1);
3166
+ if (this.disableSearchIn) {
3167
+ this.triggerOptions = this.options;
3170
3168
  }
3171
3169
  else {
3172
- this.triggerOptions = this.options;
3170
+ if (this.search.length > 0) {
3171
+ this.openSelect = true;
3172
+ this.triggerOptions = this.options.filter(element => element.label.toLowerCase().indexOf(this.search.toLowerCase()) !== -1);
3173
+ }
3174
+ else {
3175
+ this.triggerOptions = this.options;
3176
+ }
3173
3177
  }
3178
+ this.searchKeyUp.emit(this.search);
3179
+ }
3180
+ sendEventFocusOut() {
3181
+ this.searchFocusOut.emit(this.search);
3174
3182
  }
3175
3183
  closeSelect() {
3176
- // this.openSelect = false;
3184
+ this.openSelect = false;
3177
3185
  }
3178
- onSelectItem(index) {
3179
- this.selectValueByIndex.emit(index);
3180
- this.selectValue.emit(this.options[index]);
3186
+ onSelectItem(index, value, label) {
3181
3187
  this.search = '';
3182
3188
  this.openSelect = false;
3189
+ if (this.disableSearchIn) {
3190
+ this.selectValue.emit(index);
3191
+ }
3192
+ else {
3193
+ const findInOption = this.options.findIndex(element => element.label === label && element.value === value);
3194
+ this.selectValue.emit(findInOption);
3195
+ }
3183
3196
  }
3184
3197
  resetAllVue() {
3185
3198
  this.search = '';
@@ -3189,7 +3202,7 @@ class SearchComponent {
3189
3202
  SearchComponent.decorators = [
3190
3203
  { type: Component, args: [{
3191
3204
  selector: 'wac-search',
3192
- template: "<div class=\"wac-search\" [ngClass]=\"{ open: openSelect || alwaysOpen }\" [zIndexToggle]=\"openSelect\" wzAutoHide (clickOutside)=\"closeSelect()\">\n <div class=\"wac-search__wrapper\">\n <button><i class=\"fal fa-search\"></i></button>\n <input [value]=\"search\" type=\"text\" required [placeholder]=\"placeholder\" (focus)=\"openSelect = true;\" (keyup)=\"setSearchValueToQuery($event)\" />\n </div>\n <div class=\"wac-search__absolute\" *ngIf=\"triggerOptions\" [ngClass]=\"{'hidden': !openSelect}\">\n <perfect-scrollbar [config]=\"{ suppressScrollX: true }\" *ngIf=\"triggerOptions.length > 0\">\n <div (click)=\"onClose()\" class=\"wac-select__content__item\" *ngFor=\"let item of triggerOptions; trackBy: customTB; let index = index;\">\n <div [ngClass]=\"{ selected: item.active }\" (click)=\"onSelectItem(index)\">\n {{ item.label }}\n </div>\n </div>\n </perfect-scrollbar>\n <div class=\"wac-select__content__empty\" *ngIf=\"triggerOptions.length === 0\">\n <span *ngIf=\"emptyResult\">{{emptyResult}}</span>\n </div>\n </div>\n</div>\n"
3205
+ template: "<div class=\"wac-search\" [ngClass]=\"{ open: openSelect || alwaysOpen }\" [zIndexToggle]=\"openSelect\" wzAutoHide (clickOutside)=\"closeSelect()\">\n <div class=\"wac-search__wrapper\">\n <button><i class=\"fal fa-search\"></i></button>\n <input [value]=\"search\" type=\"text\" required [placeholder]=\"placeholder\" (focus)=\"openSelect = true;\" (focusout)=\"sendEventFocusOut()\" (keyup)=\"setSearchValueToQuery($event)\" />\n </div>\n <div class=\"wac-search__absolute\" *ngIf=\"triggerOptions\" [ngClass]=\"{'hidden': !openSelect}\">\n <perfect-scrollbar [config]=\"{ suppressScrollX: true }\" *ngIf=\"triggerOptions.length > 0\">\n <div (click)=\"onClose()\" class=\"wac-select__content__item\" *ngFor=\"let item of triggerOptions; let index = index;\">\n <div [ngClass]=\"{ selected: item.active }\" (click)=\"onSelectItem(index, item.value, item.label)\">\n {{ item.label }}\n </div>\n </div>\n </perfect-scrollbar>\n <div class=\"wac-select__content__empty\" *ngIf=\"triggerOptions.length === 0\">\n <span *ngIf=\"emptyResult\">{{emptyResult}}</span>\n </div>\n </div>\n</div>\n"
3193
3206
  },] }
3194
3207
  ];
3195
3208
  SearchComponent.ctorParameters = () => [];
@@ -3198,9 +3211,11 @@ SearchComponent.propDecorators = {
3198
3211
  alwaysOpen: [{ type: Input }],
3199
3212
  label: [{ type: Input }],
3200
3213
  options: [{ type: Input }],
3214
+ disableSearchIn: [{ type: Input }],
3201
3215
  emptyResult: [{ type: Input }],
3202
3216
  selectValue: [{ type: Output }],
3203
- selectValueByIndex: [{ type: Output }]
3217
+ searchKeyUp: [{ type: Output }],
3218
+ searchFocusOut: [{ type: Output }]
3204
3219
  };
3205
3220
 
3206
3221
  const components = [