@progress/kendo-angular-grid 13.0.0-develop.2 → 13.0.0-develop.20

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.
Files changed (75) hide show
  1. package/aggregates/aggregate-types.d.ts +58 -0
  2. package/aggregates/status-bar-template.directive.d.ts +19 -0
  3. package/aggregates/status-bar.component.d.ts +53 -0
  4. package/column-menu/column-chooser.component.d.ts +1 -1
  5. package/column-menu/column-menu-autosize-all.component.d.ts +3 -4
  6. package/column-menu/column-menu-chooser.component.d.ts +3 -4
  7. package/column-menu/column-menu-filter.component.d.ts +3 -4
  8. package/column-menu/column-menu-lock.component.d.ts +3 -4
  9. package/column-menu/column-menu-position.component.d.ts +3 -4
  10. package/column-menu/column-menu-sort.component.d.ts +4 -2
  11. package/esm2020/aggregates/aggregate-types.mjs +6 -0
  12. package/esm2020/aggregates/status-bar-template.directive.mjs +26 -0
  13. package/esm2020/aggregates/status-bar.component.mjs +236 -0
  14. package/esm2020/column-menu/column-chooser.component.mjs +1 -1
  15. package/esm2020/column-menu/column-list.component.mjs +3 -3
  16. package/esm2020/column-menu/column-menu-autosize-all.component.mjs +3 -4
  17. package/esm2020/column-menu/column-menu-chooser.component.mjs +4 -5
  18. package/esm2020/column-menu/column-menu-filter.component.mjs +4 -5
  19. package/esm2020/column-menu/column-menu-item.component.mjs +1 -1
  20. package/esm2020/column-menu/column-menu-lock.component.mjs +3 -4
  21. package/esm2020/column-menu/column-menu-position.component.mjs +3 -4
  22. package/esm2020/column-menu/column-menu-sort.component.mjs +4 -2
  23. package/esm2020/column-menu/column-menu.component.mjs +1 -1
  24. package/esm2020/editing/add-command.directive.mjs +1 -1
  25. package/esm2020/editing/cancel-command.directive.mjs +1 -1
  26. package/esm2020/editing/edit-command.directive.mjs +1 -1
  27. package/esm2020/editing/remove-command.directive.mjs +1 -1
  28. package/esm2020/editing/save-command.directive.mjs +1 -1
  29. package/esm2020/excel/excel-command.directive.mjs +1 -1
  30. package/esm2020/filtering/cell/boolean-filter-cell.component.mjs +1 -1
  31. package/esm2020/filtering/cell/filter-cell-operators.component.mjs +15 -1
  32. package/esm2020/filtering/cell/filter-cell-wrapper.component.mjs +3 -1
  33. package/esm2020/filtering/cell/string-filter-cell.component.mjs +1 -1
  34. package/esm2020/filtering/filter-input.directive.mjs +5 -1
  35. package/esm2020/filtering/menu/filter-menu-container.component.mjs +11 -11
  36. package/esm2020/filtering/menu/filter-menu.component.mjs +1 -1
  37. package/esm2020/grid.component.mjs +574 -540
  38. package/esm2020/grid.module.mjs +10 -2
  39. package/esm2020/grouping/group-header.component.mjs +25 -8
  40. package/esm2020/grouping/group-panel.component.mjs +2 -2
  41. package/esm2020/index.mjs +1 -0
  42. package/esm2020/localization/messages.mjs +5 -1
  43. package/esm2020/package-metadata.mjs +2 -2
  44. package/esm2020/pager/pager-element.component.mjs +17 -0
  45. package/esm2020/pager/pager-next-buttons.component.mjs +8 -11
  46. package/esm2020/pager/pager-page-sizes.component.mjs +1 -1
  47. package/esm2020/pager/pager-prev-buttons.component.mjs +8 -11
  48. package/esm2020/pdf/pdf-command.directive.mjs +1 -1
  49. package/esm2020/rendering/cell.component.mjs +1 -1
  50. package/esm2020/rendering/header/header.component.mjs +1 -1
  51. package/esm2020/rendering/list.component.mjs +12 -14
  52. package/esm2020/rendering/table-body.component.mjs +1 -1
  53. package/esm2020/selection/cell-selection.service.mjs +20 -1
  54. package/esm2020/selection/selection-checkbox.directive.mjs +2 -0
  55. package/esm2020/selection/selection-default.mjs +14 -1
  56. package/esm2020/selection/selection.service.mjs +31 -5
  57. package/fesm2015/progress-kendo-angular-grid.mjs +1026 -646
  58. package/fesm2020/progress-kendo-angular-grid.mjs +1027 -646
  59. package/filtering/cell/filter-cell-operators.component.d.ts +10 -1
  60. package/grid.component.d.ts +10 -1
  61. package/grid.module.d.ts +100 -98
  62. package/grouping/group-header.component.d.ts +6 -3
  63. package/grouping/group-panel.component.d.ts +0 -1
  64. package/index.d.ts +2 -0
  65. package/localization/messages.d.ts +25 -1
  66. package/package.json +16 -16
  67. package/pager/pager-element.component.d.ts +9 -0
  68. package/pager/pager-next-buttons.component.d.ts +0 -3
  69. package/pager/pager-prev-buttons.component.d.ts +0 -3
  70. package/schematics/ngAdd/index.js +3 -3
  71. package/scrolling/scroll-request.service.d.ts +6 -0
  72. package/selection/cell-selection.service.d.ts +3 -0
  73. package/selection/selection-default.d.ts +17 -2
  74. package/selection/selection.service.d.ts +8 -2
  75. package/selection/types.d.ts +27 -0
