@apipass/inputs 1.0.153 → 1.0.155
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/esm2022/inputs.module.mjs +5 -48
- package/esm2022/public-api.mjs +1 -2
- package/fesm2022/apipass-inputs.mjs +15 -233
- package/fesm2022/apipass-inputs.mjs.map +1 -1
- package/inputs.module.d.ts +27 -29
- package/package.json +1 -1
- package/public-api.d.ts +0 -1
- package/esm2022/multiple-select-interpolation/multiple-select-interpolation.component.mjs +0 -189
- package/multiple-select-interpolation/multiple-select-interpolation.component.d.ts +0 -47
package/inputs.module.d.ts
CHANGED
|
@@ -10,36 +10,34 @@ import * as i8 from "./input-image/input-image.component";
|
|
|
10
10
|
import * as i9 from "./input-file/input-file.component";
|
|
11
11
|
import * as i10 from "./custom-select/custom-select.component";
|
|
12
12
|
import * as i11 from "./select-interpolation/select-interpolation.component";
|
|
13
|
-
import * as i12 from "./
|
|
14
|
-
import * as i13 from "./
|
|
15
|
-
import * as i14 from "./ace-editor/
|
|
16
|
-
import * as i15 from "./
|
|
17
|
-
import * as i16 from "./
|
|
18
|
-
import * as i17 from "./input-
|
|
19
|
-
import * as i18 from "
|
|
20
|
-
import * as i19 from "@angular/
|
|
21
|
-
import * as i20 from "@angular/
|
|
22
|
-
import * as i21 from "@angular/
|
|
23
|
-
import * as i22 from "@angular/material/
|
|
24
|
-
import * as i23 from "@angular/material/
|
|
25
|
-
import * as i24 from "@
|
|
26
|
-
import * as i25 from "@
|
|
27
|
-
import * as i26 from "@
|
|
28
|
-
import * as i27 from "@
|
|
29
|
-
import * as i28 from "@
|
|
30
|
-
import * as i29 from "
|
|
31
|
-
import * as i30 from "
|
|
32
|
-
import * as i31 from "@
|
|
33
|
-
import * as i32 from "@angular/
|
|
34
|
-
import * as i33 from "@angular/material/
|
|
35
|
-
import * as i34 from "@angular/material/
|
|
36
|
-
import * as i35 from "
|
|
37
|
-
import * as i36 from "ngx-
|
|
38
|
-
import * as i37 from "
|
|
39
|
-
import * as i38 from "@angular/cdk/drag-drop";
|
|
40
|
-
import * as i39 from "@angular/material/checkbox";
|
|
13
|
+
import * as i12 from "./field/field.component";
|
|
14
|
+
import * as i13 from "./ace-editor/component";
|
|
15
|
+
import * as i14 from "./ace-editor/directive";
|
|
16
|
+
import * as i15 from "./debounce-model-directive/debouceInput.directive";
|
|
17
|
+
import * as i16 from "./input-date-time-interval/input-date-time-interval.component";
|
|
18
|
+
import * as i17 from "./input-key-value/key-value-input.component";
|
|
19
|
+
import * as i18 from "@angular/router";
|
|
20
|
+
import * as i19 from "@angular/common";
|
|
21
|
+
import * as i20 from "@angular/forms";
|
|
22
|
+
import * as i21 from "@angular/material/form-field";
|
|
23
|
+
import * as i22 from "@angular/material/input";
|
|
24
|
+
import * as i23 from "@angular/material/select";
|
|
25
|
+
import * as i24 from "@ng-select/ng-select";
|
|
26
|
+
import * as i25 from "@apipass/pipes";
|
|
27
|
+
import * as i26 from "@angular/material/icon";
|
|
28
|
+
import * as i27 from "@apipass/icons";
|
|
29
|
+
import * as i28 from "@angular/material/tooltip";
|
|
30
|
+
import * as i29 from "ngx-drag-drop";
|
|
31
|
+
import * as i30 from "@apipass/buttons";
|
|
32
|
+
import * as i31 from "@angular/cdk/overlay";
|
|
33
|
+
import * as i32 from "@angular/material/card";
|
|
34
|
+
import * as i33 from "@angular/material/datepicker";
|
|
35
|
+
import * as i34 from "@angular/material/core";
|
|
36
|
+
import * as i35 from "ngx-scrollbar";
|
|
37
|
+
import * as i36 from "ngx-mask";
|
|
38
|
+
import * as i37 from "@angular/material/checkbox";
|
|
41
39
|
export declare class InputsModule {
|
|
42
40
|
static ɵfac: i0.ɵɵFactoryDeclaration<InputsModule, never>;
|
|
43
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<InputsModule, [typeof i1.MatSelectInfiniteScrollDirective, typeof i2.SelectBoxComponent, typeof i3.SelectEnumComponent, typeof i4.InputTextComponent, typeof i5.InputNumberComponent, typeof i6.InputBooleanComponent, typeof i7.InputAvatarComponent, typeof i8.InputImageComponent, typeof i9.InputFileComponent, typeof i10.CustomSelectComponent, typeof i11.SelectInterpolationComponent, typeof i12.
|
|
41
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<InputsModule, [typeof i1.MatSelectInfiniteScrollDirective, typeof i2.SelectBoxComponent, typeof i3.SelectEnumComponent, typeof i4.InputTextComponent, typeof i5.InputNumberComponent, typeof i6.InputBooleanComponent, typeof i7.InputAvatarComponent, typeof i8.InputImageComponent, typeof i9.InputFileComponent, typeof i10.CustomSelectComponent, typeof i11.SelectInterpolationComponent, typeof i12.FieldComponent, typeof i13.AceEditorComponent, typeof i14.AceEditorDirective, typeof i15.DebouceInputDirective, typeof i16.InputDateTimeIntervalComponent, typeof i17.KeyValueInputComponent], [typeof i18.RouterModule, typeof i19.CommonModule, typeof i20.FormsModule, typeof i21.MatFormFieldModule, typeof i22.MatInputModule, typeof i23.MatSelectModule, typeof i24.NgSelectModule, typeof i25.PipeModule, typeof i26.MatIconModule, typeof i27.IconsModule, typeof i28.MatTooltipModule, typeof i29.DndModule, typeof i30.ButtonsModule, typeof i31.OverlayModule, typeof i32.MatCardModule, typeof i33.MatDatepickerModule, typeof i34.MatNativeDateModule, typeof i35.NgScrollbarModule, typeof i36.NgxMaskDirective, typeof i36.NgxMaskPipe, typeof i37.MatCheckboxModule], [typeof i2.SelectBoxComponent, typeof i3.SelectEnumComponent, typeof i4.InputTextComponent, typeof i5.InputNumberComponent, typeof i6.InputBooleanComponent, typeof i7.InputAvatarComponent, typeof i8.InputImageComponent, typeof i9.InputFileComponent, typeof i10.CustomSelectComponent, typeof i11.SelectInterpolationComponent, typeof i12.FieldComponent, typeof i13.AceEditorComponent, typeof i14.AceEditorDirective, typeof i15.DebouceInputDirective, typeof i16.InputDateTimeIntervalComponent, typeof i36.NgxMaskDirective, typeof i36.NgxMaskPipe, typeof i17.KeyValueInputComponent]>;
|
|
44
42
|
static ɵinj: i0.ɵɵInjectorDeclaration<InputsModule>;
|
|
45
43
|
}
|
package/package.json
CHANGED
package/public-api.d.ts
CHANGED
|
@@ -10,7 +10,6 @@ export * from './ace-editor/component';
|
|
|
10
10
|
export * from './select-box/select-box.component';
|
|
11
11
|
export * from './select-enum/select-enum.component';
|
|
12
12
|
export * from './select-interpolation/select-interpolation.component';
|
|
13
|
-
export * from './multiple-select-interpolation/multiple-select-interpolation.component';
|
|
14
13
|
export * from './custom-select/custom-select.component';
|
|
15
14
|
export * from './custom-select/custom-select-item';
|
|
16
15
|
export * from './input-avatar/input-avatar.component';
|
|
@@ -1,189 +0,0 @@
|
|
|
1
|
-
import { Component, ElementRef, EventEmitter, forwardRef, HostBinding, HostListener, Input, Output, ViewChild } from '@angular/core';
|
|
2
|
-
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
|
-
import { CustomSelectItem } from '../custom-select/custom-select-item';
|
|
4
|
-
import { ScrollStrategyOptions } from '@angular/cdk/overlay';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "@angular/cdk/overlay";
|
|
7
|
-
import * as i2 from "@angular/common";
|
|
8
|
-
import * as i3 from "@angular/forms";
|
|
9
|
-
import * as i4 from "@angular/material/form-field";
|
|
10
|
-
import * as i5 from "@angular/material/input";
|
|
11
|
-
import * as i6 from "ngx-drag-drop";
|
|
12
|
-
import * as i7 from "@angular/material/checkbox";
|
|
13
|
-
import * as i8 from "@apipass/pipes";
|
|
14
|
-
class MultipleSelectInterpolationComponent {
|
|
15
|
-
sso;
|
|
16
|
-
innerValue = [];
|
|
17
|
-
edited = false;
|
|
18
|
-
scrollStrategy;
|
|
19
|
-
_triggerRect;
|
|
20
|
-
selectedItems = [];
|
|
21
|
-
selectedItemLabels = '';
|
|
22
|
-
searchText = '';
|
|
23
|
-
opened = false;
|
|
24
|
-
disabled = false;
|
|
25
|
-
items = [];
|
|
26
|
-
placeHolder = 'Select';
|
|
27
|
-
findPlaceHolder = 'Find item';
|
|
28
|
-
onSelect = new EventEmitter();
|
|
29
|
-
trigger;
|
|
30
|
-
input;
|
|
31
|
-
constructor(sso) {
|
|
32
|
-
this.sso = sso;
|
|
33
|
-
this.scrollStrategy = this.sso.block();
|
|
34
|
-
}
|
|
35
|
-
tabindex = '0';
|
|
36
|
-
onBlur(target) {
|
|
37
|
-
if (this.selectedItems.length > 0) {
|
|
38
|
-
if (this.edited) {
|
|
39
|
-
this.writeValue(this.selectedItems.map(item => item.id));
|
|
40
|
-
this.selectedItemLabels = this.selectedItems.map(item => item.text).join(', ');
|
|
41
|
-
this.onSelect.next(this.selectedItems);
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
else {
|
|
45
|
-
this.writeValue([]);
|
|
46
|
-
this.onSelect.next([]);
|
|
47
|
-
}
|
|
48
|
-
if (target?.relatedTarget?.classList.contains('search-input-item')) {
|
|
49
|
-
return;
|
|
50
|
-
}
|
|
51
|
-
this.setTriggerRect();
|
|
52
|
-
}
|
|
53
|
-
ngAfterViewInit() {
|
|
54
|
-
setTimeout(() => {
|
|
55
|
-
this.setInitialState();
|
|
56
|
-
this.setTriggerRect();
|
|
57
|
-
}, 300);
|
|
58
|
-
}
|
|
59
|
-
setInitialState() {
|
|
60
|
-
setTimeout(() => {
|
|
61
|
-
if (this.value && this.items) {
|
|
62
|
-
this.selectedItems = this.items.filter(item => this.value.includes(item.id));
|
|
63
|
-
this.selectedItemLabels = this.selectedItems.map(item => item.text).join(', ');
|
|
64
|
-
}
|
|
65
|
-
});
|
|
66
|
-
}
|
|
67
|
-
setTriggerRect() {
|
|
68
|
-
setTimeout(() => {
|
|
69
|
-
this._triggerRect = this.trigger?.nativeElement.getBoundingClientRect();
|
|
70
|
-
});
|
|
71
|
-
}
|
|
72
|
-
toggleSelectItem(event, item) {
|
|
73
|
-
event.stopPropagation();
|
|
74
|
-
const index = this.selectedItems.findIndex(selectedItem => selectedItem.id === item.id);
|
|
75
|
-
if (index === -1) {
|
|
76
|
-
this.selectedItems.push(item);
|
|
77
|
-
}
|
|
78
|
-
else {
|
|
79
|
-
this.selectedItems.splice(index, 1);
|
|
80
|
-
}
|
|
81
|
-
this.selectedItemLabels = this.selectedItems.map(selectedItem => selectedItem.text).join(', ');
|
|
82
|
-
this.edited = true;
|
|
83
|
-
this.writeValue(this.selectedItems.map(selectedItem => selectedItem.id));
|
|
84
|
-
this.onSelect.next(this.selectedItems);
|
|
85
|
-
}
|
|
86
|
-
isSelected(item) {
|
|
87
|
-
return this.selectedItems.some(selectedItem => selectedItem.id === item.id);
|
|
88
|
-
}
|
|
89
|
-
keyPress() {
|
|
90
|
-
this.setTriggerRect();
|
|
91
|
-
this.opened = false;
|
|
92
|
-
this.edited = true;
|
|
93
|
-
this.searchText = '';
|
|
94
|
-
}
|
|
95
|
-
clicked($event) {
|
|
96
|
-
this.setTriggerRect();
|
|
97
|
-
this.open($event);
|
|
98
|
-
this.searchText = '';
|
|
99
|
-
}
|
|
100
|
-
open($event) {
|
|
101
|
-
this.opened = true;
|
|
102
|
-
$event?.stopPropagation();
|
|
103
|
-
}
|
|
104
|
-
close($event) {
|
|
105
|
-
this.opened = false;
|
|
106
|
-
$event?.stopPropagation();
|
|
107
|
-
}
|
|
108
|
-
onTouchedCallback = () => { };
|
|
109
|
-
onChangeCallback = () => { };
|
|
110
|
-
get value() {
|
|
111
|
-
return this.innerValue;
|
|
112
|
-
}
|
|
113
|
-
set value(value) {
|
|
114
|
-
this.innerValue = value;
|
|
115
|
-
this.onChangeCallback(value);
|
|
116
|
-
}
|
|
117
|
-
writeValue(value) {
|
|
118
|
-
if (value !== this.value) {
|
|
119
|
-
this.value = value;
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
registerOnChange(fn) {
|
|
123
|
-
this.onChangeCallback = fn;
|
|
124
|
-
}
|
|
125
|
-
registerOnTouched(fn) {
|
|
126
|
-
this.onTouchedCallback = fn;
|
|
127
|
-
}
|
|
128
|
-
setDisabledState(isDisabled) {
|
|
129
|
-
this.disabled = isDisabled;
|
|
130
|
-
}
|
|
131
|
-
arrowClick(event) {
|
|
132
|
-
event.stopPropagation();
|
|
133
|
-
this.setTriggerRect();
|
|
134
|
-
if (!this.opened) {
|
|
135
|
-
this.open(event);
|
|
136
|
-
this.searchText = '';
|
|
137
|
-
this.input?.nativeElement.focus();
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
onDrop(event) {
|
|
141
|
-
this.searchText = '';
|
|
142
|
-
this.edited = true;
|
|
143
|
-
const droppedItem = new CustomSelectItem(`{{${event.data}}}`, `{{${event.data}}}`);
|
|
144
|
-
const index = this.selectedItems.findIndex(item => item.id === droppedItem.id);
|
|
145
|
-
if (index === -1) {
|
|
146
|
-
this.selectedItems.push(droppedItem);
|
|
147
|
-
}
|
|
148
|
-
this.selectedItemLabels = this.selectedItems.map(item => item.text).join(', ');
|
|
149
|
-
this.onBlur(undefined);
|
|
150
|
-
}
|
|
151
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: MultipleSelectInterpolationComponent, deps: [{ token: i1.ScrollStrategyOptions }], target: i0.ɵɵFactoryTarget.Component });
|
|
152
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.2", type: MultipleSelectInterpolationComponent, selector: "multiple-select-interpolation", inputs: { disabled: "disabled", items: "items", placeHolder: "placeHolder", findPlaceHolder: "findPlaceHolder" }, outputs: { onSelect: "onSelect" }, host: { listeners: { "blur": "onBlur($event.target)" }, properties: { "attr.tabindex": "this.tabindex" } }, providers: [{
|
|
153
|
-
provide: NG_VALUE_ACCESSOR,
|
|
154
|
-
useExisting: forwardRef(() => MultipleSelectInterpolationComponent),
|
|
155
|
-
multi: true
|
|
156
|
-
}], viewQueries: [{ propertyName: "trigger", first: true, predicate: ["trigger"], descendants: true }, { propertyName: "input", first: true, predicate: ["input"], descendants: true, read: ElementRef }], ngImport: i0, template: "<div class=\"custom-select-input\" #trigger>\n <mat-form-field\n dndDropzone [dndAllowExternal]=\"true\" (dndDrop)=\"onDrop($event)\"\n cdkOverlayOrigin #origin=\"cdkOverlayOrigin\"\n (click)=\"clicked()\" class=\"custom-select-component\"\n [ngClass]=\"{'select-open' : opened}\" appearance=\"outline\" autocomplete=\"off\">\n <mat-label *ngIf=\"placeHolder\">{{placeHolder}}</mat-label>\n <input matInput #input\n (blur)=\"onBlur($event)\"\n [value]=\"selectedItemLabels\"\n [disabled]=\"disabled\"\n (keyup)=\"keyPress()\"\n (click)=\"clicked()\"\n autocomplete=\"off\"\n />\n <span class=\"open-icon\" (click)=\"arrowClick($event)\">\n <i class=\"fas\" [ngClass]=\"{'fa-caret-down' : !opened, 'fa-caret-up' : opened}\"></i>\n </span>\n </mat-form-field>\n</div>\n<div class=\"custom-select-component\">\n <ng-template cdkConnectedOverlay\n [cdkConnectedOverlayPanelClass]=\"'custom-select-overlay-panel'\"\n [cdkConnectedOverlayScrollStrategy]=\"scrollStrategy\"\n [cdkConnectedOverlayOrigin]=\"origin\"\n (backdropClick)=\"close($event)\"\n (overlayOutsideClick)=\"close($event)\"\n [cdkConnectedOverlayOpen]=\"opened\"\n [cdkConnectedOverlayMinWidth]=\"_triggerRect?.width!\">\n <ul class=\"ul-ac\">\n <li class=\"li-search search-input-item\">\n <mat-form-field class=\"apipass-input-text search-input-item\" appearance=\"outline\">\n <mat-label *ngIf=\"findPlaceHolder\">{{findPlaceHolder}}</mat-label>\n <input matInput class=\"search-input-item\"\n [(ngModel)]=\"searchText\"\n (blur)=\"onBlur($event)\"\n aria-autocomplete=\"none\"\n autocomplete=\"off\"\n />\n </mat-form-field>\n </li>\n <li class=\"clickable\" *ngFor=\"let i of items | selectFilter:searchText:'text'\"\n [ngClass]=\"{'selected': isSelected(i)}\"\n (click)=\"toggleSelectItem($event, i)\">\n <mat-checkbox [checked]=\"isSelected(i)\" (click)=\"$event.stopPropagation(); toggleSelectItem($event, i)\">\n {{i.text}}\n </mat-checkbox>\n </li>\n </ul>\n </ng-template>\n</div>\n", styles: [".custom-select-component{width:100%}.custom-select-component mat-form-field{width:100%}.custom-select-component ::ng-deep .mat-mdc-form-field-flex{padding:0!important;height:auto}.custom-select-component ::ng-deep .mat-mdc-form-field-infix{padding-top:0!important;padding-bottom:0!important;font-size:14px!important;width:100%;display:flex;align-items:center;justify-content:center}.custom-select-component ::ng-deep mat-form-field{height:20px!important}::ng-deep .custom-select-overlay-panel{margin-top:1px;margin-bottom:-5px}::ng-deep .custom-select-overlay-panel,.custom-select-input,.custom-select-component{cursor:pointer}::ng-deep .custom-select-overlay-panel .ul-ac,.custom-select-input .ul-ac,.custom-select-component .ul-ac{max-height:16rem;overflow:auto;background:#fff;border:1px solid #ccc;box-sizing:border-box;list-style:none;padding:0;width:100%;position:relative;margin-top:0}::ng-deep .custom-select-overlay-panel .ul-ac li,.custom-select-input .ul-ac li,.custom-select-component .ul-ac li{display:flex;align-items:center;text-align:left;cursor:pointer;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;padding:10px;font-size:12px}::ng-deep .custom-select-overlay-panel .ul-ac li:hover,.custom-select-input .ul-ac li:hover,.custom-select-component .ul-ac li:hover{background:#bbbcbc}::ng-deep .custom-select-overlay-panel .ul-ac li .mat-checkbox,.custom-select-input .ul-ac li .mat-checkbox,.custom-select-component .ul-ac li .mat-checkbox{margin-right:8px}::ng-deep .custom-select-overlay-panel .ul-ac li .mat-form-field-flex,.custom-select-input .ul-ac li .mat-form-field-flex,.custom-select-component .ul-ac li .mat-form-field-flex{height:37px!important}::ng-deep .custom-select-overlay-panel .ul-ac li .mat-form-field-flex input,.custom-select-input .ul-ac li .mat-form-field-flex input,.custom-select-component .ul-ac li .mat-form-field-flex input{height:auto}::ng-deep .custom-select-overlay-panel .remove-icon i,.custom-select-input .remove-icon i,.custom-select-component .remove-icon i{color:red;margin-right:10px}::ng-deep .custom-select-overlay-panel .open-icon,.custom-select-input .open-icon,.custom-select-component .open-icon{cursor:pointer}::ng-deep .custom-select-overlay-panel .open-icon i,.custom-select-input .open-icon i,.custom-select-component .open-icon i{color:#0000008a}::ng-deep .custom-select-overlay-panel .li-search,.custom-select-input .li-search,.custom-select-component .li-search{cursor:default!important;border-bottom:1px solid #CCC!important;height:58px}::ng-deep .custom-select-overlay-panel .li-search:hover,.custom-select-input .li-search:hover,.custom-select-component .li-search:hover{background:#FFF!important}::ng-deep .custom-select-overlay-panel .select-open .mat-form-field-flex,.custom-select-input .select-open .mat-form-field-flex,.custom-select-component .select-open .mat-form-field-flex{border-radius:6px 6px 0 0!important}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i5.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i6.DndDropzoneDirective, selector: "[dndDropzone]", inputs: ["dndDropzone", "dndEffectAllowed", "dndAllowExternal", "dndHorizontal", "dndDragoverClass", "dndDropzoneDisabledClass", "dndDisableIf", "dndDisableDropIf"], outputs: ["dndDragover", "dndDrop"] }, { kind: "directive", type: i1.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "directive", type: i1.CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "component", type: i7.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "pipe", type: i8.SelectFilterPipe, name: "selectFilter" }] });
|
|
157
|
-
}
|
|
158
|
-
export { MultipleSelectInterpolationComponent };
|
|
159
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: MultipleSelectInterpolationComponent, decorators: [{
|
|
160
|
-
type: Component,
|
|
161
|
-
args: [{ selector: 'multiple-select-interpolation', providers: [{
|
|
162
|
-
provide: NG_VALUE_ACCESSOR,
|
|
163
|
-
useExisting: forwardRef(() => MultipleSelectInterpolationComponent),
|
|
164
|
-
multi: true
|
|
165
|
-
}], template: "<div class=\"custom-select-input\" #trigger>\n <mat-form-field\n dndDropzone [dndAllowExternal]=\"true\" (dndDrop)=\"onDrop($event)\"\n cdkOverlayOrigin #origin=\"cdkOverlayOrigin\"\n (click)=\"clicked()\" class=\"custom-select-component\"\n [ngClass]=\"{'select-open' : opened}\" appearance=\"outline\" autocomplete=\"off\">\n <mat-label *ngIf=\"placeHolder\">{{placeHolder}}</mat-label>\n <input matInput #input\n (blur)=\"onBlur($event)\"\n [value]=\"selectedItemLabels\"\n [disabled]=\"disabled\"\n (keyup)=\"keyPress()\"\n (click)=\"clicked()\"\n autocomplete=\"off\"\n />\n <span class=\"open-icon\" (click)=\"arrowClick($event)\">\n <i class=\"fas\" [ngClass]=\"{'fa-caret-down' : !opened, 'fa-caret-up' : opened}\"></i>\n </span>\n </mat-form-field>\n</div>\n<div class=\"custom-select-component\">\n <ng-template cdkConnectedOverlay\n [cdkConnectedOverlayPanelClass]=\"'custom-select-overlay-panel'\"\n [cdkConnectedOverlayScrollStrategy]=\"scrollStrategy\"\n [cdkConnectedOverlayOrigin]=\"origin\"\n (backdropClick)=\"close($event)\"\n (overlayOutsideClick)=\"close($event)\"\n [cdkConnectedOverlayOpen]=\"opened\"\n [cdkConnectedOverlayMinWidth]=\"_triggerRect?.width!\">\n <ul class=\"ul-ac\">\n <li class=\"li-search search-input-item\">\n <mat-form-field class=\"apipass-input-text search-input-item\" appearance=\"outline\">\n <mat-label *ngIf=\"findPlaceHolder\">{{findPlaceHolder}}</mat-label>\n <input matInput class=\"search-input-item\"\n [(ngModel)]=\"searchText\"\n (blur)=\"onBlur($event)\"\n aria-autocomplete=\"none\"\n autocomplete=\"off\"\n />\n </mat-form-field>\n </li>\n <li class=\"clickable\" *ngFor=\"let i of items | selectFilter:searchText:'text'\"\n [ngClass]=\"{'selected': isSelected(i)}\"\n (click)=\"toggleSelectItem($event, i)\">\n <mat-checkbox [checked]=\"isSelected(i)\" (click)=\"$event.stopPropagation(); toggleSelectItem($event, i)\">\n {{i.text}}\n </mat-checkbox>\n </li>\n </ul>\n </ng-template>\n</div>\n", styles: [".custom-select-component{width:100%}.custom-select-component mat-form-field{width:100%}.custom-select-component ::ng-deep .mat-mdc-form-field-flex{padding:0!important;height:auto}.custom-select-component ::ng-deep .mat-mdc-form-field-infix{padding-top:0!important;padding-bottom:0!important;font-size:14px!important;width:100%;display:flex;align-items:center;justify-content:center}.custom-select-component ::ng-deep mat-form-field{height:20px!important}::ng-deep .custom-select-overlay-panel{margin-top:1px;margin-bottom:-5px}::ng-deep .custom-select-overlay-panel,.custom-select-input,.custom-select-component{cursor:pointer}::ng-deep .custom-select-overlay-panel .ul-ac,.custom-select-input .ul-ac,.custom-select-component .ul-ac{max-height:16rem;overflow:auto;background:#fff;border:1px solid #ccc;box-sizing:border-box;list-style:none;padding:0;width:100%;position:relative;margin-top:0}::ng-deep .custom-select-overlay-panel .ul-ac li,.custom-select-input .ul-ac li,.custom-select-component .ul-ac li{display:flex;align-items:center;text-align:left;cursor:pointer;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;padding:10px;font-size:12px}::ng-deep .custom-select-overlay-panel .ul-ac li:hover,.custom-select-input .ul-ac li:hover,.custom-select-component .ul-ac li:hover{background:#bbbcbc}::ng-deep .custom-select-overlay-panel .ul-ac li .mat-checkbox,.custom-select-input .ul-ac li .mat-checkbox,.custom-select-component .ul-ac li .mat-checkbox{margin-right:8px}::ng-deep .custom-select-overlay-panel .ul-ac li .mat-form-field-flex,.custom-select-input .ul-ac li .mat-form-field-flex,.custom-select-component .ul-ac li .mat-form-field-flex{height:37px!important}::ng-deep .custom-select-overlay-panel .ul-ac li .mat-form-field-flex input,.custom-select-input .ul-ac li .mat-form-field-flex input,.custom-select-component .ul-ac li .mat-form-field-flex input{height:auto}::ng-deep .custom-select-overlay-panel .remove-icon i,.custom-select-input .remove-icon i,.custom-select-component .remove-icon i{color:red;margin-right:10px}::ng-deep .custom-select-overlay-panel .open-icon,.custom-select-input .open-icon,.custom-select-component .open-icon{cursor:pointer}::ng-deep .custom-select-overlay-panel .open-icon i,.custom-select-input .open-icon i,.custom-select-component .open-icon i{color:#0000008a}::ng-deep .custom-select-overlay-panel .li-search,.custom-select-input .li-search,.custom-select-component .li-search{cursor:default!important;border-bottom:1px solid #CCC!important;height:58px}::ng-deep .custom-select-overlay-panel .li-search:hover,.custom-select-input .li-search:hover,.custom-select-component .li-search:hover{background:#FFF!important}::ng-deep .custom-select-overlay-panel .select-open .mat-form-field-flex,.custom-select-input .select-open .mat-form-field-flex,.custom-select-component .select-open .mat-form-field-flex{border-radius:6px 6px 0 0!important}\n"] }]
|
|
166
|
-
}], ctorParameters: function () { return [{ type: i1.ScrollStrategyOptions }]; }, propDecorators: { disabled: [{
|
|
167
|
-
type: Input
|
|
168
|
-
}], items: [{
|
|
169
|
-
type: Input
|
|
170
|
-
}], placeHolder: [{
|
|
171
|
-
type: Input
|
|
172
|
-
}], findPlaceHolder: [{
|
|
173
|
-
type: Input
|
|
174
|
-
}], onSelect: [{
|
|
175
|
-
type: Output
|
|
176
|
-
}], trigger: [{
|
|
177
|
-
type: ViewChild,
|
|
178
|
-
args: ['trigger']
|
|
179
|
-
}], input: [{
|
|
180
|
-
type: ViewChild,
|
|
181
|
-
args: ['input', { read: ElementRef }]
|
|
182
|
-
}], tabindex: [{
|
|
183
|
-
type: HostBinding,
|
|
184
|
-
args: ['attr.tabindex']
|
|
185
|
-
}], onBlur: [{
|
|
186
|
-
type: HostListener,
|
|
187
|
-
args: ['blur', ['$event.target']]
|
|
188
|
-
}] } });
|
|
189
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGlwbGUtc2VsZWN0LWludGVycG9sYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvaW5wdXRzL3NyYy9tdWx0aXBsZS1zZWxlY3QtaW50ZXJwb2xhdGlvbi9tdWx0aXBsZS1zZWxlY3QtaW50ZXJwb2xhdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9pbnB1dHMvc3JjL211bHRpcGxlLXNlbGVjdC1pbnRlcnBvbGF0aW9uL211bHRpcGxlLXNlbGVjdC1pbnRlcnBvbGF0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixVQUFVLEVBQ1YsV0FBVyxFQUNYLFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDdkUsT0FBTyxFQUFrQixxQkFBcUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7Ozs7Ozs7O0FBRTdFLE1BVWEsb0NBQW9DO0lBeUJqQjtJQXZCdEIsVUFBVSxHQUFVLEVBQUUsQ0FBQztJQUN2QixNQUFNLEdBQVksS0FBSyxDQUFDO0lBRXpCLGNBQWMsQ0FBaUI7SUFDL0IsWUFBWSxDQUF5QjtJQUNyQyxhQUFhLEdBQXVCLEVBQUUsQ0FBQztJQUN2QyxrQkFBa0IsR0FBVyxFQUFFLENBQUM7SUFDaEMsVUFBVSxHQUFXLEVBQUUsQ0FBQztJQUN4QixNQUFNLEdBQVksS0FBSyxDQUFDO0lBRWYsUUFBUSxHQUFZLEtBQUssQ0FBQztJQUMxQixLQUFLLEdBQXVCLEVBQUUsQ0FBQztJQUMvQixXQUFXLEdBQVcsUUFBUSxDQUFDO0lBQy9C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QkFDRSwrQkFBK0IsYUFHOUIsQ0FBQzs0QkFDVixPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxxQ0FBcUMsQ0FBQzs0QkFDbkUsS0FBSyxFQUFFLElBQUk7eUJBQ1osQ0FBQzs0R0FjYyxRQUFRO3NCQUF2QixLQUFLO2dCQUNVLEtBQUs7c0JBQXBCLEtBQUs7Z0JBQ1UsV0FBVztzQkFBMUIsS0FBSztnQkFDVSxlQUFlO3NCQUE5QixLQUFLO2dCQUVXLFFBQVE7c0JBQXhCLE1BQU07Z0JBR0EsT0FBTztzQkFEYixTQUFTO3VCQUFDLFNBQVM7Z0JBSWIsS0FBSztzQkFEWCxTQUFTO3VCQUFDLE9BQU8sRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7Z0JBT1YsUUFBUTtzQkFBckMsV0FBVzt1QkFBQyxlQUFlO2dCQUNhLE1BQU07c0JBQTlDLFlBQVk7dUJBQUMsTUFBTSxFQUFFLENBQUMsZUFBZSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIGZvcndhcmRSZWYsXG4gIEhvc3RCaW5kaW5nLFxuICBIb3N0TGlzdGVuZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEN1c3RvbVNlbGVjdEl0ZW0gfSBmcm9tICcuLi9jdXN0b20tc2VsZWN0L2N1c3RvbS1zZWxlY3QtaXRlbSc7XG5pbXBvcnQgeyBTY3JvbGxTdHJhdGVneSwgU2Nyb2xsU3RyYXRlZ3lPcHRpb25zIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtdWx0aXBsZS1zZWxlY3QtaW50ZXJwb2xhdGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnbXVsdGlwbGUtc2VsZWN0LWludGVycG9sYXRpb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnbXVsdGlwbGUtc2VsZWN0LWludGVycG9sYXRpb24uY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbe1xuICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IE11bHRpcGxlU2VsZWN0SW50ZXJwb2xhdGlvbkNvbXBvbmVudCksXG4gICAgbXVsdGk6IHRydWVcbiAgfV1cbn0pXG5leHBvcnQgY2xhc3MgTXVsdGlwbGVTZWxlY3RJbnRlcnBvbGF0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEFmdGVyVmlld0luaXQge1xuXG4gIHByaXZhdGUgaW5uZXJWYWx1ZTogYW55W10gPSBbXTtcbiAgcHJpdmF0ZSBlZGl0ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBwdWJsaWMgc2Nyb2xsU3RyYXRlZ3k6IFNjcm9sbFN0cmF0ZWd5O1xuICBwdWJsaWMgX3RyaWdnZXJSZWN0OiBDbGllbnRSZWN0IHwgdW5kZWZpbmVkO1xuICBwdWJsaWMgc2VsZWN0ZWRJdGVtczogQ3VzdG9tU2VsZWN0SXRlbVtdID0gW107XG4gIHB1YmxpYyBzZWxlY3RlZEl0ZW1MYWJlbHM6IHN0cmluZyA9ICcnO1xuICBwdWJsaWMgc2VhcmNoVGV4dDogc3RyaW5nID0gJyc7XG4gIHB1YmxpYyBvcGVuZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASW5wdXQoKSBwdWJsaWMgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIGl0ZW1zOiBDdXN0b21TZWxlY3RJdGVtW10gPSBbXTtcbiAgQElucHV0KCkgcHVibGljIHBsYWNlSG9sZGVyOiBzdHJpbmcgPSAnU2VsZWN0JztcbiAgQElucHV0KCkgcHVibGljIGZpbmRQbGFjZUhvbGRlcjogc3RyaW5nID0gJ0ZpbmQgaXRlbSc7XG5cbiAgQE91dHB1dCgpIHB1YmxpYyBvblNlbGVjdDogRXZlbnRFbWl0dGVyPEN1c3RvbVNlbGVjdEl0ZW1bXT4gPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbVNlbGVjdEl0ZW1bXT4oKTtcblxuICBAVmlld0NoaWxkKCd0cmlnZ2VyJylcbiAgcHVibGljIHRyaWdnZXI6IEVsZW1lbnRSZWYgfCB1bmRlZmluZWQ7XG5cbiAgQFZpZXdDaGlsZCgnaW5wdXQnLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSlcbiAgcHVibGljIGlucHV0OiBFbGVtZW50UmVmIHwgdW5kZWZpbmVkO1xuXG4gIGNvbnN0cnVjdG9yIChwcml2YXRlIHJlYWRvbmx5IHNzbzogU2Nyb2xsU3RyYXRlZ3lPcHRpb25zKSB7XG4gICAgdGhpcy5zY3JvbGxTdHJhdGVneSA9IHRoaXMuc3NvLmJsb2NrKCk7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2F0dHIudGFiaW5kZXgnKSB0YWJpbmRleCA9ICcwJztcbiAgQEhvc3RMaXN0ZW5lcignYmx1cicsIFsnJGV2ZW50LnRhcmdldCddKSBvbkJsdXIgKHRhcmdldDogYW55KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRJdGVtcy5sZW5ndGggPiAwKSB7XG4gICAgICBpZiAodGhpcy5lZGl0ZWQpIHtcbiAgICAgICAgdGhpcy53cml0ZVZhbHVlKHRoaXMuc2VsZWN0ZWRJdGVtcy5tYXAoaXRlbSA9PiBpdGVtLmlkKSk7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtTGFiZWxzID0gdGhpcy5zZWxlY3RlZEl0ZW1zLm1hcChpdGVtID0+IGl0ZW0udGV4dCkuam9pbignLCAnKTtcbiAgICAgICAgdGhpcy5vblNlbGVjdC5uZXh0KHRoaXMuc2VsZWN0ZWRJdGVtcyk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMud3JpdGVWYWx1ZShbXSk7XG4gICAgICB0aGlzLm9uU2VsZWN0Lm5leHQoW10pO1xuICAgIH1cbiAgICBpZiAodGFyZ2V0Py5yZWxhdGVkVGFyZ2V0Py5jbGFzc0xpc3QuY29udGFpbnMoJ3NlYXJjaC1pbnB1dC1pdGVtJykpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5zZXRUcmlnZ2VyUmVjdCgpO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0ICgpOiB2b2lkIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuc2V0SW5pdGlhbFN0YXRlKCk7XG4gICAgICB0aGlzLnNldFRyaWdnZXJSZWN0KCk7XG4gICAgfSwgMzAwKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRJbml0aWFsU3RhdGUgKCk6IHZvaWQge1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaWYgKHRoaXMudmFsdWUgJiYgdGhpcy5pdGVtcykge1xuICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbXMgPSB0aGlzLml0ZW1zLmZpbHRlcihpdGVtID0+IHRoaXMudmFsdWUuaW5jbHVkZXMoaXRlbS5pZCkpO1xuICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbUxhYmVscyA9IHRoaXMuc2VsZWN0ZWRJdGVtcy5tYXAoaXRlbSA9PiBpdGVtLnRleHQpLmpvaW4oJywgJyk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHNldFRyaWdnZXJSZWN0ICgpOiB2b2lkIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuX3RyaWdnZXJSZWN0ID0gdGhpcy50cmlnZ2VyPy5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHRvZ2dsZVNlbGVjdEl0ZW0gKGV2ZW50OiBhbnksIGl0ZW06IEN1c3RvbVNlbGVjdEl0ZW0pOiB2b2lkIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICBjb25zdCBpbmRleCA9IHRoaXMuc2VsZWN0ZWRJdGVtcy5maW5kSW5kZXgoc2VsZWN0ZWRJdGVtID0+IHNlbGVjdGVkSXRlbS5pZCA9PT0gaXRlbS5pZCk7XG4gICAgaWYgKGluZGV4ID09PSAtMSkge1xuICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zLnB1c2goaXRlbSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtcy5zcGxpY2UoaW5kZXgsIDEpO1xuICAgIH1cbiAgICB0aGlzLnNlbGVjdGVkSXRlbUxhYmVscyA9IHRoaXMuc2VsZWN0ZWRJdGVtcy5tYXAoc2VsZWN0ZWRJdGVtID0+IHNlbGVjdGVkSXRlbS50ZXh0KS5qb2luKCcsICcpO1xuICAgIHRoaXMuZWRpdGVkID0gdHJ1ZTtcbiAgICB0aGlzLndyaXRlVmFsdWUodGhpcy5zZWxlY3RlZEl0ZW1zLm1hcChzZWxlY3RlZEl0ZW0gPT4gc2VsZWN0ZWRJdGVtLmlkKSk7XG4gICAgdGhpcy5vblNlbGVjdC5uZXh0KHRoaXMuc2VsZWN0ZWRJdGVtcyk7XG4gIH1cblxuICBwdWJsaWMgaXNTZWxlY3RlZCAoaXRlbTogQ3VzdG9tU2VsZWN0SXRlbSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnNlbGVjdGVkSXRlbXMuc29tZShzZWxlY3RlZEl0ZW0gPT4gc2VsZWN0ZWRJdGVtLmlkID09PSBpdGVtLmlkKTtcbiAgfVxuXG4gIHB1YmxpYyBrZXlQcmVzcyAoKTogYW55IHtcbiAgICB0aGlzLnNldFRyaWdnZXJSZWN0KCk7XG4gICAgdGhpcy5vcGVuZWQgPSBmYWxzZTtcbiAgICB0aGlzLmVkaXRlZCA9IHRydWU7XG4gICAgdGhpcy5zZWFyY2hUZXh0ID0gJyc7XG4gIH1cblxuICBwdWJsaWMgY2xpY2tlZCAoJGV2ZW50PzogRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLnNldFRyaWdnZXJSZWN0KCk7XG4gICAgdGhpcy5vcGVuKCRldmVudCk7XG4gICAgdGhpcy5zZWFyY2hUZXh0ID0gJyc7XG4gIH1cblxuICBwdWJsaWMgb3BlbiAoJGV2ZW50PzogRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLm9wZW5lZCA9IHRydWU7XG4gICAgJGV2ZW50Py5zdG9wUHJvcGFnYXRpb24oKTtcbiAgfVxuXG4gIHB1YmxpYyBjbG9zZSAoJGV2ZW50PzogRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLm9wZW5lZCA9IGZhbHNlO1xuICAgICRldmVudD8uc3RvcFByb3BhZ2F0aW9uKCk7XG4gIH1cblxuICBwcml2YXRlIG9uVG91Y2hlZENhbGxiYWNrOiAoKSA9PiB2b2lkID0gKCkgPT4ge307XG4gIHByaXZhdGUgb25DaGFuZ2VDYWxsYmFjazogKF86IGFueSkgPT4gdm9pZCA9ICgpID0+IHt9O1xuXG4gIGdldCB2YWx1ZSAoKTogYW55W10ge1xuICAgIHJldHVybiB0aGlzLmlubmVyVmFsdWU7XG4gIH1cblxuICBzZXQgdmFsdWUgKHZhbHVlOiBhbnlbXSkge1xuICAgIHRoaXMuaW5uZXJWYWx1ZSA9IHZhbHVlO1xuICAgIHRoaXMub25DaGFuZ2VDYWxsYmFjayh2YWx1ZSk7XG4gIH1cblxuICB3cml0ZVZhbHVlICh2YWx1ZTogYW55W10pOiB2b2lkIHtcbiAgICBpZiAodmFsdWUgIT09IHRoaXMudmFsdWUpIHtcbiAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICB9XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlIChmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZUNhbGxiYWNrID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZCAoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaGVkQ2FsbGJhY2sgPSBmbjtcbiAgfVxuXG4gIHNldERpc2FibGVkU3RhdGUgKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgfVxuXG4gIHB1YmxpYyBhcnJvd0NsaWNrIChldmVudDogYW55KTogdm9pZCB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgdGhpcy5zZXRUcmlnZ2VyUmVjdCgpO1xuICAgIGlmICghdGhpcy5vcGVuZWQpIHtcbiAgICAgIHRoaXMub3BlbihldmVudCk7XG4gICAgICB0aGlzLnNlYXJjaFRleHQgPSAnJztcbiAgICAgIHRoaXMuaW5wdXQ/Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25Ecm9wIChldmVudDogYW55KTogdm9pZCB7XG4gICAgdGhpcy5zZWFyY2hUZXh0ID0gJyc7XG4gICAgdGhpcy5lZGl0ZWQgPSB0cnVlO1xuICAgIGNvbnN0IGRyb3BwZWRJdGVtID0gbmV3IEN1c3RvbVNlbGVjdEl0ZW0oYHt7JHtldmVudC5kYXRhfX19YCwgYHt7JHtldmVudC5kYXRhfX19YCk7XG4gICAgY29uc3QgaW5kZXggPSB0aGlzLnNlbGVjdGVkSXRlbXMuZmluZEluZGV4KGl0ZW0gPT4gaXRlbS5pZCA9PT0gZHJvcHBlZEl0ZW0uaWQpO1xuICAgIGlmIChpbmRleCA9PT0gLTEpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtcy5wdXNoKGRyb3BwZWRJdGVtKTtcbiAgICB9XG4gICAgdGhpcy5zZWxlY3RlZEl0ZW1MYWJlbHMgPSB0aGlzLnNlbGVjdGVkSXRlbXMubWFwKGl0ZW0gPT4gaXRlbS50ZXh0KS5qb2luKCcsICcpO1xuICAgIHRoaXMub25CbHVyKHVuZGVmaW5lZCk7XG4gIH1cblxufVxuIiwiPGRpdiBjbGFzcz1cImN1c3RvbS1zZWxlY3QtaW5wdXRcIiAjdHJpZ2dlcj5cbiAgPG1hdC1mb3JtLWZpZWxkXG4gICAgZG5kRHJvcHpvbmUgW2RuZEFsbG93RXh0ZXJuYWxdPVwidHJ1ZVwiIChkbmREcm9wKT1cIm9uRHJvcCgkZXZlbnQpXCJcbiAgICBjZGtPdmVybGF5T3JpZ2luICNvcmlnaW49XCJjZGtPdmVybGF5T3JpZ2luXCJcbiAgICAoY2xpY2spPVwiY2xpY2tlZCgpXCIgY2xhc3M9XCJjdXN0b20tc2VsZWN0LWNvbXBvbmVudFwiXG4gICAgW25nQ2xhc3NdPVwieydzZWxlY3Qtb3BlbicgOiBvcGVuZWR9XCIgYXBwZWFyYW5jZT1cIm91dGxpbmVcIiBhdXRvY29tcGxldGU9XCJvZmZcIj5cbiAgICA8bWF0LWxhYmVsICpuZ0lmPVwicGxhY2VIb2xkZXJcIj57e3BsYWNlSG9sZGVyfX08L21hdC1sYWJlbD5cbiAgICA8aW5wdXQgbWF0SW5wdXQgI2lucHV0XG4gICAgICAgICAgIChibHVyKT1cIm9uQmx1cigkZXZlbnQpXCJcbiAgICAgICAgICAgW3ZhbHVlXT1cInNlbGVjdGVkSXRlbUxhYmVsc1wiXG4gICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgIChrZXl1cCk9XCJrZXlQcmVzcygpXCJcbiAgICAgICAgICAgKGNsaWNrKT1cImNsaWNrZWQoKVwiXG4gICAgICAgICAgIGF1dG9jb21wbGV0ZT1cIm9mZlwiXG4gICAgLz5cbiAgICA8c3BhbiBjbGFzcz1cIm9wZW4taWNvblwiIChjbGljayk9XCJhcnJvd0NsaWNrKCRldmVudClcIj5cbiAgICAgICAgPGkgY2xhc3M9XCJmYXNcIiBbbmdDbGFzc109XCJ7J2ZhLWNhcmV0LWRvd24nIDogIW9wZW5lZCwgJ2ZhLWNhcmV0LXVwJyA6IG9wZW5lZH1cIj48L2k+XG4gICAgPC9zcGFuPlxuICA8L21hdC1mb3JtLWZpZWxkPlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwiY3VzdG9tLXNlbGVjdC1jb21wb25lbnRcIj5cbiAgPG5nLXRlbXBsYXRlIGNka0Nvbm5lY3RlZE92ZXJsYXlcbiAgICAgICAgICAgICAgIFtjZGtDb25uZWN0ZWRPdmVybGF5UGFuZWxDbGFzc109XCInY3VzdG9tLXNlbGVjdC1vdmVybGF5LXBhbmVsJ1wiXG4gICAgICAgICAgICAgICBbY2RrQ29ubmVjdGVkT3ZlcmxheVNjcm9sbFN0cmF0ZWd5XT1cInNjcm9sbFN0cmF0ZWd5XCJcbiAgICAgICAgICAgICAgIFtjZGtDb25uZWN0ZWRPdmVybGF5T3JpZ2luXT1cIm9yaWdpblwiXG4gICAgICAgICAgICAgICAoYmFja2Ryb3BDbGljayk9XCJjbG9zZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgIChvdmVybGF5T3V0c2lkZUNsaWNrKT1cImNsb3NlKCRldmVudClcIlxuICAgICAgICAgICAgICAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlPcGVuXT1cIm9wZW5lZFwiXG4gICAgICAgICAgICAgICBbY2RrQ29ubmVjdGVkT3ZlcmxheU1pbldpZHRoXT1cIl90cmlnZ2VyUmVjdD8ud2lkdGghXCI+XG4gICAgPHVsIGNsYXNzPVwidWwtYWNcIj5cbiAgICAgIDxsaSBjbGFzcz1cImxpLXNlYXJjaCBzZWFyY2gtaW5wdXQtaXRlbVwiPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJhcGlwYXNzLWlucHV0LXRleHQgc2VhcmNoLWlucHV0LWl0ZW1cIiBhcHBlYXJhbmNlPVwib3V0bGluZVwiPlxuICAgICAgICAgIDxtYXQtbGFiZWwgKm5nSWY9XCJmaW5kUGxhY2VIb2xkZXJcIj57e2ZpbmRQbGFjZUhvbGRlcn19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGNsYXNzPVwic2VhcmNoLWlucHV0LWl0ZW1cIlxuICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cInNlYXJjaFRleHRcIlxuICAgICAgICAgICAgICAgICAoYmx1cik9XCJvbkJsdXIoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgIGFyaWEtYXV0b2NvbXBsZXRlPVwibm9uZVwiXG4gICAgICAgICAgICAgICAgIGF1dG9jb21wbGV0ZT1cIm9mZlwiXG4gICAgICAgICAgLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgIDwvbGk+XG4gICAgICA8bGkgY2xhc3M9XCJjbGlja2FibGVcIiAqbmdGb3I9XCJsZXQgaSBvZiBpdGVtcyB8IHNlbGVjdEZpbHRlcjpzZWFyY2hUZXh0Oid0ZXh0J1wiXG4gICAgICAgICAgW25nQ2xhc3NdPVwieydzZWxlY3RlZCc6IGlzU2VsZWN0ZWQoaSl9XCJcbiAgICAgICAgICAoY2xpY2spPVwidG9nZ2xlU2VsZWN0SXRlbSgkZXZlbnQsIGkpXCI+XG4gICAgICAgIDxtYXQtY2hlY2tib3ggW2NoZWNrZWRdPVwiaXNTZWxlY3RlZChpKVwiIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7IHRvZ2dsZVNlbGVjdEl0ZW0oJGV2ZW50LCBpKVwiPlxuICAgICAgICAgIHt7aS50ZXh0fX1cbiAgICAgICAgPC9tYXQtY2hlY2tib3g+XG4gICAgICA8L2xpPlxuICAgIDwvdWw+XG4gIDwvbmctdGVtcGxhdGU+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import { AfterViewInit, ElementRef, EventEmitter } from '@angular/core';
|
|
2
|
-
import { ControlValueAccessor } from '@angular/forms';
|
|
3
|
-
import { CustomSelectItem } from '../custom-select/custom-select-item';
|
|
4
|
-
import { ScrollStrategy, ScrollStrategyOptions } from '@angular/cdk/overlay';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
export declare class MultipleSelectInterpolationComponent implements ControlValueAccessor, AfterViewInit {
|
|
7
|
-
private readonly sso;
|
|
8
|
-
private innerValue;
|
|
9
|
-
private edited;
|
|
10
|
-
scrollStrategy: ScrollStrategy;
|
|
11
|
-
_triggerRect: ClientRect | undefined;
|
|
12
|
-
selectedItems: CustomSelectItem[];
|
|
13
|
-
selectedItemLabels: string;
|
|
14
|
-
searchText: string;
|
|
15
|
-
opened: boolean;
|
|
16
|
-
disabled: boolean;
|
|
17
|
-
items: CustomSelectItem[];
|
|
18
|
-
placeHolder: string;
|
|
19
|
-
findPlaceHolder: string;
|
|
20
|
-
onSelect: EventEmitter<CustomSelectItem[]>;
|
|
21
|
-
trigger: ElementRef | undefined;
|
|
22
|
-
input: ElementRef | undefined;
|
|
23
|
-
constructor(sso: ScrollStrategyOptions);
|
|
24
|
-
tabindex: string;
|
|
25
|
-
onBlur(target: any): void;
|
|
26
|
-
ngAfterViewInit(): void;
|
|
27
|
-
setInitialState(): void;
|
|
28
|
-
private setTriggerRect;
|
|
29
|
-
toggleSelectItem(event: any, item: CustomSelectItem): void;
|
|
30
|
-
isSelected(item: CustomSelectItem): boolean;
|
|
31
|
-
keyPress(): any;
|
|
32
|
-
clicked($event?: Event): void;
|
|
33
|
-
open($event?: Event): void;
|
|
34
|
-
close($event?: Event): void;
|
|
35
|
-
private onTouchedCallback;
|
|
36
|
-
private onChangeCallback;
|
|
37
|
-
get value(): any[];
|
|
38
|
-
set value(value: any[]);
|
|
39
|
-
writeValue(value: any[]): void;
|
|
40
|
-
registerOnChange(fn: any): void;
|
|
41
|
-
registerOnTouched(fn: any): void;
|
|
42
|
-
setDisabledState(isDisabled: boolean): void;
|
|
43
|
-
arrowClick(event: any): void;
|
|
44
|
-
onDrop(event: any): void;
|
|
45
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<MultipleSelectInterpolationComponent, never>;
|
|
46
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<MultipleSelectInterpolationComponent, "multiple-select-interpolation", never, { "disabled": { "alias": "disabled"; "required": false; }; "items": { "alias": "items"; "required": false; }; "placeHolder": { "alias": "placeHolder"; "required": false; }; "findPlaceHolder": { "alias": "findPlaceHolder"; "required": false; }; }, { "onSelect": "onSelect"; }, never, never, false, never>;
|
|
47
|
-
}
|