ng-select2-component 8.0.6 → 8.1.0
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/CHANGELOG.md +17 -1
- package/README.md +39 -33
- package/bundles/ng-select2-component.umd.js +259 -180
- package/bundles/ng-select2-component.umd.js.map +1 -1
- package/bundles/ng-select2-component.umd.min.js +1 -1
- package/bundles/ng-select2-component.umd.min.js.map +1 -1
- package/esm2015/lib/select2-utils.js +120 -93
- package/esm2015/lib/select2.component.js +85 -55
- package/fesm2015/ng-select2-component.js +203 -146
- package/fesm2015/ng-select2-component.js.map +1 -1
- package/lib/select2-utils.d.ts +10 -6
- package/lib/select2.component.d.ts +11 -6
- package/ng-select2-component.metadata.json +1 -1
- package/package.json +1 -1
|
@@ -220,10 +220,8 @@ class Select2Utils {
|
|
|
220
220
|
}
|
|
221
221
|
}
|
|
222
222
|
}
|
|
223
|
-
else {
|
|
224
|
-
|
|
225
|
-
return (/** @type {?} */ (groupOrOption));
|
|
226
|
-
}
|
|
223
|
+
else if (((/** @type {?} */ (groupOrOption))).value === value) {
|
|
224
|
+
return (/** @type {?} */ (groupOrOption));
|
|
227
225
|
}
|
|
228
226
|
}
|
|
229
227
|
}
|
|
@@ -279,28 +277,6 @@ class Select2Utils {
|
|
|
279
277
|
}
|
|
280
278
|
return null;
|
|
281
279
|
}
|
|
282
|
-
/**
|
|
283
|
-
* @private
|
|
284
|
-
* @param {?} data
|
|
285
|
-
* @return {?}
|
|
286
|
-
*/
|
|
287
|
-
static getOptionsCount(data) {
|
|
288
|
-
/** @type {?} */
|
|
289
|
-
let count = 0;
|
|
290
|
-
if (Array.isArray(data)) {
|
|
291
|
-
for (const groupOrOption of data) {
|
|
292
|
-
/** @type {?} */
|
|
293
|
-
const options = ((/** @type {?} */ (groupOrOption))).options;
|
|
294
|
-
if (options) {
|
|
295
|
-
count += options.length;
|
|
296
|
-
}
|
|
297
|
-
else {
|
|
298
|
-
count++;
|
|
299
|
-
}
|
|
300
|
-
}
|
|
301
|
-
}
|
|
302
|
-
return count;
|
|
303
|
-
}
|
|
304
280
|
/**
|
|
305
281
|
* @param {?} filteredData
|
|
306
282
|
* @param {?} value
|
|
@@ -320,10 +296,8 @@ class Select2Utils {
|
|
|
320
296
|
}
|
|
321
297
|
}
|
|
322
298
|
}
|
|
323
|
-
else {
|
|
324
|
-
|
|
325
|
-
return false;
|
|
326
|
-
}
|
|
299
|
+
else if (((/** @type {?} */ (groupOrOption))).value === value) {
|
|
300
|
+
return false;
|
|
327
301
|
}
|
|
328
302
|
}
|
|
329
303
|
return true;
|
|
@@ -346,10 +320,8 @@ class Select2Utils {
|
|
|
346
320
|
for (let j = options.length - 1; j >= 0; j--) {
|
|
347
321
|
/** @type {?} */
|
|
348
322
|
const option = options[j];
|
|
349
|
-
if (findIt) {
|
|
350
|
-
|
|
351
|
-
return option;
|
|
352
|
-
}
|
|
323
|
+
if (findIt && !option.disabled && !option.hide) {
|
|
324
|
+
return option;
|
|
353
325
|
}
|
|
354
326
|
if (!findIt) {
|
|
355
327
|
findIt = option.value === hoveringValue;
|
|
@@ -359,10 +331,8 @@ class Select2Utils {
|
|
|
359
331
|
else {
|
|
360
332
|
/** @type {?} */
|
|
361
333
|
const option = (/** @type {?} */ (groupOrOption));
|
|
362
|
-
if (findIt) {
|
|
363
|
-
|
|
364
|
-
return option;
|
|
365
|
-
}
|
|
334
|
+
if (findIt && !option.disabled && !option.hide) {
|
|
335
|
+
return option;
|
|
366
336
|
}
|
|
367
337
|
if (!findIt) {
|
|
368
338
|
findIt = option.value === hoveringValue;
|
|
@@ -411,56 +381,45 @@ class Select2Utils {
|
|
|
411
381
|
return null;
|
|
412
382
|
}
|
|
413
383
|
/**
|
|
414
|
-
* @
|
|
415
|
-
* @param {
|
|
416
|
-
* @return {?}
|
|
417
|
-
*/
|
|
418
|
-
static isNullOrUndefined(value) {
|
|
419
|
-
return value === null || value === undefined;
|
|
420
|
-
}
|
|
421
|
-
/**
|
|
422
|
-
* @private
|
|
423
|
-
* @param {?} label
|
|
424
|
-
* @param {?} searchText
|
|
425
|
-
* @param {?} editPattern
|
|
426
|
-
* @return {?}
|
|
427
|
-
*/
|
|
428
|
-
static containSearchText(label, searchText, editPattern) {
|
|
429
|
-
return searchText
|
|
430
|
-
? Select2Utils.formatSansUnicode(label).match(new RegExp(Select2Utils.formatPattern(searchText, editPattern), 'i')) !== null
|
|
431
|
-
: true;
|
|
432
|
-
}
|
|
433
|
-
/**
|
|
434
|
-
* @private
|
|
435
|
-
* @param {?} str
|
|
436
|
-
* @return {?}
|
|
437
|
-
*/
|
|
438
|
-
static protectPattern(str) {
|
|
439
|
-
return str.replace(protectRegexp, '\\$&');
|
|
440
|
-
}
|
|
441
|
-
/**
|
|
442
|
-
* @private
|
|
443
|
-
* @param {?} str
|
|
384
|
+
* @param {?} data
|
|
385
|
+
* @param {?=} maxResults
|
|
444
386
|
* @return {?}
|
|
445
387
|
*/
|
|
446
|
-
static
|
|
447
|
-
|
|
448
|
-
|
|
388
|
+
static getReduceData(data, maxResults = 0) {
|
|
389
|
+
if (maxResults > 0) {
|
|
390
|
+
/** @type {?} */
|
|
391
|
+
let counter = 0;
|
|
392
|
+
/** @type {?} */
|
|
393
|
+
const result = [];
|
|
394
|
+
// debugger;
|
|
395
|
+
for (const groupOrOption of data) {
|
|
396
|
+
/** @type {?} */
|
|
397
|
+
const options = ((/** @type {?} */ (groupOrOption))).options;
|
|
398
|
+
if (options) {
|
|
399
|
+
/** @type {?} */
|
|
400
|
+
const group = Object.assign(Object.assign({}, groupOrOption), { options: [] });
|
|
401
|
+
result.push(group);
|
|
402
|
+
for (const item of options) {
|
|
403
|
+
group.options.push(item);
|
|
404
|
+
counter++;
|
|
405
|
+
if (counter === maxResults) {
|
|
406
|
+
return { result, reduce: true };
|
|
407
|
+
}
|
|
408
|
+
}
|
|
409
|
+
}
|
|
410
|
+
else {
|
|
411
|
+
result.push(groupOrOption);
|
|
412
|
+
counter++;
|
|
413
|
+
}
|
|
414
|
+
if (counter === maxResults) {
|
|
415
|
+
return { result, reduce: true };
|
|
416
|
+
}
|
|
417
|
+
}
|
|
418
|
+
return { result, reduce: false };
|
|
449
419
|
}
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
/**
|
|
453
|
-
* @private
|
|
454
|
-
* @param {?} str
|
|
455
|
-
* @param {?} editPattern
|
|
456
|
-
* @return {?}
|
|
457
|
-
*/
|
|
458
|
-
static formatPattern(str, editPattern) {
|
|
459
|
-
str = Select2Utils.formatSansUnicode(Select2Utils.protectPattern(str));
|
|
460
|
-
if (editPattern && typeof editPattern === 'function') {
|
|
461
|
-
str = editPattern(str);
|
|
420
|
+
else {
|
|
421
|
+
return { result: data, reduce: false };
|
|
462
422
|
}
|
|
463
|
-
return str;
|
|
464
423
|
}
|
|
465
424
|
/**
|
|
466
425
|
* @param {?} data
|
|
@@ -487,10 +446,7 @@ class Select2Utils {
|
|
|
487
446
|
* @return {?}
|
|
488
447
|
*/
|
|
489
448
|
group => Select2Utils.containSearchText(group.label, searchText, editPattern)));
|
|
490
|
-
result.push({
|
|
491
|
-
label: groupOrOption.label,
|
|
492
|
-
options: filteredOptions,
|
|
493
|
-
});
|
|
449
|
+
result.push(Object.assign(Object.assign({}, groupOrOption), { options: filteredOptions }));
|
|
494
450
|
}
|
|
495
451
|
}
|
|
496
452
|
else if (Select2Utils.containSearchText(groupOrOption.label, searchText, editPattern)) {
|
|
@@ -522,10 +478,7 @@ class Select2Utils {
|
|
|
522
478
|
*/
|
|
523
479
|
group => Select2Utils.isSelected(selectedOptions, group, true) === 'false'));
|
|
524
480
|
if (filteredOptions.length) {
|
|
525
|
-
result.push({
|
|
526
|
-
label: groupOrOption.label,
|
|
527
|
-
options: filteredOptions,
|
|
528
|
-
});
|
|
481
|
+
result.push(Object.assign(Object.assign({}, groupOrOption), { options: filteredOptions }));
|
|
529
482
|
}
|
|
530
483
|
}
|
|
531
484
|
else if (Select2Utils.isSelected(selectedOptions, (/** @type {?} */ (groupOrOption)), true) === 'false') {
|
|
@@ -582,6 +535,80 @@ class Select2Utils {
|
|
|
582
535
|
}
|
|
583
536
|
}
|
|
584
537
|
}
|
|
538
|
+
/**
|
|
539
|
+
* @private
|
|
540
|
+
* @param {?} data
|
|
541
|
+
* @return {?}
|
|
542
|
+
*/
|
|
543
|
+
static getOptionsCount(data) {
|
|
544
|
+
/** @type {?} */
|
|
545
|
+
let count = 0;
|
|
546
|
+
if (Array.isArray(data)) {
|
|
547
|
+
for (const groupOrOption of data) {
|
|
548
|
+
/** @type {?} */
|
|
549
|
+
const options = ((/** @type {?} */ (groupOrOption))).options;
|
|
550
|
+
if (options) {
|
|
551
|
+
count += options.length;
|
|
552
|
+
}
|
|
553
|
+
else {
|
|
554
|
+
count++;
|
|
555
|
+
}
|
|
556
|
+
}
|
|
557
|
+
}
|
|
558
|
+
return count;
|
|
559
|
+
}
|
|
560
|
+
/**
|
|
561
|
+
* @private
|
|
562
|
+
* @param {?} value
|
|
563
|
+
* @return {?}
|
|
564
|
+
*/
|
|
565
|
+
static isNullOrUndefined(value) {
|
|
566
|
+
return value === null || value === undefined;
|
|
567
|
+
}
|
|
568
|
+
/**
|
|
569
|
+
* @private
|
|
570
|
+
* @param {?} label
|
|
571
|
+
* @param {?} searchText
|
|
572
|
+
* @param {?} editPattern
|
|
573
|
+
* @return {?}
|
|
574
|
+
*/
|
|
575
|
+
static containSearchText(label, searchText, editPattern) {
|
|
576
|
+
return searchText
|
|
577
|
+
? Select2Utils.formatSansUnicode(label).match(new RegExp(Select2Utils.formatPattern(searchText, editPattern), 'i')) !== null
|
|
578
|
+
: true;
|
|
579
|
+
}
|
|
580
|
+
/**
|
|
581
|
+
* @private
|
|
582
|
+
* @param {?} str
|
|
583
|
+
* @return {?}
|
|
584
|
+
*/
|
|
585
|
+
static protectPattern(str) {
|
|
586
|
+
return str.replace(protectRegexp, '\\$&');
|
|
587
|
+
}
|
|
588
|
+
/**
|
|
589
|
+
* @private
|
|
590
|
+
* @param {?} str
|
|
591
|
+
* @return {?}
|
|
592
|
+
*/
|
|
593
|
+
static formatSansUnicode(str) {
|
|
594
|
+
for (const unicodePattern of unicodePatterns) {
|
|
595
|
+
str = str.replace(unicodePattern.s, unicodePattern.l);
|
|
596
|
+
}
|
|
597
|
+
return str;
|
|
598
|
+
}
|
|
599
|
+
/**
|
|
600
|
+
* @private
|
|
601
|
+
* @param {?} str
|
|
602
|
+
* @param {?} editPattern
|
|
603
|
+
* @return {?}
|
|
604
|
+
*/
|
|
605
|
+
static formatPattern(str, editPattern) {
|
|
606
|
+
str = Select2Utils.formatSansUnicode(Select2Utils.protectPattern(str));
|
|
607
|
+
if (editPattern && typeof editPattern === 'function') {
|
|
608
|
+
str = editPattern(str);
|
|
609
|
+
}
|
|
610
|
+
return str;
|
|
611
|
+
}
|
|
585
612
|
}
|
|
586
613
|
|
|
587
614
|
/**
|
|
@@ -615,6 +642,14 @@ class Select2 {
|
|
|
615
642
|
* use the material style
|
|
616
643
|
*/
|
|
617
644
|
this.styleMode = 'default';
|
|
645
|
+
/**
|
|
646
|
+
* maximum results limit (0 = no limit)
|
|
647
|
+
*/
|
|
648
|
+
this.maxResults = 0;
|
|
649
|
+
/**
|
|
650
|
+
* message when maximum results
|
|
651
|
+
*/
|
|
652
|
+
this.maxResultsMessage = 'Too many results…';
|
|
618
653
|
/**
|
|
619
654
|
* infinite scroll distance
|
|
620
655
|
*/
|
|
@@ -1221,6 +1256,15 @@ class Select2 {
|
|
|
1221
1256
|
if (!this.customSearchEnabled && this.searchText && this.searchText.length >= +this.minCharForSearch) {
|
|
1222
1257
|
result = Select2Utils.getFilteredData(result, this.searchText, this.editPattern);
|
|
1223
1258
|
}
|
|
1259
|
+
if (this.maxResults > 0) {
|
|
1260
|
+
/** @type {?} */
|
|
1261
|
+
const data = Select2Utils.getReduceData(result, +this.maxResults);
|
|
1262
|
+
result = data.result;
|
|
1263
|
+
this.maxResultsExceeded = data.reduce;
|
|
1264
|
+
}
|
|
1265
|
+
else {
|
|
1266
|
+
this.maxResultsExceeded = false;
|
|
1267
|
+
}
|
|
1224
1268
|
if (Select2Utils.valueIsNotInFilteredData(result, this.hoveringValue)) {
|
|
1225
1269
|
this.hoveringValue = Select2Utils.getFirstAvailableOption(result);
|
|
1226
1270
|
}
|
|
@@ -1319,10 +1363,9 @@ class Select2 {
|
|
|
1319
1363
|
* @return {?}
|
|
1320
1364
|
*/
|
|
1321
1365
|
focusin() {
|
|
1322
|
-
if (this.disabled) {
|
|
1323
|
-
|
|
1366
|
+
if (!this.disabled) {
|
|
1367
|
+
this._focus(true);
|
|
1324
1368
|
}
|
|
1325
|
-
this._focus(true);
|
|
1326
1369
|
}
|
|
1327
1370
|
/**
|
|
1328
1371
|
* @return {?}
|
|
@@ -1333,55 +1376,6 @@ class Select2 {
|
|
|
1333
1376
|
this._onTouched();
|
|
1334
1377
|
}
|
|
1335
1378
|
}
|
|
1336
|
-
/**
|
|
1337
|
-
* @private
|
|
1338
|
-
* @return {?}
|
|
1339
|
-
*/
|
|
1340
|
-
moveUp() {
|
|
1341
|
-
this.updateScrollFromOption(Select2Utils.getPreviousOption(this.filteredData, this.hoveringValue));
|
|
1342
|
-
}
|
|
1343
|
-
/**
|
|
1344
|
-
* @private
|
|
1345
|
-
* @return {?}
|
|
1346
|
-
*/
|
|
1347
|
-
moveDown() {
|
|
1348
|
-
this.updateScrollFromOption(Select2Utils.getNextOption(this.filteredData, this.hoveringValue));
|
|
1349
|
-
}
|
|
1350
|
-
/**
|
|
1351
|
-
* @private
|
|
1352
|
-
* @param {?} option
|
|
1353
|
-
* @return {?}
|
|
1354
|
-
*/
|
|
1355
|
-
updateScrollFromOption(option) {
|
|
1356
|
-
if (option) {
|
|
1357
|
-
this.hoveringValue = option.value;
|
|
1358
|
-
/** @type {?} */
|
|
1359
|
-
const domElement = this.results.find((/**
|
|
1360
|
-
* @param {?} r
|
|
1361
|
-
* @return {?}
|
|
1362
|
-
*/
|
|
1363
|
-
r => r.nativeElement.innerText.trim() === option.label));
|
|
1364
|
-
if (domElement && this.resultsElement) {
|
|
1365
|
-
this.resultsElement.scrollTop = 0;
|
|
1366
|
-
/** @type {?} */
|
|
1367
|
-
const listClientRect = this.resultsElement.getBoundingClientRect();
|
|
1368
|
-
/** @type {?} */
|
|
1369
|
-
const optionClientRect = domElement.nativeElement.getBoundingClientRect();
|
|
1370
|
-
this.resultsElement.scrollTop = optionClientRect.top - listClientRect.top;
|
|
1371
|
-
}
|
|
1372
|
-
}
|
|
1373
|
-
}
|
|
1374
|
-
/**
|
|
1375
|
-
* @private
|
|
1376
|
-
* @return {?}
|
|
1377
|
-
*/
|
|
1378
|
-
selectByEnter() {
|
|
1379
|
-
if (this.hoveringValue) {
|
|
1380
|
-
/** @type {?} */
|
|
1381
|
-
const option = Select2Utils.getOptionByValue(this._data, this.hoveringValue);
|
|
1382
|
-
this.select(option);
|
|
1383
|
-
}
|
|
1384
|
-
}
|
|
1385
1379
|
/**
|
|
1386
1380
|
* @param {?} option
|
|
1387
1381
|
* @return {?}
|
|
@@ -1608,6 +1602,55 @@ class Select2 {
|
|
|
1608
1602
|
(this._parentForm && this._parentForm.submitted);
|
|
1609
1603
|
return !!(isInvalid && (isTouched || isSubmitted));
|
|
1610
1604
|
}
|
|
1605
|
+
/**
|
|
1606
|
+
* @private
|
|
1607
|
+
* @return {?}
|
|
1608
|
+
*/
|
|
1609
|
+
moveUp() {
|
|
1610
|
+
this.updateScrollFromOption(Select2Utils.getPreviousOption(this.filteredData, this.hoveringValue));
|
|
1611
|
+
}
|
|
1612
|
+
/**
|
|
1613
|
+
* @private
|
|
1614
|
+
* @return {?}
|
|
1615
|
+
*/
|
|
1616
|
+
moveDown() {
|
|
1617
|
+
this.updateScrollFromOption(Select2Utils.getNextOption(this.filteredData, this.hoveringValue));
|
|
1618
|
+
}
|
|
1619
|
+
/**
|
|
1620
|
+
* @private
|
|
1621
|
+
* @param {?} option
|
|
1622
|
+
* @return {?}
|
|
1623
|
+
*/
|
|
1624
|
+
updateScrollFromOption(option) {
|
|
1625
|
+
if (option) {
|
|
1626
|
+
this.hoveringValue = option.value;
|
|
1627
|
+
/** @type {?} */
|
|
1628
|
+
const domElement = this.results.find((/**
|
|
1629
|
+
* @param {?} r
|
|
1630
|
+
* @return {?}
|
|
1631
|
+
*/
|
|
1632
|
+
r => r.nativeElement.innerText.trim() === option.label));
|
|
1633
|
+
if (domElement && this.resultsElement) {
|
|
1634
|
+
this.resultsElement.scrollTop = 0;
|
|
1635
|
+
/** @type {?} */
|
|
1636
|
+
const listClientRect = this.resultsElement.getBoundingClientRect();
|
|
1637
|
+
/** @type {?} */
|
|
1638
|
+
const optionClientRect = domElement.nativeElement.getBoundingClientRect();
|
|
1639
|
+
this.resultsElement.scrollTop = optionClientRect.top - listClientRect.top;
|
|
1640
|
+
}
|
|
1641
|
+
}
|
|
1642
|
+
}
|
|
1643
|
+
/**
|
|
1644
|
+
* @private
|
|
1645
|
+
* @return {?}
|
|
1646
|
+
*/
|
|
1647
|
+
selectByEnter() {
|
|
1648
|
+
if (this.hoveringValue) {
|
|
1649
|
+
/** @type {?} */
|
|
1650
|
+
const option = Select2Utils.getOptionByValue(this._data, this.hoveringValue);
|
|
1651
|
+
this.select(option);
|
|
1652
|
+
}
|
|
1653
|
+
}
|
|
1611
1654
|
/**
|
|
1612
1655
|
* @private
|
|
1613
1656
|
* @param {?} event
|
|
@@ -1754,8 +1797,8 @@ class Select2 {
|
|
|
1754
1797
|
Select2.decorators = [
|
|
1755
1798
|
{ type: Component, args: [{
|
|
1756
1799
|
selector: 'select2',
|
|
1757
|
-
template: "<div class=\"select2-label\" (click)=\"toggleOpenAndClose()\">\n <ng-content select=\"select2-label\"></ng-content>\n <span *ngIf=\"required\" class=\"select2-required\"></span>\n</div>\n<div\n class=\"select2 select2-container select2-container--default select2-container--focus\"\n [class.select2-container--below]=\"!select2above\"\n [class.select2-container--above]=\"select2above\"\n [class.select2-container--open]=\"isOpen\"\n [class.select2-container--disabled]=\"disabled\"\n>\n <div\n class=\"selection\"\n #selection\n #trigger=\"cdkOverlayOrigin\"\n [attr.tabindex]=\"!this.isOpen ? tabIndex : '-1'\"\n (click)=\"toggleOpenAndClose()\"\n (focus)=\"focusin()\"\n (blur)=\"focusout()\"\n (keydown)=\"openKey($event)\"\n cdkOverlayOrigin\n [class.select2-focused]=\"focused\"\n >\n <div\n class=\"select2-selection\"\n [class.select2-selection--multiple]=\"multiple\"\n [class.select2-selection--single]=\"!multiple\"\n role=\"combobox\"\n >\n <span *ngIf=\"!multiple\" class=\"select2-selection__rendered\" [title]=\"select2Option?.label || ''\">\n <span *ngIf=\"!select2Option\"> </span>\n <span *ngIf=\"select2Option\" [innerHTML]=\"select2Option.label\"></span>\n <span [class.select2-selection__placeholder__option]=\"option\" class=\"select2-selection__placeholder\">{{\n placeholder\n }}</span>\n </span>\n <span\n (click)=\"reset($event)\"\n *ngIf=\"!multiple && resettable && select2Option && !(disabled || readonly)\"\n class=\"select2-selection__reset\"\n role=\"presentation\"\n >\u00D7</span\n >\n <span *ngIf=\"!multiple\" class=\"select2-selection__arrow\" role=\"presentation\"> </span>\n <ul *ngIf=\"multiple\" class=\"select2-selection__rendered\">\n <span\n [class.select2-selection__placeholder__option]=\"select2Options?.length > 0\"\n class=\"select2-selection__placeholder\"\n >{{ placeholder }}</span\n >\n <li *ngFor=\"let op of option; trackBy: trackBy\" class=\"select2-selection__choice\" [title]=\"op.label\">\n <span\n *ngIf=\"!(disabled || readonly)\"\n (click)=\"removeSelection($event, op)\"\n class=\"select2-selection__choice__remove\"\n role=\"presentation\"\n >\u00D7</span\n >\n <span [innerHTML]=\"op.label\"></span>\n </li>\n </ul>\n </div>\n </div>\n <ng-container *ngIf=\"!overlay\">\n <ng-container *ngTemplateOutlet=\"containerTemplate\"></ng-container>\n </ng-container>\n\n <div class=\"select2-subscript-wrapper\">\n <ng-content select=\"select2-hint\"></ng-content>\n </div>\n</div>\n\n<ng-template\n cdkConnectedOverlay\n cdkConnectedOverlayHasBackdrop\n cdkConnectedOverlayBackdropClass=\"select2-overlay-backdrop\"\n [cdkConnectedOverlayOrigin]=\"trigger\"\n [cdkConnectedOverlayOpen]=\"this.isOpen && overlay\"\n [cdkConnectedOverlayMinWidth]=\"overlayWidth\"\n [cdkConnectedOverlayHeight]=\"overlayHeight\"\n [cdkConnectedOverlayPositions]=\"_positions\"\n (backdropClick)=\"toggleOpenAndClose()\"\n>\n <ng-container *ngTemplateOutlet=\"containerTemplate\"></ng-container>\n</ng-template>\n\n<ng-template #containerTemplate>\n <div\n class=\"select2-container select2-container--default select2-container-dropdown\"\n [class.select2-container--open]=\"isOpen\"\n [class.select2-overlay]=\"overlay\"\n [class.select2-position-auto]=\"listPosition === 'auto'\"\n >\n <div\n #dropdown\n class=\"select2-dropdown\"\n [class.select2-dropdown--below]=\"!select2above\"\n [class.select2-dropdown--above]=\"select2above\"\n >\n <div class=\"select2-search select2-search--dropdown\" [class.select2-search--hide]=\"hideSearch()\">\n <input\n #searchInput\n [id]=\"id + '-search-field'\"\n [value]=\"searchText\"\n (keydown)=\"keyDown($event)\"\n (keyup)=\"searchUpdate($event)\"\n (change)=\"prevChange($event)\"\n class=\"select2-search__field\"\n type=\"search\"\n role=\"textbox\"\n autocomplete=\"off\"\n autocorrect=\"off\"\n autocapitalize=\"off\"\n spellcheck=\"false\"\n [attr.tabindex]=\"this.isOpen ? tabIndex : '-1'\"\n />\n </div>\n <div class=\"select2-results\">\n <ul\n #results\n class=\"select2-results__options\"\n [style.max-height]=\"resultMaxHeight\"\n role=\"tree\"\n tabindex=\"-1\"\n infiniteScroll\n [infiniteScrollDisabled]=\"!infiniteScroll && !isOpen\"\n [infiniteScrollDistance]=\"infiniteScrollDistance\"\n [infiniteScrollThrottle]=\"infiniteScrollThrottle\"\n [infiniteScrollContainer]=\"results\"\n (scrolled)=\"onScroll('down')\"\n (scrolledUp)=\"onScroll('up')\"\n (keydown)=\"keyDown($event)\"\n >\n <ng-container *ngFor=\"let groupOrOption of filteredData; index as i; trackBy: trackBy\">\n <li *ngIf=\"groupOrOption.options\" class=\"select2-results__option\" role=\"group\">\n <strong\n *ngIf=\"!hasTemplate(groupOrOption, 'group'); else optGroup\"\n [attr.class]=\"\n 'select2-results__group' +\n (groupOrOption.classes ? ' ' + groupOrOption.classes : '')\n \"\n [innerHTML]=\"groupOrOption.label\"\n ></strong>\n <ng-template #optGroup>\n <ng-container\n *ngTemplateOutlet=\"getTemplate(groupOrOption, 'group'); context: groupOrOption\"\n >\n </ng-container>\n </ng-template>\n\n <ul class=\"select2-results__options select2-results__options--nested\">\n <li\n *ngFor=\"let option of groupOrOption.options; index as j; trackBy: trackBy\"\n #result\n [id]=\"option.id || id + '-option-' + i + '-' + j\"\n [class]=\"getOptionStyle(option)\"\n role=\"treeitem\"\n [attr.aria-selected]=\"isSelected(option)\"\n [attr.aria-disabled]=\"isDisabled(option)\"\n (mouseenter)=\"mouseenter(option)\"\n (click)=\"click(option)\"\n >\n <div\n *ngIf=\"!hasTemplate(option, 'option'); else liGroup\"\n class=\"select2-label-content\"\n [innerHTML]=\"option.label\"\n ></div>\n <ng-template #liGroup>\n <ng-container\n *ngTemplateOutlet=\"getTemplate(option, 'option'); context: option\"\n >\n </ng-container>\n </ng-template>\n </li>\n </ul>\n </li>\n <li\n *ngIf=\"!groupOrOption.options\"\n #result\n [id]=\"groupOrOption.id || id + '-option-' + i\"\n [class]=\"getOptionStyle(groupOrOption)\"\n role=\"treeitem\"\n [attr.aria-selected]=\"isSelected(groupOrOption)\"\n [attr.aria-disabled]=\"isDisabled(groupOrOption)\"\n (mouseenter)=\"mouseenter(groupOrOption)\"\n (click)=\"click(groupOrOption)\"\n >\n <div\n *ngIf=\"!hasTemplate(groupOrOption, 'option'); else li\"\n [innerHTML]=\"groupOrOption.label\"\n class=\"select2-label-content\"\n ></div>\n <ng-template #li>\n <ng-container\n *ngTemplateOutlet=\"getTemplate(groupOrOption, 'option'); context: groupOrOption\"\n >\n </ng-container>\n </ng-template>\n </li>\n </ng-container>\n <li\n class=\"select2-no-result select2-results__option\"\n *ngIf=\"!filteredData?.length && noResultMessage\"\n [innerHTML]=\"noResultMessage\"\n ></li>\n </ul>\n </div>\n </div>\n </div>\n</ng-template>\n",
|
|
1758
|
-
styles: [".select2-label{color:#000;color:var(--select2-label-text-color,#000)}.select2-container{box-sizing:border-box;display:inline-block;margin:0;position:relative;vertical-align:middle;width:100%}.select2-container .select2-container-dropdown{opacity:0;position:absolute;width:0}.select2-container .select2-selection--single{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;box-sizing:border-box;cursor:pointer;display:block;height:28px;user-select:none}.select2-container .select2-selection--single .select2-selection__rendered{display:block;flex:1 1 auto;overflow:hidden;padding:0 0 0 8px;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-selection--single .select2-selection__clear{position:relative}.select2-container .select2-selection--multiple{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;box-sizing:border-box;cursor:pointer;display:block;min-height:32px;user-select:none}.select2-container .select2-selection--multiple .select2-selection__rendered{display:inline-block;overflow:hidden;padding-left:8px;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-search--inline{float:left}.select2-container .select2-search--inline .select2-search__field{border:none;box-sizing:border-box;font-size:100%;margin-top:5px;padding:0}.select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-dropdown{background:#fff;background:var(--select2-dropdown-background,#fff);border:1px solid #aaa;border:1px solid var(--select2-dropdown-border-color,#aaa);border-radius:4px;border-radius:var(--select2-selection-border-radius,4px);box-sizing:border-box;display:block;height:0;overflow:hidden;position:absolute;width:100%;z-index:1051}.select2-dropdown .select2-label-content{display:contents}.select2-results{display:block}.select2-results__options{list-style:none;margin:0;padding:0}.select2-results__option{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;color:#000;color:var(--select2-option-text-color,#000);padding:6px;user-select:none}.select2-results__option[aria-selected]{cursor:pointer}.select2-container.select2-container-dropdown.select2-container--open{opacity:1;width:100%}.select2-container--open .select2-dropdown{height:auto;overflow:auto}.select2-container--open .select2-dropdown--above{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0;bottom:27px;display:flex;flex-direction:column-reverse}.select2-container--open .select2-dropdown--below{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-search--dropdown{display:block;padding:4px}.select2-search--dropdown .select2-search__field{box-sizing:border-box;padding:4px;width:100%}.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-search--dropdown.select2-search--hide{display:none}.select2-close-mask{background:#fff;border:0;display:block;filter:alpha(opacity=0);height:auto;left:0;margin:0;min-height:100%;min-width:100%;opacity:0;padding:0;position:fixed;top:0;width:auto;z-index:99}.select2-required:before{color:red;color:var(--select2-required-color,red);content:\"*\"}.select2-hidden-accessible{border:0!important;clip:rect(0 0 0 0)!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;width:1px!important}.select2-container--default .select2-selection--single{background:#fff;background:var(--select2-selection-background,#fff);border:1px solid #aaa;border:1px solid var(--select2-selection-border-color,#aaa);border-radius:4px;border-radius:var(--select2-selection-border-radius,4px);display:flex}.select2-container--default .select2-selection--single .select2-selection__rendered{color:#444;color:var(--select2-selection-text-color,#444);line-height:28px}.select2-container--default .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:700}.select2-container--default .select2-selection--single .select2-selection__placeholder{color:#999;color:var(--select2-placeholder-color,#999)}.select2-container--default .select2-selection--single .select2-selection__placeholder span{overflow:hidden;text-overflow:ellipsis;text-overflow:var(--select2-placeholder-overflow,ellipsis);white-space:nowrap}.select2-container--default .select2-selection--single .select2-selection__placeholder__option{display:none}.select2-container--default .select2-selection--single .select2-selection__arrow,.select2-container--default .select2-selection--single .select2-selection__reset{align-items:center;display:flex;justify-content:center;width:20px}.select2-container--default .select2-selection--single .select2-selection__arrow:before{border-bottom:0 solid var(--select2-arrow-color,#888);border-color:#888 transparent;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid var(--select2-arrow-color,#888);content:\" \";height:0;width:0}.select2-container--default .select2-selection--single .select2-selection__reset{color:#999;color:var(--select2-reset-color,#999)}.select2-container--default.select2-container--disabled .select2-selection--single{background:#eee;background:var(--select2-selection-disabled-background,#eee);cursor:default}.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear{display:none}.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow:before{border-bottom-color:var(--select2-arrow-color,#888);border-color:transparent transparent #888;border-right-color:transparent;border-top-color:transparent;border-width:0 4px 5px}.select2-container--default .select2-selection--multiple{background:#fff;background:var(--select2-selection-background,#fff);border:1px solid #aaa;border:1px solid var(--select2-selection-border-color,#aaa);border-radius:4px;border-radius:var(--select2-selection-border-radius,4px);cursor:text}.select2-container--default .select2-selection--multiple .select2-selection__rendered{box-sizing:border-box;flex:1 1 auto;list-style:none;margin:0;padding:0 5px;width:100%}.select2-container--default .select2-selection--multiple .select2-selection__rendered li{list-style:none}.select2-container--default .select2-selection--multiple .select2-selection__placeholder{color:#999;color:var(--select2-placeholder-color,#999);display:block;float:left;margin-top:5px;overflow:hidden;text-overflow:ellipsis;text-overflow:var(--select2-placeholder-overflow,ellipsis);white-space:nowrap;width:100%}.select2-container--default .select2-selection--multiple .select2-selection__placeholder__option{display:none}.select2-container--default .select2-selection--multiple .select2-selection__clear{cursor:pointer;float:right;font-weight:700;margin-right:10px;margin-top:5px}.select2-container--default .select2-selection--multiple .select2-selection__choice{background:#e4e4e4;background:var(--select2-selection-choice-background,#e4e4e4);border:1px solid #aaa;border:1px solid var(--select2-selection-choice-border-color,#aaa);border-radius:4px;border-radius:var(--select2-selection-border-radius,4px);color:#000;color:var(--select2-selection-choice-text-color,#000);cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove{color:#999;color:var(--select2-selection-choice-close-color,#999);cursor:pointer;display:inline-block;font-weight:700;margin-right:2px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:#333;color:var(--select2-selection-choice-hover-close-color,#333)}.select2-container--default.select2-container--focused .select2-selection--multiple,.select2-container--default:not(.select2-container--open) .select2-focused .select2-selection--multiple,.select2-container--default:not(.select2-container--open) .select2-focused .select2-selection--single{border:1px solid #000;border:1px solid var(--select2-selection-focus-border-color,#000);outline:none}.select2-container--default.select2-container--disabled .select2-selection--multiple{background:#eee;background:var(--select2-selection-disabled-background,#eee);cursor:default}.select2-container--default.select2-container--disabled .select2-selection__choice__remove{display:none}.select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple,.select2-container--default.select2-container--open.select2-container--above .select2-selection--single{border-top-left-radius:0;border-top-right-radius:0}.select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple,.select2-container--default.select2-container--open.select2-container--below .select2-selection--single{border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--default .select2-search--dropdown .select2-search__field{background:#fff;background:1px solid var(--select2-search-background,#fff);border:1px solid #aaa;border:1px solid var(--select2-search-border-color,#aaa);border-radius:0;border-radius:var(--select2-search-border-radius,0)}.select2-container--default .select2-search--inline .select2-search__field{-webkit-appearance:textfield;background:transparent;border:none;box-shadow:none;outline:none}.select2-container--default .select2-results>.select2-results__options{overflow-y:auto}.select2-container--default .select2-results__option[role=group]{padding:0}.select2-container--default .select2-results__option[aria-disabled=true]{background:transparent;background:var(--select2-option-disabled-background,transparent);color:#999;color:var(--select2-option-disabled-text-color,#999)}.select2-container--default .select2-results__option[aria-selected=true]{background:#ddd;background:var(--select2-option-selected-background,#ddd);color:#000;color:var(--select2-option-selected-text-color,#000)}.select2-container--default .select2-results__option .select2-results__option{padding-left:1em}.select2-container--default .select2-results__option .select2-results__option .select2-results__group{padding-left:0}.select2-container--default .select2-results__option .select2-results__option .select2-results__option{margin-left:-1em;padding-left:2em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-2em;padding-left:3em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-3em;padding-left:4em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-4em;padding-left:5em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-5em;padding-left:6em}.select2-container--default .select2-results__option--highlighted[aria-selected]{background:#5897fb;background:var(--select2-option-highlighted-background,#5897fb);color:#fff;color:var(--select2-option-highlighted-text-color,#fff)}.select2-container--default .select2-results__option--hide{display:none}.select2-container--default .select2-results__group{background:transparent;background:var(--select2-option-group-background,transparent);color:grey;color:var(--select2-option-group-text-color,grey);cursor:default;display:block;padding:6px}.select2-no-result{color:#888;color:var(--select2-no-result-color,#888);font-style:italic;font-style:var(--select2-font-style-color,italic)}:host.nostyle .select2-dropdown{border-color:transparent}:host.nostyle .select2-container--default .select2-focused .select2-selection--multiple,:host.nostyle .select2-container--default .select2-focused .select2-selection--single,:host.nostyle .select2-container--default:not(.select2-container--open) .select2-focused .select2-selection--multiple,:host.nostyle .select2-container--default:not(.select2-container--open) .select2-focused .select2-selection--single,:host.nostyle .select2-selection--multiple,:host.nostyle .select2-selection--single{background:transparent;border-color:transparent}:host.material{display:inline-block;width:300px}:host.material>.select2-container{padding-bottom:1.29688em;vertical-align:inherit}:host.material>.select2-container .selection{align-items:baseline;border-top:.84375em solid transparent;display:inline-flex;height:auto;padding:.4375em 0;width:100%}:host.material .select2-container--default .select2-selection--multiple,:host.material .select2-container--default .select2-selection--single{border:0;border-radius:0;box-sizing:border-box;height:24px;width:100%}:host.material .select2-container--default .select2-selection--multiple:before,:host.material .select2-container--default .select2-selection--single:before{background:#ddd;background:var(--select2-material-underline,#ddd);bottom:1.65em;content:\" \";display:block;height:1px;position:absolute;width:100%}:host.material .select2-container--default .select2-selection--multiple:after,:host.material .select2-container--default .select2-selection--single:after{background:#5a419e;background:var(--select2-material-underline-active,#5a419e);bottom:1.63em;content:\" \";display:block;height:2px;left:50%;position:absolute;transition:none;width:0}:host.material .select2-container--default .select2-selection--multiple .select2-selection__rendered,:host.material .select2-container--default .select2-selection--single .select2-selection__rendered{line-height:inherit;padding-left:1px}:host.material .select2-container--default .select2-selection--multiple .select2-selection__placeholder,:host.material .select2-container--default .select2-selection--single .select2-selection__placeholder{color:rgba(0,0,0,.38);color:var(--select2-material-placeholder-color,rgba(0,0,0,.38));display:block;left:0;position:absolute;top:20px;transform-origin:0 21px;transition:transform .3s}:host.material .select2-container--default .select2-container--open{bottom:1.6em;left:0}:host.material .select2-container--default .select2-selection__placeholder__option{transform:translateY(-1.5em) scale(.75) perspective(100px) translateZ(.001px);width:133.33333%}:host.material .select2-container--default .select2-selection__arrow{top:20px}:host.material .select2-container--default.select2-container--open .select2-selection--multiple:after,:host.material .select2-container--default.select2-container--open .select2-selection--single:after,:host.material .select2-container--default .select2-focused .select2-selection--multiple:after,:host.material .select2-container--default .select2-focused .select2-selection--single:after{left:0;transition:width .3s cubic-bezier(.12,1,.77,1),left .3s cubic-bezier(.12,1,.77,1);width:100%}:host.material .select2-container--default .select2-dropdown{border:0;border-radius:0;box-shadow:0 5px 5px rgba(0,0,0,.5)}:host.material .select2-container--default .select2-results__option--highlighted[aria-selected],:host.material .select2-container--default .select2-results__option[aria-selected=true]{background:rgba(0,0,0,.04);background:var(--select2-material-option-selected-background,rgba(0,0,0,.04));color:#000;color:var(--select2-material-option-highlighted-text-color,#000)}:host.material .select2-container--default .select2-results__option[aria-selected=true]{color:#ff5722;color:var(--select2-material-option-selected-text-color,#ff5722)}:host.material .select2-container--default.select2-container--disabled .select2-selection--multiple,:host.material .select2-container--default.select2-container--disabled .select2-selection--single{background:transparent}:host.material .select2-container--default.select2-container--disabled .select2-selection--multiple:before,:host.material .select2-container--default.select2-container--disabled .select2-selection--single:before{background:linear-gradient(90deg,rgba(0,0,0,.26) 0,rgba(0,0,0,.26) 33%,transparent 0);background:var(--select2-material-underline-disabled,linear-gradient(90deg,rgba(0,0,0,.26) 0,rgba(0,0,0,.26) 33%,transparent 0));background-position:0 bottom;background-repeat:repeat-x;background-size:4px 1px}:host.material.ng-invalid.ng-touched .select2-container--default .select2-selection--multiple:after,:host.material.ng-invalid.ng-touched .select2-container--default .select2-selection--multiple:before,:host.material.ng-invalid.ng-touched .select2-container--default .select2-selection--single:after,:host.material.ng-invalid.ng-touched .select2-container--default .select2-selection--single:before{background:red;background:var(--select2-material-underline-invalid,red)}:host.material:not(.select2-container--open) .select2-focused .select2-selection--multiple,:host.material:not(.select2-container--open) .select2-focused .select2-selection--single{border:0}:host.material .select2-subscript-wrapper{color:#888;color:var(--select2-hint-text-color,#888);font-size:75%;position:absolute;top:calc(100% - 1.72917em)}::ng-deep .select2-overlay-backdrop{background:rgba(0,0,0,.32);background:var(--select2-overlay-backdrop,transparent)}::ng-deep .cdk-overlay-container .select2-container .select2-dropdown.select2-dropdown--above{bottom:28px}::ng-deep .cdk-overlay-container .select2-container--open.select2-position-auto .select2-dropdown{margin-bottom:28px}::ng-deep .cdk-overlay-container .select2-container--open.select2-position-auto .select2-dropdown.select2-dropdown--above{bottom:0;margin-bottom:0;margin-top:28px}@supports (-moz-appearance:none){select2.material .select2-container--default .select2-selection--multiple,select2.material .select2-container--default .select2-selection--single{height:26px}}@supports (-ms-scroll-limit:0){select2.material .select2-container--default .select2-selection--multiple,select2.material .select2-container--default .select2-selection--single{height:25px}}"]
|
|
1800
|
+
template: "<div class=\"select2-label\" (click)=\"toggleOpenAndClose()\">\n <ng-content select=\"select2-label\"></ng-content>\n <span *ngIf=\"required\" class=\"select2-required\"></span>\n</div>\n<div\n class=\"select2 select2-container select2-container--default select2-container--focus\"\n [class.select2-container--below]=\"!select2above\"\n [class.select2-container--above]=\"select2above\"\n [class.select2-container--open]=\"isOpen\"\n [class.select2-container--disabled]=\"disabled\"\n>\n <div\n class=\"selection\"\n #selection\n #trigger=\"cdkOverlayOrigin\"\n [attr.tabindex]=\"!this.isOpen ? tabIndex : '-1'\"\n (click)=\"toggleOpenAndClose()\"\n (focus)=\"focusin()\"\n (blur)=\"focusout()\"\n (keydown)=\"openKey($event)\"\n cdkOverlayOrigin\n [class.select2-focused]=\"focused\"\n >\n <div\n class=\"select2-selection\"\n [class.select2-selection--multiple]=\"multiple\"\n [class.select2-selection--single]=\"!multiple\"\n role=\"combobox\"\n >\n <span *ngIf=\"!multiple\" class=\"select2-selection__rendered\" [title]=\"select2Option?.label || ''\">\n <span *ngIf=\"!select2Option\"> </span>\n <span *ngIf=\"select2Option\" [innerHTML]=\"select2Option.label\"></span>\n <span [class.select2-selection__placeholder__option]=\"option\" class=\"select2-selection__placeholder\">{{\n placeholder\n }}</span>\n </span>\n <span\n (click)=\"reset($event)\"\n *ngIf=\"!multiple && resettable && select2Option && !(disabled || readonly)\"\n class=\"select2-selection__reset\"\n role=\"presentation\"\n >\u00D7</span\n >\n <span *ngIf=\"!multiple\" class=\"select2-selection__arrow\" role=\"presentation\"> </span>\n <ul *ngIf=\"multiple\" class=\"select2-selection__rendered\">\n <span\n [class.select2-selection__placeholder__option]=\"select2Options?.length > 0\"\n class=\"select2-selection__placeholder\"\n >{{ placeholder }}</span\n >\n <li *ngFor=\"let op of option; trackBy: trackBy\" class=\"select2-selection__choice\" [title]=\"op.label\">\n <span\n *ngIf=\"!(disabled || readonly)\"\n (click)=\"removeSelection($event, op)\"\n class=\"select2-selection__choice__remove\"\n role=\"presentation\"\n >\u00D7</span\n >\n <span [innerHTML]=\"op.label\"></span>\n </li>\n </ul>\n </div>\n </div>\n <ng-container *ngIf=\"!overlay\">\n <ng-container *ngTemplateOutlet=\"containerTemplate\"></ng-container>\n </ng-container>\n\n <div class=\"select2-subscript-wrapper\">\n <ng-content select=\"select2-hint\"></ng-content>\n </div>\n</div>\n\n<ng-template\n cdkConnectedOverlay\n cdkConnectedOverlayHasBackdrop\n cdkConnectedOverlayBackdropClass=\"select2-overlay-backdrop\"\n [cdkConnectedOverlayOrigin]=\"trigger\"\n [cdkConnectedOverlayOpen]=\"this.isOpen && overlay\"\n [cdkConnectedOverlayMinWidth]=\"overlayWidth\"\n [cdkConnectedOverlayHeight]=\"overlayHeight\"\n [cdkConnectedOverlayPositions]=\"_positions\"\n (backdropClick)=\"toggleOpenAndClose()\"\n>\n <ng-container *ngTemplateOutlet=\"containerTemplate\"></ng-container>\n</ng-template>\n\n<ng-template #containerTemplate>\n <div\n class=\"select2-container select2-container--default select2-container-dropdown\"\n [class.select2-container--open]=\"isOpen\"\n [class.select2-overlay]=\"overlay\"\n [class.select2-position-auto]=\"listPosition === 'auto'\"\n >\n <div\n #dropdown\n class=\"select2-dropdown\"\n [class.select2-dropdown--below]=\"!select2above\"\n [class.select2-dropdown--above]=\"select2above\"\n >\n <div class=\"select2-search select2-search--dropdown\" [class.select2-search--hide]=\"hideSearch()\">\n <input\n #searchInput\n [id]=\"id + '-search-field'\"\n [value]=\"searchText\"\n (keydown)=\"keyDown($event)\"\n (keyup)=\"searchUpdate($event)\"\n (change)=\"prevChange($event)\"\n class=\"select2-search__field\"\n type=\"search\"\n role=\"textbox\"\n autocomplete=\"off\"\n autocorrect=\"off\"\n autocapitalize=\"off\"\n spellcheck=\"false\"\n [attr.tabindex]=\"this.isOpen ? tabIndex : '-1'\"\n />\n </div>\n <div class=\"select2-results\">\n <ul\n #results\n class=\"select2-results__options\"\n [style.max-height]=\"resultMaxHeight\"\n role=\"tree\"\n tabindex=\"-1\"\n infiniteScroll\n [infiniteScrollDisabled]=\"!infiniteScroll && !isOpen\"\n [infiniteScrollDistance]=\"infiniteScrollDistance\"\n [infiniteScrollThrottle]=\"infiniteScrollThrottle\"\n [infiniteScrollContainer]=\"results\"\n (scrolled)=\"onScroll('down')\"\n (scrolledUp)=\"onScroll('up')\"\n (keydown)=\"keyDown($event)\"\n >\n <ng-container *ngFor=\"let groupOrOption of filteredData; index as i; trackBy: trackBy\">\n <li *ngIf=\"groupOrOption.options\" class=\"select2-results__option\" role=\"group\">\n <strong\n *ngIf=\"!hasTemplate(groupOrOption, 'group'); else optGroup\"\n [attr.class]=\"\n 'select2-results__group' +\n (groupOrOption.classes ? ' ' + groupOrOption.classes : '')\n \"\n [innerHTML]=\"groupOrOption.label\"\n ></strong>\n <ng-template #optGroup>\n <ng-container\n *ngTemplateOutlet=\"getTemplate(groupOrOption, 'group'); context: groupOrOption\"\n >\n </ng-container>\n </ng-template>\n\n <ul class=\"select2-results__options select2-results__options--nested\">\n <li\n *ngFor=\"let option of groupOrOption.options; index as j; trackBy: trackBy\"\n #result\n [id]=\"option.id || id + '-option-' + i + '-' + j\"\n [class]=\"getOptionStyle(option)\"\n role=\"treeitem\"\n [attr.aria-selected]=\"isSelected(option)\"\n [attr.aria-disabled]=\"isDisabled(option)\"\n (mouseenter)=\"mouseenter(option)\"\n (click)=\"click(option)\"\n >\n <div\n *ngIf=\"!hasTemplate(option, 'option'); else liGroup\"\n class=\"select2-label-content\"\n [innerHTML]=\"option.label\"\n ></div>\n <ng-template #liGroup>\n <ng-container\n *ngTemplateOutlet=\"getTemplate(option, 'option'); context: option\"\n >\n </ng-container>\n </ng-template>\n </li>\n </ul>\n </li>\n <li\n *ngIf=\"!groupOrOption.options\"\n #result\n [id]=\"groupOrOption.id || id + '-option-' + i\"\n [class]=\"getOptionStyle(groupOrOption)\"\n role=\"treeitem\"\n [attr.aria-selected]=\"isSelected(groupOrOption)\"\n [attr.aria-disabled]=\"isDisabled(groupOrOption)\"\n (mouseenter)=\"mouseenter(groupOrOption)\"\n (click)=\"click(groupOrOption)\"\n >\n <div\n *ngIf=\"!hasTemplate(groupOrOption, 'option'); else li\"\n [innerHTML]=\"groupOrOption.label\"\n class=\"select2-label-content\"\n ></div>\n <ng-template #li>\n <ng-container\n *ngTemplateOutlet=\"getTemplate(groupOrOption, 'option'); context: groupOrOption\"\n >\n </ng-container>\n </ng-template>\n </li>\n </ng-container>\n <li\n class=\"select2-no-result select2-results__option\"\n *ngIf=\"!filteredData?.length && noResultMessage\"\n [innerHTML]=\"noResultMessage\"\n ></li>\n <li\n class=\"select2-too-much-result select2-results__option\"\n *ngIf=\"maxResultsExceeded\"\n [innerHTML]=\"maxResultsMessage\"\n ></li>\n </ul>\n </div>\n </div>\n </div>\n</ng-template>\n",
|
|
1801
|
+
styles: [".select2-label{color:#000;color:var(--select2-label-text-color,#000)}.select2-container{box-sizing:border-box;display:inline-block;margin:0;position:relative;vertical-align:middle;width:100%}.select2-container .select2-container-dropdown{opacity:0;position:absolute;width:0}.select2-container .select2-selection--single{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;box-sizing:border-box;cursor:pointer;display:block;height:28px;user-select:none}.select2-container .select2-selection--single .select2-selection__rendered{display:block;flex:1 1 auto;overflow:hidden;padding:0 0 0 8px;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-selection--single .select2-selection__clear{position:relative}.select2-container .select2-selection--multiple{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;box-sizing:border-box;cursor:pointer;display:block;min-height:32px;user-select:none}.select2-container .select2-selection--multiple .select2-selection__rendered{display:inline-block;overflow:hidden;padding-left:8px;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-search--inline{float:left}.select2-container .select2-search--inline .select2-search__field{border:none;box-sizing:border-box;font-size:100%;margin-top:5px;padding:0}.select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-dropdown{background:#fff;background:var(--select2-dropdown-background,#fff);border:1px solid #aaa;border:1px solid var(--select2-dropdown-border-color,#aaa);border-radius:4px;border-radius:var(--select2-selection-border-radius,4px);box-sizing:border-box;display:block;height:0;overflow:hidden;position:absolute;width:100%;z-index:1051}.select2-dropdown .select2-label-content{display:contents}.select2-results{display:block}.select2-results__options{list-style:none;margin:0;padding:0}.select2-results__option{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;color:#000;color:var(--select2-option-text-color,#000);padding:6px;user-select:none}.select2-results__option[aria-selected]{cursor:pointer}.select2-container.select2-container-dropdown.select2-container--open{opacity:1;width:100%}.select2-container--open .select2-dropdown{height:auto;overflow:auto}.select2-container--open .select2-dropdown--above{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0;bottom:27px;display:flex;flex-direction:column-reverse}.select2-container--open .select2-dropdown--below{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-search--dropdown{display:block;padding:4px}.select2-search--dropdown .select2-search__field{box-sizing:border-box;padding:4px;width:100%}.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-search--dropdown.select2-search--hide{display:none}.select2-close-mask{background:#fff;border:0;display:block;filter:alpha(opacity=0);height:auto;left:0;margin:0;min-height:100%;min-width:100%;opacity:0;padding:0;position:fixed;top:0;width:auto;z-index:99}.select2-required:before{color:red;color:var(--select2-required-color,red);content:\"*\"}.select2-hidden-accessible{border:0!important;clip:rect(0 0 0 0)!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;width:1px!important}.select2-container--default .select2-selection--single{background:#fff;background:var(--select2-selection-background,#fff);border:1px solid #aaa;border:1px solid var(--select2-selection-border-color,#aaa);border-radius:4px;border-radius:var(--select2-selection-border-radius,4px);display:flex}.select2-container--default .select2-selection--single .select2-selection__rendered{color:#444;color:var(--select2-selection-text-color,#444);line-height:28px}.select2-container--default .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:700}.select2-container--default .select2-selection--single .select2-selection__placeholder{color:#999;color:var(--select2-placeholder-color,#999)}.select2-container--default .select2-selection--single .select2-selection__placeholder span{overflow:hidden;text-overflow:ellipsis;text-overflow:var(--select2-placeholder-overflow,ellipsis);white-space:nowrap}.select2-container--default .select2-selection--single .select2-selection__placeholder__option{display:none}.select2-container--default .select2-selection--single .select2-selection__arrow,.select2-container--default .select2-selection--single .select2-selection__reset{align-items:center;display:flex;justify-content:center;width:20px}.select2-container--default .select2-selection--single .select2-selection__arrow:before{border-bottom:0 solid var(--select2-arrow-color,#888);border-color:#888 transparent;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid var(--select2-arrow-color,#888);content:\" \";height:0;width:0}.select2-container--default .select2-selection--single .select2-selection__reset{color:#999;color:var(--select2-reset-color,#999)}.select2-container--default.select2-container--disabled .select2-selection--single{background:#eee;background:var(--select2-selection-disabled-background,#eee);cursor:default}.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear{display:none}.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow:before{border-bottom-color:var(--select2-arrow-color,#888);border-color:transparent transparent #888;border-right-color:transparent;border-top-color:transparent;border-width:0 4px 5px}.select2-container--default .select2-selection--multiple{background:#fff;background:var(--select2-selection-background,#fff);border:1px solid #aaa;border:1px solid var(--select2-selection-border-color,#aaa);border-radius:4px;border-radius:var(--select2-selection-border-radius,4px);cursor:text}.select2-container--default .select2-selection--multiple .select2-selection__rendered{box-sizing:border-box;flex:1 1 auto;list-style:none;margin:0;padding:0 5px;width:100%}.select2-container--default .select2-selection--multiple .select2-selection__rendered li{list-style:none}.select2-container--default .select2-selection--multiple .select2-selection__placeholder{color:#999;color:var(--select2-placeholder-color,#999);display:block;float:left;margin-top:5px;overflow:hidden;text-overflow:ellipsis;text-overflow:var(--select2-placeholder-overflow,ellipsis);white-space:nowrap;width:100%}.select2-container--default .select2-selection--multiple .select2-selection__placeholder__option{display:none}.select2-container--default .select2-selection--multiple .select2-selection__clear{cursor:pointer;float:right;font-weight:700;margin-right:10px;margin-top:5px}.select2-container--default .select2-selection--multiple .select2-selection__choice{background:#e4e4e4;background:var(--select2-selection-choice-background,#e4e4e4);border:1px solid #aaa;border:1px solid var(--select2-selection-choice-border-color,#aaa);border-radius:4px;border-radius:var(--select2-selection-border-radius,4px);color:#000;color:var(--select2-selection-choice-text-color,#000);cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove{color:#999;color:var(--select2-selection-choice-close-color,#999);cursor:pointer;display:inline-block;font-weight:700;margin-right:2px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:#333;color:var(--select2-selection-choice-hover-close-color,#333)}.select2-container--default.select2-container--focused .select2-selection--multiple,.select2-container--default:not(.select2-container--open) .select2-focused .select2-selection--multiple,.select2-container--default:not(.select2-container--open) .select2-focused .select2-selection--single{border:1px solid #000;border:1px solid var(--select2-selection-focus-border-color,#000);outline:none}.select2-container--default.select2-container--disabled .select2-selection--multiple{background:#eee;background:var(--select2-selection-disabled-background,#eee);cursor:default}.select2-container--default.select2-container--disabled .select2-selection__choice__remove{display:none}.select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple,.select2-container--default.select2-container--open.select2-container--above .select2-selection--single{border-top-left-radius:0;border-top-right-radius:0}.select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple,.select2-container--default.select2-container--open.select2-container--below .select2-selection--single{border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--default .select2-search--dropdown .select2-search__field{background:#fff;background:1px solid var(--select2-search-background,#fff);border:1px solid #aaa;border:1px solid var(--select2-search-border-color,#aaa);border-radius:0;border-radius:var(--select2-search-border-radius,0)}.select2-container--default .select2-search--inline .select2-search__field{-webkit-appearance:textfield;background:transparent;border:none;box-shadow:none;outline:none}.select2-container--default .select2-results>.select2-results__options{overflow-y:auto}.select2-container--default .select2-results__option[role=group]{padding:0}.select2-container--default .select2-results__option[aria-disabled=true]{background:transparent;background:var(--select2-option-disabled-background,transparent);color:#999;color:var(--select2-option-disabled-text-color,#999)}.select2-container--default .select2-results__option[aria-selected=true]{background:#ddd;background:var(--select2-option-selected-background,#ddd);color:#000;color:var(--select2-option-selected-text-color,#000)}.select2-container--default .select2-results__option .select2-results__option{padding-left:1em}.select2-container--default .select2-results__option .select2-results__option .select2-results__group{padding-left:0}.select2-container--default .select2-results__option .select2-results__option .select2-results__option{margin-left:-1em;padding-left:2em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-2em;padding-left:3em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-3em;padding-left:4em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-4em;padding-left:5em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-5em;padding-left:6em}.select2-container--default .select2-results__option--highlighted[aria-selected]{background:#5897fb;background:var(--select2-option-highlighted-background,#5897fb);color:#fff;color:var(--select2-option-highlighted-text-color,#fff)}.select2-container--default .select2-results__option--hide{display:none}.select2-container--default .select2-results__group{background:transparent;background:var(--select2-option-group-background,transparent);color:grey;color:var(--select2-option-group-text-color,grey);cursor:default;display:block;padding:6px}.select2-no-result{color:#888;color:var(--select2-no-result-color,#888);font-style:italic;font-style:var(--select2-no-result-font-style,italic)}.select2-too-much-result{color:#888;color:var(--select2-too-much-result-color,#888);font-style:italic;font-style:var(--select2-too-much-font-style,italic)}:host.nostyle .select2-dropdown{border-color:transparent}:host.nostyle .select2-container--default .select2-focused .select2-selection--multiple,:host.nostyle .select2-container--default .select2-focused .select2-selection--single,:host.nostyle .select2-container--default:not(.select2-container--open) .select2-focused .select2-selection--multiple,:host.nostyle .select2-container--default:not(.select2-container--open) .select2-focused .select2-selection--single,:host.nostyle .select2-selection--multiple,:host.nostyle .select2-selection--single{background:transparent;border-color:transparent}:host.material{display:inline-block;width:300px}:host.material>.select2-container{padding-bottom:1.29688em;vertical-align:inherit}:host.material>.select2-container .selection{align-items:baseline;border-top:.84375em solid transparent;display:inline-flex;height:auto;padding:.4375em 0;width:100%}:host.material .select2-container--default .select2-selection--multiple,:host.material .select2-container--default .select2-selection--single{border:0;border-radius:0;box-sizing:border-box;height:24px;width:100%}:host.material .select2-container--default .select2-selection--multiple:before,:host.material .select2-container--default .select2-selection--single:before{background:#ddd;background:var(--select2-material-underline,#ddd);bottom:1.65em;content:\" \";display:block;height:1px;position:absolute;width:100%}:host.material .select2-container--default .select2-selection--multiple:after,:host.material .select2-container--default .select2-selection--single:after{background:#5a419e;background:var(--select2-material-underline-active,#5a419e);bottom:1.63em;content:\" \";display:block;height:2px;left:50%;position:absolute;transition:none;width:0}:host.material .select2-container--default .select2-selection--multiple .select2-selection__rendered,:host.material .select2-container--default .select2-selection--single .select2-selection__rendered{line-height:inherit;padding-left:1px}:host.material .select2-container--default .select2-selection--multiple .select2-selection__placeholder,:host.material .select2-container--default .select2-selection--single .select2-selection__placeholder{color:rgba(0,0,0,.38);color:var(--select2-material-placeholder-color,rgba(0,0,0,.38));display:block;left:0;position:absolute;top:20px;transform-origin:0 21px;transition:transform .3s}:host.material .select2-container--default .select2-container--open{bottom:1.6em;left:0}:host.material .select2-container--default .select2-selection__placeholder__option{transform:translateY(-1.5em) scale(.75) perspective(100px) translateZ(.001px);width:133.33333%}:host.material .select2-container--default .select2-selection__arrow{top:20px}:host.material .select2-container--default.select2-container--open .select2-selection--multiple:after,:host.material .select2-container--default.select2-container--open .select2-selection--single:after,:host.material .select2-container--default .select2-focused .select2-selection--multiple:after,:host.material .select2-container--default .select2-focused .select2-selection--single:after{left:0;transition:width .3s cubic-bezier(.12,1,.77,1),left .3s cubic-bezier(.12,1,.77,1);width:100%}:host.material .select2-container--default .select2-dropdown{border:0;border-radius:0;box-shadow:0 5px 5px rgba(0,0,0,.5)}:host.material .select2-container--default .select2-results__option--highlighted[aria-selected],:host.material .select2-container--default .select2-results__option[aria-selected=true]{background:rgba(0,0,0,.04);background:var(--select2-material-option-selected-background,rgba(0,0,0,.04));color:#000;color:var(--select2-material-option-highlighted-text-color,#000)}:host.material .select2-container--default .select2-results__option[aria-selected=true]{color:#ff5722;color:var(--select2-material-option-selected-text-color,#ff5722)}:host.material .select2-container--default.select2-container--disabled .select2-selection--multiple,:host.material .select2-container--default.select2-container--disabled .select2-selection--single{background:transparent}:host.material .select2-container--default.select2-container--disabled .select2-selection--multiple:before,:host.material .select2-container--default.select2-container--disabled .select2-selection--single:before{background:linear-gradient(90deg,rgba(0,0,0,.26) 0,rgba(0,0,0,.26) 33%,transparent 0);background:var(--select2-material-underline-disabled,linear-gradient(90deg,rgba(0,0,0,.26) 0,rgba(0,0,0,.26) 33%,transparent 0));background-position:0 bottom;background-repeat:repeat-x;background-size:4px 1px}:host.material.ng-invalid.ng-touched .select2-container--default .select2-selection--multiple:after,:host.material.ng-invalid.ng-touched .select2-container--default .select2-selection--multiple:before,:host.material.ng-invalid.ng-touched .select2-container--default .select2-selection--single:after,:host.material.ng-invalid.ng-touched .select2-container--default .select2-selection--single:before{background:red;background:var(--select2-material-underline-invalid,red)}:host.material:not(.select2-container--open) .select2-focused .select2-selection--multiple,:host.material:not(.select2-container--open) .select2-focused .select2-selection--single{border:0}:host.material .select2-subscript-wrapper{color:#888;color:var(--select2-hint-text-color,#888);font-size:75%;position:absolute;top:calc(100% - 1.72917em)}::ng-deep .select2-overlay-backdrop{background:rgba(0,0,0,.32);background:var(--select2-overlay-backdrop,transparent)}::ng-deep .cdk-overlay-container .select2-container .select2-dropdown.select2-dropdown--above{bottom:28px}::ng-deep .cdk-overlay-container .select2-container--open.select2-position-auto .select2-dropdown{margin-bottom:28px}::ng-deep .cdk-overlay-container .select2-container--open.select2-position-auto .select2-dropdown.select2-dropdown--above{bottom:0;margin-bottom:0;margin-top:28px}@supports (-moz-appearance:none){select2.material .select2-container--default .select2-selection--multiple,select2.material .select2-container--default .select2-selection--single{height:26px}}@supports (-ms-scroll-limit:0){select2.material .select2-container--default .select2-selection--multiple,select2.material .select2-container--default .select2-selection--single{height:25px}}"]
|
|
1759
1802
|
}] }
|
|
1760
1803
|
];
|
|
1761
1804
|
/** @nocollapse */
|
|
@@ -1779,6 +1822,8 @@ Select2.propDecorators = {
|
|
|
1779
1822
|
overlay: [{ type: Input }],
|
|
1780
1823
|
styleMode: [{ type: Input }],
|
|
1781
1824
|
noResultMessage: [{ type: Input }],
|
|
1825
|
+
maxResults: [{ type: Input }],
|
|
1826
|
+
maxResultsMessage: [{ type: Input }],
|
|
1782
1827
|
infiniteScrollDistance: [{ type: Input }],
|
|
1783
1828
|
infiniteScrollThrottle: [{ type: Input }],
|
|
1784
1829
|
infiniteScroll: [{ type: Input }],
|
|
@@ -1838,6 +1883,16 @@ if (false) {
|
|
|
1838
1883
|
* @type {?}
|
|
1839
1884
|
*/
|
|
1840
1885
|
Select2.prototype.noResultMessage;
|
|
1886
|
+
/**
|
|
1887
|
+
* maximum results limit (0 = no limit)
|
|
1888
|
+
* @type {?}
|
|
1889
|
+
*/
|
|
1890
|
+
Select2.prototype.maxResults;
|
|
1891
|
+
/**
|
|
1892
|
+
* message when maximum results
|
|
1893
|
+
* @type {?}
|
|
1894
|
+
*/
|
|
1895
|
+
Select2.prototype.maxResultsMessage;
|
|
1841
1896
|
/**
|
|
1842
1897
|
* infinite scroll distance
|
|
1843
1898
|
* @type {?}
|
|
@@ -1900,6 +1955,8 @@ if (false) {
|
|
|
1900
1955
|
Select2.prototype._triggerRect;
|
|
1901
1956
|
/** @type {?} */
|
|
1902
1957
|
Select2.prototype._dropdownRect;
|
|
1958
|
+
/** @type {?} */
|
|
1959
|
+
Select2.prototype.maxResultsExceeded;
|
|
1903
1960
|
/**
|
|
1904
1961
|
* @type {?}
|
|
1905
1962
|
* @private
|