@progress/kendo-angular-dropdowns 25.3.0-develop.9 → 25.3.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/fesm2022/progress-kendo-angular-dropdowns.mjs +34 -28
- package/index.d.ts +4 -1
- package/package-metadata.mjs +2 -2
- package/package.json +11 -11
- package/schematics/ngAdd/index.js +2 -2
|
@@ -37,8 +37,8 @@ const packageMetadata = {
|
|
|
37
37
|
productName: 'Kendo UI for Angular',
|
|
38
38
|
productCode: 'KENDOUIANGULAR',
|
|
39
39
|
productCodes: ['KENDOUIANGULAR'],
|
|
40
|
-
publishDate:
|
|
41
|
-
version: '25.3.
|
|
40
|
+
publishDate: 1791447311,
|
|
41
|
+
version: '25.3.1-develop.1',
|
|
42
42
|
licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
|
|
43
43
|
};
|
|
44
44
|
|
|
@@ -10120,6 +10120,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.32", ngImpo
|
|
|
10120
10120
|
args: ['attr.aria-orientation']
|
|
10121
10121
|
}] } });
|
|
10122
10122
|
|
|
10123
|
+
const defaultTagMapper = (tags) => tags || [];
|
|
10123
10124
|
const MULTISELECT_VALUE_ACCESSOR = {
|
|
10124
10125
|
multi: true,
|
|
10125
10126
|
provide: NG_VALUE_ACCESSOR,
|
|
@@ -10689,11 +10690,14 @@ class MultiSelectComponent {
|
|
|
10689
10690
|
/**
|
|
10690
10691
|
* Sets a function that transforms selected data items into display tags.
|
|
10691
10692
|
* Use this to customize how selected items appear as tags.
|
|
10693
|
+
* An explicitly set numeric `summaryTagAfter` value takes precedence over the `tagMapper`.
|
|
10692
10694
|
*
|
|
10693
10695
|
* @default (tags) => tags || []
|
|
10694
10696
|
*/
|
|
10695
10697
|
set tagMapper(fn) { this._tagMapper.set(fn); }
|
|
10696
|
-
get tagMapper() {
|
|
10698
|
+
get tagMapper() {
|
|
10699
|
+
return this.isCustomTagMapperActive ? this._tagMapper() : this.summaryTagMapper;
|
|
10700
|
+
}
|
|
10697
10701
|
/**
|
|
10698
10702
|
* Allows users to add custom values not present in the data source.
|
|
10699
10703
|
* Set to `true` to enable custom value input.
|
|
@@ -10874,6 +10878,16 @@ class MultiSelectComponent {
|
|
|
10874
10878
|
: pageData;
|
|
10875
10879
|
return data;
|
|
10876
10880
|
}
|
|
10881
|
+
get isCustomTagMapperActive() {
|
|
10882
|
+
return this._tagMapper() !== defaultTagMapper && !isPresent(this.summaryTagAfter);
|
|
10883
|
+
}
|
|
10884
|
+
get effectiveSummaryTagAfter() {
|
|
10885
|
+
if (this.summaryTagAfter !== undefined) {
|
|
10886
|
+
return this.summaryTagAfter;
|
|
10887
|
+
}
|
|
10888
|
+
const selectAllSummaryTagAfter = 10;
|
|
10889
|
+
return this.selectAll ? selectAllSummaryTagAfter : null;
|
|
10890
|
+
}
|
|
10877
10891
|
_focusedTagIndex = signal(undefined, ...(ngDevMode ? [{ debugName: "_focusedTagIndex" }] : []));
|
|
10878
10892
|
constructor(wrapper, localization, popupService, dataService, selectionService, navigationService, disabledItemsService, cdr, differs, renderer, _zone, injector, adaptiveService) {
|
|
10879
10893
|
this.wrapper = wrapper;
|
|
@@ -11242,9 +11256,6 @@ class MultiSelectComponent {
|
|
|
11242
11256
|
if (isChanged('valueNormalizer', changes)) {
|
|
11243
11257
|
this.createCustomValueStream();
|
|
11244
11258
|
}
|
|
11245
|
-
if (anyChanged(['selectAll', 'summaryTagAfter'], changes, false)) {
|
|
11246
|
-
this.refreshSummaryTagMapper();
|
|
11247
|
-
}
|
|
11248
11259
|
if (anyChanged(['textField', 'valueField', 'valuePrimitive', 'selectAll', 'summaryTagAfter'], changes)) {
|
|
11249
11260
|
this.setState(this.value);
|
|
11250
11261
|
}
|
|
@@ -11372,7 +11383,7 @@ class MultiSelectComponent {
|
|
|
11372
11383
|
_readonly = signal(false, ...(ngDevMode ? [{ debugName: "_readonly" }] : []));
|
|
11373
11384
|
_filterable = signal(false, ...(ngDevMode ? [{ debugName: "_filterable" }] : []));
|
|
11374
11385
|
_clearButton = signal(true, ...(ngDevMode ? [{ debugName: "_clearButton" }] : []));
|
|
11375
|
-
_tagMapper = signal(
|
|
11386
|
+
_tagMapper = signal(defaultTagMapper, ...(ngDevMode ? [{ debugName: "_tagMapper" }] : []));
|
|
11376
11387
|
_allowCustom = signal(false, ...(ngDevMode ? [{ debugName: "_allowCustom" }] : []));
|
|
11377
11388
|
_valueNormalizer = signal((text) => text.pipe(map((userInput) => {
|
|
11378
11389
|
const comparer = (item) => typeof item === 'string' && userInput.toLowerCase() === item.toLowerCase();
|
|
@@ -11403,6 +11414,18 @@ class MultiSelectComponent {
|
|
|
11403
11414
|
direction;
|
|
11404
11415
|
differ;
|
|
11405
11416
|
valueChangeDetected;
|
|
11417
|
+
summaryTagMapper = (tags) => {
|
|
11418
|
+
const showAfter = this.effectiveSummaryTagAfter;
|
|
11419
|
+
if (!tags || showAfter === null) {
|
|
11420
|
+
return defaultTagMapper(tags);
|
|
11421
|
+
}
|
|
11422
|
+
if (tags.length > showAfter) {
|
|
11423
|
+
const result = tags.slice(0, showAfter);
|
|
11424
|
+
result.push(tags.slice(showAfter, tags.length));
|
|
11425
|
+
return result;
|
|
11426
|
+
}
|
|
11427
|
+
return tags.slice ? tags.slice() : tags;
|
|
11428
|
+
};
|
|
11406
11429
|
subscribeEvents() {
|
|
11407
11430
|
if (!isDocumentAvailable()) {
|
|
11408
11431
|
return;
|
|
@@ -11949,6 +11972,9 @@ class MultiSelectComponent {
|
|
|
11949
11972
|
});
|
|
11950
11973
|
}
|
|
11951
11974
|
buildTags(items) {
|
|
11975
|
+
if (this.isCustomTagMapperActive) {
|
|
11976
|
+
return this.tagMapper(items);
|
|
11977
|
+
}
|
|
11952
11978
|
if (this.allowCustom && this.selectAll && this.valueField) {
|
|
11953
11979
|
const data = this.getDataItems();
|
|
11954
11980
|
const dataItemValues = new Set(data.map(item => getter(item, this.valueField)));
|
|
@@ -11963,10 +11989,9 @@ class MultiSelectComponent {
|
|
|
11963
11989
|
customItems.push(item);
|
|
11964
11990
|
}
|
|
11965
11991
|
});
|
|
11966
|
-
const hasExplicitSummaryTagAfter = this.summaryTagAfter !== undefined;
|
|
11967
11992
|
const totalItems = listItems.length + customItems.length;
|
|
11968
11993
|
const result = [];
|
|
11969
|
-
const effectiveSummaryAfter =
|
|
11994
|
+
const effectiveSummaryAfter = this.effectiveSummaryTagAfter;
|
|
11970
11995
|
const shouldCreateSummaryTag = listItems.length > 0 &&
|
|
11971
11996
|
(effectiveSummaryAfter !== null && totalItems > effectiveSummaryAfter);
|
|
11972
11997
|
if (shouldCreateSummaryTag) {
|
|
@@ -11994,25 +12019,6 @@ class MultiSelectComponent {
|
|
|
11994
12019
|
}
|
|
11995
12020
|
return this.tagMapper(items);
|
|
11996
12021
|
}
|
|
11997
|
-
refreshSummaryTagMapper() {
|
|
11998
|
-
const effectiveSummaryAfter = this.summaryTagAfter !== undefined
|
|
11999
|
-
? this.summaryTagAfter
|
|
12000
|
-
: (this.selectAll ? 10 : null);
|
|
12001
|
-
if (effectiveSummaryAfter !== null) {
|
|
12002
|
-
const showAfter = effectiveSummaryAfter;
|
|
12003
|
-
this.tagMapper = (tags) => {
|
|
12004
|
-
if (tags.length > showAfter) {
|
|
12005
|
-
const result = tags.slice(0, showAfter);
|
|
12006
|
-
result.push(tags.slice(showAfter, tags.length));
|
|
12007
|
-
return result;
|
|
12008
|
-
}
|
|
12009
|
-
return tags.slice ? tags.slice() : tags;
|
|
12010
|
-
};
|
|
12011
|
-
}
|
|
12012
|
-
else {
|
|
12013
|
-
this.tagMapper = (tags) => tags || [];
|
|
12014
|
-
}
|
|
12015
|
-
}
|
|
12016
12022
|
emitValueChange() {
|
|
12017
12023
|
this.onChangeCallback(this.value);
|
|
12018
12024
|
this.valueChange.emit(this.value);
|
package/index.d.ts
CHANGED
|
@@ -3244,6 +3244,7 @@ declare class MultiSelectComponent implements OnDestroy, OnChanges, OnInit, DoCh
|
|
|
3244
3244
|
/**
|
|
3245
3245
|
* Sets a function that transforms selected data items into display tags.
|
|
3246
3246
|
* Use this to customize how selected items appear as tags.
|
|
3247
|
+
* An explicitly set numeric `summaryTagAfter` value takes precedence over the `tagMapper`.
|
|
3247
3248
|
*
|
|
3248
3249
|
* @default (tags) => tags || []
|
|
3249
3250
|
*/
|
|
@@ -3386,6 +3387,8 @@ declare class MultiSelectComponent implements OnDestroy, OnChanges, OnInit, DoCh
|
|
|
3386
3387
|
private get isPartiallySelectedComputed();
|
|
3387
3388
|
private get hasCustomValueItem();
|
|
3388
3389
|
private get availableItemsForSelectAll();
|
|
3390
|
+
private get isCustomTagMapperActive();
|
|
3391
|
+
private get effectiveSummaryTagAfter();
|
|
3389
3392
|
private _focusedTagIndex;
|
|
3390
3393
|
constructor(wrapper: ElementRef, localization: LocalizationService, popupService: PopupService, dataService: DataService, selectionService: SelectionService, navigationService: NavigationService, disabledItemsService: DisabledItemsService, cdr: ChangeDetectorRef, differs: KeyValueDiffers, renderer: Renderer2, _zone: NgZone, injector: Injector, adaptiveService: AdaptiveService);
|
|
3391
3394
|
get listContainerClasses(): any[];
|
|
@@ -3531,6 +3534,7 @@ declare class MultiSelectComponent implements OnDestroy, OnChanges, OnInit, DoCh
|
|
|
3531
3534
|
private direction;
|
|
3532
3535
|
private differ;
|
|
3533
3536
|
private valueChangeDetected;
|
|
3537
|
+
private summaryTagMapper;
|
|
3534
3538
|
private subscribeEvents;
|
|
3535
3539
|
private subscribeTouchEvents;
|
|
3536
3540
|
private unsubscribeEvents;
|
|
@@ -3580,7 +3584,6 @@ declare class MultiSelectComponent implements OnDestroy, OnChanges, OnInit, DoCh
|
|
|
3580
3584
|
private destroyPopup;
|
|
3581
3585
|
private createPopup;
|
|
3582
3586
|
private buildTags;
|
|
3583
|
-
private refreshSummaryTagMapper;
|
|
3584
3587
|
private emitValueChange;
|
|
3585
3588
|
private resolveDataItemFromTags;
|
|
3586
3589
|
private firstFocusableIndex;
|
package/package-metadata.mjs
CHANGED
|
@@ -7,7 +7,7 @@ export const packageMetadata = {
|
|
|
7
7
|
"productCodes": [
|
|
8
8
|
"KENDOUIANGULAR"
|
|
9
9
|
],
|
|
10
|
-
"publishDate":
|
|
11
|
-
"version": "25.3.
|
|
10
|
+
"publishDate": 1791447311,
|
|
11
|
+
"version": "25.3.1-develop.1",
|
|
12
12
|
"licensingDocsUrl": "https://www.telerik.com/kendo-angular-ui/my-license/"
|
|
13
13
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@progress/kendo-angular-dropdowns",
|
|
3
|
-
"version": "25.3.
|
|
3
|
+
"version": "25.3.1-develop.1",
|
|
4
4
|
"description": "A wide variety of native Angular dropdown components including AutoComplete, ComboBox, DropDownList, DropDownTree, MultiColumnComboBox, MultiSelect, and MultiSelectTree ",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
6
6
|
"author": "Progress",
|
|
@@ -132,7 +132,7 @@
|
|
|
132
132
|
"package": {
|
|
133
133
|
"productName": "Kendo UI for Angular",
|
|
134
134
|
"productCode": "KENDOUIANGULAR",
|
|
135
|
-
"publishDate":
|
|
135
|
+
"publishDate": 1791447311,
|
|
136
136
|
"licensingDocsUrl": "https://www.telerik.com/kendo-angular-ui/my-license/"
|
|
137
137
|
}
|
|
138
138
|
},
|
|
@@ -143,19 +143,19 @@
|
|
|
143
143
|
"@angular/forms": "20 - 22",
|
|
144
144
|
"@angular/platform-browser": "20 - 22",
|
|
145
145
|
"@progress/kendo-licensing": "^1.11.0",
|
|
146
|
-
"@progress/kendo-angular-common": "25.3.
|
|
147
|
-
"@progress/kendo-angular-utils": "25.3.
|
|
148
|
-
"@progress/kendo-angular-l10n": "25.3.
|
|
149
|
-
"@progress/kendo-angular-navigation": "25.3.
|
|
150
|
-
"@progress/kendo-angular-popup": "25.3.
|
|
151
|
-
"@progress/kendo-angular-icons": "25.3.
|
|
152
|
-
"@progress/kendo-angular-inputs": "25.3.
|
|
153
|
-
"@progress/kendo-angular-treeview": "25.3.
|
|
146
|
+
"@progress/kendo-angular-common": "25.3.1-develop.1",
|
|
147
|
+
"@progress/kendo-angular-utils": "25.3.1-develop.1",
|
|
148
|
+
"@progress/kendo-angular-l10n": "25.3.1-develop.1",
|
|
149
|
+
"@progress/kendo-angular-navigation": "25.3.1-develop.1",
|
|
150
|
+
"@progress/kendo-angular-popup": "25.3.1-develop.1",
|
|
151
|
+
"@progress/kendo-angular-icons": "25.3.1-develop.1",
|
|
152
|
+
"@progress/kendo-angular-inputs": "25.3.1-develop.1",
|
|
153
|
+
"@progress/kendo-angular-treeview": "25.3.1-develop.1",
|
|
154
154
|
"rxjs": "^6.5.3 || ^7.0.0"
|
|
155
155
|
},
|
|
156
156
|
"dependencies": {
|
|
157
157
|
"tslib": "^2.3.1",
|
|
158
|
-
"@progress/kendo-angular-schematics": "25.3.
|
|
158
|
+
"@progress/kendo-angular-schematics": "25.3.1-develop.1",
|
|
159
159
|
"@progress/kendo-common": "^1.0.1"
|
|
160
160
|
},
|
|
161
161
|
"schematics": "./schematics/collection.json",
|
|
@@ -9,9 +9,9 @@ const schematics_1 = require("@angular-devkit/schematics");
|
|
|
9
9
|
function default_1(options) {
|
|
10
10
|
const finalOptions = Object.assign(Object.assign({}, options), { mainNgModule: 'DropDownsModule', package: 'dropdowns', peerDependencies: {
|
|
11
11
|
// peers of the treeview
|
|
12
|
-
'@progress/kendo-angular-inputs': '25.3.
|
|
12
|
+
'@progress/kendo-angular-inputs': '25.3.1-develop.1',
|
|
13
13
|
// peers of inputs
|
|
14
|
-
'@progress/kendo-angular-intl': '25.3.
|
|
14
|
+
'@progress/kendo-angular-intl': '25.3.1-develop.1',
|
|
15
15
|
'@progress/kendo-drawing': '^1.17.2',
|
|
16
16
|
// Peer dependency of icons
|
|
17
17
|
'@progress/kendo-svg-icons': '^4.0.0'
|