@progress/kendo-angular-treelist 13.0.0-develop.3 → 13.0.0-develop.5
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,28 +12,30 @@ 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';
|
|
19
19
|
import * as i1 from '@progress/kendo-angular-popup';
|
|
20
20
|
import { PopupModule } from '@progress/kendo-angular-popup';
|
|
21
|
-
import { plusIcon, cancelIcon, lockIcon, unlockIcon, filterIcon, sortAscSmallIcon, sortDescSmallIcon, columnsIcon, moreVerticalIcon, filterClearIcon, caretAltDownIcon, caretAltRightIcon, caretAltLeftIcon, caretAltToLeftIcon, caretAltToRightIcon } from '@progress/kendo-svg-icons';
|
|
21
|
+
import { plusIcon, cancelIcon, lockIcon, unlockIcon, insertMiddleIcon, filterIcon, sortAscSmallIcon, sortDescSmallIcon, columnsIcon, moreVerticalIcon, filterClearIcon, caretAltDownIcon, caretAltRightIcon, reorderIcon, caretAltLeftIcon, caretAltToLeftIcon, caretAltToRightIcon } from '@progress/kendo-svg-icons';
|
|
22
22
|
import * as i1$2 from '@angular/platform-browser';
|
|
23
23
|
import * as i3 from '@progress/kendo-angular-icons';
|
|
24
24
|
import { IconsModule } from '@progress/kendo-angular-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: 1685016622,
|
|
52
|
+
version: '13.0.0-develop.5',
|
|
51
53
|
licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
|
|
52
54
|
};
|
|
53
55
|
|
|
@@ -282,6 +284,10 @@ const isSpanColumn = column => column.isSpanColumn;
|
|
|
282
284
|
* @hidden
|
|
283
285
|
*/
|
|
284
286
|
const isCheckboxColumn = column => column.isCheckboxColumn;
|
|
287
|
+
/**
|
|
288
|
+
* @hidden
|
|
289
|
+
*/
|
|
290
|
+
const isRowReorderColumn = column => column.isRowReorderColumn;
|
|
285
291
|
const isColumnContainer = column => column.isColumnGroup || isSpanColumn(column);
|
|
286
292
|
/**
|
|
287
293
|
* The base class for the column components of the TreeList.
|
|
@@ -3007,17 +3013,17 @@ const append = (element) => {
|
|
|
3007
3013
|
/**
|
|
3008
3014
|
* @hidden
|
|
3009
3015
|
*/
|
|
3010
|
-
const getDocument = element => element.ownerDocument.documentElement;
|
|
3016
|
+
const getDocument$1 = element => element.ownerDocument.documentElement;
|
|
3011
3017
|
/**
|
|
3012
3018
|
* @hidden
|
|
3013
3019
|
*/
|
|
3014
|
-
const getWindow = element => element.ownerDocument.defaultView;
|
|
3020
|
+
const getWindow$1 = element => element.ownerDocument.defaultView;
|
|
3015
3021
|
/**
|
|
3016
3022
|
* @hidden
|
|
3017
3023
|
*/
|
|
3018
3024
|
const offset = element => {
|
|
3019
|
-
const { clientTop, clientLeft } = getDocument(element);
|
|
3020
|
-
const { pageYOffset, pageXOffset } = getWindow(element);
|
|
3025
|
+
const { clientTop, clientLeft } = getDocument$1(element);
|
|
3026
|
+
const { pageYOffset, pageXOffset } = getWindow$1(element);
|
|
3021
3027
|
const { top, left } = element.getBoundingClientRect();
|
|
3022
3028
|
return {
|
|
3023
3029
|
top: top + pageYOffset - clientTop,
|
|
@@ -5177,6 +5183,345 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
5177
5183
|
type: Injectable
|
|
5178
5184
|
}], ctorParameters: function () { return [{ type: i0.Renderer2 }]; } });
|
|
5179
5185
|
|
|
5186
|
+
/**
|
|
5187
|
+
* @hidden
|
|
5188
|
+
*/
|
|
5189
|
+
const isNextSibling = (dropTarget, dragTarget) => dropTarget === dragTarget.nextElementSibling;
|
|
5190
|
+
/**
|
|
5191
|
+
* @hidden
|
|
5192
|
+
*/
|
|
5193
|
+
const isPreviousSibling = (dropTarget, dragTarget) => dropTarget === dragTarget.previousElementSibling;
|
|
5194
|
+
/**
|
|
5195
|
+
* @hidden
|
|
5196
|
+
*/
|
|
5197
|
+
function getOffset(element) {
|
|
5198
|
+
const { clientTop, clientLeft } = getDocument(element);
|
|
5199
|
+
const { pageYOffset, pageXOffset } = getWindow(element);
|
|
5200
|
+
const { top, left } = element.getBoundingClientRect();
|
|
5201
|
+
return {
|
|
5202
|
+
top: top + pageYOffset - clientTop,
|
|
5203
|
+
left: left + pageXOffset - clientLeft
|
|
5204
|
+
};
|
|
5205
|
+
}
|
|
5206
|
+
;
|
|
5207
|
+
/**
|
|
5208
|
+
* @hidden
|
|
5209
|
+
*/
|
|
5210
|
+
const hintIcons = {
|
|
5211
|
+
forbidden: 'cancel',
|
|
5212
|
+
before: 'insert-middle',
|
|
5213
|
+
after: 'insert-middle',
|
|
5214
|
+
over: 'plus'
|
|
5215
|
+
};
|
|
5216
|
+
/**
|
|
5217
|
+
* @hidden
|
|
5218
|
+
*/
|
|
5219
|
+
const hintSVGIcons = {
|
|
5220
|
+
forbidden: cancelIcon,
|
|
5221
|
+
before: insertMiddleIcon,
|
|
5222
|
+
after: insertMiddleIcon,
|
|
5223
|
+
over: plusIcon
|
|
5224
|
+
};
|
|
5225
|
+
/**
|
|
5226
|
+
* @hidden
|
|
5227
|
+
*/
|
|
5228
|
+
const dropPosition = {
|
|
5229
|
+
forbidden: 'forbidden',
|
|
5230
|
+
before: 'before',
|
|
5231
|
+
after: 'after',
|
|
5232
|
+
over: 'over'
|
|
5233
|
+
};
|
|
5234
|
+
/**
|
|
5235
|
+
* @hidden
|
|
5236
|
+
*/
|
|
5237
|
+
const hintStyles = {
|
|
5238
|
+
zIndex: '20000',
|
|
5239
|
+
display: 'flex',
|
|
5240
|
+
position: 'fixed'
|
|
5241
|
+
};
|
|
5242
|
+
/**
|
|
5243
|
+
* @hidden
|
|
5244
|
+
*/
|
|
5245
|
+
const hintClasses = ['k-drag-clue', 'k-reorder-clue'];
|
|
5246
|
+
/**
|
|
5247
|
+
* @hidden
|
|
5248
|
+
*/
|
|
5249
|
+
const dropIndicatorStyles = {
|
|
5250
|
+
zIndex: '19000',
|
|
5251
|
+
position: 'absolute'
|
|
5252
|
+
};
|
|
5253
|
+
/**
|
|
5254
|
+
* @hidden
|
|
5255
|
+
*/
|
|
5256
|
+
const dropIndicatorClasses = ['k-drop-hint', 'k-drop-hint-h'];
|
|
5257
|
+
/**
|
|
5258
|
+
* @hidden
|
|
5259
|
+
*/
|
|
5260
|
+
const defaultSelectors = {
|
|
5261
|
+
handle: '.k-table-td.k-drag-cell',
|
|
5262
|
+
dragTarget: '.k-table-row[data-treelist-view-index]',
|
|
5263
|
+
dropTarget: '.k-table-row[data-treelist-view-index]'
|
|
5264
|
+
};
|
|
5265
|
+
/**
|
|
5266
|
+
* @hidden
|
|
5267
|
+
*/
|
|
5268
|
+
const rowIndexAttr = 'data-treelist-view-index';
|
|
5269
|
+
/**
|
|
5270
|
+
* @hidden
|
|
5271
|
+
*/
|
|
5272
|
+
const findParent$1 = (collection, searchItem, field) => {
|
|
5273
|
+
let parent = null;
|
|
5274
|
+
for (const item of collection) {
|
|
5275
|
+
if (searchItem === item) {
|
|
5276
|
+
return null;
|
|
5277
|
+
}
|
|
5278
|
+
const checked = [];
|
|
5279
|
+
const queue = [];
|
|
5280
|
+
queue.push(item);
|
|
5281
|
+
while (queue.length !== 0) {
|
|
5282
|
+
const current = queue.shift();
|
|
5283
|
+
if (!current) {
|
|
5284
|
+
continue;
|
|
5285
|
+
}
|
|
5286
|
+
checked.push(current);
|
|
5287
|
+
if (current === searchItem) {
|
|
5288
|
+
return item;
|
|
5289
|
+
}
|
|
5290
|
+
if (current.hasOwnProperty(field)) {
|
|
5291
|
+
current[field].forEach(node => {
|
|
5292
|
+
if (checked.indexOf(node) === -1) {
|
|
5293
|
+
checked.push(node);
|
|
5294
|
+
queue.push(node);
|
|
5295
|
+
if (node === searchItem) {
|
|
5296
|
+
parent = current;
|
|
5297
|
+
return;
|
|
5298
|
+
}
|
|
5299
|
+
}
|
|
5300
|
+
});
|
|
5301
|
+
}
|
|
5302
|
+
if (parent) {
|
|
5303
|
+
return parent;
|
|
5304
|
+
}
|
|
5305
|
+
}
|
|
5306
|
+
}
|
|
5307
|
+
};
|
|
5308
|
+
const getDocument = element => element === null || element === void 0 ? void 0 : element.ownerDocument.documentElement;
|
|
5309
|
+
const getWindow = element => element === null || element === void 0 ? void 0 : element.ownerDocument.defaultView;
|
|
5310
|
+
|
|
5311
|
+
/**
|
|
5312
|
+
* @hidden
|
|
5313
|
+
*/
|
|
5314
|
+
class RowReorderService {
|
|
5315
|
+
constructor(renderer) {
|
|
5316
|
+
this.renderer = renderer;
|
|
5317
|
+
this.defaultSelectors = defaultSelectors;
|
|
5318
|
+
this.dragTarget = null;
|
|
5319
|
+
this.dropTarget = null;
|
|
5320
|
+
this.lastDropPosition = dropPosition.forbidden;
|
|
5321
|
+
this.hintElement = null;
|
|
5322
|
+
this.rowReorder = new EventEmitter();
|
|
5323
|
+
}
|
|
5324
|
+
press(ev) {
|
|
5325
|
+
this.dragTarget = ev.dragTarget;
|
|
5326
|
+
this.offsetY = ev.dragEvent.offsetY;
|
|
5327
|
+
}
|
|
5328
|
+
dragStart() {
|
|
5329
|
+
this.createDropIndicator();
|
|
5330
|
+
}
|
|
5331
|
+
drag(ev) {
|
|
5332
|
+
if (isPresent$1(ev.hintElement) && !isPresent$1(this.hintElement)) {
|
|
5333
|
+
this.hintElement = ev.hintElement;
|
|
5334
|
+
this.decorateHint();
|
|
5335
|
+
}
|
|
5336
|
+
const position = {
|
|
5337
|
+
x: ev.dragEvent.clientX,
|
|
5338
|
+
y: ev.dragEvent.clientY - this.offsetY
|
|
5339
|
+
};
|
|
5340
|
+
if (isPresent$1(this.hintElement)) {
|
|
5341
|
+
this.renderer.setStyle(this.hintElement, 'left', `${position.x}px`);
|
|
5342
|
+
this.renderer.setStyle(this.hintElement, 'top', `${position.y}px`);
|
|
5343
|
+
}
|
|
5344
|
+
this.positionDropIndicator(ev);
|
|
5345
|
+
}
|
|
5346
|
+
dragEnter(ev) {
|
|
5347
|
+
this.dropTarget = ev.dropTarget;
|
|
5348
|
+
this.view = ev.dragData;
|
|
5349
|
+
}
|
|
5350
|
+
dragLeave() {
|
|
5351
|
+
this.dropTarget = null;
|
|
5352
|
+
this.lastDropPosition === dropPosition.forbidden && this.hide();
|
|
5353
|
+
}
|
|
5354
|
+
dragEnd() {
|
|
5355
|
+
this.destroyDropIndicator();
|
|
5356
|
+
this.dragTarget = null;
|
|
5357
|
+
this.dropTarget = null;
|
|
5358
|
+
this.hintElement = null;
|
|
5359
|
+
}
|
|
5360
|
+
drop() {
|
|
5361
|
+
this.destroyDropIndicator();
|
|
5362
|
+
const rowReorderArgs = this.rowReorderArgs(this.dragTarget, this.dropTarget, this.view);
|
|
5363
|
+
this.rowReorder.emit(rowReorderArgs);
|
|
5364
|
+
}
|
|
5365
|
+
get hintIcon() {
|
|
5366
|
+
return hintIcons[this.lastDropPosition];
|
|
5367
|
+
}
|
|
5368
|
+
get hintSVGIcon() {
|
|
5369
|
+
return hintSVGIcons[this.lastDropPosition];
|
|
5370
|
+
}
|
|
5371
|
+
getDefaultHintText(columns, data) {
|
|
5372
|
+
let hintText = '';
|
|
5373
|
+
const columnFieldsArray = columns
|
|
5374
|
+
.toArray()
|
|
5375
|
+
.filter(column => !column.hidden && isPresent$1(column.field))
|
|
5376
|
+
.map(column => column.field);
|
|
5377
|
+
const draggedDragRow = this.getDragRowPerElement(this.dragTarget, data);
|
|
5378
|
+
const draggedDataItem = draggedDragRow === null || draggedDragRow === void 0 ? void 0 : draggedDragRow.dataItem;
|
|
5379
|
+
isPresent$1(draggedDataItem) && columnFieldsArray.forEach(column => {
|
|
5380
|
+
const columnValue = draggedDataItem[column];
|
|
5381
|
+
isPresent$1(columnValue) ? hintText += `${columnValue} ` : null;
|
|
5382
|
+
});
|
|
5383
|
+
return hintText.trim();
|
|
5384
|
+
}
|
|
5385
|
+
rowReorderArgs(dragRow, dropRow, data) {
|
|
5386
|
+
const dragRowData = this.getDragRowPerElement(dragRow, data);
|
|
5387
|
+
const dropRowData = this.getDragRowPerElement(dropRow, data);
|
|
5388
|
+
return {
|
|
5389
|
+
draggedRows: [dragRowData],
|
|
5390
|
+
dropTargetRow: dropRowData,
|
|
5391
|
+
dropPosition: this.lastDropPosition
|
|
5392
|
+
};
|
|
5393
|
+
}
|
|
5394
|
+
isOverChild(_item) { return false; }
|
|
5395
|
+
reorderRows(_ev, _collection, _field) { }
|
|
5396
|
+
get parentIdField() {
|
|
5397
|
+
return this.bindingDirective.parentIdField;
|
|
5398
|
+
}
|
|
5399
|
+
get idField() {
|
|
5400
|
+
return this.bindingDirective.idField;
|
|
5401
|
+
}
|
|
5402
|
+
get childrenField() {
|
|
5403
|
+
return this.bindingDirective.childrenField;
|
|
5404
|
+
}
|
|
5405
|
+
get data() {
|
|
5406
|
+
return this.bindingDirective.data;
|
|
5407
|
+
}
|
|
5408
|
+
getDragRowPerElement(row, data) {
|
|
5409
|
+
var _a;
|
|
5410
|
+
let rowIndex = row === null || row === void 0 ? void 0 : row.getAttribute(rowIndexAttr);
|
|
5411
|
+
rowIndex = rowIndex ? parseInt(rowIndex, 10) : -1;
|
|
5412
|
+
const dataItem = rowIndex === -1 ? null : (_a = data === null || data === void 0 ? void 0 : data.at(rowIndex)) === null || _a === void 0 ? void 0 : _a.data;
|
|
5413
|
+
return {
|
|
5414
|
+
dataItem,
|
|
5415
|
+
rowIndex,
|
|
5416
|
+
element: row
|
|
5417
|
+
};
|
|
5418
|
+
}
|
|
5419
|
+
createDropIndicator() {
|
|
5420
|
+
if (!isDocumentAvailable()) {
|
|
5421
|
+
return;
|
|
5422
|
+
}
|
|
5423
|
+
this.dropIndicator = document.createElement('div');
|
|
5424
|
+
this.decorateDropIndicator();
|
|
5425
|
+
this.dropIndicator.innerHTML = `
|
|
5426
|
+
<div class="k-drop-hint-start"></div>
|
|
5427
|
+
<div class="k-drop-hint-line"></div>
|
|
5428
|
+
`;
|
|
5429
|
+
document.body.appendChild(this.dropIndicator);
|
|
5430
|
+
this.hide();
|
|
5431
|
+
}
|
|
5432
|
+
destroyDropIndicator() {
|
|
5433
|
+
if (!isDocumentAvailable()) {
|
|
5434
|
+
return;
|
|
5435
|
+
}
|
|
5436
|
+
;
|
|
5437
|
+
if (this.dropIndicator && this.dropIndicator.parentElement) {
|
|
5438
|
+
document.body.removeChild(this.dropIndicator);
|
|
5439
|
+
this.dropIndicator = null;
|
|
5440
|
+
}
|
|
5441
|
+
}
|
|
5442
|
+
decorateHint() {
|
|
5443
|
+
hintClasses.forEach(className => this.renderer.addClass(this.hintElement, className));
|
|
5444
|
+
Object.keys(hintStyles)
|
|
5445
|
+
.forEach(style => this.renderer.setStyle(this.hintElement, style, hintStyles[style]));
|
|
5446
|
+
}
|
|
5447
|
+
positionDropIndicator(ev) {
|
|
5448
|
+
this.lastDropPosition = this.getDropPosition(ev.dragEvent);
|
|
5449
|
+
this.updateDropIndicatorPosition();
|
|
5450
|
+
}
|
|
5451
|
+
decorateDropIndicator() {
|
|
5452
|
+
dropIndicatorClasses.forEach(className => this.renderer.addClass(this.dropIndicator, className));
|
|
5453
|
+
Object.keys(dropIndicatorStyles)
|
|
5454
|
+
.forEach(style => this.renderer.setStyle(this.dropIndicator, style, dropIndicatorStyles[style]));
|
|
5455
|
+
}
|
|
5456
|
+
getDropPosition(e) {
|
|
5457
|
+
if (this.dropTarget === this.dragTarget || !isPresent$1(this.dropTarget)) {
|
|
5458
|
+
return dropPosition.forbidden;
|
|
5459
|
+
}
|
|
5460
|
+
;
|
|
5461
|
+
const itemViewPortCoords = this.dropTarget.getBoundingClientRect();
|
|
5462
|
+
const itemDivisionsCount = 3;
|
|
5463
|
+
const itemDivisionHeight = itemViewPortCoords.height / itemDivisionsCount;
|
|
5464
|
+
const { dropTargetRow } = this.rowReorderArgs(this.dragTarget, this.dropTarget, this.view);
|
|
5465
|
+
const pointerPosition = e.clientY;
|
|
5466
|
+
const itemTop = itemViewPortCoords.top;
|
|
5467
|
+
let currentDropPosition = null;
|
|
5468
|
+
if (pointerPosition <= itemTop + itemDivisionHeight) {
|
|
5469
|
+
currentDropPosition = dropPosition.before;
|
|
5470
|
+
}
|
|
5471
|
+
else if (pointerPosition >= itemTop + itemViewPortCoords.height - itemDivisionHeight) {
|
|
5472
|
+
currentDropPosition = dropPosition.after;
|
|
5473
|
+
}
|
|
5474
|
+
else {
|
|
5475
|
+
currentDropPosition = dropPosition.over;
|
|
5476
|
+
}
|
|
5477
|
+
if (currentDropPosition === dropPosition.before && isNextSibling(this.dropTarget, this.dragTarget)) {
|
|
5478
|
+
currentDropPosition = dropPosition.forbidden;
|
|
5479
|
+
}
|
|
5480
|
+
else if (currentDropPosition === dropPosition.after && isPreviousSibling(this.dropTarget, this.dragTarget)) {
|
|
5481
|
+
currentDropPosition = dropPosition.forbidden;
|
|
5482
|
+
}
|
|
5483
|
+
if (this.isOverChild(dropTargetRow.dataItem)) {
|
|
5484
|
+
currentDropPosition = dropPosition.forbidden;
|
|
5485
|
+
}
|
|
5486
|
+
return currentDropPosition;
|
|
5487
|
+
}
|
|
5488
|
+
updateDropIndicatorPosition() {
|
|
5489
|
+
if (this.shouldHideDropIndicator() || !this.dropTarget) {
|
|
5490
|
+
this.hide();
|
|
5491
|
+
return;
|
|
5492
|
+
}
|
|
5493
|
+
this.show();
|
|
5494
|
+
const destinationItemOffset = getOffset(this.dropTarget);
|
|
5495
|
+
let indicatorOffsetTop = destinationItemOffset.top;
|
|
5496
|
+
const indicatorOffsetLeft = destinationItemOffset.left + this.dropIndicator.offsetWidth / 2;
|
|
5497
|
+
if (this.lastDropPosition === dropPosition.after) {
|
|
5498
|
+
indicatorOffsetTop += this.dropTarget.offsetHeight;
|
|
5499
|
+
}
|
|
5500
|
+
this.renderer.setStyle(this.dropIndicator, 'left', `${indicatorOffsetLeft}px`);
|
|
5501
|
+
this.renderer.setStyle(this.dropIndicator, 'top', `${indicatorOffsetTop}px`);
|
|
5502
|
+
}
|
|
5503
|
+
shouldHideDropIndicator() {
|
|
5504
|
+
return this.lastDropPosition === dropPosition.forbidden || this.lastDropPosition === dropPosition.over;
|
|
5505
|
+
}
|
|
5506
|
+
hide() {
|
|
5507
|
+
if (isPresent$1(this.dropIndicator)) {
|
|
5508
|
+
this.renderer.setStyle(this.dropIndicator, 'display', 'none');
|
|
5509
|
+
}
|
|
5510
|
+
}
|
|
5511
|
+
show() {
|
|
5512
|
+
if (isPresent$1(this.dropIndicator)) {
|
|
5513
|
+
this.renderer.removeStyle(this.dropIndicator, 'display');
|
|
5514
|
+
}
|
|
5515
|
+
}
|
|
5516
|
+
}
|
|
5517
|
+
RowReorderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: RowReorderService, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
5518
|
+
RowReorderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: RowReorderService });
|
|
5519
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: RowReorderService, decorators: [{
|
|
5520
|
+
type: Injectable
|
|
5521
|
+
}], ctorParameters: function () { return [{ type: i0.Renderer2 }]; }, propDecorators: { rowReorder: [{
|
|
5522
|
+
type: Output
|
|
5523
|
+
}] } });
|
|
5524
|
+
|
|
5180
5525
|
/* eslint-disable @typescript-eslint/no-inferrable-types */
|
|
5181
5526
|
/**
|
|
5182
5527
|
* @hidden
|
|
@@ -6077,7 +6422,7 @@ StringFilterMenuInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
|
6077
6422
|
[filterDelay]="0"
|
|
6078
6423
|
[ngModel]="currentFilter?.value" />
|
|
6079
6424
|
</kendo-treelist-filter-menu-input-wrapper>
|
|
6080
|
-
`, isInline: true, components: [{ type: FilterMenuInputWrapperComponent, selector: "kendo-treelist-filter-menu-input-wrapper", inputs: ["filterService", "currentFilter"] }], directives: [{ type:
|
|
6425
|
+
`, 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"] }] });
|
|
6081
6426
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: StringFilterMenuInputComponent, decorators: [{
|
|
6082
6427
|
type: Component,
|
|
6083
6428
|
args: [{
|
|
@@ -6375,7 +6720,7 @@ NumericFilterMenuInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion:
|
|
|
6375
6720
|
[step]="step">
|
|
6376
6721
|
</kendo-numerictextbox>
|
|
6377
6722
|
</kendo-treelist-filter-menu-input-wrapper>
|
|
6378
|
-
`, isInline: true, components: [{ type: FilterMenuInputWrapperComponent, selector: "kendo-treelist-filter-menu-input-wrapper", inputs: ["filterService", "currentFilter"] }, { type:
|
|
6723
|
+
`, 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"] }] });
|
|
6379
6724
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: NumericFilterMenuInputComponent, decorators: [{
|
|
6380
6725
|
type: Component,
|
|
6381
6726
|
args: [{
|
|
@@ -7133,7 +7478,7 @@ BooleanFilterMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0
|
|
|
7133
7478
|
<label class="k-radio-label" [attr.for]="radioId(item.value)">{{item.text}}</label>
|
|
7134
7479
|
</li>
|
|
7135
7480
|
</ul>
|
|
7136
|
-
`, isInline: true, directives: [{ type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type:
|
|
7481
|
+
`, isInline: true, directives: [{ type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.RadioButtonDirective, selector: "input[kendoRadioButton]", inputs: ["size"] }] });
|
|
7137
7482
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: BooleanFilterMenuComponent, decorators: [{
|
|
7138
7483
|
type: Component,
|
|
7139
7484
|
args: [{
|
|
@@ -8629,7 +8974,7 @@ FilterCellOperatorsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12
|
|
|
8629
8974
|
(click)="clearClick()"
|
|
8630
8975
|
(keydown)="clearKeydown($event)">
|
|
8631
8976
|
</button>
|
|
8632
|
-
`, 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$
|
|
8977
|
+
`, 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"] }] });
|
|
8633
8978
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FilterCellOperatorsComponent, decorators: [{
|
|
8634
8979
|
type: Component,
|
|
8635
8980
|
args: [{
|
|
@@ -8874,7 +9219,7 @@ NumericFilterCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0
|
|
|
8874
9219
|
[step]="step">
|
|
8875
9220
|
</kendo-numerictextbox>
|
|
8876
9221
|
</kendo-treelist-filter-wrapper-cell>
|
|
8877
|
-
`, isInline: true, components: [{ type: FilterCellWrapperComponent, selector: "kendo-treelist-filter-wrapper-cell", inputs: ["showOperators"] }, { type:
|
|
9222
|
+
`, 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"] }] });
|
|
8878
9223
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: NumericFilterCellComponent, decorators: [{
|
|
8879
9224
|
type: Component,
|
|
8880
9225
|
args: [{
|
|
@@ -10700,6 +11045,10 @@ const ICON_CLASS = 'k-icon k-svg-icon';
|
|
|
10700
11045
|
* @hidden
|
|
10701
11046
|
*/
|
|
10702
11047
|
const IGNORE_CONTAINER_CLASSES = 'k-treelist-ignore-click';
|
|
11048
|
+
/**
|
|
11049
|
+
* @hidden
|
|
11050
|
+
*/
|
|
11051
|
+
const DRAG_HANDLE_CLASS = 'k-drag-cell';
|
|
10703
11052
|
|
|
10704
11053
|
/* eslint-disable @angular-eslint/pipe-prefix */
|
|
10705
11054
|
/**
|
|
@@ -10766,13 +11115,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
10766
11115
|
* @hidden
|
|
10767
11116
|
*/
|
|
10768
11117
|
class CellComponent {
|
|
10769
|
-
constructor(editService, focusGroup) {
|
|
11118
|
+
constructor(editService, localization, focusGroup) {
|
|
10770
11119
|
this.editService = editService;
|
|
11120
|
+
this.localization = localization;
|
|
10771
11121
|
this.focusGroup = focusGroup;
|
|
10772
11122
|
this.isNew = false;
|
|
10773
11123
|
this.level = 0;
|
|
10774
11124
|
this.caretAltDownIcon = caretAltDownIcon;
|
|
10775
11125
|
this.caretAltRightIcon = caretAltRightIcon;
|
|
11126
|
+
this.reorderIcon = reorderIcon;
|
|
10776
11127
|
this.cellContext = {};
|
|
10777
11128
|
this._templateContext = {};
|
|
10778
11129
|
this._editTemplateContext = {};
|
|
@@ -10788,6 +11139,12 @@ class CellComponent {
|
|
|
10788
11139
|
get textNoWrapClass() {
|
|
10789
11140
|
return this.column.expandable;
|
|
10790
11141
|
}
|
|
11142
|
+
get dragHandleCellClass() {
|
|
11143
|
+
return isRowReorderColumn(this.column);
|
|
11144
|
+
}
|
|
11145
|
+
get dragRowHandleLabel() {
|
|
11146
|
+
return isRowReorderColumn(this.column) ? this.localization.get('dragRowHandleLabel') : undefined;
|
|
11147
|
+
}
|
|
10791
11148
|
set viewItem(value) {
|
|
10792
11149
|
this._viewItem = value;
|
|
10793
11150
|
this.cellContext.viewItem = this.viewItem;
|
|
@@ -10855,8 +11212,8 @@ class CellComponent {
|
|
|
10855
11212
|
context.rowIndex = this.viewItem.rowIndex;
|
|
10856
11213
|
}
|
|
10857
11214
|
}
|
|
10858
|
-
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 });
|
|
10859
|
-
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: `
|
|
11215
|
+
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 });
|
|
11216
|
+
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: `
|
|
10860
11217
|
<ng-container [ngSwitch]="isEdited">
|
|
10861
11218
|
<ng-container *ngSwitchCase="false">
|
|
10862
11219
|
<ng-container *ngIf="column.expandable">
|
|
@@ -10885,6 +11242,12 @@ CellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
|
|
|
10885
11242
|
class="k-checkbox k-checkbox-md k-rounded-md"
|
|
10886
11243
|
[checked]="selected" />
|
|
10887
11244
|
</ng-template>
|
|
11245
|
+
<ng-container *ngIf="column.isRowReorderColumn && !isNew">
|
|
11246
|
+
<kendo-icon-wrapper
|
|
11247
|
+
name="reorder"
|
|
11248
|
+
[svgIcon]="reorderIcon">
|
|
11249
|
+
</kendo-icon-wrapper>
|
|
11250
|
+
</ng-container>
|
|
10888
11251
|
</ng-container>
|
|
10889
11252
|
<ng-container *ngSwitchCase="true">
|
|
10890
11253
|
<ng-container
|
|
@@ -10925,7 +11288,7 @@ CellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
|
|
|
10925
11288
|
</ng-container>
|
|
10926
11289
|
</ng-container>
|
|
10927
11290
|
</ng-container>
|
|
10928
|
-
`, isInline: true, components: [{ type: i3.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass"], exportAs: ["kendoIconWrapper"] }, { type:
|
|
11291
|
+
`, 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 } });
|
|
10929
11292
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: CellComponent, decorators: [{
|
|
10930
11293
|
type: Component,
|
|
10931
11294
|
args: [{
|
|
@@ -10959,6 +11322,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
10959
11322
|
class="k-checkbox k-checkbox-md k-rounded-md"
|
|
10960
11323
|
[checked]="selected" />
|
|
10961
11324
|
</ng-template>
|
|
11325
|
+
<ng-container *ngIf="column.isRowReorderColumn && !isNew">
|
|
11326
|
+
<kendo-icon-wrapper
|
|
11327
|
+
name="reorder"
|
|
11328
|
+
[svgIcon]="reorderIcon">
|
|
11329
|
+
</kendo-icon-wrapper>
|
|
11330
|
+
</ng-container>
|
|
10962
11331
|
</ng-container>
|
|
10963
11332
|
<ng-container *ngSwitchCase="true">
|
|
10964
11333
|
<ng-container
|
|
@@ -11001,7 +11370,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
11001
11370
|
</ng-container>
|
|
11002
11371
|
`
|
|
11003
11372
|
}]
|
|
11004
|
-
}], ctorParameters: function () { return [{ type: EditService }, { type: FocusGroup }]; }, propDecorators: { commandCellClass: [{
|
|
11373
|
+
}], ctorParameters: function () { return [{ type: EditService }, { type: i1$1.LocalizationService }, { type: FocusGroup }]; }, propDecorators: { commandCellClass: [{
|
|
11005
11374
|
type: HostBinding,
|
|
11006
11375
|
args: ['class.k-command-cell']
|
|
11007
11376
|
}], isCheckboxColumn: [{
|
|
@@ -11010,6 +11379,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
11010
11379
|
}], textNoWrapClass: [{
|
|
11011
11380
|
type: HostBinding,
|
|
11012
11381
|
args: ['class.k-text-nowrap']
|
|
11382
|
+
}], dragHandleCellClass: [{
|
|
11383
|
+
type: HostBinding,
|
|
11384
|
+
args: ['class.k-drag-cell']
|
|
11385
|
+
}, {
|
|
11386
|
+
type: HostBinding,
|
|
11387
|
+
args: ['class.k-touch-action-none']
|
|
11388
|
+
}], dragRowHandleLabel: [{
|
|
11389
|
+
type: HostBinding,
|
|
11390
|
+
args: ['attr.aria-label']
|
|
11013
11391
|
}], column: [{
|
|
11014
11392
|
type: Input
|
|
11015
11393
|
}], columnIndex: [{
|
|
@@ -11214,8 +11592,10 @@ class TableBodyComponent {
|
|
|
11214
11592
|
clickHandler(eventArg) {
|
|
11215
11593
|
const target = eventArg.target;
|
|
11216
11594
|
const { cell, row } = this.targetElements(target);
|
|
11217
|
-
|
|
11218
|
-
|
|
11595
|
+
const forbiddenCellClasses = NON_DATA_CELL_CLASSES.concat(` ${DRAG_HANDLE_CLASS}`);
|
|
11596
|
+
const isValidCell = cell ? !hasClasses(cell, forbiddenCellClasses) : false;
|
|
11597
|
+
const isValidRow = row ? !hasClasses(row, NON_DATA_ROW_CLASSES) : false;
|
|
11598
|
+
if (isValidRow && isValidCell) {
|
|
11219
11599
|
if (this.expandClick(eventArg, row) || this.checkboxClick(cell, row, eventArg)) {
|
|
11220
11600
|
return;
|
|
11221
11601
|
}
|
|
@@ -12629,7 +13009,7 @@ PagerPrevButtonsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.
|
|
|
12629
13009
|
[attr.aria-label]="textFor('pagerPreviousPage')"
|
|
12630
13010
|
(click)="onButtonClick('prevPage')">
|
|
12631
13011
|
</button>
|
|
12632
|
-
`, isInline: true, components: [{ type: i4$
|
|
13012
|
+
`, 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 });
|
|
12633
13013
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PagerPrevButtonsComponent, decorators: [{
|
|
12634
13014
|
type: Component,
|
|
12635
13015
|
args: [{
|
|
@@ -12814,7 +13194,7 @@ PagerNumericButtonsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12
|
|
|
12814
13194
|
[attr.title]="pageLabel(end + 1)"
|
|
12815
13195
|
(click)="changePage(end)">...</button>
|
|
12816
13196
|
</div>
|
|
12817
|
-
`, isInline: true, components: [{ type: i4$
|
|
13197
|
+
`, 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 });
|
|
12818
13198
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PagerNumericButtonsComponent, decorators: [{
|
|
12819
13199
|
type: Component,
|
|
12820
13200
|
args: [{
|
|
@@ -12983,7 +13363,7 @@ PagerInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ve
|
|
|
12983
13363
|
</kendo-numerictextbox>
|
|
12984
13364
|
{{textFor('pagerOf')}} {{totalPages}}
|
|
12985
13365
|
</span>
|
|
12986
|
-
`, isInline: true, components: [{ type:
|
|
13366
|
+
`, 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"] }] });
|
|
12987
13367
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PagerInputComponent, decorators: [{
|
|
12988
13368
|
type: Component,
|
|
12989
13369
|
args: [{
|
|
@@ -13089,7 +13469,7 @@ PagerNextButtonsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.
|
|
|
13089
13469
|
[attr.aria-label]="textFor('pagerLastPage')"
|
|
13090
13470
|
(click)="onButtonClick('lastPage')">
|
|
13091
13471
|
</button>
|
|
13092
|
-
`, isInline: true, components: [{ type: i4$
|
|
13472
|
+
`, 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 });
|
|
13093
13473
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PagerNextButtonsComponent, decorators: [{
|
|
13094
13474
|
type: Component,
|
|
13095
13475
|
args: [{
|
|
@@ -13289,7 +13669,7 @@ PagerPageSizesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
|
|
|
13289
13669
|
[attr.aria-label]="textFor('pagerItemsPerPage')"
|
|
13290
13670
|
(valueChange)="pageSizeChange($event)"></kendo-dropdownlist>
|
|
13291
13671
|
<kendo-label [for]="dropdownlist" [text]="textFor('pagerItemsPerPage')"></kendo-label>
|
|
13292
|
-
`, 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$
|
|
13672
|
+
`, 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 });
|
|
13293
13673
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PagerPageSizesComponent, decorators: [{
|
|
13294
13674
|
type: Component,
|
|
13295
13675
|
args: [{
|
|
@@ -13691,7 +14071,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
13691
14071
|
class Messages extends ComponentMessages {
|
|
13692
14072
|
}
|
|
13693
14073
|
Messages.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: Messages, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
13694
|
-
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 });
|
|
14074
|
+
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 });
|
|
13695
14075
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: Messages, decorators: [{
|
|
13696
14076
|
type: Directive,
|
|
13697
14077
|
args: [{}]
|
|
@@ -13803,6 +14183,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
13803
14183
|
type: Input
|
|
13804
14184
|
}], bottomToolbarLabel: [{
|
|
13805
14185
|
type: Input
|
|
14186
|
+
}], dragRowHandleLabel: [{
|
|
14187
|
+
type: Input
|
|
13806
14188
|
}] } });
|
|
13807
14189
|
|
|
13808
14190
|
/**
|
|
@@ -14125,7 +14507,7 @@ const isInEditedCell = (element, treelistElement) => closest(element, matchesCla
|
|
|
14125
14507
|
* {% endmeta %}
|
|
14126
14508
|
*/
|
|
14127
14509
|
class TreeListComponent {
|
|
14128
|
-
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) {
|
|
14510
|
+
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) {
|
|
14129
14511
|
this.supportService = supportService;
|
|
14130
14512
|
this.wrapper = wrapper;
|
|
14131
14513
|
this.changeNotification = changeNotification;
|
|
@@ -14150,6 +14532,7 @@ class TreeListComponent {
|
|
|
14150
14532
|
this.selectionService = selectionService;
|
|
14151
14533
|
this.localization = localization;
|
|
14152
14534
|
this.ctx = ctx;
|
|
14535
|
+
this.rowReorderService = rowReorderService;
|
|
14153
14536
|
/**
|
|
14154
14537
|
* Defines the page size used by the TreeList when [paging]({% slug paging_treelist %}) is enabled.
|
|
14155
14538
|
*
|
|
@@ -14385,6 +14768,11 @@ class TreeListComponent {
|
|
|
14385
14768
|
* Used by the expand directive and the Gantt component.
|
|
14386
14769
|
*/
|
|
14387
14770
|
this.expandStateChange = new EventEmitter();
|
|
14771
|
+
/**
|
|
14772
|
+
* Fires when the user drops the dragged row and reordering is performed.
|
|
14773
|
+
* Emits the [RowReorderEvent]({% slug api_treelist_rowreorderevent %}).
|
|
14774
|
+
*/
|
|
14775
|
+
this.rowReorder = new EventEmitter();
|
|
14388
14776
|
/**
|
|
14389
14777
|
* @hidden
|
|
14390
14778
|
*/
|
|
@@ -14414,6 +14802,11 @@ class TreeListComponent {
|
|
|
14414
14802
|
this._sort = new Array();
|
|
14415
14803
|
this._skip = 0;
|
|
14416
14804
|
this.cachedWindowWidth = 0;
|
|
14805
|
+
this._rowReorderable = false;
|
|
14806
|
+
/**
|
|
14807
|
+
* @hidden
|
|
14808
|
+
*/
|
|
14809
|
+
this.treeListData = () => { return this.view; };
|
|
14417
14810
|
this._rowClass = () => null;
|
|
14418
14811
|
validatePackage(packageMetadata);
|
|
14419
14812
|
this.subscriptions.add(localization.changes.subscribe(({ rtl }) => {
|
|
@@ -14476,6 +14869,11 @@ class TreeListComponent {
|
|
|
14476
14869
|
this.view.clear();
|
|
14477
14870
|
this.expandStateChange.emit(args);
|
|
14478
14871
|
}
|
|
14872
|
+
if (this.rowReorderable) {
|
|
14873
|
+
this.ngZone.onStable.pipe(take(2)).subscribe(() => {
|
|
14874
|
+
this.notifyReorderContainers();
|
|
14875
|
+
});
|
|
14876
|
+
}
|
|
14479
14877
|
}));
|
|
14480
14878
|
this.subscriptions.add(this.view.childrenLoaded.subscribe(() => {
|
|
14481
14879
|
this.changeDetectorRef.detectChanges();
|
|
@@ -14674,6 +15072,27 @@ class TreeListComponent {
|
|
|
14674
15072
|
}
|
|
14675
15073
|
this.selectionService.isSelected = value;
|
|
14676
15074
|
}
|
|
15075
|
+
/**
|
|
15076
|
+
* Enables the [row reordering]({% slug treelist_row_reordering %}) of the TreeList.
|
|
15077
|
+
* @default false
|
|
15078
|
+
*/
|
|
15079
|
+
set rowReorderable(value) {
|
|
15080
|
+
var _a;
|
|
15081
|
+
this._rowReorderable = value;
|
|
15082
|
+
if (value) {
|
|
15083
|
+
this.rowReorderSubscription = this.rowReorderService.rowReorder.subscribe(args => {
|
|
15084
|
+
hasObservers(this.rowReorder) && this.ngZone.run(() => {
|
|
15085
|
+
this.rowReorder.emit(args);
|
|
15086
|
+
});
|
|
15087
|
+
});
|
|
15088
|
+
}
|
|
15089
|
+
else {
|
|
15090
|
+
(_a = this.rowReorderSubscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();
|
|
15091
|
+
}
|
|
15092
|
+
}
|
|
15093
|
+
get rowReorderable() {
|
|
15094
|
+
return this._rowReorderable;
|
|
15095
|
+
}
|
|
14677
15096
|
/**
|
|
14678
15097
|
* @hidden
|
|
14679
15098
|
*/
|
|
@@ -14935,6 +15354,30 @@ class TreeListComponent {
|
|
|
14935
15354
|
this.ngZone = null;
|
|
14936
15355
|
clearTimeout(this.pageChangeTimeout);
|
|
14937
15356
|
}
|
|
15357
|
+
/**
|
|
15358
|
+
* @hidden
|
|
15359
|
+
*/
|
|
15360
|
+
handleReorderEvents(ev, evType) {
|
|
15361
|
+
this.rowReorderService[evType](ev);
|
|
15362
|
+
}
|
|
15363
|
+
/**
|
|
15364
|
+
* @hidden
|
|
15365
|
+
*/
|
|
15366
|
+
getDefaultSelectors(type) {
|
|
15367
|
+
return this.rowReorderService.defaultSelectors[type];
|
|
15368
|
+
}
|
|
15369
|
+
/**
|
|
15370
|
+
* @hidden
|
|
15371
|
+
*/
|
|
15372
|
+
getHintSettings(setting) {
|
|
15373
|
+
return this.rowReorderService[setting];
|
|
15374
|
+
}
|
|
15375
|
+
/**
|
|
15376
|
+
* @hidden
|
|
15377
|
+
*/
|
|
15378
|
+
get hintText() {
|
|
15379
|
+
return this.rowReorderService.getDefaultHintText(this.columnList, this.view);
|
|
15380
|
+
}
|
|
14938
15381
|
/**
|
|
14939
15382
|
* @hidden
|
|
14940
15383
|
*/
|
|
@@ -15626,6 +16069,7 @@ class TreeListComponent {
|
|
|
15626
16069
|
this.closeCell();
|
|
15627
16070
|
this.cancelCell();
|
|
15628
16071
|
this.dataStateChange.emit(x);
|
|
16072
|
+
this.rowReorderable && this.notifyReorderContainers();
|
|
15629
16073
|
}));
|
|
15630
16074
|
}
|
|
15631
16075
|
attachEditHandlers() {
|
|
@@ -15890,9 +16334,14 @@ class TreeListComponent {
|
|
|
15890
16334
|
this.columns.reset(columns.toArray());
|
|
15891
16335
|
this.columns.notifyOnChanges();
|
|
15892
16336
|
}
|
|
16337
|
+
notifyReorderContainers() {
|
|
16338
|
+
var _a, _b;
|
|
16339
|
+
(_a = this.dragTargetContainer) === null || _a === void 0 ? void 0 : _a.notify();
|
|
16340
|
+
(_b = this.dropTargetContainer) === null || _b === void 0 ? void 0 : _b.notify();
|
|
16341
|
+
}
|
|
15893
16342
|
}
|
|
15894
|
-
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 });
|
|
15895
|
-
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: [
|
|
16343
|
+
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 });
|
|
16344
|
+
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: [
|
|
15896
16345
|
BrowserSupportService,
|
|
15897
16346
|
LocalizationService,
|
|
15898
16347
|
ColumnInfoService,
|
|
@@ -15933,8 +16382,9 @@ TreeListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", vers
|
|
|
15933
16382
|
provide: ExpandableTreeComponent,
|
|
15934
16383
|
useExisting: forwardRef(() => TreeListComponent)
|
|
15935
16384
|
},
|
|
15936
|
-
ContextService
|
|
15937
|
-
|
|
16385
|
+
ContextService,
|
|
16386
|
+
RowReorderService
|
|
16387
|
+
], 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: `
|
|
15938
16388
|
<ng-container kendoTreeListLocalizedMessages
|
|
15939
16389
|
|
|
15940
16390
|
i18n-noRecords="kendo.treelist.noRecords|The label visible in the TreeList when there are no records"
|
|
@@ -16095,6 +16545,8 @@ TreeListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", vers
|
|
|
16095
16545
|
|
|
16096
16546
|
i18n-bottomToolbarLabel="kendo.treelist.bottomToolbarLabel|The label of the TreeList bottom toolbar"
|
|
16097
16547
|
bottomToolbarLabel="Bottom toolbar"
|
|
16548
|
+
i18n-dragRowHandleLabel="kendo.treelist.dragRowHandleLabel|The label for the TreeList drag row handle"
|
|
16549
|
+
dragRowHandleLabel="Drag row"
|
|
16098
16550
|
>
|
|
16099
16551
|
</ng-container>
|
|
16100
16552
|
<kendo-treelist-toolbar
|
|
@@ -16112,7 +16564,24 @@ TreeListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", vers
|
|
|
16112
16564
|
[attr.aria-rowcount]="ariaRowCount"
|
|
16113
16565
|
[attr.aria-colcount]="ariaColCount"
|
|
16114
16566
|
[attr.aria-multiselectable]="ariaMultiselectable"
|
|
16115
|
-
[attr.aria-label]="ariaLabel"
|
|
16567
|
+
[attr.aria-label]="ariaLabel"
|
|
16568
|
+
kendoDragTargetContainer
|
|
16569
|
+
kendoDropTargetContainer
|
|
16570
|
+
mode="manual"
|
|
16571
|
+
[dragDisabled]="!rowReorderable"
|
|
16572
|
+
[dropDisabled]="!rowReorderable"
|
|
16573
|
+
[dragTargetFilter]="getDefaultSelectors('dragTarget')"
|
|
16574
|
+
[dropTargetFilter]="getDefaultSelectors('dropTarget')"
|
|
16575
|
+
[dragHandle]="getDefaultSelectors('handle')"
|
|
16576
|
+
[hint]="{hintTemplate: defaultHint}"
|
|
16577
|
+
(onPress)="handleReorderEvents($event, 'press')"
|
|
16578
|
+
(onDragStart)="handleReorderEvents($event, 'dragStart')"
|
|
16579
|
+
(onDrag)="handleReorderEvents($event, 'drag')"
|
|
16580
|
+
(onDragEnter)="handleReorderEvents($event, 'dragEnter')"
|
|
16581
|
+
(onDragLeave)="handleReorderEvents($event, 'dragLeave')"
|
|
16582
|
+
(onDragEnd)="handleReorderEvents($event, 'dragEnd')"
|
|
16583
|
+
(onDrop)="handleReorderEvents($event, 'drop')"
|
|
16584
|
+
[dragData]="treeListData">
|
|
16116
16585
|
<ng-template [ngIf]="isScrollable">
|
|
16117
16586
|
<div *ngIf="!hideHeader"
|
|
16118
16587
|
class="k-grid-header"
|
|
@@ -16264,7 +16733,16 @@ TreeListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", vers
|
|
|
16264
16733
|
[attr.aria-label]="messageFor('bottomToolbarLabel')"
|
|
16265
16734
|
[attr.aria-controls]="ariaRootId">
|
|
16266
16735
|
</kendo-treelist-toolbar>
|
|
16267
|
-
|
|
16736
|
+
|
|
16737
|
+
<ng-template #defaultHint>
|
|
16738
|
+
<kendo-icon-wrapper
|
|
16739
|
+
[name]="getHintSettings('hintIcon')"
|
|
16740
|
+
[svgIcon]="getHintSettings('hintSVGIcon')"
|
|
16741
|
+
innerCssClass="k-drag-status">
|
|
16742
|
+
</kendo-icon-wrapper>
|
|
16743
|
+
{{hintText}}
|
|
16744
|
+
</ng-template>
|
|
16745
|
+
`, 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 });
|
|
16268
16746
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: TreeListComponent, decorators: [{
|
|
16269
16747
|
type: Component,
|
|
16270
16748
|
args: [{
|
|
@@ -16312,7 +16790,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
16312
16790
|
provide: ExpandableTreeComponent,
|
|
16313
16791
|
useExisting: forwardRef(() => TreeListComponent)
|
|
16314
16792
|
},
|
|
16315
|
-
ContextService
|
|
16793
|
+
ContextService,
|
|
16794
|
+
RowReorderService
|
|
16316
16795
|
],
|
|
16317
16796
|
selector: 'kendo-treelist',
|
|
16318
16797
|
template: `
|
|
@@ -16476,6 +16955,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
16476
16955
|
|
|
16477
16956
|
i18n-bottomToolbarLabel="kendo.treelist.bottomToolbarLabel|The label of the TreeList bottom toolbar"
|
|
16478
16957
|
bottomToolbarLabel="Bottom toolbar"
|
|
16958
|
+
i18n-dragRowHandleLabel="kendo.treelist.dragRowHandleLabel|The label for the TreeList drag row handle"
|
|
16959
|
+
dragRowHandleLabel="Drag row"
|
|
16479
16960
|
>
|
|
16480
16961
|
</ng-container>
|
|
16481
16962
|
<kendo-treelist-toolbar
|
|
@@ -16493,7 +16974,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
16493
16974
|
[attr.aria-rowcount]="ariaRowCount"
|
|
16494
16975
|
[attr.aria-colcount]="ariaColCount"
|
|
16495
16976
|
[attr.aria-multiselectable]="ariaMultiselectable"
|
|
16496
|
-
[attr.aria-label]="ariaLabel"
|
|
16977
|
+
[attr.aria-label]="ariaLabel"
|
|
16978
|
+
kendoDragTargetContainer
|
|
16979
|
+
kendoDropTargetContainer
|
|
16980
|
+
mode="manual"
|
|
16981
|
+
[dragDisabled]="!rowReorderable"
|
|
16982
|
+
[dropDisabled]="!rowReorderable"
|
|
16983
|
+
[dragTargetFilter]="getDefaultSelectors('dragTarget')"
|
|
16984
|
+
[dropTargetFilter]="getDefaultSelectors('dropTarget')"
|
|
16985
|
+
[dragHandle]="getDefaultSelectors('handle')"
|
|
16986
|
+
[hint]="{hintTemplate: defaultHint}"
|
|
16987
|
+
(onPress)="handleReorderEvents($event, 'press')"
|
|
16988
|
+
(onDragStart)="handleReorderEvents($event, 'dragStart')"
|
|
16989
|
+
(onDrag)="handleReorderEvents($event, 'drag')"
|
|
16990
|
+
(onDragEnter)="handleReorderEvents($event, 'dragEnter')"
|
|
16991
|
+
(onDragLeave)="handleReorderEvents($event, 'dragLeave')"
|
|
16992
|
+
(onDragEnd)="handleReorderEvents($event, 'dragEnd')"
|
|
16993
|
+
(onDrop)="handleReorderEvents($event, 'drop')"
|
|
16994
|
+
[dragData]="treeListData">
|
|
16497
16995
|
<ng-template [ngIf]="isScrollable">
|
|
16498
16996
|
<div *ngIf="!hideHeader"
|
|
16499
16997
|
class="k-grid-header"
|
|
@@ -16645,9 +17143,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
16645
17143
|
[attr.aria-label]="messageFor('bottomToolbarLabel')"
|
|
16646
17144
|
[attr.aria-controls]="ariaRootId">
|
|
16647
17145
|
</kendo-treelist-toolbar>
|
|
17146
|
+
|
|
17147
|
+
<ng-template #defaultHint>
|
|
17148
|
+
<kendo-icon-wrapper
|
|
17149
|
+
[name]="getHintSettings('hintIcon')"
|
|
17150
|
+
[svgIcon]="getHintSettings('hintSVGIcon')"
|
|
17151
|
+
innerCssClass="k-drag-status">
|
|
17152
|
+
</kendo-icon-wrapper>
|
|
17153
|
+
{{hintText}}
|
|
17154
|
+
</ng-template>
|
|
16648
17155
|
`
|
|
16649
17156
|
}]
|
|
16650
|
-
}], 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: [{
|
|
17157
|
+
}], 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: [{
|
|
16651
17158
|
type: Input,
|
|
16652
17159
|
args: ['aria-label']
|
|
16653
17160
|
}], data: [{
|
|
@@ -16700,6 +17207,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
16700
17207
|
type: Input
|
|
16701
17208
|
}], isSelected: [{
|
|
16702
17209
|
type: Input
|
|
17210
|
+
}], rowReorderable: [{
|
|
17211
|
+
type: Input
|
|
16703
17212
|
}], selectionChange: [{
|
|
16704
17213
|
type: Output
|
|
16705
17214
|
}], filterChange: [{
|
|
@@ -16748,6 +17257,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
16748
17257
|
args: ['collapse']
|
|
16749
17258
|
}], expandStateChange: [{
|
|
16750
17259
|
type: Output
|
|
17260
|
+
}], rowReorder: [{
|
|
17261
|
+
type: Output
|
|
16751
17262
|
}], columnsRef: [{
|
|
16752
17263
|
type: Input,
|
|
16753
17264
|
args: ['columns']
|
|
@@ -16799,6 +17310,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
16799
17310
|
}], ariaRoot: [{
|
|
16800
17311
|
type: ViewChild,
|
|
16801
17312
|
args: ['ariaRoot', { static: true }]
|
|
17313
|
+
}], dragTargetContainer: [{
|
|
17314
|
+
type: ViewChild,
|
|
17315
|
+
args: [DragTargetContainerDirective]
|
|
17316
|
+
}], dropTargetContainer: [{
|
|
17317
|
+
type: ViewChild,
|
|
17318
|
+
args: [DropTargetContainerDirective]
|
|
16802
17319
|
}], fetchChildren: [{
|
|
16803
17320
|
type: Input
|
|
16804
17321
|
}], hasChildren: [{
|
|
@@ -16978,6 +17495,48 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
16978
17495
|
args: [CellTemplateDirective, { static: false }]
|
|
16979
17496
|
}] } });
|
|
16980
17497
|
|
|
17498
|
+
/**
|
|
17499
|
+
* Represents the drag handle for reordering rows in the TreeList.
|
|
17500
|
+
*/
|
|
17501
|
+
class RowReorderColumnComponent extends ColumnBase {
|
|
17502
|
+
constructor(parent) {
|
|
17503
|
+
super(parent);
|
|
17504
|
+
this.parent = parent;
|
|
17505
|
+
/**
|
|
17506
|
+
* @hidden
|
|
17507
|
+
*/
|
|
17508
|
+
this.isRowReorderColumn = true;
|
|
17509
|
+
}
|
|
17510
|
+
}
|
|
17511
|
+
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 });
|
|
17512
|
+
RowReorderColumnComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: RowReorderColumnComponent, selector: "kendo-treelist-rowreorder-column", providers: [
|
|
17513
|
+
{
|
|
17514
|
+
provide: ColumnBase,
|
|
17515
|
+
useExisting: forwardRef(() => RowReorderColumnComponent)
|
|
17516
|
+
}
|
|
17517
|
+
], usesInheritance: true, ngImport: i0, template: ``, isInline: true });
|
|
17518
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: RowReorderColumnComponent, decorators: [{
|
|
17519
|
+
type: Component,
|
|
17520
|
+
args: [{
|
|
17521
|
+
providers: [
|
|
17522
|
+
{
|
|
17523
|
+
provide: ColumnBase,
|
|
17524
|
+
useExisting: forwardRef(() => RowReorderColumnComponent)
|
|
17525
|
+
}
|
|
17526
|
+
],
|
|
17527
|
+
selector: 'kendo-treelist-rowreorder-column',
|
|
17528
|
+
template: ``
|
|
17529
|
+
}]
|
|
17530
|
+
}], ctorParameters: function () {
|
|
17531
|
+
return [{ type: ColumnBase, decorators: [{
|
|
17532
|
+
type: SkipSelf
|
|
17533
|
+
}, {
|
|
17534
|
+
type: Host
|
|
17535
|
+
}, {
|
|
17536
|
+
type: Optional
|
|
17537
|
+
}] }];
|
|
17538
|
+
} });
|
|
17539
|
+
|
|
16981
17540
|
const exportedModules$3 = [
|
|
16982
17541
|
ColumnComponent,
|
|
16983
17542
|
ColumnGroupComponent,
|
|
@@ -16991,7 +17550,8 @@ const exportedModules$3 = [
|
|
|
16991
17550
|
SpanColumnComponent,
|
|
16992
17551
|
TableDirective,
|
|
16993
17552
|
LoadingComponent,
|
|
16994
|
-
CheckboxColumnComponent
|
|
17553
|
+
CheckboxColumnComponent,
|
|
17554
|
+
RowReorderColumnComponent
|
|
16995
17555
|
];
|
|
16996
17556
|
/**
|
|
16997
17557
|
* @hidden
|
|
@@ -17002,6 +17562,7 @@ class SharedModule {
|
|
|
17002
17562
|
ColumnComponent,
|
|
17003
17563
|
SpanColumnComponent,
|
|
17004
17564
|
CheckboxColumnComponent,
|
|
17565
|
+
RowReorderColumnComponent,
|
|
17005
17566
|
ColumnGroupComponent,
|
|
17006
17567
|
FocusableDirective
|
|
17007
17568
|
];
|
|
@@ -17020,7 +17581,8 @@ SharedModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "
|
|
|
17020
17581
|
SpanColumnComponent,
|
|
17021
17582
|
TableDirective,
|
|
17022
17583
|
LoadingComponent,
|
|
17023
|
-
CheckboxColumnComponent
|
|
17584
|
+
CheckboxColumnComponent,
|
|
17585
|
+
RowReorderColumnComponent], imports: [CommonModule, IconsModule], exports: [ColumnComponent,
|
|
17024
17586
|
ColumnGroupComponent,
|
|
17025
17587
|
LogicalCellDirective,
|
|
17026
17588
|
LogicalRowDirective,
|
|
@@ -17032,7 +17594,8 @@ SharedModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "
|
|
|
17032
17594
|
SpanColumnComponent,
|
|
17033
17595
|
TableDirective,
|
|
17034
17596
|
LoadingComponent,
|
|
17035
|
-
CheckboxColumnComponent,
|
|
17597
|
+
CheckboxColumnComponent,
|
|
17598
|
+
RowReorderColumnComponent, DraggableModule, IconsModule] });
|
|
17036
17599
|
SharedModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SharedModule, imports: [[CommonModule, IconsModule], DraggableModule, IconsModule] });
|
|
17037
17600
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SharedModule, decorators: [{
|
|
17038
17601
|
type: NgModule,
|
|
@@ -18103,7 +18666,7 @@ ColumnChooserComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
|
|
|
18103
18666
|
(columnChange)="onChange($event)">
|
|
18104
18667
|
</kendo-treelist-columnlist>
|
|
18105
18668
|
</ng-template>
|
|
18106
|
-
`, isInline: true, components: [{ type: i4$
|
|
18669
|
+
`, 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"] }] });
|
|
18107
18670
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ColumnChooserComponent, decorators: [{
|
|
18108
18671
|
type: Component,
|
|
18109
18672
|
args: [{
|
|
@@ -19213,8 +19776,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
19213
19776
|
}] } });
|
|
19214
19777
|
|
|
19215
19778
|
class BaseBindingDirective {
|
|
19216
|
-
constructor(component) {
|
|
19779
|
+
constructor(component, rowReorderService) {
|
|
19217
19780
|
this.component = component;
|
|
19781
|
+
this.rowReorderService = rowReorderService;
|
|
19218
19782
|
this.state = {};
|
|
19219
19783
|
this.cache = new Map();
|
|
19220
19784
|
this.originalData = [];
|
|
@@ -19247,6 +19811,8 @@ class BaseBindingDirective {
|
|
|
19247
19811
|
this.applyState(this.state);
|
|
19248
19812
|
this.subscriptions.add(this.component.dataStateChange
|
|
19249
19813
|
.subscribe(this.onStateChange.bind(this)));
|
|
19814
|
+
this.component.rowReorderable && this.subscriptions.add(this.rowReorderService.rowReorder
|
|
19815
|
+
.subscribe(this.onRowReorder.bind(this)));
|
|
19250
19816
|
}
|
|
19251
19817
|
/**
|
|
19252
19818
|
* @hidden
|
|
@@ -19287,6 +19853,7 @@ class BaseBindingDirective {
|
|
|
19287
19853
|
this.cache.clear();
|
|
19288
19854
|
this.component.data = this.fetchChildren();
|
|
19289
19855
|
}
|
|
19856
|
+
onRowReorder(_event) { }
|
|
19290
19857
|
applyState({ sort, filter }) {
|
|
19291
19858
|
this.sort = sort;
|
|
19292
19859
|
this.filter = filter;
|
|
@@ -19355,12 +19922,12 @@ class BaseBindingDirective {
|
|
|
19355
19922
|
this.dataChanged = true;
|
|
19356
19923
|
}
|
|
19357
19924
|
}
|
|
19358
|
-
BaseBindingDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: BaseBindingDirective, deps: [{ token: DataBoundTreeComponent }], target: i0.ɵɵFactoryTarget.Directive });
|
|
19925
|
+
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 });
|
|
19359
19926
|
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 });
|
|
19360
19927
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: BaseBindingDirective, decorators: [{
|
|
19361
19928
|
type: Directive,
|
|
19362
19929
|
args: [{}]
|
|
19363
|
-
}], ctorParameters: function () { return [{ type: DataBoundTreeComponent }]; }, propDecorators: { sort: [{
|
|
19930
|
+
}], ctorParameters: function () { return [{ type: DataBoundTreeComponent }, { type: RowReorderService }]; }, propDecorators: { sort: [{
|
|
19364
19931
|
type: Input
|
|
19365
19932
|
}], filter: [{
|
|
19366
19933
|
type: Input
|
|
@@ -19410,6 +19977,53 @@ class HierarchyEditService extends LocalEditService {
|
|
|
19410
19977
|
}
|
|
19411
19978
|
}
|
|
19412
19979
|
|
|
19980
|
+
/**
|
|
19981
|
+
* @hidden
|
|
19982
|
+
*/
|
|
19983
|
+
class HierarchicalRowReorderService extends RowReorderService {
|
|
19984
|
+
isOverChild(targetItem) {
|
|
19985
|
+
const { draggedRows } = this.rowReorderArgs(this.dragTarget, this.dropTarget, this.view);
|
|
19986
|
+
const draggedItem = draggedRows[0].dataItem;
|
|
19987
|
+
const hasChildren = isPresent(draggedItem[this.childrenField]) && draggedItem[this.childrenField].length > 0;
|
|
19988
|
+
if (!hasChildren) {
|
|
19989
|
+
return false;
|
|
19990
|
+
}
|
|
19991
|
+
if (targetItem && draggedItem.hasOwnProperty(this.childrenField)) {
|
|
19992
|
+
if (draggedItem[this.childrenField].includes(targetItem)) {
|
|
19993
|
+
return true;
|
|
19994
|
+
}
|
|
19995
|
+
const parent = findParent$1(this.data, targetItem, this.childrenField);
|
|
19996
|
+
if (parent) {
|
|
19997
|
+
return this.isOverChild(parent);
|
|
19998
|
+
}
|
|
19999
|
+
}
|
|
20000
|
+
return false;
|
|
20001
|
+
}
|
|
20002
|
+
reorderRows(ev, collection, field) {
|
|
20003
|
+
const draggedItem = ev.draggedRows[0].dataItem;
|
|
20004
|
+
const dropTargetItem = ev.dropTargetRow.dataItem;
|
|
20005
|
+
const draggedItemParent = findParent$1(collection, draggedItem, field);
|
|
20006
|
+
const dropTargetParent = findParent$1(collection, dropTargetItem, field);
|
|
20007
|
+
const draggedItemIdx = draggedItemParent ? draggedItemParent[field].indexOf(draggedItem) : collection.indexOf(draggedItem);
|
|
20008
|
+
let dropTargetItemIdx = dropTargetParent ? dropTargetParent[field].indexOf(dropTargetItem) : collection.indexOf(dropTargetItem);
|
|
20009
|
+
if (ev.dropPosition === dropPosition.after && dropTargetItemIdx < draggedItemIdx) {
|
|
20010
|
+
dropTargetItemIdx++;
|
|
20011
|
+
}
|
|
20012
|
+
draggedItemParent ? draggedItemParent[field].splice(draggedItemIdx, 1) : collection.splice(draggedItemIdx, 1);
|
|
20013
|
+
if (ev.dropPosition !== dropPosition.over) {
|
|
20014
|
+
dropTargetParent ? dropTargetParent[field].splice(dropTargetItemIdx, 0, draggedItem) : collection.splice(dropTargetItemIdx, 0, draggedItem);
|
|
20015
|
+
}
|
|
20016
|
+
else {
|
|
20017
|
+
dropTargetItem[field].unshift(draggedItem);
|
|
20018
|
+
}
|
|
20019
|
+
}
|
|
20020
|
+
}
|
|
20021
|
+
HierarchicalRowReorderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: HierarchicalRowReorderService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
20022
|
+
HierarchicalRowReorderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: HierarchicalRowReorderService });
|
|
20023
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: HierarchicalRowReorderService, decorators: [{
|
|
20024
|
+
type: Injectable
|
|
20025
|
+
}] });
|
|
20026
|
+
|
|
19413
20027
|
/**
|
|
19414
20028
|
* A directive which binds the TreeList to a tree of objects.
|
|
19415
20029
|
*
|
|
@@ -19418,12 +20032,16 @@ class HierarchyEditService extends LocalEditService {
|
|
|
19418
20032
|
* and [filtering]({% slug filtering_treelist %}) ([more information and examples](slug:databinding_treelist#toc-binding-to-hierarchical-data)).
|
|
19419
20033
|
*/
|
|
19420
20034
|
class HierarchyBindingDirective extends BaseBindingDirective {
|
|
19421
|
-
constructor(component) {
|
|
20035
|
+
constructor(component, rowReorderService) {
|
|
19422
20036
|
super(component);
|
|
19423
20037
|
this.component = component;
|
|
20038
|
+
this.rowReorderService = rowReorderService;
|
|
19424
20039
|
this.childrenGetter = getter('items');
|
|
19425
20040
|
this.childrenSetter = setter('items');
|
|
19426
20041
|
component.localEditService = new HierarchyEditService(this);
|
|
20042
|
+
if (this.rowReorderService) {
|
|
20043
|
+
this.rowReorderService.bindingDirective = this;
|
|
20044
|
+
}
|
|
19427
20045
|
}
|
|
19428
20046
|
/**
|
|
19429
20047
|
* The name of the field which holds the child data items of the node.
|
|
@@ -19431,23 +20049,58 @@ class HierarchyBindingDirective extends BaseBindingDirective {
|
|
|
19431
20049
|
set childrenField(value) {
|
|
19432
20050
|
this.childrenGetter = getter(value);
|
|
19433
20051
|
this.childrenSetter = setter(value);
|
|
20052
|
+
this._childrenField = value;
|
|
19434
20053
|
}
|
|
20054
|
+
get childrenField() {
|
|
20055
|
+
return this._childrenField;
|
|
20056
|
+
}
|
|
20057
|
+
/**
|
|
20058
|
+
* @hidden
|
|
20059
|
+
*/
|
|
19435
20060
|
getChildren(item) {
|
|
19436
20061
|
return item ? this.childrenGetter(item) || [] : this.originalData;
|
|
19437
20062
|
}
|
|
19438
20063
|
itemKey(item) {
|
|
19439
20064
|
return item;
|
|
19440
20065
|
}
|
|
20066
|
+
onRowReorder(ev) {
|
|
20067
|
+
if (ev.dropPosition === 'forbidden') {
|
|
20068
|
+
return;
|
|
20069
|
+
}
|
|
20070
|
+
const dropTargetItem = ev.dropTargetRow.dataItem;
|
|
20071
|
+
if (ev.dropPosition === 'over') {
|
|
20072
|
+
if (!dropTargetItem.hasOwnProperty(this.childrenField)) {
|
|
20073
|
+
dropTargetItem[this.childrenField] = [];
|
|
20074
|
+
}
|
|
20075
|
+
}
|
|
20076
|
+
this.rowReorderService.reorderRows(ev, this.originalData, this.childrenField);
|
|
20077
|
+
this.rebind();
|
|
20078
|
+
}
|
|
19441
20079
|
}
|
|
19442
|
-
HierarchyBindingDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: HierarchyBindingDirective, deps: [{ token: DataBoundTreeComponent }], target: i0.ɵɵFactoryTarget.Directive });
|
|
19443
|
-
HierarchyBindingDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: HierarchyBindingDirective, selector: "[kendoTreeListHierarchyBinding]", inputs: { childrenField: "childrenField", data: ["kendoTreeListHierarchyBinding", "data"] },
|
|
20080
|
+
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 });
|
|
20081
|
+
HierarchyBindingDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: HierarchyBindingDirective, selector: "[kendoTreeListHierarchyBinding]", inputs: { childrenField: "childrenField", data: ["kendoTreeListHierarchyBinding", "data"] }, providers: [
|
|
20082
|
+
{
|
|
20083
|
+
provide: RowReorderService,
|
|
20084
|
+
useClass: HierarchicalRowReorderService
|
|
20085
|
+
}
|
|
20086
|
+
], exportAs: ["kendoTreeListHierarchyBinding"], usesInheritance: true, ngImport: i0 });
|
|
19444
20087
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: HierarchyBindingDirective, decorators: [{
|
|
19445
20088
|
type: Directive,
|
|
19446
20089
|
args: [{
|
|
19447
20090
|
exportAs: 'kendoTreeListHierarchyBinding',
|
|
19448
|
-
selector: '[kendoTreeListHierarchyBinding]'
|
|
20091
|
+
selector: '[kendoTreeListHierarchyBinding]',
|
|
20092
|
+
providers: [
|
|
20093
|
+
{
|
|
20094
|
+
provide: RowReorderService,
|
|
20095
|
+
useClass: HierarchicalRowReorderService
|
|
20096
|
+
}
|
|
20097
|
+
]
|
|
19449
20098
|
}]
|
|
19450
|
-
}], ctorParameters: function () {
|
|
20099
|
+
}], ctorParameters: function () {
|
|
20100
|
+
return [{ type: DataBoundTreeComponent }, { type: RowReorderService, decorators: [{
|
|
20101
|
+
type: Optional
|
|
20102
|
+
}] }];
|
|
20103
|
+
}, propDecorators: { childrenField: [{
|
|
19451
20104
|
type: Input
|
|
19452
20105
|
}], data: [{
|
|
19453
20106
|
type: Input,
|
|
@@ -19498,6 +20151,47 @@ class FlatEditService extends LocalEditService {
|
|
|
19498
20151
|
}
|
|
19499
20152
|
}
|
|
19500
20153
|
|
|
20154
|
+
/**
|
|
20155
|
+
* @hidden
|
|
20156
|
+
*/
|
|
20157
|
+
class FlatRowReorderService extends RowReorderService {
|
|
20158
|
+
isOverChild(targetItem) {
|
|
20159
|
+
const { draggedRows } = this.rowReorderArgs(this.dragTarget, this.dropTarget, this.view);
|
|
20160
|
+
const draggedItem = draggedRows[0].dataItem;
|
|
20161
|
+
const hasParent = isPresent(targetItem[this.parentIdField]);
|
|
20162
|
+
const sameParents = draggedItem[this.parentIdField] === targetItem[this.parentIdField];
|
|
20163
|
+
if (!hasParent || sameParents) {
|
|
20164
|
+
return false;
|
|
20165
|
+
}
|
|
20166
|
+
if (targetItem && targetItem.hasOwnProperty(this.parentIdField)) {
|
|
20167
|
+
if (draggedItem[this.idField] === targetItem[this.parentIdField]) {
|
|
20168
|
+
return true;
|
|
20169
|
+
}
|
|
20170
|
+
const parent = this.data.find(i => i[this.idField] === targetItem[this.parentIdField]);
|
|
20171
|
+
if (parent) {
|
|
20172
|
+
return this.isOverChild(parent);
|
|
20173
|
+
}
|
|
20174
|
+
}
|
|
20175
|
+
}
|
|
20176
|
+
reorderRows(ev, collection) {
|
|
20177
|
+
const { draggedRows, dropTargetRow } = ev;
|
|
20178
|
+
const draggedDataItem = draggedRows[0].dataItem;
|
|
20179
|
+
const dropTargetDataItem = dropTargetRow.dataItem;
|
|
20180
|
+
let dropTargetIdx = collection.indexOf(dropTargetDataItem);
|
|
20181
|
+
const draggedItemIdx = collection.indexOf(draggedDataItem);
|
|
20182
|
+
collection.splice(draggedItemIdx, 1);
|
|
20183
|
+
if (ev.dropPosition === 'after' && dropTargetIdx < draggedItemIdx) {
|
|
20184
|
+
dropTargetIdx++;
|
|
20185
|
+
}
|
|
20186
|
+
collection.splice(dropTargetIdx, 0, draggedDataItem);
|
|
20187
|
+
}
|
|
20188
|
+
}
|
|
20189
|
+
FlatRowReorderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FlatRowReorderService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
20190
|
+
FlatRowReorderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FlatRowReorderService });
|
|
20191
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FlatRowReorderService, decorators: [{
|
|
20192
|
+
type: Injectable
|
|
20193
|
+
}] });
|
|
20194
|
+
|
|
19501
20195
|
const ROOT_ID = null;
|
|
19502
20196
|
/**
|
|
19503
20197
|
* A directive which binds the TreeList to an array of objects by using
|
|
@@ -19508,14 +20202,18 @@ const ROOT_ID = null;
|
|
|
19508
20202
|
* and [filtering]({% slug filtering_treelist %}) ([more information and examples]({% slug databinding_treelist %})).
|
|
19509
20203
|
*/
|
|
19510
20204
|
class FlatBindingDirective extends BaseBindingDirective {
|
|
19511
|
-
constructor(component) {
|
|
20205
|
+
constructor(component, rowReorderService) {
|
|
19512
20206
|
super(component);
|
|
19513
20207
|
this.component = component;
|
|
20208
|
+
this.rowReorderService = rowReorderService;
|
|
19514
20209
|
this.idGetter = getter('id');
|
|
19515
20210
|
this.idSetter = setter('id');
|
|
19516
20211
|
this.parentIdGetter = getter('parentId');
|
|
19517
20212
|
this.parentIdSetter = setter('parentId');
|
|
19518
20213
|
component.localEditService = new FlatEditService(this);
|
|
20214
|
+
if (this.rowReorderService) {
|
|
20215
|
+
this.rowReorderService.bindingDirective = this;
|
|
20216
|
+
}
|
|
19519
20217
|
}
|
|
19520
20218
|
/**
|
|
19521
20219
|
* The name of the field which contains the identifier of the parent node.
|
|
@@ -19523,6 +20221,10 @@ class FlatBindingDirective extends BaseBindingDirective {
|
|
|
19523
20221
|
set parentIdField(value) {
|
|
19524
20222
|
this.parentIdGetter = getter(value);
|
|
19525
20223
|
this.parentIdSetter = setter(value);
|
|
20224
|
+
this._parentIdField = value;
|
|
20225
|
+
}
|
|
20226
|
+
get parentIdField() {
|
|
20227
|
+
return this._parentIdField;
|
|
19526
20228
|
}
|
|
19527
20229
|
/**
|
|
19528
20230
|
* The name of the field which contains the unique identifier of the node.
|
|
@@ -19530,7 +20232,14 @@ class FlatBindingDirective extends BaseBindingDirective {
|
|
|
19530
20232
|
set idField(value) {
|
|
19531
20233
|
this.idGetter = getter(value);
|
|
19532
20234
|
this.idSetter = setter(value);
|
|
20235
|
+
this._idField = value;
|
|
19533
20236
|
}
|
|
20237
|
+
get idField() {
|
|
20238
|
+
return this._idField;
|
|
20239
|
+
}
|
|
20240
|
+
/**
|
|
20241
|
+
* @hidden
|
|
20242
|
+
*/
|
|
19534
20243
|
getChildren(item) {
|
|
19535
20244
|
const id = this.itemKey(item);
|
|
19536
20245
|
const children = id === ROOT_ID ?
|
|
@@ -19541,16 +20250,50 @@ class FlatBindingDirective extends BaseBindingDirective {
|
|
|
19541
20250
|
itemKey(item) {
|
|
19542
20251
|
return item ? this.idGetter(item) : ROOT_ID;
|
|
19543
20252
|
}
|
|
20253
|
+
onRowReorder(ev) {
|
|
20254
|
+
if (ev.dropPosition === 'forbidden') {
|
|
20255
|
+
return;
|
|
20256
|
+
}
|
|
20257
|
+
const draggedItem = ev.draggedRows[0].dataItem;
|
|
20258
|
+
const dropTargetItem = ev.dropTargetRow.dataItem;
|
|
20259
|
+
if (ev.dropPosition === 'over') {
|
|
20260
|
+
const dropItemId = this.itemKey(dropTargetItem);
|
|
20261
|
+
if (draggedItem[this.parentIdField] !== dropItemId) {
|
|
20262
|
+
draggedItem[this.parentIdField] = dropItemId;
|
|
20263
|
+
}
|
|
20264
|
+
}
|
|
20265
|
+
else {
|
|
20266
|
+
const dropItemParentId = dropTargetItem[this.parentIdField];
|
|
20267
|
+
draggedItem[this.parentIdField] = dropItemParentId;
|
|
20268
|
+
this.rowReorderService.reorderRows(ev, this.originalData);
|
|
20269
|
+
}
|
|
20270
|
+
this.rebind();
|
|
20271
|
+
}
|
|
19544
20272
|
}
|
|
19545
|
-
FlatBindingDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FlatBindingDirective, deps: [{ token: DataBoundTreeComponent }], target: i0.ɵɵFactoryTarget.Directive });
|
|
19546
|
-
FlatBindingDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: FlatBindingDirective, selector: "[kendoTreeListFlatBinding]", inputs: { parentIdField: "parentIdField", idField: "idField", data: ["kendoTreeListFlatBinding", "data"] },
|
|
20273
|
+
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 });
|
|
20274
|
+
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: [
|
|
20275
|
+
{
|
|
20276
|
+
provide: RowReorderService,
|
|
20277
|
+
useClass: FlatRowReorderService
|
|
20278
|
+
}
|
|
20279
|
+
], exportAs: ["kendoTreeListFlatBinding"], usesInheritance: true, ngImport: i0 });
|
|
19547
20280
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FlatBindingDirective, decorators: [{
|
|
19548
20281
|
type: Directive,
|
|
19549
20282
|
args: [{
|
|
19550
20283
|
exportAs: 'kendoTreeListFlatBinding',
|
|
19551
|
-
selector: '[kendoTreeListFlatBinding]'
|
|
20284
|
+
selector: '[kendoTreeListFlatBinding]',
|
|
20285
|
+
providers: [
|
|
20286
|
+
{
|
|
20287
|
+
provide: RowReorderService,
|
|
20288
|
+
useClass: FlatRowReorderService
|
|
20289
|
+
}
|
|
20290
|
+
]
|
|
19552
20291
|
}]
|
|
19553
|
-
}], ctorParameters: function () {
|
|
20292
|
+
}], ctorParameters: function () {
|
|
20293
|
+
return [{ type: DataBoundTreeComponent }, { type: RowReorderService, decorators: [{
|
|
20294
|
+
type: Optional
|
|
20295
|
+
}] }];
|
|
20296
|
+
}, propDecorators: { parentIdField: [{
|
|
19554
20297
|
type: Input
|
|
19555
20298
|
}], idField: [{
|
|
19556
20299
|
type: Input
|
|
@@ -19962,7 +20705,8 @@ TreeListModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version:
|
|
|
19962
20705
|
RowFilterModule,
|
|
19963
20706
|
FilterMenuModule,
|
|
19964
20707
|
ResizeSensorModule,
|
|
19965
|
-
ColumnMenuModule
|
|
20708
|
+
ColumnMenuModule,
|
|
20709
|
+
DragAndDropModule$1], exports: [TreeListComponent,
|
|
19966
20710
|
ToolbarTemplateDirective,
|
|
19967
20711
|
ToolbarComponent,
|
|
19968
20712
|
TreeListSpacerComponent,
|
|
@@ -19974,7 +20718,7 @@ TreeListModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version:
|
|
|
19974
20718
|
FlatBindingDirective,
|
|
19975
20719
|
ExpandableDirective,
|
|
19976
20720
|
SelectableDirective,
|
|
19977
|
-
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] });
|
|
20721
|
+
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] });
|
|
19978
20722
|
TreeListModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: TreeListModule, imports: [[
|
|
19979
20723
|
CommonModule,
|
|
19980
20724
|
SharedModule,
|
|
@@ -19984,7 +20728,8 @@ TreeListModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version:
|
|
|
19984
20728
|
RowFilterModule,
|
|
19985
20729
|
FilterMenuModule,
|
|
19986
20730
|
ResizeSensorModule,
|
|
19987
|
-
ColumnMenuModule
|
|
20731
|
+
ColumnMenuModule,
|
|
20732
|
+
DragAndDropModule$1
|
|
19988
20733
|
]] });
|
|
19989
20734
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: TreeListModule, decorators: [{
|
|
19990
20735
|
type: NgModule,
|
|
@@ -20000,7 +20745,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
20000
20745
|
RowFilterModule,
|
|
20001
20746
|
FilterMenuModule,
|
|
20002
20747
|
ResizeSensorModule,
|
|
20003
|
-
ColumnMenuModule
|
|
20748
|
+
ColumnMenuModule,
|
|
20749
|
+
DragAndDropModule$1
|
|
20004
20750
|
]
|
|
20005
20751
|
}]
|
|
20006
20752
|
}] });
|
|
@@ -20879,5 +21625,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
20879
21625
|
* Generated bundle index. Do not edit.
|
|
20880
21626
|
*/
|
|
20881
21627
|
|
|
20882
|
-
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 };
|
|
21628
|
+
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 };
|
|
20883
21629
|
|