@progress/kendo-angular-grid 12.0.0-develop.8 → 12.0.0
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/column-menu/column-menu-item-content-template.directive.d.ts +13 -24
- package/column-menu/column-menu-template.directive.d.ts +14 -28
- package/column-menu/column-menu.service.d.ts +9 -21
- package/columns/column-base.d.ts +18 -369
- package/columns/reorder-column.component.d.ts +31 -0
- package/columns/sort-settings.d.ts +20 -4
- package/common/fetch-data-callback.d.ts +1 -1
- package/common/preventable-event.d.ts +1 -1
- package/common/single-popup.service.d.ts +1 -1
- package/common/size-options.d.ts +1 -2
- package/data/grid-item.interface.d.ts +6 -3
- package/databinding.directive.d.ts +15 -1
- package/editing/add-command.directive.d.ts +1 -1
- package/editing/cancel-command.directive.d.ts +4 -16
- package/editing/edit-template.directive.d.ts +2 -3
- package/editing/remove-command.directive.d.ts +6 -6
- package/editing/save-command.directive.d.ts +3 -15
- package/editing-directives/in-cell-editing.directive.d.ts +1 -1
- package/editing-directives/template-editing.directive.d.ts +1 -1
- package/esm2020/column-menu/column-menu-item-content-template.directive.mjs +13 -24
- package/esm2020/column-menu/column-menu-template.directive.mjs +14 -28
- package/esm2020/column-menu/column-menu.service.mjs +9 -21
- package/esm2020/columns/column-base.mjs +10 -40
- package/esm2020/columns/reorder-column.component.mjs +55 -0
- package/esm2020/common/preventable-event.mjs +1 -1
- package/esm2020/common/single-popup.service.mjs +1 -1
- package/esm2020/databinding.directive.mjs +30 -3
- package/esm2020/editing/add-command.directive.mjs +1 -1
- package/esm2020/editing/cancel-command.directive.mjs +4 -16
- package/esm2020/editing/edit-template.directive.mjs +2 -3
- package/esm2020/editing/remove-command.directive.mjs +6 -6
- package/esm2020/editing/save-command.directive.mjs +3 -15
- package/esm2020/editing-directives/in-cell-editing.directive.mjs +1 -1
- package/esm2020/editing-directives/template-editing.directive.mjs +1 -1
- package/esm2020/excel/excel-command.directive.mjs +2 -2
- package/esm2020/excel/excel.module.mjs +5 -15
- package/esm2020/grid.component.mjs +195 -38
- package/esm2020/grid.module.mjs +76 -81
- package/esm2020/grouping/group-footer-template.directive.mjs +9 -35
- package/esm2020/grouping/group-header-column-template.directive.mjs +2 -2
- package/esm2020/grouping/group-header-template.directive.mjs +9 -37
- package/esm2020/index.mjs +1 -0
- package/esm2020/layout/sizing-options.service.mjs +3 -0
- package/esm2020/localization/messages.mjs +3 -1
- package/esm2020/navigation/focusable.directive.mjs +10 -41
- package/esm2020/package-metadata.mjs +2 -2
- package/esm2020/pager/pager-template.directive.mjs +13 -46
- package/esm2020/pdf/pdf-template.directive.mjs +10 -38
- package/esm2020/pdf/pdf.module.mjs +7 -16
- package/esm2020/rendering/body.module.mjs +9 -4
- package/esm2020/rendering/cell-loading.template.directive.mjs +11 -8
- package/esm2020/rendering/cell-template.directive.mjs +11 -35
- package/esm2020/rendering/cell.component.mjs +43 -10
- package/esm2020/rendering/details/detail-template.directive.mjs +10 -58
- package/esm2020/rendering/details-expand.directive.mjs +1 -1
- package/esm2020/rendering/footer/footer-template.directive.mjs +8 -35
- package/esm2020/rendering/header/header-template.directive.mjs +9 -36
- package/esm2020/rendering/loading-template.directive.mjs +1 -1
- package/esm2020/rendering/no-records-template.directive.mjs +11 -58
- package/esm2020/rendering/toolbar/toolbar-position.mjs +17 -0
- package/esm2020/rendering/toolbar/toolbar-template.directive.mjs +10 -56
- package/esm2020/row-reordering/row-reorder.service.mjs +233 -0
- package/esm2020/row-reordering/types.mjs +5 -0
- package/esm2020/row-reordering/utils.mjs +87 -0
- package/esm2020/selection/selectall-checkbox.directive.mjs +12 -1
- package/esm2020/selection/selection-checkbox.directive.mjs +11 -44
- package/esm2020/selection/selection-default.mjs +1 -0
- package/esm2020/selection/selection.directive.mjs +1 -1
- package/excel/excel-command.directive.d.ts +2 -2
- package/excel/excel.module.d.ts +5 -15
- package/fesm2015/progress-kendo-angular-grid.mjs +869 -792
- package/fesm2020/progress-kendo-angular-grid.mjs +869 -796
- package/filtering/filterable.d.ts +10 -0
- package/grid.component.d.ts +46 -4
- package/grid.module.d.ts +93 -101
- package/grouping/group-footer-template.directive.d.ts +9 -35
- package/grouping/group-header-column-template.directive.d.ts +2 -2
- package/grouping/group-header-template.directive.d.ts +9 -37
- package/index.d.ts +2 -0
- package/layout/sizing-options.service.d.ts +3 -0
- package/localization/messages.d.ts +5 -1
- package/navigation/focusable.directive.d.ts +10 -41
- package/navigation/navigable-settings.d.ts +15 -1
- package/package.json +15 -14
- package/pager/pager-settings.d.ts +8 -12
- package/pager/pager-template.directive.d.ts +13 -46
- package/pdf/pdf-template.directive.d.ts +10 -38
- package/pdf/pdf.module.d.ts +7 -16
- package/rendering/body.module.d.ts +9 -8
- package/rendering/cell-loading.template.directive.d.ts +11 -8
- package/rendering/cell-template.directive.d.ts +11 -35
- package/rendering/cell.component.d.ts +5 -0
- package/rendering/common/row-class.d.ts +4 -4
- package/rendering/details/detail-template.directive.d.ts +10 -58
- package/rendering/details-expand.directive.d.ts +1 -1
- package/rendering/footer/footer-template.directive.d.ts +8 -35
- package/rendering/header/header-template.directive.d.ts +9 -36
- package/rendering/loading-template.directive.d.ts +1 -1
- package/rendering/no-records-template.directive.d.ts +11 -58
- package/rendering/toolbar/toolbar-position.d.ts +18 -1
- package/rendering/toolbar/toolbar-template.directive.d.ts +10 -56
- package/row-reordering/row-reorder.service.d.ts +57 -0
- package/row-reordering/types.d.ts +40 -0
- package/row-reordering/utils.d.ts +78 -0
- package/schematics/ngAdd/index.js +2 -2
- package/scrolling/scrollmode.d.ts +4 -4
- package/selection/selectall-checkbox.directive.d.ts +12 -1
- package/selection/selection-checkbox.directive.d.ts +11 -44
- package/selection/selection-default.d.ts +1 -0
- package/selection/selection.directive.d.ts +1 -1
- package/selection/types.d.ts +24 -2
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
import * as i0 from '@angular/core';
|
|
6
6
|
import { InjectionToken, Component, HostBinding, Input, EventEmitter, Injectable, Optional, Inject, Directive, SkipSelf, QueryList, isDevMode, ContentChildren, ContentChild, forwardRef, Host, Output, SecurityContext, HostListener, ChangeDetectionStrategy, ViewChild, ViewChildren, Self, TemplateRef, Pipe, ViewEncapsulation, NgModule } from '@angular/core';
|
|
7
7
|
import * as i1$1 from '@progress/kendo-angular-common';
|
|
8
|
-
import { isDocumentAvailable, Keys, closest as closest$1, isFocusable as isFocusable$1, anyChanged, isChanged as isChanged$1, KendoInput, guid, hasObservers, ResizeSensorComponent, DraggableModule, EventsModule, ResizeSensorModule } from '@progress/kendo-angular-common';
|
|
8
|
+
import { isDocumentAvailable, Keys, isPresent as isPresent$1, closest as closest$1, isFocusable as isFocusable$1, anyChanged, isChanged as isChanged$1, KendoInput, guid, hasObservers, ResizeSensorComponent, DraggableModule, EventsModule, ResizeSensorModule } from '@progress/kendo-angular-common';
|
|
9
9
|
import { merge, of, Subject, from, Subscription, interval, fromEvent, zip as zip$1, BehaviorSubject, Observable } from 'rxjs';
|
|
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';
|
|
@@ -19,7 +19,9 @@ import { orderBy, isCompositeFilterDescriptor, process, filterBy } from '@progre
|
|
|
19
19
|
import * as i1$2 from '@progress/kendo-angular-popup';
|
|
20
20
|
import { PopupModule } from '@progress/kendo-angular-popup';
|
|
21
21
|
import * as i1$3 from '@angular/platform-browser';
|
|
22
|
-
import
|
|
22
|
+
import * as i40 from '@progress/kendo-angular-utils';
|
|
23
|
+
import { DragTargetContainerDirective, DropTargetContainerDirective, DragAndDropModule as DragAndDropModule$1 } from '@progress/kendo-angular-utils';
|
|
24
|
+
import { cancelIcon, insertMiddleIcon, caretAltLeftIcon, caretAltToLeftIcon, caretAltRightIcon, caretAltToRightIcon, sortDescSmallIcon, sortAscSmallIcon, filterIcon, unlockIcon, lockIcon, stickIcon, unstickIcon, setColumnPositionIcon, columnsIcon, maxWidthIcon, displayInlineBlockIcon, moreVerticalIcon, filterClearIcon, reorderIcon, caretAltDownIcon, minusIcon, plusIcon } from '@progress/kendo-svg-icons';
|
|
23
25
|
import * as i4$1 from '@progress/kendo-angular-buttons';
|
|
24
26
|
import { ButtonModule, ChipModule, Button } from '@progress/kendo-angular-buttons';
|
|
25
27
|
import * as i3 from '@progress/kendo-angular-inputs';
|
|
@@ -30,7 +32,7 @@ import * as i5 from '@progress/kendo-angular-label';
|
|
|
30
32
|
import { LabelModule } from '@progress/kendo-angular-label';
|
|
31
33
|
import * as i3$1 from '@progress/kendo-angular-icons';
|
|
32
34
|
import { IconsModule } from '@progress/kendo-angular-icons';
|
|
33
|
-
import * as
|
|
35
|
+
import * as i4$3 from '@progress/kendo-angular-dateinputs';
|
|
34
36
|
import { DatePickerModule } from '@progress/kendo-angular-dateinputs';
|
|
35
37
|
import { trigger, state, style, transition, animate } from '@angular/animations';
|
|
36
38
|
import { getter } from '@progress/kendo-common';
|
|
@@ -932,7 +934,7 @@ class PreventableEvent {
|
|
|
932
934
|
this.prevented = true;
|
|
933
935
|
}
|
|
934
936
|
/**
|
|
935
|
-
* Returns
|
|
937
|
+
* Returns a respective boolean if the event was prevented
|
|
936
938
|
* by any of its subscribers.
|
|
937
939
|
*
|
|
938
940
|
* @returns `true` if the default action was prevented.
|
|
@@ -1293,47 +1295,16 @@ const EMPTY_CELL_CONTEXT = {};
|
|
|
1293
1295
|
* [focus in a navigable Grid]({% slug keyboard_navigation_grid %}).
|
|
1294
1296
|
*
|
|
1295
1297
|
* @example
|
|
1296
|
-
* ```
|
|
1297
|
-
*
|
|
1298
|
-
*
|
|
1299
|
-
*
|
|
1300
|
-
*
|
|
1301
|
-
*
|
|
1302
|
-
* <
|
|
1303
|
-
*
|
|
1304
|
-
*
|
|
1305
|
-
*
|
|
1306
|
-
* <kendo-grid-column>
|
|
1307
|
-
* <ng-template kendoGridCellTemplate let-dataItem>
|
|
1308
|
-
* <!-- The first focusable element will be focused when pressing Enter on the cell -->
|
|
1309
|
-
* <input type="text" kendoGridFocusable [value]="dataItem.ProductName" style="margin-right: 8px;" />
|
|
1310
|
-
* <button kendoGridFocusable>Update</button>
|
|
1311
|
-
* </ng-template>
|
|
1312
|
-
* </kendo-grid-column>
|
|
1313
|
-
* <kendo-grid-column [width]="100">
|
|
1314
|
-
* <ng-template kendoGridCellTemplate>
|
|
1315
|
-
* <!-- A single focusable element will be focused during navigation -->
|
|
1316
|
-
* <button kendoGridFocusable>Delete</button>
|
|
1317
|
-
* </ng-template>
|
|
1318
|
-
* </kendo-grid-column>
|
|
1319
|
-
* </kendo-grid>
|
|
1320
|
-
* <input type="text" placeholder="Tab stop #2" style="margin-top: 8px;" />
|
|
1321
|
-
* `
|
|
1322
|
-
* })
|
|
1323
|
-
*
|
|
1324
|
-
* class AppComponent {
|
|
1325
|
-
* public readonly data: any = [{
|
|
1326
|
-
* "ProductID": 1,
|
|
1327
|
-
* "ProductName": "Chai",
|
|
1328
|
-
* "UnitPrice": 18.0000,
|
|
1329
|
-
* "Discontinued": true
|
|
1330
|
-
* }, {
|
|
1331
|
-
* "ProductID": 2,
|
|
1332
|
-
* "ProductName": "Chang",
|
|
1333
|
-
* "UnitPrice": 19.0000,
|
|
1334
|
-
* "Discontinued": false
|
|
1335
|
-
* }];
|
|
1336
|
-
* }
|
|
1298
|
+
* ```html
|
|
1299
|
+
* <kendo-grid [data]="data" [navigable]="true">
|
|
1300
|
+
* <kendo-grid-column>
|
|
1301
|
+
* <ng-template kendoGridCellTemplate let-dataItem>
|
|
1302
|
+
* <!-- The first focusable element will be focused when pressing Enter on the cell -->
|
|
1303
|
+
* <input type="text" kendoGridFocusable [value]="dataItem.ProductName" style="margin-right: 8px;" />
|
|
1304
|
+
* <button kendoGridFocusable>Update</button>
|
|
1305
|
+
* </ng-template>
|
|
1306
|
+
* </kendo-grid-column>
|
|
1307
|
+
* </kendo-grid>
|
|
1337
1308
|
* ```
|
|
1338
1309
|
*/
|
|
1339
1310
|
class FocusableDirective {
|
|
@@ -2861,15 +2832,15 @@ const packageMetadata = {
|
|
|
2861
2832
|
name: '@progress/kendo-angular-grid',
|
|
2862
2833
|
productName: 'Kendo UI for Angular',
|
|
2863
2834
|
productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
|
|
2864
|
-
publishDate:
|
|
2865
|
-
version: '12.0.0
|
|
2835
|
+
publishDate: 1682434440,
|
|
2836
|
+
version: '12.0.0',
|
|
2866
2837
|
licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
|
|
2867
2838
|
};
|
|
2868
2839
|
|
|
2869
2840
|
/**
|
|
2870
|
-
* Represents the column cell template of the Grid
|
|
2871
|
-
* Helps to customize the content of the cells. To define the cell template, nest an `<ng-template>` tag
|
|
2872
|
-
*
|
|
2841
|
+
* Represents the column cell template of the Grid.
|
|
2842
|
+
* Helps to customize the content of the cells. To define the cell template, nest an `<ng-template>` tag with the
|
|
2843
|
+
* `kendoGridCellTemplate` directive inside a `<kendo-grid-column>` tag [see example](slug:templates_columns_grid#toc-cell-template).
|
|
2873
2844
|
*
|
|
2874
2845
|
* The template context is set to the current data item and the following additional fields are passed:
|
|
2875
2846
|
* - `columnIndex`—The current column index. Use it as an alias for a template variable by utilizing the `let-columnIndex="columnIndex"` syntax.
|
|
@@ -2878,38 +2849,14 @@ const packageMetadata = {
|
|
|
2878
2849
|
* - `column`—The current column instance. Use it as an alias for a template variable by utilizing the `let-column="column"` syntax.
|
|
2879
2850
|
*
|
|
2880
2851
|
* @example
|
|
2881
|
-
* ```
|
|
2882
|
-
*
|
|
2883
|
-
*
|
|
2884
|
-
*
|
|
2885
|
-
*
|
|
2886
|
-
*
|
|
2887
|
-
*
|
|
2888
|
-
*
|
|
2889
|
-
* Data Row #: {{rowIndex}} /
|
|
2890
|
-
* <strong>{{dataItem.ProductName}}</strong>
|
|
2891
|
-
* ({{dataItem.Discontinued ? "discontinued" : "active"}})
|
|
2892
|
-
* </ng-template>
|
|
2893
|
-
* </kendo-grid-column>
|
|
2894
|
-
* </kendo-grid>
|
|
2895
|
-
* `
|
|
2896
|
-
* })
|
|
2897
|
-
*
|
|
2898
|
-
* class AppComponent {
|
|
2899
|
-
* public gridData = [{
|
|
2900
|
-
* "ProductID": 1,
|
|
2901
|
-
* "ProductName": "Chai",
|
|
2902
|
-
* "UnitPrice": 18.0000,
|
|
2903
|
-
* "Discontinued": false
|
|
2904
|
-
* }, {
|
|
2905
|
-
* "ProductID": 2,
|
|
2906
|
-
* "ProductName": "Chang",
|
|
2907
|
-
* "UnitPrice": 19.0000,
|
|
2908
|
-
* "Discontinued": true
|
|
2909
|
-
* }
|
|
2910
|
-
* ];
|
|
2911
|
-
* }
|
|
2912
|
-
*
|
|
2852
|
+
* ```html
|
|
2853
|
+
* <kendo-grid [data]="gridData" ...>
|
|
2854
|
+
* <kendo-grid-column field="ProductName">
|
|
2855
|
+
* <ng-template kendoGridCellTemplate let-dataItem let-rowIndex="rowIndex" let-column="column">
|
|
2856
|
+
* Data Row: {{rowIndex}}
|
|
2857
|
+
* </ng-template>
|
|
2858
|
+
* </kendo-grid-column>
|
|
2859
|
+
* </kendo-grid>
|
|
2913
2860
|
* ```
|
|
2914
2861
|
*/
|
|
2915
2862
|
class CellTemplateDirective {
|
|
@@ -2933,7 +2880,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
2933
2880
|
/**
|
|
2934
2881
|
* Represents the group-header cell template of the Grid which helps to customize the content of the group header item.
|
|
2935
2882
|
* To define the group header template, nest an `<ng-template>` tag with the `kendoGridGroupHeaderTemplate`
|
|
2936
|
-
* directive inside `<kendo-grid-column>`.
|
|
2883
|
+
* directive inside `<kendo-grid-column>`. ([See example](slug:grouping_grid_templates#toc-header-template)).
|
|
2937
2884
|
*
|
|
2938
2885
|
* The template context is set to the current data item and the following additional fields are passed:
|
|
2939
2886
|
* - `group`—The current group item.
|
|
@@ -2942,44 +2889,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
2942
2889
|
* - `aggregates`—All aggregate values for the current group.
|
|
2943
2890
|
* - `index`—The index of the current group.
|
|
2944
2891
|
* - `expanded`—A boolean value indicating if the group is currently expanded.
|
|
2945
|
-
* ([see example]({% slug groupable_grid_with_aggregates %})).
|
|
2946
2892
|
*
|
|
2947
2893
|
* @example
|
|
2948
|
-
* ```
|
|
2949
|
-
*
|
|
2950
|
-
*
|
|
2951
|
-
*
|
|
2952
|
-
*
|
|
2953
|
-
*
|
|
2954
|
-
*
|
|
2955
|
-
*
|
|
2956
|
-
* <ng-template kendoGridGroupHeaderTemplate let-group let-field="field" let-value="value">
|
|
2957
|
-
* <strong>{{field}}</strong>: {{value}}
|
|
2958
|
-
* </ng-template>
|
|
2959
|
-
* </kendo-grid-column>
|
|
2960
|
-
* </kendo-grid>
|
|
2961
|
-
* `
|
|
2962
|
-
* })
|
|
2963
|
-
*
|
|
2964
|
-
* class AppComponent {
|
|
2965
|
-
* public groups = [{ field: "ProductName" }];
|
|
2966
|
-
*
|
|
2967
|
-
* public gridData = process([{
|
|
2968
|
-
* "ProductID": 1,
|
|
2969
|
-
* "ProductName": "Chai",
|
|
2970
|
-
* "UnitPrice": 18.0000,
|
|
2971
|
-
* "Discontinued": false
|
|
2972
|
-
* }, {
|
|
2973
|
-
* "ProductID": 2,
|
|
2974
|
-
* "ProductName": "Chang",
|
|
2975
|
-
* "UnitPrice": 19.0000,
|
|
2976
|
-
* "Discontinued": true
|
|
2977
|
-
* }
|
|
2978
|
-
* ], {
|
|
2979
|
-
* group: this.groups
|
|
2980
|
-
* });
|
|
2981
|
-
* }
|
|
2982
|
-
*
|
|
2894
|
+
* ```html
|
|
2895
|
+
* <kendo-grid [data]="gridData" [group]="groups">
|
|
2896
|
+
* <kendo-grid-column field="ProductName">
|
|
2897
|
+
* <ng-template kendoGridGroupHeaderTemplate let-group let-field="field" let-value="value">
|
|
2898
|
+
* <strong>{{field}}</strong>: {{value}}
|
|
2899
|
+
* </ng-template>
|
|
2900
|
+
* </kendo-grid-column>
|
|
2901
|
+
* </kendo-grid>
|
|
2983
2902
|
* ```
|
|
2984
2903
|
*/
|
|
2985
2904
|
class GroupHeaderTemplateDirective {
|
|
@@ -3003,7 +2922,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
3003
2922
|
/**
|
|
3004
2923
|
* Represents the group-header column template of the Grid which helps to customize the content of the group headers.
|
|
3005
2924
|
* To define the group header template, nest an `<ng-template>` tag with the `kendoGridGroupHeaderColumnTemplate`
|
|
3006
|
-
* directive inside `<kendo-grid-column>`. ([See example](
|
|
2925
|
+
* directive inside `<kendo-grid-column>`. ([See example](slug:grouping_grid_templates#toc-header-column-template)).
|
|
3007
2926
|
*
|
|
3008
2927
|
* The template context is set to the current data item and the following additional fields are passed:
|
|
3009
2928
|
* - `group`—The current group item.
|
|
@@ -3012,7 +2931,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
3012
2931
|
* - `aggregates`—All aggregate values for the current group.
|
|
3013
2932
|
*
|
|
3014
2933
|
* @example
|
|
3015
|
-
* ```
|
|
2934
|
+
* ```html
|
|
3016
2935
|
* <kendo-grid-column field="ProductName" title="Product Name">
|
|
3017
2936
|
* <ng-template kendoGridGroupHeaderColumnTemplate let-group="group" let-aggregates="aggregates">
|
|
3018
2937
|
* <span title="Group Header Column Template for ProductName">
|
|
@@ -3041,13 +2960,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
3041
2960
|
} });
|
|
3042
2961
|
|
|
3043
2962
|
/**
|
|
3044
|
-
* Represents the column edit-cell template of the Grid ([see example](
|
|
2963
|
+
* Represents the column edit-cell template of the Grid ([see example](slug:custom_reactive_editing_grid#toc-setting-up-custom-inputs)).
|
|
3045
2964
|
* Helps to customize the content of the edited cells. To define the cell template, nest an `<ng-template>`
|
|
3046
2965
|
* tag with the `kendoGridEditTemplate` directive inside a `<kendo-grid-column>` tag.
|
|
3047
2966
|
*
|
|
3048
2967
|
* The template context is set to the current form group and the following additional fields are passed:
|
|
3049
|
-
* - `formGroup`—The current [FormGroup](link:site.data.urls.angular['formgroupapi']).
|
|
3050
|
-
* Represents the default context that will be assigned to any template variable which utilizes the `let-x` syntax—for example, `let-formGroup`.
|
|
2968
|
+
* - `formGroup`—The current [FormGroup](link:site.data.urls.angular['formgroupapi']). Represents the default context that will be assigned to any template variable which utilizes the `let-x` syntax—for example, `let-formGroup`.
|
|
3051
2969
|
* If you use the Grid inside [Template-Driven Forms](link:site.data.urls.angular['forms']), it will be `undefined`.
|
|
3052
2970
|
* - `rowIndex`—The current data row index. If inside a new item row, `rowIndex` is `-1`. Use it as an alias for a template variable by utilizing the `let-rowIndex="rowIndex"` syntax.
|
|
3053
2971
|
* - `dataItem`—The current data item. Use it as an alias for a template variable by utilizing the `let-dataItem="dataItem"` syntax.
|
|
@@ -3077,47 +2995,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
3077
2995
|
* To define the group footer template, nest an `<ng-template>` tag with the `kendoGridGroupFooterTemplate` directive
|
|
3078
2996
|
* inside `<kendo-grid-column>`.
|
|
3079
2997
|
*
|
|
3080
|
-
* The template context is set to the current
|
|
2998
|
+
* The template context is set to the current data item and the following additional fields are passed:
|
|
3081
2999
|
* - `column`—Defines an instance of the `ColumnComponent` option.
|
|
3082
3000
|
* - `field`—The current column field name.
|
|
3083
3001
|
* - `group`—The current group data item.
|
|
3084
3002
|
* - `aggregates`—All aggregate values for the current group.
|
|
3085
3003
|
*
|
|
3086
3004
|
* @example
|
|
3087
|
-
* ```
|
|
3088
|
-
*
|
|
3089
|
-
*
|
|
3090
|
-
*
|
|
3091
|
-
*
|
|
3092
|
-
*
|
|
3093
|
-
*
|
|
3094
|
-
*
|
|
3095
|
-
* <ng-template kendoGridGroupFooterTemplate let-aggregates let-field="field">
|
|
3096
|
-
* Count: {{aggregates[field].count}}
|
|
3097
|
-
* </ng-template>
|
|
3098
|
-
* </kendo-grid-column>
|
|
3099
|
-
* </kendo-grid>
|
|
3100
|
-
* `
|
|
3101
|
-
* })
|
|
3102
|
-
*
|
|
3103
|
-
* class AppComponent {
|
|
3104
|
-
* public groups = [{ field: "ProductName", aggregates: [{ field: "ProductName", aggregate: "count" }] }];
|
|
3105
|
-
*
|
|
3106
|
-
* public gridData = process([{
|
|
3107
|
-
* "ProductID": 1,
|
|
3108
|
-
* "ProductName": "Chai",
|
|
3109
|
-
* "UnitPrice": 18.0000,
|
|
3110
|
-
* "Discontinued": false
|
|
3111
|
-
* }, {
|
|
3112
|
-
* "ProductID": 2,
|
|
3113
|
-
* "ProductName": "Chang",
|
|
3114
|
-
* "UnitPrice": 19.0000,
|
|
3115
|
-
* "Discontinued": true
|
|
3116
|
-
* }
|
|
3117
|
-
* ], {
|
|
3118
|
-
* group: this.groups
|
|
3119
|
-
* });
|
|
3120
|
-
* }
|
|
3005
|
+
* ```html
|
|
3006
|
+
* <kendo-grid [data]="gridData" [group]="groups">
|
|
3007
|
+
* <kendo-grid-column field="ProductName">
|
|
3008
|
+
* <ng-template kendoGridGroupFooterTemplate let-aggregates let-field="field">
|
|
3009
|
+
* Count: {{aggregates[field].count}}
|
|
3010
|
+
* </ng-template>
|
|
3011
|
+
* </kendo-grid-column>
|
|
3012
|
+
* </kendo-grid>
|
|
3121
3013
|
* ```
|
|
3122
3014
|
*/
|
|
3123
3015
|
class GroupFooterTemplateDirective {
|
|
@@ -3143,48 +3035,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
3143
3035
|
* ([more information and example]({% slug templates_columns_grid %}#toc-header-template)).
|
|
3144
3036
|
* Helps to customize the table header cell for the column.
|
|
3145
3037
|
* To define a header template, nest an `<ng-template>` tag with the
|
|
3146
|
-
*
|
|
3038
|
+
* `kendoGridHeaderTemplate` directive inside the `<kendo-grid-column>` tag.
|
|
3147
3039
|
*
|
|
3148
3040
|
* The template context is set to the current column and then the following additional fields are passed:
|
|
3149
3041
|
* * `column`—Defines an instance of the [ColumnComponent]({% slug api_grid_columncomponent %}) option.
|
|
3150
3042
|
* * `columnIndex`—Defines the current column index.
|
|
3151
3043
|
*
|
|
3152
3044
|
* @example
|
|
3153
|
-
* ```
|
|
3154
|
-
*
|
|
3155
|
-
*
|
|
3156
|
-
*
|
|
3157
|
-
*
|
|
3158
|
-
*
|
|
3159
|
-
*
|
|
3160
|
-
*
|
|
3161
|
-
* {{column.field}}({{columnIndex}})
|
|
3162
|
-
* </ng-template>
|
|
3163
|
-
* </kendo-grid-column>
|
|
3164
|
-
* <kendo-grid-column field="UnitPrice">
|
|
3165
|
-
* <ng-template kendoGridHeaderTemplate let-column let-columnIndex="columnIndex">
|
|
3166
|
-
* {{column.field}}({{columnIndex}})
|
|
3167
|
-
* </ng-template>
|
|
3168
|
-
* </kendo-grid-column>
|
|
3169
|
-
* </kendo-grid>
|
|
3170
|
-
* `
|
|
3171
|
-
* })
|
|
3172
|
-
*
|
|
3173
|
-
* class AppComponent {
|
|
3174
|
-
* public gridData = [{
|
|
3175
|
-
* "ProductID": 1,
|
|
3176
|
-
* "ProductName": "Chai",
|
|
3177
|
-
* "UnitPrice": 18.0000,
|
|
3178
|
-
* "Discontinued": false
|
|
3179
|
-
* }, {
|
|
3180
|
-
* "ProductID": 2,
|
|
3181
|
-
* "ProductName": "Chang",
|
|
3182
|
-
* "UnitPrice": 19.0000,
|
|
3183
|
-
* "Discontinued": true
|
|
3184
|
-
* }
|
|
3185
|
-
* ];
|
|
3186
|
-
* }
|
|
3187
|
-
*
|
|
3045
|
+
* ```html
|
|
3046
|
+
* <kendo-grid [data]="gridData">
|
|
3047
|
+
* <kendo-grid-column field="ProductName">
|
|
3048
|
+
* <ng-template kendoGridHeaderTemplate let-column let-columnIndex="columnIndex">
|
|
3049
|
+
* {{column.field}}({{columnIndex}})
|
|
3050
|
+
* </ng-template>
|
|
3051
|
+
* </kendo-grid-column>
|
|
3052
|
+
* </kendo-grid>
|
|
3188
3053
|
* ```
|
|
3189
3054
|
*/
|
|
3190
3055
|
class HeaderTemplateDirective {
|
|
@@ -3220,41 +3085,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
3220
3085
|
* refer to the article on [aggregates]({% slug groupable_grid_with_aggregates %}).
|
|
3221
3086
|
*
|
|
3222
3087
|
* @example
|
|
3223
|
-
* ```
|
|
3224
|
-
*
|
|
3225
|
-
*
|
|
3226
|
-
*
|
|
3227
|
-
*
|
|
3228
|
-
*
|
|
3229
|
-
*
|
|
3230
|
-
*
|
|
3231
|
-
* {{column.field}}({{columnIndex}})
|
|
3232
|
-
* </ng-template>
|
|
3233
|
-
* </kendo-grid-column>
|
|
3234
|
-
* <kendo-grid-column field="UnitPrice">
|
|
3235
|
-
* <ng-template kendoGridFooterTemplate let-column let-columnIndex="columnIndex">
|
|
3236
|
-
* {{column.field}}({{columnIndex}})
|
|
3237
|
-
* </ng-template>
|
|
3238
|
-
* </kendo-grid-column>
|
|
3239
|
-
* </kendo-grid>
|
|
3240
|
-
* `
|
|
3241
|
-
* })
|
|
3242
|
-
*
|
|
3243
|
-
* class AppComponent {
|
|
3244
|
-
* public gridData = [{
|
|
3245
|
-
* "ProductID": 1,
|
|
3246
|
-
* "ProductName": "Chai",
|
|
3247
|
-
* "UnitPrice": 18.0000,
|
|
3248
|
-
* "Discontinued": false
|
|
3249
|
-
* }, {
|
|
3250
|
-
* "ProductID": 2,
|
|
3251
|
-
* "ProductName": "Chang",
|
|
3252
|
-
* "UnitPrice": 19.0000,
|
|
3253
|
-
* "Discontinued": true
|
|
3254
|
-
* }
|
|
3255
|
-
* ];
|
|
3256
|
-
* }
|
|
3257
|
-
*
|
|
3088
|
+
* ```html
|
|
3089
|
+
* <kendo-grid [data]="gridData" scrollable="none">
|
|
3090
|
+
* <kendo-grid-column field="ProductName">
|
|
3091
|
+
* <ng-template kendoGridFooterTemplate let-column let-columnIndex="columnIndex">
|
|
3092
|
+
* {{column.field}}({{columnIndex}})
|
|
3093
|
+
* </ng-template>
|
|
3094
|
+
* </kendo-grid-column>
|
|
3095
|
+
* </kendo-grid>
|
|
3258
3096
|
* ```
|
|
3259
3097
|
*/
|
|
3260
3098
|
class FooterTemplateDirective {
|
|
@@ -3279,40 +3117,26 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
3279
3117
|
* Represents the template for the column menu in the Grid. Provides an option for
|
|
3280
3118
|
* customizing the content of the column menu for all or for specific columns.
|
|
3281
3119
|
* To define the content template, nest an `<ng-template>` tag with the
|
|
3282
|
-
* `kendoGridColumnMenuTemplate` directive inside the
|
|
3120
|
+
* `kendoGridColumnMenuTemplate` directive inside the `<kendo-grid>` or the `<kendo-grid-column>` component.
|
|
3283
3121
|
*
|
|
3284
3122
|
* The template context is passes through the following fields:
|
|
3285
3123
|
* - `service`—Represents the [ColumnMenuService]({% slug api_grid_columnmenuservice %}).
|
|
3286
3124
|
* - `column`—Represents the Grid column.
|
|
3287
3125
|
*
|
|
3288
3126
|
* @example
|
|
3289
|
-
* ```
|
|
3290
|
-
*
|
|
3291
|
-
*
|
|
3292
|
-
*
|
|
3293
|
-
*
|
|
3294
|
-
*
|
|
3295
|
-
*
|
|
3296
|
-
*
|
|
3297
|
-
*
|
|
3298
|
-
*
|
|
3299
|
-
*
|
|
3300
|
-
*
|
|
3301
|
-
*
|
|
3302
|
-
* </kendo-grid-columnmenu-lock>
|
|
3303
|
-
* <kendo-grid-columnmenu-sort [service]="service">
|
|
3304
|
-
* </kendo-grid-columnmenu-sort>
|
|
3305
|
-
* </ng-template>
|
|
3306
|
-
* </kendo-grid-column>
|
|
3307
|
-
* <kendo-grid-column field="Field2" [width]="100"></kendo-grid-column>
|
|
3308
|
-
* </kendo-grid>
|
|
3309
|
-
* `
|
|
3310
|
-
* })
|
|
3311
|
-
*
|
|
3312
|
-
* class AppComponent {
|
|
3313
|
-
* public data: any[] = [{ Field1: 'Foo', Field2: 'Bar' }, { Field1: 'Foo1', Field2: 'Bar1' }];
|
|
3314
|
-
* }
|
|
3315
|
-
*
|
|
3127
|
+
* ```html
|
|
3128
|
+
* <kendo-grid [kendoGridBinding]="data" [sortable]="true" [columnMenu]="true">
|
|
3129
|
+
* <ng-template kendoGridColumnMenuTemplate let-service="service">
|
|
3130
|
+
* <kendo-grid-columnmenu-sort [service]="service"></kendo-grid-columnmenu-sort>
|
|
3131
|
+
* </ng-template>
|
|
3132
|
+
* <kendo-grid-column field="Field1">
|
|
3133
|
+
* <ng-template kendoGridColumnMenuTemplate let-service="service">
|
|
3134
|
+
* <kendo-grid-columnmenu-lock [service]="service"></kendo-grid-columnmenu-lock>
|
|
3135
|
+
* <kendo-grid-columnmenu-sort [service]="service"></kendo-grid-columnmenu-sort>
|
|
3136
|
+
* </ng-template>
|
|
3137
|
+
* </kendo-grid-column>
|
|
3138
|
+
* <kendo-grid-column field="Field2"></kendo-grid-column>
|
|
3139
|
+
* </kendo-grid>
|
|
3316
3140
|
* ```
|
|
3317
3141
|
*/
|
|
3318
3142
|
class ColumnMenuTemplateDirective {
|
|
@@ -3369,6 +3193,10 @@ const isSpanColumn = column => column.isSpanColumn;
|
|
|
3369
3193
|
* @hidden
|
|
3370
3194
|
*/
|
|
3371
3195
|
const isCheckboxColumn = column => column.isCheckboxColumn;
|
|
3196
|
+
/**
|
|
3197
|
+
* @hidden
|
|
3198
|
+
*/
|
|
3199
|
+
const isRowReorderColumn = column => column.isRowReorderColumn;
|
|
3372
3200
|
const isColumnContainer = column => column.isColumnGroup || isSpanColumn(column);
|
|
3373
3201
|
/**
|
|
3374
3202
|
* The base class for the column components of the Grid.
|
|
@@ -3384,9 +3212,9 @@ class ColumnBase {
|
|
|
3384
3212
|
*/
|
|
3385
3213
|
this.matchesMedia = true;
|
|
3386
3214
|
/**
|
|
3387
|
-
* The column index after reordering.
|
|
3215
|
+
* The column index after reordering. The `orderIndex` is a read-only property. Setting this field does not affect column order.
|
|
3388
3216
|
*
|
|
3389
|
-
*
|
|
3217
|
+
* @default 0
|
|
3390
3218
|
*/
|
|
3391
3219
|
this.orderIndex = 0;
|
|
3392
3220
|
/**
|
|
@@ -3421,18 +3249,22 @@ class ColumnBase {
|
|
|
3421
3249
|
this.sticky = false;
|
|
3422
3250
|
/**
|
|
3423
3251
|
* Specifies if the column can be locked or unlocked from the column menu or by reordering the columns.
|
|
3252
|
+
* @default true
|
|
3424
3253
|
*/
|
|
3425
3254
|
this.lockable = true;
|
|
3426
3255
|
/**
|
|
3427
3256
|
* Specifies if the column can be stuck or unstuck from the column menu.
|
|
3257
|
+
* @default true
|
|
3428
3258
|
*/
|
|
3429
3259
|
this.stickable = true;
|
|
3430
3260
|
/**
|
|
3431
3261
|
* Specifies if the column menu will be shown for the column.
|
|
3262
|
+
* @default true
|
|
3432
3263
|
*/
|
|
3433
3264
|
this.columnMenu = true;
|
|
3434
3265
|
/**
|
|
3435
3266
|
* Specifies if the column will be included in the column-chooser list.
|
|
3267
|
+
* @default true
|
|
3436
3268
|
*/
|
|
3437
3269
|
this.includeInChooser = true;
|
|
3438
3270
|
/**
|
|
@@ -3480,44 +3312,6 @@ class ColumnBase {
|
|
|
3480
3312
|
*
|
|
3481
3313
|
* @default false
|
|
3482
3314
|
*
|
|
3483
|
-
* @example
|
|
3484
|
-
* ```ts
|
|
3485
|
-
* _@Component({
|
|
3486
|
-
* selector: 'my-app',
|
|
3487
|
-
* template: `
|
|
3488
|
-
* <kendo-grid [data]="gridData" [scrollable]="scrollable" style="height: 200px">
|
|
3489
|
-
* <kendo-grid-column field="ProductID" title="Product ID" [width]="120" [locked]="true">
|
|
3490
|
-
* </kendo-grid-column>
|
|
3491
|
-
* <kendo-grid-column field="ProductName" title="Product Name" [width]="200">
|
|
3492
|
-
* </kendo-grid-column>
|
|
3493
|
-
* <kendo-grid-column field="UnitPrice" title="Unit Price" [width]="230">
|
|
3494
|
-
* </kendo-grid-column>
|
|
3495
|
-
* </kendo-grid>
|
|
3496
|
-
* `
|
|
3497
|
-
* })
|
|
3498
|
-
*
|
|
3499
|
-
* class AppComponent {
|
|
3500
|
-
* public gridData: any[];
|
|
3501
|
-
*
|
|
3502
|
-
* constructor() {
|
|
3503
|
-
* this.gridData = products;
|
|
3504
|
-
* }
|
|
3505
|
-
* }
|
|
3506
|
-
*
|
|
3507
|
-
* const products = [{
|
|
3508
|
-
* "ProductID": 1,
|
|
3509
|
-
* "ProductName": "Chai",
|
|
3510
|
-
* "UnitPrice": 18.0000,
|
|
3511
|
-
* "Discontinued": true
|
|
3512
|
-
* }, {
|
|
3513
|
-
* "ProductID": 2,
|
|
3514
|
-
* "ProductName": "Chang",
|
|
3515
|
-
* "UnitPrice": 19.0000,
|
|
3516
|
-
* "Discontinued": false
|
|
3517
|
-
* }
|
|
3518
|
-
* ];
|
|
3519
|
-
*
|
|
3520
|
-
* ```
|
|
3521
3315
|
*/
|
|
3522
3316
|
set locked(value) {
|
|
3523
3317
|
this._locked = value;
|
|
@@ -4387,64 +4181,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
4387
4181
|
* To define the detail template, nest an `<ng-template>` tag with the `kendoGridDetailTemplate` directive inside a `<kendo-grid>` tag.
|
|
4388
4182
|
*
|
|
4389
4183
|
* @example
|
|
4390
|
-
* ```
|
|
4391
|
-
*
|
|
4392
|
-
*
|
|
4393
|
-
*
|
|
4394
|
-
*
|
|
4395
|
-
*
|
|
4396
|
-
*
|
|
4397
|
-
*
|
|
4398
|
-
*
|
|
4399
|
-
*
|
|
4400
|
-
* <kendo-grid-column field="ProductID"></kendo-grid-column>
|
|
4401
|
-
* <kendo-grid-column field="ProductName"></kendo-grid-column>
|
|
4402
|
-
* <kendo-grid-column field="UnitPrice"></kendo-grid-column>
|
|
4403
|
-
* <ng-template kendoGridDetailTemplate let-dataItem>
|
|
4404
|
-
* <div *ngIf="dataItem.Category">
|
|
4405
|
-
* <header>{{dataItem.Category?.CategoryName}}</header>
|
|
4406
|
-
* <span>{{dataItem.Category?.Description}}</span>
|
|
4407
|
-
* </div>
|
|
4408
|
-
* </ng-template>
|
|
4409
|
-
* </kendo-grid>
|
|
4410
|
-
* `
|
|
4411
|
-
* })
|
|
4412
|
-
*
|
|
4413
|
-
* class AppComponent {
|
|
4414
|
-
* public data = [{
|
|
4415
|
-
* "ProductID": 1,
|
|
4416
|
-
* "ProductName": "Chai",
|
|
4417
|
-
* "UnitPrice": 18.0000,
|
|
4418
|
-
* "Discontinued": false,
|
|
4419
|
-
* "Category": {
|
|
4420
|
-
* "CategoryID": 1,
|
|
4421
|
-
* "CategoryName": "Beverages",
|
|
4422
|
-
* "Description": "Soft drinks, coffees, teas, beers, and ales"
|
|
4423
|
-
* }
|
|
4424
|
-
* }, {
|
|
4425
|
-
* "ProductID": 2,
|
|
4426
|
-
* "ProductName": "Chang",
|
|
4427
|
-
* "UnitPrice": 19.0000,
|
|
4428
|
-
* "Discontinued": false,
|
|
4429
|
-
* "Category": {
|
|
4430
|
-
* "CategoryID": 1,
|
|
4431
|
-
* "CategoryName": "Beverages",
|
|
4432
|
-
* "Description": "Soft drinks, coffees, teas, beers, and ales"
|
|
4433
|
-
* }
|
|
4434
|
-
* }, {
|
|
4435
|
-
* "ProductID": 3,
|
|
4436
|
-
* "ProductName": "Aniseed Syrup",
|
|
4437
|
-
* "UnitPrice": 10.0000,
|
|
4438
|
-
* "Discontinued": false,
|
|
4439
|
-
* "Category": {
|
|
4440
|
-
* "CategoryID": 2,
|
|
4441
|
-
* "CategoryName": "Condiments",
|
|
4442
|
-
* "Description": "Sweet and savory sauces, relishes, spreads, and seasonings"
|
|
4443
|
-
* }
|
|
4444
|
-
* }];
|
|
4445
|
-
*
|
|
4446
|
-
* }
|
|
4447
|
-
*
|
|
4184
|
+
* ```html
|
|
4185
|
+
* <kendo-grid [data]="data" selectable="true" style="height: 160px">
|
|
4186
|
+
* <kendo-grid-column field="ProductName"></kendo-grid-column>
|
|
4187
|
+
* <ng-template kendoGridDetailTemplate let-dataItem>
|
|
4188
|
+
* <div *ngIf="dataItem.Category">
|
|
4189
|
+
* <header>{{dataItem.Category?.CategoryName}}</header>
|
|
4190
|
+
* span>{{dataItem.Category?.Description}}</span>
|
|
4191
|
+
* </div>
|
|
4192
|
+
* </ng-template>
|
|
4193
|
+
* </kendo-grid>
|
|
4448
4194
|
* ```
|
|
4449
4195
|
*
|
|
4450
4196
|
*/
|
|
@@ -5007,6 +4753,7 @@ class Selection {
|
|
|
5007
4753
|
this.cd = cd;
|
|
5008
4754
|
/**
|
|
5009
4755
|
* Defines the collection that will store the selected item keys.
|
|
4756
|
+
* @default []
|
|
5010
4757
|
*/
|
|
5011
4758
|
this.selectedKeys = [];
|
|
5012
4759
|
/**
|
|
@@ -5394,66 +5141,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
5394
5141
|
|
|
5395
5142
|
/**
|
|
5396
5143
|
* Represents the no-records template of the Grid. Provides an option to customize the
|
|
5397
|
-
* appearance of the item that is displayed when no data is present.
|
|
5398
|
-
* nest an `<ng-template>` tag with the `kendoGridNoRecordsTemplate`
|
|
5399
|
-
*
|
|
5400
|
-
* > When the locked columns of the Grid are in use, the template is displayed in the non-locked part of the content.
|
|
5144
|
+
* appearance of the item that is displayed when no data is present.
|
|
5145
|
+
* To define the no-records template, nest an `<ng-template>` tag with the `kendoGridNoRecordsTemplate`
|
|
5146
|
+
* directive inside `<kendo-grid>` [see example](slug:norecordtemplate_grid).
|
|
5401
5147
|
*
|
|
5402
5148
|
* @example
|
|
5403
|
-
* ```
|
|
5404
|
-
*
|
|
5405
|
-
*
|
|
5406
|
-
*
|
|
5407
|
-
* template
|
|
5408
|
-
*
|
|
5409
|
-
*
|
|
5410
|
-
*
|
|
5411
|
-
* <kendo-grid-column field="UnitPrice"></kendo-grid-column>
|
|
5412
|
-
* <ng-template kendoGridNoRecordsTemplate>
|
|
5413
|
-
* There are not products. <a href="#" (click)="refresh()">Click here to refresh</a>.
|
|
5414
|
-
* </ng-template>
|
|
5415
|
-
* </kendo-grid>
|
|
5416
|
-
* `
|
|
5417
|
-
* })
|
|
5418
|
-
*
|
|
5419
|
-
* class AppComponent {
|
|
5420
|
-
* public data = [];
|
|
5421
|
-
* public refresh() {
|
|
5422
|
-
* this.data = [{
|
|
5423
|
-
* "ProductID": 1,
|
|
5424
|
-
* "ProductName": "Chai",
|
|
5425
|
-
* "UnitPrice": 18.0000,
|
|
5426
|
-
* "Discontinued": false,
|
|
5427
|
-
* "Category": {
|
|
5428
|
-
* "CategoryID": 1,
|
|
5429
|
-
* "CategoryName": "Beverages",
|
|
5430
|
-
* "Description": "Soft drinks, coffees, teas, beers, and ales"
|
|
5431
|
-
* }
|
|
5432
|
-
* }, {
|
|
5433
|
-
* "ProductID": 2,
|
|
5434
|
-
* "ProductName": "Chang",
|
|
5435
|
-
* "UnitPrice": 19.0000,
|
|
5436
|
-
* "Discontinued": false,
|
|
5437
|
-
* "Category": {
|
|
5438
|
-
* "CategoryID": 1,
|
|
5439
|
-
* "CategoryName": "Beverages",
|
|
5440
|
-
* "Description": "Soft drinks, coffees, teas, beers, and ales"
|
|
5441
|
-
* }
|
|
5442
|
-
* }, {
|
|
5443
|
-
* "ProductID": 3,
|
|
5444
|
-
* "ProductName": "Aniseed Syrup",
|
|
5445
|
-
* "UnitPrice": 10.0000,
|
|
5446
|
-
* "Discontinued": false,
|
|
5447
|
-
* "Category": {
|
|
5448
|
-
* "CategoryID": 2,
|
|
5449
|
-
* "CategoryName": "Condiments",
|
|
5450
|
-
* "Description": "Sweet and savory sauces, relishes, spreads, and seasonings"
|
|
5451
|
-
* }
|
|
5452
|
-
* }];
|
|
5453
|
-
*
|
|
5454
|
-
* }
|
|
5455
|
-
* }
|
|
5456
|
-
*
|
|
5149
|
+
* ```html
|
|
5150
|
+
* <kendo-grid [data]="data">
|
|
5151
|
+
* <ng-template kendoGridNoRecordsTemplate>
|
|
5152
|
+
* There are not products. <a href="#" (click)="refresh()">Click here to refresh</a>.
|
|
5153
|
+
* </ng-template>
|
|
5154
|
+
* <kendo-grid-column field="ProductID"></kendo-grid-column>
|
|
5155
|
+
* <kendo-grid-column field="ProductName"></kendo-grid-column>
|
|
5156
|
+
* </kendo-grid>
|
|
5457
5157
|
* ```
|
|
5458
5158
|
*/
|
|
5459
5159
|
class NoRecordsTemplateDirective {
|
|
@@ -5568,7 +5268,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
5568
5268
|
|
|
5569
5269
|
/**
|
|
5570
5270
|
* Represents the pager template which helps to customize the pager appearance in the Grid. To define a pager
|
|
5571
|
-
* template, nest an `<ng-template>` tag with the `kendoPagerTemplate` directive inside `<kendo-grid
|
|
5271
|
+
* template, nest an `<ng-template>` tag with the `kendoPagerTemplate` directive inside `<kendo-grid>` tag
|
|
5272
|
+
* [see example](slug:pager_template_grid).
|
|
5572
5273
|
*
|
|
5573
5274
|
* The template context provides the following fields:
|
|
5574
5275
|
* * `currentPage`—The index of the displayed page.
|
|
@@ -5576,53 +5277,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
5576
5277
|
* * `skip`—The current skip value.
|
|
5577
5278
|
* * `total`—The total number of records.
|
|
5578
5279
|
* * `totalPages`—The total number of available pages.
|
|
5579
|
-
* * Needs to be provided as an input to inner pager components used within the template when the Grid is navigable.
|
|
5580
5280
|
*
|
|
5581
5281
|
* @example
|
|
5582
|
-
* ```
|
|
5583
|
-
*
|
|
5584
|
-
*
|
|
5585
|
-
*
|
|
5586
|
-
*
|
|
5587
|
-
*
|
|
5588
|
-
*
|
|
5589
|
-
*
|
|
5590
|
-
*
|
|
5591
|
-
*
|
|
5592
|
-
*
|
|
5593
|
-
* </kendo-grid-column>
|
|
5594
|
-
* <kendo-grid-column field="ProductName" title="Name" [width]="250">
|
|
5595
|
-
* </kendo-grid-column>
|
|
5596
|
-
* <kendo-grid-column field="UnitPrice" title="Price" [width]="80" format="{0:c}">
|
|
5597
|
-
* </kendo-grid-column>
|
|
5598
|
-
*
|
|
5599
|
-
* <ng-template kendoPagerTemplate let-totalPages="totalPages" let-currentPage="currentPage">
|
|
5600
|
-
* <kendo-pager-prev-buttons></kendo-pager-prev-buttons>
|
|
5601
|
-
* <kendo-pager-numeric-buttons [buttonCount]="10"></kendo-pager-numeric-buttons>
|
|
5602
|
-
* <kendo-pager-next-buttons></kendo-pager-next-buttons>
|
|
5603
|
-
* <kendo-pager-info></kendo-pager-info>
|
|
5604
|
-
* Current page: {{currentPage}}
|
|
5605
|
-
* </ng-template>
|
|
5606
|
-
*
|
|
5607
|
-
* </kendo-grid>
|
|
5608
|
-
* `
|
|
5609
|
-
* })
|
|
5610
|
-
*
|
|
5611
|
-
* class AppComponent {
|
|
5612
|
-
* public gridData = [{
|
|
5613
|
-
* "ProductID": 1,
|
|
5614
|
-
* "ProductName": "Chai",
|
|
5615
|
-
* "UnitPrice": 18.0000,
|
|
5616
|
-
* "Discontinued": false
|
|
5617
|
-
* }, {
|
|
5618
|
-
* "ProductID": 2,
|
|
5619
|
-
* "ProductName": "Chang",
|
|
5620
|
-
* "UnitPrice": 19.0000,
|
|
5621
|
-
* "Discontinued": true
|
|
5622
|
-
* }
|
|
5623
|
-
* ];
|
|
5624
|
-
* }
|
|
5625
|
-
*
|
|
5282
|
+
* ```html
|
|
5283
|
+
* <kendo-grid ... [pageable]="true">
|
|
5284
|
+
* <ng-template kendoPagerTemplate let-totalPages="totalPages" let-currentPage="currentPage">
|
|
5285
|
+
* <kendo-pager-prev-buttons></kendo-pager-prev-buttons>
|
|
5286
|
+
* <kendo-pager-next-buttons></kendo-pager-next-buttons>
|
|
5287
|
+
* <kendo-pager-info></kendo-pager-info>
|
|
5288
|
+
* Current page: {{currentPage}}
|
|
5289
|
+
* </ng-template>
|
|
5290
|
+
* <kendo-grid-column field="ProductID"></kendo-grid-column>
|
|
5291
|
+
* <kendo-grid-column field="ProductName"></kendo-grid-column>
|
|
5292
|
+
* </kendo-grid>
|
|
5626
5293
|
* ```
|
|
5627
5294
|
*/
|
|
5628
5295
|
class PagerTemplateDirective {
|
|
@@ -5768,56 +5435,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
5768
5435
|
* - `position`—The position at which the toolbar template is rendered. The possible values are "top" and "bottom".
|
|
5769
5436
|
*
|
|
5770
5437
|
* @example
|
|
5771
|
-
* ```
|
|
5772
|
-
*
|
|
5773
|
-
*
|
|
5774
|
-
*
|
|
5775
|
-
*
|
|
5776
|
-
*
|
|
5777
|
-
*
|
|
5778
|
-
*
|
|
5779
|
-
* <input type="radio" id="bottom" name="position" value="bottom" (click)="positionChange($event)"/>
|
|
5780
|
-
* <label class="k-radio-label" for="bottom">Bottom</label><br/>
|
|
5781
|
-
* <input type="radio" id="both" name="position" value="both" (click)="positionChange($event)"/>
|
|
5782
|
-
* <label class="k-radio-label" for="both">Both</label><br/>
|
|
5783
|
-
* </div>
|
|
5784
|
-
* <kendo-grid [data]="gridData" style="height: 200px">
|
|
5785
|
-
* <ng-template kendoGridToolbarTemplate [position]="position" let-position="position">
|
|
5786
|
-
* <button (click)="onClick()">Custom action</button>
|
|
5787
|
-
* </ng-template>
|
|
5788
|
-
* <kendo-grid-column field="ProductName">
|
|
5789
|
-
* </kendo-grid-column>
|
|
5790
|
-
* <kendo-grid-column field="UnitPrice">
|
|
5791
|
-
* </kendo-grid-column>
|
|
5792
|
-
* </kendo-grid>
|
|
5793
|
-
* `
|
|
5794
|
-
* })
|
|
5795
|
-
*
|
|
5796
|
-
* class AppComponent {
|
|
5797
|
-
* public position: 'top' | 'bottom' | 'both' = 'top';
|
|
5798
|
-
*
|
|
5799
|
-
* public gridData = [{
|
|
5800
|
-
* "ProductID": 1,
|
|
5801
|
-
* "ProductName": "Chai",
|
|
5802
|
-
* "UnitPrice": 18.0000,
|
|
5803
|
-
* "Discontinued": false
|
|
5804
|
-
* }, {
|
|
5805
|
-
* "ProductID": 2,
|
|
5806
|
-
* "ProductName": "Chang",
|
|
5807
|
-
* "UnitPrice": 19.0000,
|
|
5808
|
-
* "Discontinued": true
|
|
5809
|
-
* }
|
|
5810
|
-
* ];
|
|
5811
|
-
*
|
|
5812
|
-
* public onClick(): void {
|
|
5813
|
-
* console.log("button was clicked");
|
|
5814
|
-
* }
|
|
5815
|
-
*
|
|
5816
|
-
* public positionChange({ target }): void {
|
|
5817
|
-
* this.position = target.value;
|
|
5818
|
-
* }
|
|
5819
|
-
* }
|
|
5820
|
-
*
|
|
5438
|
+
* ```html
|
|
5439
|
+
* <kendo-grid [data]="gridData" style="height: 200px">
|
|
5440
|
+
* <ng-template kendoGridToolbarTemplate [position]="position" let-position="position">
|
|
5441
|
+
* <button (click)="onClick()">Custom action</button>
|
|
5442
|
+
* </ng-template>
|
|
5443
|
+
* <kendo-grid-column field="ProductName">
|
|
5444
|
+
* </kendo-grid-column>
|
|
5445
|
+
* </kendo-grid>
|
|
5821
5446
|
* ```
|
|
5822
5447
|
*/
|
|
5823
5448
|
class ToolbarTemplateDirective {
|
|
@@ -5826,13 +5451,9 @@ class ToolbarTemplateDirective {
|
|
|
5826
5451
|
this._position = 'top';
|
|
5827
5452
|
}
|
|
5828
5453
|
/**
|
|
5829
|
-
* The position of the toolbar ([see example]({% slug toolbartemplate_grid %})).
|
|
5454
|
+
* The position of the toolbar ([see example]({% slug toolbartemplate_grid %}#toc-setting-the-toolbar-position)).
|
|
5830
5455
|
*
|
|
5831
|
-
*
|
|
5832
|
-
* - `top`—Positions the toolbar above the group panel or header.
|
|
5833
|
-
* - `bottom`—Positions the toolbar below the pager.
|
|
5834
|
-
* - `both`—Displays two toolbar instances. Positions the first one above
|
|
5835
|
-
* the group panel or header and the second one below the pager.
|
|
5456
|
+
* @default 'top'
|
|
5836
5457
|
*/
|
|
5837
5458
|
set position(position) {
|
|
5838
5459
|
this._position = position;
|
|
@@ -6118,7 +5739,7 @@ class PopupCloseEvent extends PreventableEvent {
|
|
|
6118
5739
|
const DEFAULT_POPUP_CLASS = 'k-grid-filter-popup';
|
|
6119
5740
|
/**
|
|
6120
5741
|
* The service that is used for the popups of the filter and column menus
|
|
6121
|
-
* ([see example]({% slug filter_menu %}#toc-
|
|
5742
|
+
* ([see example]({% slug filter_menu %}#toc-filter-menu-with-popup)).
|
|
6122
5743
|
*/
|
|
6123
5744
|
class SinglePopupService {
|
|
6124
5745
|
constructor(popupService, renderer, ngZone, scrollSyncService, localization) {
|
|
@@ -6236,17 +5857,17 @@ const append = (element) => {
|
|
|
6236
5857
|
/**
|
|
6237
5858
|
* @hidden
|
|
6238
5859
|
*/
|
|
6239
|
-
const getDocument = element => element.ownerDocument.documentElement;
|
|
5860
|
+
const getDocument$1 = element => element.ownerDocument.documentElement;
|
|
6240
5861
|
/**
|
|
6241
5862
|
* @hidden
|
|
6242
5863
|
*/
|
|
6243
|
-
const getWindow = element => element.ownerDocument.defaultView;
|
|
5864
|
+
const getWindow$1 = element => element.ownerDocument.defaultView;
|
|
6244
5865
|
/**
|
|
6245
5866
|
* @hidden
|
|
6246
5867
|
*/
|
|
6247
5868
|
const offset = element => {
|
|
6248
|
-
const { clientTop, clientLeft } = getDocument(element);
|
|
6249
|
-
const { pageYOffset, pageXOffset } = getWindow(element);
|
|
5869
|
+
const { clientTop, clientLeft } = getDocument$1(element);
|
|
5870
|
+
const { pageYOffset, pageXOffset } = getWindow$1(element);
|
|
6250
5871
|
const { top, left } = element.getBoundingClientRect();
|
|
6251
5872
|
return {
|
|
6252
5873
|
top: top + pageYOffset - clientTop,
|
|
@@ -6661,17 +6282,20 @@ class ColumnStickyChangeEvent {
|
|
|
6661
6282
|
/**
|
|
6662
6283
|
* Represents the virtual scrolling cell template of the Grid while loading new data. Provides an option to customize the
|
|
6663
6284
|
* appearance of the indicator that is displayed while new data is loading. To define the loading cell template,
|
|
6664
|
-
* nest an `<ng-template>` tag with the `kendoGridCellLoadingTemplate` directive inside `<kendo-grid>`
|
|
6285
|
+
* nest an `<ng-template>` tag with the `kendoGridCellLoadingTemplate` directive inside `<kendo-grid>` tag [see example]({% slug virtualscrolling_grid %}#toc-custom-loading-skeleton).
|
|
6286
|
+
*
|
|
6287
|
+
*
|
|
6288
|
+
* The template context is set to the current column and the following additional field is passed:
|
|
6665
6289
|
*
|
|
6666
|
-
* The
|
|
6290
|
+
* - `column`—The current column instance. Represents the default context that will be assigned to any template variable which utilizes the `let-x` syntax (for example `let-column`).
|
|
6667
6291
|
*
|
|
6668
6292
|
* @example
|
|
6669
|
-
* ```
|
|
6670
|
-
*
|
|
6671
|
-
*
|
|
6672
|
-
*
|
|
6673
|
-
*
|
|
6674
|
-
*
|
|
6293
|
+
* ```html
|
|
6294
|
+
* <kendo-grid ... scrollable="virtual" [rowHeight]="36" [height]="450">
|
|
6295
|
+
* <ng-template kendoGridCellLoadingTemplate let-column>
|
|
6296
|
+
* ...
|
|
6297
|
+
* </ng-template>
|
|
6298
|
+
* </kendo-grid>
|
|
6675
6299
|
* ```
|
|
6676
6300
|
*/
|
|
6677
6301
|
class CellLoadingTemplateDirective {
|
|
@@ -6695,7 +6319,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
6695
6319
|
/**
|
|
6696
6320
|
* Creates a loading template that overrides the default loading indicator of the Grid Component.
|
|
6697
6321
|
* To define a loading template, nest an `<ng-template>` tag with the `kendoGridLoadingTemplate` directive inside the `<kendo-grid>` tag
|
|
6698
|
-
* [see example](
|
|
6322
|
+
* ([see example](slug:loadingtemplate_grid)).
|
|
6699
6323
|
*/
|
|
6700
6324
|
class LoadingTemplateDirective {
|
|
6701
6325
|
constructor(templateRef) {
|
|
@@ -6711,6 +6335,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
6711
6335
|
}]
|
|
6712
6336
|
}], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });
|
|
6713
6337
|
|
|
6338
|
+
/**
|
|
6339
|
+
* @hidden
|
|
6340
|
+
*/
|
|
6714
6341
|
class SizingOptionsService {
|
|
6715
6342
|
constructor() {
|
|
6716
6343
|
this.changes = new Subject();
|
|
@@ -6722,6 +6349,315 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
6722
6349
|
type: Injectable
|
|
6723
6350
|
}] });
|
|
6724
6351
|
|
|
6352
|
+
/**
|
|
6353
|
+
* @hidden
|
|
6354
|
+
*/
|
|
6355
|
+
const isNextSibling = (dropTarget, dragTarget) => dropTarget === dragTarget.nextElementSibling;
|
|
6356
|
+
/**
|
|
6357
|
+
* @hidden
|
|
6358
|
+
*/
|
|
6359
|
+
const isPreviousSibling = (dropTarget, dragTarget) => dropTarget === dragTarget.previousElementSibling;
|
|
6360
|
+
/**
|
|
6361
|
+
* @hidden
|
|
6362
|
+
*/
|
|
6363
|
+
const isDifferentParent = (dropTarget, dragTarget) => (dropTarget === null || dropTarget === void 0 ? void 0 : dropTarget.parentElement) !== (dragTarget === null || dragTarget === void 0 ? void 0 : dragTarget.parentElement);
|
|
6364
|
+
/**
|
|
6365
|
+
* @hidden
|
|
6366
|
+
*/
|
|
6367
|
+
function getOffset(element) {
|
|
6368
|
+
const { clientTop, clientLeft } = getDocument(element);
|
|
6369
|
+
const { pageYOffset, pageXOffset } = getWindow(element);
|
|
6370
|
+
const { top, left } = element.getBoundingClientRect();
|
|
6371
|
+
return {
|
|
6372
|
+
top: top + pageYOffset - clientTop,
|
|
6373
|
+
left: left + pageXOffset - clientLeft
|
|
6374
|
+
};
|
|
6375
|
+
}
|
|
6376
|
+
;
|
|
6377
|
+
/**
|
|
6378
|
+
* @hidden
|
|
6379
|
+
*/
|
|
6380
|
+
const hintIcons = {
|
|
6381
|
+
forbidden: 'cancel',
|
|
6382
|
+
before: 'insert-middle',
|
|
6383
|
+
after: 'insert-middle'
|
|
6384
|
+
};
|
|
6385
|
+
/**
|
|
6386
|
+
* @hidden
|
|
6387
|
+
*/
|
|
6388
|
+
const hintSVGIcons = {
|
|
6389
|
+
forbidden: cancelIcon,
|
|
6390
|
+
before: insertMiddleIcon,
|
|
6391
|
+
after: insertMiddleIcon
|
|
6392
|
+
};
|
|
6393
|
+
/**
|
|
6394
|
+
* @hidden
|
|
6395
|
+
*/
|
|
6396
|
+
const dropPosition = {
|
|
6397
|
+
forbidden: 'forbidden',
|
|
6398
|
+
before: 'before',
|
|
6399
|
+
after: 'after'
|
|
6400
|
+
};
|
|
6401
|
+
/**
|
|
6402
|
+
* @hidden
|
|
6403
|
+
*/
|
|
6404
|
+
const hintStyles = {
|
|
6405
|
+
zIndex: '20000',
|
|
6406
|
+
display: 'flex',
|
|
6407
|
+
position: 'fixed'
|
|
6408
|
+
};
|
|
6409
|
+
/**
|
|
6410
|
+
* @hidden
|
|
6411
|
+
*/
|
|
6412
|
+
const hintClasses = ['k-drag-clue', 'k-reorder-clue'];
|
|
6413
|
+
/**
|
|
6414
|
+
* @hidden
|
|
6415
|
+
*/
|
|
6416
|
+
const dropIndicatorStyles = {
|
|
6417
|
+
zIndex: '19000',
|
|
6418
|
+
position: 'absolute'
|
|
6419
|
+
};
|
|
6420
|
+
/**
|
|
6421
|
+
* @hidden
|
|
6422
|
+
*/
|
|
6423
|
+
const dropIndicatorClasses = ['k-drop-hint', 'k-drop-hint-h'];
|
|
6424
|
+
/**
|
|
6425
|
+
* @hidden
|
|
6426
|
+
*/
|
|
6427
|
+
const defaultSelectors = {
|
|
6428
|
+
handle: '.k-table-td.k-drag-cell',
|
|
6429
|
+
dragTarget: '.k-master-row',
|
|
6430
|
+
dropTarget: '.k-master-row'
|
|
6431
|
+
};
|
|
6432
|
+
const getDocument = element => element === null || element === void 0 ? void 0 : element.ownerDocument.documentElement;
|
|
6433
|
+
const getWindow = element => element === null || element === void 0 ? void 0 : element.ownerDocument.defaultView;
|
|
6434
|
+
|
|
6435
|
+
/**
|
|
6436
|
+
* @hidden
|
|
6437
|
+
*/
|
|
6438
|
+
class RowReorderService {
|
|
6439
|
+
constructor(renderer) {
|
|
6440
|
+
this.renderer = renderer;
|
|
6441
|
+
this.hintElement = null;
|
|
6442
|
+
this.defaultSelectors = defaultSelectors;
|
|
6443
|
+
this.hintText = '';
|
|
6444
|
+
this.lastDropPosition = dropPosition.forbidden;
|
|
6445
|
+
this.dragTarget = null;
|
|
6446
|
+
this.dropTarget = null;
|
|
6447
|
+
this.rowReorder = new EventEmitter();
|
|
6448
|
+
}
|
|
6449
|
+
press(ev) {
|
|
6450
|
+
this.dragTarget = ev.dragTarget;
|
|
6451
|
+
this.offsetY = ev.dragEvent.offsetY;
|
|
6452
|
+
}
|
|
6453
|
+
dragStart() {
|
|
6454
|
+
this.createDropIndicator();
|
|
6455
|
+
}
|
|
6456
|
+
drag(ev) {
|
|
6457
|
+
if (isPresent$1(ev.hintElement) && !isPresent$1(this.hintElement)) {
|
|
6458
|
+
this.hintElement = ev.hintElement;
|
|
6459
|
+
this.decorateHint();
|
|
6460
|
+
}
|
|
6461
|
+
const position = {
|
|
6462
|
+
x: ev.dragEvent.clientX,
|
|
6463
|
+
y: ev.dragEvent.clientY - this.offsetY
|
|
6464
|
+
};
|
|
6465
|
+
if (isPresent$1(this.hintElement)) {
|
|
6466
|
+
this.renderer.setStyle(this.hintElement, 'left', `${position.x}px`);
|
|
6467
|
+
this.renderer.setStyle(this.hintElement, 'top', `${position.y}px`);
|
|
6468
|
+
}
|
|
6469
|
+
this.positionDropIndicator(ev);
|
|
6470
|
+
}
|
|
6471
|
+
dragEnter(ev) {
|
|
6472
|
+
this.dropTarget = ev.dropTarget;
|
|
6473
|
+
}
|
|
6474
|
+
dragLeave() {
|
|
6475
|
+
this.dropTarget = null;
|
|
6476
|
+
this.hide();
|
|
6477
|
+
}
|
|
6478
|
+
dragEnd() {
|
|
6479
|
+
this.destroyDropIndicator();
|
|
6480
|
+
this.dragTarget = null;
|
|
6481
|
+
this.dropTarget = null;
|
|
6482
|
+
this.hintElement = null;
|
|
6483
|
+
}
|
|
6484
|
+
drop(ev) {
|
|
6485
|
+
this.destroyDropIndicator();
|
|
6486
|
+
const rowReorderArgs = this.rowReorderArgs(this.dragTarget, this.dropTarget, ev.dragData);
|
|
6487
|
+
this.rowReorder.emit(rowReorderArgs);
|
|
6488
|
+
}
|
|
6489
|
+
reorderRows(ev, collection) {
|
|
6490
|
+
if (this.lastDropPosition === dropPosition.forbidden) {
|
|
6491
|
+
return;
|
|
6492
|
+
}
|
|
6493
|
+
;
|
|
6494
|
+
const { draggedRows, dropTargetRow } = ev;
|
|
6495
|
+
const draggedDataItem = draggedRows[0].dataItem;
|
|
6496
|
+
const dropTargetDataItem = dropTargetRow.dataItem;
|
|
6497
|
+
const draggedItemIndex = collection.indexOf(draggedDataItem);
|
|
6498
|
+
const dropTargetIndex = collection.indexOf(dropTargetDataItem);
|
|
6499
|
+
const idxToAdd = this.calculateIndexToAdd(draggedItemIndex, dropTargetIndex);
|
|
6500
|
+
collection.splice(draggedItemIndex, 1);
|
|
6501
|
+
collection.splice(idxToAdd, 0, draggedDataItem);
|
|
6502
|
+
}
|
|
6503
|
+
get hintIcon() {
|
|
6504
|
+
return hintIcons[this.lastDropPosition];
|
|
6505
|
+
}
|
|
6506
|
+
get hintSVGIcon() {
|
|
6507
|
+
return hintSVGIcons[this.lastDropPosition];
|
|
6508
|
+
}
|
|
6509
|
+
getDefaultHintText(columns, data) {
|
|
6510
|
+
let hintText = '';
|
|
6511
|
+
const columnFieldsArray = columns
|
|
6512
|
+
.toArray()
|
|
6513
|
+
.filter(column => !column.hidden && isPresent$1(column.field))
|
|
6514
|
+
.map(column => column.field);
|
|
6515
|
+
const draggedDragRow = this.getDragRowPerElement(this.dragTarget, data);
|
|
6516
|
+
const draggedDataItem = draggedDragRow === null || draggedDragRow === void 0 ? void 0 : draggedDragRow.dataItem;
|
|
6517
|
+
isPresent$1(draggedDataItem) && columnFieldsArray.forEach(column => {
|
|
6518
|
+
const columnValue = draggedDataItem[column];
|
|
6519
|
+
isPresent$1(columnValue) ? hintText += `${columnValue} ` : null;
|
|
6520
|
+
});
|
|
6521
|
+
return hintText.trim();
|
|
6522
|
+
}
|
|
6523
|
+
rowReorderArgs(dragRow, dropRow, data) {
|
|
6524
|
+
const dragRowData = this.getDragRowPerElement(dragRow, data);
|
|
6525
|
+
const dropRowData = this.getDragRowPerElement(dropRow, data);
|
|
6526
|
+
return {
|
|
6527
|
+
draggedRows: [dragRowData],
|
|
6528
|
+
dropTargetRow: dropRowData,
|
|
6529
|
+
dropPosition: this.lastDropPosition
|
|
6530
|
+
};
|
|
6531
|
+
}
|
|
6532
|
+
getDragRowPerElement(row, data) {
|
|
6533
|
+
let rowIndex = row === null || row === void 0 ? void 0 : row.getAttribute('data-kendo-grid-item-index');
|
|
6534
|
+
rowIndex = rowIndex ? parseInt(rowIndex, 10) : -1;
|
|
6535
|
+
const skip = this.skip || 0;
|
|
6536
|
+
const dataItem = rowIndex === -1 ? null : data[rowIndex - skip];
|
|
6537
|
+
return {
|
|
6538
|
+
dataItem,
|
|
6539
|
+
rowIndex,
|
|
6540
|
+
element: row
|
|
6541
|
+
};
|
|
6542
|
+
}
|
|
6543
|
+
createDropIndicator() {
|
|
6544
|
+
if (!isDocumentAvailable()) {
|
|
6545
|
+
return;
|
|
6546
|
+
}
|
|
6547
|
+
this.dropIndicator = document.createElement('div');
|
|
6548
|
+
this.decorateDropIndicator();
|
|
6549
|
+
this.dropIndicator.innerHTML = `
|
|
6550
|
+
<div class="k-drop-hint-start"></div>
|
|
6551
|
+
<div class="k-drop-hint-line"></div>
|
|
6552
|
+
`;
|
|
6553
|
+
document.body.appendChild(this.dropIndicator);
|
|
6554
|
+
this.hide();
|
|
6555
|
+
}
|
|
6556
|
+
destroyDropIndicator() {
|
|
6557
|
+
if (!isDocumentAvailable()) {
|
|
6558
|
+
return;
|
|
6559
|
+
}
|
|
6560
|
+
;
|
|
6561
|
+
if (this.dropIndicator && this.dropIndicator.parentElement) {
|
|
6562
|
+
document.body.removeChild(this.dropIndicator);
|
|
6563
|
+
this.dropIndicator = null;
|
|
6564
|
+
}
|
|
6565
|
+
}
|
|
6566
|
+
decorateHint() {
|
|
6567
|
+
hintClasses.forEach(className => this.renderer.addClass(this.hintElement, className));
|
|
6568
|
+
Object.keys(hintStyles)
|
|
6569
|
+
.forEach(style => this.renderer.setStyle(this.hintElement, style, hintStyles[style]));
|
|
6570
|
+
}
|
|
6571
|
+
positionDropIndicator(ev) {
|
|
6572
|
+
this.lastDropPosition = this.getDropPosition(ev.dragEvent);
|
|
6573
|
+
this.updateDropIndicatorPosition();
|
|
6574
|
+
}
|
|
6575
|
+
calculateIndexToAdd(dragIndex, dropIndex) {
|
|
6576
|
+
if (dragIndex > dropIndex && this.lastDropPosition === dropPosition.after) {
|
|
6577
|
+
return dropIndex + 1;
|
|
6578
|
+
}
|
|
6579
|
+
else if (dragIndex > dropIndex && this.lastDropPosition === dropPosition.before) {
|
|
6580
|
+
return dropIndex;
|
|
6581
|
+
}
|
|
6582
|
+
else if (dragIndex < dropIndex && this.lastDropPosition === dropPosition.after) {
|
|
6583
|
+
return dropIndex;
|
|
6584
|
+
}
|
|
6585
|
+
else if (dragIndex < dropIndex && this.lastDropPosition === dropPosition.before) {
|
|
6586
|
+
return dropIndex - 1;
|
|
6587
|
+
}
|
|
6588
|
+
}
|
|
6589
|
+
decorateDropIndicator() {
|
|
6590
|
+
dropIndicatorClasses.forEach(className => this.renderer.addClass(this.dropIndicator, className));
|
|
6591
|
+
Object.keys(dropIndicatorStyles)
|
|
6592
|
+
.forEach(style => this.renderer.setStyle(this.dropIndicator, style, dropIndicatorStyles[style]));
|
|
6593
|
+
}
|
|
6594
|
+
;
|
|
6595
|
+
getDropPosition(e) {
|
|
6596
|
+
if (this.dropTarget === this.dragTarget || !isPresent$1(this.dropTarget)) {
|
|
6597
|
+
return dropPosition.forbidden;
|
|
6598
|
+
}
|
|
6599
|
+
;
|
|
6600
|
+
if (isDifferentParent(this.dropTarget, this.dragTarget)) {
|
|
6601
|
+
return dropPosition.forbidden;
|
|
6602
|
+
}
|
|
6603
|
+
;
|
|
6604
|
+
const itemViewPortCoords = this.dropTarget.getBoundingClientRect();
|
|
6605
|
+
const itemDivisionsCount = 2;
|
|
6606
|
+
const itemDivisionHeight = itemViewPortCoords.height / itemDivisionsCount;
|
|
6607
|
+
const pointerPosition = e.clientY;
|
|
6608
|
+
const itemTop = itemViewPortCoords.top;
|
|
6609
|
+
let currentDropPosition = null;
|
|
6610
|
+
if (pointerPosition < itemTop + itemDivisionHeight) {
|
|
6611
|
+
currentDropPosition = dropPosition.before;
|
|
6612
|
+
}
|
|
6613
|
+
else if (pointerPosition >= itemTop + itemViewPortCoords.height - itemDivisionHeight) {
|
|
6614
|
+
currentDropPosition = dropPosition.after;
|
|
6615
|
+
}
|
|
6616
|
+
if (currentDropPosition === dropPosition.before && isNextSibling(this.dropTarget, this.dragTarget)) {
|
|
6617
|
+
currentDropPosition = dropPosition.forbidden;
|
|
6618
|
+
}
|
|
6619
|
+
else if (currentDropPosition === dropPosition.after && isPreviousSibling(this.dropTarget, this.dragTarget)) {
|
|
6620
|
+
currentDropPosition = dropPosition.forbidden;
|
|
6621
|
+
}
|
|
6622
|
+
return currentDropPosition;
|
|
6623
|
+
}
|
|
6624
|
+
updateDropIndicatorPosition() {
|
|
6625
|
+
if (this.shouldHideDropIndicator() || !this.dropTarget) {
|
|
6626
|
+
this.hide();
|
|
6627
|
+
return;
|
|
6628
|
+
}
|
|
6629
|
+
this.show();
|
|
6630
|
+
const destinationItemOffset = getOffset(this.dropTarget);
|
|
6631
|
+
let indicatorOffsetTop = destinationItemOffset.top;
|
|
6632
|
+
const indicatorOffsetLeft = destinationItemOffset.left + this.dropIndicator.offsetWidth / 2;
|
|
6633
|
+
if (this.lastDropPosition === dropPosition.after) {
|
|
6634
|
+
indicatorOffsetTop += this.dropTarget.offsetHeight;
|
|
6635
|
+
}
|
|
6636
|
+
this.renderer.setStyle(this.dropIndicator, 'left', `${indicatorOffsetLeft}px`);
|
|
6637
|
+
this.renderer.setStyle(this.dropIndicator, 'top', `${indicatorOffsetTop}px`);
|
|
6638
|
+
}
|
|
6639
|
+
shouldHideDropIndicator() {
|
|
6640
|
+
return this.lastDropPosition === dropPosition.forbidden;
|
|
6641
|
+
}
|
|
6642
|
+
hide() {
|
|
6643
|
+
if (isPresent$1(this.dropIndicator)) {
|
|
6644
|
+
this.dropIndicator.style.display = 'none';
|
|
6645
|
+
}
|
|
6646
|
+
}
|
|
6647
|
+
show() {
|
|
6648
|
+
if (isPresent$1(this.dropIndicator)) {
|
|
6649
|
+
this.dropIndicator.style.display = '';
|
|
6650
|
+
}
|
|
6651
|
+
}
|
|
6652
|
+
}
|
|
6653
|
+
RowReorderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: RowReorderService, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
6654
|
+
RowReorderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: RowReorderService });
|
|
6655
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: RowReorderService, decorators: [{
|
|
6656
|
+
type: Injectable
|
|
6657
|
+
}], ctorParameters: function () { return [{ type: i0.Renderer2 }]; }, propDecorators: { rowReorder: [{
|
|
6658
|
+
type: Output
|
|
6659
|
+
}] } });
|
|
6660
|
+
|
|
6725
6661
|
/**
|
|
6726
6662
|
* @hidden
|
|
6727
6663
|
*/
|
|
@@ -10480,7 +10416,7 @@ DateFilterMenuInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12
|
|
|
10480
10416
|
</kendo-datepicker-messages>
|
|
10481
10417
|
</kendo-datepicker>
|
|
10482
10418
|
</kendo-grid-filter-menu-input-wrapper>
|
|
10483
|
-
`, isInline: true, components: [{ type: FilterMenuInputWrapperComponent, selector: "kendo-grid-filter-menu-input-wrapper", inputs: ["filterService", "isFirstDropDown", "menuTabbingService", "currentFilter"] }, { type:
|
|
10419
|
+
`, isInline: true, components: [{ type: FilterMenuInputWrapperComponent, selector: "kendo-grid-filter-menu-input-wrapper", inputs: ["filterService", "isFirstDropDown", "menuTabbingService", "currentFilter"] }, { 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", "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"] }, { type: i4$3.DatePickerCustomMessagesComponent, selector: "kendo-datepicker-messages" }], directives: [{ type: FilterInputDirective, selector: "[kendoFilterInput]", inputs: ["filterDelay", "columnLabel", "value"] }] });
|
|
10484
10420
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DateFilterMenuInputComponent, decorators: [{
|
|
10485
10421
|
type: Component,
|
|
10486
10422
|
args: [{
|
|
@@ -11386,27 +11322,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
11386
11322
|
* [ColumnMenuTemplate]({% slug api_grid_columnmenutemplatedirective %}) directive.
|
|
11387
11323
|
*
|
|
11388
11324
|
* @example
|
|
11389
|
-
* ```
|
|
11390
|
-
*
|
|
11391
|
-
*
|
|
11392
|
-
*
|
|
11393
|
-
*
|
|
11394
|
-
*
|
|
11395
|
-
*
|
|
11396
|
-
*
|
|
11397
|
-
*
|
|
11398
|
-
* <kendo-grid-columnmenu-sort [service]="service">
|
|
11399
|
-
* </kendo-grid-columnmenu-sort>
|
|
11400
|
-
* </ng-template>
|
|
11401
|
-
* <kendo-grid-column field="Field1"></kendo-grid-column>
|
|
11402
|
-
* <kendo-grid-column field="Field2"></kendo-grid-column>
|
|
11403
|
-
* </kendo-grid>
|
|
11404
|
-
* `
|
|
11405
|
-
* })
|
|
11406
|
-
*
|
|
11407
|
-
* class AppComponent {
|
|
11408
|
-
* public data: any[] = [{ Field1: 'Foo', Field2: 'Bar' }];
|
|
11409
|
-
* }
|
|
11325
|
+
* ```html
|
|
11326
|
+
* <kendo-grid [data]="data" [columnMenu]="true">
|
|
11327
|
+
* <ng-template kendoGridColumnMenuTemplate let-service="service">
|
|
11328
|
+
* <span class="k-icon k-i-x" (click)="service.close()" </span>
|
|
11329
|
+
* <kendo-grid-columnmenu-sort [service]="service">
|
|
11330
|
+
* </kendo-grid-columnmenu-sort>
|
|
11331
|
+
* </ng-template>
|
|
11332
|
+
* <kendo-grid-column field="Field1"></kendo-grid-column>
|
|
11333
|
+
* </kendo-grid>
|
|
11410
11334
|
*
|
|
11411
11335
|
* ```
|
|
11412
11336
|
*/
|
|
@@ -11478,35 +11402,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
11478
11402
|
|
|
11479
11403
|
/**
|
|
11480
11404
|
* Represents the content template of the
|
|
11481
|
-
* [
|
|
11482
|
-
* Provides an option for specifying the content of a column item.
|
|
11483
|
-
* To define the content template, nest an `<ng-template>` tag with the
|
|
11484
|
-
* `kendoGridColumnMenuItemContentTemplate` directive inside a `<kendo-grid-columnmenu-item>`.
|
|
11485
|
-
*
|
|
11486
|
-
* @example
|
|
11487
|
-
* ```ts-preview
|
|
11488
|
-
*
|
|
11489
|
-
* _@Component({
|
|
11490
|
-
* selector: 'my-app',
|
|
11491
|
-
* template: `
|
|
11492
|
-
* <kendo-grid [data]="data" [columnMenu]="true">
|
|
11493
|
-
* <ng-template kendoGridColumnMenuTemplate>
|
|
11494
|
-
* <kendo-grid-columnmenu-item text="Item Text" [expanded]="true">
|
|
11495
|
-
* <ng-template kendoGridColumnMenuItemContentTemplate>
|
|
11496
|
-
* Item Content
|
|
11497
|
-
* </ng-template>
|
|
11498
|
-
* </kendo-grid-columnmenu-item>
|
|
11499
|
-
* </ng-template>
|
|
11500
|
-
* <kendo-grid-column field="Field1"></kendo-grid-column>
|
|
11501
|
-
* <kendo-grid-column field="Field2"></kendo-grid-column>
|
|
11502
|
-
* </kendo-grid>
|
|
11503
|
-
* `
|
|
11504
|
-
* })
|
|
11505
|
-
*
|
|
11506
|
-
* class AppComponent {
|
|
11507
|
-
* public data: any[] = [{ Field1: 'Foo', Field2: 'Bar' }];
|
|
11508
|
-
* }
|
|
11405
|
+
* [`ColumnMenuItemComponent`]({% slug api_grid_columnmenuitemcomponent %}) component.
|
|
11406
|
+
* Provides an option for specifying the content of a column item.
|
|
11407
|
+
* To define the content template, nest an `<ng-template>` tag with the
|
|
11408
|
+
* `kendoGridColumnMenuItemContentTemplate` directive inside a `<kendo-grid-columnmenu-item>`.
|
|
11509
11409
|
*
|
|
11410
|
+
* @example
|
|
11411
|
+
* ```html
|
|
11412
|
+
* <kendo-grid [data]="data" [columnMenu]="true" ...>
|
|
11413
|
+
* <ng-template kendoGridColumnMenuTemplate>
|
|
11414
|
+
* <kendo-grid-columnmenu-item text="Item Text" [expanded]="true">
|
|
11415
|
+
* <ng-template kendoGridColumnMenuItemContentTemplate>
|
|
11416
|
+
* Item Content
|
|
11417
|
+
* </ng-template>
|
|
11418
|
+
* </kendo-grid-columnmenu-item>
|
|
11419
|
+
* </ng-template>
|
|
11420
|
+
* <kendo-grid-column field="Field1"></kendo-grid-column>
|
|
11421
|
+
* ...
|
|
11422
|
+
* </kendo-grid>
|
|
11510
11423
|
* ```
|
|
11511
11424
|
*/
|
|
11512
11425
|
class ColumnMenuItemContentTemplateDirective {
|
|
@@ -13946,7 +13859,7 @@ DateFilterCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
|
|
|
13946
13859
|
</kendo-datepicker-messages>
|
|
13947
13860
|
</kendo-datepicker>
|
|
13948
13861
|
</kendo-grid-filter-wrapper-cell>
|
|
13949
|
-
`, isInline: true, components: [{ type: FilterCellWrapperComponent, selector: "kendo-grid-filter-wrapper-cell", inputs: ["showOperators"] }, { type:
|
|
13862
|
+
`, isInline: true, components: [{ type: FilterCellWrapperComponent, selector: "kendo-grid-filter-wrapper-cell", inputs: ["showOperators"] }, { 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", "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"] }, { type: i4$3.DatePickerCustomMessagesComponent, selector: "kendo-datepicker-messages" }], directives: [{ type: FilterInputDirective, selector: "[kendoFilterInput]", inputs: ["filterDelay", "columnLabel", "value"] }, { type: FocusableDirective, selector: "[kendoGridFocusable],\n [kendoGridEditCommand],\n [kendoGridRemoveCommand],\n [kendoGridSaveCommand],\n [kendoGridCancelCommand],\n [kendoGridSelectionCheckbox]\n ", inputs: ["kendoGridFocusable"] }] });
|
|
13950
13863
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DateFilterCellComponent, decorators: [{
|
|
13951
13864
|
type: Component,
|
|
13952
13865
|
args: [{
|
|
@@ -14497,7 +14410,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
14497
14410
|
}] } });
|
|
14498
14411
|
|
|
14499
14412
|
/**
|
|
14500
|
-
* Represents the select-all checkbox feature of the Grid ([see example](
|
|
14413
|
+
* Represents the select-all checkbox feature of the Grid ([see example](slug:grid_selection_persistence#toc-selecting-all-items)).
|
|
14414
|
+
*
|
|
14415
|
+
* @example
|
|
14416
|
+
* ```html
|
|
14417
|
+
* <input
|
|
14418
|
+
* type="checkbox"
|
|
14419
|
+
* kendoCheckBox
|
|
14420
|
+
* kendoGridSelectAllCheckbox
|
|
14421
|
+
* [state]="selectAllState"
|
|
14422
|
+
* (selectAllChange)="onSelectAllChange($event)"
|
|
14423
|
+
* />
|
|
14424
|
+
* ```
|
|
14501
14425
|
*/
|
|
14502
14426
|
class SelectAllCheckboxDirective {
|
|
14503
14427
|
constructor(selectionService, el, renderer, ngZone) {
|
|
@@ -16042,53 +15966,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
16042
15966
|
|
|
16043
15967
|
/**
|
|
16044
15968
|
* Represents the row-selection checkbox of the Grid. The directive expects the
|
|
16045
|
-
* index of the current row as an input parameter. Inside the
|
|
16046
|
-
*
|
|
16047
|
-
*
|
|
16048
|
-
* with the directive, a [selectionChange]({% slug api_grid_gridcomponent %}#toc-selectionChange)
|
|
15969
|
+
* index of the current row as an input parameter. Inside the [`CellTemplateDirective`](slug:api_grid_celltemplatedirective), apply the
|
|
15970
|
+
* `kendoGridSelectionCheckbox` to an `<input type="checkbox"/>` element. When the user clicks the checkbox that is associated
|
|
15971
|
+
* with the directive, a [selectionChange](slug:api_grid_gridcomponent#toc-selectionChange)
|
|
16049
15972
|
* event is triggered.
|
|
16050
15973
|
*
|
|
16051
15974
|
* @example
|
|
16052
|
-
* ```
|
|
16053
|
-
*
|
|
16054
|
-
*
|
|
16055
|
-
*
|
|
16056
|
-
*
|
|
16057
|
-
*
|
|
16058
|
-
*
|
|
16059
|
-
*
|
|
16060
|
-
* Select row <input [kendoGridSelectionCheckbox]="idx" />
|
|
16061
|
-
* </ng-template>
|
|
16062
|
-
* </kendo-grid-checkbox-column>
|
|
16063
|
-
* <kendo-grid-column field="ProductID" title="Product ID" [width]="120">
|
|
16064
|
-
* </kendo-grid-column>
|
|
16065
|
-
* <kendo-grid-column field="ProductName" title="Product Name">
|
|
16066
|
-
* </kendo-grid-column>
|
|
16067
|
-
* </kendo-grid>
|
|
16068
|
-
* `
|
|
16069
|
-
* })
|
|
16070
|
-
*
|
|
16071
|
-
* class AppComponent {
|
|
16072
|
-
* public gridData: any[];
|
|
16073
|
-
*
|
|
16074
|
-
* constructor() {
|
|
16075
|
-
* this.gridData = products;
|
|
16076
|
-
* }
|
|
16077
|
-
* }
|
|
16078
|
-
*
|
|
16079
|
-
* const products = [{
|
|
16080
|
-
* "ProductID": 1,
|
|
16081
|
-
* "ProductName": "Chai",
|
|
16082
|
-
* "UnitPrice": 18.0000,
|
|
16083
|
-
* "Discontinued": true
|
|
16084
|
-
* }, {
|
|
16085
|
-
* "ProductID": 2,
|
|
16086
|
-
* "ProductName": "Chang",
|
|
16087
|
-
* "UnitPrice": 19.0000,
|
|
16088
|
-
* "Discontinued": false
|
|
16089
|
-
* }
|
|
16090
|
-
* ];
|
|
16091
|
-
*
|
|
15975
|
+
* ```html
|
|
15976
|
+
* <kendo-grid ... >
|
|
15977
|
+
* <kendo-grid-column>
|
|
15978
|
+
* <ng-template kendoGridCellTemplate let-rowIndex="rowIndex">
|
|
15979
|
+
* <input ... [kendoGridSelectionCheckbox]="rowIndex"/>
|
|
15980
|
+
* </ng-template>
|
|
15981
|
+
* </kendo-grid-column>
|
|
15982
|
+
* </kendo-grid>
|
|
16092
15983
|
* ```
|
|
16093
15984
|
*/
|
|
16094
15985
|
class SelectionCheckboxDirective {
|
|
@@ -16200,12 +16091,19 @@ class CellComponent {
|
|
|
16200
16091
|
this.isNew = false;
|
|
16201
16092
|
this.isLoading = false;
|
|
16202
16093
|
this.isVirtual = false;
|
|
16094
|
+
this.reorderIcon = reorderIcon;
|
|
16203
16095
|
this._templateContext = {};
|
|
16204
16096
|
this._editTemplateContext = {};
|
|
16205
16097
|
}
|
|
16206
16098
|
get commandCellClass() {
|
|
16207
16099
|
return this.isCommand(this.column);
|
|
16208
16100
|
}
|
|
16101
|
+
get dragHandleCellClass() {
|
|
16102
|
+
return isRowReorderColumn(this.column);
|
|
16103
|
+
}
|
|
16104
|
+
get dragRowHandleLabel() {
|
|
16105
|
+
return isRowReorderColumn(this.column) ? this.localizationService.get('dragRowHandleLabel') : undefined;
|
|
16106
|
+
}
|
|
16209
16107
|
set rowIndex(index) {
|
|
16210
16108
|
this._rowIndex = index;
|
|
16211
16109
|
this.updateCellContext();
|
|
@@ -16262,6 +16160,9 @@ class CellComponent {
|
|
|
16262
16160
|
get childColumns() {
|
|
16263
16161
|
return columnsToRender([this.column]);
|
|
16264
16162
|
}
|
|
16163
|
+
get isRowReorderColumn() {
|
|
16164
|
+
return isRowReorderColumn(this.column) && !this.column.templateRef;
|
|
16165
|
+
}
|
|
16265
16166
|
get isColumnEditable() {
|
|
16266
16167
|
if (!this.column || this.isCommand(this.column)) {
|
|
16267
16168
|
return false;
|
|
@@ -16308,7 +16209,7 @@ class CellComponent {
|
|
|
16308
16209
|
}
|
|
16309
16210
|
}
|
|
16310
16211
|
CellComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: CellComponent, deps: [{ token: EditService }, { token: IdService }, { token: i1.LocalizationService }, { token: CELL_CONTEXT, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
16311
|
-
CellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: CellComponent, selector: "[kendoGridCell]", inputs: { column: "column", columnIndex: "columnIndex", isNew: "isNew", isLoading: "isLoading", isVirtual: "isVirtual", loadingTemplate: "loadingTemplate", rowIndex: "rowIndex", dataItem: "dataItem" }, host: { properties: { "class.k-command-cell": "this.commandCellClass" } }, usesOnChanges: true, ngImport: i0, template: `
|
|
16212
|
+
CellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: CellComponent, selector: "[kendoGridCell]", inputs: { column: "column", columnIndex: "columnIndex", isNew: "isNew", isLoading: "isLoading", isVirtual: "isVirtual", loadingTemplate: "loadingTemplate", rowIndex: "rowIndex", dataItem: "dataItem" }, host: { properties: { "class.k-command-cell": "this.commandCellClass", "class.k-drag-cell": "this.dragHandleCellClass", "class.k-touch-action-none": "this.dragHandleCellClass", "attr.aria-label": "this.dragRowHandleLabel" } }, usesOnChanges: true, ngImport: i0, template: `
|
|
16312
16213
|
<ng-container [ngSwitch]="isEdited">
|
|
16313
16214
|
<ng-container *ngSwitchCase="false">
|
|
16314
16215
|
<ng-container *ngIf="!showLoading; else loading">
|
|
@@ -16329,6 +16230,12 @@ CellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
|
|
|
16329
16230
|
[attr.id]="selectionCheckboxId"
|
|
16330
16231
|
[attr.aria-label]="selectionCheckboxLabel" />
|
|
16331
16232
|
</ng-container>
|
|
16233
|
+
<ng-container *ngIf="isRowReorderColumn && !isNew">
|
|
16234
|
+
<kendo-icon-wrapper
|
|
16235
|
+
name="reorder"
|
|
16236
|
+
[svgIcon]="reorderIcon">
|
|
16237
|
+
</kendo-icon-wrapper>
|
|
16238
|
+
</ng-container>
|
|
16332
16239
|
</ng-container>
|
|
16333
16240
|
<ng-template #loading>
|
|
16334
16241
|
<ng-template
|
|
@@ -16378,7 +16285,7 @@ CellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
|
|
|
16378
16285
|
</ng-container>
|
|
16379
16286
|
</ng-container>
|
|
16380
16287
|
</ng-container>
|
|
16381
|
-
`, isInline: true, components: [{ type: i3.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:
|
|
16288
|
+
`, isInline: true, components: [{ type: i3$1.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass"], exportAs: ["kendoIconWrapper"] }, { type: i3.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", "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 } });
|
|
16382
16289
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: CellComponent, decorators: [{
|
|
16383
16290
|
type: Component,
|
|
16384
16291
|
args: [{
|
|
@@ -16404,6 +16311,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
16404
16311
|
[attr.id]="selectionCheckboxId"
|
|
16405
16312
|
[attr.aria-label]="selectionCheckboxLabel" />
|
|
16406
16313
|
</ng-container>
|
|
16314
|
+
<ng-container *ngIf="isRowReorderColumn && !isNew">
|
|
16315
|
+
<kendo-icon-wrapper
|
|
16316
|
+
name="reorder"
|
|
16317
|
+
[svgIcon]="reorderIcon">
|
|
16318
|
+
</kendo-icon-wrapper>
|
|
16319
|
+
</ng-container>
|
|
16407
16320
|
</ng-container>
|
|
16408
16321
|
<ng-template #loading>
|
|
16409
16322
|
<ng-template
|
|
@@ -16465,6 +16378,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
16465
16378
|
}, propDecorators: { commandCellClass: [{
|
|
16466
16379
|
type: HostBinding,
|
|
16467
16380
|
args: ['class.k-command-cell']
|
|
16381
|
+
}], dragHandleCellClass: [{
|
|
16382
|
+
type: HostBinding,
|
|
16383
|
+
args: ['class.k-drag-cell']
|
|
16384
|
+
}, {
|
|
16385
|
+
type: HostBinding,
|
|
16386
|
+
args: ['class.k-touch-action-none']
|
|
16387
|
+
}], dragRowHandleLabel: [{
|
|
16388
|
+
type: HostBinding,
|
|
16389
|
+
args: ['attr.aria-label']
|
|
16468
16390
|
}], column: [{
|
|
16469
16391
|
type: Input
|
|
16470
16392
|
}], columnIndex: [{
|
|
@@ -18837,7 +18759,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
18837
18759
|
class GridMessages extends ComponentMessages {
|
|
18838
18760
|
}
|
|
18839
18761
|
GridMessages.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GridMessages, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
18840
|
-
GridMessages.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: GridMessages, selector: "kendo-grid-messages-base", inputs: { groupPanelEmpty: "groupPanelEmpty", noRecords: "noRecords", pagerLabel: "pagerLabel", pagerFirstPage: "pagerFirstPage", pagerLastPage: "pagerLastPage", pagerPreviousPage: "pagerPreviousPage", pagerNextPage: "pagerNextPage", pagerPage: "pagerPage", pagerItemsPerPage: "pagerItemsPerPage", pagerOf: "pagerOf", pagerItems: "pagerItems", pagerPageNumberInputTitle: "pagerPageNumberInputTitle", selectPage: "selectPage", filter: "filter", filterInputLabel: "filterInputLabel", filterMenuTitle: "filterMenuTitle", filterMenuOperatorsDropDownLabel: "filterMenuOperatorsDropDownLabel", filterMenuLogicDropDownLabel: "filterMenuLogicDropDownLabel", filterEqOperator: "filterEqOperator", filterNotEqOperator: "filterNotEqOperator", filterIsNullOperator: "filterIsNullOperator", filterIsNotNullOperator: "filterIsNotNullOperator", filterIsEmptyOperator: "filterIsEmptyOperator", filterIsNotEmptyOperator: "filterIsNotEmptyOperator", filterStartsWithOperator: "filterStartsWithOperator", filterContainsOperator: "filterContainsOperator", filterNotContainsOperator: "filterNotContainsOperator", filterEndsWithOperator: "filterEndsWithOperator", filterGteOperator: "filterGteOperator", filterGtOperator: "filterGtOperator", filterLteOperator: "filterLteOperator", filterLtOperator: "filterLtOperator", filterIsTrue: "filterIsTrue", filterIsFalse: "filterIsFalse", filterBooleanAll: "filterBooleanAll", filterAfterOrEqualOperator: "filterAfterOrEqualOperator", filterAfterOperator: "filterAfterOperator", filterBeforeOperator: "filterBeforeOperator", filterBeforeOrEqualOperator: "filterBeforeOrEqualOperator", filterFilterButton: "filterFilterButton", filterClearButton: "filterClearButton", filterAndLogic: "filterAndLogic", filterOrLogic: "filterOrLogic", loading: "loading", gridLabel: "gridLabel", columnMenu: "columnMenu", setColumnPosition: "setColumnPosition", columns: "columns", lock: "lock", unlock: "unlock", stick: "stick", unstick: "unstick", sortable: "sortable", sortAscending: "sortAscending", sortDescending: "sortDescending", autosizeThisColumn: "autosizeThisColumn", autosizeAllColumns: "autosizeAllColumns", sortedAscending: "sortedAscending", sortedDescending: "sortedDescending", sortedDefault: "sortedDefault", columnsApply: "columnsApply", columnsReset: "columnsReset", detailExpand: "detailExpand", detailCollapse: "detailCollapse", filterDateToday: "filterDateToday", filterDateToggle: "filterDateToggle", filterNumericDecrement: "filterNumericDecrement", filterNumericIncrement: "filterNumericIncrement", selectionCheckboxLabel: "selectionCheckboxLabel", selectAllCheckboxLabel: "selectAllCheckboxLabel", groupCollapse: "groupCollapse", groupExpand: "groupExpand", topToolbarLabel: "topToolbarLabel", bottomToolbarLabel: "bottomToolbarLabel", groupPanelLabel: "groupPanelLabel" }, usesInheritance: true, ngImport: i0 });
|
|
18762
|
+
GridMessages.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: GridMessages, selector: "kendo-grid-messages-base", inputs: { groupPanelEmpty: "groupPanelEmpty", noRecords: "noRecords", pagerLabel: "pagerLabel", pagerFirstPage: "pagerFirstPage", pagerLastPage: "pagerLastPage", pagerPreviousPage: "pagerPreviousPage", pagerNextPage: "pagerNextPage", pagerPage: "pagerPage", pagerItemsPerPage: "pagerItemsPerPage", pagerOf: "pagerOf", pagerItems: "pagerItems", pagerPageNumberInputTitle: "pagerPageNumberInputTitle", selectPage: "selectPage", filter: "filter", filterInputLabel: "filterInputLabel", filterMenuTitle: "filterMenuTitle", filterMenuOperatorsDropDownLabel: "filterMenuOperatorsDropDownLabel", filterMenuLogicDropDownLabel: "filterMenuLogicDropDownLabel", filterEqOperator: "filterEqOperator", filterNotEqOperator: "filterNotEqOperator", filterIsNullOperator: "filterIsNullOperator", filterIsNotNullOperator: "filterIsNotNullOperator", filterIsEmptyOperator: "filterIsEmptyOperator", filterIsNotEmptyOperator: "filterIsNotEmptyOperator", filterStartsWithOperator: "filterStartsWithOperator", filterContainsOperator: "filterContainsOperator", filterNotContainsOperator: "filterNotContainsOperator", filterEndsWithOperator: "filterEndsWithOperator", filterGteOperator: "filterGteOperator", filterGtOperator: "filterGtOperator", filterLteOperator: "filterLteOperator", filterLtOperator: "filterLtOperator", filterIsTrue: "filterIsTrue", filterIsFalse: "filterIsFalse", filterBooleanAll: "filterBooleanAll", filterAfterOrEqualOperator: "filterAfterOrEqualOperator", filterAfterOperator: "filterAfterOperator", filterBeforeOperator: "filterBeforeOperator", filterBeforeOrEqualOperator: "filterBeforeOrEqualOperator", filterFilterButton: "filterFilterButton", filterClearButton: "filterClearButton", filterAndLogic: "filterAndLogic", filterOrLogic: "filterOrLogic", loading: "loading", gridLabel: "gridLabel", columnMenu: "columnMenu", setColumnPosition: "setColumnPosition", columns: "columns", lock: "lock", unlock: "unlock", stick: "stick", unstick: "unstick", sortable: "sortable", sortAscending: "sortAscending", sortDescending: "sortDescending", autosizeThisColumn: "autosizeThisColumn", autosizeAllColumns: "autosizeAllColumns", sortedAscending: "sortedAscending", sortedDescending: "sortedDescending", sortedDefault: "sortedDefault", columnsApply: "columnsApply", columnsReset: "columnsReset", detailExpand: "detailExpand", detailCollapse: "detailCollapse", filterDateToday: "filterDateToday", filterDateToggle: "filterDateToggle", filterNumericDecrement: "filterNumericDecrement", filterNumericIncrement: "filterNumericIncrement", selectionCheckboxLabel: "selectionCheckboxLabel", selectAllCheckboxLabel: "selectAllCheckboxLabel", groupCollapse: "groupCollapse", groupExpand: "groupExpand", topToolbarLabel: "topToolbarLabel", bottomToolbarLabel: "bottomToolbarLabel", groupPanelLabel: "groupPanelLabel", dragRowHandleLabel: "dragRowHandleLabel" }, usesInheritance: true, ngImport: i0 });
|
|
18841
18763
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GridMessages, decorators: [{
|
|
18842
18764
|
type: Directive,
|
|
18843
18765
|
args: [{
|
|
@@ -18994,6 +18916,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
18994
18916
|
type: Input
|
|
18995
18917
|
}], groupPanelLabel: [{
|
|
18996
18918
|
type: Input
|
|
18919
|
+
}], dragRowHandleLabel: [{
|
|
18920
|
+
type: Input
|
|
18997
18921
|
}] } });
|
|
18998
18922
|
|
|
18999
18923
|
/**
|
|
@@ -19074,7 +18998,7 @@ const isInEditedCell = (element, gridElement) => closest(element, matchesClasses
|
|
|
19074
18998
|
* ```
|
|
19075
18999
|
*/
|
|
19076
19000
|
class GridComponent {
|
|
19077
|
-
constructor(supportService, selectionService, cellSelectionService, wrapper, groupInfoService, groupsService, changeNotification, detailsService, editService, filterService, pdfService, responsiveService, renderer, excelService, ngZone, scrollSyncService, domEvents, columnResizingService, changeDetectorRef, columnReorderService, columnInfoService, navigationService, sortService, scrollRequestService, localization, ctx, sizingService) {
|
|
19001
|
+
constructor(supportService, selectionService, cellSelectionService, wrapper, groupInfoService, groupsService, changeNotification, detailsService, editService, filterService, pdfService, responsiveService, renderer, excelService, ngZone, scrollSyncService, domEvents, columnResizingService, changeDetectorRef, columnReorderService, columnInfoService, navigationService, sortService, scrollRequestService, localization, ctx, sizingService, rowReorderService) {
|
|
19078
19002
|
this.supportService = supportService;
|
|
19079
19003
|
this.selectionService = selectionService;
|
|
19080
19004
|
this.cellSelectionService = cellSelectionService;
|
|
@@ -19102,11 +19026,7 @@ class GridComponent {
|
|
|
19102
19026
|
this.localization = localization;
|
|
19103
19027
|
this.ctx = ctx;
|
|
19104
19028
|
this.sizingService = sizingService;
|
|
19105
|
-
|
|
19106
|
-
* Sets the data of the Grid. If an array is provided, the Grid automatically gets the total count
|
|
19107
|
-
* ([more information and example]({% slug binding_grid %})).
|
|
19108
|
-
*/
|
|
19109
|
-
this.data = [];
|
|
19029
|
+
this.rowReorderService = rowReorderService;
|
|
19110
19030
|
/**
|
|
19111
19031
|
* Defines the scroll mode used by the Grid.
|
|
19112
19032
|
*
|
|
@@ -19170,6 +19090,10 @@ class GridComponent {
|
|
|
19170
19090
|
* If set to `true`, the grid will render only the columns in the current viewport.
|
|
19171
19091
|
*/
|
|
19172
19092
|
this.virtualColumns = false;
|
|
19093
|
+
/**
|
|
19094
|
+
* @hidden
|
|
19095
|
+
*/
|
|
19096
|
+
this.gridData = () => { return this.flatData; };
|
|
19173
19097
|
/**
|
|
19174
19098
|
* Enables the [filtering]({% slug filtering_grid %}) of the Grid columns that have their `field` option set.
|
|
19175
19099
|
*/
|
|
@@ -19217,12 +19141,6 @@ class GridComponent {
|
|
|
19217
19141
|
* @default false
|
|
19218
19142
|
*/
|
|
19219
19143
|
this.reorderable = false;
|
|
19220
|
-
/**
|
|
19221
|
-
* Specifies if the loading indicator of the Grid will be displayed ([see example]({% slug binding_grid %})).
|
|
19222
|
-
*
|
|
19223
|
-
* @default false
|
|
19224
|
-
*/
|
|
19225
|
-
this.loading = false;
|
|
19226
19144
|
/**
|
|
19227
19145
|
* Specifies if the column menu of the columns will be displayed ([see example]({% slug columnmenu_grid %})).
|
|
19228
19146
|
*
|
|
@@ -19260,6 +19178,11 @@ class GridComponent {
|
|
|
19260
19178
|
* Emits the [SelectionEvent]({% slug api_grid_selectionevent %}#toc-selectionchange).
|
|
19261
19179
|
*/
|
|
19262
19180
|
this.selectionChange = new EventEmitter();
|
|
19181
|
+
/**
|
|
19182
|
+
* Fires when the user drops the dragged row and reordering is performed.
|
|
19183
|
+
* Emits the [RowReorderEvent]({% slug api_grid_selectionevent %}#toc-selectionchange).
|
|
19184
|
+
*/
|
|
19185
|
+
this.rowReorder = new EventEmitter();
|
|
19263
19186
|
/**
|
|
19264
19187
|
* Fires when the data state of the Grid is changed.
|
|
19265
19188
|
*/
|
|
@@ -19371,11 +19294,14 @@ class GridComponent {
|
|
|
19371
19294
|
this._sort = new Array();
|
|
19372
19295
|
this._group = new Array();
|
|
19373
19296
|
this._skip = 0;
|
|
19297
|
+
this._data = [];
|
|
19374
19298
|
this.cachedWindowWidth = 0;
|
|
19375
19299
|
this._rowSelected = null;
|
|
19376
19300
|
this._cellSelected = null;
|
|
19301
|
+
this._rowReorderable = false;
|
|
19377
19302
|
this._navigable = [];
|
|
19378
19303
|
this._size = 'medium';
|
|
19304
|
+
this._loading = false;
|
|
19379
19305
|
this.rtl = false;
|
|
19380
19306
|
this._rowClass = () => null;
|
|
19381
19307
|
validatePackage(packageMetadata);
|
|
@@ -19415,6 +19341,19 @@ class GridComponent {
|
|
|
19415
19341
|
.changes.subscribe(this.reorder.bind(this));
|
|
19416
19342
|
this.columnRangeChangeSubscription = this.columnInfoService.columnRangeChange.subscribe(this.onColumnRangeChange.bind(this));
|
|
19417
19343
|
}
|
|
19344
|
+
/**
|
|
19345
|
+
* Sets the data of the Grid. If an array is provided, the Grid automatically gets the total count
|
|
19346
|
+
* ([more information and example]({% slug binding_grid %})).
|
|
19347
|
+
*/
|
|
19348
|
+
set data(value) {
|
|
19349
|
+
this._data = value;
|
|
19350
|
+
}
|
|
19351
|
+
get data() {
|
|
19352
|
+
return this._data;
|
|
19353
|
+
}
|
|
19354
|
+
get hintText() {
|
|
19355
|
+
return this.rowReorderService.getDefaultHintText(this.columnList, this.flatData);
|
|
19356
|
+
}
|
|
19418
19357
|
/**
|
|
19419
19358
|
* Defines the number of records to be skipped by the pager.
|
|
19420
19359
|
* Required by the [paging]({% slug paging_grid %}) functionality.
|
|
@@ -19424,7 +19363,7 @@ class GridComponent {
|
|
|
19424
19363
|
}
|
|
19425
19364
|
set skip(value) {
|
|
19426
19365
|
if (typeof value === 'number' && value >= 0) {
|
|
19427
|
-
this._skip = value;
|
|
19366
|
+
this._skip = this.rowReorderService.skip = value;
|
|
19428
19367
|
}
|
|
19429
19368
|
}
|
|
19430
19369
|
/**
|
|
@@ -19522,6 +19461,27 @@ class GridComponent {
|
|
|
19522
19461
|
get marqueeSelection() {
|
|
19523
19462
|
return this.selectionService.enableMarquee || this.cellSelectionService.enableMarquee;
|
|
19524
19463
|
}
|
|
19464
|
+
/**
|
|
19465
|
+
* Enables the [row reordering]({% slug reordering_rows_grid %}) of the Grid.
|
|
19466
|
+
* @default false
|
|
19467
|
+
*/
|
|
19468
|
+
set rowReorderable(value) {
|
|
19469
|
+
var _a;
|
|
19470
|
+
this._rowReorderable = value;
|
|
19471
|
+
if (value) {
|
|
19472
|
+
this.rowReorderSubscription = this.rowReorderService.rowReorder.subscribe(args => {
|
|
19473
|
+
this.ngZone.run(() => {
|
|
19474
|
+
this.rowReorder.emit(args);
|
|
19475
|
+
});
|
|
19476
|
+
});
|
|
19477
|
+
}
|
|
19478
|
+
else {
|
|
19479
|
+
(_a = this.rowReorderSubscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();
|
|
19480
|
+
}
|
|
19481
|
+
}
|
|
19482
|
+
get rowReorderable() {
|
|
19483
|
+
return this._rowReorderable;
|
|
19484
|
+
}
|
|
19525
19485
|
/**
|
|
19526
19486
|
* If set to `true`, the user can use dedicated shortcuts to interact with the Grid.
|
|
19527
19487
|
* By default, navigation is disabled and the Grid content is accessible in the normal tab sequence.
|
|
@@ -19664,6 +19624,18 @@ class GridComponent {
|
|
|
19664
19624
|
get activeRow() {
|
|
19665
19625
|
return this.navigationService.activeRow;
|
|
19666
19626
|
}
|
|
19627
|
+
/**
|
|
19628
|
+
* Specifies if the loading indicator of the Grid will be displayed ([see example]({% slug binding_grid %})).
|
|
19629
|
+
*
|
|
19630
|
+
* @default false
|
|
19631
|
+
*/
|
|
19632
|
+
set loading(value) {
|
|
19633
|
+
this._loading = value;
|
|
19634
|
+
this.rowReorderable && this.notifyReorderContainers();
|
|
19635
|
+
}
|
|
19636
|
+
get loading() {
|
|
19637
|
+
return this._loading;
|
|
19638
|
+
}
|
|
19667
19639
|
get dir() {
|
|
19668
19640
|
return this.direction;
|
|
19669
19641
|
}
|
|
@@ -19835,6 +19807,18 @@ class GridComponent {
|
|
|
19835
19807
|
}
|
|
19836
19808
|
return this.pageSize;
|
|
19837
19809
|
}
|
|
19810
|
+
/**
|
|
19811
|
+
* @hidden
|
|
19812
|
+
*/
|
|
19813
|
+
getDefaultSelectors(type) {
|
|
19814
|
+
return this.rowReorderService.defaultSelectors[type];
|
|
19815
|
+
}
|
|
19816
|
+
/**
|
|
19817
|
+
* @hidden
|
|
19818
|
+
*/
|
|
19819
|
+
getHintSettings(type) {
|
|
19820
|
+
return this.rowReorderService[type];
|
|
19821
|
+
}
|
|
19838
19822
|
/**
|
|
19839
19823
|
* Expands the specified master row ([see example]({% slug hierarchy_grid %})).
|
|
19840
19824
|
*
|
|
@@ -20066,6 +20050,9 @@ class GridComponent {
|
|
|
20066
20050
|
if (this.focusElementSubscription) {
|
|
20067
20051
|
this.focusElementSubscription.unsubscribe();
|
|
20068
20052
|
}
|
|
20053
|
+
if (this.rowReorderSubscription) {
|
|
20054
|
+
this.rowReorderSubscription.unsubscribe();
|
|
20055
|
+
}
|
|
20069
20056
|
this.columnRangeChangeSubscription.unsubscribe();
|
|
20070
20057
|
}
|
|
20071
20058
|
/**
|
|
@@ -20565,6 +20552,12 @@ class GridComponent {
|
|
|
20565
20552
|
get isGroupExpanded() {
|
|
20566
20553
|
return this.groupsService.userCallback;
|
|
20567
20554
|
}
|
|
20555
|
+
/**
|
|
20556
|
+
* @hidden
|
|
20557
|
+
*/
|
|
20558
|
+
handleReorderEvents(ev, evType) {
|
|
20559
|
+
this.rowReorderService[evType](ev);
|
|
20560
|
+
}
|
|
20568
20561
|
/**
|
|
20569
20562
|
* @hidden
|
|
20570
20563
|
*/
|
|
@@ -20791,6 +20784,11 @@ class GridComponent {
|
|
|
20791
20784
|
this.closeCell();
|
|
20792
20785
|
this.cancelCell();
|
|
20793
20786
|
this.dataStateChange.emit(x);
|
|
20787
|
+
if (this.rowReorderable) {
|
|
20788
|
+
this.ngZone.onStable.pipe(take(1)).subscribe(() => {
|
|
20789
|
+
this.notifyReorderContainers();
|
|
20790
|
+
});
|
|
20791
|
+
}
|
|
20794
20792
|
});
|
|
20795
20793
|
}
|
|
20796
20794
|
attachEditHandlers() {
|
|
@@ -21073,9 +21071,17 @@ class GridComponent {
|
|
|
21073
21071
|
}
|
|
21074
21072
|
return previousValue.cell !== currentValue.cell;
|
|
21075
21073
|
}
|
|
21074
|
+
notifyReorderContainers() {
|
|
21075
|
+
var _a, _b;
|
|
21076
|
+
(_a = this.dragTargetContainer) === null || _a === void 0 ? void 0 : _a.notify();
|
|
21077
|
+
(_b = this.dropTargetContainer) === null || _b === void 0 ? void 0 : _b.notify();
|
|
21078
|
+
}
|
|
21079
|
+
get flatData() {
|
|
21080
|
+
return isArray(this.data) ? this.data : this.data.data;
|
|
21081
|
+
}
|
|
21076
21082
|
}
|
|
21077
|
-
GridComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GridComponent, deps: [{ token: BrowserSupportService }, { token: SelectionService }, { token: CellSelectionService }, { token: i0.ElementRef }, { token: GroupInfoService }, { token: GroupsService }, { token: ChangeNotificationService }, { token: DetailsService }, { token: EditService }, { token: FilterService }, { token: PDFService }, { token: ResponsiveService }, { token: i0.Renderer2 }, { token: ExcelService }, { token: i0.NgZone }, { token: ScrollSyncService }, { token: DomEventsService }, { token: ColumnResizingService }, { token: i0.ChangeDetectorRef }, { token: ColumnReorderService }, { token: ColumnInfoService }, { token: NavigationService }, { token: SortService }, { token: ScrollRequestService }, { token: i1.LocalizationService }, { token: ContextService }, { token: SizingOptionsService }], target: i0.ɵɵFactoryTarget.Component });
|
|
21078
|
-
GridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: GridComponent, selector: "kendo-grid", inputs: { data: "data", pageSize: "pageSize", height: "height", rowHeight: "rowHeight", detailRowHeight: "detailRowHeight", skip: "skip", scrollable: "scrollable", selectable: "selectable", sort: "sort", size: "size", trackBy: "trackBy", filter: "filter", group: "group", virtualColumns: "virtualColumns", filterable: "filterable", sortable: "sortable", pageable: "pageable", groupable: "groupable", navigable: "navigable", navigatable: "navigatable", autoSize: "autoSize", rowClass: "rowClass", rowSticky: "rowSticky", rowSelected: "rowSelected", cellSelected: "cellSelected", resizable: "resizable", reorderable: "reorderable", loading: "loading", columnMenu: "columnMenu", hideHeader: "hideHeader", isDetailExpanded: "isDetailExpanded", isGroupExpanded: "isGroupExpanded" }, outputs: { filterChange: "filterChange", pageChange: "pageChange", groupChange: "groupChange", sortChange: "sortChange", selectionChange: "selectionChange", dataStateChange: "dataStateChange", groupExpand: "groupExpand", groupCollapse: "groupCollapse", detailExpand: "detailExpand", detailCollapse: "detailCollapse", edit: "edit", cancel: "cancel", save: "save", remove: "remove", add: "add", cellClose: "cellClose", cellClick: "cellClick", pdfExport: "pdfExport", excelExport: "excelExport", columnResize: "columnResize", columnReorder: "columnReorder", columnVisibilityChange: "columnVisibilityChange", columnLockedChange: "columnLockedChange", columnStickyChange: "columnStickyChange", scrollBottom: "scrollBottom", contentScroll: "contentScroll" }, host: { properties: { "attr.dir": "this.dir", "class.k-grid": "this.hostClass", "class.k-grid-sm": "this.sizeSmallClass", "class.k-grid-md": "this.sizeMediumClass", "class.k-grid-lockedcolumns": "this.lockedClasses", "class.k-grid-virtual": "this.virtualClasses", "class.k-grid-no-scrollbar": "this.noScrollbarClass" } }, providers: [
|
|
21083
|
+
GridComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GridComponent, deps: [{ token: BrowserSupportService }, { token: SelectionService }, { token: CellSelectionService }, { token: i0.ElementRef }, { token: GroupInfoService }, { token: GroupsService }, { token: ChangeNotificationService }, { token: DetailsService }, { token: EditService }, { token: FilterService }, { token: PDFService }, { token: ResponsiveService }, { token: i0.Renderer2 }, { token: ExcelService }, { token: i0.NgZone }, { token: ScrollSyncService }, { token: DomEventsService }, { token: ColumnResizingService }, { token: i0.ChangeDetectorRef }, { token: ColumnReorderService }, { token: ColumnInfoService }, { token: NavigationService }, { token: SortService }, { token: ScrollRequestService }, { token: i1.LocalizationService }, { token: ContextService }, { token: SizingOptionsService }, { token: RowReorderService }], target: i0.ɵɵFactoryTarget.Component });
|
|
21084
|
+
GridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: GridComponent, selector: "kendo-grid", inputs: { data: "data", pageSize: "pageSize", height: "height", rowHeight: "rowHeight", detailRowHeight: "detailRowHeight", skip: "skip", scrollable: "scrollable", selectable: "selectable", sort: "sort", size: "size", trackBy: "trackBy", filter: "filter", group: "group", virtualColumns: "virtualColumns", filterable: "filterable", sortable: "sortable", pageable: "pageable", groupable: "groupable", rowReorderable: "rowReorderable", navigable: "navigable", navigatable: "navigatable", autoSize: "autoSize", rowClass: "rowClass", rowSticky: "rowSticky", rowSelected: "rowSelected", cellSelected: "cellSelected", resizable: "resizable", reorderable: "reorderable", loading: "loading", columnMenu: "columnMenu", hideHeader: "hideHeader", isDetailExpanded: "isDetailExpanded", isGroupExpanded: "isGroupExpanded" }, outputs: { filterChange: "filterChange", pageChange: "pageChange", groupChange: "groupChange", sortChange: "sortChange", selectionChange: "selectionChange", rowReorder: "rowReorder", dataStateChange: "dataStateChange", groupExpand: "groupExpand", groupCollapse: "groupCollapse", detailExpand: "detailExpand", detailCollapse: "detailCollapse", edit: "edit", cancel: "cancel", save: "save", remove: "remove", add: "add", cellClose: "cellClose", cellClick: "cellClick", pdfExport: "pdfExport", excelExport: "excelExport", columnResize: "columnResize", columnReorder: "columnReorder", columnVisibilityChange: "columnVisibilityChange", columnLockedChange: "columnLockedChange", columnStickyChange: "columnStickyChange", scrollBottom: "scrollBottom", contentScroll: "contentScroll" }, host: { properties: { "attr.dir": "this.dir", "class.k-grid": "this.hostClass", "class.k-grid-sm": "this.sizeSmallClass", "class.k-grid-md": "this.sizeMediumClass", "class.k-grid-lockedcolumns": "this.lockedClasses", "class.k-grid-virtual": "this.virtualClasses", "class.k-grid-no-scrollbar": "this.noScrollbarClass" } }, providers: [
|
|
21079
21085
|
BrowserSupportService,
|
|
21080
21086
|
LocalizationService,
|
|
21081
21087
|
ColumnInfoService,
|
|
@@ -21116,8 +21122,9 @@ GridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
|
|
|
21116
21122
|
ScrollRequestService,
|
|
21117
21123
|
SortService,
|
|
21118
21124
|
ContextService,
|
|
21119
|
-
SizingOptionsService
|
|
21120
|
-
|
|
21125
|
+
SizingOptionsService,
|
|
21126
|
+
RowReorderService
|
|
21127
|
+
], queries: [{ propertyName: "columns", predicate: ColumnBase }, { propertyName: "detailTemplateChildren", predicate: DetailTemplateDirective }, { propertyName: "cellLoadingTemplateChildren", predicate: CellLoadingTemplateDirective }, { propertyName: "loadingTemplateChildren", predicate: LoadingTemplateDirective }, { 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: `
|
|
21121
21128
|
<ng-container kendoGridLocalizedMessages
|
|
21122
21129
|
i18n-groupPanelEmpty="kendo.grid.groupPanelEmpty|The label visible in the Grid group panel when it is empty"
|
|
21123
21130
|
groupPanelEmpty="Drag a column header and drop it here to group by that column"
|
|
@@ -21343,6 +21350,9 @@ GridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
|
|
|
21343
21350
|
|
|
21344
21351
|
i18n-groupPanelLabel="kendo.grid.groupPanelLabel|The label for the Grid group panel toolbar"
|
|
21345
21352
|
groupPanelLabel="Group panel"
|
|
21353
|
+
|
|
21354
|
+
i18n-dragRowHandleLabel="kendo.grid.dragRowHandleLabel|The label for the Grid drag row handle"
|
|
21355
|
+
dragRowHandleLabel="Drag row"
|
|
21346
21356
|
>
|
|
21347
21357
|
</ng-container>
|
|
21348
21358
|
<kendo-grid-toolbar
|
|
@@ -21470,6 +21480,23 @@ GridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
|
|
|
21470
21480
|
</div>
|
|
21471
21481
|
</div>
|
|
21472
21482
|
<kendo-grid-list
|
|
21483
|
+
kendoDragTargetContainer
|
|
21484
|
+
kendoDropTargetContainer
|
|
21485
|
+
mode="manual"
|
|
21486
|
+
[dragDisabled]="!rowReorderable"
|
|
21487
|
+
[dropDisabled]="!rowReorderable"
|
|
21488
|
+
[dragTargetFilter]="getDefaultSelectors('dragTarget')"
|
|
21489
|
+
[dropTargetFilter]="getDefaultSelectors('dropTarget')"
|
|
21490
|
+
[dragHandle]="getDefaultSelectors('handle')"
|
|
21491
|
+
[hint]="{hintTemplate: defaultHint}"
|
|
21492
|
+
(press)="handleReorderEvents($event, 'press')"
|
|
21493
|
+
(dragStart)="handleReorderEvents($event, 'dragStart')"
|
|
21494
|
+
(drag)="handleReorderEvents($event, 'drag')"
|
|
21495
|
+
(dragEnter)="handleReorderEvents($event, 'dragEnter')"
|
|
21496
|
+
(dragLeave)="handleReorderEvents($event, 'dragLeave')"
|
|
21497
|
+
(dragEnd)="handleReorderEvents($event, 'dragEnd')"
|
|
21498
|
+
(drop)="handleReorderEvents($event, 'drop')"
|
|
21499
|
+
[dragData]="gridData"
|
|
21473
21500
|
[data]="$any(view)"
|
|
21474
21501
|
[rowHeight]="rowHeight"
|
|
21475
21502
|
[detailRowHeight]="detailRowHeight"
|
|
@@ -21635,8 +21662,18 @@ GridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
|
|
|
21635
21662
|
[navigable]="navigation.toolbarEnabled"
|
|
21636
21663
|
[attr.aria-label]="messageFor('bottomToolbarLabel')"
|
|
21637
21664
|
[attr.aria-controls]="ariaRootId"
|
|
21638
|
-
position="bottom"
|
|
21639
|
-
|
|
21665
|
+
position="bottom">
|
|
21666
|
+
</kendo-grid-toolbar>
|
|
21667
|
+
|
|
21668
|
+
<ng-template #defaultHint>
|
|
21669
|
+
<kendo-icon-wrapper
|
|
21670
|
+
[name]="getHintSettings('hintIcon')"
|
|
21671
|
+
[svgIcon]="getHintSettings('hintSVGIcon')"
|
|
21672
|
+
innerCssClass="k-drag-status">
|
|
21673
|
+
</kendo-icon-wrapper>
|
|
21674
|
+
{{hintText}}
|
|
21675
|
+
</ng-template>
|
|
21676
|
+
`, isInline: true, components: [{ type: ToolbarComponent, selector: "kendo-grid-toolbar", inputs: ["position", "size", "navigable"] }, { type: PagerComponent, selector: "kendo-pager", inputs: ["total", "skip", "pageSize", "options", "size", "template"], outputs: ["pageChange"] }, { type: GroupPanelComponent, selector: "kendo-grid-group-panel", inputs: ["text", "navigable", "groups"], outputs: ["change"] }, { type: ColGroupComponent, selector: "[kendoGridColGroup]", inputs: ["columns", "groups", "detailTemplate", "sort"] }, { type: HeaderComponent, selector: "[kendoGridHeader]", inputs: ["totalColumnLevels", "columns", "groups", "detailTemplate", "scrollable", "filterable", "sort", "filter", "sortable", "groupable", "lockedColumnsCount", "resizable", "reorderable", "columnMenu", "columnMenuTemplate", "totalColumnsCount", "tabIndex", "size"] }, { type: ListComponent, selector: "kendo-grid-list", inputs: ["data", "groups", "total", "rowHeight", "stickyRowHeight", "detailRowHeight", "take", "skip", "columns", "detailTemplate", "noRecordsTemplate", "selectable", "groupable", "filterable", "rowClass", "rowSticky", "loading", "trackBy", "virtualColumns", "isVirtual", "cellLoadingTemplate", "loadingTemplate", "sort", "size"], outputs: ["contentScroll", "pageChange", "scrollBottom"] }, { type: FooterComponent, selector: "[kendoGridFooter]", inputs: ["columns", "groups", "detailTemplate", "scrollable", "lockedColumnsCount", "logicalRowIndex"] }, { type: TableBodyComponent, selector: "[kendoGridTableBody]", inputs: ["columns", "allColumns", "groups", "detailTemplate", "noRecordsTemplate", "data", "skip", "selectable", "filterable", "noRecordsText", "isLocked", "isLoading", "isVirtual", "cellLoadingTemplate", "skipGroupDecoration", "showGroupFooters", "lockedColumnsCount", "totalColumnsCount", "virtualColumns", "trackBy", "rowSticky", "rowClass"] }, { type: LoadingComponent, selector: "[kendoGridLoading]", inputs: ["loadingTemplate"] }, { type: i3$1.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass"], exportAs: ["kendoIconWrapper"] }], directives: [{ type: LocalizedMessagesDirective, selector: "[kendoGridLocalizedMessages]" }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: TableDirective, selector: "table", inputs: ["locked", "virtualColumns"] }, { type: GridTableDirective, selector: "[kendoGridTable]", inputs: ["size"] }, { type: ResizableContainerDirective, selector: "[kendoGridResizableContainer]", inputs: ["lockedWidth", "kendoGridResizableContainer"] }, { type: i40.DragTargetContainerDirective, selector: "[kendoDragTargetContainer]", inputs: ["hint", "dragTargetFilter", "dragHandle", "dragDelay", "threshold", "dragTargetId", "dragData", "dragDisabled", "mode"], outputs: ["dragReady", "press", "dragStart", "drag", "release", "dragEnd"], exportAs: ["kendoDragTargetContainer"] }, { type: i40.DropTargetContainerDirective, selector: "[kendoDropTargetContainer]", inputs: ["dropTargetFilter", "dropDisabled"], outputs: ["dragEnter", "dragOver", "dragLeave", "drop"], exportAs: ["kendoDropTargetContainer"] }, { type: i1$1.DraggableDirective, selector: "[kendoDraggable]", inputs: ["enableDrag"], outputs: ["kendoPress", "kendoDrag", "kendoRelease"] }, { type: GridMarqueeDirective, selector: "[kendoGridSelectionMarquee]" }], encapsulation: i0.ViewEncapsulation.None });
|
|
21640
21677
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GridComponent, decorators: [{
|
|
21641
21678
|
type: Component,
|
|
21642
21679
|
args: [{
|
|
@@ -21683,7 +21720,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
21683
21720
|
ScrollRequestService,
|
|
21684
21721
|
SortService,
|
|
21685
21722
|
ContextService,
|
|
21686
|
-
SizingOptionsService
|
|
21723
|
+
SizingOptionsService,
|
|
21724
|
+
RowReorderService
|
|
21687
21725
|
],
|
|
21688
21726
|
selector: 'kendo-grid',
|
|
21689
21727
|
template: `
|
|
@@ -21912,6 +21950,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
21912
21950
|
|
|
21913
21951
|
i18n-groupPanelLabel="kendo.grid.groupPanelLabel|The label for the Grid group panel toolbar"
|
|
21914
21952
|
groupPanelLabel="Group panel"
|
|
21953
|
+
|
|
21954
|
+
i18n-dragRowHandleLabel="kendo.grid.dragRowHandleLabel|The label for the Grid drag row handle"
|
|
21955
|
+
dragRowHandleLabel="Drag row"
|
|
21915
21956
|
>
|
|
21916
21957
|
</ng-container>
|
|
21917
21958
|
<kendo-grid-toolbar
|
|
@@ -22039,6 +22080,23 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
22039
22080
|
</div>
|
|
22040
22081
|
</div>
|
|
22041
22082
|
<kendo-grid-list
|
|
22083
|
+
kendoDragTargetContainer
|
|
22084
|
+
kendoDropTargetContainer
|
|
22085
|
+
mode="manual"
|
|
22086
|
+
[dragDisabled]="!rowReorderable"
|
|
22087
|
+
[dropDisabled]="!rowReorderable"
|
|
22088
|
+
[dragTargetFilter]="getDefaultSelectors('dragTarget')"
|
|
22089
|
+
[dropTargetFilter]="getDefaultSelectors('dropTarget')"
|
|
22090
|
+
[dragHandle]="getDefaultSelectors('handle')"
|
|
22091
|
+
[hint]="{hintTemplate: defaultHint}"
|
|
22092
|
+
(press)="handleReorderEvents($event, 'press')"
|
|
22093
|
+
(dragStart)="handleReorderEvents($event, 'dragStart')"
|
|
22094
|
+
(drag)="handleReorderEvents($event, 'drag')"
|
|
22095
|
+
(dragEnter)="handleReorderEvents($event, 'dragEnter')"
|
|
22096
|
+
(dragLeave)="handleReorderEvents($event, 'dragLeave')"
|
|
22097
|
+
(dragEnd)="handleReorderEvents($event, 'dragEnd')"
|
|
22098
|
+
(drop)="handleReorderEvents($event, 'drop')"
|
|
22099
|
+
[dragData]="gridData"
|
|
22042
22100
|
[data]="$any(view)"
|
|
22043
22101
|
[rowHeight]="rowHeight"
|
|
22044
22102
|
[detailRowHeight]="detailRowHeight"
|
|
@@ -22204,10 +22262,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
22204
22262
|
[navigable]="navigation.toolbarEnabled"
|
|
22205
22263
|
[attr.aria-label]="messageFor('bottomToolbarLabel')"
|
|
22206
22264
|
[attr.aria-controls]="ariaRootId"
|
|
22207
|
-
position="bottom"
|
|
22265
|
+
position="bottom">
|
|
22266
|
+
</kendo-grid-toolbar>
|
|
22267
|
+
|
|
22268
|
+
<ng-template #defaultHint>
|
|
22269
|
+
<kendo-icon-wrapper
|
|
22270
|
+
[name]="getHintSettings('hintIcon')"
|
|
22271
|
+
[svgIcon]="getHintSettings('hintSVGIcon')"
|
|
22272
|
+
innerCssClass="k-drag-status">
|
|
22273
|
+
</kendo-icon-wrapper>
|
|
22274
|
+
{{hintText}}
|
|
22275
|
+
</ng-template>
|
|
22208
22276
|
`
|
|
22209
22277
|
}]
|
|
22210
|
-
}], ctorParameters: function () { return [{ type: BrowserSupportService }, { type: SelectionService }, { type: CellSelectionService }, { type: i0.ElementRef }, { type: GroupInfoService }, { type: GroupsService }, { type: ChangeNotificationService }, { type: DetailsService }, { type: EditService }, { type: FilterService }, { type: PDFService }, { type: ResponsiveService }, { type: i0.Renderer2 }, { type: ExcelService }, { type: i0.NgZone }, { type: ScrollSyncService }, { type: DomEventsService }, { type: ColumnResizingService }, { type: i0.ChangeDetectorRef }, { type: ColumnReorderService }, { type: ColumnInfoService }, { type: NavigationService }, { type: SortService }, { type: ScrollRequestService }, { type: i1.LocalizationService }, { type: ContextService }, { type: SizingOptionsService }]; }, propDecorators: { data: [{
|
|
22278
|
+
}], ctorParameters: function () { return [{ type: BrowserSupportService }, { type: SelectionService }, { type: CellSelectionService }, { type: i0.ElementRef }, { type: GroupInfoService }, { type: GroupsService }, { type: ChangeNotificationService }, { type: DetailsService }, { type: EditService }, { type: FilterService }, { type: PDFService }, { type: ResponsiveService }, { type: i0.Renderer2 }, { type: ExcelService }, { type: i0.NgZone }, { type: ScrollSyncService }, { type: DomEventsService }, { type: ColumnResizingService }, { type: i0.ChangeDetectorRef }, { type: ColumnReorderService }, { type: ColumnInfoService }, { type: NavigationService }, { type: SortService }, { type: ScrollRequestService }, { type: i1.LocalizationService }, { type: ContextService }, { type: SizingOptionsService }, { type: RowReorderService }]; }, propDecorators: { data: [{
|
|
22211
22279
|
type: Input
|
|
22212
22280
|
}], pageSize: [{
|
|
22213
22281
|
type: Input
|
|
@@ -22243,6 +22311,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
22243
22311
|
type: Input
|
|
22244
22312
|
}], groupable: [{
|
|
22245
22313
|
type: Input
|
|
22314
|
+
}], rowReorderable: [{
|
|
22315
|
+
type: Input
|
|
22246
22316
|
}], navigable: [{
|
|
22247
22317
|
type: Input
|
|
22248
22318
|
}], navigatable: [{
|
|
@@ -22277,6 +22347,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
22277
22347
|
type: Output
|
|
22278
22348
|
}], selectionChange: [{
|
|
22279
22349
|
type: Output
|
|
22350
|
+
}], rowReorder: [{
|
|
22351
|
+
type: Output
|
|
22280
22352
|
}], dataStateChange: [{
|
|
22281
22353
|
type: Output
|
|
22282
22354
|
}], groupExpand: [{
|
|
@@ -22376,6 +22448,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
22376
22448
|
}], ariaRoot: [{
|
|
22377
22449
|
type: ViewChild,
|
|
22378
22450
|
args: ['ariaRoot', { static: true }]
|
|
22451
|
+
}], dragTargetContainer: [{
|
|
22452
|
+
type: ViewChild,
|
|
22453
|
+
args: [DragTargetContainerDirective]
|
|
22454
|
+
}], dropTargetContainer: [{
|
|
22455
|
+
type: ViewChild,
|
|
22456
|
+
args: [DropTargetContainerDirective]
|
|
22379
22457
|
}], isDetailExpanded: [{
|
|
22380
22458
|
type: Input
|
|
22381
22459
|
}], isGroupExpanded: [{
|
|
@@ -22386,12 +22464,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
22386
22464
|
* A directive which encapsulates the in-memory handling of data operations such as [paging]({% slug paging_grid %}),
|
|
22387
22465
|
* [sorting]({% slug sorting_grid %}), and [grouping]({% slug grouping_grid %})
|
|
22388
22466
|
* ([more information and examples]({% slug local_data_grid %}#toc-using-the-data-binding-directive)).
|
|
22467
|
+
*
|
|
22468
|
+
* @example
|
|
22469
|
+
* ```html
|
|
22470
|
+
* <kendo-grid [kendoGridBinding]="gridData" ...></kendo-grid>
|
|
22471
|
+
* ```
|
|
22389
22472
|
*/
|
|
22390
22473
|
class DataBindingDirective {
|
|
22391
|
-
constructor(grid, changeDetector, localDataChangesService) {
|
|
22474
|
+
constructor(grid, changeDetector, localDataChangesService, rowReorderService) {
|
|
22392
22475
|
this.grid = grid;
|
|
22393
22476
|
this.changeDetector = changeDetector;
|
|
22394
22477
|
this.localDataChangesService = localDataChangesService;
|
|
22478
|
+
this.rowReorderService = rowReorderService;
|
|
22395
22479
|
this.state = {
|
|
22396
22480
|
skip: 0
|
|
22397
22481
|
};
|
|
@@ -22402,12 +22486,16 @@ class DataBindingDirective {
|
|
|
22402
22486
|
}
|
|
22403
22487
|
/**
|
|
22404
22488
|
* Defines the number of records that will be skipped by the pager.
|
|
22489
|
+
* @default 0
|
|
22405
22490
|
*/
|
|
22406
22491
|
set skip(value) {
|
|
22407
22492
|
if (!isPresent(value)) {
|
|
22408
22493
|
value = 0;
|
|
22409
22494
|
}
|
|
22410
22495
|
this.grid.skip = this.state.skip = value;
|
|
22496
|
+
if (this.rowReorderService) {
|
|
22497
|
+
this.rowReorderService.skip = value;
|
|
22498
|
+
}
|
|
22411
22499
|
}
|
|
22412
22500
|
/**
|
|
22413
22501
|
* Defines the descriptors by which the data will be sorted.
|
|
@@ -22451,6 +22539,11 @@ class DataBindingDirective {
|
|
|
22451
22539
|
this.stateChangeSubscription = this.grid
|
|
22452
22540
|
.dataStateChange
|
|
22453
22541
|
.subscribe(this.onStateChange.bind(this));
|
|
22542
|
+
if (this.rowReorderService) {
|
|
22543
|
+
this.rowReorderSubscription = this.grid
|
|
22544
|
+
.rowReorder
|
|
22545
|
+
.subscribe(this.onRowReorder.bind(this));
|
|
22546
|
+
}
|
|
22454
22547
|
}
|
|
22455
22548
|
/**
|
|
22456
22549
|
* @hidden
|
|
@@ -22462,6 +22555,9 @@ class DataBindingDirective {
|
|
|
22462
22555
|
if (this.dataChangedSubscription) {
|
|
22463
22556
|
this.dataChangedSubscription.unsubscribe();
|
|
22464
22557
|
}
|
|
22558
|
+
if (this.rowReorderSubscription) {
|
|
22559
|
+
this.rowReorderSubscription.unsubscribe();
|
|
22560
|
+
}
|
|
22465
22561
|
}
|
|
22466
22562
|
/**
|
|
22467
22563
|
* @hidden
|
|
@@ -22483,6 +22579,13 @@ class DataBindingDirective {
|
|
|
22483
22579
|
this.applyState(state);
|
|
22484
22580
|
this.rebind();
|
|
22485
22581
|
}
|
|
22582
|
+
/**
|
|
22583
|
+
* @hidden
|
|
22584
|
+
*/
|
|
22585
|
+
onRowReorder(ev) {
|
|
22586
|
+
this.rowReorderService.reorderRows(ev, this.originalData);
|
|
22587
|
+
this.rebind();
|
|
22588
|
+
}
|
|
22486
22589
|
/**
|
|
22487
22590
|
* @hidden
|
|
22488
22591
|
*/
|
|
@@ -22515,14 +22618,14 @@ class DataBindingDirective {
|
|
|
22515
22618
|
this.dataChanged = false;
|
|
22516
22619
|
}
|
|
22517
22620
|
}
|
|
22518
|
-
DataBindingDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DataBindingDirective, deps: [{ token: GridComponent }, { token: i0.ChangeDetectorRef }, { token: LocalDataChangesService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
22621
|
+
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 });
|
|
22519
22622
|
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 });
|
|
22520
22623
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DataBindingDirective, decorators: [{
|
|
22521
22624
|
type: Directive,
|
|
22522
22625
|
args: [{
|
|
22523
22626
|
selector: '[kendoGridBinding]'
|
|
22524
22627
|
}]
|
|
22525
|
-
}], ctorParameters: function () { return [{ type: GridComponent }, { type: i0.ChangeDetectorRef }, { type: LocalDataChangesService }]; }, propDecorators: { skip: [{
|
|
22628
|
+
}], ctorParameters: function () { return [{ type: GridComponent }, { type: i0.ChangeDetectorRef }, { type: LocalDataChangesService }, { type: RowReorderService }]; }, propDecorators: { skip: [{
|
|
22526
22629
|
type: Input
|
|
22527
22630
|
}], sort: [{
|
|
22528
22631
|
type: Input
|
|
@@ -22539,7 +22642,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
22539
22642
|
|
|
22540
22643
|
/**
|
|
22541
22644
|
* A directive which stores the row selection state of the Grid in memory
|
|
22542
|
-
* ([see example]({% slug selection_grid %}#toc-
|
|
22645
|
+
* ([see example]({% slug selection_grid %}#toc-toggling-the-selection-functionality)).
|
|
22543
22646
|
*/
|
|
22544
22647
|
class SelectionDirective extends Selection {
|
|
22545
22648
|
constructor(ctx, cd) {
|
|
@@ -22572,7 +22675,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
22572
22675
|
}], ctorParameters: function () { return [{ type: ContextService }, { type: i0.ChangeDetectorRef }]; } });
|
|
22573
22676
|
|
|
22574
22677
|
/**
|
|
22575
|
-
* A directive which controls the expanded state of the master detail rows.
|
|
22678
|
+
* A directive which controls the expanded state of the master detail rows. ([see example](slug:master_detail_expanded_state_grid#toc-built-in-directive))
|
|
22576
22679
|
*/
|
|
22577
22680
|
class ExpandDetailsDirective {
|
|
22578
22681
|
constructor(grid) {
|
|
@@ -24502,28 +24605,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
24502
24605
|
|
|
24503
24606
|
/**
|
|
24504
24607
|
* Represents the `cancel` command of the Grid. You can apply this directive to any `button`
|
|
24505
|
-
* element inside a [CommandColumnComponent]({% slug api_grid_commandcolumncomponent %})
|
|
24608
|
+
* element inside a [CommandColumnComponent]({% slug api_grid_commandcolumncomponent %})
|
|
24609
|
+
* ([see example](slug:editing_directives_grid#toc-command-column-directives)).
|
|
24506
24610
|
* When an associated button with the directive is clicked, the
|
|
24507
24611
|
* [cancel]({% slug api_grid_gridcomponent %}#toc-cancel) event
|
|
24508
|
-
* is triggered
|
|
24509
|
-
*
|
|
24510
|
-
* > When the row is not in the edit mode, the button with the `kendoGridCancelCommand` is automatically hidden.
|
|
24511
|
-
*
|
|
24512
|
-
* @example
|
|
24513
|
-
* ```html-no-run
|
|
24514
|
-
* <kendo-grid>
|
|
24515
|
-
* <kendo-grid-command-column title="command">
|
|
24516
|
-
* <ng-template kendoGridCellTemplate>
|
|
24517
|
-
* <button kendoGridCancelCommand>Cancel changes</button>
|
|
24518
|
-
* </ng-template>
|
|
24519
|
-
* </kendo-grid-command-column>
|
|
24520
|
-
* </kendo-grid>
|
|
24521
|
-
* ```
|
|
24612
|
+
* is triggered. When the row is not in the edit mode, the button with the `kendoGridCancelCommand` is automatically hidden.
|
|
24522
24613
|
*
|
|
24523
24614
|
* You can control the content of the button based on the state of the row.
|
|
24524
24615
|
*
|
|
24525
24616
|
* @example
|
|
24526
|
-
* ```html
|
|
24617
|
+
* ```html
|
|
24527
24618
|
* <kendo-grid>
|
|
24528
24619
|
* <kendo-grid-command-column title="command">
|
|
24529
24620
|
* <ng-template kendoGridCellTemplate let-isNew="isNew">
|
|
@@ -24613,23 +24704,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
24613
24704
|
|
|
24614
24705
|
/**
|
|
24615
24706
|
* Represents the `save` command of the Grid. You can apply this directive to any `button`
|
|
24616
|
-
* element inside a [CommandColumnComponent]({% slug api_grid_commandcolumncomponent %})
|
|
24707
|
+
* element inside a [CommandColumnComponent]({% slug api_grid_commandcolumncomponent %})
|
|
24708
|
+
* ([see example](slug:editing_directives_grid#toc-command-column-directives)).
|
|
24617
24709
|
* When an associated button with the directive is clicked, the
|
|
24618
24710
|
* [save]({% slug api_grid_gridcomponent %}#toc-save) event
|
|
24619
|
-
* is triggered
|
|
24620
|
-
*
|
|
24621
|
-
* > When the row is not in the edit mode, the button with `kendoGridSaveCommand` is automatically hidden.
|
|
24622
|
-
*
|
|
24623
|
-
* @example
|
|
24624
|
-
* ```html-no-run
|
|
24625
|
-
* <kendo-grid>
|
|
24626
|
-
* <kendo-grid-command-column title="command">
|
|
24627
|
-
* <ng-template kendoGridCellTemplate>
|
|
24628
|
-
* <button kendoGridSaveCommand>Save changes</button>
|
|
24629
|
-
* </ng-template>
|
|
24630
|
-
* </kendo-grid-command-column>
|
|
24631
|
-
* </kendo-grid>
|
|
24632
|
-
* ```
|
|
24711
|
+
* is triggered. When the row is not in the edit mode, the button with `kendoGridSaveCommand` is automatically hidden.
|
|
24633
24712
|
*
|
|
24634
24713
|
* You can control the content of the button based on the state of the row.
|
|
24635
24714
|
*
|
|
@@ -24724,15 +24803,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
24724
24803
|
|
|
24725
24804
|
/**
|
|
24726
24805
|
* Represents the `remove` command of the Grid. You can apply this directive to any `button` element
|
|
24727
|
-
* inside a [CommandColumnComponent]({% slug api_grid_commandcolumncomponent %})
|
|
24806
|
+
* inside a [CommandColumnComponent]({% slug api_grid_commandcolumncomponent %})
|
|
24807
|
+
* ([see example](slug:editing_directives_grid#toc-command-column-directives)).
|
|
24728
24808
|
* When an associated button with the directive is clicked, the
|
|
24729
|
-
* [remove
|
|
24730
|
-
* is triggered
|
|
24731
|
-
*
|
|
24732
|
-
* > When the row is in the edit mode, the button with the `kendoGridRemoveCommand` is automatically hidden.
|
|
24809
|
+
* [remove]({% slug api_grid_gridcomponent %}#toc-remove) event
|
|
24810
|
+
* is triggered.
|
|
24811
|
+
* When the row is in the edit mode, the button with the `kendoGridRemoveCommand` is automatically hidden.
|
|
24733
24812
|
*
|
|
24734
24813
|
* @example
|
|
24735
|
-
* ```html
|
|
24814
|
+
* ```html
|
|
24736
24815
|
* <kendo-grid>
|
|
24737
24816
|
* <kendo-grid-command-column title="command">
|
|
24738
24817
|
* <ng-template kendoGridCellTemplate>
|
|
@@ -24826,7 +24905,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
24826
24905
|
* ([see example]({% slug basics_editing_grid %})).
|
|
24827
24906
|
*
|
|
24828
24907
|
* @example
|
|
24829
|
-
* ```html
|
|
24908
|
+
* ```html
|
|
24830
24909
|
* <kendo-grid>
|
|
24831
24910
|
* <ng-template kendoGridToolbarTemplate>
|
|
24832
24911
|
* <button kendoGridAddCommand>Add new</button>
|
|
@@ -24891,6 +24970,54 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
24891
24970
|
args: ['class.k-grid-add-command']
|
|
24892
24971
|
}] } });
|
|
24893
24972
|
|
|
24973
|
+
/**
|
|
24974
|
+
* Represents the drag handle for reordering rows in the Grid.
|
|
24975
|
+
*/
|
|
24976
|
+
class RowReorderColumnComponent extends ColumnBase {
|
|
24977
|
+
constructor(parent, idService) {
|
|
24978
|
+
super(parent, idService);
|
|
24979
|
+
this.parent = parent;
|
|
24980
|
+
/**
|
|
24981
|
+
* @hidden
|
|
24982
|
+
*/
|
|
24983
|
+
this.isRowReorderColumn = true;
|
|
24984
|
+
}
|
|
24985
|
+
}
|
|
24986
|
+
RowReorderColumnComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: RowReorderColumnComponent, deps: [{ token: ColumnBase, host: true, optional: true, skipSelf: true }, { token: IdService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
24987
|
+
RowReorderColumnComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: RowReorderColumnComponent, selector: "kendo-grid-rowreorder-column", inputs: { dragHandleIcon: "dragHandleIcon", dragHandleSVGIcon: "dragHandleSVGIcon" }, providers: [
|
|
24988
|
+
{
|
|
24989
|
+
provide: ColumnBase,
|
|
24990
|
+
useExisting: forwardRef(() => RowReorderColumnComponent)
|
|
24991
|
+
}
|
|
24992
|
+
], usesInheritance: true, ngImport: i0, template: ``, isInline: true });
|
|
24993
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: RowReorderColumnComponent, decorators: [{
|
|
24994
|
+
type: Component,
|
|
24995
|
+
args: [{
|
|
24996
|
+
providers: [
|
|
24997
|
+
{
|
|
24998
|
+
provide: ColumnBase,
|
|
24999
|
+
useExisting: forwardRef(() => RowReorderColumnComponent)
|
|
25000
|
+
}
|
|
25001
|
+
],
|
|
25002
|
+
selector: 'kendo-grid-rowreorder-column',
|
|
25003
|
+
template: ``
|
|
25004
|
+
}]
|
|
25005
|
+
}], ctorParameters: function () {
|
|
25006
|
+
return [{ type: ColumnBase, decorators: [{
|
|
25007
|
+
type: SkipSelf
|
|
25008
|
+
}, {
|
|
25009
|
+
type: Host
|
|
25010
|
+
}, {
|
|
25011
|
+
type: Optional
|
|
25012
|
+
}] }, { type: IdService, decorators: [{
|
|
25013
|
+
type: Optional
|
|
25014
|
+
}] }];
|
|
25015
|
+
}, propDecorators: { dragHandleIcon: [{
|
|
25016
|
+
type: Input
|
|
25017
|
+
}], dragHandleSVGIcon: [{
|
|
25018
|
+
type: Input
|
|
25019
|
+
}] } });
|
|
25020
|
+
|
|
24894
25021
|
const exported = [
|
|
24895
25022
|
CommandColumnComponent,
|
|
24896
25023
|
CheckboxColumnComponent,
|
|
@@ -24906,7 +25033,8 @@ const exported = [
|
|
|
24906
25033
|
RemoveCommandDirective,
|
|
24907
25034
|
AddCommandDirective,
|
|
24908
25035
|
CellLoadingTemplateDirective,
|
|
24909
|
-
LoadingTemplateDirective
|
|
25036
|
+
LoadingTemplateDirective,
|
|
25037
|
+
RowReorderColumnComponent
|
|
24910
25038
|
];
|
|
24911
25039
|
const importedModules$1 = [
|
|
24912
25040
|
CommonModule,
|
|
@@ -24936,7 +25064,8 @@ class BodyModule {
|
|
|
24936
25064
|
RemoveCommandDirective,
|
|
24937
25065
|
AddCommandDirective,
|
|
24938
25066
|
CellLoadingTemplateDirective,
|
|
24939
|
-
LoadingTemplateDirective
|
|
25067
|
+
LoadingTemplateDirective,
|
|
25068
|
+
RowReorderColumnComponent
|
|
24940
25069
|
];
|
|
24941
25070
|
}
|
|
24942
25071
|
}
|
|
@@ -24955,7 +25084,8 @@ BodyModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13
|
|
|
24955
25084
|
RemoveCommandDirective,
|
|
24956
25085
|
AddCommandDirective,
|
|
24957
25086
|
CellLoadingTemplateDirective,
|
|
24958
|
-
LoadingTemplateDirective
|
|
25087
|
+
LoadingTemplateDirective,
|
|
25088
|
+
RowReorderColumnComponent], imports: [CommonModule,
|
|
24959
25089
|
ReactiveFormsModule,
|
|
24960
25090
|
FormsModule,
|
|
24961
25091
|
SharedModule,
|
|
@@ -24976,7 +25106,8 @@ BodyModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13
|
|
|
24976
25106
|
RemoveCommandDirective,
|
|
24977
25107
|
AddCommandDirective,
|
|
24978
25108
|
CellLoadingTemplateDirective,
|
|
24979
|
-
LoadingTemplateDirective
|
|
25109
|
+
LoadingTemplateDirective,
|
|
25110
|
+
RowReorderColumnComponent] });
|
|
24980
25111
|
BodyModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: BodyModule, imports: [[...importedModules$1]] });
|
|
24981
25112
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: BodyModule, decorators: [{
|
|
24982
25113
|
type: NgModule,
|
|
@@ -25226,7 +25357,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
25226
25357
|
|
|
25227
25358
|
/**
|
|
25228
25359
|
* A directive which encapsulates the editing operations of the Grid when using
|
|
25229
|
-
* the Template-Driven Angular Forms ([see example]({% slug editing_directives_grid %}#toc-
|
|
25360
|
+
* the Template-Driven Angular Forms ([see example]({% slug editing_directives_grid %}#toc-template-editing-directive)).
|
|
25230
25361
|
*/
|
|
25231
25362
|
class TemplateEditingDirective extends RowEditingDirectiveBase {
|
|
25232
25363
|
constructor(grid, localDataChangesService) {
|
|
@@ -25324,7 +25455,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
25324
25455
|
|
|
25325
25456
|
/**
|
|
25326
25457
|
* A directive which encapsulates the editing operations of the Grid when using the in-cell
|
|
25327
|
-
* editing with Reactive Forms ([see example]({% slug editing_directives_grid %}#toc-
|
|
25458
|
+
* editing with Reactive Forms ([see example]({% slug editing_directives_grid %}#toc-in-cell-editing)).
|
|
25328
25459
|
*/
|
|
25329
25460
|
class InCellEditingDirective extends EditingDirectiveBase {
|
|
25330
25461
|
constructor(grid, localDataChangesService, cdr) {
|
|
@@ -25758,29 +25889,19 @@ const declarations$2 = [
|
|
|
25758
25889
|
*
|
|
25759
25890
|
* @example
|
|
25760
25891
|
*
|
|
25761
|
-
* ```ts
|
|
25762
|
-
* // Import the Grid module
|
|
25763
|
-
* import { GridModule } from '@progress/kendo-angular-grid';
|
|
25764
|
-
*
|
|
25765
|
-
* // The browser platform with a compiler
|
|
25766
|
-
* import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
|
|
25767
|
-
*
|
|
25892
|
+
* ```ts
|
|
25768
25893
|
* import { NgModule } from '@angular/core';
|
|
25769
|
-
*
|
|
25770
|
-
*
|
|
25894
|
+
* import { GridModule } from '@progress/kendo-angular-grid';
|
|
25895
|
+
* import { BrowserModule } from "@angular/platform-browser";
|
|
25771
25896
|
* import { AppComponent } from './app.component';
|
|
25772
25897
|
*
|
|
25773
|
-
*
|
|
25774
|
-
*
|
|
25775
|
-
*
|
|
25776
|
-
* imports: [BrowserModule, GridModule], // import Grid module
|
|
25898
|
+
* @NgModule({
|
|
25899
|
+
* declarations: [AppComponent],
|
|
25900
|
+
* imports: [BrowserModule, GridModule],
|
|
25777
25901
|
* bootstrap: [AppComponent]
|
|
25778
25902
|
* })
|
|
25779
25903
|
* export class AppModule {}
|
|
25780
25904
|
*
|
|
25781
|
-
* // Compile and launch the module
|
|
25782
|
-
* platformBrowserDynamic().bootstrapModule(AppModule);
|
|
25783
|
-
*
|
|
25784
25905
|
* ```
|
|
25785
25906
|
*/
|
|
25786
25907
|
class GridModule {
|
|
@@ -25812,7 +25933,8 @@ GridModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13
|
|
|
25812
25933
|
RowFilterModule,
|
|
25813
25934
|
FilterMenuModule,
|
|
25814
25935
|
ResizeSensorModule,
|
|
25815
|
-
ColumnMenuModule
|
|
25936
|
+
ColumnMenuModule,
|
|
25937
|
+
DragAndDropModule$1], exports: [GridComponent,
|
|
25816
25938
|
ToolbarTemplateDirective,
|
|
25817
25939
|
ToolbarComponent,
|
|
25818
25940
|
GridSpacerComponent,
|
|
@@ -25825,7 +25947,7 @@ GridModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13
|
|
|
25825
25947
|
InCellEditingDirective,
|
|
25826
25948
|
ExpandDetailsDirective,
|
|
25827
25949
|
ExpandGroupDirective,
|
|
25828
|
-
GridToolbarFocusableDirective, GroupHeaderTemplateDirective, GroupHeaderColumnTemplateDirective, GroupFooterTemplateDirective, ColumnComponent, SpanColumnComponent, ColumnGroupComponent, FooterTemplateDirective, DetailTemplateDirective, FocusableDirective, GridTableDirective, CommandColumnComponent, CheckboxColumnComponent, SelectionCheckboxDirective, CellTemplateDirective, NoRecordsTemplateDirective, EditTemplateDirective, EditCommandDirective, CancelCommandDirective, SaveCommandDirective, RemoveCommandDirective, AddCommandDirective, CellLoadingTemplateDirective, LoadingTemplateDirective, 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] });
|
|
25950
|
+
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] });
|
|
25829
25951
|
GridModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GridModule, imports: [[
|
|
25830
25952
|
CommonModule,
|
|
25831
25953
|
GroupModule,
|
|
@@ -25837,7 +25959,8 @@ GridModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13
|
|
|
25837
25959
|
RowFilterModule,
|
|
25838
25960
|
FilterMenuModule,
|
|
25839
25961
|
ResizeSensorModule,
|
|
25840
|
-
ColumnMenuModule
|
|
25962
|
+
ColumnMenuModule,
|
|
25963
|
+
DragAndDropModule$1
|
|
25841
25964
|
]] });
|
|
25842
25965
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GridModule, decorators: [{
|
|
25843
25966
|
type: NgModule,
|
|
@@ -25855,7 +25978,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
25855
25978
|
RowFilterModule,
|
|
25856
25979
|
FilterMenuModule,
|
|
25857
25980
|
ResizeSensorModule,
|
|
25858
|
-
ColumnMenuModule
|
|
25981
|
+
ColumnMenuModule,
|
|
25982
|
+
DragAndDropModule$1
|
|
25859
25983
|
]
|
|
25860
25984
|
}]
|
|
25861
25985
|
}] });
|
|
@@ -25874,50 +25998,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
25874
25998
|
|
|
25875
25999
|
/**
|
|
25876
26000
|
* Represents the PDF page template of the Grid that helps to customize the PDF pages. To define a page template,
|
|
25877
|
-
* nest an `<ng-template>` tag with the `kendoGridPDFTemplate` directive inside `<kendo-grid-pdf
|
|
26001
|
+
* nest an `<ng-template>` tag with the `kendoGridPDFTemplate` directive inside `<kendo-grid-pdf>` tag.
|
|
25878
26002
|
*
|
|
25879
26003
|
* The template context provides the following fields:
|
|
25880
26004
|
* - `pageNumber`—Defines PDF page number.
|
|
25881
26005
|
* - `totalPages`—Defines the total number of PDF pages.
|
|
25882
26006
|
*
|
|
25883
26007
|
* @example
|
|
25884
|
-
* ```
|
|
25885
|
-
*
|
|
25886
|
-
*
|
|
25887
|
-
*
|
|
25888
|
-
* template
|
|
25889
|
-
*
|
|
25890
|
-
*
|
|
25891
|
-
*
|
|
25892
|
-
*
|
|
25893
|
-
* <kendo-grid-column field="ProductName">
|
|
25894
|
-
* </kendo-grid-column>
|
|
25895
|
-
* <kendo-grid-column field="UnitPrice">
|
|
25896
|
-
* </kendo-grid-column>
|
|
25897
|
-
* <kendo-grid-pdf fileName="Products.pdf" paperSize="A4" [margin]="{ top: '1cm', left: '1cm', right: '1cm', bottom: '1cm' }">
|
|
25898
|
-
* <ng-template kendoGridPDFTemplate let-pageNum="pageNum" let-totalPages="totalPages">
|
|
25899
|
-
* <div style="position: absolute;top: 5px; left: 5px;">
|
|
25900
|
-
* Page {{ pageNum }} of {{ totalPages }}
|
|
25901
|
-
* </div>
|
|
25902
|
-
* </ng-template>
|
|
25903
|
-
* </kendo-grid-pdf>
|
|
25904
|
-
* </kendo-grid>
|
|
25905
|
-
* `
|
|
25906
|
-
* })
|
|
25907
|
-
*
|
|
25908
|
-
* class AppComponent {
|
|
25909
|
-
* public gridData = [{
|
|
25910
|
-
* "ProductID": 1,
|
|
25911
|
-
* "ProductName": "Chai",
|
|
25912
|
-
* "UnitPrice": 18.0000
|
|
25913
|
-
* }, {
|
|
25914
|
-
* "ProductID": 2,
|
|
25915
|
-
* "ProductName": "Chang",
|
|
25916
|
-
* "UnitPrice": 19.0000
|
|
25917
|
-
* }
|
|
25918
|
-
* ];
|
|
25919
|
-
* }
|
|
25920
|
-
*
|
|
26008
|
+
* ```html
|
|
26009
|
+
* <kendo-grid [data]="gridData">
|
|
26010
|
+
* ...
|
|
26011
|
+
* <kendo-grid-pdf fileName="Products.pdf" paperSize="A4">
|
|
26012
|
+
* <ng-template kendoGridPDFTemplate let-pageNumber="pageNumber" let-totalPages="totalPages">
|
|
26013
|
+
* Page {{ pageNumber }} of {{ totalPages }}
|
|
26014
|
+
* </ng-template>
|
|
26015
|
+
* </kendo-grid-pdf>
|
|
26016
|
+
* </kendo-grid>
|
|
25921
26017
|
* ```
|
|
25922
26018
|
*/
|
|
25923
26019
|
class PDFTemplateDirective extends PDFExportTemplateDirective {
|
|
@@ -26425,28 +26521,19 @@ const declarations$1 = [
|
|
|
26425
26521
|
*
|
|
26426
26522
|
* @example
|
|
26427
26523
|
*
|
|
26428
|
-
* ```ts
|
|
26429
|
-
* // Import the Grid and PDF modules
|
|
26430
|
-
* import { GridModule, PDFModule } from '@progress/kendo-angular-grid';
|
|
26431
|
-
*
|
|
26432
|
-
* // The browser platform with a compiler
|
|
26433
|
-
* import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
|
|
26434
|
-
*
|
|
26524
|
+
* ```ts
|
|
26435
26525
|
* import { NgModule } from '@angular/core';
|
|
26436
|
-
*
|
|
26437
|
-
*
|
|
26526
|
+
* import { BrowserModule } from "@angular/platform-browser";
|
|
26527
|
+
* import { GridModule, PDFModule } from '@progress/kendo-angular-grid';
|
|
26438
26528
|
* import { AppComponent } from './app.component';
|
|
26439
26529
|
*
|
|
26440
|
-
*
|
|
26441
|
-
*
|
|
26442
|
-
*
|
|
26443
|
-
* imports: [BrowserModule, GridModule, PDFModule], // import Grid and PDF modules
|
|
26530
|
+
* @NgModule({
|
|
26531
|
+
* declarations: [AppComponent],
|
|
26532
|
+
* imports: [BrowserModule, GridModule, PDFModule],
|
|
26444
26533
|
* bootstrap: [AppComponent]
|
|
26445
26534
|
* })
|
|
26446
|
-
* export class AppModule {}
|
|
26447
26535
|
*
|
|
26448
|
-
*
|
|
26449
|
-
* platformBrowserDynamic().bootstrapModule(AppModule);
|
|
26536
|
+
* export class AppModule {}
|
|
26450
26537
|
*
|
|
26451
26538
|
* ```
|
|
26452
26539
|
*/
|
|
@@ -26625,13 +26712,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
26625
26712
|
/**
|
|
26626
26713
|
* Represents the `export-to-Excel` command of the Grid. You can apply this
|
|
26627
26714
|
* directive to any `button` element inside a
|
|
26628
|
-
* [ToolbarTemplate]({% slug
|
|
26715
|
+
* [ToolbarTemplate]({% slug api_grid_toolbartemplatedirective %}).
|
|
26629
26716
|
* When the user clicks a button associated with the directive, the
|
|
26630
26717
|
* [excelExport]({% slug api_grid_gridcomponent %}#toc-excelexport) event
|
|
26631
26718
|
* fires ([see example]({% slug excelexport_grid %})).
|
|
26632
26719
|
*
|
|
26633
26720
|
* @example
|
|
26634
|
-
* ```html
|
|
26721
|
+
* ```html
|
|
26635
26722
|
* <kendo-grid>
|
|
26636
26723
|
* <ng-template kendoGridToolbarTemplate>
|
|
26637
26724
|
* <button kendoGridExcelCommand>Export to PDF</button>
|
|
@@ -26706,29 +26793,19 @@ const declarations = [ExcelComponent, ExcelCommandDirective];
|
|
|
26706
26793
|
*
|
|
26707
26794
|
* @example
|
|
26708
26795
|
*
|
|
26709
|
-
* ```ts
|
|
26710
|
-
* // Import the Grid and Excel modules
|
|
26711
|
-
* import { GridModule, ExcelModule } from '@progress/kendo-angular-grid';
|
|
26712
|
-
*
|
|
26713
|
-
* // The browser platform with a compiler
|
|
26714
|
-
* import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
|
|
26715
|
-
*
|
|
26796
|
+
* ```ts
|
|
26716
26797
|
* import { NgModule } from '@angular/core';
|
|
26717
|
-
*
|
|
26718
|
-
*
|
|
26798
|
+
* import { BrowserModule } from "@angular/platform-browser";
|
|
26799
|
+
* import { GridModule, ExcelModule } from '@progress/kendo-angular-grid';
|
|
26719
26800
|
* import { AppComponent } from './app.component';
|
|
26720
26801
|
*
|
|
26721
|
-
* // Define the app module
|
|
26722
26802
|
* _@NgModule({
|
|
26723
|
-
* declarations: [AppComponent],
|
|
26724
|
-
* imports: [BrowserModule, GridModule, ExcelModule],
|
|
26803
|
+
* declarations: [AppComponent],
|
|
26804
|
+
* imports: [BrowserModule, GridModule, ExcelModule],
|
|
26725
26805
|
* bootstrap: [AppComponent]
|
|
26726
26806
|
* })
|
|
26727
26807
|
* export class AppModule {}
|
|
26728
26808
|
*
|
|
26729
|
-
* // Compile and launch the module
|
|
26730
|
-
* platformBrowserDynamic().bootstrapModule(AppModule);
|
|
26731
|
-
*
|
|
26732
26809
|
* ```
|
|
26733
26810
|
*/
|
|
26734
26811
|
class ExcelModule {
|
|
@@ -26749,5 +26826,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
26749
26826
|
* Generated bundle index. Do not edit.
|
|
26750
26827
|
*/
|
|
26751
26828
|
|
|
26752
|
-
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, SaveCommandDirective, ScrollRequestService, ScrollSyncService, SelectAllCheckboxDirective, SelectionCheckboxDirective, SelectionDirective, SelectionService, SharedFilterModule, SharedModule, SinglePopupService, SizingOptionsService, Skip, SortService, SpanColumnComponent, StartsWithFilterOperatorComponent, StringFilterCellComponent, StringFilterComponent, StringFilterMenuComponent, StringFilterMenuInputComponent, SuspendService, TableBodyComponent, TableDirective, TemplateContextDirective, TemplateEditingDirective, ToolbarComponent, ToolbarTemplateDirective, count, defaultTrackBy, hasFilterMenu, hasFilterRow, isFilterable, slice };
|
|
26829
|
+
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, SaveCommandDirective, ScrollRequestService, ScrollSyncService, SelectAllCheckboxDirective, SelectionCheckboxDirective, SelectionDirective, SelectionService, SharedFilterModule, SharedModule, SinglePopupService, SizingOptionsService, Skip, SortService, SpanColumnComponent, StartsWithFilterOperatorComponent, StringFilterCellComponent, StringFilterComponent, StringFilterMenuComponent, StringFilterMenuInputComponent, SuspendService, TableBodyComponent, TableDirective, TemplateContextDirective, TemplateEditingDirective, ToolbarComponent, ToolbarTemplateDirective, count, defaultTrackBy, hasFilterMenu, hasFilterRow, isFilterable, slice };
|
|
26753
26830
|
|