@progress/kendo-angular-grid 14.4.0-develop.9 → 15.0.0-develop.2
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/NOTICE.txt +146 -593
- package/common/clipboard-types.d.ts +102 -0
- package/common/clipboard.directive.d.ts +49 -0
- package/common/clipboard.service.d.ts +28 -0
- package/common/dom-events.service.d.ts +1 -0
- package/common/error-messages.d.ts +12 -0
- package/databinding.directive.d.ts +1 -1
- package/esm2020/column-menu/column-menu-item-base.mjs +2 -1
- package/esm2020/column-menu/column-menu.component.mjs +8 -5
- package/esm2020/columns/column-base.mjs +3 -2
- package/esm2020/columns/column-group.component.mjs +2 -1
- package/esm2020/columns/span-column.component.mjs +2 -1
- package/esm2020/common/clipboard-types.mjs +5 -0
- package/esm2020/common/clipboard.directive.mjs +185 -0
- package/esm2020/common/clipboard.service.mjs +218 -0
- package/esm2020/common/dom-events.service.mjs +1 -0
- package/esm2020/common/error-messages.mjs +45 -1
- package/esm2020/databinding.directive.mjs +3 -2
- package/esm2020/editing-directives/local-edit.service.mjs +2 -2
- package/esm2020/excel/excel.service.mjs +2 -1
- package/esm2020/filtering/cell/autocomplete-filter-cell.component.mjs +1 -1
- package/esm2020/filtering/cell/numeric-filter-cell.component.mjs +1 -1
- package/esm2020/filtering/menu/filter-menu-container.component.mjs +2 -2
- package/esm2020/filtering/menu/numeric-filter-menu-input.component.mjs +1 -1
- package/esm2020/grid.component.mjs +40 -34
- package/esm2020/grid.module.mjs +8 -4
- package/esm2020/grouping/group-scroll-binding.directive.mjs +2 -3
- package/esm2020/index.mjs +2 -0
- package/esm2020/package-metadata.mjs +2 -2
- package/esm2020/pager/pager-input.component.mjs +1 -1
- package/esm2020/pager/pager.component.mjs +1 -5
- package/esm2020/pdf/pdf.component.mjs +3 -2
- package/esm2020/pdf/pdf.service.mjs +2 -1
- package/esm2020/rendering/cell.component.mjs +33 -25
- package/esm2020/rendering/details/detail-template.directive.mjs +2 -1
- package/esm2020/rendering/header/header.component.mjs +16 -12
- package/esm2020/rendering/table-body.component.mjs +4 -4
- package/esm2020/selection/marquee.directive.mjs +11 -17
- package/esm2020/selection/selection-default.mjs +11 -5
- package/esm2020/utils.mjs +10 -0
- package/fesm2015/progress-kendo-angular-grid.mjs +598 -145
- package/fesm2020/progress-kendo-angular-grid.mjs +594 -145
- package/grid.component.d.ts +7 -1
- package/grid.module.d.ts +99 -98
- package/index.d.ts +3 -1
- package/package.json +16 -16
- package/pager/pager.component.d.ts +0 -1
- package/schematics/ngAdd/index.js +3 -3
- package/selection/marquee.directive.d.ts +4 -3
- package/selection/selection-default.d.ts +10 -4
- package/selection/types.d.ts +6 -0
- package/utils.d.ts +8 -0
|
@@ -10,7 +10,7 @@ import { merge, of, Subject, from, Subscription, interval, fromEvent, zip as zip
|
|
|
10
10
|
import { switchMap, take, map, filter, takeUntil, switchMapTo, delay, auditTime, distinctUntilChanged, tap, throttleTime, debounceTime, bufferCount } from 'rxjs/operators';
|
|
11
11
|
import * as i1 from '@progress/kendo-angular-l10n';
|
|
12
12
|
import { ComponentMessages, LocalizationService, L10N_PREFIX } from '@progress/kendo-angular-l10n';
|
|
13
|
-
import { orderBy, isCompositeFilterDescriptor, process, filterBy } from '@progress/kendo-data-query';
|
|
13
|
+
import { orderBy, groupBy, isCompositeFilterDescriptor, process, filterBy } from '@progress/kendo-data-query';
|
|
14
14
|
import * as i4 from '@angular/common';
|
|
15
15
|
import { CommonModule } from '@angular/common';
|
|
16
16
|
import * as i4$2 from '@angular/forms';
|
|
@@ -166,6 +166,16 @@ const nodesToArray = (nodes) => [].slice.call(nodes);
|
|
|
166
166
|
* @hidden
|
|
167
167
|
*/
|
|
168
168
|
const replaceMessagePlaceholder = (message, name, value) => message.replace(new RegExp(`\{\\s*${name}\\s*\}`, 'g'), value);
|
|
169
|
+
/**
|
|
170
|
+
* @hidden
|
|
171
|
+
*/
|
|
172
|
+
const recursiveFlatMap = (item) => isGroupResult(item) ? item.items.flatMap(recursiveFlatMap) : [Object.assign({}, item)];
|
|
173
|
+
/**
|
|
174
|
+
* @hidden
|
|
175
|
+
*/
|
|
176
|
+
const isGroupResult = (obj) => {
|
|
177
|
+
return 'aggregates' in obj && 'items' in obj && 'field' in obj && 'value' in obj;
|
|
178
|
+
};
|
|
169
179
|
|
|
170
180
|
/**
|
|
171
181
|
* Represents the Kendo UI GridSpacer component for Angular.
|
|
@@ -220,6 +230,7 @@ class DomEventsService {
|
|
|
220
230
|
this.focusIn = new EventEmitter();
|
|
221
231
|
this.focusOut = new EventEmitter();
|
|
222
232
|
this.windowBlur = new EventEmitter();
|
|
233
|
+
this.paste = new EventEmitter();
|
|
223
234
|
}
|
|
224
235
|
}
|
|
225
236
|
DomEventsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DomEventsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
@@ -440,6 +451,58 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
440
451
|
}] }];
|
|
441
452
|
} });
|
|
442
453
|
|
|
454
|
+
/**
|
|
455
|
+
* @hidden
|
|
456
|
+
*/
|
|
457
|
+
const ColumnMenuErrorMessages = {
|
|
458
|
+
autoSizeColumn: 'The auto size column does not work with enabled virtual columns',
|
|
459
|
+
autoSizeAllColumns: 'The auto size all columns does not work with enabled virtual columns',
|
|
460
|
+
serviceInput: 'The service input of the predefined column menu components is mandatory.'
|
|
461
|
+
};
|
|
462
|
+
/**
|
|
463
|
+
* @hidden
|
|
464
|
+
*/
|
|
465
|
+
const ClipboardErrorMessages = {
|
|
466
|
+
activeCellNavigable: 'Grid must be navigable to use "activeCell" as clipboard target type.',
|
|
467
|
+
selectionSelectable: 'Grid must be selectable to use "selection" as clipboard target type.'
|
|
468
|
+
};
|
|
469
|
+
/**
|
|
470
|
+
* @hidden
|
|
471
|
+
*/
|
|
472
|
+
const ColumnConfigurationErrorMessages = {
|
|
473
|
+
fieldName: (field) => `Grid column field name '${field}' does not look like a valid JavaScript identifier.
|
|
474
|
+
Identifiers can contain only alphanumeric characters (including "$" or "_"), and may not start with a digit.
|
|
475
|
+
Please use only valid identifier names to ensure error-free operation.`,
|
|
476
|
+
width: (value, parsedValue) => `Expected numeric value for column width, but got a string "${value}". Treating as ${parsedValue}px.`,
|
|
477
|
+
invalidColumn: (column) => `Invalid column ${column}.`,
|
|
478
|
+
requiredWidth: (columnType) => `${columnType} columns feature requires all columns to have set width.`,
|
|
479
|
+
requiredScroll: (columnType) => `${columnType} columns are only supported when scrolling is enabled.`,
|
|
480
|
+
groupColumnContent: 'ColumnGroupComponent should contain ColumnComponent or CommandColumnComponent.',
|
|
481
|
+
lockedParent: 'Locked child columns require their parent columns to be locked.',
|
|
482
|
+
columnNested: 'Columns can be nested only inside ColumnGroupComponent',
|
|
483
|
+
nestedInside: (nestedColumnNameType, parentColumnType) => `${nestedColumnNameType} cannot be nested inside ${parentColumnType}.`
|
|
484
|
+
};
|
|
485
|
+
/**
|
|
486
|
+
* @hidden
|
|
487
|
+
*/
|
|
488
|
+
const GridConfigurationErrorMessages = {
|
|
489
|
+
functionType: (propName, fn) => `${propName} must be a function, but received ${JSON.stringify(fn)}.`,
|
|
490
|
+
incompatibleFeatures: (feat1Name, feat2Name) => `'Having both ${feat1Name} and ${feat2Name} is not supported.'`,
|
|
491
|
+
nonLockedColumnPresent: 'There should be at least one non-locked column',
|
|
492
|
+
rowHeightVirtual: 'Row height and detail row height settings require virtual scrolling mode to be enabled.',
|
|
493
|
+
focusNavigable: 'The Grid should be configured as navigable to control focus',
|
|
494
|
+
expandCollapseMethods: (expandMethodName, collapseMethodName, directiveName, callbackName) => `The ${expandMethodName} and ${collapseMethodName} methods should not be called
|
|
495
|
+
when using the ${directiveName} directive or the ${callbackName} callback.
|
|
496
|
+
These methods are provided only for backwards compatibility with legacy versions.`,
|
|
497
|
+
requiredEditService: `The default edit service of the editing directives works only when binding to plain array.
|
|
498
|
+
Please provide an editService.`,
|
|
499
|
+
requiredModule: (exportedType, moduleName, componentSelector) => `Creating ${exportedType} requires including the ${moduleName} and adding the ${componentSelector} component.`,
|
|
500
|
+
groupBindingDirectives: `Using the "kendoGridGroupBinding" directive in combination with the "kendoGridExpandGroupBy" directive
|
|
501
|
+
or the "isGroupExpanded" callback is not supported. To use grouping with the "kendoGridGroupBinding" directive,
|
|
502
|
+
set the Grid "groupable" property to "true".`,
|
|
503
|
+
unsupportedMethod: (methodName, suggestedMethodName) => `Using ${methodName} in this context is not supported. Use ${suggestedMethodName} instead.`
|
|
504
|
+
};
|
|
505
|
+
|
|
443
506
|
// Incremented each time the service is instantiated.
|
|
444
507
|
let sequence = 0;
|
|
445
508
|
/**
|
|
@@ -561,7 +624,7 @@ class ColumnBase {
|
|
|
561
624
|
this.columnMenuTemplates = new QueryList();
|
|
562
625
|
this.idService = idService;
|
|
563
626
|
if (parent && idService && parent.idService.gridId() === idService.gridId() && !isColumnContainer(parent)) {
|
|
564
|
-
throw new Error(
|
|
627
|
+
throw new Error(ColumnConfigurationErrorMessages.columnNested);
|
|
565
628
|
}
|
|
566
629
|
}
|
|
567
630
|
/**
|
|
@@ -583,7 +646,7 @@ class ColumnBase {
|
|
|
583
646
|
if (typeof value === 'string') {
|
|
584
647
|
const parsedValue = this._width = parseInt(value, 10);
|
|
585
648
|
if (isDevMode()) {
|
|
586
|
-
console.warn(
|
|
649
|
+
console.warn(ColumnConfigurationErrorMessages.width(value, parsedValue));
|
|
587
650
|
}
|
|
588
651
|
}
|
|
589
652
|
else {
|
|
@@ -1181,7 +1244,7 @@ class SpanColumnComponent extends ColumnBase {
|
|
|
1181
1244
|
this.includeInChooser = false;
|
|
1182
1245
|
this._editable = true;
|
|
1183
1246
|
if (parent && parent.isSpanColumn) {
|
|
1184
|
-
throw new Error('
|
|
1247
|
+
throw new Error(ColumnConfigurationErrorMessages.nestedInside('SpanColumnComponent', 'SpanColumnComponent'));
|
|
1185
1248
|
}
|
|
1186
1249
|
}
|
|
1187
1250
|
/**
|
|
@@ -1396,7 +1459,7 @@ class ColumnGroupComponent extends ColumnBase {
|
|
|
1396
1459
|
*/
|
|
1397
1460
|
this.minResizableWidth = 10;
|
|
1398
1461
|
if (parent && parent.isSpanColumn) {
|
|
1399
|
-
throw new Error('ColumnGroupComponent
|
|
1462
|
+
throw new Error(ColumnConfigurationErrorMessages.nestedInside('ColumnGroupComponent', 'SpanColumnComponent'));
|
|
1400
1463
|
}
|
|
1401
1464
|
}
|
|
1402
1465
|
/**
|
|
@@ -4296,19 +4359,15 @@ const offsets = {
|
|
|
4296
4359
|
* @hidden
|
|
4297
4360
|
*/
|
|
4298
4361
|
class GridMarqueeDirective {
|
|
4299
|
-
constructor(draggable, selection, cellSelection, domEvents) {
|
|
4362
|
+
constructor(draggable, selection, cellSelection, domEvents, host, renderer) {
|
|
4300
4363
|
this.draggable = draggable;
|
|
4301
4364
|
this.selection = selection;
|
|
4302
4365
|
this.cellSelection = cellSelection;
|
|
4303
4366
|
this.domEvents = domEvents;
|
|
4367
|
+
this.host = host;
|
|
4368
|
+
this.renderer = renderer;
|
|
4304
4369
|
this.selectionStarted = false;
|
|
4305
4370
|
}
|
|
4306
|
-
get webkitUserSelection() {
|
|
4307
|
-
return (this.cellSelection.enableMarquee || this.selection.enableMarquee) ? 'none' : null;
|
|
4308
|
-
}
|
|
4309
|
-
get userSelection() {
|
|
4310
|
-
return (this.cellSelection.enableMarquee || this.selection.enableMarquee);
|
|
4311
|
-
}
|
|
4312
4371
|
ngOnInit() {
|
|
4313
4372
|
this.subscriptions = (this.draggable.kendoPress.subscribe(this.start.bind(this)));
|
|
4314
4373
|
this.subscriptions.add(this.draggable.kendoDrag.subscribe(this.moveMarquee.bind(this)));
|
|
@@ -4339,6 +4398,8 @@ class GridMarqueeDirective {
|
|
|
4339
4398
|
const distance = Math.sqrt(Math.pow((args.pageX - press.pageX), 2) + Math.pow((args.pageY - press.pageY), 2));
|
|
4340
4399
|
if (distance > MINIMAL_DRAG_DISTANCE) {
|
|
4341
4400
|
this.selectionStarted = true;
|
|
4401
|
+
this.renderer.addClass(this.host.nativeElement, 'user-select-none');
|
|
4402
|
+
this.renderer.setStyle(this.host.nativeElement, 'user-select', 'none');
|
|
4342
4403
|
this.dragEndSubscription = merge(this.domEvents.cellMouseup.pipe(take(1)), this.draggable.kendoRelease.pipe(delay(1), take(1)))
|
|
4343
4404
|
.subscribe(this.endSelection.bind(this));
|
|
4344
4405
|
}
|
|
@@ -4383,6 +4444,8 @@ class GridMarqueeDirective {
|
|
|
4383
4444
|
if (this.dragEndSubscription) {
|
|
4384
4445
|
this.dragEndSubscription.unsubscribe();
|
|
4385
4446
|
}
|
|
4447
|
+
this.renderer.removeClass(this.host.nativeElement, 'user-select-none');
|
|
4448
|
+
this.renderer.removeStyle(this.host.nativeElement, 'user-select');
|
|
4386
4449
|
this.dragEndSubscription = null;
|
|
4387
4450
|
this.pressTarget = null;
|
|
4388
4451
|
this.pressArgs = null;
|
|
@@ -4419,20 +4482,14 @@ class GridMarqueeDirective {
|
|
|
4419
4482
|
return null;
|
|
4420
4483
|
}
|
|
4421
4484
|
}
|
|
4422
|
-
GridMarqueeDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GridMarqueeDirective, deps: [{ token: i1$1.DraggableDirective }, { token: SelectionService }, { token: CellSelectionService }, { token: DomEventsService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
4423
|
-
GridMarqueeDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: GridMarqueeDirective, selector: "[kendoGridSelectionMarquee]",
|
|
4485
|
+
GridMarqueeDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GridMarqueeDirective, deps: [{ token: i1$1.DraggableDirective }, { token: SelectionService }, { token: CellSelectionService }, { token: DomEventsService }, { token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
|
|
4486
|
+
GridMarqueeDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: GridMarqueeDirective, selector: "[kendoGridSelectionMarquee]", ngImport: i0 });
|
|
4424
4487
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GridMarqueeDirective, decorators: [{
|
|
4425
4488
|
type: Directive,
|
|
4426
4489
|
args: [{
|
|
4427
4490
|
selector: '[kendoGridSelectionMarquee]'
|
|
4428
4491
|
}]
|
|
4429
|
-
}], ctorParameters: function () { return [{ type: i1$1.DraggableDirective }, { type: SelectionService }, { type: CellSelectionService }, { type: DomEventsService }
|
|
4430
|
-
type: HostBinding,
|
|
4431
|
-
args: ['style.-webkit-user-select']
|
|
4432
|
-
}], userSelection: [{
|
|
4433
|
-
type: HostBinding,
|
|
4434
|
-
args: ['class.user-select-none']
|
|
4435
|
-
}] } });
|
|
4492
|
+
}], ctorParameters: function () { return [{ type: i1$1.DraggableDirective }, { type: SelectionService }, { type: CellSelectionService }, { type: DomEventsService }, { type: i0.ElementRef }, { type: i0.Renderer2 }]; } });
|
|
4436
4493
|
|
|
4437
4494
|
/**
|
|
4438
4495
|
* @hidden
|
|
@@ -4475,8 +4532,8 @@ const packageMetadata = {
|
|
|
4475
4532
|
name: '@progress/kendo-angular-grid',
|
|
4476
4533
|
productName: 'Kendo UI for Angular',
|
|
4477
4534
|
productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
|
|
4478
|
-
publishDate:
|
|
4479
|
-
version: '
|
|
4535
|
+
publishDate: 1706611134,
|
|
4536
|
+
version: '15.0.0-develop.2',
|
|
4480
4537
|
licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
|
|
4481
4538
|
};
|
|
4482
4539
|
|
|
@@ -4508,7 +4565,7 @@ class DetailTemplateDirective {
|
|
|
4508
4565
|
*/
|
|
4509
4566
|
set showIf(fn) {
|
|
4510
4567
|
if (typeof fn !== 'function') {
|
|
4511
|
-
throw new Error(
|
|
4568
|
+
throw new Error(GridConfigurationErrorMessages.functionType('showIf', fn));
|
|
4512
4569
|
}
|
|
4513
4570
|
this._condition = fn;
|
|
4514
4571
|
}
|
|
@@ -5004,6 +5061,9 @@ class Selection {
|
|
|
5004
5061
|
this.cellSelectionState = new PairSet();
|
|
5005
5062
|
this.init();
|
|
5006
5063
|
}
|
|
5064
|
+
/**
|
|
5065
|
+
* @hidden
|
|
5066
|
+
*/
|
|
5007
5067
|
get isCellSelectionMode() {
|
|
5008
5068
|
return isPresent(this.ctx.grid.selectable) && this.ctx.grid.selectable['cell'];
|
|
5009
5069
|
}
|
|
@@ -5057,6 +5117,14 @@ class Selection {
|
|
|
5057
5117
|
}
|
|
5058
5118
|
return row.index;
|
|
5059
5119
|
}
|
|
5120
|
+
/**
|
|
5121
|
+
* @hidden
|
|
5122
|
+
*/
|
|
5123
|
+
stateToArray() {
|
|
5124
|
+
return this.isCellSelectionMode ?
|
|
5125
|
+
this.cellSelectionState.toArray('itemKey', 'columnKey') :
|
|
5126
|
+
Array.from(this.rowSelectionState);
|
|
5127
|
+
}
|
|
5060
5128
|
getSelectionItem(row, col, colIndex) {
|
|
5061
5129
|
const itemIdentifiers = {};
|
|
5062
5130
|
itemIdentifiers.itemKey = this.getItemKey(row);
|
|
@@ -5117,11 +5185,6 @@ class Selection {
|
|
|
5117
5185
|
this.rowSelectionState = new Set(selectedKeys);
|
|
5118
5186
|
}
|
|
5119
5187
|
}
|
|
5120
|
-
stateToArray() {
|
|
5121
|
-
return this.isCellSelectionMode ?
|
|
5122
|
-
this.cellSelectionState.toArray('itemKey', 'columnKey') :
|
|
5123
|
-
Array.from(this.rowSelectionState);
|
|
5124
|
-
}
|
|
5125
5188
|
}
|
|
5126
5189
|
Selection.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: Selection, deps: [{ token: ContextService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
5127
5190
|
Selection.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: Selection, selector: "kendo-grid-selection-base", inputs: { selectedKeys: "selectedKeys", rangeSelectionStartRow: "rangeSelectionStartRow", rangeSelectionStartColumnIndex: "rangeSelectionStartColumnIndex", selectionKey: ["kendoGridSelectBy", "selectionKey"], columnKey: "columnKey" }, outputs: { selectedKeysChange: "selectedKeysChange" }, usesOnChanges: true, ngImport: i0 });
|
|
@@ -5489,7 +5552,7 @@ class PDFService {
|
|
|
5489
5552
|
emitEvent(emitter, args) {
|
|
5490
5553
|
if (emitter.observers.length === 0) {
|
|
5491
5554
|
if (isDevMode()) {
|
|
5492
|
-
throw new Error('
|
|
5555
|
+
throw new Error(GridConfigurationErrorMessages.requiredModule('PDF', 'PDFModule', '<kendo-grid-pdf>'));
|
|
5493
5556
|
}
|
|
5494
5557
|
}
|
|
5495
5558
|
else {
|
|
@@ -5571,7 +5634,7 @@ class ExcelService {
|
|
|
5571
5634
|
save(component) {
|
|
5572
5635
|
if (this.saveToExcel.observers.length === 0) {
|
|
5573
5636
|
if (isDevMode()) {
|
|
5574
|
-
throw new Error('
|
|
5637
|
+
throw new Error(GridConfigurationErrorMessages.requiredModule('excel', 'ExcelModule', '<kendo-grid-excel>'));
|
|
5575
5638
|
}
|
|
5576
5639
|
}
|
|
5577
5640
|
else {
|
|
@@ -6794,6 +6857,216 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
6794
6857
|
}]
|
|
6795
6858
|
}], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });
|
|
6796
6859
|
|
|
6860
|
+
/**
|
|
6861
|
+
* @hidden
|
|
6862
|
+
*/
|
|
6863
|
+
class ClipboardService {
|
|
6864
|
+
constructor(contextService) {
|
|
6865
|
+
this.contextService = contextService;
|
|
6866
|
+
this.itemToString = (item, cols) => {
|
|
6867
|
+
if (!cols.length) {
|
|
6868
|
+
return null;
|
|
6869
|
+
}
|
|
6870
|
+
return cols.map(col => item[col.field]).join(`\t`);
|
|
6871
|
+
};
|
|
6872
|
+
}
|
|
6873
|
+
createClipboardData(data, columns, options) {
|
|
6874
|
+
var _a;
|
|
6875
|
+
let result = {
|
|
6876
|
+
gridItems: [],
|
|
6877
|
+
dataString: ''
|
|
6878
|
+
};
|
|
6879
|
+
const fieldCols = columns.flatMap(c => c instanceof ColumnComponent && isPresent$1(c.field) ? [c] : []);
|
|
6880
|
+
const clipboardData = { items: [], dataStrings: [] };
|
|
6881
|
+
const colFields = fieldCols.map(c => c.field);
|
|
6882
|
+
if (options.wholeRow) {
|
|
6883
|
+
this.targetColField = (_a = fieldCols[0]) === null || _a === void 0 ? void 0 : _a.field;
|
|
6884
|
+
this.targetRowIndex = data[0].dataRowIndex;
|
|
6885
|
+
data.forEach(item => {
|
|
6886
|
+
clipboardData.items.push({ dataItem: Object.assign({}, item.dataItem), fields: colFields });
|
|
6887
|
+
clipboardData.dataStrings.push(this.itemToString(item.dataItem, fieldCols));
|
|
6888
|
+
});
|
|
6889
|
+
result = {
|
|
6890
|
+
gridItems: options.operationType === 'cut' ? clipboardData.items.map(item => {
|
|
6891
|
+
item.fields.forEach(field => item.dataItem[field] = null);
|
|
6892
|
+
return item;
|
|
6893
|
+
}) : [...clipboardData.items],
|
|
6894
|
+
dataString: options.copyHeaders ? this.addHeaders(clipboardData.dataStrings.join(`\r\n`), fieldCols) : clipboardData.dataStrings.join(`\n`)
|
|
6895
|
+
};
|
|
6896
|
+
}
|
|
6897
|
+
else {
|
|
6898
|
+
if (options.target === 'selection') {
|
|
6899
|
+
const { tabular, groups } = this.groupSelection();
|
|
6900
|
+
const selectionDirective = this.contextService.grid.selectionDirective;
|
|
6901
|
+
const colIdentifier = selectionDirective.columnKey;
|
|
6902
|
+
if (tabular) {
|
|
6903
|
+
const selectionKeys = groups[0].items.map(item => item.columnKey);
|
|
6904
|
+
const selectedFieldCols = columns.flatMap((c, i) => (c instanceof ColumnComponent && c.field) && selectionKeys.find(k => typeof colIdentifier === 'function' ? k === colIdentifier(c, i) : k === i) ? [c] : []);
|
|
6905
|
+
const selectedColFields = selectedFieldCols.map(c => c.field);
|
|
6906
|
+
this.targetColField = selectedColFields[0];
|
|
6907
|
+
result.dataString = data.flatMap(item => {
|
|
6908
|
+
const itemString = this.itemToString(item.dataItem, selectedFieldCols);
|
|
6909
|
+
const existingItem = isPresent$1(itemString);
|
|
6910
|
+
if (!isPresent$1(this.targetRowIndex) && isPresent$1(itemString)) {
|
|
6911
|
+
this.targetRowIndex = item.dataRowIndex;
|
|
6912
|
+
}
|
|
6913
|
+
if (options.operationType === 'cut') {
|
|
6914
|
+
selectedColFields.forEach(f => item.dataItem[f] = null);
|
|
6915
|
+
}
|
|
6916
|
+
result.gridItems.push({
|
|
6917
|
+
dataItem: item.dataItem,
|
|
6918
|
+
fields: selectedColFields
|
|
6919
|
+
});
|
|
6920
|
+
return existingItem ? [itemString] : [];
|
|
6921
|
+
}).join(`\r\n`);
|
|
6922
|
+
if (options.copyHeaders) {
|
|
6923
|
+
result.dataString = this.addHeaders(result.dataString, selectedFieldCols);
|
|
6924
|
+
}
|
|
6925
|
+
}
|
|
6926
|
+
else { // split per row (uneven rows)
|
|
6927
|
+
const rowIdentifier = selectionDirective.selectionKey;
|
|
6928
|
+
result.dataString = data.flatMap(item => {
|
|
6929
|
+
// determine cols per item
|
|
6930
|
+
const key = rowIdentifier ?
|
|
6931
|
+
typeof rowIdentifier === 'string' ? item.dataItem[rowIdentifier] : rowIdentifier({ index: item.dataRowIndex, dataItem: item.dataItem }) :
|
|
6932
|
+
item.dataRowIndex;
|
|
6933
|
+
const selectionKeys = groups.find(gr => gr.value === key).items.map(item => item.columnKey);
|
|
6934
|
+
const selectedFieldCols = columns.flatMap((c, i) => (c instanceof ColumnComponent && c.field) && selectionKeys.find(k => typeof colIdentifier === 'function' ? k === colIdentifier(c, i) : k === i) ? [c] : []);
|
|
6935
|
+
const selectedColFields = selectedFieldCols.map(c => c.field);
|
|
6936
|
+
if (!this.targetColField) {
|
|
6937
|
+
this.targetColField = selectedColFields[0];
|
|
6938
|
+
}
|
|
6939
|
+
const itemString = this.itemToString(item.dataItem, selectedFieldCols);
|
|
6940
|
+
const existingItem = isPresent$1(itemString);
|
|
6941
|
+
if (!isPresent$1(this.targetRowIndex) && existingItem) {
|
|
6942
|
+
this.targetRowIndex = item.dataRowIndex;
|
|
6943
|
+
}
|
|
6944
|
+
if (existingItem) {
|
|
6945
|
+
if (options.operationType === 'cut') {
|
|
6946
|
+
selectedColFields.forEach(f => item.dataItem[f] = null);
|
|
6947
|
+
}
|
|
6948
|
+
result.gridItems.push({
|
|
6949
|
+
dataItem: item.dataItem,
|
|
6950
|
+
fields: selectedColFields
|
|
6951
|
+
});
|
|
6952
|
+
}
|
|
6953
|
+
return existingItem ? options.copyHeaders ? [this.addHeaders(itemString, selectedFieldCols)] : [itemString] : [];
|
|
6954
|
+
}).join(`\r\n`);
|
|
6955
|
+
}
|
|
6956
|
+
}
|
|
6957
|
+
else {
|
|
6958
|
+
const item = data[0];
|
|
6959
|
+
const col = columns[item.colIndex];
|
|
6960
|
+
const colField = col.field;
|
|
6961
|
+
const title = col.title;
|
|
6962
|
+
const copiedData = item.dataItem[colField];
|
|
6963
|
+
this.targetRowIndex = item.dataRowIndex;
|
|
6964
|
+
this.targetColField = colField;
|
|
6965
|
+
if (options.operationType === 'cut' && colField) {
|
|
6966
|
+
item.dataItem[colField] = null;
|
|
6967
|
+
}
|
|
6968
|
+
result = {
|
|
6969
|
+
gridItems: [{
|
|
6970
|
+
dataItem: item.dataItem,
|
|
6971
|
+
fields: colField ? [colField] : []
|
|
6972
|
+
}],
|
|
6973
|
+
dataString: options.copyHeaders ? [title || colField, copiedData].join(`\r\n`) : colField ? copiedData : ``
|
|
6974
|
+
};
|
|
6975
|
+
}
|
|
6976
|
+
}
|
|
6977
|
+
return result;
|
|
6978
|
+
}
|
|
6979
|
+
getGridData(data, columns, targetType, targetRowIndex, options) {
|
|
6980
|
+
var _a;
|
|
6981
|
+
const separator = data.includes(`\r\n`) ? `\r\n` : data.includes(`\n`) ? `\n` : null;
|
|
6982
|
+
const dataRows = separator ? data.split(separator) : [data];
|
|
6983
|
+
this.targetRowIndex = targetRowIndex;
|
|
6984
|
+
if (targetType === 'activeCell') {
|
|
6985
|
+
if (options.wholeRow) {
|
|
6986
|
+
this.targetColField = (_a = columns.find(c => c instanceof ColumnComponent && c.field)) === null || _a === void 0 ? void 0 : _a.field;
|
|
6987
|
+
}
|
|
6988
|
+
else {
|
|
6989
|
+
const activeCellIndex = this.contextService.grid.activeCell.colIndex;
|
|
6990
|
+
for (let i = 0; i < columns.length; i++) {
|
|
6991
|
+
const col = columns[i];
|
|
6992
|
+
if (col instanceof ColumnComponent && col.field && i >= activeCellIndex) {
|
|
6993
|
+
this.targetColField = col.field;
|
|
6994
|
+
break;
|
|
6995
|
+
}
|
|
6996
|
+
}
|
|
6997
|
+
}
|
|
6998
|
+
}
|
|
6999
|
+
else {
|
|
7000
|
+
if (options.wholeRow || !options.isCellSelection) {
|
|
7001
|
+
this.targetColField = (columns.filter(c => c instanceof ColumnComponent && c.field))[0]['field'];
|
|
7002
|
+
}
|
|
7003
|
+
else {
|
|
7004
|
+
const { groups } = this.groupSelection();
|
|
7005
|
+
const selectionDirective = this.contextService.grid.selectionDirective;
|
|
7006
|
+
const colIdentifier = selectionDirective.columnKey;
|
|
7007
|
+
const visibleCols = columns.filter(c => c.isVisible);
|
|
7008
|
+
const selectionKeys = groups[0].items.map(item => item.columnKey);
|
|
7009
|
+
const selectedFieldCols = visibleCols.flatMap((c, i) => (c instanceof ColumnComponent && c.field) && selectionKeys.find(k => typeof colIdentifier === 'function' ? k === colIdentifier(c, i) : k === i) ? [c] : []);
|
|
7010
|
+
const selectedColFields = selectedFieldCols.map(c => c.field);
|
|
7011
|
+
this.targetColField = selectedColFields[0];
|
|
7012
|
+
}
|
|
7013
|
+
}
|
|
7014
|
+
const items = dataRows.map(rowString => {
|
|
7015
|
+
const cells = rowString.includes(`\t`) ? rowString.split(`\t`) : [rowString];
|
|
7016
|
+
const colFields = columns.flatMap(c => (c instanceof ColumnComponent) && c.field ? [c.field] : []);
|
|
7017
|
+
const targetColFieldIndex = colFields.indexOf(this.targetColField);
|
|
7018
|
+
const affectedFields = colFields.slice(targetColFieldIndex, targetColFieldIndex + cells.length);
|
|
7019
|
+
const item = {};
|
|
7020
|
+
colFields.slice(targetColFieldIndex, targetColFieldIndex + cells.length).forEach((colField, index) => item[colField] = cells[index]);
|
|
7021
|
+
return {
|
|
7022
|
+
dataItem: item,
|
|
7023
|
+
fields: affectedFields
|
|
7024
|
+
};
|
|
7025
|
+
});
|
|
7026
|
+
return items;
|
|
7027
|
+
}
|
|
7028
|
+
groupSelection() {
|
|
7029
|
+
const selection = this.contextService.grid.selection;
|
|
7030
|
+
const groups = groupBy(selection, [{ field: 'itemKey' }])
|
|
7031
|
+
.map(gr => {
|
|
7032
|
+
gr.items.sort((a, b) => a.columnKey - b.columnKey);
|
|
7033
|
+
return gr;
|
|
7034
|
+
});
|
|
7035
|
+
for (let i = 1; i < groups.length; i++) {
|
|
7036
|
+
if (!this.areEqual(groups[i].items, groups[i - 1].items)) {
|
|
7037
|
+
return {
|
|
7038
|
+
tabular: false,
|
|
7039
|
+
groups
|
|
7040
|
+
};
|
|
7041
|
+
}
|
|
7042
|
+
}
|
|
7043
|
+
return {
|
|
7044
|
+
tabular: true,
|
|
7045
|
+
groups
|
|
7046
|
+
};
|
|
7047
|
+
}
|
|
7048
|
+
areEqual(arr1, arr2) {
|
|
7049
|
+
if (arr1.length !== arr2.length) {
|
|
7050
|
+
return false;
|
|
7051
|
+
}
|
|
7052
|
+
for (let i = 0; i < arr1.length; i++) {
|
|
7053
|
+
if (arr1[i].columnKey !== arr2[i].columnKey) {
|
|
7054
|
+
return false;
|
|
7055
|
+
}
|
|
7056
|
+
}
|
|
7057
|
+
return true;
|
|
7058
|
+
}
|
|
7059
|
+
addHeaders(initialData, cols) {
|
|
7060
|
+
const headersRowData = cols.map(c => c.title || c.field).join(`\t`);
|
|
7061
|
+
return `${headersRowData}\r\n${initialData}`;
|
|
7062
|
+
}
|
|
7063
|
+
}
|
|
7064
|
+
ClipboardService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ClipboardService, deps: [{ token: ContextService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
7065
|
+
ClipboardService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ClipboardService });
|
|
7066
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ClipboardService, decorators: [{
|
|
7067
|
+
type: Injectable
|
|
7068
|
+
}], ctorParameters: function () { return [{ type: ContextService }]; } });
|
|
7069
|
+
|
|
6797
7070
|
/**
|
|
6798
7071
|
* @hidden
|
|
6799
7072
|
*/
|
|
@@ -7776,7 +8049,7 @@ PagerInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ve
|
|
|
7776
8049
|
</kendo-numerictextbox>
|
|
7777
8050
|
{{textFor('pagerOf')}} {{totalPages}}
|
|
7778
8051
|
</span>
|
|
7779
|
-
`, isInline: true, components: [{ type: i3$1.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: PagerInputDirective, selector: "[kendoGridPagerInput]" }, { type: FocusableDirective, selector: "[kendoGridFocusable],\n [kendoGridEditCommand],\n [kendoGridRemoveCommand],\n [kendoGridSaveCommand],\n [kendoGridCancelCommand],\n [kendoGridSelectionCheckbox]\n ", inputs: ["kendoGridFocusable"] }, { type: i1$1.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }] });
|
|
8052
|
+
`, isInline: true, components: [{ type: i3$1.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", "inputFocus", "inputBlur"], exportAs: ["kendoNumericTextBox"] }], directives: [{ type: PagerInputDirective, selector: "[kendoGridPagerInput]" }, { type: FocusableDirective, selector: "[kendoGridFocusable],\n [kendoGridEditCommand],\n [kendoGridRemoveCommand],\n [kendoGridSaveCommand],\n [kendoGridCancelCommand],\n [kendoGridSelectionCheckbox]\n ", inputs: ["kendoGridFocusable"] }, { type: i1$1.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }] });
|
|
7780
8053
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PagerInputComponent, decorators: [{
|
|
7781
8054
|
type: Component,
|
|
7782
8055
|
args: [{
|
|
@@ -7927,7 +8200,6 @@ class PagerComponent {
|
|
|
7927
8200
|
this.total = 0;
|
|
7928
8201
|
this.skip = 1;
|
|
7929
8202
|
this.pageChange = new EventEmitter();
|
|
7930
|
-
this.pagerWrapClass = true;
|
|
7931
8203
|
this.gridPagerClass = true;
|
|
7932
8204
|
this.settings = normalize$1({});
|
|
7933
8205
|
this.subscriptions = new Subscription();
|
|
@@ -8153,7 +8425,7 @@ class PagerComponent {
|
|
|
8153
8425
|
}
|
|
8154
8426
|
}
|
|
8155
8427
|
PagerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PagerComponent, deps: [{ token: PagerContextService }, { token: NavigationService }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.NgZone }, { token: ContextService }, { token: CELL_CONTEXT, optional: true }, { token: FocusRoot }, { token: FocusGroup }], target: i0.ɵɵFactoryTarget.Component });
|
|
8156
|
-
PagerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: PagerComponent, selector: "kendo-pager", inputs: { total: "total", skip: "skip", pageSize: "pageSize", options: "options", size: "size", template: "template" }, outputs: { pageChange: "pageChange" }, host: { listeners: { "focusin": "onFocusIn($event)", "focusout": "onFocusOut()", "keydown.escape": "onEscape()", "keydown.enter": "onEnter($event)", "keydown.arrowleft": "navigateToPreviousPage($event)", "keydown.pageup": "navigateToPreviousPage($event)", "keydown.arrowright": "navigateToNextPage($event)", "keydown.pagedown": "navigateToNextPage($event)", "keydown.home": "navigateToFirstPage($event)", "keydown.end": "navigateToLastPage($event)" }, properties: { "class.k-
|
|
8428
|
+
PagerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: PagerComponent, selector: "kendo-pager", inputs: { total: "total", skip: "skip", pageSize: "pageSize", options: "options", size: "size", template: "template" }, outputs: { pageChange: "pageChange" }, host: { listeners: { "focusin": "onFocusIn($event)", "focusout": "onFocusOut()", "keydown.escape": "onEscape()", "keydown.enter": "onEnter($event)", "keydown.arrowleft": "navigateToPreviousPage($event)", "keydown.pageup": "navigateToPreviousPage($event)", "keydown.arrowright": "navigateToNextPage($event)", "keydown.pagedown": "navigateToNextPage($event)", "keydown.home": "navigateToFirstPage($event)", "keydown.end": "navigateToLastPage($event)" }, properties: { "class.k-grid-pager": "this.gridPagerClass", "class.k-pager-sm": "this.sizeSmallClass", "class.k-pager-md": "this.sizeMediumClass", "class.k-focus": "this.isFocused", "attr.aria-label": "this.pagerAriaLabel" } }, providers: [{
|
|
8157
8429
|
provide: FOCUS_ROOT_ACTIVE,
|
|
8158
8430
|
useValue: true
|
|
8159
8431
|
}, {
|
|
@@ -8291,9 +8563,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
8291
8563
|
type: Input
|
|
8292
8564
|
}], pageChange: [{
|
|
8293
8565
|
type: Output
|
|
8294
|
-
}], pagerWrapClass: [{
|
|
8295
|
-
type: HostBinding,
|
|
8296
|
-
args: ['class.k-pager-wrap']
|
|
8297
8566
|
}], gridPagerClass: [{
|
|
8298
8567
|
type: HostBinding,
|
|
8299
8568
|
args: ['class.k-grid-pager']
|
|
@@ -10231,7 +10500,7 @@ NumericFilterMenuInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion:
|
|
|
10231
10500
|
</kendo-numerictextbox-messages>
|
|
10232
10501
|
</kendo-numerictextbox>
|
|
10233
10502
|
</kendo-grid-filter-menu-input-wrapper>
|
|
10234
|
-
`, isInline: true, components: [{ type: FilterMenuInputWrapperComponent, selector: "kendo-grid-filter-menu-input-wrapper", inputs: ["filterService", "isFirstDropDown", "menuTabbingService", "currentFilter"] }, { type: i3$1.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$1.NumericTextBoxCustomMessagesComponent, selector: "kendo-numerictextbox-messages" }], directives: [{ type: FilterInputDirective, selector: "[kendoFilterInput]", inputs: ["filterDelay", "columnLabel", "value"] }] });
|
|
10503
|
+
`, isInline: true, components: [{ type: FilterMenuInputWrapperComponent, selector: "kendo-grid-filter-menu-input-wrapper", inputs: ["filterService", "isFirstDropDown", "menuTabbingService", "currentFilter"] }, { type: i3$1.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", "inputFocus", "inputBlur"], exportAs: ["kendoNumericTextBox"] }, { type: i3$1.NumericTextBoxCustomMessagesComponent, selector: "kendo-numerictextbox-messages" }], directives: [{ type: FilterInputDirective, selector: "[kendoFilterInput]", inputs: ["filterDelay", "columnLabel", "value"] }] });
|
|
10235
10504
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: NumericFilterMenuInputComponent, decorators: [{
|
|
10236
10505
|
type: Component,
|
|
10237
10506
|
args: [{
|
|
@@ -11361,7 +11630,7 @@ FilterMenuContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12
|
|
|
11361
11630
|
MenuTabbingService
|
|
11362
11631
|
], viewQueries: [{ propertyName: "resetButton", first: true, predicate: ["resetButton"], descendants: true }, { propertyName: "filterButton", first: true, predicate: ["filterButton"], descendants: true }], ngImport: i0, template: `
|
|
11363
11632
|
<form (submit)="submit()" (reset)="reset()"
|
|
11364
|
-
class="k-filter-menu
|
|
11633
|
+
class="k-filter-menu">
|
|
11365
11634
|
<div class="k-filter-menu-container">
|
|
11366
11635
|
<ng-container [ngSwitch]="hasTemplate">
|
|
11367
11636
|
<ng-container *ngSwitchCase="false">
|
|
@@ -11407,7 +11676,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
11407
11676
|
selector: 'kendo-grid-filter-menu-container',
|
|
11408
11677
|
template: `
|
|
11409
11678
|
<form (submit)="submit()" (reset)="reset()"
|
|
11410
|
-
class="k-filter-menu
|
|
11679
|
+
class="k-filter-menu">
|
|
11411
11680
|
<div class="k-filter-menu-container">
|
|
11412
11681
|
<ng-container [ngSwitch]="hasTemplate">
|
|
11413
11682
|
<ng-container *ngSwitchCase="false">
|
|
@@ -11666,14 +11935,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
11666
11935
|
type: Injectable
|
|
11667
11936
|
}], ctorParameters: function () { return [{ type: MenuTabbingService }]; } });
|
|
11668
11937
|
|
|
11669
|
-
/**
|
|
11670
|
-
* @hidden
|
|
11671
|
-
*/
|
|
11672
|
-
const ColumnMenuErrorMessages = {
|
|
11673
|
-
autoSizeColumn: 'The auto size column does not work with enabled virtual columns',
|
|
11674
|
-
autoSizeAllColumns: 'The auto size all columns does not work with enabled virtual columns'
|
|
11675
|
-
};
|
|
11676
|
-
|
|
11677
11938
|
/**
|
|
11678
11939
|
* @hidden
|
|
11679
11940
|
*/
|
|
@@ -11683,7 +11944,7 @@ class ColumnMenuItemBase {
|
|
|
11683
11944
|
}
|
|
11684
11945
|
ngOnInit() {
|
|
11685
11946
|
if (isDevMode() && !this.service) {
|
|
11686
|
-
throw new Error(
|
|
11947
|
+
throw new Error(ColumnMenuErrorMessages.serviceInput);
|
|
11687
11948
|
}
|
|
11688
11949
|
}
|
|
11689
11950
|
/**
|
|
@@ -13292,7 +13553,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
13292
13553
|
}]
|
|
13293
13554
|
}], ctorParameters: function () { return [{ type: ContextService }]; } });
|
|
13294
13555
|
|
|
13295
|
-
const
|
|
13556
|
+
const POPUP_CLASSES = 'k-grid-columnmenu-popup k-column-menu';
|
|
13296
13557
|
let id$2 = 0;
|
|
13297
13558
|
const getId = (gridId) => `${gridId}-column-menu-${id$2++}`;
|
|
13298
13559
|
/**
|
|
@@ -13486,7 +13747,7 @@ class ColumnMenuComponent {
|
|
|
13486
13747
|
this.expandedFilter = this.getExpandedState(this.settings.filter);
|
|
13487
13748
|
this.expandedColumns = this.getExpandedState(this.settings.columnChooser);
|
|
13488
13749
|
this.expandedPosition = this.getExpandedState(this.settings.setColumnPosition);
|
|
13489
|
-
this.popupRef = this.popupService.open(anchor, template, this.popupRef,
|
|
13750
|
+
this.popupRef = this.popupService.open(anchor, template, this.popupRef, POPUP_CLASSES);
|
|
13490
13751
|
// Needed as changes to 'popupRef' and 'popupId' are not reflected
|
|
13491
13752
|
// automatically when the Popup is closed by clicking outside the anchor
|
|
13492
13753
|
const ariaRoot = this.isNavigable ? anchor.closest('.k-table-th') : anchor;
|
|
@@ -13507,7 +13768,8 @@ class ColumnMenuComponent {
|
|
|
13507
13768
|
ariaRoot && this.renderer.setAttribute(ariaRoot, 'aria-expanded', 'true');
|
|
13508
13769
|
}
|
|
13509
13770
|
if (this.settings.view === 'tabbed') {
|
|
13510
|
-
this.renderer.addClass(
|
|
13771
|
+
this.renderer.addClass(popupAriaElement, 'k-column-menu-tabbed');
|
|
13772
|
+
this.renderer.addClass(popupAriaElement, 'k-column-menu');
|
|
13511
13773
|
this.cdr.detectChanges();
|
|
13512
13774
|
(_b = this.tabStrip) === null || _b === void 0 ? void 0 : _b.selectTab(0);
|
|
13513
13775
|
}
|
|
@@ -13633,7 +13895,8 @@ ColumnMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ve
|
|
|
13633
13895
|
</kendo-grid-columnmenu-container>
|
|
13634
13896
|
</ng-template>
|
|
13635
13897
|
<ng-template #tabbedInterfaceTemplate>
|
|
13636
|
-
<kendo-tabstrip #tabstrip
|
|
13898
|
+
<kendo-tabstrip #tabstrip
|
|
13899
|
+
(keydown.escape)="close(true)">
|
|
13637
13900
|
<kendo-tabstrip-tab *ngIf="hasFilter">
|
|
13638
13901
|
<ng-template kendoTabTitle>
|
|
13639
13902
|
<kendo-icon-wrapper
|
|
@@ -13808,7 +14071,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
13808
14071
|
</kendo-grid-columnmenu-container>
|
|
13809
14072
|
</ng-template>
|
|
13810
14073
|
<ng-template #tabbedInterfaceTemplate>
|
|
13811
|
-
<kendo-tabstrip #tabstrip
|
|
14074
|
+
<kendo-tabstrip #tabstrip
|
|
14075
|
+
(keydown.escape)="close(true)">
|
|
13812
14076
|
<kendo-tabstrip-tab *ngIf="hasFilter">
|
|
13813
14077
|
<ng-template kendoTabTitle>
|
|
13814
14078
|
<kendo-icon-wrapper
|
|
@@ -14375,7 +14639,7 @@ NumericFilterCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0
|
|
|
14375
14639
|
</kendo-numerictextbox-messages>
|
|
14376
14640
|
</kendo-numerictextbox>
|
|
14377
14641
|
</kendo-grid-filter-wrapper-cell>
|
|
14378
|
-
`, isInline: true, components: [{ type: FilterCellWrapperComponent, selector: "kendo-grid-filter-wrapper-cell", inputs: ["showOperators"] }, { type: i3$1.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$1.NumericTextBoxCustomMessagesComponent, selector: "kendo-numerictextbox-messages" }], directives: [{ type: FocusableDirective, selector: "[kendoGridFocusable],\n [kendoGridEditCommand],\n [kendoGridRemoveCommand],\n [kendoGridSaveCommand],\n [kendoGridCancelCommand],\n [kendoGridSelectionCheckbox]\n ", inputs: ["kendoGridFocusable"] }, { type: FilterInputDirective, selector: "[kendoFilterInput]", inputs: ["filterDelay", "columnLabel", "value"] }] });
|
|
14642
|
+
`, isInline: true, components: [{ type: FilterCellWrapperComponent, selector: "kendo-grid-filter-wrapper-cell", inputs: ["showOperators"] }, { type: i3$1.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", "inputFocus", "inputBlur"], exportAs: ["kendoNumericTextBox"] }, { type: i3$1.NumericTextBoxCustomMessagesComponent, selector: "kendo-numerictextbox-messages" }], directives: [{ type: FocusableDirective, selector: "[kendoGridFocusable],\n [kendoGridEditCommand],\n [kendoGridRemoveCommand],\n [kendoGridSaveCommand],\n [kendoGridCancelCommand],\n [kendoGridSelectionCheckbox]\n ", inputs: ["kendoGridFocusable"] }, { type: FilterInputDirective, selector: "[kendoFilterInput]", inputs: ["filterDelay", "columnLabel", "value"] }] });
|
|
14379
14643
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: NumericFilterCellComponent, decorators: [{
|
|
14380
14644
|
type: Component,
|
|
14381
14645
|
args: [{
|
|
@@ -16057,12 +16321,14 @@ HeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", versio
|
|
|
16057
16321
|
</ng-container>
|
|
16058
16322
|
|
|
16059
16323
|
<ng-container *ngIf="isCheckboxColumn(column) && !column.headerTemplateRef && $any(column).showSelectAll">
|
|
16060
|
-
<
|
|
16061
|
-
|
|
16062
|
-
|
|
16063
|
-
|
|
16064
|
-
|
|
16065
|
-
|
|
16324
|
+
<span class="k-checkbox-wrap">
|
|
16325
|
+
<input
|
|
16326
|
+
class="k-checkbox k-checkbox-md k-rounded-md"
|
|
16327
|
+
[attr.id]="selectAllCheckboxId()"
|
|
16328
|
+
[attr.aria-label]="selectAllCheckboxLabel"
|
|
16329
|
+
kendoGridSelectAllCheckbox
|
|
16330
|
+
kendoGridFocusable>
|
|
16331
|
+
</span>
|
|
16066
16332
|
</ng-container>
|
|
16067
16333
|
<span kendoGridColumnHandle
|
|
16068
16334
|
kendoDraggable
|
|
@@ -16281,12 +16547,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
16281
16547
|
</ng-container>
|
|
16282
16548
|
|
|
16283
16549
|
<ng-container *ngIf="isCheckboxColumn(column) && !column.headerTemplateRef && $any(column).showSelectAll">
|
|
16284
|
-
<
|
|
16285
|
-
|
|
16286
|
-
|
|
16287
|
-
|
|
16288
|
-
|
|
16289
|
-
|
|
16550
|
+
<span class="k-checkbox-wrap">
|
|
16551
|
+
<input
|
|
16552
|
+
class="k-checkbox k-checkbox-md k-rounded-md"
|
|
16553
|
+
[attr.id]="selectAllCheckboxId()"
|
|
16554
|
+
[attr.aria-label]="selectAllCheckboxLabel"
|
|
16555
|
+
kendoGridSelectAllCheckbox
|
|
16556
|
+
kendoGridFocusable>
|
|
16557
|
+
</span>
|
|
16290
16558
|
</ng-container>
|
|
16291
16559
|
<span kendoGridColumnHandle
|
|
16292
16560
|
kendoDraggable
|
|
@@ -16935,11 +17203,13 @@ CellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
|
|
|
16935
17203
|
</ng-container>
|
|
16936
17204
|
<ng-container *ngIf="isBoundColumn">{{ dataItem | valueOf: column.field: column.format}}</ng-container>
|
|
16937
17205
|
<ng-container *ngIf="isCheckboxColumn && !isNew">
|
|
16938
|
-
<
|
|
16939
|
-
|
|
16940
|
-
|
|
16941
|
-
|
|
16942
|
-
|
|
17206
|
+
<span class="k-checkbox-wrap">
|
|
17207
|
+
<input
|
|
17208
|
+
class="k-checkbox k-checkbox-md k-rounded-md"
|
|
17209
|
+
[kendoGridSelectionCheckbox]="rowIndex"
|
|
17210
|
+
[attr.id]="selectionCheckboxId"
|
|
17211
|
+
[attr.aria-label]="selectionCheckboxLabel" />
|
|
17212
|
+
</span>
|
|
16943
17213
|
</ng-container>
|
|
16944
17214
|
<ng-container *ngIf="isRowReorderColumn && !isNew">
|
|
16945
17215
|
<kendo-icon-wrapper
|
|
@@ -16978,13 +17248,15 @@ CellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
|
|
|
16978
17248
|
kendoGridFocusable
|
|
16979
17249
|
></kendo-datepicker>
|
|
16980
17250
|
|
|
16981
|
-
<
|
|
16982
|
-
|
|
16983
|
-
|
|
16984
|
-
|
|
16985
|
-
|
|
16986
|
-
|
|
16987
|
-
|
|
17251
|
+
<span class="k-checkbox-wrap">
|
|
17252
|
+
<input
|
|
17253
|
+
*ngSwitchCase="'boolean'"
|
|
17254
|
+
type="checkbox"
|
|
17255
|
+
class="k-checkbox k-checkbox-md k-rounded-md"
|
|
17256
|
+
[formControl]="$any(formGroup.get(column.field))"
|
|
17257
|
+
kendoGridFocusable
|
|
17258
|
+
/>
|
|
17259
|
+
</span>
|
|
16988
17260
|
|
|
16989
17261
|
<input
|
|
16990
17262
|
*ngSwitchDefault
|
|
@@ -16996,7 +17268,7 @@ CellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
|
|
|
16996
17268
|
</ng-container>
|
|
16997
17269
|
</ng-container>
|
|
16998
17270
|
</ng-container>
|
|
16999
|
-
`, isInline: true, components: [{ type: i3.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { type: i3$1.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: i4$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", "autoCorrectParts", "autoSwitchParts", "autoSwitchKeys", "enableMouseWheel", "allowCaretMode", "autoFill", "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.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: FocusableDirective, selector: "[kendoGridFocusable],\n [kendoGridEditCommand],\n [kendoGridRemoveCommand],\n [kendoGridSaveCommand],\n [kendoGridCancelCommand],\n [kendoGridSelectionCheckbox]\n ", inputs: ["kendoGridFocusable"] }, { type: SelectionCheckboxDirective, selector: "[kendoGridSelectionCheckbox]", inputs: ["kendoGridSelectionCheckbox"] }, { type: i4$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i4$2.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { type: i4.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { type: i4$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: { "valueOf": FieldAccessorPipe } });
|
|
17271
|
+
`, isInline: true, components: [{ type: i3.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { type: i3$1.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", "inputFocus", "inputBlur"], exportAs: ["kendoNumericTextBox"] }, { type: i4$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", "autoCorrectParts", "autoSwitchParts", "autoSwitchKeys", "enableMouseWheel", "allowCaretMode", "autoFill", "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.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: FocusableDirective, selector: "[kendoGridFocusable],\n [kendoGridEditCommand],\n [kendoGridRemoveCommand],\n [kendoGridSaveCommand],\n [kendoGridCancelCommand],\n [kendoGridSelectionCheckbox]\n ", inputs: ["kendoGridFocusable"] }, { type: SelectionCheckboxDirective, selector: "[kendoGridSelectionCheckbox]", inputs: ["kendoGridSelectionCheckbox"] }, { type: i4$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i4$2.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { type: i4.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { type: i4$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: { "valueOf": FieldAccessorPipe } });
|
|
17000
17272
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: CellComponent, decorators: [{
|
|
17001
17273
|
type: Component,
|
|
17002
17274
|
args: [{
|
|
@@ -17016,11 +17288,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
17016
17288
|
</ng-container>
|
|
17017
17289
|
<ng-container *ngIf="isBoundColumn">{{ dataItem | valueOf: column.field: column.format}}</ng-container>
|
|
17018
17290
|
<ng-container *ngIf="isCheckboxColumn && !isNew">
|
|
17019
|
-
<
|
|
17020
|
-
|
|
17021
|
-
|
|
17022
|
-
|
|
17023
|
-
|
|
17291
|
+
<span class="k-checkbox-wrap">
|
|
17292
|
+
<input
|
|
17293
|
+
class="k-checkbox k-checkbox-md k-rounded-md"
|
|
17294
|
+
[kendoGridSelectionCheckbox]="rowIndex"
|
|
17295
|
+
[attr.id]="selectionCheckboxId"
|
|
17296
|
+
[attr.aria-label]="selectionCheckboxLabel" />
|
|
17297
|
+
</span>
|
|
17024
17298
|
</ng-container>
|
|
17025
17299
|
<ng-container *ngIf="isRowReorderColumn && !isNew">
|
|
17026
17300
|
<kendo-icon-wrapper
|
|
@@ -17059,13 +17333,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
17059
17333
|
kendoGridFocusable
|
|
17060
17334
|
></kendo-datepicker>
|
|
17061
17335
|
|
|
17062
|
-
<
|
|
17063
|
-
|
|
17064
|
-
|
|
17065
|
-
|
|
17066
|
-
|
|
17067
|
-
|
|
17068
|
-
|
|
17336
|
+
<span class="k-checkbox-wrap">
|
|
17337
|
+
<input
|
|
17338
|
+
*ngSwitchCase="'boolean'"
|
|
17339
|
+
type="checkbox"
|
|
17340
|
+
class="k-checkbox k-checkbox-md k-rounded-md"
|
|
17341
|
+
[formControl]="$any(formGroup.get(column.field))"
|
|
17342
|
+
kendoGridFocusable
|
|
17343
|
+
/>
|
|
17344
|
+
</span>
|
|
17069
17345
|
|
|
17070
17346
|
<input
|
|
17071
17347
|
*ngSwitchDefault
|
|
@@ -17827,7 +18103,7 @@ TableBodyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ver
|
|
|
17827
18103
|
[attr.data-kendo-grid-item-index]="$any(item).index"
|
|
17828
18104
|
[class.k-selected]="isSelectable() && isRowSelected(item)">
|
|
17829
18105
|
<ng-container *ngIf="!skipGroupDecoration">
|
|
17830
|
-
<td class="k-group-cell" *ngFor="let g of groups" role="presentation"></td>
|
|
18106
|
+
<td class="k-group-cell k-table-td" *ngFor="let g of groups" role="presentation"></td>
|
|
17831
18107
|
</ng-container>
|
|
17832
18108
|
<td class="k-hierarchy-cell k-table-td"
|
|
17833
18109
|
*ngIf="detailTemplate?.templateRef"
|
|
@@ -17929,7 +18205,7 @@ TableBodyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ver
|
|
|
17929
18205
|
[logicalCellsCount]="columns.length"
|
|
17930
18206
|
[logicalSlaveCellsCount]="unlockedColumnsCount(item)">
|
|
17931
18207
|
<ng-container *ngIf="!skipGroupDecoration">
|
|
17932
|
-
<td class="k-group-cell" *ngFor="let g of groups"></td>
|
|
18208
|
+
<td class="k-group-cell k-table-td" *ngFor="let g of groups"></td>
|
|
17933
18209
|
</ng-container>
|
|
17934
18210
|
<td class="k-hierarchy-cell k-table-td"
|
|
17935
18211
|
*ngIf="detailTemplate?.templateRef"
|
|
@@ -18057,7 +18333,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
18057
18333
|
[attr.data-kendo-grid-item-index]="$any(item).index"
|
|
18058
18334
|
[class.k-selected]="isSelectable() && isRowSelected(item)">
|
|
18059
18335
|
<ng-container *ngIf="!skipGroupDecoration">
|
|
18060
|
-
<td class="k-group-cell" *ngFor="let g of groups" role="presentation"></td>
|
|
18336
|
+
<td class="k-group-cell k-table-td" *ngFor="let g of groups" role="presentation"></td>
|
|
18061
18337
|
</ng-container>
|
|
18062
18338
|
<td class="k-hierarchy-cell k-table-td"
|
|
18063
18339
|
*ngIf="detailTemplate?.templateRef"
|
|
@@ -18159,7 +18435,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
18159
18435
|
[logicalCellsCount]="columns.length"
|
|
18160
18436
|
[logicalSlaveCellsCount]="unlockedColumnsCount(item)">
|
|
18161
18437
|
<ng-container *ngIf="!skipGroupDecoration">
|
|
18162
|
-
<td class="k-group-cell" *ngFor="let g of groups"></td>
|
|
18438
|
+
<td class="k-group-cell k-table-td" *ngFor="let g of groups"></td>
|
|
18163
18439
|
</ng-container>
|
|
18164
18440
|
<td class="k-hierarchy-cell k-table-td"
|
|
18165
18441
|
*ngIf="detailTemplate?.templateRef"
|
|
@@ -19778,11 +20054,7 @@ const createControl = (source) => (acc, key) => {
|
|
|
19778
20054
|
const validateColumnsField = (columns) => expandColumns(columns.toArray())
|
|
19779
20055
|
.filter(isColumnComponent)
|
|
19780
20056
|
.filter(({ field }) => !isValidFieldName(field))
|
|
19781
|
-
.forEach(({ field }) => console.warn(
|
|
19782
|
-
Grid column field name '${field}' does not look like a valid JavaScript identifier.
|
|
19783
|
-
Identifiers can contain only alphanumeric characters (including "$" or "_"), and may not start with a digit.
|
|
19784
|
-
Please use only valid identifier names to ensure error-free operation.
|
|
19785
|
-
`));
|
|
20057
|
+
.forEach(({ field }) => console.warn(ColumnConfigurationErrorMessages.fieldName(field)));
|
|
19786
20058
|
const handleExpandCollapseGroupsService = (service, expandEmitter, collapseEmitter, map) => (service.changes.pipe(filter(({ group }) => isPresent(group)))
|
|
19787
20059
|
.subscribe((x) => x.expand ? expandEmitter.emit(map(x)) : collapseEmitter.emit(map(x))));
|
|
19788
20060
|
const handleExpandCollapseDetailsService = (service, expandEmitter, collapseEmitter, map) => (service.changes.pipe(filter(({ dataItem }) => isPresent(dataItem)))
|
|
@@ -20298,7 +20570,7 @@ class GridComponent {
|
|
|
20298
20570
|
*/
|
|
20299
20571
|
set rowClass(fn) {
|
|
20300
20572
|
if (isDevMode() && typeof fn !== 'function') {
|
|
20301
|
-
throw new Error(
|
|
20573
|
+
throw new Error(GridConfigurationErrorMessages.functionType('rowClass', fn));
|
|
20302
20574
|
}
|
|
20303
20575
|
this._rowClass = fn;
|
|
20304
20576
|
}
|
|
@@ -20311,7 +20583,7 @@ class GridComponent {
|
|
|
20311
20583
|
*/
|
|
20312
20584
|
set rowSticky(fn) {
|
|
20313
20585
|
if (isDevMode() && isPresent(fn) && typeof fn !== 'function') {
|
|
20314
|
-
throw new Error(
|
|
20586
|
+
throw new Error(GridConfigurationErrorMessages.functionType('rowSticky', fn));
|
|
20315
20587
|
}
|
|
20316
20588
|
if (isPresent(fn)) {
|
|
20317
20589
|
this._rowSticky = fn;
|
|
@@ -20327,7 +20599,7 @@ class GridComponent {
|
|
|
20327
20599
|
*/
|
|
20328
20600
|
set rowSelected(fn) {
|
|
20329
20601
|
if (isDevMode() && typeof fn !== 'function') {
|
|
20330
|
-
throw new Error(
|
|
20602
|
+
throw new Error(GridConfigurationErrorMessages.functionType('rowSelected', fn));
|
|
20331
20603
|
}
|
|
20332
20604
|
this._rowSelected = fn;
|
|
20333
20605
|
}
|
|
@@ -20344,7 +20616,7 @@ class GridComponent {
|
|
|
20344
20616
|
*/
|
|
20345
20617
|
set cellSelected(fn) {
|
|
20346
20618
|
if (isDevMode() && typeof fn !== 'function') {
|
|
20347
|
-
throw new Error(
|
|
20619
|
+
throw new Error(GridConfigurationErrorMessages.functionType('cellSelected', fn));
|
|
20348
20620
|
}
|
|
20349
20621
|
this._cellSelected = fn;
|
|
20350
20622
|
}
|
|
@@ -20363,6 +20635,16 @@ class GridComponent {
|
|
|
20363
20635
|
get activeRow() {
|
|
20364
20636
|
return this.navigationService.activeRow;
|
|
20365
20637
|
}
|
|
20638
|
+
/**
|
|
20639
|
+
* Returns the current Grid selection.
|
|
20640
|
+
*
|
|
20641
|
+
* @hidden
|
|
20642
|
+
*/
|
|
20643
|
+
get selection() {
|
|
20644
|
+
return (this.selectable || this.selectionDirective) ?
|
|
20645
|
+
this.defaultSelection ? this.defaultSelection.stateToArray() : this.selectionDirective.stateToArray() :
|
|
20646
|
+
[];
|
|
20647
|
+
}
|
|
20366
20648
|
/**
|
|
20367
20649
|
* Specifies if the loading indicator of the Grid will be displayed ([see example]({% slug binding_grid %})).
|
|
20368
20650
|
*
|
|
@@ -21280,7 +21562,7 @@ class GridComponent {
|
|
|
21280
21562
|
instance = column;
|
|
21281
21563
|
}
|
|
21282
21564
|
if (!instance && isDevMode()) {
|
|
21283
|
-
throw new Error(
|
|
21565
|
+
throw new Error(ColumnConfigurationErrorMessages.invalidColumn(column));
|
|
21284
21566
|
}
|
|
21285
21567
|
return instance;
|
|
21286
21568
|
}
|
|
@@ -21289,43 +21571,43 @@ class GridComponent {
|
|
|
21289
21571
|
const locked = this.lockedLeafColumns.length || (this.columnMenu && this.columnMenu.lock);
|
|
21290
21572
|
const stickyColumns = this.stickyColumns.length || (this.columnMenu && this.columnMenu.stick);
|
|
21291
21573
|
if (locked && this.detailTemplate) {
|
|
21292
|
-
throw new Error('
|
|
21574
|
+
throw new Error(GridConfigurationErrorMessages.incompatibleFeatures('detail template', 'locked columns'));
|
|
21293
21575
|
}
|
|
21294
21576
|
if (stickyColumns && this.detailTemplate) {
|
|
21295
|
-
throw new Error('
|
|
21577
|
+
throw new Error(GridConfigurationErrorMessages.incompatibleFeatures('detail template', 'sticky columns'));
|
|
21296
21578
|
}
|
|
21297
21579
|
if (this.lockedLeafColumns.length && !this.nonLockedLeafColumns.length) {
|
|
21298
|
-
throw new Error(
|
|
21580
|
+
throw new Error(GridConfigurationErrorMessages.nonLockedColumnPresent);
|
|
21299
21581
|
}
|
|
21300
21582
|
if ((locked || this.virtualColumns) && expandColumns(this.columnList.toArray()).filter(column => !column.width && !isColumnGroupComponent(column)).length) {
|
|
21301
|
-
throw new Error((locked ? 'Locked' : 'Virtual')
|
|
21583
|
+
throw new Error(ColumnConfigurationErrorMessages.requiredWidth(locked ? 'Locked' : 'Virtual'));
|
|
21302
21584
|
}
|
|
21303
21585
|
if (locked && !this.isScrollable) {
|
|
21304
|
-
throw new Error('Locked
|
|
21586
|
+
throw new Error(ColumnConfigurationErrorMessages.requiredScroll('Locked'));
|
|
21587
|
+
}
|
|
21588
|
+
if (stickyColumns && !this.isScrollable) {
|
|
21589
|
+
throw new Error(ColumnConfigurationErrorMessages.requiredScroll('Sticky'));
|
|
21305
21590
|
}
|
|
21306
21591
|
if (this.columnList.filter(isColumnGroupComponent).filter((x) => !x.hasChildren).length) {
|
|
21307
|
-
throw new Error(
|
|
21592
|
+
throw new Error(ColumnConfigurationErrorMessages.groupColumnContent);
|
|
21308
21593
|
}
|
|
21309
21594
|
if (this.columnList.filter(x => x.locked && x.parent && !x.parent.isLocked).length) {
|
|
21310
|
-
throw new Error(
|
|
21595
|
+
throw new Error(ColumnConfigurationErrorMessages.lockedParent);
|
|
21311
21596
|
}
|
|
21312
21597
|
if ((this.rowHeight || this.detailRowHeight) && !this.isVirtual) {
|
|
21313
|
-
throw new Error(
|
|
21598
|
+
throw new Error(GridConfigurationErrorMessages.rowHeightVirtual);
|
|
21314
21599
|
}
|
|
21315
21600
|
if (stickyColumns && expandColumns(this.columnList.toArray()).filter(column => !column.width && !isColumnGroupComponent(column)).length) {
|
|
21316
|
-
throw new Error('Sticky
|
|
21317
|
-
}
|
|
21318
|
-
if (stickyColumns && !this.isScrollable) {
|
|
21319
|
-
throw new Error('Sticky columns are only supported when scrolling is enabled.');
|
|
21601
|
+
throw new Error(ColumnConfigurationErrorMessages.requiredWidth('Sticky'));
|
|
21320
21602
|
}
|
|
21321
21603
|
if (stickyColumns && this.virtualColumns) {
|
|
21322
|
-
throw new Error('
|
|
21604
|
+
throw new Error(GridConfigurationErrorMessages.incompatibleFeatures('sticky columns', 'column virtualization'));
|
|
21323
21605
|
}
|
|
21324
21606
|
if (this.rowSticky && this.scrollable === 'virtual') {
|
|
21325
|
-
throw new Error('
|
|
21607
|
+
throw new Error(GridConfigurationErrorMessages.incompatibleFeatures('sticky rows', 'row virtualization (scrollable="virtual")'));
|
|
21326
21608
|
}
|
|
21327
21609
|
if (this.rowSticky && this.groupable) {
|
|
21328
|
-
throw new Error('
|
|
21610
|
+
throw new Error(GridConfigurationErrorMessages.incompatibleFeatures('sticky rows', 'grouping'));
|
|
21329
21611
|
}
|
|
21330
21612
|
validateColumnsField(this.columnList);
|
|
21331
21613
|
}
|
|
@@ -21524,7 +21806,7 @@ class GridComponent {
|
|
|
21524
21806
|
}
|
|
21525
21807
|
assertNavigable() {
|
|
21526
21808
|
if (isDevMode() && !this.navigationService.enabled) {
|
|
21527
|
-
throw new Error(
|
|
21809
|
+
throw new Error(GridConfigurationErrorMessages.focusNavigable);
|
|
21528
21810
|
}
|
|
21529
21811
|
}
|
|
21530
21812
|
navigationMetadata() {
|
|
@@ -21596,9 +21878,7 @@ class GridComponent {
|
|
|
21596
21878
|
toggleDetailRowLegacy(index, expand) {
|
|
21597
21879
|
const hasCallback = typeof this.isDetailExpanded === 'function';
|
|
21598
21880
|
if (isDevMode() && hasCallback) {
|
|
21599
|
-
throw new Error('
|
|
21600
|
-
'kendoGridDetailsExpandBy directive or the isDetailExpanded callback. ' +
|
|
21601
|
-
'These methods are provided only for backwards compatibility with legacy versions.');
|
|
21881
|
+
throw new Error(GridConfigurationErrorMessages.expandCollapseMethods('expandRow', 'collapseRow', 'kendoGridDetailsExpandBy', 'isDetailExpanded'));
|
|
21602
21882
|
}
|
|
21603
21883
|
if (!isDevMode() && hasCallback) {
|
|
21604
21884
|
return;
|
|
@@ -21610,9 +21890,7 @@ class GridComponent {
|
|
|
21610
21890
|
toggleGroupRowLegacy(index, expand) {
|
|
21611
21891
|
const hasCallback = typeof this.isGroupExpanded === 'function';
|
|
21612
21892
|
if (isDevMode() && hasCallback) {
|
|
21613
|
-
throw new Error('
|
|
21614
|
-
'kendoGridExpandGroupBy directive or the isGroupExpanded callback. ' +
|
|
21615
|
-
'These methods are provided only for backwards compatibility with legacy versions.');
|
|
21893
|
+
throw new Error(GridConfigurationErrorMessages.expandCollapseMethods('expandGroup', 'collapseGroup', 'kendoGridExpandGroupBy', 'isGroupExpanded'));
|
|
21616
21894
|
}
|
|
21617
21895
|
if (!isDevMode() && hasCallback) {
|
|
21618
21896
|
return;
|
|
@@ -21687,7 +21965,8 @@ GridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
|
|
|
21687
21965
|
SortService,
|
|
21688
21966
|
ContextService,
|
|
21689
21967
|
SizingOptionsService,
|
|
21690
|
-
RowReorderService
|
|
21968
|
+
RowReorderService,
|
|
21969
|
+
ClipboardService
|
|
21691
21970
|
], queries: [{ propertyName: "columns", predicate: ColumnBase }, { propertyName: "detailTemplateChildren", predicate: DetailTemplateDirective }, { propertyName: "cellLoadingTemplateChildren", predicate: CellLoadingTemplateDirective }, { propertyName: "loadingTemplateChildren", predicate: LoadingTemplateDirective }, { propertyName: "statusBarTemplateChildren", predicate: StatusBarTemplateDirective }, { 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: ["kendoGrid"], usesOnChanges: true, ngImport: i0, template: `
|
|
21692
21971
|
<ng-container kendoGridLocalizedMessages
|
|
21693
21972
|
i18n-groupPanelEmpty="kendo.grid.groupPanelEmpty|The label visible in the Grid group panel when it is empty"
|
|
@@ -22315,7 +22594,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
22315
22594
|
SortService,
|
|
22316
22595
|
ContextService,
|
|
22317
22596
|
SizingOptionsService,
|
|
22318
|
-
RowReorderService
|
|
22597
|
+
RowReorderService,
|
|
22598
|
+
ClipboardService
|
|
22319
22599
|
],
|
|
22320
22600
|
selector: 'kendo-grid',
|
|
22321
22601
|
template: `
|
|
@@ -23245,11 +23525,12 @@ class DataBindingDirective {
|
|
|
23245
23525
|
}
|
|
23246
23526
|
}
|
|
23247
23527
|
DataBindingDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DataBindingDirective, deps: [{ token: GridComponent }, { token: i0.ChangeDetectorRef }, { token: LocalDataChangesService }, { token: RowReorderService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
23248
|
-
DataBindingDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: DataBindingDirective, selector: "[kendoGridBinding]", inputs: { skip: "skip", sort: "sort", filter: "filter", pageSize: "pageSize", group: "group", data: ["kendoGridBinding", "data"] }, usesOnChanges: true, ngImport: i0 });
|
|
23528
|
+
DataBindingDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: DataBindingDirective, selector: "[kendoGridBinding]", inputs: { skip: "skip", sort: "sort", filter: "filter", pageSize: "pageSize", group: "group", data: ["kendoGridBinding", "data"] }, exportAs: ["kendoGridBinding"], usesOnChanges: true, ngImport: i0 });
|
|
23249
23529
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DataBindingDirective, decorators: [{
|
|
23250
23530
|
type: Directive,
|
|
23251
23531
|
args: [{
|
|
23252
|
-
selector: '[kendoGridBinding]'
|
|
23532
|
+
selector: '[kendoGridBinding]',
|
|
23533
|
+
exportAs: 'kendoGridBinding'
|
|
23253
23534
|
}]
|
|
23254
23535
|
}], ctorParameters: function () { return [{ type: GridComponent }, { type: i0.ChangeDetectorRef }, { type: LocalDataChangesService }, { type: RowReorderService }]; }, propDecorators: { skip: [{
|
|
23255
23536
|
type: Input
|
|
@@ -23627,7 +23908,7 @@ AutoCompleteFilterCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion:
|
|
|
23627
23908
|
[value]="currentFilter?.value">
|
|
23628
23909
|
</kendo-autocomplete>
|
|
23629
23910
|
</kendo-grid-filter-wrapper-cell>
|
|
23630
|
-
`, isInline: true, components: [{ type: FilterCellWrapperComponent, selector: "kendo-grid-filter-wrapper-cell", inputs: ["showOperators"] }, { type: i1$4.AutoCompleteComponent, selector: "kendo-autocomplete", inputs: ["highlightFirst", "showStickyHeader", "focusableId", "data", "value", "valueField", "placeholder", "adaptiveMode", "title", "subtitle", "popupSettings", "listHeight", "loading", "clearButton", "suggest", "disabled", "itemDisabled", "readonly", "tabindex", "tabIndex", "filterable", "virtual", "size", "rounded", "fillMode"], outputs: ["valueChange", "filterChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoAutoComplete"] }], directives: [{ type: FilterInputDirective, selector: "[kendoFilterInput]", inputs: ["filterDelay", "columnLabel", "value"] }] });
|
|
23911
|
+
`, isInline: true, components: [{ type: FilterCellWrapperComponent, selector: "kendo-grid-filter-wrapper-cell", inputs: ["showOperators"] }, { type: i1$4.AutoCompleteComponent, selector: "kendo-autocomplete", inputs: ["highlightFirst", "showStickyHeader", "focusableId", "data", "value", "valueField", "placeholder", "adaptiveMode", "title", "subtitle", "popupSettings", "listHeight", "loading", "clearButton", "suggest", "disabled", "itemDisabled", "readonly", "tabindex", "tabIndex", "filterable", "virtual", "size", "rounded", "fillMode"], outputs: ["valueChange", "filterChange", "open", "opened", "close", "closed", "focus", "blur", "inputFocus", "inputBlur"], exportAs: ["kendoAutoComplete"] }], directives: [{ type: FilterInputDirective, selector: "[kendoFilterInput]", inputs: ["filterDelay", "columnLabel", "value"] }] });
|
|
23631
23912
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AutoCompleteFilterCellComponent, decorators: [{
|
|
23632
23913
|
type: Component,
|
|
23633
23914
|
args: [{
|
|
@@ -25784,8 +26065,7 @@ class LocalEditService {
|
|
|
25784
26065
|
return data;
|
|
25785
26066
|
}
|
|
25786
26067
|
if (isDevMode()) {
|
|
25787
|
-
throw new Error(
|
|
25788
|
-
'Please provide an editService.');
|
|
26068
|
+
throw new Error(GridConfigurationErrorMessages.requiredEditService);
|
|
25789
26069
|
}
|
|
25790
26070
|
return [];
|
|
25791
26071
|
}
|
|
@@ -26292,9 +26572,7 @@ class GroupBindingDirective extends DataBindingDirective {
|
|
|
26292
26572
|
}
|
|
26293
26573
|
ngAfterContentInit() {
|
|
26294
26574
|
if (isDevMode() && this.grid.isGroupExpanded) {
|
|
26295
|
-
throw new Error(
|
|
26296
|
-
'or the `isGroupExpanded` callback is not supported. To use grouping with the `kendoGridGroupBinding` directive, ' +
|
|
26297
|
-
'set the Grid `groupable` property to `true`.');
|
|
26575
|
+
throw new Error(GridConfigurationErrorMessages.groupBindingDirectives);
|
|
26298
26576
|
}
|
|
26299
26577
|
}
|
|
26300
26578
|
groupExpand({ groupIndex }) {
|
|
@@ -26428,6 +26706,178 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
26428
26706
|
}]
|
|
26429
26707
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: ContextService }]; } });
|
|
26430
26708
|
|
|
26709
|
+
/**
|
|
26710
|
+
* The directive that enables the Grid built-in clipboard support. Allows copy, cut, and paste interactions
|
|
26711
|
+
* with the Grid.
|
|
26712
|
+
*/
|
|
26713
|
+
class GridClipboardDirective {
|
|
26714
|
+
constructor(host, clipboardService, renderer, zone) {
|
|
26715
|
+
this.host = host;
|
|
26716
|
+
this.clipboardService = clipboardService;
|
|
26717
|
+
this.renderer = renderer;
|
|
26718
|
+
this.zone = zone;
|
|
26719
|
+
/**
|
|
26720
|
+
* Fires when the user performs `cut`, `copy` or `paste` action within the Grid content area.
|
|
26721
|
+
*/
|
|
26722
|
+
this.clipboard = new EventEmitter();
|
|
26723
|
+
this._target = 'selection';
|
|
26724
|
+
this._clipboardSettings = {
|
|
26725
|
+
wholeRow: false,
|
|
26726
|
+
copyHeaders: false,
|
|
26727
|
+
copy: true,
|
|
26728
|
+
cut: true,
|
|
26729
|
+
paste: true
|
|
26730
|
+
};
|
|
26731
|
+
this.subs = new Subscription();
|
|
26732
|
+
this.onClipboard = (operationType, args) => {
|
|
26733
|
+
var _a, _b;
|
|
26734
|
+
if (!this.clipboardSettings[operationType] || !this.inGrid(args)) {
|
|
26735
|
+
return;
|
|
26736
|
+
}
|
|
26737
|
+
const gridData = Array.isArray(this.host.data) ? this.host.data : this.host.data.data;
|
|
26738
|
+
const gridDataItems = gridData.flatMap(recursiveFlatMap);
|
|
26739
|
+
const selection = this.host.selection;
|
|
26740
|
+
const selectionDirective = this.host.selectionDirective;
|
|
26741
|
+
const targetType = this.clipboardTarget;
|
|
26742
|
+
const isCellSelection = (((_a = this.host.selectable) === null || _a === void 0 ? void 0 : _a.cell) || selectionDirective.isCellSelectionMode);
|
|
26743
|
+
let clipboardData = [];
|
|
26744
|
+
switch (targetType) {
|
|
26745
|
+
case 'activeCell':
|
|
26746
|
+
{
|
|
26747
|
+
const targetCell = Object.assign({}, this.host.activeCell);
|
|
26748
|
+
clipboardData = targetCell && [{ dataItem: targetCell.dataItem, dataRowIndex: targetCell.dataRowIndex, colIndex: targetCell.colIndex }];
|
|
26749
|
+
}
|
|
26750
|
+
break;
|
|
26751
|
+
case 'selection':
|
|
26752
|
+
{
|
|
26753
|
+
const identifier = selectionDirective.selectionKey;
|
|
26754
|
+
clipboardData = gridDataItems.flatMap((item, index) => {
|
|
26755
|
+
if (identifier) {
|
|
26756
|
+
const key = typeof identifier === 'string' ? item[identifier] : identifier({ index: index + this.host.skip, dataItem: item });
|
|
26757
|
+
return isCellSelection ?
|
|
26758
|
+
selection.some(s => s.itemKey === key) ? [{ dataItem: item, dataRowIndex: index + this.host.skip }] : [] :
|
|
26759
|
+
selection.indexOf(key) > -1 ? [{ dataItem: item, dataRowIndex: index + this.host.skip }] : [];
|
|
26760
|
+
}
|
|
26761
|
+
return isCellSelection ?
|
|
26762
|
+
selection.some(s => s.itemKey === index + this.host.skip) ? [{ dataItem: item, dataRowIndex: index + this.host.skip }] : [] :
|
|
26763
|
+
selection.indexOf(index + this.host.skip) > -1 ? [{ dataItem: item, dataRowIndex: index + this.host.skip }] : [];
|
|
26764
|
+
});
|
|
26765
|
+
}
|
|
26766
|
+
break;
|
|
26767
|
+
}
|
|
26768
|
+
const isPaste = operationType === 'paste';
|
|
26769
|
+
const pastedData = args.clipboardData.getData('text').trim();
|
|
26770
|
+
const visibleCols = this.host.columns.toArray().filter(c => c.isVisible);
|
|
26771
|
+
const data = isPaste ?
|
|
26772
|
+
{
|
|
26773
|
+
dataString: pastedData,
|
|
26774
|
+
gridItems: this.clipboardService.getGridData(pastedData, visibleCols, this.clipboardTarget, (_b = clipboardData[0]) === null || _b === void 0 ? void 0 : _b.dataRowIndex, {
|
|
26775
|
+
wholeRow: this.clipboardSettings.wholeRow,
|
|
26776
|
+
isCellSelection
|
|
26777
|
+
})
|
|
26778
|
+
} :
|
|
26779
|
+
this.clipboardService.createClipboardData(clipboardData || [], visibleCols, {
|
|
26780
|
+
wholeRow: this.clipboardSettings.wholeRow || (this.clipboardTarget === 'selection' && !isCellSelection),
|
|
26781
|
+
target: this.clipboardTarget,
|
|
26782
|
+
copyHeaders: this.clipboardSettings.copyHeaders,
|
|
26783
|
+
operationType
|
|
26784
|
+
});
|
|
26785
|
+
!isPaste && navigator.clipboard.writeText(data.dataString);
|
|
26786
|
+
if (hasObservers(this.clipboard)) {
|
|
26787
|
+
this.zone.run(() => {
|
|
26788
|
+
var _a;
|
|
26789
|
+
this.clipboard.emit({
|
|
26790
|
+
type: operationType,
|
|
26791
|
+
originalEvent: args,
|
|
26792
|
+
clipboardData: data.dataString,
|
|
26793
|
+
gridData: data.gridItems,
|
|
26794
|
+
target: {
|
|
26795
|
+
dataRowIndex: this.clipboardService.targetRowIndex,
|
|
26796
|
+
colField: this.clipboardService.targetColField,
|
|
26797
|
+
dataItem: (_a = clipboardData.find(item => item.dataRowIndex === this.clipboardService.targetRowIndex)) === null || _a === void 0 ? void 0 : _a.dataItem
|
|
26798
|
+
}
|
|
26799
|
+
});
|
|
26800
|
+
});
|
|
26801
|
+
}
|
|
26802
|
+
this.clipboardService.targetColField = this.clipboardService.targetRowIndex = null;
|
|
26803
|
+
};
|
|
26804
|
+
this.inGrid = (args) => {
|
|
26805
|
+
const target = document.activeElement.matches('.k-table-td') ? document.activeElement : args.target;
|
|
26806
|
+
const inContentArea = closest(target, node => { var _a; return (_a = node.parentElement) === null || _a === void 0 ? void 0 : _a.classList.contains('k-grid-container'); });
|
|
26807
|
+
const inHost = contains$2(this.host.wrapper.nativeElement, target);
|
|
26808
|
+
return target && inHost && inContentArea;
|
|
26809
|
+
};
|
|
26810
|
+
}
|
|
26811
|
+
/**
|
|
26812
|
+
* Determines the target of the clipboard operation ([see example]({% slug clipboard_grid %}#toc-clipboard-target)). The possible options are:
|
|
26813
|
+
* - `activeCell`
|
|
26814
|
+
* - `selection`
|
|
26815
|
+
*
|
|
26816
|
+
* @default 'selection'
|
|
26817
|
+
*/
|
|
26818
|
+
set clipboardTarget(value) {
|
|
26819
|
+
if (isDevMode()) {
|
|
26820
|
+
this.zone.onStable.pipe(take(1)).subscribe(() => {
|
|
26821
|
+
if (value === 'activeCell' && !(this.host.navigable.length)) {
|
|
26822
|
+
console.warn(ClipboardErrorMessages.clipboardTarget.activeCellNavigable);
|
|
26823
|
+
}
|
|
26824
|
+
else if (value === 'selection' && !(this.host.selectable || this.host.selectionDirective)) {
|
|
26825
|
+
console.warn(ClipboardErrorMessages.selectionSelectable);
|
|
26826
|
+
}
|
|
26827
|
+
});
|
|
26828
|
+
}
|
|
26829
|
+
this._target = value;
|
|
26830
|
+
}
|
|
26831
|
+
get clipboardTarget() {
|
|
26832
|
+
return this._target;
|
|
26833
|
+
}
|
|
26834
|
+
/**
|
|
26835
|
+
* The `GridClipboardDirective` settings.
|
|
26836
|
+
*
|
|
26837
|
+
* @default { wholeRow: false, copyHeaders: false copy: true, cut: true, paste: true }
|
|
26838
|
+
*/
|
|
26839
|
+
set clipboardSettings(value) {
|
|
26840
|
+
this._clipboardSettings = Object.assign({}, this._clipboardSettings, value);
|
|
26841
|
+
}
|
|
26842
|
+
get clipboardSettings() {
|
|
26843
|
+
return this._clipboardSettings;
|
|
26844
|
+
}
|
|
26845
|
+
ngAfterViewInit() {
|
|
26846
|
+
if (!isDocumentAvailable()) {
|
|
26847
|
+
return;
|
|
26848
|
+
}
|
|
26849
|
+
if (this.clipboardTarget === 'selection' && !(this.host.selectable || this.host.selectionDirective)) {
|
|
26850
|
+
console.warn(ClipboardErrorMessages.selectionSelectable);
|
|
26851
|
+
}
|
|
26852
|
+
// needed due to the following issue in Chrome
|
|
26853
|
+
// https://bugs.chromium.org/p/chromium/issues/detail?id=1156117&q=focus%20programmatically%20paste&can=2
|
|
26854
|
+
this.zone.runOutsideAngular(() => {
|
|
26855
|
+
this.subs.add(this.renderer.listen(document, 'copy', (args) => this.onClipboard('copy', args)));
|
|
26856
|
+
this.subs.add(this.renderer.listen(document, 'cut', (args) => this.onClipboard('cut', args)));
|
|
26857
|
+
this.subs.add(this.renderer.listen(document, 'paste', (args) => this.onClipboard('paste', args)));
|
|
26858
|
+
});
|
|
26859
|
+
}
|
|
26860
|
+
ngOnDestroy() {
|
|
26861
|
+
this.subs.unsubscribe();
|
|
26862
|
+
}
|
|
26863
|
+
}
|
|
26864
|
+
GridClipboardDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GridClipboardDirective, deps: [{ token: GridComponent }, { token: ClipboardService }, { token: i0.Renderer2 }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
|
|
26865
|
+
GridClipboardDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: GridClipboardDirective, selector: "[kendoGridClipboard]", inputs: { clipboardTarget: "clipboardTarget", clipboardSettings: "clipboardSettings" }, outputs: { clipboard: "clipboard" }, providers: [ClipboardService], exportAs: ["kendoGridClipboard"], ngImport: i0 });
|
|
26866
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GridClipboardDirective, decorators: [{
|
|
26867
|
+
type: Directive,
|
|
26868
|
+
args: [{
|
|
26869
|
+
selector: '[kendoGridClipboard]',
|
|
26870
|
+
exportAs: 'kendoGridClipboard',
|
|
26871
|
+
providers: [ClipboardService]
|
|
26872
|
+
}]
|
|
26873
|
+
}], ctorParameters: function () { return [{ type: GridComponent }, { type: ClipboardService }, { type: i0.Renderer2 }, { type: i0.NgZone }]; }, propDecorators: { clipboardTarget: [{
|
|
26874
|
+
type: Input
|
|
26875
|
+
}], clipboardSettings: [{
|
|
26876
|
+
type: Input
|
|
26877
|
+
}], clipboard: [{
|
|
26878
|
+
type: Output
|
|
26879
|
+
}] } });
|
|
26880
|
+
|
|
26431
26881
|
const exportedModules$1 = [
|
|
26432
26882
|
GridComponent,
|
|
26433
26883
|
ToolbarTemplateDirective,
|
|
@@ -26452,7 +26902,8 @@ const exportedModules$1 = [
|
|
|
26452
26902
|
...PagerModule.exports(),
|
|
26453
26903
|
...RowFilterModule.exports(),
|
|
26454
26904
|
...FilterMenuModule.exports(),
|
|
26455
|
-
...ColumnMenuModule.exports()
|
|
26905
|
+
...ColumnMenuModule.exports(),
|
|
26906
|
+
GridClipboardDirective
|
|
26456
26907
|
];
|
|
26457
26908
|
const declarations$2 = [
|
|
26458
26909
|
GridComponent,
|
|
@@ -26473,7 +26924,8 @@ const declarations$2 = [
|
|
|
26473
26924
|
GridSpacerComponent,
|
|
26474
26925
|
GridToolbarFocusableDirective,
|
|
26475
26926
|
StatusBarComponent,
|
|
26476
|
-
StatusBarTemplateDirective
|
|
26927
|
+
StatusBarTemplateDirective,
|
|
26928
|
+
GridClipboardDirective
|
|
26477
26929
|
];
|
|
26478
26930
|
/**
|
|
26479
26931
|
* Represents the [NgModule](link:site.data.urls.angular['ngmoduleapi'])
|
|
@@ -26517,7 +26969,8 @@ GridModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13
|
|
|
26517
26969
|
GridSpacerComponent,
|
|
26518
26970
|
GridToolbarFocusableDirective,
|
|
26519
26971
|
StatusBarComponent,
|
|
26520
|
-
StatusBarTemplateDirective
|
|
26972
|
+
StatusBarTemplateDirective,
|
|
26973
|
+
GridClipboardDirective], imports: [CommonModule,
|
|
26521
26974
|
GroupModule,
|
|
26522
26975
|
SharedModule,
|
|
26523
26976
|
BodyModule,
|
|
@@ -26543,7 +26996,7 @@ GridModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13
|
|
|
26543
26996
|
InCellEditingDirective,
|
|
26544
26997
|
ExpandDetailsDirective,
|
|
26545
26998
|
ExpandGroupDirective,
|
|
26546
|
-
GridToolbarFocusableDirective, GroupHeaderTemplateDirective, GroupHeaderColumnTemplateDirective, GroupFooterTemplateDirective, ColumnComponent, SpanColumnComponent, ColumnGroupComponent, FooterTemplateDirective, DetailTemplateDirective, FocusableDirective, GridTableDirective, CommandColumnComponent, CheckboxColumnComponent, SelectionCheckboxDirective, CellTemplateDirective, NoRecordsTemplateDirective, EditTemplateDirective, EditCommandDirective, CancelCommandDirective, SaveCommandDirective, RemoveCommandDirective, AddCommandDirective, CellLoadingTemplateDirective, LoadingTemplateDirective, RowReorderColumnComponent, HeaderTemplateDirective, SelectAllCheckboxDirective, PagerComponent, PagerPrevButtonsComponent, PagerNextButtonsComponent, PagerNumericButtonsComponent, PagerInputComponent, PagerInfoComponent, PagerPageSizesComponent, PagerTemplateDirective, PagerDropDownListDirective, PagerInputDirective, 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, FilterMenuDropDownListDirective, BooleanFilterRadioButtonDirective, 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, ColumnMenuStickComponent, ColumnMenuPositionComponent, ColumnMenuChooserComponent, ColumnMenuTemplateDirective, ColumnMenuContainerComponent, ColumnMenuItemDirective, ColumnMenuComponent, ColumnMenuAutoSizeColumnComponent, ColumnMenuAutoSizeAllColumnsComponent] });
|
|
26999
|
+
GridToolbarFocusableDirective, GroupHeaderTemplateDirective, GroupHeaderColumnTemplateDirective, GroupFooterTemplateDirective, ColumnComponent, SpanColumnComponent, ColumnGroupComponent, FooterTemplateDirective, DetailTemplateDirective, FocusableDirective, GridTableDirective, CommandColumnComponent, CheckboxColumnComponent, SelectionCheckboxDirective, CellTemplateDirective, NoRecordsTemplateDirective, EditTemplateDirective, EditCommandDirective, CancelCommandDirective, SaveCommandDirective, RemoveCommandDirective, AddCommandDirective, CellLoadingTemplateDirective, LoadingTemplateDirective, RowReorderColumnComponent, HeaderTemplateDirective, SelectAllCheckboxDirective, PagerComponent, PagerPrevButtonsComponent, PagerNextButtonsComponent, PagerNumericButtonsComponent, PagerInputComponent, PagerInfoComponent, PagerPageSizesComponent, PagerTemplateDirective, PagerDropDownListDirective, PagerInputDirective, 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, FilterMenuDropDownListDirective, BooleanFilterRadioButtonDirective, 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, ColumnMenuStickComponent, ColumnMenuPositionComponent, ColumnMenuChooserComponent, ColumnMenuTemplateDirective, ColumnMenuContainerComponent, ColumnMenuItemDirective, ColumnMenuComponent, ColumnMenuAutoSizeColumnComponent, ColumnMenuAutoSizeAllColumnsComponent, GridClipboardDirective] });
|
|
26547
27000
|
GridModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GridModule, imports: [[
|
|
26548
27001
|
CommonModule,
|
|
26549
27002
|
GroupModule,
|
|
@@ -26842,13 +27295,13 @@ class PDFComponent extends PDFExportComponent {
|
|
|
26842
27295
|
* @hidden
|
|
26843
27296
|
*/
|
|
26844
27297
|
saveAs(_) {
|
|
26845
|
-
throw new Error('
|
|
27298
|
+
throw new Error(GridConfigurationErrorMessages.unsupportedMethod('saveAs', 'GridComponent.saveAsPDF'));
|
|
26846
27299
|
}
|
|
26847
27300
|
/**
|
|
26848
27301
|
* @hidden
|
|
26849
27302
|
*/
|
|
26850
27303
|
export() {
|
|
26851
|
-
throw new Error('
|
|
27304
|
+
throw new Error(GridConfigurationErrorMessages.unsupportedMethod('export', 'GridComponent.drawPDF'));
|
|
26852
27305
|
}
|
|
26853
27306
|
savePDF(component) {
|
|
26854
27307
|
this.createPDF(component, this.draw);
|
|
@@ -27446,5 +27899,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
27446
27899
|
* Generated bundle index. Do not edit.
|
|
27447
27900
|
*/
|
|
27448
27901
|
|
|
27449
|
-
export { AddCommandDirective, AfterEqFilterOperatorComponent, AfterFilterOperatorComponent, AutoCompleteFilterCellComponent, BaseFilterCellComponent, BeforeEqFilterOperatorComponent, BeforeFilterOperatorComponent, BodyModule, BooleanFilterCellComponent, BooleanFilterComponent, BooleanFilterMenuComponent, BooleanFilterRadioButtonDirective, BrowserSupportService, CELL_CONTEXT, CancelCommandDirective, CellCloseEvent, CellComponent, CellLoadingTemplateDirective, CellSelectionService, CellTemplateDirective, ChangeNotificationService, CheckboxColumnComponent, ColGroupComponent, ColumnBase, ColumnChooserComponent, ColumnComponent, ColumnGroupComponent, ColumnHandleDirective, ColumnInfoService, ColumnListComponent, ColumnLockedChangeEvent, ColumnMenuAutoSizeAllColumnsComponent, ColumnMenuAutoSizeColumnComponent, ColumnMenuChooserComponent, ColumnMenuComponent, ColumnMenuContainerComponent, ColumnMenuFilterComponent, ColumnMenuItemComponent, ColumnMenuItemContentTemplateDirective, ColumnMenuItemDirective, ColumnMenuLockComponent, ColumnMenuPositionComponent, ColumnMenuService, ColumnMenuSortComponent, ColumnMenuStickComponent, ColumnMenuTemplateDirective, ColumnReorderEvent, ColumnReorderService, ColumnResizingService, ColumnStickyChangeEvent, ColumnVisibilityChangeEvent, ColumnsContainer, CommandColumnComponent, ContainsFilterOperatorComponent, ContextService, CustomMessagesComponent, DEFAULT_SCROLLER_FACTORY, DataBindingDirective, DateFilterCellComponent, DateFilterComponent, DateFilterMenuComponent, DateFilterMenuInputComponent, DetailCollapseEvent, DetailExpandEvent, DetailTemplateDirective, DetailsService, DoesNotContainFilterOperatorComponent, DomEventsService, DragAndDropService, DragHintService, DropCueService, EditCommandDirective, EditService, EditTemplateDirective, EditingDirectiveBase, EndsWithFilterOperatorComponent, EqualFilterOperatorComponent, ExcelCommandDirective, ExcelComponent, ExcelExportEvent, ExcelModule, ExcelService, ExpandDetailsDirective, ExpandGroupDirective, FieldAccessorPipe, FilterCellComponent, FilterCellHostDirective, FilterCellOperatorsComponent, FilterCellTemplateDirective, FilterCellWrapperComponent, FilterInputDirective, FilterMenuComponent, FilterMenuContainerComponent, FilterMenuDropDownListDirective, FilterMenuHostDirective, FilterMenuInputWrapperComponent, FilterMenuModule, FilterMenuTemplateDirective, FilterRowComponent, FilterService, FocusRoot, FocusableDirective, FooterComponent, FooterModule, FooterTemplateDirective, GreaterFilterOperatorComponent, GreaterOrEqualToFilterOperatorComponent, GridComponent, GridModule, GridSpacerComponent, GridTableDirective, GridToolbarFocusableDirective, GridToolbarNavigationService, GroupBindingDirective, GroupFooterTemplateDirective, GroupHeaderColumnTemplateDirective, GroupHeaderComponent, GroupHeaderTemplateDirective, GroupInfoService, GroupModule, GroupPanelComponent, GroupsService, HeaderComponent, HeaderModule, HeaderTemplateDirective, IdService, InCellEditingDirective, IsEmptyFilterOperatorComponent, IsNotEmptyFilterOperatorComponent, IsNotNullFilterOperatorComponent, IsNullFilterOperatorComponent, LessFilterOperatorComponent, LessOrEqualToFilterOperatorComponent, ListComponent, LoadingComponent, LoadingTemplateDirective, LocalDataChangesService, LogicalCellDirective, LogicalRowDirective, MenuTabbingService, NavigationService, NoRecordsTemplateDirective, NotEqualFilterOperatorComponent, NumericFilterCellComponent, NumericFilterComponent, NumericFilterMenuComponent, NumericFilterMenuInputComponent, PDFCommandDirective, PDFComponent, PDFMarginComponent, PDFModule, PDFService, PDFTemplateDirective, PagerComponent, PagerContextService, PagerDropDownListDirective, PagerInfoComponent, PagerInputComponent, PagerInputDirective, PagerModule, PagerNextButtonsComponent, PagerNumericButtonsComponent, PagerPageSizesComponent, PagerPrevButtonsComponent, PagerTemplateDirective, PopupCloseEvent, ReactiveEditingDirective, RemoveCommandDirective, ResizableContainerDirective, ResizeService, ResponsiveService, RowEditingDirectiveBase, RowFilterModule, RowReorderColumnComponent, RowReorderService, SaveCommandDirective, ScrollRequestService, ScrollSyncService, SelectAllCheckboxDirective, SelectionCheckboxDirective, SelectionDirective, SelectionService, SharedFilterModule, SharedModule, SinglePopupService, SizingOptionsService, Skip, SortService, SpanColumnComponent, StartsWithFilterOperatorComponent, StatusBarTemplateDirective, StringFilterCellComponent, StringFilterComponent, StringFilterMenuComponent, StringFilterMenuInputComponent, SuspendService, TableBodyComponent, TableDirective, TemplateContextDirective, TemplateEditingDirective, ToolbarComponent, ToolbarTemplateDirective, count, defaultTrackBy, hasFilterMenu, hasFilterRow, isFilterable, slice };
|
|
27902
|
+
export { AddCommandDirective, AfterEqFilterOperatorComponent, AfterFilterOperatorComponent, AutoCompleteFilterCellComponent, BaseFilterCellComponent, BeforeEqFilterOperatorComponent, BeforeFilterOperatorComponent, BodyModule, BooleanFilterCellComponent, BooleanFilterComponent, BooleanFilterMenuComponent, BooleanFilterRadioButtonDirective, BrowserSupportService, CELL_CONTEXT, CancelCommandDirective, CellCloseEvent, CellComponent, CellLoadingTemplateDirective, CellSelectionService, CellTemplateDirective, ChangeNotificationService, CheckboxColumnComponent, ColGroupComponent, ColumnBase, ColumnChooserComponent, ColumnComponent, ColumnGroupComponent, ColumnHandleDirective, ColumnInfoService, ColumnListComponent, ColumnLockedChangeEvent, ColumnMenuAutoSizeAllColumnsComponent, ColumnMenuAutoSizeColumnComponent, ColumnMenuChooserComponent, ColumnMenuComponent, ColumnMenuContainerComponent, ColumnMenuFilterComponent, ColumnMenuItemComponent, ColumnMenuItemContentTemplateDirective, ColumnMenuItemDirective, ColumnMenuLockComponent, ColumnMenuPositionComponent, ColumnMenuService, ColumnMenuSortComponent, ColumnMenuStickComponent, ColumnMenuTemplateDirective, ColumnReorderEvent, ColumnReorderService, ColumnResizingService, ColumnStickyChangeEvent, ColumnVisibilityChangeEvent, ColumnsContainer, CommandColumnComponent, ContainsFilterOperatorComponent, ContextService, CustomMessagesComponent, DEFAULT_SCROLLER_FACTORY, DataBindingDirective, DateFilterCellComponent, DateFilterComponent, DateFilterMenuComponent, DateFilterMenuInputComponent, DetailCollapseEvent, DetailExpandEvent, DetailTemplateDirective, DetailsService, DoesNotContainFilterOperatorComponent, DomEventsService, DragAndDropService, DragHintService, DropCueService, EditCommandDirective, EditService, EditTemplateDirective, EditingDirectiveBase, EndsWithFilterOperatorComponent, EqualFilterOperatorComponent, ExcelCommandDirective, ExcelComponent, ExcelExportEvent, ExcelModule, ExcelService, ExpandDetailsDirective, ExpandGroupDirective, FieldAccessorPipe, FilterCellComponent, FilterCellHostDirective, FilterCellOperatorsComponent, FilterCellTemplateDirective, FilterCellWrapperComponent, FilterInputDirective, FilterMenuComponent, FilterMenuContainerComponent, FilterMenuDropDownListDirective, FilterMenuHostDirective, FilterMenuInputWrapperComponent, FilterMenuModule, FilterMenuTemplateDirective, FilterRowComponent, FilterService, FocusRoot, FocusableDirective, FooterComponent, FooterModule, FooterTemplateDirective, GreaterFilterOperatorComponent, GreaterOrEqualToFilterOperatorComponent, GridClipboardDirective, GridComponent, GridModule, GridSpacerComponent, GridTableDirective, GridToolbarFocusableDirective, GridToolbarNavigationService, GroupBindingDirective, GroupFooterTemplateDirective, GroupHeaderColumnTemplateDirective, GroupHeaderComponent, GroupHeaderTemplateDirective, GroupInfoService, GroupModule, GroupPanelComponent, GroupsService, HeaderComponent, HeaderModule, HeaderTemplateDirective, IdService, InCellEditingDirective, IsEmptyFilterOperatorComponent, IsNotEmptyFilterOperatorComponent, IsNotNullFilterOperatorComponent, IsNullFilterOperatorComponent, LessFilterOperatorComponent, LessOrEqualToFilterOperatorComponent, ListComponent, LoadingComponent, LoadingTemplateDirective, LocalDataChangesService, LogicalCellDirective, LogicalRowDirective, MenuTabbingService, NavigationService, NoRecordsTemplateDirective, NotEqualFilterOperatorComponent, NumericFilterCellComponent, NumericFilterComponent, NumericFilterMenuComponent, NumericFilterMenuInputComponent, PDFCommandDirective, PDFComponent, PDFMarginComponent, PDFModule, PDFService, PDFTemplateDirective, PagerComponent, PagerContextService, PagerDropDownListDirective, PagerInfoComponent, PagerInputComponent, PagerInputDirective, PagerModule, PagerNextButtonsComponent, PagerNumericButtonsComponent, PagerPageSizesComponent, PagerPrevButtonsComponent, PagerTemplateDirective, PopupCloseEvent, ReactiveEditingDirective, RemoveCommandDirective, ResizableContainerDirective, ResizeService, ResponsiveService, RowEditingDirectiveBase, RowFilterModule, RowReorderColumnComponent, RowReorderService, SaveCommandDirective, ScrollRequestService, ScrollSyncService, SelectAllCheckboxDirective, SelectionCheckboxDirective, SelectionDirective, SelectionService, SharedFilterModule, SharedModule, SinglePopupService, SizingOptionsService, Skip, SortService, SpanColumnComponent, StartsWithFilterOperatorComponent, StatusBarTemplateDirective, StringFilterCellComponent, StringFilterComponent, StringFilterMenuComponent, StringFilterMenuInputComponent, SuspendService, TableBodyComponent, TableDirective, TemplateContextDirective, TemplateEditingDirective, ToolbarComponent, ToolbarTemplateDirective, count, defaultTrackBy, hasFilterMenu, hasFilterRow, isFilterable, slice };
|
|
27450
27903
|
|