@progress/kendo-angular-grid 12.0.0-develop.7 → 12.0.0-develop.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/column-menu/column-menu-item-content-template.directive.d.ts +13 -24
- package/column-menu/column-menu-template.directive.d.ts +14 -28
- package/columns/column-base.d.ts +4 -0
- package/columns/reorder-column.component.d.ts +31 -0
- package/databinding.directive.d.ts +15 -1
- package/editing/add-command.directive.d.ts +1 -1
- package/editing/cancel-command.directive.d.ts +4 -16
- package/editing/edit-template.directive.d.ts +2 -3
- package/editing/remove-command.directive.d.ts +6 -6
- package/editing/save-command.directive.d.ts +3 -15
- package/editing-directives/in-cell-editing.directive.d.ts +1 -1
- package/editing-directives/template-editing.directive.d.ts +1 -1
- package/esm2020/column-menu/column-menu-item-content-template.directive.mjs +13 -24
- package/esm2020/column-menu/column-menu-template.directive.mjs +14 -28
- package/esm2020/columns/column-base.mjs +4 -0
- package/esm2020/columns/reorder-column.component.mjs +55 -0
- package/esm2020/databinding.directive.mjs +30 -3
- package/esm2020/editing/add-command.directive.mjs +1 -1
- package/esm2020/editing/cancel-command.directive.mjs +4 -16
- package/esm2020/editing/edit-template.directive.mjs +2 -3
- package/esm2020/editing/remove-command.directive.mjs +6 -6
- package/esm2020/editing/save-command.directive.mjs +3 -15
- package/esm2020/editing-directives/in-cell-editing.directive.mjs +1 -1
- package/esm2020/editing-directives/template-editing.directive.mjs +1 -1
- package/esm2020/excel/excel-command.directive.mjs +2 -2
- package/esm2020/filtering/cell/autocomplete-filter-cell.component.mjs +1 -1
- package/esm2020/filtering/cell/boolean-filter-cell.component.mjs +1 -1
- package/esm2020/filtering/cell/filter-cell-operators.component.mjs +1 -1
- package/esm2020/filtering/menu/date-filter-menu.component.mjs +1 -1
- package/esm2020/filtering/menu/filter-menu-input-wrapper.component.mjs +1 -1
- package/esm2020/filtering/menu/numeric-filter-menu.component.mjs +1 -1
- package/esm2020/filtering/menu/string-filter-menu.component.mjs +1 -1
- package/esm2020/grid.component.mjs +195 -38
- package/esm2020/grid.module.mjs +70 -65
- package/esm2020/grouping/group-footer-template.directive.mjs +9 -35
- package/esm2020/grouping/group-header-column-template.directive.mjs +2 -2
- package/esm2020/grouping/group-header-template.directive.mjs +9 -37
- package/esm2020/index.mjs +1 -0
- package/esm2020/localization/messages.mjs +3 -1
- package/esm2020/navigation/focusable.directive.mjs +10 -41
- package/esm2020/package-metadata.mjs +2 -2
- package/esm2020/pager/pager-page-sizes.component.mjs +1 -1
- package/esm2020/pager/pager-template.directive.mjs +13 -46
- package/esm2020/pdf/pdf-template.directive.mjs +10 -38
- package/esm2020/rendering/body.module.mjs +9 -4
- package/esm2020/rendering/cell-loading.template.directive.mjs +11 -8
- package/esm2020/rendering/cell-template.directive.mjs +11 -35
- package/esm2020/rendering/cell.component.mjs +43 -10
- package/esm2020/rendering/details/detail-template.directive.mjs +10 -58
- package/esm2020/rendering/details-expand.directive.mjs +1 -1
- package/esm2020/rendering/footer/footer-template.directive.mjs +8 -35
- package/esm2020/rendering/header/header-template.directive.mjs +9 -36
- package/esm2020/rendering/loading-template.directive.mjs +1 -1
- package/esm2020/rendering/no-records-template.directive.mjs +11 -58
- package/esm2020/rendering/toolbar/toolbar-template.directive.mjs +10 -56
- package/esm2020/row-reordering/row-reorder.service.mjs +232 -0
- package/esm2020/row-reordering/types.mjs +5 -0
- package/esm2020/row-reordering/utils.mjs +87 -0
- package/esm2020/selection/selectall-checkbox.directive.mjs +12 -1
- package/esm2020/selection/selection-checkbox.directive.mjs +11 -44
- package/esm2020/selection/selection-default.mjs +1 -0
- package/esm2020/selection/selection.directive.mjs +1 -1
- package/excel/excel-command.directive.d.ts +2 -2
- package/fesm2015/progress-kendo-angular-grid.mjs +838 -690
- package/fesm2020/progress-kendo-angular-grid.mjs +834 -690
- package/grid.component.d.ts +46 -4
- package/grid.module.d.ts +87 -85
- package/grouping/group-footer-template.directive.d.ts +9 -35
- package/grouping/group-header-column-template.directive.d.ts +2 -2
- package/grouping/group-header-template.directive.d.ts +9 -37
- package/index.d.ts +2 -0
- package/localization/messages.d.ts +5 -1
- package/navigation/focusable.directive.d.ts +10 -41
- package/package.json +15 -14
- package/pager/pager-template.directive.d.ts +13 -46
- package/pdf/pdf-template.directive.d.ts +10 -38
- package/rendering/body.module.d.ts +9 -8
- package/rendering/cell-loading.template.directive.d.ts +11 -8
- package/rendering/cell-template.directive.d.ts +11 -35
- package/rendering/cell.component.d.ts +5 -0
- package/rendering/details/detail-template.directive.d.ts +10 -58
- package/rendering/details-expand.directive.d.ts +1 -1
- package/rendering/footer/footer-template.directive.d.ts +8 -35
- package/rendering/header/header-template.directive.d.ts +9 -36
- package/rendering/loading-template.directive.d.ts +1 -1
- package/rendering/no-records-template.directive.d.ts +11 -58
- package/rendering/toolbar/toolbar-template.directive.d.ts +10 -56
- package/row-reordering/row-reorder.service.d.ts +56 -0
- package/row-reordering/types.d.ts +40 -0
- package/row-reordering/utils.d.ts +78 -0
- package/schematics/ngAdd/index.js +2 -2
- package/selection/selectall-checkbox.directive.d.ts +12 -1
- package/selection/selection-checkbox.directive.d.ts +11 -44
- package/selection/selection-default.d.ts +1 -0
- package/selection/selection.directive.d.ts +1 -1
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
import * as i0 from '@angular/core';
|
|
6
6
|
import { InjectionToken, Component, HostBinding, Input, EventEmitter, Injectable, Optional, Inject, Directive, SkipSelf, QueryList, isDevMode, ContentChildren, ContentChild, forwardRef, Host, Output, SecurityContext, HostListener, ChangeDetectionStrategy, ViewChild, ViewChildren, Self, TemplateRef, Pipe, ViewEncapsulation, NgModule } from '@angular/core';
|
|
7
7
|
import * as i1$1 from '@progress/kendo-angular-common';
|
|
8
|
-
import { isDocumentAvailable, Keys, closest as closest$1, isFocusable as isFocusable$1, anyChanged, isChanged as isChanged$1, KendoInput, guid, hasObservers, ResizeSensorComponent, DraggableModule, EventsModule, ResizeSensorModule } from '@progress/kendo-angular-common';
|
|
8
|
+
import { isDocumentAvailable, Keys, isPresent as isPresent$1, closest as closest$1, isFocusable as isFocusable$1, anyChanged, isChanged as isChanged$1, KendoInput, guid, hasObservers, ResizeSensorComponent, DraggableModule, EventsModule, ResizeSensorModule } from '@progress/kendo-angular-common';
|
|
9
9
|
import { merge, of, Subject, from, Subscription, interval, fromEvent, zip as zip$1, BehaviorSubject, Observable } from 'rxjs';
|
|
10
10
|
import * 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 {
|
|
@@ -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-develop.
|
|
2829
|
+
publishDate: 1681884669,
|
|
2830
|
+
version: '12.0.0-develop.9',
|
|
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.
|
|
@@ -4355,64 +4183,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
4355
4183
|
* To define the detail template, nest an `<ng-template>` tag with the `kendoGridDetailTemplate` directive inside a `<kendo-grid>` tag.
|
|
4356
4184
|
*
|
|
4357
4185
|
* @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
|
-
*
|
|
4186
|
+
* ```html
|
|
4187
|
+
* <kendo-grid [data]="data" selectable="true" style="height: 160px">
|
|
4188
|
+
* <kendo-grid-column field="ProductName"></kendo-grid-column>
|
|
4189
|
+
* <ng-template kendoGridDetailTemplate let-dataItem>
|
|
4190
|
+
* <div *ngIf="dataItem.Category">
|
|
4191
|
+
* <header>{{dataItem.Category?.CategoryName}}</header>
|
|
4192
|
+
* span>{{dataItem.Category?.Description}}</span>
|
|
4193
|
+
* </div>
|
|
4194
|
+
* </ng-template>
|
|
4195
|
+
* </kendo-grid>
|
|
4416
4196
|
* ```
|
|
4417
4197
|
*
|
|
4418
4198
|
*/
|
|
@@ -4972,6 +4752,7 @@ class Selection {
|
|
|
4972
4752
|
this.cd = cd;
|
|
4973
4753
|
/**
|
|
4974
4754
|
* Defines the collection that will store the selected item keys.
|
|
4755
|
+
* @default []
|
|
4975
4756
|
*/
|
|
4976
4757
|
this.selectedKeys = [];
|
|
4977
4758
|
/**
|
|
@@ -5359,66 +5140,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
5359
5140
|
|
|
5360
5141
|
/**
|
|
5361
5142
|
* 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.
|
|
5143
|
+
* appearance of the item that is displayed when no data is present.
|
|
5144
|
+
* To define the no-records template, nest an `<ng-template>` tag with the `kendoGridNoRecordsTemplate`
|
|
5145
|
+
* directive inside `<kendo-grid>` [see example](slug:norecordtemplate_grid).
|
|
5366
5146
|
*
|
|
5367
5147
|
* @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
|
-
*
|
|
5148
|
+
* ```html
|
|
5149
|
+
* <kendo-grid [data]="data">
|
|
5150
|
+
* <ng-template kendoGridNoRecordsTemplate>
|
|
5151
|
+
* There are not products. <a href="#" (click)="refresh()">Click here to refresh</a>.
|
|
5152
|
+
* </ng-template>
|
|
5153
|
+
* <kendo-grid-column field="ProductID"></kendo-grid-column>
|
|
5154
|
+
* <kendo-grid-column field="ProductName"></kendo-grid-column>
|
|
5155
|
+
* </kendo-grid>
|
|
5422
5156
|
* ```
|
|
5423
5157
|
*/
|
|
5424
5158
|
class NoRecordsTemplateDirective {
|
|
@@ -5529,7 +5263,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
5529
5263
|
|
|
5530
5264
|
/**
|
|
5531
5265
|
* 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
|
|
5266
|
+
* template, nest an `<ng-template>` tag with the `kendoPagerTemplate` directive inside `<kendo-grid>` tag
|
|
5267
|
+
* [see example](slug:pager_template_grid).
|
|
5533
5268
|
*
|
|
5534
5269
|
* The template context provides the following fields:
|
|
5535
5270
|
* * `currentPage`—The index of the displayed page.
|
|
@@ -5537,53 +5272,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
5537
5272
|
* * `skip`—The current skip value.
|
|
5538
5273
|
* * `total`—The total number of records.
|
|
5539
5274
|
* * `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
5275
|
*
|
|
5542
5276
|
* @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
|
-
*
|
|
5277
|
+
* ```html
|
|
5278
|
+
* <kendo-grid ... [pageable]="true">
|
|
5279
|
+
* <ng-template kendoPagerTemplate let-totalPages="totalPages" let-currentPage="currentPage">
|
|
5280
|
+
* <kendo-pager-prev-buttons></kendo-pager-prev-buttons>
|
|
5281
|
+
* <kendo-pager-next-buttons></kendo-pager-next-buttons>
|
|
5282
|
+
* <kendo-pager-info></kendo-pager-info>
|
|
5283
|
+
* Current page: {{currentPage}}
|
|
5284
|
+
* </ng-template>
|
|
5285
|
+
* <kendo-grid-column field="ProductID"></kendo-grid-column>
|
|
5286
|
+
* <kendo-grid-column field="ProductName"></kendo-grid-column>
|
|
5287
|
+
* </kendo-grid>
|
|
5587
5288
|
* ```
|
|
5588
5289
|
*/
|
|
5589
5290
|
class PagerTemplateDirective {
|
|
@@ -5727,56 +5428,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
5727
5428
|
* - `position`—The position at which the toolbar template is rendered. The possible values are "top" and "bottom".
|
|
5728
5429
|
*
|
|
5729
5430
|
* @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
|
-
*
|
|
5431
|
+
* ```html
|
|
5432
|
+
* <kendo-grid [data]="gridData" style="height: 200px">
|
|
5433
|
+
* <ng-template kendoGridToolbarTemplate [position]="position" let-position="position">
|
|
5434
|
+
* <button (click)="onClick()">Custom action</button>
|
|
5435
|
+
* </ng-template>
|
|
5436
|
+
* <kendo-grid-column field="ProductName">
|
|
5437
|
+
* </kendo-grid-column>
|
|
5438
|
+
* </kendo-grid>
|
|
5780
5439
|
* ```
|
|
5781
5440
|
*/
|
|
5782
5441
|
class ToolbarTemplateDirective {
|
|
@@ -5785,13 +5444,9 @@ class ToolbarTemplateDirective {
|
|
|
5785
5444
|
this._position = 'top';
|
|
5786
5445
|
}
|
|
5787
5446
|
/**
|
|
5788
|
-
* The position of the toolbar ([see example]({% slug toolbartemplate_grid %})).
|
|
5447
|
+
* The position of the toolbar ([see example]({% slug toolbartemplate_grid %}#toc-setting-the-toolbar-position)).
|
|
5789
5448
|
*
|
|
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.
|
|
5449
|
+
* @default 'top'
|
|
5795
5450
|
*/
|
|
5796
5451
|
set position(position) {
|
|
5797
5452
|
this._position = position;
|
|
@@ -6192,17 +5847,17 @@ const append = (element) => {
|
|
|
6192
5847
|
/**
|
|
6193
5848
|
* @hidden
|
|
6194
5849
|
*/
|
|
6195
|
-
const getDocument = element => element.ownerDocument.documentElement;
|
|
5850
|
+
const getDocument$1 = element => element.ownerDocument.documentElement;
|
|
6196
5851
|
/**
|
|
6197
5852
|
* @hidden
|
|
6198
5853
|
*/
|
|
6199
|
-
const getWindow = element => element.ownerDocument.defaultView;
|
|
5854
|
+
const getWindow$1 = element => element.ownerDocument.defaultView;
|
|
6200
5855
|
/**
|
|
6201
5856
|
* @hidden
|
|
6202
5857
|
*/
|
|
6203
5858
|
const offset = element => {
|
|
6204
|
-
const { clientTop, clientLeft } = getDocument(element);
|
|
6205
|
-
const { pageYOffset, pageXOffset } = getWindow(element);
|
|
5859
|
+
const { clientTop, clientLeft } = getDocument$1(element);
|
|
5860
|
+
const { pageYOffset, pageXOffset } = getWindow$1(element);
|
|
6206
5861
|
const { top, left } = element.getBoundingClientRect();
|
|
6207
5862
|
return {
|
|
6208
5863
|
top: top + pageYOffset - clientTop,
|
|
@@ -6617,17 +6272,20 @@ class ColumnStickyChangeEvent {
|
|
|
6617
6272
|
/**
|
|
6618
6273
|
* Represents the virtual scrolling cell template of the Grid while loading new data. Provides an option to customize the
|
|
6619
6274
|
* 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>`
|
|
6275
|
+
* nest an `<ng-template>` tag with the `kendoGridCellLoadingTemplate` directive inside `<kendo-grid>` tag [see example]({% slug virtualscrolling_grid %}#toc-custom-loading-skeleton).
|
|
6621
6276
|
*
|
|
6622
|
-
*
|
|
6277
|
+
*
|
|
6278
|
+
* The template context is set to the current column and the following additional field is passed:
|
|
6279
|
+
*
|
|
6280
|
+
* - `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
6281
|
*
|
|
6624
6282
|
* @example
|
|
6625
|
-
* ```
|
|
6626
|
-
*
|
|
6627
|
-
*
|
|
6628
|
-
*
|
|
6629
|
-
*
|
|
6630
|
-
*
|
|
6283
|
+
* ```html
|
|
6284
|
+
* <kendo-grid ... scrollable="virtual" [rowHeight]="36" [height]="450">
|
|
6285
|
+
* <ng-template kendoGridCellLoadingTemplate let-column>
|
|
6286
|
+
* ...
|
|
6287
|
+
* </ng-template>
|
|
6288
|
+
* </kendo-grid>
|
|
6631
6289
|
* ```
|
|
6632
6290
|
*/
|
|
6633
6291
|
class CellLoadingTemplateDirective {
|
|
@@ -6649,7 +6307,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
6649
6307
|
/**
|
|
6650
6308
|
* Creates a loading template that overrides the default loading indicator of the Grid Component.
|
|
6651
6309
|
* To define a loading template, nest an `<ng-template>` tag with the `kendoGridLoadingTemplate` directive inside the `<kendo-grid>` tag
|
|
6652
|
-
* [see example](
|
|
6310
|
+
* ([see example](slug:loadingtemplate_grid)).
|
|
6653
6311
|
*/
|
|
6654
6312
|
class LoadingTemplateDirective {
|
|
6655
6313
|
constructor(templateRef) {
|
|
@@ -6670,11 +6328,319 @@ class SizingOptionsService {
|
|
|
6670
6328
|
this.changes = new Subject();
|
|
6671
6329
|
}
|
|
6672
6330
|
}
|
|
6673
|
-
SizingOptionsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SizingOptionsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
6674
|
-
SizingOptionsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SizingOptionsService });
|
|
6675
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SizingOptionsService, decorators: [{
|
|
6331
|
+
SizingOptionsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SizingOptionsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
6332
|
+
SizingOptionsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SizingOptionsService });
|
|
6333
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SizingOptionsService, decorators: [{
|
|
6334
|
+
type: Injectable
|
|
6335
|
+
}] });
|
|
6336
|
+
|
|
6337
|
+
/**
|
|
6338
|
+
* @hidden
|
|
6339
|
+
*/
|
|
6340
|
+
const isNextSibling = (dropTarget, dragTarget) => dropTarget === dragTarget.nextElementSibling;
|
|
6341
|
+
/**
|
|
6342
|
+
* @hidden
|
|
6343
|
+
*/
|
|
6344
|
+
const isPreviousSibling = (dropTarget, dragTarget) => dropTarget === dragTarget.previousElementSibling;
|
|
6345
|
+
/**
|
|
6346
|
+
* @hidden
|
|
6347
|
+
*/
|
|
6348
|
+
const isDifferentParent = (dropTarget, dragTarget) => dropTarget?.parentElement !== dragTarget?.parentElement;
|
|
6349
|
+
/**
|
|
6350
|
+
* @hidden
|
|
6351
|
+
*/
|
|
6352
|
+
function getOffset(element) {
|
|
6353
|
+
const { clientTop, clientLeft } = getDocument(element);
|
|
6354
|
+
const { pageYOffset, pageXOffset } = getWindow(element);
|
|
6355
|
+
const { top, left } = element.getBoundingClientRect();
|
|
6356
|
+
return {
|
|
6357
|
+
top: top + pageYOffset - clientTop,
|
|
6358
|
+
left: left + pageXOffset - clientLeft
|
|
6359
|
+
};
|
|
6360
|
+
}
|
|
6361
|
+
;
|
|
6362
|
+
/**
|
|
6363
|
+
* @hidden
|
|
6364
|
+
*/
|
|
6365
|
+
const hintIcons = {
|
|
6366
|
+
forbidden: 'cancel',
|
|
6367
|
+
before: 'insert-middle',
|
|
6368
|
+
after: 'insert-middle'
|
|
6369
|
+
};
|
|
6370
|
+
/**
|
|
6371
|
+
* @hidden
|
|
6372
|
+
*/
|
|
6373
|
+
const hintSVGIcons = {
|
|
6374
|
+
forbidden: cancelIcon,
|
|
6375
|
+
before: insertMiddleIcon,
|
|
6376
|
+
after: insertMiddleIcon
|
|
6377
|
+
};
|
|
6378
|
+
/**
|
|
6379
|
+
* @hidden
|
|
6380
|
+
*/
|
|
6381
|
+
const dropPosition = {
|
|
6382
|
+
forbidden: 'forbidden',
|
|
6383
|
+
before: 'before',
|
|
6384
|
+
after: 'after'
|
|
6385
|
+
};
|
|
6386
|
+
/**
|
|
6387
|
+
* @hidden
|
|
6388
|
+
*/
|
|
6389
|
+
const hintStyles = {
|
|
6390
|
+
zIndex: '20000',
|
|
6391
|
+
display: 'flex',
|
|
6392
|
+
position: 'fixed'
|
|
6393
|
+
};
|
|
6394
|
+
/**
|
|
6395
|
+
* @hidden
|
|
6396
|
+
*/
|
|
6397
|
+
const hintClasses = ['k-drag-clue', 'k-reorder-clue'];
|
|
6398
|
+
/**
|
|
6399
|
+
* @hidden
|
|
6400
|
+
*/
|
|
6401
|
+
const dropIndicatorStyles = {
|
|
6402
|
+
zIndex: '19000',
|
|
6403
|
+
position: 'absolute'
|
|
6404
|
+
};
|
|
6405
|
+
/**
|
|
6406
|
+
* @hidden
|
|
6407
|
+
*/
|
|
6408
|
+
const dropIndicatorClasses = ['k-drop-hint', 'k-drop-hint-h'];
|
|
6409
|
+
/**
|
|
6410
|
+
* @hidden
|
|
6411
|
+
*/
|
|
6412
|
+
const defaultSelectors = {
|
|
6413
|
+
handle: '.k-table-td.k-drag-cell',
|
|
6414
|
+
dragTarget: '.k-master-row',
|
|
6415
|
+
dropTarget: '.k-master-row'
|
|
6416
|
+
};
|
|
6417
|
+
const getDocument = element => element?.ownerDocument.documentElement;
|
|
6418
|
+
const getWindow = element => element?.ownerDocument.defaultView;
|
|
6419
|
+
|
|
6420
|
+
/**
|
|
6421
|
+
* @hidden
|
|
6422
|
+
*/
|
|
6423
|
+
class RowReorderService {
|
|
6424
|
+
constructor(renderer) {
|
|
6425
|
+
this.renderer = renderer;
|
|
6426
|
+
this.hintElement = null;
|
|
6427
|
+
this.defaultSelectors = defaultSelectors;
|
|
6428
|
+
this.hintText = '';
|
|
6429
|
+
this.lastDropPosition = dropPosition.forbidden;
|
|
6430
|
+
this.dragTarget = null;
|
|
6431
|
+
this.dropTarget = null;
|
|
6432
|
+
this.rowReorder = new EventEmitter();
|
|
6433
|
+
}
|
|
6434
|
+
press(ev) {
|
|
6435
|
+
this.dragTarget = ev.dragTarget;
|
|
6436
|
+
}
|
|
6437
|
+
dragStart() {
|
|
6438
|
+
this.createDropIndicator();
|
|
6439
|
+
}
|
|
6440
|
+
drag(ev) {
|
|
6441
|
+
if (isPresent$1(ev.hintElement) && !isPresent$1(this.hintElement)) {
|
|
6442
|
+
this.hintElement = ev.hintElement;
|
|
6443
|
+
this.decorateHint();
|
|
6444
|
+
}
|
|
6445
|
+
const position = {
|
|
6446
|
+
x: ev.dragEvent.clientX,
|
|
6447
|
+
y: ev.dragEvent.clientY
|
|
6448
|
+
};
|
|
6449
|
+
if (isPresent$1(this.hintElement)) {
|
|
6450
|
+
this.renderer.setStyle(this.hintElement, 'left', `${position.x}px`);
|
|
6451
|
+
this.renderer.setStyle(this.hintElement, 'top', `${position.y}px`);
|
|
6452
|
+
}
|
|
6453
|
+
this.positionDropIndicator(ev);
|
|
6454
|
+
}
|
|
6455
|
+
dragEnter(ev) {
|
|
6456
|
+
this.dropTarget = ev.dropTarget;
|
|
6457
|
+
}
|
|
6458
|
+
dragLeave() {
|
|
6459
|
+
this.dropTarget = null;
|
|
6460
|
+
this.hide();
|
|
6461
|
+
}
|
|
6462
|
+
dragEnd() {
|
|
6463
|
+
this.destroyDropIndicator();
|
|
6464
|
+
this.dragTarget = null;
|
|
6465
|
+
this.dropTarget = null;
|
|
6466
|
+
this.hintElement = null;
|
|
6467
|
+
}
|
|
6468
|
+
drop(ev) {
|
|
6469
|
+
this.destroyDropIndicator();
|
|
6470
|
+
const rowReorderArgs = this.rowReorderArgs(this.dragTarget, this.dropTarget, ev.dragData);
|
|
6471
|
+
this.rowReorder.emit(rowReorderArgs);
|
|
6472
|
+
}
|
|
6473
|
+
reorderRows(ev, collection) {
|
|
6474
|
+
if (this.lastDropPosition === dropPosition.forbidden) {
|
|
6475
|
+
return;
|
|
6476
|
+
}
|
|
6477
|
+
;
|
|
6478
|
+
const { draggedRows, dropTargetRow } = ev;
|
|
6479
|
+
const draggedDataItem = draggedRows[0].dataItem;
|
|
6480
|
+
const dropTargetDataItem = dropTargetRow.dataItem;
|
|
6481
|
+
const draggedItemIndex = collection.indexOf(draggedDataItem);
|
|
6482
|
+
const dropTargetIndex = collection.indexOf(dropTargetDataItem);
|
|
6483
|
+
const idxToAdd = this.calculateIndexToAdd(draggedItemIndex, dropTargetIndex);
|
|
6484
|
+
collection.splice(draggedItemIndex, 1);
|
|
6485
|
+
collection.splice(idxToAdd, 0, draggedDataItem);
|
|
6486
|
+
}
|
|
6487
|
+
get hintIcon() {
|
|
6488
|
+
return hintIcons[this.lastDropPosition];
|
|
6489
|
+
}
|
|
6490
|
+
get hintSVGIcon() {
|
|
6491
|
+
return hintSVGIcons[this.lastDropPosition];
|
|
6492
|
+
}
|
|
6493
|
+
getDefaultHintText(columns, data) {
|
|
6494
|
+
let hintText = '';
|
|
6495
|
+
const columnFieldsArray = columns
|
|
6496
|
+
.toArray()
|
|
6497
|
+
.filter(column => !column.hidden && isPresent$1(column.field))
|
|
6498
|
+
.map(column => column.field);
|
|
6499
|
+
const draggedDragRow = this.getDragRowPerElement(this.dragTarget, data);
|
|
6500
|
+
const draggedDataItem = draggedDragRow?.dataItem;
|
|
6501
|
+
isPresent$1(draggedDataItem) && columnFieldsArray.forEach(column => {
|
|
6502
|
+
const columnValue = draggedDataItem[column];
|
|
6503
|
+
isPresent$1(columnValue) ? hintText += `${columnValue} ` : null;
|
|
6504
|
+
});
|
|
6505
|
+
return hintText.trim();
|
|
6506
|
+
}
|
|
6507
|
+
rowReorderArgs(dragRow, dropRow, data) {
|
|
6508
|
+
const dragRowData = this.getDragRowPerElement(dragRow, data);
|
|
6509
|
+
const dropRowData = this.getDragRowPerElement(dropRow, data);
|
|
6510
|
+
return {
|
|
6511
|
+
draggedRows: [dragRowData],
|
|
6512
|
+
dropTargetRow: dropRowData,
|
|
6513
|
+
dropPosition: this.lastDropPosition
|
|
6514
|
+
};
|
|
6515
|
+
}
|
|
6516
|
+
getDragRowPerElement(row, data) {
|
|
6517
|
+
let rowIndex = row?.getAttribute('data-kendo-grid-item-index');
|
|
6518
|
+
rowIndex = rowIndex ? parseInt(rowIndex, 10) : -1;
|
|
6519
|
+
const skip = this.skip || 0;
|
|
6520
|
+
const dataItem = rowIndex === -1 ? null : data[rowIndex - skip];
|
|
6521
|
+
return {
|
|
6522
|
+
dataItem,
|
|
6523
|
+
rowIndex,
|
|
6524
|
+
element: row
|
|
6525
|
+
};
|
|
6526
|
+
}
|
|
6527
|
+
createDropIndicator() {
|
|
6528
|
+
if (!isDocumentAvailable()) {
|
|
6529
|
+
return;
|
|
6530
|
+
}
|
|
6531
|
+
this.dropIndicator = document.createElement('div');
|
|
6532
|
+
this.decorateDropIndicator();
|
|
6533
|
+
this.dropIndicator.innerHTML = `
|
|
6534
|
+
<div class="k-drop-hint-start"></div>
|
|
6535
|
+
<div class="k-drop-hint-line"></div>
|
|
6536
|
+
`;
|
|
6537
|
+
document.body.appendChild(this.dropIndicator);
|
|
6538
|
+
this.hide();
|
|
6539
|
+
}
|
|
6540
|
+
destroyDropIndicator() {
|
|
6541
|
+
if (!isDocumentAvailable()) {
|
|
6542
|
+
return;
|
|
6543
|
+
}
|
|
6544
|
+
;
|
|
6545
|
+
if (this.dropIndicator && this.dropIndicator.parentElement) {
|
|
6546
|
+
document.body.removeChild(this.dropIndicator);
|
|
6547
|
+
this.dropIndicator = null;
|
|
6548
|
+
}
|
|
6549
|
+
}
|
|
6550
|
+
decorateHint() {
|
|
6551
|
+
hintClasses.forEach(className => this.renderer.addClass(this.hintElement, className));
|
|
6552
|
+
Object.keys(hintStyles)
|
|
6553
|
+
.forEach(style => this.renderer.setStyle(this.hintElement, style, hintStyles[style]));
|
|
6554
|
+
}
|
|
6555
|
+
positionDropIndicator(ev) {
|
|
6556
|
+
this.lastDropPosition = this.getDropPosition(ev.dragEvent);
|
|
6557
|
+
this.updateDropIndicatorPosition();
|
|
6558
|
+
}
|
|
6559
|
+
calculateIndexToAdd(dragIndex, dropIndex) {
|
|
6560
|
+
if (dragIndex > dropIndex && this.lastDropPosition === dropPosition.after) {
|
|
6561
|
+
return dropIndex + 1;
|
|
6562
|
+
}
|
|
6563
|
+
else if (dragIndex > dropIndex && this.lastDropPosition === dropPosition.before) {
|
|
6564
|
+
return dropIndex;
|
|
6565
|
+
}
|
|
6566
|
+
else if (dragIndex < dropIndex && this.lastDropPosition === dropPosition.after) {
|
|
6567
|
+
return dropIndex;
|
|
6568
|
+
}
|
|
6569
|
+
else if (dragIndex < dropIndex && this.lastDropPosition === dropPosition.before) {
|
|
6570
|
+
return dropIndex - 1;
|
|
6571
|
+
}
|
|
6572
|
+
}
|
|
6573
|
+
decorateDropIndicator() {
|
|
6574
|
+
dropIndicatorClasses.forEach(className => this.renderer.addClass(this.dropIndicator, className));
|
|
6575
|
+
Object.keys(dropIndicatorStyles)
|
|
6576
|
+
.forEach(style => this.renderer.setStyle(this.dropIndicator, style, dropIndicatorStyles[style]));
|
|
6577
|
+
}
|
|
6578
|
+
;
|
|
6579
|
+
getDropPosition(e) {
|
|
6580
|
+
if (this.dropTarget === this.dragTarget || !isPresent$1(this.dropTarget)) {
|
|
6581
|
+
return dropPosition.forbidden;
|
|
6582
|
+
}
|
|
6583
|
+
;
|
|
6584
|
+
if (isDifferentParent(this.dropTarget, this.dragTarget)) {
|
|
6585
|
+
return dropPosition.forbidden;
|
|
6586
|
+
}
|
|
6587
|
+
;
|
|
6588
|
+
const itemViewPortCoords = this.dropTarget.getBoundingClientRect();
|
|
6589
|
+
const itemDivisionsCount = 2;
|
|
6590
|
+
const itemDivisionHeight = itemViewPortCoords.height / itemDivisionsCount;
|
|
6591
|
+
const pointerPosition = e.clientY;
|
|
6592
|
+
const itemTop = itemViewPortCoords.top;
|
|
6593
|
+
let currentDropPosition = null;
|
|
6594
|
+
if (pointerPosition < itemTop + itemDivisionHeight) {
|
|
6595
|
+
currentDropPosition = dropPosition.before;
|
|
6596
|
+
}
|
|
6597
|
+
else if (pointerPosition >= itemTop + itemViewPortCoords.height - itemDivisionHeight) {
|
|
6598
|
+
currentDropPosition = dropPosition.after;
|
|
6599
|
+
}
|
|
6600
|
+
if (currentDropPosition === dropPosition.before && isNextSibling(this.dropTarget, this.dragTarget)) {
|
|
6601
|
+
currentDropPosition = dropPosition.forbidden;
|
|
6602
|
+
}
|
|
6603
|
+
else if (currentDropPosition === dropPosition.after && isPreviousSibling(this.dropTarget, this.dragTarget)) {
|
|
6604
|
+
currentDropPosition = dropPosition.forbidden;
|
|
6605
|
+
}
|
|
6606
|
+
return currentDropPosition;
|
|
6607
|
+
}
|
|
6608
|
+
updateDropIndicatorPosition() {
|
|
6609
|
+
if (this.shouldHideDropIndicator() || !this.dropTarget) {
|
|
6610
|
+
this.hide();
|
|
6611
|
+
return;
|
|
6612
|
+
}
|
|
6613
|
+
this.show();
|
|
6614
|
+
const destinationItemOffset = getOffset(this.dropTarget);
|
|
6615
|
+
let indicatorOffsetTop = destinationItemOffset.top;
|
|
6616
|
+
const indicatorOffsetLeft = destinationItemOffset.left + this.dropIndicator.offsetWidth / 2;
|
|
6617
|
+
if (this.lastDropPosition === dropPosition.after) {
|
|
6618
|
+
indicatorOffsetTop += this.dropTarget.offsetHeight;
|
|
6619
|
+
}
|
|
6620
|
+
this.renderer.setStyle(this.dropIndicator, 'left', `${indicatorOffsetLeft}px`);
|
|
6621
|
+
this.renderer.setStyle(this.dropIndicator, 'top', `${indicatorOffsetTop}px`);
|
|
6622
|
+
}
|
|
6623
|
+
shouldHideDropIndicator() {
|
|
6624
|
+
return this.lastDropPosition === dropPosition.forbidden;
|
|
6625
|
+
}
|
|
6626
|
+
hide() {
|
|
6627
|
+
if (isPresent$1(this.dropIndicator)) {
|
|
6628
|
+
this.dropIndicator.style.display = 'none';
|
|
6629
|
+
}
|
|
6630
|
+
}
|
|
6631
|
+
show() {
|
|
6632
|
+
if (isPresent$1(this.dropIndicator)) {
|
|
6633
|
+
this.dropIndicator.style.display = '';
|
|
6634
|
+
}
|
|
6635
|
+
}
|
|
6636
|
+
}
|
|
6637
|
+
RowReorderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: RowReorderService, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
6638
|
+
RowReorderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: RowReorderService });
|
|
6639
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: RowReorderService, decorators: [{
|
|
6676
6640
|
type: Injectable
|
|
6677
|
-
}] }
|
|
6641
|
+
}], ctorParameters: function () { return [{ type: i0.Renderer2 }]; }, propDecorators: { rowReorder: [{
|
|
6642
|
+
type: Output
|
|
6643
|
+
}] } });
|
|
6678
6644
|
|
|
6679
6645
|
/**
|
|
6680
6646
|
* @hidden
|
|
@@ -7877,7 +7843,7 @@ PagerPageSizesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
|
|
|
7877
7843
|
[value]="pageSize"
|
|
7878
7844
|
(valueChange)="pageSizeChange($event)"></kendo-dropdownlist>
|
|
7879
7845
|
<kendo-label [for]="dropdownlist" [text]="textFor('pagerItemsPerPage')"></kendo-label>
|
|
7880
|
-
`, isInline: true, components: [{ type: i1$4.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["iconClass", "loading", "data", "value", "textField", "valueField", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }, { type: i5.LabelComponent, selector: "kendo-label", inputs: ["text", "for", "optional"], exportAs: ["kendoLabel"] }], directives: [{ type: PagerDropDownListDirective, selector: "[kendoGridPagerDropDown]" }, { type: FocusableDirective, selector: "[kendoGridFocusable],\n [kendoGridEditCommand],\n [kendoGridRemoveCommand],\n [kendoGridSaveCommand],\n [kendoGridCancelCommand],\n [kendoGridSelectionCheckbox]\n ", inputs: ["kendoGridFocusable"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
7846
|
+
`, isInline: true, components: [{ type: i1$4.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["iconClass", "loading", "data", "value", "textField", "valueField", "adaptiveMode", "title", "subtitle", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }, { type: i5.LabelComponent, selector: "kendo-label", inputs: ["text", "for", "optional"], exportAs: ["kendoLabel"] }], directives: [{ type: PagerDropDownListDirective, selector: "[kendoGridPagerDropDown]" }, { type: FocusableDirective, selector: "[kendoGridFocusable],\n [kendoGridEditCommand],\n [kendoGridRemoveCommand],\n [kendoGridSaveCommand],\n [kendoGridCancelCommand],\n [kendoGridSelectionCheckbox]\n ", inputs: ["kendoGridFocusable"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
7881
7847
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PagerPageSizesComponent, decorators: [{
|
|
7882
7848
|
type: Component,
|
|
7883
7849
|
args: [{
|
|
@@ -9574,7 +9540,7 @@ FilterMenuInputWrapperComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion:
|
|
|
9574
9540
|
(keydown.shift.tab)="onShiftTab($event)">
|
|
9575
9541
|
</kendo-dropdownlist>
|
|
9576
9542
|
<ng-content></ng-content>
|
|
9577
|
-
`, isInline: true, components: [{ type: i1$4.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["iconClass", "loading", "data", "value", "textField", "valueField", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }], directives: [{ type: FilterMenuDropDownListDirective, selector: "[kendoFilterMenuDropDown]", inputs: ["filterMenuDropDownLabel"] }] });
|
|
9543
|
+
`, isInline: true, components: [{ type: i1$4.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["iconClass", "loading", "data", "value", "textField", "valueField", "adaptiveMode", "title", "subtitle", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }], directives: [{ type: FilterMenuDropDownListDirective, selector: "[kendoFilterMenuDropDown]", inputs: ["filterMenuDropDownLabel"] }] });
|
|
9578
9544
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FilterMenuInputWrapperComponent, decorators: [{
|
|
9579
9545
|
type: Component,
|
|
9580
9546
|
args: [{
|
|
@@ -9757,7 +9723,7 @@ StringFilterMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.
|
|
|
9757
9723
|
[filter]="filter"
|
|
9758
9724
|
[menuTabbingService]="menuTabbingService">
|
|
9759
9725
|
</kendo-grid-string-filter-menu-input>
|
|
9760
|
-
`, isInline: true, components: [{ type: StringFilterMenuInputComponent, selector: "kendo-grid-string-filter-menu-input", inputs: ["operators", "column", "filter", "operator", "currentFilter", "filterService", "isFirstDropDown", "menuTabbingService"] }, { type: i1$4.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["iconClass", "loading", "data", "value", "textField", "valueField", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: FilterMenuDropDownListDirective, selector: "[kendoFilterMenuDropDown]", inputs: ["filterMenuDropDownLabel"] }] });
|
|
9726
|
+
`, isInline: true, components: [{ type: StringFilterMenuInputComponent, selector: "kendo-grid-string-filter-menu-input", inputs: ["operators", "column", "filter", "operator", "currentFilter", "filterService", "isFirstDropDown", "menuTabbingService"] }, { type: i1$4.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["iconClass", "loading", "data", "value", "textField", "valueField", "adaptiveMode", "title", "subtitle", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: FilterMenuDropDownListDirective, selector: "[kendoFilterMenuDropDown]", inputs: ["filterMenuDropDownLabel"] }] });
|
|
9761
9727
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: StringFilterMenuComponent, decorators: [{
|
|
9762
9728
|
type: Component,
|
|
9763
9729
|
args: [{
|
|
@@ -10160,7 +10126,7 @@ NumericFilterMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0
|
|
|
10160
10126
|
[menuTabbingService]="menuTabbingService"
|
|
10161
10127
|
>
|
|
10162
10128
|
</kendo-grid-numeric-filter-menu-input>
|
|
10163
|
-
`, isInline: true, components: [{ type: NumericFilterMenuInputComponent, selector: "kendo-grid-numeric-filter-menu-input", inputs: ["operators", "column", "filter", "operator", "currentFilter", "filterService", "filterDelay", "isFirstDropDown", "menuTabbingService", "step", "min", "max", "spinners", "decimals", "format"] }, { type: i1$4.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["iconClass", "loading", "data", "value", "textField", "valueField", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: FilterMenuDropDownListDirective, selector: "[kendoFilterMenuDropDown]", inputs: ["filterMenuDropDownLabel"] }] });
|
|
10129
|
+
`, isInline: true, components: [{ type: NumericFilterMenuInputComponent, selector: "kendo-grid-numeric-filter-menu-input", inputs: ["operators", "column", "filter", "operator", "currentFilter", "filterService", "filterDelay", "isFirstDropDown", "menuTabbingService", "step", "min", "max", "spinners", "decimals", "format"] }, { type: i1$4.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["iconClass", "loading", "data", "value", "textField", "valueField", "adaptiveMode", "title", "subtitle", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: FilterMenuDropDownListDirective, selector: "[kendoFilterMenuDropDown]", inputs: ["filterMenuDropDownLabel"] }] });
|
|
10164
10130
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: NumericFilterMenuComponent, decorators: [{
|
|
10165
10131
|
type: Component,
|
|
10166
10132
|
args: [{
|
|
@@ -10425,7 +10391,7 @@ DateFilterMenuInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12
|
|
|
10425
10391
|
</kendo-datepicker-messages>
|
|
10426
10392
|
</kendo-datepicker>
|
|
10427
10393
|
</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:
|
|
10394
|
+
`, 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
10395
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DateFilterMenuInputComponent, decorators: [{
|
|
10430
10396
|
type: Component,
|
|
10431
10397
|
args: [{
|
|
@@ -10611,7 +10577,7 @@ DateFilterMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
|
|
|
10611
10577
|
[menuTabbingService]="menuTabbingService"
|
|
10612
10578
|
>
|
|
10613
10579
|
</kendo-grid-date-filter-menu-input>
|
|
10614
|
-
`, isInline: true, components: [{ type: DateFilterMenuInputComponent, selector: "kendo-grid-date-filter-menu-input", inputs: ["operators", "column", "filter", "operator", "currentFilter", "filterService", "menuTabbingService", "format", "formatPlaceholder", "placeholder", "min", "max", "activeView", "bottomView", "topView", "weekNumber", "isFirstDropDown"] }, { type: i1$4.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["iconClass", "loading", "data", "value", "textField", "valueField", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: FilterMenuDropDownListDirective, selector: "[kendoFilterMenuDropDown]", inputs: ["filterMenuDropDownLabel"] }] });
|
|
10580
|
+
`, isInline: true, components: [{ type: DateFilterMenuInputComponent, selector: "kendo-grid-date-filter-menu-input", inputs: ["operators", "column", "filter", "operator", "currentFilter", "filterService", "menuTabbingService", "format", "formatPlaceholder", "placeholder", "min", "max", "activeView", "bottomView", "topView", "weekNumber", "isFirstDropDown"] }, { type: i1$4.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["iconClass", "loading", "data", "value", "textField", "valueField", "adaptiveMode", "title", "subtitle", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: FilterMenuDropDownListDirective, selector: "[kendoFilterMenuDropDown]", inputs: ["filterMenuDropDownLabel"] }] });
|
|
10615
10581
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DateFilterMenuComponent, decorators: [{
|
|
10616
10582
|
type: Component,
|
|
10617
10583
|
args: [{
|
|
@@ -11421,35 +11387,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
11421
11387
|
|
|
11422
11388
|
/**
|
|
11423
11389
|
* Represents the content template of the
|
|
11424
|
-
* [
|
|
11390
|
+
* [`ColumnMenuItemComponent`]({% slug api_grid_columnmenuitemcomponent %}) component.
|
|
11425
11391
|
* Provides an option for specifying the content of a column item.
|
|
11426
11392
|
* To define the content template, nest an `<ng-template>` tag with the
|
|
11427
11393
|
* `kendoGridColumnMenuItemContentTemplate` directive inside a `<kendo-grid-columnmenu-item>`.
|
|
11428
11394
|
*
|
|
11429
11395
|
* @example
|
|
11430
|
-
* ```
|
|
11431
|
-
*
|
|
11432
|
-
*
|
|
11433
|
-
*
|
|
11434
|
-
*
|
|
11435
|
-
*
|
|
11436
|
-
*
|
|
11437
|
-
*
|
|
11438
|
-
*
|
|
11439
|
-
*
|
|
11440
|
-
*
|
|
11441
|
-
*
|
|
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
|
-
* }
|
|
11452
|
-
*
|
|
11396
|
+
* ```html
|
|
11397
|
+
* <kendo-grid [data]="data" [columnMenu]="true" ...>
|
|
11398
|
+
* <ng-template kendoGridColumnMenuTemplate>
|
|
11399
|
+
* <kendo-grid-columnmenu-item text="Item Text" [expanded]="true">
|
|
11400
|
+
* <ng-template kendoGridColumnMenuItemContentTemplate>
|
|
11401
|
+
* Item Content
|
|
11402
|
+
* </ng-template>
|
|
11403
|
+
* </kendo-grid-columnmenu-item>
|
|
11404
|
+
* </ng-template>
|
|
11405
|
+
* <kendo-grid-column field="Field1"></kendo-grid-column>
|
|
11406
|
+
* ...
|
|
11407
|
+
* </kendo-grid>
|
|
11453
11408
|
* ```
|
|
11454
11409
|
*/
|
|
11455
11410
|
class ColumnMenuItemContentTemplateDirective {
|
|
@@ -13383,7 +13338,7 @@ FilterCellOperatorsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12
|
|
|
13383
13338
|
[size]="size"
|
|
13384
13339
|
(click)="clearClick()"
|
|
13385
13340
|
(keydown)="clearKeydown($event)"></button>
|
|
13386
|
-
`, isInline: true, components: [{ type: i1$4.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["iconClass", "loading", "data", "value", "textField", "valueField", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }, { type: i4$1.Button, selector: "button[kendoButton], span[kendoButton], kendo-button", inputs: ["toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: FocusableDirective, selector: "[kendoGridFocusable],\n [kendoGridEditCommand],\n [kendoGridRemoveCommand],\n [kendoGridSaveCommand],\n [kendoGridCancelCommand],\n [kendoGridSelectionCheckbox]\n ", inputs: ["kendoGridFocusable"] }] });
|
|
13341
|
+
`, isInline: true, components: [{ type: i1$4.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["iconClass", "loading", "data", "value", "textField", "valueField", "adaptiveMode", "title", "subtitle", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }, { type: i4$1.Button, selector: "button[kendoButton], span[kendoButton], kendo-button", inputs: ["toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: FocusableDirective, selector: "[kendoGridFocusable],\n [kendoGridEditCommand],\n [kendoGridRemoveCommand],\n [kendoGridSaveCommand],\n [kendoGridCancelCommand],\n [kendoGridSelectionCheckbox]\n ", inputs: ["kendoGridFocusable"] }] });
|
|
13387
13342
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FilterCellOperatorsComponent, decorators: [{
|
|
13388
13343
|
type: Component,
|
|
13389
13344
|
args: [{
|
|
@@ -13780,7 +13735,7 @@ BooleanFilterCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0
|
|
|
13780
13735
|
[value]="currentFilter?.value">
|
|
13781
13736
|
</kendo-dropdownlist>
|
|
13782
13737
|
</kendo-grid-filter-wrapper-cell>
|
|
13783
|
-
`, isInline: true, components: [{ type: FilterCellWrapperComponent, selector: "kendo-grid-filter-wrapper-cell", inputs: ["showOperators"] }, { type: i1$4.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["iconClass", "loading", "data", "value", "textField", "valueField", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }], directives: [{ type: FilterInputDirective, selector: "[kendoFilterInput]", inputs: ["filterDelay", "columnLabel", "value"] }, { type: FocusableDirective, selector: "[kendoGridFocusable],\n [kendoGridEditCommand],\n [kendoGridRemoveCommand],\n [kendoGridSaveCommand],\n [kendoGridCancelCommand],\n [kendoGridSelectionCheckbox]\n ", inputs: ["kendoGridFocusable"] }] });
|
|
13738
|
+
`, isInline: true, components: [{ type: FilterCellWrapperComponent, selector: "kendo-grid-filter-wrapper-cell", inputs: ["showOperators"] }, { type: i1$4.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["iconClass", "loading", "data", "value", "textField", "valueField", "adaptiveMode", "title", "subtitle", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }], directives: [{ type: FilterInputDirective, selector: "[kendoFilterInput]", inputs: ["filterDelay", "columnLabel", "value"] }, { type: FocusableDirective, selector: "[kendoGridFocusable],\n [kendoGridEditCommand],\n [kendoGridRemoveCommand],\n [kendoGridSaveCommand],\n [kendoGridCancelCommand],\n [kendoGridSelectionCheckbox]\n ", inputs: ["kendoGridFocusable"] }] });
|
|
13784
13739
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: BooleanFilterCellComponent, decorators: [{
|
|
13785
13740
|
type: Component,
|
|
13786
13741
|
args: [{
|
|
@@ -13887,7 +13842,7 @@ DateFilterCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
|
|
|
13887
13842
|
</kendo-datepicker-messages>
|
|
13888
13843
|
</kendo-datepicker>
|
|
13889
13844
|
</kendo-grid-filter-wrapper-cell>
|
|
13890
|
-
`, isInline: true, components: [{ type: FilterCellWrapperComponent, selector: "kendo-grid-filter-wrapper-cell", inputs: ["showOperators"] }, { type:
|
|
13845
|
+
`, 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
13846
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DateFilterCellComponent, decorators: [{
|
|
13892
13847
|
type: Component,
|
|
13893
13848
|
args: [{
|
|
@@ -14436,7 +14391,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
14436
14391
|
}] } });
|
|
14437
14392
|
|
|
14438
14393
|
/**
|
|
14439
|
-
* Represents the select-all checkbox feature of the Grid ([see example](
|
|
14394
|
+
* Represents the select-all checkbox feature of the Grid ([see example](slug:grid_selection_persistence#toc-selecting-all-items)).
|
|
14395
|
+
*
|
|
14396
|
+
* @example
|
|
14397
|
+
* ```html
|
|
14398
|
+
* <input
|
|
14399
|
+
* type="checkbox"
|
|
14400
|
+
* kendoCheckBox
|
|
14401
|
+
* kendoGridSelectAllCheckbox
|
|
14402
|
+
* [state]="selectAllState"
|
|
14403
|
+
* (selectAllChange)="onSelectAllChange($event)"
|
|
14404
|
+
* />
|
|
14405
|
+
* ```
|
|
14440
14406
|
*/
|
|
14441
14407
|
class SelectAllCheckboxDirective {
|
|
14442
14408
|
constructor(selectionService, el, renderer, ngZone) {
|
|
@@ -15977,53 +15943,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
15977
15943
|
|
|
15978
15944
|
/**
|
|
15979
15945
|
* 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)
|
|
15946
|
+
* index of the current row as an input parameter. Inside the [`CellTemplateDirective`](slug:api_grid_celltemplatedirective), apply the
|
|
15947
|
+
* `kendoGridSelectionCheckbox` to an `<input type="checkbox"/>` element. When the user clicks the checkbox that is associated
|
|
15948
|
+
* with the directive, a [selectionChange](slug:api_grid_gridcomponent#toc-selectionChange)
|
|
15984
15949
|
* event is triggered.
|
|
15985
15950
|
*
|
|
15986
15951
|
* @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
|
-
*
|
|
15952
|
+
* ```html
|
|
15953
|
+
* <kendo-grid ... >
|
|
15954
|
+
* <kendo-grid-column>
|
|
15955
|
+
* <ng-template kendoGridCellTemplate let-rowIndex="rowIndex">
|
|
15956
|
+
* <input ... [kendoGridSelectionCheckbox]="rowIndex"/>
|
|
15957
|
+
* </ng-template>
|
|
15958
|
+
* </kendo-grid-column>
|
|
15959
|
+
* </kendo-grid>
|
|
16027
15960
|
* ```
|
|
16028
15961
|
*/
|
|
16029
15962
|
class SelectionCheckboxDirective {
|
|
@@ -16135,12 +16068,19 @@ class CellComponent {
|
|
|
16135
16068
|
this.isNew = false;
|
|
16136
16069
|
this.isLoading = false;
|
|
16137
16070
|
this.isVirtual = false;
|
|
16071
|
+
this.reorderIcon = reorderIcon;
|
|
16138
16072
|
this._templateContext = {};
|
|
16139
16073
|
this._editTemplateContext = {};
|
|
16140
16074
|
}
|
|
16141
16075
|
get commandCellClass() {
|
|
16142
16076
|
return this.isCommand(this.column);
|
|
16143
16077
|
}
|
|
16078
|
+
get dragHandleCellClass() {
|
|
16079
|
+
return isRowReorderColumn(this.column);
|
|
16080
|
+
}
|
|
16081
|
+
get dragRowHandleLabel() {
|
|
16082
|
+
return isRowReorderColumn(this.column) ? this.localizationService.get('dragRowHandleLabel') : undefined;
|
|
16083
|
+
}
|
|
16144
16084
|
set rowIndex(index) {
|
|
16145
16085
|
this._rowIndex = index;
|
|
16146
16086
|
this.updateCellContext();
|
|
@@ -16197,6 +16137,9 @@ class CellComponent {
|
|
|
16197
16137
|
get childColumns() {
|
|
16198
16138
|
return columnsToRender([this.column]);
|
|
16199
16139
|
}
|
|
16140
|
+
get isRowReorderColumn() {
|
|
16141
|
+
return isRowReorderColumn(this.column) && !this.column.templateRef;
|
|
16142
|
+
}
|
|
16200
16143
|
get isColumnEditable() {
|
|
16201
16144
|
if (!this.column || this.isCommand(this.column)) {
|
|
16202
16145
|
return false;
|
|
@@ -16243,7 +16186,7 @@ class CellComponent {
|
|
|
16243
16186
|
}
|
|
16244
16187
|
}
|
|
16245
16188
|
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: `
|
|
16189
|
+
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
16190
|
<ng-container [ngSwitch]="isEdited">
|
|
16248
16191
|
<ng-container *ngSwitchCase="false">
|
|
16249
16192
|
<ng-container *ngIf="!showLoading; else loading">
|
|
@@ -16264,6 +16207,12 @@ CellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
|
|
|
16264
16207
|
[attr.id]="selectionCheckboxId"
|
|
16265
16208
|
[attr.aria-label]="selectionCheckboxLabel" />
|
|
16266
16209
|
</ng-container>
|
|
16210
|
+
<ng-container *ngIf="isRowReorderColumn && !isNew">
|
|
16211
|
+
<kendo-icon-wrapper
|
|
16212
|
+
name="reorder"
|
|
16213
|
+
[svgIcon]="reorderIcon">
|
|
16214
|
+
</kendo-icon-wrapper>
|
|
16215
|
+
</ng-container>
|
|
16267
16216
|
</ng-container>
|
|
16268
16217
|
<ng-template #loading>
|
|
16269
16218
|
<ng-template
|
|
@@ -16313,7 +16262,7 @@ CellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
|
|
|
16313
16262
|
</ng-container>
|
|
16314
16263
|
</ng-container>
|
|
16315
16264
|
</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:
|
|
16265
|
+
`, 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
16266
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: CellComponent, decorators: [{
|
|
16318
16267
|
type: Component,
|
|
16319
16268
|
args: [{
|
|
@@ -16339,6 +16288,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
16339
16288
|
[attr.id]="selectionCheckboxId"
|
|
16340
16289
|
[attr.aria-label]="selectionCheckboxLabel" />
|
|
16341
16290
|
</ng-container>
|
|
16291
|
+
<ng-container *ngIf="isRowReorderColumn && !isNew">
|
|
16292
|
+
<kendo-icon-wrapper
|
|
16293
|
+
name="reorder"
|
|
16294
|
+
[svgIcon]="reorderIcon">
|
|
16295
|
+
</kendo-icon-wrapper>
|
|
16296
|
+
</ng-container>
|
|
16342
16297
|
</ng-container>
|
|
16343
16298
|
<ng-template #loading>
|
|
16344
16299
|
<ng-template
|
|
@@ -16398,6 +16353,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
16398
16353
|
}] }]; }, propDecorators: { commandCellClass: [{
|
|
16399
16354
|
type: HostBinding,
|
|
16400
16355
|
args: ['class.k-command-cell']
|
|
16356
|
+
}], dragHandleCellClass: [{
|
|
16357
|
+
type: HostBinding,
|
|
16358
|
+
args: ['class.k-drag-cell']
|
|
16359
|
+
}, {
|
|
16360
|
+
type: HostBinding,
|
|
16361
|
+
args: ['class.k-touch-action-none']
|
|
16362
|
+
}], dragRowHandleLabel: [{
|
|
16363
|
+
type: HostBinding,
|
|
16364
|
+
args: ['attr.aria-label']
|
|
16401
16365
|
}], column: [{
|
|
16402
16366
|
type: Input
|
|
16403
16367
|
}], columnIndex: [{
|
|
@@ -18768,7 +18732,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
18768
18732
|
class GridMessages extends ComponentMessages {
|
|
18769
18733
|
}
|
|
18770
18734
|
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 });
|
|
18735
|
+
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
18736
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GridMessages, decorators: [{
|
|
18773
18737
|
type: Directive,
|
|
18774
18738
|
args: [{
|
|
@@ -18925,6 +18889,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
18925
18889
|
type: Input
|
|
18926
18890
|
}], groupPanelLabel: [{
|
|
18927
18891
|
type: Input
|
|
18892
|
+
}], dragRowHandleLabel: [{
|
|
18893
|
+
type: Input
|
|
18928
18894
|
}] } });
|
|
18929
18895
|
|
|
18930
18896
|
/**
|
|
@@ -19005,7 +18971,7 @@ const isInEditedCell = (element, gridElement) => closest(element, matchesClasses
|
|
|
19005
18971
|
* ```
|
|
19006
18972
|
*/
|
|
19007
18973
|
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) {
|
|
18974
|
+
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
18975
|
this.supportService = supportService;
|
|
19010
18976
|
this.selectionService = selectionService;
|
|
19011
18977
|
this.cellSelectionService = cellSelectionService;
|
|
@@ -19033,11 +18999,7 @@ class GridComponent {
|
|
|
19033
18999
|
this.localization = localization;
|
|
19034
19000
|
this.ctx = ctx;
|
|
19035
19001
|
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 = [];
|
|
19002
|
+
this.rowReorderService = rowReorderService;
|
|
19041
19003
|
/**
|
|
19042
19004
|
* Defines the scroll mode used by the Grid.
|
|
19043
19005
|
*
|
|
@@ -19101,6 +19063,10 @@ class GridComponent {
|
|
|
19101
19063
|
* If set to `true`, the grid will render only the columns in the current viewport.
|
|
19102
19064
|
*/
|
|
19103
19065
|
this.virtualColumns = false;
|
|
19066
|
+
/**
|
|
19067
|
+
* @hidden
|
|
19068
|
+
*/
|
|
19069
|
+
this.gridData = () => { return this.flatData; };
|
|
19104
19070
|
/**
|
|
19105
19071
|
* Enables the [filtering]({% slug filtering_grid %}) of the Grid columns that have their `field` option set.
|
|
19106
19072
|
*/
|
|
@@ -19148,12 +19114,6 @@ class GridComponent {
|
|
|
19148
19114
|
* @default false
|
|
19149
19115
|
*/
|
|
19150
19116
|
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
19117
|
/**
|
|
19158
19118
|
* Specifies if the column menu of the columns will be displayed ([see example]({% slug columnmenu_grid %})).
|
|
19159
19119
|
*
|
|
@@ -19191,6 +19151,11 @@ class GridComponent {
|
|
|
19191
19151
|
* Emits the [SelectionEvent]({% slug api_grid_selectionevent %}#toc-selectionchange).
|
|
19192
19152
|
*/
|
|
19193
19153
|
this.selectionChange = new EventEmitter();
|
|
19154
|
+
/**
|
|
19155
|
+
* Fires when the user drops the dragged row and reordering is performed.
|
|
19156
|
+
* Emits the [RowReorderEvent]({% slug api_grid_selectionevent %}#toc-selectionchange).
|
|
19157
|
+
*/
|
|
19158
|
+
this.rowReorder = new EventEmitter();
|
|
19194
19159
|
/**
|
|
19195
19160
|
* Fires when the data state of the Grid is changed.
|
|
19196
19161
|
*/
|
|
@@ -19302,11 +19267,14 @@ class GridComponent {
|
|
|
19302
19267
|
this._sort = new Array();
|
|
19303
19268
|
this._group = new Array();
|
|
19304
19269
|
this._skip = 0;
|
|
19270
|
+
this._data = [];
|
|
19305
19271
|
this.cachedWindowWidth = 0;
|
|
19306
19272
|
this._rowSelected = null;
|
|
19307
19273
|
this._cellSelected = null;
|
|
19274
|
+
this._rowReorderable = false;
|
|
19308
19275
|
this._navigable = [];
|
|
19309
19276
|
this._size = 'medium';
|
|
19277
|
+
this._loading = false;
|
|
19310
19278
|
this.rtl = false;
|
|
19311
19279
|
this._rowClass = () => null;
|
|
19312
19280
|
validatePackage(packageMetadata);
|
|
@@ -19346,6 +19314,19 @@ class GridComponent {
|
|
|
19346
19314
|
.changes.subscribe(this.reorder.bind(this));
|
|
19347
19315
|
this.columnRangeChangeSubscription = this.columnInfoService.columnRangeChange.subscribe(this.onColumnRangeChange.bind(this));
|
|
19348
19316
|
}
|
|
19317
|
+
/**
|
|
19318
|
+
* Sets the data of the Grid. If an array is provided, the Grid automatically gets the total count
|
|
19319
|
+
* ([more information and example]({% slug binding_grid %})).
|
|
19320
|
+
*/
|
|
19321
|
+
set data(value) {
|
|
19322
|
+
this._data = value;
|
|
19323
|
+
}
|
|
19324
|
+
get data() {
|
|
19325
|
+
return this._data;
|
|
19326
|
+
}
|
|
19327
|
+
get hintText() {
|
|
19328
|
+
return this.rowReorderService.getDefaultHintText(this.columnList, this.flatData);
|
|
19329
|
+
}
|
|
19349
19330
|
/**
|
|
19350
19331
|
* Defines the number of records to be skipped by the pager.
|
|
19351
19332
|
* Required by the [paging]({% slug paging_grid %}) functionality.
|
|
@@ -19355,7 +19336,7 @@ class GridComponent {
|
|
|
19355
19336
|
}
|
|
19356
19337
|
set skip(value) {
|
|
19357
19338
|
if (typeof value === 'number' && value >= 0) {
|
|
19358
|
-
this._skip = value;
|
|
19339
|
+
this._skip = this.rowReorderService.skip = value;
|
|
19359
19340
|
}
|
|
19360
19341
|
}
|
|
19361
19342
|
/**
|
|
@@ -19453,6 +19434,26 @@ class GridComponent {
|
|
|
19453
19434
|
get marqueeSelection() {
|
|
19454
19435
|
return this.selectionService.enableMarquee || this.cellSelectionService.enableMarquee;
|
|
19455
19436
|
}
|
|
19437
|
+
/**
|
|
19438
|
+
* Enables the [row reordering]({% slug ToDo %}) of the Grid.
|
|
19439
|
+
* @default false
|
|
19440
|
+
*/
|
|
19441
|
+
set rowReorderable(value) {
|
|
19442
|
+
this._rowReorderable = value;
|
|
19443
|
+
if (value) {
|
|
19444
|
+
this.rowReorderSubscription = this.rowReorderService.rowReorder.subscribe(args => {
|
|
19445
|
+
this.ngZone.run(() => {
|
|
19446
|
+
this.rowReorder.emit(args);
|
|
19447
|
+
});
|
|
19448
|
+
});
|
|
19449
|
+
}
|
|
19450
|
+
else {
|
|
19451
|
+
this.rowReorderSubscription?.unsubscribe();
|
|
19452
|
+
}
|
|
19453
|
+
}
|
|
19454
|
+
get rowReorderable() {
|
|
19455
|
+
return this._rowReorderable;
|
|
19456
|
+
}
|
|
19456
19457
|
/**
|
|
19457
19458
|
* If set to `true`, the user can use dedicated shortcuts to interact with the Grid.
|
|
19458
19459
|
* By default, navigation is disabled and the Grid content is accessible in the normal tab sequence.
|
|
@@ -19595,6 +19596,18 @@ class GridComponent {
|
|
|
19595
19596
|
get activeRow() {
|
|
19596
19597
|
return this.navigationService.activeRow;
|
|
19597
19598
|
}
|
|
19599
|
+
/**
|
|
19600
|
+
* Specifies if the loading indicator of the Grid will be displayed ([see example]({% slug binding_grid %})).
|
|
19601
|
+
*
|
|
19602
|
+
* @default false
|
|
19603
|
+
*/
|
|
19604
|
+
set loading(value) {
|
|
19605
|
+
this._loading = value;
|
|
19606
|
+
this.rowReorderable && this.notifyReorderContainers();
|
|
19607
|
+
}
|
|
19608
|
+
get loading() {
|
|
19609
|
+
return this._loading;
|
|
19610
|
+
}
|
|
19598
19611
|
get dir() {
|
|
19599
19612
|
return this.direction;
|
|
19600
19613
|
}
|
|
@@ -19766,6 +19779,18 @@ class GridComponent {
|
|
|
19766
19779
|
}
|
|
19767
19780
|
return this.pageSize;
|
|
19768
19781
|
}
|
|
19782
|
+
/**
|
|
19783
|
+
* @hidden
|
|
19784
|
+
*/
|
|
19785
|
+
getDefaultSelectors(type) {
|
|
19786
|
+
return this.rowReorderService.defaultSelectors[type];
|
|
19787
|
+
}
|
|
19788
|
+
/**
|
|
19789
|
+
* @hidden
|
|
19790
|
+
*/
|
|
19791
|
+
getHintSettings(type) {
|
|
19792
|
+
return this.rowReorderService[type];
|
|
19793
|
+
}
|
|
19769
19794
|
/**
|
|
19770
19795
|
* Expands the specified master row ([see example]({% slug hierarchy_grid %})).
|
|
19771
19796
|
*
|
|
@@ -19997,6 +20022,9 @@ class GridComponent {
|
|
|
19997
20022
|
if (this.focusElementSubscription) {
|
|
19998
20023
|
this.focusElementSubscription.unsubscribe();
|
|
19999
20024
|
}
|
|
20025
|
+
if (this.rowReorderSubscription) {
|
|
20026
|
+
this.rowReorderSubscription.unsubscribe();
|
|
20027
|
+
}
|
|
20000
20028
|
this.columnRangeChangeSubscription.unsubscribe();
|
|
20001
20029
|
}
|
|
20002
20030
|
/**
|
|
@@ -20495,6 +20523,12 @@ class GridComponent {
|
|
|
20495
20523
|
get isGroupExpanded() {
|
|
20496
20524
|
return this.groupsService.userCallback;
|
|
20497
20525
|
}
|
|
20526
|
+
/**
|
|
20527
|
+
* @hidden
|
|
20528
|
+
*/
|
|
20529
|
+
handleReorderEvents(ev, evType) {
|
|
20530
|
+
this.rowReorderService[evType](ev);
|
|
20531
|
+
}
|
|
20498
20532
|
/**
|
|
20499
20533
|
* @hidden
|
|
20500
20534
|
*/
|
|
@@ -20721,6 +20755,11 @@ class GridComponent {
|
|
|
20721
20755
|
this.closeCell();
|
|
20722
20756
|
this.cancelCell();
|
|
20723
20757
|
this.dataStateChange.emit(x);
|
|
20758
|
+
if (this.rowReorderable) {
|
|
20759
|
+
this.ngZone.onStable.pipe(take(1)).subscribe(() => {
|
|
20760
|
+
this.notifyReorderContainers();
|
|
20761
|
+
});
|
|
20762
|
+
}
|
|
20724
20763
|
});
|
|
20725
20764
|
}
|
|
20726
20765
|
attachEditHandlers() {
|
|
@@ -21003,9 +21042,16 @@ class GridComponent {
|
|
|
21003
21042
|
}
|
|
21004
21043
|
return previousValue.cell !== currentValue.cell;
|
|
21005
21044
|
}
|
|
21045
|
+
notifyReorderContainers() {
|
|
21046
|
+
this.dragTargetContainer?.notify();
|
|
21047
|
+
this.dropTargetContainer?.notify();
|
|
21048
|
+
}
|
|
21049
|
+
get flatData() {
|
|
21050
|
+
return isArray(this.data) ? this.data : this.data.data;
|
|
21051
|
+
}
|
|
21006
21052
|
}
|
|
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: [
|
|
21053
|
+
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 });
|
|
21054
|
+
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
21055
|
BrowserSupportService,
|
|
21010
21056
|
LocalizationService,
|
|
21011
21057
|
ColumnInfoService,
|
|
@@ -21046,8 +21092,9 @@ GridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
|
|
|
21046
21092
|
ScrollRequestService,
|
|
21047
21093
|
SortService,
|
|
21048
21094
|
ContextService,
|
|
21049
|
-
SizingOptionsService
|
|
21050
|
-
|
|
21095
|
+
SizingOptionsService,
|
|
21096
|
+
RowReorderService
|
|
21097
|
+
], 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
21098
|
<ng-container kendoGridLocalizedMessages
|
|
21052
21099
|
i18n-groupPanelEmpty="kendo.grid.groupPanelEmpty|The label visible in the Grid group panel when it is empty"
|
|
21053
21100
|
groupPanelEmpty="Drag a column header and drop it here to group by that column"
|
|
@@ -21273,6 +21320,9 @@ GridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
|
|
|
21273
21320
|
|
|
21274
21321
|
i18n-groupPanelLabel="kendo.grid.groupPanelLabel|The label for the Grid group panel toolbar"
|
|
21275
21322
|
groupPanelLabel="Group panel"
|
|
21323
|
+
|
|
21324
|
+
i18n-dragRowHandleLabel="kendo.grid.dragRowHandleLabel|The label for the Grid drag row handle"
|
|
21325
|
+
dragRowHandleLabel="Drag row"
|
|
21276
21326
|
>
|
|
21277
21327
|
</ng-container>
|
|
21278
21328
|
<kendo-grid-toolbar
|
|
@@ -21400,6 +21450,23 @@ GridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
|
|
|
21400
21450
|
</div>
|
|
21401
21451
|
</div>
|
|
21402
21452
|
<kendo-grid-list
|
|
21453
|
+
kendoDragTargetContainer
|
|
21454
|
+
kendoDropTargetContainer
|
|
21455
|
+
mode="manual"
|
|
21456
|
+
[dragDisabled]="!rowReorderable"
|
|
21457
|
+
[dropDisabled]="!rowReorderable"
|
|
21458
|
+
[dragTargetFilter]="getDefaultSelectors('dragTarget')"
|
|
21459
|
+
[dropTargetFilter]="getDefaultSelectors('dropTarget')"
|
|
21460
|
+
[dragHandle]="getDefaultSelectors('handle')"
|
|
21461
|
+
[hint]="{hintTemplate: defaultHint}"
|
|
21462
|
+
(press)="handleReorderEvents($event, 'press')"
|
|
21463
|
+
(dragStart)="handleReorderEvents($event, 'dragStart')"
|
|
21464
|
+
(drag)="handleReorderEvents($event, 'drag')"
|
|
21465
|
+
(dragEnter)="handleReorderEvents($event, 'dragEnter')"
|
|
21466
|
+
(dragLeave)="handleReorderEvents($event, 'dragLeave')"
|
|
21467
|
+
(dragEnd)="handleReorderEvents($event, 'dragEnd')"
|
|
21468
|
+
(drop)="handleReorderEvents($event, 'drop')"
|
|
21469
|
+
[dragData]="gridData"
|
|
21403
21470
|
[data]="$any(view)"
|
|
21404
21471
|
[rowHeight]="rowHeight"
|
|
21405
21472
|
[detailRowHeight]="detailRowHeight"
|
|
@@ -21565,8 +21632,18 @@ GridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
|
|
|
21565
21632
|
[navigable]="navigation.toolbarEnabled"
|
|
21566
21633
|
[attr.aria-label]="messageFor('bottomToolbarLabel')"
|
|
21567
21634
|
[attr.aria-controls]="ariaRootId"
|
|
21568
|
-
position="bottom"
|
|
21569
|
-
|
|
21635
|
+
position="bottom">
|
|
21636
|
+
</kendo-grid-toolbar>
|
|
21637
|
+
|
|
21638
|
+
<ng-template #defaultHint>
|
|
21639
|
+
<kendo-icon-wrapper
|
|
21640
|
+
[name]="getHintSettings('hintIcon')"
|
|
21641
|
+
[svgIcon]="getHintSettings('hintSVGIcon')"
|
|
21642
|
+
innerCssClass="k-drag-status">
|
|
21643
|
+
</kendo-icon-wrapper>
|
|
21644
|
+
{{hintText}}
|
|
21645
|
+
</ng-template>
|
|
21646
|
+
`, 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
21647
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GridComponent, decorators: [{
|
|
21571
21648
|
type: Component,
|
|
21572
21649
|
args: [{
|
|
@@ -21613,7 +21690,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
21613
21690
|
ScrollRequestService,
|
|
21614
21691
|
SortService,
|
|
21615
21692
|
ContextService,
|
|
21616
|
-
SizingOptionsService
|
|
21693
|
+
SizingOptionsService,
|
|
21694
|
+
RowReorderService
|
|
21617
21695
|
],
|
|
21618
21696
|
selector: 'kendo-grid',
|
|
21619
21697
|
template: `
|
|
@@ -21842,6 +21920,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
21842
21920
|
|
|
21843
21921
|
i18n-groupPanelLabel="kendo.grid.groupPanelLabel|The label for the Grid group panel toolbar"
|
|
21844
21922
|
groupPanelLabel="Group panel"
|
|
21923
|
+
|
|
21924
|
+
i18n-dragRowHandleLabel="kendo.grid.dragRowHandleLabel|The label for the Grid drag row handle"
|
|
21925
|
+
dragRowHandleLabel="Drag row"
|
|
21845
21926
|
>
|
|
21846
21927
|
</ng-container>
|
|
21847
21928
|
<kendo-grid-toolbar
|
|
@@ -21969,6 +22050,23 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
21969
22050
|
</div>
|
|
21970
22051
|
</div>
|
|
21971
22052
|
<kendo-grid-list
|
|
22053
|
+
kendoDragTargetContainer
|
|
22054
|
+
kendoDropTargetContainer
|
|
22055
|
+
mode="manual"
|
|
22056
|
+
[dragDisabled]="!rowReorderable"
|
|
22057
|
+
[dropDisabled]="!rowReorderable"
|
|
22058
|
+
[dragTargetFilter]="getDefaultSelectors('dragTarget')"
|
|
22059
|
+
[dropTargetFilter]="getDefaultSelectors('dropTarget')"
|
|
22060
|
+
[dragHandle]="getDefaultSelectors('handle')"
|
|
22061
|
+
[hint]="{hintTemplate: defaultHint}"
|
|
22062
|
+
(press)="handleReorderEvents($event, 'press')"
|
|
22063
|
+
(dragStart)="handleReorderEvents($event, 'dragStart')"
|
|
22064
|
+
(drag)="handleReorderEvents($event, 'drag')"
|
|
22065
|
+
(dragEnter)="handleReorderEvents($event, 'dragEnter')"
|
|
22066
|
+
(dragLeave)="handleReorderEvents($event, 'dragLeave')"
|
|
22067
|
+
(dragEnd)="handleReorderEvents($event, 'dragEnd')"
|
|
22068
|
+
(drop)="handleReorderEvents($event, 'drop')"
|
|
22069
|
+
[dragData]="gridData"
|
|
21972
22070
|
[data]="$any(view)"
|
|
21973
22071
|
[rowHeight]="rowHeight"
|
|
21974
22072
|
[detailRowHeight]="detailRowHeight"
|
|
@@ -22134,10 +22232,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
22134
22232
|
[navigable]="navigation.toolbarEnabled"
|
|
22135
22233
|
[attr.aria-label]="messageFor('bottomToolbarLabel')"
|
|
22136
22234
|
[attr.aria-controls]="ariaRootId"
|
|
22137
|
-
position="bottom"
|
|
22235
|
+
position="bottom">
|
|
22236
|
+
</kendo-grid-toolbar>
|
|
22237
|
+
|
|
22238
|
+
<ng-template #defaultHint>
|
|
22239
|
+
<kendo-icon-wrapper
|
|
22240
|
+
[name]="getHintSettings('hintIcon')"
|
|
22241
|
+
[svgIcon]="getHintSettings('hintSVGIcon')"
|
|
22242
|
+
innerCssClass="k-drag-status">
|
|
22243
|
+
</kendo-icon-wrapper>
|
|
22244
|
+
{{hintText}}
|
|
22245
|
+
</ng-template>
|
|
22138
22246
|
`
|
|
22139
22247
|
}]
|
|
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: [{
|
|
22248
|
+
}], 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
22249
|
type: Input
|
|
22142
22250
|
}], pageSize: [{
|
|
22143
22251
|
type: Input
|
|
@@ -22173,6 +22281,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
22173
22281
|
type: Input
|
|
22174
22282
|
}], groupable: [{
|
|
22175
22283
|
type: Input
|
|
22284
|
+
}], rowReorderable: [{
|
|
22285
|
+
type: Input
|
|
22176
22286
|
}], navigable: [{
|
|
22177
22287
|
type: Input
|
|
22178
22288
|
}], navigatable: [{
|
|
@@ -22207,6 +22317,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
22207
22317
|
type: Output
|
|
22208
22318
|
}], selectionChange: [{
|
|
22209
22319
|
type: Output
|
|
22320
|
+
}], rowReorder: [{
|
|
22321
|
+
type: Output
|
|
22210
22322
|
}], dataStateChange: [{
|
|
22211
22323
|
type: Output
|
|
22212
22324
|
}], groupExpand: [{
|
|
@@ -22306,6 +22418,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
22306
22418
|
}], ariaRoot: [{
|
|
22307
22419
|
type: ViewChild,
|
|
22308
22420
|
args: ['ariaRoot', { static: true }]
|
|
22421
|
+
}], dragTargetContainer: [{
|
|
22422
|
+
type: ViewChild,
|
|
22423
|
+
args: [DragTargetContainerDirective]
|
|
22424
|
+
}], dropTargetContainer: [{
|
|
22425
|
+
type: ViewChild,
|
|
22426
|
+
args: [DropTargetContainerDirective]
|
|
22309
22427
|
}], isDetailExpanded: [{
|
|
22310
22428
|
type: Input
|
|
22311
22429
|
}], isGroupExpanded: [{
|
|
@@ -22316,12 +22434,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
22316
22434
|
* A directive which encapsulates the in-memory handling of data operations such as [paging]({% slug paging_grid %}),
|
|
22317
22435
|
* [sorting]({% slug sorting_grid %}), and [grouping]({% slug grouping_grid %})
|
|
22318
22436
|
* ([more information and examples]({% slug local_data_grid %}#toc-using-the-data-binding-directive)).
|
|
22437
|
+
*
|
|
22438
|
+
* @example
|
|
22439
|
+
* ```html
|
|
22440
|
+
* <kendo-grid [kendoGridBinding]="gridData" ...></kendo-grid>
|
|
22441
|
+
* ```
|
|
22319
22442
|
*/
|
|
22320
22443
|
class DataBindingDirective {
|
|
22321
|
-
constructor(grid, changeDetector, localDataChangesService) {
|
|
22444
|
+
constructor(grid, changeDetector, localDataChangesService, rowReorderService) {
|
|
22322
22445
|
this.grid = grid;
|
|
22323
22446
|
this.changeDetector = changeDetector;
|
|
22324
22447
|
this.localDataChangesService = localDataChangesService;
|
|
22448
|
+
this.rowReorderService = rowReorderService;
|
|
22325
22449
|
this.state = {
|
|
22326
22450
|
skip: 0
|
|
22327
22451
|
};
|
|
@@ -22332,12 +22456,16 @@ class DataBindingDirective {
|
|
|
22332
22456
|
}
|
|
22333
22457
|
/**
|
|
22334
22458
|
* Defines the number of records that will be skipped by the pager.
|
|
22459
|
+
* @default 0
|
|
22335
22460
|
*/
|
|
22336
22461
|
set skip(value) {
|
|
22337
22462
|
if (!isPresent(value)) {
|
|
22338
22463
|
value = 0;
|
|
22339
22464
|
}
|
|
22340
22465
|
this.grid.skip = this.state.skip = value;
|
|
22466
|
+
if (this.rowReorderService) {
|
|
22467
|
+
this.rowReorderService.skip = value;
|
|
22468
|
+
}
|
|
22341
22469
|
}
|
|
22342
22470
|
/**
|
|
22343
22471
|
* Defines the descriptors by which the data will be sorted.
|
|
@@ -22381,6 +22509,11 @@ class DataBindingDirective {
|
|
|
22381
22509
|
this.stateChangeSubscription = this.grid
|
|
22382
22510
|
.dataStateChange
|
|
22383
22511
|
.subscribe(this.onStateChange.bind(this));
|
|
22512
|
+
if (this.rowReorderService) {
|
|
22513
|
+
this.rowReorderSubscription = this.grid
|
|
22514
|
+
.rowReorder
|
|
22515
|
+
.subscribe(this.onRowReorder.bind(this));
|
|
22516
|
+
}
|
|
22384
22517
|
}
|
|
22385
22518
|
/**
|
|
22386
22519
|
* @hidden
|
|
@@ -22392,6 +22525,9 @@ class DataBindingDirective {
|
|
|
22392
22525
|
if (this.dataChangedSubscription) {
|
|
22393
22526
|
this.dataChangedSubscription.unsubscribe();
|
|
22394
22527
|
}
|
|
22528
|
+
if (this.rowReorderSubscription) {
|
|
22529
|
+
this.rowReorderSubscription.unsubscribe();
|
|
22530
|
+
}
|
|
22395
22531
|
}
|
|
22396
22532
|
/**
|
|
22397
22533
|
* @hidden
|
|
@@ -22413,6 +22549,13 @@ class DataBindingDirective {
|
|
|
22413
22549
|
this.applyState(state);
|
|
22414
22550
|
this.rebind();
|
|
22415
22551
|
}
|
|
22552
|
+
/**
|
|
22553
|
+
* @hidden
|
|
22554
|
+
*/
|
|
22555
|
+
onRowReorder(ev) {
|
|
22556
|
+
this.rowReorderService.reorderRows(ev, this.originalData);
|
|
22557
|
+
this.rebind();
|
|
22558
|
+
}
|
|
22416
22559
|
/**
|
|
22417
22560
|
* @hidden
|
|
22418
22561
|
*/
|
|
@@ -22445,14 +22588,14 @@ class DataBindingDirective {
|
|
|
22445
22588
|
this.dataChanged = false;
|
|
22446
22589
|
}
|
|
22447
22590
|
}
|
|
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 });
|
|
22591
|
+
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
22592
|
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
22593
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DataBindingDirective, decorators: [{
|
|
22451
22594
|
type: Directive,
|
|
22452
22595
|
args: [{
|
|
22453
22596
|
selector: '[kendoGridBinding]'
|
|
22454
22597
|
}]
|
|
22455
|
-
}], ctorParameters: function () { return [{ type: GridComponent }, { type: i0.ChangeDetectorRef }, { type: LocalDataChangesService }]; }, propDecorators: { skip: [{
|
|
22598
|
+
}], ctorParameters: function () { return [{ type: GridComponent }, { type: i0.ChangeDetectorRef }, { type: LocalDataChangesService }, { type: RowReorderService }]; }, propDecorators: { skip: [{
|
|
22456
22599
|
type: Input
|
|
22457
22600
|
}], sort: [{
|
|
22458
22601
|
type: Input
|
|
@@ -22469,7 +22612,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
22469
22612
|
|
|
22470
22613
|
/**
|
|
22471
22614
|
* A directive which stores the row selection state of the Grid in memory
|
|
22472
|
-
* ([see example]({% slug selection_grid %}#toc-
|
|
22615
|
+
* ([see example]({% slug selection_grid %}#toc-toggling-the-selection-functionality)).
|
|
22473
22616
|
*/
|
|
22474
22617
|
class SelectionDirective extends Selection {
|
|
22475
22618
|
constructor(ctx, cd) {
|
|
@@ -22502,7 +22645,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
22502
22645
|
}], ctorParameters: function () { return [{ type: ContextService }, { type: i0.ChangeDetectorRef }]; } });
|
|
22503
22646
|
|
|
22504
22647
|
/**
|
|
22505
|
-
* A directive which controls the expanded state of the master detail rows.
|
|
22648
|
+
* 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
22649
|
*/
|
|
22507
22650
|
class ExpandDetailsDirective {
|
|
22508
22651
|
constructor(grid) {
|
|
@@ -22819,7 +22962,7 @@ AutoCompleteFilterCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion:
|
|
|
22819
22962
|
[value]="currentFilter?.value">
|
|
22820
22963
|
</kendo-autocomplete>
|
|
22821
22964
|
</kendo-grid-filter-wrapper-cell>
|
|
22822
|
-
`, isInline: true, components: [{ type: FilterCellWrapperComponent, selector: "kendo-grid-filter-wrapper-cell", inputs: ["showOperators"] }, { type: i1$4.AutoCompleteComponent, selector: "kendo-autocomplete", inputs: ["highlightFirst", "focusableId", "data", "value", "valueField", "placeholder", "popupSettings", "listHeight", "loading", "clearButton", "suggest", "disabled", "itemDisabled", "readonly", "tabindex", "tabIndex", "filterable", "virtual", "size", "rounded", "fillMode"], outputs: ["valueChange", "filterChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoAutoComplete"] }], directives: [{ type: FilterInputDirective, selector: "[kendoFilterInput]", inputs: ["filterDelay", "columnLabel", "value"] }] });
|
|
22965
|
+
`, isInline: true, components: [{ type: FilterCellWrapperComponent, selector: "kendo-grid-filter-wrapper-cell", inputs: ["showOperators"] }, { type: i1$4.AutoCompleteComponent, selector: "kendo-autocomplete", inputs: ["highlightFirst", "focusableId", "data", "value", "valueField", "placeholder", "adaptiveMode", "title", "subtitle", "popupSettings", "listHeight", "loading", "clearButton", "suggest", "disabled", "itemDisabled", "readonly", "tabindex", "tabIndex", "filterable", "virtual", "size", "rounded", "fillMode"], outputs: ["valueChange", "filterChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoAutoComplete"] }], directives: [{ type: FilterInputDirective, selector: "[kendoFilterInput]", inputs: ["filterDelay", "columnLabel", "value"] }] });
|
|
22823
22966
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AutoCompleteFilterCellComponent, decorators: [{
|
|
22824
22967
|
type: Component,
|
|
22825
22968
|
args: [{
|
|
@@ -24428,28 +24571,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
24428
24571
|
|
|
24429
24572
|
/**
|
|
24430
24573
|
* Represents the `cancel` command of the Grid. You can apply this directive to any `button`
|
|
24431
|
-
* element inside a [CommandColumnComponent]({% slug api_grid_commandcolumncomponent %})
|
|
24574
|
+
* element inside a [CommandColumnComponent]({% slug api_grid_commandcolumncomponent %})
|
|
24575
|
+
* ([see example](slug:editing_directives_grid#toc-command-column-directives)).
|
|
24432
24576
|
* When an associated button with the directive is clicked, the
|
|
24433
24577
|
* [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
|
-
* ```
|
|
24578
|
+
* is triggered. When the row is not in the edit mode, the button with the `kendoGridCancelCommand` is automatically hidden.
|
|
24448
24579
|
*
|
|
24449
24580
|
* You can control the content of the button based on the state of the row.
|
|
24450
24581
|
*
|
|
24451
24582
|
* @example
|
|
24452
|
-
* ```html
|
|
24583
|
+
* ```html
|
|
24453
24584
|
* <kendo-grid>
|
|
24454
24585
|
* <kendo-grid-command-column title="command">
|
|
24455
24586
|
* <ng-template kendoGridCellTemplate let-isNew="isNew">
|
|
@@ -24537,23 +24668,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
24537
24668
|
|
|
24538
24669
|
/**
|
|
24539
24670
|
* Represents the `save` command of the Grid. You can apply this directive to any `button`
|
|
24540
|
-
* element inside a [CommandColumnComponent]({% slug api_grid_commandcolumncomponent %})
|
|
24671
|
+
* element inside a [CommandColumnComponent]({% slug api_grid_commandcolumncomponent %})
|
|
24672
|
+
* ([see example](slug:editing_directives_grid#toc-command-column-directives)).
|
|
24541
24673
|
* When an associated button with the directive is clicked, the
|
|
24542
24674
|
* [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
|
-
* ```
|
|
24675
|
+
* is triggered. When the row is not in the edit mode, the button with `kendoGridSaveCommand` is automatically hidden.
|
|
24557
24676
|
*
|
|
24558
24677
|
* You can control the content of the button based on the state of the row.
|
|
24559
24678
|
*
|
|
@@ -24646,15 +24765,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
24646
24765
|
|
|
24647
24766
|
/**
|
|
24648
24767
|
* Represents the `remove` command of the Grid. You can apply this directive to any `button` element
|
|
24649
|
-
* inside a [CommandColumnComponent]({% slug api_grid_commandcolumncomponent %})
|
|
24768
|
+
* inside a [CommandColumnComponent]({% slug api_grid_commandcolumncomponent %})
|
|
24769
|
+
* ([see example](slug:editing_directives_grid#toc-command-column-directives)).
|
|
24650
24770
|
* 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.
|
|
24771
|
+
* [remove]({% slug api_grid_gridcomponent %}#toc-remove) event
|
|
24772
|
+
* is triggered.
|
|
24773
|
+
* When the row is in the edit mode, the button with the `kendoGridRemoveCommand` is automatically hidden.
|
|
24655
24774
|
*
|
|
24656
24775
|
* @example
|
|
24657
|
-
* ```html
|
|
24776
|
+
* ```html
|
|
24658
24777
|
* <kendo-grid>
|
|
24659
24778
|
* <kendo-grid-command-column title="command">
|
|
24660
24779
|
* <ng-template kendoGridCellTemplate>
|
|
@@ -24746,7 +24865,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
24746
24865
|
* ([see example]({% slug basics_editing_grid %})).
|
|
24747
24866
|
*
|
|
24748
24867
|
* @example
|
|
24749
|
-
* ```html
|
|
24868
|
+
* ```html
|
|
24750
24869
|
* <kendo-grid>
|
|
24751
24870
|
* <ng-template kendoGridToolbarTemplate>
|
|
24752
24871
|
* <button kendoGridAddCommand>Add new</button>
|
|
@@ -24811,6 +24930,52 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
24811
24930
|
args: ['class.k-grid-add-command']
|
|
24812
24931
|
}] } });
|
|
24813
24932
|
|
|
24933
|
+
/**
|
|
24934
|
+
* Represents the drag handle for reordering rows in the Grid.
|
|
24935
|
+
*/
|
|
24936
|
+
class RowReorderColumnComponent extends ColumnBase {
|
|
24937
|
+
constructor(parent, idService) {
|
|
24938
|
+
super(parent, idService);
|
|
24939
|
+
this.parent = parent;
|
|
24940
|
+
/**
|
|
24941
|
+
* @hidden
|
|
24942
|
+
*/
|
|
24943
|
+
this.isRowReorderColumn = true;
|
|
24944
|
+
}
|
|
24945
|
+
}
|
|
24946
|
+
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 });
|
|
24947
|
+
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: [
|
|
24948
|
+
{
|
|
24949
|
+
provide: ColumnBase,
|
|
24950
|
+
useExisting: forwardRef(() => RowReorderColumnComponent)
|
|
24951
|
+
}
|
|
24952
|
+
], usesInheritance: true, ngImport: i0, template: ``, isInline: true });
|
|
24953
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: RowReorderColumnComponent, decorators: [{
|
|
24954
|
+
type: Component,
|
|
24955
|
+
args: [{
|
|
24956
|
+
providers: [
|
|
24957
|
+
{
|
|
24958
|
+
provide: ColumnBase,
|
|
24959
|
+
useExisting: forwardRef(() => RowReorderColumnComponent)
|
|
24960
|
+
}
|
|
24961
|
+
],
|
|
24962
|
+
selector: 'kendo-grid-rowreorder-column',
|
|
24963
|
+
template: ``
|
|
24964
|
+
}]
|
|
24965
|
+
}], ctorParameters: function () { return [{ type: ColumnBase, decorators: [{
|
|
24966
|
+
type: SkipSelf
|
|
24967
|
+
}, {
|
|
24968
|
+
type: Host
|
|
24969
|
+
}, {
|
|
24970
|
+
type: Optional
|
|
24971
|
+
}] }, { type: IdService, decorators: [{
|
|
24972
|
+
type: Optional
|
|
24973
|
+
}] }]; }, propDecorators: { dragHandleIcon: [{
|
|
24974
|
+
type: Input
|
|
24975
|
+
}], dragHandleSVGIcon: [{
|
|
24976
|
+
type: Input
|
|
24977
|
+
}] } });
|
|
24978
|
+
|
|
24814
24979
|
const exported = [
|
|
24815
24980
|
CommandColumnComponent,
|
|
24816
24981
|
CheckboxColumnComponent,
|
|
@@ -24826,7 +24991,8 @@ const exported = [
|
|
|
24826
24991
|
RemoveCommandDirective,
|
|
24827
24992
|
AddCommandDirective,
|
|
24828
24993
|
CellLoadingTemplateDirective,
|
|
24829
|
-
LoadingTemplateDirective
|
|
24994
|
+
LoadingTemplateDirective,
|
|
24995
|
+
RowReorderColumnComponent
|
|
24830
24996
|
];
|
|
24831
24997
|
const importedModules$1 = [
|
|
24832
24998
|
CommonModule,
|
|
@@ -24856,7 +25022,8 @@ class BodyModule {
|
|
|
24856
25022
|
RemoveCommandDirective,
|
|
24857
25023
|
AddCommandDirective,
|
|
24858
25024
|
CellLoadingTemplateDirective,
|
|
24859
|
-
LoadingTemplateDirective
|
|
25025
|
+
LoadingTemplateDirective,
|
|
25026
|
+
RowReorderColumnComponent
|
|
24860
25027
|
];
|
|
24861
25028
|
}
|
|
24862
25029
|
}
|
|
@@ -24875,7 +25042,8 @@ BodyModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13
|
|
|
24875
25042
|
RemoveCommandDirective,
|
|
24876
25043
|
AddCommandDirective,
|
|
24877
25044
|
CellLoadingTemplateDirective,
|
|
24878
|
-
LoadingTemplateDirective
|
|
25045
|
+
LoadingTemplateDirective,
|
|
25046
|
+
RowReorderColumnComponent], imports: [CommonModule,
|
|
24879
25047
|
ReactiveFormsModule,
|
|
24880
25048
|
FormsModule,
|
|
24881
25049
|
SharedModule,
|
|
@@ -24896,7 +25064,8 @@ BodyModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13
|
|
|
24896
25064
|
RemoveCommandDirective,
|
|
24897
25065
|
AddCommandDirective,
|
|
24898
25066
|
CellLoadingTemplateDirective,
|
|
24899
|
-
LoadingTemplateDirective
|
|
25067
|
+
LoadingTemplateDirective,
|
|
25068
|
+
RowReorderColumnComponent] });
|
|
24900
25069
|
BodyModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: BodyModule, imports: [[...importedModules$1]] });
|
|
24901
25070
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: BodyModule, decorators: [{
|
|
24902
25071
|
type: NgModule,
|
|
@@ -25146,7 +25315,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
25146
25315
|
|
|
25147
25316
|
/**
|
|
25148
25317
|
* 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-
|
|
25318
|
+
* the Template-Driven Angular Forms ([see example]({% slug editing_directives_grid %}#toc-template-editing-directive)).
|
|
25150
25319
|
*/
|
|
25151
25320
|
class TemplateEditingDirective extends RowEditingDirectiveBase {
|
|
25152
25321
|
constructor(grid, localDataChangesService) {
|
|
@@ -25244,7 +25413,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
25244
25413
|
|
|
25245
25414
|
/**
|
|
25246
25415
|
* 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-
|
|
25416
|
+
* editing with Reactive Forms ([see example]({% slug editing_directives_grid %}#toc-in-cell-editing)).
|
|
25248
25417
|
*/
|
|
25249
25418
|
class InCellEditingDirective extends EditingDirectiveBase {
|
|
25250
25419
|
constructor(grid, localDataChangesService, cdr) {
|
|
@@ -25730,7 +25899,8 @@ GridModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13
|
|
|
25730
25899
|
RowFilterModule,
|
|
25731
25900
|
FilterMenuModule,
|
|
25732
25901
|
ResizeSensorModule,
|
|
25733
|
-
ColumnMenuModule
|
|
25902
|
+
ColumnMenuModule,
|
|
25903
|
+
DragAndDropModule$1], exports: [GridComponent,
|
|
25734
25904
|
ToolbarTemplateDirective,
|
|
25735
25905
|
ToolbarComponent,
|
|
25736
25906
|
GridSpacerComponent,
|
|
@@ -25743,7 +25913,7 @@ GridModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13
|
|
|
25743
25913
|
InCellEditingDirective,
|
|
25744
25914
|
ExpandDetailsDirective,
|
|
25745
25915
|
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] });
|
|
25916
|
+
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
25917
|
GridModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GridModule, imports: [[
|
|
25748
25918
|
CommonModule,
|
|
25749
25919
|
GroupModule,
|
|
@@ -25755,7 +25925,8 @@ GridModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13
|
|
|
25755
25925
|
RowFilterModule,
|
|
25756
25926
|
FilterMenuModule,
|
|
25757
25927
|
ResizeSensorModule,
|
|
25758
|
-
ColumnMenuModule
|
|
25928
|
+
ColumnMenuModule,
|
|
25929
|
+
DragAndDropModule$1
|
|
25759
25930
|
]] });
|
|
25760
25931
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GridModule, decorators: [{
|
|
25761
25932
|
type: NgModule,
|
|
@@ -25773,7 +25944,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
25773
25944
|
RowFilterModule,
|
|
25774
25945
|
FilterMenuModule,
|
|
25775
25946
|
ResizeSensorModule,
|
|
25776
|
-
ColumnMenuModule
|
|
25947
|
+
ColumnMenuModule,
|
|
25948
|
+
DragAndDropModule$1
|
|
25777
25949
|
]
|
|
25778
25950
|
}]
|
|
25779
25951
|
}] });
|
|
@@ -25792,50 +25964,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
25792
25964
|
|
|
25793
25965
|
/**
|
|
25794
25966
|
* 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
|
|
25967
|
+
* nest an `<ng-template>` tag with the `kendoGridPDFTemplate` directive inside `<kendo-grid-pdf>` tag.
|
|
25796
25968
|
*
|
|
25797
25969
|
* The template context provides the following fields:
|
|
25798
25970
|
* - `pageNumber`—Defines PDF page number.
|
|
25799
25971
|
* - `totalPages`—Defines the total number of PDF pages.
|
|
25800
25972
|
*
|
|
25801
25973
|
* @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
|
-
*
|
|
25974
|
+
* ```html
|
|
25975
|
+
* <kendo-grid [data]="gridData">
|
|
25976
|
+
* ...
|
|
25977
|
+
* <kendo-grid-pdf fileName="Products.pdf" paperSize="A4">
|
|
25978
|
+
* <ng-template kendoGridPDFTemplate let-pageNumber="pageNumber" let-totalPages="totalPages">
|
|
25979
|
+
* Page {{ pageNumber }} of {{ totalPages }}
|
|
25980
|
+
* </ng-template>
|
|
25981
|
+
* </kendo-grid-pdf>
|
|
25982
|
+
* </kendo-grid>
|
|
25839
25983
|
* ```
|
|
25840
25984
|
*/
|
|
25841
25985
|
class PDFTemplateDirective extends PDFExportTemplateDirective {
|
|
@@ -26541,13 +26685,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
26541
26685
|
/**
|
|
26542
26686
|
* Represents the `export-to-Excel` command of the Grid. You can apply this
|
|
26543
26687
|
* directive to any `button` element inside a
|
|
26544
|
-
* [ToolbarTemplate]({% slug
|
|
26688
|
+
* [ToolbarTemplate]({% slug api_grid_toolbartemplatedirective %}).
|
|
26545
26689
|
* When the user clicks a button associated with the directive, the
|
|
26546
26690
|
* [excelExport]({% slug api_grid_gridcomponent %}#toc-excelexport) event
|
|
26547
26691
|
* fires ([see example]({% slug excelexport_grid %})).
|
|
26548
26692
|
*
|
|
26549
26693
|
* @example
|
|
26550
|
-
* ```html
|
|
26694
|
+
* ```html
|
|
26551
26695
|
* <kendo-grid>
|
|
26552
26696
|
* <ng-template kendoGridToolbarTemplate>
|
|
26553
26697
|
* <button kendoGridExcelCommand>Export to PDF</button>
|
|
@@ -26665,5 +26809,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
26665
26809
|
* Generated bundle index. Do not edit.
|
|
26666
26810
|
*/
|
|
26667
26811
|
|
|
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 };
|
|
26812
|
+
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
26813
|
|