@progress/kendo-angular-dropdowns 12.0.0-develop.7 → 12.0.0-develop.8
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/autocomplete/autocomplete.component.d.ts +82 -20
- package/comboboxes/combobox.component.d.ts +76 -8
- package/comboboxes/multicolumncombobox.component.d.ts +4 -0
- package/common/action-sheet.component.d.ts +43 -0
- package/common/list.component.d.ts +2 -1
- package/common/localization/messages.d.ts +9 -1
- package/common/selection/selectable.directive.d.ts +2 -1
- package/common/shared.module.d.ts +11 -7
- package/common/util.d.ts +39 -2
- package/dropdownlist/dropdownlist.component.d.ts +78 -9
- package/dropdowntrees/dropdowntree.component.d.ts +80 -8
- package/dropdowntrees/multiselecttree.component.d.ts +90 -6
- package/esm2020/autocomplete/autocomplete.component.mjs +294 -116
- package/esm2020/comboboxes/combobox.component.mjs +251 -60
- package/esm2020/comboboxes/multicolumncombobox.component.mjs +110 -119
- package/esm2020/common/action-sheet.component.mjs +243 -0
- package/esm2020/common/list.component.mjs +11 -2
- package/esm2020/common/localization/messages.mjs +5 -1
- package/esm2020/common/selection/selectable.directive.mjs +3 -3
- package/esm2020/common/shared.module.mjs +13 -6
- package/esm2020/common/util.mjs +68 -2
- package/esm2020/dropdownlist/dropdownlist.component.mjs +245 -64
- package/esm2020/dropdowntrees/dropdowntree.component.mjs +254 -56
- package/esm2020/dropdowntrees/multiselecttree.component.mjs +291 -55
- package/esm2020/index.mjs +1 -0
- package/esm2020/multiselect/multiselect.component.mjs +320 -88
- package/esm2020/package-metadata.mjs +2 -2
- package/fesm2015/progress-kendo-angular-dropdowns.mjs +2085 -552
- package/fesm2020/progress-kendo-angular-dropdowns.mjs +2054 -545
- package/index.d.ts +2 -0
- package/multiselect/multiselect.component.d.ts +87 -10
- package/package.json +9 -8
- package/schematics/ngAdd/index.js +2 -2
|
@@ -4,9 +4,9 @@
|
|
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
|
5
5
|
import * as i0 from '@angular/core';
|
|
6
6
|
import { EventEmitter, Component, Input, Output, ViewChild, HostBinding, Directive, Injectable, InjectionToken, HostListener, ViewChildren, forwardRef, isDevMode, ViewContainerRef, Optional, Inject, ContentChild, ContentChildren, ChangeDetectionStrategy, NgModule } from '@angular/core';
|
|
7
|
-
import * as
|
|
7
|
+
import * as i9 from '@progress/kendo-angular-common';
|
|
8
8
|
import { isDocumentAvailable, isSafari, Keys, isChanged, hasObservers, KendoInput, anyChanged, guid as guid$1, ResizeSensorModule, EventsModule } from '@progress/kendo-angular-common';
|
|
9
|
-
import * as
|
|
9
|
+
import * as i14 from '@angular/forms';
|
|
10
10
|
import { NgControl, NG_VALUE_ACCESSOR, FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
11
11
|
import { validatePackage } from '@progress/kendo-licensing';
|
|
12
12
|
import { getter as getter$1, pointers, touchEnabled } from '@progress/kendo-common';
|
|
@@ -14,14 +14,20 @@ import { Subscription, merge, fromEvent, Subject, of, interval } from 'rxjs';
|
|
|
14
14
|
import * as i1 from '@progress/kendo-angular-l10n';
|
|
15
15
|
import { ComponentMessages, LocalizationService, L10N_PREFIX } from '@progress/kendo-angular-l10n';
|
|
16
16
|
import { xIcon, caretAltDownIcon, searchIcon, xCircleIcon, plusIcon } from '@progress/kendo-svg-icons';
|
|
17
|
-
import * as i2 from '@progress/kendo-angular-
|
|
18
|
-
import {
|
|
19
|
-
|
|
17
|
+
import * as i2 from '@progress/kendo-angular-navigation';
|
|
18
|
+
import { ActionSheetComponent, ActionSheetModule } from '@progress/kendo-angular-navigation';
|
|
19
|
+
import * as i3 from '@progress/kendo-angular-buttons';
|
|
20
|
+
import { ButtonModule } from '@progress/kendo-angular-buttons';
|
|
21
|
+
import * as i4 from '@progress/kendo-angular-inputs';
|
|
22
|
+
import { TextBoxModule } from '@progress/kendo-angular-inputs';
|
|
20
23
|
import * as i8 from '@progress/kendo-angular-icons';
|
|
21
24
|
import { IconsModule } from '@progress/kendo-angular-icons';
|
|
22
|
-
import
|
|
23
|
-
import * as i12 from '@angular/common';
|
|
25
|
+
import * as i13 from '@angular/common';
|
|
24
26
|
import { CommonModule } from '@angular/common';
|
|
27
|
+
import * as i2$1 from '@progress/kendo-angular-popup';
|
|
28
|
+
import { PopupModule } from '@progress/kendo-angular-popup';
|
|
29
|
+
export { PopupComponent } from '@progress/kendo-angular-popup';
|
|
30
|
+
import { map, switchMap, take, auditTime, tap, filter, partition, throttleTime, catchError, skipWhile, concatMap, takeUntil, debounceTime } from 'rxjs/operators';
|
|
25
31
|
import * as i1$1 from '@progress/kendo-angular-treeview';
|
|
26
32
|
import { DataBoundComponent, ExpandableComponent, FlatDataBindingDirective, HierarchyBindingDirective, ExpandDirective, TreeViewModule } from '@progress/kendo-angular-treeview';
|
|
27
33
|
|
|
@@ -32,8 +38,8 @@ const packageMetadata = {
|
|
|
32
38
|
name: '@progress/kendo-angular-dropdowns',
|
|
33
39
|
productName: 'Kendo UI for Angular',
|
|
34
40
|
productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
|
|
35
|
-
publishDate:
|
|
36
|
-
version: '12.0.0-develop.
|
|
41
|
+
publishDate: 1681813981,
|
|
42
|
+
version: '12.0.0-develop.8',
|
|
37
43
|
licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
|
|
38
44
|
};
|
|
39
45
|
|
|
@@ -389,13 +395,79 @@ const getTextField = (field, level) => {
|
|
|
389
395
|
/**
|
|
390
396
|
* @hidden
|
|
391
397
|
*/
|
|
392
|
-
const getSearchableItems = (treeViewId,
|
|
398
|
+
const getSearchableItems = (treeViewId, element) => {
|
|
393
399
|
const nodeSeletor = `kendo-treeview[id='${treeViewId}'] li.k-treeview-item`;
|
|
394
|
-
const liElements = Array.from(
|
|
400
|
+
const liElements = Array.from(element.querySelectorAll(nodeSeletor));
|
|
395
401
|
return liElements.map((liElement) => {
|
|
396
402
|
return { text: liElement.innerText, index: liElement.getAttribute('data-treeindex') };
|
|
397
403
|
});
|
|
398
404
|
};
|
|
405
|
+
/**
|
|
406
|
+
* @hidden
|
|
407
|
+
*/
|
|
408
|
+
const windowSize = () => {
|
|
409
|
+
if (typeof window !== 'undefined') {
|
|
410
|
+
if (window.innerWidth > 768) {
|
|
411
|
+
return 'large';
|
|
412
|
+
}
|
|
413
|
+
else if (window.innerWidth > 500) {
|
|
414
|
+
return 'medium';
|
|
415
|
+
}
|
|
416
|
+
else {
|
|
417
|
+
return 'small';
|
|
418
|
+
}
|
|
419
|
+
}
|
|
420
|
+
};
|
|
421
|
+
/**
|
|
422
|
+
* @hidden
|
|
423
|
+
*/
|
|
424
|
+
const isTruthy = (value) => !!value;
|
|
425
|
+
/**
|
|
426
|
+
* @hidden
|
|
427
|
+
*/
|
|
428
|
+
const updateActionSheetAdaptiveAppearance = (actionSheet, windowSize, renderer) => {
|
|
429
|
+
const element = actionSheet['element'].nativeElement.querySelector('.k-actionsheet');
|
|
430
|
+
const animationContainer = actionSheet['element'].nativeElement.querySelector('.k-child-animation-container');
|
|
431
|
+
if (windowSize === 'medium') {
|
|
432
|
+
renderer.removeClass(element, 'k-actionsheet-fullscreen');
|
|
433
|
+
renderer.addClass(element, 'k-actionsheet-bottom');
|
|
434
|
+
renderer.addClass(element, 'k-adaptive-actionsheet');
|
|
435
|
+
renderer.removeStyle(animationContainer, 'top');
|
|
436
|
+
renderer.removeStyle(animationContainer, 'height');
|
|
437
|
+
renderer.setStyle(animationContainer, 'bottom', '0px');
|
|
438
|
+
}
|
|
439
|
+
else if (windowSize === 'small') {
|
|
440
|
+
renderer.removeClass(element, 'k-actionsheet-bottom');
|
|
441
|
+
renderer.addClass(element, 'k-actionsheet-fullscreen');
|
|
442
|
+
renderer.addClass(element, 'k-adaptive-actionsheet');
|
|
443
|
+
renderer.setStyle(animationContainer, 'bottom', '0px');
|
|
444
|
+
renderer.setStyle(animationContainer, 'height', '100%');
|
|
445
|
+
}
|
|
446
|
+
};
|
|
447
|
+
/**
|
|
448
|
+
* @hidden
|
|
449
|
+
*/
|
|
450
|
+
const setListBoxAriaLabelLebBy = (optionsList, element, renderer) => {
|
|
451
|
+
const listBox = optionsList.wrapper.nativeElement.querySelector('kendo-list ul');
|
|
452
|
+
const ariaLabel = element.nativeElement.getAttribute('aria-labelledby');
|
|
453
|
+
if (ariaLabel) {
|
|
454
|
+
renderer.setAttribute(listBox, 'aria-labelledby', ariaLabel);
|
|
455
|
+
}
|
|
456
|
+
};
|
|
457
|
+
/**
|
|
458
|
+
* @hidden
|
|
459
|
+
*/
|
|
460
|
+
const setActionSheetTitle = (element, actionSheetTitle) => {
|
|
461
|
+
const ariaLabel = element.nativeElement.getAttribute('aria-labelledby');
|
|
462
|
+
if (!actionSheetTitle && ariaLabel) {
|
|
463
|
+
return document.getElementById(ariaLabel).innerText;
|
|
464
|
+
}
|
|
465
|
+
return actionSheetTitle;
|
|
466
|
+
};
|
|
467
|
+
/**
|
|
468
|
+
* @hidden
|
|
469
|
+
*/
|
|
470
|
+
const animationDuration = 300;
|
|
399
471
|
|
|
400
472
|
/**
|
|
401
473
|
* @hidden
|
|
@@ -601,7 +673,7 @@ SearchBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ver
|
|
|
601
673
|
[attr.aria-busy]="isLoading"
|
|
602
674
|
[attr.aria-invalid]="formControl?.invalid"
|
|
603
675
|
/>
|
|
604
|
-
`, isInline: true, directives: [{ type:
|
|
676
|
+
`, isInline: true, directives: [{ type: i9.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }] });
|
|
605
677
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SearchBarComponent, decorators: [{
|
|
606
678
|
type: Component,
|
|
607
679
|
args: [{
|
|
@@ -1630,6 +1702,233 @@ const normalizeVirtualizationSettings = (settings, defaultOverrides) => {
|
|
|
1630
1702
|
*/
|
|
1631
1703
|
const TOUCH_ENABLED = new InjectionToken('dropdowns-touch-enabled');
|
|
1632
1704
|
|
|
1705
|
+
/**
|
|
1706
|
+
* @hidden
|
|
1707
|
+
*/
|
|
1708
|
+
class ResponsiveRendererComponent {
|
|
1709
|
+
constructor(localization) {
|
|
1710
|
+
this.localization = localization;
|
|
1711
|
+
this.closePopup = new EventEmitter();
|
|
1712
|
+
this.textInputChange = new EventEmitter();
|
|
1713
|
+
this.navigate = new EventEmitter();
|
|
1714
|
+
this.onExpand = new EventEmitter();
|
|
1715
|
+
this.onCollapse = new EventEmitter();
|
|
1716
|
+
this.onApply = new EventEmitter();
|
|
1717
|
+
this.onCancel = new EventEmitter();
|
|
1718
|
+
this.searchBarValue = '';
|
|
1719
|
+
this.animationDuration = animationDuration;
|
|
1720
|
+
this.xIcon = xIcon;
|
|
1721
|
+
}
|
|
1722
|
+
messageFor(key) {
|
|
1723
|
+
return this.localization.get(key);
|
|
1724
|
+
}
|
|
1725
|
+
onValueChange(value) {
|
|
1726
|
+
this.searchBarValue = value;
|
|
1727
|
+
this.textInputChange.emit(value);
|
|
1728
|
+
}
|
|
1729
|
+
}
|
|
1730
|
+
ResponsiveRendererComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ResponsiveRendererComponent, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
1731
|
+
ResponsiveRendererComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: ResponsiveRendererComponent, selector: "responsive-renderer", inputs: { title: "title", showActionButtons: "showActionButtons", subtitle: "subtitle", size: "size", showTextInput: "showTextInput", sharedPopupActionSheetTemplate: "sharedPopupActionSheetTemplate", isActionSheetExpanded: "isActionSheetExpanded", text: "text", placeholder: "placeholder" }, outputs: { closePopup: "closePopup", textInputChange: "textInputChange", navigate: "navigate", onExpand: "onExpand", onCollapse: "onCollapse", onApply: "onApply", onCancel: "onCancel" }, viewQueries: [{ propertyName: "actionSheet", first: true, predicate: ActionSheetComponent, descendants: true }, { propertyName: "actionSheetSearchBar", first: true, predicate: ["actionSheetSearchBar"], descendants: true }], ngImport: i0, template: `
|
|
1732
|
+
<kendo-actionsheet
|
|
1733
|
+
#actionSheet
|
|
1734
|
+
[animation]="{ duration: animationDuration }"
|
|
1735
|
+
[expanded]="isActionSheetExpanded"
|
|
1736
|
+
(overlayClick)="closePopup.emit()"
|
|
1737
|
+
(keydown)="navigate.emit($event)"
|
|
1738
|
+
(expand)="onExpand.emit()"
|
|
1739
|
+
(collapse)="onCollapse.emit()"
|
|
1740
|
+
>
|
|
1741
|
+
<ng-template kendoActionSheetTemplate>
|
|
1742
|
+
<div class="k-text-center k-actionsheet-titlebar">
|
|
1743
|
+
<div class="k-actionsheet-titlebar-group k-hbox">
|
|
1744
|
+
<div class="k-actionsheet-title">
|
|
1745
|
+
<div class="k-text-center">{{ title }}</div>
|
|
1746
|
+
<div class="k-actionsheet-subtitle k-text-center">{{ subtitle }}</div>
|
|
1747
|
+
</div>
|
|
1748
|
+
<div class="k-actionsheet-actions">
|
|
1749
|
+
<button
|
|
1750
|
+
kendoButton
|
|
1751
|
+
icon="x"
|
|
1752
|
+
[attr.title]="messageFor('clearTitle')"
|
|
1753
|
+
[svgIcon]="xIcon"
|
|
1754
|
+
fillMode="flat"
|
|
1755
|
+
[size]="size"
|
|
1756
|
+
[tabIndex]="-1"
|
|
1757
|
+
aria-hidden="true"
|
|
1758
|
+
innerCssClass="k-button-icon"
|
|
1759
|
+
(click)="closePopup.emit()"
|
|
1760
|
+
></button>
|
|
1761
|
+
</div>
|
|
1762
|
+
</div>
|
|
1763
|
+
<div class="k-actionsheet-titlebar-group k-actionsheet-filter">
|
|
1764
|
+
<kendo-textbox
|
|
1765
|
+
*ngIf="showTextInput"
|
|
1766
|
+
#actionSheetSearchBar
|
|
1767
|
+
[value]="searchBarValue"
|
|
1768
|
+
[size]="size"
|
|
1769
|
+
placeholder="Filter"
|
|
1770
|
+
class="k-searchbox"
|
|
1771
|
+
autocomplete="off"
|
|
1772
|
+
(valueChange)="onValueChange($event)"
|
|
1773
|
+
>
|
|
1774
|
+
<ng-template kendoTextBoxPrefixTemplate>
|
|
1775
|
+
<kendo-icon name="search"></kendo-icon>
|
|
1776
|
+
</ng-template>
|
|
1777
|
+
</kendo-textbox>
|
|
1778
|
+
</div>
|
|
1779
|
+
</div>
|
|
1780
|
+
<div class="k-actionsheet-content !k-overflow-hidden">
|
|
1781
|
+
<div class="k-list-container">
|
|
1782
|
+
<ng-container *ngTemplateOutlet="sharedPopupActionSheetTemplate"></ng-container>
|
|
1783
|
+
</div>
|
|
1784
|
+
</div>
|
|
1785
|
+
|
|
1786
|
+
<div *ngIf="showActionButtons" class="k-actionsheet-footer k-actions k-actions-stretched">
|
|
1787
|
+
<button kendoButton
|
|
1788
|
+
tabindex="0"
|
|
1789
|
+
aria-disabled="false"
|
|
1790
|
+
[size]="size"
|
|
1791
|
+
themeColor="base"
|
|
1792
|
+
(click)="onCancel.emit()"
|
|
1793
|
+
(keydown.enter)="$event.stopImmediatePropagation()">
|
|
1794
|
+
{{messageFor('cancelButton')}}
|
|
1795
|
+
</button>
|
|
1796
|
+
<button kendoButton
|
|
1797
|
+
tabindex="0"
|
|
1798
|
+
aria-disabled="false"
|
|
1799
|
+
[size]="size"
|
|
1800
|
+
themeColor="primary"
|
|
1801
|
+
(click)="onApply.emit()"
|
|
1802
|
+
(keydown.enter)="$event.stopImmediatePropagation()">
|
|
1803
|
+
{{messageFor('applyButton')}}
|
|
1804
|
+
</button>
|
|
1805
|
+
</div>
|
|
1806
|
+
</ng-template>
|
|
1807
|
+
</kendo-actionsheet>
|
|
1808
|
+
`, isInline: true, components: [{ type: i2.ActionSheetComponent, selector: "kendo-actionsheet", inputs: ["title", "subtitle", "items", "cssClass", "animation", "expanded"], outputs: ["expandedChange", "expand", "collapse", "itemClick", "overlayClick"], exportAs: ["kendoActionSheet"] }, { type: i3.Button, selector: "button[kendoButton], span[kendoButton], kendo-button", inputs: ["toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { type: i4.TextBoxComponent, selector: "kendo-textbox", inputs: ["focusableId", "title", "disabled", "readonly", "tabindex", "value", "selectOnFocus", "showSuccessIcon", "showErrorIcon", "clearButton", "successIcon", "errorIcon", "clearButtonIcon", "size", "rounded", "fillMode", "tabIndex", "placeholder", "maxlength"], outputs: ["valueChange", "inputFocus", "inputBlur", "focus", "blur"], exportAs: ["kendoTextBox"] }, { type: i8.IconComponent, selector: "kendo-icon", inputs: ["name"], exportAs: ["kendoIcon"] }], directives: [{ type: i2.ActionSheetTemplateDirective, selector: "[kendoActionSheetTemplate]" }, { type: i13.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.TextBoxPrefixTemplateDirective, selector: "[kendoTextBoxPrefixTemplate]" }, { type: i13.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
|
|
1809
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ResponsiveRendererComponent, decorators: [{
|
|
1810
|
+
type: Component,
|
|
1811
|
+
args: [{
|
|
1812
|
+
selector: 'responsive-renderer',
|
|
1813
|
+
template: `
|
|
1814
|
+
<kendo-actionsheet
|
|
1815
|
+
#actionSheet
|
|
1816
|
+
[animation]="{ duration: animationDuration }"
|
|
1817
|
+
[expanded]="isActionSheetExpanded"
|
|
1818
|
+
(overlayClick)="closePopup.emit()"
|
|
1819
|
+
(keydown)="navigate.emit($event)"
|
|
1820
|
+
(expand)="onExpand.emit()"
|
|
1821
|
+
(collapse)="onCollapse.emit()"
|
|
1822
|
+
>
|
|
1823
|
+
<ng-template kendoActionSheetTemplate>
|
|
1824
|
+
<div class="k-text-center k-actionsheet-titlebar">
|
|
1825
|
+
<div class="k-actionsheet-titlebar-group k-hbox">
|
|
1826
|
+
<div class="k-actionsheet-title">
|
|
1827
|
+
<div class="k-text-center">{{ title }}</div>
|
|
1828
|
+
<div class="k-actionsheet-subtitle k-text-center">{{ subtitle }}</div>
|
|
1829
|
+
</div>
|
|
1830
|
+
<div class="k-actionsheet-actions">
|
|
1831
|
+
<button
|
|
1832
|
+
kendoButton
|
|
1833
|
+
icon="x"
|
|
1834
|
+
[attr.title]="messageFor('clearTitle')"
|
|
1835
|
+
[svgIcon]="xIcon"
|
|
1836
|
+
fillMode="flat"
|
|
1837
|
+
[size]="size"
|
|
1838
|
+
[tabIndex]="-1"
|
|
1839
|
+
aria-hidden="true"
|
|
1840
|
+
innerCssClass="k-button-icon"
|
|
1841
|
+
(click)="closePopup.emit()"
|
|
1842
|
+
></button>
|
|
1843
|
+
</div>
|
|
1844
|
+
</div>
|
|
1845
|
+
<div class="k-actionsheet-titlebar-group k-actionsheet-filter">
|
|
1846
|
+
<kendo-textbox
|
|
1847
|
+
*ngIf="showTextInput"
|
|
1848
|
+
#actionSheetSearchBar
|
|
1849
|
+
[value]="searchBarValue"
|
|
1850
|
+
[size]="size"
|
|
1851
|
+
placeholder="Filter"
|
|
1852
|
+
class="k-searchbox"
|
|
1853
|
+
autocomplete="off"
|
|
1854
|
+
(valueChange)="onValueChange($event)"
|
|
1855
|
+
>
|
|
1856
|
+
<ng-template kendoTextBoxPrefixTemplate>
|
|
1857
|
+
<kendo-icon name="search"></kendo-icon>
|
|
1858
|
+
</ng-template>
|
|
1859
|
+
</kendo-textbox>
|
|
1860
|
+
</div>
|
|
1861
|
+
</div>
|
|
1862
|
+
<div class="k-actionsheet-content !k-overflow-hidden">
|
|
1863
|
+
<div class="k-list-container">
|
|
1864
|
+
<ng-container *ngTemplateOutlet="sharedPopupActionSheetTemplate"></ng-container>
|
|
1865
|
+
</div>
|
|
1866
|
+
</div>
|
|
1867
|
+
|
|
1868
|
+
<div *ngIf="showActionButtons" class="k-actionsheet-footer k-actions k-actions-stretched">
|
|
1869
|
+
<button kendoButton
|
|
1870
|
+
tabindex="0"
|
|
1871
|
+
aria-disabled="false"
|
|
1872
|
+
[size]="size"
|
|
1873
|
+
themeColor="base"
|
|
1874
|
+
(click)="onCancel.emit()"
|
|
1875
|
+
(keydown.enter)="$event.stopImmediatePropagation()">
|
|
1876
|
+
{{messageFor('cancelButton')}}
|
|
1877
|
+
</button>
|
|
1878
|
+
<button kendoButton
|
|
1879
|
+
tabindex="0"
|
|
1880
|
+
aria-disabled="false"
|
|
1881
|
+
[size]="size"
|
|
1882
|
+
themeColor="primary"
|
|
1883
|
+
(click)="onApply.emit()"
|
|
1884
|
+
(keydown.enter)="$event.stopImmediatePropagation()">
|
|
1885
|
+
{{messageFor('applyButton')}}
|
|
1886
|
+
</button>
|
|
1887
|
+
</div>
|
|
1888
|
+
</ng-template>
|
|
1889
|
+
</kendo-actionsheet>
|
|
1890
|
+
`,
|
|
1891
|
+
}]
|
|
1892
|
+
}], ctorParameters: function () { return [{ type: i1.LocalizationService }]; }, propDecorators: { title: [{
|
|
1893
|
+
type: Input
|
|
1894
|
+
}], showActionButtons: [{
|
|
1895
|
+
type: Input
|
|
1896
|
+
}], subtitle: [{
|
|
1897
|
+
type: Input
|
|
1898
|
+
}], size: [{
|
|
1899
|
+
type: Input
|
|
1900
|
+
}], showTextInput: [{
|
|
1901
|
+
type: Input
|
|
1902
|
+
}], sharedPopupActionSheetTemplate: [{
|
|
1903
|
+
type: Input
|
|
1904
|
+
}], isActionSheetExpanded: [{
|
|
1905
|
+
type: Input
|
|
1906
|
+
}], text: [{
|
|
1907
|
+
type: Input
|
|
1908
|
+
}], placeholder: [{
|
|
1909
|
+
type: Input
|
|
1910
|
+
}], closePopup: [{
|
|
1911
|
+
type: Output
|
|
1912
|
+
}], textInputChange: [{
|
|
1913
|
+
type: Output
|
|
1914
|
+
}], navigate: [{
|
|
1915
|
+
type: Output
|
|
1916
|
+
}], onExpand: [{
|
|
1917
|
+
type: Output
|
|
1918
|
+
}], onCollapse: [{
|
|
1919
|
+
type: Output
|
|
1920
|
+
}], onApply: [{
|
|
1921
|
+
type: Output
|
|
1922
|
+
}], onCancel: [{
|
|
1923
|
+
type: Output
|
|
1924
|
+
}], actionSheet: [{
|
|
1925
|
+
type: ViewChild,
|
|
1926
|
+
args: [ActionSheetComponent]
|
|
1927
|
+
}], actionSheetSearchBar: [{
|
|
1928
|
+
type: ViewChild,
|
|
1929
|
+
args: ['actionSheetSearchBar']
|
|
1930
|
+
}] } });
|
|
1931
|
+
|
|
1633
1932
|
/**
|
|
1634
1933
|
* @hidden
|
|
1635
1934
|
*/
|
|
@@ -1681,8 +1980,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
1681
1980
|
class SelectableDirective {
|
|
1682
1981
|
constructor(selectionService) {
|
|
1683
1982
|
this.checkboxes = { enabled: false };
|
|
1684
|
-
// @HostBinding('attr.offset-index')
|
|
1685
|
-
// @Input() public offsetIndex: number;
|
|
1686
1983
|
this.multipleSelection = false;
|
|
1687
1984
|
this.selectionService = selectionService;
|
|
1688
1985
|
}
|
|
@@ -1712,7 +2009,7 @@ class SelectableDirective {
|
|
|
1712
2009
|
}
|
|
1713
2010
|
}
|
|
1714
2011
|
SelectableDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SelectableDirective, deps: [{ token: SelectionService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
1715
|
-
SelectableDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: SelectableDirective, selector: "[kendoDropDownsSelectable]", inputs: { index: "index", checkboxes: "checkboxes", height: "height", multipleSelection: "multipleSelection" }, host: { listeners: { "click": "onClick($event)" }, properties: { "attr.index": "this.index", "style.height.px": "this.height", "style.minHeight.px": "this.height", "class.k-focus": "this.focusedClassName", "class.k-selected": "this.selectedClassName" } }, ngImport: i0 });
|
|
2012
|
+
SelectableDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: SelectableDirective, selector: "[kendoDropDownsSelectable]", inputs: { index: "index", checkboxes: "checkboxes", height: "height", isMultiselect: "isMultiselect", multipleSelection: "multipleSelection" }, host: { listeners: { "click": "onClick($event)" }, properties: { "attr.index": "this.index", "style.height.px": "this.height", "style.minHeight.px": "this.height", "class.k-focus": "this.focusedClassName", "class.k-selected": "this.selectedClassName" } }, ngImport: i0 });
|
|
1716
2013
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SelectableDirective, decorators: [{
|
|
1717
2014
|
type: Directive,
|
|
1718
2015
|
args: [{
|
|
@@ -1733,6 +2030,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
1733
2030
|
args: ['style.minHeight.px']
|
|
1734
2031
|
}, {
|
|
1735
2032
|
type: Input
|
|
2033
|
+
}], isMultiselect: [{
|
|
2034
|
+
type: Input
|
|
1736
2035
|
}], multipleSelection: [{
|
|
1737
2036
|
type: Input
|
|
1738
2037
|
}], focusedClassName: [{
|
|
@@ -2099,13 +2398,16 @@ class ListComponent {
|
|
|
2099
2398
|
this.renderer.addClass(this.wrapper.nativeElement, getSizeClass('list', this.size));
|
|
2100
2399
|
}
|
|
2101
2400
|
}
|
|
2401
|
+
if (this.type === 'dropdowngrid') {
|
|
2402
|
+
this.renderer.setStyle(this.wrapper.nativeElement, 'overflow-y', 'scroll');
|
|
2403
|
+
}
|
|
2102
2404
|
if (isPresent(this.virtual)) {
|
|
2103
2405
|
this.renderer.addClass(this.wrapper.nativeElement, this.listVirtualClass);
|
|
2104
2406
|
}
|
|
2105
2407
|
}
|
|
2106
2408
|
}
|
|
2107
2409
|
ListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ListComponent, deps: [{ token: DataService }, { token: i0.ElementRef }, { token: SelectionService }, { token: DisabledItemsService }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
|
|
2108
|
-
ListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: ListComponent, selector: "kendo-list", inputs: { selected: "selected", focused: "focused", textField: "textField", valueField: "valueField", height: "height", template: "template", groupTemplate: "groupTemplate", fixedGroupTemplate: "fixedGroupTemplate", show: "show", id: "id", optionPrefix: "optionPrefix", multipleSelection: "multipleSelection", virtual: "virtual", type: "type", checkboxes: "checkboxes", ariaLive: "ariaLive", isMultiselect: "isMultiselect", data: "data", size: "size", rounded: "rounded" }, outputs: { onClick: "onClick", pageChange: "pageChange", listResize: "listResize" }, viewQueries: [{ propertyName: "content", first: true, predicate: ["content"], descendants: true, static: true }, { propertyName: "list", first: true, predicate: ["list"], descendants: true, static: true }, { propertyName: "virtualContainer", first: true, predicate: ["virtualContainer"], descendants: true }, { propertyName: "items", predicate: ListItemDirective, descendants: true }], usesOnChanges: true, ngImport: i0, template: `
|
|
2410
|
+
ListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: ListComponent, selector: "kendo-list", inputs: { selected: "selected", focused: "focused", textField: "textField", valueField: "valueField", height: "height", template: "template", groupTemplate: "groupTemplate", fixedGroupTemplate: "fixedGroupTemplate", show: "show", id: "id", optionPrefix: "optionPrefix", multipleSelection: "multipleSelection", virtual: "virtual", type: "type", checkboxes: "checkboxes", ariaLive: "ariaLive", isMultiselect: "isMultiselect", isActionSheetExpanded: "isActionSheetExpanded", data: "data", size: "size", rounded: "rounded" }, outputs: { onClick: "onClick", pageChange: "pageChange", listResize: "listResize" }, viewQueries: [{ propertyName: "content", first: true, predicate: ["content"], descendants: true, static: true }, { propertyName: "list", first: true, predicate: ["list"], descendants: true, static: true }, { propertyName: "virtualContainer", first: true, predicate: ["virtualContainer"], descendants: true }, { propertyName: "items", predicate: ListItemDirective, descendants: true }], usesOnChanges: true, ngImport: i0, template: `
|
|
2109
2411
|
<div *ngIf="dataService.grouped"
|
|
2110
2412
|
[class]="listGroupStickyHeaderClass"
|
|
2111
2413
|
[ngStyle]="{
|
|
@@ -2172,6 +2474,7 @@ ListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
|
|
|
2172
2474
|
</ng-template>
|
|
2173
2475
|
<ng-template *ngIf="dataService.grouped" ngFor let-dataItem let-itemIndex="index" [ngForOf]="data">
|
|
2174
2476
|
<li
|
|
2477
|
+
#li
|
|
2175
2478
|
*ngIf="dataItem.header && dataItem.index > 0"
|
|
2176
2479
|
role="group"
|
|
2177
2480
|
[class]="listGroupItemClass"
|
|
@@ -2194,6 +2497,7 @@ ListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
|
|
|
2194
2497
|
</span>
|
|
2195
2498
|
</li>
|
|
2196
2499
|
<li
|
|
2500
|
+
#li
|
|
2197
2501
|
*ngIf="!dataItem.header"
|
|
2198
2502
|
role="option"
|
|
2199
2503
|
kendoDropDownsSelectable
|
|
@@ -2231,7 +2535,7 @@ ListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
|
|
|
2231
2535
|
</div>
|
|
2232
2536
|
</div>
|
|
2233
2537
|
</div>
|
|
2234
|
-
`, isInline: true, components: [{ type:
|
|
2538
|
+
`, isInline: true, components: [{ type: i9.ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }], directives: [{ type: i13.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i13.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }, { type: i13.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: ListItemDirective, selector: "\"li[role=option], li[role=group]\"" }, { type: SelectableDirective, selector: "[kendoDropDownsSelectable]", inputs: ["index", "checkboxes", "height", "isMultiselect", "multipleSelection"] }, { type: i13.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
|
|
2235
2539
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ListComponent, decorators: [{
|
|
2236
2540
|
type: Component,
|
|
2237
2541
|
args: [{
|
|
@@ -2303,6 +2607,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
2303
2607
|
</ng-template>
|
|
2304
2608
|
<ng-template *ngIf="dataService.grouped" ngFor let-dataItem let-itemIndex="index" [ngForOf]="data">
|
|
2305
2609
|
<li
|
|
2610
|
+
#li
|
|
2306
2611
|
*ngIf="dataItem.header && dataItem.index > 0"
|
|
2307
2612
|
role="group"
|
|
2308
2613
|
[class]="listGroupItemClass"
|
|
@@ -2325,6 +2630,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
2325
2630
|
</span>
|
|
2326
2631
|
</li>
|
|
2327
2632
|
<li
|
|
2633
|
+
#li
|
|
2328
2634
|
*ngIf="!dataItem.header"
|
|
2329
2635
|
role="option"
|
|
2330
2636
|
kendoDropDownsSelectable
|
|
@@ -2398,6 +2704,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
2398
2704
|
type: Input
|
|
2399
2705
|
}], isMultiselect: [{
|
|
2400
2706
|
type: Input
|
|
2707
|
+
}], isActionSheetExpanded: [{
|
|
2708
|
+
type: Input
|
|
2401
2709
|
}], data: [{
|
|
2402
2710
|
type: Input
|
|
2403
2711
|
}], size: [{
|
|
@@ -2430,7 +2738,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
2430
2738
|
class Messages extends ComponentMessages {
|
|
2431
2739
|
}
|
|
2432
2740
|
Messages.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: Messages, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
2433
|
-
Messages.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: Messages, inputs: { noDataText: "noDataText", clearTitle: "clearTitle", checkAllText: "checkAllText", selectButtonText: "selectButtonText", filterInputLabel: "filterInputLabel", popupLabel: "popupLabel" }, usesInheritance: true, ngImport: i0 });
|
|
2741
|
+
Messages.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: Messages, inputs: { noDataText: "noDataText", clearTitle: "clearTitle", checkAllText: "checkAllText", selectButtonText: "selectButtonText", filterInputLabel: "filterInputLabel", popupLabel: "popupLabel", applyButton: "applyButton", cancelButton: "cancelButton" }, usesInheritance: true, ngImport: i0 });
|
|
2434
2742
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: Messages, decorators: [{
|
|
2435
2743
|
type: Directive
|
|
2436
2744
|
}], propDecorators: { noDataText: [{
|
|
@@ -2445,6 +2753,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
2445
2753
|
type: Input
|
|
2446
2754
|
}], popupLabel: [{
|
|
2447
2755
|
type: Input
|
|
2756
|
+
}], applyButton: [{
|
|
2757
|
+
type: Input
|
|
2758
|
+
}], cancelButton: [{
|
|
2759
|
+
type: Input
|
|
2448
2760
|
}] } });
|
|
2449
2761
|
|
|
2450
2762
|
/**
|
|
@@ -2529,6 +2841,10 @@ class AutoCompleteComponent {
|
|
|
2529
2841
|
this.renderer = renderer;
|
|
2530
2842
|
this.hostElement = hostElement;
|
|
2531
2843
|
this.touchEnabled = touchEnabled;
|
|
2844
|
+
/**
|
|
2845
|
+
* @hidden
|
|
2846
|
+
*/
|
|
2847
|
+
this.animationDuration = animationDuration;
|
|
2532
2848
|
/**
|
|
2533
2849
|
* @hidden
|
|
2534
2850
|
*/
|
|
@@ -2547,12 +2863,15 @@ class AutoCompleteComponent {
|
|
|
2547
2863
|
*/
|
|
2548
2864
|
this.placeholder = "";
|
|
2549
2865
|
/**
|
|
2550
|
-
*
|
|
2551
|
-
|
|
2552
|
-
|
|
2553
|
-
|
|
2866
|
+
* Enables or disables the adaptive mode. By default the adaptive rendering is disabled.
|
|
2867
|
+
*/
|
|
2868
|
+
this.adaptiveMode = 'none';
|
|
2869
|
+
/**
|
|
2870
|
+
* Sets the title of the ActionSheet that is rendered instead of the Popup when using small screen devices.
|
|
2871
|
+
* By default the ActionSheet title uses the text provided for the label of the AutoComplete.
|
|
2554
2872
|
*/
|
|
2555
|
-
this.
|
|
2873
|
+
this.title = '';
|
|
2874
|
+
this._listHeight = 200;
|
|
2556
2875
|
/**
|
|
2557
2876
|
* @hidden
|
|
2558
2877
|
*
|
|
@@ -2621,12 +2940,17 @@ class AutoCompleteComponent {
|
|
|
2621
2940
|
this.widgetClasses = true;
|
|
2622
2941
|
this.listBoxId = `k-${guid()}`;
|
|
2623
2942
|
this.optionPrefix = `k-${guid()}`;
|
|
2943
|
+
/**
|
|
2944
|
+
* @hidden
|
|
2945
|
+
*/
|
|
2946
|
+
this.windowSize = 'large';
|
|
2624
2947
|
this.onChangeCallback = noop;
|
|
2625
2948
|
this.onTouchedCallback = noop;
|
|
2626
2949
|
this.popupMouseDownHandler = (event) => event.preventDefault();
|
|
2627
2950
|
this._popupSettings = { animate: true };
|
|
2628
2951
|
this._open = false;
|
|
2629
2952
|
this._value = "";
|
|
2953
|
+
this.subs = new Subscription();
|
|
2630
2954
|
this.valueChangeSubject = new Subject();
|
|
2631
2955
|
this._isFocused = false;
|
|
2632
2956
|
this._size = 'medium';
|
|
@@ -2640,6 +2964,20 @@ class AutoCompleteComponent {
|
|
|
2640
2964
|
this.subscribeTouchEvents();
|
|
2641
2965
|
this.selectionService.resetSelection([-1]);
|
|
2642
2966
|
}
|
|
2967
|
+
/**
|
|
2968
|
+
* @hidden
|
|
2969
|
+
*/
|
|
2970
|
+
get actionSheet() {
|
|
2971
|
+
var _a;
|
|
2972
|
+
return (_a = this.responsiveRendererComponent) === null || _a === void 0 ? void 0 : _a.actionSheet;
|
|
2973
|
+
}
|
|
2974
|
+
/**
|
|
2975
|
+
* @hidden
|
|
2976
|
+
*/
|
|
2977
|
+
get actionSheetSearchBar() {
|
|
2978
|
+
var _a;
|
|
2979
|
+
return (_a = this.responsiveRendererComponent) === null || _a === void 0 ? void 0 : _a.actionSheetSearchBar;
|
|
2980
|
+
}
|
|
2643
2981
|
get width() {
|
|
2644
2982
|
let wrapperOffsetWidth = 0;
|
|
2645
2983
|
if (isDocumentAvailable()) {
|
|
@@ -2688,8 +3026,8 @@ class AutoCompleteComponent {
|
|
|
2688
3026
|
return this.isOpen ? this.listBoxId : undefined;
|
|
2689
3027
|
}
|
|
2690
3028
|
/**
|
|
2691
|
-
* Toggles the visibility of the popup.
|
|
2692
|
-
* If you use the `toggle` method to open or close the popup, the `open` and `close` events will not be fired.
|
|
3029
|
+
* Toggles the visibility of the popup or actionSheet.
|
|
3030
|
+
* If you use the `toggle` method to open or close the popup or actionSheet, the `open` and `close` events will not be fired.
|
|
2693
3031
|
*
|
|
2694
3032
|
* @param open - The state of the popup.
|
|
2695
3033
|
*/
|
|
@@ -2700,10 +3038,19 @@ class AutoCompleteComponent {
|
|
|
2700
3038
|
});
|
|
2701
3039
|
}
|
|
2702
3040
|
/**
|
|
2703
|
-
* Returns the current open state
|
|
3041
|
+
* Returns the current open state. Returns `true` if the popup or actionSheet is open.
|
|
2704
3042
|
*/
|
|
2705
3043
|
get isOpen() {
|
|
2706
|
-
return this._open;
|
|
3044
|
+
return isTruthy(this._open || this.isActionSheetExpanded);
|
|
3045
|
+
}
|
|
3046
|
+
/**
|
|
3047
|
+
* @hidden
|
|
3048
|
+
*/
|
|
3049
|
+
handleClick() {
|
|
3050
|
+
this.windowSize = windowSize();
|
|
3051
|
+
if (this.isAdaptive) {
|
|
3052
|
+
this.togglePopup(true);
|
|
3053
|
+
}
|
|
2707
3054
|
}
|
|
2708
3055
|
/**
|
|
2709
3056
|
* @hidden
|
|
@@ -2766,6 +3113,22 @@ class AutoCompleteComponent {
|
|
|
2766
3113
|
get value() {
|
|
2767
3114
|
return this._value || NO_VALUE;
|
|
2768
3115
|
}
|
|
3116
|
+
/**
|
|
3117
|
+
* Sets the subtitle of the ActionSheet that is rendered instead of the Popup when using small screen devices.
|
|
3118
|
+
* By default the ActionSheet subtitle uses the text provided for the `placeholder` of the AutoComplete.
|
|
3119
|
+
*/
|
|
3120
|
+
set subtitle(_subtitle) {
|
|
3121
|
+
this._subtitle = _subtitle;
|
|
3122
|
+
}
|
|
3123
|
+
get subtitle() {
|
|
3124
|
+
return this._subtitle || this.placeholder;
|
|
3125
|
+
}
|
|
3126
|
+
/**
|
|
3127
|
+
* @hidden
|
|
3128
|
+
*/
|
|
3129
|
+
get isAdaptiveModeEnabled() {
|
|
3130
|
+
return this.adaptiveMode === 'auto';
|
|
3131
|
+
}
|
|
2769
3132
|
/**
|
|
2770
3133
|
* Configures the popup of the AutoComplete.
|
|
2771
3134
|
*
|
|
@@ -2782,6 +3145,24 @@ class AutoCompleteComponent {
|
|
|
2782
3145
|
get popupSettings() {
|
|
2783
3146
|
return this._popupSettings;
|
|
2784
3147
|
}
|
|
3148
|
+
/**
|
|
3149
|
+
* Sets the height of the options list in the popup. By default, `listHeight` is 200px.
|
|
3150
|
+
*
|
|
3151
|
+
* > The `listHeight` property affects only the list of options and not the whole popup container.
|
|
3152
|
+
* > To set the height of the popup container, use `popupSettings.height`.
|
|
3153
|
+
*
|
|
3154
|
+
* > When using `adaptiveMode` and the screen size is `small` or `medium` the `listHeight` property is set to null.
|
|
3155
|
+
*/
|
|
3156
|
+
set listHeight(_listHeight) {
|
|
3157
|
+
this._listHeight = _listHeight;
|
|
3158
|
+
}
|
|
3159
|
+
;
|
|
3160
|
+
get listHeight() {
|
|
3161
|
+
if (this.isAdaptive) {
|
|
3162
|
+
return;
|
|
3163
|
+
}
|
|
3164
|
+
return this._listHeight;
|
|
3165
|
+
}
|
|
2785
3166
|
/**
|
|
2786
3167
|
* Defines a Boolean function that is executed for each data item in the component
|
|
2787
3168
|
* ([see examples]({% slug disableditems_autocomplete %})).
|
|
@@ -2891,21 +3272,41 @@ class AutoCompleteComponent {
|
|
|
2891
3272
|
get dir() {
|
|
2892
3273
|
return this.direction;
|
|
2893
3274
|
}
|
|
3275
|
+
/**
|
|
3276
|
+
* @hidden
|
|
3277
|
+
*/
|
|
3278
|
+
get isActionSheetExpanded() {
|
|
3279
|
+
var _a;
|
|
3280
|
+
return (_a = this.actionSheet) === null || _a === void 0 ? void 0 : _a.expanded;
|
|
3281
|
+
}
|
|
3282
|
+
;
|
|
3283
|
+
/**
|
|
3284
|
+
* @hidden
|
|
3285
|
+
*/
|
|
3286
|
+
get isAdaptive() {
|
|
3287
|
+
return this.isAdaptiveModeEnabled && this.windowSize !== 'large';
|
|
3288
|
+
}
|
|
2894
3289
|
ngOnInit() {
|
|
2895
3290
|
this.renderer.removeAttribute(this.wrapper, "tabindex");
|
|
2896
|
-
this.
|
|
3291
|
+
this.subs.add(this.localization
|
|
2897
3292
|
.changes
|
|
2898
3293
|
.subscribe(({ rtl }) => {
|
|
2899
3294
|
this.direction = rtl ? 'rtl' : 'ltr';
|
|
2900
3295
|
this.cdr.detectChanges();
|
|
2901
|
-
});
|
|
3296
|
+
}));
|
|
2902
3297
|
this.setComponentClasses();
|
|
2903
3298
|
}
|
|
3299
|
+
ngAfterViewInit() {
|
|
3300
|
+
var _a;
|
|
3301
|
+
this.windowSize = windowSize();
|
|
3302
|
+
this.cdr.detectChanges();
|
|
3303
|
+
this.renderer.setAttribute((_a = this.actionSheet) === null || _a === void 0 ? void 0 : _a.element.nativeElement, 'style', '--kendo-actionsheet-height: 60vh; --kendo-actionsheet-max-height: none');
|
|
3304
|
+
}
|
|
2904
3305
|
ngOnDestroy() {
|
|
2905
3306
|
this.destroyPopup();
|
|
2906
|
-
this.
|
|
2907
|
-
if (this.
|
|
2908
|
-
this.
|
|
3307
|
+
this.subs.unsubscribe();
|
|
3308
|
+
if (this.touchstartDisposeHandler) {
|
|
3309
|
+
this.touchstartDisposeHandler();
|
|
2909
3310
|
}
|
|
2910
3311
|
}
|
|
2911
3312
|
ngOnChanges(changes) {
|
|
@@ -2929,6 +3330,12 @@ class AutoCompleteComponent {
|
|
|
2929
3330
|
messageFor(key) {
|
|
2930
3331
|
return this.localization.get(key);
|
|
2931
3332
|
}
|
|
3333
|
+
/**
|
|
3334
|
+
* @hidden
|
|
3335
|
+
*/
|
|
3336
|
+
onAdaptiveTextBoxChange(text) {
|
|
3337
|
+
this.search(text);
|
|
3338
|
+
}
|
|
2932
3339
|
/**
|
|
2933
3340
|
* @hidden
|
|
2934
3341
|
*/
|
|
@@ -2998,7 +3405,14 @@ class AutoCompleteComponent {
|
|
|
2998
3405
|
* @hidden
|
|
2999
3406
|
*/
|
|
3000
3407
|
onResize() {
|
|
3001
|
-
if (this.
|
|
3408
|
+
if (this.isAdaptiveModeEnabled && this.windowSize !== windowSize()) {
|
|
3409
|
+
if (this.isOpen) {
|
|
3410
|
+
this.togglePopup(false);
|
|
3411
|
+
}
|
|
3412
|
+
this.windowSize = windowSize();
|
|
3413
|
+
this.cdr.detectChanges();
|
|
3414
|
+
}
|
|
3415
|
+
if (this._open && !this.isActionSheetExpanded) {
|
|
3002
3416
|
const popupWrapper = this.popupRef.popupElement;
|
|
3003
3417
|
const { min, max } = this.width;
|
|
3004
3418
|
popupWrapper.style.minWidth = min;
|
|
@@ -3018,13 +3432,7 @@ class AutoCompleteComponent {
|
|
|
3018
3432
|
}
|
|
3019
3433
|
}
|
|
3020
3434
|
search(text, startFrom = 0) {
|
|
3021
|
-
|
|
3022
|
-
if (text.length && this.dataService.itemsCount) {
|
|
3023
|
-
index = this.dataService.findIndex(this.findIndexPredicate(text), startFrom);
|
|
3024
|
-
}
|
|
3025
|
-
else {
|
|
3026
|
-
index = -1;
|
|
3027
|
-
}
|
|
3435
|
+
const index = this.findIndex(text, startFrom);
|
|
3028
3436
|
if (this.disabledItemsService.isIndexDisabled(index)) {
|
|
3029
3437
|
if (index + 1 < this.dataService.itemsCount) {
|
|
3030
3438
|
this.search(text, index + 1);
|
|
@@ -3072,6 +3480,10 @@ class AutoCompleteComponent {
|
|
|
3072
3480
|
((action === NavigationAction.Enter && this.isOpen) || action !== NavigationAction.Enter)) {
|
|
3073
3481
|
event.preventDefault();
|
|
3074
3482
|
}
|
|
3483
|
+
if (action === NavigationAction.Tab && this.isActionSheetExpanded) {
|
|
3484
|
+
event.stopImmediatePropagation();
|
|
3485
|
+
this.togglePopup(false);
|
|
3486
|
+
}
|
|
3075
3487
|
}
|
|
3076
3488
|
handleEnter(event) {
|
|
3077
3489
|
const focused = this.selectionService.focused;
|
|
@@ -3092,6 +3504,9 @@ class AutoCompleteComponent {
|
|
|
3092
3504
|
value = this.searchbar.value;
|
|
3093
3505
|
}
|
|
3094
3506
|
}
|
|
3507
|
+
if (this.isActionSheetExpanded && focused >= 0) {
|
|
3508
|
+
this.togglePopup(false);
|
|
3509
|
+
}
|
|
3095
3510
|
this.change(value);
|
|
3096
3511
|
}
|
|
3097
3512
|
handleEscape() {
|
|
@@ -3122,6 +3537,17 @@ class AutoCompleteComponent {
|
|
|
3122
3537
|
this.search(text);
|
|
3123
3538
|
}
|
|
3124
3539
|
}
|
|
3540
|
+
/**
|
|
3541
|
+
* @hidden
|
|
3542
|
+
*/
|
|
3543
|
+
onFilterChange(text) {
|
|
3544
|
+
if (this.filterable) {
|
|
3545
|
+
this.filterChange.emit(text);
|
|
3546
|
+
}
|
|
3547
|
+
else if (this.highlightFirst) {
|
|
3548
|
+
this.search(text);
|
|
3549
|
+
}
|
|
3550
|
+
}
|
|
3125
3551
|
/**
|
|
3126
3552
|
* @hidden
|
|
3127
3553
|
*/
|
|
@@ -3137,37 +3563,39 @@ class AutoCompleteComponent {
|
|
|
3137
3563
|
* @hidden
|
|
3138
3564
|
*/
|
|
3139
3565
|
handleBlur() {
|
|
3140
|
-
|
|
3141
|
-
|
|
3142
|
-
|
|
3143
|
-
|
|
3144
|
-
|
|
3145
|
-
|
|
3146
|
-
|
|
3147
|
-
|
|
3148
|
-
|
|
3149
|
-
|
|
3150
|
-
|
|
3151
|
-
|
|
3152
|
-
|
|
3153
|
-
|
|
3154
|
-
|
|
3155
|
-
|
|
3156
|
-
|
|
3157
|
-
|
|
3158
|
-
|
|
3159
|
-
|
|
3160
|
-
|
|
3161
|
-
|
|
3162
|
-
|
|
3163
|
-
|
|
3164
|
-
|
|
3165
|
-
|
|
3566
|
+
if (!this.isActionSheetExpanded) {
|
|
3567
|
+
const focused = this.filterable ? this.selectionService.focused : -1;
|
|
3568
|
+
this.searchbar.input.nativeElement.scrollLeft = 0; // Firefox doesn't auto-scroll to the left on blur like other browsers
|
|
3569
|
+
let dataItem;
|
|
3570
|
+
let text;
|
|
3571
|
+
if (focused !== -1) {
|
|
3572
|
+
dataItem = this.dataService.itemAt(focused);
|
|
3573
|
+
text = getter(dataItem, this.valueField) || "";
|
|
3574
|
+
}
|
|
3575
|
+
else {
|
|
3576
|
+
text = this.searchbar.value;
|
|
3577
|
+
}
|
|
3578
|
+
const exactMatch = text === this.searchbar.value;
|
|
3579
|
+
const insensitiveMatch = text.toLowerCase() === this.searchbar.value.toLowerCase();
|
|
3580
|
+
if (!exactMatch && insensitiveMatch) {
|
|
3581
|
+
this.selectionService.resetSelection([]);
|
|
3582
|
+
}
|
|
3583
|
+
this.isFocused = false;
|
|
3584
|
+
const valueHasChanged = this.value !== this.text;
|
|
3585
|
+
const runInZone = hasObservers(this.onBlur) || hasObservers(this.close) || isUntouched(this.wrapper) || valueHasChanged;
|
|
3586
|
+
if (runInZone) {
|
|
3587
|
+
this._zone.run(() => {
|
|
3588
|
+
if (valueHasChanged) {
|
|
3589
|
+
this.change(this.searchbar.value);
|
|
3590
|
+
}
|
|
3591
|
+
this.onBlur.emit();
|
|
3592
|
+
this.onTouchedCallback();
|
|
3593
|
+
this.togglePopup(false);
|
|
3594
|
+
});
|
|
3595
|
+
}
|
|
3596
|
+
else {
|
|
3166
3597
|
this.togglePopup(false);
|
|
3167
|
-
}
|
|
3168
|
-
}
|
|
3169
|
-
else {
|
|
3170
|
-
this.togglePopup(false);
|
|
3598
|
+
}
|
|
3171
3599
|
}
|
|
3172
3600
|
}
|
|
3173
3601
|
/**
|
|
@@ -3185,29 +3613,42 @@ class AutoCompleteComponent {
|
|
|
3185
3613
|
if (!isDocumentAvailable()) {
|
|
3186
3614
|
return;
|
|
3187
3615
|
}
|
|
3188
|
-
this.
|
|
3616
|
+
this.subs.add(this.valueChangeSubject
|
|
3189
3617
|
.subscribe(value => {
|
|
3190
3618
|
const hasChange = this.value !== value;
|
|
3619
|
+
const index = this.findIndex(value);
|
|
3620
|
+
this.selectionService.focused = index;
|
|
3191
3621
|
this.value = value;
|
|
3192
3622
|
this.text = value;
|
|
3193
3623
|
// emit change after assigning `this.value` => allows the user to modify the component value on `valueChange`
|
|
3194
3624
|
if (hasChange) {
|
|
3195
3625
|
this.emitChange(value);
|
|
3196
3626
|
}
|
|
3197
|
-
});
|
|
3198
|
-
this.
|
|
3199
|
-
this.
|
|
3200
|
-
this.
|
|
3201
|
-
this.
|
|
3202
|
-
this.
|
|
3203
|
-
this.
|
|
3204
|
-
this.
|
|
3205
|
-
this.
|
|
3627
|
+
}));
|
|
3628
|
+
this.subs.add(this.selectionService.onChange.subscribe(this.handleItemChange.bind(this)));
|
|
3629
|
+
this.subs.add(this.selectionService.onFocus.subscribe(this.handleItemFocus.bind(this)));
|
|
3630
|
+
this.subs.add(merge(this.navigationService.up, this.navigationService.down).subscribe((event) => this.navigate(event.index)));
|
|
3631
|
+
this.subs.add(this.navigationService.close.subscribe(() => this.togglePopup(false)));
|
|
3632
|
+
this.subs.add(this.navigationService.open.subscribe(() => this.togglePopup(true)));
|
|
3633
|
+
this.subs.add(this.navigationService.enter.subscribe(this.handleEnter.bind(this)));
|
|
3634
|
+
this.subs.add(this.navigationService.esc.subscribe(this.handleEscape.bind(this)));
|
|
3635
|
+
this.subs.add(merge(this.navigationService.pagedown, this.navigationService.pageup).subscribe((event) => {
|
|
3206
3636
|
if (this.isOpen) {
|
|
3207
3637
|
event.originalEvent.preventDefault();
|
|
3208
3638
|
this.optionsList.scrollWithOnePage(NavigationAction[event.originalEvent.code]);
|
|
3209
3639
|
}
|
|
3210
|
-
});
|
|
3640
|
+
}));
|
|
3641
|
+
}
|
|
3642
|
+
findIndex(value, startFrom = 0) {
|
|
3643
|
+
let index;
|
|
3644
|
+
if (value && value.length && this.dataService.itemsCount) {
|
|
3645
|
+
index = this.dataService.findIndex(this.findIndexPredicate(value), startFrom);
|
|
3646
|
+
}
|
|
3647
|
+
else {
|
|
3648
|
+
index = -1;
|
|
3649
|
+
}
|
|
3650
|
+
;
|
|
3651
|
+
return index;
|
|
3211
3652
|
}
|
|
3212
3653
|
subscribeTouchEvents() {
|
|
3213
3654
|
if (!isDocumentAvailable() || !this.touchEnabled) {
|
|
@@ -3222,23 +3663,6 @@ class AutoCompleteComponent {
|
|
|
3222
3663
|
}
|
|
3223
3664
|
}));
|
|
3224
3665
|
}
|
|
3225
|
-
unsubscribeEvents() {
|
|
3226
|
-
if (!isDocumentAvailable()) {
|
|
3227
|
-
return;
|
|
3228
|
-
}
|
|
3229
|
-
this.changeSubscription.unsubscribe();
|
|
3230
|
-
this.navigationSubscription.unsubscribe();
|
|
3231
|
-
this.closeSubscription.unsubscribe();
|
|
3232
|
-
this.openSubscription.unsubscribe();
|
|
3233
|
-
this.enterSubscription.unsubscribe();
|
|
3234
|
-
this.escSubscription.unsubscribe();
|
|
3235
|
-
this.scrollSubscription.unsubscribe();
|
|
3236
|
-
this.valueChangeSubscription.unsubscribe();
|
|
3237
|
-
this.focusSubscription.unsubscribe();
|
|
3238
|
-
if (this.touchstartDisposeHandler) {
|
|
3239
|
-
this.touchstartDisposeHandler();
|
|
3240
|
-
}
|
|
3241
|
-
}
|
|
3242
3666
|
handleItemChange(event) {
|
|
3243
3667
|
const index = event.indices.length ? event.indices[0] : undefined;
|
|
3244
3668
|
this.selectionService.resetSelection([-1]);
|
|
@@ -3247,6 +3671,9 @@ class AutoCompleteComponent {
|
|
|
3247
3671
|
}
|
|
3248
3672
|
const text = getter(this.dataService.itemAt(index), this.valueField);
|
|
3249
3673
|
this.change(text);
|
|
3674
|
+
if (this.isActionSheetExpanded) {
|
|
3675
|
+
this.togglePopup(false);
|
|
3676
|
+
}
|
|
3250
3677
|
}
|
|
3251
3678
|
handleItemFocus(_event) {
|
|
3252
3679
|
const focused = this.selectionService.focused;
|
|
@@ -3259,13 +3686,18 @@ class AutoCompleteComponent {
|
|
|
3259
3686
|
if (this.virtual) {
|
|
3260
3687
|
this.virtual.skip = 0;
|
|
3261
3688
|
}
|
|
3262
|
-
|
|
3263
|
-
|
|
3264
|
-
|
|
3265
|
-
|
|
3266
|
-
|
|
3267
|
-
|
|
3268
|
-
|
|
3689
|
+
this.windowSize = windowSize();
|
|
3690
|
+
if (this.isAdaptive) {
|
|
3691
|
+
this.openActionSheet();
|
|
3692
|
+
return;
|
|
3693
|
+
}
|
|
3694
|
+
const horizontalAlign = this.direction === "rtl" ? "right" : "left";
|
|
3695
|
+
const anchorPosition = { horizontal: horizontalAlign, vertical: "bottom" };
|
|
3696
|
+
const popupPosition = { horizontal: horizontalAlign, vertical: "top" };
|
|
3697
|
+
this.popupRef = this.popupService.open({
|
|
3698
|
+
anchor: this.wrapper,
|
|
3699
|
+
animate: this.popupSettings.animate,
|
|
3700
|
+
appendTo: this.appendTo,
|
|
3269
3701
|
content: this.popupTemplate,
|
|
3270
3702
|
popupClass: this.listContainerClasses,
|
|
3271
3703
|
positionMode: 'absolute',
|
|
@@ -3283,20 +3715,17 @@ class AutoCompleteComponent {
|
|
|
3283
3715
|
this.renderer.setAttribute(popupWrapper, 'role', 'region');
|
|
3284
3716
|
this.renderer.setAttribute(popupWrapper, 'aria-label', this.messageFor('popupLabel'));
|
|
3285
3717
|
}
|
|
3286
|
-
|
|
3287
|
-
const ariaLabel = this.searchbar.input.nativeElement.getAttribute('aria-labelledby');
|
|
3288
|
-
if (ariaLabel) {
|
|
3289
|
-
listBox.setAttribute('aria-labelledby', ariaLabel);
|
|
3290
|
-
}
|
|
3291
|
-
this.popupRef.popupOpen.subscribe(() => {
|
|
3718
|
+
this.subs.add(this.popupRef.popupOpen.subscribe(() => {
|
|
3292
3719
|
this.cdr.detectChanges();
|
|
3720
|
+
setListBoxAriaLabelLebBy(this.optionsList, this.searchbar.input, this.renderer);
|
|
3293
3721
|
this.optionsList.scrollToItem(this.selectionService.focused);
|
|
3722
|
+
this.selectionService.focus(this.selectionService.focused);
|
|
3294
3723
|
this.opened.emit();
|
|
3295
|
-
});
|
|
3296
|
-
this.popupRef.popupClose.subscribe(() => {
|
|
3724
|
+
}));
|
|
3725
|
+
this.subs.add(this.popupRef.popupClose.subscribe(() => {
|
|
3297
3726
|
this.closed.emit();
|
|
3298
|
-
});
|
|
3299
|
-
this.popupRef.popupAnchorViewportLeave.subscribe(() => this.togglePopup(false));
|
|
3727
|
+
}));
|
|
3728
|
+
this.subs.add(this.popupRef.popupAnchorViewportLeave.subscribe(() => this.togglePopup(false)));
|
|
3300
3729
|
}
|
|
3301
3730
|
destroyPopup() {
|
|
3302
3731
|
if (this.popupRef) {
|
|
@@ -3309,6 +3738,9 @@ class AutoCompleteComponent {
|
|
|
3309
3738
|
_toggle(open) {
|
|
3310
3739
|
this._open = open;
|
|
3311
3740
|
this.destroyPopup();
|
|
3741
|
+
if (this.isActionSheetExpanded) {
|
|
3742
|
+
this.closeActionSheet();
|
|
3743
|
+
}
|
|
3312
3744
|
if (this._open) {
|
|
3313
3745
|
this.createPopup();
|
|
3314
3746
|
}
|
|
@@ -3359,9 +3791,28 @@ class AutoCompleteComponent {
|
|
|
3359
3791
|
this.renderer.addClass(this.wrapper, getFillModeClass('input', this.fillMode));
|
|
3360
3792
|
}
|
|
3361
3793
|
}
|
|
3794
|
+
closeActionSheet() {
|
|
3795
|
+
this.actionSheet.toggle(false);
|
|
3796
|
+
this.actionSheetSearchBar.value = '';
|
|
3797
|
+
this.filterable && this.filterChange.emit('');
|
|
3798
|
+
this.searchbar.input.nativeElement.focus();
|
|
3799
|
+
this.closed.emit();
|
|
3800
|
+
}
|
|
3801
|
+
openActionSheet() {
|
|
3802
|
+
this.actionSheet.toggle(true);
|
|
3803
|
+
this.cdr.detectChanges();
|
|
3804
|
+
setListBoxAriaLabelLebBy(this.optionsList, this.searchbar.input, this.renderer);
|
|
3805
|
+
this.title = setActionSheetTitle(this.searchbar.input, this.title);
|
|
3806
|
+
updateActionSheetAdaptiveAppearance(this.actionSheet, this.windowSize, this.renderer);
|
|
3807
|
+
this.cdr.detectChanges();
|
|
3808
|
+
this.opened.emit();
|
|
3809
|
+
this.optionsList.scrollToItem(this.selectionService.focused);
|
|
3810
|
+
this.selectionService.focus(this.selectionService.focused);
|
|
3811
|
+
this.actionSheetSearchBar.focus();
|
|
3812
|
+
}
|
|
3362
3813
|
}
|
|
3363
|
-
AutoCompleteComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AutoCompleteComponent, deps: [{ token: i1.LocalizationService }, { token: DataService }, { token: i2.PopupService }, { token: SelectionService }, { token: NavigationService }, { token: DisabledItemsService }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: TOUCH_ENABLED, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
3364
|
-
AutoCompleteComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: AutoCompleteComponent, selector: "kendo-autocomplete", inputs: { highlightFirst: "highlightFirst", focusableId: "focusableId", data: "data", value: "value", valueField: "valueField", placeholder: "placeholder", popupSettings: "popupSettings", listHeight: "listHeight", loading: "loading", clearButton: "clearButton", suggest: "suggest", disabled: "disabled", itemDisabled: "itemDisabled", readonly: "readonly", tabindex: "tabindex", tabIndex: "tabIndex", filterable: "filterable", virtual: "virtual", size: "size", rounded: "rounded", fillMode: "fillMode" }, outputs: { valueChange: "valueChange", filterChange: "filterChange", open: "open", opened: "opened", close: "close", closed: "closed", onFocus: "focus", onBlur: "blur" }, host: { properties: { "class.k-autocomplete": "this.widgetClasses", "class.k-input": "this.widgetClasses", "class.k-disabled": "this.isDisabled", "class.k-loading": "this.isLoading", "attr.dir": "this.dir" } }, providers: [
|
|
3814
|
+
AutoCompleteComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AutoCompleteComponent, deps: [{ token: i1.LocalizationService }, { token: DataService }, { token: i2$1.PopupService }, { token: SelectionService }, { token: NavigationService }, { token: DisabledItemsService }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: TOUCH_ENABLED, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
3815
|
+
AutoCompleteComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: AutoCompleteComponent, selector: "kendo-autocomplete", inputs: { highlightFirst: "highlightFirst", focusableId: "focusableId", data: "data", value: "value", valueField: "valueField", placeholder: "placeholder", adaptiveMode: "adaptiveMode", title: "title", subtitle: "subtitle", popupSettings: "popupSettings", listHeight: "listHeight", loading: "loading", clearButton: "clearButton", suggest: "suggest", disabled: "disabled", itemDisabled: "itemDisabled", readonly: "readonly", tabindex: "tabindex", tabIndex: "tabIndex", filterable: "filterable", virtual: "virtual", size: "size", rounded: "rounded", fillMode: "fillMode" }, outputs: { valueChange: "valueChange", filterChange: "filterChange", open: "open", opened: "opened", close: "close", closed: "closed", onFocus: "focus", onBlur: "blur" }, host: { properties: { "class.k-autocomplete": "this.widgetClasses", "class.k-input": "this.widgetClasses", "class.k-disabled": "this.isDisabled", "class.k-loading": "this.isLoading", "attr.dir": "this.dir" } }, providers: [
|
|
3365
3816
|
AUTOCOMPLETE_VALUE_ACCESSOR,
|
|
3366
3817
|
DataService,
|
|
3367
3818
|
SelectionService,
|
|
@@ -3380,7 +3831,7 @@ AutoCompleteComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
|
|
|
3380
3831
|
provide: KendoInput,
|
|
3381
3832
|
useExisting: forwardRef(() => AutoCompleteComponent)
|
|
3382
3833
|
}
|
|
3383
|
-
], queries: [{ propertyName: "template", first: true, predicate: ItemTemplateDirective, descendants: true }, { propertyName: "headerTemplate", first: true, predicate: HeaderTemplateDirective, descendants: true }, { propertyName: "footerTemplate", first: true, predicate: FooterTemplateDirective, descendants: true }, { propertyName: "noDataTemplate", first: true, predicate: NoDataTemplateDirective, descendants: true }, { propertyName: "groupTemplate", first: true, predicate: GroupTemplateDirective, descendants: true }, { propertyName: "fixedGroupTemplate", first: true, predicate: FixedGroupTemplateDirective, descendants: true }], viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true, read: ViewContainerRef, static: true }, { propertyName: "popupTemplate", first: true, predicate: ["popupTemplate"], descendants: true, static: true }, { propertyName: "searchbar", first: true, predicate: SearchBarComponent, descendants: true, static: true }, { propertyName: "optionsList", first: true, predicate: ["optionsList"], descendants: true }], exportAs: ["kendoAutoComplete"], usesOnChanges: true, ngImport: i0, template: `
|
|
3834
|
+
], queries: [{ propertyName: "template", first: true, predicate: ItemTemplateDirective, descendants: true }, { propertyName: "headerTemplate", first: true, predicate: HeaderTemplateDirective, descendants: true }, { propertyName: "footerTemplate", first: true, predicate: FooterTemplateDirective, descendants: true }, { propertyName: "noDataTemplate", first: true, predicate: NoDataTemplateDirective, descendants: true }, { propertyName: "groupTemplate", first: true, predicate: GroupTemplateDirective, descendants: true }, { propertyName: "fixedGroupTemplate", first: true, predicate: FixedGroupTemplateDirective, descendants: true }], viewQueries: [{ propertyName: "responsiveRendererComponent", first: true, predicate: ResponsiveRendererComponent, descendants: true }, { propertyName: "container", first: true, predicate: ["container"], descendants: true, read: ViewContainerRef, static: true }, { propertyName: "popupTemplate", first: true, predicate: ["popupTemplate"], descendants: true, static: true }, { propertyName: "searchbar", first: true, predicate: SearchBarComponent, descendants: true, static: true }, { propertyName: "optionsList", first: true, predicate: ["optionsList"], descendants: true }], exportAs: ["kendoAutoComplete"], usesOnChanges: true, ngImport: i0, template: `
|
|
3384
3835
|
<ng-container kendoAutoCompleteLocalizedMessages
|
|
3385
3836
|
i18n-noDataText="kendo.autocomplete.noDataText|The text displayed in the popup when there are no items"
|
|
3386
3837
|
noDataText="NO DATA FOUND"
|
|
@@ -3395,7 +3846,6 @@ AutoCompleteComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
|
|
|
3395
3846
|
<kendo-searchbar #searchbar
|
|
3396
3847
|
[role]="'combobox'"
|
|
3397
3848
|
[ariaExpanded]="isOpen"
|
|
3398
|
-
[ariaControls]="ariaControls"
|
|
3399
3849
|
[isSuggestable]="suggest"
|
|
3400
3850
|
[isFilterable]="filterable"
|
|
3401
3851
|
[isLoading]="isLoading"
|
|
@@ -3405,13 +3855,14 @@ AutoCompleteComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
|
|
|
3405
3855
|
[userInput]="text"
|
|
3406
3856
|
[suggestedText]="suggestion"
|
|
3407
3857
|
[disabled]="disabled"
|
|
3408
|
-
[readonly]="readonly"
|
|
3858
|
+
[readonly]="readonly || this.isAdaptive"
|
|
3409
3859
|
[tabIndex]="tabIndex"
|
|
3410
3860
|
[placeholder]="placeholder"
|
|
3411
3861
|
(onNavigate)="handleNavigate($event)"
|
|
3412
3862
|
(valueChange)="searchBarChange($event)"
|
|
3413
3863
|
(onBlur)="handleBlur()"
|
|
3414
3864
|
(onFocus)="handleFocus()"
|
|
3865
|
+
(click)="handleClick()"
|
|
3415
3866
|
></kendo-searchbar>
|
|
3416
3867
|
<span
|
|
3417
3868
|
*ngIf="!loading && !readonly && (clearButton && text?.length)"
|
|
@@ -3431,6 +3882,26 @@ AutoCompleteComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
|
|
|
3431
3882
|
</span>
|
|
3432
3883
|
<span *ngIf="loading" class="k-icon k-i-loading k-input-loading-icon"></span>
|
|
3433
3884
|
<ng-template #popupTemplate>
|
|
3885
|
+
<ng-container *ngTemplateOutlet="sharedPopupActionSheetTemplate"></ng-container>
|
|
3886
|
+
</ng-template>
|
|
3887
|
+
<ng-container #container></ng-container>
|
|
3888
|
+
<kendo-resize-sensor *ngIf="isOpen || isAdaptiveModeEnabled" (resize)="onResize()"></kendo-resize-sensor>
|
|
3889
|
+
|
|
3890
|
+
<!--adaptive rendering-->
|
|
3891
|
+
<responsive-renderer
|
|
3892
|
+
[sharedPopupActionSheetTemplate]="sharedPopupActionSheetTemplate"
|
|
3893
|
+
[isActionSheetExpanded]="isActionSheetExpanded"
|
|
3894
|
+
[title]="title"
|
|
3895
|
+
[showTextInput]="true"
|
|
3896
|
+
[subtitle]="subtitle"
|
|
3897
|
+
(closePopup)="togglePopup(false)"
|
|
3898
|
+
(textInputChange)="onFilterChange($event)"
|
|
3899
|
+
(navigate)="handleNavigate($event)"
|
|
3900
|
+
[placeholder]="placeholder"
|
|
3901
|
+
>
|
|
3902
|
+
</responsive-renderer>
|
|
3903
|
+
|
|
3904
|
+
<ng-template #sharedPopupActionSheetTemplate>
|
|
3434
3905
|
<!--header template-->
|
|
3435
3906
|
<ng-template *ngIf="headerTemplate"
|
|
3436
3907
|
[templateContext]="{
|
|
@@ -3474,11 +3945,7 @@ AutoCompleteComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
|
|
|
3474
3945
|
}">
|
|
3475
3946
|
</ng-template>
|
|
3476
3947
|
</ng-template>
|
|
3477
|
-
|
|
3478
|
-
<kendo-resize-sensor (resize)="onResize()"></kendo-resize-sensor>
|
|
3479
|
-
</ng-template>
|
|
3480
|
-
<ng-container #container></ng-container>
|
|
3481
|
-
`, isInline: true, components: [{ type: SearchBarComponent, selector: "kendo-searchbar", inputs: ["id", "tagListId", "activeDescendant", "disabled", "readonly", "tabIndex", "role", "isLoading", "ariaControls", "ariaExpanded", "isSuggestable", "isFilterable", "userInput", "suggestedText", "placeholder"], outputs: ["valueChange", "onBlur", "onFocus", "onClick", "onNavigate"] }, { type: i8.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass"], exportAs: ["kendoIconWrapper"] }, { type: ListComponent, selector: "kendo-list", inputs: ["selected", "focused", "textField", "valueField", "height", "template", "groupTemplate", "fixedGroupTemplate", "show", "id", "optionPrefix", "multipleSelection", "virtual", "type", "checkboxes", "ariaLive", "isMultiselect", "data", "size", "rounded"], outputs: ["onClick", "pageChange", "listResize"] }, { type: i10.ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }], directives: [{ type: LocalizedMessagesDirective, selector: "\n [kendoDropDownListLocalizedMessages],\n [kendoDropDownTreeLocalizedMessages],\n [kendoComboBoxLocalizedMessages],\n [kendoMultiColumnComboBoxLocalizedMessages],\n [kendoAutoCompleteLocalizedMessages],\n [kendoMultiSelectLocalizedMessages],\n [kendoMultiSelectTreeLocalizedMessages]\n " }, { type: i12.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }] });
|
|
3948
|
+
`, isInline: true, components: [{ type: SearchBarComponent, selector: "kendo-searchbar", inputs: ["id", "tagListId", "activeDescendant", "disabled", "readonly", "tabIndex", "role", "isLoading", "ariaControls", "ariaExpanded", "isSuggestable", "isFilterable", "userInput", "suggestedText", "placeholder"], outputs: ["valueChange", "onBlur", "onFocus", "onClick", "onNavigate"] }, { type: i8.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass"], exportAs: ["kendoIconWrapper"] }, { type: i9.ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }, { type: ResponsiveRendererComponent, selector: "responsive-renderer", inputs: ["title", "showActionButtons", "subtitle", "size", "showTextInput", "sharedPopupActionSheetTemplate", "isActionSheetExpanded", "text", "placeholder"], outputs: ["closePopup", "textInputChange", "navigate", "onExpand", "onCollapse", "onApply", "onCancel"] }, { type: ListComponent, selector: "kendo-list", inputs: ["selected", "focused", "textField", "valueField", "height", "template", "groupTemplate", "fixedGroupTemplate", "show", "id", "optionPrefix", "multipleSelection", "virtual", "type", "checkboxes", "ariaLive", "isMultiselect", "isActionSheetExpanded", "data", "size", "rounded"], outputs: ["onClick", "pageChange", "listResize"] }], directives: [{ type: LocalizedMessagesDirective, selector: "\n [kendoDropDownListLocalizedMessages],\n [kendoDropDownTreeLocalizedMessages],\n [kendoComboBoxLocalizedMessages],\n [kendoMultiColumnComboBoxLocalizedMessages],\n [kendoAutoCompleteLocalizedMessages],\n [kendoMultiSelectLocalizedMessages],\n [kendoMultiSelectTreeLocalizedMessages]\n " }, { type: i13.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i13.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }] });
|
|
3482
3949
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AutoCompleteComponent, decorators: [{
|
|
3483
3950
|
type: Component,
|
|
3484
3951
|
args: [{
|
|
@@ -3519,7 +3986,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
3519
3986
|
<kendo-searchbar #searchbar
|
|
3520
3987
|
[role]="'combobox'"
|
|
3521
3988
|
[ariaExpanded]="isOpen"
|
|
3522
|
-
[ariaControls]="ariaControls"
|
|
3523
3989
|
[isSuggestable]="suggest"
|
|
3524
3990
|
[isFilterable]="filterable"
|
|
3525
3991
|
[isLoading]="isLoading"
|
|
@@ -3529,13 +3995,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
3529
3995
|
[userInput]="text"
|
|
3530
3996
|
[suggestedText]="suggestion"
|
|
3531
3997
|
[disabled]="disabled"
|
|
3532
|
-
[readonly]="readonly"
|
|
3998
|
+
[readonly]="readonly || this.isAdaptive"
|
|
3533
3999
|
[tabIndex]="tabIndex"
|
|
3534
4000
|
[placeholder]="placeholder"
|
|
3535
4001
|
(onNavigate)="handleNavigate($event)"
|
|
3536
4002
|
(valueChange)="searchBarChange($event)"
|
|
3537
4003
|
(onBlur)="handleBlur()"
|
|
3538
4004
|
(onFocus)="handleFocus()"
|
|
4005
|
+
(click)="handleClick()"
|
|
3539
4006
|
></kendo-searchbar>
|
|
3540
4007
|
<span
|
|
3541
4008
|
*ngIf="!loading && !readonly && (clearButton && text?.length)"
|
|
@@ -3555,6 +4022,26 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
3555
4022
|
</span>
|
|
3556
4023
|
<span *ngIf="loading" class="k-icon k-i-loading k-input-loading-icon"></span>
|
|
3557
4024
|
<ng-template #popupTemplate>
|
|
4025
|
+
<ng-container *ngTemplateOutlet="sharedPopupActionSheetTemplate"></ng-container>
|
|
4026
|
+
</ng-template>
|
|
4027
|
+
<ng-container #container></ng-container>
|
|
4028
|
+
<kendo-resize-sensor *ngIf="isOpen || isAdaptiveModeEnabled" (resize)="onResize()"></kendo-resize-sensor>
|
|
4029
|
+
|
|
4030
|
+
<!--adaptive rendering-->
|
|
4031
|
+
<responsive-renderer
|
|
4032
|
+
[sharedPopupActionSheetTemplate]="sharedPopupActionSheetTemplate"
|
|
4033
|
+
[isActionSheetExpanded]="isActionSheetExpanded"
|
|
4034
|
+
[title]="title"
|
|
4035
|
+
[showTextInput]="true"
|
|
4036
|
+
[subtitle]="subtitle"
|
|
4037
|
+
(closePopup)="togglePopup(false)"
|
|
4038
|
+
(textInputChange)="onFilterChange($event)"
|
|
4039
|
+
(navigate)="handleNavigate($event)"
|
|
4040
|
+
[placeholder]="placeholder"
|
|
4041
|
+
>
|
|
4042
|
+
</responsive-renderer>
|
|
4043
|
+
|
|
4044
|
+
<ng-template #sharedPopupActionSheetTemplate>
|
|
3558
4045
|
<!--header template-->
|
|
3559
4046
|
<ng-template *ngIf="headerTemplate"
|
|
3560
4047
|
[templateContext]="{
|
|
@@ -3598,20 +4085,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
3598
4085
|
}">
|
|
3599
4086
|
</ng-template>
|
|
3600
4087
|
</ng-template>
|
|
3601
|
-
<ng-template [ngIf]="isOpen">
|
|
3602
|
-
<kendo-resize-sensor (resize)="onResize()"></kendo-resize-sensor>
|
|
3603
|
-
</ng-template>
|
|
3604
|
-
<ng-container #container></ng-container>
|
|
3605
4088
|
`
|
|
3606
4089
|
}]
|
|
3607
4090
|
}], ctorParameters: function () {
|
|
3608
|
-
return [{ type: i1.LocalizationService }, { type: DataService }, { type: i2.PopupService }, { type: SelectionService }, { type: NavigationService }, { type: DisabledItemsService }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }, { type: i0.Renderer2 }, { type: i0.ElementRef }, { type: undefined, decorators: [{
|
|
4091
|
+
return [{ type: i1.LocalizationService }, { type: DataService }, { type: i2$1.PopupService }, { type: SelectionService }, { type: NavigationService }, { type: DisabledItemsService }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }, { type: i0.Renderer2 }, { type: i0.ElementRef }, { type: undefined, decorators: [{
|
|
3609
4092
|
type: Optional
|
|
3610
4093
|
}, {
|
|
3611
4094
|
type: Inject,
|
|
3612
4095
|
args: [TOUCH_ENABLED]
|
|
3613
4096
|
}] }];
|
|
3614
|
-
}, propDecorators: {
|
|
4097
|
+
}, propDecorators: { responsiveRendererComponent: [{
|
|
4098
|
+
type: ViewChild,
|
|
4099
|
+
args: [ResponsiveRendererComponent]
|
|
4100
|
+
}], highlightFirst: [{
|
|
3615
4101
|
type: Input
|
|
3616
4102
|
}], focusableId: [{
|
|
3617
4103
|
type: Input
|
|
@@ -3623,6 +4109,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
3623
4109
|
type: Input
|
|
3624
4110
|
}], placeholder: [{
|
|
3625
4111
|
type: Input
|
|
4112
|
+
}], adaptiveMode: [{
|
|
4113
|
+
type: Input
|
|
4114
|
+
}], title: [{
|
|
4115
|
+
type: Input
|
|
4116
|
+
}], subtitle: [{
|
|
4117
|
+
type: Input
|
|
3626
4118
|
}], popupSettings: [{
|
|
3627
4119
|
type: Input
|
|
3628
4120
|
}], listHeight: [{
|
|
@@ -3818,6 +4310,10 @@ class ComboBoxComponent {
|
|
|
3818
4310
|
this.cdr = cdr;
|
|
3819
4311
|
this.renderer = renderer;
|
|
3820
4312
|
this.touchEnabled = touchEnabled;
|
|
4313
|
+
/**
|
|
4314
|
+
* @hidden
|
|
4315
|
+
*/
|
|
4316
|
+
this.animationDuration = animationDuration;
|
|
3821
4317
|
/**
|
|
3822
4318
|
* @hidden
|
|
3823
4319
|
*/
|
|
@@ -3887,12 +4383,15 @@ class ComboBoxComponent {
|
|
|
3887
4383
|
*/
|
|
3888
4384
|
this.placeholder = "";
|
|
3889
4385
|
/**
|
|
3890
|
-
*
|
|
3891
|
-
|
|
3892
|
-
|
|
3893
|
-
|
|
4386
|
+
* Enables or disables the adaptive mode. By default the adaptive rendering is disabled.
|
|
4387
|
+
*/
|
|
4388
|
+
this.adaptiveMode = 'none';
|
|
4389
|
+
/**
|
|
4390
|
+
* Sets the title of the ActionSheet that is rendered instead of the Popup when using small screen devices.
|
|
4391
|
+
* By default the ActionSheet title uses the text provided for the label of the AutoComplete.
|
|
3894
4392
|
*/
|
|
3895
|
-
this.
|
|
4393
|
+
this.title = '';
|
|
4394
|
+
this._listHeight = 200;
|
|
3896
4395
|
/**
|
|
3897
4396
|
* Enables the auto-completion of the text based on the first data item.
|
|
3898
4397
|
*/
|
|
@@ -3967,6 +4466,10 @@ class ComboBoxComponent {
|
|
|
3967
4466
|
this.onBlur = new EventEmitter();
|
|
3968
4467
|
this.widgetClasses = true;
|
|
3969
4468
|
this._isFocused = false;
|
|
4469
|
+
/**
|
|
4470
|
+
* @hidden
|
|
4471
|
+
*/
|
|
4472
|
+
this.windowSize = 'large';
|
|
3970
4473
|
this.listBoxId = `k-${guid()}`;
|
|
3971
4474
|
this.optionPrefix = `k-${guid()}`;
|
|
3972
4475
|
this.onChangeCallback = (_) => { };
|
|
@@ -3996,6 +4499,20 @@ class ComboBoxComponent {
|
|
|
3996
4499
|
this.direction = localization.rtl ? 'rtl' : 'ltr';
|
|
3997
4500
|
this.data = [];
|
|
3998
4501
|
}
|
|
4502
|
+
/**
|
|
4503
|
+
* @hidden
|
|
4504
|
+
*/
|
|
4505
|
+
get actionSheet() {
|
|
4506
|
+
var _a;
|
|
4507
|
+
return (_a = this.responsiveRendererComponent) === null || _a === void 0 ? void 0 : _a.actionSheet;
|
|
4508
|
+
}
|
|
4509
|
+
/**
|
|
4510
|
+
* @hidden
|
|
4511
|
+
*/
|
|
4512
|
+
get actionSheetSearchBar() {
|
|
4513
|
+
var _a;
|
|
4514
|
+
return (_a = this.responsiveRendererComponent) === null || _a === void 0 ? void 0 : _a.actionSheetSearchBar;
|
|
4515
|
+
}
|
|
3999
4516
|
set text(text) {
|
|
4000
4517
|
this._text = isPresent(text) ? text.toString() : "";
|
|
4001
4518
|
}
|
|
@@ -4097,6 +4614,22 @@ class ComboBoxComponent {
|
|
|
4097
4614
|
}
|
|
4098
4615
|
return this._valuePrimitive;
|
|
4099
4616
|
}
|
|
4617
|
+
/**
|
|
4618
|
+
* Sets the subtitle of the ActionSheet that is rendered instead of the Popup when using small screen devices.
|
|
4619
|
+
* By default the ActionSheet subtitle uses the text provided for the `placeholder` of the AutoComplete.
|
|
4620
|
+
*/
|
|
4621
|
+
set subtitle(_subtitle) {
|
|
4622
|
+
this._subtitle = _subtitle;
|
|
4623
|
+
}
|
|
4624
|
+
get subtitle() {
|
|
4625
|
+
return this._subtitle || this.placeholder;
|
|
4626
|
+
}
|
|
4627
|
+
/**
|
|
4628
|
+
* @hidden
|
|
4629
|
+
*/
|
|
4630
|
+
get isAdaptiveModeEnabled() {
|
|
4631
|
+
return this.adaptiveMode === 'auto';
|
|
4632
|
+
}
|
|
4100
4633
|
/**
|
|
4101
4634
|
* Configures the popup of the ComboBox.
|
|
4102
4635
|
*
|
|
@@ -4113,6 +4646,24 @@ class ComboBoxComponent {
|
|
|
4113
4646
|
get popupSettings() {
|
|
4114
4647
|
return this._popupSettings;
|
|
4115
4648
|
}
|
|
4649
|
+
/**
|
|
4650
|
+
* Sets the height of the options list in the popup. By default, `listHeight` is 200px.
|
|
4651
|
+
*
|
|
4652
|
+
* > The `listHeight` property affects only the list of options and not the whole popup container.
|
|
4653
|
+
* > To set the height of the popup container, use `popupSettings.height`.
|
|
4654
|
+
*
|
|
4655
|
+
* > When using `adaptiveMode` and the screen size is `small` or `medium` the `listHeight` property is set to null.
|
|
4656
|
+
*/
|
|
4657
|
+
set listHeight(_listHeight) {
|
|
4658
|
+
this._listHeight = _listHeight;
|
|
4659
|
+
}
|
|
4660
|
+
;
|
|
4661
|
+
get listHeight() {
|
|
4662
|
+
if (this.isAdaptive) {
|
|
4663
|
+
return;
|
|
4664
|
+
}
|
|
4665
|
+
return this._listHeight;
|
|
4666
|
+
}
|
|
4116
4667
|
/**
|
|
4117
4668
|
* Defines a Boolean function that is executed for each data item in the component
|
|
4118
4669
|
* ([see examples]({% slug disableditems_combobox %})). Determines whether the item will be disabled.
|
|
@@ -4229,6 +4780,20 @@ class ComboBoxComponent {
|
|
|
4229
4780
|
return 'visible';
|
|
4230
4781
|
}
|
|
4231
4782
|
}
|
|
4783
|
+
/**
|
|
4784
|
+
* @hidden
|
|
4785
|
+
*/
|
|
4786
|
+
get isActionSheetExpanded() {
|
|
4787
|
+
var _a;
|
|
4788
|
+
return (_a = this.actionSheet) === null || _a === void 0 ? void 0 : _a.expanded;
|
|
4789
|
+
}
|
|
4790
|
+
;
|
|
4791
|
+
/**
|
|
4792
|
+
* @hidden
|
|
4793
|
+
*/
|
|
4794
|
+
get isAdaptive() {
|
|
4795
|
+
return this.isAdaptiveModeEnabled && this.windowSize !== 'large';
|
|
4796
|
+
}
|
|
4232
4797
|
get popupWidth() {
|
|
4233
4798
|
let wrapperOffsetWidth = 0;
|
|
4234
4799
|
if (isDocumentAvailable()) {
|
|
@@ -4251,6 +4816,12 @@ class ComboBoxComponent {
|
|
|
4251
4816
|
this.attachSelectClickHandler();
|
|
4252
4817
|
this.setComponentClasses();
|
|
4253
4818
|
}
|
|
4819
|
+
ngAfterViewInit() {
|
|
4820
|
+
var _a;
|
|
4821
|
+
this.windowSize = windowSize();
|
|
4822
|
+
this.cdr.detectChanges();
|
|
4823
|
+
this.renderer.setAttribute((_a = this.actionSheet) === null || _a === void 0 ? void 0 : _a.element.nativeElement, 'style', '--kendo-actionsheet-height: 60vh; --kendo-actionsheet-max-height: none');
|
|
4824
|
+
}
|
|
4254
4825
|
createValueStream() {
|
|
4255
4826
|
const valueStream = this.valueSubject.pipe(filter((candidate) => {
|
|
4256
4827
|
const current = getter(this.value, this.valueField);
|
|
@@ -4451,7 +5022,7 @@ class ComboBoxComponent {
|
|
|
4451
5022
|
}
|
|
4452
5023
|
}
|
|
4453
5024
|
/**
|
|
4454
|
-
* Toggles the visibility of the popup. If you use the `toggle` method to open or close the popup,
|
|
5025
|
+
* Toggles the visibility of the popup or actionSheet. If you use the `toggle` method to open or close the popup or actionSheet,
|
|
4455
5026
|
* the `open` and `close` events will not be fired.
|
|
4456
5027
|
*
|
|
4457
5028
|
* @param open - The state of the popup.
|
|
@@ -4464,10 +5035,19 @@ class ComboBoxComponent {
|
|
|
4464
5035
|
});
|
|
4465
5036
|
}
|
|
4466
5037
|
/**
|
|
4467
|
-
* Returns the current open state
|
|
5038
|
+
* Returns the current open state. Returns `true` if the popup or actionSheet is open.
|
|
4468
5039
|
*/
|
|
4469
5040
|
get isOpen() {
|
|
4470
|
-
return this._open;
|
|
5041
|
+
return isTruthy(this._open || this.isActionSheetExpanded);
|
|
5042
|
+
}
|
|
5043
|
+
/**
|
|
5044
|
+
* @hidden
|
|
5045
|
+
*/
|
|
5046
|
+
handleClick() {
|
|
5047
|
+
this.windowSize = windowSize();
|
|
5048
|
+
if (this.isAdaptive) {
|
|
5049
|
+
this.togglePopup(true);
|
|
5050
|
+
}
|
|
4471
5051
|
}
|
|
4472
5052
|
/**
|
|
4473
5053
|
* Resets the value of the ComboBox.
|
|
@@ -4550,7 +5130,14 @@ class ComboBoxComponent {
|
|
|
4550
5130
|
* @hidden
|
|
4551
5131
|
*/
|
|
4552
5132
|
onResize() {
|
|
4553
|
-
if (this.
|
|
5133
|
+
if (this.isAdaptiveModeEnabled && this.windowSize !== windowSize()) {
|
|
5134
|
+
if (this.isOpen) {
|
|
5135
|
+
this.togglePopup(false);
|
|
5136
|
+
}
|
|
5137
|
+
this.windowSize = windowSize();
|
|
5138
|
+
this.cdr.detectChanges();
|
|
5139
|
+
}
|
|
5140
|
+
if (this.isOpen && !this.isActionSheetExpanded) {
|
|
4554
5141
|
const popupWrapper = this.popupRef.popupElement;
|
|
4555
5142
|
const { min, max } = this.popupWidth;
|
|
4556
5143
|
popupWrapper.style.minWidth = min;
|
|
@@ -4656,13 +5243,7 @@ class ComboBoxComponent {
|
|
|
4656
5243
|
return result;
|
|
4657
5244
|
}
|
|
4658
5245
|
search(text, startFrom = 0) {
|
|
4659
|
-
|
|
4660
|
-
if (text.length && this.dataService.itemsCount) {
|
|
4661
|
-
index = this.dataService.findIndex(this.findIndexPredicate(text), startFrom);
|
|
4662
|
-
}
|
|
4663
|
-
else {
|
|
4664
|
-
index = -1;
|
|
4665
|
-
}
|
|
5246
|
+
const index = this.findIndex(text, startFrom);
|
|
4666
5247
|
if (this.disabledItemsService.isIndexDisabled(index)) {
|
|
4667
5248
|
if (index + 1 < this.dataService.itemsCount) {
|
|
4668
5249
|
this.search(text, index + 1);
|
|
@@ -4678,6 +5259,18 @@ class ComboBoxComponent {
|
|
|
4678
5259
|
}
|
|
4679
5260
|
}
|
|
4680
5261
|
}
|
|
5262
|
+
/**
|
|
5263
|
+
* @hidden
|
|
5264
|
+
*/
|
|
5265
|
+
onAdaptiveTextBoxChange(text) {
|
|
5266
|
+
if (this.filterable && this.filterText !== text) {
|
|
5267
|
+
this.filterText = text;
|
|
5268
|
+
this.filterChange.emit(text);
|
|
5269
|
+
}
|
|
5270
|
+
else {
|
|
5271
|
+
this.search(text);
|
|
5272
|
+
}
|
|
5273
|
+
}
|
|
4681
5274
|
/**
|
|
4682
5275
|
* @hidden
|
|
4683
5276
|
*/
|
|
@@ -4735,6 +5328,10 @@ class ComboBoxComponent {
|
|
|
4735
5328
|
((action === NavigationAction.Enter && this.isOpen) || action !== NavigationAction.Enter)) {
|
|
4736
5329
|
event.preventDefault();
|
|
4737
5330
|
}
|
|
5331
|
+
if (action === NavigationAction.Tab && this.isActionSheetExpanded) {
|
|
5332
|
+
event.stopImmediatePropagation();
|
|
5333
|
+
this.togglePopup(false);
|
|
5334
|
+
}
|
|
4738
5335
|
}
|
|
4739
5336
|
handleEnter() {
|
|
4740
5337
|
const text = this.text;
|
|
@@ -4766,32 +5363,34 @@ class ComboBoxComponent {
|
|
|
4766
5363
|
* @hidden
|
|
4767
5364
|
*/
|
|
4768
5365
|
handleBlur() {
|
|
4769
|
-
this.
|
|
4770
|
-
|
|
4771
|
-
|
|
4772
|
-
|
|
4773
|
-
|
|
4774
|
-
|
|
4775
|
-
|
|
4776
|
-
|
|
4777
|
-
|
|
4778
|
-
|
|
4779
|
-
|
|
4780
|
-
|
|
4781
|
-
|
|
4782
|
-
|
|
4783
|
-
|
|
4784
|
-
|
|
4785
|
-
|
|
5366
|
+
if (!this.isActionSheetExpanded) {
|
|
5367
|
+
this._filtering = false;
|
|
5368
|
+
this.searchbar.input.nativeElement.scrollLeft = 0; // Firefox doesn't auto-scroll to the left on blur like other browsers
|
|
5369
|
+
this.isFocused = false;
|
|
5370
|
+
const unresolvedSelection = getter(this.dataItem, this.valueField) !== getter(this.value, this.valueField);
|
|
5371
|
+
const currentText = this.searchbar.value;
|
|
5372
|
+
const textHasChanged = currentText !== (getter(this.dataItem, this.textField) || '');
|
|
5373
|
+
const valueHasChanged = unresolvedSelection || textHasChanged;
|
|
5374
|
+
const runInZone = valueHasChanged || hasObservers(this.onBlur) || hasObservers(this.close) || isUntouched(this.wrapper.nativeElement);
|
|
5375
|
+
if (runInZone) {
|
|
5376
|
+
this.zone.run(() => {
|
|
5377
|
+
if (valueHasChanged) {
|
|
5378
|
+
const lowerCaseMatch = isPresent(this.focusedItemText) && this.focusedItemText.toLowerCase() === currentText.toLowerCase();
|
|
5379
|
+
if (lowerCaseMatch || unresolvedSelection) {
|
|
5380
|
+
this.selectionService.change(this.selectionService.focused);
|
|
5381
|
+
}
|
|
5382
|
+
else {
|
|
5383
|
+
this.change(currentText, true);
|
|
5384
|
+
}
|
|
4786
5385
|
}
|
|
4787
|
-
|
|
4788
|
-
|
|
4789
|
-
|
|
5386
|
+
this.onBlur.emit();
|
|
5387
|
+
this.onTouchedCallback();
|
|
5388
|
+
this.togglePopup(false);
|
|
5389
|
+
});
|
|
5390
|
+
}
|
|
5391
|
+
else {
|
|
4790
5392
|
this.togglePopup(false);
|
|
4791
|
-
}
|
|
4792
|
-
}
|
|
4793
|
-
else {
|
|
4794
|
-
this.togglePopup(false);
|
|
5393
|
+
}
|
|
4795
5394
|
}
|
|
4796
5395
|
}
|
|
4797
5396
|
/**
|
|
@@ -4854,6 +5453,9 @@ class ComboBoxComponent {
|
|
|
4854
5453
|
}
|
|
4855
5454
|
else {
|
|
4856
5455
|
this.valueSubject.next(candidate);
|
|
5456
|
+
if (this.isActionSheetExpanded) {
|
|
5457
|
+
this.togglePopup(false);
|
|
5458
|
+
}
|
|
4857
5459
|
}
|
|
4858
5460
|
}
|
|
4859
5461
|
emitValueChange() {
|
|
@@ -4927,6 +5529,11 @@ class ComboBoxComponent {
|
|
|
4927
5529
|
if (this.virtual) {
|
|
4928
5530
|
this.virtual.skip = 0;
|
|
4929
5531
|
}
|
|
5532
|
+
this.windowSize = windowSize();
|
|
5533
|
+
if (this.isAdaptive) {
|
|
5534
|
+
this.openActionSheet();
|
|
5535
|
+
return;
|
|
5536
|
+
}
|
|
4930
5537
|
const horizontalAlign = this.direction === "rtl" ? "right" : "left";
|
|
4931
5538
|
const anchorPosition = { horizontal: horizontalAlign, vertical: "bottom" };
|
|
4932
5539
|
const popupPosition = { horizontal: horizontalAlign, vertical: "top" };
|
|
@@ -4958,7 +5565,9 @@ class ComboBoxComponent {
|
|
|
4958
5565
|
}
|
|
4959
5566
|
this.popupRef.popupOpen.subscribe(() => {
|
|
4960
5567
|
this.cdr.detectChanges();
|
|
5568
|
+
setListBoxAriaLabelLebBy(this.optionsList, this.searchbar.input, this.renderer);
|
|
4961
5569
|
this.optionsList.scrollToItem(this.selectionService.focused);
|
|
5570
|
+
this.selectionService.focus(this.selectionService.focused);
|
|
4962
5571
|
this.opened.emit();
|
|
4963
5572
|
});
|
|
4964
5573
|
this.popupRef.popupClose.subscribe(() => {
|
|
@@ -4969,7 +5578,11 @@ class ComboBoxComponent {
|
|
|
4969
5578
|
_toggle(open) {
|
|
4970
5579
|
this._open = open;
|
|
4971
5580
|
this.destroyPopup();
|
|
5581
|
+
if (this.isActionSheetExpanded) {
|
|
5582
|
+
this.closeActionSheet();
|
|
5583
|
+
}
|
|
4972
5584
|
if (this._open) {
|
|
5585
|
+
this.windowSize = windowSize();
|
|
4973
5586
|
this.createPopup();
|
|
4974
5587
|
}
|
|
4975
5588
|
}
|
|
@@ -5025,9 +5638,40 @@ class ComboBoxComponent {
|
|
|
5025
5638
|
this.renderer.addClass(this.wrapper.nativeElement, getFillModeClass('input', this.fillMode));
|
|
5026
5639
|
}
|
|
5027
5640
|
}
|
|
5641
|
+
findIndex(value, startFrom = 0) {
|
|
5642
|
+
let index;
|
|
5643
|
+
if (value && value.length && this.dataService.itemsCount) {
|
|
5644
|
+
index = this.dataService.findIndex(this.findIndexPredicate(value), startFrom);
|
|
5645
|
+
}
|
|
5646
|
+
else {
|
|
5647
|
+
index = -1;
|
|
5648
|
+
}
|
|
5649
|
+
;
|
|
5650
|
+
return index;
|
|
5651
|
+
}
|
|
5652
|
+
closeActionSheet() {
|
|
5653
|
+
this.actionSheet.toggle(false);
|
|
5654
|
+
this.actionSheetSearchBar.value = '';
|
|
5655
|
+
this.filterable && this.filterChange.emit('');
|
|
5656
|
+
this.searchbar.input.nativeElement.focus();
|
|
5657
|
+
this.closed.emit();
|
|
5658
|
+
}
|
|
5659
|
+
openActionSheet() {
|
|
5660
|
+
this.windowSize = windowSize();
|
|
5661
|
+
this.actionSheet.toggle(true);
|
|
5662
|
+
this.cdr.detectChanges();
|
|
5663
|
+
setListBoxAriaLabelLebBy(this.optionsList, this.searchbar.input, this.renderer);
|
|
5664
|
+
this.title = setActionSheetTitle(this.searchbar.input, this.title);
|
|
5665
|
+
updateActionSheetAdaptiveAppearance(this.actionSheet, this.windowSize, this.renderer);
|
|
5666
|
+
this.cdr.detectChanges();
|
|
5667
|
+
this.opened.emit();
|
|
5668
|
+
this.optionsList.scrollToItem(this.selectionService.focused);
|
|
5669
|
+
this.selectionService.focus(this.selectionService.focused);
|
|
5670
|
+
this.actionSheetSearchBar.focus();
|
|
5671
|
+
}
|
|
5028
5672
|
}
|
|
5029
|
-
ComboBoxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ComboBoxComponent, deps: [{ token: i0.ElementRef }, { token: i1.LocalizationService }, { token: i2.PopupService }, { token: SelectionService }, { token: NavigationService }, { token: DisabledItemsService }, { token: DataService }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }, { token: TOUCH_ENABLED, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
5030
|
-
ComboBoxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: ComboBoxComponent, selector: "kendo-combobox", inputs: { focusableId: "focusableId", allowCustom: "allowCustom", data: "data", value: "value", textField: "textField", valueField: "valueField", valuePrimitive: "valuePrimitive", valueNormalizer: "valueNormalizer", placeholder: "placeholder", popupSettings: "popupSettings", listHeight: "listHeight", iconClass: "iconClass", loading: "loading", suggest: "suggest", clearButton: "clearButton", disabled: "disabled", itemDisabled: "itemDisabled", readonly: "readonly", tabindex: "tabindex", tabIndex: "tabIndex", filterable: "filterable", virtual: "virtual", size: "size", rounded: "rounded", fillMode: "fillMode" }, outputs: { valueChange: "valueChange", selectionChange: "selectionChange", filterChange: "filterChange", open: "open", opened: "opened", close: "close", closed: "closed", onFocus: "focus", onBlur: "blur" }, host: { properties: { "class.k-combobox": "this.widgetClasses", "class.k-input": "this.widgetClasses", "class.k-disabled": "this.isDisabled", "class.k-loading": "this.isLoading", "attr.dir": "this.dir" } }, providers: [
|
|
5673
|
+
ComboBoxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ComboBoxComponent, deps: [{ token: i0.ElementRef }, { token: i1.LocalizationService }, { token: i2$1.PopupService }, { token: SelectionService }, { token: NavigationService }, { token: DisabledItemsService }, { token: DataService }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }, { token: TOUCH_ENABLED, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
5674
|
+
ComboBoxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: ComboBoxComponent, selector: "kendo-combobox", inputs: { focusableId: "focusableId", allowCustom: "allowCustom", data: "data", value: "value", textField: "textField", valueField: "valueField", valuePrimitive: "valuePrimitive", valueNormalizer: "valueNormalizer", placeholder: "placeholder", adaptiveMode: "adaptiveMode", title: "title", subtitle: "subtitle", popupSettings: "popupSettings", listHeight: "listHeight", iconClass: "iconClass", loading: "loading", suggest: "suggest", clearButton: "clearButton", disabled: "disabled", itemDisabled: "itemDisabled", readonly: "readonly", tabindex: "tabindex", tabIndex: "tabIndex", filterable: "filterable", virtual: "virtual", size: "size", rounded: "rounded", fillMode: "fillMode" }, outputs: { valueChange: "valueChange", selectionChange: "selectionChange", filterChange: "filterChange", open: "open", opened: "opened", close: "close", closed: "closed", onFocus: "focus", onBlur: "blur" }, host: { properties: { "class.k-combobox": "this.widgetClasses", "class.k-input": "this.widgetClasses", "class.k-disabled": "this.isDisabled", "class.k-loading": "this.isLoading", "attr.dir": "this.dir" } }, providers: [
|
|
5031
5675
|
COMBOBOX_VALUE_ACCESSOR,
|
|
5032
5676
|
DataService,
|
|
5033
5677
|
SelectionService,
|
|
@@ -5044,7 +5688,7 @@ ComboBoxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", vers
|
|
|
5044
5688
|
{
|
|
5045
5689
|
provide: KendoInput, useExisting: forwardRef(() => ComboBoxComponent)
|
|
5046
5690
|
}
|
|
5047
|
-
], queries: [{ propertyName: "template", first: true, predicate: ItemTemplateDirective, descendants: true }, { propertyName: "headerTemplate", first: true, predicate: HeaderTemplateDirective, descendants: true }, { propertyName: "footerTemplate", first: true, predicate: FooterTemplateDirective, descendants: true }, { propertyName: "noDataTemplate", first: true, predicate: NoDataTemplateDirective, descendants: true }, { propertyName: "groupTemplate", first: true, predicate: GroupTemplateDirective, descendants: true }, { propertyName: "fixedGroupTemplate", first: true, predicate: FixedGroupTemplateDirective, descendants: true }], viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true, read: ViewContainerRef, static: true }, { propertyName: "popupTemplate", first: true, predicate: ["popupTemplate"], descendants: true, static: true }, { propertyName: "searchbar", first: true, predicate: SearchBarComponent, descendants: true, static: true }, { propertyName: "optionsList", first: true, predicate: ["optionsList"], descendants: true }, { propertyName: "select", first: true, predicate: ["select"], descendants: true, static: true }], exportAs: ["kendoComboBox"], usesOnChanges: true, ngImport: i0, template: `
|
|
5691
|
+
], queries: [{ propertyName: "template", first: true, predicate: ItemTemplateDirective, descendants: true }, { propertyName: "headerTemplate", first: true, predicate: HeaderTemplateDirective, descendants: true }, { propertyName: "footerTemplate", first: true, predicate: FooterTemplateDirective, descendants: true }, { propertyName: "noDataTemplate", first: true, predicate: NoDataTemplateDirective, descendants: true }, { propertyName: "groupTemplate", first: true, predicate: GroupTemplateDirective, descendants: true }, { propertyName: "fixedGroupTemplate", first: true, predicate: FixedGroupTemplateDirective, descendants: true }], viewQueries: [{ propertyName: "responsiveRendererComponent", first: true, predicate: ResponsiveRendererComponent, descendants: true }, { propertyName: "container", first: true, predicate: ["container"], descendants: true, read: ViewContainerRef, static: true }, { propertyName: "popupTemplate", first: true, predicate: ["popupTemplate"], descendants: true, static: true }, { propertyName: "searchbar", first: true, predicate: SearchBarComponent, descendants: true, static: true }, { propertyName: "optionsList", first: true, predicate: ["optionsList"], descendants: true }, { propertyName: "select", first: true, predicate: ["select"], descendants: true, static: true }], exportAs: ["kendoComboBox"], usesOnChanges: true, ngImport: i0, template: `
|
|
5048
5692
|
<ng-container kendoComboBoxLocalizedMessages
|
|
5049
5693
|
i18n-noDataText="kendo.combobox.noDataText|The text displayed in the popup when there are no items"
|
|
5050
5694
|
noDataText="NO DATA FOUND"
|
|
@@ -5071,13 +5715,14 @@ ComboBoxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", vers
|
|
|
5071
5715
|
[userInput]="text"
|
|
5072
5716
|
[suggestedText]="getSuggestion()"
|
|
5073
5717
|
[disabled]="disabled"
|
|
5074
|
-
[readonly]="readonly"
|
|
5718
|
+
[readonly]="readonly || isAdaptive"
|
|
5075
5719
|
[tabIndex]="tabIndex"
|
|
5076
5720
|
[placeholder]="placeholder"
|
|
5077
5721
|
(onNavigate)="handleNavigate($event)"
|
|
5078
5722
|
(valueChange)="searchBarChange($event)"
|
|
5079
5723
|
(onBlur)="handleBlur()"
|
|
5080
5724
|
(onFocus)="handleFocus()"
|
|
5725
|
+
(click)="handleClick()"
|
|
5081
5726
|
></kendo-searchbar>
|
|
5082
5727
|
<span
|
|
5083
5728
|
*ngIf="clearButton && !loading && !disabled && !readonly && text?.length"
|
|
@@ -5117,6 +5762,25 @@ ComboBoxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", vers
|
|
|
5117
5762
|
<span *ngIf="loading || iconClass" class="k-button-icon k-icon" [ngClass]="buttonClasses"></span>
|
|
5118
5763
|
</button>
|
|
5119
5764
|
<ng-template #popupTemplate>
|
|
5765
|
+
<ng-container *ngTemplateOutlet="sharedPopupActionSheetTemplate"></ng-container>
|
|
5766
|
+
</ng-template>
|
|
5767
|
+
<kendo-resize-sensor *ngIf="isOpen || isAdaptiveModeEnabled" (resize)="onResize()"></kendo-resize-sensor>
|
|
5768
|
+
<ng-container #container></ng-container>
|
|
5769
|
+
|
|
5770
|
+
<!--adaptive rendering-->
|
|
5771
|
+
<responsive-renderer
|
|
5772
|
+
[sharedPopupActionSheetTemplate]="sharedPopupActionSheetTemplate"
|
|
5773
|
+
[isActionSheetExpanded]="isActionSheetExpanded"
|
|
5774
|
+
[title]="title"
|
|
5775
|
+
[showTextInput]="true"
|
|
5776
|
+
[subtitle]="subtitle"
|
|
5777
|
+
(closePopup)="togglePopup(false)"
|
|
5778
|
+
(textInputChange)="onAdaptiveTextBoxChange($event)"
|
|
5779
|
+
(navigate)="handleNavigate($event)"
|
|
5780
|
+
[placeholder]="placeholder"
|
|
5781
|
+
>
|
|
5782
|
+
</responsive-renderer>
|
|
5783
|
+
<ng-template #sharedPopupActionSheetTemplate>
|
|
5120
5784
|
<!--header template-->
|
|
5121
5785
|
<ng-template *ngIf="headerTemplate"
|
|
5122
5786
|
[templateContext]="{
|
|
@@ -5160,11 +5824,7 @@ ComboBoxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", vers
|
|
|
5160
5824
|
}">
|
|
5161
5825
|
</ng-template>
|
|
5162
5826
|
</ng-template>
|
|
5163
|
-
|
|
5164
|
-
<kendo-resize-sensor (resize)="onResize()"></kendo-resize-sensor>
|
|
5165
|
-
</ng-template>
|
|
5166
|
-
<ng-container #container></ng-container>
|
|
5167
|
-
`, isInline: true, components: [{ type: SearchBarComponent, selector: "kendo-searchbar", inputs: ["id", "tagListId", "activeDescendant", "disabled", "readonly", "tabIndex", "role", "isLoading", "ariaControls", "ariaExpanded", "isSuggestable", "isFilterable", "userInput", "suggestedText", "placeholder"], outputs: ["valueChange", "onBlur", "onFocus", "onClick", "onNavigate"] }, { type: i8.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass"], exportAs: ["kendoIconWrapper"] }, { type: ListComponent, selector: "kendo-list", inputs: ["selected", "focused", "textField", "valueField", "height", "template", "groupTemplate", "fixedGroupTemplate", "show", "id", "optionPrefix", "multipleSelection", "virtual", "type", "checkboxes", "ariaLive", "isMultiselect", "data", "size", "rounded"], outputs: ["onClick", "pageChange", "listResize"] }, { type: i10.ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }], directives: [{ type: LocalizedMessagesDirective, selector: "\n [kendoDropDownListLocalizedMessages],\n [kendoDropDownTreeLocalizedMessages],\n [kendoComboBoxLocalizedMessages],\n [kendoMultiColumnComboBoxLocalizedMessages],\n [kendoAutoCompleteLocalizedMessages],\n [kendoMultiSelectLocalizedMessages],\n [kendoMultiSelectTreeLocalizedMessages]\n " }, { type: i12.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i10.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { type: i12.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }] });
|
|
5827
|
+
`, isInline: true, components: [{ type: SearchBarComponent, selector: "kendo-searchbar", inputs: ["id", "tagListId", "activeDescendant", "disabled", "readonly", "tabIndex", "role", "isLoading", "ariaControls", "ariaExpanded", "isSuggestable", "isFilterable", "userInput", "suggestedText", "placeholder"], outputs: ["valueChange", "onBlur", "onFocus", "onClick", "onNavigate"] }, { type: i8.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass"], exportAs: ["kendoIconWrapper"] }, { type: i9.ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }, { type: ResponsiveRendererComponent, selector: "responsive-renderer", inputs: ["title", "showActionButtons", "subtitle", "size", "showTextInput", "sharedPopupActionSheetTemplate", "isActionSheetExpanded", "text", "placeholder"], outputs: ["closePopup", "textInputChange", "navigate", "onExpand", "onCollapse", "onApply", "onCancel"] }, { type: ListComponent, selector: "kendo-list", inputs: ["selected", "focused", "textField", "valueField", "height", "template", "groupTemplate", "fixedGroupTemplate", "show", "id", "optionPrefix", "multipleSelection", "virtual", "type", "checkboxes", "ariaLive", "isMultiselect", "isActionSheetExpanded", "data", "size", "rounded"], outputs: ["onClick", "pageChange", "listResize"] }], directives: [{ type: LocalizedMessagesDirective, selector: "\n [kendoDropDownListLocalizedMessages],\n [kendoDropDownTreeLocalizedMessages],\n [kendoComboBoxLocalizedMessages],\n [kendoMultiColumnComboBoxLocalizedMessages],\n [kendoAutoCompleteLocalizedMessages],\n [kendoMultiSelectLocalizedMessages],\n [kendoMultiSelectTreeLocalizedMessages]\n " }, { type: i13.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i9.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { type: i13.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i13.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }] });
|
|
5168
5828
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ComboBoxComponent, decorators: [{
|
|
5169
5829
|
type: Component,
|
|
5170
5830
|
args: [{
|
|
@@ -5215,13 +5875,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
5215
5875
|
[userInput]="text"
|
|
5216
5876
|
[suggestedText]="getSuggestion()"
|
|
5217
5877
|
[disabled]="disabled"
|
|
5218
|
-
[readonly]="readonly"
|
|
5878
|
+
[readonly]="readonly || isAdaptive"
|
|
5219
5879
|
[tabIndex]="tabIndex"
|
|
5220
5880
|
[placeholder]="placeholder"
|
|
5221
5881
|
(onNavigate)="handleNavigate($event)"
|
|
5222
5882
|
(valueChange)="searchBarChange($event)"
|
|
5223
5883
|
(onBlur)="handleBlur()"
|
|
5224
5884
|
(onFocus)="handleFocus()"
|
|
5885
|
+
(click)="handleClick()"
|
|
5225
5886
|
></kendo-searchbar>
|
|
5226
5887
|
<span
|
|
5227
5888
|
*ngIf="clearButton && !loading && !disabled && !readonly && text?.length"
|
|
@@ -5261,6 +5922,25 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
5261
5922
|
<span *ngIf="loading || iconClass" class="k-button-icon k-icon" [ngClass]="buttonClasses"></span>
|
|
5262
5923
|
</button>
|
|
5263
5924
|
<ng-template #popupTemplate>
|
|
5925
|
+
<ng-container *ngTemplateOutlet="sharedPopupActionSheetTemplate"></ng-container>
|
|
5926
|
+
</ng-template>
|
|
5927
|
+
<kendo-resize-sensor *ngIf="isOpen || isAdaptiveModeEnabled" (resize)="onResize()"></kendo-resize-sensor>
|
|
5928
|
+
<ng-container #container></ng-container>
|
|
5929
|
+
|
|
5930
|
+
<!--adaptive rendering-->
|
|
5931
|
+
<responsive-renderer
|
|
5932
|
+
[sharedPopupActionSheetTemplate]="sharedPopupActionSheetTemplate"
|
|
5933
|
+
[isActionSheetExpanded]="isActionSheetExpanded"
|
|
5934
|
+
[title]="title"
|
|
5935
|
+
[showTextInput]="true"
|
|
5936
|
+
[subtitle]="subtitle"
|
|
5937
|
+
(closePopup)="togglePopup(false)"
|
|
5938
|
+
(textInputChange)="onAdaptiveTextBoxChange($event)"
|
|
5939
|
+
(navigate)="handleNavigate($event)"
|
|
5940
|
+
[placeholder]="placeholder"
|
|
5941
|
+
>
|
|
5942
|
+
</responsive-renderer>
|
|
5943
|
+
<ng-template #sharedPopupActionSheetTemplate>
|
|
5264
5944
|
<!--header template-->
|
|
5265
5945
|
<ng-template *ngIf="headerTemplate"
|
|
5266
5946
|
[templateContext]="{
|
|
@@ -5304,20 +5984,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
5304
5984
|
}">
|
|
5305
5985
|
</ng-template>
|
|
5306
5986
|
</ng-template>
|
|
5307
|
-
<ng-template [ngIf]="isOpen">
|
|
5308
|
-
<kendo-resize-sensor (resize)="onResize()"></kendo-resize-sensor>
|
|
5309
|
-
</ng-template>
|
|
5310
|
-
<ng-container #container></ng-container>
|
|
5311
5987
|
`
|
|
5312
5988
|
}]
|
|
5313
5989
|
}], ctorParameters: function () {
|
|
5314
|
-
return [{ type: i0.ElementRef }, { type: i1.LocalizationService }, { type: i2.PopupService }, { type: SelectionService }, { type: NavigationService }, { type: DisabledItemsService }, { type: DataService }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }, { type: i0.Renderer2 }, { type: undefined, decorators: [{
|
|
5990
|
+
return [{ type: i0.ElementRef }, { type: i1.LocalizationService }, { type: i2$1.PopupService }, { type: SelectionService }, { type: NavigationService }, { type: DisabledItemsService }, { type: DataService }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }, { type: i0.Renderer2 }, { type: undefined, decorators: [{
|
|
5315
5991
|
type: Optional
|
|
5316
5992
|
}, {
|
|
5317
5993
|
type: Inject,
|
|
5318
5994
|
args: [TOUCH_ENABLED]
|
|
5319
5995
|
}] }];
|
|
5320
|
-
}, propDecorators: {
|
|
5996
|
+
}, propDecorators: { responsiveRendererComponent: [{
|
|
5997
|
+
type: ViewChild,
|
|
5998
|
+
args: [ResponsiveRendererComponent]
|
|
5999
|
+
}], focusableId: [{
|
|
5321
6000
|
type: Input
|
|
5322
6001
|
}], allowCustom: [{
|
|
5323
6002
|
type: Input
|
|
@@ -5335,6 +6014,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
5335
6014
|
type: Input
|
|
5336
6015
|
}], placeholder: [{
|
|
5337
6016
|
type: Input
|
|
6017
|
+
}], adaptiveMode: [{
|
|
6018
|
+
type: Input
|
|
6019
|
+
}], title: [{
|
|
6020
|
+
type: Input
|
|
6021
|
+
}], subtitle: [{
|
|
6022
|
+
type: Input
|
|
5338
6023
|
}], popupSettings: [{
|
|
5339
6024
|
type: Input
|
|
5340
6025
|
}], listHeight: [{
|
|
@@ -5552,6 +6237,14 @@ class DropDownListComponent {
|
|
|
5552
6237
|
this.cdr = cdr;
|
|
5553
6238
|
this.touchEnabled = touchEnabled;
|
|
5554
6239
|
this.injector = injector;
|
|
6240
|
+
/**
|
|
6241
|
+
* @hidden
|
|
6242
|
+
*/
|
|
6243
|
+
this.animationDuration = animationDuration;
|
|
6244
|
+
/**
|
|
6245
|
+
* @hidden
|
|
6246
|
+
*/
|
|
6247
|
+
this.xIcon = xIcon;
|
|
5555
6248
|
/**
|
|
5556
6249
|
* @hidden
|
|
5557
6250
|
*/
|
|
@@ -5562,12 +6255,24 @@ class DropDownListComponent {
|
|
|
5562
6255
|
this.caretAltDownIcon = caretAltDownIcon;
|
|
5563
6256
|
this.listBoxId = `k-${guid()}`;
|
|
5564
6257
|
/**
|
|
5565
|
-
*
|
|
5566
|
-
|
|
5567
|
-
|
|
5568
|
-
|
|
6258
|
+
* Enables or disables the adaptive mode. By default the adaptive rendering is disabled.
|
|
6259
|
+
*/
|
|
6260
|
+
this.adaptiveMode = 'none';
|
|
6261
|
+
/**
|
|
6262
|
+
* Sets the title of the ActionSheet that is rendered instead of the Popup when using small screen devices.
|
|
6263
|
+
* By default the ActionSheet title uses the text provided for the label of the AutoComplete.
|
|
5569
6264
|
*/
|
|
5570
|
-
this.
|
|
6265
|
+
this.title = '';
|
|
6266
|
+
/**
|
|
6267
|
+
* Sets the subtitle of the ActionSheet that is rendered instead of the Popup when using small screen devices.
|
|
6268
|
+
* By default the ActionSheet subtitle uses the text provided for the `placeholder` of the AutoComplete.
|
|
6269
|
+
*/
|
|
6270
|
+
this.subtitle = '';
|
|
6271
|
+
/**
|
|
6272
|
+
* @hidden
|
|
6273
|
+
*/
|
|
6274
|
+
this.windowSize = 'large';
|
|
6275
|
+
this._listHeight = 200;
|
|
5571
6276
|
/**
|
|
5572
6277
|
* Sets the read-only state of the component.
|
|
5573
6278
|
*/
|
|
@@ -5667,6 +6372,20 @@ class DropDownListComponent {
|
|
|
5667
6372
|
this.subscribeFocusEvents();
|
|
5668
6373
|
this.popupMouseDownHandler = this.onMouseDown.bind(this);
|
|
5669
6374
|
}
|
|
6375
|
+
/**
|
|
6376
|
+
* @hidden
|
|
6377
|
+
*/
|
|
6378
|
+
get actionSheet() {
|
|
6379
|
+
var _a;
|
|
6380
|
+
return (_a = this.responsiveRendererComponent) === null || _a === void 0 ? void 0 : _a.actionSheet;
|
|
6381
|
+
}
|
|
6382
|
+
/**
|
|
6383
|
+
* @hidden
|
|
6384
|
+
*/
|
|
6385
|
+
get actionSheetSearchBar() {
|
|
6386
|
+
var _a;
|
|
6387
|
+
return (_a = this.responsiveRendererComponent) === null || _a === void 0 ? void 0 : _a.actionSheetSearchBar;
|
|
6388
|
+
}
|
|
5670
6389
|
get width() {
|
|
5671
6390
|
const wrapperWidth = isDocumentAvailable() ? this.wrapper.nativeElement.offsetWidth : 0;
|
|
5672
6391
|
const width = this.popupSettings.width || wrapperWidth;
|
|
@@ -5708,6 +6427,14 @@ class DropDownListComponent {
|
|
|
5708
6427
|
}
|
|
5709
6428
|
return appendTo === 'component' ? this.container : appendTo;
|
|
5710
6429
|
}
|
|
6430
|
+
/**
|
|
6431
|
+
* @hidden
|
|
6432
|
+
*/
|
|
6433
|
+
onFilterChange(text) {
|
|
6434
|
+
if (this.filterable) {
|
|
6435
|
+
this.filterChange.emit(text);
|
|
6436
|
+
}
|
|
6437
|
+
}
|
|
5711
6438
|
/**
|
|
5712
6439
|
* @hidden
|
|
5713
6440
|
*/
|
|
@@ -5755,6 +6482,26 @@ class DropDownListComponent {
|
|
|
5755
6482
|
get value() {
|
|
5756
6483
|
return this._value;
|
|
5757
6484
|
}
|
|
6485
|
+
/**
|
|
6486
|
+
* @hidden
|
|
6487
|
+
*/
|
|
6488
|
+
get isAdaptiveModeEnabled() {
|
|
6489
|
+
return this.adaptiveMode === 'auto';
|
|
6490
|
+
}
|
|
6491
|
+
/**
|
|
6492
|
+
* @hidden
|
|
6493
|
+
*/
|
|
6494
|
+
get isActionSheetExpanded() {
|
|
6495
|
+
var _a;
|
|
6496
|
+
return (_a = this.actionSheet) === null || _a === void 0 ? void 0 : _a.expanded;
|
|
6497
|
+
}
|
|
6498
|
+
;
|
|
6499
|
+
/**
|
|
6500
|
+
* @hidden
|
|
6501
|
+
*/
|
|
6502
|
+
get isAdaptive() {
|
|
6503
|
+
return this.isAdaptiveModeEnabled && this.windowSize !== 'large';
|
|
6504
|
+
}
|
|
5758
6505
|
/**
|
|
5759
6506
|
* Configures the popup of the DropDownList.
|
|
5760
6507
|
*
|
|
@@ -5771,6 +6518,24 @@ class DropDownListComponent {
|
|
|
5771
6518
|
get popupSettings() {
|
|
5772
6519
|
return this._popupSettings;
|
|
5773
6520
|
}
|
|
6521
|
+
/**
|
|
6522
|
+
* Sets the height of the options list in the popup. By default, `listHeight` is 200px.
|
|
6523
|
+
*
|
|
6524
|
+
* > The `listHeight` property affects only the list of options and not the whole popup container.
|
|
6525
|
+
* > To set the height of the popup container, use `popupSettings.height`.
|
|
6526
|
+
*
|
|
6527
|
+
* > When using `adaptiveMode` and the screen size is `small` or `medium` the `listHeight` property is set to null.
|
|
6528
|
+
*/
|
|
6529
|
+
set listHeight(_listHeight) {
|
|
6530
|
+
this._listHeight = _listHeight;
|
|
6531
|
+
}
|
|
6532
|
+
;
|
|
6533
|
+
get listHeight() {
|
|
6534
|
+
if (this.isAdaptive) {
|
|
6535
|
+
return;
|
|
6536
|
+
}
|
|
6537
|
+
return this._listHeight;
|
|
6538
|
+
}
|
|
5774
6539
|
/**
|
|
5775
6540
|
* Defines a Boolean function that is executed for each data item in the component
|
|
5776
6541
|
* ([see examples]({% slug disableditems_ddl %})). Determines whether the item will be disabled.
|
|
@@ -5915,7 +6680,13 @@ class DropDownListComponent {
|
|
|
5915
6680
|
* @hidden
|
|
5916
6681
|
*/
|
|
5917
6682
|
onResize() {
|
|
5918
|
-
if (this.
|
|
6683
|
+
if (this.isAdaptiveModeEnabled && this.windowSize !== windowSize()) {
|
|
6684
|
+
if (this.isOpen) {
|
|
6685
|
+
this.togglePopup(false);
|
|
6686
|
+
}
|
|
6687
|
+
this.windowSize = windowSize();
|
|
6688
|
+
}
|
|
6689
|
+
if (this.isOpen && !this.isActionSheetExpanded) {
|
|
5919
6690
|
const popupWrapper = this.popupRef.popupElement;
|
|
5920
6691
|
const { min, max } = this.width;
|
|
5921
6692
|
popupWrapper.style.minWidth = min;
|
|
@@ -5959,7 +6730,10 @@ class DropDownListComponent {
|
|
|
5959
6730
|
/**
|
|
5960
6731
|
* @hidden
|
|
5961
6732
|
*/
|
|
5962
|
-
keydown(event) {
|
|
6733
|
+
keydown(event, input) {
|
|
6734
|
+
if (input) {
|
|
6735
|
+
event.stopPropagation();
|
|
6736
|
+
}
|
|
5963
6737
|
const firstIndex = isPresent(this.defaultItem) ? -1 : 0;
|
|
5964
6738
|
const focused = isNaN(this.selectionService.focused) ? this.firstFocusableIndex(firstIndex) : this.selectionService.focused;
|
|
5965
6739
|
let offset = 0;
|
|
@@ -6001,6 +6775,9 @@ class DropDownListComponent {
|
|
|
6001
6775
|
) {
|
|
6002
6776
|
eventData.preventDefault();
|
|
6003
6777
|
}
|
|
6778
|
+
if (action === NavigationAction.Tab && this.isActionSheetExpanded) {
|
|
6779
|
+
this.togglePopup(false);
|
|
6780
|
+
}
|
|
6004
6781
|
}
|
|
6005
6782
|
/**
|
|
6006
6783
|
* @hidden
|
|
@@ -6014,10 +6791,11 @@ class DropDownListComponent {
|
|
|
6014
6791
|
/**
|
|
6015
6792
|
* @hidden
|
|
6016
6793
|
*/
|
|
6017
|
-
click(
|
|
6018
|
-
|
|
6019
|
-
|
|
6020
|
-
|
|
6794
|
+
click() {
|
|
6795
|
+
if (!this.isActionSheetExpanded) {
|
|
6796
|
+
this.focus();
|
|
6797
|
+
this.togglePopup(!this.isOpen);
|
|
6798
|
+
}
|
|
6021
6799
|
}
|
|
6022
6800
|
set isFocused(isFocused) {
|
|
6023
6801
|
this.renderer[isFocused ? 'addClass' : 'removeClass'](this.wrapper.nativeElement, 'k-focus');
|
|
@@ -6036,6 +6814,11 @@ class DropDownListComponent {
|
|
|
6036
6814
|
this.assignAriaDescribedBy();
|
|
6037
6815
|
this.setComponentClasses();
|
|
6038
6816
|
}
|
|
6817
|
+
ngAfterViewInit() {
|
|
6818
|
+
var _a;
|
|
6819
|
+
this.windowSize = windowSize();
|
|
6820
|
+
this.renderer.setAttribute((_a = this.actionSheet) === null || _a === void 0 ? void 0 : _a.element.nativeElement, 'style', '--kendo-actionsheet-height: 60vh; --kendo-actionsheet-max-height: none');
|
|
6821
|
+
}
|
|
6039
6822
|
/**
|
|
6040
6823
|
* @hidden
|
|
6041
6824
|
* Used by the TextBoxContainer to determine if the component is empty.
|
|
@@ -6123,7 +6906,7 @@ class DropDownListComponent {
|
|
|
6123
6906
|
}
|
|
6124
6907
|
}
|
|
6125
6908
|
/**
|
|
6126
|
-
* Toggles the visibility of the popup
|
|
6909
|
+
* Toggles the visibility of the popup or actionSheet
|
|
6127
6910
|
* ([see example]({% slug openstate_ddl %}#toc-setting-the-initially-opened-component)).
|
|
6128
6911
|
* If you use the `toggle` method to open or close the popup, the `open` and `close` events will not be fired.
|
|
6129
6912
|
*
|
|
@@ -6140,6 +6923,9 @@ class DropDownListComponent {
|
|
|
6140
6923
|
_toggle(open) {
|
|
6141
6924
|
this._open = open;
|
|
6142
6925
|
this.destroyPopup();
|
|
6926
|
+
if (this.isActionSheetExpanded) {
|
|
6927
|
+
this.closeActionSheet();
|
|
6928
|
+
}
|
|
6143
6929
|
if (this._open) {
|
|
6144
6930
|
this.createPopup();
|
|
6145
6931
|
}
|
|
@@ -6172,10 +6958,10 @@ class DropDownListComponent {
|
|
|
6172
6958
|
}
|
|
6173
6959
|
}
|
|
6174
6960
|
/**
|
|
6175
|
-
* Returns the current open state
|
|
6961
|
+
* Returns the current open state. Returns `true` if the popup or actionSheet is open.
|
|
6176
6962
|
*/
|
|
6177
6963
|
get isOpen() {
|
|
6178
|
-
return this._open;
|
|
6964
|
+
return isTruthy(this._open || this.isActionSheetExpanded);
|
|
6179
6965
|
}
|
|
6180
6966
|
/**
|
|
6181
6967
|
* Resets the value of the DropDownList.
|
|
@@ -6271,7 +7057,12 @@ class DropDownListComponent {
|
|
|
6271
7057
|
if (this.virtual) {
|
|
6272
7058
|
this.virtual.skip = 0;
|
|
6273
7059
|
}
|
|
6274
|
-
|
|
7060
|
+
this.windowSize = windowSize();
|
|
7061
|
+
if (this.isAdaptive) {
|
|
7062
|
+
this.openActionSheet();
|
|
7063
|
+
return;
|
|
7064
|
+
}
|
|
7065
|
+
const horizontalAlign = this.direction === "rtl" ? "right" : "left";
|
|
6275
7066
|
const anchorPosition = { horizontal: horizontalAlign, vertical: "bottom" };
|
|
6276
7067
|
const popupPosition = { horizontal: horizontalAlign, vertical: "top" };
|
|
6277
7068
|
this.popupRef = this.popupService.open({
|
|
@@ -6302,7 +7093,9 @@ class DropDownListComponent {
|
|
|
6302
7093
|
}
|
|
6303
7094
|
this.subs.add(this.popupRef.popupOpen.subscribe(() => {
|
|
6304
7095
|
this.cdr.detectChanges();
|
|
7096
|
+
setListBoxAriaLabelLebBy(this.optionsList, this.wrapper, this.renderer);
|
|
6305
7097
|
this.optionsList.scrollToItem(this.selectionService.focused);
|
|
7098
|
+
this.selectionService.focus(this.selectionService.focused);
|
|
6306
7099
|
this.opened.emit();
|
|
6307
7100
|
}));
|
|
6308
7101
|
this.subs.add(this.popupRef.popupClose.subscribe(() => {
|
|
@@ -6511,26 +7304,28 @@ class DropDownListComponent {
|
|
|
6511
7304
|
}
|
|
6512
7305
|
}
|
|
6513
7306
|
componentBlur() {
|
|
6514
|
-
this.
|
|
6515
|
-
|
|
6516
|
-
|
|
6517
|
-
|
|
6518
|
-
|
|
6519
|
-
|
|
6520
|
-
|
|
6521
|
-
|
|
6522
|
-
|
|
6523
|
-
|
|
6524
|
-
|
|
6525
|
-
|
|
7307
|
+
if (!this.isActionSheetExpanded) {
|
|
7308
|
+
this.isFocused = false;
|
|
7309
|
+
const selectionPresent = isPresent(this.selectionService.selected[0]);
|
|
7310
|
+
const valueHasChanged = selectionPresent && getter(this.value, this.valueField) !== getter(this.dataService.itemAt(this.selectionService.selected[0]), this.valueField);
|
|
7311
|
+
if (valueHasChanged ||
|
|
7312
|
+
hasObservers(this.close) ||
|
|
7313
|
+
hasObservers(this.onBlur) ||
|
|
7314
|
+
hasObservers(this.filterChange) ||
|
|
7315
|
+
isUntouched(this.wrapper.nativeElement)) {
|
|
7316
|
+
this._zone.run(() => {
|
|
7317
|
+
if (valueHasChanged) {
|
|
7318
|
+
this.selectionService.change(this.selectionService.selected[0]);
|
|
7319
|
+
}
|
|
7320
|
+
this.togglePopup(false);
|
|
7321
|
+
this.clearFilter();
|
|
7322
|
+
this.onBlur.emit();
|
|
7323
|
+
this.onTouchedCallback();
|
|
7324
|
+
});
|
|
7325
|
+
}
|
|
7326
|
+
else {
|
|
6526
7327
|
this.togglePopup(false);
|
|
6527
|
-
|
|
6528
|
-
this.onBlur.emit();
|
|
6529
|
-
this.onTouchedCallback();
|
|
6530
|
-
});
|
|
6531
|
-
}
|
|
6532
|
-
else {
|
|
6533
|
-
this.togglePopup(false);
|
|
7328
|
+
}
|
|
6534
7329
|
}
|
|
6535
7330
|
}
|
|
6536
7331
|
/**
|
|
@@ -6675,6 +7470,15 @@ class DropDownListComponent {
|
|
|
6675
7470
|
handleFilter(event) {
|
|
6676
7471
|
this.filterChange.emit(event.target.value);
|
|
6677
7472
|
}
|
|
7473
|
+
/**
|
|
7474
|
+
* @hidden
|
|
7475
|
+
*/
|
|
7476
|
+
handleClick() {
|
|
7477
|
+
this.windowSize = windowSize();
|
|
7478
|
+
if (this.isAdaptive) {
|
|
7479
|
+
this.togglePopup(true);
|
|
7480
|
+
}
|
|
7481
|
+
}
|
|
6678
7482
|
/**
|
|
6679
7483
|
* @hidden
|
|
6680
7484
|
*/
|
|
@@ -6702,9 +7506,32 @@ class DropDownListComponent {
|
|
|
6702
7506
|
this.renderer.addClass(this.wrapper.nativeElement, getFillModeClass('picker', this.fillMode));
|
|
6703
7507
|
}
|
|
6704
7508
|
}
|
|
7509
|
+
closeActionSheet() {
|
|
7510
|
+
this.actionSheet.toggle(false);
|
|
7511
|
+
if (this.filterable) {
|
|
7512
|
+
this.actionSheetSearchBar.value = '';
|
|
7513
|
+
this.filterChange.emit('');
|
|
7514
|
+
}
|
|
7515
|
+
this.closed.emit();
|
|
7516
|
+
}
|
|
7517
|
+
openActionSheet() {
|
|
7518
|
+
this.windowSize = windowSize();
|
|
7519
|
+
this.actionSheet.toggle(true);
|
|
7520
|
+
this.cdr.detectChanges();
|
|
7521
|
+
setListBoxAriaLabelLebBy(this.optionsList, this.wrapper, this.renderer);
|
|
7522
|
+
this.title = setActionSheetTitle(this.wrapper, this.title);
|
|
7523
|
+
updateActionSheetAdaptiveAppearance(this.actionSheet, this.windowSize, this.renderer);
|
|
7524
|
+
this.cdr.detectChanges();
|
|
7525
|
+
this.opened.emit();
|
|
7526
|
+
this.optionsList.scrollToItem(this.selectionService.focused);
|
|
7527
|
+
this.selectionService.focus(this.selectionService.focused);
|
|
7528
|
+
if (this.filterable) {
|
|
7529
|
+
this.actionSheetSearchBar.focus();
|
|
7530
|
+
}
|
|
7531
|
+
}
|
|
6705
7532
|
}
|
|
6706
|
-
DropDownListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DropDownListComponent, deps: [{ token: i0.ElementRef }, { token: i1.LocalizationService }, { token: i2.PopupService }, { token: SelectionService }, { token: NavigationService }, { token: DisabledItemsService }, { token: DataService }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: TOUCH_ENABLED, optional: true }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
|
|
6707
|
-
DropDownListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: DropDownListComponent, selector: "kendo-dropdownlist", inputs: { iconClass: "iconClass", loading: "loading", data: "data", value: "value", textField: "textField", valueField: "valueField", popupSettings: "popupSettings", listHeight: "listHeight", defaultItem: "defaultItem", disabled: "disabled", itemDisabled: "itemDisabled", readonly: "readonly", filterable: "filterable", virtual: "virtual", ignoreCase: "ignoreCase", delay: "delay", valuePrimitive: "valuePrimitive", tabindex: "tabindex", tabIndex: "tabIndex", size: "size", rounded: "rounded", fillMode: "fillMode", focusableId: ["id", "focusableId"] }, outputs: { valueChange: "valueChange", filterChange: "filterChange", selectionChange: "selectionChange", open: "open", opened: "opened", close: "close", closed: "closed", onFocus: "focus", onBlur: "blur" }, host: { listeners: { "keydown": "keydown($event)", "keypress": "keypress($event)", "click": "click(
|
|
7533
|
+
DropDownListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DropDownListComponent, deps: [{ token: i0.ElementRef }, { token: i1.LocalizationService }, { token: i2$1.PopupService }, { token: SelectionService }, { token: NavigationService }, { token: DisabledItemsService }, { token: DataService }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: TOUCH_ENABLED, optional: true }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
|
|
7534
|
+
DropDownListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: DropDownListComponent, selector: "kendo-dropdownlist", inputs: { iconClass: "iconClass", loading: "loading", data: "data", value: "value", textField: "textField", valueField: "valueField", adaptiveMode: "adaptiveMode", title: "title", subtitle: "subtitle", popupSettings: "popupSettings", listHeight: "listHeight", defaultItem: "defaultItem", disabled: "disabled", itemDisabled: "itemDisabled", readonly: "readonly", filterable: "filterable", virtual: "virtual", ignoreCase: "ignoreCase", delay: "delay", valuePrimitive: "valuePrimitive", tabindex: "tabindex", tabIndex: "tabIndex", size: "size", rounded: "rounded", fillMode: "fillMode", focusableId: ["id", "focusableId"] }, outputs: { valueChange: "valueChange", filterChange: "filterChange", selectionChange: "selectionChange", open: "open", opened: "opened", close: "close", closed: "closed", onFocus: "focus", onBlur: "blur" }, host: { listeners: { "keydown": "keydown($event)", "keypress": "keypress($event)", "click": "click()" }, properties: { "attr.aria-controls": "this.ariaControls", "class.k-dropdownlist": "this.hostClasses", "class.k-picker": "this.hostClasses", "class.k-disabled": "this.isDisabledClass", "attr.disabled": "this.isDisabledAttribute", "class.k-loading": "this.isLoading", "attr.id": "this.focusableId", "attr.dir": "this.dir", "attr.tabindex": "this.hostTabIndex", "attr.readonly": "this.readonlyAttr", "attr.aria-busy": "this.isBusy", "attr.role": "this.role", "attr.aria-haspopup": "this.haspopup", "attr.aria-expanded": "this.isAriaExpanded", "attr.aria-invalid": "this.hostAriaInvalid", "attr.aria-activedescendant": "this.hostAriaActivedescendant" } }, providers: [
|
|
6708
7535
|
DROPDOWNLIST_VALUE_ACCESSOR,
|
|
6709
7536
|
DataService,
|
|
6710
7537
|
SelectionService,
|
|
@@ -6721,7 +7548,7 @@ DropDownListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
|
|
|
6721
7548
|
{
|
|
6722
7549
|
provide: KendoInput, useExisting: forwardRef(() => DropDownListComponent)
|
|
6723
7550
|
}
|
|
6724
|
-
], queries: [{ propertyName: "itemTemplate", first: true, predicate: ItemTemplateDirective, descendants: true }, { propertyName: "groupTemplate", first: true, predicate: GroupTemplateDirective, descendants: true }, { propertyName: "fixedGroupTemplate", first: true, predicate: FixedGroupTemplateDirective, descendants: true }, { propertyName: "valueTemplate", first: true, predicate: ValueTemplateDirective, descendants: true }, { propertyName: "headerTemplate", first: true, predicate: HeaderTemplateDirective, descendants: true }, { propertyName: "footerTemplate", first: true, predicate: FooterTemplateDirective, descendants: true }, { propertyName: "noDataTemplate", first: true, predicate: NoDataTemplateDirective, descendants: true }], viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true, read: ViewContainerRef, static: true }, { propertyName: "popupTemplate", first: true, predicate: ["popupTemplate"], descendants: true, static: true }, { propertyName: "optionsList", first: true, predicate: ["optionsList"], descendants: true }], exportAs: ["kendoDropDownList"], usesOnChanges: true, ngImport: i0, template: `
|
|
7551
|
+
], queries: [{ propertyName: "itemTemplate", first: true, predicate: ItemTemplateDirective, descendants: true }, { propertyName: "groupTemplate", first: true, predicate: GroupTemplateDirective, descendants: true }, { propertyName: "fixedGroupTemplate", first: true, predicate: FixedGroupTemplateDirective, descendants: true }, { propertyName: "valueTemplate", first: true, predicate: ValueTemplateDirective, descendants: true }, { propertyName: "headerTemplate", first: true, predicate: HeaderTemplateDirective, descendants: true }, { propertyName: "footerTemplate", first: true, predicate: FooterTemplateDirective, descendants: true }, { propertyName: "noDataTemplate", first: true, predicate: NoDataTemplateDirective, descendants: true }], viewQueries: [{ propertyName: "responsiveRendererComponent", first: true, predicate: ResponsiveRendererComponent, descendants: true }, { propertyName: "container", first: true, predicate: ["container"], descendants: true, read: ViewContainerRef, static: true }, { propertyName: "popupTemplate", first: true, predicate: ["popupTemplate"], descendants: true, static: true }, { propertyName: "optionsList", first: true, predicate: ["optionsList"], descendants: true }], exportAs: ["kendoDropDownList"], usesOnChanges: true, ngImport: i0, template: `
|
|
6725
7552
|
<ng-container kendoDropDownListLocalizedMessages
|
|
6726
7553
|
i18n-noDataText="kendo.dropdownlist.noDataText|The text displayed in the popup when there are no items"
|
|
6727
7554
|
noDataText="NO DATA FOUND"
|
|
@@ -6768,8 +7595,26 @@ DropDownListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
|
|
|
6768
7595
|
<span *ngIf="loading || iconClass" class="k-button-icon k-icon" [ngClass]="buttonClasses"></span>
|
|
6769
7596
|
</button>
|
|
6770
7597
|
<ng-template #popupTemplate>
|
|
7598
|
+
<ng-container *ngTemplateOutlet="sharedPopupActionSheetTemplate"></ng-container>
|
|
7599
|
+
</ng-template>
|
|
7600
|
+
<kendo-resize-sensor *ngIf="isOpen || isAdaptiveModeEnabled" (resize)="onResize()"></kendo-resize-sensor>
|
|
7601
|
+
<ng-container #container></ng-container>
|
|
7602
|
+
|
|
7603
|
+
<!--adaptive rendering-->
|
|
7604
|
+
<responsive-renderer
|
|
7605
|
+
[sharedPopupActionSheetTemplate]="sharedPopupActionSheetTemplate"
|
|
7606
|
+
[isActionSheetExpanded]="isActionSheetExpanded"
|
|
7607
|
+
[title]="title"
|
|
7608
|
+
[showTextInput]="filterable"
|
|
7609
|
+
[subtitle]="subtitle"
|
|
7610
|
+
(closePopup)="togglePopup(false)"
|
|
7611
|
+
(textInputChange)="onFilterChange($event)"
|
|
7612
|
+
>
|
|
7613
|
+
</responsive-renderer>
|
|
7614
|
+
|
|
7615
|
+
<ng-template #sharedPopupActionSheetTemplate>
|
|
6771
7616
|
<!--filterable-->
|
|
6772
|
-
<ng-template [ngIf]="filterable">
|
|
7617
|
+
<ng-template [ngIf]="filterable && !isActionSheetExpanded">
|
|
6773
7618
|
<div class="k-list-filter" (click)="$event.stopImmediatePropagation()">
|
|
6774
7619
|
<span
|
|
6775
7620
|
class="k-searchbox k-input"
|
|
@@ -6781,6 +7626,7 @@ DropDownListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
|
|
|
6781
7626
|
[svgIcon]="searchIcon">
|
|
6782
7627
|
</kendo-icon-wrapper>
|
|
6783
7628
|
<input
|
|
7629
|
+
#searchInput
|
|
6784
7630
|
role="searchbox"
|
|
6785
7631
|
aria-autocomplete="list"
|
|
6786
7632
|
aria-haspopup="listbox"
|
|
@@ -6792,10 +7638,11 @@ DropDownListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
|
|
|
6792
7638
|
[dir]="direction"
|
|
6793
7639
|
[(ngModel)]="filterText"
|
|
6794
7640
|
class="k-input-inner"
|
|
6795
|
-
(keydown)="keydown($event)"
|
|
7641
|
+
(keydown)="keydown($event, searchInput)"
|
|
6796
7642
|
(input)="handleFilter($event)"
|
|
6797
7643
|
(focus)="onFilterFocus()"
|
|
6798
|
-
(blur)="blurFilterInput()"
|
|
7644
|
+
(blur)="blurFilterInput()"
|
|
7645
|
+
(click)="handleClick()" />
|
|
6799
7646
|
</span>
|
|
6800
7647
|
</div>
|
|
6801
7648
|
</ng-template>
|
|
@@ -6831,7 +7678,7 @@ DropDownListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
|
|
|
6831
7678
|
templateRef: headerTemplate.templateRef
|
|
6832
7679
|
}">
|
|
6833
7680
|
</ng-template>
|
|
6834
|
-
<!--list-->
|
|
7681
|
+
<!--list-->
|
|
6835
7682
|
<kendo-list
|
|
6836
7683
|
#optionsList
|
|
6837
7684
|
[id]="listBoxId"
|
|
@@ -6868,11 +7715,7 @@ DropDownListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
|
|
|
6868
7715
|
}">
|
|
6869
7716
|
</ng-template>
|
|
6870
7717
|
</ng-template>
|
|
6871
|
-
|
|
6872
|
-
<kendo-resize-sensor (resize)="onResize()"></kendo-resize-sensor>
|
|
6873
|
-
</ng-template>
|
|
6874
|
-
<ng-container #container></ng-container>
|
|
6875
|
-
`, isInline: true, components: [{ type: i8.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass"], exportAs: ["kendoIconWrapper"] }, { type: ListComponent, selector: "kendo-list", inputs: ["selected", "focused", "textField", "valueField", "height", "template", "groupTemplate", "fixedGroupTemplate", "show", "id", "optionPrefix", "multipleSelection", "virtual", "type", "checkboxes", "ariaLive", "isMultiselect", "data", "size", "rounded"], outputs: ["onClick", "pageChange", "listResize"] }, { type: i10.ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }], directives: [{ type: LocalizedMessagesDirective, selector: "\n [kendoDropDownListLocalizedMessages],\n [kendoDropDownTreeLocalizedMessages],\n [kendoComboBoxLocalizedMessages],\n [kendoMultiColumnComboBoxLocalizedMessages],\n [kendoAutoCompleteLocalizedMessages],\n [kendoMultiSelectLocalizedMessages],\n [kendoMultiSelectTreeLocalizedMessages]\n " }, { type: i12.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }, { type: i12.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i10.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { type: i13.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: FilterInputDirective, selector: "[filterInput]", inputs: ["filterInput"] }, { type: i13.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i13.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: SelectableDirective, selector: "[kendoDropDownsSelectable]", inputs: ["index", "checkboxes", "height", "multipleSelection"] }] });
|
|
7718
|
+
`, isInline: true, components: [{ type: i8.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass"], exportAs: ["kendoIconWrapper"] }, { type: i9.ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }, { type: ResponsiveRendererComponent, selector: "responsive-renderer", inputs: ["title", "showActionButtons", "subtitle", "size", "showTextInput", "sharedPopupActionSheetTemplate", "isActionSheetExpanded", "text", "placeholder"], outputs: ["closePopup", "textInputChange", "navigate", "onExpand", "onCollapse", "onApply", "onCancel"] }, { type: ListComponent, selector: "kendo-list", inputs: ["selected", "focused", "textField", "valueField", "height", "template", "groupTemplate", "fixedGroupTemplate", "show", "id", "optionPrefix", "multipleSelection", "virtual", "type", "checkboxes", "ariaLive", "isMultiselect", "isActionSheetExpanded", "data", "size", "rounded"], outputs: ["onClick", "pageChange", "listResize"] }], directives: [{ type: LocalizedMessagesDirective, selector: "\n [kendoDropDownListLocalizedMessages],\n [kendoDropDownTreeLocalizedMessages],\n [kendoComboBoxLocalizedMessages],\n [kendoMultiColumnComboBoxLocalizedMessages],\n [kendoAutoCompleteLocalizedMessages],\n [kendoMultiSelectLocalizedMessages],\n [kendoMultiSelectTreeLocalizedMessages]\n " }, { type: i13.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }, { type: i13.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i9.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { type: i13.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i14.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: FilterInputDirective, selector: "[filterInput]", inputs: ["filterInput"] }, { type: i14.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i14.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: SelectableDirective, selector: "[kendoDropDownsSelectable]", inputs: ["index", "checkboxes", "height", "isMultiselect", "multipleSelection"] }] });
|
|
6876
7719
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DropDownListComponent, decorators: [{
|
|
6877
7720
|
type: Component,
|
|
6878
7721
|
args: [{
|
|
@@ -6943,8 +7786,26 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
6943
7786
|
<span *ngIf="loading || iconClass" class="k-button-icon k-icon" [ngClass]="buttonClasses"></span>
|
|
6944
7787
|
</button>
|
|
6945
7788
|
<ng-template #popupTemplate>
|
|
7789
|
+
<ng-container *ngTemplateOutlet="sharedPopupActionSheetTemplate"></ng-container>
|
|
7790
|
+
</ng-template>
|
|
7791
|
+
<kendo-resize-sensor *ngIf="isOpen || isAdaptiveModeEnabled" (resize)="onResize()"></kendo-resize-sensor>
|
|
7792
|
+
<ng-container #container></ng-container>
|
|
7793
|
+
|
|
7794
|
+
<!--adaptive rendering-->
|
|
7795
|
+
<responsive-renderer
|
|
7796
|
+
[sharedPopupActionSheetTemplate]="sharedPopupActionSheetTemplate"
|
|
7797
|
+
[isActionSheetExpanded]="isActionSheetExpanded"
|
|
7798
|
+
[title]="title"
|
|
7799
|
+
[showTextInput]="filterable"
|
|
7800
|
+
[subtitle]="subtitle"
|
|
7801
|
+
(closePopup)="togglePopup(false)"
|
|
7802
|
+
(textInputChange)="onFilterChange($event)"
|
|
7803
|
+
>
|
|
7804
|
+
</responsive-renderer>
|
|
7805
|
+
|
|
7806
|
+
<ng-template #sharedPopupActionSheetTemplate>
|
|
6946
7807
|
<!--filterable-->
|
|
6947
|
-
<ng-template [ngIf]="filterable">
|
|
7808
|
+
<ng-template [ngIf]="filterable && !isActionSheetExpanded">
|
|
6948
7809
|
<div class="k-list-filter" (click)="$event.stopImmediatePropagation()">
|
|
6949
7810
|
<span
|
|
6950
7811
|
class="k-searchbox k-input"
|
|
@@ -6956,6 +7817,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
6956
7817
|
[svgIcon]="searchIcon">
|
|
6957
7818
|
</kendo-icon-wrapper>
|
|
6958
7819
|
<input
|
|
7820
|
+
#searchInput
|
|
6959
7821
|
role="searchbox"
|
|
6960
7822
|
aria-autocomplete="list"
|
|
6961
7823
|
aria-haspopup="listbox"
|
|
@@ -6967,10 +7829,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
6967
7829
|
[dir]="direction"
|
|
6968
7830
|
[(ngModel)]="filterText"
|
|
6969
7831
|
class="k-input-inner"
|
|
6970
|
-
(keydown)="keydown($event)"
|
|
7832
|
+
(keydown)="keydown($event, searchInput)"
|
|
6971
7833
|
(input)="handleFilter($event)"
|
|
6972
7834
|
(focus)="onFilterFocus()"
|
|
6973
|
-
(blur)="blurFilterInput()"
|
|
7835
|
+
(blur)="blurFilterInput()"
|
|
7836
|
+
(click)="handleClick()" />
|
|
6974
7837
|
</span>
|
|
6975
7838
|
</div>
|
|
6976
7839
|
</ng-template>
|
|
@@ -7006,7 +7869,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
7006
7869
|
templateRef: headerTemplate.templateRef
|
|
7007
7870
|
}">
|
|
7008
7871
|
</ng-template>
|
|
7009
|
-
<!--list-->
|
|
7872
|
+
<!--list-->
|
|
7010
7873
|
<kendo-list
|
|
7011
7874
|
#optionsList
|
|
7012
7875
|
[id]="listBoxId"
|
|
@@ -7043,20 +7906,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
7043
7906
|
}">
|
|
7044
7907
|
</ng-template>
|
|
7045
7908
|
</ng-template>
|
|
7046
|
-
<ng-template [ngIf]="isOpen">
|
|
7047
|
-
<kendo-resize-sensor (resize)="onResize()"></kendo-resize-sensor>
|
|
7048
|
-
</ng-template>
|
|
7049
|
-
<ng-container #container></ng-container>
|
|
7050
7909
|
`
|
|
7051
7910
|
}]
|
|
7052
7911
|
}], ctorParameters: function () {
|
|
7053
|
-
return [{ type: i0.ElementRef }, { type: i1.LocalizationService }, { type: i2.PopupService }, { type: SelectionService }, { type: NavigationService }, { type: DisabledItemsService }, { type: DataService }, { type: i0.NgZone }, { type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }, { type: undefined, decorators: [{
|
|
7912
|
+
return [{ type: i0.ElementRef }, { type: i1.LocalizationService }, { type: i2$1.PopupService }, { type: SelectionService }, { type: NavigationService }, { type: DisabledItemsService }, { type: DataService }, { type: i0.NgZone }, { type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }, { type: undefined, decorators: [{
|
|
7054
7913
|
type: Optional
|
|
7055
7914
|
}, {
|
|
7056
7915
|
type: Inject,
|
|
7057
7916
|
args: [TOUCH_ENABLED]
|
|
7058
7917
|
}] }, { type: i0.Injector }];
|
|
7059
|
-
}, propDecorators: {
|
|
7918
|
+
}, propDecorators: { responsiveRendererComponent: [{
|
|
7919
|
+
type: ViewChild,
|
|
7920
|
+
args: [ResponsiveRendererComponent]
|
|
7921
|
+
}], ariaControls: [{
|
|
7060
7922
|
type: HostBinding,
|
|
7061
7923
|
args: ['attr.aria-controls']
|
|
7062
7924
|
}], iconClass: [{
|
|
@@ -7071,6 +7933,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
7071
7933
|
type: Input
|
|
7072
7934
|
}], valueField: [{
|
|
7073
7935
|
type: Input
|
|
7936
|
+
}], adaptiveMode: [{
|
|
7937
|
+
type: Input
|
|
7938
|
+
}], title: [{
|
|
7939
|
+
type: Input
|
|
7940
|
+
}], subtitle: [{
|
|
7941
|
+
type: Input
|
|
7074
7942
|
}], popupSettings: [{
|
|
7075
7943
|
type: Input
|
|
7076
7944
|
}], listHeight: [{
|
|
@@ -7213,7 +8081,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
7213
8081
|
args: ['keypress', ['$event']]
|
|
7214
8082
|
}], click: [{
|
|
7215
8083
|
type: HostListener,
|
|
7216
|
-
args: ['click'
|
|
8084
|
+
args: ['click']
|
|
7217
8085
|
}] } });
|
|
7218
8086
|
|
|
7219
8087
|
/**
|
|
@@ -7504,7 +8372,7 @@ TagListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", versi
|
|
|
7504
8372
|
</span>
|
|
7505
8373
|
</div>
|
|
7506
8374
|
<ng-content></ng-content>
|
|
7507
|
-
`, isInline: true, components: [{ type: i8.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass"], exportAs: ["kendoIconWrapper"] }], directives: [{ type:
|
|
8375
|
+
`, isInline: true, components: [{ type: i8.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass"], exportAs: ["kendoIconWrapper"] }], directives: [{ type: i13.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i13.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i13.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }] });
|
|
7508
8376
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: TagListComponent, decorators: [{
|
|
7509
8377
|
type: Component,
|
|
7510
8378
|
args: [{
|
|
@@ -7652,6 +8520,10 @@ class MultiSelectComponent {
|
|
|
7652
8520
|
this.renderer = renderer;
|
|
7653
8521
|
this._zone = _zone;
|
|
7654
8522
|
this.touchEnabled = touchEnabled;
|
|
8523
|
+
/**
|
|
8524
|
+
* @hidden
|
|
8525
|
+
*/
|
|
8526
|
+
this.animationDuration = animationDuration;
|
|
7655
8527
|
/**
|
|
7656
8528
|
* @hidden
|
|
7657
8529
|
*/
|
|
@@ -7679,6 +8551,15 @@ class MultiSelectComponent {
|
|
|
7679
8551
|
* Specifies the [`tabindex`](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex) of the component.
|
|
7680
8552
|
*/
|
|
7681
8553
|
this.tabindex = 0;
|
|
8554
|
+
/**
|
|
8555
|
+
* Enables or disables the adaptive mode. By default the adaptive rendering is disabled.
|
|
8556
|
+
*/
|
|
8557
|
+
this.adaptiveMode = 'none';
|
|
8558
|
+
/**
|
|
8559
|
+
* Sets the title of the ActionSheet that is rendered instead of the Popup when using small screen devices.
|
|
8560
|
+
* By default the ActionSheet title uses the text provided for the label of the AutoComplete.
|
|
8561
|
+
*/
|
|
8562
|
+
this.title = '';
|
|
7682
8563
|
/**
|
|
7683
8564
|
* Sets the disabled state of the component.
|
|
7684
8565
|
*/
|
|
@@ -7691,13 +8572,7 @@ class MultiSelectComponent {
|
|
|
7691
8572
|
* Enables the [filtering]({% slug filtering_multiselect %}) functionality of the MultiSelect.
|
|
7692
8573
|
*/
|
|
7693
8574
|
this.filterable = false;
|
|
7694
|
-
|
|
7695
|
-
* Sets the height of the suggestions list. By default, `listHeight` is 200px.
|
|
7696
|
-
*
|
|
7697
|
-
* > The `listHeight` property affects only the list of suggestions and not the whole popup container.
|
|
7698
|
-
* > To set the height of the popup container, use `popupSettings.height`.
|
|
7699
|
-
*/
|
|
7700
|
-
this.listHeight = 200;
|
|
8575
|
+
this._listHeight = 200;
|
|
7701
8576
|
/**
|
|
7702
8577
|
* If set to `true`, renders a button on hovering over the component.
|
|
7703
8578
|
* Clicking this button resets the value of the component to an empty array and triggers the `change` event.
|
|
@@ -7820,6 +8695,10 @@ class MultiSelectComponent {
|
|
|
7820
8695
|
*/
|
|
7821
8696
|
this.removeTag = new EventEmitter();
|
|
7822
8697
|
this.hostClasses = true;
|
|
8698
|
+
/**
|
|
8699
|
+
* @hidden
|
|
8700
|
+
*/
|
|
8701
|
+
this.windowSize = 'large';
|
|
7823
8702
|
this.initialized = false;
|
|
7824
8703
|
this._size = 'medium';
|
|
7825
8704
|
this._rounded = 'medium';
|
|
@@ -7834,7 +8713,7 @@ class MultiSelectComponent {
|
|
|
7834
8713
|
this._isFocused = false;
|
|
7835
8714
|
this.selectedDataItems = [];
|
|
7836
8715
|
this.customValueSubject = new Subject();
|
|
7837
|
-
this.
|
|
8716
|
+
this.subs = new Subscription();
|
|
7838
8717
|
validatePackage(packageMetadata);
|
|
7839
8718
|
this.popupMouseDownHandler = this.onMouseDown.bind(this);
|
|
7840
8719
|
this.data = [];
|
|
@@ -7842,6 +8721,20 @@ class MultiSelectComponent {
|
|
|
7842
8721
|
this.subscribeEvents();
|
|
7843
8722
|
this.subscribeTouchEvents();
|
|
7844
8723
|
}
|
|
8724
|
+
/**
|
|
8725
|
+
* @hidden
|
|
8726
|
+
*/
|
|
8727
|
+
get actionSheet() {
|
|
8728
|
+
var _a;
|
|
8729
|
+
return (_a = this.responsiveRendererComponent) === null || _a === void 0 ? void 0 : _a.actionSheet;
|
|
8730
|
+
}
|
|
8731
|
+
/**
|
|
8732
|
+
* @hidden
|
|
8733
|
+
*/
|
|
8734
|
+
get actionSheetSearchBar() {
|
|
8735
|
+
var _a;
|
|
8736
|
+
return (_a = this.responsiveRendererComponent) === null || _a === void 0 ? void 0 : _a.actionSheetSearchBar;
|
|
8737
|
+
}
|
|
7845
8738
|
/**
|
|
7846
8739
|
* @hidden
|
|
7847
8740
|
*/
|
|
@@ -7884,6 +8777,16 @@ class MultiSelectComponent {
|
|
|
7884
8777
|
}
|
|
7885
8778
|
}
|
|
7886
8779
|
}
|
|
8780
|
+
/**
|
|
8781
|
+
* @hidden
|
|
8782
|
+
*/
|
|
8783
|
+
onAdaptiveTextBoxChange(text) {
|
|
8784
|
+
if (this.filterable) {
|
|
8785
|
+
this.filterChange.emit(text);
|
|
8786
|
+
return;
|
|
8787
|
+
}
|
|
8788
|
+
this.searchTextAndFocus(text);
|
|
8789
|
+
}
|
|
7887
8790
|
/**
|
|
7888
8791
|
* Blurs the MultiSelect.
|
|
7889
8792
|
*/
|
|
@@ -7896,28 +8799,30 @@ class MultiSelectComponent {
|
|
|
7896
8799
|
* @hidden
|
|
7897
8800
|
*/
|
|
7898
8801
|
onSearchBarBlur() {
|
|
7899
|
-
if (!this.
|
|
7900
|
-
|
|
7901
|
-
|
|
7902
|
-
|
|
7903
|
-
|
|
7904
|
-
hasObservers(this.
|
|
7905
|
-
|
|
7906
|
-
|
|
7907
|
-
|
|
7908
|
-
this.
|
|
7909
|
-
|
|
8802
|
+
if (!this.isActionSheetExpanded) {
|
|
8803
|
+
if (!this.isFocused) {
|
|
8804
|
+
return;
|
|
8805
|
+
}
|
|
8806
|
+
this.isFocused = false;
|
|
8807
|
+
if (hasObservers(this.onBlur) ||
|
|
8808
|
+
hasObservers(this.filterChange) ||
|
|
8809
|
+
hasObservers(this.close) ||
|
|
8810
|
+
isUntouched(this.wrapper.nativeElement)) {
|
|
8811
|
+
this._zone.run(() => {
|
|
8812
|
+
this.closePopup();
|
|
8813
|
+
if (!(this.isOpen && this.allowCustom)) {
|
|
8814
|
+
this.clearFilter();
|
|
8815
|
+
}
|
|
8816
|
+
this.onBlur.emit();
|
|
8817
|
+
this.onTouchedCallback();
|
|
8818
|
+
});
|
|
8819
|
+
}
|
|
8820
|
+
else {
|
|
8821
|
+
if (!this.allowCustom) {
|
|
7910
8822
|
this.clearFilter();
|
|
7911
8823
|
}
|
|
7912
|
-
this.
|
|
7913
|
-
this.onTouchedCallback();
|
|
7914
|
-
});
|
|
7915
|
-
}
|
|
7916
|
-
else {
|
|
7917
|
-
if (!this.allowCustom) {
|
|
7918
|
-
this.clearFilter();
|
|
8824
|
+
this.closePopup();
|
|
7919
8825
|
}
|
|
7920
|
-
this.closePopup();
|
|
7921
8826
|
}
|
|
7922
8827
|
}
|
|
7923
8828
|
/**
|
|
@@ -7930,7 +8835,14 @@ class MultiSelectComponent {
|
|
|
7930
8835
|
* @hidden
|
|
7931
8836
|
*/
|
|
7932
8837
|
onResize() {
|
|
7933
|
-
if (this.
|
|
8838
|
+
if (this.isAdaptiveModeEnabled && this.windowSize !== windowSize()) {
|
|
8839
|
+
if (this.isOpen) {
|
|
8840
|
+
this.togglePopup(false);
|
|
8841
|
+
}
|
|
8842
|
+
this.windowSize = windowSize();
|
|
8843
|
+
this.cdr.detectChanges();
|
|
8844
|
+
}
|
|
8845
|
+
if (this.isOpen && !this.isActionSheetExpanded) {
|
|
7934
8846
|
const popupWrapper = this.popupRef.popupElement;
|
|
7935
8847
|
const { min, max } = this.width;
|
|
7936
8848
|
popupWrapper.style.minWidth = min;
|
|
@@ -8071,6 +8983,22 @@ class MultiSelectComponent {
|
|
|
8071
8983
|
get placeholder() {
|
|
8072
8984
|
return this.selectedDataItems.length ? '' : this._placeholder;
|
|
8073
8985
|
}
|
|
8986
|
+
/**
|
|
8987
|
+
* Sets the subtitle of the ActionSheet that is rendered instead of the Popup when using small screen devices.
|
|
8988
|
+
* By default the ActionSheet subtitle uses the text provided for the `placeholder` of the AutoComplete.
|
|
8989
|
+
*/
|
|
8990
|
+
set subtitle(_subtitle) {
|
|
8991
|
+
this._subtitle = _subtitle;
|
|
8992
|
+
}
|
|
8993
|
+
get subtitle() {
|
|
8994
|
+
return this._subtitle || this.placeholder;
|
|
8995
|
+
}
|
|
8996
|
+
/**
|
|
8997
|
+
* @hidden
|
|
8998
|
+
*/
|
|
8999
|
+
get isAdaptiveModeEnabled() {
|
|
9000
|
+
return this.adaptiveMode === 'auto';
|
|
9001
|
+
}
|
|
8074
9002
|
/**
|
|
8075
9003
|
* Defines a Boolean function that is executed for each data item in the component
|
|
8076
9004
|
* ([see examples]({% slug disableditems_multiselect %})). Determines whether the item will be disabled.
|
|
@@ -8115,6 +9043,24 @@ class MultiSelectComponent {
|
|
|
8115
9043
|
get popupSettings() {
|
|
8116
9044
|
return this._popupSettings;
|
|
8117
9045
|
}
|
|
9046
|
+
/**
|
|
9047
|
+
* Sets the height of the options list in the popup. By default, `listHeight` is 200px.
|
|
9048
|
+
*
|
|
9049
|
+
* > The `listHeight` property affects only the list of options and not the whole popup container.
|
|
9050
|
+
* > To set the height of the popup container, use `popupSettings.height`.
|
|
9051
|
+
*
|
|
9052
|
+
* > When using `adaptiveMode` and the screen size is `small` or `medium` the `listHeight` property is set to null.
|
|
9053
|
+
*/
|
|
9054
|
+
set listHeight(_listHeight) {
|
|
9055
|
+
this._listHeight = _listHeight;
|
|
9056
|
+
}
|
|
9057
|
+
;
|
|
9058
|
+
get listHeight() {
|
|
9059
|
+
if (this.isAdaptive) {
|
|
9060
|
+
return;
|
|
9061
|
+
}
|
|
9062
|
+
return this._listHeight;
|
|
9063
|
+
}
|
|
8118
9064
|
/**
|
|
8119
9065
|
* Specifies the type of the selected value.
|
|
8120
9066
|
* If set to `true`, the selected value has to be of the primitive type
|
|
@@ -8138,6 +9084,20 @@ class MultiSelectComponent {
|
|
|
8138
9084
|
get isLoading() {
|
|
8139
9085
|
return this.loading;
|
|
8140
9086
|
}
|
|
9087
|
+
/**
|
|
9088
|
+
* @hidden
|
|
9089
|
+
*/
|
|
9090
|
+
get isActionSheetExpanded() {
|
|
9091
|
+
var _a;
|
|
9092
|
+
return (_a = this.actionSheet) === null || _a === void 0 ? void 0 : _a.expanded;
|
|
9093
|
+
}
|
|
9094
|
+
;
|
|
9095
|
+
/**
|
|
9096
|
+
* @hidden
|
|
9097
|
+
*/
|
|
9098
|
+
get isAdaptive() {
|
|
9099
|
+
return this.isAdaptiveModeEnabled && this.windowSize !== 'large';
|
|
9100
|
+
}
|
|
8141
9101
|
get listContainerClasses() {
|
|
8142
9102
|
const containerClasses = ['k-list-container', 'k-reset'];
|
|
8143
9103
|
if (this.popupSettings.popupClass) {
|
|
@@ -8188,6 +9148,21 @@ class MultiSelectComponent {
|
|
|
8188
9148
|
return 'visible';
|
|
8189
9149
|
}
|
|
8190
9150
|
}
|
|
9151
|
+
/**
|
|
9152
|
+
* @hidden
|
|
9153
|
+
*/
|
|
9154
|
+
applyValue() {
|
|
9155
|
+
this.value = this._valueHolder;
|
|
9156
|
+
this.emitValueChange();
|
|
9157
|
+
this.togglePopup(false);
|
|
9158
|
+
}
|
|
9159
|
+
/**
|
|
9160
|
+
* @hidden
|
|
9161
|
+
*/
|
|
9162
|
+
cancelValue() {
|
|
9163
|
+
this._valueHolder = [];
|
|
9164
|
+
this.togglePopup(false);
|
|
9165
|
+
}
|
|
8191
9166
|
/**
|
|
8192
9167
|
* @hidden
|
|
8193
9168
|
*/
|
|
@@ -8219,8 +9194,12 @@ class MultiSelectComponent {
|
|
|
8219
9194
|
event.added.forEach((itemIndex) => {
|
|
8220
9195
|
const dataItem = this.dataService.itemAt(itemIndex);
|
|
8221
9196
|
const newItem = (this.valuePrimitive && isPresent(dataItem) && isPresent(dataItem[this.valueField])) ? dataItem[this.valueField] : dataItem;
|
|
9197
|
+
this._valueHolder = this.value.filter(filter);
|
|
8222
9198
|
if (newItem) {
|
|
8223
|
-
this.
|
|
9199
|
+
this._valueHolder = [...this.value, newItem];
|
|
9200
|
+
if (!this.isAdaptive) {
|
|
9201
|
+
this.value = this._valueHolder;
|
|
9202
|
+
}
|
|
8224
9203
|
}
|
|
8225
9204
|
});
|
|
8226
9205
|
}
|
|
@@ -8228,7 +9207,10 @@ class MultiSelectComponent {
|
|
|
8228
9207
|
event.removed.forEach((itemIndex) => {
|
|
8229
9208
|
const dataItem = this.dataService.itemAt(itemIndex);
|
|
8230
9209
|
const filter = (item) => getter(item, this.valueField) !== getter(dataItem, this.valueField);
|
|
8231
|
-
this.
|
|
9210
|
+
this._valueHolder = this.value.filter(filter);
|
|
9211
|
+
if (!this.isAdaptive) {
|
|
9212
|
+
this.value = this._valueHolder;
|
|
9213
|
+
}
|
|
8232
9214
|
});
|
|
8233
9215
|
this.cdr.detectChanges();
|
|
8234
9216
|
}
|
|
@@ -8243,17 +9225,25 @@ class MultiSelectComponent {
|
|
|
8243
9225
|
if (isPresent(event.added)) {
|
|
8244
9226
|
const dataItem = this.dataService.itemAt(event.added);
|
|
8245
9227
|
const newItem = (this.valuePrimitive && isPresent(dataItem) && isPresent(dataItem[this.valueField])) ? dataItem[this.valueField] : dataItem;
|
|
8246
|
-
this.
|
|
9228
|
+
this._valueHolder = [...this.value, newItem];
|
|
9229
|
+
if (!this.isAdaptive) {
|
|
9230
|
+
this.value = this._valueHolder;
|
|
9231
|
+
}
|
|
8247
9232
|
}
|
|
8248
9233
|
if (isPresent(event.removed)) {
|
|
8249
9234
|
const dataItem = this.dataService.itemAt(event.removed);
|
|
8250
9235
|
const filter = (item) => getter(item, this.valueField) !== getter(dataItem, this.valueField);
|
|
8251
|
-
this.
|
|
9236
|
+
this._valueHolder = this.value.filter(filter);
|
|
9237
|
+
if (!this.isAdaptive) {
|
|
9238
|
+
this.value = this._valueHolder;
|
|
9239
|
+
}
|
|
8252
9240
|
this.selectionService.focused = event.removed;
|
|
8253
9241
|
this.cdr.detectChanges();
|
|
8254
9242
|
}
|
|
8255
9243
|
}
|
|
8256
|
-
this.
|
|
9244
|
+
if (!this.isAdaptive) {
|
|
9245
|
+
this.emitValueChange();
|
|
9246
|
+
}
|
|
8257
9247
|
}
|
|
8258
9248
|
/**
|
|
8259
9249
|
* @hidden
|
|
@@ -8338,6 +9328,9 @@ class MultiSelectComponent {
|
|
|
8338
9328
|
const navigateInput = this.text && event.keyCode !== Keys.ArrowDown && event.keyCode !== Keys.ArrowUp;
|
|
8339
9329
|
const selectValue = this.text && event.keyCode === Keys.Enter || event.keyCode === Keys.Escape;
|
|
8340
9330
|
const deleteTag = !this.text && event.keyCode === Keys.Backspace && this.tags.length > 0;
|
|
9331
|
+
if (event.keyCode === Keys.Backspace && this.isActionSheetExpanded) {
|
|
9332
|
+
return;
|
|
9333
|
+
}
|
|
8341
9334
|
if (deleteTag) {
|
|
8342
9335
|
this.handleBackspace();
|
|
8343
9336
|
return;
|
|
@@ -8355,7 +9348,8 @@ class MultiSelectComponent {
|
|
|
8355
9348
|
originalEvent: eventData
|
|
8356
9349
|
});
|
|
8357
9350
|
if (action !== NavigationAction.Undefined &&
|
|
8358
|
-
((action === NavigationAction.Enter && this.isOpen) || action !== NavigationAction.Enter)
|
|
9351
|
+
((action === NavigationAction.Enter && this.isOpen) || action !== NavigationAction.Enter) &&
|
|
9352
|
+
(!this.isActionSheetExpanded && action === NavigationAction.Tab)) {
|
|
8359
9353
|
event.preventDefault();
|
|
8360
9354
|
}
|
|
8361
9355
|
}
|
|
@@ -8412,11 +9406,11 @@ class MultiSelectComponent {
|
|
|
8412
9406
|
ngOnInit() {
|
|
8413
9407
|
this.renderer.removeAttribute(this.wrapper.nativeElement, "tabindex");
|
|
8414
9408
|
this.createCustomValueStream();
|
|
8415
|
-
this.
|
|
9409
|
+
this.subs.add(this.localization
|
|
8416
9410
|
.changes.subscribe(({ rtl }) => {
|
|
8417
9411
|
this.direction = rtl ? 'rtl' : 'ltr';
|
|
8418
9412
|
this.cdr.markForCheck();
|
|
8419
|
-
});
|
|
9413
|
+
}));
|
|
8420
9414
|
this.setState(this.value);
|
|
8421
9415
|
this.setComponentClasses();
|
|
8422
9416
|
this.initialized = true;
|
|
@@ -8435,18 +9429,22 @@ class MultiSelectComponent {
|
|
|
8435
9429
|
}
|
|
8436
9430
|
}
|
|
8437
9431
|
ngAfterViewInit() {
|
|
9432
|
+
var _a;
|
|
9433
|
+
this.windowSize = windowSize();
|
|
9434
|
+
this.cdr.detectChanges();
|
|
8438
9435
|
this.searchbar.setInputSize();
|
|
8439
|
-
this.
|
|
8440
|
-
this.
|
|
9436
|
+
this.subs.add(this.renderer.listen(this.wrapper.nativeElement, 'mousedown', this.handleMousedown.bind(this)));
|
|
9437
|
+
this.subs.add(this.renderer.listen(this.wrapper.nativeElement, 'keydown', this.handleKeydown.bind(this)));
|
|
9438
|
+
this.renderer.setAttribute((_a = this.actionSheet) === null || _a === void 0 ? void 0 : _a.element.nativeElement, 'style', '--kendo-actionsheet-height: 60vh; --kendo-actionsheet-max-height: none');
|
|
8441
9439
|
}
|
|
8442
9440
|
ngOnDestroy() {
|
|
8443
9441
|
this._toggle(false);
|
|
8444
9442
|
this.unsubscribeEvents();
|
|
8445
9443
|
}
|
|
8446
9444
|
/**
|
|
8447
|
-
* Toggles the visibility of the popup
|
|
9445
|
+
* Toggles the visibility of the popup or actionSheet
|
|
8448
9446
|
* ([see example]({% slug openstate_multiselect %}#toc-setting-the-initially-opened-component)).
|
|
8449
|
-
* If you use the `toggle` method to open or close the popup, the respective `open` and `close` events will not be fired.
|
|
9447
|
+
* If you use the `toggle` method to open or close the popup or actionSheet, the respective `open` and `close` events will not be fired.
|
|
8450
9448
|
*
|
|
8451
9449
|
* @param open - The state of the popup.
|
|
8452
9450
|
*/
|
|
@@ -8460,10 +9458,10 @@ class MultiSelectComponent {
|
|
|
8460
9458
|
});
|
|
8461
9459
|
}
|
|
8462
9460
|
/**
|
|
8463
|
-
* Returns the current open state
|
|
9461
|
+
* Returns the current open state. Returns `true` if the popup or actionSheet is open.
|
|
8464
9462
|
*/
|
|
8465
9463
|
get isOpen() {
|
|
8466
|
-
return this._open;
|
|
9464
|
+
return isTruthy(this._open || this.isActionSheetExpanded);
|
|
8467
9465
|
}
|
|
8468
9466
|
/**
|
|
8469
9467
|
* Resets the value of the MultiSelect.
|
|
@@ -8512,6 +9510,15 @@ class MultiSelectComponent {
|
|
|
8512
9510
|
this.tags = this.tagMapper(this.selectedDataItems.slice(0));
|
|
8513
9511
|
this.cdr.markForCheck();
|
|
8514
9512
|
}
|
|
9513
|
+
/**
|
|
9514
|
+
* @hidden
|
|
9515
|
+
*/
|
|
9516
|
+
handleClick() {
|
|
9517
|
+
this.windowSize = windowSize();
|
|
9518
|
+
if (this.isAdaptive) {
|
|
9519
|
+
this.togglePopup(true);
|
|
9520
|
+
}
|
|
9521
|
+
}
|
|
8515
9522
|
set isFocused(isFocused) {
|
|
8516
9523
|
this.renderer[isFocused ? 'addClass' : 'removeClass'](this.wrapper.nativeElement, 'k-focus');
|
|
8517
9524
|
this._isFocused = isFocused;
|
|
@@ -8550,7 +9557,7 @@ class MultiSelectComponent {
|
|
|
8550
9557
|
this.optionsList.scrollWithOnePage(NavigationAction[event.originalEvent.code]);
|
|
8551
9558
|
}
|
|
8552
9559
|
})
|
|
8553
|
-
].forEach(s => this.
|
|
9560
|
+
].forEach(s => this.subs.add(s));
|
|
8554
9561
|
}
|
|
8555
9562
|
subscribeTouchEvents() {
|
|
8556
9563
|
if (!isDocumentAvailable() || !this.touchEnabled) {
|
|
@@ -8574,13 +9581,10 @@ class MultiSelectComponent {
|
|
|
8574
9581
|
if (!isDocumentAvailable()) {
|
|
8575
9582
|
return;
|
|
8576
9583
|
}
|
|
8577
|
-
this.
|
|
9584
|
+
this.subs.unsubscribe();
|
|
8578
9585
|
if (this.customValueSubscription) {
|
|
8579
9586
|
this.customValueSubscription.unsubscribe();
|
|
8580
9587
|
}
|
|
8581
|
-
if (this.localizationChangeSubscription) {
|
|
8582
|
-
this.localizationChangeSubscription.unsubscribe();
|
|
8583
|
-
}
|
|
8584
9588
|
if (this.touchstartDisposeHandler) {
|
|
8585
9589
|
this.touchstartDisposeHandler();
|
|
8586
9590
|
}
|
|
@@ -8695,7 +9699,7 @@ class MultiSelectComponent {
|
|
|
8695
9699
|
}
|
|
8696
9700
|
handleItemChange(event) {
|
|
8697
9701
|
this.change(event);
|
|
8698
|
-
if (this.autoClose && !event.preventClosingPopup) {
|
|
9702
|
+
if (this.autoClose && !event.preventClosingPopup && !this.isActionSheetExpanded) {
|
|
8699
9703
|
this.togglePopup(false);
|
|
8700
9704
|
}
|
|
8701
9705
|
if (this.autoClose || !this.filterable) {
|
|
@@ -8703,21 +9707,23 @@ class MultiSelectComponent {
|
|
|
8703
9707
|
}
|
|
8704
9708
|
}
|
|
8705
9709
|
handleMousedown(event) {
|
|
8706
|
-
|
|
8707
|
-
|
|
8708
|
-
if (
|
|
8709
|
-
|
|
8710
|
-
|
|
8711
|
-
|
|
8712
|
-
this.
|
|
8713
|
-
|
|
8714
|
-
|
|
8715
|
-
|
|
8716
|
-
|
|
8717
|
-
|
|
9710
|
+
if (!this.isActionSheetExpanded) {
|
|
9711
|
+
const inputElement = this.searchbar.input.nativeElement;
|
|
9712
|
+
if (event.button === 0) {
|
|
9713
|
+
if (this.isFocused && this.isOpen && event.target === inputElement) {
|
|
9714
|
+
return;
|
|
9715
|
+
}
|
|
9716
|
+
if (!this.touchEnabled || (this.touchEnabled && event.target.tagName !== 'SPAN')) {
|
|
9717
|
+
this.searchbar.focus();
|
|
9718
|
+
}
|
|
9719
|
+
// The check is needed otherwise when appended to the component, the popup reopens on click
|
|
9720
|
+
// https://github.com/telerik/kendo-angular/issues/3738
|
|
9721
|
+
if ((this.popupRef && this.popupRef.popupElement.contains(event.target))) {
|
|
9722
|
+
return;
|
|
9723
|
+
}
|
|
9724
|
+
event.preventDefault();
|
|
9725
|
+
this.togglePopup(!this.isOpen);
|
|
8718
9726
|
}
|
|
8719
|
-
event.preventDefault();
|
|
8720
|
-
this.togglePopup(!this.isOpen);
|
|
8721
9727
|
}
|
|
8722
9728
|
}
|
|
8723
9729
|
handleKeydown(event) {
|
|
@@ -8746,7 +9752,7 @@ class MultiSelectComponent {
|
|
|
8746
9752
|
else {
|
|
8747
9753
|
service.add(focusedIndex);
|
|
8748
9754
|
}
|
|
8749
|
-
if (this.autoClose) {
|
|
9755
|
+
if (this.autoClose && !this.isActionSheetExpanded) {
|
|
8750
9756
|
this.togglePopup(false);
|
|
8751
9757
|
}
|
|
8752
9758
|
if (this.autoClose || !this.filterable) {
|
|
@@ -8917,6 +9923,9 @@ class MultiSelectComponent {
|
|
|
8917
9923
|
this.togglePopup(true);
|
|
8918
9924
|
this.focusedTagIndex = undefined;
|
|
8919
9925
|
}
|
|
9926
|
+
/**
|
|
9927
|
+
* @hidden
|
|
9928
|
+
*/
|
|
8920
9929
|
togglePopup(open) {
|
|
8921
9930
|
const isDisabled = this.disabled || this.readonly;
|
|
8922
9931
|
const sameState = this.isOpen === open;
|
|
@@ -8941,6 +9950,10 @@ class MultiSelectComponent {
|
|
|
8941
9950
|
_toggle(open) {
|
|
8942
9951
|
this._open = open;
|
|
8943
9952
|
this.destroyPopup();
|
|
9953
|
+
if (this.isActionSheetExpanded) {
|
|
9954
|
+
this.closeActionSheet();
|
|
9955
|
+
this.focus();
|
|
9956
|
+
}
|
|
8944
9957
|
if (this._open) {
|
|
8945
9958
|
this.createPopup();
|
|
8946
9959
|
}
|
|
@@ -8957,6 +9970,11 @@ class MultiSelectComponent {
|
|
|
8957
9970
|
if (this.virtual) {
|
|
8958
9971
|
this.virtual.skip = 0;
|
|
8959
9972
|
}
|
|
9973
|
+
this.windowSize = windowSize();
|
|
9974
|
+
if (this.isAdaptive) {
|
|
9975
|
+
this.openActionSheet();
|
|
9976
|
+
return;
|
|
9977
|
+
}
|
|
8960
9978
|
const horizontalAlign = this.direction === "rtl" ? "right" : "left";
|
|
8961
9979
|
const anchorPosition = { horizontal: horizontalAlign, vertical: "bottom" };
|
|
8962
9980
|
const popupPosition = { horizontal: horizontalAlign, vertical: "top" };
|
|
@@ -8988,7 +10006,9 @@ class MultiSelectComponent {
|
|
|
8988
10006
|
}
|
|
8989
10007
|
this.popupRef.popupOpen.subscribe(() => {
|
|
8990
10008
|
this.cdr.detectChanges();
|
|
10009
|
+
setListBoxAriaLabelLebBy(this.optionsList, this.searchbar.input, this.renderer);
|
|
8991
10010
|
this.optionsList.scrollToItem(this.selectionService.focused);
|
|
10011
|
+
this.selectionService.focus(this.selectionService.focused);
|
|
8992
10012
|
this.opened.emit();
|
|
8993
10013
|
});
|
|
8994
10014
|
this.popupRef.popupClose.subscribe(() => {
|
|
@@ -9042,9 +10062,28 @@ class MultiSelectComponent {
|
|
|
9042
10062
|
this.renderer.addClass(this.wrapper.nativeElement, getFillModeClass('input', this.fillMode));
|
|
9043
10063
|
}
|
|
9044
10064
|
}
|
|
10065
|
+
closeActionSheet() {
|
|
10066
|
+
this.actionSheet.toggle(false);
|
|
10067
|
+
this.actionSheetSearchBar.value = '';
|
|
10068
|
+
this.filterable && this.filterChange.emit('');
|
|
10069
|
+
this.closed.emit();
|
|
10070
|
+
}
|
|
10071
|
+
openActionSheet() {
|
|
10072
|
+
this.windowSize = windowSize();
|
|
10073
|
+
this.actionSheet.toggle(true);
|
|
10074
|
+
this.cdr.detectChanges();
|
|
10075
|
+
setListBoxAriaLabelLebBy(this.optionsList, this.searchbar.input, this.renderer);
|
|
10076
|
+
this.title = setActionSheetTitle(this.searchbar.input, this.title);
|
|
10077
|
+
updateActionSheetAdaptiveAppearance(this.actionSheet, this.windowSize, this.renderer);
|
|
10078
|
+
this.cdr.detectChanges();
|
|
10079
|
+
this.opened.emit();
|
|
10080
|
+
this.optionsList.scrollToItem(this.selectionService.focused);
|
|
10081
|
+
this.selectionService.focus(this.selectionService.focused);
|
|
10082
|
+
this.actionSheetSearchBar.focus();
|
|
10083
|
+
}
|
|
9045
10084
|
}
|
|
9046
|
-
MultiSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: MultiSelectComponent, deps: [{ token: i0.ElementRef }, { token: i1.LocalizationService }, { token: i2.PopupService }, { token: DataService }, { token: SelectionService }, { token: NavigationService }, { token: DisabledItemsService }, { token: i0.ChangeDetectorRef }, { token: i0.KeyValueDiffers }, { token: i0.Renderer2 }, { token: i0.NgZone }, { token: TOUCH_ENABLED, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
9047
|
-
MultiSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: MultiSelectComponent, selector: "kendo-multiselect", inputs: { focusableId: "focusableId", autoClose: "autoClose", loading: "loading", data: "data", value: "value", valueField: "valueField", textField: "textField", tabindex: "tabindex", tabIndex: "tabIndex", size: "size", rounded: "rounded", fillMode: "fillMode", placeholder: "placeholder", disabled: "disabled", itemDisabled: "itemDisabled", checkboxes: "checkboxes", readonly: "readonly", filterable: "filterable", virtual: "virtual", popupSettings: "popupSettings", listHeight: "listHeight", valuePrimitive: "valuePrimitive", clearButton: "clearButton", tagMapper: "tagMapper", allowCustom: "allowCustom", valueNormalizer: "valueNormalizer" }, outputs: { filterChange: "filterChange", valueChange: "valueChange", open: "open", opened: "opened", close: "close", closed: "closed", onFocus: "focus", onBlur: "blur", removeTag: "removeTag" }, host: { properties: { "class.k-multiselect": "this.hostClasses", "class.k-input": "this.hostClasses", "attr.dir": "this.dir", "class.k-disabled": "this.disabledClass", "class.k-loading": "this.isLoading" } }, providers: [
|
|
10085
|
+
MultiSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: MultiSelectComponent, deps: [{ token: i0.ElementRef }, { token: i1.LocalizationService }, { token: i2$1.PopupService }, { token: DataService }, { token: SelectionService }, { token: NavigationService }, { token: DisabledItemsService }, { token: i0.ChangeDetectorRef }, { token: i0.KeyValueDiffers }, { token: i0.Renderer2 }, { token: i0.NgZone }, { token: TOUCH_ENABLED, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
10086
|
+
MultiSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: MultiSelectComponent, selector: "kendo-multiselect", inputs: { focusableId: "focusableId", autoClose: "autoClose", loading: "loading", data: "data", value: "value", valueField: "valueField", textField: "textField", tabindex: "tabindex", tabIndex: "tabIndex", size: "size", rounded: "rounded", fillMode: "fillMode", placeholder: "placeholder", adaptiveMode: "adaptiveMode", title: "title", subtitle: "subtitle", disabled: "disabled", itemDisabled: "itemDisabled", checkboxes: "checkboxes", readonly: "readonly", filterable: "filterable", virtual: "virtual", popupSettings: "popupSettings", listHeight: "listHeight", valuePrimitive: "valuePrimitive", clearButton: "clearButton", tagMapper: "tagMapper", allowCustom: "allowCustom", valueNormalizer: "valueNormalizer" }, outputs: { filterChange: "filterChange", valueChange: "valueChange", open: "open", opened: "opened", close: "close", closed: "closed", onFocus: "focus", onBlur: "blur", removeTag: "removeTag" }, host: { properties: { "class.k-multiselect": "this.hostClasses", "class.k-input": "this.hostClasses", "attr.dir": "this.dir", "class.k-disabled": "this.disabledClass", "class.k-loading": "this.isLoading" } }, providers: [
|
|
9048
10087
|
MULTISELECT_VALUE_ACCESSOR,
|
|
9049
10088
|
DataService,
|
|
9050
10089
|
SelectionService,
|
|
@@ -9061,7 +10100,7 @@ MultiSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
|
|
|
9061
10100
|
{
|
|
9062
10101
|
provide: KendoInput, useExisting: forwardRef(() => MultiSelectComponent)
|
|
9063
10102
|
}
|
|
9064
|
-
], queries: [{ propertyName: "template", first: true, predicate: ItemTemplateDirective, descendants: true }, { propertyName: "customItemTemplate", first: true, predicate: CustomItemTemplateDirective, descendants: true }, { propertyName: "groupTemplate", first: true, predicate: GroupTemplateDirective, descendants: true }, { propertyName: "fixedGroupTemplate", first: true, predicate: FixedGroupTemplateDirective, descendants: true }, { propertyName: "headerTemplate", first: true, predicate: HeaderTemplateDirective, descendants: true }, { propertyName: "footerTemplate", first: true, predicate: FooterTemplateDirective, descendants: true }, { propertyName: "tagTemplate", first: true, predicate: TagTemplateDirective, descendants: true }, { propertyName: "groupTagTemplate", first: true, predicate: GroupTagTemplateDirective, descendants: true }, { propertyName: "noDataTemplate", first: true, predicate: NoDataTemplateDirective, descendants: true }], viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true, read: ViewContainerRef, static: true }, { propertyName: "searchbar", first: true, predicate: SearchBarComponent, descendants: true, static: true }, { propertyName: "popupTemplate", first: true, predicate: ["popupTemplate"], descendants: true, static: true }, { propertyName: "optionsList", first: true, predicate: ["optionsList"], descendants: true }], exportAs: ["kendoMultiSelect"], usesOnChanges: true, ngImport: i0, template: `
|
|
10103
|
+
], queries: [{ propertyName: "template", first: true, predicate: ItemTemplateDirective, descendants: true }, { propertyName: "customItemTemplate", first: true, predicate: CustomItemTemplateDirective, descendants: true }, { propertyName: "groupTemplate", first: true, predicate: GroupTemplateDirective, descendants: true }, { propertyName: "fixedGroupTemplate", first: true, predicate: FixedGroupTemplateDirective, descendants: true }, { propertyName: "headerTemplate", first: true, predicate: HeaderTemplateDirective, descendants: true }, { propertyName: "footerTemplate", first: true, predicate: FooterTemplateDirective, descendants: true }, { propertyName: "tagTemplate", first: true, predicate: TagTemplateDirective, descendants: true }, { propertyName: "groupTagTemplate", first: true, predicate: GroupTagTemplateDirective, descendants: true }, { propertyName: "noDataTemplate", first: true, predicate: NoDataTemplateDirective, descendants: true }], viewQueries: [{ propertyName: "responsiveRendererComponent", first: true, predicate: ResponsiveRendererComponent, descendants: true }, { propertyName: "container", first: true, predicate: ["container"], descendants: true, read: ViewContainerRef, static: true }, { propertyName: "searchbar", first: true, predicate: SearchBarComponent, descendants: true, static: true }, { propertyName: "popupTemplate", first: true, predicate: ["popupTemplate"], descendants: true, static: true }, { propertyName: "optionsList", first: true, predicate: ["optionsList"], descendants: true }], exportAs: ["kendoMultiSelect"], usesOnChanges: true, ngImport: i0, template: `
|
|
9065
10104
|
<ng-container kendoMultiSelectLocalizedMessages
|
|
9066
10105
|
i18n-noDataText="kendo.multiselect.noDataText|The text displayed in the popup when there are no items"
|
|
9067
10106
|
noDataText="NO DATA FOUND"
|
|
@@ -9071,6 +10110,12 @@ MultiSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
|
|
|
9071
10110
|
|
|
9072
10111
|
i18n-popupLabel="kendo.multiselect.popupLabel|The label of the popup element that contains the list of options when its role is 'region'"
|
|
9073
10112
|
popupLabel="Options list"
|
|
10113
|
+
|
|
10114
|
+
i18n-applyButton="kendo.multiselect.applyButton|The text of the Apply button in the action sheet"
|
|
10115
|
+
applyButton="Apply"
|
|
10116
|
+
|
|
10117
|
+
i18n-cancelButton="kendo.multiselect.cancelButton|The text of the Cancel button in the action sheet"
|
|
10118
|
+
cancelButton="Cancel"
|
|
9074
10119
|
>
|
|
9075
10120
|
</ng-container>
|
|
9076
10121
|
<kendo-taglist
|
|
@@ -9101,13 +10146,14 @@ MultiSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
|
|
|
9101
10146
|
[activeDescendant]="activeDescendant"
|
|
9102
10147
|
[userInput]="text"
|
|
9103
10148
|
[disabled]="disabled"
|
|
9104
|
-
[readonly]="readonly"
|
|
10149
|
+
[readonly]="readonly || this.isAdaptive"
|
|
9105
10150
|
[tabIndex]="tabIndex"
|
|
9106
10151
|
[placeholder]="placeholder"
|
|
9107
10152
|
(onNavigate)="handleNavigate($event)"
|
|
9108
10153
|
(valueChange)="handleFilter($event)"
|
|
9109
10154
|
(onBlur)="onSearchBarBlur()"
|
|
9110
10155
|
(onFocus)="onSearchBarFocus()"
|
|
10156
|
+
(click)="handleClick()"
|
|
9111
10157
|
>
|
|
9112
10158
|
</kendo-searchbar>
|
|
9113
10159
|
</kendo-taglist>
|
|
@@ -9134,6 +10180,29 @@ MultiSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
|
|
|
9134
10180
|
>
|
|
9135
10181
|
</span>
|
|
9136
10182
|
<ng-template #popupTemplate>
|
|
10183
|
+
<ng-container *ngTemplateOutlet="sharedPopupActionSheetTemplate"></ng-container>
|
|
10184
|
+
</ng-template>
|
|
10185
|
+
<kendo-resize-sensor *ngIf="isOpen || isAdaptiveModeEnabled" (resize)="onResize()"></kendo-resize-sensor>
|
|
10186
|
+
<ng-container #container></ng-container>
|
|
10187
|
+
|
|
10188
|
+
<!--adaptive rendering-->
|
|
10189
|
+
<responsive-renderer
|
|
10190
|
+
[sharedPopupActionSheetTemplate]="sharedPopupActionSheetTemplate"
|
|
10191
|
+
[isActionSheetExpanded]="isActionSheetExpanded"
|
|
10192
|
+
[title]="title"
|
|
10193
|
+
[showTextInput]="true"
|
|
10194
|
+
[showActionButtons]="true"
|
|
10195
|
+
[subtitle]="subtitle"
|
|
10196
|
+
(closePopup)="togglePopup(false)"
|
|
10197
|
+
(textInputChange)="onAdaptiveTextBoxChange($event)"
|
|
10198
|
+
[placeholder]="placeholder"
|
|
10199
|
+
(navigate)="handleNavigate($event)"
|
|
10200
|
+
(onApply)="applyValue()"
|
|
10201
|
+
(onCancel)="cancelValue()"
|
|
10202
|
+
>
|
|
10203
|
+
</responsive-renderer>
|
|
10204
|
+
|
|
10205
|
+
<ng-template #sharedPopupActionSheetTemplate>
|
|
9137
10206
|
<!--header template-->
|
|
9138
10207
|
<ng-template *ngIf="headerTemplate"
|
|
9139
10208
|
[templateContext]="{
|
|
@@ -9172,17 +10241,18 @@ MultiSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
|
|
|
9172
10241
|
[data]="data"
|
|
9173
10242
|
[textField]="textField"
|
|
9174
10243
|
[valueField]="valueField"
|
|
9175
|
-
[height]="listHeight"
|
|
9176
10244
|
[template]="template"
|
|
9177
10245
|
[groupTemplate]="groupTemplate"
|
|
9178
10246
|
[fixedGroupTemplate]="fixedGroupTemplate"
|
|
10247
|
+
[height]="listHeight"
|
|
9179
10248
|
[show]="isOpen"
|
|
9180
10249
|
[multipleSelection]="true"
|
|
9181
10250
|
[virtual]="virtual"
|
|
9182
10251
|
(pageChange)="pageChange($event)"
|
|
9183
10252
|
[checkboxes]="checkboxes"
|
|
9184
10253
|
[isMultiselect]="true"
|
|
9185
|
-
|
|
10254
|
+
[isActionSheetExpanded]="isActionSheetExpanded"
|
|
10255
|
+
>
|
|
9186
10256
|
</kendo-list>
|
|
9187
10257
|
<!--no data template-->
|
|
9188
10258
|
<div class="k-no-data" *ngIf="data.length === 0">
|
|
@@ -9202,11 +10272,7 @@ MultiSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
|
|
|
9202
10272
|
}">
|
|
9203
10273
|
</ng-template>
|
|
9204
10274
|
</ng-template>
|
|
9205
|
-
|
|
9206
|
-
<kendo-resize-sensor (resize)="onResize()"></kendo-resize-sensor>
|
|
9207
|
-
</ng-template>
|
|
9208
|
-
<ng-container #container></ng-container>
|
|
9209
|
-
`, isInline: true, components: [{ type: TagListComponent, selector: "kendo-taglist", inputs: ["tags", "textField", "valueField", "valueDepth", "focused", "template", "groupTemplate", "disabled", "tagPrefix", "id", "size", "rounded", "fillMode", "disabledIndices"], outputs: ["removeTag"] }, { type: SearchBarComponent, selector: "kendo-searchbar", inputs: ["id", "tagListId", "activeDescendant", "disabled", "readonly", "tabIndex", "role", "isLoading", "ariaControls", "ariaExpanded", "isSuggestable", "isFilterable", "userInput", "suggestedText", "placeholder"], outputs: ["valueChange", "onBlur", "onFocus", "onClick", "onNavigate"] }, { type: i8.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass"], exportAs: ["kendoIconWrapper"] }, { type: ListComponent, selector: "kendo-list", inputs: ["selected", "focused", "textField", "valueField", "height", "template", "groupTemplate", "fixedGroupTemplate", "show", "id", "optionPrefix", "multipleSelection", "virtual", "type", "checkboxes", "ariaLive", "isMultiselect", "data", "size", "rounded"], outputs: ["onClick", "pageChange", "listResize"] }, { type: i10.ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }], directives: [{ type: LocalizedMessagesDirective, selector: "\n [kendoDropDownListLocalizedMessages],\n [kendoDropDownTreeLocalizedMessages],\n [kendoComboBoxLocalizedMessages],\n [kendoMultiColumnComboBoxLocalizedMessages],\n [kendoAutoCompleteLocalizedMessages],\n [kendoMultiSelectLocalizedMessages],\n [kendoMultiSelectTreeLocalizedMessages]\n " }, { type: i12.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }, { type: i12.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: SelectableDirective, selector: "[kendoDropDownsSelectable]", inputs: ["index", "checkboxes", "height", "multipleSelection"] }] });
|
|
10275
|
+
`, isInline: true, components: [{ type: TagListComponent, selector: "kendo-taglist", inputs: ["tags", "textField", "valueField", "valueDepth", "focused", "template", "groupTemplate", "disabled", "tagPrefix", "id", "size", "rounded", "fillMode", "disabledIndices"], outputs: ["removeTag"] }, { type: SearchBarComponent, selector: "kendo-searchbar", inputs: ["id", "tagListId", "activeDescendant", "disabled", "readonly", "tabIndex", "role", "isLoading", "ariaControls", "ariaExpanded", "isSuggestable", "isFilterable", "userInput", "suggestedText", "placeholder"], outputs: ["valueChange", "onBlur", "onFocus", "onClick", "onNavigate"] }, { type: i8.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass"], exportAs: ["kendoIconWrapper"] }, { type: i9.ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }, { type: ResponsiveRendererComponent, selector: "responsive-renderer", inputs: ["title", "showActionButtons", "subtitle", "size", "showTextInput", "sharedPopupActionSheetTemplate", "isActionSheetExpanded", "text", "placeholder"], outputs: ["closePopup", "textInputChange", "navigate", "onExpand", "onCollapse", "onApply", "onCancel"] }, { type: ListComponent, selector: "kendo-list", inputs: ["selected", "focused", "textField", "valueField", "height", "template", "groupTemplate", "fixedGroupTemplate", "show", "id", "optionPrefix", "multipleSelection", "virtual", "type", "checkboxes", "ariaLive", "isMultiselect", "isActionSheetExpanded", "data", "size", "rounded"], outputs: ["onClick", "pageChange", "listResize"] }], directives: [{ type: LocalizedMessagesDirective, selector: "\n [kendoDropDownListLocalizedMessages],\n [kendoDropDownTreeLocalizedMessages],\n [kendoComboBoxLocalizedMessages],\n [kendoMultiColumnComboBoxLocalizedMessages],\n [kendoAutoCompleteLocalizedMessages],\n [kendoMultiSelectLocalizedMessages],\n [kendoMultiSelectTreeLocalizedMessages]\n " }, { type: i13.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i13.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }, { type: i13.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: SelectableDirective, selector: "[kendoDropDownsSelectable]", inputs: ["index", "checkboxes", "height", "isMultiselect", "multipleSelection"] }] });
|
|
9210
10276
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: MultiSelectComponent, decorators: [{
|
|
9211
10277
|
type: Component,
|
|
9212
10278
|
args: [{
|
|
@@ -9240,6 +10306,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
9240
10306
|
|
|
9241
10307
|
i18n-popupLabel="kendo.multiselect.popupLabel|The label of the popup element that contains the list of options when its role is 'region'"
|
|
9242
10308
|
popupLabel="Options list"
|
|
10309
|
+
|
|
10310
|
+
i18n-applyButton="kendo.multiselect.applyButton|The text of the Apply button in the action sheet"
|
|
10311
|
+
applyButton="Apply"
|
|
10312
|
+
|
|
10313
|
+
i18n-cancelButton="kendo.multiselect.cancelButton|The text of the Cancel button in the action sheet"
|
|
10314
|
+
cancelButton="Cancel"
|
|
9243
10315
|
>
|
|
9244
10316
|
</ng-container>
|
|
9245
10317
|
<kendo-taglist
|
|
@@ -9270,13 +10342,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
9270
10342
|
[activeDescendant]="activeDescendant"
|
|
9271
10343
|
[userInput]="text"
|
|
9272
10344
|
[disabled]="disabled"
|
|
9273
|
-
[readonly]="readonly"
|
|
10345
|
+
[readonly]="readonly || this.isAdaptive"
|
|
9274
10346
|
[tabIndex]="tabIndex"
|
|
9275
10347
|
[placeholder]="placeholder"
|
|
9276
10348
|
(onNavigate)="handleNavigate($event)"
|
|
9277
10349
|
(valueChange)="handleFilter($event)"
|
|
9278
10350
|
(onBlur)="onSearchBarBlur()"
|
|
9279
10351
|
(onFocus)="onSearchBarFocus()"
|
|
10352
|
+
(click)="handleClick()"
|
|
9280
10353
|
>
|
|
9281
10354
|
</kendo-searchbar>
|
|
9282
10355
|
</kendo-taglist>
|
|
@@ -9303,6 +10376,29 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
9303
10376
|
>
|
|
9304
10377
|
</span>
|
|
9305
10378
|
<ng-template #popupTemplate>
|
|
10379
|
+
<ng-container *ngTemplateOutlet="sharedPopupActionSheetTemplate"></ng-container>
|
|
10380
|
+
</ng-template>
|
|
10381
|
+
<kendo-resize-sensor *ngIf="isOpen || isAdaptiveModeEnabled" (resize)="onResize()"></kendo-resize-sensor>
|
|
10382
|
+
<ng-container #container></ng-container>
|
|
10383
|
+
|
|
10384
|
+
<!--adaptive rendering-->
|
|
10385
|
+
<responsive-renderer
|
|
10386
|
+
[sharedPopupActionSheetTemplate]="sharedPopupActionSheetTemplate"
|
|
10387
|
+
[isActionSheetExpanded]="isActionSheetExpanded"
|
|
10388
|
+
[title]="title"
|
|
10389
|
+
[showTextInput]="true"
|
|
10390
|
+
[showActionButtons]="true"
|
|
10391
|
+
[subtitle]="subtitle"
|
|
10392
|
+
(closePopup)="togglePopup(false)"
|
|
10393
|
+
(textInputChange)="onAdaptiveTextBoxChange($event)"
|
|
10394
|
+
[placeholder]="placeholder"
|
|
10395
|
+
(navigate)="handleNavigate($event)"
|
|
10396
|
+
(onApply)="applyValue()"
|
|
10397
|
+
(onCancel)="cancelValue()"
|
|
10398
|
+
>
|
|
10399
|
+
</responsive-renderer>
|
|
10400
|
+
|
|
10401
|
+
<ng-template #sharedPopupActionSheetTemplate>
|
|
9306
10402
|
<!--header template-->
|
|
9307
10403
|
<ng-template *ngIf="headerTemplate"
|
|
9308
10404
|
[templateContext]="{
|
|
@@ -9341,17 +10437,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
9341
10437
|
[data]="data"
|
|
9342
10438
|
[textField]="textField"
|
|
9343
10439
|
[valueField]="valueField"
|
|
9344
|
-
[height]="listHeight"
|
|
9345
10440
|
[template]="template"
|
|
9346
10441
|
[groupTemplate]="groupTemplate"
|
|
9347
10442
|
[fixedGroupTemplate]="fixedGroupTemplate"
|
|
10443
|
+
[height]="listHeight"
|
|
9348
10444
|
[show]="isOpen"
|
|
9349
10445
|
[multipleSelection]="true"
|
|
9350
10446
|
[virtual]="virtual"
|
|
9351
10447
|
(pageChange)="pageChange($event)"
|
|
9352
10448
|
[checkboxes]="checkboxes"
|
|
9353
10449
|
[isMultiselect]="true"
|
|
9354
|
-
|
|
10450
|
+
[isActionSheetExpanded]="isActionSheetExpanded"
|
|
10451
|
+
>
|
|
9355
10452
|
</kendo-list>
|
|
9356
10453
|
<!--no data template-->
|
|
9357
10454
|
<div class="k-no-data" *ngIf="data.length === 0">
|
|
@@ -9371,20 +10468,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
9371
10468
|
}">
|
|
9372
10469
|
</ng-template>
|
|
9373
10470
|
</ng-template>
|
|
9374
|
-
<ng-template [ngIf]="isOpen">
|
|
9375
|
-
<kendo-resize-sensor (resize)="onResize()"></kendo-resize-sensor>
|
|
9376
|
-
</ng-template>
|
|
9377
|
-
<ng-container #container></ng-container>
|
|
9378
10471
|
`
|
|
9379
10472
|
}]
|
|
9380
10473
|
}], ctorParameters: function () {
|
|
9381
|
-
return [{ type: i0.ElementRef }, { type: i1.LocalizationService }, { type: i2.PopupService }, { type: DataService }, { type: SelectionService }, { type: NavigationService }, { type: DisabledItemsService }, { type: i0.ChangeDetectorRef }, { type: i0.KeyValueDiffers }, { type: i0.Renderer2 }, { type: i0.NgZone }, { type: undefined, decorators: [{
|
|
10474
|
+
return [{ type: i0.ElementRef }, { type: i1.LocalizationService }, { type: i2$1.PopupService }, { type: DataService }, { type: SelectionService }, { type: NavigationService }, { type: DisabledItemsService }, { type: i0.ChangeDetectorRef }, { type: i0.KeyValueDiffers }, { type: i0.Renderer2 }, { type: i0.NgZone }, { type: undefined, decorators: [{
|
|
9382
10475
|
type: Optional
|
|
9383
10476
|
}, {
|
|
9384
10477
|
type: Inject,
|
|
9385
10478
|
args: [TOUCH_ENABLED]
|
|
9386
10479
|
}] }];
|
|
9387
|
-
}, propDecorators: {
|
|
10480
|
+
}, propDecorators: { responsiveRendererComponent: [{
|
|
10481
|
+
type: ViewChild,
|
|
10482
|
+
args: [ResponsiveRendererComponent]
|
|
10483
|
+
}], focusableId: [{
|
|
9388
10484
|
type: Input
|
|
9389
10485
|
}], autoClose: [{
|
|
9390
10486
|
type: Input
|
|
@@ -9411,6 +10507,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
9411
10507
|
type: Input
|
|
9412
10508
|
}], placeholder: [{
|
|
9413
10509
|
type: Input
|
|
10510
|
+
}], adaptiveMode: [{
|
|
10511
|
+
type: Input
|
|
10512
|
+
}], title: [{
|
|
10513
|
+
type: Input
|
|
10514
|
+
}], subtitle: [{
|
|
10515
|
+
type: Input
|
|
9414
10516
|
}], disabled: [{
|
|
9415
10517
|
type: Input
|
|
9416
10518
|
}], itemDisabled: [{
|
|
@@ -9667,6 +10769,10 @@ const getRowWidthFromColumnsMeta = (columns) => {
|
|
|
9667
10769
|
class MultiColumnComboBoxComponent extends ComboBoxComponent {
|
|
9668
10770
|
constructor(localization, popupService, selectionService, navigationService, disabledItemsService, dataService, zone, changeDetector, renderer, wrapper, touchEnabled) {
|
|
9669
10771
|
super(wrapper, localization, popupService, selectionService, navigationService, disabledItemsService, dataService, zone, changeDetector, renderer, touchEnabled);
|
|
10772
|
+
/**
|
|
10773
|
+
* @hidden
|
|
10774
|
+
*/
|
|
10775
|
+
this.animationDuration = animationDuration;
|
|
9670
10776
|
/**
|
|
9671
10777
|
* @hidden
|
|
9672
10778
|
*/
|
|
@@ -9707,14 +10813,15 @@ class MultiColumnComboBoxComponent extends ComboBoxComponent {
|
|
|
9707
10813
|
* @hidden
|
|
9708
10814
|
*/
|
|
9709
10815
|
get listContainerClasses() {
|
|
9710
|
-
return [
|
|
9711
|
-
'k-popup',
|
|
9712
|
-
'k-dropdowngrid-popup'
|
|
9713
|
-
].concat(this.popupSettings.popupClass || []);
|
|
10816
|
+
return ['k-popup', 'k-dropdowngrid-popup'].concat(this.popupSettings.popupClass || []);
|
|
9714
10817
|
}
|
|
9715
10818
|
ngAfterViewInit() {
|
|
10819
|
+
var _a;
|
|
9716
10820
|
this.updateColumnsMediaState();
|
|
9717
10821
|
this.addWindowResizeListener();
|
|
10822
|
+
this.windowSize = windowSize();
|
|
10823
|
+
this.cdr.detectChanges();
|
|
10824
|
+
this.renderer.setAttribute((_a = this.actionSheet) === null || _a === void 0 ? void 0 : _a.element.nativeElement, 'style', '--kendo-actionsheet-height: 60vh; --kendo-actionsheet-max-height: none');
|
|
9718
10825
|
}
|
|
9719
10826
|
ngOnDestroy() {
|
|
9720
10827
|
super.ngOnDestroy();
|
|
@@ -9750,7 +10857,7 @@ class MultiColumnComboBoxComponent extends ComboBoxComponent {
|
|
|
9750
10857
|
if (!isDevMode()) {
|
|
9751
10858
|
return;
|
|
9752
10859
|
}
|
|
9753
|
-
if (isPresent(this.data) && this.data.length > 0 && this.data.some(item => !isObject(item))) {
|
|
10860
|
+
if (isPresent(this.data) && this.data.length > 0 && this.data.some((item) => !isObject(item))) {
|
|
9754
10861
|
throw new Error(MultiColumnComboBoxMessages.data);
|
|
9755
10862
|
}
|
|
9756
10863
|
if (!isPresent(this.valueField) || !isPresent(this.textField)) {
|
|
@@ -9762,26 +10869,26 @@ class MultiColumnComboBoxComponent extends ComboBoxComponent {
|
|
|
9762
10869
|
if (!isDocumentAvailable()) {
|
|
9763
10870
|
return;
|
|
9764
10871
|
}
|
|
9765
|
-
this.zone.runOutsideAngular(() => this.removeWindowResizeListener = this.renderer.listen(window, 'resize', this.updateColumnsMediaState.bind(this)));
|
|
10872
|
+
this.zone.runOutsideAngular(() => (this.removeWindowResizeListener = this.renderer.listen(window, 'resize', this.updateColumnsMediaState.bind(this))));
|
|
9766
10873
|
}
|
|
9767
10874
|
updateColumnsMediaState() {
|
|
9768
|
-
if (!(isPresent(this.columns) && isDocumentAvailable())) {
|
|
10875
|
+
if (!(isPresent(this.columns) && isDocumentAvailable()) || this.isActionSheetExpanded) {
|
|
9769
10876
|
return;
|
|
9770
10877
|
}
|
|
9771
|
-
this.columns.forEach(column => {
|
|
10878
|
+
this.columns.forEach((column) => {
|
|
9772
10879
|
const matchesMedia = !column.media || window.matchMedia(column.media).matches;
|
|
9773
10880
|
if (column.matchesMedia !== matchesMedia) {
|
|
9774
10881
|
column.matchesMedia = matchesMedia;
|
|
9775
10882
|
if (this.isOpen) {
|
|
9776
10883
|
// enter the zone only if the popup is actually open
|
|
9777
10884
|
// update its width in case it's dependent on the columns' width
|
|
9778
|
-
this.zone.run(() => this.popupRef.popupElement.style.width = this.popupWidth.max);
|
|
10885
|
+
this.zone.run(() => (this.popupRef.popupElement.style.width = this.popupWidth.max));
|
|
9779
10886
|
}
|
|
9780
10887
|
}
|
|
9781
10888
|
});
|
|
9782
10889
|
}
|
|
9783
10890
|
}
|
|
9784
|
-
MultiColumnComboBoxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: MultiColumnComboBoxComponent, deps: [{ token: i1.LocalizationService }, { token: i2.PopupService }, { token: SelectionService }, { token: NavigationService }, { token: DisabledItemsService }, { token: DataService }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: TOUCH_ENABLED }], target: i0.ɵɵFactoryTarget.Component });
|
|
10891
|
+
MultiColumnComboBoxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: MultiColumnComboBoxComponent, deps: [{ token: i1.LocalizationService }, { token: i2$1.PopupService }, { token: SelectionService }, { token: NavigationService }, { token: DisabledItemsService }, { token: DataService }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: TOUCH_ENABLED }], target: i0.ɵɵFactoryTarget.Component });
|
|
9785
10892
|
MultiColumnComboBoxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: MultiColumnComboBoxComponent, selector: "kendo-multicolumncombobox", host: { properties: { "class.k-dropdowngrid": "this.hostClasses", "class.k-disabled": "this.isDisabled" } }, providers: [
|
|
9786
10893
|
SelectionService,
|
|
9787
10894
|
DataService,
|
|
@@ -9790,35 +10897,36 @@ MultiColumnComboBoxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12
|
|
|
9790
10897
|
LocalizationService,
|
|
9791
10898
|
{
|
|
9792
10899
|
provide: L10N_PREFIX,
|
|
9793
|
-
useValue: 'kendo.multicolumncombobox'
|
|
10900
|
+
useValue: 'kendo.multicolumncombobox',
|
|
9794
10901
|
},
|
|
9795
10902
|
{
|
|
9796
10903
|
multi: true,
|
|
9797
10904
|
provide: NG_VALUE_ACCESSOR,
|
|
9798
|
-
useExisting: forwardRef(() => MultiColumnComboBoxComponent)
|
|
10905
|
+
useExisting: forwardRef(() => MultiColumnComboBoxComponent),
|
|
9799
10906
|
},
|
|
9800
10907
|
{
|
|
9801
10908
|
provide: KendoInput,
|
|
9802
|
-
useExisting: forwardRef(() => MultiColumnComboBoxComponent)
|
|
10909
|
+
useExisting: forwardRef(() => MultiColumnComboBoxComponent),
|
|
9803
10910
|
},
|
|
9804
10911
|
{
|
|
9805
10912
|
provide: FilterableComponent,
|
|
9806
|
-
useExisting: forwardRef(() => MultiColumnComboBoxComponent)
|
|
9807
|
-
}
|
|
10913
|
+
useExisting: forwardRef(() => MultiColumnComboBoxComponent),
|
|
10914
|
+
},
|
|
9808
10915
|
], queries: [{ propertyName: "columns", predicate: ComboBoxColumnComponent }], viewQueries: [{ propertyName: "header", first: true, predicate: ["header"], descendants: true }], usesInheritance: true, ngImport: i0, template: `
|
|
9809
10916
|
<ng-container
|
|
9810
10917
|
kendoMultiColumnComboBoxLocalizedMessages
|
|
9811
|
-
|
|
9812
|
-
|
|
10918
|
+
i18n-noDataText="
|
|
10919
|
+
kendo.multicolumncombobox.noDataText|The text displayed in the popup when there are no items
|
|
10920
|
+
"
|
|
9813
10921
|
noDataText="NO DATA FOUND"
|
|
9814
|
-
|
|
9815
10922
|
i18n-clearTitle="kendo.multicolumncombobox.clearTitle|The title of the clear button"
|
|
9816
10923
|
clearTitle="clear"
|
|
9817
|
-
|
|
9818
10924
|
i18n-selectButtonText="kendo.multicolumncombobox.selectButtonText|The title of the select button"
|
|
9819
10925
|
selectButtonText="Select"
|
|
9820
|
-
|
|
9821
|
-
|
|
10926
|
+
i18n-popupLabel="
|
|
10927
|
+
kendo.multicolumncombobox.popupLabel|The label of the popup element that contains the list of options
|
|
10928
|
+
when its role is 'region'
|
|
10929
|
+
"
|
|
9822
10930
|
popupLabel="Options list"
|
|
9823
10931
|
></ng-container>
|
|
9824
10932
|
<kendo-searchbar
|
|
@@ -9841,11 +10949,12 @@ MultiColumnComboBoxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12
|
|
|
9841
10949
|
(valueChange)="searchBarChange($event)"
|
|
9842
10950
|
(onBlur)="handleBlur()"
|
|
9843
10951
|
(onFocus)="handleFocus()"
|
|
10952
|
+
(click)="handleClick()"
|
|
9844
10953
|
>
|
|
9845
10954
|
</kendo-searchbar>
|
|
9846
10955
|
|
|
9847
10956
|
<span
|
|
9848
|
-
*ngIf="clearButton && !loading && !disabled && !readonly && text?.length"
|
|
10957
|
+
*ngIf="clearButton && !loading && !disabled && (!readonly || readonly && isAdaptiveModeEnabled && windowSize !== 'large') && text?.length"
|
|
9849
10958
|
class="k-clear-value"
|
|
9850
10959
|
[style.visibility]="clearButtonVisiblity"
|
|
9851
10960
|
aria-hidden="true"
|
|
@@ -9855,11 +10964,7 @@ MultiColumnComboBoxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12
|
|
|
9855
10964
|
mousedown: preventEventDefault
|
|
9856
10965
|
}"
|
|
9857
10966
|
>
|
|
9858
|
-
<kendo-icon-wrapper
|
|
9859
|
-
name="x"
|
|
9860
|
-
[svgIcon]="xIcon"
|
|
9861
|
-
>
|
|
9862
|
-
</kendo-icon-wrapper>
|
|
10967
|
+
<kendo-icon-wrapper name="x" [svgIcon]="xIcon"> </kendo-icon-wrapper>
|
|
9863
10968
|
</span>
|
|
9864
10969
|
|
|
9865
10970
|
<button
|
|
@@ -9875,16 +10980,36 @@ MultiColumnComboBoxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12
|
|
|
9875
10980
|
mousedown: preventEventDefault
|
|
9876
10981
|
}"
|
|
9877
10982
|
>
|
|
9878
|
-
<kendo-icon-wrapper
|
|
9879
|
-
*ngIf="!loading && !iconClass"
|
|
9880
|
-
name="caret-alt-down"
|
|
9881
|
-
[svgIcon]="caretAltDownIcon"
|
|
9882
|
-
>
|
|
10983
|
+
<kendo-icon-wrapper *ngIf="!loading && !iconClass" name="caret-alt-down" [svgIcon]="caretAltDownIcon">
|
|
9883
10984
|
</kendo-icon-wrapper>
|
|
9884
10985
|
<span *ngIf="loading || iconClass" class="k-button-icon k-icon" [ngClass]="buttonClasses"></span>
|
|
9885
10986
|
</button>
|
|
9886
10987
|
|
|
9887
10988
|
<ng-template #popupTemplate>
|
|
10989
|
+
<!--popup/actionsheet content-->
|
|
10990
|
+
<ng-container *ngTemplateOutlet="sharedPopupActionSheetTemplate"></ng-container>
|
|
10991
|
+
</ng-template>
|
|
10992
|
+
|
|
10993
|
+
<kendo-resize-sensor *ngIf="isOpen || isAdaptiveModeEnabled" (resize)="onResize()"> </kendo-resize-sensor>
|
|
10994
|
+
|
|
10995
|
+
<!-- when the popupSettings.appendTo value is set to 'component', this container is used -->
|
|
10996
|
+
<ng-container #container></ng-container>
|
|
10997
|
+
|
|
10998
|
+
<!--adaptive rendering-->
|
|
10999
|
+
<responsive-renderer
|
|
11000
|
+
[sharedPopupActionSheetTemplate]="sharedPopupActionSheetTemplate"
|
|
11001
|
+
[isActionSheetExpanded]="isActionSheetExpanded"
|
|
11002
|
+
[title]="title"
|
|
11003
|
+
[showTextInput]="true"
|
|
11004
|
+
[subtitle]="subtitle"
|
|
11005
|
+
(closePopup)="togglePopup(false)"
|
|
11006
|
+
(textInputChange)="onAdaptiveTextBoxChange($event)"
|
|
11007
|
+
(navigate)="handleNavigate($event)"
|
|
11008
|
+
[placeholder]="placeholder"
|
|
11009
|
+
>
|
|
11010
|
+
</responsive-renderer>
|
|
11011
|
+
|
|
11012
|
+
<ng-template #sharedPopupActionSheetTemplate>
|
|
9888
11013
|
<!--user-defined header template -->
|
|
9889
11014
|
<ng-template
|
|
9890
11015
|
*ngIf="headerTemplate"
|
|
@@ -9893,23 +11018,15 @@ MultiColumnComboBoxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12
|
|
|
9893
11018
|
}"
|
|
9894
11019
|
>
|
|
9895
11020
|
</ng-template>
|
|
9896
|
-
|
|
9897
11021
|
<!--data table-->
|
|
9898
11022
|
<div class="k-data-table" [ngClass]="tableSizeClass">
|
|
9899
|
-
|
|
9900
11023
|
<!--grid header-->
|
|
9901
|
-
<div
|
|
9902
|
-
#header
|
|
9903
|
-
class="k-table-header"
|
|
9904
|
-
>
|
|
11024
|
+
<div #header class="k-table-header">
|
|
9905
11025
|
<div class="k-table-header-wrap">
|
|
9906
11026
|
<table class="k-table" role="presentation">
|
|
9907
11027
|
<colgroup>
|
|
9908
11028
|
<ng-container *ngFor="let column of columns">
|
|
9909
|
-
<col
|
|
9910
|
-
*ngIf="!column.hidden && column.matchesMedia"
|
|
9911
|
-
[style.width.px]="column.width"
|
|
9912
|
-
/>
|
|
11029
|
+
<col *ngIf="!column.hidden && column.matchesMedia" [style.width.px]="column.width" />
|
|
9913
11030
|
</ng-container>
|
|
9914
11031
|
</colgroup>
|
|
9915
11032
|
<thead class="k-table-thead">
|
|
@@ -9940,7 +11057,6 @@ MultiColumnComboBoxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12
|
|
|
9940
11057
|
</table>
|
|
9941
11058
|
</div>
|
|
9942
11059
|
</div>
|
|
9943
|
-
|
|
9944
11060
|
<!-- item template -->
|
|
9945
11061
|
<ng-template #rowTemplate let-dataItem>
|
|
9946
11062
|
<ng-container *ngFor="let column of columns">
|
|
@@ -9967,8 +11083,6 @@ MultiColumnComboBoxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12
|
|
|
9967
11083
|
</span>
|
|
9968
11084
|
</ng-container>
|
|
9969
11085
|
</ng-template>
|
|
9970
|
-
|
|
9971
|
-
<!--list-->
|
|
9972
11086
|
<kendo-list
|
|
9973
11087
|
#optionsList
|
|
9974
11088
|
[optionPrefix]="optionPrefix"
|
|
@@ -9988,10 +11102,7 @@ MultiColumnComboBoxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12
|
|
|
9988
11102
|
</kendo-list>
|
|
9989
11103
|
|
|
9990
11104
|
<!--no-data template-->
|
|
9991
|
-
<div
|
|
9992
|
-
class="k-no-data"
|
|
9993
|
-
*ngIf="data.length === 0"
|
|
9994
|
-
>
|
|
11105
|
+
<div class="k-no-data" *ngIf="data.length === 0">
|
|
9995
11106
|
<ng-template
|
|
9996
11107
|
[ngIf]="noDataTemplate"
|
|
9997
11108
|
[templateContext]="{
|
|
@@ -10022,21 +11133,10 @@ MultiColumnComboBoxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12
|
|
|
10022
11133
|
</tfoot>
|
|
10023
11134
|
</table>
|
|
10024
11135
|
</div>
|
|
10025
|
-
</ng-container>
|
|
10026
|
-
|
|
11136
|
+
</ng-container>
|
|
10027
11137
|
</div>
|
|
10028
|
-
|
|
10029
11138
|
</ng-template>
|
|
10030
|
-
|
|
10031
|
-
<kendo-resize-sensor
|
|
10032
|
-
*ngIf="isOpen"
|
|
10033
|
-
(resize)="onResize()"
|
|
10034
|
-
>
|
|
10035
|
-
</kendo-resize-sensor>
|
|
10036
|
-
|
|
10037
|
-
<!-- when the popupSettings.appendTo value is set to 'component', this container is used -->
|
|
10038
|
-
<ng-container #container></ng-container>
|
|
10039
|
-
`, isInline: true, components: [{ type: SearchBarComponent, selector: "kendo-searchbar", inputs: ["id", "tagListId", "activeDescendant", "disabled", "readonly", "tabIndex", "role", "isLoading", "ariaControls", "ariaExpanded", "isSuggestable", "isFilterable", "userInput", "suggestedText", "placeholder"], outputs: ["valueChange", "onBlur", "onFocus", "onClick", "onNavigate"] }, { type: i8.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass"], exportAs: ["kendoIconWrapper"] }, { type: ListComponent, selector: "kendo-list", inputs: ["selected", "focused", "textField", "valueField", "height", "template", "groupTemplate", "fixedGroupTemplate", "show", "id", "optionPrefix", "multipleSelection", "virtual", "type", "checkboxes", "ariaLive", "isMultiselect", "data", "size", "rounded"], outputs: ["onClick", "pageChange", "listResize"] }, { type: i10.ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }], directives: [{ type: LocalizedMessagesDirective, selector: "\n [kendoDropDownListLocalizedMessages],\n [kendoDropDownTreeLocalizedMessages],\n [kendoComboBoxLocalizedMessages],\n [kendoMultiColumnComboBoxLocalizedMessages],\n [kendoAutoCompleteLocalizedMessages],\n [kendoMultiSelectLocalizedMessages],\n [kendoMultiSelectTreeLocalizedMessages]\n " }, { type: i12.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i10.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { type: i12.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }, { type: i12.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i12.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
|
|
11139
|
+
`, isInline: true, components: [{ type: SearchBarComponent, selector: "kendo-searchbar", inputs: ["id", "tagListId", "activeDescendant", "disabled", "readonly", "tabIndex", "role", "isLoading", "ariaControls", "ariaExpanded", "isSuggestable", "isFilterable", "userInput", "suggestedText", "placeholder"], outputs: ["valueChange", "onBlur", "onFocus", "onClick", "onNavigate"] }, { type: i8.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass"], exportAs: ["kendoIconWrapper"] }, { type: i9.ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }, { type: ResponsiveRendererComponent, selector: "responsive-renderer", inputs: ["title", "showActionButtons", "subtitle", "size", "showTextInput", "sharedPopupActionSheetTemplate", "isActionSheetExpanded", "text", "placeholder"], outputs: ["closePopup", "textInputChange", "navigate", "onExpand", "onCollapse", "onApply", "onCancel"] }, { type: ListComponent, selector: "kendo-list", inputs: ["selected", "focused", "textField", "valueField", "height", "template", "groupTemplate", "fixedGroupTemplate", "show", "id", "optionPrefix", "multipleSelection", "virtual", "type", "checkboxes", "ariaLive", "isMultiselect", "isActionSheetExpanded", "data", "size", "rounded"], outputs: ["onClick", "pageChange", "listResize"] }], directives: [{ type: LocalizedMessagesDirective, selector: "\n [kendoDropDownListLocalizedMessages],\n [kendoDropDownTreeLocalizedMessages],\n [kendoComboBoxLocalizedMessages],\n [kendoMultiColumnComboBoxLocalizedMessages],\n [kendoAutoCompleteLocalizedMessages],\n [kendoMultiSelectLocalizedMessages],\n [kendoMultiSelectTreeLocalizedMessages]\n " }, { type: i13.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i9.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { type: i13.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i13.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }, { type: i13.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i13.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
|
|
10040
11140
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: MultiColumnComboBoxComponent, decorators: [{
|
|
10041
11141
|
type: Component,
|
|
10042
11142
|
args: [{
|
|
@@ -10048,37 +11148,38 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
10048
11148
|
LocalizationService,
|
|
10049
11149
|
{
|
|
10050
11150
|
provide: L10N_PREFIX,
|
|
10051
|
-
useValue: 'kendo.multicolumncombobox'
|
|
11151
|
+
useValue: 'kendo.multicolumncombobox',
|
|
10052
11152
|
},
|
|
10053
11153
|
{
|
|
10054
11154
|
multi: true,
|
|
10055
11155
|
provide: NG_VALUE_ACCESSOR,
|
|
10056
|
-
useExisting: forwardRef(() => MultiColumnComboBoxComponent)
|
|
11156
|
+
useExisting: forwardRef(() => MultiColumnComboBoxComponent),
|
|
10057
11157
|
},
|
|
10058
11158
|
{
|
|
10059
11159
|
provide: KendoInput,
|
|
10060
|
-
useExisting: forwardRef(() => MultiColumnComboBoxComponent)
|
|
11160
|
+
useExisting: forwardRef(() => MultiColumnComboBoxComponent),
|
|
10061
11161
|
},
|
|
10062
11162
|
{
|
|
10063
11163
|
provide: FilterableComponent,
|
|
10064
|
-
useExisting: forwardRef(() => MultiColumnComboBoxComponent)
|
|
10065
|
-
}
|
|
11164
|
+
useExisting: forwardRef(() => MultiColumnComboBoxComponent),
|
|
11165
|
+
},
|
|
10066
11166
|
],
|
|
10067
11167
|
selector: 'kendo-multicolumncombobox',
|
|
10068
11168
|
template: `
|
|
10069
11169
|
<ng-container
|
|
10070
11170
|
kendoMultiColumnComboBoxLocalizedMessages
|
|
10071
|
-
|
|
10072
|
-
|
|
11171
|
+
i18n-noDataText="
|
|
11172
|
+
kendo.multicolumncombobox.noDataText|The text displayed in the popup when there are no items
|
|
11173
|
+
"
|
|
10073
11174
|
noDataText="NO DATA FOUND"
|
|
10074
|
-
|
|
10075
11175
|
i18n-clearTitle="kendo.multicolumncombobox.clearTitle|The title of the clear button"
|
|
10076
11176
|
clearTitle="clear"
|
|
10077
|
-
|
|
10078
11177
|
i18n-selectButtonText="kendo.multicolumncombobox.selectButtonText|The title of the select button"
|
|
10079
11178
|
selectButtonText="Select"
|
|
10080
|
-
|
|
10081
|
-
|
|
11179
|
+
i18n-popupLabel="
|
|
11180
|
+
kendo.multicolumncombobox.popupLabel|The label of the popup element that contains the list of options
|
|
11181
|
+
when its role is 'region'
|
|
11182
|
+
"
|
|
10082
11183
|
popupLabel="Options list"
|
|
10083
11184
|
></ng-container>
|
|
10084
11185
|
<kendo-searchbar
|
|
@@ -10101,11 +11202,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
10101
11202
|
(valueChange)="searchBarChange($event)"
|
|
10102
11203
|
(onBlur)="handleBlur()"
|
|
10103
11204
|
(onFocus)="handleFocus()"
|
|
11205
|
+
(click)="handleClick()"
|
|
10104
11206
|
>
|
|
10105
11207
|
</kendo-searchbar>
|
|
10106
11208
|
|
|
10107
11209
|
<span
|
|
10108
|
-
*ngIf="clearButton && !loading && !disabled && !readonly && text?.length"
|
|
11210
|
+
*ngIf="clearButton && !loading && !disabled && (!readonly || readonly && isAdaptiveModeEnabled && windowSize !== 'large') && text?.length"
|
|
10109
11211
|
class="k-clear-value"
|
|
10110
11212
|
[style.visibility]="clearButtonVisiblity"
|
|
10111
11213
|
aria-hidden="true"
|
|
@@ -10115,11 +11217,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
10115
11217
|
mousedown: preventEventDefault
|
|
10116
11218
|
}"
|
|
10117
11219
|
>
|
|
10118
|
-
<kendo-icon-wrapper
|
|
10119
|
-
name="x"
|
|
10120
|
-
[svgIcon]="xIcon"
|
|
10121
|
-
>
|
|
10122
|
-
</kendo-icon-wrapper>
|
|
11220
|
+
<kendo-icon-wrapper name="x" [svgIcon]="xIcon"> </kendo-icon-wrapper>
|
|
10123
11221
|
</span>
|
|
10124
11222
|
|
|
10125
11223
|
<button
|
|
@@ -10135,16 +11233,36 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
10135
11233
|
mousedown: preventEventDefault
|
|
10136
11234
|
}"
|
|
10137
11235
|
>
|
|
10138
|
-
<kendo-icon-wrapper
|
|
10139
|
-
*ngIf="!loading && !iconClass"
|
|
10140
|
-
name="caret-alt-down"
|
|
10141
|
-
[svgIcon]="caretAltDownIcon"
|
|
10142
|
-
>
|
|
11236
|
+
<kendo-icon-wrapper *ngIf="!loading && !iconClass" name="caret-alt-down" [svgIcon]="caretAltDownIcon">
|
|
10143
11237
|
</kendo-icon-wrapper>
|
|
10144
11238
|
<span *ngIf="loading || iconClass" class="k-button-icon k-icon" [ngClass]="buttonClasses"></span>
|
|
10145
11239
|
</button>
|
|
10146
11240
|
|
|
10147
11241
|
<ng-template #popupTemplate>
|
|
11242
|
+
<!--popup/actionsheet content-->
|
|
11243
|
+
<ng-container *ngTemplateOutlet="sharedPopupActionSheetTemplate"></ng-container>
|
|
11244
|
+
</ng-template>
|
|
11245
|
+
|
|
11246
|
+
<kendo-resize-sensor *ngIf="isOpen || isAdaptiveModeEnabled" (resize)="onResize()"> </kendo-resize-sensor>
|
|
11247
|
+
|
|
11248
|
+
<!-- when the popupSettings.appendTo value is set to 'component', this container is used -->
|
|
11249
|
+
<ng-container #container></ng-container>
|
|
11250
|
+
|
|
11251
|
+
<!--adaptive rendering-->
|
|
11252
|
+
<responsive-renderer
|
|
11253
|
+
[sharedPopupActionSheetTemplate]="sharedPopupActionSheetTemplate"
|
|
11254
|
+
[isActionSheetExpanded]="isActionSheetExpanded"
|
|
11255
|
+
[title]="title"
|
|
11256
|
+
[showTextInput]="true"
|
|
11257
|
+
[subtitle]="subtitle"
|
|
11258
|
+
(closePopup)="togglePopup(false)"
|
|
11259
|
+
(textInputChange)="onAdaptiveTextBoxChange($event)"
|
|
11260
|
+
(navigate)="handleNavigate($event)"
|
|
11261
|
+
[placeholder]="placeholder"
|
|
11262
|
+
>
|
|
11263
|
+
</responsive-renderer>
|
|
11264
|
+
|
|
11265
|
+
<ng-template #sharedPopupActionSheetTemplate>
|
|
10148
11266
|
<!--user-defined header template -->
|
|
10149
11267
|
<ng-template
|
|
10150
11268
|
*ngIf="headerTemplate"
|
|
@@ -10153,23 +11271,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
10153
11271
|
}"
|
|
10154
11272
|
>
|
|
10155
11273
|
</ng-template>
|
|
10156
|
-
|
|
10157
11274
|
<!--data table-->
|
|
10158
11275
|
<div class="k-data-table" [ngClass]="tableSizeClass">
|
|
10159
|
-
|
|
10160
11276
|
<!--grid header-->
|
|
10161
|
-
<div
|
|
10162
|
-
#header
|
|
10163
|
-
class="k-table-header"
|
|
10164
|
-
>
|
|
11277
|
+
<div #header class="k-table-header">
|
|
10165
11278
|
<div class="k-table-header-wrap">
|
|
10166
11279
|
<table class="k-table" role="presentation">
|
|
10167
11280
|
<colgroup>
|
|
10168
11281
|
<ng-container *ngFor="let column of columns">
|
|
10169
|
-
<col
|
|
10170
|
-
*ngIf="!column.hidden && column.matchesMedia"
|
|
10171
|
-
[style.width.px]="column.width"
|
|
10172
|
-
/>
|
|
11282
|
+
<col *ngIf="!column.hidden && column.matchesMedia" [style.width.px]="column.width" />
|
|
10173
11283
|
</ng-container>
|
|
10174
11284
|
</colgroup>
|
|
10175
11285
|
<thead class="k-table-thead">
|
|
@@ -10200,7 +11310,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
10200
11310
|
</table>
|
|
10201
11311
|
</div>
|
|
10202
11312
|
</div>
|
|
10203
|
-
|
|
10204
11313
|
<!-- item template -->
|
|
10205
11314
|
<ng-template #rowTemplate let-dataItem>
|
|
10206
11315
|
<ng-container *ngFor="let column of columns">
|
|
@@ -10227,8 +11336,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
10227
11336
|
</span>
|
|
10228
11337
|
</ng-container>
|
|
10229
11338
|
</ng-template>
|
|
10230
|
-
|
|
10231
|
-
<!--list-->
|
|
10232
11339
|
<kendo-list
|
|
10233
11340
|
#optionsList
|
|
10234
11341
|
[optionPrefix]="optionPrefix"
|
|
@@ -10248,10 +11355,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
10248
11355
|
</kendo-list>
|
|
10249
11356
|
|
|
10250
11357
|
<!--no-data template-->
|
|
10251
|
-
<div
|
|
10252
|
-
class="k-no-data"
|
|
10253
|
-
*ngIf="data.length === 0"
|
|
10254
|
-
>
|
|
11358
|
+
<div class="k-no-data" *ngIf="data.length === 0">
|
|
10255
11359
|
<ng-template
|
|
10256
11360
|
[ngIf]="noDataTemplate"
|
|
10257
11361
|
[templateContext]="{
|
|
@@ -10282,24 +11386,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
10282
11386
|
</tfoot>
|
|
10283
11387
|
</table>
|
|
10284
11388
|
</div>
|
|
10285
|
-
</ng-container>
|
|
10286
|
-
|
|
11389
|
+
</ng-container>
|
|
10287
11390
|
</div>
|
|
10288
|
-
|
|
10289
11391
|
</ng-template>
|
|
10290
|
-
|
|
10291
|
-
<kendo-resize-sensor
|
|
10292
|
-
*ngIf="isOpen"
|
|
10293
|
-
(resize)="onResize()"
|
|
10294
|
-
>
|
|
10295
|
-
</kendo-resize-sensor>
|
|
10296
|
-
|
|
10297
|
-
<!-- when the popupSettings.appendTo value is set to 'component', this container is used -->
|
|
10298
|
-
<ng-container #container></ng-container>
|
|
10299
|
-
`
|
|
11392
|
+
`,
|
|
10300
11393
|
}]
|
|
10301
11394
|
}], ctorParameters: function () {
|
|
10302
|
-
return [{ type: i1.LocalizationService }, { type: i2.PopupService }, { type: SelectionService }, { type: NavigationService }, { type: DisabledItemsService }, { type: DataService }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }, { type: i0.Renderer2 }, { type: i0.ElementRef }, { type: undefined, decorators: [{
|
|
11395
|
+
return [{ type: i1.LocalizationService }, { type: i2$1.PopupService }, { type: SelectionService }, { type: NavigationService }, { type: DisabledItemsService }, { type: DataService }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }, { type: i0.Renderer2 }, { type: i0.ElementRef }, { type: undefined, decorators: [{
|
|
10303
11396
|
type: Inject,
|
|
10304
11397
|
args: [TOUCH_ENABLED]
|
|
10305
11398
|
}] }];
|
|
@@ -10362,6 +11455,10 @@ class DropDownTreeComponent {
|
|
|
10362
11455
|
this.cdr = cdr;
|
|
10363
11456
|
this.localization = localization;
|
|
10364
11457
|
this.touchEnabled = touchEnabled;
|
|
11458
|
+
/**
|
|
11459
|
+
* @hidden
|
|
11460
|
+
*/
|
|
11461
|
+
this.animationDuration = animationDuration;
|
|
10365
11462
|
/**
|
|
10366
11463
|
* @hidden
|
|
10367
11464
|
*/
|
|
@@ -10439,13 +11536,7 @@ class DropDownTreeComponent {
|
|
|
10439
11536
|
* The hint which is displayed when the component is empty.
|
|
10440
11537
|
*/
|
|
10441
11538
|
this.placeholder = "";
|
|
10442
|
-
|
|
10443
|
-
* Sets the height of the options list. By default, `listHeight` is 200px.
|
|
10444
|
-
*
|
|
10445
|
-
* > The `listHeight` property affects only the list of options and not the whole popup container.
|
|
10446
|
-
* > To set the height of the popup container, use `popupSettings.height`.
|
|
10447
|
-
*/
|
|
10448
|
-
this.listHeight = 200;
|
|
11539
|
+
this._listHeight = 200;
|
|
10449
11540
|
/**
|
|
10450
11541
|
* Sets the disabled state of the component.
|
|
10451
11542
|
*/
|
|
@@ -10494,6 +11585,28 @@ class DropDownTreeComponent {
|
|
|
10494
11585
|
* @hidden
|
|
10495
11586
|
*/
|
|
10496
11587
|
this.selectedKeys = [];
|
|
11588
|
+
/**
|
|
11589
|
+
* Enables or disables the adaptive mode. By default the adaptive rendering is disabled.
|
|
11590
|
+
*/
|
|
11591
|
+
this.adaptiveMode = 'none';
|
|
11592
|
+
/**
|
|
11593
|
+
* Sets the title of the ActionSheet that is rendered instead of the Popup when using small screen devices.
|
|
11594
|
+
* By default the ActionSheet title uses the text provided for the label of the AutoComplete.
|
|
11595
|
+
*/
|
|
11596
|
+
this.title = '';
|
|
11597
|
+
/**
|
|
11598
|
+
* Sets the subtitle of the ActionSheet that is rendered instead of the Popup when using small screen devices.
|
|
11599
|
+
* By default the ActionSheet subtitle uses the text provided for the `placeholder` of the AutoComplete.
|
|
11600
|
+
*/
|
|
11601
|
+
this.subtitle = '';
|
|
11602
|
+
/**
|
|
11603
|
+
* @hidden
|
|
11604
|
+
*/
|
|
11605
|
+
this.windowSize = 'large';
|
|
11606
|
+
/**
|
|
11607
|
+
* @hidden
|
|
11608
|
+
*/
|
|
11609
|
+
this.isActionSheetExpanded = false;
|
|
10497
11610
|
/**
|
|
10498
11611
|
* @hidden
|
|
10499
11612
|
*/
|
|
@@ -10526,6 +11639,23 @@ class DropDownTreeComponent {
|
|
|
10526
11639
|
this.subscribeTouchEvents();
|
|
10527
11640
|
this.subscribeFocusEvents();
|
|
10528
11641
|
}
|
|
11642
|
+
/**
|
|
11643
|
+
* @hidden
|
|
11644
|
+
*/
|
|
11645
|
+
get actionSheet() {
|
|
11646
|
+
var _a;
|
|
11647
|
+
return (_a = this.responsiveRendererComponent) === null || _a === void 0 ? void 0 : _a.actionSheet;
|
|
11648
|
+
}
|
|
11649
|
+
/**
|
|
11650
|
+
* @hidden
|
|
11651
|
+
*/
|
|
11652
|
+
get actionSheetSearchBar() {
|
|
11653
|
+
var _a;
|
|
11654
|
+
return (_a = this.responsiveRendererComponent) === null || _a === void 0 ? void 0 : _a.actionSheetSearchBar;
|
|
11655
|
+
}
|
|
11656
|
+
get isReadonly() {
|
|
11657
|
+
return this.readonly ? '' : null;
|
|
11658
|
+
}
|
|
10529
11659
|
get hostAriaInvalid() {
|
|
10530
11660
|
return this.formControl ? this.formControl.invalid.toString() : null;
|
|
10531
11661
|
}
|
|
@@ -10556,9 +11686,6 @@ class DropDownTreeComponent {
|
|
|
10556
11686
|
get hostAriaAutocomplete() {
|
|
10557
11687
|
return this.filterable ? 'list' : null;
|
|
10558
11688
|
}
|
|
10559
|
-
get isReadonly() {
|
|
10560
|
-
return this.readonly ? '' : null;
|
|
10561
|
-
}
|
|
10562
11689
|
set treeview(treeview) {
|
|
10563
11690
|
if (treeview) {
|
|
10564
11691
|
if (this.isFocused && !this.filterable || this.touchEnabled) {
|
|
@@ -10622,8 +11749,26 @@ class DropDownTreeComponent {
|
|
|
10622
11749
|
this._dataItem = item;
|
|
10623
11750
|
this.setState();
|
|
10624
11751
|
}
|
|
10625
|
-
get dataItem() {
|
|
10626
|
-
return this._dataItem ? this._dataItem : this.value;
|
|
11752
|
+
get dataItem() {
|
|
11753
|
+
return this._dataItem ? this._dataItem : this.value;
|
|
11754
|
+
}
|
|
11755
|
+
/**
|
|
11756
|
+
* Sets the height of the options list in the popup. By default, `listHeight` is 200px.
|
|
11757
|
+
*
|
|
11758
|
+
* > The `listHeight` property affects only the list of options and not the whole popup container.
|
|
11759
|
+
* > To set the height of the popup container, use `popupSettings.height`.
|
|
11760
|
+
*
|
|
11761
|
+
* > When using `adaptiveMode` and the screen size is `small` or `medium` the `listHeight` property is set to null.
|
|
11762
|
+
*/
|
|
11763
|
+
set listHeight(_listHeight) {
|
|
11764
|
+
this._listHeight = _listHeight;
|
|
11765
|
+
}
|
|
11766
|
+
;
|
|
11767
|
+
get listHeight() {
|
|
11768
|
+
if (this.isAdaptive) {
|
|
11769
|
+
return;
|
|
11770
|
+
}
|
|
11771
|
+
return this._listHeight;
|
|
10627
11772
|
}
|
|
10628
11773
|
/**
|
|
10629
11774
|
* Specifies the [`tabindex`](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex) of the component.
|
|
@@ -10719,10 +11864,10 @@ class DropDownTreeComponent {
|
|
|
10719
11864
|
return isPresent(popupHeight) ? `${popupHeight}px` : 'auto';
|
|
10720
11865
|
}
|
|
10721
11866
|
/**
|
|
10722
|
-
* Returns the current open state
|
|
11867
|
+
* Returns the current open state. Returns `true` if the popup or actionSheet is open.
|
|
10723
11868
|
*/
|
|
10724
11869
|
get isOpen() {
|
|
10725
|
-
return isPresent(this.popupRef);
|
|
11870
|
+
return isTruthy(isPresent(this.popupRef) || this.isActionSheetExpanded);
|
|
10726
11871
|
}
|
|
10727
11872
|
get clearButtonVisiblity() {
|
|
10728
11873
|
if (this.touchEnabled) {
|
|
@@ -10732,6 +11877,26 @@ class DropDownTreeComponent {
|
|
|
10732
11877
|
get isFilterActive() {
|
|
10733
11878
|
return this.filterInput && document.activeElement === this.filterInput.nativeElement;
|
|
10734
11879
|
}
|
|
11880
|
+
/**
|
|
11881
|
+
* @hidden
|
|
11882
|
+
*/
|
|
11883
|
+
onFilterChange(text) {
|
|
11884
|
+
if (this.filterable) {
|
|
11885
|
+
this.filterChange.emit(text);
|
|
11886
|
+
}
|
|
11887
|
+
}
|
|
11888
|
+
/**
|
|
11889
|
+
* @hidden
|
|
11890
|
+
*/
|
|
11891
|
+
get isAdaptiveModeEnabled() {
|
|
11892
|
+
return this.adaptiveMode === 'auto';
|
|
11893
|
+
}
|
|
11894
|
+
/**
|
|
11895
|
+
* @hidden
|
|
11896
|
+
*/
|
|
11897
|
+
get isAdaptive() {
|
|
11898
|
+
return this.isAdaptiveModeEnabled && this.windowSize !== 'large';
|
|
11899
|
+
}
|
|
10735
11900
|
/**
|
|
10736
11901
|
* @hidden
|
|
10737
11902
|
*
|
|
@@ -10846,8 +12011,28 @@ class DropDownTreeComponent {
|
|
|
10846
12011
|
this.verifySettings();
|
|
10847
12012
|
}
|
|
10848
12013
|
ngAfterViewInit() {
|
|
12014
|
+
var _a;
|
|
12015
|
+
this.windowSize = windowSize();
|
|
10849
12016
|
this.subs.add(this.renderer.listen(this.wrapper.nativeElement, 'click', this.handleClick.bind(this)));
|
|
10850
12017
|
this.subs.add(this.renderer.listen(this.wrapper.nativeElement, 'keydown', this.handleKeydown.bind(this)));
|
|
12018
|
+
this.renderer.setAttribute((_a = this.actionSheet) === null || _a === void 0 ? void 0 : _a.element.nativeElement, 'style', '--kendo-actionsheet-height: 60vh; --kendo-actionsheet-max-height: none');
|
|
12019
|
+
}
|
|
12020
|
+
/**
|
|
12021
|
+
* @hidden
|
|
12022
|
+
*/
|
|
12023
|
+
onResize() {
|
|
12024
|
+
if (this.isAdaptiveModeEnabled && this.windowSize !== windowSize()) {
|
|
12025
|
+
if (this.isOpen) {
|
|
12026
|
+
this.togglePopup(false);
|
|
12027
|
+
}
|
|
12028
|
+
this.windowSize = windowSize();
|
|
12029
|
+
}
|
|
12030
|
+
if (this.isOpen && !this.isActionSheetExpanded) {
|
|
12031
|
+
const popupWrapper = this.popupRef.popupElement;
|
|
12032
|
+
const { min, max } = this.width;
|
|
12033
|
+
popupWrapper.style.minWidth = min;
|
|
12034
|
+
popupWrapper.style.width = max;
|
|
12035
|
+
}
|
|
10851
12036
|
}
|
|
10852
12037
|
/**
|
|
10853
12038
|
* @hidden
|
|
@@ -10898,29 +12083,36 @@ class DropDownTreeComponent {
|
|
|
10898
12083
|
* @hidden
|
|
10899
12084
|
*/
|
|
10900
12085
|
handleBlur(e) {
|
|
10901
|
-
|
|
10902
|
-
|
|
10903
|
-
(this.
|
|
10904
|
-
|
|
10905
|
-
|
|
10906
|
-
|
|
10907
|
-
|
|
10908
|
-
|
|
10909
|
-
|
|
10910
|
-
|
|
10911
|
-
this.
|
|
10912
|
-
|
|
10913
|
-
|
|
12086
|
+
if (!this.isActionSheetExpanded) {
|
|
12087
|
+
const relatedTarget = e && e.relatedTarget;
|
|
12088
|
+
if (this.wrapper.nativeElement.contains(relatedTarget) ||
|
|
12089
|
+
(this.isOpen && this.popupRef.popupElement.contains(relatedTarget))) {
|
|
12090
|
+
return;
|
|
12091
|
+
}
|
|
12092
|
+
this.isFocused = false;
|
|
12093
|
+
this.togglePopup(false);
|
|
12094
|
+
if (hasObservers(this.onBlur) ||
|
|
12095
|
+
isUntouched(this.wrapper.nativeElement)) {
|
|
12096
|
+
this._zone.run(() => {
|
|
12097
|
+
this.onBlur.emit();
|
|
12098
|
+
this.onTouchedCallback();
|
|
12099
|
+
});
|
|
12100
|
+
}
|
|
10914
12101
|
}
|
|
10915
12102
|
}
|
|
10916
12103
|
/**
|
|
10917
12104
|
* @hidden
|
|
10918
12105
|
*/
|
|
10919
12106
|
handleKeydown(event) {
|
|
12107
|
+
var _a;
|
|
10920
12108
|
if (this.disabled || this.readonly) {
|
|
10921
12109
|
return;
|
|
10922
12110
|
}
|
|
10923
|
-
if (
|
|
12111
|
+
if (event.keyCode === Keys.Tab && this.isActionSheetExpanded) {
|
|
12112
|
+
this.togglePopup(false);
|
|
12113
|
+
return;
|
|
12114
|
+
}
|
|
12115
|
+
if (!this.isFilterActive && isLetter(event.key) && !((_a = this.actionSheetSearchBar) === null || _a === void 0 ? void 0 : _a.onFocus)) {
|
|
10924
12116
|
this.printableCharacters.next(event.key);
|
|
10925
12117
|
}
|
|
10926
12118
|
const eventData = event;
|
|
@@ -10968,9 +12160,9 @@ class DropDownTreeComponent {
|
|
|
10968
12160
|
this.dataItem = undefined;
|
|
10969
12161
|
}
|
|
10970
12162
|
/**
|
|
10971
|
-
* Toggles the visibility of the popup
|
|
12163
|
+
* Toggles the visibility of the popup or actionSheet.
|
|
10972
12164
|
* ([see example]({% slug openstate_ddt %})).
|
|
10973
|
-
* If you use the `toggle` method to open or close the popup, the `open` and `close` events will not be fired.
|
|
12165
|
+
* If you use the `toggle` method to open or close the popup or actionSheet, the `open` and `close` events will not be fired.
|
|
10974
12166
|
*
|
|
10975
12167
|
* @param open - The state of the popup.
|
|
10976
12168
|
*/
|
|
@@ -11080,7 +12272,7 @@ class DropDownTreeComponent {
|
|
|
11080
12272
|
* @hidden
|
|
11081
12273
|
*/
|
|
11082
12274
|
handleFilterInputChange(input) {
|
|
11083
|
-
this.filterChange.next(input.value);
|
|
12275
|
+
this.filterChange.next(typeof (input) === 'string' ? input : input.value);
|
|
11084
12276
|
this.allNodesHidden = this.nodes.every((node, index) => !this.isVisible(node, String(index)));
|
|
11085
12277
|
}
|
|
11086
12278
|
/**
|
|
@@ -11140,8 +12332,24 @@ class DropDownTreeComponent {
|
|
|
11140
12332
|
if (this.popupRef) {
|
|
11141
12333
|
this._searchableNodes = getSearchableItems(this.treeViewId, this.popupRef.popupElement);
|
|
11142
12334
|
}
|
|
12335
|
+
if (this.isActionSheetExpanded) {
|
|
12336
|
+
this._searchableNodes = getSearchableItems(this.treeViewId, this.actionSheet.element.nativeElement);
|
|
12337
|
+
}
|
|
11143
12338
|
});
|
|
11144
12339
|
}
|
|
12340
|
+
/**
|
|
12341
|
+
* @hidden
|
|
12342
|
+
*/
|
|
12343
|
+
onExpand() {
|
|
12344
|
+
this._searchableNodes = getSearchableItems(this.treeViewId, this.actionSheet.element.nativeElement);
|
|
12345
|
+
this.isActionSheetExpanded = true;
|
|
12346
|
+
}
|
|
12347
|
+
/**
|
|
12348
|
+
* @hidden
|
|
12349
|
+
*/
|
|
12350
|
+
onCollapse() {
|
|
12351
|
+
this.isActionSheetExpanded = false;
|
|
12352
|
+
}
|
|
11145
12353
|
/**
|
|
11146
12354
|
* @hidden
|
|
11147
12355
|
*
|
|
@@ -11176,6 +12384,12 @@ class DropDownTreeComponent {
|
|
|
11176
12384
|
return eventArgs.isDefaultPrevented();
|
|
11177
12385
|
}
|
|
11178
12386
|
createPopup() {
|
|
12387
|
+
this.windowSize = windowSize();
|
|
12388
|
+
if (this.isAdaptive) {
|
|
12389
|
+
this.openActionSheet();
|
|
12390
|
+
this.cdr.detectChanges();
|
|
12391
|
+
return;
|
|
12392
|
+
}
|
|
11179
12393
|
const horizontalAlign = this.direction === "rtl" ? "right" : "left";
|
|
11180
12394
|
const anchorPosition = { horizontal: horizontalAlign, vertical: 'bottom' };
|
|
11181
12395
|
const popupPosition = { horizontal: horizontalAlign, vertical: 'top' };
|
|
@@ -11208,6 +12422,9 @@ class DropDownTreeComponent {
|
|
|
11208
12422
|
});
|
|
11209
12423
|
}
|
|
11210
12424
|
destroyPopup() {
|
|
12425
|
+
if (this.isActionSheetExpanded) {
|
|
12426
|
+
this.closeActionSheet();
|
|
12427
|
+
}
|
|
11211
12428
|
if (this.popupRef) {
|
|
11212
12429
|
this.popupRef.close();
|
|
11213
12430
|
this.popupRef = null;
|
|
@@ -11224,10 +12441,13 @@ class DropDownTreeComponent {
|
|
|
11224
12441
|
}
|
|
11225
12442
|
handleClick(e) {
|
|
11226
12443
|
// The check is needed otherwise when appended to the component, the popup reopens on click
|
|
11227
|
-
// https://github.com/telerik/kendo-angular/issues/3738
|
|
11228
|
-
|
|
11229
|
-
|
|
11230
|
-
this.
|
|
12444
|
+
// https://github.com/telerik/kendo-angular/issues/3738
|
|
12445
|
+
this.windowSize = windowSize();
|
|
12446
|
+
if (!this.isActionSheetExpanded) {
|
|
12447
|
+
if ((this.popupRef && !this.popupRef.popupElement.contains(e.target))
|
|
12448
|
+
|| (!this.popupRef && !e.target.className.includes('k-treeview-leaf'))) {
|
|
12449
|
+
this.togglePopup(!this.isOpen);
|
|
12450
|
+
}
|
|
11231
12451
|
}
|
|
11232
12452
|
}
|
|
11233
12453
|
handleEscape() {
|
|
@@ -11297,7 +12517,12 @@ class DropDownTreeComponent {
|
|
|
11297
12517
|
}
|
|
11298
12518
|
event.originalEvent.preventDefault();
|
|
11299
12519
|
if (this.filterable && this.treeview['navigationService']['activeIndex'] === '0') {
|
|
11300
|
-
this.
|
|
12520
|
+
if (this.isActionSheetExpanded) {
|
|
12521
|
+
this.actionSheetSearchBar.focus();
|
|
12522
|
+
}
|
|
12523
|
+
else {
|
|
12524
|
+
this.filterInput.nativeElement.focus();
|
|
12525
|
+
}
|
|
11301
12526
|
}
|
|
11302
12527
|
})
|
|
11303
12528
|
].forEach(sub => this.subs.add(sub));
|
|
@@ -11382,9 +12607,30 @@ class DropDownTreeComponent {
|
|
|
11382
12607
|
}
|
|
11383
12608
|
});
|
|
11384
12609
|
}
|
|
12610
|
+
closeActionSheet() {
|
|
12611
|
+
this.actionSheet.toggle(false);
|
|
12612
|
+
if (this.filterable) {
|
|
12613
|
+
this.actionSheetSearchBar.value = '';
|
|
12614
|
+
this.filterChange.emit('');
|
|
12615
|
+
}
|
|
12616
|
+
this.wrapper.nativeElement.focus();
|
|
12617
|
+
this.closed.emit();
|
|
12618
|
+
}
|
|
12619
|
+
openActionSheet() {
|
|
12620
|
+
this.windowSize = windowSize();
|
|
12621
|
+
this.isActionSheetExpanded = true;
|
|
12622
|
+
this.actionSheet.toggle(true);
|
|
12623
|
+
this.title = setActionSheetTitle(this.wrapper, this.title);
|
|
12624
|
+
this.cdr.detectChanges();
|
|
12625
|
+
updateActionSheetAdaptiveAppearance(this.actionSheet, this.windowSize, this.renderer);
|
|
12626
|
+
this.cdr.detectChanges();
|
|
12627
|
+
this.opened.emit();
|
|
12628
|
+
this.removeTreeViewFromTabOrder();
|
|
12629
|
+
this.filterable && this.actionSheetSearchBar.focus();
|
|
12630
|
+
}
|
|
11385
12631
|
}
|
|
11386
|
-
DropDownTreeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DropDownTreeComponent, deps: [{ token: i0.Injector }, { token: i0.ElementRef }, { token: i2.PopupService }, { token: NavigationService }, { token: i0.Renderer2 }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: i1.LocalizationService }, { token: TOUCH_ENABLED, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
11387
|
-
DropDownTreeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: DropDownTreeComponent, selector: "kendo-dropdowntree", inputs: { loading: "loading", clearButton: "clearButton", data: "data", value: "value", textField: "textField", valueField: "valueField", valueDepth: "valueDepth", hasChildren: "hasChildren", fetchChildren: "fetchChildren", placeholder: "placeholder", popupSettings: "popupSettings", dataItem: "dataItem", listHeight: "listHeight", disabled: "disabled", readonly: "readonly", valuePrimitive: "valuePrimitive", tabindex: "tabindex", size: "size", rounded: "rounded", fillMode: "fillMode", itemDisabled: "itemDisabled", isNodeExpanded: "isNodeExpanded", isNodeVisible: "isNodeVisible", loadOnDemand: "loadOnDemand", filterable: "filterable", filter: "filter", focusableId: "focusableId" }, outputs: { open: "open", opened: "opened", close: "close", closed: "closed", nodeExpand: "nodeExpand", nodeCollapse: "nodeCollapse", onFocus: "focus", onBlur: "blur", valueChange: "valueChange", filterChange: "filterChange" }, host: { properties: { "class.k-dropdowntree": "this.hostClasses", "class.k-picker": "this.hostClasses", "attr.aria-invalid": "this.hostAriaInvalid", "class.k-disabled": "this.isDisabled", "attr.disabled": "this.isDisabledAttribute", "class.k-loading": "this.isLoading", "attr.aria-busy": "this.isBusy", "attr.aria-controls": "this.hostAriaControls", "attr.id": "this.id", "attr.dir": "this.direction", "attr.tabindex": "this.hostTabIndex", "attr.role": "this.role", "attr.aria-haspopup": "this.ariaHasPopup", "attr.aria-expanded": "this.isAriaExpanded", "attr.aria-autocomplete": "this.hostAriaAutocomplete"
|
|
12632
|
+
DropDownTreeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DropDownTreeComponent, deps: [{ token: i0.Injector }, { token: i0.ElementRef }, { token: i2$1.PopupService }, { token: NavigationService }, { token: i0.Renderer2 }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: i1.LocalizationService }, { token: TOUCH_ENABLED, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
12633
|
+
DropDownTreeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: DropDownTreeComponent, selector: "kendo-dropdowntree", inputs: { loading: "loading", clearButton: "clearButton", data: "data", value: "value", textField: "textField", valueField: "valueField", valueDepth: "valueDepth", hasChildren: "hasChildren", fetchChildren: "fetchChildren", placeholder: "placeholder", popupSettings: "popupSettings", dataItem: "dataItem", listHeight: "listHeight", disabled: "disabled", readonly: "readonly", valuePrimitive: "valuePrimitive", tabindex: "tabindex", size: "size", rounded: "rounded", fillMode: "fillMode", itemDisabled: "itemDisabled", isNodeExpanded: "isNodeExpanded", isNodeVisible: "isNodeVisible", loadOnDemand: "loadOnDemand", filterable: "filterable", filter: "filter", focusableId: "focusableId", adaptiveMode: "adaptiveMode", title: "title", subtitle: "subtitle" }, outputs: { open: "open", opened: "opened", close: "close", closed: "closed", nodeExpand: "nodeExpand", nodeCollapse: "nodeCollapse", onFocus: "focus", onBlur: "blur", valueChange: "valueChange", filterChange: "filterChange" }, host: { properties: { "class.k-dropdowntree": "this.hostClasses", "class.k-picker": "this.hostClasses", "attr.readonly": "this.isReadonly", "attr.aria-invalid": "this.hostAriaInvalid", "class.k-disabled": "this.isDisabled", "attr.disabled": "this.isDisabledAttribute", "class.k-loading": "this.isLoading", "attr.aria-busy": "this.isBusy", "attr.aria-controls": "this.hostAriaControls", "attr.id": "this.id", "attr.dir": "this.direction", "attr.tabindex": "this.hostTabIndex", "attr.role": "this.role", "attr.aria-haspopup": "this.ariaHasPopup", "attr.aria-expanded": "this.isAriaExpanded", "attr.aria-autocomplete": "this.hostAriaAutocomplete" } }, providers: [
|
|
11388
12634
|
DataService,
|
|
11389
12635
|
SelectionService,
|
|
11390
12636
|
NavigationService,
|
|
@@ -11411,7 +12657,7 @@ DropDownTreeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
|
|
|
11411
12657
|
provide: ExpandableComponent,
|
|
11412
12658
|
useExisting: forwardRef(() => DropDownTreeComponent)
|
|
11413
12659
|
}
|
|
11414
|
-
], queries: [{ propertyName: "noDataTemplate", first: true, predicate: NoDataTemplateDirective, descendants: true }, { propertyName: "headerTemplate", first: true, predicate: HeaderTemplateDirective, descendants: true }, { propertyName: "footerTemplate", first: true, predicate: FooterTemplateDirective, descendants: true }, { propertyName: "nodeTemplate", first: true, predicate: NodeTemplateDirective, descendants: true }, { propertyName: "valueTemplate", first: true, predicate: ValueTemplateDirective, descendants: true }], viewQueries: [{ propertyName: "popupTemplate", first: true, predicate: ["popupTemplate"], descendants: true, static: true }, { propertyName: "container", first: true, predicate: ["container"], descendants: true, read: ViewContainerRef, static: true }, { propertyName: "treeview", first: true, predicate: ["treeview"], descendants: true }, { propertyName: "filterInput", first: true, predicate: ["filterInput"], descendants: true }], exportAs: ["kendoDropDownTree"], usesOnChanges: true, ngImport: i0, template: `
|
|
12660
|
+
], queries: [{ propertyName: "noDataTemplate", first: true, predicate: NoDataTemplateDirective, descendants: true }, { propertyName: "headerTemplate", first: true, predicate: HeaderTemplateDirective, descendants: true }, { propertyName: "footerTemplate", first: true, predicate: FooterTemplateDirective, descendants: true }, { propertyName: "nodeTemplate", first: true, predicate: NodeTemplateDirective, descendants: true }, { propertyName: "valueTemplate", first: true, predicate: ValueTemplateDirective, descendants: true }], viewQueries: [{ propertyName: "responsiveRendererComponent", first: true, predicate: ResponsiveRendererComponent, descendants: true }, { propertyName: "popupTemplate", first: true, predicate: ["popupTemplate"], descendants: true, static: true }, { propertyName: "container", first: true, predicate: ["container"], descendants: true, read: ViewContainerRef, static: true }, { propertyName: "treeview", first: true, predicate: ["treeview"], descendants: true }, { propertyName: "filterInput", first: true, predicate: ["filterInput"], descendants: true }], exportAs: ["kendoDropDownTree"], usesOnChanges: true, ngImport: i0, template: `
|
|
11415
12661
|
<ng-container kendoDropDownTreeLocalizedMessages
|
|
11416
12662
|
i18n-noDataText="kendo.dropdowntree.noDataText|The text displayed in the popup when there are no items"
|
|
11417
12663
|
noDataText="NO DATA FOUND"
|
|
@@ -11475,8 +12721,26 @@ DropDownTreeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
|
|
|
11475
12721
|
</kendo-icon-wrapper>
|
|
11476
12722
|
</button>
|
|
11477
12723
|
<ng-template #popupTemplate>
|
|
11478
|
-
<
|
|
11479
|
-
|
|
12724
|
+
<ng-container *ngTemplateOutlet="sharedPopupActionSheetTemplate"></ng-container>
|
|
12725
|
+
</ng-template>
|
|
12726
|
+
<ng-container #container></ng-container>
|
|
12727
|
+
|
|
12728
|
+
<!--adaptive rendering-->
|
|
12729
|
+
<responsive-renderer
|
|
12730
|
+
[sharedPopupActionSheetTemplate]="sharedPopupActionSheetTemplate"
|
|
12731
|
+
[isActionSheetExpanded]="isActionSheetExpanded"
|
|
12732
|
+
[title]="title"
|
|
12733
|
+
[showTextInput]="filterable"
|
|
12734
|
+
[subtitle]="subtitle"
|
|
12735
|
+
(closePopup)="togglePopup(false)"
|
|
12736
|
+
(onExpand)="onExpand()"
|
|
12737
|
+
(onCollapse)="onCollapse()"
|
|
12738
|
+
(textInputChange)="handleFilterInputChange($event)"
|
|
12739
|
+
>
|
|
12740
|
+
</responsive-renderer>
|
|
12741
|
+
<ng-template #sharedPopupActionSheetTemplate>
|
|
12742
|
+
<span
|
|
12743
|
+
*ngIf="filterable && !isActionSheetExpanded"
|
|
11480
12744
|
class="k-list-filter"
|
|
11481
12745
|
>
|
|
11482
12746
|
<span
|
|
@@ -11562,8 +12826,9 @@ DropDownTreeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
|
|
|
11562
12826
|
</ng-template>
|
|
11563
12827
|
</div>
|
|
11564
12828
|
</ng-template>
|
|
11565
|
-
|
|
11566
|
-
|
|
12829
|
+
|
|
12830
|
+
<kendo-resize-sensor *ngIf="isOpen || isAdaptiveModeEnabled" (resize)="onResize()"></kendo-resize-sensor>
|
|
12831
|
+
`, isInline: true, components: [{ type: i8.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass"], exportAs: ["kendoIconWrapper"] }, { type: ResponsiveRendererComponent, selector: "responsive-renderer", inputs: ["title", "showActionButtons", "subtitle", "size", "showTextInput", "sharedPopupActionSheetTemplate", "isActionSheetExpanded", "text", "placeholder"], outputs: ["closePopup", "textInputChange", "navigate", "onExpand", "onCollapse", "onApply", "onCancel"] }, { type: i1$1.TreeViewComponent, selector: "kendo-treeview", inputs: ["filterInputPlaceholder", "expandDisabledNodes", "animate", "nodeTemplate", "loadMoreButtonTemplate", "trackBy", "nodes", "textField", "hasChildren", "isChecked", "isDisabled", "isExpanded", "isSelected", "isVisible", "navigable", "children", "loadOnDemand", "filterable", "filter", "size", "disableParentNodesOnly"], outputs: ["childrenLoaded", "blur", "focus", "expand", "collapse", "nodeDragStart", "nodeDrag", "filterStateChange", "nodeDrop", "nodeDragEnd", "addItem", "removeItem", "checkedChange", "selectionChange", "filterChange", "nodeClick", "nodeDblClick"], exportAs: ["kendoTreeView"] }, { type: i9.ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }], directives: [{ type: LocalizedMessagesDirective, selector: "\n [kendoDropDownListLocalizedMessages],\n [kendoDropDownTreeLocalizedMessages],\n [kendoComboBoxLocalizedMessages],\n [kendoMultiColumnComboBoxLocalizedMessages],\n [kendoAutoCompleteLocalizedMessages],\n [kendoMultiSelectLocalizedMessages],\n [kendoMultiSelectTreeLocalizedMessages]\n " }, { type: i13.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }, { type: i13.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i13.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i14.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: FilterInputDirective, selector: "[filterInput]", inputs: ["filterInput"] }, { type: i14.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i14.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i9.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { type: i1$1.SelectDirective, selector: "[kendoTreeViewSelectable]", inputs: ["isSelected", "selectBy", "kendoTreeViewSelectable", "selectedKeys"], outputs: ["selectedKeysChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
11567
12832
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DropDownTreeComponent, decorators: [{
|
|
11568
12833
|
type: Component,
|
|
11569
12834
|
args: [{
|
|
@@ -11661,8 +12926,26 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
11661
12926
|
</kendo-icon-wrapper>
|
|
11662
12927
|
</button>
|
|
11663
12928
|
<ng-template #popupTemplate>
|
|
11664
|
-
<
|
|
11665
|
-
|
|
12929
|
+
<ng-container *ngTemplateOutlet="sharedPopupActionSheetTemplate"></ng-container>
|
|
12930
|
+
</ng-template>
|
|
12931
|
+
<ng-container #container></ng-container>
|
|
12932
|
+
|
|
12933
|
+
<!--adaptive rendering-->
|
|
12934
|
+
<responsive-renderer
|
|
12935
|
+
[sharedPopupActionSheetTemplate]="sharedPopupActionSheetTemplate"
|
|
12936
|
+
[isActionSheetExpanded]="isActionSheetExpanded"
|
|
12937
|
+
[title]="title"
|
|
12938
|
+
[showTextInput]="filterable"
|
|
12939
|
+
[subtitle]="subtitle"
|
|
12940
|
+
(closePopup)="togglePopup(false)"
|
|
12941
|
+
(onExpand)="onExpand()"
|
|
12942
|
+
(onCollapse)="onCollapse()"
|
|
12943
|
+
(textInputChange)="handleFilterInputChange($event)"
|
|
12944
|
+
>
|
|
12945
|
+
</responsive-renderer>
|
|
12946
|
+
<ng-template #sharedPopupActionSheetTemplate>
|
|
12947
|
+
<span
|
|
12948
|
+
*ngIf="filterable && !isActionSheetExpanded"
|
|
11666
12949
|
class="k-list-filter"
|
|
11667
12950
|
>
|
|
11668
12951
|
<span
|
|
@@ -11748,23 +13031,30 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
11748
13031
|
</ng-template>
|
|
11749
13032
|
</div>
|
|
11750
13033
|
</ng-template>
|
|
11751
|
-
|
|
13034
|
+
|
|
13035
|
+
<kendo-resize-sensor *ngIf="isOpen || isAdaptiveModeEnabled" (resize)="onResize()"></kendo-resize-sensor>
|
|
11752
13036
|
`,
|
|
11753
13037
|
changeDetection: ChangeDetectionStrategy.OnPush
|
|
11754
13038
|
}]
|
|
11755
13039
|
}], ctorParameters: function () {
|
|
11756
|
-
return [{ type: i0.Injector }, { type: i0.ElementRef }, { type: i2.PopupService }, { type: NavigationService }, { type: i0.Renderer2 }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }, { type: i1.LocalizationService }, { type: undefined, decorators: [{
|
|
13040
|
+
return [{ type: i0.Injector }, { type: i0.ElementRef }, { type: i2$1.PopupService }, { type: NavigationService }, { type: i0.Renderer2 }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }, { type: i1.LocalizationService }, { type: undefined, decorators: [{
|
|
11757
13041
|
type: Optional
|
|
11758
13042
|
}, {
|
|
11759
13043
|
type: Inject,
|
|
11760
13044
|
args: [TOUCH_ENABLED]
|
|
11761
13045
|
}] }];
|
|
11762
|
-
}, propDecorators: {
|
|
13046
|
+
}, propDecorators: { responsiveRendererComponent: [{
|
|
13047
|
+
type: ViewChild,
|
|
13048
|
+
args: [ResponsiveRendererComponent]
|
|
13049
|
+
}], hostClasses: [{
|
|
11763
13050
|
type: HostBinding,
|
|
11764
13051
|
args: ['class.k-dropdowntree']
|
|
11765
13052
|
}, {
|
|
11766
13053
|
type: HostBinding,
|
|
11767
13054
|
args: ['class.k-picker']
|
|
13055
|
+
}], isReadonly: [{
|
|
13056
|
+
type: HostBinding,
|
|
13057
|
+
args: ['attr.readonly']
|
|
11768
13058
|
}], hostAriaInvalid: [{
|
|
11769
13059
|
type: HostBinding,
|
|
11770
13060
|
args: ['attr.aria-invalid']
|
|
@@ -11804,9 +13094,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
11804
13094
|
}], hostAriaAutocomplete: [{
|
|
11805
13095
|
type: HostBinding,
|
|
11806
13096
|
args: ['attr.aria-autocomplete']
|
|
11807
|
-
}], isReadonly: [{
|
|
11808
|
-
type: HostBinding,
|
|
11809
|
-
args: ['attr.readonly']
|
|
11810
13097
|
}], noDataTemplate: [{
|
|
11811
13098
|
type: ContentChild,
|
|
11812
13099
|
args: [NoDataTemplateDirective, { static: false }]
|
|
@@ -11910,6 +13197,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
11910
13197
|
type: Input
|
|
11911
13198
|
}], focusableId: [{
|
|
11912
13199
|
type: Input
|
|
13200
|
+
}], adaptiveMode: [{
|
|
13201
|
+
type: Input
|
|
13202
|
+
}], title: [{
|
|
13203
|
+
type: Input
|
|
13204
|
+
}], subtitle: [{
|
|
13205
|
+
type: Input
|
|
11913
13206
|
}] } });
|
|
11914
13207
|
|
|
11915
13208
|
/**
|
|
@@ -12364,6 +13657,10 @@ class MultiSelectTreeComponent {
|
|
|
12364
13657
|
this.cdr = cdr;
|
|
12365
13658
|
this.lookup = lookup;
|
|
12366
13659
|
this.touchEnabled = touchEnabled;
|
|
13660
|
+
/**
|
|
13661
|
+
* @hidden
|
|
13662
|
+
*/
|
|
13663
|
+
this.animationDuration = animationDuration;
|
|
12367
13664
|
/**
|
|
12368
13665
|
* @hidden
|
|
12369
13666
|
*/
|
|
@@ -12376,6 +13673,23 @@ class MultiSelectTreeComponent {
|
|
|
12376
13673
|
this.treeViewId = `k-${guid$1()}`;
|
|
12377
13674
|
this.role = 'combobox';
|
|
12378
13675
|
this.ariaHasPopup = 'tree';
|
|
13676
|
+
/**
|
|
13677
|
+
* Enables or disables the adaptive mode. By default the adaptive rendering is disabled.
|
|
13678
|
+
*/
|
|
13679
|
+
this.adaptiveMode = 'none';
|
|
13680
|
+
/**
|
|
13681
|
+
* Sets the title of the ActionSheet that is rendered instead of the Popup when using small screen devices.
|
|
13682
|
+
* By default the ActionSheet title uses the text provided for the label of the AutoComplete.
|
|
13683
|
+
*/
|
|
13684
|
+
this.title = '';
|
|
13685
|
+
/**
|
|
13686
|
+
* @hidden
|
|
13687
|
+
*/
|
|
13688
|
+
this.windowSize = 'large';
|
|
13689
|
+
/**
|
|
13690
|
+
* @hidden
|
|
13691
|
+
*/
|
|
13692
|
+
this.isActionSheetExpanded = false;
|
|
12379
13693
|
/**
|
|
12380
13694
|
* Sets the levels in the data set where the values can be found when `valueField` is an Array.
|
|
12381
13695
|
* The field serves to correctly allocate a data item used when the MultiSelectTree is initialized with a value.
|
|
@@ -12384,14 +13698,8 @@ class MultiSelectTreeComponent {
|
|
|
12384
13698
|
/**
|
|
12385
13699
|
* The hint which is displayed when the component is empty.
|
|
12386
13700
|
*/
|
|
12387
|
-
this.placeholder =
|
|
12388
|
-
|
|
12389
|
-
* Sets the height of the options list. By default, `listHeight` is 200px.
|
|
12390
|
-
*
|
|
12391
|
-
* > The `listHeight` property affects only the list of options and not the whole popup container.
|
|
12392
|
-
* > To set the height of the popup container, use `popupSettings.height`.
|
|
12393
|
-
*/
|
|
12394
|
-
this.listHeight = 200;
|
|
13701
|
+
this.placeholder = '';
|
|
13702
|
+
this._listHeight = 200;
|
|
12395
13703
|
/**
|
|
12396
13704
|
* Sets the disabled state of the component.
|
|
12397
13705
|
*/
|
|
@@ -12534,6 +13842,7 @@ class MultiSelectTreeComponent {
|
|
|
12534
13842
|
this._popupSettings = DEFAULT_POPUP_SETTINGS;
|
|
12535
13843
|
this._checkableSettings = DEFAULT_CHECKABLE_SETTINGS;
|
|
12536
13844
|
this._isFocused = false;
|
|
13845
|
+
this._initiallyCheckedItems = [];
|
|
12537
13846
|
this._size = 'medium';
|
|
12538
13847
|
this._rounded = 'medium';
|
|
12539
13848
|
this._fillMode = 'solid';
|
|
@@ -12594,8 +13903,48 @@ class MultiSelectTreeComponent {
|
|
|
12594
13903
|
/**
|
|
12595
13904
|
* @hidden
|
|
12596
13905
|
*/
|
|
12597
|
-
|
|
12598
|
-
|
|
13906
|
+
onFilterChange(text) {
|
|
13907
|
+
if (this.filterable) {
|
|
13908
|
+
this.filterChange.emit(text);
|
|
13909
|
+
}
|
|
13910
|
+
}
|
|
13911
|
+
/**
|
|
13912
|
+
* @hidden
|
|
13913
|
+
*/
|
|
13914
|
+
onExpand() {
|
|
13915
|
+
this._searchableNodes = getSearchableItems(this.treeViewId, this.actionSheet.element.nativeElement);
|
|
13916
|
+
this.isActionSheetExpanded = true;
|
|
13917
|
+
}
|
|
13918
|
+
/**
|
|
13919
|
+
* @hidden
|
|
13920
|
+
*/
|
|
13921
|
+
onCollapse() {
|
|
13922
|
+
this.isActionSheetExpanded = false;
|
|
13923
|
+
}
|
|
13924
|
+
/**
|
|
13925
|
+
* Sets the subtitle of the ActionSheet that is rendered instead of the Popup when using small screen devices.
|
|
13926
|
+
* By default the ActionSheet subtitle uses the text provided for the `placeholder` of the AutoComplete.
|
|
13927
|
+
*/
|
|
13928
|
+
set subtitle(_subtitle) {
|
|
13929
|
+
this._subtitle = _subtitle;
|
|
13930
|
+
}
|
|
13931
|
+
get subtitle() {
|
|
13932
|
+
return this._subtitle || this.placeholder;
|
|
13933
|
+
}
|
|
13934
|
+
/**
|
|
13935
|
+
* @hidden
|
|
13936
|
+
*/
|
|
13937
|
+
get isAdaptiveModeEnabled() {
|
|
13938
|
+
return this.adaptiveMode === 'auto';
|
|
13939
|
+
}
|
|
13940
|
+
/**
|
|
13941
|
+
* @hidden
|
|
13942
|
+
*/
|
|
13943
|
+
handleKeydown(event, input) {
|
|
13944
|
+
var _a, _b;
|
|
13945
|
+
if (input) {
|
|
13946
|
+
event.stopImmediatePropagation();
|
|
13947
|
+
}
|
|
12599
13948
|
const deleteTag = this.isWrapperActive && event.keyCode === Keys.Backspace && this.tags.length > 0;
|
|
12600
13949
|
if (deleteTag) {
|
|
12601
13950
|
this.handleBackspace();
|
|
@@ -12604,7 +13953,7 @@ class MultiSelectTreeComponent {
|
|
|
12604
13953
|
if (this.disabled || this.readonly) {
|
|
12605
13954
|
return;
|
|
12606
13955
|
}
|
|
12607
|
-
if (!this.isFilterActive && isLetter(event.key)) {
|
|
13956
|
+
if (!this.isFilterActive && isLetter(event.key) && !((_a = this.actionSheetSearchBar) === null || _a === void 0 ? void 0 : _a.onFocus)) {
|
|
12608
13957
|
this.printableCharacters.next(event.key);
|
|
12609
13958
|
}
|
|
12610
13959
|
const eventData = event;
|
|
@@ -12616,9 +13965,29 @@ class MultiSelectTreeComponent {
|
|
|
12616
13965
|
}
|
|
12617
13966
|
if (this.isOpen && action === NavigationAction.Enter) {
|
|
12618
13967
|
const spaceKeyDownEvent = new KeyboardEvent('keydown', { 'key': ' ', 'code': 'Space', 'keyCode': 32, 'which': 32 });
|
|
12619
|
-
(
|
|
13968
|
+
(_b = this.treeview) === null || _b === void 0 ? void 0 : _b.element.nativeElement.dispatchEvent(spaceKeyDownEvent);
|
|
12620
13969
|
}
|
|
12621
13970
|
}
|
|
13971
|
+
/**
|
|
13972
|
+
* @hidden
|
|
13973
|
+
*/
|
|
13974
|
+
get actionSheet() {
|
|
13975
|
+
var _a;
|
|
13976
|
+
return (_a = this.responsiveRendererComponent) === null || _a === void 0 ? void 0 : _a.actionSheet;
|
|
13977
|
+
}
|
|
13978
|
+
/**
|
|
13979
|
+
* @hidden
|
|
13980
|
+
*/
|
|
13981
|
+
get actionSheetSearchBar() {
|
|
13982
|
+
var _a;
|
|
13983
|
+
return (_a = this.responsiveRendererComponent) === null || _a === void 0 ? void 0 : _a.actionSheetSearchBar;
|
|
13984
|
+
}
|
|
13985
|
+
/**
|
|
13986
|
+
* @hidden
|
|
13987
|
+
*/
|
|
13988
|
+
get isAdaptive() {
|
|
13989
|
+
return this.isAdaptiveModeEnabled && this.windowSize !== 'large';
|
|
13990
|
+
}
|
|
12622
13991
|
set treeview(treeview) {
|
|
12623
13992
|
this._treeview = treeview;
|
|
12624
13993
|
if (treeview) {
|
|
@@ -12804,6 +14173,24 @@ class MultiSelectTreeComponent {
|
|
|
12804
14173
|
};
|
|
12805
14174
|
});
|
|
12806
14175
|
}
|
|
14176
|
+
/**
|
|
14177
|
+
* Sets the height of the options list in the popup. By default, `listHeight` is 200px.
|
|
14178
|
+
*
|
|
14179
|
+
* > The `listHeight` property affects only the list of options and not the whole popup container.
|
|
14180
|
+
* > To set the height of the popup container, use `popupSettings.height`.
|
|
14181
|
+
*
|
|
14182
|
+
* > When using `adaptiveMode` and the screen size is `small` or `medium` the `listHeight` property is set to null.
|
|
14183
|
+
*/
|
|
14184
|
+
set listHeight(_listHeight) {
|
|
14185
|
+
this._listHeight = _listHeight;
|
|
14186
|
+
}
|
|
14187
|
+
;
|
|
14188
|
+
get listHeight() {
|
|
14189
|
+
if (this.isAdaptive) {
|
|
14190
|
+
return;
|
|
14191
|
+
}
|
|
14192
|
+
return this._listHeight;
|
|
14193
|
+
}
|
|
12807
14194
|
/**
|
|
12808
14195
|
* @hidden
|
|
12809
14196
|
*/
|
|
@@ -12822,10 +14209,10 @@ class MultiSelectTreeComponent {
|
|
|
12822
14209
|
return this._isFocused;
|
|
12823
14210
|
}
|
|
12824
14211
|
/**
|
|
12825
|
-
* Returns the current open state
|
|
14212
|
+
* Returns the current open state. Returns `true` if the popup or actionSheet is open.
|
|
12826
14213
|
*/
|
|
12827
14214
|
get isOpen() {
|
|
12828
|
-
return isPresent(this.popupRef);
|
|
14215
|
+
return isTruthy(isPresent(this.popupRef) || this.isActionSheetExpanded);
|
|
12829
14216
|
}
|
|
12830
14217
|
get width() {
|
|
12831
14218
|
const wrapperWidth = this.wrapper.nativeElement.offsetWidth;
|
|
@@ -12936,6 +14323,23 @@ class MultiSelectTreeComponent {
|
|
|
12936
14323
|
get isCheckAllActive() {
|
|
12937
14324
|
return this.checkAllInput && document.activeElement === this.checkAllInput.nativeElement;
|
|
12938
14325
|
}
|
|
14326
|
+
/**
|
|
14327
|
+
* @hidden
|
|
14328
|
+
*/
|
|
14329
|
+
onResize() {
|
|
14330
|
+
if (this.isAdaptiveModeEnabled && this.windowSize !== windowSize()) {
|
|
14331
|
+
if (this.isOpen) {
|
|
14332
|
+
this.togglePopup(false);
|
|
14333
|
+
}
|
|
14334
|
+
this.windowSize = windowSize();
|
|
14335
|
+
}
|
|
14336
|
+
if (this.isOpen && !this.isActionSheetExpanded) {
|
|
14337
|
+
const popupWrapper = this.popupRef.popupElement;
|
|
14338
|
+
const { min, max } = this.width;
|
|
14339
|
+
popupWrapper.style.minWidth = min;
|
|
14340
|
+
popupWrapper.style.width = max;
|
|
14341
|
+
}
|
|
14342
|
+
}
|
|
12939
14343
|
ngOnInit() {
|
|
12940
14344
|
this.subs.add(this.printableCharacters.pipe(tap((char) => {
|
|
12941
14345
|
this._typedValue += char;
|
|
@@ -12954,10 +14358,14 @@ class MultiSelectTreeComponent {
|
|
|
12954
14358
|
this.cdr.markForCheck();
|
|
12955
14359
|
}));
|
|
12956
14360
|
this.setComponentClasses();
|
|
14361
|
+
this._initiallyCheckedItems = [...this.checkedItems];
|
|
12957
14362
|
}
|
|
12958
14363
|
ngAfterViewInit() {
|
|
14364
|
+
var _a;
|
|
14365
|
+
this.windowSize = windowSize();
|
|
12959
14366
|
this.subs.add(this.renderer.listen(this.wrapper.nativeElement, 'click', this.handleClick.bind(this)));
|
|
12960
14367
|
this.subs.add(this.renderer.listen(this.wrapper.nativeElement, 'keydown', this.handleKeydown.bind(this)));
|
|
14368
|
+
this.renderer.setAttribute((_a = this.actionSheet) === null || _a === void 0 ? void 0 : _a.element.nativeElement, 'style', '--kendo-actionsheet-height: 60vh; --kendo-actionsheet-max-height: none');
|
|
12961
14369
|
}
|
|
12962
14370
|
/**
|
|
12963
14371
|
* @hidden
|
|
@@ -12996,6 +14404,23 @@ class MultiSelectTreeComponent {
|
|
|
12996
14404
|
ngAfterContentChecked() {
|
|
12997
14405
|
this.verifySettings();
|
|
12998
14406
|
}
|
|
14407
|
+
/**
|
|
14408
|
+
* @hidden
|
|
14409
|
+
*/
|
|
14410
|
+
applyValue() {
|
|
14411
|
+
this.value = this._tempValue;
|
|
14412
|
+
this._initiallyCheckedItems = [...this.checkedItems];
|
|
14413
|
+
this.emitValueChange(this.value);
|
|
14414
|
+
this.setTags();
|
|
14415
|
+
this.toggle(false);
|
|
14416
|
+
}
|
|
14417
|
+
/**
|
|
14418
|
+
* @hidden
|
|
14419
|
+
*/
|
|
14420
|
+
cancelValue() {
|
|
14421
|
+
this.checkedItems = [...this._initiallyCheckedItems];
|
|
14422
|
+
this.togglePopup(false);
|
|
14423
|
+
}
|
|
12999
14424
|
ngAfterContentInit() {
|
|
13000
14425
|
this.isContentInit = true;
|
|
13001
14426
|
// Still need to keep the call of 'registerLookupItems()' from ngAfterContentInit in the cases when the data is passed initially
|
|
@@ -13052,7 +14477,7 @@ class MultiSelectTreeComponent {
|
|
|
13052
14477
|
this.valueDepth = [];
|
|
13053
14478
|
}
|
|
13054
14479
|
/**
|
|
13055
|
-
* Toggles the visibility of the popup
|
|
14480
|
+
* Toggles the visibility of the popup or actionSheet
|
|
13056
14481
|
* ([see example]({% slug openstate_multiselecttree %})).
|
|
13057
14482
|
* If you use the `toggle` method to open or close the popup, the `open` and `close` events will not be fired.
|
|
13058
14483
|
*
|
|
@@ -13097,19 +14522,21 @@ class MultiSelectTreeComponent {
|
|
|
13097
14522
|
* @hidden
|
|
13098
14523
|
*/
|
|
13099
14524
|
handleBlur(e) {
|
|
13100
|
-
|
|
13101
|
-
|
|
13102
|
-
(this.
|
|
13103
|
-
|
|
13104
|
-
|
|
13105
|
-
|
|
13106
|
-
|
|
13107
|
-
|
|
13108
|
-
|
|
13109
|
-
|
|
13110
|
-
this.
|
|
13111
|
-
|
|
13112
|
-
|
|
14525
|
+
if (!this.isActionSheetExpanded) {
|
|
14526
|
+
const relatedTarget = e && e.relatedTarget;
|
|
14527
|
+
if (this.wrapper.nativeElement.contains(relatedTarget) ||
|
|
14528
|
+
(this.isOpen && this.popupRef.popupElement.contains(relatedTarget))) {
|
|
14529
|
+
return;
|
|
14530
|
+
}
|
|
14531
|
+
this.isFocused = false;
|
|
14532
|
+
this.togglePopup(false);
|
|
14533
|
+
if (hasObservers(this.onBlur) ||
|
|
14534
|
+
isUntouched(this.wrapper.nativeElement)) {
|
|
14535
|
+
this._zone.run(() => {
|
|
14536
|
+
this.onBlur.emit();
|
|
14537
|
+
this.onTouchedCallback();
|
|
14538
|
+
});
|
|
14539
|
+
}
|
|
13113
14540
|
}
|
|
13114
14541
|
}
|
|
13115
14542
|
/**
|
|
@@ -13336,6 +14763,12 @@ class MultiSelectTreeComponent {
|
|
|
13336
14763
|
return eventArgs.isDefaultPrevented();
|
|
13337
14764
|
}
|
|
13338
14765
|
createPopup() {
|
|
14766
|
+
this.windowSize = windowSize();
|
|
14767
|
+
if (this.isAdaptive) {
|
|
14768
|
+
this.openActionSheet();
|
|
14769
|
+
this.cdr.detectChanges();
|
|
14770
|
+
return;
|
|
14771
|
+
}
|
|
13339
14772
|
const horizontalAlign = this.direction === "rtl" ? "right" : "left";
|
|
13340
14773
|
const anchorPosition = { horizontal: horizontalAlign, vertical: 'bottom' };
|
|
13341
14774
|
const popupPosition = { horizontal: horizontalAlign, vertical: 'top' };
|
|
@@ -13369,6 +14802,9 @@ class MultiSelectTreeComponent {
|
|
|
13369
14802
|
});
|
|
13370
14803
|
}
|
|
13371
14804
|
destroyPopup() {
|
|
14805
|
+
if (this.isActionSheetExpanded) {
|
|
14806
|
+
this.closeActionSheet();
|
|
14807
|
+
}
|
|
13372
14808
|
if (this.popupRef) {
|
|
13373
14809
|
this.popupRef.close();
|
|
13374
14810
|
this.popupRef = null;
|
|
@@ -13387,7 +14823,7 @@ class MultiSelectTreeComponent {
|
|
|
13387
14823
|
handleClick(e) {
|
|
13388
14824
|
// The check is needed otherwise when appended to the component, the popup reopens on click
|
|
13389
14825
|
// https://github.com/telerik/kendo-angular/issues/3738
|
|
13390
|
-
if ((this.popupRef && this.popupRef.popupElement.contains(e.target))) {
|
|
14826
|
+
if ((this.popupRef && this.popupRef.popupElement.contains(e.target)) || this.isActionSheetExpanded) {
|
|
13391
14827
|
return;
|
|
13392
14828
|
}
|
|
13393
14829
|
this.togglePopup(!this.isOpen);
|
|
@@ -13447,7 +14883,9 @@ class MultiSelectTreeComponent {
|
|
|
13447
14883
|
this.handleBlur(event);
|
|
13448
14884
|
}
|
|
13449
14885
|
handleTabKey() {
|
|
13450
|
-
this.
|
|
14886
|
+
if (!this.isActionSheetExpanded) {
|
|
14887
|
+
this.focus();
|
|
14888
|
+
}
|
|
13451
14889
|
if (this.isOpen) {
|
|
13452
14890
|
this.treeview.blur();
|
|
13453
14891
|
this.removeTreeViewFromTabOrder();
|
|
@@ -13475,7 +14913,7 @@ class MultiSelectTreeComponent {
|
|
|
13475
14913
|
}
|
|
13476
14914
|
else if (this.isCheckAllActive || isFirstNodeActive) {
|
|
13477
14915
|
if (this.filterable) {
|
|
13478
|
-
this.filterInput.nativeElement.focus();
|
|
14916
|
+
this.isActionSheetExpanded ? this.actionSheetSearchBar.focus() : this.filterInput.nativeElement.focus();
|
|
13479
14917
|
}
|
|
13480
14918
|
else {
|
|
13481
14919
|
this.focus();
|
|
@@ -13568,7 +15006,9 @@ class MultiSelectTreeComponent {
|
|
|
13568
15006
|
}
|
|
13569
15007
|
setState() {
|
|
13570
15008
|
if (isPresent(this.dataItems) && isPresent(this.valueField)) {
|
|
13571
|
-
this.
|
|
15009
|
+
if (!this.isActionSheetExpanded) {
|
|
15010
|
+
this.setTags();
|
|
15011
|
+
}
|
|
13572
15012
|
this.checkedItems = this.dataItems.slice();
|
|
13573
15013
|
}
|
|
13574
15014
|
this.cdr.markForCheck();
|
|
@@ -13582,8 +15022,13 @@ class MultiSelectTreeComponent {
|
|
|
13582
15022
|
const newValue = this.valuePrimitive ?
|
|
13583
15023
|
value.map(item => valueFrom(item, this.valueField)) :
|
|
13584
15024
|
value.map(item => item.dataItem);
|
|
13585
|
-
this.
|
|
13586
|
-
|
|
15025
|
+
if (this.isActionSheetExpanded) {
|
|
15026
|
+
this._tempValue = newValue.slice();
|
|
15027
|
+
}
|
|
15028
|
+
else {
|
|
15029
|
+
this.value = newValue;
|
|
15030
|
+
this.emitValueChange(this.value);
|
|
15031
|
+
}
|
|
13587
15032
|
}
|
|
13588
15033
|
/**
|
|
13589
15034
|
* @hidden
|
|
@@ -13593,6 +15038,9 @@ class MultiSelectTreeComponent {
|
|
|
13593
15038
|
if (this.popupRef) {
|
|
13594
15039
|
this._searchableNodes = getSearchableItems(this.treeViewId, this.popupRef.popupElement);
|
|
13595
15040
|
}
|
|
15041
|
+
if (this.isActionSheetExpanded) {
|
|
15042
|
+
this._searchableNodes = getSearchableItems(this.treeViewId, this.actionSheet.element.nativeElement);
|
|
15043
|
+
}
|
|
13596
15044
|
});
|
|
13597
15045
|
}
|
|
13598
15046
|
/**
|
|
@@ -13657,9 +15105,28 @@ class MultiSelectTreeComponent {
|
|
|
13657
15105
|
});
|
|
13658
15106
|
}
|
|
13659
15107
|
}
|
|
15108
|
+
closeActionSheet() {
|
|
15109
|
+
this.wrapper.nativeElement.focus();
|
|
15110
|
+
this.actionSheet.toggle(false);
|
|
15111
|
+
if (this.filterable) {
|
|
15112
|
+
this.actionSheetSearchBar.value = '';
|
|
15113
|
+
this.filterChange.emit('');
|
|
15114
|
+
}
|
|
15115
|
+
this.closed.emit();
|
|
15116
|
+
}
|
|
15117
|
+
openActionSheet() {
|
|
15118
|
+
this.windowSize = windowSize();
|
|
15119
|
+
this.actionSheet.toggle(true);
|
|
15120
|
+
this.title = setActionSheetTitle(this.wrapper, this.title);
|
|
15121
|
+
this.cdr.detectChanges();
|
|
15122
|
+
updateActionSheetAdaptiveAppearance(this.actionSheet, this.windowSize, this.renderer);
|
|
15123
|
+
this.cdr.detectChanges();
|
|
15124
|
+
this.opened.emit();
|
|
15125
|
+
this.filterable && this.actionSheetSearchBar.focus();
|
|
15126
|
+
}
|
|
13660
15127
|
}
|
|
13661
|
-
MultiSelectTreeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: MultiSelectTreeComponent, deps: [{ token: i0.Injector }, { token: i0.ElementRef }, { token: i2.PopupService }, { token: i0.Renderer2 }, { token: NavigationService }, { token: i0.NgZone }, { token: i1.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: MultiSelectTreeLookupService }, { token: TOUCH_ENABLED, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
13662
|
-
MultiSelectTreeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: MultiSelectTreeComponent, selector: "kendo-multiselecttree", inputs: { tabindex: "tabindex", size: "size", rounded: "rounded", fillMode: "fillMode", popupSettings: "popupSettings", checkableSettings: "checkableSettings", data: "data", value: "value", dataItems: "dataItems", textField: "textField", valueField: "valueField", valueDepth: "valueDepth", loading: "loading", placeholder: "placeholder", listHeight: "listHeight", disabled: "disabled", readonly: "readonly", valuePrimitive: "valuePrimitive", loadOnDemand: "loadOnDemand", focusableId: "focusableId", clearButton: "clearButton", filterable: "filterable", checkAll: "checkAll", hasChildren: "hasChildren", fetchChildren: "fetchChildren", isNodeExpanded: "isNodeExpanded", isNodeVisible: "isNodeVisible", itemDisabled: "itemDisabled", tagMapper: "tagMapper" }, outputs: { onFocus: "focus", onBlur: "blur", open: "open", opened: "opened", close: "close", closed: "closed", nodeExpand: "nodeExpand", nodeCollapse: "nodeCollapse", valueChange: "valueChange", removeTag: "removeTag", filterChange: "filterChange" }, host: { properties: { "class.k-multiselect-tree": "this.hostClasses", "class.k-input": "this.hostClasses", "class.k-disabled": "this.isDisabled", "attr.aria-disabled": "this.isDisabled", "attr.aria-controls": "this.hostAriaControls", "attr.aria-autocomplete": "this.hostAriaAutocomplete", "class.k-loading": "this.isLoading", "attr.aria-invalid": "this.hostAriaInvalid", "attr.aria-busy": "this.isBusy", "attr.id": "this.id", "attr.dir": "this.direction", "attr.tabindex": "this.hostTabIndex", "attr.role": "this.role", "attr.aria-expanded": "this.isAriaExpanded", "attr.aria-haspopup": "this.ariaHasPopup", "attr.readonly": "this.isReadonly", "attr.aria-describedby": "this.ariaDescribedBy", "attr.aria-activedescendant": "this.ariaActiveDescendant" } }, providers: [
|
|
15128
|
+
MultiSelectTreeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: MultiSelectTreeComponent, deps: [{ token: i0.Injector }, { token: i0.ElementRef }, { token: i2$1.PopupService }, { token: i0.Renderer2 }, { token: NavigationService }, { token: i0.NgZone }, { token: i1.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: MultiSelectTreeLookupService }, { token: TOUCH_ENABLED, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
15129
|
+
MultiSelectTreeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: MultiSelectTreeComponent, selector: "kendo-multiselecttree", inputs: { adaptiveMode: "adaptiveMode", title: "title", subtitle: "subtitle", tabindex: "tabindex", size: "size", rounded: "rounded", fillMode: "fillMode", popupSettings: "popupSettings", checkableSettings: "checkableSettings", data: "data", value: "value", dataItems: "dataItems", textField: "textField", valueField: "valueField", valueDepth: "valueDepth", loading: "loading", placeholder: "placeholder", listHeight: "listHeight", disabled: "disabled", readonly: "readonly", valuePrimitive: "valuePrimitive", loadOnDemand: "loadOnDemand", focusableId: "focusableId", clearButton: "clearButton", filterable: "filterable", checkAll: "checkAll", hasChildren: "hasChildren", fetchChildren: "fetchChildren", isNodeExpanded: "isNodeExpanded", isNodeVisible: "isNodeVisible", itemDisabled: "itemDisabled", tagMapper: "tagMapper" }, outputs: { onFocus: "focus", onBlur: "blur", open: "open", opened: "opened", close: "close", closed: "closed", nodeExpand: "nodeExpand", nodeCollapse: "nodeCollapse", valueChange: "valueChange", removeTag: "removeTag", filterChange: "filterChange" }, host: { properties: { "class.k-multiselect-tree": "this.hostClasses", "class.k-input": "this.hostClasses", "class.k-disabled": "this.isDisabled", "attr.aria-disabled": "this.isDisabled", "attr.aria-controls": "this.hostAriaControls", "attr.aria-autocomplete": "this.hostAriaAutocomplete", "class.k-loading": "this.isLoading", "attr.aria-invalid": "this.hostAriaInvalid", "attr.aria-busy": "this.isBusy", "attr.id": "this.id", "attr.dir": "this.direction", "attr.tabindex": "this.hostTabIndex", "attr.role": "this.role", "attr.aria-expanded": "this.isAriaExpanded", "attr.aria-haspopup": "this.ariaHasPopup", "attr.readonly": "this.isReadonly", "attr.aria-describedby": "this.ariaDescribedBy", "attr.aria-activedescendant": "this.ariaActiveDescendant" } }, providers: [
|
|
13663
15130
|
LocalizationService,
|
|
13664
15131
|
NavigationService,
|
|
13665
15132
|
DataService,
|
|
@@ -13687,7 +15154,7 @@ MultiSelectTreeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0
|
|
|
13687
15154
|
provide: KendoInput,
|
|
13688
15155
|
useExisting: forwardRef(() => MultiSelectTreeComponent)
|
|
13689
15156
|
}
|
|
13690
|
-
], queries: [{ propertyName: "headerTemplate", first: true, predicate: HeaderTemplateDirective, descendants: true }, { propertyName: "footerTemplate", first: true, predicate: FooterTemplateDirective, descendants: true }, { propertyName: "nodeTemplate", first: true, predicate: NodeTemplateDirective, descendants: true }, { propertyName: "noDataTemplate", first: true, predicate: NoDataTemplateDirective, descendants: true }, { propertyName: "tagTemplate", first: true, predicate: TagTemplateDirective, descendants: true }, { propertyName: "groupTagTemplate", first: true, predicate: GroupTagTemplateDirective, descendants: true }], viewQueries: [{ propertyName: "popupTemplate", first: true, predicate: ["popupTemplate"], descendants: true, static: true }, { propertyName: "container", first: true, predicate: ["container"], descendants: true, read: ViewContainerRef, static: true }, { propertyName: "treeview", first: true, predicate: ["treeview"], descendants: true }, { propertyName: "filterInput", first: true, predicate: ["filterInput"], descendants: true }, { propertyName: "checkAllInput", first: true, predicate: ["checkAllInput"], descendants: true }], exportAs: ["kendoMultiSelectTree"], usesOnChanges: true, ngImport: i0, template: `
|
|
15157
|
+
], queries: [{ propertyName: "headerTemplate", first: true, predicate: HeaderTemplateDirective, descendants: true }, { propertyName: "footerTemplate", first: true, predicate: FooterTemplateDirective, descendants: true }, { propertyName: "nodeTemplate", first: true, predicate: NodeTemplateDirective, descendants: true }, { propertyName: "noDataTemplate", first: true, predicate: NoDataTemplateDirective, descendants: true }, { propertyName: "tagTemplate", first: true, predicate: TagTemplateDirective, descendants: true }, { propertyName: "groupTagTemplate", first: true, predicate: GroupTagTemplateDirective, descendants: true }], viewQueries: [{ propertyName: "responsiveRendererComponent", first: true, predicate: ResponsiveRendererComponent, descendants: true }, { propertyName: "popupTemplate", first: true, predicate: ["popupTemplate"], descendants: true, static: true }, { propertyName: "container", first: true, predicate: ["container"], descendants: true, read: ViewContainerRef, static: true }, { propertyName: "treeview", first: true, predicate: ["treeview"], descendants: true }, { propertyName: "filterInput", first: true, predicate: ["filterInput"], descendants: true }, { propertyName: "checkAllInput", first: true, predicate: ["checkAllInput"], descendants: true }], exportAs: ["kendoMultiSelectTree"], usesOnChanges: true, ngImport: i0, template: `
|
|
13691
15158
|
<ng-container kendoMultiSelectTreeLocalizedMessages
|
|
13692
15159
|
i18n-noDataText="kendo.multiselecttree.noDataText|The text displayed in the popup when there are no items"
|
|
13693
15160
|
noDataText="NO DATA FOUND"
|
|
@@ -13703,6 +15170,12 @@ MultiSelectTreeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0
|
|
|
13703
15170
|
|
|
13704
15171
|
i18n-popupLabel="kendo.multiselecttree.popupLabel|The label of the popup element that contains the list of options when its role is 'region'"
|
|
13705
15172
|
popupLabel="Options list"
|
|
15173
|
+
|
|
15174
|
+
i18n-applyButton="kendo.multiselecttree.applyButton|The text of the Apply button in the action sheet"
|
|
15175
|
+
applyButton="Apply"
|
|
15176
|
+
|
|
15177
|
+
i18n-cancelButton="kendo.multiselecttree.cancelButton|The text of the Cancel button in the action sheet"
|
|
15178
|
+
cancelButton="Cancel"
|
|
13706
15179
|
>
|
|
13707
15180
|
</ng-container>
|
|
13708
15181
|
<kendo-taglist
|
|
@@ -13749,10 +15222,30 @@ MultiSelectTreeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0
|
|
|
13749
15222
|
>
|
|
13750
15223
|
</span>
|
|
13751
15224
|
<ng-template #popupTemplate>
|
|
15225
|
+
<ng-container *ngTemplateOutlet="sharedPopupActionSheetTemplate"></ng-container>
|
|
15226
|
+
</ng-template>
|
|
15227
|
+
<ng-container #container></ng-container>
|
|
15228
|
+
<!--adaptive rendering-->
|
|
15229
|
+
<responsive-renderer
|
|
15230
|
+
[sharedPopupActionSheetTemplate]="sharedPopupActionSheetTemplate"
|
|
15231
|
+
[isActionSheetExpanded]="isActionSheetExpanded"
|
|
15232
|
+
[title]="title"
|
|
15233
|
+
[showTextInput]="filterable"
|
|
15234
|
+
[showActionButtons]="true"
|
|
15235
|
+
[subtitle]="subtitle"
|
|
15236
|
+
(closePopup)="togglePopup(false)"
|
|
15237
|
+
(onExpand)="onExpand()"
|
|
15238
|
+
(onCollapse)="onCollapse()"
|
|
15239
|
+
(textInputChange)="onFilterChange($event)"
|
|
15240
|
+
(onApply)="applyValue()"
|
|
15241
|
+
(onCancel)="cancelValue()"
|
|
15242
|
+
>
|
|
15243
|
+
</responsive-renderer>
|
|
15244
|
+
<ng-template #sharedPopupActionSheetTemplate>
|
|
13752
15245
|
<span
|
|
13753
|
-
*ngIf="filterable"
|
|
15246
|
+
*ngIf="filterable && !isActionSheetExpanded"
|
|
13754
15247
|
class="k-list-filter"
|
|
13755
|
-
|
|
15248
|
+
>
|
|
13756
15249
|
<span
|
|
13757
15250
|
class="k-textbox k-input"
|
|
13758
15251
|
[ngClass]="filterInputClasses"
|
|
@@ -13770,7 +15263,7 @@ MultiSelectTreeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0
|
|
|
13770
15263
|
(input)="handleFilterInputChange($event.target)"
|
|
13771
15264
|
[filterInput]="filterable && !touchEnabled"
|
|
13772
15265
|
[attr.aria-label]="messageFor('filterInputLabel')"
|
|
13773
|
-
(keydown)="handleKeydown($event)"
|
|
15266
|
+
(keydown)="handleKeydown($event, filterInput)"
|
|
13774
15267
|
[(ngModel)]="filter"
|
|
13775
15268
|
class="k-input-inner"
|
|
13776
15269
|
role="textbox"
|
|
@@ -13792,7 +15285,7 @@ MultiSelectTreeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0
|
|
|
13792
15285
|
[templateContext]="{
|
|
13793
15286
|
templateRef: headerTemplate?.templateRef
|
|
13794
15287
|
}">
|
|
13795
|
-
</ng-template>
|
|
15288
|
+
</ng-template>
|
|
13796
15289
|
<div *ngIf="checkAll" class="k-check-all">
|
|
13797
15290
|
<input
|
|
13798
15291
|
#checkAllInput
|
|
@@ -13875,8 +15368,9 @@ MultiSelectTreeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0
|
|
|
13875
15368
|
</ng-template>
|
|
13876
15369
|
</div>
|
|
13877
15370
|
</ng-template>
|
|
13878
|
-
|
|
13879
|
-
|
|
15371
|
+
|
|
15372
|
+
<kendo-resize-sensor *ngIf="isOpen || isAdaptiveModeEnabled" (resize)="onResize()"></kendo-resize-sensor>
|
|
15373
|
+
`, isInline: true, components: [{ type: TagListComponent, selector: "kendo-taglist", inputs: ["tags", "textField", "valueField", "valueDepth", "focused", "template", "groupTemplate", "disabled", "tagPrefix", "id", "size", "rounded", "fillMode", "disabledIndices"], outputs: ["removeTag"] }, { type: i8.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass"], exportAs: ["kendoIconWrapper"] }, { type: ResponsiveRendererComponent, selector: "responsive-renderer", inputs: ["title", "showActionButtons", "subtitle", "size", "showTextInput", "sharedPopupActionSheetTemplate", "isActionSheetExpanded", "text", "placeholder"], outputs: ["closePopup", "textInputChange", "navigate", "onExpand", "onCollapse", "onApply", "onCancel"] }, { type: i1$1.TreeViewComponent, selector: "kendo-treeview", inputs: ["filterInputPlaceholder", "expandDisabledNodes", "animate", "nodeTemplate", "loadMoreButtonTemplate", "trackBy", "nodes", "textField", "hasChildren", "isChecked", "isDisabled", "isExpanded", "isSelected", "isVisible", "navigable", "children", "loadOnDemand", "filterable", "filter", "size", "disableParentNodesOnly"], outputs: ["childrenLoaded", "blur", "focus", "expand", "collapse", "nodeDragStart", "nodeDrag", "filterStateChange", "nodeDrop", "nodeDragEnd", "addItem", "removeItem", "checkedChange", "selectionChange", "filterChange", "nodeClick", "nodeDblClick"], exportAs: ["kendoTreeView"] }, { type: i9.ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }], directives: [{ type: LocalizedMessagesDirective, selector: "\n [kendoDropDownListLocalizedMessages],\n [kendoDropDownTreeLocalizedMessages],\n [kendoComboBoxLocalizedMessages],\n [kendoMultiColumnComboBoxLocalizedMessages],\n [kendoAutoCompleteLocalizedMessages],\n [kendoMultiSelectLocalizedMessages],\n [kendoMultiSelectTreeLocalizedMessages]\n " }, { type: i13.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i13.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i13.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i14.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: FilterInputDirective, selector: "[filterInput]", inputs: ["filterInput"] }, { type: i14.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i14.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i9.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { type: TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }, { type: CheckAllDirective, selector: "[checkAll]", inputs: ["lastAction", "treeview", "checkedItems", "valueField", "checkAll"], outputs: ["checkedItemsChange"] }, { type: CheckDirective, selector: "[kendoMultiSelectTreeCheckable]", inputs: ["checkable", "valueField", "checkedItems"], outputs: ["checkedItemsChange"] }] });
|
|
13880
15374
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: MultiSelectTreeComponent, decorators: [{
|
|
13881
15375
|
type: Component,
|
|
13882
15376
|
args: [{
|
|
@@ -13927,6 +15421,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
13927
15421
|
|
|
13928
15422
|
i18n-popupLabel="kendo.multiselecttree.popupLabel|The label of the popup element that contains the list of options when its role is 'region'"
|
|
13929
15423
|
popupLabel="Options list"
|
|
15424
|
+
|
|
15425
|
+
i18n-applyButton="kendo.multiselecttree.applyButton|The text of the Apply button in the action sheet"
|
|
15426
|
+
applyButton="Apply"
|
|
15427
|
+
|
|
15428
|
+
i18n-cancelButton="kendo.multiselecttree.cancelButton|The text of the Cancel button in the action sheet"
|
|
15429
|
+
cancelButton="Cancel"
|
|
13930
15430
|
>
|
|
13931
15431
|
</ng-container>
|
|
13932
15432
|
<kendo-taglist
|
|
@@ -13973,10 +15473,30 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
13973
15473
|
>
|
|
13974
15474
|
</span>
|
|
13975
15475
|
<ng-template #popupTemplate>
|
|
15476
|
+
<ng-container *ngTemplateOutlet="sharedPopupActionSheetTemplate"></ng-container>
|
|
15477
|
+
</ng-template>
|
|
15478
|
+
<ng-container #container></ng-container>
|
|
15479
|
+
<!--adaptive rendering-->
|
|
15480
|
+
<responsive-renderer
|
|
15481
|
+
[sharedPopupActionSheetTemplate]="sharedPopupActionSheetTemplate"
|
|
15482
|
+
[isActionSheetExpanded]="isActionSheetExpanded"
|
|
15483
|
+
[title]="title"
|
|
15484
|
+
[showTextInput]="filterable"
|
|
15485
|
+
[showActionButtons]="true"
|
|
15486
|
+
[subtitle]="subtitle"
|
|
15487
|
+
(closePopup)="togglePopup(false)"
|
|
15488
|
+
(onExpand)="onExpand()"
|
|
15489
|
+
(onCollapse)="onCollapse()"
|
|
15490
|
+
(textInputChange)="onFilterChange($event)"
|
|
15491
|
+
(onApply)="applyValue()"
|
|
15492
|
+
(onCancel)="cancelValue()"
|
|
15493
|
+
>
|
|
15494
|
+
</responsive-renderer>
|
|
15495
|
+
<ng-template #sharedPopupActionSheetTemplate>
|
|
13976
15496
|
<span
|
|
13977
|
-
*ngIf="filterable"
|
|
15497
|
+
*ngIf="filterable && !isActionSheetExpanded"
|
|
13978
15498
|
class="k-list-filter"
|
|
13979
|
-
|
|
15499
|
+
>
|
|
13980
15500
|
<span
|
|
13981
15501
|
class="k-textbox k-input"
|
|
13982
15502
|
[ngClass]="filterInputClasses"
|
|
@@ -13994,7 +15514,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
13994
15514
|
(input)="handleFilterInputChange($event.target)"
|
|
13995
15515
|
[filterInput]="filterable && !touchEnabled"
|
|
13996
15516
|
[attr.aria-label]="messageFor('filterInputLabel')"
|
|
13997
|
-
(keydown)="handleKeydown($event)"
|
|
15517
|
+
(keydown)="handleKeydown($event, filterInput)"
|
|
13998
15518
|
[(ngModel)]="filter"
|
|
13999
15519
|
class="k-input-inner"
|
|
14000
15520
|
role="textbox"
|
|
@@ -14016,7 +15536,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
14016
15536
|
[templateContext]="{
|
|
14017
15537
|
templateRef: headerTemplate?.templateRef
|
|
14018
15538
|
}">
|
|
14019
|
-
</ng-template>
|
|
15539
|
+
</ng-template>
|
|
14020
15540
|
<div *ngIf="checkAll" class="k-check-all">
|
|
14021
15541
|
<input
|
|
14022
15542
|
#checkAllInput
|
|
@@ -14099,11 +15619,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
14099
15619
|
</ng-template>
|
|
14100
15620
|
</div>
|
|
14101
15621
|
</ng-template>
|
|
14102
|
-
|
|
15622
|
+
|
|
15623
|
+
<kendo-resize-sensor *ngIf="isOpen || isAdaptiveModeEnabled" (resize)="onResize()"></kendo-resize-sensor>
|
|
14103
15624
|
`
|
|
14104
15625
|
}]
|
|
14105
15626
|
}], ctorParameters: function () {
|
|
14106
|
-
return [{ type: i0.Injector }, { type: i0.ElementRef }, { type: i2.PopupService }, { type: i0.Renderer2 }, { type: NavigationService }, { type: i0.NgZone }, { type: i1.LocalizationService }, { type: i0.ChangeDetectorRef }, { type: MultiSelectTreeLookupService }, { type: undefined, decorators: [{
|
|
15627
|
+
return [{ type: i0.Injector }, { type: i0.ElementRef }, { type: i2$1.PopupService }, { type: i0.Renderer2 }, { type: NavigationService }, { type: i0.NgZone }, { type: i1.LocalizationService }, { type: i0.ChangeDetectorRef }, { type: MultiSelectTreeLookupService }, { type: undefined, decorators: [{
|
|
14107
15628
|
type: Optional
|
|
14108
15629
|
}, {
|
|
14109
15630
|
type: Inject,
|
|
@@ -14163,6 +15684,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
14163
15684
|
}], ariaActiveDescendant: [{
|
|
14164
15685
|
type: HostBinding,
|
|
14165
15686
|
args: ['attr.aria-activedescendant']
|
|
15687
|
+
}], adaptiveMode: [{
|
|
15688
|
+
type: Input
|
|
15689
|
+
}], title: [{
|
|
15690
|
+
type: Input
|
|
15691
|
+
}], subtitle: [{
|
|
15692
|
+
type: Input
|
|
15693
|
+
}], responsiveRendererComponent: [{
|
|
15694
|
+
type: ViewChild,
|
|
15695
|
+
args: [ResponsiveRendererComponent]
|
|
14166
15696
|
}], headerTemplate: [{
|
|
14167
15697
|
type: ContentChild,
|
|
14168
15698
|
args: [HeaderTemplateDirective, { static: false }]
|
|
@@ -14700,7 +16230,8 @@ const INTERNAL_DIRECTIVES = [
|
|
|
14700
16230
|
TemplateContextDirective,
|
|
14701
16231
|
TagListComponent,
|
|
14702
16232
|
CheckDirective,
|
|
14703
|
-
CheckAllDirective
|
|
16233
|
+
CheckAllDirective,
|
|
16234
|
+
ResponsiveRendererComponent
|
|
14704
16235
|
];
|
|
14705
16236
|
/**
|
|
14706
16237
|
* @hidden
|
|
@@ -14715,21 +16246,23 @@ SharedModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "
|
|
|
14715
16246
|
TemplateContextDirective,
|
|
14716
16247
|
TagListComponent,
|
|
14717
16248
|
CheckDirective,
|
|
14718
|
-
CheckAllDirective
|
|
16249
|
+
CheckAllDirective,
|
|
16250
|
+
ResponsiveRendererComponent], imports: [CommonModule, FormsModule, ReactiveFormsModule, PopupModule, ResizeSensorModule, SharedDirectivesModule, EventsModule, IconsModule, ActionSheetModule, ButtonModule, TextBoxModule], exports: [ListComponent,
|
|
14719
16251
|
ListItemDirective,
|
|
14720
16252
|
SelectableDirective,
|
|
14721
16253
|
SearchBarComponent,
|
|
14722
16254
|
TemplateContextDirective,
|
|
14723
16255
|
TagListComponent,
|
|
14724
16256
|
CheckDirective,
|
|
14725
|
-
CheckAllDirective,
|
|
14726
|
-
|
|
16257
|
+
CheckAllDirective,
|
|
16258
|
+
ResponsiveRendererComponent, CommonModule, FormsModule, ReactiveFormsModule, PopupModule, ResizeSensorModule, SharedDirectivesModule, EventsModule, IconsModule, ActionSheetModule, ButtonModule, TextBoxModule] });
|
|
16259
|
+
SharedModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SharedModule, imports: [[CommonModule, FormsModule, ReactiveFormsModule, PopupModule, ResizeSensorModule, SharedDirectivesModule, EventsModule, IconsModule, ActionSheetModule, ButtonModule, TextBoxModule], CommonModule, FormsModule, ReactiveFormsModule, PopupModule, ResizeSensorModule, SharedDirectivesModule, EventsModule, IconsModule, ActionSheetModule, ButtonModule, TextBoxModule] });
|
|
14727
16260
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SharedModule, decorators: [{
|
|
14728
16261
|
type: NgModule,
|
|
14729
16262
|
args: [{
|
|
14730
16263
|
declarations: [INTERNAL_DIRECTIVES],
|
|
14731
|
-
exports: [INTERNAL_DIRECTIVES, CommonModule, FormsModule, ReactiveFormsModule, PopupModule, ResizeSensorModule, SharedDirectivesModule, EventsModule, IconsModule],
|
|
14732
|
-
imports: [CommonModule, FormsModule, ReactiveFormsModule, PopupModule, ResizeSensorModule, SharedDirectivesModule, EventsModule, IconsModule]
|
|
16264
|
+
exports: [INTERNAL_DIRECTIVES, CommonModule, FormsModule, ReactiveFormsModule, PopupModule, ResizeSensorModule, SharedDirectivesModule, EventsModule, IconsModule, ActionSheetModule, ButtonModule, TextBoxModule],
|
|
16265
|
+
imports: [CommonModule, FormsModule, ReactiveFormsModule, PopupModule, ResizeSensorModule, SharedDirectivesModule, EventsModule, IconsModule, ActionSheetModule, ButtonModule, TextBoxModule]
|
|
14733
16266
|
}]
|
|
14734
16267
|
}] });
|
|
14735
16268
|
|
|
@@ -15076,5 +16609,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
15076
16609
|
* Generated bundle index. Do not edit.
|
|
15077
16610
|
*/
|
|
15078
16611
|
|
|
15079
|
-
export { AutoCompleteComponent, AutoCompleteModule, CheckAllDirective, CheckDirective, ColumnCellTemplateDirective, ColumnHeaderTemplateDirective, ComboBoxColumnComponent, ComboBoxComponent, ComboBoxModule, CustomItemTemplateDirective, CustomMessagesComponent, DropDownListComponent, DropDownListModule, DropDownTreeComponent, DropDownTreeFlatBindingDirective, DropDownTreeHierarchyBindingDirective, DropDownTreesExpandDirective, DropDownTreesModule, DropDownsModule, FilterDirective, FilterInputDirective, FilterableComponent, FixedGroupTemplateDirective, FooterTemplateDirective, GroupTagTemplateDirective, GroupTemplateDirective, HeaderTemplateDirective, ItemTemplateDirective, ListComponent, ListItemDirective, LocalizedMessagesDirective, MultiColumnComboBoxComponent, MultiSelectComponent, MultiSelectModule, MultiSelectTreeComponent, MultiSelectTreeFlatBindingDirective, MultiSelectTreeHierarchyBindingDirective, MultiSelectTreeSummaryTagDirective, NoDataTemplateDirective, NodeTemplateDirective, PreventableEvent, RemoveTagEvent, SearchBarComponent, SelectableDirective, SharedDirectivesModule, SharedModule, SummaryTagDirective, TagListComponent, TagTemplateDirective, TemplateContextDirective, ValueTemplateDirective };
|
|
16612
|
+
export { AutoCompleteComponent, AutoCompleteModule, CheckAllDirective, CheckDirective, ColumnCellTemplateDirective, ColumnHeaderTemplateDirective, ComboBoxColumnComponent, ComboBoxComponent, ComboBoxModule, CustomItemTemplateDirective, CustomMessagesComponent, DropDownListComponent, DropDownListModule, DropDownTreeComponent, DropDownTreeFlatBindingDirective, DropDownTreeHierarchyBindingDirective, DropDownTreesExpandDirective, DropDownTreesModule, DropDownsModule, FilterDirective, FilterInputDirective, FilterableComponent, FixedGroupTemplateDirective, FooterTemplateDirective, GroupTagTemplateDirective, GroupTemplateDirective, HeaderTemplateDirective, ItemTemplateDirective, ListComponent, ListItemDirective, LocalizedMessagesDirective, MultiColumnComboBoxComponent, MultiSelectComponent, MultiSelectModule, MultiSelectTreeComponent, MultiSelectTreeFlatBindingDirective, MultiSelectTreeHierarchyBindingDirective, MultiSelectTreeSummaryTagDirective, NoDataTemplateDirective, NodeTemplateDirective, PreventableEvent, RemoveTagEvent, ResponsiveRendererComponent, SearchBarComponent, SelectableDirective, SharedDirectivesModule, SharedModule, SummaryTagDirective, TagListComponent, TagTemplateDirective, TemplateContextDirective, ValueTemplateDirective };
|
|
15080
16613
|
|