@progress/kendo-angular-treelist 13.0.0-develop.2 → 13.0.0-develop.4
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/binding-directives/base-binding.directive.d.ts +5 -1
- package/binding-directives/data-bound-tree-component.d.ts +9 -0
- package/binding-directives/flat-binding.directive.d.ts +14 -3
- package/binding-directives/hierarchy-binding.directive.d.ts +12 -3
- package/columns/column-base.d.ts +4 -0
- package/columns/rowreorder-column.component.d.ts +19 -0
- package/esm2020/binding-directives/base-binding.directive.mjs +9 -3
- package/esm2020/binding-directives/flat-binding.directive.mjs +56 -6
- package/esm2020/binding-directives/hierarchy-binding.directive.mjs +46 -6
- package/esm2020/columns/column-base.mjs +4 -0
- package/esm2020/columns/rowreorder-column.component.mjs +47 -0
- package/esm2020/index.mjs +2 -0
- package/esm2020/localization/messages.mjs +3 -1
- package/esm2020/package-metadata.mjs +2 -2
- package/esm2020/rendering/cell.component.mjs +47 -16
- package/esm2020/rendering/constants.mjs +4 -0
- package/esm2020/rendering/table-body.component.mjs +5 -3
- package/esm2020/row-reordering/flat-reorder.service.mjs +48 -0
- package/esm2020/row-reordering/hierarchical-reorder.service.mjs +55 -0
- package/esm2020/row-reordering/row-reorder.service.mjs +220 -0
- package/esm2020/row-reordering/types.mjs +5 -0
- package/esm2020/row-reordering/utils.mjs +129 -0
- package/esm2020/shared.module.mjs +8 -3
- package/esm2020/treelist.component.mjs +161 -23
- package/esm2020/treelist.module.mjs +71 -66
- package/fesm2015/progress-kendo-angular-treelist.mjs +808 -62
- package/fesm2020/progress-kendo-angular-treelist.mjs +799 -62
- package/index.d.ts +2 -0
- package/localization/messages.d.ts +5 -1
- package/package.json +16 -15
- package/rendering/cell.component.d.ts +6 -1
- package/rendering/constants.d.ts +4 -0
- package/row-reordering/flat-reorder.service.d.ts +16 -0
- package/row-reordering/hierarchical-reorder.service.d.ts +16 -0
- package/row-reordering/row-reorder.service.d.ts +61 -0
- package/row-reordering/types.d.ts +39 -0
- package/row-reordering/utils.d.ts +85 -0
- package/schematics/ngAdd/index.js +3 -3
- package/shared.module.d.ts +5 -4
- package/treelist.component.d.ts +42 -2
- package/treelist.module.d.ts +68 -66
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
|
5
5
|
import * as i0 from '@angular/core';
|
|
6
|
-
import { Directive, Optional, EventEmitter, Injectable, QueryList, Input, ContentChildren, ContentChild, InjectionToken, forwardRef, Component, SkipSelf, Host, isDevMode, SecurityContext, Inject,
|
|
6
|
+
import { Directive, Optional, EventEmitter, Injectable, QueryList, Input, ContentChildren, ContentChild, InjectionToken, forwardRef, Component, SkipSelf, Host, isDevMode, SecurityContext, Inject, Output, HostBinding, Self, ViewChild, HostListener, ViewChildren, Pipe, ChangeDetectionStrategy, ViewEncapsulation, NgModule } from '@angular/core';
|
|
7
7
|
import * as i4 from '@angular/common';
|
|
8
8
|
import { CommonModule } from '@angular/common';
|
|
9
9
|
import * as i3$2 from '@angular/forms';
|
|
@@ -12,7 +12,7 @@ import { merge, of, fromEvent, isObservable, BehaviorSubject, Subscription, Subj
|
|
|
12
12
|
import { auditTime, take, switchMap, map, distinctUntilChanged, filter, tap, throttleTime, takeUntil, switchMapTo, debounceTime, delay, bufferCount } from 'rxjs/operators';
|
|
13
13
|
import { validatePackage } from '@progress/kendo-licensing';
|
|
14
14
|
import * as i1$3 from '@progress/kendo-angular-common';
|
|
15
|
-
import { isDocumentAvailable, Keys, anyChanged, isChanged as isChanged$1, guid, ResizeSensorComponent, hasObservers, DraggableModule, ResizeSensorModule, EventsModule } from '@progress/kendo-angular-common';
|
|
15
|
+
import { isDocumentAvailable, Keys, isPresent as isPresent$1, anyChanged, isChanged as isChanged$1, guid, ResizeSensorComponent, hasObservers, DraggableModule, ResizeSensorModule, EventsModule } from '@progress/kendo-angular-common';
|
|
16
16
|
import { orderBy, isCompositeFilterDescriptor, process, aggregateBy } from '@progress/kendo-data-query';
|
|
17
17
|
import * as i1$1 from '@progress/kendo-angular-l10n';
|
|
18
18
|
import { ComponentMessages, LocalizationService, L10N_PREFIX } from '@progress/kendo-angular-l10n';
|
|
@@ -21,19 +21,21 @@ import { PopupModule } from '@progress/kendo-angular-popup';
|
|
|
21
21
|
import * as i1$2 from '@angular/platform-browser';
|
|
22
22
|
import * as i3 from '@progress/kendo-angular-icons';
|
|
23
23
|
import { IconsModule } from '@progress/kendo-angular-icons';
|
|
24
|
-
import { plusIcon, cancelIcon, lockIcon, unlockIcon, filterIcon, sortAscSmallIcon, sortDescSmallIcon, columnsIcon, moreVerticalIcon, filterClearIcon, caretAltDownIcon, caretAltRightIcon, caretAltLeftIcon, caretAltToLeftIcon, caretAltToRightIcon } from '@progress/kendo-svg-icons';
|
|
24
|
+
import { plusIcon, cancelIcon, lockIcon, unlockIcon, insertMiddleIcon, filterIcon, sortAscSmallIcon, sortDescSmallIcon, columnsIcon, moreVerticalIcon, filterClearIcon, caretAltDownIcon, caretAltRightIcon, reorderIcon, caretAltLeftIcon, caretAltToLeftIcon, caretAltToRightIcon } from '@progress/kendo-svg-icons';
|
|
25
25
|
import { getter, setter } from '@progress/kendo-common';
|
|
26
|
+
import * as i32 from '@progress/kendo-angular-utils';
|
|
27
|
+
import { DragTargetContainerDirective, DropTargetContainerDirective, DragAndDropModule as DragAndDropModule$1 } from '@progress/kendo-angular-utils';
|
|
26
28
|
import * as i3$1 from '@progress/kendo-angular-dropdowns';
|
|
27
29
|
import { DropDownListModule, AutoCompleteModule, DropDownsModule } from '@progress/kendo-angular-dropdowns';
|
|
28
|
-
import * as
|
|
30
|
+
import * as i2 from '@progress/kendo-angular-inputs';
|
|
29
31
|
import { NumericTextBoxComponent, InputsModule, NumericTextBoxModule } from '@progress/kendo-angular-inputs';
|
|
30
32
|
import * as i3$3 from '@progress/kendo-angular-dateinputs';
|
|
31
33
|
import { DatePickerModule } from '@progress/kendo-angular-dateinputs';
|
|
32
34
|
import { trigger, state, style, transition, animate } from '@angular/animations';
|
|
33
|
-
import * as i4$
|
|
35
|
+
import * as i4$1 from '@progress/kendo-angular-buttons';
|
|
34
36
|
import { ButtonModule, Button } from '@progress/kendo-angular-buttons';
|
|
35
37
|
import * as i1$4 from '@progress/kendo-angular-intl';
|
|
36
|
-
import * as i4$
|
|
38
|
+
import * as i4$2 from '@progress/kendo-angular-label';
|
|
37
39
|
import { LabelModule } from '@progress/kendo-angular-label';
|
|
38
40
|
import { PDFExportMarginComponent, PDFExportTemplateDirective, PDFExportComponent } from '@progress/kendo-angular-pdf-export';
|
|
39
41
|
import { saveAs } from '@progress/kendo-file-saver';
|
|
@@ -46,8 +48,8 @@ const packageMetadata = {
|
|
|
46
48
|
name: '@progress/kendo-angular-treelist',
|
|
47
49
|
productName: 'Kendo UI for Angular',
|
|
48
50
|
productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
|
|
49
|
-
publishDate:
|
|
50
|
-
version: '13.0.0-develop.
|
|
51
|
+
publishDate: 1684849967,
|
|
52
|
+
version: '13.0.0-develop.4',
|
|
51
53
|
licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
|
|
52
54
|
};
|
|
53
55
|
|
|
@@ -272,6 +274,10 @@ const isSpanColumn = column => column.isSpanColumn;
|
|
|
272
274
|
* @hidden
|
|
273
275
|
*/
|
|
274
276
|
const isCheckboxColumn = column => column.isCheckboxColumn;
|
|
277
|
+
/**
|
|
278
|
+
* @hidden
|
|
279
|
+
*/
|
|
280
|
+
const isRowReorderColumn = column => column.isRowReorderColumn;
|
|
275
281
|
const isColumnContainer = column => column.isColumnGroup || isSpanColumn(column);
|
|
276
282
|
/**
|
|
277
283
|
* The base class for the column components of the TreeList.
|
|
@@ -2981,17 +2987,17 @@ const append = (element) => {
|
|
|
2981
2987
|
/**
|
|
2982
2988
|
* @hidden
|
|
2983
2989
|
*/
|
|
2984
|
-
const getDocument = element => element.ownerDocument.documentElement;
|
|
2990
|
+
const getDocument$1 = element => element.ownerDocument.documentElement;
|
|
2985
2991
|
/**
|
|
2986
2992
|
* @hidden
|
|
2987
2993
|
*/
|
|
2988
|
-
const getWindow = element => element.ownerDocument.defaultView;
|
|
2994
|
+
const getWindow$1 = element => element.ownerDocument.defaultView;
|
|
2989
2995
|
/**
|
|
2990
2996
|
* @hidden
|
|
2991
2997
|
*/
|
|
2992
2998
|
const offset = element => {
|
|
2993
|
-
const { clientTop, clientLeft } = getDocument(element);
|
|
2994
|
-
const { pageYOffset, pageXOffset } = getWindow(element);
|
|
2999
|
+
const { clientTop, clientLeft } = getDocument$1(element);
|
|
3000
|
+
const { pageYOffset, pageXOffset } = getWindow$1(element);
|
|
2995
3001
|
const { top, left } = element.getBoundingClientRect();
|
|
2996
3002
|
return {
|
|
2997
3003
|
top: top + pageYOffset - clientTop,
|
|
@@ -5143,6 +5149,344 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
5143
5149
|
type: Injectable
|
|
5144
5150
|
}], ctorParameters: function () { return [{ type: i0.Renderer2 }]; } });
|
|
5145
5151
|
|
|
5152
|
+
/**
|
|
5153
|
+
* @hidden
|
|
5154
|
+
*/
|
|
5155
|
+
const isNextSibling = (dropTarget, dragTarget) => dropTarget === dragTarget.nextElementSibling;
|
|
5156
|
+
/**
|
|
5157
|
+
* @hidden
|
|
5158
|
+
*/
|
|
5159
|
+
const isPreviousSibling = (dropTarget, dragTarget) => dropTarget === dragTarget.previousElementSibling;
|
|
5160
|
+
/**
|
|
5161
|
+
* @hidden
|
|
5162
|
+
*/
|
|
5163
|
+
function getOffset(element) {
|
|
5164
|
+
const { clientTop, clientLeft } = getDocument(element);
|
|
5165
|
+
const { pageYOffset, pageXOffset } = getWindow(element);
|
|
5166
|
+
const { top, left } = element.getBoundingClientRect();
|
|
5167
|
+
return {
|
|
5168
|
+
top: top + pageYOffset - clientTop,
|
|
5169
|
+
left: left + pageXOffset - clientLeft
|
|
5170
|
+
};
|
|
5171
|
+
}
|
|
5172
|
+
;
|
|
5173
|
+
/**
|
|
5174
|
+
* @hidden
|
|
5175
|
+
*/
|
|
5176
|
+
const hintIcons = {
|
|
5177
|
+
forbidden: 'cancel',
|
|
5178
|
+
before: 'insert-middle',
|
|
5179
|
+
after: 'insert-middle',
|
|
5180
|
+
over: 'plus'
|
|
5181
|
+
};
|
|
5182
|
+
/**
|
|
5183
|
+
* @hidden
|
|
5184
|
+
*/
|
|
5185
|
+
const hintSVGIcons = {
|
|
5186
|
+
forbidden: cancelIcon,
|
|
5187
|
+
before: insertMiddleIcon,
|
|
5188
|
+
after: insertMiddleIcon,
|
|
5189
|
+
over: plusIcon
|
|
5190
|
+
};
|
|
5191
|
+
/**
|
|
5192
|
+
* @hidden
|
|
5193
|
+
*/
|
|
5194
|
+
const dropPosition = {
|
|
5195
|
+
forbidden: 'forbidden',
|
|
5196
|
+
before: 'before',
|
|
5197
|
+
after: 'after',
|
|
5198
|
+
over: 'over'
|
|
5199
|
+
};
|
|
5200
|
+
/**
|
|
5201
|
+
* @hidden
|
|
5202
|
+
*/
|
|
5203
|
+
const hintStyles = {
|
|
5204
|
+
zIndex: '20000',
|
|
5205
|
+
display: 'flex',
|
|
5206
|
+
position: 'fixed'
|
|
5207
|
+
};
|
|
5208
|
+
/**
|
|
5209
|
+
* @hidden
|
|
5210
|
+
*/
|
|
5211
|
+
const hintClasses = ['k-drag-clue', 'k-reorder-clue'];
|
|
5212
|
+
/**
|
|
5213
|
+
* @hidden
|
|
5214
|
+
*/
|
|
5215
|
+
const dropIndicatorStyles = {
|
|
5216
|
+
zIndex: '19000',
|
|
5217
|
+
position: 'absolute'
|
|
5218
|
+
};
|
|
5219
|
+
/**
|
|
5220
|
+
* @hidden
|
|
5221
|
+
*/
|
|
5222
|
+
const dropIndicatorClasses = ['k-drop-hint', 'k-drop-hint-h'];
|
|
5223
|
+
/**
|
|
5224
|
+
* @hidden
|
|
5225
|
+
*/
|
|
5226
|
+
const defaultSelectors = {
|
|
5227
|
+
handle: '.k-table-td.k-drag-cell',
|
|
5228
|
+
dragTarget: '.k-table-row[data-treelist-view-index]',
|
|
5229
|
+
dropTarget: '.k-table-row[data-treelist-view-index]'
|
|
5230
|
+
};
|
|
5231
|
+
/**
|
|
5232
|
+
* @hidden
|
|
5233
|
+
*/
|
|
5234
|
+
const rowIndexAttr = 'data-treelist-view-index';
|
|
5235
|
+
/**
|
|
5236
|
+
* @hidden
|
|
5237
|
+
*/
|
|
5238
|
+
const findParent$1 = (collection, searchItem, field) => {
|
|
5239
|
+
let parent = null;
|
|
5240
|
+
for (const item of collection) {
|
|
5241
|
+
if (searchItem === item) {
|
|
5242
|
+
return null;
|
|
5243
|
+
}
|
|
5244
|
+
const checked = [];
|
|
5245
|
+
const queue = [];
|
|
5246
|
+
queue.push(item);
|
|
5247
|
+
while (queue.length !== 0) {
|
|
5248
|
+
const current = queue.shift();
|
|
5249
|
+
if (!current) {
|
|
5250
|
+
continue;
|
|
5251
|
+
}
|
|
5252
|
+
checked.push(current);
|
|
5253
|
+
if (current === searchItem) {
|
|
5254
|
+
return item;
|
|
5255
|
+
}
|
|
5256
|
+
if (current.hasOwnProperty(field)) {
|
|
5257
|
+
current[field].forEach(node => {
|
|
5258
|
+
if (checked.indexOf(node) === -1) {
|
|
5259
|
+
checked.push(node);
|
|
5260
|
+
queue.push(node);
|
|
5261
|
+
if (node === searchItem) {
|
|
5262
|
+
parent = current;
|
|
5263
|
+
return;
|
|
5264
|
+
}
|
|
5265
|
+
}
|
|
5266
|
+
});
|
|
5267
|
+
}
|
|
5268
|
+
if (parent) {
|
|
5269
|
+
return parent;
|
|
5270
|
+
}
|
|
5271
|
+
}
|
|
5272
|
+
}
|
|
5273
|
+
};
|
|
5274
|
+
const getDocument = element => element?.ownerDocument.documentElement;
|
|
5275
|
+
const getWindow = element => element?.ownerDocument.defaultView;
|
|
5276
|
+
|
|
5277
|
+
/**
|
|
5278
|
+
* @hidden
|
|
5279
|
+
*/
|
|
5280
|
+
class RowReorderService {
|
|
5281
|
+
constructor(renderer) {
|
|
5282
|
+
this.renderer = renderer;
|
|
5283
|
+
this.defaultSelectors = defaultSelectors;
|
|
5284
|
+
this.dragTarget = null;
|
|
5285
|
+
this.dropTarget = null;
|
|
5286
|
+
this.lastDropPosition = dropPosition.forbidden;
|
|
5287
|
+
this.hintElement = null;
|
|
5288
|
+
this.rowReorder = new EventEmitter();
|
|
5289
|
+
}
|
|
5290
|
+
press(ev) {
|
|
5291
|
+
this.dragTarget = ev.dragTarget;
|
|
5292
|
+
this.offsetY = ev.dragEvent.offsetY;
|
|
5293
|
+
}
|
|
5294
|
+
dragStart() {
|
|
5295
|
+
this.createDropIndicator();
|
|
5296
|
+
}
|
|
5297
|
+
drag(ev) {
|
|
5298
|
+
if (isPresent$1(ev.hintElement) && !isPresent$1(this.hintElement)) {
|
|
5299
|
+
this.hintElement = ev.hintElement;
|
|
5300
|
+
this.decorateHint();
|
|
5301
|
+
}
|
|
5302
|
+
const position = {
|
|
5303
|
+
x: ev.dragEvent.clientX,
|
|
5304
|
+
y: ev.dragEvent.clientY - this.offsetY
|
|
5305
|
+
};
|
|
5306
|
+
if (isPresent$1(this.hintElement)) {
|
|
5307
|
+
this.renderer.setStyle(this.hintElement, 'left', `${position.x}px`);
|
|
5308
|
+
this.renderer.setStyle(this.hintElement, 'top', `${position.y}px`);
|
|
5309
|
+
}
|
|
5310
|
+
this.positionDropIndicator(ev);
|
|
5311
|
+
}
|
|
5312
|
+
dragEnter(ev) {
|
|
5313
|
+
this.dropTarget = ev.dropTarget;
|
|
5314
|
+
this.view = ev.dragData;
|
|
5315
|
+
}
|
|
5316
|
+
dragLeave() {
|
|
5317
|
+
this.dropTarget = null;
|
|
5318
|
+
this.lastDropPosition === dropPosition.forbidden && this.hide();
|
|
5319
|
+
}
|
|
5320
|
+
dragEnd() {
|
|
5321
|
+
this.destroyDropIndicator();
|
|
5322
|
+
this.dragTarget = null;
|
|
5323
|
+
this.dropTarget = null;
|
|
5324
|
+
this.hintElement = null;
|
|
5325
|
+
}
|
|
5326
|
+
drop() {
|
|
5327
|
+
this.destroyDropIndicator();
|
|
5328
|
+
const rowReorderArgs = this.rowReorderArgs(this.dragTarget, this.dropTarget, this.view);
|
|
5329
|
+
this.rowReorder.emit(rowReorderArgs);
|
|
5330
|
+
}
|
|
5331
|
+
get hintIcon() {
|
|
5332
|
+
return hintIcons[this.lastDropPosition];
|
|
5333
|
+
}
|
|
5334
|
+
get hintSVGIcon() {
|
|
5335
|
+
return hintSVGIcons[this.lastDropPosition];
|
|
5336
|
+
}
|
|
5337
|
+
getDefaultHintText(columns, data) {
|
|
5338
|
+
let hintText = '';
|
|
5339
|
+
const columnFieldsArray = columns
|
|
5340
|
+
.toArray()
|
|
5341
|
+
.filter(column => !column.hidden && isPresent$1(column.field))
|
|
5342
|
+
.map(column => column.field);
|
|
5343
|
+
const draggedDragRow = this.getDragRowPerElement(this.dragTarget, data);
|
|
5344
|
+
const draggedDataItem = draggedDragRow?.dataItem;
|
|
5345
|
+
isPresent$1(draggedDataItem) && columnFieldsArray.forEach(column => {
|
|
5346
|
+
const columnValue = draggedDataItem[column];
|
|
5347
|
+
isPresent$1(columnValue) ? hintText += `${columnValue} ` : null;
|
|
5348
|
+
});
|
|
5349
|
+
return hintText.trim();
|
|
5350
|
+
}
|
|
5351
|
+
rowReorderArgs(dragRow, dropRow, data) {
|
|
5352
|
+
const dragRowData = this.getDragRowPerElement(dragRow, data);
|
|
5353
|
+
const dropRowData = this.getDragRowPerElement(dropRow, data);
|
|
5354
|
+
return {
|
|
5355
|
+
draggedRows: [dragRowData],
|
|
5356
|
+
dropTargetRow: dropRowData,
|
|
5357
|
+
dropPosition: this.lastDropPosition
|
|
5358
|
+
};
|
|
5359
|
+
}
|
|
5360
|
+
isOverChild(_item) { return false; }
|
|
5361
|
+
reorderRows(_ev, _collection, _field) { }
|
|
5362
|
+
get parentIdField() {
|
|
5363
|
+
return this.bindingDirective.parentIdField;
|
|
5364
|
+
}
|
|
5365
|
+
get idField() {
|
|
5366
|
+
return this.bindingDirective.idField;
|
|
5367
|
+
}
|
|
5368
|
+
get childrenField() {
|
|
5369
|
+
return this.bindingDirective.childrenField;
|
|
5370
|
+
}
|
|
5371
|
+
get data() {
|
|
5372
|
+
return this.bindingDirective.data;
|
|
5373
|
+
}
|
|
5374
|
+
getDragRowPerElement(row, data) {
|
|
5375
|
+
let rowIndex = row?.getAttribute(rowIndexAttr);
|
|
5376
|
+
rowIndex = rowIndex ? parseInt(rowIndex, 10) : -1;
|
|
5377
|
+
const dataItem = rowIndex === -1 ? null : data?.at(rowIndex)?.data;
|
|
5378
|
+
return {
|
|
5379
|
+
dataItem,
|
|
5380
|
+
rowIndex,
|
|
5381
|
+
element: row
|
|
5382
|
+
};
|
|
5383
|
+
}
|
|
5384
|
+
createDropIndicator() {
|
|
5385
|
+
if (!isDocumentAvailable()) {
|
|
5386
|
+
return;
|
|
5387
|
+
}
|
|
5388
|
+
this.dropIndicator = document.createElement('div');
|
|
5389
|
+
this.decorateDropIndicator();
|
|
5390
|
+
this.dropIndicator.innerHTML = `
|
|
5391
|
+
<div class="k-drop-hint-start"></div>
|
|
5392
|
+
<div class="k-drop-hint-line"></div>
|
|
5393
|
+
`;
|
|
5394
|
+
document.body.appendChild(this.dropIndicator);
|
|
5395
|
+
this.hide();
|
|
5396
|
+
}
|
|
5397
|
+
destroyDropIndicator() {
|
|
5398
|
+
if (!isDocumentAvailable()) {
|
|
5399
|
+
return;
|
|
5400
|
+
}
|
|
5401
|
+
;
|
|
5402
|
+
if (this.dropIndicator && this.dropIndicator.parentElement) {
|
|
5403
|
+
document.body.removeChild(this.dropIndicator);
|
|
5404
|
+
this.dropIndicator = null;
|
|
5405
|
+
}
|
|
5406
|
+
}
|
|
5407
|
+
decorateHint() {
|
|
5408
|
+
hintClasses.forEach(className => this.renderer.addClass(this.hintElement, className));
|
|
5409
|
+
Object.keys(hintStyles)
|
|
5410
|
+
.forEach(style => this.renderer.setStyle(this.hintElement, style, hintStyles[style]));
|
|
5411
|
+
}
|
|
5412
|
+
positionDropIndicator(ev) {
|
|
5413
|
+
this.lastDropPosition = this.getDropPosition(ev.dragEvent);
|
|
5414
|
+
this.updateDropIndicatorPosition();
|
|
5415
|
+
}
|
|
5416
|
+
decorateDropIndicator() {
|
|
5417
|
+
dropIndicatorClasses.forEach(className => this.renderer.addClass(this.dropIndicator, className));
|
|
5418
|
+
Object.keys(dropIndicatorStyles)
|
|
5419
|
+
.forEach(style => this.renderer.setStyle(this.dropIndicator, style, dropIndicatorStyles[style]));
|
|
5420
|
+
}
|
|
5421
|
+
getDropPosition(e) {
|
|
5422
|
+
if (this.dropTarget === this.dragTarget || !isPresent$1(this.dropTarget)) {
|
|
5423
|
+
return dropPosition.forbidden;
|
|
5424
|
+
}
|
|
5425
|
+
;
|
|
5426
|
+
const itemViewPortCoords = this.dropTarget.getBoundingClientRect();
|
|
5427
|
+
const itemDivisionsCount = 3;
|
|
5428
|
+
const itemDivisionHeight = itemViewPortCoords.height / itemDivisionsCount;
|
|
5429
|
+
const { dropTargetRow } = this.rowReorderArgs(this.dragTarget, this.dropTarget, this.view);
|
|
5430
|
+
const pointerPosition = e.clientY;
|
|
5431
|
+
const itemTop = itemViewPortCoords.top;
|
|
5432
|
+
let currentDropPosition = null;
|
|
5433
|
+
if (pointerPosition <= itemTop + itemDivisionHeight) {
|
|
5434
|
+
currentDropPosition = dropPosition.before;
|
|
5435
|
+
}
|
|
5436
|
+
else if (pointerPosition >= itemTop + itemViewPortCoords.height - itemDivisionHeight) {
|
|
5437
|
+
currentDropPosition = dropPosition.after;
|
|
5438
|
+
}
|
|
5439
|
+
else {
|
|
5440
|
+
currentDropPosition = dropPosition.over;
|
|
5441
|
+
}
|
|
5442
|
+
if (currentDropPosition === dropPosition.before && isNextSibling(this.dropTarget, this.dragTarget)) {
|
|
5443
|
+
currentDropPosition = dropPosition.forbidden;
|
|
5444
|
+
}
|
|
5445
|
+
else if (currentDropPosition === dropPosition.after && isPreviousSibling(this.dropTarget, this.dragTarget)) {
|
|
5446
|
+
currentDropPosition = dropPosition.forbidden;
|
|
5447
|
+
}
|
|
5448
|
+
if (this.isOverChild(dropTargetRow.dataItem)) {
|
|
5449
|
+
currentDropPosition = dropPosition.forbidden;
|
|
5450
|
+
}
|
|
5451
|
+
return currentDropPosition;
|
|
5452
|
+
}
|
|
5453
|
+
updateDropIndicatorPosition() {
|
|
5454
|
+
if (this.shouldHideDropIndicator() || !this.dropTarget) {
|
|
5455
|
+
this.hide();
|
|
5456
|
+
return;
|
|
5457
|
+
}
|
|
5458
|
+
this.show();
|
|
5459
|
+
const destinationItemOffset = getOffset(this.dropTarget);
|
|
5460
|
+
let indicatorOffsetTop = destinationItemOffset.top;
|
|
5461
|
+
const indicatorOffsetLeft = destinationItemOffset.left + this.dropIndicator.offsetWidth / 2;
|
|
5462
|
+
if (this.lastDropPosition === dropPosition.after) {
|
|
5463
|
+
indicatorOffsetTop += this.dropTarget.offsetHeight;
|
|
5464
|
+
}
|
|
5465
|
+
this.renderer.setStyle(this.dropIndicator, 'left', `${indicatorOffsetLeft}px`);
|
|
5466
|
+
this.renderer.setStyle(this.dropIndicator, 'top', `${indicatorOffsetTop}px`);
|
|
5467
|
+
}
|
|
5468
|
+
shouldHideDropIndicator() {
|
|
5469
|
+
return this.lastDropPosition === dropPosition.forbidden || this.lastDropPosition === dropPosition.over;
|
|
5470
|
+
}
|
|
5471
|
+
hide() {
|
|
5472
|
+
if (isPresent$1(this.dropIndicator)) {
|
|
5473
|
+
this.renderer.setStyle(this.dropIndicator, 'display', 'none');
|
|
5474
|
+
}
|
|
5475
|
+
}
|
|
5476
|
+
show() {
|
|
5477
|
+
if (isPresent$1(this.dropIndicator)) {
|
|
5478
|
+
this.renderer.removeStyle(this.dropIndicator, 'display');
|
|
5479
|
+
}
|
|
5480
|
+
}
|
|
5481
|
+
}
|
|
5482
|
+
RowReorderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: RowReorderService, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
5483
|
+
RowReorderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: RowReorderService });
|
|
5484
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: RowReorderService, decorators: [{
|
|
5485
|
+
type: Injectable
|
|
5486
|
+
}], ctorParameters: function () { return [{ type: i0.Renderer2 }]; }, propDecorators: { rowReorder: [{
|
|
5487
|
+
type: Output
|
|
5488
|
+
}] } });
|
|
5489
|
+
|
|
5146
5490
|
/* eslint-disable @typescript-eslint/no-inferrable-types */
|
|
5147
5491
|
/**
|
|
5148
5492
|
* @hidden
|
|
@@ -6038,7 +6382,7 @@ StringFilterMenuInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
|
6038
6382
|
[filterDelay]="0"
|
|
6039
6383
|
[ngModel]="currentFilter?.value" />
|
|
6040
6384
|
</kendo-treelist-filter-menu-input-wrapper>
|
|
6041
|
-
`, isInline: true, components: [{ type: FilterMenuInputWrapperComponent, selector: "kendo-treelist-filter-menu-input-wrapper", inputs: ["filterService", "currentFilter"] }], directives: [{ type:
|
|
6385
|
+
`, isInline: true, components: [{ type: FilterMenuInputWrapperComponent, selector: "kendo-treelist-filter-menu-input-wrapper", inputs: ["filterService", "currentFilter"] }], directives: [{ type: i2.TextBoxDirective, selector: "input[kendoTextBox]", inputs: ["value"] }, { type: i3$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: FilterInputDirective, selector: "[kendoFilterInput]", inputs: ["filterDelay", "value"] }, { type: i3$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
|
|
6042
6386
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: StringFilterMenuInputComponent, decorators: [{
|
|
6043
6387
|
type: Component,
|
|
6044
6388
|
args: [{
|
|
@@ -6336,7 +6680,7 @@ NumericFilterMenuInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion:
|
|
|
6336
6680
|
[step]="step">
|
|
6337
6681
|
</kendo-numerictextbox>
|
|
6338
6682
|
</kendo-treelist-filter-menu-input-wrapper>
|
|
6339
|
-
`, isInline: true, components: [{ type: FilterMenuInputWrapperComponent, selector: "kendo-treelist-filter-menu-input-wrapper", inputs: ["filterService", "currentFilter"] }, { type:
|
|
6683
|
+
`, isInline: true, components: [{ type: FilterMenuInputWrapperComponent, selector: "kendo-treelist-filter-menu-input-wrapper", inputs: ["filterService", "currentFilter"] }, { type: i2.NumericTextBoxComponent, selector: "kendo-numerictextbox", inputs: ["focusableId", "disabled", "readonly", "title", "autoCorrect", "format", "max", "min", "decimals", "placeholder", "step", "spinners", "rangeValidation", "tabindex", "tabIndex", "changeValueOnScroll", "selectOnFocus", "value", "maxlength", "size", "rounded", "fillMode"], outputs: ["valueChange", "focus", "blur"], exportAs: ["kendoNumericTextBox"] }], directives: [{ type: FilterInputDirective, selector: "[kendoFilterInput]", inputs: ["filterDelay", "value"] }] });
|
|
6340
6684
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: NumericFilterMenuInputComponent, decorators: [{
|
|
6341
6685
|
type: Component,
|
|
6342
6686
|
args: [{
|
|
@@ -7094,7 +7438,7 @@ BooleanFilterMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0
|
|
|
7094
7438
|
<label class="k-radio-label" [attr.for]="radioId(item.value)">{{item.text}}</label>
|
|
7095
7439
|
</li>
|
|
7096
7440
|
</ul>
|
|
7097
|
-
`, isInline: true, directives: [{ type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type:
|
|
7441
|
+
`, isInline: true, directives: [{ type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.RadioButtonDirective, selector: "input[kendoRadioButton]", inputs: ["size"] }] });
|
|
7098
7442
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: BooleanFilterMenuComponent, decorators: [{
|
|
7099
7443
|
type: Component,
|
|
7100
7444
|
args: [{
|
|
@@ -8586,7 +8930,7 @@ FilterCellOperatorsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12
|
|
|
8586
8930
|
(click)="clearClick()"
|
|
8587
8931
|
(keydown)="clearKeydown($event)">
|
|
8588
8932
|
</button>
|
|
8589
|
-
`, isInline: true, components: [{ type: i3$1.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["iconClass", "loading", "data", "value", "textField", "valueField", "adaptiveMode", "title", "subtitle", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }, { type: i4$
|
|
8933
|
+
`, isInline: true, components: [{ type: i3$1.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["iconClass", "loading", "data", "value", "textField", "valueField", "adaptiveMode", "title", "subtitle", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }, { type: i4$1.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"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: FocusableDirective, selector: "[kendoTreeListFocusable],\n [kendoTreeListAddCommand],\n [kendoTreeListEditCommand],\n [kendoTreeListRemoveCommand],\n [kendoTreeListSaveCommand],\n [kendoTreeListCancelCommand]\n ", inputs: ["kendoTreeListFocusable", "enabled", "kendoTreeListAddCommand", "kendoTreeListEditCommand", "kendoTreeListRemoveCommand", "kendoTreeListSaveCommand", "kendoTreeListCancelCommand"] }] });
|
|
8590
8934
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FilterCellOperatorsComponent, decorators: [{
|
|
8591
8935
|
type: Component,
|
|
8592
8936
|
args: [{
|
|
@@ -8831,7 +9175,7 @@ NumericFilterCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0
|
|
|
8831
9175
|
[step]="step">
|
|
8832
9176
|
</kendo-numerictextbox>
|
|
8833
9177
|
</kendo-treelist-filter-wrapper-cell>
|
|
8834
|
-
`, isInline: true, components: [{ type: FilterCellWrapperComponent, selector: "kendo-treelist-filter-wrapper-cell", inputs: ["showOperators"] }, { type:
|
|
9178
|
+
`, isInline: true, components: [{ type: FilterCellWrapperComponent, selector: "kendo-treelist-filter-wrapper-cell", inputs: ["showOperators"] }, { type: i2.NumericTextBoxComponent, selector: "kendo-numerictextbox", inputs: ["focusableId", "disabled", "readonly", "title", "autoCorrect", "format", "max", "min", "decimals", "placeholder", "step", "spinners", "rangeValidation", "tabindex", "tabIndex", "changeValueOnScroll", "selectOnFocus", "value", "maxlength", "size", "rounded", "fillMode"], outputs: ["valueChange", "focus", "blur"], exportAs: ["kendoNumericTextBox"] }], directives: [{ type: FocusableDirective, selector: "[kendoTreeListFocusable],\n [kendoTreeListAddCommand],\n [kendoTreeListEditCommand],\n [kendoTreeListRemoveCommand],\n [kendoTreeListSaveCommand],\n [kendoTreeListCancelCommand]\n ", inputs: ["kendoTreeListFocusable", "enabled", "kendoTreeListAddCommand", "kendoTreeListEditCommand", "kendoTreeListRemoveCommand", "kendoTreeListSaveCommand", "kendoTreeListCancelCommand"] }, { type: FilterInputDirective, selector: "[kendoFilterInput]", inputs: ["filterDelay", "value"] }] });
|
|
8835
9179
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: NumericFilterCellComponent, decorators: [{
|
|
8836
9180
|
type: Component,
|
|
8837
9181
|
args: [{
|
|
@@ -10653,6 +10997,10 @@ const ICON_CLASS = 'k-icon k-svg-icon';
|
|
|
10653
10997
|
* @hidden
|
|
10654
10998
|
*/
|
|
10655
10999
|
const IGNORE_CONTAINER_CLASSES = 'k-treelist-ignore-click';
|
|
11000
|
+
/**
|
|
11001
|
+
* @hidden
|
|
11002
|
+
*/
|
|
11003
|
+
const DRAG_HANDLE_CLASS = 'k-drag-cell';
|
|
10656
11004
|
|
|
10657
11005
|
/* eslint-disable @angular-eslint/pipe-prefix */
|
|
10658
11006
|
/**
|
|
@@ -10719,13 +11067,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
10719
11067
|
* @hidden
|
|
10720
11068
|
*/
|
|
10721
11069
|
class CellComponent {
|
|
10722
|
-
constructor(editService, focusGroup) {
|
|
11070
|
+
constructor(editService, localization, focusGroup) {
|
|
10723
11071
|
this.editService = editService;
|
|
11072
|
+
this.localization = localization;
|
|
10724
11073
|
this.focusGroup = focusGroup;
|
|
10725
11074
|
this.isNew = false;
|
|
10726
11075
|
this.level = 0;
|
|
10727
11076
|
this.caretAltDownIcon = caretAltDownIcon;
|
|
10728
11077
|
this.caretAltRightIcon = caretAltRightIcon;
|
|
11078
|
+
this.reorderIcon = reorderIcon;
|
|
10729
11079
|
this.cellContext = {};
|
|
10730
11080
|
this._templateContext = {};
|
|
10731
11081
|
this._editTemplateContext = {};
|
|
@@ -10741,6 +11091,12 @@ class CellComponent {
|
|
|
10741
11091
|
get textNoWrapClass() {
|
|
10742
11092
|
return this.column.expandable;
|
|
10743
11093
|
}
|
|
11094
|
+
get dragHandleCellClass() {
|
|
11095
|
+
return isRowReorderColumn(this.column);
|
|
11096
|
+
}
|
|
11097
|
+
get dragRowHandleLabel() {
|
|
11098
|
+
return isRowReorderColumn(this.column) ? this.localization.get('dragRowHandleLabel') : undefined;
|
|
11099
|
+
}
|
|
10744
11100
|
set viewItem(value) {
|
|
10745
11101
|
this._viewItem = value;
|
|
10746
11102
|
this.cellContext.viewItem = this.viewItem;
|
|
@@ -10808,8 +11164,8 @@ class CellComponent {
|
|
|
10808
11164
|
context.rowIndex = this.viewItem.rowIndex;
|
|
10809
11165
|
}
|
|
10810
11166
|
}
|
|
10811
|
-
CellComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: CellComponent, deps: [{ token: EditService }, { token: FocusGroup }], target: i0.ɵɵFactoryTarget.Component });
|
|
10812
|
-
CellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: CellComponent, selector: "[kendoTreeListCell]", inputs: { column: "column", columnIndex: "columnIndex", isNew: "isNew", level: "level", hasChildren: "hasChildren", isExpanded: "isExpanded", loading: "loading", expandIcons: "expandIcons", selected: "selected", dataItem: "dataItem", viewItem: "viewItem" }, host: { properties: { "class.k-command-cell": "this.commandCellClass", "class.k-checkbox-cell": "this.isCheckboxColumn", "class.k-text-nowrap": "this.textNoWrapClass" } }, ngImport: i0, template: `
|
|
11167
|
+
CellComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: CellComponent, deps: [{ token: EditService }, { token: i1$1.LocalizationService }, { token: FocusGroup }], target: i0.ɵɵFactoryTarget.Component });
|
|
11168
|
+
CellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: CellComponent, selector: "[kendoTreeListCell]", inputs: { column: "column", columnIndex: "columnIndex", isNew: "isNew", level: "level", hasChildren: "hasChildren", isExpanded: "isExpanded", loading: "loading", expandIcons: "expandIcons", selected: "selected", dataItem: "dataItem", viewItem: "viewItem" }, host: { properties: { "class.k-command-cell": "this.commandCellClass", "class.k-checkbox-cell": "this.isCheckboxColumn", "class.k-text-nowrap": "this.textNoWrapClass", "class.k-drag-cell": "this.dragHandleCellClass", "class.k-touch-action-none": "this.dragHandleCellClass", "attr.aria-label": "this.dragRowHandleLabel" } }, ngImport: i0, template: `
|
|
10813
11169
|
<ng-container [ngSwitch]="isEdited">
|
|
10814
11170
|
<ng-container *ngSwitchCase="false">
|
|
10815
11171
|
<ng-container *ngIf="column.expandable">
|
|
@@ -10838,6 +11194,12 @@ CellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
|
|
|
10838
11194
|
class="k-checkbox k-checkbox-md k-rounded-md"
|
|
10839
11195
|
[checked]="selected" />
|
|
10840
11196
|
</ng-template>
|
|
11197
|
+
<ng-container *ngIf="column.isRowReorderColumn && !isNew">
|
|
11198
|
+
<kendo-icon-wrapper
|
|
11199
|
+
name="reorder"
|
|
11200
|
+
[svgIcon]="reorderIcon">
|
|
11201
|
+
</kendo-icon-wrapper>
|
|
11202
|
+
</ng-container>
|
|
10841
11203
|
</ng-container>
|
|
10842
11204
|
<ng-container *ngSwitchCase="true">
|
|
10843
11205
|
<ng-container
|
|
@@ -10878,7 +11240,7 @@ CellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
|
|
|
10878
11240
|
</ng-container>
|
|
10879
11241
|
</ng-container>
|
|
10880
11242
|
</ng-container>
|
|
10881
|
-
`, isInline: true, components: [{ type: i3.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass"], exportAs: ["kendoIconWrapper"] }, { type:
|
|
11243
|
+
`, isInline: true, components: [{ type: i3.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass"], exportAs: ["kendoIconWrapper"] }, { type: i2.NumericTextBoxComponent, selector: "kendo-numerictextbox", inputs: ["focusableId", "disabled", "readonly", "title", "autoCorrect", "format", "max", "min", "decimals", "placeholder", "step", "spinners", "rangeValidation", "tabindex", "tabIndex", "changeValueOnScroll", "selectOnFocus", "value", "maxlength", "size", "rounded", "fillMode"], outputs: ["valueChange", "focus", "blur"], exportAs: ["kendoNumericTextBox"] }, { type: i3$3.DatePickerComponent, selector: "kendo-datepicker", inputs: ["focusableId", "cellTemplate", "monthCellTemplate", "yearCellTemplate", "decadeCellTemplate", "centuryCellTemplate", "weekNumberTemplate", "headerTitleTemplate", "navigationItemTemplate", "activeView", "bottomView", "topView", "calendarType", "animateCalendarNavigation", "disabled", "readonly", "readOnlyInput", "popupSettings", "navigation", "min", "max", "incompleteDateValidation", "focusedDate", "value", "format", "twoDigitYearMax", "formatPlaceholder", "placeholder", "tabindex", "tabIndex", "disabledDates", "title", "subtitle", "rangeValidation", "disabledDatesValidation", "weekNumber", "size", "rounded", "fillMode", "adaptiveMode"], outputs: ["valueChange", "focus", "blur", "open", "close"], exportAs: ["kendo-datepicker"] }], directives: [{ type: i4.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i4.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: FocusableDirective, selector: "[kendoTreeListFocusable],\n [kendoTreeListAddCommand],\n [kendoTreeListEditCommand],\n [kendoTreeListRemoveCommand],\n [kendoTreeListSaveCommand],\n [kendoTreeListCancelCommand]\n ", inputs: ["kendoTreeListFocusable", "enabled", "kendoTreeListAddCommand", "kendoTreeListEditCommand", "kendoTreeListRemoveCommand", "kendoTreeListSaveCommand", "kendoTreeListCancelCommand"] }, { type: i3$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i3$2.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { type: i4.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { type: i3$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }], pipes: { "levelItems": LevelItemsPipe, "valueOf": FieldAccessorPipe } });
|
|
10882
11244
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: CellComponent, decorators: [{
|
|
10883
11245
|
type: Component,
|
|
10884
11246
|
args: [{
|
|
@@ -10912,6 +11274,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
10912
11274
|
class="k-checkbox k-checkbox-md k-rounded-md"
|
|
10913
11275
|
[checked]="selected" />
|
|
10914
11276
|
</ng-template>
|
|
11277
|
+
<ng-container *ngIf="column.isRowReorderColumn && !isNew">
|
|
11278
|
+
<kendo-icon-wrapper
|
|
11279
|
+
name="reorder"
|
|
11280
|
+
[svgIcon]="reorderIcon">
|
|
11281
|
+
</kendo-icon-wrapper>
|
|
11282
|
+
</ng-container>
|
|
10915
11283
|
</ng-container>
|
|
10916
11284
|
<ng-container *ngSwitchCase="true">
|
|
10917
11285
|
<ng-container
|
|
@@ -10954,7 +11322,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
10954
11322
|
</ng-container>
|
|
10955
11323
|
`
|
|
10956
11324
|
}]
|
|
10957
|
-
}], ctorParameters: function () { return [{ type: EditService }, { type: FocusGroup }]; }, propDecorators: { commandCellClass: [{
|
|
11325
|
+
}], ctorParameters: function () { return [{ type: EditService }, { type: i1$1.LocalizationService }, { type: FocusGroup }]; }, propDecorators: { commandCellClass: [{
|
|
10958
11326
|
type: HostBinding,
|
|
10959
11327
|
args: ['class.k-command-cell']
|
|
10960
11328
|
}], isCheckboxColumn: [{
|
|
@@ -10963,6 +11331,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
10963
11331
|
}], textNoWrapClass: [{
|
|
10964
11332
|
type: HostBinding,
|
|
10965
11333
|
args: ['class.k-text-nowrap']
|
|
11334
|
+
}], dragHandleCellClass: [{
|
|
11335
|
+
type: HostBinding,
|
|
11336
|
+
args: ['class.k-drag-cell']
|
|
11337
|
+
}, {
|
|
11338
|
+
type: HostBinding,
|
|
11339
|
+
args: ['class.k-touch-action-none']
|
|
11340
|
+
}], dragRowHandleLabel: [{
|
|
11341
|
+
type: HostBinding,
|
|
11342
|
+
args: ['attr.aria-label']
|
|
10966
11343
|
}], column: [{
|
|
10967
11344
|
type: Input
|
|
10968
11345
|
}], columnIndex: [{
|
|
@@ -11167,8 +11544,10 @@ class TableBodyComponent {
|
|
|
11167
11544
|
clickHandler(eventArg) {
|
|
11168
11545
|
const target = eventArg.target;
|
|
11169
11546
|
const { cell, row } = this.targetElements(target);
|
|
11170
|
-
|
|
11171
|
-
|
|
11547
|
+
const forbiddenCellClasses = NON_DATA_CELL_CLASSES.concat(` ${DRAG_HANDLE_CLASS}`);
|
|
11548
|
+
const isValidCell = cell ? !hasClasses(cell, forbiddenCellClasses) : false;
|
|
11549
|
+
const isValidRow = row ? !hasClasses(row, NON_DATA_ROW_CLASSES) : false;
|
|
11550
|
+
if (isValidRow && isValidCell) {
|
|
11172
11551
|
if (this.expandClick(eventArg, row) || this.checkboxClick(cell, row, eventArg)) {
|
|
11173
11552
|
return;
|
|
11174
11553
|
}
|
|
@@ -12580,7 +12959,7 @@ PagerPrevButtonsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.
|
|
|
12580
12959
|
[attr.aria-label]="textFor('pagerPreviousPage')"
|
|
12581
12960
|
(click)="onButtonClick('prevPage')">
|
|
12582
12961
|
</button>
|
|
12583
|
-
`, isInline: true, components: [{ type: i4$
|
|
12962
|
+
`, isInline: true, components: [{ type: i4$1.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"] }], directives: [{ type: FocusableDirective, selector: "[kendoTreeListFocusable],\n [kendoTreeListAddCommand],\n [kendoTreeListEditCommand],\n [kendoTreeListRemoveCommand],\n [kendoTreeListSaveCommand],\n [kendoTreeListCancelCommand]\n ", inputs: ["kendoTreeListFocusable", "enabled", "kendoTreeListAddCommand", "kendoTreeListEditCommand", "kendoTreeListRemoveCommand", "kendoTreeListSaveCommand", "kendoTreeListCancelCommand"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
12584
12963
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PagerPrevButtonsComponent, decorators: [{
|
|
12585
12964
|
type: Component,
|
|
12586
12965
|
args: [{
|
|
@@ -12765,7 +13144,7 @@ PagerNumericButtonsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12
|
|
|
12765
13144
|
[attr.title]="pageLabel(end + 1)"
|
|
12766
13145
|
(click)="changePage(end)">...</button>
|
|
12767
13146
|
</div>
|
|
12768
|
-
`, isInline: true, components: [{ type: i4$
|
|
13147
|
+
`, isInline: true, components: [{ type: i4$1.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"] }], directives: [{ type: FocusableDirective, selector: "[kendoTreeListFocusable],\n [kendoTreeListAddCommand],\n [kendoTreeListEditCommand],\n [kendoTreeListRemoveCommand],\n [kendoTreeListSaveCommand],\n [kendoTreeListCancelCommand]\n ", inputs: ["kendoTreeListFocusable", "enabled", "kendoTreeListAddCommand", "kendoTreeListEditCommand", "kendoTreeListRemoveCommand", "kendoTreeListSaveCommand", "kendoTreeListCancelCommand"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
12769
13148
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PagerNumericButtonsComponent, decorators: [{
|
|
12770
13149
|
type: Component,
|
|
12771
13150
|
args: [{
|
|
@@ -12934,7 +13313,7 @@ PagerInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ve
|
|
|
12934
13313
|
</kendo-numerictextbox>
|
|
12935
13314
|
{{textFor('pagerOf')}} {{totalPages}}
|
|
12936
13315
|
</span>
|
|
12937
|
-
`, isInline: true, components: [{ type:
|
|
13316
|
+
`, isInline: true, components: [{ type: i2.NumericTextBoxComponent, selector: "kendo-numerictextbox", inputs: ["focusableId", "disabled", "readonly", "title", "autoCorrect", "format", "max", "min", "decimals", "placeholder", "step", "spinners", "rangeValidation", "tabindex", "tabIndex", "changeValueOnScroll", "selectOnFocus", "value", "maxlength", "size", "rounded", "fillMode"], outputs: ["valueChange", "focus", "blur"], exportAs: ["kendoNumericTextBox"] }], directives: [{ type: FocusableDirective, selector: "[kendoTreeListFocusable],\n [kendoTreeListAddCommand],\n [kendoTreeListEditCommand],\n [kendoTreeListRemoveCommand],\n [kendoTreeListSaveCommand],\n [kendoTreeListCancelCommand]\n ", inputs: ["kendoTreeListFocusable", "enabled", "kendoTreeListAddCommand", "kendoTreeListEditCommand", "kendoTreeListRemoveCommand", "kendoTreeListSaveCommand", "kendoTreeListCancelCommand"] }, { type: i1$3.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }] });
|
|
12938
13317
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PagerInputComponent, decorators: [{
|
|
12939
13318
|
type: Component,
|
|
12940
13319
|
args: [{
|
|
@@ -13040,7 +13419,7 @@ PagerNextButtonsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.
|
|
|
13040
13419
|
[attr.aria-label]="textFor('pagerLastPage')"
|
|
13041
13420
|
(click)="onButtonClick('lastPage')">
|
|
13042
13421
|
</button>
|
|
13043
|
-
`, isInline: true, components: [{ type: i4$
|
|
13422
|
+
`, isInline: true, components: [{ type: i4$1.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"] }], directives: [{ type: FocusableDirective, selector: "[kendoTreeListFocusable],\n [kendoTreeListAddCommand],\n [kendoTreeListEditCommand],\n [kendoTreeListRemoveCommand],\n [kendoTreeListSaveCommand],\n [kendoTreeListCancelCommand]\n ", inputs: ["kendoTreeListFocusable", "enabled", "kendoTreeListAddCommand", "kendoTreeListEditCommand", "kendoTreeListRemoveCommand", "kendoTreeListSaveCommand", "kendoTreeListCancelCommand"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
13044
13423
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PagerNextButtonsComponent, decorators: [{
|
|
13045
13424
|
type: Component,
|
|
13046
13425
|
args: [{
|
|
@@ -13240,7 +13619,7 @@ PagerPageSizesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
|
|
|
13240
13619
|
[attr.aria-label]="textFor('pagerItemsPerPage')"
|
|
13241
13620
|
(valueChange)="pageSizeChange($event)"></kendo-dropdownlist>
|
|
13242
13621
|
<kendo-label [for]="dropdownlist" [text]="textFor('pagerItemsPerPage')"></kendo-label>
|
|
13243
|
-
`, isInline: true, components: [{ type: i3$1.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["iconClass", "loading", "data", "value", "textField", "valueField", "adaptiveMode", "title", "subtitle", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }, { type: i4$
|
|
13622
|
+
`, isInline: true, components: [{ type: i3$1.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["iconClass", "loading", "data", "value", "textField", "valueField", "adaptiveMode", "title", "subtitle", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }, { type: i4$2.LabelComponent, selector: "kendo-label", inputs: ["text", "for", "optional"], exportAs: ["kendoLabel"] }], directives: [{ type: FocusableDirective, selector: "[kendoTreeListFocusable],\n [kendoTreeListAddCommand],\n [kendoTreeListEditCommand],\n [kendoTreeListRemoveCommand],\n [kendoTreeListSaveCommand],\n [kendoTreeListCancelCommand]\n ", inputs: ["kendoTreeListFocusable", "enabled", "kendoTreeListAddCommand", "kendoTreeListEditCommand", "kendoTreeListRemoveCommand", "kendoTreeListSaveCommand", "kendoTreeListCancelCommand"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
13244
13623
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PagerPageSizesComponent, decorators: [{
|
|
13245
13624
|
type: Component,
|
|
13246
13625
|
args: [{
|
|
@@ -13642,7 +14021,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
13642
14021
|
class Messages extends ComponentMessages {
|
|
13643
14022
|
}
|
|
13644
14023
|
Messages.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: Messages, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
13645
|
-
Messages.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: Messages, inputs: { groupPanelEmpty: "groupPanelEmpty", noRecords: "noRecords", pagerLabel: "pagerLabel", pagerFirstPage: "pagerFirstPage", pagerLastPage: "pagerLastPage", pagerPreviousPage: "pagerPreviousPage", pagerNextPage: "pagerNextPage", pagerPage: "pagerPage", pagerPageNumberInputTitle: "pagerPageNumberInputTitle", pagerItemsPerPage: "pagerItemsPerPage", pagerOf: "pagerOf", pagerItemsTotal: "pagerItemsTotal", selectPage: "selectPage", filter: "filter", filterEqOperator: "filterEqOperator", filterNotEqOperator: "filterNotEqOperator", filterIsNullOperator: "filterIsNullOperator", filterIsNotNullOperator: "filterIsNotNullOperator", filterIsEmptyOperator: "filterIsEmptyOperator", filterIsNotEmptyOperator: "filterIsNotEmptyOperator", filterStartsWithOperator: "filterStartsWithOperator", filterContainsOperator: "filterContainsOperator", filterNotContainsOperator: "filterNotContainsOperator", filterEndsWithOperator: "filterEndsWithOperator", filterGteOperator: "filterGteOperator", filterGtOperator: "filterGtOperator", filterLteOperator: "filterLteOperator", filterLtOperator: "filterLtOperator", filterIsTrue: "filterIsTrue", filterIsFalse: "filterIsFalse", filterBooleanAll: "filterBooleanAll", filterAfterOrEqualOperator: "filterAfterOrEqualOperator", filterAfterOperator: "filterAfterOperator", filterBeforeOperator: "filterBeforeOperator", filterBeforeOrEqualOperator: "filterBeforeOrEqualOperator", filterFilterButton: "filterFilterButton", filterClearButton: "filterClearButton", filterAndLogic: "filterAndLogic", filterOrLogic: "filterOrLogic", loading: "loading", columnMenu: "columnMenu", columns: "columns", lock: "lock", unlock: "unlock", sortable: "sortable", sortAscending: "sortAscending", sortDescending: "sortDescending", sortedAscending: "sortedAscending", sortedDescending: "sortedDescending", sortedDefault: "sortedDefault", columnsApply: "columnsApply", columnsReset: "columnsReset", topToolbarLabel: "topToolbarLabel", bottomToolbarLabel: "bottomToolbarLabel" }, usesInheritance: true, ngImport: i0 });
|
|
14024
|
+
Messages.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: Messages, inputs: { groupPanelEmpty: "groupPanelEmpty", noRecords: "noRecords", pagerLabel: "pagerLabel", pagerFirstPage: "pagerFirstPage", pagerLastPage: "pagerLastPage", pagerPreviousPage: "pagerPreviousPage", pagerNextPage: "pagerNextPage", pagerPage: "pagerPage", pagerPageNumberInputTitle: "pagerPageNumberInputTitle", pagerItemsPerPage: "pagerItemsPerPage", pagerOf: "pagerOf", pagerItemsTotal: "pagerItemsTotal", selectPage: "selectPage", filter: "filter", filterEqOperator: "filterEqOperator", filterNotEqOperator: "filterNotEqOperator", filterIsNullOperator: "filterIsNullOperator", filterIsNotNullOperator: "filterIsNotNullOperator", filterIsEmptyOperator: "filterIsEmptyOperator", filterIsNotEmptyOperator: "filterIsNotEmptyOperator", filterStartsWithOperator: "filterStartsWithOperator", filterContainsOperator: "filterContainsOperator", filterNotContainsOperator: "filterNotContainsOperator", filterEndsWithOperator: "filterEndsWithOperator", filterGteOperator: "filterGteOperator", filterGtOperator: "filterGtOperator", filterLteOperator: "filterLteOperator", filterLtOperator: "filterLtOperator", filterIsTrue: "filterIsTrue", filterIsFalse: "filterIsFalse", filterBooleanAll: "filterBooleanAll", filterAfterOrEqualOperator: "filterAfterOrEqualOperator", filterAfterOperator: "filterAfterOperator", filterBeforeOperator: "filterBeforeOperator", filterBeforeOrEqualOperator: "filterBeforeOrEqualOperator", filterFilterButton: "filterFilterButton", filterClearButton: "filterClearButton", filterAndLogic: "filterAndLogic", filterOrLogic: "filterOrLogic", loading: "loading", columnMenu: "columnMenu", columns: "columns", lock: "lock", unlock: "unlock", sortable: "sortable", sortAscending: "sortAscending", sortDescending: "sortDescending", sortedAscending: "sortedAscending", sortedDescending: "sortedDescending", sortedDefault: "sortedDefault", columnsApply: "columnsApply", columnsReset: "columnsReset", topToolbarLabel: "topToolbarLabel", bottomToolbarLabel: "bottomToolbarLabel", dragRowHandleLabel: "dragRowHandleLabel" }, usesInheritance: true, ngImport: i0 });
|
|
13646
14025
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: Messages, decorators: [{
|
|
13647
14026
|
type: Directive,
|
|
13648
14027
|
args: [{}]
|
|
@@ -13754,6 +14133,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
13754
14133
|
type: Input
|
|
13755
14134
|
}], bottomToolbarLabel: [{
|
|
13756
14135
|
type: Input
|
|
14136
|
+
}], dragRowHandleLabel: [{
|
|
14137
|
+
type: Input
|
|
13757
14138
|
}] } });
|
|
13758
14139
|
|
|
13759
14140
|
/**
|
|
@@ -14076,7 +14457,7 @@ const isInEditedCell = (element, treelistElement) => closest(element, matchesCla
|
|
|
14076
14457
|
* {% endmeta %}
|
|
14077
14458
|
*/
|
|
14078
14459
|
class TreeListComponent {
|
|
14079
|
-
constructor(supportService, wrapper, changeNotification, editService, filterService, pdfService, responsiveService, renderer, excelService, ngZone, scrollSyncService, domEvents, columnResizingService, changeDetectorRef, columnReorderService, columnInfoService, navigationService, sortService, scrollRequestService, expandStateService, optionChanges, selectionService, localization, ctx) {
|
|
14460
|
+
constructor(supportService, wrapper, changeNotification, editService, filterService, pdfService, responsiveService, renderer, excelService, ngZone, scrollSyncService, domEvents, columnResizingService, changeDetectorRef, columnReorderService, columnInfoService, navigationService, sortService, scrollRequestService, expandStateService, optionChanges, selectionService, localization, ctx, rowReorderService) {
|
|
14080
14461
|
this.supportService = supportService;
|
|
14081
14462
|
this.wrapper = wrapper;
|
|
14082
14463
|
this.changeNotification = changeNotification;
|
|
@@ -14101,6 +14482,7 @@ class TreeListComponent {
|
|
|
14101
14482
|
this.selectionService = selectionService;
|
|
14102
14483
|
this.localization = localization;
|
|
14103
14484
|
this.ctx = ctx;
|
|
14485
|
+
this.rowReorderService = rowReorderService;
|
|
14104
14486
|
/**
|
|
14105
14487
|
* Defines the page size used by the TreeList when [paging]({% slug paging_treelist %}) is enabled.
|
|
14106
14488
|
*
|
|
@@ -14336,6 +14718,11 @@ class TreeListComponent {
|
|
|
14336
14718
|
* Used by the expand directive and the Gantt component.
|
|
14337
14719
|
*/
|
|
14338
14720
|
this.expandStateChange = new EventEmitter();
|
|
14721
|
+
/**
|
|
14722
|
+
* Fires when the user drops the dragged row and reordering is performed.
|
|
14723
|
+
* Emits the [RowReorderEvent]({% slug api_treelist_rowreorderevent %}).
|
|
14724
|
+
*/
|
|
14725
|
+
this.rowReorder = new EventEmitter();
|
|
14339
14726
|
/**
|
|
14340
14727
|
* @hidden
|
|
14341
14728
|
*/
|
|
@@ -14365,6 +14752,11 @@ class TreeListComponent {
|
|
|
14365
14752
|
this._sort = new Array();
|
|
14366
14753
|
this._skip = 0;
|
|
14367
14754
|
this.cachedWindowWidth = 0;
|
|
14755
|
+
this._rowReorderable = false;
|
|
14756
|
+
/**
|
|
14757
|
+
* @hidden
|
|
14758
|
+
*/
|
|
14759
|
+
this.treeListData = () => { return this.view; };
|
|
14368
14760
|
this._rowClass = () => null;
|
|
14369
14761
|
validatePackage(packageMetadata);
|
|
14370
14762
|
this.subscriptions.add(localization.changes.subscribe(({ rtl }) => {
|
|
@@ -14427,6 +14819,11 @@ class TreeListComponent {
|
|
|
14427
14819
|
this.view.clear();
|
|
14428
14820
|
this.expandStateChange.emit(args);
|
|
14429
14821
|
}
|
|
14822
|
+
if (this.rowReorderable) {
|
|
14823
|
+
this.ngZone.onStable.pipe(take(2)).subscribe(() => {
|
|
14824
|
+
this.notifyReorderContainers();
|
|
14825
|
+
});
|
|
14826
|
+
}
|
|
14430
14827
|
}));
|
|
14431
14828
|
this.subscriptions.add(this.view.childrenLoaded.subscribe(() => {
|
|
14432
14829
|
this.changeDetectorRef.detectChanges();
|
|
@@ -14625,6 +15022,26 @@ class TreeListComponent {
|
|
|
14625
15022
|
}
|
|
14626
15023
|
this.selectionService.isSelected = value;
|
|
14627
15024
|
}
|
|
15025
|
+
/**
|
|
15026
|
+
* Enables the [row reordering]({% slug treelist_row_reordering %}) of the TreeList.
|
|
15027
|
+
* @default false
|
|
15028
|
+
*/
|
|
15029
|
+
set rowReorderable(value) {
|
|
15030
|
+
this._rowReorderable = value;
|
|
15031
|
+
if (value) {
|
|
15032
|
+
this.rowReorderSubscription = this.rowReorderService.rowReorder.subscribe(args => {
|
|
15033
|
+
hasObservers(this.rowReorder) && this.ngZone.run(() => {
|
|
15034
|
+
this.rowReorder.emit(args);
|
|
15035
|
+
});
|
|
15036
|
+
});
|
|
15037
|
+
}
|
|
15038
|
+
else {
|
|
15039
|
+
this.rowReorderSubscription?.unsubscribe();
|
|
15040
|
+
}
|
|
15041
|
+
}
|
|
15042
|
+
get rowReorderable() {
|
|
15043
|
+
return this._rowReorderable;
|
|
15044
|
+
}
|
|
14628
15045
|
/**
|
|
14629
15046
|
* @hidden
|
|
14630
15047
|
*/
|
|
@@ -14886,6 +15303,30 @@ class TreeListComponent {
|
|
|
14886
15303
|
this.ngZone = null;
|
|
14887
15304
|
clearTimeout(this.pageChangeTimeout);
|
|
14888
15305
|
}
|
|
15306
|
+
/**
|
|
15307
|
+
* @hidden
|
|
15308
|
+
*/
|
|
15309
|
+
handleReorderEvents(ev, evType) {
|
|
15310
|
+
this.rowReorderService[evType](ev);
|
|
15311
|
+
}
|
|
15312
|
+
/**
|
|
15313
|
+
* @hidden
|
|
15314
|
+
*/
|
|
15315
|
+
getDefaultSelectors(type) {
|
|
15316
|
+
return this.rowReorderService.defaultSelectors[type];
|
|
15317
|
+
}
|
|
15318
|
+
/**
|
|
15319
|
+
* @hidden
|
|
15320
|
+
*/
|
|
15321
|
+
getHintSettings(setting) {
|
|
15322
|
+
return this.rowReorderService[setting];
|
|
15323
|
+
}
|
|
15324
|
+
/**
|
|
15325
|
+
* @hidden
|
|
15326
|
+
*/
|
|
15327
|
+
get hintText() {
|
|
15328
|
+
return this.rowReorderService.getDefaultHintText(this.columnList, this.view);
|
|
15329
|
+
}
|
|
14889
15330
|
/**
|
|
14890
15331
|
* @hidden
|
|
14891
15332
|
*/
|
|
@@ -15577,6 +16018,7 @@ class TreeListComponent {
|
|
|
15577
16018
|
this.closeCell();
|
|
15578
16019
|
this.cancelCell();
|
|
15579
16020
|
this.dataStateChange.emit(x);
|
|
16021
|
+
this.rowReorderable && this.notifyReorderContainers();
|
|
15580
16022
|
}));
|
|
15581
16023
|
}
|
|
15582
16024
|
attachEditHandlers() {
|
|
@@ -15841,9 +16283,13 @@ class TreeListComponent {
|
|
|
15841
16283
|
this.columns.reset(columns.toArray());
|
|
15842
16284
|
this.columns.notifyOnChanges();
|
|
15843
16285
|
}
|
|
16286
|
+
notifyReorderContainers() {
|
|
16287
|
+
this.dragTargetContainer?.notify();
|
|
16288
|
+
this.dropTargetContainer?.notify();
|
|
16289
|
+
}
|
|
15844
16290
|
}
|
|
15845
|
-
TreeListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: TreeListComponent, deps: [{ token: BrowserSupportService }, { token: i0.ElementRef }, { token: ChangeNotificationService }, { token: EditService }, { token: FilterService }, { token: PDFService }, { token: ResponsiveService }, { token: i0.Renderer2 }, { token: ExcelService }, { token: i0.NgZone }, { token: ScrollSyncService }, { token: DomEventsService }, { token: ColumnResizingService }, { token: i0.ChangeDetectorRef }, { token: ColumnReorderService }, { token: ColumnInfoService }, { token: NavigationService }, { token: SortService }, { token: ScrollRequestService }, { token: ExpandStateService }, { token: OptionChangesService }, { token: SelectionService }, { token: i1$1.LocalizationService }, { token: ContextService }], target: i0.ɵɵFactoryTarget.Component });
|
|
15846
|
-
TreeListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: TreeListComponent, selector: "kendo-treelist", inputs: { ariaLabel: ["aria-label", "ariaLabel"], data: "data", pageSize: "pageSize", height: "height", rowHeight: "rowHeight", skip: "skip", scrollable: "scrollable", sort: "sort", trackBy: "trackBy", filter: "filter", virtualColumns: "virtualColumns", filterable: "filterable", sortable: "sortable", pageable: "pageable", navigable: "navigable", navigatable: "navigatable", autoSize: "autoSize", rowClass: "rowClass", resizable: "resizable", reorderable: "reorderable", loading: "loading", columnMenu: "columnMenu", hideHeader: "hideHeader", idField: "idField", selectable: "selectable", isSelected: "isSelected", columnsRef: ["columns", "columnsRef"], fetchChildren: "fetchChildren", hasChildren: "hasChildren", isExpanded: "isExpanded" }, outputs: { selectionChange: "selectionChange", filterChange: "filterChange", pageChange: "pageChange", sortChange: "sortChange", dataStateChange: "dataStateChange", edit: "edit", cancel: "cancel", save: "save", remove: "remove", add: "add", cellClose: "cellClose", cellClick: "cellClick", pdfExport: "pdfExport", excelExport: "excelExport", columnResize: "columnResize", columnReorder: "columnReorder", columnVisibilityChange: "columnVisibilityChange", columnLockedChange: "columnLockedChange", scrollBottom: "scrollBottom", contentScroll: "contentScroll", expandEvent: "expand", collapseEvent: "collapse", expandStateChange: "expandStateChange" }, host: { properties: { "attr.dir": "this.dir", "class.k-grid": "this.hostClasses", "class.k-grid-md": "this.hostClasses", "class.k-treelist": "this.hostClasses", "class.k-grid-lockedcolumns": "this.lockedClasses", "class.k-grid-virtual": "this.virtualClasses", "class.k-grid-no-scrollbar": "this.noScrollbarClass" } }, providers: [
|
|
16291
|
+
TreeListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: TreeListComponent, deps: [{ token: BrowserSupportService }, { token: i0.ElementRef }, { token: ChangeNotificationService }, { token: EditService }, { token: FilterService }, { token: PDFService }, { token: ResponsiveService }, { token: i0.Renderer2 }, { token: ExcelService }, { token: i0.NgZone }, { token: ScrollSyncService }, { token: DomEventsService }, { token: ColumnResizingService }, { token: i0.ChangeDetectorRef }, { token: ColumnReorderService }, { token: ColumnInfoService }, { token: NavigationService }, { token: SortService }, { token: ScrollRequestService }, { token: ExpandStateService }, { token: OptionChangesService }, { token: SelectionService }, { token: i1$1.LocalizationService }, { token: ContextService }, { token: RowReorderService }], target: i0.ɵɵFactoryTarget.Component });
|
|
16292
|
+
TreeListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: TreeListComponent, selector: "kendo-treelist", inputs: { ariaLabel: ["aria-label", "ariaLabel"], data: "data", pageSize: "pageSize", height: "height", rowHeight: "rowHeight", skip: "skip", scrollable: "scrollable", sort: "sort", trackBy: "trackBy", filter: "filter", virtualColumns: "virtualColumns", filterable: "filterable", sortable: "sortable", pageable: "pageable", navigable: "navigable", navigatable: "navigatable", autoSize: "autoSize", rowClass: "rowClass", resizable: "resizable", reorderable: "reorderable", loading: "loading", columnMenu: "columnMenu", hideHeader: "hideHeader", idField: "idField", selectable: "selectable", isSelected: "isSelected", rowReorderable: "rowReorderable", columnsRef: ["columns", "columnsRef"], fetchChildren: "fetchChildren", hasChildren: "hasChildren", isExpanded: "isExpanded" }, outputs: { selectionChange: "selectionChange", filterChange: "filterChange", pageChange: "pageChange", sortChange: "sortChange", dataStateChange: "dataStateChange", edit: "edit", cancel: "cancel", save: "save", remove: "remove", add: "add", cellClose: "cellClose", cellClick: "cellClick", pdfExport: "pdfExport", excelExport: "excelExport", columnResize: "columnResize", columnReorder: "columnReorder", columnVisibilityChange: "columnVisibilityChange", columnLockedChange: "columnLockedChange", scrollBottom: "scrollBottom", contentScroll: "contentScroll", expandEvent: "expand", collapseEvent: "collapse", expandStateChange: "expandStateChange", rowReorder: "rowReorder" }, host: { properties: { "attr.dir": "this.dir", "class.k-grid": "this.hostClasses", "class.k-grid-md": "this.hostClasses", "class.k-treelist": "this.hostClasses", "class.k-grid-lockedcolumns": "this.lockedClasses", "class.k-grid-virtual": "this.virtualClasses", "class.k-grid-no-scrollbar": "this.noScrollbarClass" } }, providers: [
|
|
15847
16293
|
BrowserSupportService,
|
|
15848
16294
|
LocalizationService,
|
|
15849
16295
|
ColumnInfoService,
|
|
@@ -15884,8 +16330,9 @@ TreeListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", vers
|
|
|
15884
16330
|
provide: ExpandableTreeComponent,
|
|
15885
16331
|
useExisting: forwardRef(() => TreeListComponent)
|
|
15886
16332
|
},
|
|
15887
|
-
ContextService
|
|
15888
|
-
|
|
16333
|
+
ContextService,
|
|
16334
|
+
RowReorderService
|
|
16335
|
+
], queries: [{ propertyName: "columns", predicate: ColumnBase }, { propertyName: "noRecordsTemplateChildren", predicate: NoRecordsTemplateDirective }, { propertyName: "pagerTemplateChildren", predicate: PagerTemplateDirective }, { propertyName: "toolbarTemplateChildren", predicate: ToolbarTemplateDirective }, { propertyName: "columnMenuTemplates", predicate: ColumnMenuTemplateDirective }], viewQueries: [{ propertyName: "lockedHeader", first: true, predicate: ["lockedHeader"], descendants: true }, { propertyName: "header", first: true, predicate: ["header"], descendants: true }, { propertyName: "ariaRoot", first: true, predicate: ["ariaRoot"], descendants: true, static: true }, { propertyName: "dragTargetContainer", first: true, predicate: DragTargetContainerDirective, descendants: true }, { propertyName: "dropTargetContainer", first: true, predicate: DropTargetContainerDirective, descendants: true }, { propertyName: "footer", predicate: ["footer"], descendants: true }], exportAs: ["kendoTreeList"], usesOnChanges: true, ngImport: i0, template: `
|
|
15889
16336
|
<ng-container kendoTreeListLocalizedMessages
|
|
15890
16337
|
|
|
15891
16338
|
i18n-noRecords="kendo.treelist.noRecords|The label visible in the TreeList when there are no records"
|
|
@@ -16046,6 +16493,8 @@ TreeListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", vers
|
|
|
16046
16493
|
|
|
16047
16494
|
i18n-bottomToolbarLabel="kendo.treelist.bottomToolbarLabel|The label of the TreeList bottom toolbar"
|
|
16048
16495
|
bottomToolbarLabel="Bottom toolbar"
|
|
16496
|
+
i18n-dragRowHandleLabel="kendo.treelist.dragRowHandleLabel|The label for the TreeList drag row handle"
|
|
16497
|
+
dragRowHandleLabel="Drag row"
|
|
16049
16498
|
>
|
|
16050
16499
|
</ng-container>
|
|
16051
16500
|
<kendo-treelist-toolbar
|
|
@@ -16063,7 +16512,24 @@ TreeListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", vers
|
|
|
16063
16512
|
[attr.aria-rowcount]="ariaRowCount"
|
|
16064
16513
|
[attr.aria-colcount]="ariaColCount"
|
|
16065
16514
|
[attr.aria-multiselectable]="ariaMultiselectable"
|
|
16066
|
-
[attr.aria-label]="ariaLabel"
|
|
16515
|
+
[attr.aria-label]="ariaLabel"
|
|
16516
|
+
kendoDragTargetContainer
|
|
16517
|
+
kendoDropTargetContainer
|
|
16518
|
+
mode="manual"
|
|
16519
|
+
[dragDisabled]="!rowReorderable"
|
|
16520
|
+
[dropDisabled]="!rowReorderable"
|
|
16521
|
+
[dragTargetFilter]="getDefaultSelectors('dragTarget')"
|
|
16522
|
+
[dropTargetFilter]="getDefaultSelectors('dropTarget')"
|
|
16523
|
+
[dragHandle]="getDefaultSelectors('handle')"
|
|
16524
|
+
[hint]="{hintTemplate: defaultHint}"
|
|
16525
|
+
(onPress)="handleReorderEvents($event, 'press')"
|
|
16526
|
+
(onDragStart)="handleReorderEvents($event, 'dragStart')"
|
|
16527
|
+
(onDrag)="handleReorderEvents($event, 'drag')"
|
|
16528
|
+
(onDragEnter)="handleReorderEvents($event, 'dragEnter')"
|
|
16529
|
+
(onDragLeave)="handleReorderEvents($event, 'dragLeave')"
|
|
16530
|
+
(onDragEnd)="handleReorderEvents($event, 'dragEnd')"
|
|
16531
|
+
(onDrop)="handleReorderEvents($event, 'drop')"
|
|
16532
|
+
[dragData]="treeListData">
|
|
16067
16533
|
<ng-template [ngIf]="isScrollable">
|
|
16068
16534
|
<div *ngIf="!hideHeader"
|
|
16069
16535
|
class="k-grid-header"
|
|
@@ -16215,7 +16681,16 @@ TreeListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", vers
|
|
|
16215
16681
|
[attr.aria-label]="messageFor('bottomToolbarLabel')"
|
|
16216
16682
|
[attr.aria-controls]="ariaRootId">
|
|
16217
16683
|
</kendo-treelist-toolbar>
|
|
16218
|
-
|
|
16684
|
+
|
|
16685
|
+
<ng-template #defaultHint>
|
|
16686
|
+
<kendo-icon-wrapper
|
|
16687
|
+
[name]="getHintSettings('hintIcon')"
|
|
16688
|
+
[svgIcon]="getHintSettings('hintSVGIcon')"
|
|
16689
|
+
innerCssClass="k-drag-status">
|
|
16690
|
+
</kendo-icon-wrapper>
|
|
16691
|
+
{{hintText}}
|
|
16692
|
+
</ng-template>
|
|
16693
|
+
`, isInline: true, components: [{ type: ToolbarComponent, selector: "kendo-treelist-toolbar", inputs: ["position", "navigable"] }, { type: ColGroupComponent, selector: "[kendoTreeListColGroup]", inputs: ["columns"] }, { type: HeaderComponent, selector: "[kendoTreeListHeader]", inputs: ["totalColumnLevels", "columns", "scrollable", "filterable", "sort", "filter", "sortable", "lockedColumnsCount", "resizable", "reorderable", "columnMenu", "columnMenuTemplate", "totalColumnsCount"] }, { type: ListComponent, selector: "kendo-treelist-list", inputs: ["view", "total", "rowHeight", "take", "skip", "columns", "noRecordsTemplate", "filterable", "rowClass", "loading", "trackBy", "virtualColumns", "isVirtual", "expandIcons"], outputs: ["contentScroll", "pageChange", "scrollBottom"] }, { type: TableBodyComponent, selector: "[kendoTreeListTableBody]", inputs: ["columns", "allColumns", "noRecordsTemplate", "view", "skip", "filterable", "noRecordsText", "isLocked", "lockedColumnsCount", "totalColumnsCount", "virtualColumns", "expandIcons", "trackBy", "rowClass"] }, { type: LoadingComponent, selector: "[kendoTreeListLoading]" }, { type: PagerComponent, selector: "kendo-treelist-pager", inputs: ["allCount", "total", "skip", "navigable", "pageSize", "options", "template"], outputs: ["pageChange"] }, { type: i3.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass"], exportAs: ["kendoIconWrapper"] }], directives: [{ type: LocalizedMessagesDirective, selector: "[kendoTreeListLocalizedMessages]" }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i32.DragTargetContainerDirective, selector: "[kendoDragTargetContainer]", inputs: ["hint", "dragTargetFilter", "dragHandle", "dragDelay", "threshold", "dragTargetId", "dragData", "dragDisabled", "mode"], outputs: ["onDragReady", "onPress", "onDragStart", "onDrag", "onRelease", "onDragEnd"], exportAs: ["kendoDragTargetContainer"] }, { type: i32.DropTargetContainerDirective, selector: "[kendoDropTargetContainer]", inputs: ["dropTargetFilter", "dropDisabled"], outputs: ["onDragEnter", "onDragOver", "onDragLeave", "onDrop"], exportAs: ["kendoDropTargetContainer"] }, { type: TableDirective, selector: "table", inputs: ["locked", "virtualColumns"] }, { type: ResizableContainerDirective, selector: "[kendoTreeListResizableContainer]", inputs: ["lockedWidth", "kendoTreeListResizableContainer"] }, { type: i1$3.DraggableDirective, selector: "[kendoDraggable]", inputs: ["enableDrag"], outputs: ["kendoPress", "kendoDrag", "kendoRelease"] }, { type: MarqueeDirective, selector: "[kendoTreeListSelectionMarquee]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
16219
16694
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: TreeListComponent, decorators: [{
|
|
16220
16695
|
type: Component,
|
|
16221
16696
|
args: [{
|
|
@@ -16263,7 +16738,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
16263
16738
|
provide: ExpandableTreeComponent,
|
|
16264
16739
|
useExisting: forwardRef(() => TreeListComponent)
|
|
16265
16740
|
},
|
|
16266
|
-
ContextService
|
|
16741
|
+
ContextService,
|
|
16742
|
+
RowReorderService
|
|
16267
16743
|
],
|
|
16268
16744
|
selector: 'kendo-treelist',
|
|
16269
16745
|
template: `
|
|
@@ -16427,6 +16903,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
16427
16903
|
|
|
16428
16904
|
i18n-bottomToolbarLabel="kendo.treelist.bottomToolbarLabel|The label of the TreeList bottom toolbar"
|
|
16429
16905
|
bottomToolbarLabel="Bottom toolbar"
|
|
16906
|
+
i18n-dragRowHandleLabel="kendo.treelist.dragRowHandleLabel|The label for the TreeList drag row handle"
|
|
16907
|
+
dragRowHandleLabel="Drag row"
|
|
16430
16908
|
>
|
|
16431
16909
|
</ng-container>
|
|
16432
16910
|
<kendo-treelist-toolbar
|
|
@@ -16444,7 +16922,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
16444
16922
|
[attr.aria-rowcount]="ariaRowCount"
|
|
16445
16923
|
[attr.aria-colcount]="ariaColCount"
|
|
16446
16924
|
[attr.aria-multiselectable]="ariaMultiselectable"
|
|
16447
|
-
[attr.aria-label]="ariaLabel"
|
|
16925
|
+
[attr.aria-label]="ariaLabel"
|
|
16926
|
+
kendoDragTargetContainer
|
|
16927
|
+
kendoDropTargetContainer
|
|
16928
|
+
mode="manual"
|
|
16929
|
+
[dragDisabled]="!rowReorderable"
|
|
16930
|
+
[dropDisabled]="!rowReorderable"
|
|
16931
|
+
[dragTargetFilter]="getDefaultSelectors('dragTarget')"
|
|
16932
|
+
[dropTargetFilter]="getDefaultSelectors('dropTarget')"
|
|
16933
|
+
[dragHandle]="getDefaultSelectors('handle')"
|
|
16934
|
+
[hint]="{hintTemplate: defaultHint}"
|
|
16935
|
+
(onPress)="handleReorderEvents($event, 'press')"
|
|
16936
|
+
(onDragStart)="handleReorderEvents($event, 'dragStart')"
|
|
16937
|
+
(onDrag)="handleReorderEvents($event, 'drag')"
|
|
16938
|
+
(onDragEnter)="handleReorderEvents($event, 'dragEnter')"
|
|
16939
|
+
(onDragLeave)="handleReorderEvents($event, 'dragLeave')"
|
|
16940
|
+
(onDragEnd)="handleReorderEvents($event, 'dragEnd')"
|
|
16941
|
+
(onDrop)="handleReorderEvents($event, 'drop')"
|
|
16942
|
+
[dragData]="treeListData">
|
|
16448
16943
|
<ng-template [ngIf]="isScrollable">
|
|
16449
16944
|
<div *ngIf="!hideHeader"
|
|
16450
16945
|
class="k-grid-header"
|
|
@@ -16596,9 +17091,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
16596
17091
|
[attr.aria-label]="messageFor('bottomToolbarLabel')"
|
|
16597
17092
|
[attr.aria-controls]="ariaRootId">
|
|
16598
17093
|
</kendo-treelist-toolbar>
|
|
17094
|
+
|
|
17095
|
+
<ng-template #defaultHint>
|
|
17096
|
+
<kendo-icon-wrapper
|
|
17097
|
+
[name]="getHintSettings('hintIcon')"
|
|
17098
|
+
[svgIcon]="getHintSettings('hintSVGIcon')"
|
|
17099
|
+
innerCssClass="k-drag-status">
|
|
17100
|
+
</kendo-icon-wrapper>
|
|
17101
|
+
{{hintText}}
|
|
17102
|
+
</ng-template>
|
|
16599
17103
|
`
|
|
16600
17104
|
}]
|
|
16601
|
-
}], ctorParameters: function () { return [{ type: BrowserSupportService }, { type: i0.ElementRef }, { type: ChangeNotificationService }, { type: EditService }, { type: FilterService }, { type: PDFService }, { type: ResponsiveService }, { type: i0.Renderer2 }, { type: ExcelService }, { type: i0.NgZone }, { type: ScrollSyncService }, { type: DomEventsService }, { type: ColumnResizingService }, { type: i0.ChangeDetectorRef }, { type: ColumnReorderService }, { type: ColumnInfoService }, { type: NavigationService }, { type: SortService }, { type: ScrollRequestService }, { type: ExpandStateService }, { type: OptionChangesService }, { type: SelectionService }, { type: i1$1.LocalizationService }, { type: ContextService }]; }, propDecorators: { ariaLabel: [{
|
|
17105
|
+
}], ctorParameters: function () { return [{ type: BrowserSupportService }, { type: i0.ElementRef }, { type: ChangeNotificationService }, { type: EditService }, { type: FilterService }, { type: PDFService }, { type: ResponsiveService }, { type: i0.Renderer2 }, { type: ExcelService }, { type: i0.NgZone }, { type: ScrollSyncService }, { type: DomEventsService }, { type: ColumnResizingService }, { type: i0.ChangeDetectorRef }, { type: ColumnReorderService }, { type: ColumnInfoService }, { type: NavigationService }, { type: SortService }, { type: ScrollRequestService }, { type: ExpandStateService }, { type: OptionChangesService }, { type: SelectionService }, { type: i1$1.LocalizationService }, { type: ContextService }, { type: RowReorderService }]; }, propDecorators: { ariaLabel: [{
|
|
16602
17106
|
type: Input,
|
|
16603
17107
|
args: ['aria-label']
|
|
16604
17108
|
}], data: [{
|
|
@@ -16651,6 +17155,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
16651
17155
|
type: Input
|
|
16652
17156
|
}], isSelected: [{
|
|
16653
17157
|
type: Input
|
|
17158
|
+
}], rowReorderable: [{
|
|
17159
|
+
type: Input
|
|
16654
17160
|
}], selectionChange: [{
|
|
16655
17161
|
type: Output
|
|
16656
17162
|
}], filterChange: [{
|
|
@@ -16699,6 +17205,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
16699
17205
|
args: ['collapse']
|
|
16700
17206
|
}], expandStateChange: [{
|
|
16701
17207
|
type: Output
|
|
17208
|
+
}], rowReorder: [{
|
|
17209
|
+
type: Output
|
|
16702
17210
|
}], columnsRef: [{
|
|
16703
17211
|
type: Input,
|
|
16704
17212
|
args: ['columns']
|
|
@@ -16750,6 +17258,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
16750
17258
|
}], ariaRoot: [{
|
|
16751
17259
|
type: ViewChild,
|
|
16752
17260
|
args: ['ariaRoot', { static: true }]
|
|
17261
|
+
}], dragTargetContainer: [{
|
|
17262
|
+
type: ViewChild,
|
|
17263
|
+
args: [DragTargetContainerDirective]
|
|
17264
|
+
}], dropTargetContainer: [{
|
|
17265
|
+
type: ViewChild,
|
|
17266
|
+
args: [DropTargetContainerDirective]
|
|
16753
17267
|
}], fetchChildren: [{
|
|
16754
17268
|
type: Input
|
|
16755
17269
|
}], hasChildren: [{
|
|
@@ -16927,6 +17441,46 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
16927
17441
|
args: [CellTemplateDirective, { static: false }]
|
|
16928
17442
|
}] } });
|
|
16929
17443
|
|
|
17444
|
+
/**
|
|
17445
|
+
* Represents the drag handle for reordering rows in the TreeList.
|
|
17446
|
+
*/
|
|
17447
|
+
class RowReorderColumnComponent extends ColumnBase {
|
|
17448
|
+
constructor(parent) {
|
|
17449
|
+
super(parent);
|
|
17450
|
+
this.parent = parent;
|
|
17451
|
+
/**
|
|
17452
|
+
* @hidden
|
|
17453
|
+
*/
|
|
17454
|
+
this.isRowReorderColumn = true;
|
|
17455
|
+
}
|
|
17456
|
+
}
|
|
17457
|
+
RowReorderColumnComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: RowReorderColumnComponent, deps: [{ token: ColumnBase, host: true, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
17458
|
+
RowReorderColumnComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: RowReorderColumnComponent, selector: "kendo-treelist-rowreorder-column", providers: [
|
|
17459
|
+
{
|
|
17460
|
+
provide: ColumnBase,
|
|
17461
|
+
useExisting: forwardRef(() => RowReorderColumnComponent)
|
|
17462
|
+
}
|
|
17463
|
+
], usesInheritance: true, ngImport: i0, template: ``, isInline: true });
|
|
17464
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: RowReorderColumnComponent, decorators: [{
|
|
17465
|
+
type: Component,
|
|
17466
|
+
args: [{
|
|
17467
|
+
providers: [
|
|
17468
|
+
{
|
|
17469
|
+
provide: ColumnBase,
|
|
17470
|
+
useExisting: forwardRef(() => RowReorderColumnComponent)
|
|
17471
|
+
}
|
|
17472
|
+
],
|
|
17473
|
+
selector: 'kendo-treelist-rowreorder-column',
|
|
17474
|
+
template: ``
|
|
17475
|
+
}]
|
|
17476
|
+
}], ctorParameters: function () { return [{ type: ColumnBase, decorators: [{
|
|
17477
|
+
type: SkipSelf
|
|
17478
|
+
}, {
|
|
17479
|
+
type: Host
|
|
17480
|
+
}, {
|
|
17481
|
+
type: Optional
|
|
17482
|
+
}] }]; } });
|
|
17483
|
+
|
|
16930
17484
|
const exportedModules$3 = [
|
|
16931
17485
|
ColumnComponent,
|
|
16932
17486
|
ColumnGroupComponent,
|
|
@@ -16940,7 +17494,8 @@ const exportedModules$3 = [
|
|
|
16940
17494
|
SpanColumnComponent,
|
|
16941
17495
|
TableDirective,
|
|
16942
17496
|
LoadingComponent,
|
|
16943
|
-
CheckboxColumnComponent
|
|
17497
|
+
CheckboxColumnComponent,
|
|
17498
|
+
RowReorderColumnComponent
|
|
16944
17499
|
];
|
|
16945
17500
|
/**
|
|
16946
17501
|
* @hidden
|
|
@@ -16951,6 +17506,7 @@ class SharedModule {
|
|
|
16951
17506
|
ColumnComponent,
|
|
16952
17507
|
SpanColumnComponent,
|
|
16953
17508
|
CheckboxColumnComponent,
|
|
17509
|
+
RowReorderColumnComponent,
|
|
16954
17510
|
ColumnGroupComponent,
|
|
16955
17511
|
FocusableDirective
|
|
16956
17512
|
];
|
|
@@ -16969,7 +17525,8 @@ SharedModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "
|
|
|
16969
17525
|
SpanColumnComponent,
|
|
16970
17526
|
TableDirective,
|
|
16971
17527
|
LoadingComponent,
|
|
16972
|
-
CheckboxColumnComponent
|
|
17528
|
+
CheckboxColumnComponent,
|
|
17529
|
+
RowReorderColumnComponent], imports: [CommonModule, IconsModule], exports: [ColumnComponent,
|
|
16973
17530
|
ColumnGroupComponent,
|
|
16974
17531
|
LogicalCellDirective,
|
|
16975
17532
|
LogicalRowDirective,
|
|
@@ -16981,7 +17538,8 @@ SharedModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "
|
|
|
16981
17538
|
SpanColumnComponent,
|
|
16982
17539
|
TableDirective,
|
|
16983
17540
|
LoadingComponent,
|
|
16984
|
-
CheckboxColumnComponent,
|
|
17541
|
+
CheckboxColumnComponent,
|
|
17542
|
+
RowReorderColumnComponent, DraggableModule, IconsModule] });
|
|
16985
17543
|
SharedModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SharedModule, imports: [[CommonModule, IconsModule], DraggableModule, IconsModule] });
|
|
16986
17544
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SharedModule, decorators: [{
|
|
16987
17545
|
type: NgModule,
|
|
@@ -18052,7 +18610,7 @@ ColumnChooserComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
|
|
|
18052
18610
|
(columnChange)="onChange($event)">
|
|
18053
18611
|
</kendo-treelist-columnlist>
|
|
18054
18612
|
</ng-template>
|
|
18055
|
-
`, isInline: true, components: [{ type: i4$
|
|
18613
|
+
`, isInline: true, components: [{ type: i4$1.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: ColumnListComponent, selector: "kendo-treelist-columnlist", inputs: ["columns", "autoSync", "allowHideAll", "applyText", "resetText", "actionsClass"], outputs: ["reset", "apply", "columnChange"] }] });
|
|
18056
18614
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ColumnChooserComponent, decorators: [{
|
|
18057
18615
|
type: Component,
|
|
18058
18616
|
args: [{
|
|
@@ -19158,8 +19716,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
19158
19716
|
}] } });
|
|
19159
19717
|
|
|
19160
19718
|
class BaseBindingDirective {
|
|
19161
|
-
constructor(component) {
|
|
19719
|
+
constructor(component, rowReorderService) {
|
|
19162
19720
|
this.component = component;
|
|
19721
|
+
this.rowReorderService = rowReorderService;
|
|
19163
19722
|
this.state = {};
|
|
19164
19723
|
this.cache = new Map();
|
|
19165
19724
|
this.originalData = [];
|
|
@@ -19192,6 +19751,8 @@ class BaseBindingDirective {
|
|
|
19192
19751
|
this.applyState(this.state);
|
|
19193
19752
|
this.subscriptions.add(this.component.dataStateChange
|
|
19194
19753
|
.subscribe(this.onStateChange.bind(this)));
|
|
19754
|
+
this.component.rowReorderable && this.subscriptions.add(this.rowReorderService.rowReorder
|
|
19755
|
+
.subscribe(this.onRowReorder.bind(this)));
|
|
19195
19756
|
}
|
|
19196
19757
|
/**
|
|
19197
19758
|
* @hidden
|
|
@@ -19232,6 +19793,7 @@ class BaseBindingDirective {
|
|
|
19232
19793
|
this.cache.clear();
|
|
19233
19794
|
this.component.data = this.fetchChildren();
|
|
19234
19795
|
}
|
|
19796
|
+
onRowReorder(_event) { }
|
|
19235
19797
|
applyState({ sort, filter }) {
|
|
19236
19798
|
this.sort = sort;
|
|
19237
19799
|
this.filter = filter;
|
|
@@ -19300,12 +19862,12 @@ class BaseBindingDirective {
|
|
|
19300
19862
|
this.dataChanged = true;
|
|
19301
19863
|
}
|
|
19302
19864
|
}
|
|
19303
|
-
BaseBindingDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: BaseBindingDirective, deps: [{ token: DataBoundTreeComponent }], target: i0.ɵɵFactoryTarget.Directive });
|
|
19865
|
+
BaseBindingDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: BaseBindingDirective, deps: [{ token: DataBoundTreeComponent }, { token: RowReorderService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
19304
19866
|
BaseBindingDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: BaseBindingDirective, inputs: { sort: "sort", filter: "filter", aggregate: "aggregate" }, usesOnChanges: true, ngImport: i0 });
|
|
19305
19867
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: BaseBindingDirective, decorators: [{
|
|
19306
19868
|
type: Directive,
|
|
19307
19869
|
args: [{}]
|
|
19308
|
-
}], ctorParameters: function () { return [{ type: DataBoundTreeComponent }]; }, propDecorators: { sort: [{
|
|
19870
|
+
}], ctorParameters: function () { return [{ type: DataBoundTreeComponent }, { type: RowReorderService }]; }, propDecorators: { sort: [{
|
|
19309
19871
|
type: Input
|
|
19310
19872
|
}], filter: [{
|
|
19311
19873
|
type: Input
|
|
@@ -19355,6 +19917,53 @@ class HierarchyEditService extends LocalEditService {
|
|
|
19355
19917
|
}
|
|
19356
19918
|
}
|
|
19357
19919
|
|
|
19920
|
+
/**
|
|
19921
|
+
* @hidden
|
|
19922
|
+
*/
|
|
19923
|
+
class HierarchicalRowReorderService extends RowReorderService {
|
|
19924
|
+
isOverChild(targetItem) {
|
|
19925
|
+
const { draggedRows } = this.rowReorderArgs(this.dragTarget, this.dropTarget, this.view);
|
|
19926
|
+
const draggedItem = draggedRows[0].dataItem;
|
|
19927
|
+
const hasChildren = isPresent(draggedItem[this.childrenField]) && draggedItem[this.childrenField].length > 0;
|
|
19928
|
+
if (!hasChildren) {
|
|
19929
|
+
return false;
|
|
19930
|
+
}
|
|
19931
|
+
if (targetItem && draggedItem.hasOwnProperty(this.childrenField)) {
|
|
19932
|
+
if (draggedItem[this.childrenField].includes(targetItem)) {
|
|
19933
|
+
return true;
|
|
19934
|
+
}
|
|
19935
|
+
const parent = findParent$1(this.data, targetItem, this.childrenField);
|
|
19936
|
+
if (parent) {
|
|
19937
|
+
return this.isOverChild(parent);
|
|
19938
|
+
}
|
|
19939
|
+
}
|
|
19940
|
+
return false;
|
|
19941
|
+
}
|
|
19942
|
+
reorderRows(ev, collection, field) {
|
|
19943
|
+
const draggedItem = ev.draggedRows[0].dataItem;
|
|
19944
|
+
const dropTargetItem = ev.dropTargetRow.dataItem;
|
|
19945
|
+
const draggedItemParent = findParent$1(collection, draggedItem, field);
|
|
19946
|
+
const dropTargetParent = findParent$1(collection, dropTargetItem, field);
|
|
19947
|
+
const draggedItemIdx = draggedItemParent ? draggedItemParent[field].indexOf(draggedItem) : collection.indexOf(draggedItem);
|
|
19948
|
+
let dropTargetItemIdx = dropTargetParent ? dropTargetParent[field].indexOf(dropTargetItem) : collection.indexOf(dropTargetItem);
|
|
19949
|
+
if (ev.dropPosition === dropPosition.after && dropTargetItemIdx < draggedItemIdx) {
|
|
19950
|
+
dropTargetItemIdx++;
|
|
19951
|
+
}
|
|
19952
|
+
draggedItemParent ? draggedItemParent[field].splice(draggedItemIdx, 1) : collection.splice(draggedItemIdx, 1);
|
|
19953
|
+
if (ev.dropPosition !== dropPosition.over) {
|
|
19954
|
+
dropTargetParent ? dropTargetParent[field].splice(dropTargetItemIdx, 0, draggedItem) : collection.splice(dropTargetItemIdx, 0, draggedItem);
|
|
19955
|
+
}
|
|
19956
|
+
else {
|
|
19957
|
+
dropTargetItem[field].unshift(draggedItem);
|
|
19958
|
+
}
|
|
19959
|
+
}
|
|
19960
|
+
}
|
|
19961
|
+
HierarchicalRowReorderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: HierarchicalRowReorderService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
19962
|
+
HierarchicalRowReorderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: HierarchicalRowReorderService });
|
|
19963
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: HierarchicalRowReorderService, decorators: [{
|
|
19964
|
+
type: Injectable
|
|
19965
|
+
}] });
|
|
19966
|
+
|
|
19358
19967
|
/**
|
|
19359
19968
|
* A directive which binds the TreeList to a tree of objects.
|
|
19360
19969
|
*
|
|
@@ -19363,12 +19972,16 @@ class HierarchyEditService extends LocalEditService {
|
|
|
19363
19972
|
* and [filtering]({% slug filtering_treelist %}) ([more information and examples](slug:databinding_treelist#toc-binding-to-hierarchical-data)).
|
|
19364
19973
|
*/
|
|
19365
19974
|
class HierarchyBindingDirective extends BaseBindingDirective {
|
|
19366
|
-
constructor(component) {
|
|
19975
|
+
constructor(component, rowReorderService) {
|
|
19367
19976
|
super(component);
|
|
19368
19977
|
this.component = component;
|
|
19978
|
+
this.rowReorderService = rowReorderService;
|
|
19369
19979
|
this.childrenGetter = getter('items');
|
|
19370
19980
|
this.childrenSetter = setter('items');
|
|
19371
19981
|
component.localEditService = new HierarchyEditService(this);
|
|
19982
|
+
if (this.rowReorderService) {
|
|
19983
|
+
this.rowReorderService.bindingDirective = this;
|
|
19984
|
+
}
|
|
19372
19985
|
}
|
|
19373
19986
|
/**
|
|
19374
19987
|
* The name of the field which holds the child data items of the node.
|
|
@@ -19376,23 +19989,56 @@ class HierarchyBindingDirective extends BaseBindingDirective {
|
|
|
19376
19989
|
set childrenField(value) {
|
|
19377
19990
|
this.childrenGetter = getter(value);
|
|
19378
19991
|
this.childrenSetter = setter(value);
|
|
19992
|
+
this._childrenField = value;
|
|
19379
19993
|
}
|
|
19994
|
+
get childrenField() {
|
|
19995
|
+
return this._childrenField;
|
|
19996
|
+
}
|
|
19997
|
+
/**
|
|
19998
|
+
* @hidden
|
|
19999
|
+
*/
|
|
19380
20000
|
getChildren(item) {
|
|
19381
20001
|
return item ? this.childrenGetter(item) || [] : this.originalData;
|
|
19382
20002
|
}
|
|
19383
20003
|
itemKey(item) {
|
|
19384
20004
|
return item;
|
|
19385
20005
|
}
|
|
20006
|
+
onRowReorder(ev) {
|
|
20007
|
+
if (ev.dropPosition === 'forbidden') {
|
|
20008
|
+
return;
|
|
20009
|
+
}
|
|
20010
|
+
const dropTargetItem = ev.dropTargetRow.dataItem;
|
|
20011
|
+
if (ev.dropPosition === 'over') {
|
|
20012
|
+
if (!dropTargetItem.hasOwnProperty(this.childrenField)) {
|
|
20013
|
+
dropTargetItem[this.childrenField] = [];
|
|
20014
|
+
}
|
|
20015
|
+
}
|
|
20016
|
+
this.rowReorderService.reorderRows(ev, this.originalData, this.childrenField);
|
|
20017
|
+
this.rebind();
|
|
20018
|
+
}
|
|
19386
20019
|
}
|
|
19387
|
-
HierarchyBindingDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: HierarchyBindingDirective, deps: [{ token: DataBoundTreeComponent }], target: i0.ɵɵFactoryTarget.Directive });
|
|
19388
|
-
HierarchyBindingDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: HierarchyBindingDirective, selector: "[kendoTreeListHierarchyBinding]", inputs: { childrenField: "childrenField", data: ["kendoTreeListHierarchyBinding", "data"] },
|
|
20020
|
+
HierarchyBindingDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: HierarchyBindingDirective, deps: [{ token: DataBoundTreeComponent }, { token: RowReorderService, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
20021
|
+
HierarchyBindingDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: HierarchyBindingDirective, selector: "[kendoTreeListHierarchyBinding]", inputs: { childrenField: "childrenField", data: ["kendoTreeListHierarchyBinding", "data"] }, providers: [
|
|
20022
|
+
{
|
|
20023
|
+
provide: RowReorderService,
|
|
20024
|
+
useClass: HierarchicalRowReorderService
|
|
20025
|
+
}
|
|
20026
|
+
], exportAs: ["kendoTreeListHierarchyBinding"], usesInheritance: true, ngImport: i0 });
|
|
19389
20027
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: HierarchyBindingDirective, decorators: [{
|
|
19390
20028
|
type: Directive,
|
|
19391
20029
|
args: [{
|
|
19392
20030
|
exportAs: 'kendoTreeListHierarchyBinding',
|
|
19393
|
-
selector: '[kendoTreeListHierarchyBinding]'
|
|
20031
|
+
selector: '[kendoTreeListHierarchyBinding]',
|
|
20032
|
+
providers: [
|
|
20033
|
+
{
|
|
20034
|
+
provide: RowReorderService,
|
|
20035
|
+
useClass: HierarchicalRowReorderService
|
|
20036
|
+
}
|
|
20037
|
+
]
|
|
19394
20038
|
}]
|
|
19395
|
-
}], ctorParameters: function () { return [{ type: DataBoundTreeComponent }
|
|
20039
|
+
}], ctorParameters: function () { return [{ type: DataBoundTreeComponent }, { type: RowReorderService, decorators: [{
|
|
20040
|
+
type: Optional
|
|
20041
|
+
}] }]; }, propDecorators: { childrenField: [{
|
|
19396
20042
|
type: Input
|
|
19397
20043
|
}], data: [{
|
|
19398
20044
|
type: Input,
|
|
@@ -19443,6 +20089,47 @@ class FlatEditService extends LocalEditService {
|
|
|
19443
20089
|
}
|
|
19444
20090
|
}
|
|
19445
20091
|
|
|
20092
|
+
/**
|
|
20093
|
+
* @hidden
|
|
20094
|
+
*/
|
|
20095
|
+
class FlatRowReorderService extends RowReorderService {
|
|
20096
|
+
isOverChild(targetItem) {
|
|
20097
|
+
const { draggedRows } = this.rowReorderArgs(this.dragTarget, this.dropTarget, this.view);
|
|
20098
|
+
const draggedItem = draggedRows[0].dataItem;
|
|
20099
|
+
const hasParent = isPresent(targetItem[this.parentIdField]);
|
|
20100
|
+
const sameParents = draggedItem[this.parentIdField] === targetItem[this.parentIdField];
|
|
20101
|
+
if (!hasParent || sameParents) {
|
|
20102
|
+
return false;
|
|
20103
|
+
}
|
|
20104
|
+
if (targetItem && targetItem.hasOwnProperty(this.parentIdField)) {
|
|
20105
|
+
if (draggedItem[this.idField] === targetItem[this.parentIdField]) {
|
|
20106
|
+
return true;
|
|
20107
|
+
}
|
|
20108
|
+
const parent = this.data.find(i => i[this.idField] === targetItem[this.parentIdField]);
|
|
20109
|
+
if (parent) {
|
|
20110
|
+
return this.isOverChild(parent);
|
|
20111
|
+
}
|
|
20112
|
+
}
|
|
20113
|
+
}
|
|
20114
|
+
reorderRows(ev, collection) {
|
|
20115
|
+
const { draggedRows, dropTargetRow } = ev;
|
|
20116
|
+
const draggedDataItem = draggedRows[0].dataItem;
|
|
20117
|
+
const dropTargetDataItem = dropTargetRow.dataItem;
|
|
20118
|
+
let dropTargetIdx = collection.indexOf(dropTargetDataItem);
|
|
20119
|
+
const draggedItemIdx = collection.indexOf(draggedDataItem);
|
|
20120
|
+
collection.splice(draggedItemIdx, 1);
|
|
20121
|
+
if (ev.dropPosition === 'after' && dropTargetIdx < draggedItemIdx) {
|
|
20122
|
+
dropTargetIdx++;
|
|
20123
|
+
}
|
|
20124
|
+
collection.splice(dropTargetIdx, 0, draggedDataItem);
|
|
20125
|
+
}
|
|
20126
|
+
}
|
|
20127
|
+
FlatRowReorderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FlatRowReorderService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
20128
|
+
FlatRowReorderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FlatRowReorderService });
|
|
20129
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FlatRowReorderService, decorators: [{
|
|
20130
|
+
type: Injectable
|
|
20131
|
+
}] });
|
|
20132
|
+
|
|
19446
20133
|
const ROOT_ID = null;
|
|
19447
20134
|
/**
|
|
19448
20135
|
* A directive which binds the TreeList to an array of objects by using
|
|
@@ -19453,14 +20140,18 @@ const ROOT_ID = null;
|
|
|
19453
20140
|
* and [filtering]({% slug filtering_treelist %}) ([more information and examples]({% slug databinding_treelist %})).
|
|
19454
20141
|
*/
|
|
19455
20142
|
class FlatBindingDirective extends BaseBindingDirective {
|
|
19456
|
-
constructor(component) {
|
|
20143
|
+
constructor(component, rowReorderService) {
|
|
19457
20144
|
super(component);
|
|
19458
20145
|
this.component = component;
|
|
20146
|
+
this.rowReorderService = rowReorderService;
|
|
19459
20147
|
this.idGetter = getter('id');
|
|
19460
20148
|
this.idSetter = setter('id');
|
|
19461
20149
|
this.parentIdGetter = getter('parentId');
|
|
19462
20150
|
this.parentIdSetter = setter('parentId');
|
|
19463
20151
|
component.localEditService = new FlatEditService(this);
|
|
20152
|
+
if (this.rowReorderService) {
|
|
20153
|
+
this.rowReorderService.bindingDirective = this;
|
|
20154
|
+
}
|
|
19464
20155
|
}
|
|
19465
20156
|
/**
|
|
19466
20157
|
* The name of the field which contains the identifier of the parent node.
|
|
@@ -19468,6 +20159,10 @@ class FlatBindingDirective extends BaseBindingDirective {
|
|
|
19468
20159
|
set parentIdField(value) {
|
|
19469
20160
|
this.parentIdGetter = getter(value);
|
|
19470
20161
|
this.parentIdSetter = setter(value);
|
|
20162
|
+
this._parentIdField = value;
|
|
20163
|
+
}
|
|
20164
|
+
get parentIdField() {
|
|
20165
|
+
return this._parentIdField;
|
|
19471
20166
|
}
|
|
19472
20167
|
/**
|
|
19473
20168
|
* The name of the field which contains the unique identifier of the node.
|
|
@@ -19475,7 +20170,14 @@ class FlatBindingDirective extends BaseBindingDirective {
|
|
|
19475
20170
|
set idField(value) {
|
|
19476
20171
|
this.idGetter = getter(value);
|
|
19477
20172
|
this.idSetter = setter(value);
|
|
20173
|
+
this._idField = value;
|
|
20174
|
+
}
|
|
20175
|
+
get idField() {
|
|
20176
|
+
return this._idField;
|
|
19478
20177
|
}
|
|
20178
|
+
/**
|
|
20179
|
+
* @hidden
|
|
20180
|
+
*/
|
|
19479
20181
|
getChildren(item) {
|
|
19480
20182
|
const id = this.itemKey(item);
|
|
19481
20183
|
const children = id === ROOT_ID ?
|
|
@@ -19486,16 +20188,48 @@ class FlatBindingDirective extends BaseBindingDirective {
|
|
|
19486
20188
|
itemKey(item) {
|
|
19487
20189
|
return item ? this.idGetter(item) : ROOT_ID;
|
|
19488
20190
|
}
|
|
20191
|
+
onRowReorder(ev) {
|
|
20192
|
+
if (ev.dropPosition === 'forbidden') {
|
|
20193
|
+
return;
|
|
20194
|
+
}
|
|
20195
|
+
const draggedItem = ev.draggedRows[0].dataItem;
|
|
20196
|
+
const dropTargetItem = ev.dropTargetRow.dataItem;
|
|
20197
|
+
if (ev.dropPosition === 'over') {
|
|
20198
|
+
const dropItemId = this.itemKey(dropTargetItem);
|
|
20199
|
+
if (draggedItem[this.parentIdField] !== dropItemId) {
|
|
20200
|
+
draggedItem[this.parentIdField] = dropItemId;
|
|
20201
|
+
}
|
|
20202
|
+
}
|
|
20203
|
+
else {
|
|
20204
|
+
const dropItemParentId = dropTargetItem[this.parentIdField];
|
|
20205
|
+
draggedItem[this.parentIdField] = dropItemParentId;
|
|
20206
|
+
this.rowReorderService.reorderRows(ev, this.originalData);
|
|
20207
|
+
}
|
|
20208
|
+
this.rebind();
|
|
20209
|
+
}
|
|
19489
20210
|
}
|
|
19490
|
-
FlatBindingDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FlatBindingDirective, deps: [{ token: DataBoundTreeComponent }], target: i0.ɵɵFactoryTarget.Directive });
|
|
19491
|
-
FlatBindingDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: FlatBindingDirective, selector: "[kendoTreeListFlatBinding]", inputs: { parentIdField: "parentIdField", idField: "idField", data: ["kendoTreeListFlatBinding", "data"] },
|
|
20211
|
+
FlatBindingDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FlatBindingDirective, deps: [{ token: DataBoundTreeComponent }, { token: RowReorderService, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
20212
|
+
FlatBindingDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: FlatBindingDirective, selector: "[kendoTreeListFlatBinding]", inputs: { parentIdField: "parentIdField", idField: "idField", data: ["kendoTreeListFlatBinding", "data"] }, providers: [
|
|
20213
|
+
{
|
|
20214
|
+
provide: RowReorderService,
|
|
20215
|
+
useClass: FlatRowReorderService
|
|
20216
|
+
}
|
|
20217
|
+
], exportAs: ["kendoTreeListFlatBinding"], usesInheritance: true, ngImport: i0 });
|
|
19492
20218
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FlatBindingDirective, decorators: [{
|
|
19493
20219
|
type: Directive,
|
|
19494
20220
|
args: [{
|
|
19495
20221
|
exportAs: 'kendoTreeListFlatBinding',
|
|
19496
|
-
selector: '[kendoTreeListFlatBinding]'
|
|
20222
|
+
selector: '[kendoTreeListFlatBinding]',
|
|
20223
|
+
providers: [
|
|
20224
|
+
{
|
|
20225
|
+
provide: RowReorderService,
|
|
20226
|
+
useClass: FlatRowReorderService
|
|
20227
|
+
}
|
|
20228
|
+
]
|
|
19497
20229
|
}]
|
|
19498
|
-
}], ctorParameters: function () { return [{ type: DataBoundTreeComponent }
|
|
20230
|
+
}], ctorParameters: function () { return [{ type: DataBoundTreeComponent }, { type: RowReorderService, decorators: [{
|
|
20231
|
+
type: Optional
|
|
20232
|
+
}] }]; }, propDecorators: { parentIdField: [{
|
|
19499
20233
|
type: Input
|
|
19500
20234
|
}], idField: [{
|
|
19501
20235
|
type: Input
|
|
@@ -19907,7 +20641,8 @@ TreeListModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version:
|
|
|
19907
20641
|
RowFilterModule,
|
|
19908
20642
|
FilterMenuModule,
|
|
19909
20643
|
ResizeSensorModule,
|
|
19910
|
-
ColumnMenuModule
|
|
20644
|
+
ColumnMenuModule,
|
|
20645
|
+
DragAndDropModule$1], exports: [TreeListComponent,
|
|
19911
20646
|
ToolbarTemplateDirective,
|
|
19912
20647
|
ToolbarComponent,
|
|
19913
20648
|
TreeListSpacerComponent,
|
|
@@ -19919,7 +20654,7 @@ TreeListModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version:
|
|
|
19919
20654
|
FlatBindingDirective,
|
|
19920
20655
|
ExpandableDirective,
|
|
19921
20656
|
SelectableDirective,
|
|
19922
|
-
TreeListToolbarFocusableDirective, ColumnComponent, SpanColumnComponent, CheckboxColumnComponent, ColumnGroupComponent, FocusableDirective, CommandColumnComponent, CellTemplateDirective, NoRecordsTemplateDirective, EditTemplateDirective, EditCommandDirective, CancelCommandDirective, SaveCommandDirective, RemoveCommandDirective, AddCommandDirective, FooterTemplateDirective, HeaderTemplateDirective, PagerComponent, PagerPrevButtonsComponent, PagerNextButtonsComponent, PagerNumericButtonsComponent, PagerInputComponent, PagerInfoComponent, PagerPageSizesComponent, PagerTemplateDirective, FilterRowComponent, FilterCellComponent, FilterCellTemplateDirective, FilterCellOperatorsComponent, StringFilterCellComponent, NumericFilterCellComponent, AutoCompleteFilterCellComponent, BooleanFilterCellComponent, DateFilterCellComponent, FilterCellOperatorsComponent, ContainsFilterOperatorComponent, DoesNotContainFilterOperatorComponent, EndsWithFilterOperatorComponent, EqualFilterOperatorComponent, IsEmptyFilterOperatorComponent, IsNotEmptyFilterOperatorComponent, IsNotNullFilterOperatorComponent, IsNullFilterOperatorComponent, NotEqualFilterOperatorComponent, StartsWithFilterOperatorComponent, GreaterFilterOperatorComponent, GreaterOrEqualToFilterOperatorComponent, LessFilterOperatorComponent, LessOrEqualToFilterOperatorComponent, AfterFilterOperatorComponent, AfterEqFilterOperatorComponent, BeforeEqFilterOperatorComponent, BeforeFilterOperatorComponent, StringFilterMenuComponent, FilterMenuTemplateDirective, NumericFilterMenuComponent, DateFilterMenuComponent, BooleanFilterMenuComponent, FilterCellOperatorsComponent, ContainsFilterOperatorComponent, DoesNotContainFilterOperatorComponent, EndsWithFilterOperatorComponent, EqualFilterOperatorComponent, IsEmptyFilterOperatorComponent, IsNotEmptyFilterOperatorComponent, IsNotNullFilterOperatorComponent, IsNullFilterOperatorComponent, NotEqualFilterOperatorComponent, StartsWithFilterOperatorComponent, GreaterFilterOperatorComponent, GreaterOrEqualToFilterOperatorComponent, LessFilterOperatorComponent, LessOrEqualToFilterOperatorComponent, AfterFilterOperatorComponent, AfterEqFilterOperatorComponent, BeforeEqFilterOperatorComponent, BeforeFilterOperatorComponent, ColumnChooserComponent, ColumnMenuFilterComponent, ColumnMenuItemComponent, ColumnMenuItemContentTemplateDirective, ColumnMenuSortComponent, ColumnMenuLockComponent, ColumnMenuChooserComponent, ColumnMenuTemplateDirective, ColumnMenuComponent] });
|
|
20657
|
+
TreeListToolbarFocusableDirective, ColumnComponent, SpanColumnComponent, CheckboxColumnComponent, RowReorderColumnComponent, ColumnGroupComponent, FocusableDirective, CommandColumnComponent, CellTemplateDirective, NoRecordsTemplateDirective, EditTemplateDirective, EditCommandDirective, CancelCommandDirective, SaveCommandDirective, RemoveCommandDirective, AddCommandDirective, FooterTemplateDirective, HeaderTemplateDirective, PagerComponent, PagerPrevButtonsComponent, PagerNextButtonsComponent, PagerNumericButtonsComponent, PagerInputComponent, PagerInfoComponent, PagerPageSizesComponent, PagerTemplateDirective, FilterRowComponent, FilterCellComponent, FilterCellTemplateDirective, FilterCellOperatorsComponent, StringFilterCellComponent, NumericFilterCellComponent, AutoCompleteFilterCellComponent, BooleanFilterCellComponent, DateFilterCellComponent, FilterCellOperatorsComponent, ContainsFilterOperatorComponent, DoesNotContainFilterOperatorComponent, EndsWithFilterOperatorComponent, EqualFilterOperatorComponent, IsEmptyFilterOperatorComponent, IsNotEmptyFilterOperatorComponent, IsNotNullFilterOperatorComponent, IsNullFilterOperatorComponent, NotEqualFilterOperatorComponent, StartsWithFilterOperatorComponent, GreaterFilterOperatorComponent, GreaterOrEqualToFilterOperatorComponent, LessFilterOperatorComponent, LessOrEqualToFilterOperatorComponent, AfterFilterOperatorComponent, AfterEqFilterOperatorComponent, BeforeEqFilterOperatorComponent, BeforeFilterOperatorComponent, StringFilterMenuComponent, FilterMenuTemplateDirective, NumericFilterMenuComponent, DateFilterMenuComponent, BooleanFilterMenuComponent, FilterCellOperatorsComponent, ContainsFilterOperatorComponent, DoesNotContainFilterOperatorComponent, EndsWithFilterOperatorComponent, EqualFilterOperatorComponent, IsEmptyFilterOperatorComponent, IsNotEmptyFilterOperatorComponent, IsNotNullFilterOperatorComponent, IsNullFilterOperatorComponent, NotEqualFilterOperatorComponent, StartsWithFilterOperatorComponent, GreaterFilterOperatorComponent, GreaterOrEqualToFilterOperatorComponent, LessFilterOperatorComponent, LessOrEqualToFilterOperatorComponent, AfterFilterOperatorComponent, AfterEqFilterOperatorComponent, BeforeEqFilterOperatorComponent, BeforeFilterOperatorComponent, ColumnChooserComponent, ColumnMenuFilterComponent, ColumnMenuItemComponent, ColumnMenuItemContentTemplateDirective, ColumnMenuSortComponent, ColumnMenuLockComponent, ColumnMenuChooserComponent, ColumnMenuTemplateDirective, ColumnMenuComponent] });
|
|
19923
20658
|
TreeListModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: TreeListModule, imports: [[
|
|
19924
20659
|
CommonModule,
|
|
19925
20660
|
SharedModule,
|
|
@@ -19929,7 +20664,8 @@ TreeListModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version:
|
|
|
19929
20664
|
RowFilterModule,
|
|
19930
20665
|
FilterMenuModule,
|
|
19931
20666
|
ResizeSensorModule,
|
|
19932
|
-
ColumnMenuModule
|
|
20667
|
+
ColumnMenuModule,
|
|
20668
|
+
DragAndDropModule$1
|
|
19933
20669
|
]] });
|
|
19934
20670
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: TreeListModule, decorators: [{
|
|
19935
20671
|
type: NgModule,
|
|
@@ -19945,7 +20681,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
19945
20681
|
RowFilterModule,
|
|
19946
20682
|
FilterMenuModule,
|
|
19947
20683
|
ResizeSensorModule,
|
|
19948
|
-
ColumnMenuModule
|
|
20684
|
+
ColumnMenuModule,
|
|
20685
|
+
DragAndDropModule$1
|
|
19949
20686
|
]
|
|
19950
20687
|
}]
|
|
19951
20688
|
}] });
|
|
@@ -20822,5 +21559,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
20822
21559
|
* Generated bundle index. Do not edit.
|
|
20823
21560
|
*/
|
|
20824
21561
|
|
|
20825
|
-
export { AddCommandDirective, AfterEqFilterOperatorComponent, AfterFilterOperatorComponent, AutoCompleteFilterCellComponent, BaseCommandDirective, BaseFilterCellComponent, BeforeEqFilterOperatorComponent, BeforeFilterOperatorComponent, BodyModule, BooleanFilterCellComponent, BooleanFilterComponent, BooleanFilterMenuComponent, CancelCommandDirective, CellCloseEvent, CellComponent, CellTemplateDirective, CheckboxColumnComponent, ColGroupComponent, ColumnBase, ColumnChooserComponent, ColumnComponent, ColumnGroupComponent, ColumnHandleDirective, ColumnInfoService, ColumnMenuChooserComponent, ColumnMenuComponent, ColumnMenuFilterComponent, ColumnMenuItemComponent, ColumnMenuItemContentTemplateDirective, ColumnMenuLockComponent, ColumnMenuSortComponent, ColumnMenuTemplateDirective, ColumnReorderEvent, ColumnVisibilityChangeEvent, ColumnsContainer, CommandColumnComponent, ContainsFilterOperatorComponent, CustomMessagesComponent, DataBoundTreeComponent, DateFilterCellComponent, DateFilterComponent, DateFilterMenuComponent, DateFilterMenuInputComponent, DoesNotContainFilterOperatorComponent, EditCommandDirective, EditTemplateDirective, EditingDirectiveBase, EndsWithFilterOperatorComponent, EqualFilterOperatorComponent, ExcelCommandDirective, ExcelComponent, ExcelExportEvent, ExcelModule, ExcelService, ExpandEvent, ExpandableDirective, ExpandableTreeComponent, FieldAccessorPipe, FilterCellComponent, FilterCellHostDirective, FilterCellOperatorsComponent, FilterCellTemplateDirective, FilterCellWrapperComponent, FilterInputDirective, FilterMenuComponent, FilterMenuContainerComponent, FilterMenuHostDirective, FilterMenuInputWrapperComponent, FilterMenuModule, FilterMenuTemplateDirective, FilterRowComponent, FilterService, FlatBindingDirective, FocusableDirective, FooterTemplateDirective, GreaterFilterOperatorComponent, GreaterOrEqualToFilterOperatorComponent, HeaderComponent, HeaderModule, HeaderTemplateDirective, HierarchyBindingDirective, InCellEditingDirective, IsEmptyFilterOperatorComponent, IsNotEmptyFilterOperatorComponent, IsNotNullFilterOperatorComponent, IsNullFilterOperatorComponent, LessFilterOperatorComponent, LessOrEqualToFilterOperatorComponent, LevelItemsPipe, ListComponent, LoadingComponent, LogicalCellDirective, LogicalRowDirective, NoRecordsTemplateDirective, NotEqualFilterOperatorComponent, NumericFilterCellComponent, NumericFilterMenuComponent, NumericFilterMenuInputComponent, PDFCommandDirective, PDFComponent, PDFMarginComponent, PDFModule, PDFService, PDFTemplateDirective, PagerComponent, PagerInfoComponent, PagerInputComponent, PagerModule, PagerNextButtonsComponent, PagerNumericButtonsComponent, PagerPageSizesComponent, PagerPrevButtonsComponent, PagerTemplateDirective, PopupCloseEvent, ReactiveEditingDirective, RemoveCommandDirective, ResizableContainerDirective, RowEditingDirectiveBase, RowFilterModule, SaveCommandDirective, SelectableDirective, SelectionChangeEvent, SharedFilterModule, SharedModule, SinglePopupService, Skip, SpanColumnComponent, StartsWithFilterOperatorComponent, StringFilterCellComponent, StringFilterMenuComponent, StringFilterMenuInputComponent, SuspendService, TableBodyComponent, TableDirective, TemplateContextDirective, TemplateEditingDirective, ToolbarComponent, ToolbarTemplateDirective, TreeListComponent, TreeListModule, TreeListSpacerComponent, TreeListToolbarFocusableDirective };
|
|
21562
|
+
export { AddCommandDirective, AfterEqFilterOperatorComponent, AfterFilterOperatorComponent, AutoCompleteFilterCellComponent, BaseCommandDirective, BaseFilterCellComponent, BeforeEqFilterOperatorComponent, BeforeFilterOperatorComponent, BodyModule, BooleanFilterCellComponent, BooleanFilterComponent, BooleanFilterMenuComponent, CancelCommandDirective, CellCloseEvent, CellComponent, CellTemplateDirective, CheckboxColumnComponent, ColGroupComponent, ColumnBase, ColumnChooserComponent, ColumnComponent, ColumnGroupComponent, ColumnHandleDirective, ColumnInfoService, ColumnMenuChooserComponent, ColumnMenuComponent, ColumnMenuFilterComponent, ColumnMenuItemComponent, ColumnMenuItemContentTemplateDirective, ColumnMenuLockComponent, ColumnMenuSortComponent, ColumnMenuTemplateDirective, ColumnReorderEvent, ColumnVisibilityChangeEvent, ColumnsContainer, CommandColumnComponent, ContainsFilterOperatorComponent, CustomMessagesComponent, DataBoundTreeComponent, DateFilterCellComponent, DateFilterComponent, DateFilterMenuComponent, DateFilterMenuInputComponent, DoesNotContainFilterOperatorComponent, EditCommandDirective, EditTemplateDirective, EditingDirectiveBase, EndsWithFilterOperatorComponent, EqualFilterOperatorComponent, ExcelCommandDirective, ExcelComponent, ExcelExportEvent, ExcelModule, ExcelService, ExpandEvent, ExpandableDirective, ExpandableTreeComponent, FieldAccessorPipe, FilterCellComponent, FilterCellHostDirective, FilterCellOperatorsComponent, FilterCellTemplateDirective, FilterCellWrapperComponent, FilterInputDirective, FilterMenuComponent, FilterMenuContainerComponent, FilterMenuHostDirective, FilterMenuInputWrapperComponent, FilterMenuModule, FilterMenuTemplateDirective, FilterRowComponent, FilterService, FlatBindingDirective, FocusableDirective, FooterTemplateDirective, GreaterFilterOperatorComponent, GreaterOrEqualToFilterOperatorComponent, HeaderComponent, HeaderModule, HeaderTemplateDirective, HierarchyBindingDirective, InCellEditingDirective, IsEmptyFilterOperatorComponent, IsNotEmptyFilterOperatorComponent, IsNotNullFilterOperatorComponent, IsNullFilterOperatorComponent, LessFilterOperatorComponent, LessOrEqualToFilterOperatorComponent, LevelItemsPipe, ListComponent, LoadingComponent, LogicalCellDirective, LogicalRowDirective, NoRecordsTemplateDirective, NotEqualFilterOperatorComponent, NumericFilterCellComponent, NumericFilterMenuComponent, NumericFilterMenuInputComponent, PDFCommandDirective, PDFComponent, PDFMarginComponent, PDFModule, PDFService, PDFTemplateDirective, PagerComponent, PagerInfoComponent, PagerInputComponent, PagerModule, PagerNextButtonsComponent, PagerNumericButtonsComponent, PagerPageSizesComponent, PagerPrevButtonsComponent, PagerTemplateDirective, PopupCloseEvent, ReactiveEditingDirective, RemoveCommandDirective, ResizableContainerDirective, RowEditingDirectiveBase, RowFilterModule, RowReorderColumnComponent, SaveCommandDirective, SelectableDirective, SelectionChangeEvent, SharedFilterModule, SharedModule, SinglePopupService, Skip, SpanColumnComponent, StartsWithFilterOperatorComponent, StringFilterCellComponent, StringFilterMenuComponent, StringFilterMenuInputComponent, SuspendService, TableBodyComponent, TableDirective, TemplateContextDirective, TemplateEditingDirective, ToolbarComponent, ToolbarTemplateDirective, TreeListComponent, TreeListModule, TreeListSpacerComponent, TreeListToolbarFocusableDirective };
|
|
20826
21563
|
|