@progress/kendo-angular-listbox 17.0.0-develop.9 → 17.0.1-develop.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +31 -16
- package/data-binding.directive.d.ts +1 -1
- package/{esm2020 → esm2022}/data-binding.directive.mjs +13 -6
- package/{esm2020 → esm2022}/item-selectable.directive.mjs +5 -3
- package/{esm2020 → esm2022}/item-template.directive.mjs +4 -3
- package/{esm2020 → esm2022}/keyboard-navigation.service.mjs +13 -11
- package/{esm2020 → esm2022}/listbox.component.mjs +124 -72
- package/{esm2020 → esm2022}/listbox.module.mjs +4 -4
- package/{esm2020 → esm2022}/localization/custom-messages.component.mjs +9 -8
- package/{esm2020 → esm2022}/localization/localized-messages.directive.mjs +9 -8
- package/esm2022/localization/messages.mjs +66 -0
- package/{esm2020 → esm2022}/package-metadata.mjs +2 -2
- package/{esm2020 → esm2022}/selection.service.mjs +5 -7
- package/{fesm2020 → fesm2022}/progress-kendo-angular-listbox.mjs +223 -127
- package/item-selectable.directive.d.ts +1 -1
- package/listbox.component.d.ts +1 -1
- package/localization/messages.d.ts +1 -1
- package/package.json +14 -20
- package/schematics/ngAdd/index.js +4 -4
- package/size.d.ts +1 -1
- package/toolbar.d.ts +3 -3
- package/util.d.ts +2 -2
- package/esm2020/localization/messages.mjs +0 -34
- package/fesm2015/progress-kendo-angular-listbox.mjs +0 -1362
- /package/{esm2020 → esm2022}/constants.mjs +0 -0
- /package/{esm2020 → esm2022}/directives.mjs +0 -0
- /package/{esm2020 → esm2022}/index.mjs +0 -0
- /package/{esm2020 → esm2022}/progress-kendo-angular-listbox.mjs +0 -0
- /package/{esm2020 → esm2022}/size.mjs +0 -0
- /package/{esm2020 → esm2022}/toolbar.mjs +0 -0
- /package/{esm2020 → esm2022}/util.mjs +0 -0
package/README.md
CHANGED
|
@@ -1,31 +1,46 @@
|
|
|
1
|
-
<a href="https://www.telerik.com/kendo-angular-ui/" target="_blank">
|
|
1
|
+
<a href="https://www.telerik.com/kendo-angular-ui/components/listbox" target="_blank">
|
|
2
2
|
<img width="631" src="https://www.telerik.com/kendo-angular-ui/npm-banner.svg">
|
|
3
3
|
</a>
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## Kendo UI for Angular ListBox Component
|
|
6
6
|
|
|
7
|
-
Kendo UI for Angular is a commercial UI library designed and built for developing business applications with Angular. Every UI component in the Kendo UI for Angular suite has been built from the ground-up specifically for Angular.
|
|
8
|
-
|
|
9
|
-
> **Important**
|
|
10
7
|
> * This package is part of the [Kendo UI for Angular](https://www.telerik.com/kendo-angular-ui/)—a commercial UI library.
|
|
11
|
-
> * You
|
|
12
|
-
> *
|
|
13
|
-
|
|
8
|
+
> * You must [install a license key](https://www.telerik.com/kendo-angular-ui/my-license) when adding the package to your project. To receive a license key, either [purchase a license](https://www.telerik.com/purchase/kendo-ui) or register for a [free trial](https://www.telerik.com/download-login-v2-kendo-angular-ui).
|
|
9
|
+
> * The 30-day free trial gives you access to all the Kendo UI for Angular components and their full functionality. Additionally, for the period of your license, you get access to our legendary technical support provided directly by the Kendo UI for Angular team!
|
|
10
|
+
|
|
11
|
+
The Kendo UI for Angular ListBox is a component that displays a list of items. It allows for item selection, reordering, and transfer between two or more ListBox components.
|
|
12
|
+
|
|
13
|
+
## Key Features
|
|
14
|
+
|
|
15
|
+
Among the many features which the Kendo UI for Angular ListBox delivers are:
|
|
16
|
+
|
|
17
|
+
* Data Binding—The ListBox component accepts two types of data—an array of strings or an array of objects. [Read more about the ListBox data binding...](https://www.telerik.com/kendo-angular-ui/components/listbox/data-binding)
|
|
18
|
+
* Item Selection—The ListBox component allows you to select rows through interaction with the row itself. The component emits a [`selectionChange`](https://www.telerik.com/kendo-angular-ui/components/listbox/api/listboxcomponent#selectionchange) event and the index of the currently selected item can be accessed through the [`selectedIndex`](https://www.telerik.com/kendo-angular-ui/components/listbox/api/listboxcomponent#selectedindex) field.
|
|
19
|
+
* Configurable Toolbar—The ListBox enables you to customize both the appearance and the functionality of its toolbar. [Read more about the ListBox toolbar...](https://www.telerik.com/kendo-angular-ui/components/listbox/toolbar)
|
|
20
|
+
* Templates—The ListBox enables you to customize the content of its items. [Read more about the ListBox templates...](https://www.telerik.com/kendo-angular-ui/components/listbox/templates)
|
|
21
|
+
* Appearance—The ListBox provides built-in options that allow you to customize its appearance. [Read more about customizing the appearance of the ListBox...](https://www.telerik.com/kendo-angular-ui/components/listbox/appearance)
|
|
22
|
+
* Connecting Multiple ListBox Components—It is possible to daisy-chain two or more instances of the ListBox component. [Read more about linking ListBox components...](https://www.telerik.com/kendo-angular-ui/components/listbox/data-binding#using-the-data-binding-directive)
|
|
23
|
+
* Drag and Drop Between ListBox Components—The Kendo UI for Angular ListBox enables you to drag and drop rows from one ListBox to another ListBox. This allows you to easily maintain the items in each list and organize them in the desired way. [Read more about the drag and drop between ListBox components...](https://www.telerik.com/kendo-angular-ui/components/listbox/drag-and-drop)
|
|
24
|
+
* Accessibility—The Kendo UI for Angular ListBox component is [WCAG 2.2 AA](https://www.w3.org/TR/WCAG22/) and [Section 508](http://www.section508.gov/) compliant, incorporating [WAI-ARIA](https://www.w3.org/WAI/ARIA/apg/) best practices for modern web accessibility. The ListBox is also tested against the popular screen readers, including JAWS and NVDA. [Read more about the accessibility of the ListBox...](https://www.telerik.com/kendo-angular-ui/components/listbox/accessibility)
|
|
25
|
+
* Keyboard Navigation—The ListBox supports a number of keyboard shortcuts which allow users to accomplish various commands. [Read more about the keyboard navigation of the Grid...](https://www.telerik.com/kendo-angular-ui/components/listbox/keyboard-navigation)
|
|
26
|
+
* Globalization—The Kendo UI for Angular ListBox supports globalization to ensure that it can fit well in any application, no matter what languages and locales need to be supported. Additionally, the ListBox supports rendering in a right-to-left (RTL) direction. [Read more about the globalization of the ListBox...](https://www.telerik.com/kendo-angular-ui/components/listbox/globalization)
|
|
27
|
+
|
|
28
|
+
## Support Options
|
|
29
|
+
|
|
30
|
+
For any issues you might encounter while working with the Kendo UI for Angular ListBox, you have the following support channels available:
|
|
31
|
+
|
|
32
|
+
* Industry-leading technical support—Kendo UI for Angular paid license holders and users with an active (free) trial license can take advantage of our outstanding customer support. To submit a ticket, use the [dedicated Kendo UI for Angular support system](https://www.telerik.com/account/support-center/contact-us/technical-support).
|
|
33
|
+
* Product forums—The [Kendo UI for Angular forums](https://www.telerik.com/forums/kendo-angular-ui) are part of the free support you can get from the community and from the Kendo UI for Angular team.
|
|
34
|
+
* Feedback portal—The [Kendo UI for Angular feedback portal](https://feedback.telerik.com/kendo-angular-ui) is where you can request and vote for new features to be added.
|
|
14
35
|
|
|
15
36
|
## Resources
|
|
16
37
|
|
|
17
|
-
* [
|
|
38
|
+
* [Getting Started with Kendo UI for Angular](https://www.telerik.com/kendo-angular-ui/getting-started)
|
|
39
|
+
* [Getting Started with the Kendo UI for Angular ListBox](https://www.telerik.com/kendo-angular-ui/components/listbox/installation/getting-started)
|
|
18
40
|
* [Demos, documentation, and component reference](https://www.telerik.com/kendo-angular-ui/components)
|
|
19
41
|
* [Blogs](http://www.telerik.com/blogs/kendo-ui)
|
|
20
42
|
* [Kendo UI for Angular pricing and licensing](https://www.telerik.com/purchase/kendo-ui)
|
|
21
43
|
|
|
22
|
-
## Questions and Feedback
|
|
23
|
-
|
|
24
|
-
* [Official Forums](https://www.telerik.com/forums/kendo-angular-ui)
|
|
25
|
-
* [GitHub Issues](https://github.com/telerik/kendo-angular/issues)
|
|
26
|
-
* [Feedback Portal](https://feedback.telerik.com/kendo-angular-ui)
|
|
27
|
-
* [StackOverflow](https://stackoverflow.com/questions/tagged/kendo-ui-angular2)
|
|
28
|
-
|
|
29
44
|
*Copyright © 2024 Progress Software Corporation and/or one of its subsidiaries or affiliates. All rights reserved.*
|
|
30
45
|
|
|
31
46
|
*Progress, Telerik, and certain product names used herein are trademarks or registered trademarks of Progress Software Corporation and/or one of its subsidiaries or affiliates in the U.S. and/or other countries.*
|
|
@@ -33,5 +33,5 @@ export declare class DataBindingDirective implements OnChanges, OnDestroy {
|
|
|
33
33
|
private transferItem;
|
|
34
34
|
private transferAll;
|
|
35
35
|
static ɵfac: i0.ɵɵFactoryDeclaration<DataBindingDirective, never>;
|
|
36
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<DataBindingDirective, "[kendoListBoxDataBinding]", never, { "connectedWith": "connectedWith"; }, {}, never, never, true, never>;
|
|
36
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<DataBindingDirective, "[kendoListBoxDataBinding]", never, { "connectedWith": { "alias": "connectedWith"; "required": false; }; }, {}, never, never, true, never>;
|
|
37
37
|
}
|
|
@@ -13,11 +13,18 @@ import * as i1 from "./listbox.component";
|
|
|
13
13
|
* A directive which manages the functoinality of the ListBox tools out of the box, and modifies the provided data accordingly.
|
|
14
14
|
*/
|
|
15
15
|
export class DataBindingDirective {
|
|
16
|
+
listbox;
|
|
17
|
+
/**
|
|
18
|
+
* Specifies the ListBoxComponent instance with which the current ListBox should be connected.
|
|
19
|
+
* When two listboxes are linked via this input, one can transfer items between them.
|
|
20
|
+
*/
|
|
21
|
+
connectedWith;
|
|
22
|
+
actionClickSub = new Subscription();
|
|
23
|
+
selectedBoxSub = new Subscription();
|
|
24
|
+
connectedWithSub = new Subscription();
|
|
25
|
+
selectedBox;
|
|
16
26
|
constructor(listbox) {
|
|
17
27
|
this.listbox = listbox;
|
|
18
|
-
this.actionClickSub = new Subscription();
|
|
19
|
-
this.selectedBoxSub = new Subscription();
|
|
20
|
-
this.connectedWithSub = new Subscription();
|
|
21
28
|
this.selectedBox = this.listbox;
|
|
22
29
|
this.connectedWithSub.add(this.listbox.getChildListbox.subscribe(() => {
|
|
23
30
|
this.listbox.childListbox = this.connectedWith;
|
|
@@ -133,10 +140,10 @@ export class DataBindingDirective {
|
|
|
133
140
|
target.selectItem(target.data.length - 1);
|
|
134
141
|
this.selectedBox = target;
|
|
135
142
|
}
|
|
143
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DataBindingDirective, deps: [{ token: i1.ListBoxComponent }], target: i0.ɵɵFactoryTarget.Directive });
|
|
144
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: DataBindingDirective, isStandalone: true, selector: "[kendoListBoxDataBinding]", inputs: { connectedWith: "connectedWith" }, usesOnChanges: true, ngImport: i0 });
|
|
136
145
|
}
|
|
137
|
-
|
|
138
|
-
DataBindingDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: DataBindingDirective, isStandalone: true, selector: "[kendoListBoxDataBinding]", inputs: { connectedWith: "connectedWith" }, usesOnChanges: true, ngImport: i0 });
|
|
139
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DataBindingDirective, decorators: [{
|
|
146
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DataBindingDirective, decorators: [{
|
|
140
147
|
type: Directive,
|
|
141
148
|
args: [{
|
|
142
149
|
selector: '[kendoListBoxDataBinding]',
|
|
@@ -10,6 +10,8 @@ import * as i1 from "./selection.service";
|
|
|
10
10
|
* @hidden
|
|
11
11
|
*/
|
|
12
12
|
export class ItemSelectableDirective {
|
|
13
|
+
selectionService;
|
|
14
|
+
index;
|
|
13
15
|
constructor(selectionService) {
|
|
14
16
|
this.selectionService = selectionService;
|
|
15
17
|
}
|
|
@@ -20,10 +22,10 @@ export class ItemSelectableDirective {
|
|
|
20
22
|
event.stopPropagation();
|
|
21
23
|
this.selectionService.select(this.index);
|
|
22
24
|
}
|
|
25
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ItemSelectableDirective, deps: [{ token: i1.ListBoxSelectionService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
26
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: ItemSelectableDirective, isStandalone: true, selector: "[kendoListBoxItemSelectable]", inputs: { index: "index" }, host: { listeners: { "mousedown": "onClick($event)" }, properties: { "class.k-selected": "this.selectedClassName" } }, ngImport: i0 });
|
|
23
27
|
}
|
|
24
|
-
|
|
25
|
-
ItemSelectableDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: ItemSelectableDirective, isStandalone: true, selector: "[kendoListBoxItemSelectable]", inputs: { index: "index" }, host: { listeners: { "mousedown": "onClick($event)" }, properties: { "class.k-selected": "this.selectedClassName" } }, ngImport: i0 });
|
|
26
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ItemSelectableDirective, decorators: [{
|
|
28
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ItemSelectableDirective, decorators: [{
|
|
27
29
|
type: Directive,
|
|
28
30
|
args: [{
|
|
29
31
|
selector: '[kendoListBoxItemSelectable]',
|
|
@@ -24,13 +24,14 @@ import * as i0 from "@angular/core";
|
|
|
24
24
|
* ```
|
|
25
25
|
*/
|
|
26
26
|
export class ItemTemplateDirective {
|
|
27
|
+
templateRef;
|
|
27
28
|
constructor(templateRef) {
|
|
28
29
|
this.templateRef = templateRef;
|
|
29
30
|
}
|
|
31
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ItemTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
32
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: ItemTemplateDirective, isStandalone: true, selector: "[kendoListBoxItemTemplate]", ngImport: i0 });
|
|
30
33
|
}
|
|
31
|
-
|
|
32
|
-
ItemTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: ItemTemplateDirective, isStandalone: true, selector: "[kendoListBoxItemTemplate]", ngImport: i0 });
|
|
33
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ItemTemplateDirective, decorators: [{
|
|
34
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ItemTemplateDirective, decorators: [{
|
|
34
35
|
type: Directive,
|
|
35
36
|
args: [{
|
|
36
37
|
selector: '[kendoListBoxItemTemplate]',
|
|
@@ -12,17 +12,19 @@ import * as i0 from "@angular/core";
|
|
|
12
12
|
* @hidden
|
|
13
13
|
*/
|
|
14
14
|
export class KeyboardNavigationService {
|
|
15
|
+
renderer;
|
|
16
|
+
zone;
|
|
17
|
+
selectedListboxItemIndex = 0;
|
|
18
|
+
focusedListboxItemIndex = 0;
|
|
19
|
+
focusedToolIndex = 0;
|
|
20
|
+
onDeleteEvent = new EventEmitter();
|
|
21
|
+
onMoveSelectedItem = new EventEmitter();
|
|
22
|
+
onTransferAllEvent = new EventEmitter();
|
|
23
|
+
onShiftSelectedItem = new EventEmitter();
|
|
24
|
+
onSelectionChange = new EventEmitter();
|
|
15
25
|
constructor(renderer, zone) {
|
|
16
26
|
this.renderer = renderer;
|
|
17
27
|
this.zone = zone;
|
|
18
|
-
this.selectedListboxItemIndex = 0;
|
|
19
|
-
this.focusedListboxItemIndex = 0;
|
|
20
|
-
this.focusedToolIndex = 0;
|
|
21
|
-
this.onDeleteEvent = new EventEmitter();
|
|
22
|
-
this.onMoveSelectedItem = new EventEmitter();
|
|
23
|
-
this.onTransferAllEvent = new EventEmitter();
|
|
24
|
-
this.onShiftSelectedItem = new EventEmitter();
|
|
25
|
-
this.onSelectionChange = new EventEmitter();
|
|
26
28
|
}
|
|
27
29
|
onKeyDown(event, toolsRef, toolbar, childListbox, parentListbox, listboxItems) {
|
|
28
30
|
const target = event.target;
|
|
@@ -278,9 +280,9 @@ export class KeyboardNavigationService {
|
|
|
278
280
|
this.changeTabindex(previousItem, currentItem);
|
|
279
281
|
}
|
|
280
282
|
}
|
|
283
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: KeyboardNavigationService, deps: [{ token: i0.Renderer2 }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
284
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: KeyboardNavigationService });
|
|
281
285
|
}
|
|
282
|
-
|
|
283
|
-
KeyboardNavigationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: KeyboardNavigationService });
|
|
284
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: KeyboardNavigationService, decorators: [{
|
|
286
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: KeyboardNavigationService, decorators: [{
|
|
285
287
|
type: Injectable
|
|
286
288
|
}], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.NgZone }]; } });
|
|
@@ -31,66 +31,49 @@ let idx = 0;
|
|
|
31
31
|
* Represents the [Kendo UI ListBox component for Angular]({% slug overview_listbox %}).
|
|
32
32
|
*/
|
|
33
33
|
export class ListBoxComponent {
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
this.selectedTools = allTools;
|
|
78
|
-
/**
|
|
79
|
-
* @hidden
|
|
80
|
-
*/
|
|
81
|
-
this.caretAltLeftIcon = caretAltLeftIcon;
|
|
82
|
-
/**
|
|
83
|
-
* @hidden
|
|
84
|
-
*/
|
|
85
|
-
this.caretAltRightIcon = caretAltRightIcon;
|
|
86
|
-
this._size = DEFAULT_SIZE;
|
|
87
|
-
this.subs = new Subscription();
|
|
88
|
-
this.shouldFireFocusIn = true;
|
|
89
|
-
validatePackage(packageMetadata);
|
|
90
|
-
this.setToolbarClass(DEFAULT_TOOLBAR_POSITION);
|
|
91
|
-
this.setSizingClass(this.size);
|
|
92
|
-
this.direction = localization.rtl ? 'rtl' : 'ltr';
|
|
93
|
-
}
|
|
34
|
+
keyboardNavigationService;
|
|
35
|
+
selectionService;
|
|
36
|
+
hostElement;
|
|
37
|
+
renderer;
|
|
38
|
+
zone;
|
|
39
|
+
localization;
|
|
40
|
+
changeDetector;
|
|
41
|
+
/**
|
|
42
|
+
* @hidden
|
|
43
|
+
*/
|
|
44
|
+
listboxClassName = true;
|
|
45
|
+
/**
|
|
46
|
+
* @hidden
|
|
47
|
+
*/
|
|
48
|
+
direction;
|
|
49
|
+
/**
|
|
50
|
+
* @hidden
|
|
51
|
+
*/
|
|
52
|
+
itemTemplate;
|
|
53
|
+
/**
|
|
54
|
+
* @hidden
|
|
55
|
+
*/
|
|
56
|
+
listboxElement;
|
|
57
|
+
/**
|
|
58
|
+
* @hidden
|
|
59
|
+
*/
|
|
60
|
+
listboxItems;
|
|
61
|
+
/**
|
|
62
|
+
* @hidden
|
|
63
|
+
*/
|
|
64
|
+
toolbarElement;
|
|
65
|
+
/**
|
|
66
|
+
* @hidden
|
|
67
|
+
*/
|
|
68
|
+
tools;
|
|
69
|
+
/**
|
|
70
|
+
* The fields of the data item that provide the text content of the nodes.
|
|
71
|
+
*/
|
|
72
|
+
textField;
|
|
73
|
+
/**
|
|
74
|
+
* The data which will be displayed by the ListBox.
|
|
75
|
+
*/
|
|
76
|
+
data = [];
|
|
94
77
|
/**
|
|
95
78
|
* Sets the size of the component.
|
|
96
79
|
*
|
|
@@ -124,6 +107,30 @@ export class ListBoxComponent {
|
|
|
124
107
|
}
|
|
125
108
|
this.setToolbarClass(position);
|
|
126
109
|
}
|
|
110
|
+
/**
|
|
111
|
+
* The value of the aria-label attribute of the Listbox element.
|
|
112
|
+
*/
|
|
113
|
+
listboxLabel = 'Listbox';
|
|
114
|
+
/**
|
|
115
|
+
* The value of the aria-label attribute of the Listbox toolbar element.
|
|
116
|
+
*/
|
|
117
|
+
listboxToolbarLabel = 'Toolbar';
|
|
118
|
+
/**
|
|
119
|
+
* A function which determines if a specific item is disabled.
|
|
120
|
+
*/
|
|
121
|
+
itemDisabled = defaultItemDisabled;
|
|
122
|
+
/**
|
|
123
|
+
* Fires when the user selects a different ListBox item. Also fires when a node is moved, since that also changes its index.
|
|
124
|
+
*/
|
|
125
|
+
selectionChange = new EventEmitter();
|
|
126
|
+
/**
|
|
127
|
+
* Fires when the user clicks a ListBox item.
|
|
128
|
+
*/
|
|
129
|
+
actionClick = new EventEmitter();
|
|
130
|
+
/**
|
|
131
|
+
* @hidden
|
|
132
|
+
*/
|
|
133
|
+
getChildListbox = new EventEmitter();
|
|
127
134
|
/**
|
|
128
135
|
* @hidden
|
|
129
136
|
*/
|
|
@@ -136,6 +143,51 @@ export class ListBoxComponent {
|
|
|
136
143
|
messageFor(key) {
|
|
137
144
|
return this.localization.get(key);
|
|
138
145
|
}
|
|
146
|
+
/**
|
|
147
|
+
* @hidden
|
|
148
|
+
*/
|
|
149
|
+
selectedTools = allTools;
|
|
150
|
+
/**
|
|
151
|
+
* @hidden
|
|
152
|
+
*/
|
|
153
|
+
listboxId;
|
|
154
|
+
/**
|
|
155
|
+
* @hidden
|
|
156
|
+
*/
|
|
157
|
+
toolbarId;
|
|
158
|
+
/**
|
|
159
|
+
* @hidden
|
|
160
|
+
*/
|
|
161
|
+
childListbox;
|
|
162
|
+
/**
|
|
163
|
+
* @hidden
|
|
164
|
+
*/
|
|
165
|
+
parentListbox;
|
|
166
|
+
/**
|
|
167
|
+
* @hidden
|
|
168
|
+
*/
|
|
169
|
+
caretAltLeftIcon = caretAltLeftIcon;
|
|
170
|
+
/**
|
|
171
|
+
* @hidden
|
|
172
|
+
*/
|
|
173
|
+
caretAltRightIcon = caretAltRightIcon;
|
|
174
|
+
localizationSubscription;
|
|
175
|
+
_size = DEFAULT_SIZE;
|
|
176
|
+
subs = new Subscription();
|
|
177
|
+
shouldFireFocusIn = true;
|
|
178
|
+
constructor(keyboardNavigationService, selectionService, hostElement, renderer, zone, localization, changeDetector) {
|
|
179
|
+
this.keyboardNavigationService = keyboardNavigationService;
|
|
180
|
+
this.selectionService = selectionService;
|
|
181
|
+
this.hostElement = hostElement;
|
|
182
|
+
this.renderer = renderer;
|
|
183
|
+
this.zone = zone;
|
|
184
|
+
this.localization = localization;
|
|
185
|
+
this.changeDetector = changeDetector;
|
|
186
|
+
validatePackage(packageMetadata);
|
|
187
|
+
this.setToolbarClass(DEFAULT_TOOLBAR_POSITION);
|
|
188
|
+
this.setSizingClass(this.size);
|
|
189
|
+
this.direction = localization.rtl ? 'rtl' : 'ltr';
|
|
190
|
+
}
|
|
139
191
|
ngOnInit() {
|
|
140
192
|
// This event emitter gives us the connectedWith value from the DataBinding directive
|
|
141
193
|
this.getChildListbox.emit();
|
|
@@ -353,17 +405,16 @@ export class ListBoxComponent {
|
|
|
353
405
|
setSizingClass(size) {
|
|
354
406
|
this.renderer.addClass(this.hostElement.nativeElement, `k-listbox-${sizeClassMap[size]}`);
|
|
355
407
|
}
|
|
356
|
-
}
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
},
|
|
366
|
-
], queries: [{ propertyName: "itemTemplate", first: true, predicate: ItemTemplateDirective, descendants: true }], viewQueries: [{ propertyName: "listboxElement", first: true, predicate: ["listbox"], descendants: true }, { propertyName: "toolbarElement", first: true, predicate: ["toolbar"], descendants: true }, { propertyName: "listboxItems", predicate: ["listboxItems"], descendants: true }, { propertyName: "tools", predicate: ["tools"], descendants: true }], ngImport: i0, template: `
|
|
408
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ListBoxComponent, deps: [{ token: i1.KeyboardNavigationService }, { token: i2.ListBoxSelectionService }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.NgZone }, { token: i3.LocalizationService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
409
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ListBoxComponent, isStandalone: true, selector: "kendo-listbox", inputs: { textField: "textField", data: "data", size: "size", toolbar: "toolbar", listboxLabel: "listboxLabel", listboxToolbarLabel: "listboxToolbarLabel", itemDisabled: "itemDisabled" }, outputs: { selectionChange: "selectionChange", actionClick: "actionClick", getChildListbox: "getChildListbox" }, host: { properties: { "class.k-listbox": "this.listboxClassName", "attr.dir": "this.direction" } }, providers: [
|
|
410
|
+
ListBoxSelectionService,
|
|
411
|
+
KeyboardNavigationService,
|
|
412
|
+
LocalizationService,
|
|
413
|
+
{
|
|
414
|
+
provide: L10N_PREFIX,
|
|
415
|
+
useValue: 'kendo.listbox'
|
|
416
|
+
},
|
|
417
|
+
], queries: [{ propertyName: "itemTemplate", first: true, predicate: ItemTemplateDirective, descendants: true }], viewQueries: [{ propertyName: "listboxElement", first: true, predicate: ["listbox"], descendants: true }, { propertyName: "toolbarElement", first: true, predicate: ["toolbar"], descendants: true }, { propertyName: "listboxItems", predicate: ["listboxItems"], descendants: true }, { propertyName: "tools", predicate: ["tools"], descendants: true }], ngImport: i0, template: `
|
|
367
418
|
<ng-container kendoListBoxLocalizedMessages
|
|
368
419
|
i18n-moveUp="kendo.listbox.moveUp|The title of the Move Up button"
|
|
369
420
|
moveUp="Move Up"
|
|
@@ -456,7 +507,8 @@ ListBoxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", versi
|
|
|
456
507
|
</div>
|
|
457
508
|
</div>
|
|
458
509
|
`, isInline: true, dependencies: [{ kind: "directive", type: LocalizedMessagesDirective, selector: "[kendoListBoxLocalizedMessages]" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { kind: "directive", type: ItemSelectableDirective, selector: "[kendoListBoxItemSelectable]", inputs: ["index"] }, { kind: "directive", type: TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }] });
|
|
459
|
-
|
|
510
|
+
}
|
|
511
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ListBoxComponent, decorators: [{
|
|
460
512
|
type: Component,
|
|
461
513
|
args: [{
|
|
462
514
|
selector: 'kendo-listbox',
|
|
@@ -18,11 +18,11 @@ import * as i5 from "./localization/custom-messages.component";
|
|
|
18
18
|
* Represents the [NgModule](https://angular.io/api/core/NgModule) definition for the ListBox component.
|
|
19
19
|
*/
|
|
20
20
|
export class ListBoxModule {
|
|
21
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ListBoxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
22
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: ListBoxModule, imports: [i1.ListBoxComponent, i2.ItemTemplateDirective, i3.ItemSelectableDirective, i4.DataBindingDirective, i5.CustomMessagesComponent], exports: [i1.ListBoxComponent, i2.ItemTemplateDirective, i3.ItemSelectableDirective, i4.DataBindingDirective, i5.CustomMessagesComponent] });
|
|
23
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ListBoxModule, providers: [IconsService, PopupService, ResizeBatchService], imports: [i1.ListBoxComponent] });
|
|
21
24
|
}
|
|
22
|
-
|
|
23
|
-
ListBoxModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: ListBoxModule, imports: [i1.ListBoxComponent, i2.ItemTemplateDirective, i3.ItemSelectableDirective, i4.DataBindingDirective, i5.CustomMessagesComponent], exports: [i1.ListBoxComponent, i2.ItemTemplateDirective, i3.ItemSelectableDirective, i4.DataBindingDirective, i5.CustomMessagesComponent] });
|
|
24
|
-
ListBoxModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ListBoxModule, providers: [IconsService, PopupService, ResizeBatchService], imports: [i1.ListBoxComponent, i5.CustomMessagesComponent] });
|
|
25
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ListBoxModule, decorators: [{
|
|
25
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ListBoxModule, decorators: [{
|
|
26
26
|
type: NgModule,
|
|
27
27
|
args: [{
|
|
28
28
|
imports: [...KENDO_LISTBOX],
|
|
@@ -12,6 +12,7 @@ import * as i1 from "@progress/kendo-angular-l10n";
|
|
|
12
12
|
* ([see example](slug:globalization_listbox#toc-custom-messages)).
|
|
13
13
|
*/
|
|
14
14
|
export class CustomMessagesComponent extends Messages {
|
|
15
|
+
service;
|
|
15
16
|
constructor(service) {
|
|
16
17
|
super();
|
|
17
18
|
this.service = service;
|
|
@@ -19,15 +20,15 @@ export class CustomMessagesComponent extends Messages {
|
|
|
19
20
|
get override() {
|
|
20
21
|
return true;
|
|
21
22
|
}
|
|
23
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CustomMessagesComponent, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
24
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CustomMessagesComponent, isStandalone: true, selector: "kendo-listbox-messages", providers: [
|
|
25
|
+
{
|
|
26
|
+
provide: Messages,
|
|
27
|
+
useExisting: forwardRef(() => CustomMessagesComponent)
|
|
28
|
+
}
|
|
29
|
+
], usesInheritance: true, ngImport: i0, template: ``, isInline: true });
|
|
22
30
|
}
|
|
23
|
-
|
|
24
|
-
CustomMessagesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CustomMessagesComponent, isStandalone: true, selector: "kendo-listbox-messages", providers: [
|
|
25
|
-
{
|
|
26
|
-
provide: Messages,
|
|
27
|
-
useExisting: forwardRef(() => CustomMessagesComponent)
|
|
28
|
-
}
|
|
29
|
-
], usesInheritance: true, ngImport: i0, template: ``, isInline: true });
|
|
30
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CustomMessagesComponent, decorators: [{
|
|
31
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CustomMessagesComponent, decorators: [{
|
|
31
32
|
type: Component,
|
|
32
33
|
args: [{
|
|
33
34
|
providers: [
|
|
@@ -11,19 +11,20 @@ import * as i1 from "@progress/kendo-angular-l10n";
|
|
|
11
11
|
* @hidden
|
|
12
12
|
*/
|
|
13
13
|
export class LocalizedMessagesDirective extends Messages {
|
|
14
|
+
service;
|
|
14
15
|
constructor(service) {
|
|
15
16
|
super();
|
|
16
17
|
this.service = service;
|
|
17
18
|
}
|
|
19
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LocalizedMessagesDirective, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
20
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: LocalizedMessagesDirective, isStandalone: true, selector: "[kendoListBoxLocalizedMessages]", providers: [
|
|
21
|
+
{
|
|
22
|
+
provide: Messages,
|
|
23
|
+
useExisting: forwardRef(() => LocalizedMessagesDirective)
|
|
24
|
+
}
|
|
25
|
+
], usesInheritance: true, ngImport: i0 });
|
|
18
26
|
}
|
|
19
|
-
|
|
20
|
-
LocalizedMessagesDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: LocalizedMessagesDirective, isStandalone: true, selector: "[kendoListBoxLocalizedMessages]", providers: [
|
|
21
|
-
{
|
|
22
|
-
provide: Messages,
|
|
23
|
-
useExisting: forwardRef(() => LocalizedMessagesDirective)
|
|
24
|
-
}
|
|
25
|
-
], usesInheritance: true, ngImport: i0 });
|
|
26
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: LocalizedMessagesDirective, decorators: [{
|
|
27
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LocalizedMessagesDirective, decorators: [{
|
|
27
28
|
type: Directive,
|
|
28
29
|
args: [{
|
|
29
30
|
providers: [
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/**-----------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright © 2024 Progress Software Corporation. All rights reserved.
|
|
3
|
+
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
|
+
*-------------------------------------------------------------------------------------------*/
|
|
5
|
+
import { Directive } from '@angular/core';
|
|
6
|
+
import { Input } from '@angular/core';
|
|
7
|
+
import { ComponentMessages } from '@progress/kendo-angular-l10n';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
/**
|
|
10
|
+
* @hidden
|
|
11
|
+
*/
|
|
12
|
+
export class Messages extends ComponentMessages {
|
|
13
|
+
/**
|
|
14
|
+
* The text of the `Move Up` button title.
|
|
15
|
+
*/
|
|
16
|
+
moveUp;
|
|
17
|
+
/**
|
|
18
|
+
* The text of the `Move Down` button title.
|
|
19
|
+
*/
|
|
20
|
+
moveDown;
|
|
21
|
+
/**
|
|
22
|
+
* The text of the `Remove` button tittle.
|
|
23
|
+
*/
|
|
24
|
+
remove;
|
|
25
|
+
/**
|
|
26
|
+
* The text of the `Transfer To` button title.
|
|
27
|
+
*/
|
|
28
|
+
transferTo;
|
|
29
|
+
/**
|
|
30
|
+
* The text of the `Transfer From` button title.
|
|
31
|
+
*/
|
|
32
|
+
transferFrom;
|
|
33
|
+
/**
|
|
34
|
+
* The text of the `Transfer All To` button title.
|
|
35
|
+
*/
|
|
36
|
+
transferAllTo;
|
|
37
|
+
/**
|
|
38
|
+
* The text of the `Transfer All From` button title.
|
|
39
|
+
*/
|
|
40
|
+
transferAllFrom;
|
|
41
|
+
/**
|
|
42
|
+
* The text displayed when there are no items.
|
|
43
|
+
*/
|
|
44
|
+
noDataText;
|
|
45
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: Messages, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
46
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: Messages, inputs: { moveUp: "moveUp", moveDown: "moveDown", remove: "remove", transferTo: "transferTo", transferFrom: "transferFrom", transferAllTo: "transferAllTo", transferAllFrom: "transferAllFrom", noDataText: "noDataText" }, usesInheritance: true, ngImport: i0 });
|
|
47
|
+
}
|
|
48
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: Messages, decorators: [{
|
|
49
|
+
type: Directive
|
|
50
|
+
}], propDecorators: { moveUp: [{
|
|
51
|
+
type: Input
|
|
52
|
+
}], moveDown: [{
|
|
53
|
+
type: Input
|
|
54
|
+
}], remove: [{
|
|
55
|
+
type: Input
|
|
56
|
+
}], transferTo: [{
|
|
57
|
+
type: Input
|
|
58
|
+
}], transferFrom: [{
|
|
59
|
+
type: Input
|
|
60
|
+
}], transferAllTo: [{
|
|
61
|
+
type: Input
|
|
62
|
+
}], transferAllFrom: [{
|
|
63
|
+
type: Input
|
|
64
|
+
}], noDataText: [{
|
|
65
|
+
type: Input
|
|
66
|
+
}] } });
|
|
@@ -9,7 +9,7 @@ export const packageMetadata = {
|
|
|
9
9
|
name: '@progress/kendo-angular-listbox',
|
|
10
10
|
productName: 'Kendo UI for Angular',
|
|
11
11
|
productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
|
|
12
|
-
publishDate:
|
|
13
|
-
version: '17.0.
|
|
12
|
+
publishDate: 1731429942,
|
|
13
|
+
version: '17.0.1-develop.1',
|
|
14
14
|
licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning'
|
|
15
15
|
};
|
|
@@ -8,10 +8,8 @@ import * as i0 from "@angular/core";
|
|
|
8
8
|
* @hidden
|
|
9
9
|
*/
|
|
10
10
|
export class ListBoxSelectionService {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
this.selectedIndex = null;
|
|
14
|
-
}
|
|
11
|
+
onSelect = new EventEmitter();
|
|
12
|
+
selectedIndex = null;
|
|
15
13
|
select(index) {
|
|
16
14
|
this.onSelect.next({ index: index, prevIndex: this.selectedIndex });
|
|
17
15
|
this.selectedIndex = index;
|
|
@@ -22,9 +20,9 @@ export class ListBoxSelectionService {
|
|
|
22
20
|
clearSelection() {
|
|
23
21
|
this.selectedIndex = null;
|
|
24
22
|
}
|
|
23
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ListBoxSelectionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
24
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ListBoxSelectionService });
|
|
25
25
|
}
|
|
26
|
-
|
|
27
|
-
ListBoxSelectionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ListBoxSelectionService });
|
|
28
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ListBoxSelectionService, decorators: [{
|
|
26
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ListBoxSelectionService, decorators: [{
|
|
29
27
|
type: Injectable
|
|
30
28
|
}] });
|