@progress/kendo-angular-grid 16.11.0-develop.1 → 16.11.0-develop.3
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/columns/checkbox-column.component.d.ts +15 -3
- package/esm2020/columns/checkbox-column.component.mjs +25 -7
- package/esm2020/databinding.directive.mjs +1 -0
- package/esm2020/grid.component.mjs +34 -4
- package/esm2020/navigation/navigation-cursor.mjs +9 -0
- package/esm2020/navigation/navigation.service.mjs +98 -6
- package/esm2020/package-metadata.mjs +2 -2
- package/esm2020/rendering/cell.component.mjs +41 -14
- package/esm2020/rendering/table-body.component.mjs +21 -12
- package/esm2020/selection/cell-selection.service.mjs +18 -8
- package/esm2020/selection/selectall-checkbox.directive.mjs +11 -9
- package/esm2020/selection/selection-checkbox.directive.mjs +27 -10
- package/esm2020/selection/selection-default.mjs +3 -0
- package/esm2020/selection/selection.service.mjs +43 -14
- package/fesm2015/progress-kendo-angular-grid.mjs +1478 -1233
- package/fesm2020/progress-kendo-angular-grid.mjs +1209 -969
- package/grid.component.d.ts +19 -5
- package/index.d.ts +1 -1
- package/navigation/navigation.service.d.ts +4 -0
- package/package.json +16 -16
- package/rendering/cell.component.d.ts +1 -0
- package/rendering/common/row-class.d.ts +11 -0
- package/rendering/table-body.component.d.ts +3 -1
- package/schematics/ngAdd/index.js +4 -4
- package/selection/cell-selection.service.d.ts +4 -0
- package/selection/selectall-checkbox.directive.d.ts +3 -1
- package/selection/selection-checkbox.directive.d.ts +3 -1
- package/selection/selection.service.d.ts +4 -1
- package/selection/types.d.ts +5 -0
package/grid.component.d.ts
CHANGED
|
@@ -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
|
-
|
|
95
|
-
|
|
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.
|
|
3
|
+
"version": "16.11.0-develop.3",
|
|
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.
|
|
37
|
-
"@progress/kendo-angular-common": "16.11.0-develop.
|
|
38
|
-
"@progress/kendo-angular-dateinputs": "16.11.0-develop.
|
|
39
|
-
"@progress/kendo-angular-layout": "16.11.0-develop.
|
|
40
|
-
"@progress/kendo-angular-dropdowns": "16.11.0-develop.
|
|
41
|
-
"@progress/kendo-angular-excel-export": "16.11.0-develop.
|
|
42
|
-
"@progress/kendo-angular-icons": "16.11.0-develop.
|
|
43
|
-
"@progress/kendo-angular-inputs": "16.11.0-develop.
|
|
44
|
-
"@progress/kendo-angular-intl": "16.11.0-develop.
|
|
45
|
-
"@progress/kendo-angular-l10n": "16.11.0-develop.
|
|
46
|
-
"@progress/kendo-angular-label": "16.11.0-develop.
|
|
47
|
-
"@progress/kendo-angular-pdf-export": "16.11.0-develop.
|
|
48
|
-
"@progress/kendo-angular-popup": "16.11.0-develop.
|
|
49
|
-
"@progress/kendo-angular-utils": "16.11.0-develop.
|
|
36
|
+
"@progress/kendo-angular-buttons": "16.11.0-develop.3",
|
|
37
|
+
"@progress/kendo-angular-common": "16.11.0-develop.3",
|
|
38
|
+
"@progress/kendo-angular-dateinputs": "16.11.0-develop.3",
|
|
39
|
+
"@progress/kendo-angular-layout": "16.11.0-develop.3",
|
|
40
|
+
"@progress/kendo-angular-dropdowns": "16.11.0-develop.3",
|
|
41
|
+
"@progress/kendo-angular-excel-export": "16.11.0-develop.3",
|
|
42
|
+
"@progress/kendo-angular-icons": "16.11.0-develop.3",
|
|
43
|
+
"@progress/kendo-angular-inputs": "16.11.0-develop.3",
|
|
44
|
+
"@progress/kendo-angular-intl": "16.11.0-develop.3",
|
|
45
|
+
"@progress/kendo-angular-l10n": "16.11.0-develop.3",
|
|
46
|
+
"@progress/kendo-angular-label": "16.11.0-develop.3",
|
|
47
|
+
"@progress/kendo-angular-pdf-export": "16.11.0-develop.3",
|
|
48
|
+
"@progress/kendo-angular-popup": "16.11.0-develop.3",
|
|
49
|
+
"@progress/kendo-angular-utils": "16.11.0-develop.3",
|
|
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.
|
|
54
|
+
"@progress/kendo-angular-schematics": "16.11.0-develop.3",
|
|
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.
|
|
8
|
-
'@progress/kendo-angular-navigation': '16.11.0-develop.
|
|
7
|
+
'@progress/kendo-angular-treeview': '16.11.0-develop.3',
|
|
8
|
+
'@progress/kendo-angular-navigation': '16.11.0-develop.3',
|
|
9
9
|
// peer dependency of kendo-angular-inputs
|
|
10
|
-
'@progress/kendo-angular-dialog': '16.11.0-develop.
|
|
10
|
+
'@progress/kendo-angular-dialog': '16.11.0-develop.3',
|
|
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.
|
|
14
|
+
'@progress/kendo-angular-progressbar': '16.11.0-develop.3'
|
|
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;
|
package/selection/types.d.ts
CHANGED
|
@@ -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).
|