@progress/kendo-angular-grid 16.11.0-develop.1 → 16.11.0-develop.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -35,7 +35,7 @@ import { ResponsiveService } from "./layout/responsive.service";
35
35
  import { ExcelService } from './excel/excel.service';
36
36
  import { ExcelExportEvent } from './excel/excel-export-event';
37
37
  import { ColumnList } from './columns/column-list';
38
- import { RowClassFn, RowSelectedFn, RowStickyFn } from './rendering/common/row-class';
38
+ import { RowClassFn, RowSelectedFn, RowStickyFn, RowSelectableFn } from './rendering/common/row-class';
39
39
  import { ToolbarTemplateDirective } from "./rendering/toolbar/toolbar-template.directive";
40
40
  import { EditEvent } from "./editing/edit-event-args.interface";
41
41
  import { RemoveEvent } from "./editing/remove-event-args.interface";
@@ -91,8 +91,8 @@ import * as i0 from "@angular/core";
91
91
  */
92
92
  export declare class GridComponent implements AfterContentInit, AfterViewInit, OnDestroy, OnChanges, OnInit {
93
93
  private supportService;
94
- private selectionService;
95
- private cellSelectionService;
94
+ selectionService: SelectionService;
95
+ cellSelectionService: CellSelectionService;
96
96
  wrapper: ElementRef;
97
97
  private groupInfoService;
98
98
  groupsService: GroupsService;
@@ -315,6 +315,12 @@ export declare class GridComponent implements AfterContentInit, AfterViewInit, O
315
315
  */
316
316
  set rowSelected(fn: RowSelectedFn);
317
317
  get rowSelected(): RowSelectedFn;
318
+ /**
319
+ * Defines a Boolean function that is executed for each data row in the component.
320
+ * Determines whether the row will be selectable.
321
+ */
322
+ set isRowSelectable(fn: RowSelectableFn);
323
+ get isRowSelectable(): RowSelectableFn;
318
324
  /**
319
325
  * Defines a function that determines the selected state of a data cell.
320
326
  * Returns an object with `selected` and `item` properties.
@@ -559,6 +565,7 @@ export declare class GridComponent implements AfterContentInit, AfterViewInit, O
559
565
  private cachedWindowWidth;
560
566
  private defaultSelection;
561
567
  private _rowSelected;
568
+ private _isRowSelectable;
562
569
  private _cellSelected;
563
570
  private _customDetailTemplate;
564
571
  private _cellLoadingTemplate;
@@ -598,6 +605,10 @@ export declare class GridComponent implements AfterContentInit, AfterViewInit, O
598
605
  * @hidden
599
606
  */
600
607
  getHintSettings(type: string): any;
608
+ /**
609
+ * @hidden
610
+ */
611
+ blockArrowSelection: boolean;
601
612
  private selectionSubscription;
602
613
  private stateChangeSubscription;
603
614
  private groupExpandCollapseSubscription;
@@ -878,6 +889,10 @@ export declare class GridComponent implements AfterContentInit, AfterViewInit, O
878
889
  * @hidden
879
890
  */
880
891
  get flatData(): Array<any>;
892
+ /**
893
+ * @hidden
894
+ */
895
+ updateNavigationMetadata(): void;
881
896
  /**
882
897
  * @hidden
883
898
  */
@@ -905,7 +920,6 @@ export declare class GridComponent implements AfterContentInit, AfterViewInit, O
905
920
  private assertNavigable;
906
921
  private _rowClass;
907
922
  private navigationMetadata;
908
- private updateNavigationMetadata;
909
923
  private applyAutoSize;
910
924
  private onColumnRangeChange;
911
925
  private toggleDetailRowLegacy;
@@ -913,5 +927,5 @@ export declare class GridComponent implements AfterContentInit, AfterViewInit, O
913
927
  private shouldResetSelection;
914
928
  private notifyReorderContainers;
915
929
  static ɵfac: i0.ɵɵFactoryDeclaration<GridComponent, never>;
916
- static ɵcmp: i0.ɵɵComponentDeclaration<GridComponent, "kendo-grid", ["kendoGrid"], { "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"; }, { "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"; }, ["columns", "detailTemplateChildren", "cellLoadingTemplateChildren", "loadingTemplateChildren", "statusBarTemplateChildren", "noRecordsTemplateChildren", "pagerTemplateChildren", "toolbarTemplateChildren", "columnMenuTemplates"], never, true, never>;
930
+ static ɵcmp: i0.ɵɵComponentDeclaration<GridComponent, "kendo-grid", ["kendoGrid"], { "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"; "isRowSelectable": "isRowSelectable"; "cellSelected": "cellSelected"; "resizable": "resizable"; "reorderable": "reorderable"; "loading": "loading"; "columnMenu": "columnMenu"; "hideHeader": "hideHeader"; "isDetailExpanded": "isDetailExpanded"; "isGroupExpanded": "isGroupExpanded"; }, { "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"; }, ["columns", "detailTemplateChildren", "cellLoadingTemplateChildren", "loadingTemplateChildren", "statusBarTemplateChildren", "noRecordsTemplateChildren", "pagerTemplateChildren", "toolbarTemplateChildren", "columnMenuTemplates"], never, true, never>;
917
931
  }
