@progress/kendo-angular-grid 11.6.0 → 12.0.0-develop.10
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/columns/column-base.d.ts +4 -0
- package/columns/reorder-column.component.d.ts +31 -0
- 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/columns/column-base.mjs +4 -0
- package/esm2020/columns/reorder-column.component.mjs +55 -0
- 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/filtering/cell/autocomplete-filter-cell.component.mjs +1 -1
- package/esm2020/filtering/cell/boolean-filter-cell.component.mjs +1 -1
- package/esm2020/filtering/cell/filter-cell-operators.component.mjs +1 -1
- package/esm2020/filtering/menu/date-filter-menu.component.mjs +1 -1
- package/esm2020/filtering/menu/filter-menu-input-wrapper.component.mjs +1 -1
- package/esm2020/filtering/menu/numeric-filter-menu.component.mjs +1 -1
- package/esm2020/filtering/menu/string-filter-menu.component.mjs +1 -1
- package/esm2020/grid.component.mjs +195 -38
- package/esm2020/grid.module.mjs +70 -65
- 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/localization/messages.mjs +3 -1
- package/esm2020/navigation/focusable.directive.mjs +10 -41
- package/esm2020/package-metadata.mjs +2 -2
- package/esm2020/pager/pager-page-sizes.component.mjs +1 -1
- package/esm2020/pager/pager-template.directive.mjs +13 -46
- package/esm2020/pdf/pdf-template.directive.mjs +10 -38
- 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-template.directive.mjs +10 -56
- package/esm2020/row-reordering/row-reorder.service.mjs +232 -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/fesm2015/progress-kendo-angular-grid.mjs +838 -690
- package/fesm2020/progress-kendo-angular-grid.mjs +834 -690
- package/grid.component.d.ts +46 -4
- package/grid.module.d.ts +87 -85
- 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/localization/messages.d.ts +5 -1
- package/navigation/focusable.directive.d.ts +10 -41
- package/package.json +15 -14
- package/pager/pager-template.directive.d.ts +13 -46
- package/pdf/pdf-template.directive.d.ts +10 -38
- 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/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-template.directive.d.ts +10 -56
- package/row-reordering/row-reorder.service.d.ts +56 -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/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
|
@@ -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';
|
|
@@ -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: '
|
|
2835
|
+
publishDate: 1681902962,
|
|
2836
|
+
version: '12.0.0-develop.10',
|
|
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.
|
|
@@ -4387,64 +4215,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
4387
4215
|
* To define the detail template, nest an `<ng-template>` tag with the `kendoGridDetailTemplate` directive inside a `<kendo-grid>` tag.
|
|
4388
4216
|
*
|
|
4389
4217
|
* @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
|
-
*
|
|
4218
|
+
* ```html
|
|
4219
|
+
* <kendo-grid [data]="data" selectable="true" style="height: 160px">
|
|
4220
|
+
* <kendo-grid-column field="ProductName"></kendo-grid-column>
|
|
4221
|
+
* <ng-template kendoGridDetailTemplate let-dataItem>
|
|
4222
|
+
* <div *ngIf="dataItem.Category">
|
|
4223
|
+
* <header>{{dataItem.Category?.CategoryName}}</header>
|
|
4224
|
+
* span>{{dataItem.Category?.Description}}</span>
|
|
4225
|
+
* </div>
|
|
4226
|
+
* </ng-template>
|
|
4227
|
+
* </kendo-grid>
|
|
4448
4228
|
* ```
|
|
4449
4229
|
*
|
|
4450
4230
|
*/
|
|
@@ -5007,6 +4787,7 @@ class Selection {
|
|
|
5007
4787
|
this.cd = cd;
|
|
5008
4788
|
/**
|
|
5009
4789
|
* Defines the collection that will store the selected item keys.
|
|
4790
|
+
* @default []
|
|
5010
4791
|
*/
|
|
5011
4792
|
this.selectedKeys = [];
|
|
5012
4793
|
/**
|
|
@@ -5394,66 +5175,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
5394
5175
|
|
|
5395
5176
|
/**
|
|
5396
5177
|
* 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.
|
|
5178
|
+
* appearance of the item that is displayed when no data is present.
|
|
5179
|
+
* To define the no-records template, nest an `<ng-template>` tag with the `kendoGridNoRecordsTemplate`
|
|
5180
|
+
* directive inside `<kendo-grid>` [see example](slug:norecordtemplate_grid).
|
|
5401
5181
|
*
|
|
5402
5182
|
* @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
|
-
*
|
|
5183
|
+
* ```html
|
|
5184
|
+
* <kendo-grid [data]="data">
|
|
5185
|
+
* <ng-template kendoGridNoRecordsTemplate>
|
|
5186
|
+
* There are not products. <a href="#" (click)="refresh()">Click here to refresh</a>.
|
|
5187
|
+
* </ng-template>
|
|
5188
|
+
* <kendo-grid-column field="ProductID"></kendo-grid-column>
|
|
5189
|
+
* <kendo-grid-column field="ProductName"></kendo-grid-column>
|
|
5190
|
+
* </kendo-grid>
|
|
5457
5191
|
* ```
|
|
5458
5192
|
*/
|
|
5459
5193
|
class NoRecordsTemplateDirective {
|
|
@@ -5568,7 +5302,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
5568
5302
|
|
|
5569
5303
|
/**
|
|
5570
5304
|
* 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
|
|
5305
|
+
* template, nest an `<ng-template>` tag with the `kendoPagerTemplate` directive inside `<kendo-grid>` tag
|
|
5306
|
+
* [see example](slug:pager_template_grid).
|
|
5572
5307
|
*
|
|
5573
5308
|
* The template context provides the following fields:
|
|
5574
5309
|
* * `currentPage`—The index of the displayed page.
|
|
@@ -5576,53 +5311,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
5576
5311
|
* * `skip`—The current skip value.
|
|
5577
5312
|
* * `total`—The total number of records.
|
|
5578
5313
|
* * `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
5314
|
*
|
|
5581
5315
|
* @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
|
-
*
|
|
5316
|
+
* ```html
|
|
5317
|
+
* <kendo-grid ... [pageable]="true">
|
|
5318
|
+
* <ng-template kendoPagerTemplate let-totalPages="totalPages" let-currentPage="currentPage">
|
|
5319
|
+
* <kendo-pager-prev-buttons></kendo-pager-prev-buttons>
|
|
5320
|
+
* <kendo-pager-next-buttons></kendo-pager-next-buttons>
|
|
5321
|
+
* <kendo-pager-info></kendo-pager-info>
|
|
5322
|
+
* Current page: {{currentPage}}
|
|
5323
|
+
* </ng-template>
|
|
5324
|
+
* <kendo-grid-column field="ProductID"></kendo-grid-column>
|
|
5325
|
+
* <kendo-grid-column field="ProductName"></kendo-grid-column>
|
|
5326
|
+
* </kendo-grid>
|
|
5626
5327
|
* ```
|
|
5627
5328
|
*/
|
|
5628
5329
|
class PagerTemplateDirective {
|
|
@@ -5768,56 +5469,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
5768
5469
|
* - `position`—The position at which the toolbar template is rendered. The possible values are "top" and "bottom".
|
|
5769
5470
|
*
|
|
5770
5471
|
* @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
|
-
*
|
|
5472
|
+
* ```html
|
|
5473
|
+
* <kendo-grid [data]="gridData" style="height: 200px">
|
|
5474
|
+
* <ng-template kendoGridToolbarTemplate [position]="position" let-position="position">
|
|
5475
|
+
* <button (click)="onClick()">Custom action</button>
|
|
5476
|
+
* </ng-template>
|
|
5477
|
+
* <kendo-grid-column field="ProductName">
|
|
5478
|
+
* </kendo-grid-column>
|
|
5479
|
+
* </kendo-grid>
|
|
5821
5480
|
* ```
|
|
5822
5481
|
*/
|
|
5823
5482
|
class ToolbarTemplateDirective {
|
|
@@ -5826,13 +5485,9 @@ class ToolbarTemplateDirective {
|
|
|
5826
5485
|
this._position = 'top';
|
|
5827
5486
|
}
|
|
5828
5487
|
/**
|
|
5829
|
-
* The position of the toolbar ([see example]({% slug toolbartemplate_grid %})).
|
|
5488
|
+
* The position of the toolbar ([see example]({% slug toolbartemplate_grid %}#toc-setting-the-toolbar-position)).
|
|
5830
5489
|
*
|
|
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.
|
|
5490
|
+
* @default 'top'
|
|
5836
5491
|
*/
|
|
5837
5492
|
set position(position) {
|
|
5838
5493
|
this._position = position;
|
|
@@ -6236,17 +5891,17 @@ const append = (element) => {
|
|
|
6236
5891
|
/**
|
|
6237
5892
|
* @hidden
|
|
6238
5893
|
*/
|
|
6239
|
-
const getDocument = element => element.ownerDocument.documentElement;
|
|
5894
|
+
const getDocument$1 = element => element.ownerDocument.documentElement;
|
|
6240
5895
|
/**
|
|
6241
5896
|
* @hidden
|
|
6242
5897
|
*/
|
|
6243
|
-
const getWindow = element => element.ownerDocument.defaultView;
|
|
5898
|
+
const getWindow$1 = element => element.ownerDocument.defaultView;
|
|
6244
5899
|
/**
|
|
6245
5900
|
* @hidden
|
|
6246
5901
|
*/
|
|
6247
5902
|
const offset = element => {
|
|
6248
|
-
const { clientTop, clientLeft } = getDocument(element);
|
|
6249
|
-
const { pageYOffset, pageXOffset } = getWindow(element);
|
|
5903
|
+
const { clientTop, clientLeft } = getDocument$1(element);
|
|
5904
|
+
const { pageYOffset, pageXOffset } = getWindow$1(element);
|
|
6250
5905
|
const { top, left } = element.getBoundingClientRect();
|
|
6251
5906
|
return {
|
|
6252
5907
|
top: top + pageYOffset - clientTop,
|
|
@@ -6661,17 +6316,20 @@ class ColumnStickyChangeEvent {
|
|
|
6661
6316
|
/**
|
|
6662
6317
|
* Represents the virtual scrolling cell template of the Grid while loading new data. Provides an option to customize the
|
|
6663
6318
|
* 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>`
|
|
6319
|
+
* nest an `<ng-template>` tag with the `kendoGridCellLoadingTemplate` directive inside `<kendo-grid>` tag [see example]({% slug virtualscrolling_grid %}#toc-custom-loading-skeleton).
|
|
6665
6320
|
*
|
|
6666
|
-
*
|
|
6321
|
+
*
|
|
6322
|
+
* The template context is set to the current column and the following additional field is passed:
|
|
6323
|
+
*
|
|
6324
|
+
* - `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
6325
|
*
|
|
6668
6326
|
* @example
|
|
6669
|
-
* ```
|
|
6670
|
-
*
|
|
6671
|
-
*
|
|
6672
|
-
*
|
|
6673
|
-
*
|
|
6674
|
-
*
|
|
6327
|
+
* ```html
|
|
6328
|
+
* <kendo-grid ... scrollable="virtual" [rowHeight]="36" [height]="450">
|
|
6329
|
+
* <ng-template kendoGridCellLoadingTemplate let-column>
|
|
6330
|
+
* ...
|
|
6331
|
+
* </ng-template>
|
|
6332
|
+
* </kendo-grid>
|
|
6675
6333
|
* ```
|
|
6676
6334
|
*/
|
|
6677
6335
|
class CellLoadingTemplateDirective {
|
|
@@ -6695,7 +6353,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
6695
6353
|
/**
|
|
6696
6354
|
* Creates a loading template that overrides the default loading indicator of the Grid Component.
|
|
6697
6355
|
* To define a loading template, nest an `<ng-template>` tag with the `kendoGridLoadingTemplate` directive inside the `<kendo-grid>` tag
|
|
6698
|
-
* [see example](
|
|
6356
|
+
* ([see example](slug:loadingtemplate_grid)).
|
|
6699
6357
|
*/
|
|
6700
6358
|
class LoadingTemplateDirective {
|
|
6701
6359
|
constructor(templateRef) {
|
|
@@ -6716,11 +6374,319 @@ class SizingOptionsService {
|
|
|
6716
6374
|
this.changes = new Subject();
|
|
6717
6375
|
}
|
|
6718
6376
|
}
|
|
6719
|
-
SizingOptionsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SizingOptionsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
6720
|
-
SizingOptionsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SizingOptionsService });
|
|
6721
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SizingOptionsService, decorators: [{
|
|
6377
|
+
SizingOptionsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SizingOptionsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
6378
|
+
SizingOptionsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SizingOptionsService });
|
|
6379
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SizingOptionsService, decorators: [{
|
|
6380
|
+
type: Injectable
|
|
6381
|
+
}] });
|
|
6382
|
+
|
|
6383
|
+
/**
|
|
6384
|
+
* @hidden
|
|
6385
|
+
*/
|
|
6386
|
+
const isNextSibling = (dropTarget, dragTarget) => dropTarget === dragTarget.nextElementSibling;
|
|
6387
|
+
/**
|
|
6388
|
+
* @hidden
|
|
6389
|
+
*/
|
|
6390
|
+
const isPreviousSibling = (dropTarget, dragTarget) => dropTarget === dragTarget.previousElementSibling;
|
|
6391
|
+
/**
|
|
6392
|
+
* @hidden
|
|
6393
|
+
*/
|
|
6394
|
+
const isDifferentParent = (dropTarget, dragTarget) => (dropTarget === null || dropTarget === void 0 ? void 0 : dropTarget.parentElement) !== (dragTarget === null || dragTarget === void 0 ? void 0 : dragTarget.parentElement);
|
|
6395
|
+
/**
|
|
6396
|
+
* @hidden
|
|
6397
|
+
*/
|
|
6398
|
+
function getOffset(element) {
|
|
6399
|
+
const { clientTop, clientLeft } = getDocument(element);
|
|
6400
|
+
const { pageYOffset, pageXOffset } = getWindow(element);
|
|
6401
|
+
const { top, left } = element.getBoundingClientRect();
|
|
6402
|
+
return {
|
|
6403
|
+
top: top + pageYOffset - clientTop,
|
|
6404
|
+
left: left + pageXOffset - clientLeft
|
|
6405
|
+
};
|
|
6406
|
+
}
|
|
6407
|
+
;
|
|
6408
|
+
/**
|
|
6409
|
+
* @hidden
|
|
6410
|
+
*/
|
|
6411
|
+
const hintIcons = {
|
|
6412
|
+
forbidden: 'cancel',
|
|
6413
|
+
before: 'insert-middle',
|
|
6414
|
+
after: 'insert-middle'
|
|
6415
|
+
};
|
|
6416
|
+
/**
|
|
6417
|
+
* @hidden
|
|
6418
|
+
*/
|
|
6419
|
+
const hintSVGIcons = {
|
|
6420
|
+
forbidden: cancelIcon,
|
|
6421
|
+
before: insertMiddleIcon,
|
|
6422
|
+
after: insertMiddleIcon
|
|
6423
|
+
};
|
|
6424
|
+
/**
|
|
6425
|
+
* @hidden
|
|
6426
|
+
*/
|
|
6427
|
+
const dropPosition = {
|
|
6428
|
+
forbidden: 'forbidden',
|
|
6429
|
+
before: 'before',
|
|
6430
|
+
after: 'after'
|
|
6431
|
+
};
|
|
6432
|
+
/**
|
|
6433
|
+
* @hidden
|
|
6434
|
+
*/
|
|
6435
|
+
const hintStyles = {
|
|
6436
|
+
zIndex: '20000',
|
|
6437
|
+
display: 'flex',
|
|
6438
|
+
position: 'fixed'
|
|
6439
|
+
};
|
|
6440
|
+
/**
|
|
6441
|
+
* @hidden
|
|
6442
|
+
*/
|
|
6443
|
+
const hintClasses = ['k-drag-clue', 'k-reorder-clue'];
|
|
6444
|
+
/**
|
|
6445
|
+
* @hidden
|
|
6446
|
+
*/
|
|
6447
|
+
const dropIndicatorStyles = {
|
|
6448
|
+
zIndex: '19000',
|
|
6449
|
+
position: 'absolute'
|
|
6450
|
+
};
|
|
6451
|
+
/**
|
|
6452
|
+
* @hidden
|
|
6453
|
+
*/
|
|
6454
|
+
const dropIndicatorClasses = ['k-drop-hint', 'k-drop-hint-h'];
|
|
6455
|
+
/**
|
|
6456
|
+
* @hidden
|
|
6457
|
+
*/
|
|
6458
|
+
const defaultSelectors = {
|
|
6459
|
+
handle: '.k-table-td.k-drag-cell',
|
|
6460
|
+
dragTarget: '.k-master-row',
|
|
6461
|
+
dropTarget: '.k-master-row'
|
|
6462
|
+
};
|
|
6463
|
+
const getDocument = element => element === null || element === void 0 ? void 0 : element.ownerDocument.documentElement;
|
|
6464
|
+
const getWindow = element => element === null || element === void 0 ? void 0 : element.ownerDocument.defaultView;
|
|
6465
|
+
|
|
6466
|
+
/**
|
|
6467
|
+
* @hidden
|
|
6468
|
+
*/
|
|
6469
|
+
class RowReorderService {
|
|
6470
|
+
constructor(renderer) {
|
|
6471
|
+
this.renderer = renderer;
|
|
6472
|
+
this.hintElement = null;
|
|
6473
|
+
this.defaultSelectors = defaultSelectors;
|
|
6474
|
+
this.hintText = '';
|
|
6475
|
+
this.lastDropPosition = dropPosition.forbidden;
|
|
6476
|
+
this.dragTarget = null;
|
|
6477
|
+
this.dropTarget = null;
|
|
6478
|
+
this.rowReorder = new EventEmitter();
|
|
6479
|
+
}
|
|
6480
|
+
press(ev) {
|
|
6481
|
+
this.dragTarget = ev.dragTarget;
|
|
6482
|
+
}
|
|
6483
|
+
dragStart() {
|
|
6484
|
+
this.createDropIndicator();
|
|
6485
|
+
}
|
|
6486
|
+
drag(ev) {
|
|
6487
|
+
if (isPresent$1(ev.hintElement) && !isPresent$1(this.hintElement)) {
|
|
6488
|
+
this.hintElement = ev.hintElement;
|
|
6489
|
+
this.decorateHint();
|
|
6490
|
+
}
|
|
6491
|
+
const position = {
|
|
6492
|
+
x: ev.dragEvent.clientX,
|
|
6493
|
+
y: ev.dragEvent.clientY
|
|
6494
|
+
};
|
|
6495
|
+
if (isPresent$1(this.hintElement)) {
|
|
6496
|
+
this.renderer.setStyle(this.hintElement, 'left', `${position.x}px`);
|
|
6497
|
+
this.renderer.setStyle(this.hintElement, 'top', `${position.y}px`);
|
|
6498
|
+
}
|
|
6499
|
+
this.positionDropIndicator(ev);
|
|
6500
|
+
}
|
|
6501
|
+
dragEnter(ev) {
|
|
6502
|
+
this.dropTarget = ev.dropTarget;
|
|
6503
|
+
}
|
|
6504
|
+
dragLeave() {
|
|
6505
|
+
this.dropTarget = null;
|
|
6506
|
+
this.hide();
|
|
6507
|
+
}
|
|
6508
|
+
dragEnd() {
|
|
6509
|
+
this.destroyDropIndicator();
|
|
6510
|
+
this.dragTarget = null;
|
|
6511
|
+
this.dropTarget = null;
|
|
6512
|
+
this.hintElement = null;
|
|
6513
|
+
}
|
|
6514
|
+
drop(ev) {
|
|
6515
|
+
this.destroyDropIndicator();
|
|
6516
|
+
const rowReorderArgs = this.rowReorderArgs(this.dragTarget, this.dropTarget, ev.dragData);
|
|
6517
|
+
this.rowReorder.emit(rowReorderArgs);
|
|
6518
|
+
}
|
|
6519
|
+
reorderRows(ev, collection) {
|
|
6520
|
+
if (this.lastDropPosition === dropPosition.forbidden) {
|
|
6521
|
+
return;
|
|
6522
|
+
}
|
|
6523
|
+
;
|
|
6524
|
+
const { draggedRows, dropTargetRow } = ev;
|
|
6525
|
+
const draggedDataItem = draggedRows[0].dataItem;
|
|
6526
|
+
const dropTargetDataItem = dropTargetRow.dataItem;
|
|
6527
|
+
const draggedItemIndex = collection.indexOf(draggedDataItem);
|
|
6528
|
+
const dropTargetIndex = collection.indexOf(dropTargetDataItem);
|
|
6529
|
+
const idxToAdd = this.calculateIndexToAdd(draggedItemIndex, dropTargetIndex);
|
|
6530
|
+
collection.splice(draggedItemIndex, 1);
|
|
6531
|
+
collection.splice(idxToAdd, 0, draggedDataItem);
|
|
6532
|
+
}
|
|
6533
|
+
get hintIcon() {
|
|
6534
|
+
return hintIcons[this.lastDropPosition];
|
|
6535
|
+
}
|
|
6536
|
+
get hintSVGIcon() {
|
|
6537
|
+
return hintSVGIcons[this.lastDropPosition];
|
|
6538
|
+
}
|
|
6539
|
+
getDefaultHintText(columns, data) {
|
|
6540
|
+
let hintText = '';
|
|
6541
|
+
const columnFieldsArray = columns
|
|
6542
|
+
.toArray()
|
|
6543
|
+
.filter(column => !column.hidden && isPresent$1(column.field))
|
|
6544
|
+
.map(column => column.field);
|
|
6545
|
+
const draggedDragRow = this.getDragRowPerElement(this.dragTarget, data);
|
|
6546
|
+
const draggedDataItem = draggedDragRow === null || draggedDragRow === void 0 ? void 0 : draggedDragRow.dataItem;
|
|
6547
|
+
isPresent$1(draggedDataItem) && columnFieldsArray.forEach(column => {
|
|
6548
|
+
const columnValue = draggedDataItem[column];
|
|
6549
|
+
isPresent$1(columnValue) ? hintText += `${columnValue} ` : null;
|
|
6550
|
+
});
|
|
6551
|
+
return hintText.trim();
|
|
6552
|
+
}
|
|
6553
|
+
rowReorderArgs(dragRow, dropRow, data) {
|
|
6554
|
+
const dragRowData = this.getDragRowPerElement(dragRow, data);
|
|
6555
|
+
const dropRowData = this.getDragRowPerElement(dropRow, data);
|
|
6556
|
+
return {
|
|
6557
|
+
draggedRows: [dragRowData],
|
|
6558
|
+
dropTargetRow: dropRowData,
|
|
6559
|
+
dropPosition: this.lastDropPosition
|
|
6560
|
+
};
|
|
6561
|
+
}
|
|
6562
|
+
getDragRowPerElement(row, data) {
|
|
6563
|
+
let rowIndex = row === null || row === void 0 ? void 0 : row.getAttribute('data-kendo-grid-item-index');
|
|
6564
|
+
rowIndex = rowIndex ? parseInt(rowIndex, 10) : -1;
|
|
6565
|
+
const skip = this.skip || 0;
|
|
6566
|
+
const dataItem = rowIndex === -1 ? null : data[rowIndex - skip];
|
|
6567
|
+
return {
|
|
6568
|
+
dataItem,
|
|
6569
|
+
rowIndex,
|
|
6570
|
+
element: row
|
|
6571
|
+
};
|
|
6572
|
+
}
|
|
6573
|
+
createDropIndicator() {
|
|
6574
|
+
if (!isDocumentAvailable()) {
|
|
6575
|
+
return;
|
|
6576
|
+
}
|
|
6577
|
+
this.dropIndicator = document.createElement('div');
|
|
6578
|
+
this.decorateDropIndicator();
|
|
6579
|
+
this.dropIndicator.innerHTML = `
|
|
6580
|
+
<div class="k-drop-hint-start"></div>
|
|
6581
|
+
<div class="k-drop-hint-line"></div>
|
|
6582
|
+
`;
|
|
6583
|
+
document.body.appendChild(this.dropIndicator);
|
|
6584
|
+
this.hide();
|
|
6585
|
+
}
|
|
6586
|
+
destroyDropIndicator() {
|
|
6587
|
+
if (!isDocumentAvailable()) {
|
|
6588
|
+
return;
|
|
6589
|
+
}
|
|
6590
|
+
;
|
|
6591
|
+
if (this.dropIndicator && this.dropIndicator.parentElement) {
|
|
6592
|
+
document.body.removeChild(this.dropIndicator);
|
|
6593
|
+
this.dropIndicator = null;
|
|
6594
|
+
}
|
|
6595
|
+
}
|
|
6596
|
+
decorateHint() {
|
|
6597
|
+
hintClasses.forEach(className => this.renderer.addClass(this.hintElement, className));
|
|
6598
|
+
Object.keys(hintStyles)
|
|
6599
|
+
.forEach(style => this.renderer.setStyle(this.hintElement, style, hintStyles[style]));
|
|
6600
|
+
}
|
|
6601
|
+
positionDropIndicator(ev) {
|
|
6602
|
+
this.lastDropPosition = this.getDropPosition(ev.dragEvent);
|
|
6603
|
+
this.updateDropIndicatorPosition();
|
|
6604
|
+
}
|
|
6605
|
+
calculateIndexToAdd(dragIndex, dropIndex) {
|
|
6606
|
+
if (dragIndex > dropIndex && this.lastDropPosition === dropPosition.after) {
|
|
6607
|
+
return dropIndex + 1;
|
|
6608
|
+
}
|
|
6609
|
+
else if (dragIndex > dropIndex && this.lastDropPosition === dropPosition.before) {
|
|
6610
|
+
return dropIndex;
|
|
6611
|
+
}
|
|
6612
|
+
else if (dragIndex < dropIndex && this.lastDropPosition === dropPosition.after) {
|
|
6613
|
+
return dropIndex;
|
|
6614
|
+
}
|
|
6615
|
+
else if (dragIndex < dropIndex && this.lastDropPosition === dropPosition.before) {
|
|
6616
|
+
return dropIndex - 1;
|
|
6617
|
+
}
|
|
6618
|
+
}
|
|
6619
|
+
decorateDropIndicator() {
|
|
6620
|
+
dropIndicatorClasses.forEach(className => this.renderer.addClass(this.dropIndicator, className));
|
|
6621
|
+
Object.keys(dropIndicatorStyles)
|
|
6622
|
+
.forEach(style => this.renderer.setStyle(this.dropIndicator, style, dropIndicatorStyles[style]));
|
|
6623
|
+
}
|
|
6624
|
+
;
|
|
6625
|
+
getDropPosition(e) {
|
|
6626
|
+
if (this.dropTarget === this.dragTarget || !isPresent$1(this.dropTarget)) {
|
|
6627
|
+
return dropPosition.forbidden;
|
|
6628
|
+
}
|
|
6629
|
+
;
|
|
6630
|
+
if (isDifferentParent(this.dropTarget, this.dragTarget)) {
|
|
6631
|
+
return dropPosition.forbidden;
|
|
6632
|
+
}
|
|
6633
|
+
;
|
|
6634
|
+
const itemViewPortCoords = this.dropTarget.getBoundingClientRect();
|
|
6635
|
+
const itemDivisionsCount = 2;
|
|
6636
|
+
const itemDivisionHeight = itemViewPortCoords.height / itemDivisionsCount;
|
|
6637
|
+
const pointerPosition = e.clientY;
|
|
6638
|
+
const itemTop = itemViewPortCoords.top;
|
|
6639
|
+
let currentDropPosition = null;
|
|
6640
|
+
if (pointerPosition < itemTop + itemDivisionHeight) {
|
|
6641
|
+
currentDropPosition = dropPosition.before;
|
|
6642
|
+
}
|
|
6643
|
+
else if (pointerPosition >= itemTop + itemViewPortCoords.height - itemDivisionHeight) {
|
|
6644
|
+
currentDropPosition = dropPosition.after;
|
|
6645
|
+
}
|
|
6646
|
+
if (currentDropPosition === dropPosition.before && isNextSibling(this.dropTarget, this.dragTarget)) {
|
|
6647
|
+
currentDropPosition = dropPosition.forbidden;
|
|
6648
|
+
}
|
|
6649
|
+
else if (currentDropPosition === dropPosition.after && isPreviousSibling(this.dropTarget, this.dragTarget)) {
|
|
6650
|
+
currentDropPosition = dropPosition.forbidden;
|
|
6651
|
+
}
|
|
6652
|
+
return currentDropPosition;
|
|
6653
|
+
}
|
|
6654
|
+
updateDropIndicatorPosition() {
|
|
6655
|
+
if (this.shouldHideDropIndicator() || !this.dropTarget) {
|
|
6656
|
+
this.hide();
|
|
6657
|
+
return;
|
|
6658
|
+
}
|
|
6659
|
+
this.show();
|
|
6660
|
+
const destinationItemOffset = getOffset(this.dropTarget);
|
|
6661
|
+
let indicatorOffsetTop = destinationItemOffset.top;
|
|
6662
|
+
const indicatorOffsetLeft = destinationItemOffset.left + this.dropIndicator.offsetWidth / 2;
|
|
6663
|
+
if (this.lastDropPosition === dropPosition.after) {
|
|
6664
|
+
indicatorOffsetTop += this.dropTarget.offsetHeight;
|
|
6665
|
+
}
|
|
6666
|
+
this.renderer.setStyle(this.dropIndicator, 'left', `${indicatorOffsetLeft}px`);
|
|
6667
|
+
this.renderer.setStyle(this.dropIndicator, 'top', `${indicatorOffsetTop}px`);
|
|
6668
|
+
}
|
|
6669
|
+
shouldHideDropIndicator() {
|
|
6670
|
+
return this.lastDropPosition === dropPosition.forbidden;
|
|
6671
|
+
}
|
|
6672
|
+
hide() {
|
|
6673
|
+
if (isPresent$1(this.dropIndicator)) {
|
|
6674
|
+
this.dropIndicator.style.display = 'none';
|
|
6675
|
+
}
|
|
6676
|
+
}
|
|
6677
|
+
show() {
|
|
6678
|
+
if (isPresent$1(this.dropIndicator)) {
|
|
6679
|
+
this.dropIndicator.style.display = '';
|
|
6680
|
+
}
|
|
6681
|
+
}
|
|
6682
|
+
}
|
|
6683
|
+
RowReorderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: RowReorderService, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
6684
|
+
RowReorderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: RowReorderService });
|
|
6685
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: RowReorderService, decorators: [{
|
|
6722
6686
|
type: Injectable
|
|
6723
|
-
}] }
|
|
6687
|
+
}], ctorParameters: function () { return [{ type: i0.Renderer2 }]; }, propDecorators: { rowReorder: [{
|
|
6688
|
+
type: Output
|
|
6689
|
+
}] } });
|
|
6724
6690
|
|
|
6725
6691
|
/**
|
|
6726
6692
|
* @hidden
|
|
@@ -7923,7 +7889,7 @@ PagerPageSizesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
|
|
|
7923
7889
|
[value]="pageSize"
|
|
7924
7890
|
(valueChange)="pageSizeChange($event)"></kendo-dropdownlist>
|
|
7925
7891
|
<kendo-label [for]="dropdownlist" [text]="textFor('pagerItemsPerPage')"></kendo-label>
|
|
7926
|
-
`, isInline: true, components: [{ type: i1$4.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["iconClass", "loading", "data", "value", "textField", "valueField", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }, { type: i5.LabelComponent, selector: "kendo-label", inputs: ["text", "for", "optional"], exportAs: ["kendoLabel"] }], directives: [{ type: PagerDropDownListDirective, selector: "[kendoGridPagerDropDown]" }, { type: FocusableDirective, selector: "[kendoGridFocusable],\n [kendoGridEditCommand],\n [kendoGridRemoveCommand],\n [kendoGridSaveCommand],\n [kendoGridCancelCommand],\n [kendoGridSelectionCheckbox]\n ", inputs: ["kendoGridFocusable"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
7892
|
+
`, isInline: true, components: [{ type: i1$4.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["iconClass", "loading", "data", "value", "textField", "valueField", "adaptiveMode", "title", "subtitle", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }, { type: i5.LabelComponent, selector: "kendo-label", inputs: ["text", "for", "optional"], exportAs: ["kendoLabel"] }], directives: [{ type: PagerDropDownListDirective, selector: "[kendoGridPagerDropDown]" }, { type: FocusableDirective, selector: "[kendoGridFocusable],\n [kendoGridEditCommand],\n [kendoGridRemoveCommand],\n [kendoGridSaveCommand],\n [kendoGridCancelCommand],\n [kendoGridSelectionCheckbox]\n ", inputs: ["kendoGridFocusable"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
7927
7893
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PagerPageSizesComponent, decorators: [{
|
|
7928
7894
|
type: Component,
|
|
7929
7895
|
args: [{
|
|
@@ -9629,7 +9595,7 @@ FilterMenuInputWrapperComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion:
|
|
|
9629
9595
|
(keydown.shift.tab)="onShiftTab($event)">
|
|
9630
9596
|
</kendo-dropdownlist>
|
|
9631
9597
|
<ng-content></ng-content>
|
|
9632
|
-
`, isInline: true, components: [{ type: i1$4.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["iconClass", "loading", "data", "value", "textField", "valueField", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }], directives: [{ type: FilterMenuDropDownListDirective, selector: "[kendoFilterMenuDropDown]", inputs: ["filterMenuDropDownLabel"] }] });
|
|
9598
|
+
`, isInline: true, components: [{ type: i1$4.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["iconClass", "loading", "data", "value", "textField", "valueField", "adaptiveMode", "title", "subtitle", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }], directives: [{ type: FilterMenuDropDownListDirective, selector: "[kendoFilterMenuDropDown]", inputs: ["filterMenuDropDownLabel"] }] });
|
|
9633
9599
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FilterMenuInputWrapperComponent, decorators: [{
|
|
9634
9600
|
type: Component,
|
|
9635
9601
|
args: [{
|
|
@@ -9812,7 +9778,7 @@ StringFilterMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.
|
|
|
9812
9778
|
[filter]="filter"
|
|
9813
9779
|
[menuTabbingService]="menuTabbingService">
|
|
9814
9780
|
</kendo-grid-string-filter-menu-input>
|
|
9815
|
-
`, isInline: true, components: [{ type: StringFilterMenuInputComponent, selector: "kendo-grid-string-filter-menu-input", inputs: ["operators", "column", "filter", "operator", "currentFilter", "filterService", "isFirstDropDown", "menuTabbingService"] }, { type: i1$4.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["iconClass", "loading", "data", "value", "textField", "valueField", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: FilterMenuDropDownListDirective, selector: "[kendoFilterMenuDropDown]", inputs: ["filterMenuDropDownLabel"] }] });
|
|
9781
|
+
`, isInline: true, components: [{ type: StringFilterMenuInputComponent, selector: "kendo-grid-string-filter-menu-input", inputs: ["operators", "column", "filter", "operator", "currentFilter", "filterService", "isFirstDropDown", "menuTabbingService"] }, { type: i1$4.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["iconClass", "loading", "data", "value", "textField", "valueField", "adaptiveMode", "title", "subtitle", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: FilterMenuDropDownListDirective, selector: "[kendoFilterMenuDropDown]", inputs: ["filterMenuDropDownLabel"] }] });
|
|
9816
9782
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: StringFilterMenuComponent, decorators: [{
|
|
9817
9783
|
type: Component,
|
|
9818
9784
|
args: [{
|
|
@@ -10215,7 +10181,7 @@ NumericFilterMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0
|
|
|
10215
10181
|
[menuTabbingService]="menuTabbingService"
|
|
10216
10182
|
>
|
|
10217
10183
|
</kendo-grid-numeric-filter-menu-input>
|
|
10218
|
-
`, isInline: true, components: [{ type: NumericFilterMenuInputComponent, selector: "kendo-grid-numeric-filter-menu-input", inputs: ["operators", "column", "filter", "operator", "currentFilter", "filterService", "filterDelay", "isFirstDropDown", "menuTabbingService", "step", "min", "max", "spinners", "decimals", "format"] }, { type: i1$4.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["iconClass", "loading", "data", "value", "textField", "valueField", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: FilterMenuDropDownListDirective, selector: "[kendoFilterMenuDropDown]", inputs: ["filterMenuDropDownLabel"] }] });
|
|
10184
|
+
`, isInline: true, components: [{ type: NumericFilterMenuInputComponent, selector: "kendo-grid-numeric-filter-menu-input", inputs: ["operators", "column", "filter", "operator", "currentFilter", "filterService", "filterDelay", "isFirstDropDown", "menuTabbingService", "step", "min", "max", "spinners", "decimals", "format"] }, { type: i1$4.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["iconClass", "loading", "data", "value", "textField", "valueField", "adaptiveMode", "title", "subtitle", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: FilterMenuDropDownListDirective, selector: "[kendoFilterMenuDropDown]", inputs: ["filterMenuDropDownLabel"] }] });
|
|
10219
10185
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: NumericFilterMenuComponent, decorators: [{
|
|
10220
10186
|
type: Component,
|
|
10221
10187
|
args: [{
|
|
@@ -10480,7 +10446,7 @@ DateFilterMenuInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12
|
|
|
10480
10446
|
</kendo-datepicker-messages>
|
|
10481
10447
|
</kendo-datepicker>
|
|
10482
10448
|
</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:
|
|
10449
|
+
`, 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
10450
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DateFilterMenuInputComponent, decorators: [{
|
|
10485
10451
|
type: Component,
|
|
10486
10452
|
args: [{
|
|
@@ -10666,7 +10632,7 @@ DateFilterMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
|
|
|
10666
10632
|
[menuTabbingService]="menuTabbingService"
|
|
10667
10633
|
>
|
|
10668
10634
|
</kendo-grid-date-filter-menu-input>
|
|
10669
|
-
`, isInline: true, components: [{ type: DateFilterMenuInputComponent, selector: "kendo-grid-date-filter-menu-input", inputs: ["operators", "column", "filter", "operator", "currentFilter", "filterService", "menuTabbingService", "format", "formatPlaceholder", "placeholder", "min", "max", "activeView", "bottomView", "topView", "weekNumber", "isFirstDropDown"] }, { type: i1$4.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["iconClass", "loading", "data", "value", "textField", "valueField", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: FilterMenuDropDownListDirective, selector: "[kendoFilterMenuDropDown]", inputs: ["filterMenuDropDownLabel"] }] });
|
|
10635
|
+
`, isInline: true, components: [{ type: DateFilterMenuInputComponent, selector: "kendo-grid-date-filter-menu-input", inputs: ["operators", "column", "filter", "operator", "currentFilter", "filterService", "menuTabbingService", "format", "formatPlaceholder", "placeholder", "min", "max", "activeView", "bottomView", "topView", "weekNumber", "isFirstDropDown"] }, { type: i1$4.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["iconClass", "loading", "data", "value", "textField", "valueField", "adaptiveMode", "title", "subtitle", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: FilterMenuDropDownListDirective, selector: "[kendoFilterMenuDropDown]", inputs: ["filterMenuDropDownLabel"] }] });
|
|
10670
10636
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DateFilterMenuComponent, decorators: [{
|
|
10671
10637
|
type: Component,
|
|
10672
10638
|
args: [{
|
|
@@ -11478,35 +11444,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
11478
11444
|
|
|
11479
11445
|
/**
|
|
11480
11446
|
* Represents the content template of the
|
|
11481
|
-
* [
|
|
11447
|
+
* [`ColumnMenuItemComponent`]({% slug api_grid_columnmenuitemcomponent %}) component.
|
|
11482
11448
|
* Provides an option for specifying the content of a column item.
|
|
11483
11449
|
* To define the content template, nest an `<ng-template>` tag with the
|
|
11484
11450
|
* `kendoGridColumnMenuItemContentTemplate` directive inside a `<kendo-grid-columnmenu-item>`.
|
|
11485
11451
|
*
|
|
11486
11452
|
* @example
|
|
11487
|
-
* ```
|
|
11488
|
-
*
|
|
11489
|
-
*
|
|
11490
|
-
*
|
|
11491
|
-
*
|
|
11492
|
-
*
|
|
11493
|
-
*
|
|
11494
|
-
*
|
|
11495
|
-
*
|
|
11496
|
-
*
|
|
11497
|
-
*
|
|
11498
|
-
*
|
|
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
|
-
* }
|
|
11509
|
-
*
|
|
11453
|
+
* ```html
|
|
11454
|
+
* <kendo-grid [data]="data" [columnMenu]="true" ...>
|
|
11455
|
+
* <ng-template kendoGridColumnMenuTemplate>
|
|
11456
|
+
* <kendo-grid-columnmenu-item text="Item Text" [expanded]="true">
|
|
11457
|
+
* <ng-template kendoGridColumnMenuItemContentTemplate>
|
|
11458
|
+
* Item Content
|
|
11459
|
+
* </ng-template>
|
|
11460
|
+
* </kendo-grid-columnmenu-item>
|
|
11461
|
+
* </ng-template>
|
|
11462
|
+
* <kendo-grid-column field="Field1"></kendo-grid-column>
|
|
11463
|
+
* ...
|
|
11464
|
+
* </kendo-grid>
|
|
11510
11465
|
* ```
|
|
11511
11466
|
*/
|
|
11512
11467
|
class ColumnMenuItemContentTemplateDirective {
|
|
@@ -13442,7 +13397,7 @@ FilterCellOperatorsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12
|
|
|
13442
13397
|
[size]="size"
|
|
13443
13398
|
(click)="clearClick()"
|
|
13444
13399
|
(keydown)="clearKeydown($event)"></button>
|
|
13445
|
-
`, isInline: true, components: [{ type: i1$4.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["iconClass", "loading", "data", "value", "textField", "valueField", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }, { type: i4$1.Button, selector: "button[kendoButton], span[kendoButton], kendo-button", inputs: ["toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: FocusableDirective, selector: "[kendoGridFocusable],\n [kendoGridEditCommand],\n [kendoGridRemoveCommand],\n [kendoGridSaveCommand],\n [kendoGridCancelCommand],\n [kendoGridSelectionCheckbox]\n ", inputs: ["kendoGridFocusable"] }] });
|
|
13400
|
+
`, isInline: true, components: [{ type: i1$4.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["iconClass", "loading", "data", "value", "textField", "valueField", "adaptiveMode", "title", "subtitle", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }, { type: i4$1.Button, selector: "button[kendoButton], span[kendoButton], kendo-button", inputs: ["toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: FocusableDirective, selector: "[kendoGridFocusable],\n [kendoGridEditCommand],\n [kendoGridRemoveCommand],\n [kendoGridSaveCommand],\n [kendoGridCancelCommand],\n [kendoGridSelectionCheckbox]\n ", inputs: ["kendoGridFocusable"] }] });
|
|
13446
13401
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FilterCellOperatorsComponent, decorators: [{
|
|
13447
13402
|
type: Component,
|
|
13448
13403
|
args: [{
|
|
@@ -13839,7 +13794,7 @@ BooleanFilterCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0
|
|
|
13839
13794
|
[value]="currentFilter?.value">
|
|
13840
13795
|
</kendo-dropdownlist>
|
|
13841
13796
|
</kendo-grid-filter-wrapper-cell>
|
|
13842
|
-
`, isInline: true, components: [{ type: FilterCellWrapperComponent, selector: "kendo-grid-filter-wrapper-cell", inputs: ["showOperators"] }, { type: i1$4.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["iconClass", "loading", "data", "value", "textField", "valueField", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }], 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"] }] });
|
|
13797
|
+
`, isInline: true, components: [{ type: FilterCellWrapperComponent, selector: "kendo-grid-filter-wrapper-cell", inputs: ["showOperators"] }, { type: i1$4.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["iconClass", "loading", "data", "value", "textField", "valueField", "adaptiveMode", "title", "subtitle", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }], 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"] }] });
|
|
13843
13798
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: BooleanFilterCellComponent, decorators: [{
|
|
13844
13799
|
type: Component,
|
|
13845
13800
|
args: [{
|
|
@@ -13946,7 +13901,7 @@ DateFilterCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
|
|
|
13946
13901
|
</kendo-datepicker-messages>
|
|
13947
13902
|
</kendo-datepicker>
|
|
13948
13903
|
</kendo-grid-filter-wrapper-cell>
|
|
13949
|
-
`, isInline: true, components: [{ type: FilterCellWrapperComponent, selector: "kendo-grid-filter-wrapper-cell", inputs: ["showOperators"] }, { type:
|
|
13904
|
+
`, 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
13905
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DateFilterCellComponent, decorators: [{
|
|
13951
13906
|
type: Component,
|
|
13952
13907
|
args: [{
|
|
@@ -14497,7 +14452,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
14497
14452
|
}] } });
|
|
14498
14453
|
|
|
14499
14454
|
/**
|
|
14500
|
-
* Represents the select-all checkbox feature of the Grid ([see example](
|
|
14455
|
+
* Represents the select-all checkbox feature of the Grid ([see example](slug:grid_selection_persistence#toc-selecting-all-items)).
|
|
14456
|
+
*
|
|
14457
|
+
* @example
|
|
14458
|
+
* ```html
|
|
14459
|
+
* <input
|
|
14460
|
+
* type="checkbox"
|
|
14461
|
+
* kendoCheckBox
|
|
14462
|
+
* kendoGridSelectAllCheckbox
|
|
14463
|
+
* [state]="selectAllState"
|
|
14464
|
+
* (selectAllChange)="onSelectAllChange($event)"
|
|
14465
|
+
* />
|
|
14466
|
+
* ```
|
|
14501
14467
|
*/
|
|
14502
14468
|
class SelectAllCheckboxDirective {
|
|
14503
14469
|
constructor(selectionService, el, renderer, ngZone) {
|
|
@@ -16042,53 +16008,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
16042
16008
|
|
|
16043
16009
|
/**
|
|
16044
16010
|
* 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)
|
|
16011
|
+
* index of the current row as an input parameter. Inside the [`CellTemplateDirective`](slug:api_grid_celltemplatedirective), apply the
|
|
16012
|
+
* `kendoGridSelectionCheckbox` to an `<input type="checkbox"/>` element. When the user clicks the checkbox that is associated
|
|
16013
|
+
* with the directive, a [selectionChange](slug:api_grid_gridcomponent#toc-selectionChange)
|
|
16049
16014
|
* event is triggered.
|
|
16050
16015
|
*
|
|
16051
16016
|
* @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
|
-
*
|
|
16017
|
+
* ```html
|
|
16018
|
+
* <kendo-grid ... >
|
|
16019
|
+
* <kendo-grid-column>
|
|
16020
|
+
* <ng-template kendoGridCellTemplate let-rowIndex="rowIndex">
|
|
16021
|
+
* <input ... [kendoGridSelectionCheckbox]="rowIndex"/>
|
|
16022
|
+
* </ng-template>
|
|
16023
|
+
* </kendo-grid-column>
|
|
16024
|
+
* </kendo-grid>
|
|
16092
16025
|
* ```
|
|
16093
16026
|
*/
|
|
16094
16027
|
class SelectionCheckboxDirective {
|
|
@@ -16200,12 +16133,19 @@ class CellComponent {
|
|
|
16200
16133
|
this.isNew = false;
|
|
16201
16134
|
this.isLoading = false;
|
|
16202
16135
|
this.isVirtual = false;
|
|
16136
|
+
this.reorderIcon = reorderIcon;
|
|
16203
16137
|
this._templateContext = {};
|
|
16204
16138
|
this._editTemplateContext = {};
|
|
16205
16139
|
}
|
|
16206
16140
|
get commandCellClass() {
|
|
16207
16141
|
return this.isCommand(this.column);
|
|
16208
16142
|
}
|
|
16143
|
+
get dragHandleCellClass() {
|
|
16144
|
+
return isRowReorderColumn(this.column);
|
|
16145
|
+
}
|
|
16146
|
+
get dragRowHandleLabel() {
|
|
16147
|
+
return isRowReorderColumn(this.column) ? this.localizationService.get('dragRowHandleLabel') : undefined;
|
|
16148
|
+
}
|
|
16209
16149
|
set rowIndex(index) {
|
|
16210
16150
|
this._rowIndex = index;
|
|
16211
16151
|
this.updateCellContext();
|
|
@@ -16262,6 +16202,9 @@ class CellComponent {
|
|
|
16262
16202
|
get childColumns() {
|
|
16263
16203
|
return columnsToRender([this.column]);
|
|
16264
16204
|
}
|
|
16205
|
+
get isRowReorderColumn() {
|
|
16206
|
+
return isRowReorderColumn(this.column) && !this.column.templateRef;
|
|
16207
|
+
}
|
|
16265
16208
|
get isColumnEditable() {
|
|
16266
16209
|
if (!this.column || this.isCommand(this.column)) {
|
|
16267
16210
|
return false;
|
|
@@ -16308,7 +16251,7 @@ class CellComponent {
|
|
|
16308
16251
|
}
|
|
16309
16252
|
}
|
|
16310
16253
|
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: `
|
|
16254
|
+
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
16255
|
<ng-container [ngSwitch]="isEdited">
|
|
16313
16256
|
<ng-container *ngSwitchCase="false">
|
|
16314
16257
|
<ng-container *ngIf="!showLoading; else loading">
|
|
@@ -16329,6 +16272,12 @@ CellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
|
|
|
16329
16272
|
[attr.id]="selectionCheckboxId"
|
|
16330
16273
|
[attr.aria-label]="selectionCheckboxLabel" />
|
|
16331
16274
|
</ng-container>
|
|
16275
|
+
<ng-container *ngIf="isRowReorderColumn && !isNew">
|
|
16276
|
+
<kendo-icon-wrapper
|
|
16277
|
+
name="reorder"
|
|
16278
|
+
[svgIcon]="reorderIcon">
|
|
16279
|
+
</kendo-icon-wrapper>
|
|
16280
|
+
</ng-container>
|
|
16332
16281
|
</ng-container>
|
|
16333
16282
|
<ng-template #loading>
|
|
16334
16283
|
<ng-template
|
|
@@ -16378,7 +16327,7 @@ CellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
|
|
|
16378
16327
|
</ng-container>
|
|
16379
16328
|
</ng-container>
|
|
16380
16329
|
</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:
|
|
16330
|
+
`, 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
16331
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: CellComponent, decorators: [{
|
|
16383
16332
|
type: Component,
|
|
16384
16333
|
args: [{
|
|
@@ -16404,6 +16353,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
16404
16353
|
[attr.id]="selectionCheckboxId"
|
|
16405
16354
|
[attr.aria-label]="selectionCheckboxLabel" />
|
|
16406
16355
|
</ng-container>
|
|
16356
|
+
<ng-container *ngIf="isRowReorderColumn && !isNew">
|
|
16357
|
+
<kendo-icon-wrapper
|
|
16358
|
+
name="reorder"
|
|
16359
|
+
[svgIcon]="reorderIcon">
|
|
16360
|
+
</kendo-icon-wrapper>
|
|
16361
|
+
</ng-container>
|
|
16407
16362
|
</ng-container>
|
|
16408
16363
|
<ng-template #loading>
|
|
16409
16364
|
<ng-template
|
|
@@ -16465,6 +16420,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
16465
16420
|
}, propDecorators: { commandCellClass: [{
|
|
16466
16421
|
type: HostBinding,
|
|
16467
16422
|
args: ['class.k-command-cell']
|
|
16423
|
+
}], dragHandleCellClass: [{
|
|
16424
|
+
type: HostBinding,
|
|
16425
|
+
args: ['class.k-drag-cell']
|
|
16426
|
+
}, {
|
|
16427
|
+
type: HostBinding,
|
|
16428
|
+
args: ['class.k-touch-action-none']
|
|
16429
|
+
}], dragRowHandleLabel: [{
|
|
16430
|
+
type: HostBinding,
|
|
16431
|
+
args: ['attr.aria-label']
|
|
16468
16432
|
}], column: [{
|
|
16469
16433
|
type: Input
|
|
16470
16434
|
}], columnIndex: [{
|
|
@@ -18837,7 +18801,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
18837
18801
|
class GridMessages extends ComponentMessages {
|
|
18838
18802
|
}
|
|
18839
18803
|
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 });
|
|
18804
|
+
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
18805
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GridMessages, decorators: [{
|
|
18842
18806
|
type: Directive,
|
|
18843
18807
|
args: [{
|
|
@@ -18994,6 +18958,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
18994
18958
|
type: Input
|
|
18995
18959
|
}], groupPanelLabel: [{
|
|
18996
18960
|
type: Input
|
|
18961
|
+
}], dragRowHandleLabel: [{
|
|
18962
|
+
type: Input
|
|
18997
18963
|
}] } });
|
|
18998
18964
|
|
|
18999
18965
|
/**
|
|
@@ -19074,7 +19040,7 @@ const isInEditedCell = (element, gridElement) => closest(element, matchesClasses
|
|
|
19074
19040
|
* ```
|
|
19075
19041
|
*/
|
|
19076
19042
|
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) {
|
|
19043
|
+
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
19044
|
this.supportService = supportService;
|
|
19079
19045
|
this.selectionService = selectionService;
|
|
19080
19046
|
this.cellSelectionService = cellSelectionService;
|
|
@@ -19102,11 +19068,7 @@ class GridComponent {
|
|
|
19102
19068
|
this.localization = localization;
|
|
19103
19069
|
this.ctx = ctx;
|
|
19104
19070
|
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 = [];
|
|
19071
|
+
this.rowReorderService = rowReorderService;
|
|
19110
19072
|
/**
|
|
19111
19073
|
* Defines the scroll mode used by the Grid.
|
|
19112
19074
|
*
|
|
@@ -19170,6 +19132,10 @@ class GridComponent {
|
|
|
19170
19132
|
* If set to `true`, the grid will render only the columns in the current viewport.
|
|
19171
19133
|
*/
|
|
19172
19134
|
this.virtualColumns = false;
|
|
19135
|
+
/**
|
|
19136
|
+
* @hidden
|
|
19137
|
+
*/
|
|
19138
|
+
this.gridData = () => { return this.flatData; };
|
|
19173
19139
|
/**
|
|
19174
19140
|
* Enables the [filtering]({% slug filtering_grid %}) of the Grid columns that have their `field` option set.
|
|
19175
19141
|
*/
|
|
@@ -19217,12 +19183,6 @@ class GridComponent {
|
|
|
19217
19183
|
* @default false
|
|
19218
19184
|
*/
|
|
19219
19185
|
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
19186
|
/**
|
|
19227
19187
|
* Specifies if the column menu of the columns will be displayed ([see example]({% slug columnmenu_grid %})).
|
|
19228
19188
|
*
|
|
@@ -19260,6 +19220,11 @@ class GridComponent {
|
|
|
19260
19220
|
* Emits the [SelectionEvent]({% slug api_grid_selectionevent %}#toc-selectionchange).
|
|
19261
19221
|
*/
|
|
19262
19222
|
this.selectionChange = new EventEmitter();
|
|
19223
|
+
/**
|
|
19224
|
+
* Fires when the user drops the dragged row and reordering is performed.
|
|
19225
|
+
* Emits the [RowReorderEvent]({% slug api_grid_selectionevent %}#toc-selectionchange).
|
|
19226
|
+
*/
|
|
19227
|
+
this.rowReorder = new EventEmitter();
|
|
19263
19228
|
/**
|
|
19264
19229
|
* Fires when the data state of the Grid is changed.
|
|
19265
19230
|
*/
|
|
@@ -19371,11 +19336,14 @@ class GridComponent {
|
|
|
19371
19336
|
this._sort = new Array();
|
|
19372
19337
|
this._group = new Array();
|
|
19373
19338
|
this._skip = 0;
|
|
19339
|
+
this._data = [];
|
|
19374
19340
|
this.cachedWindowWidth = 0;
|
|
19375
19341
|
this._rowSelected = null;
|
|
19376
19342
|
this._cellSelected = null;
|
|
19343
|
+
this._rowReorderable = false;
|
|
19377
19344
|
this._navigable = [];
|
|
19378
19345
|
this._size = 'medium';
|
|
19346
|
+
this._loading = false;
|
|
19379
19347
|
this.rtl = false;
|
|
19380
19348
|
this._rowClass = () => null;
|
|
19381
19349
|
validatePackage(packageMetadata);
|
|
@@ -19415,6 +19383,19 @@ class GridComponent {
|
|
|
19415
19383
|
.changes.subscribe(this.reorder.bind(this));
|
|
19416
19384
|
this.columnRangeChangeSubscription = this.columnInfoService.columnRangeChange.subscribe(this.onColumnRangeChange.bind(this));
|
|
19417
19385
|
}
|
|
19386
|
+
/**
|
|
19387
|
+
* Sets the data of the Grid. If an array is provided, the Grid automatically gets the total count
|
|
19388
|
+
* ([more information and example]({% slug binding_grid %})).
|
|
19389
|
+
*/
|
|
19390
|
+
set data(value) {
|
|
19391
|
+
this._data = value;
|
|
19392
|
+
}
|
|
19393
|
+
get data() {
|
|
19394
|
+
return this._data;
|
|
19395
|
+
}
|
|
19396
|
+
get hintText() {
|
|
19397
|
+
return this.rowReorderService.getDefaultHintText(this.columnList, this.flatData);
|
|
19398
|
+
}
|
|
19418
19399
|
/**
|
|
19419
19400
|
* Defines the number of records to be skipped by the pager.
|
|
19420
19401
|
* Required by the [paging]({% slug paging_grid %}) functionality.
|
|
@@ -19424,7 +19405,7 @@ class GridComponent {
|
|
|
19424
19405
|
}
|
|
19425
19406
|
set skip(value) {
|
|
19426
19407
|
if (typeof value === 'number' && value >= 0) {
|
|
19427
|
-
this._skip = value;
|
|
19408
|
+
this._skip = this.rowReorderService.skip = value;
|
|
19428
19409
|
}
|
|
19429
19410
|
}
|
|
19430
19411
|
/**
|
|
@@ -19522,6 +19503,27 @@ class GridComponent {
|
|
|
19522
19503
|
get marqueeSelection() {
|
|
19523
19504
|
return this.selectionService.enableMarquee || this.cellSelectionService.enableMarquee;
|
|
19524
19505
|
}
|
|
19506
|
+
/**
|
|
19507
|
+
* Enables the [row reordering]({% slug ToDo %}) of the Grid.
|
|
19508
|
+
* @default false
|
|
19509
|
+
*/
|
|
19510
|
+
set rowReorderable(value) {
|
|
19511
|
+
var _a;
|
|
19512
|
+
this._rowReorderable = value;
|
|
19513
|
+
if (value) {
|
|
19514
|
+
this.rowReorderSubscription = this.rowReorderService.rowReorder.subscribe(args => {
|
|
19515
|
+
this.ngZone.run(() => {
|
|
19516
|
+
this.rowReorder.emit(args);
|
|
19517
|
+
});
|
|
19518
|
+
});
|
|
19519
|
+
}
|
|
19520
|
+
else {
|
|
19521
|
+
(_a = this.rowReorderSubscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();
|
|
19522
|
+
}
|
|
19523
|
+
}
|
|
19524
|
+
get rowReorderable() {
|
|
19525
|
+
return this._rowReorderable;
|
|
19526
|
+
}
|
|
19525
19527
|
/**
|
|
19526
19528
|
* If set to `true`, the user can use dedicated shortcuts to interact with the Grid.
|
|
19527
19529
|
* By default, navigation is disabled and the Grid content is accessible in the normal tab sequence.
|
|
@@ -19664,6 +19666,18 @@ class GridComponent {
|
|
|
19664
19666
|
get activeRow() {
|
|
19665
19667
|
return this.navigationService.activeRow;
|
|
19666
19668
|
}
|
|
19669
|
+
/**
|
|
19670
|
+
* Specifies if the loading indicator of the Grid will be displayed ([see example]({% slug binding_grid %})).
|
|
19671
|
+
*
|
|
19672
|
+
* @default false
|
|
19673
|
+
*/
|
|
19674
|
+
set loading(value) {
|
|
19675
|
+
this._loading = value;
|
|
19676
|
+
this.rowReorderable && this.notifyReorderContainers();
|
|
19677
|
+
}
|
|
19678
|
+
get loading() {
|
|
19679
|
+
return this._loading;
|
|
19680
|
+
}
|
|
19667
19681
|
get dir() {
|
|
19668
19682
|
return this.direction;
|
|
19669
19683
|
}
|
|
@@ -19835,6 +19849,18 @@ class GridComponent {
|
|
|
19835
19849
|
}
|
|
19836
19850
|
return this.pageSize;
|
|
19837
19851
|
}
|
|
19852
|
+
/**
|
|
19853
|
+
* @hidden
|
|
19854
|
+
*/
|
|
19855
|
+
getDefaultSelectors(type) {
|
|
19856
|
+
return this.rowReorderService.defaultSelectors[type];
|
|
19857
|
+
}
|
|
19858
|
+
/**
|
|
19859
|
+
* @hidden
|
|
19860
|
+
*/
|
|
19861
|
+
getHintSettings(type) {
|
|
19862
|
+
return this.rowReorderService[type];
|
|
19863
|
+
}
|
|
19838
19864
|
/**
|
|
19839
19865
|
* Expands the specified master row ([see example]({% slug hierarchy_grid %})).
|
|
19840
19866
|
*
|
|
@@ -20066,6 +20092,9 @@ class GridComponent {
|
|
|
20066
20092
|
if (this.focusElementSubscription) {
|
|
20067
20093
|
this.focusElementSubscription.unsubscribe();
|
|
20068
20094
|
}
|
|
20095
|
+
if (this.rowReorderSubscription) {
|
|
20096
|
+
this.rowReorderSubscription.unsubscribe();
|
|
20097
|
+
}
|
|
20069
20098
|
this.columnRangeChangeSubscription.unsubscribe();
|
|
20070
20099
|
}
|
|
20071
20100
|
/**
|
|
@@ -20565,6 +20594,12 @@ class GridComponent {
|
|
|
20565
20594
|
get isGroupExpanded() {
|
|
20566
20595
|
return this.groupsService.userCallback;
|
|
20567
20596
|
}
|
|
20597
|
+
/**
|
|
20598
|
+
* @hidden
|
|
20599
|
+
*/
|
|
20600
|
+
handleReorderEvents(ev, evType) {
|
|
20601
|
+
this.rowReorderService[evType](ev);
|
|
20602
|
+
}
|
|
20568
20603
|
/**
|
|
20569
20604
|
* @hidden
|
|
20570
20605
|
*/
|
|
@@ -20791,6 +20826,11 @@ class GridComponent {
|
|
|
20791
20826
|
this.closeCell();
|
|
20792
20827
|
this.cancelCell();
|
|
20793
20828
|
this.dataStateChange.emit(x);
|
|
20829
|
+
if (this.rowReorderable) {
|
|
20830
|
+
this.ngZone.onStable.pipe(take(1)).subscribe(() => {
|
|
20831
|
+
this.notifyReorderContainers();
|
|
20832
|
+
});
|
|
20833
|
+
}
|
|
20794
20834
|
});
|
|
20795
20835
|
}
|
|
20796
20836
|
attachEditHandlers() {
|
|
@@ -21073,9 +21113,17 @@ class GridComponent {
|
|
|
21073
21113
|
}
|
|
21074
21114
|
return previousValue.cell !== currentValue.cell;
|
|
21075
21115
|
}
|
|
21116
|
+
notifyReorderContainers() {
|
|
21117
|
+
var _a, _b;
|
|
21118
|
+
(_a = this.dragTargetContainer) === null || _a === void 0 ? void 0 : _a.notify();
|
|
21119
|
+
(_b = this.dropTargetContainer) === null || _b === void 0 ? void 0 : _b.notify();
|
|
21120
|
+
}
|
|
21121
|
+
get flatData() {
|
|
21122
|
+
return isArray(this.data) ? this.data : this.data.data;
|
|
21123
|
+
}
|
|
21076
21124
|
}
|
|
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: [
|
|
21125
|
+
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 });
|
|
21126
|
+
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
21127
|
BrowserSupportService,
|
|
21080
21128
|
LocalizationService,
|
|
21081
21129
|
ColumnInfoService,
|
|
@@ -21116,8 +21164,9 @@ GridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
|
|
|
21116
21164
|
ScrollRequestService,
|
|
21117
21165
|
SortService,
|
|
21118
21166
|
ContextService,
|
|
21119
|
-
SizingOptionsService
|
|
21120
|
-
|
|
21167
|
+
SizingOptionsService,
|
|
21168
|
+
RowReorderService
|
|
21169
|
+
], 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
21170
|
<ng-container kendoGridLocalizedMessages
|
|
21122
21171
|
i18n-groupPanelEmpty="kendo.grid.groupPanelEmpty|The label visible in the Grid group panel when it is empty"
|
|
21123
21172
|
groupPanelEmpty="Drag a column header and drop it here to group by that column"
|
|
@@ -21343,6 +21392,9 @@ GridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
|
|
|
21343
21392
|
|
|
21344
21393
|
i18n-groupPanelLabel="kendo.grid.groupPanelLabel|The label for the Grid group panel toolbar"
|
|
21345
21394
|
groupPanelLabel="Group panel"
|
|
21395
|
+
|
|
21396
|
+
i18n-dragRowHandleLabel="kendo.grid.dragRowHandleLabel|The label for the Grid drag row handle"
|
|
21397
|
+
dragRowHandleLabel="Drag row"
|
|
21346
21398
|
>
|
|
21347
21399
|
</ng-container>
|
|
21348
21400
|
<kendo-grid-toolbar
|
|
@@ -21470,6 +21522,23 @@ GridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
|
|
|
21470
21522
|
</div>
|
|
21471
21523
|
</div>
|
|
21472
21524
|
<kendo-grid-list
|
|
21525
|
+
kendoDragTargetContainer
|
|
21526
|
+
kendoDropTargetContainer
|
|
21527
|
+
mode="manual"
|
|
21528
|
+
[dragDisabled]="!rowReorderable"
|
|
21529
|
+
[dropDisabled]="!rowReorderable"
|
|
21530
|
+
[dragTargetFilter]="getDefaultSelectors('dragTarget')"
|
|
21531
|
+
[dropTargetFilter]="getDefaultSelectors('dropTarget')"
|
|
21532
|
+
[dragHandle]="getDefaultSelectors('handle')"
|
|
21533
|
+
[hint]="{hintTemplate: defaultHint}"
|
|
21534
|
+
(press)="handleReorderEvents($event, 'press')"
|
|
21535
|
+
(dragStart)="handleReorderEvents($event, 'dragStart')"
|
|
21536
|
+
(drag)="handleReorderEvents($event, 'drag')"
|
|
21537
|
+
(dragEnter)="handleReorderEvents($event, 'dragEnter')"
|
|
21538
|
+
(dragLeave)="handleReorderEvents($event, 'dragLeave')"
|
|
21539
|
+
(dragEnd)="handleReorderEvents($event, 'dragEnd')"
|
|
21540
|
+
(drop)="handleReorderEvents($event, 'drop')"
|
|
21541
|
+
[dragData]="gridData"
|
|
21473
21542
|
[data]="$any(view)"
|
|
21474
21543
|
[rowHeight]="rowHeight"
|
|
21475
21544
|
[detailRowHeight]="detailRowHeight"
|
|
@@ -21635,8 +21704,18 @@ GridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
|
|
|
21635
21704
|
[navigable]="navigation.toolbarEnabled"
|
|
21636
21705
|
[attr.aria-label]="messageFor('bottomToolbarLabel')"
|
|
21637
21706
|
[attr.aria-controls]="ariaRootId"
|
|
21638
|
-
position="bottom"
|
|
21639
|
-
|
|
21707
|
+
position="bottom">
|
|
21708
|
+
</kendo-grid-toolbar>
|
|
21709
|
+
|
|
21710
|
+
<ng-template #defaultHint>
|
|
21711
|
+
<kendo-icon-wrapper
|
|
21712
|
+
[name]="getHintSettings('hintIcon')"
|
|
21713
|
+
[svgIcon]="getHintSettings('hintSVGIcon')"
|
|
21714
|
+
innerCssClass="k-drag-status">
|
|
21715
|
+
</kendo-icon-wrapper>
|
|
21716
|
+
{{hintText}}
|
|
21717
|
+
</ng-template>
|
|
21718
|
+
`, 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
21719
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GridComponent, decorators: [{
|
|
21641
21720
|
type: Component,
|
|
21642
21721
|
args: [{
|
|
@@ -21683,7 +21762,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
21683
21762
|
ScrollRequestService,
|
|
21684
21763
|
SortService,
|
|
21685
21764
|
ContextService,
|
|
21686
|
-
SizingOptionsService
|
|
21765
|
+
SizingOptionsService,
|
|
21766
|
+
RowReorderService
|
|
21687
21767
|
],
|
|
21688
21768
|
selector: 'kendo-grid',
|
|
21689
21769
|
template: `
|
|
@@ -21912,6 +21992,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
21912
21992
|
|
|
21913
21993
|
i18n-groupPanelLabel="kendo.grid.groupPanelLabel|The label for the Grid group panel toolbar"
|
|
21914
21994
|
groupPanelLabel="Group panel"
|
|
21995
|
+
|
|
21996
|
+
i18n-dragRowHandleLabel="kendo.grid.dragRowHandleLabel|The label for the Grid drag row handle"
|
|
21997
|
+
dragRowHandleLabel="Drag row"
|
|
21915
21998
|
>
|
|
21916
21999
|
</ng-container>
|
|
21917
22000
|
<kendo-grid-toolbar
|
|
@@ -22039,6 +22122,23 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
22039
22122
|
</div>
|
|
22040
22123
|
</div>
|
|
22041
22124
|
<kendo-grid-list
|
|
22125
|
+
kendoDragTargetContainer
|
|
22126
|
+
kendoDropTargetContainer
|
|
22127
|
+
mode="manual"
|
|
22128
|
+
[dragDisabled]="!rowReorderable"
|
|
22129
|
+
[dropDisabled]="!rowReorderable"
|
|
22130
|
+
[dragTargetFilter]="getDefaultSelectors('dragTarget')"
|
|
22131
|
+
[dropTargetFilter]="getDefaultSelectors('dropTarget')"
|
|
22132
|
+
[dragHandle]="getDefaultSelectors('handle')"
|
|
22133
|
+
[hint]="{hintTemplate: defaultHint}"
|
|
22134
|
+
(press)="handleReorderEvents($event, 'press')"
|
|
22135
|
+
(dragStart)="handleReorderEvents($event, 'dragStart')"
|
|
22136
|
+
(drag)="handleReorderEvents($event, 'drag')"
|
|
22137
|
+
(dragEnter)="handleReorderEvents($event, 'dragEnter')"
|
|
22138
|
+
(dragLeave)="handleReorderEvents($event, 'dragLeave')"
|
|
22139
|
+
(dragEnd)="handleReorderEvents($event, 'dragEnd')"
|
|
22140
|
+
(drop)="handleReorderEvents($event, 'drop')"
|
|
22141
|
+
[dragData]="gridData"
|
|
22042
22142
|
[data]="$any(view)"
|
|
22043
22143
|
[rowHeight]="rowHeight"
|
|
22044
22144
|
[detailRowHeight]="detailRowHeight"
|
|
@@ -22204,10 +22304,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
22204
22304
|
[navigable]="navigation.toolbarEnabled"
|
|
22205
22305
|
[attr.aria-label]="messageFor('bottomToolbarLabel')"
|
|
22206
22306
|
[attr.aria-controls]="ariaRootId"
|
|
22207
|
-
position="bottom"
|
|
22307
|
+
position="bottom">
|
|
22308
|
+
</kendo-grid-toolbar>
|
|
22309
|
+
|
|
22310
|
+
<ng-template #defaultHint>
|
|
22311
|
+
<kendo-icon-wrapper
|
|
22312
|
+
[name]="getHintSettings('hintIcon')"
|
|
22313
|
+
[svgIcon]="getHintSettings('hintSVGIcon')"
|
|
22314
|
+
innerCssClass="k-drag-status">
|
|
22315
|
+
</kendo-icon-wrapper>
|
|
22316
|
+
{{hintText}}
|
|
22317
|
+
</ng-template>
|
|
22208
22318
|
`
|
|
22209
22319
|
}]
|
|
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: [{
|
|
22320
|
+
}], 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
22321
|
type: Input
|
|
22212
22322
|
}], pageSize: [{
|
|
22213
22323
|
type: Input
|
|
@@ -22243,6 +22353,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
22243
22353
|
type: Input
|
|
22244
22354
|
}], groupable: [{
|
|
22245
22355
|
type: Input
|
|
22356
|
+
}], rowReorderable: [{
|
|
22357
|
+
type: Input
|
|
22246
22358
|
}], navigable: [{
|
|
22247
22359
|
type: Input
|
|
22248
22360
|
}], navigatable: [{
|
|
@@ -22277,6 +22389,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
22277
22389
|
type: Output
|
|
22278
22390
|
}], selectionChange: [{
|
|
22279
22391
|
type: Output
|
|
22392
|
+
}], rowReorder: [{
|
|
22393
|
+
type: Output
|
|
22280
22394
|
}], dataStateChange: [{
|
|
22281
22395
|
type: Output
|
|
22282
22396
|
}], groupExpand: [{
|
|
@@ -22376,6 +22490,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
22376
22490
|
}], ariaRoot: [{
|
|
22377
22491
|
type: ViewChild,
|
|
22378
22492
|
args: ['ariaRoot', { static: true }]
|
|
22493
|
+
}], dragTargetContainer: [{
|
|
22494
|
+
type: ViewChild,
|
|
22495
|
+
args: [DragTargetContainerDirective]
|
|
22496
|
+
}], dropTargetContainer: [{
|
|
22497
|
+
type: ViewChild,
|
|
22498
|
+
args: [DropTargetContainerDirective]
|
|
22379
22499
|
}], isDetailExpanded: [{
|
|
22380
22500
|
type: Input
|
|
22381
22501
|
}], isGroupExpanded: [{
|
|
@@ -22386,12 +22506,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
22386
22506
|
* A directive which encapsulates the in-memory handling of data operations such as [paging]({% slug paging_grid %}),
|
|
22387
22507
|
* [sorting]({% slug sorting_grid %}), and [grouping]({% slug grouping_grid %})
|
|
22388
22508
|
* ([more information and examples]({% slug local_data_grid %}#toc-using-the-data-binding-directive)).
|
|
22509
|
+
*
|
|
22510
|
+
* @example
|
|
22511
|
+
* ```html
|
|
22512
|
+
* <kendo-grid [kendoGridBinding]="gridData" ...></kendo-grid>
|
|
22513
|
+
* ```
|
|
22389
22514
|
*/
|
|
22390
22515
|
class DataBindingDirective {
|
|
22391
|
-
constructor(grid, changeDetector, localDataChangesService) {
|
|
22516
|
+
constructor(grid, changeDetector, localDataChangesService, rowReorderService) {
|
|
22392
22517
|
this.grid = grid;
|
|
22393
22518
|
this.changeDetector = changeDetector;
|
|
22394
22519
|
this.localDataChangesService = localDataChangesService;
|
|
22520
|
+
this.rowReorderService = rowReorderService;
|
|
22395
22521
|
this.state = {
|
|
22396
22522
|
skip: 0
|
|
22397
22523
|
};
|
|
@@ -22402,12 +22528,16 @@ class DataBindingDirective {
|
|
|
22402
22528
|
}
|
|
22403
22529
|
/**
|
|
22404
22530
|
* Defines the number of records that will be skipped by the pager.
|
|
22531
|
+
* @default 0
|
|
22405
22532
|
*/
|
|
22406
22533
|
set skip(value) {
|
|
22407
22534
|
if (!isPresent(value)) {
|
|
22408
22535
|
value = 0;
|
|
22409
22536
|
}
|
|
22410
22537
|
this.grid.skip = this.state.skip = value;
|
|
22538
|
+
if (this.rowReorderService) {
|
|
22539
|
+
this.rowReorderService.skip = value;
|
|
22540
|
+
}
|
|
22411
22541
|
}
|
|
22412
22542
|
/**
|
|
22413
22543
|
* Defines the descriptors by which the data will be sorted.
|
|
@@ -22451,6 +22581,11 @@ class DataBindingDirective {
|
|
|
22451
22581
|
this.stateChangeSubscription = this.grid
|
|
22452
22582
|
.dataStateChange
|
|
22453
22583
|
.subscribe(this.onStateChange.bind(this));
|
|
22584
|
+
if (this.rowReorderService) {
|
|
22585
|
+
this.rowReorderSubscription = this.grid
|
|
22586
|
+
.rowReorder
|
|
22587
|
+
.subscribe(this.onRowReorder.bind(this));
|
|
22588
|
+
}
|
|
22454
22589
|
}
|
|
22455
22590
|
/**
|
|
22456
22591
|
* @hidden
|
|
@@ -22462,6 +22597,9 @@ class DataBindingDirective {
|
|
|
22462
22597
|
if (this.dataChangedSubscription) {
|
|
22463
22598
|
this.dataChangedSubscription.unsubscribe();
|
|
22464
22599
|
}
|
|
22600
|
+
if (this.rowReorderSubscription) {
|
|
22601
|
+
this.rowReorderSubscription.unsubscribe();
|
|
22602
|
+
}
|
|
22465
22603
|
}
|
|
22466
22604
|
/**
|
|
22467
22605
|
* @hidden
|
|
@@ -22483,6 +22621,13 @@ class DataBindingDirective {
|
|
|
22483
22621
|
this.applyState(state);
|
|
22484
22622
|
this.rebind();
|
|
22485
22623
|
}
|
|
22624
|
+
/**
|
|
22625
|
+
* @hidden
|
|
22626
|
+
*/
|
|
22627
|
+
onRowReorder(ev) {
|
|
22628
|
+
this.rowReorderService.reorderRows(ev, this.originalData);
|
|
22629
|
+
this.rebind();
|
|
22630
|
+
}
|
|
22486
22631
|
/**
|
|
22487
22632
|
* @hidden
|
|
22488
22633
|
*/
|
|
@@ -22515,14 +22660,14 @@ class DataBindingDirective {
|
|
|
22515
22660
|
this.dataChanged = false;
|
|
22516
22661
|
}
|
|
22517
22662
|
}
|
|
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 });
|
|
22663
|
+
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
22664
|
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
22665
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DataBindingDirective, decorators: [{
|
|
22521
22666
|
type: Directive,
|
|
22522
22667
|
args: [{
|
|
22523
22668
|
selector: '[kendoGridBinding]'
|
|
22524
22669
|
}]
|
|
22525
|
-
}], ctorParameters: function () { return [{ type: GridComponent }, { type: i0.ChangeDetectorRef }, { type: LocalDataChangesService }]; }, propDecorators: { skip: [{
|
|
22670
|
+
}], ctorParameters: function () { return [{ type: GridComponent }, { type: i0.ChangeDetectorRef }, { type: LocalDataChangesService }, { type: RowReorderService }]; }, propDecorators: { skip: [{
|
|
22526
22671
|
type: Input
|
|
22527
22672
|
}], sort: [{
|
|
22528
22673
|
type: Input
|
|
@@ -22539,7 +22684,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
22539
22684
|
|
|
22540
22685
|
/**
|
|
22541
22686
|
* A directive which stores the row selection state of the Grid in memory
|
|
22542
|
-
* ([see example]({% slug selection_grid %}#toc-
|
|
22687
|
+
* ([see example]({% slug selection_grid %}#toc-toggling-the-selection-functionality)).
|
|
22543
22688
|
*/
|
|
22544
22689
|
class SelectionDirective extends Selection {
|
|
22545
22690
|
constructor(ctx, cd) {
|
|
@@ -22572,7 +22717,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
22572
22717
|
}], ctorParameters: function () { return [{ type: ContextService }, { type: i0.ChangeDetectorRef }]; } });
|
|
22573
22718
|
|
|
22574
22719
|
/**
|
|
22575
|
-
* A directive which controls the expanded state of the master detail rows.
|
|
22720
|
+
* 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
22721
|
*/
|
|
22577
22722
|
class ExpandDetailsDirective {
|
|
22578
22723
|
constructor(grid) {
|
|
@@ -22889,7 +23034,7 @@ AutoCompleteFilterCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion:
|
|
|
22889
23034
|
[value]="currentFilter?.value">
|
|
22890
23035
|
</kendo-autocomplete>
|
|
22891
23036
|
</kendo-grid-filter-wrapper-cell>
|
|
22892
|
-
`, isInline: true, components: [{ type: FilterCellWrapperComponent, selector: "kendo-grid-filter-wrapper-cell", inputs: ["showOperators"] }, { type: i1$4.AutoCompleteComponent, selector: "kendo-autocomplete", inputs: ["highlightFirst", "focusableId", "data", "value", "valueField", "placeholder", "popupSettings", "listHeight", "loading", "clearButton", "suggest", "disabled", "itemDisabled", "readonly", "tabindex", "tabIndex", "filterable", "virtual", "size", "rounded", "fillMode"], outputs: ["valueChange", "filterChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoAutoComplete"] }], directives: [{ type: FilterInputDirective, selector: "[kendoFilterInput]", inputs: ["filterDelay", "columnLabel", "value"] }] });
|
|
23037
|
+
`, isInline: true, components: [{ type: FilterCellWrapperComponent, selector: "kendo-grid-filter-wrapper-cell", inputs: ["showOperators"] }, { type: i1$4.AutoCompleteComponent, selector: "kendo-autocomplete", inputs: ["highlightFirst", "focusableId", "data", "value", "valueField", "placeholder", "adaptiveMode", "title", "subtitle", "popupSettings", "listHeight", "loading", "clearButton", "suggest", "disabled", "itemDisabled", "readonly", "tabindex", "tabIndex", "filterable", "virtual", "size", "rounded", "fillMode"], outputs: ["valueChange", "filterChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoAutoComplete"] }], directives: [{ type: FilterInputDirective, selector: "[kendoFilterInput]", inputs: ["filterDelay", "columnLabel", "value"] }] });
|
|
22893
23038
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AutoCompleteFilterCellComponent, decorators: [{
|
|
22894
23039
|
type: Component,
|
|
22895
23040
|
args: [{
|
|
@@ -24502,28 +24647,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
24502
24647
|
|
|
24503
24648
|
/**
|
|
24504
24649
|
* Represents the `cancel` command of the Grid. You can apply this directive to any `button`
|
|
24505
|
-
* element inside a [CommandColumnComponent]({% slug api_grid_commandcolumncomponent %})
|
|
24650
|
+
* element inside a [CommandColumnComponent]({% slug api_grid_commandcolumncomponent %})
|
|
24651
|
+
* ([see example](slug:editing_directives_grid#toc-command-column-directives)).
|
|
24506
24652
|
* When an associated button with the directive is clicked, the
|
|
24507
24653
|
* [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
|
-
* ```
|
|
24654
|
+
* is triggered. When the row is not in the edit mode, the button with the `kendoGridCancelCommand` is automatically hidden.
|
|
24522
24655
|
*
|
|
24523
24656
|
* You can control the content of the button based on the state of the row.
|
|
24524
24657
|
*
|
|
24525
24658
|
* @example
|
|
24526
|
-
* ```html
|
|
24659
|
+
* ```html
|
|
24527
24660
|
* <kendo-grid>
|
|
24528
24661
|
* <kendo-grid-command-column title="command">
|
|
24529
24662
|
* <ng-template kendoGridCellTemplate let-isNew="isNew">
|
|
@@ -24613,23 +24746,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
24613
24746
|
|
|
24614
24747
|
/**
|
|
24615
24748
|
* Represents the `save` command of the Grid. You can apply this directive to any `button`
|
|
24616
|
-
* element inside a [CommandColumnComponent]({% slug api_grid_commandcolumncomponent %})
|
|
24749
|
+
* element inside a [CommandColumnComponent]({% slug api_grid_commandcolumncomponent %})
|
|
24750
|
+
* ([see example](slug:editing_directives_grid#toc-command-column-directives)).
|
|
24617
24751
|
* When an associated button with the directive is clicked, the
|
|
24618
24752
|
* [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
|
-
* ```
|
|
24753
|
+
* is triggered. When the row is not in the edit mode, the button with `kendoGridSaveCommand` is automatically hidden.
|
|
24633
24754
|
*
|
|
24634
24755
|
* You can control the content of the button based on the state of the row.
|
|
24635
24756
|
*
|
|
@@ -24724,15 +24845,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
24724
24845
|
|
|
24725
24846
|
/**
|
|
24726
24847
|
* Represents the `remove` command of the Grid. You can apply this directive to any `button` element
|
|
24727
|
-
* inside a [CommandColumnComponent]({% slug api_grid_commandcolumncomponent %})
|
|
24848
|
+
* inside a [CommandColumnComponent]({% slug api_grid_commandcolumncomponent %})
|
|
24849
|
+
* ([see example](slug:editing_directives_grid#toc-command-column-directives)).
|
|
24728
24850
|
* 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.
|
|
24851
|
+
* [remove]({% slug api_grid_gridcomponent %}#toc-remove) event
|
|
24852
|
+
* is triggered.
|
|
24853
|
+
* When the row is in the edit mode, the button with the `kendoGridRemoveCommand` is automatically hidden.
|
|
24733
24854
|
*
|
|
24734
24855
|
* @example
|
|
24735
|
-
* ```html
|
|
24856
|
+
* ```html
|
|
24736
24857
|
* <kendo-grid>
|
|
24737
24858
|
* <kendo-grid-command-column title="command">
|
|
24738
24859
|
* <ng-template kendoGridCellTemplate>
|
|
@@ -24826,7 +24947,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
24826
24947
|
* ([see example]({% slug basics_editing_grid %})).
|
|
24827
24948
|
*
|
|
24828
24949
|
* @example
|
|
24829
|
-
* ```html
|
|
24950
|
+
* ```html
|
|
24830
24951
|
* <kendo-grid>
|
|
24831
24952
|
* <ng-template kendoGridToolbarTemplate>
|
|
24832
24953
|
* <button kendoGridAddCommand>Add new</button>
|
|
@@ -24891,6 +25012,54 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
24891
25012
|
args: ['class.k-grid-add-command']
|
|
24892
25013
|
}] } });
|
|
24893
25014
|
|
|
25015
|
+
/**
|
|
25016
|
+
* Represents the drag handle for reordering rows in the Grid.
|
|
25017
|
+
*/
|
|
25018
|
+
class RowReorderColumnComponent extends ColumnBase {
|
|
25019
|
+
constructor(parent, idService) {
|
|
25020
|
+
super(parent, idService);
|
|
25021
|
+
this.parent = parent;
|
|
25022
|
+
/**
|
|
25023
|
+
* @hidden
|
|
25024
|
+
*/
|
|
25025
|
+
this.isRowReorderColumn = true;
|
|
25026
|
+
}
|
|
25027
|
+
}
|
|
25028
|
+
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 });
|
|
25029
|
+
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: [
|
|
25030
|
+
{
|
|
25031
|
+
provide: ColumnBase,
|
|
25032
|
+
useExisting: forwardRef(() => RowReorderColumnComponent)
|
|
25033
|
+
}
|
|
25034
|
+
], usesInheritance: true, ngImport: i0, template: ``, isInline: true });
|
|
25035
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: RowReorderColumnComponent, decorators: [{
|
|
25036
|
+
type: Component,
|
|
25037
|
+
args: [{
|
|
25038
|
+
providers: [
|
|
25039
|
+
{
|
|
25040
|
+
provide: ColumnBase,
|
|
25041
|
+
useExisting: forwardRef(() => RowReorderColumnComponent)
|
|
25042
|
+
}
|
|
25043
|
+
],
|
|
25044
|
+
selector: 'kendo-grid-rowreorder-column',
|
|
25045
|
+
template: ``
|
|
25046
|
+
}]
|
|
25047
|
+
}], ctorParameters: function () {
|
|
25048
|
+
return [{ type: ColumnBase, decorators: [{
|
|
25049
|
+
type: SkipSelf
|
|
25050
|
+
}, {
|
|
25051
|
+
type: Host
|
|
25052
|
+
}, {
|
|
25053
|
+
type: Optional
|
|
25054
|
+
}] }, { type: IdService, decorators: [{
|
|
25055
|
+
type: Optional
|
|
25056
|
+
}] }];
|
|
25057
|
+
}, propDecorators: { dragHandleIcon: [{
|
|
25058
|
+
type: Input
|
|
25059
|
+
}], dragHandleSVGIcon: [{
|
|
25060
|
+
type: Input
|
|
25061
|
+
}] } });
|
|
25062
|
+
|
|
24894
25063
|
const exported = [
|
|
24895
25064
|
CommandColumnComponent,
|
|
24896
25065
|
CheckboxColumnComponent,
|
|
@@ -24906,7 +25075,8 @@ const exported = [
|
|
|
24906
25075
|
RemoveCommandDirective,
|
|
24907
25076
|
AddCommandDirective,
|
|
24908
25077
|
CellLoadingTemplateDirective,
|
|
24909
|
-
LoadingTemplateDirective
|
|
25078
|
+
LoadingTemplateDirective,
|
|
25079
|
+
RowReorderColumnComponent
|
|
24910
25080
|
];
|
|
24911
25081
|
const importedModules$1 = [
|
|
24912
25082
|
CommonModule,
|
|
@@ -24936,7 +25106,8 @@ class BodyModule {
|
|
|
24936
25106
|
RemoveCommandDirective,
|
|
24937
25107
|
AddCommandDirective,
|
|
24938
25108
|
CellLoadingTemplateDirective,
|
|
24939
|
-
LoadingTemplateDirective
|
|
25109
|
+
LoadingTemplateDirective,
|
|
25110
|
+
RowReorderColumnComponent
|
|
24940
25111
|
];
|
|
24941
25112
|
}
|
|
24942
25113
|
}
|
|
@@ -24955,7 +25126,8 @@ BodyModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13
|
|
|
24955
25126
|
RemoveCommandDirective,
|
|
24956
25127
|
AddCommandDirective,
|
|
24957
25128
|
CellLoadingTemplateDirective,
|
|
24958
|
-
LoadingTemplateDirective
|
|
25129
|
+
LoadingTemplateDirective,
|
|
25130
|
+
RowReorderColumnComponent], imports: [CommonModule,
|
|
24959
25131
|
ReactiveFormsModule,
|
|
24960
25132
|
FormsModule,
|
|
24961
25133
|
SharedModule,
|
|
@@ -24976,7 +25148,8 @@ BodyModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13
|
|
|
24976
25148
|
RemoveCommandDirective,
|
|
24977
25149
|
AddCommandDirective,
|
|
24978
25150
|
CellLoadingTemplateDirective,
|
|
24979
|
-
LoadingTemplateDirective
|
|
25151
|
+
LoadingTemplateDirective,
|
|
25152
|
+
RowReorderColumnComponent] });
|
|
24980
25153
|
BodyModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: BodyModule, imports: [[...importedModules$1]] });
|
|
24981
25154
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: BodyModule, decorators: [{
|
|
24982
25155
|
type: NgModule,
|
|
@@ -25226,7 +25399,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
25226
25399
|
|
|
25227
25400
|
/**
|
|
25228
25401
|
* 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-
|
|
25402
|
+
* the Template-Driven Angular Forms ([see example]({% slug editing_directives_grid %}#toc-template-editing-directive)).
|
|
25230
25403
|
*/
|
|
25231
25404
|
class TemplateEditingDirective extends RowEditingDirectiveBase {
|
|
25232
25405
|
constructor(grid, localDataChangesService) {
|
|
@@ -25324,7 +25497,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
25324
25497
|
|
|
25325
25498
|
/**
|
|
25326
25499
|
* 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-
|
|
25500
|
+
* editing with Reactive Forms ([see example]({% slug editing_directives_grid %}#toc-in-cell-editing)).
|
|
25328
25501
|
*/
|
|
25329
25502
|
class InCellEditingDirective extends EditingDirectiveBase {
|
|
25330
25503
|
constructor(grid, localDataChangesService, cdr) {
|
|
@@ -25812,7 +25985,8 @@ GridModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13
|
|
|
25812
25985
|
RowFilterModule,
|
|
25813
25986
|
FilterMenuModule,
|
|
25814
25987
|
ResizeSensorModule,
|
|
25815
|
-
ColumnMenuModule
|
|
25988
|
+
ColumnMenuModule,
|
|
25989
|
+
DragAndDropModule$1], exports: [GridComponent,
|
|
25816
25990
|
ToolbarTemplateDirective,
|
|
25817
25991
|
ToolbarComponent,
|
|
25818
25992
|
GridSpacerComponent,
|
|
@@ -25825,7 +25999,7 @@ GridModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13
|
|
|
25825
25999
|
InCellEditingDirective,
|
|
25826
26000
|
ExpandDetailsDirective,
|
|
25827
26001
|
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] });
|
|
26002
|
+
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
26003
|
GridModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GridModule, imports: [[
|
|
25830
26004
|
CommonModule,
|
|
25831
26005
|
GroupModule,
|
|
@@ -25837,7 +26011,8 @@ GridModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13
|
|
|
25837
26011
|
RowFilterModule,
|
|
25838
26012
|
FilterMenuModule,
|
|
25839
26013
|
ResizeSensorModule,
|
|
25840
|
-
ColumnMenuModule
|
|
26014
|
+
ColumnMenuModule,
|
|
26015
|
+
DragAndDropModule$1
|
|
25841
26016
|
]] });
|
|
25842
26017
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GridModule, decorators: [{
|
|
25843
26018
|
type: NgModule,
|
|
@@ -25855,7 +26030,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
25855
26030
|
RowFilterModule,
|
|
25856
26031
|
FilterMenuModule,
|
|
25857
26032
|
ResizeSensorModule,
|
|
25858
|
-
ColumnMenuModule
|
|
26033
|
+
ColumnMenuModule,
|
|
26034
|
+
DragAndDropModule$1
|
|
25859
26035
|
]
|
|
25860
26036
|
}]
|
|
25861
26037
|
}] });
|
|
@@ -25874,50 +26050,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
25874
26050
|
|
|
25875
26051
|
/**
|
|
25876
26052
|
* 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
|
|
26053
|
+
* nest an `<ng-template>` tag with the `kendoGridPDFTemplate` directive inside `<kendo-grid-pdf>` tag.
|
|
25878
26054
|
*
|
|
25879
26055
|
* The template context provides the following fields:
|
|
25880
26056
|
* - `pageNumber`—Defines PDF page number.
|
|
25881
26057
|
* - `totalPages`—Defines the total number of PDF pages.
|
|
25882
26058
|
*
|
|
25883
26059
|
* @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
|
-
*
|
|
26060
|
+
* ```html
|
|
26061
|
+
* <kendo-grid [data]="gridData">
|
|
26062
|
+
* ...
|
|
26063
|
+
* <kendo-grid-pdf fileName="Products.pdf" paperSize="A4">
|
|
26064
|
+
* <ng-template kendoGridPDFTemplate let-pageNumber="pageNumber" let-totalPages="totalPages">
|
|
26065
|
+
* Page {{ pageNumber }} of {{ totalPages }}
|
|
26066
|
+
* </ng-template>
|
|
26067
|
+
* </kendo-grid-pdf>
|
|
26068
|
+
* </kendo-grid>
|
|
25921
26069
|
* ```
|
|
25922
26070
|
*/
|
|
25923
26071
|
class PDFTemplateDirective extends PDFExportTemplateDirective {
|
|
@@ -26625,13 +26773,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
26625
26773
|
/**
|
|
26626
26774
|
* Represents the `export-to-Excel` command of the Grid. You can apply this
|
|
26627
26775
|
* directive to any `button` element inside a
|
|
26628
|
-
* [ToolbarTemplate]({% slug
|
|
26776
|
+
* [ToolbarTemplate]({% slug api_grid_toolbartemplatedirective %}).
|
|
26629
26777
|
* When the user clicks a button associated with the directive, the
|
|
26630
26778
|
* [excelExport]({% slug api_grid_gridcomponent %}#toc-excelexport) event
|
|
26631
26779
|
* fires ([see example]({% slug excelexport_grid %})).
|
|
26632
26780
|
*
|
|
26633
26781
|
* @example
|
|
26634
|
-
* ```html
|
|
26782
|
+
* ```html
|
|
26635
26783
|
* <kendo-grid>
|
|
26636
26784
|
* <ng-template kendoGridToolbarTemplate>
|
|
26637
26785
|
* <button kendoGridExcelCommand>Export to PDF</button>
|
|
@@ -26749,5 +26897,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
26749
26897
|
* Generated bundle index. Do not edit.
|
|
26750
26898
|
*/
|
|
26751
26899
|
|
|
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 };
|
|
26900
|
+
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
26901
|
|