ng-jvx-multiselect 1.1.28 → 1.1.30
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +48 -20
- package/esm2020/lib/directives/ng-jvx-disabled-option.directive.mjs +3 -3
- package/esm2020/lib/directives/ng-jvx-focus.directive.mjs +3 -3
- package/esm2020/lib/directives/ng-jvx-group-header.directive.mjs +3 -3
- package/esm2020/lib/directives/ng-jvx-options-template.directive.mjs +3 -3
- package/esm2020/lib/directives/ng-jvx-selection-template.directive.mjs +3 -3
- package/esm2020/lib/interfaces/ng-jvx-option-mapper.mjs +1 -1
- package/esm2020/lib/interfaces/ng-jvx-search-mapper.mjs +1 -1
- package/esm2020/lib/ng-jvx-multiselect.component.mjs +65 -29
- package/esm2020/lib/ng-jvx-multiselect.module.mjs +28 -24
- package/esm2020/lib/ng-jvx-multiselect.service.mjs +6 -4
- package/esm2020/lib/ng-jvx-option/ng-jvx-option.component.mjs +6 -6
- package/esm2020/lib/ng-jvx-panel/ng-jvx-panel.component.mjs +6 -6
- package/esm2020/lib/utils.mjs +4 -0
- package/esm2020/public-api.mjs +2 -1
- package/fesm2015/ng-jvx-multiselect.mjs +127 -82
- package/fesm2015/ng-jvx-multiselect.mjs.map +1 -1
- package/fesm2020/ng-jvx-multiselect.mjs +127 -82
- package/fesm2020/ng-jvx-multiselect.mjs.map +1 -1
- package/lib/directives/ng-jvx-disabled-option.directive.d.ts +1 -1
- package/lib/directives/ng-jvx-focus.directive.d.ts +1 -1
- package/lib/directives/ng-jvx-group-header.directive.d.ts +1 -1
- package/lib/directives/ng-jvx-options-template.directive.d.ts +1 -1
- package/lib/directives/ng-jvx-selection-template.directive.d.ts +1 -1
- package/lib/interfaces/ng-jvx-option-mapper.d.ts +6 -0
- package/lib/interfaces/ng-jvx-search-mapper.d.ts +1 -1
- package/lib/ng-jvx-multiselect.component.d.ts +12 -7
- package/lib/ng-jvx-multiselect.module.d.ts +3 -4
- package/lib/ng-jvx-option/ng-jvx-option.component.d.ts +1 -1
- package/lib/ng-jvx-panel/ng-jvx-panel.component.d.ts +1 -1
- package/lib/utils.d.ts +3 -0
- package/package.json +8 -8
- package/public-api.d.ts +1 -0
- package/src/lib/ng-jvx-multiselect.component.scss +23 -2
- package/lib/directives/ng-jvx-disabled-option.directive.d.ts.map +0 -1
- package/lib/directives/ng-jvx-focus.directive.d.ts.map +0 -1
- package/lib/directives/ng-jvx-group-header.directive.d.ts.map +0 -1
- package/lib/directives/ng-jvx-options-template.directive.d.ts.map +0 -1
- package/lib/directives/ng-jvx-selection-template.directive.d.ts.map +0 -1
- package/lib/interfaces/ng-jvx-group-mapper.d.ts.map +0 -1
- package/lib/interfaces/ng-jvx-option-mapper.d.ts.map +0 -1
- package/lib/interfaces/ng-jvx-search-mapper.d.ts.map +0 -1
- package/lib/ng-jvx-multiselect.component.d.ts.map +0 -1
- package/lib/ng-jvx-multiselect.module.d.ts.map +0 -1
- package/lib/ng-jvx-multiselect.service.d.ts.map +0 -1
- package/lib/ng-jvx-option/ng-jvx-option.component.d.ts.map +0 -1
- package/lib/ng-jvx-panel/ng-jvx-panel.component.d.ts.map +0 -1
- package/ng-jvx-multiselect.d.ts.map +0 -1
- package/public-api.d.ts.map +0 -1
- /package/{ng-jvx-multiselect.d.ts → index.d.ts} +0 -0
|
@@ -1,26 +1,26 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { Component, ViewChild, Input, Directive, Injectable, EventEmitter, forwardRef, ChangeDetectionStrategy, Optional, Self, HostBinding, ViewChildren, ContentChild, Output, ViewEncapsulation, Inject, NgModule } from '@angular/core';
|
|
3
|
-
import * as
|
|
4
|
-
import { MatListModule } from '@angular/material/list';
|
|
5
|
-
import * as i9 from '@angular/common';
|
|
3
|
+
import * as i4 from '@angular/common';
|
|
6
4
|
import { CommonModule } from '@angular/common';
|
|
5
|
+
import * as i2 from '@angular/material/list';
|
|
6
|
+
import { MatListModule } from '@angular/material/list';
|
|
7
7
|
import { Subject, fromEvent, of, noop, timer, forkJoin } from 'rxjs';
|
|
8
8
|
import { takeUntil, debounceTime, map, switchMap, tap, distinctUntilChanged } from 'rxjs/operators';
|
|
9
|
-
import * as i1
|
|
10
|
-
import { HttpParams, HttpHeaders
|
|
11
|
-
import * as i1$
|
|
12
|
-
import {
|
|
9
|
+
import * as i1 from '@angular/common/http';
|
|
10
|
+
import { HttpContextToken, HttpContext, HttpParams, HttpHeaders } from '@angular/common/http';
|
|
11
|
+
import * as i1$1 from '@angular/forms';
|
|
12
|
+
import { UntypedFormControl, ReactiveFormsModule, FormsModule } from '@angular/forms';
|
|
13
13
|
import { MatFormFieldControl } from '@angular/material/form-field';
|
|
14
14
|
import { coerceBooleanProperty } from '@angular/cdk/coercion';
|
|
15
15
|
import * as i3 from '@angular/material/menu';
|
|
16
16
|
import { _MatMenuBase, MAT_MENU_DEFAULT_OPTIONS, MAT_MENU_PANEL, MatMenu, matMenuAnimations, MatMenuModule } from '@angular/material/menu';
|
|
17
|
-
import * as
|
|
18
|
-
import { NgScrollbarModule } from 'ngx-scrollbar';
|
|
19
|
-
import * as i7 from '@angular/material/icon';
|
|
17
|
+
import * as i5 from '@angular/material/icon';
|
|
20
18
|
import { MatIconModule } from '@angular/material/icon';
|
|
21
|
-
import * as
|
|
19
|
+
import * as i7 from '@angular/material/chips';
|
|
22
20
|
import { MatChipsModule } from '@angular/material/chips';
|
|
23
|
-
import * as
|
|
21
|
+
import * as i8 from 'ngx-scrollbar';
|
|
22
|
+
import { NgScrollbarModule } from 'ngx-scrollbar';
|
|
23
|
+
import * as i9 from 'ngx-scrollbar/smooth-scroll';
|
|
24
24
|
import { SmoothScrollModule } from 'ngx-scrollbar/smooth-scroll';
|
|
25
25
|
import { MatButtonModule } from '@angular/material/button';
|
|
26
26
|
import { MatOptionModule } from '@angular/material/core';
|
|
@@ -41,11 +41,11 @@ class NgJvxOptionComponent {
|
|
|
41
41
|
this.listOption.selected = false;
|
|
42
42
|
}
|
|
43
43
|
}
|
|
44
|
-
NgJvxOptionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
45
|
-
NgJvxOptionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
46
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
44
|
+
NgJvxOptionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: NgJvxOptionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
45
|
+
NgJvxOptionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: NgJvxOptionComponent, selector: "ng-jvx-option", inputs: { value: "value" }, viewQueries: [{ propertyName: "listOption", first: true, predicate: ["listOption"], descendants: true, static: true }], ngImport: i0, template: "<mat-list-option [value]=\"value\" [ngClass]=\"{'ng-jvx-option': true, 'mat-list-single-selected-option': isSelected}\" #listOption>\r\n <ng-content></ng-content>\r\n <div class=\"list-option-background\"></div>\r\n</mat-list-option>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i2.MatListOption, selector: "mat-list-option", inputs: ["disableRipple", "checkboxPosition", "color", "value", "disabled", "selected"], outputs: ["selectedChange"], exportAs: ["matListOption"] }] });
|
|
46
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: NgJvxOptionComponent, decorators: [{
|
|
47
47
|
type: Component,
|
|
48
|
-
args: [{ selector: 'ng-jvx-option', template: "<mat-list-option [value]=\"value\" [ngClass]=\"{'ng-jvx-option': true, 'mat-list-single-selected-option': isSelected}\" #listOption>\r\n <ng-content></ng-content>\r\n <div class=\"list-option-background\"></div>\r\n</mat-list-option>\r\n"
|
|
48
|
+
args: [{ selector: 'ng-jvx-option', template: "<mat-list-option [value]=\"value\" [ngClass]=\"{'ng-jvx-option': true, 'mat-list-single-selected-option': isSelected}\" #listOption>\r\n <ng-content></ng-content>\r\n <div class=\"list-option-background\"></div>\r\n</mat-list-option>\r\n" }]
|
|
49
49
|
}], ctorParameters: function () { return []; }, propDecorators: { listOption: [{
|
|
50
50
|
type: ViewChild,
|
|
51
51
|
args: ['listOption', { static: true }]
|
|
@@ -65,9 +65,9 @@ class NgJvxOptionsTemplateDirective {
|
|
|
65
65
|
}
|
|
66
66
|
}
|
|
67
67
|
}
|
|
68
|
-
NgJvxOptionsTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
69
|
-
NgJvxOptionsTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "
|
|
70
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
68
|
+
NgJvxOptionsTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: NgJvxOptionsTemplateDirective, deps: [{ token: i0.ElementRef }, { token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
69
|
+
NgJvxOptionsTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.0.2", type: NgJvxOptionsTemplateDirective, selector: "[ngJvxOptionsTemplate]", inputs: { ngJvxOptionsTemplateOf: "ngJvxOptionsTemplateOf" }, ngImport: i0 });
|
|
70
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: NgJvxOptionsTemplateDirective, decorators: [{
|
|
71
71
|
type: Directive,
|
|
72
72
|
args: [{
|
|
73
73
|
// tslint:disable-next-line:directive-selector
|
|
@@ -88,9 +88,9 @@ class NgJvxSelectionTemplateDirective {
|
|
|
88
88
|
}
|
|
89
89
|
}
|
|
90
90
|
}
|
|
91
|
-
NgJvxSelectionTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
92
|
-
NgJvxSelectionTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "
|
|
93
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
91
|
+
NgJvxSelectionTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: NgJvxSelectionTemplateDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
92
|
+
NgJvxSelectionTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.0.2", type: NgJvxSelectionTemplateDirective, selector: "[ngJvxSelectionTemplate]", inputs: { ngJvxSelectionTemplateOf: "ngJvxSelectionTemplateOf" }, ngImport: i0 });
|
|
93
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: NgJvxSelectionTemplateDirective, decorators: [{
|
|
94
94
|
type: Directive,
|
|
95
95
|
args: [{
|
|
96
96
|
// tslint:disable-next-line:directive-selector
|
|
@@ -111,9 +111,9 @@ class NgJvxGroupHeaderDirective {
|
|
|
111
111
|
}
|
|
112
112
|
}
|
|
113
113
|
}
|
|
114
|
-
NgJvxGroupHeaderDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
115
|
-
NgJvxGroupHeaderDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "
|
|
116
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
114
|
+
NgJvxGroupHeaderDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: NgJvxGroupHeaderDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
115
|
+
NgJvxGroupHeaderDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.0.2", type: NgJvxGroupHeaderDirective, selector: "[ngJvxGroupHeader]", inputs: { ngJvxGroupHeaderOf: "ngJvxGroupHeaderOf" }, ngImport: i0 });
|
|
116
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: NgJvxGroupHeaderDirective, decorators: [{
|
|
117
117
|
type: Directive,
|
|
118
118
|
args: [{
|
|
119
119
|
// tslint:disable-next-line:directive-selector
|
|
@@ -156,9 +156,9 @@ class NgJvxDisabledOptionDirective {
|
|
|
156
156
|
this.unsubs.complete();
|
|
157
157
|
}
|
|
158
158
|
}
|
|
159
|
-
NgJvxDisabledOptionDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
160
|
-
NgJvxDisabledOptionDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "
|
|
161
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
159
|
+
NgJvxDisabledOptionDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: NgJvxDisabledOptionDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
160
|
+
NgJvxDisabledOptionDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.0.2", type: NgJvxDisabledOptionDirective, selector: "[ngJvxDisabledOption]", inputs: { ngJvxDisabledOption: "ngJvxDisabledOption" }, ngImport: i0 });
|
|
161
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: NgJvxDisabledOptionDirective, decorators: [{
|
|
162
162
|
type: Directive,
|
|
163
163
|
args: [{
|
|
164
164
|
// tslint:disable-next-line:directive-selector
|
|
@@ -168,6 +168,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImpor
|
|
|
168
168
|
type: Input
|
|
169
169
|
}] } });
|
|
170
170
|
|
|
171
|
+
const JVXMULTISELECT = new HttpContextToken(() => false);
|
|
172
|
+
const setJvxCall = () => new HttpContext().set(JVXMULTISELECT, true);
|
|
173
|
+
|
|
171
174
|
class NgJvxMultiselectService {
|
|
172
175
|
constructor(http) {
|
|
173
176
|
this.http = http;
|
|
@@ -184,6 +187,7 @@ class NgJvxMultiselectService {
|
|
|
184
187
|
const options = {
|
|
185
188
|
mode: 'no-cors',
|
|
186
189
|
headers: requestHeaders,
|
|
190
|
+
context: setJvxCall(),
|
|
187
191
|
// withCredentials: true,
|
|
188
192
|
// credentials: 'same-origin', // cache: 'default',
|
|
189
193
|
data,
|
|
@@ -197,14 +201,14 @@ class NgJvxMultiselectService {
|
|
|
197
201
|
}
|
|
198
202
|
}
|
|
199
203
|
}
|
|
200
|
-
NgJvxMultiselectService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
201
|
-
NgJvxMultiselectService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
202
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
204
|
+
NgJvxMultiselectService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: NgJvxMultiselectService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
205
|
+
NgJvxMultiselectService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: NgJvxMultiselectService, providedIn: 'root' });
|
|
206
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: NgJvxMultiselectService, decorators: [{
|
|
203
207
|
type: Injectable,
|
|
204
208
|
args: [{
|
|
205
209
|
providedIn: 'root'
|
|
206
210
|
}]
|
|
207
|
-
}], ctorParameters: function () { return [{ type: i1
|
|
211
|
+
}], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
|
|
208
212
|
|
|
209
213
|
class NgJvxFocusDirective {
|
|
210
214
|
constructor(el) {
|
|
@@ -221,9 +225,9 @@ class NgJvxFocusDirective {
|
|
|
221
225
|
}
|
|
222
226
|
}
|
|
223
227
|
}
|
|
224
|
-
NgJvxFocusDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
225
|
-
NgJvxFocusDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "
|
|
226
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
228
|
+
NgJvxFocusDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: NgJvxFocusDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
229
|
+
NgJvxFocusDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.0.2", type: NgJvxFocusDirective, selector: "[ngJvxFocus]", inputs: { ngJvxFocus: "ngJvxFocus" }, usesOnChanges: true, ngImport: i0 });
|
|
230
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: NgJvxFocusDirective, decorators: [{
|
|
227
231
|
type: Directive,
|
|
228
232
|
args: [{
|
|
229
233
|
// tslint:disable-next-line:directive-selector
|
|
@@ -263,11 +267,17 @@ class NgJvxMultiselectComponent {
|
|
|
263
267
|
this.totalRowsProp = '';
|
|
264
268
|
this.panelClass = '';
|
|
265
269
|
this.searchProp = 'search';
|
|
270
|
+
this.closeButton = false;
|
|
266
271
|
this.mapper = {
|
|
267
272
|
mapOption(source) {
|
|
268
273
|
return of(source);
|
|
269
274
|
}
|
|
270
275
|
};
|
|
276
|
+
this.multiMapper = {
|
|
277
|
+
mapOptions(source) {
|
|
278
|
+
return of(source);
|
|
279
|
+
}
|
|
280
|
+
};
|
|
271
281
|
this.searchMapper = {
|
|
272
282
|
mapSearch: (source, options) => {
|
|
273
283
|
return of(options.filter(o => o[this.itemText].toString().toLowerCase().includes(source.toString().toLowerCase())));
|
|
@@ -305,9 +315,9 @@ class NgJvxMultiselectComponent {
|
|
|
305
315
|
this.searchValue$ = this.searchValueSubject.asObservable();
|
|
306
316
|
this.pValue = [];
|
|
307
317
|
this.shouldLoadMore = true;
|
|
308
|
-
this.pageSize = 15;
|
|
309
318
|
this.unsubscribe = new Subject();
|
|
310
319
|
this.unsubscribe$ = this.unsubscribe.asObservable();
|
|
320
|
+
this.intPageSize = 15;
|
|
311
321
|
this.onTouched = () => {
|
|
312
322
|
};
|
|
313
323
|
if (this.ngControl != null) {
|
|
@@ -321,7 +331,7 @@ class NgJvxMultiselectComponent {
|
|
|
321
331
|
subscriber: '',
|
|
322
332
|
});
|
|
323
333
|
this.form = this.formBuilder.group({
|
|
324
|
-
selectionValue: new
|
|
334
|
+
selectionValue: new UntypedFormControl(this.selectionValue)
|
|
325
335
|
});
|
|
326
336
|
}
|
|
327
337
|
get shouldLabelFloat() {
|
|
@@ -355,6 +365,17 @@ class NgJvxMultiselectComponent {
|
|
|
355
365
|
this._disabled ? this.parts.disable() : this.parts.enable();
|
|
356
366
|
this.stateChanges.next();
|
|
357
367
|
}
|
|
368
|
+
get pageSize() {
|
|
369
|
+
return this.intPageSize;
|
|
370
|
+
}
|
|
371
|
+
set pageSize(val) {
|
|
372
|
+
if (val < 15) {
|
|
373
|
+
this.intPageSize = 15;
|
|
374
|
+
}
|
|
375
|
+
else {
|
|
376
|
+
this.intPageSize = val;
|
|
377
|
+
}
|
|
378
|
+
}
|
|
358
379
|
get errorState() {
|
|
359
380
|
if (this.ngControl != null) {
|
|
360
381
|
return this.ngControl.invalid && this.ngControl.touched;
|
|
@@ -367,6 +388,7 @@ class NgJvxMultiselectComponent {
|
|
|
367
388
|
this.stateChange$.pipe(takeUntil(this.unsubscribe)).subscribe(() => {
|
|
368
389
|
this.changeDetectorRef.markForCheck();
|
|
369
390
|
});
|
|
391
|
+
// this.setSelectableOptions(this.options).subscribe(noop);
|
|
370
392
|
this.selectableOptions = [...this.options];
|
|
371
393
|
this.updateOrderedOptions(this.selectableOptions).subscribe(noop);
|
|
372
394
|
fromEvent(window, 'resize').pipe(takeUntil(this.unsubscribe), debounceTime(100), map(() => {
|
|
@@ -404,10 +426,24 @@ class NgJvxMultiselectComponent {
|
|
|
404
426
|
else {
|
|
405
427
|
obs = of(this.options);
|
|
406
428
|
}
|
|
407
|
-
return obs.pipe(switchMap((val) => this.searchMapper.mapSearch(this.searchValue, val)),
|
|
429
|
+
return obs.pipe(switchMap((val) => this.searchMapper.mapSearch(this.searchValue, val)), switchMap((res) => {
|
|
430
|
+
// return this.setSelectableOptions(res);
|
|
408
431
|
this.selectableOptions = [];
|
|
409
432
|
this.selectableOptions.push(...res);
|
|
410
|
-
|
|
433
|
+
return this.updateOrderedOptions(this.selectableOptions);
|
|
434
|
+
}));
|
|
435
|
+
}
|
|
436
|
+
setSelectableOptions(options) {
|
|
437
|
+
this.selectableOptions = [];
|
|
438
|
+
const obs = options.reduce((acc, curr) => {
|
|
439
|
+
acc.push(this.mapper.mapOption(curr));
|
|
440
|
+
return acc;
|
|
441
|
+
}, []);
|
|
442
|
+
// this.mapper.mapOption(option);
|
|
443
|
+
return forkJoin([...obs]).pipe(switchMap((val) => {
|
|
444
|
+
this.selectableOptions.push(...val);
|
|
445
|
+
return this.updateOrderedOptions(this.selectableOptions);
|
|
446
|
+
}));
|
|
411
447
|
}
|
|
412
448
|
serverSearch() {
|
|
413
449
|
this.shouldLoadMore = true;
|
|
@@ -436,8 +472,8 @@ class NgJvxMultiselectComponent {
|
|
|
436
472
|
}
|
|
437
473
|
ngOnChanges(changes) {
|
|
438
474
|
if (changes.options) {
|
|
475
|
+
// this.setSelectableOptions(this.options).subscribe(noop);
|
|
439
476
|
this.selectableOptions = [...this.options];
|
|
440
|
-
this.updateOrderedOptions(this.selectableOptions).subscribe(noop);
|
|
441
477
|
}
|
|
442
478
|
}
|
|
443
479
|
get selectionValue() {
|
|
@@ -471,9 +507,7 @@ class NgJvxMultiselectComponent {
|
|
|
471
507
|
onChange(e) {
|
|
472
508
|
let vals = e.source.selectedOptions.selected.map(o => o.value);
|
|
473
509
|
vals = this.selectableOptions.filter(o => vals.includes(o[this.itemValue]));
|
|
474
|
-
console.log(vals);
|
|
475
510
|
const selectableIds = this.selectableOptions.map(s => s[this.itemValue]);
|
|
476
|
-
console.log(selectableIds);
|
|
477
511
|
if (this.multi) {
|
|
478
512
|
// if search is active, probably some of the already selected values are not included in the selectable options,
|
|
479
513
|
// so we have to push them in the selected values of the list;
|
|
@@ -487,7 +521,6 @@ class NgJvxMultiselectComponent {
|
|
|
487
521
|
return typeof a[this.itemValue] === 'string' ?
|
|
488
522
|
a[this.itemValue].localeCompare(b[this.itemValue]) : a[this.itemValue] - b[this.itemValue];
|
|
489
523
|
});
|
|
490
|
-
console.log(vals);
|
|
491
524
|
this.value = [...vals];
|
|
492
525
|
this.form.get('selectionValue').setValue(this.value.map(v => v[this.itemValue]));
|
|
493
526
|
this.valueChange.emit(this.value);
|
|
@@ -566,8 +599,8 @@ class NgJvxMultiselectComponent {
|
|
|
566
599
|
requestHeaders: this.requestHeaders,
|
|
567
600
|
search: this.searchValue,
|
|
568
601
|
searchProp: this.searchProp,
|
|
569
|
-
pageSize: this.
|
|
570
|
-
}).pipe(switchMap((val) => {
|
|
602
|
+
pageSize: this.intPageSize
|
|
603
|
+
}).pipe(switchMap((val) => this.multiMapper.mapOptions(val)), switchMap((val) => {
|
|
571
604
|
let result = [];
|
|
572
605
|
if (this.listProp.length > 0) {
|
|
573
606
|
result = [...val[this.listProp]];
|
|
@@ -578,7 +611,7 @@ class NgJvxMultiselectComponent {
|
|
|
578
611
|
if (result.length === 0) {
|
|
579
612
|
this.shouldLoadMore = false;
|
|
580
613
|
this.isLoading = false;
|
|
581
|
-
return
|
|
614
|
+
return of([]);
|
|
582
615
|
}
|
|
583
616
|
else {
|
|
584
617
|
const newOptions = [];
|
|
@@ -595,8 +628,9 @@ class NgJvxMultiselectComponent {
|
|
|
595
628
|
this.isLoading = false;
|
|
596
629
|
this.trigger.openMenu();
|
|
597
630
|
this.setSelectionContainerSize();
|
|
598
|
-
this.changeDetectorRef.markForCheck();
|
|
599
631
|
return val;
|
|
632
|
+
}), tap(() => {
|
|
633
|
+
this.changeDetectorRef.markForCheck();
|
|
600
634
|
}));
|
|
601
635
|
}
|
|
602
636
|
onScrolled(e) {
|
|
@@ -681,15 +715,15 @@ class NgJvxMultiselectComponent {
|
|
|
681
715
|
}
|
|
682
716
|
}
|
|
683
717
|
NgJvxMultiselectComponent.nextId = 0;
|
|
684
|
-
NgJvxMultiselectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
685
|
-
NgJvxMultiselectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
718
|
+
NgJvxMultiselectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: NgJvxMultiselectComponent, deps: [{ token: i1$1.UntypedFormBuilder }, { token: NgJvxMultiselectService }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1$1.NgControl, optional: true, self: true }, { token: i1$1.UntypedFormBuilder }], target: i0.ɵɵFactoryTarget.Component });
|
|
719
|
+
NgJvxMultiselectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: NgJvxMultiselectComponent, selector: "ng-jvx-multiselect", inputs: { options: "options", multi: "multi", url: "url", requestType: "requestType", itemValue: "itemValue", itemText: "itemText", ignorePagination: "ignorePagination", clearable: "clearable", closeOnClick: "closeOnClick", hasErrors: "hasErrors", searchMode: "searchMode", searchInput: "searchInput", searchLabel: "searchLabel", listProp: "listProp", totalRowsProp: "totalRowsProp", panelClass: "panelClass", searchProp: "searchProp", closeButton: "closeButton", mapper: "mapper", multiMapper: "multiMapper", searchMapper: "searchMapper", groupBy: "groupBy", value: "value", requestHeaders: "requestHeaders", required: "required", disabled: "disabled", pageSize: "pageSize" }, outputs: { valueChange: "valueChange", jvxMultiselectOpen: "jvxMultiselectOpen", jvxMultiselectOpened: "jvxMultiselectOpened", jvxMultiselectClose: "jvxMultiselectClose", jvxMultiselectClosed: "jvxMultiselectClosed", scrollEnd: "scrollEnd" }, host: { properties: { "id": "this.id", "class.floating": "this.shouldLabelFloat" } }, providers: [
|
|
686
720
|
{
|
|
687
721
|
provide: MatFormFieldControl,
|
|
688
722
|
useExisting: forwardRef(() => NgJvxMultiselectComponent),
|
|
689
723
|
multi: true,
|
|
690
724
|
}
|
|
691
|
-
], queries: [{ propertyName: "optionsTemplate", first: true, predicate: NgJvxOptionsTemplateDirective, descendants: true }, { propertyName: "selectionTemplate", first: true, predicate: NgJvxSelectionTemplateDirective, descendants: true }, { propertyName: "groupHeaderTemplate", first: true, predicate: NgJvxGroupHeaderDirective, descendants: true }], viewQueries: [{ propertyName: "jvxMultiselect", first: true, predicate: ["jvxMultiselect"], descendants: true, static: true }, { propertyName: "selectionContainer", first: true, predicate: ["selectionContainer"], descendants: true }, { propertyName: "selection", first: true, predicate: ["selection"], descendants: true, static: true }, { propertyName: "trigger", first: true, predicate: ["trigger"], descendants: true, static: true }, { propertyName: "scrollbar", first: true, predicate: ["scrollbar"], descendants: true }, { propertyName: "multiContainer", first: true, predicate: ["multiContainer"], descendants: true }, { propertyName: "optionComp", predicate: NgJvxOptionComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"ng-jvx-multiselect\" [ngClass]=\"{'disabled': disabled, 'has-errors': hasErrors}\" #jvxMultiselect>\r\n <!-- START MENU -->\r\n <div [matMenuTriggerFor]=\"menuRef\" (onMenuOpen)=\"onMenuOpen()\" (menuOpened)=\"onMenuOpened()\"\r\n (onMenuClose)=\"onMenuClose()\" (menuClosed)=\"onMenuClosed()\"\r\n #trigger=\"matMenuTrigger\">\r\n <mat-menu #menuRef=\"matMenu\" [class]=\"['jvx-multiselect-panel', panelClass].join(' ')\" [formGroup]=\"form\"\r\n\r\n [yPosition]=\"yPosition\">\r\n <div class=\"menu-list-container\"\r\n #menuLIstContainer\r\n [ngStyle]=\"{'overflow-y': 'hidden', 'width': listContainerSize.width, 'max-height': '260px', 'height': listContainerSize.height, 'min-height': listContainerSize.minHeight}\">\r\n <div class=\"search-input-container\" *ngIf=\"!!searchInput\" (click)=\"onSearchInputClick($event)\">\r\n <input type=\"text\" [placeholder]=\"searchLabel\" [ngModel]=\"searchValue\" [ngModelOptions]=\"{standalone: true}\"\r\n [ngJvxFocus]=\"isOpen\"\r\n (input)=\"onSearchValueChange($event)\"/>\r\n </div>\r\n <div [ngStyle]=\"{height: searchInput && selectionContainer.clientHeight > 220 || selectionContainer.clientHeight > 260? 260 - (searchInput? 40 : 0) + 'px': 'auto'}\">\r\n <ng-scrollbar style=\"width: 100%\"\r\n smoothScroll\r\n [visibility]=\"'hover'\"\r\n [appearance]=\"'compact'\"\r\n [sensorDisabled]=\"isLoading\"\r\n [autoHeightDisabled]=\"false\" #scrollbar>\r\n <div #selectionContainer (click)=\"onCLickOnMenu($event)\">\r\n <mat-selection-list #selection [multiple]=\"multi\"\r\n *ngIf=\"showList\"\r\n [ngStyle]=\"{'padding': 0, 'width': listContainerSize.width, 'min-width.px': 112}\"\r\n (selectionChange)=\"onChange($event)\"\r\n formControlName=\"selectionValue\">\r\n <ng-content></ng-content>\r\n <ng-container *ngIf=\"!!groupBy\">\r\n <ng-container *ngFor=\"let opt of orderedOptions\">\r\n <ng-container [ngTemplateOutlet]=\"groupHeaderTemplate? groupHeaderTemplate.template: defaultGroupHeaderTemplate\" [ngTemplateOutletContext]=\"{$implicit: opt}\"></ng-container>\r\n\r\n <ng-jvx-option *ngFor=\"let option of opt.options\" [value]=\"option[itemValue]\">\r\n <!-- <ng-container [ngTemplateOutlet]=\"optionsTemplate\" [ngTemplateOutletContext]=\"{$implicit: option}\"></ng-container>-->\r\n <span style=\"padding-inline: 10px\">\r\n <ng-container [ngTemplateOutlet]=\"optionsTemplate? optionsTemplate.template : defaultTemplate\"\r\n [ngTemplateOutletContext]=\"{$implicit: option}\"></ng-container>\r\n </span>\r\n </ng-jvx-option>\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"!groupBy || groupBy.length === 0\">\r\n <ng-jvx-option *ngFor=\"let option of selectableOptions\" [value]=\"option[itemValue]\">\r\n <!-- <ng-container [ngTemplateOutlet]=\"optionsTemplate\" [ngTemplateOutletContext]=\"{$implicit: option}\"></ng-container>-->\r\n <ng-container [ngTemplateOutlet]=\"optionsTemplate? optionsTemplate.template : defaultTemplate\"\r\n [ngTemplateOutletContext]=\"{$implicit: option}\"></ng-container>\r\n </ng-jvx-option>\r\n </ng-container>\r\n </mat-selection-list>\r\n </div>\r\n </ng-scrollbar>\r\n </div>\r\n\r\n </div>\r\n <div class=\"menu-footer\">\r\n <ng-content select=\"[ng-jvx-footer]\"></ng-content>\r\n </div>\r\n\r\n </mat-menu>\r\n </div>\r\n <!-- END MENU -->\r\n <!-- START INPUT -->\r\n <div [ngClass]=\"{'ng-jvx-multiselect-value-container': true, 'is-open': isOpen}\"\r\n (click)=\"clickOnMenuTrigger($event)\"\r\n #valueContainer>\r\n\r\n <div class=\"ng-jvx-multiselect__placeholder\" *ngIf=\"value.length === 0\">\r\n <ng-content select=\"[placeholder]\"></ng-content>\r\n </div>\r\n\r\n <div class=\"ng-jvx-multiselect-value multi-value-container\" *ngIf=\"multi\" #multiContainer>\r\n\r\n <ng-container [ngTemplateOutlet]=\"selectionTemplate? selectionTemplate.template : defaultMultiSelectionTemplate\"\r\n [ngTemplateOutletContext]=\"{$implicit: value}\"></ng-container>\r\n\r\n\r\n </div>\r\n\r\n <div class=\"ng-jvx-multiselect-value single-value-container\" *ngIf=\"!multi\">\r\n <div *ngFor=\"let val of value\" style=\"width: 100%;\">\r\n <ng-container [ngTemplateOutlet]=\"selectionTemplate? selectionTemplate.template : defaultSelectionTemplate\"\r\n [ngTemplateOutletContext]=\"{$implicit: val}\"></ng-container></div>\r\n </div>\r\n <div class=\"ng-jvx-multiselect__remove-button\" *ngIf=\"clearable && value.length > 0\" (click)=\"clear($event)\">\r\n <mat-icon style=\"font-size: 18px;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\">clear\r\n </mat-icon>\r\n </div>\r\n <div class=\"ng-jvx-multiselect-arrow\">\r\n <mat-icon *ngIf=\"!isLoading\">expand_more</mat-icon>\r\n <div *ngIf=\"isLoading\" class=\"lds-ring\">\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- END INPUT -->\r\n</div>\r\n<ng-template #defaultTemplate let-option>\r\n <div style=\"max-width: 100%;\r\n white-space: nowrap;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\">{{option[itemText]}}\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #defaultSelectionTemplate let-value>\r\n {{value[itemText]}}\r\n</ng-template>\r\n\r\n<ng-template #defaultMultiSelectionTemplate let-value>\r\n <mat-chip-list #chipList [disabled]=\"this.disabled\">\r\n <mat-chip [color]=\"'primary'\" selected *ngFor=\"let val of value\" [selectable]=\"false\"\r\n class=\"ng-jvx-multiselect-chip\"\r\n [removable]=\"true\" (removed)=\"deselect(val)\">\r\n <span class=\"chip-content\"\r\n [ngStyle]=\"{'max-width': multiContainerWidth - 50 +'px'}\">{{val[itemText]}}</span>\r\n\r\n <mat-icon matChipRemove>cancel</mat-icon>\r\n </mat-chip>\r\n </mat-chip-list>\r\n</ng-template>\r\n<ng-template #defaultGroupHeaderTemplate let-opt>\r\n <div style=\"padding-inline: 15px\"><strong>{{opt.group}}</strong></div>\r\n</ng-template>\r\n", styles: [""], components: [{ type: i3.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i4.NgScrollbar, selector: "ng-scrollbar", inputs: ["disabled", "sensorDisabled", "pointerEventsDisabled", "viewportPropagateMouseMove", "autoHeightDisabled", "autoWidthDisabled", "viewClass", "trackClass", "thumbClass", "minThumbSize", "trackClickScrollDuration", "pointerEventsMethod", "track", "visibility", "appearance", "position", "sensorDebounce", "scrollAuditTime"], outputs: ["updated"], exportAs: ["ngScrollbar"] }, { type: i1.MatSelectionList, selector: "mat-selection-list", inputs: ["disableRipple", "tabIndex", "color", "compareWith", "disabled", "multiple"], outputs: ["selectionChange"], exportAs: ["matSelectionList"] }, { type: NgJvxOptionComponent, selector: "ng-jvx-option", inputs: ["value"] }, { type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i8.MatChipList, selector: "mat-chip-list", inputs: ["errorStateMatcher", "multiple", "compareWith", "value", "required", "placeholder", "disabled", "aria-orientation", "selectable", "tabIndex"], outputs: ["change", "valueChange"], exportAs: ["matChipList"] }], directives: [{ type: i9.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i9.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: NgJvxFocusDirective, selector: "[ngJvxFocus]", inputs: ["ngJvxFocus"] }, { type: i11.SmoothScroll, selector: "[smoothScroll], [smooth-scroll]", exportAs: ["smoothScroll"] }, { type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { type: i9.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i9.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i8.MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["color", "disableRipple", "tabIndex", "selected", "value", "selectable", "disabled", "removable"], outputs: ["selectionChange", "destroyed", "removed"], exportAs: ["matChip"] }, { type: i8.MatChipRemove, selector: "[matChipRemove]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
692
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
725
|
+
], queries: [{ propertyName: "optionsTemplate", first: true, predicate: NgJvxOptionsTemplateDirective, descendants: true }, { propertyName: "selectionTemplate", first: true, predicate: NgJvxSelectionTemplateDirective, descendants: true }, { propertyName: "groupHeaderTemplate", first: true, predicate: NgJvxGroupHeaderDirective, descendants: true }], viewQueries: [{ propertyName: "jvxMultiselect", first: true, predicate: ["jvxMultiselect"], descendants: true, static: true }, { propertyName: "selectionContainer", first: true, predicate: ["selectionContainer"], descendants: true }, { propertyName: "selection", first: true, predicate: ["selection"], descendants: true, static: true }, { propertyName: "trigger", first: true, predicate: ["trigger"], descendants: true, static: true }, { propertyName: "scrollbar", first: true, predicate: ["scrollbar"], descendants: true }, { propertyName: "multiContainer", first: true, predicate: ["multiContainer"], descendants: true }, { propertyName: "optionComp", predicate: NgJvxOptionComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"ng-jvx-multiselect\" [ngClass]=\"{'disabled': disabled, 'has-errors': hasErrors}\" #jvxMultiselect>\r\n <!-- START MENU -->\r\n <div [matMenuTriggerFor]=\"menuRef\" (onMenuOpen)=\"onMenuOpen()\" (menuOpened)=\"onMenuOpened()\"\r\n (onMenuClose)=\"onMenuClose()\" (menuClosed)=\"onMenuClosed()\"\r\n #trigger=\"matMenuTrigger\">\r\n <mat-menu #menuRef=\"matMenu\" [class]=\"['jvx-multiselect-panel', panelClass].join(' ')\" [formGroup]=\"form\"\r\n [yPosition]=\"yPosition\">\r\n <div *ngIf=\"closeButton\" class=\"closeMenuButton\"><mat-icon >close</mat-icon></div>\r\n <div class=\"menu-list-container\"\r\n #menuLIstContainer\r\n [ngStyle]=\"{'overflow-y': 'hidden', 'width': listContainerSize.width, 'max-height': '260px', 'height': listContainerSize.height, 'min-height': listContainerSize.minHeight}\">\r\n\r\n <div class=\"search-input-container\" *ngIf=\"!!searchInput\" (click)=\"onSearchInputClick($event)\">\r\n <input type=\"text\" [placeholder]=\"searchLabel\" [ngModel]=\"searchValue\" [ngModelOptions]=\"{standalone: true}\"\r\n [ngJvxFocus]=\"isOpen\"\r\n (input)=\"onSearchValueChange($event)\"/>\r\n </div>\r\n <div [ngStyle]=\"{height: searchInput && selectionContainer.clientHeight > 220 || selectionContainer.clientHeight > 260? 260 - (searchInput? 40 : 0) + 'px': 'auto'}\">\r\n <ng-scrollbar style=\"width: 100%\"\r\n smoothScroll\r\n [visibility]=\"'hover'\"\r\n [appearance]=\"'compact'\"\r\n [sensorDisabled]=\"isLoading\"\r\n [autoHeightDisabled]=\"false\" #scrollbar>\r\n <div #selectionContainer (click)=\"onCLickOnMenu($event)\">\r\n <mat-selection-list #selection [multiple]=\"multi\"\r\n *ngIf=\"showList\"\r\n [ngStyle]=\"{'padding': 0, 'width': listContainerSize.width, 'min-width.px': 112}\"\r\n (selectionChange)=\"onChange($event)\"\r\n formControlName=\"selectionValue\">\r\n <ng-content></ng-content>\r\n <ng-container *ngIf=\"!!groupBy\">\r\n <ng-container *ngFor=\"let opt of orderedOptions\">\r\n <ng-container [ngTemplateOutlet]=\"groupHeaderTemplate? groupHeaderTemplate.template: defaultGroupHeaderTemplate\" [ngTemplateOutletContext]=\"{$implicit: opt}\"></ng-container>\r\n\r\n <ng-jvx-option *ngFor=\"let option of opt.options\" [value]=\"option[itemValue]\">\r\n <!-- <ng-container [ngTemplateOutlet]=\"optionsTemplate\" [ngTemplateOutletContext]=\"{$implicit: option}\"></ng-container>-->\r\n <span style=\"padding-inline: 10px\">\r\n <ng-container [ngTemplateOutlet]=\"optionsTemplate? optionsTemplate.template : defaultTemplate\"\r\n [ngTemplateOutletContext]=\"{$implicit: option}\"></ng-container>\r\n </span>\r\n </ng-jvx-option>\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"!groupBy || groupBy.length === 0\">\r\n <ng-jvx-option *ngFor=\"let option of selectableOptions\" [value]=\"option[itemValue]\">\r\n <!-- <ng-container [ngTemplateOutlet]=\"optionsTemplate\" [ngTemplateOutletContext]=\"{$implicit: option}\"></ng-container>-->\r\n <ng-container [ngTemplateOutlet]=\"optionsTemplate? optionsTemplate.template : defaultTemplate\"\r\n [ngTemplateOutletContext]=\"{$implicit: option}\"></ng-container>\r\n </ng-jvx-option>\r\n </ng-container>\r\n </mat-selection-list>\r\n </div>\r\n </ng-scrollbar>\r\n </div>\r\n\r\n </div>\r\n <div class=\"menu-footer\">\r\n <ng-content select=\"[ng-jvx-footer]\"></ng-content>\r\n </div>\r\n\r\n </mat-menu>\r\n </div>\r\n <!-- END MENU -->\r\n <!-- START INPUT -->\r\n <div [ngClass]=\"{'ng-jvx-multiselect-value-container': true, 'is-open': isOpen}\"\r\n (click)=\"clickOnMenuTrigger($event)\"\r\n #valueContainer>\r\n\r\n <div class=\"ng-jvx-multiselect__placeholder\" *ngIf=\"value.length === 0\">\r\n <ng-content select=\"[placeholder]\"></ng-content>\r\n </div>\r\n\r\n <div class=\"ng-jvx-multiselect-value multi-value-container\" *ngIf=\"multi\" #multiContainer>\r\n\r\n <ng-container [ngTemplateOutlet]=\"selectionTemplate? selectionTemplate.template : defaultMultiSelectionTemplate\"\r\n [ngTemplateOutletContext]=\"{$implicit: value}\"></ng-container>\r\n\r\n\r\n </div>\r\n\r\n <div class=\"ng-jvx-multiselect-value single-value-container\" *ngIf=\"!multi\">\r\n <div *ngFor=\"let val of value\" style=\"width: 100%;\">\r\n <ng-container [ngTemplateOutlet]=\"selectionTemplate? selectionTemplate.template : defaultSelectionTemplate\"\r\n [ngTemplateOutletContext]=\"{$implicit: val}\"></ng-container></div>\r\n </div>\r\n <div class=\"ng-jvx-multiselect__remove-button\" *ngIf=\"clearable && value.length > 0\" (click)=\"clear($event)\">\r\n <mat-icon style=\"font-size: 18px;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\">clear\r\n </mat-icon>\r\n </div>\r\n <div class=\"ng-jvx-multiselect-arrow\">\r\n <mat-icon *ngIf=\"!isLoading\">expand_more</mat-icon>\r\n <div *ngIf=\"isLoading\" class=\"lds-ring\">\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- END INPUT -->\r\n</div>\r\n<ng-template #defaultTemplate let-option>\r\n <div style=\"max-width: 100%;\r\n white-space: nowrap;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\">{{option[itemText]}}\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #defaultSelectionTemplate let-value>\r\n {{value[itemText]}}\r\n</ng-template>\r\n\r\n<ng-template #defaultMultiSelectionTemplate let-value>\r\n <mat-chip-list #chipList [disabled]=\"this.disabled\">\r\n <mat-chip [color]=\"'primary'\" selected *ngFor=\"let val of value\" [selectable]=\"false\"\r\n class=\"ng-jvx-multiselect-chip\"\r\n [removable]=\"true\" (removed)=\"deselect(val)\">\r\n <span class=\"chip-content\"\r\n [ngStyle]=\"{'max-width': multiContainerWidth - 50 +'px'}\">{{val[itemText]}}</span>\r\n\r\n <mat-icon matChipRemove>cancel</mat-icon>\r\n </mat-chip>\r\n </mat-chip-list>\r\n</ng-template>\r\n<ng-template #defaultGroupHeaderTemplate let-opt>\r\n <div style=\"padding-inline: 15px\"><strong>{{opt.group}}</strong></div>\r\n</ng-template>\r\n", styles: [""], dependencies: [{ kind: "component", type: i3.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "directive", type: i3.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i4.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i2.MatSelectionList, selector: "mat-selection-list", inputs: ["disableRipple", "color", "compareWith", "disabled", "multiple"], outputs: ["selectionChange"], exportAs: ["matSelectionList"] }, { kind: "component", type: i7.MatChipList, selector: "mat-chip-list", inputs: ["role", "aria-describedby", "errorStateMatcher", "multiple", "compareWith", "value", "required", "placeholder", "disabled", "aria-orientation", "selectable", "tabIndex"], outputs: ["change", "valueChange"], exportAs: ["matChipList"] }, { kind: "directive", type: i7.MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["color", "disableRipple", "tabIndex", "role", "selected", "value", "selectable", "disabled", "removable"], outputs: ["selectionChange", "destroyed", "removed"], exportAs: ["matChip"] }, { kind: "directive", type: i7.MatChipRemove, selector: "[matChipRemove]" }, { kind: "directive", type: i1$1.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: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i8.NgScrollbar, selector: "ng-scrollbar", inputs: ["disabled", "sensorDisabled", "pointerEventsDisabled", "viewportPropagateMouseMove", "autoHeightDisabled", "autoWidthDisabled", "viewClass", "trackClass", "thumbClass", "minThumbSize", "trackClickScrollDuration", "pointerEventsMethod", "track", "visibility", "appearance", "position", "sensorDebounce", "scrollAuditTime"], outputs: ["updated"], exportAs: ["ngScrollbar"] }, { kind: "directive", type: i9.SmoothScroll, selector: "[smoothScroll], [smooth-scroll]", exportAs: ["smoothScroll"] }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: NgJvxOptionComponent, selector: "ng-jvx-option", inputs: ["value"] }, { kind: "directive", type: NgJvxFocusDirective, selector: "[ngJvxFocus]", inputs: ["ngJvxFocus"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
726
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: NgJvxMultiselectComponent, decorators: [{
|
|
693
727
|
type: Component,
|
|
694
728
|
args: [{ selector: 'ng-jvx-multiselect', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
695
729
|
{
|
|
@@ -697,12 +731,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImpor
|
|
|
697
731
|
useExisting: forwardRef(() => NgJvxMultiselectComponent),
|
|
698
732
|
multi: true,
|
|
699
733
|
}
|
|
700
|
-
], template: "<div class=\"ng-jvx-multiselect\" [ngClass]=\"{'disabled': disabled, 'has-errors': hasErrors}\" #jvxMultiselect>\r\n <!-- START MENU -->\r\n <div [matMenuTriggerFor]=\"menuRef\" (onMenuOpen)=\"onMenuOpen()\" (menuOpened)=\"onMenuOpened()\"\r\n (onMenuClose)=\"onMenuClose()\" (menuClosed)=\"onMenuClosed()\"\r\n #trigger=\"matMenuTrigger\">\r\n <mat-menu #menuRef=\"matMenu\" [class]=\"['jvx-multiselect-panel', panelClass].join(' ')\" [formGroup]=\"form\"\r\n
|
|
701
|
-
}], ctorParameters: function () { return [{ type: i1$
|
|
734
|
+
], template: "<div class=\"ng-jvx-multiselect\" [ngClass]=\"{'disabled': disabled, 'has-errors': hasErrors}\" #jvxMultiselect>\r\n <!-- START MENU -->\r\n <div [matMenuTriggerFor]=\"menuRef\" (onMenuOpen)=\"onMenuOpen()\" (menuOpened)=\"onMenuOpened()\"\r\n (onMenuClose)=\"onMenuClose()\" (menuClosed)=\"onMenuClosed()\"\r\n #trigger=\"matMenuTrigger\">\r\n <mat-menu #menuRef=\"matMenu\" [class]=\"['jvx-multiselect-panel', panelClass].join(' ')\" [formGroup]=\"form\"\r\n [yPosition]=\"yPosition\">\r\n <div *ngIf=\"closeButton\" class=\"closeMenuButton\"><mat-icon >close</mat-icon></div>\r\n <div class=\"menu-list-container\"\r\n #menuLIstContainer\r\n [ngStyle]=\"{'overflow-y': 'hidden', 'width': listContainerSize.width, 'max-height': '260px', 'height': listContainerSize.height, 'min-height': listContainerSize.minHeight}\">\r\n\r\n <div class=\"search-input-container\" *ngIf=\"!!searchInput\" (click)=\"onSearchInputClick($event)\">\r\n <input type=\"text\" [placeholder]=\"searchLabel\" [ngModel]=\"searchValue\" [ngModelOptions]=\"{standalone: true}\"\r\n [ngJvxFocus]=\"isOpen\"\r\n (input)=\"onSearchValueChange($event)\"/>\r\n </div>\r\n <div [ngStyle]=\"{height: searchInput && selectionContainer.clientHeight > 220 || selectionContainer.clientHeight > 260? 260 - (searchInput? 40 : 0) + 'px': 'auto'}\">\r\n <ng-scrollbar style=\"width: 100%\"\r\n smoothScroll\r\n [visibility]=\"'hover'\"\r\n [appearance]=\"'compact'\"\r\n [sensorDisabled]=\"isLoading\"\r\n [autoHeightDisabled]=\"false\" #scrollbar>\r\n <div #selectionContainer (click)=\"onCLickOnMenu($event)\">\r\n <mat-selection-list #selection [multiple]=\"multi\"\r\n *ngIf=\"showList\"\r\n [ngStyle]=\"{'padding': 0, 'width': listContainerSize.width, 'min-width.px': 112}\"\r\n (selectionChange)=\"onChange($event)\"\r\n formControlName=\"selectionValue\">\r\n <ng-content></ng-content>\r\n <ng-container *ngIf=\"!!groupBy\">\r\n <ng-container *ngFor=\"let opt of orderedOptions\">\r\n <ng-container [ngTemplateOutlet]=\"groupHeaderTemplate? groupHeaderTemplate.template: defaultGroupHeaderTemplate\" [ngTemplateOutletContext]=\"{$implicit: opt}\"></ng-container>\r\n\r\n <ng-jvx-option *ngFor=\"let option of opt.options\" [value]=\"option[itemValue]\">\r\n <!-- <ng-container [ngTemplateOutlet]=\"optionsTemplate\" [ngTemplateOutletContext]=\"{$implicit: option}\"></ng-container>-->\r\n <span style=\"padding-inline: 10px\">\r\n <ng-container [ngTemplateOutlet]=\"optionsTemplate? optionsTemplate.template : defaultTemplate\"\r\n [ngTemplateOutletContext]=\"{$implicit: option}\"></ng-container>\r\n </span>\r\n </ng-jvx-option>\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"!groupBy || groupBy.length === 0\">\r\n <ng-jvx-option *ngFor=\"let option of selectableOptions\" [value]=\"option[itemValue]\">\r\n <!-- <ng-container [ngTemplateOutlet]=\"optionsTemplate\" [ngTemplateOutletContext]=\"{$implicit: option}\"></ng-container>-->\r\n <ng-container [ngTemplateOutlet]=\"optionsTemplate? optionsTemplate.template : defaultTemplate\"\r\n [ngTemplateOutletContext]=\"{$implicit: option}\"></ng-container>\r\n </ng-jvx-option>\r\n </ng-container>\r\n </mat-selection-list>\r\n </div>\r\n </ng-scrollbar>\r\n </div>\r\n\r\n </div>\r\n <div class=\"menu-footer\">\r\n <ng-content select=\"[ng-jvx-footer]\"></ng-content>\r\n </div>\r\n\r\n </mat-menu>\r\n </div>\r\n <!-- END MENU -->\r\n <!-- START INPUT -->\r\n <div [ngClass]=\"{'ng-jvx-multiselect-value-container': true, 'is-open': isOpen}\"\r\n (click)=\"clickOnMenuTrigger($event)\"\r\n #valueContainer>\r\n\r\n <div class=\"ng-jvx-multiselect__placeholder\" *ngIf=\"value.length === 0\">\r\n <ng-content select=\"[placeholder]\"></ng-content>\r\n </div>\r\n\r\n <div class=\"ng-jvx-multiselect-value multi-value-container\" *ngIf=\"multi\" #multiContainer>\r\n\r\n <ng-container [ngTemplateOutlet]=\"selectionTemplate? selectionTemplate.template : defaultMultiSelectionTemplate\"\r\n [ngTemplateOutletContext]=\"{$implicit: value}\"></ng-container>\r\n\r\n\r\n </div>\r\n\r\n <div class=\"ng-jvx-multiselect-value single-value-container\" *ngIf=\"!multi\">\r\n <div *ngFor=\"let val of value\" style=\"width: 100%;\">\r\n <ng-container [ngTemplateOutlet]=\"selectionTemplate? selectionTemplate.template : defaultSelectionTemplate\"\r\n [ngTemplateOutletContext]=\"{$implicit: val}\"></ng-container></div>\r\n </div>\r\n <div class=\"ng-jvx-multiselect__remove-button\" *ngIf=\"clearable && value.length > 0\" (click)=\"clear($event)\">\r\n <mat-icon style=\"font-size: 18px;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\">clear\r\n </mat-icon>\r\n </div>\r\n <div class=\"ng-jvx-multiselect-arrow\">\r\n <mat-icon *ngIf=\"!isLoading\">expand_more</mat-icon>\r\n <div *ngIf=\"isLoading\" class=\"lds-ring\">\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- END INPUT -->\r\n</div>\r\n<ng-template #defaultTemplate let-option>\r\n <div style=\"max-width: 100%;\r\n white-space: nowrap;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\">{{option[itemText]}}\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #defaultSelectionTemplate let-value>\r\n {{value[itemText]}}\r\n</ng-template>\r\n\r\n<ng-template #defaultMultiSelectionTemplate let-value>\r\n <mat-chip-list #chipList [disabled]=\"this.disabled\">\r\n <mat-chip [color]=\"'primary'\" selected *ngFor=\"let val of value\" [selectable]=\"false\"\r\n class=\"ng-jvx-multiselect-chip\"\r\n [removable]=\"true\" (removed)=\"deselect(val)\">\r\n <span class=\"chip-content\"\r\n [ngStyle]=\"{'max-width': multiContainerWidth - 50 +'px'}\">{{val[itemText]}}</span>\r\n\r\n <mat-icon matChipRemove>cancel</mat-icon>\r\n </mat-chip>\r\n </mat-chip-list>\r\n</ng-template>\r\n<ng-template #defaultGroupHeaderTemplate let-opt>\r\n <div style=\"padding-inline: 15px\"><strong>{{opt.group}}</strong></div>\r\n</ng-template>\r\n" }]
|
|
735
|
+
}], ctorParameters: function () { return [{ type: i1$1.UntypedFormBuilder }, { type: NgJvxMultiselectService }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1$1.NgControl, decorators: [{
|
|
702
736
|
type: Optional
|
|
703
737
|
}, {
|
|
704
738
|
type: Self
|
|
705
|
-
}] }, { type: i1$
|
|
739
|
+
}] }, { type: i1$1.UntypedFormBuilder }]; }, propDecorators: { id: [{
|
|
706
740
|
type: HostBinding
|
|
707
741
|
}], shouldLabelFloat: [{
|
|
708
742
|
type: HostBinding,
|
|
@@ -771,8 +805,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImpor
|
|
|
771
805
|
type: Input
|
|
772
806
|
}], searchProp: [{
|
|
773
807
|
type: Input
|
|
808
|
+
}], closeButton: [{
|
|
809
|
+
type: Input
|
|
774
810
|
}], mapper: [{
|
|
775
811
|
type: Input
|
|
812
|
+
}], multiMapper: [{
|
|
813
|
+
type: Input
|
|
776
814
|
}], searchMapper: [{
|
|
777
815
|
type: Input
|
|
778
816
|
}], groupBy: [{
|
|
@@ -785,6 +823,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImpor
|
|
|
785
823
|
type: Input
|
|
786
824
|
}], disabled: [{
|
|
787
825
|
type: Input
|
|
826
|
+
}], pageSize: [{
|
|
827
|
+
type: Input
|
|
788
828
|
}], valueChange: [{
|
|
789
829
|
type: Output
|
|
790
830
|
}], jvxMultiselectOpen: [{
|
|
@@ -812,14 +852,14 @@ class NgJvxPanelComponent extends _MatMenuBase {
|
|
|
812
852
|
super(elementRef, ngZone, defaultOptions);
|
|
813
853
|
}
|
|
814
854
|
}
|
|
815
|
-
NgJvxPanelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
816
|
-
NgJvxPanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
855
|
+
NgJvxPanelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: NgJvxPanelComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: MAT_MENU_DEFAULT_OPTIONS }], target: i0.ɵɵFactoryTarget.Component });
|
|
856
|
+
NgJvxPanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: NgJvxPanelComponent, selector: "ngJvxPanel", host: { properties: { "attr.aria-label": "null", "attr.aria-labelledby": "null", "attr.aria-describedby": "null" } }, providers: [
|
|
817
857
|
{ provide: MAT_MENU_PANEL, useExisting: MatMenu },
|
|
818
|
-
], exportAs: ["ngJvxPanel"], usesInheritance: true, ngImport: i0, template: "<ng-template>\r\n <div\r\n class=\"mat-menu-panel\"\r\n [id]=\"panelId\"\r\n [ngClass]=\"_classList\"\r\n (keydown)=\"_handleKeydown($event)\"\r\n (click)=\"closed.emit('click')\"\r\n [@transformMenu]=\"_panelAnimationState\"\r\n (@transformMenu.start)=\"_onAnimationStart($event)\"\r\n (@transformMenu.done)=\"_onAnimationDone($event)\"\r\n tabindex=\"-1\"\r\n role=\"menu\"\r\n [attr.aria-label]=\"ariaLabel || null\"\r\n [attr.aria-labelledby]=\"ariaLabelledby || null\"\r\n [attr.aria-describedby]=\"ariaDescribedby || null\">\r\n <div class=\"mat-menu-content\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n</ng-template>\r\n", styles: [""],
|
|
858
|
+
], exportAs: ["ngJvxPanel"], usesInheritance: true, ngImport: i0, template: "<ng-template>\r\n <div\r\n class=\"mat-menu-panel\"\r\n [id]=\"panelId\"\r\n [ngClass]=\"_classList\"\r\n (keydown)=\"_handleKeydown($event)\"\r\n (click)=\"closed.emit('click')\"\r\n [@transformMenu]=\"_panelAnimationState\"\r\n (@transformMenu.start)=\"_onAnimationStart($event)\"\r\n (@transformMenu.done)=\"_onAnimationDone($event)\"\r\n tabindex=\"-1\"\r\n role=\"menu\"\r\n [attr.aria-label]=\"ariaLabel || null\"\r\n [attr.aria-labelledby]=\"ariaLabelledby || null\"\r\n [attr.aria-describedby]=\"ariaDescribedby || null\">\r\n <div class=\"mat-menu-content\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n</ng-template>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], animations: [
|
|
819
859
|
matMenuAnimations.transformMenu,
|
|
820
860
|
matMenuAnimations.fadeInItems
|
|
821
861
|
], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
822
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
862
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: NgJvxPanelComponent, decorators: [{
|
|
823
863
|
type: Component,
|
|
824
864
|
args: [{ selector: 'ngJvxPanel', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, exportAs: 'ngJvxPanel', host: {
|
|
825
865
|
'[attr.aria-label]': 'null',
|
|
@@ -830,7 +870,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImpor
|
|
|
830
870
|
matMenuAnimations.fadeInItems
|
|
831
871
|
], providers: [
|
|
832
872
|
{ provide: MAT_MENU_PANEL, useExisting: MatMenu },
|
|
833
|
-
], template: "<ng-template>\r\n <div\r\n class=\"mat-menu-panel\"\r\n [id]=\"panelId\"\r\n [ngClass]=\"_classList\"\r\n (keydown)=\"_handleKeydown($event)\"\r\n (click)=\"closed.emit('click')\"\r\n [@transformMenu]=\"_panelAnimationState\"\r\n (@transformMenu.start)=\"_onAnimationStart($event)\"\r\n (@transformMenu.done)=\"_onAnimationDone($event)\"\r\n tabindex=\"-1\"\r\n role=\"menu\"\r\n [attr.aria-label]=\"ariaLabel || null\"\r\n [attr.aria-labelledby]=\"ariaLabelledby || null\"\r\n [attr.aria-describedby]=\"ariaDescribedby || null\">\r\n <div class=\"mat-menu-content\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n</ng-template>\r\n"
|
|
873
|
+
], template: "<ng-template>\r\n <div\r\n class=\"mat-menu-panel\"\r\n [id]=\"panelId\"\r\n [ngClass]=\"_classList\"\r\n (keydown)=\"_handleKeydown($event)\"\r\n (click)=\"closed.emit('click')\"\r\n [@transformMenu]=\"_panelAnimationState\"\r\n (@transformMenu.start)=\"_onAnimationStart($event)\"\r\n (@transformMenu.done)=\"_onAnimationDone($event)\"\r\n tabindex=\"-1\"\r\n role=\"menu\"\r\n [attr.aria-label]=\"ariaLabel || null\"\r\n [attr.aria-labelledby]=\"ariaLabelledby || null\"\r\n [attr.aria-describedby]=\"ariaDescribedby || null\">\r\n <div class=\"mat-menu-content\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n</ng-template>\r\n" }]
|
|
834
874
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: undefined, decorators: [{
|
|
835
875
|
type: Inject,
|
|
836
876
|
args: [MAT_MENU_DEFAULT_OPTIONS]
|
|
@@ -838,8 +878,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImpor
|
|
|
838
878
|
|
|
839
879
|
class NgJvxMultiselectModule {
|
|
840
880
|
}
|
|
841
|
-
NgJvxMultiselectModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
842
|
-
NgJvxMultiselectModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "
|
|
881
|
+
NgJvxMultiselectModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: NgJvxMultiselectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
882
|
+
NgJvxMultiselectModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.2", ngImport: i0, type: NgJvxMultiselectModule, declarations: [NgJvxMultiselectComponent,
|
|
843
883
|
NgJvxOptionComponent,
|
|
844
884
|
NgJvxOptionsTemplateDirective,
|
|
845
885
|
NgJvxPanelComponent,
|
|
@@ -855,26 +895,27 @@ NgJvxMultiselectModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0",
|
|
|
855
895
|
MatListModule,
|
|
856
896
|
MatChipsModule,
|
|
857
897
|
ReactiveFormsModule,
|
|
858
|
-
HttpClientModule,
|
|
859
898
|
NgScrollbarModule,
|
|
860
899
|
SmoothScrollModule,
|
|
861
|
-
FormsModule], exports: [NgJvxMultiselectComponent,
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
|
|
900
|
+
FormsModule], exports: [NgJvxMultiselectComponent,
|
|
901
|
+
NgJvxOptionComponent,
|
|
902
|
+
NgJvxOptionsTemplateDirective,
|
|
903
|
+
NgJvxSelectionTemplateDirective,
|
|
904
|
+
NgJvxDisabledOptionDirective,
|
|
905
|
+
NgJvxGroupHeaderDirective] });
|
|
906
|
+
NgJvxMultiselectModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: NgJvxMultiselectModule, imports: [MatButtonModule,
|
|
907
|
+
MatOptionModule,
|
|
908
|
+
MatSelectModule,
|
|
909
|
+
MatMenuModule,
|
|
910
|
+
CommonModule,
|
|
911
|
+
MatIconModule,
|
|
912
|
+
MatListModule,
|
|
913
|
+
MatChipsModule,
|
|
914
|
+
ReactiveFormsModule,
|
|
915
|
+
NgScrollbarModule,
|
|
916
|
+
SmoothScrollModule,
|
|
917
|
+
FormsModule] });
|
|
918
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: NgJvxMultiselectModule, decorators: [{
|
|
878
919
|
type: NgModule,
|
|
879
920
|
args: [{
|
|
880
921
|
declarations: [
|
|
@@ -897,12 +938,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImpor
|
|
|
897
938
|
MatListModule,
|
|
898
939
|
MatChipsModule,
|
|
899
940
|
ReactiveFormsModule,
|
|
900
|
-
HttpClientModule,
|
|
901
941
|
NgScrollbarModule,
|
|
902
942
|
SmoothScrollModule,
|
|
903
943
|
FormsModule
|
|
904
944
|
],
|
|
905
|
-
exports: [NgJvxMultiselectComponent,
|
|
945
|
+
exports: [NgJvxMultiselectComponent,
|
|
946
|
+
NgJvxOptionComponent,
|
|
947
|
+
NgJvxOptionsTemplateDirective,
|
|
948
|
+
NgJvxSelectionTemplateDirective,
|
|
949
|
+
NgJvxDisabledOptionDirective,
|
|
950
|
+
NgJvxGroupHeaderDirective]
|
|
906
951
|
}]
|
|
907
952
|
}] });
|
|
908
953
|
|
|
@@ -914,5 +959,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImpor
|
|
|
914
959
|
* Generated bundle index. Do not edit.
|
|
915
960
|
*/
|
|
916
961
|
|
|
917
|
-
export { NgJvxDisabledOptionDirective, NgJvxGroupHeaderDirective, NgJvxMultiselectComponent, NgJvxMultiselectModule, NgJvxMultiselectService, NgJvxOptionComponent, NgJvxOptionsTemplateDirective, NgJvxSelectionTemplateDirective };
|
|
962
|
+
export { JVXMULTISELECT, NgJvxDisabledOptionDirective, NgJvxGroupHeaderDirective, NgJvxMultiselectComponent, NgJvxMultiselectModule, NgJvxMultiselectService, NgJvxOptionComponent, NgJvxOptionsTemplateDirective, NgJvxSelectionTemplateDirective, setJvxCall };
|
|
918
963
|
//# sourceMappingURL=ng-jvx-multiselect.mjs.map
|