package/index.d.ts CHANGED
@@ -155,7 +155,7 @@ export { ExcelComponent } from './excel/excel.component';
155
155
  export { ExcelService } from './excel/excel.service';
156
156
  export { ExcelExportEvent } from './excel/excel-export-event';
157
157
  export { FetchDataCallback } from './common/fetch-data-callback';
158
- export { RowClassFn, RowClassArgs, RowSelectedFn, RowStickyFn } from './rendering/common/row-class';
158
+ export { RowClassFn, RowClassArgs, RowSelectedFn, RowStickyFn, RowSelectableFn } from './rendering/common/row-class';
159
159
  export { RowArgs } from './rendering/common/row-args';
160
160
  export { EditEvent } from './editing/edit-event-args.interface';
161
161
  export { AddEvent } from './editing/add-event-args.interface';
@@ -112,6 +112,10 @@ export declare class NavigationService implements OnDestroy {
112
112
  private onWindowBlur;
113
113
  private onKeydown;
114
114
  private onTabout;
115
+ private handleVerticalArrowSelection;
116
+ private handleHorizontalArrowSelection;
117
+ private handleMultipleArrowCellSelection;
118
+ private handleMultipleArrowRowSelection;
115
119
  static ɵfac: i0.ɵɵFactoryDeclaration<NavigationService, [null, null, null, null, null, null, null, null, null, null, { optional: true; }]>;
116
120
  static ɵprov: i0.ɵɵInjectableDeclaration<NavigationService>;
117
121
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@progress/kendo-angular-grid",
3
- "version": "16.11.0-develop.1",
3
+ "version": "16.11.0-develop.2",
4
4
  "description": "Kendo UI Grid for Angular - high performance data grid with paging, filtering, virtualization, CRUD, and more.",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "author": "Progress",
@@ -33,25 +33,25 @@
33
33
  "@progress/kendo-data-query": "^1.0.0",
34
34
  "@progress/kendo-drawing": "^1.20.4",
35
35
  "@progress/kendo-licensing": "^1.0.2",
36
- "@progress/kendo-angular-buttons": "16.11.0-develop.1",
37
- "@progress/kendo-angular-common": "16.11.0-develop.1",
38
- "@progress/kendo-angular-dateinputs": "16.11.0-develop.1",
39
- "@progress/kendo-angular-layout": "16.11.0-develop.1",
40
- "@progress/kendo-angular-dropdowns": "16.11.0-develop.1",
41
- "@progress/kendo-angular-excel-export": "16.11.0-develop.1",
42
- "@progress/kendo-angular-icons": "16.11.0-develop.1",
43
- "@progress/kendo-angular-inputs": "16.11.0-develop.1",
44
- "@progress/kendo-angular-intl": "16.11.0-develop.1",
45
- "@progress/kendo-angular-l10n": "16.11.0-develop.1",
46
- "@progress/kendo-angular-label": "16.11.0-develop.1",
47
- "@progress/kendo-angular-pdf-export": "16.11.0-develop.1",
48
- "@progress/kendo-angular-popup": "16.11.0-develop.1",
49
- "@progress/kendo-angular-utils": "16.11.0-develop.1",
36
+ "@progress/kendo-angular-buttons": "16.11.0-develop.2",
37
+ "@progress/kendo-angular-common": "16.11.0-develop.2",
38
+ "@progress/kendo-angular-dateinputs": "16.11.0-develop.2",
39
+ "@progress/kendo-angular-layout": "16.11.0-develop.2",
40
+ "@progress/kendo-angular-dropdowns": "16.11.0-develop.2",
41
+ "@progress/kendo-angular-excel-export": "16.11.0-develop.2",
42
+ "@progress/kendo-angular-icons": "16.11.0-develop.2",
43
+ "@progress/kendo-angular-inputs": "16.11.0-develop.2",
44
+ "@progress/kendo-angular-intl": "16.11.0-develop.2",
45
+ "@progress/kendo-angular-l10n": "16.11.0-develop.2",
46
+ "@progress/kendo-angular-label": "16.11.0-develop.2",
47
+ "@progress/kendo-angular-pdf-export": "16.11.0-develop.2",
48
+ "@progress/kendo-angular-popup": "16.11.0-develop.2",
49
+ "@progress/kendo-angular-utils": "16.11.0-develop.2",
50
50
  "rxjs": "^6.5.3 || ^7.0.0"
51
51
  },