@@ -8,6 +8,7 @@ import { LocalDataChangesService } from '../editing/local-data-changes.service';
8
8
  import { CellSelectedFn, SelectionEvent, SelectableSettings, CellSelectionItem } from './types';
9
9
  import { ColumnBase } from '../columns/column-base';
10
10
  import { NavigationService } from '../navigation/navigation.service';
11
+ import { SelectionAggregates } from '../aggregates/aggregate-types';
11
12
  import * as i0 from "@angular/core";
12
13
  /**
13
14
  * @hidden
@@ -30,10 +31,12 @@ export declare class CellSelectionService implements OnDestroy {
30
31
  private localDataChangesService?;
31
32
  private navigationService?;
32
33
  changes: EventEmitter<SelectionEvent>;
34
+ aggregateChanges: EventEmitter<SelectionEvent>;
33
35
  mouseUpEvent: EventEmitter<any>;
34
36
  currentSelection: CellSelectionItem[];
35
37
  settings: CellSelectionServiceSettings;
36
38
  active: boolean;
39
+ aggregates: SelectionAggregates;
37
40
  get enableMarquee(): boolean;
38
41
  mouseDownEventArgs: any;
39
42
  mouseUpEventArgs: any;
@@ -21,6 +21,18 @@ export declare class Selection {
21
21
  * @default []
22
22
  */
23
23
  selectedKeys: any[];
24
+ /**
25
+ * Defines the initial shift-click range selection starting row index.
26
+ *
27
+ * @default 0
28
+ */
29
+ rangeSelectionStartRow: RowArgs;
30
+ /**
31
+ * Defines the initial shift-click range selection starting column index when cell selection is enabled.
32
+ *
33
+ * @default 0
34
+ */
35
+ rangeSelectionStartColumnIndex: number;
24
36
  /**
25
37
  * Defines the item key that will be stored in the `selectedKeys` collection.
26
38
  */
@@ -52,12 +64,15 @@ export declare class Selection {
52
64
  * @hidden
53
65
  */
54
66
  reset(): void;
55
- protected getItemKey(row: RowArgs): any;
67
+ /**
68
+ * @hidden
69
+ */
70
+ getItemKey(row: RowArgs): any;
56
71
  protected getSelectionItem(row: RowArgs, col: ColumnComponent, colIndex: number): CellSelectionItem;
57
72
  protected onSelectionChange(selection: SelectionEvent): void;
58
73
  private notifyChange;
59
74
  private setState;
60
75
  private stateToArray;
61
76
  static ɵfac: i0.ɵɵFactoryDeclaration<Selection, never>;
62
- static ɵdir: i0.ɵɵDirectiveDeclaration<Selection, "kendo-grid-selection-base", never, { "selectedKeys": "selectedKeys"; "selectionKey": "kendoGridSelectBy"; "columnKey": "columnKey"; }, { "selectedKeysChange": "selectedKeysChange"; }, never>;
77
+ static ɵdir: i0.ɵɵDirectiveDeclaration<Selection, "kendo-grid-selection-base", never, { "selectedKeys": "selectedKeys"; "rangeSelectionStartRow": "rangeSelectionStartRow"; "rangeSelectionStartColumnIndex": "rangeSelectionStartColumnIndex"; "selectionKey": "kendoGridSelectBy"; "columnKey": "columnKey"; }, { "selectedKeysChange": "selectedKeysChange"; }, never>;
63
78
  }
