@progress/kendo-angular-grid 12.0.0-develop.8 → 12.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/column-menu/column-menu-item-content-template.directive.d.ts +13 -24
- package/column-menu/column-menu-template.directive.d.ts +14 -28
- package/column-menu/column-menu.service.d.ts +9 -21
- package/columns/column-base.d.ts +18 -369
- package/columns/reorder-column.component.d.ts +31 -0
- package/columns/sort-settings.d.ts +20 -4
- package/common/fetch-data-callback.d.ts +1 -1
- package/common/preventable-event.d.ts +1 -1
- package/common/single-popup.service.d.ts +1 -1
- package/common/size-options.d.ts +1 -2
- package/data/grid-item.interface.d.ts +6 -3
- package/databinding.directive.d.ts +15 -1
- package/editing/add-command.directive.d.ts +1 -1
- package/editing/cancel-command.directive.d.ts +4 -16
- package/editing/edit-template.directive.d.ts +2 -3
- package/editing/remove-command.directive.d.ts +6 -6
- package/editing/save-command.directive.d.ts +3 -15
- package/editing-directives/in-cell-editing.directive.d.ts +1 -1
- package/editing-directives/template-editing.directive.d.ts +1 -1
- package/esm2020/column-menu/column-menu-item-content-template.directive.mjs +13 -24
- package/esm2020/column-menu/column-menu-template.directive.mjs +14 -28
- package/esm2020/column-menu/column-menu.service.mjs +9 -21
- package/esm2020/columns/column-base.mjs +10 -40
- package/esm2020/columns/reorder-column.component.mjs +55 -0
- package/esm2020/common/preventable-event.mjs +1 -1
- package/esm2020/common/single-popup.service.mjs +1 -1
- package/esm2020/databinding.directive.mjs +30 -3
- package/esm2020/editing/add-command.directive.mjs +1 -1
- package/esm2020/editing/cancel-command.directive.mjs +4 -16
- package/esm2020/editing/edit-template.directive.mjs +2 -3
- package/esm2020/editing/remove-command.directive.mjs +6 -6
- package/esm2020/editing/save-command.directive.mjs +3 -15
- package/esm2020/editing-directives/in-cell-editing.directive.mjs +1 -1
- package/esm2020/editing-directives/template-editing.directive.mjs +1 -1
- package/esm2020/excel/excel-command.directive.mjs +2 -2
- package/esm2020/excel/excel.module.mjs +5 -15
- package/esm2020/grid.component.mjs +195 -38
- package/esm2020/grid.module.mjs +76 -81
- package/esm2020/grouping/group-footer-template.directive.mjs +9 -35
- package/esm2020/grouping/group-header-column-template.directive.mjs +2 -2
- package/esm2020/grouping/group-header-template.directive.mjs +9 -37
- package/esm2020/index.mjs +1 -0
- package/esm2020/layout/sizing-options.service.mjs +3 -0
- package/esm2020/localization/messages.mjs +3 -1
- package/esm2020/navigation/focusable.directive.mjs +10 -41
- package/esm2020/package-metadata.mjs +2 -2
- package/esm2020/pager/pager-template.directive.mjs +13 -46
- package/esm2020/pdf/pdf-template.directive.mjs +10 -38
- package/esm2020/pdf/pdf.module.mjs +7 -16
- package/esm2020/rendering/body.module.mjs +9 -4
- package/esm2020/rendering/cell-loading.template.directive.mjs +11 -8
- package/esm2020/rendering/cell-template.directive.mjs +11 -35
- package/esm2020/rendering/cell.component.mjs +43 -10
- package/esm2020/rendering/details/detail-template.directive.mjs +10 -58
- package/esm2020/rendering/details-expand.directive.mjs +1 -1
- package/esm2020/rendering/footer/footer-template.directive.mjs +8 -35
- package/esm2020/rendering/header/header-template.directive.mjs +9 -36
- package/esm2020/rendering/loading-template.directive.mjs +1 -1
- package/esm2020/rendering/no-records-template.directive.mjs +11 -58
- package/esm2020/rendering/toolbar/toolbar-position.mjs +17 -0
- package/esm2020/rendering/toolbar/toolbar-template.directive.mjs +10 -56
- package/esm2020/row-reordering/row-reorder.service.mjs +233 -0
- package/esm2020/row-reordering/types.mjs +5 -0
- package/esm2020/row-reordering/utils.mjs +87 -0
- package/esm2020/selection/selectall-checkbox.directive.mjs +12 -1
- package/esm2020/selection/selection-checkbox.directive.mjs +11 -44
- package/esm2020/selection/selection-default.mjs +1 -0
- package/esm2020/selection/selection.directive.mjs +1 -1
- package/excel/excel-command.directive.d.ts +2 -2
- package/excel/excel.module.d.ts +5 -15
- package/fesm2015/progress-kendo-angular-grid.mjs +869 -792
- package/fesm2020/progress-kendo-angular-grid.mjs +869 -796
- package/filtering/filterable.d.ts +10 -0
- package/grid.component.d.ts +46 -4
- package/grid.module.d.ts +93 -101
- package/grouping/group-footer-template.directive.d.ts +9 -35
- package/grouping/group-header-column-template.directive.d.ts +2 -2
- package/grouping/group-header-template.directive.d.ts +9 -37
- package/index.d.ts +2 -0
- package/layout/sizing-options.service.d.ts +3 -0
- package/localization/messages.d.ts +5 -1
- package/navigation/focusable.directive.d.ts +10 -41
- package/navigation/navigable-settings.d.ts +15 -1
- package/package.json +15 -14
- package/pager/pager-settings.d.ts +8 -12
- package/pager/pager-template.directive.d.ts +13 -46
- package/pdf/pdf-template.directive.d.ts +10 -38
- package/pdf/pdf.module.d.ts +7 -16
- package/rendering/body.module.d.ts +9 -8
- package/rendering/cell-loading.template.directive.d.ts +11 -8
- package/rendering/cell-template.directive.d.ts +11 -35
- package/rendering/cell.component.d.ts +5 -0
- package/rendering/common/row-class.d.ts +4 -4
- package/rendering/details/detail-template.directive.d.ts +10 -58
- package/rendering/details-expand.directive.d.ts +1 -1
- package/rendering/footer/footer-template.directive.d.ts +8 -35
- package/rendering/header/header-template.directive.d.ts +9 -36
- package/rendering/loading-template.directive.d.ts +1 -1
- package/rendering/no-records-template.directive.d.ts +11 -58
- package/rendering/toolbar/toolbar-position.d.ts +18 -1
- package/rendering/toolbar/toolbar-template.directive.d.ts +10 -56
- package/row-reordering/row-reorder.service.d.ts +57 -0
- package/row-reordering/types.d.ts +40 -0
- package/row-reordering/utils.d.ts +78 -0
- package/schematics/ngAdd/index.js +2 -2
- package/scrolling/scrollmode.d.ts +4 -4
- package/selection/selectall-checkbox.directive.d.ts +12 -1
- package/selection/selection-checkbox.directive.d.ts +11 -44
- package/selection/selection-default.d.ts +1 -0
- package/selection/selection.directive.d.ts +1 -1
- package/selection/types.d.ts +24 -2
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
import * as i0 from '@angular/core';
|
|
6
6
|
import { InjectionToken, Component, HostBinding, Input, EventEmitter, Injectable, Optional, Inject, Directive, SkipSelf, QueryList, isDevMode, ContentChildren, ContentChild, forwardRef, Host, Output, SecurityContext, HostListener, ChangeDetectionStrategy, ViewChild, ViewChildren, Self, TemplateRef, Pipe, ViewEncapsulation, NgModule } from '@angular/core';
|
|
7
7
|
import * as i1$1 from '@progress/kendo-angular-common';
|
|
8
|
-
import { isDocumentAvailable, Keys, closest as closest$1, isFocusable as isFocusable$1, anyChanged, isChanged as isChanged$1, KendoInput, guid, hasObservers, ResizeSensorComponent, DraggableModule, EventsModule, ResizeSensorModule } from '@progress/kendo-angular-common';
|
|
8
|
+
import { isDocumentAvailable, Keys, isPresent as isPresent$1, closest as closest$1, isFocusable as isFocusable$1, anyChanged, isChanged as isChanged$1, KendoInput, guid, hasObservers, ResizeSensorComponent, DraggableModule, EventsModule, ResizeSensorModule } from '@progress/kendo-angular-common';
|
|
9
9
|
import { merge, of, Subject, from, Subscription, interval, fromEvent, zip as zip$1, BehaviorSubject, Observable } from 'rxjs';
|
|
10
10
|
import * as i1 from '@progress/kendo-angular-l10n';
|
|
11
11
|
import { ComponentMessages, LocalizationService, L10N_PREFIX } 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';
|
|
@@ -492,47 +494,16 @@ const EMPTY_CELL_CONTEXT = {};
|
|
|
492
494
|
* [focus in a navigable Grid]({% slug keyboard_navigation_grid %}).
|
|
493
495
|
*
|
|
494
496
|
* @example
|
|
495
|
-
* ```
|
|
496
|
-
*
|
|
497
|
-
*
|
|
498
|
-
*
|
|
499
|
-
*
|
|
500
|
-
*
|
|
501
|
-
* <
|
|
502
|
-
*
|
|
503
|
-
*
|
|
504
|
-
*
|
|
505
|
-
* <kendo-grid-column>
|
|
506
|
-
* <ng-template kendoGridCellTemplate let-dataItem>
|
|
507
|
-
* <!-- The first focusable element will be focused when pressing Enter on the cell -->
|
|
508
|
-
* <input type="text" kendoGridFocusable [value]="dataItem.ProductName" style="margin-right: 8px;" />
|
|
509
|
-
* <button kendoGridFocusable>Update</button>
|
|
510
|
-
* </ng-template>
|
|
511
|
-
* </kendo-grid-column>
|
|
512
|
-
* <kendo-grid-column [width]="100">
|
|
513
|
-
* <ng-template kendoGridCellTemplate>
|
|
514
|
-
* <!-- A single focusable element will be focused during navigation -->
|
|
515
|
-
* <button kendoGridFocusable>Delete</button>
|
|
516
|
-
* </ng-template>
|
|
517
|
-
* </kendo-grid-column>
|
|
518
|
-
* </kendo-grid>
|
|
519
|
-
* <input type="text" placeholder="Tab stop #2" style="margin-top: 8px;" />
|
|
520
|
-
* `
|
|
521
|
-
* })
|
|
522
|
-
*
|
|
523
|
-
* class AppComponent {
|
|
524
|
-
* public readonly data: any = [{
|
|
525
|
-
* "ProductID": 1,
|
|
526
|
-
* "ProductName": "Chai",
|
|
527
|
-
* "UnitPrice": 18.0000,
|
|
528
|
-
* "Discontinued": true
|
|
529
|
-
* }, {
|
|
530
|
-
* "ProductID": 2,
|
|
531
|
-
* "ProductName": "Chang",
|
|
532
|
-
* "UnitPrice": 19.0000,
|
|
533
|
-
* "Discontinued": false
|
|
534
|
-
* }];
|
|
535
|
-
* }
|
|
497
|
+
* ```html
|
|
498
|
+
* <kendo-grid [data]="data" [navigable]="true">
|
|
499
|
+
* <kendo-grid-column>
|
|
500
|
+
* <ng-template kendoGridCellTemplate let-dataItem>
|
|
501
|
+
* <!-- The first focusable element will be focused when pressing Enter on the cell -->
|
|
502
|
+
* <input type="text" kendoGridFocusable [value]="dataItem.ProductName" style="margin-right: 8px;" />
|
|
503
|
+
* <button kendoGridFocusable>Update</button>
|
|
504
|
+
* </ng-template>
|
|
505
|
+
* </kendo-grid-column>
|
|
506
|
+
* </kendo-grid>
|
|
536
507
|
* ```
|
|
537
508
|
*/
|
|
538
509
|
class FocusableDirective {
|
|
@@ -1064,7 +1035,7 @@ class PreventableEvent {
|
|
|
1064
1035
|
this.prevented = true;
|
|
1065
1036
|
}
|
|
1066
1037
|
/**
|
|
1067
|
-
* Returns
|
|
1038
|
+
* Returns a respective boolean if the event was prevented
|
|
1068
1039
|
* by any of its subscribers.
|
|
1069
1040
|
*
|
|
1070
1041
|
* @returns `true` if the default action was prevented.
|
|
@@ -2855,15 +2826,15 @@ const packageMetadata = {
|
|
|
2855
2826
|
name: '@progress/kendo-angular-grid',
|
|
2856
2827
|
productName: 'Kendo UI for Angular',
|
|
2857
2828
|
productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
|
|
2858
|
-
publishDate:
|
|
2859
|
-
version: '12.0.0
|
|
2829
|
+
publishDate: 1682434440,
|
|
2830
|
+
version: '12.0.0',
|
|
2860
2831
|
licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
|
|
2861
2832
|
};
|
|
2862
2833
|
|
|
2863
2834
|
/**
|
|
2864
|
-
* Represents the column cell template of the Grid
|
|
2865
|
-
* Helps to customize the content of the cells. To define the cell template, nest an `<ng-template>` tag
|
|
2866
|
-
*
|
|
2835
|
+
* Represents the column cell template of the Grid.
|
|
2836
|
+
* Helps to customize the content of the cells. To define the cell template, nest an `<ng-template>` tag with the
|
|
2837
|
+
* `kendoGridCellTemplate` directive inside a `<kendo-grid-column>` tag [see example](slug:templates_columns_grid#toc-cell-template).
|
|
2867
2838
|
*
|
|
2868
2839
|
* The template context is set to the current data item and the following additional fields are passed:
|
|
2869
2840
|
* - `columnIndex`—The current column index. Use it as an alias for a template variable by utilizing the `let-columnIndex="columnIndex"` syntax.
|
|
@@ -2872,38 +2843,14 @@ const packageMetadata = {
|
|
|
2872
2843
|
* - `column`—The current column instance. Use it as an alias for a template variable by utilizing the `let-column="column"` syntax.
|
|
2873
2844
|
*
|
|
2874
2845
|
* @example
|
|
2875
|
-
* ```
|
|
2876
|
-
*
|
|
2877
|
-
*
|
|
2878
|
-
*
|
|
2879
|
-
*
|
|
2880
|
-
*
|
|
2881
|
-
*
|
|
2882
|
-
*
|
|
2883
|
-
* Data Row #: {{rowIndex}} /
|
|
2884
|
-
* <strong>{{dataItem.ProductName}}</strong>
|
|
2885
|
-
* ({{dataItem.Discontinued ? "discontinued" : "active"}})
|
|
2886
|
-
* </ng-template>
|
|
2887
|
-
* </kendo-grid-column>
|
|
2888
|
-
* </kendo-grid>
|
|
2889
|
-
* `
|
|
2890
|
-
* })
|
|
2891
|
-
*
|
|
2892
|
-
* class AppComponent {
|
|
2893
|
-
* public gridData = [{
|
|
2894
|
-
* "ProductID": 1,
|
|
2895
|
-
* "ProductName": "Chai",
|
|
2896
|
-
* "UnitPrice": 18.0000,
|
|
2897
|
-
* "Discontinued": false
|
|
2898
|
-
* }, {
|
|
2899
|
-
* "ProductID": 2,
|
|
2900
|
-
* "ProductName": "Chang",
|
|
2901
|
-
* "UnitPrice": 19.0000,
|
|
2902
|
-
* "Discontinued": true
|
|
2903
|
-
* }
|
|
2904
|
-
* ];
|
|
2905
|
-
* }
|
|
2906
|
-
*
|
|
2846
|
+
* ```html
|
|
2847
|
+
* <kendo-grid [data]="gridData" ...>
|
|
2848
|
+
* <kendo-grid-column field="ProductName">
|
|
2849
|
+
* <ng-template kendoGridCellTemplate let-dataItem let-rowIndex="rowIndex" let-column="column">
|
|
2850
|
+
* Data Row: {{rowIndex}}
|
|
2851
|
+
* </ng-template>
|
|
2852
|
+
* </kendo-grid-column>
|
|
2853
|
+
* </kendo-grid>
|
|
2907
2854
|
* ```
|
|
2908
2855
|
*/
|
|
2909
2856
|
class CellTemplateDirective {
|
|
@@ -2925,7 +2872,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
2925
2872
|
/**
|
|
2926
2873
|
* Represents the group-header cell template of the Grid which helps to customize the content of the group header item.
|
|
2927
2874
|
* To define the group header template, nest an `<ng-template>` tag with the `kendoGridGroupHeaderTemplate`
|
|
2928
|
-
* directive inside `<kendo-grid-column>`.
|
|
2875
|
+
* directive inside `<kendo-grid-column>`. ([See example](slug:grouping_grid_templates#toc-header-template)).
|
|
2929
2876
|
*
|
|
2930
2877
|
* The template context is set to the current data item and the following additional fields are passed:
|
|
2931
2878
|
* - `group`—The current group item.
|
|
@@ -2934,44 +2881,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
2934
2881
|
* - `aggregates`—All aggregate values for the current group.
|
|
2935
2882
|
* - `index`—The index of the current group.
|
|
2936
2883
|
* - `expanded`—A boolean value indicating if the group is currently expanded.
|
|
2937
|
-
* ([see example]({% slug groupable_grid_with_aggregates %})).
|
|
2938
2884
|
*
|
|
2939
2885
|
* @example
|
|
2940
|
-
* ```
|
|
2941
|
-
*
|
|
2942
|
-
*
|
|
2943
|
-
*
|
|
2944
|
-
*
|
|
2945
|
-
*
|
|
2946
|
-
*
|
|
2947
|
-
*
|
|
2948
|
-
* <ng-template kendoGridGroupHeaderTemplate let-group let-field="field" let-value="value">
|
|
2949
|
-
* <strong>{{field}}</strong>: {{value}}
|
|
2950
|
-
* </ng-template>
|
|
2951
|
-
* </kendo-grid-column>
|
|
2952
|
-
* </kendo-grid>
|
|
2953
|
-
* `
|
|
2954
|
-
* })
|
|
2955
|
-
*
|
|
2956
|
-
* class AppComponent {
|
|
2957
|
-
* public groups = [{ field: "ProductName" }];
|
|
2958
|
-
*
|
|
2959
|
-
* public gridData = process([{
|
|
2960
|
-
* "ProductID": 1,
|
|
2961
|
-
* "ProductName": "Chai",
|
|
2962
|
-
* "UnitPrice": 18.0000,
|
|
2963
|
-
* "Discontinued": false
|
|
2964
|
-
* }, {
|
|
2965
|
-
* "ProductID": 2,
|
|
2966
|
-
* "ProductName": "Chang",
|
|
2967
|
-
* "UnitPrice": 19.0000,
|
|
2968
|
-
* "Discontinued": true
|
|
2969
|
-
* }
|
|
2970
|
-
* ], {
|
|
2971
|
-
* group: this.groups
|
|
2972
|
-
* });
|
|
2973
|
-
* }
|
|
2974
|
-
*
|
|
2886
|
+
* ```html
|
|
2887
|
+
* <kendo-grid [data]="gridData" [group]="groups">
|
|
2888
|
+
* <kendo-grid-column field="ProductName">
|
|
2889
|
+
* <ng-template kendoGridGroupHeaderTemplate let-group let-field="field" let-value="value">
|
|
2890
|
+
* <strong>{{field}}</strong>: {{value}}
|
|
2891
|
+
* </ng-template>
|
|
2892
|
+
* </kendo-grid-column>
|
|
2893
|
+
* </kendo-grid>
|
|
2975
2894
|
* ```
|
|
2976
2895
|
*/
|
|
2977
2896
|
class GroupHeaderTemplateDirective {
|
|
@@ -2993,7 +2912,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
2993
2912
|
/**
|
|
2994
2913
|
* Represents the group-header column template of the Grid which helps to customize the content of the group headers.
|
|
2995
2914
|
* To define the group header template, nest an `<ng-template>` tag with the `kendoGridGroupHeaderColumnTemplate`
|
|
2996
|
-
* directive inside `<kendo-grid-column>`. ([See example](
|
|
2915
|
+
* directive inside `<kendo-grid-column>`. ([See example](slug:grouping_grid_templates#toc-header-column-template)).
|
|
2997
2916
|
*
|
|
2998
2917
|
* The template context is set to the current data item and the following additional fields are passed:
|
|
2999
2918
|
* - `group`—The current group item.
|
|
@@ -3002,7 +2921,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
3002
2921
|
* - `aggregates`—All aggregate values for the current group.
|
|
3003
2922
|
*
|
|
3004
2923
|
* @example
|
|
3005
|
-
* ```
|
|
2924
|
+
* ```html
|
|
3006
2925
|
* <kendo-grid-column field="ProductName" title="Product Name">
|
|
3007
2926
|
* <ng-template kendoGridGroupHeaderColumnTemplate let-group="group" let-aggregates="aggregates">
|
|
3008
2927
|
* <span title="Group Header Column Template for ProductName">
|
|
@@ -3029,13 +2948,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
3029
2948
|
}] }]; } });
|
|
3030
2949
|
|
|
3031
2950
|
/**
|
|
3032
|
-
* Represents the column edit-cell template of the Grid ([see example](
|
|
2951
|
+
* Represents the column edit-cell template of the Grid ([see example](slug:custom_reactive_editing_grid#toc-setting-up-custom-inputs)).
|
|
3033
2952
|
* Helps to customize the content of the edited cells. To define the cell template, nest an `<ng-template>`
|
|
3034
2953
|
* tag with the `kendoGridEditTemplate` directive inside a `<kendo-grid-column>` tag.
|
|
3035
2954
|
*
|
|
3036
2955
|
* The template context is set to the current form group and the following additional fields are passed:
|
|
3037
|
-
* - `formGroup`—The current [FormGroup](link:site.data.urls.angular['formgroupapi']).
|
|
3038
|
-
* Represents the default context that will be assigned to any template variable which utilizes the `let-x` syntax—for example, `let-formGroup`.
|
|
2956
|
+
* - `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`.
|
|
3039
2957
|
* If you use the Grid inside [Template-Driven Forms](link:site.data.urls.angular['forms']), it will be `undefined`.
|
|
3040
2958
|
* - `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.
|
|
3041
2959
|
* - `dataItem`—The current data item. Use it as an alias for a template variable by utilizing the `let-dataItem="dataItem"` syntax.
|
|
@@ -3063,47 +2981,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
3063
2981
|
* To define the group footer template, nest an `<ng-template>` tag with the `kendoGridGroupFooterTemplate` directive
|
|
3064
2982
|
* inside `<kendo-grid-column>`.
|
|
3065
2983
|
*
|
|
3066
|
-
* The template context is set to the current
|
|
2984
|
+
* The template context is set to the current data item and the following additional fields are passed:
|
|
3067
2985
|
* - `column`—Defines an instance of the `ColumnComponent` option.
|
|
3068
2986
|
* - `field`—The current column field name.
|
|
3069
2987
|
* - `group`—The current group data item.
|
|
3070
2988
|
* - `aggregates`—All aggregate values for the current group.
|
|
3071
2989
|
*
|
|
3072
2990
|
* @example
|
|
3073
|
-
* ```
|
|
3074
|
-
*
|
|
3075
|
-
*
|
|
3076
|
-
*
|
|
3077
|
-
*
|
|
3078
|
-
*
|
|
3079
|
-
*
|
|
3080
|
-
*
|
|
3081
|
-
* <ng-template kendoGridGroupFooterTemplate let-aggregates let-field="field">
|
|
3082
|
-
* Count: {{aggregates[field].count}}
|
|
3083
|
-
* </ng-template>
|
|
3084
|
-
* </kendo-grid-column>
|
|
3085
|
-
* </kendo-grid>
|
|
3086
|
-
* `
|
|
3087
|
-
* })
|
|
3088
|
-
*
|
|
3089
|
-
* class AppComponent {
|
|
3090
|
-
* public groups = [{ field: "ProductName", aggregates: [{ field: "ProductName", aggregate: "count" }] }];
|
|
3091
|
-
*
|
|
3092
|
-
* public gridData = process([{
|
|
3093
|
-
* "ProductID": 1,
|
|
3094
|
-
* "ProductName": "Chai",
|
|
3095
|
-
* "UnitPrice": 18.0000,
|
|
3096
|
-
* "Discontinued": false
|
|
3097
|
-
* }, {
|
|
3098
|
-
* "ProductID": 2,
|
|
3099
|
-
* "ProductName": "Chang",
|
|
3100
|
-
* "UnitPrice": 19.0000,
|
|
3101
|
-
* "Discontinued": true
|
|
3102
|
-
* }
|
|
3103
|
-
* ], {
|
|
3104
|
-
* group: this.groups
|
|
3105
|
-
* });
|
|
3106
|
-
* }
|
|
2991
|
+
* ```html
|
|
2992
|
+
* <kendo-grid [data]="gridData" [group]="groups">
|
|
2993
|
+
* <kendo-grid-column field="ProductName">
|
|
2994
|
+
* <ng-template kendoGridGroupFooterTemplate let-aggregates let-field="field">
|
|
2995
|
+
* Count: {{aggregates[field].count}}
|
|
2996
|
+
* </ng-template>
|
|
2997
|
+
* </kendo-grid-column>
|
|
2998
|
+
* </kendo-grid>
|
|
3107
2999
|
* ```
|
|
3108
3000
|
*/
|
|
3109
3001
|
class GroupFooterTemplateDirective {
|
|
@@ -3127,48 +3019,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
3127
3019
|
* ([more information and example]({% slug templates_columns_grid %}#toc-header-template)).
|
|
3128
3020
|
* Helps to customize the table header cell for the column.
|
|
3129
3021
|
* To define a header template, nest an `<ng-template>` tag with the
|
|
3130
|
-
*
|
|
3022
|
+
* `kendoGridHeaderTemplate` directive inside the `<kendo-grid-column>` tag.
|
|
3131
3023
|
*
|
|
3132
3024
|
* The template context is set to the current column and then the following additional fields are passed:
|
|
3133
3025
|
* * `column`—Defines an instance of the [ColumnComponent]({% slug api_grid_columncomponent %}) option.
|
|
3134
3026
|
* * `columnIndex`—Defines the current column index.
|
|
3135
3027
|
*
|
|
3136
3028
|
* @example
|
|
3137
|
-
* ```
|
|
3138
|
-
*
|
|
3139
|
-
*
|
|
3140
|
-
*
|
|
3141
|
-
*
|
|
3142
|
-
*
|
|
3143
|
-
*
|
|
3144
|
-
*
|
|
3145
|
-
* {{column.field}}({{columnIndex}})
|
|
3146
|
-
* </ng-template>
|
|
3147
|
-
* </kendo-grid-column>
|
|
3148
|
-
* <kendo-grid-column field="UnitPrice">
|
|
3149
|
-
* <ng-template kendoGridHeaderTemplate let-column let-columnIndex="columnIndex">
|
|
3150
|
-
* {{column.field}}({{columnIndex}})
|
|
3151
|
-
* </ng-template>
|
|
3152
|
-
* </kendo-grid-column>
|
|
3153
|
-
* </kendo-grid>
|
|
3154
|
-
* `
|
|
3155
|
-
* })
|
|
3156
|
-
*
|
|
3157
|
-
* class AppComponent {
|
|
3158
|
-
* public gridData = [{
|
|
3159
|
-
* "ProductID": 1,
|
|
3160
|
-
* "ProductName": "Chai",
|
|
3161
|
-
* "UnitPrice": 18.0000,
|
|
3162
|
-
* "Discontinued": false
|
|
3163
|
-
* }, {
|
|
3164
|
-
* "ProductID": 2,
|
|
3165
|
-
* "ProductName": "Chang",
|
|
3166
|
-
* "UnitPrice": 19.0000,
|
|
3167
|
-
* "Discontinued": true
|
|
3168
|
-
* }
|
|
3169
|
-
* ];
|
|
3170
|
-
* }
|
|
3171
|
-
*
|
|
3029
|
+
* ```html
|
|
3030
|
+
* <kendo-grid [data]="gridData">
|
|
3031
|
+
* <kendo-grid-column field="ProductName">
|
|
3032
|
+
* <ng-template kendoGridHeaderTemplate let-column let-columnIndex="columnIndex">
|
|
3033
|
+
* {{column.field}}({{columnIndex}})
|
|
3034
|
+
* </ng-template>
|
|
3035
|
+
* </kendo-grid-column>
|
|
3036
|
+
* </kendo-grid>
|
|
3172
3037
|
* ```
|
|
3173
3038
|
*/
|
|
3174
3039
|
class HeaderTemplateDirective {
|
|
@@ -3202,41 +3067,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
3202
3067
|
* refer to the article on [aggregates]({% slug groupable_grid_with_aggregates %}).
|
|
3203
3068
|
*
|
|
3204
3069
|
* @example
|
|
3205
|
-
* ```
|
|
3206
|
-
*
|
|
3207
|
-
*
|
|
3208
|
-
*
|
|
3209
|
-
*
|
|
3210
|
-
*
|
|
3211
|
-
*
|
|
3212
|
-
*
|
|
3213
|
-
* {{column.field}}({{columnIndex}})
|
|
3214
|
-
* </ng-template>
|
|
3215
|
-
* </kendo-grid-column>
|
|
3216
|
-
* <kendo-grid-column field="UnitPrice">
|
|
3217
|
-
* <ng-template kendoGridFooterTemplate let-column let-columnIndex="columnIndex">
|
|
3218
|
-
* {{column.field}}({{columnIndex}})
|
|
3219
|
-
* </ng-template>
|
|
3220
|
-
* </kendo-grid-column>
|
|
3221
|
-
* </kendo-grid>
|
|
3222
|
-
* `
|
|
3223
|
-
* })
|
|
3224
|
-
*
|
|
3225
|
-
* class AppComponent {
|
|
3226
|
-
* public gridData = [{
|
|
3227
|
-
* "ProductID": 1,
|
|
3228
|
-
* "ProductName": "Chai",
|
|
3229
|
-
* "UnitPrice": 18.0000,
|
|
3230
|
-
* "Discontinued": false
|
|
3231
|
-
* }, {
|
|
3232
|
-
* "ProductID": 2,
|
|
3233
|
-
* "ProductName": "Chang",
|
|
3234
|
-
* "UnitPrice": 19.0000,
|
|
3235
|
-
* "Discontinued": true
|
|
3236
|
-
* }
|
|
3237
|
-
* ];
|
|
3238
|
-
* }
|
|
3239
|
-
*
|
|
3070
|
+
* ```html
|
|
3071
|
+
* <kendo-grid [data]="gridData" scrollable="none">
|
|
3072
|
+
* <kendo-grid-column field="ProductName">
|
|
3073
|
+
* <ng-template kendoGridFooterTemplate let-column let-columnIndex="columnIndex">
|
|
3074
|
+
* {{column.field}}({{columnIndex}})
|
|
3075
|
+
* </ng-template>
|
|
3076
|
+
* </kendo-grid-column>
|
|
3077
|
+
* </kendo-grid>
|
|
3240
3078
|
* ```
|
|
3241
3079
|
*/
|
|
3242
3080
|
class FooterTemplateDirective {
|
|
@@ -3259,40 +3097,26 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
3259
3097
|
* Represents the template for the column menu in the Grid. Provides an option for
|
|
3260
3098
|
* customizing the content of the column menu for all or for specific columns.
|
|
3261
3099
|
* To define the content template, nest an `<ng-template>` tag with the
|
|
3262
|
-
* `kendoGridColumnMenuTemplate` directive inside the
|
|
3100
|
+
* `kendoGridColumnMenuTemplate` directive inside the `<kendo-grid>` or the `<kendo-grid-column>` component.
|
|
3263
3101
|
*
|
|
3264
3102
|
* The template context is passes through the following fields:
|
|
3265
3103
|
* - `service`—Represents the [ColumnMenuService]({% slug api_grid_columnmenuservice %}).
|
|
3266
3104
|
* - `column`—Represents the Grid column.
|
|
3267
3105
|
*
|
|
3268
3106
|
* @example
|
|
3269
|
-
* ```
|
|
3270
|
-
*
|
|
3271
|
-
*
|
|
3272
|
-
*
|
|
3273
|
-
*
|
|
3274
|
-
*
|
|
3275
|
-
*
|
|
3276
|
-
*
|
|
3277
|
-
*
|
|
3278
|
-
*
|
|
3279
|
-
*
|
|
3280
|
-
*
|
|
3281
|
-
*
|
|
3282
|
-
* </kendo-grid-columnmenu-lock>
|
|
3283
|
-
* <kendo-grid-columnmenu-sort [service]="service">
|
|
3284
|
-
* </kendo-grid-columnmenu-sort>
|
|
3285
|
-
* </ng-template>
|
|
3286
|
-
* </kendo-grid-column>
|
|
3287
|
-
* <kendo-grid-column field="Field2" [width]="100"></kendo-grid-column>
|
|
3288
|
-
* </kendo-grid>
|
|
3289
|
-
* `
|
|
3290
|
-
* })
|
|
3291
|
-
*
|
|
3292
|
-
* class AppComponent {
|
|
3293
|
-
* public data: any[] = [{ Field1: 'Foo', Field2: 'Bar' }, { Field1: 'Foo1', Field2: 'Bar1' }];
|
|
3294
|
-
* }
|
|
3295
|
-
*
|
|
3107
|
+
* ```html
|
|
3108
|
+
* <kendo-grid [kendoGridBinding]="data" [sortable]="true" [columnMenu]="true">
|
|
3109
|
+
* <ng-template kendoGridColumnMenuTemplate let-service="service">
|
|
3110
|
+
* <kendo-grid-columnmenu-sort [service]="service"></kendo-grid-columnmenu-sort>
|
|
3111
|
+
* </ng-template>
|
|
3112
|
+
* <kendo-grid-column field="Field1">
|
|
3113
|
+
* <ng-template kendoGridColumnMenuTemplate let-service="service">
|
|
3114
|
+
* <kendo-grid-columnmenu-lock [service]="service"></kendo-grid-columnmenu-lock>
|
|
3115
|
+
* <kendo-grid-columnmenu-sort [service]="service"></kendo-grid-columnmenu-sort>
|
|
3116
|
+
* </ng-template>
|
|
3117
|
+
* </kendo-grid-column>
|
|
3118
|
+
* <kendo-grid-column field="Field2"></kendo-grid-column>
|
|
3119
|
+
* </kendo-grid>
|
|
3296
3120
|
* ```
|
|
3297
3121
|
*/
|
|
3298
3122
|
class ColumnMenuTemplateDirective {
|
|
@@ -3347,6 +3171,10 @@ const isSpanColumn = column => column.isSpanColumn;
|
|
|
3347
3171
|
* @hidden
|
|
3348
3172
|
*/
|
|
3349
3173
|
const isCheckboxColumn = column => column.isCheckboxColumn;
|
|
3174
|
+
/**
|
|
3175
|
+
* @hidden
|
|
3176
|
+
*/
|
|
3177
|
+
const isRowReorderColumn = column => column.isRowReorderColumn;
|
|
3350
3178
|
const isColumnContainer = column => column.isColumnGroup || isSpanColumn(column);
|
|
3351
3179
|
/**
|
|
3352
3180
|
* The base class for the column components of the Grid.
|
|
@@ -3362,9 +3190,9 @@ class ColumnBase {
|
|
|
3362
3190
|
*/
|
|
3363
3191
|
this.matchesMedia = true;
|
|
3364
3192
|
/**
|
|
3365
|
-
* The column index after reordering.
|
|
3193
|
+
* The column index after reordering. The `orderIndex` is a read-only property. Setting this field does not affect column order.
|
|
3366
3194
|
*
|
|
3367
|
-
*
|
|
3195
|
+
* @default 0
|
|
3368
3196
|
*/
|
|
3369
3197
|
this.orderIndex = 0;
|
|
3370
3198
|
/**
|
|
@@ -3399,18 +3227,22 @@ class ColumnBase {
|
|
|
3399
3227
|
this.sticky = false;
|
|
3400
3228
|
/**
|
|
3401
3229
|
* Specifies if the column can be locked or unlocked from the column menu or by reordering the columns.
|
|
3230
|
+
* @default true
|
|
3402
3231
|
*/
|
|
3403
3232
|
this.lockable = true;
|
|
3404
3233
|
/**
|
|
3405
3234
|
* Specifies if the column can be stuck or unstuck from the column menu.
|
|
3235
|
+
* @default true
|
|
3406
3236
|
*/
|
|
3407
3237
|
this.stickable = true;
|
|
3408
3238
|
/**
|
|
3409
3239
|
* Specifies if the column menu will be shown for the column.
|
|
3240
|
+
* @default true
|
|
3410
3241
|
*/
|
|
3411
3242
|
this.columnMenu = true;
|
|
3412
3243
|
/**
|
|
3413
3244
|
* Specifies if the column will be included in the column-chooser list.
|
|
3245
|
+
* @default true
|
|
3414
3246
|
*/
|
|
3415
3247
|
this.includeInChooser = true;
|
|
3416
3248
|
/**
|
|
@@ -3458,44 +3290,6 @@ class ColumnBase {
|
|
|
3458
3290
|
*
|
|
3459
3291
|
* @default false
|
|
3460
3292
|
*
|
|
3461
|
-
* @example
|
|
3462
|
-
* ```ts
|
|
3463
|
-
* _@Component({
|
|
3464
|
-
* selector: 'my-app',
|
|
3465
|
-
* template: `
|
|
3466
|
-
* <kendo-grid [data]="gridData" [scrollable]="scrollable" style="height: 200px">
|
|
3467
|
-
* <kendo-grid-column field="ProductID" title="Product ID" [width]="120" [locked]="true">
|
|
3468
|
-
* </kendo-grid-column>
|
|
3469
|
-
* <kendo-grid-column field="ProductName" title="Product Name" [width]="200">
|
|
3470
|
-
* </kendo-grid-column>
|
|
3471
|
-
* <kendo-grid-column field="UnitPrice" title="Unit Price" [width]="230">
|
|
3472
|
-
* </kendo-grid-column>
|
|
3473
|
-
* </kendo-grid>
|
|
3474
|
-
* `
|
|
3475
|
-
* })
|
|
3476
|
-
*
|
|
3477
|
-
* class AppComponent {
|
|
3478
|
-
* public gridData: any[];
|
|
3479
|
-
*
|
|
3480
|
-
* constructor() {
|
|
3481
|
-
* this.gridData = products;
|
|
3482
|
-
* }
|
|
3483
|
-
* }
|
|
3484
|
-
*
|
|
3485
|
-
* const products = [{
|
|
3486
|
-
* "ProductID": 1,
|
|
3487
|
-
* "ProductName": "Chai",
|
|
3488
|
-
* "UnitPrice": 18.0000,
|
|
3489
|
-
* "Discontinued": true
|
|
3490
|
-
* }, {
|
|
3491
|
-
* "ProductID": 2,
|
|
3492
|
-
* "ProductName": "Chang",
|
|
3493
|
-
* "UnitPrice": 19.0000,
|
|
3494
|
-
* "Discontinued": false
|
|
3495
|
-
* }
|
|
3496
|
-
* ];
|
|
3497
|
-
*
|
|
3498
|
-
* ```
|
|
3499
3293
|
*/
|
|
3500
3294
|
set locked(value) {
|
|
3501
3295
|
this._locked = value;
|
|
@@ -4355,64 +4149,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
4355
4149
|
* To define the detail template, nest an `<ng-template>` tag with the `kendoGridDetailTemplate` directive inside a `<kendo-grid>` tag.
|
|
4356
4150
|
*
|
|
4357
4151
|
* @example
|
|
4358
|
-
* ```
|
|
4359
|
-
*
|
|
4360
|
-
*
|
|
4361
|
-
*
|
|
4362
|
-
*
|
|
4363
|
-
*
|
|
4364
|
-
*
|
|
4365
|
-
*
|
|
4366
|
-
*
|
|
4367
|
-
*
|
|
4368
|
-
* <kendo-grid-column field="ProductID"></kendo-grid-column>
|
|
4369
|
-
* <kendo-grid-column field="ProductName"></kendo-grid-column>
|
|
4370
|
-
* <kendo-grid-column field="UnitPrice"></kendo-grid-column>
|
|
4371
|
-
* <ng-template kendoGridDetailTemplate let-dataItem>
|
|
4372
|
-
* <div *ngIf="dataItem.Category">
|
|
4373
|
-
* <header>{{dataItem.Category?.CategoryName}}</header>
|
|
4374
|
-
* <span>{{dataItem.Category?.Description}}</span>
|
|
4375
|
-
* </div>
|
|
4376
|
-
* </ng-template>
|
|
4377
|
-
* </kendo-grid>
|
|
4378
|
-
* `
|
|
4379
|
-
* })
|
|
4380
|
-
*
|
|
4381
|
-
* class AppComponent {
|
|
4382
|
-
* public data = [{
|
|
4383
|
-
* "ProductID": 1,
|
|
4384
|
-
* "ProductName": "Chai",
|
|
4385
|
-
* "UnitPrice": 18.0000,
|
|
4386
|
-
* "Discontinued": false,
|
|
4387
|
-
* "Category": {
|
|
4388
|
-
* "CategoryID": 1,
|
|
4389
|
-
* "CategoryName": "Beverages",
|
|
4390
|
-
* "Description": "Soft drinks, coffees, teas, beers, and ales"
|
|
4391
|
-
* }
|
|
4392
|
-
* }, {
|
|
4393
|
-
* "ProductID": 2,
|
|
4394
|
-
* "ProductName": "Chang",
|
|
4395
|
-
* "UnitPrice": 19.0000,
|
|
4396
|
-
* "Discontinued": false,
|
|
4397
|
-
* "Category": {
|
|
4398
|
-
* "CategoryID": 1,
|
|
4399
|
-
* "CategoryName": "Beverages",
|
|
4400
|
-
* "Description": "Soft drinks, coffees, teas, beers, and ales"
|
|
4401
|
-
* }
|
|
4402
|
-
* }, {
|
|
4403
|
-
* "ProductID": 3,
|
|
4404
|
-
* "ProductName": "Aniseed Syrup",
|
|
4405
|
-
* "UnitPrice": 10.0000,
|
|
4406
|
-
* "Discontinued": false,
|
|
4407
|
-
* "Category": {
|
|
4408
|
-
* "CategoryID": 2,
|
|
4409
|
-
* "CategoryName": "Condiments",
|
|
4410
|
-
* "Description": "Sweet and savory sauces, relishes, spreads, and seasonings"
|
|
4411
|
-
* }
|
|
4412
|
-
* }];
|
|
4413
|
-
*
|
|
4414
|
-
* }
|
|
4415
|
-
*
|
|
4152
|
+
* ```html
|
|
4153
|
+
* <kendo-grid [data]="data" selectable="true" style="height: 160px">
|
|
4154
|
+
* <kendo-grid-column field="ProductName"></kendo-grid-column>
|
|
4155
|
+
* <ng-template kendoGridDetailTemplate let-dataItem>
|
|
4156
|
+
* <div *ngIf="dataItem.Category">
|
|
4157
|
+
* <header>{{dataItem.Category?.CategoryName}}</header>
|
|
4158
|
+
* span>{{dataItem.Category?.Description}}</span>
|
|
4159
|
+
* </div>
|
|
4160
|
+
* </ng-template>
|
|
4161
|
+
* </kendo-grid>
|
|
4416
4162
|
* ```
|
|
4417
4163
|
*
|
|
4418
4164
|
*/
|
|
@@ -4972,6 +4718,7 @@ class Selection {
|
|
|
4972
4718
|
this.cd = cd;
|
|
4973
4719
|
/**
|
|
4974
4720
|
* Defines the collection that will store the selected item keys.
|
|
4721
|
+
* @default []
|
|
4975
4722
|
*/
|
|
4976
4723
|
this.selectedKeys = [];
|
|
4977
4724
|
/**
|
|
@@ -5359,66 +5106,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
5359
5106
|
|
|
5360
5107
|
/**
|
|
5361
5108
|
* Represents the no-records template of the Grid. Provides an option to customize the
|
|
5362
|
-
* appearance of the item that is displayed when no data is present.
|
|
5363
|
-
* nest an `<ng-template>` tag with the `kendoGridNoRecordsTemplate`
|
|
5364
|
-
*
|
|
5365
|
-
* > When the locked columns of the Grid are in use, the template is displayed in the non-locked part of the content.
|
|
5109
|
+
* appearance of the item that is displayed when no data is present.
|
|
5110
|
+
* To define the no-records template, nest an `<ng-template>` tag with the `kendoGridNoRecordsTemplate`
|
|
5111
|
+
* directive inside `<kendo-grid>` [see example](slug:norecordtemplate_grid).
|
|
5366
5112
|
*
|
|
5367
5113
|
* @example
|
|
5368
|
-
* ```
|
|
5369
|
-
*
|
|
5370
|
-
*
|
|
5371
|
-
*
|
|
5372
|
-
* template
|
|
5373
|
-
*
|
|
5374
|
-
*
|
|
5375
|
-
*
|
|
5376
|
-
* <kendo-grid-column field="UnitPrice"></kendo-grid-column>
|
|
5377
|
-
* <ng-template kendoGridNoRecordsTemplate>
|
|
5378
|
-
* There are not products. <a href="#" (click)="refresh()">Click here to refresh</a>.
|
|
5379
|
-
* </ng-template>
|
|
5380
|
-
* </kendo-grid>
|
|
5381
|
-
* `
|
|
5382
|
-
* })
|
|
5383
|
-
*
|
|
5384
|
-
* class AppComponent {
|
|
5385
|
-
* public data = [];
|
|
5386
|
-
* public refresh() {
|
|
5387
|
-
* this.data = [{
|
|
5388
|
-
* "ProductID": 1,
|
|
5389
|
-
* "ProductName": "Chai",
|
|
5390
|
-
* "UnitPrice": 18.0000,
|
|
5391
|
-
* "Discontinued": false,
|
|
5392
|
-
* "Category": {
|
|
5393
|
-
* "CategoryID": 1,
|
|
5394
|
-
* "CategoryName": "Beverages",
|
|
5395
|
-
* "Description": "Soft drinks, coffees, teas, beers, and ales"
|
|
5396
|
-
* }
|
|
5397
|
-
* }, {
|
|
5398
|
-
* "ProductID": 2,
|
|
5399
|
-
* "ProductName": "Chang",
|
|
5400
|
-
* "UnitPrice": 19.0000,
|
|
5401
|
-
* "Discontinued": false,
|
|
5402
|
-
* "Category": {
|
|
5403
|
-
* "CategoryID": 1,
|
|
5404
|
-
* "CategoryName": "Beverages",
|
|
5405
|
-
* "Description": "Soft drinks, coffees, teas, beers, and ales"
|
|
5406
|
-
* }
|
|
5407
|
-
* }, {
|
|
5408
|
-
* "ProductID": 3,
|
|
5409
|
-
* "ProductName": "Aniseed Syrup",
|
|
5410
|
-
* "UnitPrice": 10.0000,
|
|
5411
|
-
* "Discontinued": false,
|
|
5412
|
-
* "Category": {
|
|
5413
|
-
* "CategoryID": 2,
|
|
5414
|
-
* "CategoryName": "Condiments",
|
|
5415
|
-
* "Description": "Sweet and savory sauces, relishes, spreads, and seasonings"
|
|
5416
|
-
* }
|
|
5417
|
-
* }];
|
|
5418
|
-
*
|
|
5419
|
-
* }
|
|
5420
|
-
* }
|
|
5421
|
-
*
|
|
5114
|
+
* ```html
|
|
5115
|
+
* <kendo-grid [data]="data">
|
|
5116
|
+
* <ng-template kendoGridNoRecordsTemplate>
|
|
5117
|
+
* There are not products. <a href="#" (click)="refresh()">Click here to refresh</a>.
|
|
5118
|
+
* </ng-template>
|
|
5119
|
+
* <kendo-grid-column field="ProductID"></kendo-grid-column>
|
|
5120
|
+
* <kendo-grid-column field="ProductName"></kendo-grid-column>
|
|
5121
|
+
* </kendo-grid>
|
|
5422
5122
|
* ```
|
|
5423
5123
|
*/
|
|
5424
5124
|
class NoRecordsTemplateDirective {
|
|
@@ -5529,7 +5229,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
5529
5229
|
|
|
5530
5230
|
/**
|
|
5531
5231
|
* Represents the pager template which helps to customize the pager appearance in the Grid. To define a pager
|
|
5532
|
-
* template, nest an `<ng-template>` tag with the `kendoPagerTemplate` directive inside `<kendo-grid
|
|
5232
|
+
* template, nest an `<ng-template>` tag with the `kendoPagerTemplate` directive inside `<kendo-grid>` tag
|
|
5233
|
+
* [see example](slug:pager_template_grid).
|
|
5533
5234
|
*
|
|
5534
5235
|
* The template context provides the following fields:
|
|
5535
5236
|
* * `currentPage`—The index of the displayed page.
|
|
@@ -5537,53 +5238,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
5537
5238
|
* * `skip`—The current skip value.
|
|
5538
5239
|
* * `total`—The total number of records.
|
|
5539
5240
|
* * `totalPages`—The total number of available pages.
|
|
5540
|
-
* * Needs to be provided as an input to inner pager components used within the template when the Grid is navigable.
|
|
5541
5241
|
*
|
|
5542
5242
|
* @example
|
|
5543
|
-
* ```
|
|
5544
|
-
*
|
|
5545
|
-
*
|
|
5546
|
-
*
|
|
5547
|
-
*
|
|
5548
|
-
*
|
|
5549
|
-
*
|
|
5550
|
-
*
|
|
5551
|
-
*
|
|
5552
|
-
*
|
|
5553
|
-
*
|
|
5554
|
-
* </kendo-grid-column>
|
|
5555
|
-
* <kendo-grid-column field="ProductName" title="Name" [width]="250">
|
|
5556
|
-
* </kendo-grid-column>
|
|
5557
|
-
* <kendo-grid-column field="UnitPrice" title="Price" [width]="80" format="{0:c}">
|
|
5558
|
-
* </kendo-grid-column>
|
|
5559
|
-
*
|
|
5560
|
-
* <ng-template kendoPagerTemplate let-totalPages="totalPages" let-currentPage="currentPage">
|
|
5561
|
-
* <kendo-pager-prev-buttons></kendo-pager-prev-buttons>
|
|
5562
|
-
* <kendo-pager-numeric-buttons [buttonCount]="10"></kendo-pager-numeric-buttons>
|
|
5563
|
-
* <kendo-pager-next-buttons></kendo-pager-next-buttons>
|
|
5564
|
-
* <kendo-pager-info></kendo-pager-info>
|
|
5565
|
-
* Current page: {{currentPage}}
|
|
5566
|
-
* </ng-template>
|
|
5567
|
-
*
|
|
5568
|
-
* </kendo-grid>
|
|
5569
|
-
* `
|
|
5570
|
-
* })
|
|
5571
|
-
*
|
|
5572
|
-
* class AppComponent {
|
|
5573
|
-
* public gridData = [{
|
|
5574
|
-
* "ProductID": 1,
|
|
5575
|
-
* "ProductName": "Chai",
|
|
5576
|
-
* "UnitPrice": 18.0000,
|
|
5577
|
-
* "Discontinued": false
|
|
5578
|
-
* }, {
|
|
5579
|
-
* "ProductID": 2,
|
|
5580
|
-
* "ProductName": "Chang",
|
|
5581
|
-
* "UnitPrice": 19.0000,
|
|
5582
|
-
* "Discontinued": true
|
|
5583
|
-
* }
|
|
5584
|
-
* ];
|
|
5585
|
-
* }
|
|
5586
|
-
*
|
|
5243
|
+
* ```html
|
|
5244
|
+
* <kendo-grid ... [pageable]="true">
|
|
5245
|
+
* <ng-template kendoPagerTemplate let-totalPages="totalPages" let-currentPage="currentPage">
|
|
5246
|
+
* <kendo-pager-prev-buttons></kendo-pager-prev-buttons>
|
|
5247
|
+
* <kendo-pager-next-buttons></kendo-pager-next-buttons>
|
|
5248
|
+
* <kendo-pager-info></kendo-pager-info>
|
|
5249
|
+
* Current page: {{currentPage}}
|
|
5250
|
+
* </ng-template>
|
|
5251
|
+
* <kendo-grid-column field="ProductID"></kendo-grid-column>
|
|
5252
|
+
* <kendo-grid-column field="ProductName"></kendo-grid-column>
|
|
5253
|
+
* </kendo-grid>
|
|
5587
5254
|
* ```
|
|
5588
5255
|
*/
|
|
5589
5256
|
class PagerTemplateDirective {
|
|
@@ -5727,56 +5394,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
5727
5394
|
* - `position`—The position at which the toolbar template is rendered. The possible values are "top" and "bottom".
|
|
5728
5395
|
*
|
|
5729
5396
|
* @example
|
|
5730
|
-
* ```
|
|
5731
|
-
*
|
|
5732
|
-
*
|
|
5733
|
-
*
|
|
5734
|
-
*
|
|
5735
|
-
*
|
|
5736
|
-
*
|
|
5737
|
-
*
|
|
5738
|
-
* <input type="radio" id="bottom" name="position" value="bottom" (click)="positionChange($event)"/>
|
|
5739
|
-
* <label class="k-radio-label" for="bottom">Bottom</label><br/>
|
|
5740
|
-
* <input type="radio" id="both" name="position" value="both" (click)="positionChange($event)"/>
|
|
5741
|
-
* <label class="k-radio-label" for="both">Both</label><br/>
|
|
5742
|
-
* </div>
|
|
5743
|
-
* <kendo-grid [data]="gridData" style="height: 200px">
|
|
5744
|
-
* <ng-template kendoGridToolbarTemplate [position]="position" let-position="position">
|
|
5745
|
-
* <button (click)="onClick()">Custom action</button>
|
|
5746
|
-
* </ng-template>
|
|
5747
|
-
* <kendo-grid-column field="ProductName">
|
|
5748
|
-
* </kendo-grid-column>
|
|
5749
|
-
* <kendo-grid-column field="UnitPrice">
|
|
5750
|
-
* </kendo-grid-column>
|
|
5751
|
-
* </kendo-grid>
|
|
5752
|
-
* `
|
|
5753
|
-
* })
|
|
5754
|
-
*
|
|
5755
|
-
* class AppComponent {
|
|
5756
|
-
* public position: 'top' | 'bottom' | 'both' = 'top';
|
|
5757
|
-
*
|
|
5758
|
-
* public gridData = [{
|
|
5759
|
-
* "ProductID": 1,
|
|
5760
|
-
* "ProductName": "Chai",
|
|
5761
|
-
* "UnitPrice": 18.0000,
|
|
5762
|
-
* "Discontinued": false
|
|
5763
|
-
* }, {
|
|
5764
|
-
* "ProductID": 2,
|
|
5765
|
-
* "ProductName": "Chang",
|
|
5766
|
-
* "UnitPrice": 19.0000,
|
|
5767
|
-
* "Discontinued": true
|
|
5768
|
-
* }
|
|
5769
|
-
* ];
|
|
5770
|
-
*
|
|
5771
|
-
* public onClick(): void {
|
|
5772
|
-
* console.log("button was clicked");
|
|
5773
|
-
* }
|
|
5774
|
-
*
|
|
5775
|
-
* public positionChange({ target }): void {
|
|
5776
|
-
* this.position = target.value;
|
|
5777
|
-
* }
|
|
5778
|
-
* }
|
|
5779
|
-
*
|
|
5397
|
+
* ```html
|
|
5398
|
+
* <kendo-grid [data]="gridData" style="height: 200px">
|
|
5399
|
+
* <ng-template kendoGridToolbarTemplate [position]="position" let-position="position">
|
|
5400
|
+
* <button (click)="onClick()">Custom action</button>
|
|
5401
|
+
* </ng-template>
|
|
5402
|
+
* <kendo-grid-column field="ProductName">
|
|
5403
|
+
* </kendo-grid-column>
|
|
5404
|
+
* </kendo-grid>
|
|
5780
5405
|
* ```
|
|
5781
5406
|
*/
|
|
5782
5407
|
class ToolbarTemplateDirective {
|
|
@@ -5785,13 +5410,9 @@ class ToolbarTemplateDirective {
|
|
|
5785
5410
|
this._position = 'top';
|
|
5786
5411
|
}
|
|
5787
5412
|
/**
|
|
5788
|
-
* The position of the toolbar ([see example]({% slug toolbartemplate_grid %})).
|
|
5413
|
+
* The position of the toolbar ([see example]({% slug toolbartemplate_grid %}#toc-setting-the-toolbar-position)).
|
|
5789
5414
|
*
|
|
5790
|
-
*
|
|
5791
|
-
* - `top`—Positions the toolbar above the group panel or header.
|
|
5792
|
-
* - `bottom`—Positions the toolbar below the pager.
|
|
5793
|
-
* - `both`—Displays two toolbar instances. Positions the first one above
|
|
5794
|
-
* the group panel or header and the second one below the pager.
|
|
5415
|
+
* @default 'top'
|
|
5795
5416
|
*/
|
|
5796
5417
|
set position(position) {
|
|
5797
5418
|
this._position = position;
|
|
@@ -6075,7 +5696,7 @@ class PopupCloseEvent extends PreventableEvent {
|
|
|
6075
5696
|
const DEFAULT_POPUP_CLASS = 'k-grid-filter-popup';
|
|
6076
5697
|
/**
|
|
6077
5698
|
* The service that is used for the popups of the filter and column menus
|
|
6078
|
-
* ([see example]({% slug filter_menu %}#toc-
|
|
5699
|
+
* ([see example]({% slug filter_menu %}#toc-filter-menu-with-popup)).
|
|
6079
5700
|
*/
|
|
6080
5701
|
class SinglePopupService {
|
|
6081
5702
|
constructor(popupService, renderer, ngZone, scrollSyncService, localization) {
|
|
@@ -6192,17 +5813,17 @@ const append = (element) => {
|
|
|
6192
5813
|
/**
|
|
6193
5814
|
* @hidden
|
|
6194
5815
|
*/
|
|
6195
|
-
const getDocument = element => element.ownerDocument.documentElement;
|
|
5816
|
+
const getDocument$1 = element => element.ownerDocument.documentElement;
|
|
6196
5817
|
/**
|
|
6197
5818
|
* @hidden
|
|
6198
5819
|
*/
|
|
6199
|
-
const getWindow = element => element.ownerDocument.defaultView;
|
|
5820
|
+
const getWindow$1 = element => element.ownerDocument.defaultView;
|
|
6200
5821
|
/**
|
|
6201
5822
|
* @hidden
|
|
6202
5823
|
*/
|
|
6203
5824
|
const offset = element => {
|
|
6204
|
-
const { clientTop, clientLeft } = getDocument(element);
|
|
6205
|
-
const { pageYOffset, pageXOffset } = getWindow(element);
|
|
5825
|
+
const { clientTop, clientLeft } = getDocument$1(element);
|
|
5826
|
+
const { pageYOffset, pageXOffset } = getWindow$1(element);
|
|
6206
5827
|
const { top, left } = element.getBoundingClientRect();
|
|
6207
5828
|
return {
|
|
6208
5829
|
top: top + pageYOffset - clientTop,
|
|
@@ -6617,17 +6238,20 @@ class ColumnStickyChangeEvent {
|
|
|
6617
6238
|
/**
|
|
6618
6239
|
* Represents the virtual scrolling cell template of the Grid while loading new data. Provides an option to customize the
|
|
6619
6240
|
* appearance of the indicator that is displayed while new data is loading. To define the loading cell template,
|
|
6620
|
-
* nest an `<ng-template>` tag with the `kendoGridCellLoadingTemplate` directive inside `<kendo-grid>`
|
|
6241
|
+
* nest an `<ng-template>` tag with the `kendoGridCellLoadingTemplate` directive inside `<kendo-grid>` tag [see example]({% slug virtualscrolling_grid %}#toc-custom-loading-skeleton).
|
|
6621
6242
|
*
|
|
6622
|
-
*
|
|
6243
|
+
*
|
|
6244
|
+
* The template context is set to the current column and the following additional field is passed:
|
|
6245
|
+
*
|
|
6246
|
+
* - `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`).
|
|
6623
6247
|
*
|
|
6624
6248
|
* @example
|
|
6625
|
-
* ```
|
|
6626
|
-
*
|
|
6627
|
-
*
|
|
6628
|
-
*
|
|
6629
|
-
*
|
|
6630
|
-
*
|
|
6249
|
+
* ```html
|
|
6250
|
+
* <kendo-grid ... scrollable="virtual" [rowHeight]="36" [height]="450">
|
|
6251
|
+
* <ng-template kendoGridCellLoadingTemplate let-column>
|
|
6252
|
+
* ...
|
|
6253
|
+
* </ng-template>
|
|
6254
|
+
* </kendo-grid>
|
|
6631
6255
|
* ```
|
|
6632
6256
|
*/
|
|
6633
6257
|
class CellLoadingTemplateDirective {
|
|
@@ -6649,7 +6273,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
6649
6273
|
/**
|
|
6650
6274
|
* Creates a loading template that overrides the default loading indicator of the Grid Component.
|
|
6651
6275
|
* To define a loading template, nest an `<ng-template>` tag with the `kendoGridLoadingTemplate` directive inside the `<kendo-grid>` tag
|
|
6652
|
-
* [see example](
|
|
6276
|
+
* ([see example](slug:loadingtemplate_grid)).
|
|
6653
6277
|
*/
|
|
6654
6278
|
class LoadingTemplateDirective {
|
|
6655
6279
|
constructor(templateRef) {
|
|
@@ -6665,6 +6289,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
6665
6289
|
}]
|
|
6666
6290
|
}], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });
|
|
6667
6291
|
|
|
6292
|
+
/**
|
|
6293
|
+
* @hidden
|
|
6294
|
+
*/
|
|
6668
6295
|
class SizingOptionsService {
|
|
6669
6296
|
constructor() {
|
|
6670
6297
|
this.changes = new Subject();
|
|
@@ -6676,6 +6303,315 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
6676
6303
|
type: Injectable
|
|
6677
6304
|
}] });
|
|
6678
6305
|
|
|
6306
|
+
/**
|
|
6307
|
+
* @hidden
|
|
6308
|
+
*/
|
|
6309
|
+
const isNextSibling = (dropTarget, dragTarget) => dropTarget === dragTarget.nextElementSibling;
|
|
6310
|
+
/**
|
|
6311
|
+
* @hidden
|
|
6312
|
+
*/
|
|
6313
|
+
const isPreviousSibling = (dropTarget, dragTarget) => dropTarget === dragTarget.previousElementSibling;
|
|
6314
|
+
/**
|
|
6315
|
+
* @hidden
|
|
6316
|
+
*/
|
|
6317
|
+
const isDifferentParent = (dropTarget, dragTarget) => dropTarget?.parentElement !== dragTarget?.parentElement;
|
|
6318
|
+
/**
|
|
6319
|
+
* @hidden
|
|
6320
|
+
*/
|
|
6321
|
+
function getOffset(element) {
|
|
6322
|
+
const { clientTop, clientLeft } = getDocument(element);
|
|
6323
|
+
const { pageYOffset, pageXOffset } = getWindow(element);
|
|
6324
|
+
const { top, left } = element.getBoundingClientRect();
|
|
6325
|
+
return {
|
|
6326
|
+
top: top + pageYOffset - clientTop,
|
|
6327
|
+
left: left + pageXOffset - clientLeft
|
|
6328
|
+
};
|
|
6329
|
+
}
|
|
6330
|
+
;
|
|
6331
|
+
/**
|
|
6332
|
+
* @hidden
|
|
6333
|
+
*/
|
|
6334
|
+
const hintIcons = {
|
|
6335
|
+
forbidden: 'cancel',
|
|
6336
|
+
before: 'insert-middle',
|
|
6337
|
+
after: 'insert-middle'
|
|
6338
|
+
};
|
|
6339
|
+
/**
|
|
6340
|
+
* @hidden
|
|
6341
|
+
*/
|
|
6342
|
+
const hintSVGIcons = {
|
|
6343
|
+
forbidden: cancelIcon,
|
|
6344
|
+
before: insertMiddleIcon,
|
|
6345
|
+
after: insertMiddleIcon
|
|
6346
|
+
};
|
|
6347
|
+
/**
|
|
6348
|
+
* @hidden
|
|
6349
|
+
*/
|
|
6350
|
+
const dropPosition = {
|
|
6351
|
+
forbidden: 'forbidden',
|
|
6352
|
+
before: 'before',
|
|
6353
|
+
after: 'after'
|
|
6354
|
+
};
|
|
6355
|
+
/**
|
|
6356
|
+
* @hidden
|
|
6357
|
+
*/
|
|
6358
|
+
const hintStyles = {
|
|
6359
|
+
zIndex: '20000',
|
|
6360
|
+
display: 'flex',
|
|
6361
|
+
position: 'fixed'
|
|
6362
|
+
};
|
|
6363
|
+
/**
|
|
6364
|
+
* @hidden
|
|
6365
|
+
*/
|
|
6366
|
+
const hintClasses = ['k-drag-clue', 'k-reorder-clue'];
|
|
6367
|
+
/**
|
|
6368
|
+
* @hidden
|
|
6369
|
+
*/
|
|
6370
|
+
const dropIndicatorStyles = {
|
|
6371
|
+
zIndex: '19000',
|
|
6372
|
+
position: 'absolute'
|
|
6373
|
+
};
|
|
6374
|
+
/**
|
|
6375
|
+
* @hidden
|
|
6376
|
+
*/
|
|
6377
|
+
const dropIndicatorClasses = ['k-drop-hint', 'k-drop-hint-h'];
|
|
6378
|
+
/**
|
|
6379
|
+
* @hidden
|
|
6380
|
+
*/
|
|
6381
|
+
const defaultSelectors = {
|
|
6382
|
+
handle: '.k-table-td.k-drag-cell',
|
|
6383
|
+
dragTarget: '.k-master-row',
|
|
6384
|
+
dropTarget: '.k-master-row'
|
|
6385
|
+
};
|
|
6386
|
+
const getDocument = element => element?.ownerDocument.documentElement;
|
|
6387
|
+
const getWindow = element => element?.ownerDocument.defaultView;
|
|
6388
|
+
|
|
6389
|
+
/**
|
|
6390
|
+
* @hidden
|
|
6391
|
+
*/
|
|
6392
|
+
class RowReorderService {
|
|
6393
|
+
constructor(renderer) {
|
|
6394
|
+
this.renderer = renderer;
|
|
6395
|
+
this.hintElement = null;
|
|
6396
|
+
this.defaultSelectors = defaultSelectors;
|
|
6397
|
+
this.hintText = '';
|
|
6398
|
+
this.lastDropPosition = dropPosition.forbidden;
|
|
6399
|
+
this.dragTarget = null;
|
|
6400
|
+
this.dropTarget = null;
|
|
6401
|
+
this.rowReorder = new EventEmitter();
|
|
6402
|
+
}
|
|
6403
|
+
press(ev) {
|
|
6404
|
+
this.dragTarget = ev.dragTarget;
|
|
6405
|
+
this.offsetY = ev.dragEvent.offsetY;
|
|
6406
|
+
}
|
|
6407
|
+
dragStart() {
|
|
6408
|
+
this.createDropIndicator();
|
|
6409
|
+
}
|
|
6410
|
+
drag(ev) {
|
|
6411
|
+
if (isPresent$1(ev.hintElement) && !isPresent$1(this.hintElement)) {
|
|
6412
|
+
this.hintElement = ev.hintElement;
|
|
6413
|
+
this.decorateHint();
|
|
6414
|
+
}
|
|
6415
|
+
const position = {
|
|
6416
|
+
x: ev.dragEvent.clientX,
|
|
6417
|
+
y: ev.dragEvent.clientY - this.offsetY
|
|
6418
|
+
};
|
|
6419
|
+
if (isPresent$1(this.hintElement)) {
|
|
6420
|
+
this.renderer.setStyle(this.hintElement, 'left', `${position.x}px`);
|
|
6421
|
+
this.renderer.setStyle(this.hintElement, 'top', `${position.y}px`);
|
|
6422
|
+
}
|
|
6423
|
+
this.positionDropIndicator(ev);
|
|
6424
|
+
}
|
|
6425
|
+
dragEnter(ev) {
|
|
6426
|
+
this.dropTarget = ev.dropTarget;
|
|
6427
|
+
}
|
|
6428
|
+
dragLeave() {
|
|
6429
|
+
this.dropTarget = null;
|
|
6430
|
+
this.hide();
|
|
6431
|
+
}
|
|
6432
|
+
dragEnd() {
|
|
6433
|
+
this.destroyDropIndicator();
|
|
6434
|
+
this.dragTarget = null;
|
|
6435
|
+
this.dropTarget = null;
|
|
6436
|
+
this.hintElement = null;
|
|
6437
|
+
}
|
|
6438
|
+
drop(ev) {
|
|
6439
|
+
this.destroyDropIndicator();
|
|
6440
|
+
const rowReorderArgs = this.rowReorderArgs(this.dragTarget, this.dropTarget, ev.dragData);
|
|
6441
|
+
this.rowReorder.emit(rowReorderArgs);
|
|
6442
|
+
}
|
|
6443
|
+
reorderRows(ev, collection) {
|
|
6444
|
+
if (this.lastDropPosition === dropPosition.forbidden) {
|
|
6445
|
+
return;
|
|
6446
|
+
}
|
|
6447
|
+
;
|
|
6448
|
+
const { draggedRows, dropTargetRow } = ev;
|
|
6449
|
+
const draggedDataItem = draggedRows[0].dataItem;
|
|
6450
|
+
const dropTargetDataItem = dropTargetRow.dataItem;
|
|
6451
|
+
const draggedItemIndex = collection.indexOf(draggedDataItem);
|
|
6452
|
+
const dropTargetIndex = collection.indexOf(dropTargetDataItem);
|
|
6453
|
+
const idxToAdd = this.calculateIndexToAdd(draggedItemIndex, dropTargetIndex);
|
|
6454
|
+
collection.splice(draggedItemIndex, 1);
|
|
6455
|
+
collection.splice(idxToAdd, 0, draggedDataItem);
|
|
6456
|
+
}
|
|
6457
|
+
get hintIcon() {
|
|
6458
|
+
return hintIcons[this.lastDropPosition];
|
|
6459
|
+
}
|
|
6460
|
+
get hintSVGIcon() {
|
|
6461
|
+
return hintSVGIcons[this.lastDropPosition];
|
|
6462
|
+
}
|
|
6463
|
+
getDefaultHintText(columns, data) {
|
|
6464
|
+
let hintText = '';
|
|
6465
|
+
const columnFieldsArray = columns
|
|
6466
|
+
.toArray()
|
|
6467
|
+
.filter(column => !column.hidden && isPresent$1(column.field))
|
|
6468
|
+
.map(column => column.field);
|
|
6469
|
+
const draggedDragRow = this.getDragRowPerElement(this.dragTarget, data);
|
|
6470
|
+
const draggedDataItem = draggedDragRow?.dataItem;
|
|
6471
|
+
isPresent$1(draggedDataItem) && columnFieldsArray.forEach(column => {
|
|
6472
|
+
const columnValue = draggedDataItem[column];
|
|
6473
|
+
isPresent$1(columnValue) ? hintText += `${columnValue} ` : null;
|
|
6474
|
+
});
|
|
6475
|
+
return hintText.trim();
|
|
6476
|
+
}
|
|
6477
|
+
rowReorderArgs(dragRow, dropRow, data) {
|
|
6478
|
+
const dragRowData = this.getDragRowPerElement(dragRow, data);
|
|
6479
|
+
const dropRowData = this.getDragRowPerElement(dropRow, data);
|
|
6480
|
+
return {
|
|
6481
|
+
draggedRows: [dragRowData],
|
|
6482
|
+
dropTargetRow: dropRowData,
|
|
6483
|
+
dropPosition: this.lastDropPosition
|
|
6484
|
+
};
|
|
6485
|
+
}
|
|
6486
|
+
getDragRowPerElement(row, data) {
|
|
6487
|
+
let rowIndex = row?.getAttribute('data-kendo-grid-item-index');
|
|
6488
|
+
rowIndex = rowIndex ? parseInt(rowIndex, 10) : -1;
|
|
6489
|
+
const skip = this.skip || 0;
|
|
6490
|
+
const dataItem = rowIndex === -1 ? null : data[rowIndex - skip];
|
|
6491
|
+
return {
|
|
6492
|
+
dataItem,
|
|
6493
|
+
rowIndex,
|
|
6494
|
+
element: row
|
|
6495
|
+
};
|
|
6496
|
+
}
|
|
6497
|
+
createDropIndicator() {
|
|
6498
|
+
if (!isDocumentAvailable()) {
|
|
6499
|
+
return;
|
|
6500
|
+
}
|
|
6501
|
+
this.dropIndicator = document.createElement('div');
|
|
6502
|
+
this.decorateDropIndicator();
|
|
6503
|
+
this.dropIndicator.innerHTML = `
|
|
6504
|
+
<div class="k-drop-hint-start"></div>
|
|
6505
|
+
<div class="k-drop-hint-line"></div>
|
|
6506
|
+
`;
|
|
6507
|
+
document.body.appendChild(this.dropIndicator);
|
|
6508
|
+
this.hide();
|
|
6509
|
+
}
|
|
6510
|
+
destroyDropIndicator() {
|
|
6511
|
+
if (!isDocumentAvailable()) {
|
|
6512
|
+
return;
|
|
6513
|
+
}
|
|
6514
|
+
;
|
|
6515
|
+
if (this.dropIndicator && this.dropIndicator.parentElement) {
|
|
6516
|
+
document.body.removeChild(this.dropIndicator);
|
|
6517
|
+
this.dropIndicator = null;
|
|
6518
|
+
}
|
|
6519
|
+
}
|
|
6520
|
+
decorateHint() {
|
|
6521
|
+
hintClasses.forEach(className => this.renderer.addClass(this.hintElement, className));
|
|
6522
|
+
Object.keys(hintStyles)
|
|
6523
|
+
.forEach(style => this.renderer.setStyle(this.hintElement, style, hintStyles[style]));
|
|
6524
|
+
}
|
|
6525
|
+
positionDropIndicator(ev) {
|
|
6526
|
+
this.lastDropPosition = this.getDropPosition(ev.dragEvent);
|
|
6527
|
+
this.updateDropIndicatorPosition();
|
|
6528
|
+
}
|
|
6529
|
+
calculateIndexToAdd(dragIndex, dropIndex) {
|
|
6530
|
+
if (dragIndex > dropIndex && this.lastDropPosition === dropPosition.after) {
|
|
6531
|
+
return dropIndex + 1;
|
|
6532
|
+
}
|
|
6533
|
+
else if (dragIndex > dropIndex && this.lastDropPosition === dropPosition.before) {
|
|
6534
|
+
return dropIndex;
|
|
6535
|
+
}
|
|
6536
|
+
else if (dragIndex < dropIndex && this.lastDropPosition === dropPosition.after) {
|
|
6537
|
+
return dropIndex;
|
|
6538
|
+
}
|
|
6539
|
+
else if (dragIndex < dropIndex && this.lastDropPosition === dropPosition.before) {
|
|
6540
|
+
return dropIndex - 1;
|
|
6541
|
+
}
|
|
6542
|
+
}
|
|
6543
|
+
decorateDropIndicator() {
|
|
6544
|
+
dropIndicatorClasses.forEach(className => this.renderer.addClass(this.dropIndicator, className));
|
|
6545
|
+
Object.keys(dropIndicatorStyles)
|
|
6546
|
+
.forEach(style => this.renderer.setStyle(this.dropIndicator, style, dropIndicatorStyles[style]));
|
|
6547
|
+
}
|
|
6548
|
+
;
|
|
6549
|
+
getDropPosition(e) {
|
|
6550
|
+
if (this.dropTarget === this.dragTarget || !isPresent$1(this.dropTarget)) {
|
|
6551
|
+
return dropPosition.forbidden;
|
|
6552
|
+
}
|
|
6553
|
+
;
|
|
6554
|
+
if (isDifferentParent(this.dropTarget, this.dragTarget)) {
|
|
6555
|
+
return dropPosition.forbidden;
|
|
6556
|
+
}
|
|
6557
|
+
;
|
|
6558
|
+
const itemViewPortCoords = this.dropTarget.getBoundingClientRect();
|
|
6559
|
+
const itemDivisionsCount = 2;
|
|
6560
|
+
const itemDivisionHeight = itemViewPortCoords.height / itemDivisionsCount;
|
|
6561
|
+
const pointerPosition = e.clientY;
|
|
6562
|
+
const itemTop = itemViewPortCoords.top;
|
|
6563
|
+
let currentDropPosition = null;
|
|
6564
|
+
if (pointerPosition < itemTop + itemDivisionHeight) {
|
|
6565
|
+
currentDropPosition = dropPosition.before;
|
|
6566
|
+
}
|
|
6567
|
+
else if (pointerPosition >= itemTop + itemViewPortCoords.height - itemDivisionHeight) {
|
|
6568
|
+
currentDropPosition = dropPosition.after;
|
|
6569
|
+
}
|
|
6570
|
+
if (currentDropPosition === dropPosition.before && isNextSibling(this.dropTarget, this.dragTarget)) {
|
|
6571
|
+
currentDropPosition = dropPosition.forbidden;
|
|
6572
|
+
}
|
|
6573
|
+
else if (currentDropPosition === dropPosition.after && isPreviousSibling(this.dropTarget, this.dragTarget)) {
|
|
6574
|
+
currentDropPosition = dropPosition.forbidden;
|
|
6575
|
+
}
|
|
6576
|
+
return currentDropPosition;
|
|
6577
|
+
}
|
|
6578
|
+
updateDropIndicatorPosition() {
|
|
6579
|
+
if (this.shouldHideDropIndicator() || !this.dropTarget) {
|
|
6580
|
+
this.hide();
|
|
6581
|
+
return;
|
|
6582
|
+
}
|
|
6583
|
+
this.show();
|
|
6584
|
+
const destinationItemOffset = getOffset(this.dropTarget);
|
|
6585
|
+
let indicatorOffsetTop = destinationItemOffset.top;
|
|
6586
|
+
const indicatorOffsetLeft = destinationItemOffset.left + this.dropIndicator.offsetWidth / 2;
|
|
6587
|
+
if (this.lastDropPosition === dropPosition.after) {
|
|
6588
|
+
indicatorOffsetTop += this.dropTarget.offsetHeight;
|
|
6589
|
+
}
|
|
6590
|
+
this.renderer.setStyle(this.dropIndicator, 'left', `${indicatorOffsetLeft}px`);
|
|
6591
|
+
this.renderer.setStyle(this.dropIndicator, 'top', `${indicatorOffsetTop}px`);
|
|
6592
|
+
}
|
|
6593
|
+
shouldHideDropIndicator() {
|
|
6594
|
+
return this.lastDropPosition === dropPosition.forbidden;
|
|
6595
|
+
}
|
|
6596
|
+
hide() {
|
|
6597
|
+
if (isPresent$1(this.dropIndicator)) {
|
|
6598
|
+
this.dropIndicator.style.display = 'none';
|
|
6599
|
+
}
|
|
6600
|
+
}
|
|
6601
|
+
show() {
|
|
6602
|
+
if (isPresent$1(this.dropIndicator)) {
|
|
6603
|
+
this.dropIndicator.style.display = '';
|
|
6604
|
+
}
|
|
6605
|
+
}
|
|
6606
|
+
}
|
|
6607
|
+
RowReorderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: RowReorderService, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
6608
|
+
RowReorderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: RowReorderService });
|
|
6609
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: RowReorderService, decorators: [{
|
|
6610
|
+
type: Injectable
|
|
6611
|
+
}], ctorParameters: function () { return [{ type: i0.Renderer2 }]; }, propDecorators: { rowReorder: [{
|
|
6612
|
+
type: Output
|
|
6613
|
+
}] } });
|
|
6614
|
+
|
|
6679
6615
|
/**
|
|
6680
6616
|
* @hidden
|
|
6681
6617
|
*/
|
|
@@ -10425,7 +10361,7 @@ DateFilterMenuInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12
|
|
|
10425
10361
|
</kendo-datepicker-messages>
|
|
10426
10362
|
</kendo-datepicker>
|
|
10427
10363
|
</kendo-grid-filter-menu-input-wrapper>
|
|
10428
|
-
`, isInline: true, components: [{ type: FilterMenuInputWrapperComponent, selector: "kendo-grid-filter-menu-input-wrapper", inputs: ["filterService", "isFirstDropDown", "menuTabbingService", "currentFilter"] }, { type:
|
|
10364
|
+
`, 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"] }] });
|
|
10429
10365
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DateFilterMenuInputComponent, decorators: [{
|
|
10430
10366
|
type: Component,
|
|
10431
10367
|
args: [{
|
|
@@ -11329,27 +11265,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
11329
11265
|
* [ColumnMenuTemplate]({% slug api_grid_columnmenutemplatedirective %}) directive.
|
|
11330
11266
|
*
|
|
11331
11267
|
* @example
|
|
11332
|
-
* ```
|
|
11333
|
-
*
|
|
11334
|
-
*
|
|
11335
|
-
*
|
|
11336
|
-
*
|
|
11337
|
-
*
|
|
11338
|
-
*
|
|
11339
|
-
*
|
|
11340
|
-
*
|
|
11341
|
-
* <kendo-grid-columnmenu-sort [service]="service">
|
|
11342
|
-
* </kendo-grid-columnmenu-sort>
|
|
11343
|
-
* </ng-template>
|
|
11344
|
-
* <kendo-grid-column field="Field1"></kendo-grid-column>
|
|
11345
|
-
* <kendo-grid-column field="Field2"></kendo-grid-column>
|
|
11346
|
-
* </kendo-grid>
|
|
11347
|
-
* `
|
|
11348
|
-
* })
|
|
11349
|
-
*
|
|
11350
|
-
* class AppComponent {
|
|
11351
|
-
* public data: any[] = [{ Field1: 'Foo', Field2: 'Bar' }];
|
|
11352
|
-
* }
|
|
11268
|
+
* ```html
|
|
11269
|
+
* <kendo-grid [data]="data" [columnMenu]="true">
|
|
11270
|
+
* <ng-template kendoGridColumnMenuTemplate let-service="service">
|
|
11271
|
+
* <span class="k-icon k-i-x" (click)="service.close()" </span>
|
|
11272
|
+
* <kendo-grid-columnmenu-sort [service]="service">
|
|
11273
|
+
* </kendo-grid-columnmenu-sort>
|
|
11274
|
+
* </ng-template>
|
|
11275
|
+
* <kendo-grid-column field="Field1"></kendo-grid-column>
|
|
11276
|
+
* </kendo-grid>
|
|
11353
11277
|
*
|
|
11354
11278
|
* ```
|
|
11355
11279
|
*/
|
|
@@ -11417,39 +11341,28 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
11417
11341
|
}], hostClass: [{
|
|
11418
11342
|
type: HostBinding,
|
|
11419
11343
|
args: ['class.k-columnmenu-item-wrapper']
|
|
11420
|
-
}] } });
|
|
11421
|
-
|
|
11422
|
-
/**
|
|
11423
|
-
* Represents the content template of the
|
|
11424
|
-
* [
|
|
11425
|
-
* Provides an option for specifying the content of a column item.
|
|
11426
|
-
* To define the content template, nest an `<ng-template>` tag with the
|
|
11427
|
-
* `kendoGridColumnMenuItemContentTemplate` directive inside a `<kendo-grid-columnmenu-item>`.
|
|
11428
|
-
*
|
|
11429
|
-
* @example
|
|
11430
|
-
* ```ts-preview
|
|
11431
|
-
*
|
|
11432
|
-
* _@Component({
|
|
11433
|
-
* selector: 'my-app',
|
|
11434
|
-
* template: `
|
|
11435
|
-
* <kendo-grid [data]="data" [columnMenu]="true">
|
|
11436
|
-
* <ng-template kendoGridColumnMenuTemplate>
|
|
11437
|
-
* <kendo-grid-columnmenu-item text="Item Text" [expanded]="true">
|
|
11438
|
-
* <ng-template kendoGridColumnMenuItemContentTemplate>
|
|
11439
|
-
* Item Content
|
|
11440
|
-
* </ng-template>
|
|
11441
|
-
* </kendo-grid-columnmenu-item>
|
|
11442
|
-
* </ng-template>
|
|
11443
|
-
* <kendo-grid-column field="Field1"></kendo-grid-column>
|
|
11444
|
-
* <kendo-grid-column field="Field2"></kendo-grid-column>
|
|
11445
|
-
* </kendo-grid>
|
|
11446
|
-
* `
|
|
11447
|
-
* })
|
|
11448
|
-
*
|
|
11449
|
-
* class AppComponent {
|
|
11450
|
-
* public data: any[] = [{ Field1: 'Foo', Field2: 'Bar' }];
|
|
11451
|
-
* }
|
|
11344
|
+
}] } });
|
|
11345
|
+
|
|
11346
|
+
/**
|
|
11347
|
+
* Represents the content template of the
|
|
11348
|
+
* [`ColumnMenuItemComponent`]({% slug api_grid_columnmenuitemcomponent %}) component.
|
|
11349
|
+
* Provides an option for specifying the content of a column item.
|
|
11350
|
+
* To define the content template, nest an `<ng-template>` tag with the
|
|
11351
|
+
* `kendoGridColumnMenuItemContentTemplate` directive inside a `<kendo-grid-columnmenu-item>`.
|
|
11452
11352
|
*
|
|
11353
|
+
* @example
|
|
11354
|
+
* ```html
|
|
11355
|
+
* <kendo-grid [data]="data" [columnMenu]="true" ...>
|
|
11356
|
+
* <ng-template kendoGridColumnMenuTemplate>
|
|
11357
|
+
* <kendo-grid-columnmenu-item text="Item Text" [expanded]="true">
|
|
11358
|
+
* <ng-template kendoGridColumnMenuItemContentTemplate>
|
|
11359
|
+
* Item Content
|
|
11360
|
+
* </ng-template>
|
|
11361
|
+
* </kendo-grid-columnmenu-item>
|
|
11362
|
+
* </ng-template>
|
|
11363
|
+
* <kendo-grid-column field="Field1"></kendo-grid-column>
|
|
11364
|
+
* ...
|
|
11365
|
+
* </kendo-grid>
|
|
11453
11366
|
* ```
|
|
11454
11367
|
*/
|
|
11455
11368
|
class ColumnMenuItemContentTemplateDirective {
|
|
@@ -13887,7 +13800,7 @@ DateFilterCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
|
|
|
13887
13800
|
</kendo-datepicker-messages>
|
|
13888
13801
|
</kendo-datepicker>
|
|
13889
13802
|
</kendo-grid-filter-wrapper-cell>
|
|
13890
|
-
`, isInline: true, components: [{ type: FilterCellWrapperComponent, selector: "kendo-grid-filter-wrapper-cell", inputs: ["showOperators"] }, { type:
|
|
13803
|
+
`, 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"] }] });
|
|
13891
13804
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DateFilterCellComponent, decorators: [{
|
|
13892
13805
|
type: Component,
|
|
13893
13806
|
args: [{
|
|
@@ -14436,7 +14349,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
14436
14349
|
}] } });
|
|
14437
14350
|
|
|
14438
14351
|
/**
|
|
14439
|
-
* Represents the select-all checkbox feature of the Grid ([see example](
|
|
14352
|
+
* Represents the select-all checkbox feature of the Grid ([see example](slug:grid_selection_persistence#toc-selecting-all-items)).
|
|
14353
|
+
*
|
|
14354
|
+
* @example
|
|
14355
|
+
* ```html
|
|
14356
|
+
* <input
|
|
14357
|
+
* type="checkbox"
|
|
14358
|
+
* kendoCheckBox
|
|
14359
|
+
* kendoGridSelectAllCheckbox
|
|
14360
|
+
* [state]="selectAllState"
|
|
14361
|
+
* (selectAllChange)="onSelectAllChange($event)"
|
|
14362
|
+
* />
|
|
14363
|
+
* ```
|
|
14440
14364
|
*/
|
|
14441
14365
|
class SelectAllCheckboxDirective {
|
|
14442
14366
|
constructor(selectionService, el, renderer, ngZone) {
|
|
@@ -15977,53 +15901,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
15977
15901
|
|
|
15978
15902
|
/**
|
|
15979
15903
|
* Represents the row-selection checkbox of the Grid. The directive expects the
|
|
15980
|
-
* index of the current row as an input parameter. Inside the
|
|
15981
|
-
*
|
|
15982
|
-
*
|
|
15983
|
-
* with the directive, a [selectionChange]({% slug api_grid_gridcomponent %}#toc-selectionChange)
|
|
15904
|
+
* index of the current row as an input parameter. Inside the [`CellTemplateDirective`](slug:api_grid_celltemplatedirective), apply the
|
|
15905
|
+
* `kendoGridSelectionCheckbox` to an `<input type="checkbox"/>` element. When the user clicks the checkbox that is associated
|
|
15906
|
+
* with the directive, a [selectionChange](slug:api_grid_gridcomponent#toc-selectionChange)
|
|
15984
15907
|
* event is triggered.
|
|
15985
15908
|
*
|
|
15986
15909
|
* @example
|
|
15987
|
-
* ```
|
|
15988
|
-
*
|
|
15989
|
-
*
|
|
15990
|
-
*
|
|
15991
|
-
*
|
|
15992
|
-
*
|
|
15993
|
-
*
|
|
15994
|
-
*
|
|
15995
|
-
* Select row <input [kendoGridSelectionCheckbox]="idx" />
|
|
15996
|
-
* </ng-template>
|
|
15997
|
-
* </kendo-grid-checkbox-column>
|
|
15998
|
-
* <kendo-grid-column field="ProductID" title="Product ID" [width]="120">
|
|
15999
|
-
* </kendo-grid-column>
|
|
16000
|
-
* <kendo-grid-column field="ProductName" title="Product Name">
|
|
16001
|
-
* </kendo-grid-column>
|
|
16002
|
-
* </kendo-grid>
|
|
16003
|
-
* `
|
|
16004
|
-
* })
|
|
16005
|
-
*
|
|
16006
|
-
* class AppComponent {
|
|
16007
|
-
* public gridData: any[];
|
|
16008
|
-
*
|
|
16009
|
-
* constructor() {
|
|
16010
|
-
* this.gridData = products;
|
|
16011
|
-
* }
|
|
16012
|
-
* }
|
|
16013
|
-
*
|
|
16014
|
-
* const products = [{
|
|
16015
|
-
* "ProductID": 1,
|
|
16016
|
-
* "ProductName": "Chai",
|
|
16017
|
-
* "UnitPrice": 18.0000,
|
|
16018
|
-
* "Discontinued": true
|
|
16019
|
-
* }, {
|
|
16020
|
-
* "ProductID": 2,
|
|
16021
|
-
* "ProductName": "Chang",
|
|
16022
|
-
* "UnitPrice": 19.0000,
|
|
16023
|
-
* "Discontinued": false
|
|
16024
|
-
* }
|
|
16025
|
-
* ];
|
|
16026
|
-
*
|
|
15910
|
+
* ```html
|
|
15911
|
+
* <kendo-grid ... >
|
|
15912
|
+
* <kendo-grid-column>
|
|
15913
|
+
* <ng-template kendoGridCellTemplate let-rowIndex="rowIndex">
|
|
15914
|
+
* <input ... [kendoGridSelectionCheckbox]="rowIndex"/>
|
|
15915
|
+
* </ng-template>
|
|
15916
|
+
* </kendo-grid-column>
|
|
15917
|
+
* </kendo-grid>
|
|
16027
15918
|
* ```
|
|
16028
15919
|
*/
|
|
16029
15920
|
class SelectionCheckboxDirective {
|
|
@@ -16135,12 +16026,19 @@ class CellComponent {
|
|
|
16135
16026
|
this.isNew = false;
|
|
16136
16027
|
this.isLoading = false;
|
|
16137
16028
|
this.isVirtual = false;
|
|
16029
|
+
this.reorderIcon = reorderIcon;
|
|
16138
16030
|
this._templateContext = {};
|
|
16139
16031
|
this._editTemplateContext = {};
|
|
16140
16032
|
}
|
|
16141
16033
|
get commandCellClass() {
|
|
16142
16034
|
return this.isCommand(this.column);
|
|
16143
16035
|
}
|
|
16036
|
+
get dragHandleCellClass() {
|
|
16037
|
+
return isRowReorderColumn(this.column);
|
|
16038
|
+
}
|
|
16039
|
+
get dragRowHandleLabel() {
|
|
16040
|
+
return isRowReorderColumn(this.column) ? this.localizationService.get('dragRowHandleLabel') : undefined;
|
|
16041
|
+
}
|
|
16144
16042
|
set rowIndex(index) {
|
|
16145
16043
|
this._rowIndex = index;
|
|
16146
16044
|
this.updateCellContext();
|
|
@@ -16197,6 +16095,9 @@ class CellComponent {
|
|
|
16197
16095
|
get childColumns() {
|
|
16198
16096
|
return columnsToRender([this.column]);
|
|
16199
16097
|
}
|
|
16098
|
+
get isRowReorderColumn() {
|
|
16099
|
+
return isRowReorderColumn(this.column) && !this.column.templateRef;
|
|
16100
|
+
}
|
|
16200
16101
|
get isColumnEditable() {
|
|
16201
16102
|
if (!this.column || this.isCommand(this.column)) {
|
|
16202
16103
|
return false;
|
|
@@ -16243,7 +16144,7 @@ class CellComponent {
|
|
|
16243
16144
|
}
|
|
16244
16145
|
}
|
|
16245
16146
|
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 });
|
|
16246
|
-
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: `
|
|
16147
|
+
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: `
|
|
16247
16148
|
<ng-container [ngSwitch]="isEdited">
|
|
16248
16149
|
<ng-container *ngSwitchCase="false">
|
|
16249
16150
|
<ng-container *ngIf="!showLoading; else loading">
|
|
@@ -16264,6 +16165,12 @@ CellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
|
|
|
16264
16165
|
[attr.id]="selectionCheckboxId"
|
|
16265
16166
|
[attr.aria-label]="selectionCheckboxLabel" />
|
|
16266
16167
|
</ng-container>
|
|
16168
|
+
<ng-container *ngIf="isRowReorderColumn && !isNew">
|
|
16169
|
+
<kendo-icon-wrapper
|
|
16170
|
+
name="reorder"
|
|
16171
|
+
[svgIcon]="reorderIcon">
|
|
16172
|
+
</kendo-icon-wrapper>
|
|
16173
|
+
</ng-container>
|
|
16267
16174
|
</ng-container>
|
|
16268
16175
|
<ng-template #loading>
|
|
16269
16176
|
<ng-template
|
|
@@ -16313,7 +16220,7 @@ CellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
|
|
|
16313
16220
|
</ng-container>
|
|
16314
16221
|
</ng-container>
|
|
16315
16222
|
</ng-container>
|
|
16316
|
-
`, 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:
|
|
16223
|
+
`, 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 } });
|
|
16317
16224
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: CellComponent, decorators: [{
|
|
16318
16225
|
type: Component,
|
|
16319
16226
|
args: [{
|
|
@@ -16339,6 +16246,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
16339
16246
|
[attr.id]="selectionCheckboxId"
|
|
16340
16247
|
[attr.aria-label]="selectionCheckboxLabel" />
|
|
16341
16248
|
</ng-container>
|
|
16249
|
+
<ng-container *ngIf="isRowReorderColumn && !isNew">
|
|
16250
|
+
<kendo-icon-wrapper
|
|
16251
|
+
name="reorder"
|
|
16252
|
+
[svgIcon]="reorderIcon">
|
|
16253
|
+
</kendo-icon-wrapper>
|
|
16254
|
+
</ng-container>
|
|
16342
16255
|
</ng-container>
|
|
16343
16256
|
<ng-template #loading>
|
|
16344
16257
|
<ng-template
|
|
@@ -16398,6 +16311,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
16398
16311
|
}] }]; }, propDecorators: { commandCellClass: [{
|
|
16399
16312
|
type: HostBinding,
|
|
16400
16313
|
args: ['class.k-command-cell']
|
|
16314
|
+
}], dragHandleCellClass: [{
|
|
16315
|
+
type: HostBinding,
|
|
16316
|
+
args: ['class.k-drag-cell']
|
|
16317
|
+
}, {
|
|
16318
|
+
type: HostBinding,
|
|
16319
|
+
args: ['class.k-touch-action-none']
|
|
16320
|
+
}], dragRowHandleLabel: [{
|
|
16321
|
+
type: HostBinding,
|
|
16322
|
+
args: ['attr.aria-label']
|
|
16401
16323
|
}], column: [{
|
|
16402
16324
|
type: Input
|
|
16403
16325
|
}], columnIndex: [{
|
|
@@ -18768,7 +18690,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
18768
18690
|
class GridMessages extends ComponentMessages {
|
|
18769
18691
|
}
|
|
18770
18692
|
GridMessages.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GridMessages, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
18771
|
-
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 });
|
|
18693
|
+
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 });
|
|
18772
18694
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GridMessages, decorators: [{
|
|
18773
18695
|
type: Directive,
|
|
18774
18696
|
args: [{
|
|
@@ -18925,6 +18847,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
18925
18847
|
type: Input
|
|
18926
18848
|
}], groupPanelLabel: [{
|
|
18927
18849
|
type: Input
|
|
18850
|
+
}], dragRowHandleLabel: [{
|
|
18851
|
+
type: Input
|
|
18928
18852
|
}] } });
|
|
18929
18853
|
|
|
18930
18854
|
/**
|
|
@@ -19005,7 +18929,7 @@ const isInEditedCell = (element, gridElement) => closest(element, matchesClasses
|
|
|
19005
18929
|
* ```
|
|
19006
18930
|
*/
|
|
19007
18931
|
class GridComponent {
|
|
19008
|
-
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) {
|
|
18932
|
+
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) {
|
|
19009
18933
|
this.supportService = supportService;
|
|
19010
18934
|
this.selectionService = selectionService;
|
|
19011
18935
|
this.cellSelectionService = cellSelectionService;
|
|
@@ -19033,11 +18957,7 @@ class GridComponent {
|
|
|
19033
18957
|
this.localization = localization;
|
|
19034
18958
|
this.ctx = ctx;
|
|
19035
18959
|
this.sizingService = sizingService;
|
|
19036
|
-
|
|
19037
|
-
* Sets the data of the Grid. If an array is provided, the Grid automatically gets the total count
|
|
19038
|
-
* ([more information and example]({% slug binding_grid %})).
|
|
19039
|
-
*/
|
|
19040
|
-
this.data = [];
|
|
18960
|
+
this.rowReorderService = rowReorderService;
|
|
19041
18961
|
/**
|
|
19042
18962
|
* Defines the scroll mode used by the Grid.
|
|
19043
18963
|
*
|
|
@@ -19101,6 +19021,10 @@ class GridComponent {
|
|
|
19101
19021
|
* If set to `true`, the grid will render only the columns in the current viewport.
|
|
19102
19022
|
*/
|
|
19103
19023
|
this.virtualColumns = false;
|
|
19024
|
+
/**
|
|
19025
|
+
* @hidden
|
|
19026
|
+
*/
|
|
19027
|
+
this.gridData = () => { return this.flatData; };
|
|
19104
19028
|
/**
|
|
19105
19029
|
* Enables the [filtering]({% slug filtering_grid %}) of the Grid columns that have their `field` option set.
|
|
19106
19030
|
*/
|
|
@@ -19148,12 +19072,6 @@ class GridComponent {
|
|
|
19148
19072
|
* @default false
|
|
19149
19073
|
*/
|
|
19150
19074
|
this.reorderable = false;
|
|
19151
|
-
/**
|
|
19152
|
-
* Specifies if the loading indicator of the Grid will be displayed ([see example]({% slug binding_grid %})).
|
|
19153
|
-
*
|
|
19154
|
-
* @default false
|
|
19155
|
-
*/
|
|
19156
|
-
this.loading = false;
|
|
19157
19075
|
/**
|
|
19158
19076
|
* Specifies if the column menu of the columns will be displayed ([see example]({% slug columnmenu_grid %})).
|
|
19159
19077
|
*
|
|
@@ -19191,6 +19109,11 @@ class GridComponent {
|
|
|
19191
19109
|
* Emits the [SelectionEvent]({% slug api_grid_selectionevent %}#toc-selectionchange).
|
|
19192
19110
|
*/
|
|
19193
19111
|
this.selectionChange = new EventEmitter();
|
|
19112
|
+
/**
|
|
19113
|
+
* Fires when the user drops the dragged row and reordering is performed.
|
|
19114
|
+
* Emits the [RowReorderEvent]({% slug api_grid_selectionevent %}#toc-selectionchange).
|
|
19115
|
+
*/
|
|
19116
|
+
this.rowReorder = new EventEmitter();
|
|
19194
19117
|
/**
|
|
19195
19118
|
* Fires when the data state of the Grid is changed.
|
|
19196
19119
|
*/
|
|
@@ -19302,11 +19225,14 @@ class GridComponent {
|
|
|
19302
19225
|
this._sort = new Array();
|
|
19303
19226
|
this._group = new Array();
|
|
19304
19227
|
this._skip = 0;
|
|
19228
|
+
this._data = [];
|
|
19305
19229
|
this.cachedWindowWidth = 0;
|
|
19306
19230
|
this._rowSelected = null;
|
|
19307
19231
|
this._cellSelected = null;
|
|
19232
|
+
this._rowReorderable = false;
|
|
19308
19233
|
this._navigable = [];
|
|
19309
19234
|
this._size = 'medium';
|
|
19235
|
+
this._loading = false;
|
|
19310
19236
|
this.rtl = false;
|
|
19311
19237
|
this._rowClass = () => null;
|
|
19312
19238
|
validatePackage(packageMetadata);
|
|
@@ -19346,6 +19272,19 @@ class GridComponent {
|
|
|
19346
19272
|
.changes.subscribe(this.reorder.bind(this));
|
|
19347
19273
|
this.columnRangeChangeSubscription = this.columnInfoService.columnRangeChange.subscribe(this.onColumnRangeChange.bind(this));
|
|
19348
19274
|
}
|
|
19275
|
+
/**
|
|
19276
|
+
* Sets the data of the Grid. If an array is provided, the Grid automatically gets the total count
|
|
19277
|
+
* ([more information and example]({% slug binding_grid %})).
|
|
19278
|
+
*/
|
|
19279
|
+
set data(value) {
|
|
19280
|
+
this._data = value;
|
|
19281
|
+
}
|
|
19282
|
+
get data() {
|
|
19283
|
+
return this._data;
|
|
19284
|
+
}
|
|
19285
|
+
get hintText() {
|
|
19286
|
+
return this.rowReorderService.getDefaultHintText(this.columnList, this.flatData);
|
|
19287
|
+
}
|
|
19349
19288
|
/**
|
|
19350
19289
|
* Defines the number of records to be skipped by the pager.
|
|
19351
19290
|
* Required by the [paging]({% slug paging_grid %}) functionality.
|
|
@@ -19355,7 +19294,7 @@ class GridComponent {
|
|
|
19355
19294
|
}
|
|
19356
19295
|
set skip(value) {
|
|
19357
19296
|
if (typeof value === 'number' && value >= 0) {
|
|
19358
|
-
this._skip = value;
|
|
19297
|
+
this._skip = this.rowReorderService.skip = value;
|
|
19359
19298
|
}
|
|
19360
19299
|
}
|
|
19361
19300
|
/**
|
|
@@ -19453,6 +19392,26 @@ class GridComponent {
|
|
|
19453
19392
|
get marqueeSelection() {
|
|
19454
19393
|
return this.selectionService.enableMarquee || this.cellSelectionService.enableMarquee;
|
|
19455
19394
|
}
|
|
19395
|
+
/**
|
|
19396
|
+
* Enables the [row reordering]({% slug reordering_rows_grid %}) of the Grid.
|
|
19397
|
+
* @default false
|
|
19398
|
+
*/
|
|
19399
|
+
set rowReorderable(value) {
|
|
19400
|
+
this._rowReorderable = value;
|
|
19401
|
+
if (value) {
|
|
19402
|
+
this.rowReorderSubscription = this.rowReorderService.rowReorder.subscribe(args => {
|
|
19403
|
+
this.ngZone.run(() => {
|
|
19404
|
+
this.rowReorder.emit(args);
|
|
19405
|
+
});
|
|
19406
|
+
});
|
|
19407
|
+
}
|
|
19408
|
+
else {
|
|
19409
|
+
this.rowReorderSubscription?.unsubscribe();
|
|
19410
|
+
}
|
|
19411
|
+
}
|
|
19412
|
+
get rowReorderable() {
|
|
19413
|
+
return this._rowReorderable;
|
|
19414
|
+
}
|
|
19456
19415
|
/**
|
|
19457
19416
|
* If set to `true`, the user can use dedicated shortcuts to interact with the Grid.
|
|
19458
19417
|
* By default, navigation is disabled and the Grid content is accessible in the normal tab sequence.
|
|
@@ -19595,6 +19554,18 @@ class GridComponent {
|
|
|
19595
19554
|
get activeRow() {
|
|
19596
19555
|
return this.navigationService.activeRow;
|
|
19597
19556
|
}
|
|
19557
|
+
/**
|
|
19558
|
+
* Specifies if the loading indicator of the Grid will be displayed ([see example]({% slug binding_grid %})).
|
|
19559
|
+
*
|
|
19560
|
+
* @default false
|
|
19561
|
+
*/
|
|
19562
|
+
set loading(value) {
|
|
19563
|
+
this._loading = value;
|
|
19564
|
+
this.rowReorderable && this.notifyReorderContainers();
|
|
19565
|
+
}
|
|
19566
|
+
get loading() {
|
|
19567
|
+
return this._loading;
|
|
19568
|
+
}
|
|
19598
19569
|
get dir() {
|
|
19599
19570
|
return this.direction;
|
|
19600
19571
|
}
|
|
@@ -19766,6 +19737,18 @@ class GridComponent {
|
|
|
19766
19737
|
}
|
|
19767
19738
|
return this.pageSize;
|
|
19768
19739
|
}
|
|
19740
|
+
/**
|
|
19741
|
+
* @hidden
|
|
19742
|
+
*/
|
|
19743
|
+
getDefaultSelectors(type) {
|
|
19744
|
+
return this.rowReorderService.defaultSelectors[type];
|
|
19745
|
+
}
|
|
19746
|
+
/**
|
|
19747
|
+
* @hidden
|
|
19748
|
+
*/
|
|
19749
|
+
getHintSettings(type) {
|
|
19750
|
+
return this.rowReorderService[type];
|
|
19751
|
+
}
|
|
19769
19752
|
/**
|
|
19770
19753
|
* Expands the specified master row ([see example]({% slug hierarchy_grid %})).
|
|
19771
19754
|
*
|
|
@@ -19997,6 +19980,9 @@ class GridComponent {
|
|
|
19997
19980
|
if (this.focusElementSubscription) {
|
|
19998
19981
|
this.focusElementSubscription.unsubscribe();
|
|
19999
19982
|
}
|
|
19983
|
+
if (this.rowReorderSubscription) {
|
|
19984
|
+
this.rowReorderSubscription.unsubscribe();
|
|
19985
|
+
}
|
|
20000
19986
|
this.columnRangeChangeSubscription.unsubscribe();
|
|
20001
19987
|
}
|
|
20002
19988
|
/**
|
|
@@ -20495,6 +20481,12 @@ class GridComponent {
|
|
|
20495
20481
|
get isGroupExpanded() {
|
|
20496
20482
|
return this.groupsService.userCallback;
|
|
20497
20483
|
}
|
|
20484
|
+
/**
|
|
20485
|
+
* @hidden
|
|
20486
|
+
*/
|
|
20487
|
+
handleReorderEvents(ev, evType) {
|
|
20488
|
+
this.rowReorderService[evType](ev);
|
|
20489
|
+
}
|
|
20498
20490
|
/**
|
|
20499
20491
|
* @hidden
|
|
20500
20492
|
*/
|
|
@@ -20721,6 +20713,11 @@ class GridComponent {
|
|
|
20721
20713
|
this.closeCell();
|
|
20722
20714
|
this.cancelCell();
|
|
20723
20715
|
this.dataStateChange.emit(x);
|
|
20716
|
+
if (this.rowReorderable) {
|
|
20717
|
+
this.ngZone.onStable.pipe(take(1)).subscribe(() => {
|
|
20718
|
+
this.notifyReorderContainers();
|
|
20719
|
+
});
|
|
20720
|
+
}
|
|
20724
20721
|
});
|
|
20725
20722
|
}
|
|
20726
20723
|
attachEditHandlers() {
|
|
@@ -21003,9 +21000,16 @@ class GridComponent {
|
|
|
21003
21000
|
}
|
|
21004
21001
|
return previousValue.cell !== currentValue.cell;
|
|
21005
21002
|
}
|
|
21003
|
+
notifyReorderContainers() {
|
|
21004
|
+
this.dragTargetContainer?.notify();
|
|
21005
|
+
this.dropTargetContainer?.notify();
|
|
21006
|
+
}
|
|
21007
|
+
get flatData() {
|
|
21008
|
+
return isArray(this.data) ? this.data : this.data.data;
|
|
21009
|
+
}
|
|
21006
21010
|
}
|
|
21007
|
-
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 });
|
|
21008
|
-
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: [
|
|
21011
|
+
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 });
|
|
21012
|
+
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: [
|
|
21009
21013
|
BrowserSupportService,
|
|
21010
21014
|
LocalizationService,
|
|
21011
21015
|
ColumnInfoService,
|
|
@@ -21046,8 +21050,9 @@ GridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
|
|
|
21046
21050
|
ScrollRequestService,
|
|
21047
21051
|
SortService,
|
|
21048
21052
|
ContextService,
|
|
21049
|
-
SizingOptionsService
|
|
21050
|
-
|
|
21053
|
+
SizingOptionsService,
|
|
21054
|
+
RowReorderService
|
|
21055
|
+
], 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: `
|
|
21051
21056
|
<ng-container kendoGridLocalizedMessages
|
|
21052
21057
|
i18n-groupPanelEmpty="kendo.grid.groupPanelEmpty|The label visible in the Grid group panel when it is empty"
|
|
21053
21058
|
groupPanelEmpty="Drag a column header and drop it here to group by that column"
|
|
@@ -21273,6 +21278,9 @@ GridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
|
|
|
21273
21278
|
|
|
21274
21279
|
i18n-groupPanelLabel="kendo.grid.groupPanelLabel|The label for the Grid group panel toolbar"
|
|
21275
21280
|
groupPanelLabel="Group panel"
|
|
21281
|
+
|
|
21282
|
+
i18n-dragRowHandleLabel="kendo.grid.dragRowHandleLabel|The label for the Grid drag row handle"
|
|
21283
|
+
dragRowHandleLabel="Drag row"
|
|
21276
21284
|
>
|
|
21277
21285
|
</ng-container>
|
|
21278
21286
|
<kendo-grid-toolbar
|
|
@@ -21400,6 +21408,23 @@ GridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
|
|
|
21400
21408
|
</div>
|
|
21401
21409
|
</div>
|
|
21402
21410
|
<kendo-grid-list
|
|
21411
|
+
kendoDragTargetContainer
|
|
21412
|
+
kendoDropTargetContainer
|
|
21413
|
+
mode="manual"
|
|
21414
|
+
[dragDisabled]="!rowReorderable"
|
|
21415
|
+
[dropDisabled]="!rowReorderable"
|
|
21416
|
+
[dragTargetFilter]="getDefaultSelectors('dragTarget')"
|
|
21417
|
+
[dropTargetFilter]="getDefaultSelectors('dropTarget')"
|
|
21418
|
+
[dragHandle]="getDefaultSelectors('handle')"
|
|
21419
|
+
[hint]="{hintTemplate: defaultHint}"
|
|
21420
|
+
(press)="handleReorderEvents($event, 'press')"
|
|
21421
|
+
(dragStart)="handleReorderEvents($event, 'dragStart')"
|
|
21422
|
+
(drag)="handleReorderEvents($event, 'drag')"
|
|
21423
|
+
(dragEnter)="handleReorderEvents($event, 'dragEnter')"
|
|
21424
|
+
(dragLeave)="handleReorderEvents($event, 'dragLeave')"
|
|
21425
|
+
(dragEnd)="handleReorderEvents($event, 'dragEnd')"
|
|
21426
|
+
(drop)="handleReorderEvents($event, 'drop')"
|
|
21427
|
+
[dragData]="gridData"
|
|
21403
21428
|
[data]="$any(view)"
|
|
21404
21429
|
[rowHeight]="rowHeight"
|
|
21405
21430
|
[detailRowHeight]="detailRowHeight"
|
|
@@ -21565,8 +21590,18 @@ GridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
|
|
|
21565
21590
|
[navigable]="navigation.toolbarEnabled"
|
|
21566
21591
|
[attr.aria-label]="messageFor('bottomToolbarLabel')"
|
|
21567
21592
|
[attr.aria-controls]="ariaRootId"
|
|
21568
|
-
position="bottom"
|
|
21569
|
-
|
|
21593
|
+
position="bottom">
|
|
21594
|
+
</kendo-grid-toolbar>
|
|
21595
|
+
|
|
21596
|
+
<ng-template #defaultHint>
|
|
21597
|
+
<kendo-icon-wrapper
|
|
21598
|
+
[name]="getHintSettings('hintIcon')"
|
|
21599
|
+
[svgIcon]="getHintSettings('hintSVGIcon')"
|
|
21600
|
+
innerCssClass="k-drag-status">
|
|
21601
|
+
</kendo-icon-wrapper>
|
|
21602
|
+
{{hintText}}
|
|
21603
|
+
</ng-template>
|
|
21604
|
+
`, 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 });
|
|
21570
21605
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GridComponent, decorators: [{
|
|
21571
21606
|
type: Component,
|
|
21572
21607
|
args: [{
|
|
@@ -21613,7 +21648,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
21613
21648
|
ScrollRequestService,
|
|
21614
21649
|
SortService,
|
|
21615
21650
|
ContextService,
|
|
21616
|
-
SizingOptionsService
|
|
21651
|
+
SizingOptionsService,
|
|
21652
|
+
RowReorderService
|
|
21617
21653
|
],
|
|
21618
21654
|
selector: 'kendo-grid',
|
|
21619
21655
|
template: `
|
|
@@ -21842,6 +21878,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
21842
21878
|
|
|
21843
21879
|
i18n-groupPanelLabel="kendo.grid.groupPanelLabel|The label for the Grid group panel toolbar"
|
|
21844
21880
|
groupPanelLabel="Group panel"
|
|
21881
|
+
|
|
21882
|
+
i18n-dragRowHandleLabel="kendo.grid.dragRowHandleLabel|The label for the Grid drag row handle"
|
|
21883
|
+
dragRowHandleLabel="Drag row"
|
|
21845
21884
|
>
|
|
21846
21885
|
</ng-container>
|
|
21847
21886
|
<kendo-grid-toolbar
|
|
@@ -21969,6 +22008,23 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
21969
22008
|
</div>
|
|
21970
22009
|
</div>
|
|
21971
22010
|
<kendo-grid-list
|
|
22011
|
+
kendoDragTargetContainer
|
|
22012
|
+
kendoDropTargetContainer
|
|
22013
|
+
mode="manual"
|
|
22014
|
+
[dragDisabled]="!rowReorderable"
|
|
22015
|
+
[dropDisabled]="!rowReorderable"
|
|
22016
|
+
[dragTargetFilter]="getDefaultSelectors('dragTarget')"
|
|
22017
|
+
[dropTargetFilter]="getDefaultSelectors('dropTarget')"
|
|
22018
|
+
[dragHandle]="getDefaultSelectors('handle')"
|
|
22019
|
+
[hint]="{hintTemplate: defaultHint}"
|
|
22020
|
+
(press)="handleReorderEvents($event, 'press')"
|
|
22021
|
+
(dragStart)="handleReorderEvents($event, 'dragStart')"
|
|
22022
|
+
(drag)="handleReorderEvents($event, 'drag')"
|
|
22023
|
+
(dragEnter)="handleReorderEvents($event, 'dragEnter')"
|
|
22024
|
+
(dragLeave)="handleReorderEvents($event, 'dragLeave')"
|
|
22025
|
+
(dragEnd)="handleReorderEvents($event, 'dragEnd')"
|
|
22026
|
+
(drop)="handleReorderEvents($event, 'drop')"
|
|
22027
|
+
[dragData]="gridData"
|
|
21972
22028
|
[data]="$any(view)"
|
|
21973
22029
|
[rowHeight]="rowHeight"
|
|
21974
22030
|
[detailRowHeight]="detailRowHeight"
|
|
@@ -22134,10 +22190,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
22134
22190
|
[navigable]="navigation.toolbarEnabled"
|
|
22135
22191
|
[attr.aria-label]="messageFor('bottomToolbarLabel')"
|
|
22136
22192
|
[attr.aria-controls]="ariaRootId"
|
|
22137
|
-
position="bottom"
|
|
22193
|
+
position="bottom">
|
|
22194
|
+
</kendo-grid-toolbar>
|
|
22195
|
+
|
|
22196
|
+
<ng-template #defaultHint>
|
|
22197
|
+
<kendo-icon-wrapper
|
|
22198
|
+
[name]="getHintSettings('hintIcon')"
|
|
22199
|
+
[svgIcon]="getHintSettings('hintSVGIcon')"
|
|
22200
|
+
innerCssClass="k-drag-status">
|
|
22201
|
+
</kendo-icon-wrapper>
|
|
22202
|
+
{{hintText}}
|
|
22203
|
+
</ng-template>
|
|
22138
22204
|
`
|
|
22139
22205
|
}]
|
|
22140
|
-
}], 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: [{
|
|
22206
|
+
}], 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: [{
|
|
22141
22207
|
type: Input
|
|
22142
22208
|
}], pageSize: [{
|
|
22143
22209
|
type: Input
|
|
@@ -22173,6 +22239,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
22173
22239
|
type: Input
|
|
22174
22240
|
}], groupable: [{
|
|
22175
22241
|
type: Input
|
|
22242
|
+
}], rowReorderable: [{
|
|
22243
|
+
type: Input
|
|
22176
22244
|
}], navigable: [{
|
|
22177
22245
|
type: Input
|
|
22178
22246
|
}], navigatable: [{
|
|
@@ -22207,6 +22275,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
22207
22275
|
type: Output
|
|
22208
22276
|
}], selectionChange: [{
|
|
22209
22277
|
type: Output
|
|
22278
|
+
}], rowReorder: [{
|
|
22279
|
+
type: Output
|
|
22210
22280
|
}], dataStateChange: [{
|
|
22211
22281
|
type: Output
|
|
22212
22282
|
}], groupExpand: [{
|
|
@@ -22306,6 +22376,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
22306
22376
|
}], ariaRoot: [{
|
|
22307
22377
|
type: ViewChild,
|
|
22308
22378
|
args: ['ariaRoot', { static: true }]
|
|
22379
|
+
}], dragTargetContainer: [{
|
|
22380
|
+
type: ViewChild,
|
|
22381
|
+
args: [DragTargetContainerDirective]
|
|
22382
|
+
}], dropTargetContainer: [{
|
|
22383
|
+
type: ViewChild,
|
|
22384
|
+
args: [DropTargetContainerDirective]
|
|
22309
22385
|
}], isDetailExpanded: [{
|
|
22310
22386
|
type: Input
|
|
22311
22387
|
}], isGroupExpanded: [{
|
|
@@ -22316,12 +22392,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
22316
22392
|
* A directive which encapsulates the in-memory handling of data operations such as [paging]({% slug paging_grid %}),
|
|
22317
22393
|
* [sorting]({% slug sorting_grid %}), and [grouping]({% slug grouping_grid %})
|
|
22318
22394
|
* ([more information and examples]({% slug local_data_grid %}#toc-using-the-data-binding-directive)).
|
|
22395
|
+
*
|
|
22396
|
+
* @example
|
|
22397
|
+
* ```html
|
|
22398
|
+
* <kendo-grid [kendoGridBinding]="gridData" ...></kendo-grid>
|
|
22399
|
+
* ```
|
|
22319
22400
|
*/
|
|
22320
22401
|
class DataBindingDirective {
|
|
22321
|
-
constructor(grid, changeDetector, localDataChangesService) {
|
|
22402
|
+
constructor(grid, changeDetector, localDataChangesService, rowReorderService) {
|
|
22322
22403
|
this.grid = grid;
|
|
22323
22404
|
this.changeDetector = changeDetector;
|
|
22324
22405
|
this.localDataChangesService = localDataChangesService;
|
|
22406
|
+
this.rowReorderService = rowReorderService;
|
|
22325
22407
|
this.state = {
|
|
22326
22408
|
skip: 0
|
|
22327
22409
|
};
|
|
@@ -22332,12 +22414,16 @@ class DataBindingDirective {
|
|
|
22332
22414
|
}
|
|
22333
22415
|
/**
|
|
22334
22416
|
* Defines the number of records that will be skipped by the pager.
|
|
22417
|
+
* @default 0
|
|
22335
22418
|
*/
|
|
22336
22419
|
set skip(value) {
|
|
22337
22420
|
if (!isPresent(value)) {
|
|
22338
22421
|
value = 0;
|
|
22339
22422
|
}
|
|
22340
22423
|
this.grid.skip = this.state.skip = value;
|
|
22424
|
+
if (this.rowReorderService) {
|
|
22425
|
+
this.rowReorderService.skip = value;
|
|
22426
|
+
}
|
|
22341
22427
|
}
|
|
22342
22428
|
/**
|
|
22343
22429
|
* Defines the descriptors by which the data will be sorted.
|
|
@@ -22381,6 +22467,11 @@ class DataBindingDirective {
|
|
|
22381
22467
|
this.stateChangeSubscription = this.grid
|
|
22382
22468
|
.dataStateChange
|
|
22383
22469
|
.subscribe(this.onStateChange.bind(this));
|
|
22470
|
+
if (this.rowReorderService) {
|
|
22471
|
+
this.rowReorderSubscription = this.grid
|
|
22472
|
+
.rowReorder
|
|
22473
|
+
.subscribe(this.onRowReorder.bind(this));
|
|
22474
|
+
}
|
|
22384
22475
|
}
|
|
22385
22476
|
/**
|
|
22386
22477
|
* @hidden
|
|
@@ -22392,6 +22483,9 @@ class DataBindingDirective {
|
|
|
22392
22483
|
if (this.dataChangedSubscription) {
|
|
22393
22484
|
this.dataChangedSubscription.unsubscribe();
|
|
22394
22485
|
}
|
|
22486
|
+
if (this.rowReorderSubscription) {
|
|
22487
|
+
this.rowReorderSubscription.unsubscribe();
|
|
22488
|
+
}
|
|
22395
22489
|
}
|
|
22396
22490
|
/**
|
|
22397
22491
|
* @hidden
|
|
@@ -22413,6 +22507,13 @@ class DataBindingDirective {
|
|
|
22413
22507
|
this.applyState(state);
|
|
22414
22508
|
this.rebind();
|
|
22415
22509
|
}
|
|
22510
|
+
/**
|
|
22511
|
+
* @hidden
|
|
22512
|
+
*/
|
|
22513
|
+
onRowReorder(ev) {
|
|
22514
|
+
this.rowReorderService.reorderRows(ev, this.originalData);
|
|
22515
|
+
this.rebind();
|
|
22516
|
+
}
|
|
22416
22517
|
/**
|
|
22417
22518
|
* @hidden
|
|
22418
22519
|
*/
|
|
@@ -22445,14 +22546,14 @@ class DataBindingDirective {
|
|
|
22445
22546
|
this.dataChanged = false;
|
|
22446
22547
|
}
|
|
22447
22548
|
}
|
|
22448
|
-
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 });
|
|
22549
|
+
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 });
|
|
22449
22550
|
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 });
|
|
22450
22551
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DataBindingDirective, decorators: [{
|
|
22451
22552
|
type: Directive,
|
|
22452
22553
|
args: [{
|
|
22453
22554
|
selector: '[kendoGridBinding]'
|
|
22454
22555
|
}]
|
|
22455
|
-
}], ctorParameters: function () { return [{ type: GridComponent }, { type: i0.ChangeDetectorRef }, { type: LocalDataChangesService }]; }, propDecorators: { skip: [{
|
|
22556
|
+
}], ctorParameters: function () { return [{ type: GridComponent }, { type: i0.ChangeDetectorRef }, { type: LocalDataChangesService }, { type: RowReorderService }]; }, propDecorators: { skip: [{
|
|
22456
22557
|
type: Input
|
|
22457
22558
|
}], sort: [{
|
|
22458
22559
|
type: Input
|
|
@@ -22469,7 +22570,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
22469
22570
|
|
|
22470
22571
|
/**
|
|
22471
22572
|
* A directive which stores the row selection state of the Grid in memory
|
|
22472
|
-
* ([see example]({% slug selection_grid %}#toc-
|
|
22573
|
+
* ([see example]({% slug selection_grid %}#toc-toggling-the-selection-functionality)).
|
|
22473
22574
|
*/
|
|
22474
22575
|
class SelectionDirective extends Selection {
|
|
22475
22576
|
constructor(ctx, cd) {
|
|
@@ -22502,7 +22603,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
22502
22603
|
}], ctorParameters: function () { return [{ type: ContextService }, { type: i0.ChangeDetectorRef }]; } });
|
|
22503
22604
|
|
|
22504
22605
|
/**
|
|
22505
|
-
* A directive which controls the expanded state of the master detail rows.
|
|
22606
|
+
* A directive which controls the expanded state of the master detail rows. ([see example](slug:master_detail_expanded_state_grid#toc-built-in-directive))
|
|
22506
22607
|
*/
|
|
22507
22608
|
class ExpandDetailsDirective {
|
|
22508
22609
|
constructor(grid) {
|
|
@@ -24428,28 +24529,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
24428
24529
|
|
|
24429
24530
|
/**
|
|
24430
24531
|
* Represents the `cancel` command of the Grid. You can apply this directive to any `button`
|
|
24431
|
-
* element inside a [CommandColumnComponent]({% slug api_grid_commandcolumncomponent %})
|
|
24532
|
+
* element inside a [CommandColumnComponent]({% slug api_grid_commandcolumncomponent %})
|
|
24533
|
+
* ([see example](slug:editing_directives_grid#toc-command-column-directives)).
|
|
24432
24534
|
* When an associated button with the directive is clicked, the
|
|
24433
24535
|
* [cancel]({% slug api_grid_gridcomponent %}#toc-cancel) event
|
|
24434
|
-
* is triggered
|
|
24435
|
-
*
|
|
24436
|
-
* > When the row is not in the edit mode, the button with the `kendoGridCancelCommand` is automatically hidden.
|
|
24437
|
-
*
|
|
24438
|
-
* @example
|
|
24439
|
-
* ```html-no-run
|
|
24440
|
-
* <kendo-grid>
|
|
24441
|
-
* <kendo-grid-command-column title="command">
|
|
24442
|
-
* <ng-template kendoGridCellTemplate>
|
|
24443
|
-
* <button kendoGridCancelCommand>Cancel changes</button>
|
|
24444
|
-
* </ng-template>
|
|
24445
|
-
* </kendo-grid-command-column>
|
|
24446
|
-
* </kendo-grid>
|
|
24447
|
-
* ```
|
|
24536
|
+
* is triggered. When the row is not in the edit mode, the button with the `kendoGridCancelCommand` is automatically hidden.
|
|
24448
24537
|
*
|
|
24449
24538
|
* You can control the content of the button based on the state of the row.
|
|
24450
24539
|
*
|
|
24451
24540
|
* @example
|
|
24452
|
-
* ```html
|
|
24541
|
+
* ```html
|
|
24453
24542
|
* <kendo-grid>
|
|
24454
24543
|
* <kendo-grid-command-column title="command">
|
|
24455
24544
|
* <ng-template kendoGridCellTemplate let-isNew="isNew">
|
|
@@ -24537,23 +24626,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
24537
24626
|
|
|
24538
24627
|
/**
|
|
24539
24628
|
* Represents the `save` command of the Grid. You can apply this directive to any `button`
|
|
24540
|
-
* element inside a [CommandColumnComponent]({% slug api_grid_commandcolumncomponent %})
|
|
24629
|
+
* element inside a [CommandColumnComponent]({% slug api_grid_commandcolumncomponent %})
|
|
24630
|
+
* ([see example](slug:editing_directives_grid#toc-command-column-directives)).
|
|
24541
24631
|
* When an associated button with the directive is clicked, the
|
|
24542
24632
|
* [save]({% slug api_grid_gridcomponent %}#toc-save) event
|
|
24543
|
-
* is triggered
|
|
24544
|
-
*
|
|
24545
|
-
* > When the row is not in the edit mode, the button with `kendoGridSaveCommand` is automatically hidden.
|
|
24546
|
-
*
|
|
24547
|
-
* @example
|
|
24548
|
-
* ```html-no-run
|
|
24549
|
-
* <kendo-grid>
|
|
24550
|
-
* <kendo-grid-command-column title="command">
|
|
24551
|
-
* <ng-template kendoGridCellTemplate>
|
|
24552
|
-
* <button kendoGridSaveCommand>Save changes</button>
|
|
24553
|
-
* </ng-template>
|
|
24554
|
-
* </kendo-grid-command-column>
|
|
24555
|
-
* </kendo-grid>
|
|
24556
|
-
* ```
|
|
24633
|
+
* is triggered. When the row is not in the edit mode, the button with `kendoGridSaveCommand` is automatically hidden.
|
|
24557
24634
|
*
|
|
24558
24635
|
* You can control the content of the button based on the state of the row.
|
|
24559
24636
|
*
|
|
@@ -24646,15 +24723,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
24646
24723
|
|
|
24647
24724
|
/**
|
|
24648
24725
|
* Represents the `remove` command of the Grid. You can apply this directive to any `button` element
|
|
24649
|
-
* inside a [CommandColumnComponent]({% slug api_grid_commandcolumncomponent %})
|
|
24726
|
+
* inside a [CommandColumnComponent]({% slug api_grid_commandcolumncomponent %})
|
|
24727
|
+
* ([see example](slug:editing_directives_grid#toc-command-column-directives)).
|
|
24650
24728
|
* When an associated button with the directive is clicked, the
|
|
24651
|
-
* [remove
|
|
24652
|
-
* is triggered
|
|
24653
|
-
*
|
|
24654
|
-
* > When the row is in the edit mode, the button with the `kendoGridRemoveCommand` is automatically hidden.
|
|
24729
|
+
* [remove]({% slug api_grid_gridcomponent %}#toc-remove) event
|
|
24730
|
+
* is triggered.
|
|
24731
|
+
* When the row is in the edit mode, the button with the `kendoGridRemoveCommand` is automatically hidden.
|
|
24655
24732
|
*
|
|
24656
24733
|
* @example
|
|
24657
|
-
* ```html
|
|
24734
|
+
* ```html
|
|
24658
24735
|
* <kendo-grid>
|
|
24659
24736
|
* <kendo-grid-command-column title="command">
|
|
24660
24737
|
* <ng-template kendoGridCellTemplate>
|
|
@@ -24746,7 +24823,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
24746
24823
|
* ([see example]({% slug basics_editing_grid %})).
|
|
24747
24824
|
*
|
|
24748
24825
|
* @example
|
|
24749
|
-
* ```html
|
|
24826
|
+
* ```html
|
|
24750
24827
|
* <kendo-grid>
|
|
24751
24828
|
* <ng-template kendoGridToolbarTemplate>
|
|
24752
24829
|
* <button kendoGridAddCommand>Add new</button>
|
|
@@ -24811,6 +24888,52 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
24811
24888
|
args: ['class.k-grid-add-command']
|
|
24812
24889
|
}] } });
|
|
24813
24890
|
|
|
24891
|
+
/**
|
|
24892
|
+
* Represents the drag handle for reordering rows in the Grid.
|
|
24893
|
+
*/
|
|
24894
|
+
class RowReorderColumnComponent extends ColumnBase {
|
|
24895
|
+
constructor(parent, idService) {
|
|
24896
|
+
super(parent, idService);
|
|
24897
|
+
this.parent = parent;
|
|
24898
|
+
/**
|
|
24899
|
+
* @hidden
|
|
24900
|
+
*/
|
|
24901
|
+
this.isRowReorderColumn = true;
|
|
24902
|
+
}
|
|
24903
|
+
}
|
|
24904
|
+
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 });
|
|
24905
|
+
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: [
|
|
24906
|
+
{
|
|
24907
|
+
provide: ColumnBase,
|
|
24908
|
+
useExisting: forwardRef(() => RowReorderColumnComponent)
|
|
24909
|
+
}
|
|
24910
|
+
], usesInheritance: true, ngImport: i0, template: ``, isInline: true });
|
|
24911
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: RowReorderColumnComponent, decorators: [{
|
|
24912
|
+
type: Component,
|
|
24913
|
+
args: [{
|
|
24914
|
+
providers: [
|
|
24915
|
+
{
|
|
24916
|
+
provide: ColumnBase,
|
|
24917
|
+
useExisting: forwardRef(() => RowReorderColumnComponent)
|
|
24918
|
+
}
|
|
24919
|
+
],
|
|
24920
|
+
selector: 'kendo-grid-rowreorder-column',
|
|
24921
|
+
template: ``
|
|
24922
|
+
}]
|
|
24923
|
+
}], ctorParameters: function () { return [{ type: ColumnBase, decorators: [{
|
|
24924
|
+
type: SkipSelf
|
|
24925
|
+
}, {
|
|
24926
|
+
type: Host
|
|
24927
|
+
}, {
|
|
24928
|
+
type: Optional
|
|
24929
|
+
}] }, { type: IdService, decorators: [{
|
|
24930
|
+
type: Optional
|
|
24931
|
+
}] }]; }, propDecorators: { dragHandleIcon: [{
|
|
24932
|
+
type: Input
|
|
24933
|
+
}], dragHandleSVGIcon: [{
|
|
24934
|
+
type: Input
|
|
24935
|
+
}] } });
|
|
24936
|
+
|
|
24814
24937
|
const exported = [
|
|
24815
24938
|
CommandColumnComponent,
|
|
24816
24939
|
CheckboxColumnComponent,
|
|
@@ -24826,7 +24949,8 @@ const exported = [
|
|
|
24826
24949
|
RemoveCommandDirective,
|
|
24827
24950
|
AddCommandDirective,
|
|
24828
24951
|
CellLoadingTemplateDirective,
|
|
24829
|
-
LoadingTemplateDirective
|
|
24952
|
+
LoadingTemplateDirective,
|
|
24953
|
+
RowReorderColumnComponent
|
|
24830
24954
|
];
|
|
24831
24955
|
const importedModules$1 = [
|
|
24832
24956
|
CommonModule,
|
|
@@ -24856,7 +24980,8 @@ class BodyModule {
|
|
|
24856
24980
|
RemoveCommandDirective,
|
|
24857
24981
|
AddCommandDirective,
|
|
24858
24982
|
CellLoadingTemplateDirective,
|
|
24859
|
-
LoadingTemplateDirective
|
|
24983
|
+
LoadingTemplateDirective,
|
|
24984
|
+
RowReorderColumnComponent
|
|
24860
24985
|
];
|
|
24861
24986
|
}
|
|
24862
24987
|
}
|
|
@@ -24875,7 +25000,8 @@ BodyModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13
|
|
|
24875
25000
|
RemoveCommandDirective,
|
|
24876
25001
|
AddCommandDirective,
|
|
24877
25002
|
CellLoadingTemplateDirective,
|
|
24878
|
-
LoadingTemplateDirective
|
|
25003
|
+
LoadingTemplateDirective,
|
|
25004
|
+
RowReorderColumnComponent], imports: [CommonModule,
|
|
24879
25005
|
ReactiveFormsModule,
|
|
24880
25006
|
FormsModule,
|
|
24881
25007
|
SharedModule,
|
|
@@ -24896,7 +25022,8 @@ BodyModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13
|
|
|
24896
25022
|
RemoveCommandDirective,
|
|
24897
25023
|
AddCommandDirective,
|
|
24898
25024
|
CellLoadingTemplateDirective,
|
|
24899
|
-
LoadingTemplateDirective
|
|
25025
|
+
LoadingTemplateDirective,
|
|
25026
|
+
RowReorderColumnComponent] });
|
|
24900
25027
|
BodyModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: BodyModule, imports: [[...importedModules$1]] });
|
|
24901
25028
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: BodyModule, decorators: [{
|
|
24902
25029
|
type: NgModule,
|
|
@@ -25146,7 +25273,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
25146
25273
|
|
|
25147
25274
|
/**
|
|
25148
25275
|
* A directive which encapsulates the editing operations of the Grid when using
|
|
25149
|
-
* the Template-Driven Angular Forms ([see example]({% slug editing_directives_grid %}#toc-
|
|
25276
|
+
* the Template-Driven Angular Forms ([see example]({% slug editing_directives_grid %}#toc-template-editing-directive)).
|
|
25150
25277
|
*/
|
|
25151
25278
|
class TemplateEditingDirective extends RowEditingDirectiveBase {
|
|
25152
25279
|
constructor(grid, localDataChangesService) {
|
|
@@ -25244,7 +25371,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
25244
25371
|
|
|
25245
25372
|
/**
|
|
25246
25373
|
* A directive which encapsulates the editing operations of the Grid when using the in-cell
|
|
25247
|
-
* editing with Reactive Forms ([see example]({% slug editing_directives_grid %}#toc-
|
|
25374
|
+
* editing with Reactive Forms ([see example]({% slug editing_directives_grid %}#toc-in-cell-editing)).
|
|
25248
25375
|
*/
|
|
25249
25376
|
class InCellEditingDirective extends EditingDirectiveBase {
|
|
25250
25377
|
constructor(grid, localDataChangesService, cdr) {
|
|
@@ -25676,29 +25803,19 @@ const declarations$2 = [
|
|
|
25676
25803
|
*
|
|
25677
25804
|
* @example
|
|
25678
25805
|
*
|
|
25679
|
-
* ```ts
|
|
25680
|
-
* // Import the Grid module
|
|
25681
|
-
* import { GridModule } from '@progress/kendo-angular-grid';
|
|
25682
|
-
*
|
|
25683
|
-
* // The browser platform with a compiler
|
|
25684
|
-
* import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
|
|
25685
|
-
*
|
|
25806
|
+
* ```ts
|
|
25686
25807
|
* import { NgModule } from '@angular/core';
|
|
25687
|
-
*
|
|
25688
|
-
*
|
|
25808
|
+
* import { GridModule } from '@progress/kendo-angular-grid';
|
|
25809
|
+
* import { BrowserModule } from "@angular/platform-browser";
|
|
25689
25810
|
* import { AppComponent } from './app.component';
|
|
25690
25811
|
*
|
|
25691
|
-
*
|
|
25692
|
-
*
|
|
25693
|
-
*
|
|
25694
|
-
* imports: [BrowserModule, GridModule], // import Grid module
|
|
25812
|
+
* @NgModule({
|
|
25813
|
+
* declarations: [AppComponent],
|
|
25814
|
+
* imports: [BrowserModule, GridModule],
|
|
25695
25815
|
* bootstrap: [AppComponent]
|
|
25696
25816
|
* })
|
|
25697
25817
|
* export class AppModule {}
|
|
25698
25818
|
*
|
|
25699
|
-
* // Compile and launch the module
|
|
25700
|
-
* platformBrowserDynamic().bootstrapModule(AppModule);
|
|
25701
|
-
*
|
|
25702
25819
|
* ```
|
|
25703
25820
|
*/
|
|
25704
25821
|
class GridModule {
|
|
@@ -25730,7 +25847,8 @@ GridModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13
|
|
|
25730
25847
|
RowFilterModule,
|
|
25731
25848
|
FilterMenuModule,
|
|
25732
25849
|
ResizeSensorModule,
|
|
25733
|
-
ColumnMenuModule
|
|
25850
|
+
ColumnMenuModule,
|
|
25851
|
+
DragAndDropModule$1], exports: [GridComponent,
|
|
25734
25852
|
ToolbarTemplateDirective,
|
|
25735
25853
|
ToolbarComponent,
|
|
25736
25854
|
GridSpacerComponent,
|
|
@@ -25743,7 +25861,7 @@ GridModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13
|
|
|
25743
25861
|
InCellEditingDirective,
|
|
25744
25862
|
ExpandDetailsDirective,
|
|
25745
25863
|
ExpandGroupDirective,
|
|
25746
|
-
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] });
|
|
25864
|
+
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] });
|
|
25747
25865
|
GridModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GridModule, imports: [[
|
|
25748
25866
|
CommonModule,
|
|
25749
25867
|
GroupModule,
|
|
@@ -25755,7 +25873,8 @@ GridModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13
|
|
|
25755
25873
|
RowFilterModule,
|
|
25756
25874
|
FilterMenuModule,
|
|
25757
25875
|
ResizeSensorModule,
|
|
25758
|
-
ColumnMenuModule
|
|
25876
|
+
ColumnMenuModule,
|
|
25877
|
+
DragAndDropModule$1
|
|
25759
25878
|
]] });
|
|
25760
25879
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GridModule, decorators: [{
|
|
25761
25880
|
type: NgModule,
|
|
@@ -25773,7 +25892,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
25773
25892
|
RowFilterModule,
|
|
25774
25893
|
FilterMenuModule,
|
|
25775
25894
|
ResizeSensorModule,
|
|
25776
|
-
ColumnMenuModule
|
|
25895
|
+
ColumnMenuModule,
|
|
25896
|
+
DragAndDropModule$1
|
|
25777
25897
|
]
|
|
25778
25898
|
}]
|
|
25779
25899
|
}] });
|
|
@@ -25792,50 +25912,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
25792
25912
|
|
|
25793
25913
|
/**
|
|
25794
25914
|
* Represents the PDF page template of the Grid that helps to customize the PDF pages. To define a page template,
|
|
25795
|
-
* nest an `<ng-template>` tag with the `kendoGridPDFTemplate` directive inside `<kendo-grid-pdf
|
|
25915
|
+
* nest an `<ng-template>` tag with the `kendoGridPDFTemplate` directive inside `<kendo-grid-pdf>` tag.
|
|
25796
25916
|
*
|
|
25797
25917
|
* The template context provides the following fields:
|
|
25798
25918
|
* - `pageNumber`—Defines PDF page number.
|
|
25799
25919
|
* - `totalPages`—Defines the total number of PDF pages.
|
|
25800
25920
|
*
|
|
25801
25921
|
* @example
|
|
25802
|
-
* ```
|
|
25803
|
-
*
|
|
25804
|
-
*
|
|
25805
|
-
*
|
|
25806
|
-
* template
|
|
25807
|
-
*
|
|
25808
|
-
*
|
|
25809
|
-
*
|
|
25810
|
-
*
|
|
25811
|
-
* <kendo-grid-column field="ProductName">
|
|
25812
|
-
* </kendo-grid-column>
|
|
25813
|
-
* <kendo-grid-column field="UnitPrice">
|
|
25814
|
-
* </kendo-grid-column>
|
|
25815
|
-
* <kendo-grid-pdf fileName="Products.pdf" paperSize="A4" [margin]="{ top: '1cm', left: '1cm', right: '1cm', bottom: '1cm' }">
|
|
25816
|
-
* <ng-template kendoGridPDFTemplate let-pageNum="pageNum" let-totalPages="totalPages">
|
|
25817
|
-
* <div style="position: absolute;top: 5px; left: 5px;">
|
|
25818
|
-
* Page {{ pageNum }} of {{ totalPages }}
|
|
25819
|
-
* </div>
|
|
25820
|
-
* </ng-template>
|
|
25821
|
-
* </kendo-grid-pdf>
|
|
25822
|
-
* </kendo-grid>
|
|
25823
|
-
* `
|
|
25824
|
-
* })
|
|
25825
|
-
*
|
|
25826
|
-
* class AppComponent {
|
|
25827
|
-
* public gridData = [{
|
|
25828
|
-
* "ProductID": 1,
|
|
25829
|
-
* "ProductName": "Chai",
|
|
25830
|
-
* "UnitPrice": 18.0000
|
|
25831
|
-
* }, {
|
|
25832
|
-
* "ProductID": 2,
|
|
25833
|
-
* "ProductName": "Chang",
|
|
25834
|
-
* "UnitPrice": 19.0000
|
|
25835
|
-
* }
|
|
25836
|
-
* ];
|
|
25837
|
-
* }
|
|
25838
|
-
*
|
|
25922
|
+
* ```html
|
|
25923
|
+
* <kendo-grid [data]="gridData">
|
|
25924
|
+
* ...
|
|
25925
|
+
* <kendo-grid-pdf fileName="Products.pdf" paperSize="A4">
|
|
25926
|
+
* <ng-template kendoGridPDFTemplate let-pageNumber="pageNumber" let-totalPages="totalPages">
|
|
25927
|
+
* Page {{ pageNumber }} of {{ totalPages }}
|
|
25928
|
+
* </ng-template>
|
|
25929
|
+
* </kendo-grid-pdf>
|
|
25930
|
+
* </kendo-grid>
|
|
25839
25931
|
* ```
|
|
25840
25932
|
*/
|
|
25841
25933
|
class PDFTemplateDirective extends PDFExportTemplateDirective {
|
|
@@ -26341,28 +26433,19 @@ const declarations$1 = [
|
|
|
26341
26433
|
*
|
|
26342
26434
|
* @example
|
|
26343
26435
|
*
|
|
26344
|
-
* ```ts
|
|
26345
|
-
* // Import the Grid and PDF modules
|
|
26346
|
-
* import { GridModule, PDFModule } from '@progress/kendo-angular-grid';
|
|
26347
|
-
*
|
|
26348
|
-
* // The browser platform with a compiler
|
|
26349
|
-
* import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
|
|
26350
|
-
*
|
|
26436
|
+
* ```ts
|
|
26351
26437
|
* import { NgModule } from '@angular/core';
|
|
26352
|
-
*
|
|
26353
|
-
*
|
|
26438
|
+
* import { BrowserModule } from "@angular/platform-browser";
|
|
26439
|
+
* import { GridModule, PDFModule } from '@progress/kendo-angular-grid';
|
|
26354
26440
|
* import { AppComponent } from './app.component';
|
|
26355
26441
|
*
|
|
26356
|
-
*
|
|
26357
|
-
*
|
|
26358
|
-
*
|
|
26359
|
-
* imports: [BrowserModule, GridModule, PDFModule], // import Grid and PDF modules
|
|
26442
|
+
* @NgModule({
|
|
26443
|
+
* declarations: [AppComponent],
|
|
26444
|
+
* imports: [BrowserModule, GridModule, PDFModule],
|
|
26360
26445
|
* bootstrap: [AppComponent]
|
|
26361
26446
|
* })
|
|
26362
|
-
* export class AppModule {}
|
|
26363
26447
|
*
|
|
26364
|
-
*
|
|
26365
|
-
* platformBrowserDynamic().bootstrapModule(AppModule);
|
|
26448
|
+
* export class AppModule {}
|
|
26366
26449
|
*
|
|
26367
26450
|
* ```
|
|
26368
26451
|
*/
|
|
@@ -26541,13 +26624,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
26541
26624
|
/**
|
|
26542
26625
|
* Represents the `export-to-Excel` command of the Grid. You can apply this
|
|
26543
26626
|
* directive to any `button` element inside a
|
|
26544
|
-
* [ToolbarTemplate]({% slug
|
|
26627
|
+
* [ToolbarTemplate]({% slug api_grid_toolbartemplatedirective %}).
|
|
26545
26628
|
* When the user clicks a button associated with the directive, the
|
|
26546
26629
|
* [excelExport]({% slug api_grid_gridcomponent %}#toc-excelexport) event
|
|
26547
26630
|
* fires ([see example]({% slug excelexport_grid %})).
|
|
26548
26631
|
*
|
|
26549
26632
|
* @example
|
|
26550
|
-
* ```html
|
|
26633
|
+
* ```html
|
|
26551
26634
|
* <kendo-grid>
|
|
26552
26635
|
* <ng-template kendoGridToolbarTemplate>
|
|
26553
26636
|
* <button kendoGridExcelCommand>Export to PDF</button>
|
|
@@ -26622,29 +26705,19 @@ const declarations = [ExcelComponent, ExcelCommandDirective];
|
|
|
26622
26705
|
*
|
|
26623
26706
|
* @example
|
|
26624
26707
|
*
|
|
26625
|
-
* ```ts
|
|
26626
|
-
* // Import the Grid and Excel modules
|
|
26627
|
-
* import { GridModule, ExcelModule } from '@progress/kendo-angular-grid';
|
|
26628
|
-
*
|
|
26629
|
-
* // The browser platform with a compiler
|
|
26630
|
-
* import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
|
|
26631
|
-
*
|
|
26708
|
+
* ```ts
|
|
26632
26709
|
* import { NgModule } from '@angular/core';
|
|
26633
|
-
*
|
|
26634
|
-
*
|
|
26710
|
+
* import { BrowserModule } from "@angular/platform-browser";
|
|
26711
|
+
* import { GridModule, ExcelModule } from '@progress/kendo-angular-grid';
|
|
26635
26712
|
* import { AppComponent } from './app.component';
|
|
26636
26713
|
*
|
|
26637
|
-
* // Define the app module
|
|
26638
26714
|
* _@NgModule({
|
|
26639
|
-
* declarations: [AppComponent],
|
|
26640
|
-
* imports: [BrowserModule, GridModule, ExcelModule],
|
|
26715
|
+
* declarations: [AppComponent],
|
|
26716
|
+
* imports: [BrowserModule, GridModule, ExcelModule],
|
|
26641
26717
|
* bootstrap: [AppComponent]
|
|
26642
26718
|
* })
|
|
26643
26719
|
* export class AppModule {}
|
|
26644
26720
|
*
|
|
26645
|
-
* // Compile and launch the module
|
|
26646
|
-
* platformBrowserDynamic().bootstrapModule(AppModule);
|
|
26647
|
-
*
|
|
26648
26721
|
* ```
|
|
26649
26722
|
*/
|
|
26650
26723
|
class ExcelModule {
|
|
@@ -26665,5 +26738,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
26665
26738
|
* Generated bundle index. Do not edit.
|
|
26666
26739
|
*/
|
|
26667
26740
|
|
|
26668
|
-
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 };
|
|
26741
|
+
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 };
|
|
26669
26742
|
|