52
52
  "dependencies": {
53
53
  "tslib": "^2.3.1",
54
- "@progress/kendo-angular-schematics": "16.11.0-develop.1",
54
+ "@progress/kendo-angular-schematics": "16.11.0-develop.2",
55
55
  "@progress/kendo-common": "^0.2.0",
56
56
  "@progress/kendo-file-saver": "^1.0.0"
57
57
  },
@@ -45,6 +45,7 @@ export declare class CellComponent implements DoCheck {
45
45
  get isSpanColumn(): boolean;
46
46
  get childColumns(): ColumnComponent[];
47
47
  get isRowReorderColumn(): boolean;
48
+ get isRowSelectable(): boolean;
48
49
  private _rowIndex;
49
50
  private get isColumnEditable();
50
51
  private _templateContext;
@@ -38,6 +38,17 @@ export declare type RowClassFn = (context: RowClassArgs) => string | string[] |
38
38
  * ```
39
39
  */
40
40
  export declare type RowSelectedFn = (context: RowArgs) => boolean;
41
+ /**
42
+ * Represents the callback that is used to determine whether a given data row will be selectable. Used by the
43
+ * [isRowSelectable]({% slug api_grid_gridcomponent %}#toc-isrowselectable) property.
44
+ *
45
+ * ```ts
46
+ * isRowSelectableCallback({ dataItem, index }) {
47
+ * return index % 2 === 0;
48
+ * }
49
+ * ```
50
+ */
51
+ export declare type RowSelectableFn = (context: RowArgs) => boolean;
41
52
  /**
42
53
  * Represents the callback that is used to determine whether a given data row will be sticky.
43
54
  *
@@ -26,6 +26,7 @@ import { DataItem } from '../data/data-item.interface';
26
26
  import { SVGIcon } from '@progress/kendo-svg-icons';
27
27
  import { ContextService } from '../common/provider.service';
28
28
  import { ColumnsContainer } from '../columns/columns-container';
29
+ import { RowArgs } from './common/row-args';
29
30
  import * as i0 from "@angular/core";
30
31
  /**
31
32
  * @hidden
@@ -98,8 +99,9 @@ export declare class TableBodyComponent implements OnInit, OnDestroy, OnChanges,
98
99
  }): boolean;
99
100
  isParentGroupExpanded(item: GroupItem): boolean;
100
101
  isOdd(item: any): boolean;
101
- isSelectable(): boolean;
102
+ isSelectable(args: RowArgs): boolean;
102
103
  isRowSelected(item: any): boolean;
104
+ isRowSelectable(args: RowArgs): boolean;
103
105
  trackByWrapper(index: number, item: GridItem): any;
104
106
  trackByColumns(index: number, item: any): any;
105
107
  ngDoCheck(): void;
@@ -4,14 +4,14 @@ const schematics_1 = require("@angular-devkit/schematics");
4
4
  function default_1(options) {
5
5
  const finalOptions = Object.assign(Object.assign({}, options), { mainNgModule: 'GridModule', package: 'grid', peerDependencies: {
6
6
  // peer deps of the dropdowns
7
- '@progress/kendo-angular-treeview': '16.11.0-develop.1',
8
- '@progress/kendo-angular-navigation': '16.11.0-develop.1',
7
+ '@progress/kendo-angular-treeview': '16.11.0-develop.2',
8
+ '@progress/kendo-angular-navigation': '16.11.0-develop.2',
9
9
  // peer dependency of kendo-angular-inputs
10
- '@progress/kendo-angular-dialog': '16.11.0-develop.1',
10
+ '@progress/kendo-angular-dialog': '16.11.0-develop.2',
11
11
  // peer dependency of kendo-angular-icons
12
12
  '@progress/kendo-svg-icons': '^3.0.0',
13
13
  // peer dependency of kendo-angular-layout
14
- '@progress/kendo-angular-progressbar': '16.11.0-develop.1'
14
+ '@progress/kendo-angular-progressbar': '16.11.0-develop.2'
15
15
  } });
16
16
  return (0, schematics_1.externalSchematic)('@progress/kendo-angular-schematics', 'ng-add', finalOptions);
17
17
  }
@@ -10,6 +10,7 @@ import { ColumnBase } from '../columns/column-base';
10
10
  import { NavigationService } from '../navigation/navigation.service';
11
11
  import { SelectionAggregates } from '../aggregates/aggregate-types';
12
12
  import { CellSelectionAggregateService } from '../aggregates/selection-aggregate.service';
13
+ import { RowSelectableFn } from '../rendering/common/row-class';
13
14
  import * as i0 from "@angular/core";
14
15
  /**
15
16
  * @hidden
@@ -17,6 +18,7 @@ import * as i0 from "@angular/core";
17
18
  declare type CellSelectionServiceSettings = {
18
19
  cellSelected: CellSelectedFn;
19
20
  selectable: boolean | SelectableSettings;
21
+ isRowSelectable: RowSelectableFn;
20
22
  view: {
21
23
  accessor: Function;
22
24
  at: Function;
@@ -38,7 +40,9 @@ export declare class CellSelectionService implements OnDestroy {
38
40
  settings: CellSelectionServiceSettings;
39
41
  active: boolean;
40
42
  aggregates: SelectionAggregates;
43
+ nonSelectableRows: Map<any, any>;
41
44
  get enableMarquee(): boolean;
45
+ get hasNonSelectable(): boolean;
42
46
  mouseDownEventArgs: any;
43
47
  mouseUpEventArgs: any;
44
48
  dragging: boolean;
@@ -5,6 +5,7 @@
5
5
  import { Renderer2, ElementRef, OnDestroy, AfterContentChecked, OnChanges, EventEmitter, NgZone } from '@angular/core';
6
6
  import { SelectionService } from './selection.service';
7
7
  import { SelectAllCheckboxState } from './types';
8
+ import { CellSelectionService } from './cell-selection.service';
8
9
  import * as i0 from "@angular/core";
9
10
  /**
10
11
  * Represents the select-all checkbox feature of the Grid ([see example](slug:grid_selection_persistence#toc-selecting-all-items)).
@@ -22,6 +23,7 @@ import * as i0 from "@angular/core";
22
23
  */
23
24
  export declare class SelectAllCheckboxDirective implements AfterContentChecked, OnDestroy, OnChanges {
24
25
  private selectionService;
26
+ private cellSelectionService;
25
27
  private el;
26
28
  private renderer;
27
29
  private ngZone;
@@ -39,7 +41,7 @@ export declare class SelectAllCheckboxDirective implements AfterContentChecked,
39
41
  private stateSet;
40
42
  ngAfterContentChecked(): void;
41
43
  ngOnChanges(): void;
42
- constructor(selectionService: SelectionService, el: ElementRef, renderer: Renderer2, ngZone: NgZone);
44
+ constructor(selectionService: SelectionService, cellSelectionService: CellSelectionService, el: ElementRef, renderer: Renderer2, ngZone: NgZone);
43
45
  ngOnDestroy(): void;
44
46
  /**
45
47
  * @hidden
@@ -5,6 +5,7 @@
5
5
  import { AfterContentChecked, ElementRef, Renderer2, OnDestroy, NgZone } from '@angular/core';
6
6
  import { SelectionService } from './selection.service';
7
7
  import { CellSelectionAggregateService } from '../aggregates/selection-aggregate.service';
8
+ import { CellSelectionService } from './cell-selection.service';
8
9
  import * as i0 from "@angular/core";
9
10
  /**
10
11
  * Represents the row-selection checkbox of the Grid. The directive expects the
@@ -26,6 +27,7 @@ import * as i0 from "@angular/core";
26
27
  */
27
28
  export declare class SelectionCheckboxDirective implements AfterContentChecked, OnDestroy {
28
29
  private selectionService;
30
+ private cellSelectionService;
29
31
  private aggregateService;
30
32
  private el;
31
33
  private renderer;
@@ -38,7 +40,7 @@ export declare class SelectionCheckboxDirective implements AfterContentChecked,
38
40
  private destroyClick;
39
41
  private destroyKeyDown;
40
42
  ngAfterContentChecked(): void;
41
- constructor(selectionService: SelectionService, aggregateService: CellSelectionAggregateService, el: ElementRef, renderer: Renderer2, ngZone: NgZone);
43
+ constructor(selectionService: SelectionService, cellSelectionService: CellSelectionService, aggregateService: CellSelectionAggregateService, el: ElementRef, renderer: Renderer2, ngZone: NgZone);
42
44
  ngOnDestroy(): void;
43
45
  private onClick;
44
46
  private onKeyDown;
@@ -4,7 +4,7 @@
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import { EventEmitter, OnDestroy } from '@angular/core';
6
6
  import { SelectableSettings, SelectionEvent } from './types';
7
- import { RowSelectedFn } from '../rendering/common/row-class';
7
+ import { RowSelectableFn, RowSelectedFn } from '../rendering/common/row-class';
8
8
  import { DomEventsService } from '../common/dom-events.service';
9
9
  import { LocalDataChangesService } from '../editing/local-data-changes.service';
10
10
  import { NavigationService } from '../navigation/navigation.service';
@@ -17,6 +17,7 @@ import * as i0 from "@angular/core";
17
17
  */
18
18
  declare type SelectionServiceSettings = {
19
19
  rowSelected: RowSelectedFn;
20
+ isRowSelectable: RowSelectableFn;
20
21
  selectable: boolean | SelectableSettings;
21
22
  view: {
22
23
  accessor: Function;
@@ -36,6 +37,7 @@ export declare class SelectionService implements OnDestroy {
36
37
  changes: EventEmitter<SelectionEvent>;
37
38
  lastSelectionStartIndex: any;
38
39
  currentSelection: any[];
40
+ nonSelectableRows: Map<any, any>;
39
41
  selectAllChecked: boolean;
40
42
  settings: SelectionServiceSettings;
41
43
  active: boolean;
@@ -43,6 +45,7 @@ export declare class SelectionService implements OnDestroy {
43
45
  get enableMarquee(): boolean;
44
46
  mouseDownEventArgs: any;
45
47
  dragging: boolean;
48
+ get hasNonSelectable(): boolean;
46
49
  private cellClickSubscription;
47
50
  private mousedownSubscription;
48
51
  private dataChangedSubscription;
@@ -106,6 +106,11 @@ export interface SelectableSettings {
106
106
  *
107
107
  */
108
108
  drag?: boolean;
109
+ /**
110
+ * Determines whether a meta key (Ctrl or Command) will be needed to perform multiple selection. By default, adding a new row or cell to the selection requires pressing a meta key.
111
+ *
112
+ */
113
+ metaKeyMultiSelect?: boolean;
109
114
  }
110
115
  /**
111
116
  * Represents the available selection modes. [See example](slug:grid_row_selection).