@@ -8,6 +8,8 @@ import { 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';
11
+ import { SelectionAggregates } from '../aggregates/aggregate-types';
12
+ import { ContextService } from '../common/provider.service';
11
13
  import * as i0 from "@angular/core";
12
14
  /**
13
15
  * @hidden
@@ -28,20 +30,24 @@ export declare class SelectionService implements OnDestroy {
28
30
  private domEvents;
29
31
  private localDataChangesService?;
30
32
  private navigationService?;
33
+ private ctxService?;
31
34
  changes: EventEmitter<SelectionEvent>;
32
- lastSelectionStartIndex: number;
35
+ aggregateChanges: EventEmitter<SelectionEvent>;
36
+ lastSelectionStartIndex: any;
33
37
  currentSelection: any[];
34
38
  selectAllChecked: boolean;
35
39
  settings: SelectionServiceSettings;
36
40
  active: boolean;
41
+ aggregates: SelectionAggregates;
37
42
  get enableMarquee(): boolean;
38
43
  mouseDownEventArgs: any;
39
44
  dragging: boolean;
40
45
  private cellClickSubscription;
41
46
  private mousedownSubscription;
42
47
  private dataChangedSubscription;
48
+ private lastSelectionData;
43
49
  private _selectAllState;
44
- constructor(domEvents: DomEventsService, localDataChangesService?: LocalDataChangesService, navigationService?: NavigationService);
50
+ constructor(domEvents: DomEventsService, localDataChangesService?: LocalDataChangesService, navigationService?: NavigationService, ctxService?: ContextService);
45
51
  init(settings: any): void;
46
52
  isSelected(index: number): boolean;
47
53
  handleClick(item: any, event: any): void;
@@ -2,6 +2,7 @@
2
2
  * Copyright © 2023 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
+ import { SelectionAggregate, SelectionAggregates } from '../aggregates/aggregate-types';
5
6
  import { ColumnComponent } from './../columns/column.component';
6
7
  import { RowArgs } from './../rendering/common/row-args';
7
8
  /**
@@ -16,6 +17,10 @@ export declare type CellSelectedFn = (row: RowArgs, column: ColumnComponent, col
16
17
  * Arguments for the Grid [`selectionChange`](slug:api_grid_gridcomponent#toc-selectionchange) event.
17
18
  */
18
19
  export interface SelectionEvent {
20
+ /**
21
+ * The cell selection aggregates.
22
+ */
23
+ cellAggregates?: SelectionAggregates;
19
24
  /**
20
25
  * The row items that were added to the selection.
21
26
  */
@@ -40,6 +45,22 @@ export interface SelectionEvent {
40
45
  * Shows the state of the `Shift` key during the selection.
41
46
  */
42
47
  shiftKey?: boolean;
48
+ /**
49
+ * Represents the initially clicked row in a shift-click range row selection
50
+ */
51
+ rangeStartRow?: RowArgs;
52
+ /**
53
+ * Represents the shift-clicked item in a shift-click range row selection
54
+ */
55
+ rangeEndRow?: RowArgs;
56
+ /**
57
+ * Represents the initially clicked cell in a shift-click range cell selection
58
+ */
59
+ rangeStartCell?: CellSelectionItem;
60
+ /**
61
+ * Represents the shift-clicked cell in a shift-click range cell selection
62
+ */
63
+ rangeEndCell?: CellSelectionItem;
43
64
  }
44
65
  /**
45
66
  * The settings for the selection functionality of the Grid ([more information and example]({% slug selection_grid %}#toc-setup)).
@@ -53,6 +74,12 @@ export interface SelectionEvent {
53
74
  * ```
54
75
  */
55
76
  export interface SelectableSettings {
77
+ /**
78
+ * Determines if selection aggregates will be enabled. By default the property is set to `false`.
79
+ * If cellAggregates is set to `true` it will calculate all aggregate options.
80
+ * You can choose which aggregates to calculate by passing an array of [SelectionAggregate]({% slug api_grid_selectionaggregate %}) type options.
81
+ */
82
+ cellAggregates?: boolean | SelectionAggregate[];
56
83
  /**
57
84
  * Determines if selection is allowed.
58
85
  *