@progress/kendo-angular-grid 7.0.2-dev.202205230854 → 7.1.0-dev.202205311232

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.
@@ -1515,6 +1515,8 @@ class NavigationService {
1515
1515
  this.mode = 0 /* Standby */;
1516
1516
  this.model = new NavigationModel();
1517
1517
  this.cursor = new NavigationCursor(this.model);
1518
+ this.pagerIsNavigable = false;
1519
+ this.tableIsNavigable = false;
1518
1520
  this.changes = this.cursor.changes;
1519
1521
  }
1520
1522
  set metadata(value) {
@@ -1527,6 +1529,12 @@ class NavigationService {
1527
1529
  get enabled() {
1528
1530
  return this.alive;
1529
1531
  }
1532
+ get pagerEnabled() {
1533
+ return this.alive && this.pagerIsNavigable;
1534
+ }
1535
+ get tableEnabled() {
1536
+ return this.alive && this.tableIsNavigable;
1537
+ }
1530
1538
  get activeCell() {
1531
1539
  if (this.mode !== 0 /* Standby */) {
1532
1540
  return this.cursor.cell;
@@ -1542,7 +1550,8 @@ class NavigationService {
1542
1550
  get activeDataRow() {
1543
1551
  return Math.max(0, this.activeRowIndex - this.meta.headerRows);
1544
1552
  }
1545
- init(meta) {
1553
+ init(meta, navigableOptions) {
1554
+ this.setActiveSections(navigableOptions);
1546
1555
  this.alive = true;
1547
1556
  this.focusRoot.active = true;
1548
1557
  this.metadata = meta;
@@ -1718,6 +1727,10 @@ class NavigationService {
1718
1727
  autoFocusCell(start, end) {
1719
1728
  return !this.meta.virtualColumns || end < this.meta.columns.lockedLeafColumns.length || this.columnViewport.intersects(start, end);
1720
1729
  }
1730
+ setActiveSections(navigableOptions) {
1731
+ this.pagerIsNavigable = navigableOptions.includes('pager');
1732
+ this.tableIsNavigable = navigableOptions.includes('table');
1733
+ }
1721
1734
  focusAdjacentCell(fwd, wrap) {
1722
1735
  this.focusCell();
1723
1736
  let success = fwd ? this.moveCursorFwd() : this.moveCursorBwd();
@@ -2822,7 +2835,7 @@ const packageMetadata = {
2822
2835
  name: '@progress/kendo-angular-grid',
2823
2836
  productName: 'Kendo UI for Angular',
2824
2837
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
2825
- publishDate: 1653295994,
2838
+ publishDate: 1654000234,
2826
2839
  version: '',
2827
2840
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning'
2828
2841
  };
@@ -7729,7 +7742,7 @@ class PagerComponent {
7729
7742
  return this._isFocused;
7730
7743
  }
7731
7744
  get pagerAriaLabel() {
7732
- return this.navigationService.enabled ? this.pagerLabel : undefined;
7745
+ return this.navigationService.pagerEnabled ? this.pagerLabel : undefined;
7733
7746
  }
7734
7747
  /**
7735
7748
  * @hidden
@@ -7742,7 +7755,7 @@ class PagerComponent {
7742
7755
  return this.focusGroup.isActive ? '0' : '-1';
7743
7756
  }
7744
7757
  onFocusIn(event) {
7745
- if (this.navigationService.enabled) {
7758
+ if (this.navigationService.pagerEnabled) {
7746
7759
  const shouldFocusPager = event.target === this.element.nativeElement;
7747
7760
  if (shouldFocusPager) {
7748
7761
  this._isFocused = true;
@@ -7754,18 +7767,18 @@ class PagerComponent {
7754
7767
  }
7755
7768
  }
7756
7769
  onFocusOut() {
7757
- if (this.navigationService.enabled) {
7770
+ if (this.navigationService.pagerEnabled) {
7758
7771
  this._isFocused = false;
7759
7772
  }
7760
7773
  }
7761
7774
  onEscape() {
7762
- if (this.navigationService.enabled) {
7775
+ if (this.navigationService.pagerEnabled) {
7763
7776
  this.focusRoot.deactivate();
7764
7777
  this.element.nativeElement.focus();
7765
7778
  }
7766
7779
  }
7767
7780
  onEnter(event) {
7768
- if (this.navigationService.enabled && event.target === this.element.nativeElement) {
7781
+ if (this.navigationService.pagerEnabled && event.target === this.element.nativeElement) {
7769
7782
  this.focusRoot.activate();
7770
7783
  this.focusFirstElement();
7771
7784
  }
@@ -7807,7 +7820,7 @@ class PagerComponent {
7807
7820
  }
7808
7821
  ngOnInit() {
7809
7822
  this.subscriptions.add(this.pagerContext.pageChange.subscribe(this.changePage.bind(this)));
7810
- if (this.navigationService.enabled) {
7823
+ if (this.navigationService.pagerEnabled) {
7811
7824
  this.focusRoot.deactivate();
7812
7825
  }
7813
7826
  }
@@ -7860,7 +7873,7 @@ class PagerComponent {
7860
7873
  this.renderer.removeClass(element, 'k-pager-md');
7861
7874
  }
7862
7875
  shouldTriggerPageChange(target, condition) {
7863
- return this.navigationService.enabled &&
7876
+ return this.navigationService.pagerEnabled &&
7864
7877
  target === this.element.nativeElement &&
7865
7878
  condition;
7866
7879
  }
@@ -7896,7 +7909,7 @@ PagerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version
7896
7909
  useClass: FocusGroup
7897
7910
  }], usesOnChanges: true, ngImport: i0, template: `
7898
7911
  <div
7899
- *ngIf="navigationService.enabled"
7912
+ *ngIf="navigationService.pagerEnabled"
7900
7913
  class="k-sr-only"
7901
7914
  [tabindex]="focusTrapTabIndex"
7902
7915
  [attr.aria-hidden]="true"
@@ -7923,7 +7936,7 @@ PagerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version
7923
7936
  ></kendo-pager-page-sizes>
7924
7937
  </ng-container>
7925
7938
  <div
7926
- *ngIf="navigationService.enabled"
7939
+ *ngIf="navigationService.pagerEnabled"
7927
7940
  class="k-sr-only"
7928
7941
  [tabindex]="focusTrapTabIndex"
7929
7942
  [attr.aria-hidden]="true"
@@ -7949,7 +7962,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
7949
7962
  }],
7950
7963
  template: `
7951
7964
  <div
7952
- *ngIf="navigationService.enabled"
7965
+ *ngIf="navigationService.pagerEnabled"
7953
7966
  class="k-sr-only"
7954
7967
  [tabindex]="focusTrapTabIndex"
7955
7968
  [attr.aria-hidden]="true"
@@ -7976,7 +7989,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
7976
7989
  ></kendo-pager-page-sizes>
7977
7990
  </ng-container>
7978
7991
  <div
7979
- *ngIf="navigationService.enabled"
7992
+ *ngIf="navigationService.pagerEnabled"
7980
7993
  class="k-sr-only"
7981
7994
  [tabindex]="focusTrapTabIndex"
7982
7995
  [attr.aria-hidden]="true"
@@ -10973,7 +10986,7 @@ class FilterMenuComponent {
10973
10986
  toggle(anchor, template) {
10974
10987
  this.popupRef = this.popupService.open(anchor, template, this.popupRef);
10975
10988
  if (!this.popupRef) {
10976
- if (this.navigationService.enabled) {
10989
+ if (this.navigationService.tableEnabled) {
10977
10990
  this.navigationService.focusCell(0, this.column.leafIndex);
10978
10991
  }
10979
10992
  else {
@@ -10984,7 +10997,7 @@ class FilterMenuComponent {
10984
10997
  }
10985
10998
  close() {
10986
10999
  this.popupService.destroy();
10987
- if (this.navigationService.enabled) {
11000
+ if (this.navigationService.tableEnabled) {
10988
11001
  this.navigationService.focusCell(0, this.column.leafIndex);
10989
11002
  }
10990
11003
  else {
@@ -12558,7 +12571,7 @@ class ColumnMenuComponent {
12558
12571
  this.expandedPosition = this.getExpandedState(this.settings.setColumnPosition);
12559
12572
  this.popupRef = this.popupService.open(anchor, template, this.popupRef, POPUP_CLASS);
12560
12573
  if (!this.popupRef) {
12561
- if (this.navigationService.enabled) {
12574
+ if (this.navigationService.tableEnabled) {
12562
12575
  this.navigationService.focusCell(0, this.column.leafIndex);
12563
12576
  }
12564
12577
  else {
@@ -12572,7 +12585,7 @@ class ColumnMenuComponent {
12572
12585
  close() {
12573
12586
  this.popupService.destroy();
12574
12587
  this.popupRef = null;
12575
- if (this.navigationService.enabled) {
12588
+ if (this.navigationService.tableEnabled) {
12576
12589
  this.navigationService.focusCell(0, this.column.leafIndex);
12577
12590
  }
12578
12591
  else {
@@ -13488,13 +13501,13 @@ class LogicalCellDirective {
13488
13501
  return this.logicalColIndex + 1;
13489
13502
  }
13490
13503
  ngOnInit() {
13491
- if (!this.navigationService.enabled) {
13504
+ if (!this.navigationService.tableEnabled) {
13492
13505
  return;
13493
13506
  }
13494
13507
  this.navigationChange = this.navigationService.changes.subscribe((e) => this.onNavigationChange(e));
13495
13508
  }
13496
13509
  ngDoCheck() {
13497
- if (!this.navigationService.enabled || this.logicalColIndex === -1) {
13510
+ if (!this.navigationService.tableEnabled || this.logicalColIndex === -1) {
13498
13511
  return;
13499
13512
  }
13500
13513
  if (this.cellContext) {
@@ -13503,7 +13516,7 @@ class LogicalCellDirective {
13503
13516
  this.registerNoChanges();
13504
13517
  }
13505
13518
  ngOnChanges(changes) {
13506
- if (!this.navigationService.enabled) {
13519
+ if (!this.navigationService.tableEnabled) {
13507
13520
  return;
13508
13521
  }
13509
13522
  const keys = Object.keys(changes);
@@ -17298,7 +17311,7 @@ class ListComponent {
17298
17311
  }
17299
17312
  }
17300
17313
  resetNavigationViewport() {
17301
- if (!this.container || !this.navigationService.enabled ||
17314
+ if (!this.container || !this.navigationService.tableEnabled ||
17302
17315
  !this.navigationService.needsViewport() || this.data.length === 0) {
17303
17316
  return;
17304
17317
  }
@@ -18260,11 +18273,6 @@ class GridComponent {
18260
18273
  * By default, grouping is disabled ([see example]({% slug groupingbasics_grid %})).
18261
18274
  */
18262
18275
  this.groupable = false;
18263
- /**
18264
- * If set to `true`, the user can use dedicated shortcuts to interact with the Grid.
18265
- * By default, navigation is disabled and the Grid content is accessible in the normal tab sequence.
18266
- */
18267
- this.navigable = false;
18268
18276
  /**
18269
18277
  * Indicates whether the Grid columns will be resized during initialization so that
18270
18278
  * they fit their headers and row content. Defaults to `false`.
@@ -18440,6 +18448,7 @@ class GridComponent {
18440
18448
  this.cachedWindowWidth = 0;
18441
18449
  this._rowSelected = null;
18442
18450
  this._cellSelected = null;
18451
+ this._navigable = [];
18443
18452
  this.rtl = false;
18444
18453
  this._rowClass = () => null;
18445
18454
  validatePackage(packageMetadata);
@@ -18571,6 +18580,21 @@ class GridComponent {
18571
18580
  get marqueeSelection() {
18572
18581
  return this.selectionService.enableMarquee || this.cellSelectionService.enableMarquee;
18573
18582
  }
18583
+ /**
18584
+ * If set to `true`, the user can use dedicated shortcuts to interact with the Grid.
18585
+ * By default, navigation is disabled and the Grid content is accessible in the normal tab sequence.
18586
+ * To enable navigation through separate Grid sections only, provide a [`GridNavigableSection`]({% slug api_grid_gridnavigablesection %}) array.
18587
+ */
18588
+ set navigable(value) {
18589
+ if (typeof value === 'boolean') {
18590
+ this._navigable = value ? ['table', 'pager'] : [];
18591
+ return;
18592
+ }
18593
+ this._navigable = value;
18594
+ }
18595
+ get navigable() {
18596
+ return this._navigable;
18597
+ }
18574
18598
  /**
18575
18599
  * @hidden
18576
18600
  *
@@ -18794,6 +18818,9 @@ class GridComponent {
18794
18818
  get ariaColCount() {
18795
18819
  return this.columnsContainer.leafColumnsToRender.length;
18796
18820
  }
18821
+ get navigation() {
18822
+ return this.navigationService;
18823
+ }
18797
18824
  get isVirtual() {
18798
18825
  return this.scrollable === 'virtual';
18799
18826
  }
@@ -18989,6 +19016,16 @@ class GridComponent {
18989
19016
  if (isChanged$1('groupable', changes, true)) {
18990
19017
  this.groupable = changes.groupable.currentValue;
18991
19018
  }
19019
+ if (isChanged$1('navigable', changes, true)) {
19020
+ if (this.navigationService.enabled) {
19021
+ this.navigationService.setActiveSections(this.navigable);
19022
+ }
19023
+ else {
19024
+ if (this.navigable.length) {
19025
+ this.navigationService.init(this.navigationMetadata(), this.navigable);
19026
+ }
19027
+ }
19028
+ }
18992
19029
  }
18993
19030
  ngAfterViewInit() {
18994
19031
  this.attachScrollSync();
@@ -19008,8 +19045,8 @@ class GridComponent {
19008
19045
  this.columnsChangeSubscription = this.columns.changes.subscribe(() => this.verifySettings());
19009
19046
  }
19010
19047
  ngOnInit() {
19011
- if (this.navigable) {
19012
- this.navigationService.init(this.navigationMetadata());
19048
+ if (this.navigable.length) {
19049
+ this.navigationService.init(this.navigationMetadata(), this.navigable);
19013
19050
  }
19014
19051
  }
19015
19052
  ngOnDestroy() {
@@ -19970,8 +20007,8 @@ class GridComponent {
19970
20007
  this.columnResize.emit(args);
19971
20008
  }
19972
20009
  assertNavigable() {
19973
- if (isDevMode() && !this.navigable) {
19974
- throw new Error('The Grid should be configured as [navigable]="true" to control focus');
20010
+ if (isDevMode() && !this.navigationService.enabled) {
20011
+ throw new Error('The Grid should be configured as navigable to control focus');
19975
20012
  }
19976
20013
  }
19977
20014
  navigationMetadata() {
@@ -20337,8 +20374,8 @@ GridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
20337
20374
  <kendo-grid-toolbar class="k-toolbar k-grid-toolbar" *ngIf="showTopToolbar" position="top"></kendo-grid-toolbar>
20338
20375
  <kendo-pager
20339
20376
  *ngIf="showTopPager"
20340
- [tabindex]="navigable ? '0' : '-1'"
20341
- [attr.role]="navigable ? 'navigation' : undefined"
20377
+ [tabindex]="navigation.pagerEnabled ? '0' : '-1'"
20378
+ [attr.role]="navigation.pagerEnabled ? 'application' : undefined"
20342
20379
  class="k-grid-pager-top"
20343
20380
  [template]="pagerTemplate"
20344
20381
  [pageSize]="pageSize"
@@ -20392,7 +20429,7 @@ GridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
20392
20429
  [columnMenuTemplate]="columnMenuTemplate"
20393
20430
  [totalColumnsCount]="leafColumns.length"
20394
20431
  [detailTemplate]="detailTemplate"
20395
- [tabIndex]="navigable ? '-1' : '0'">
20432
+ [tabIndex]="navigation.tableEnabled ? '-1' : '0'">
20396
20433
  </thead>
20397
20434
  </table>
20398
20435
  </div><div #header class="k-grid-header-wrap" role="presentation" data-scrollable
@@ -20423,7 +20460,7 @@ GridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
20423
20460
  [lockedColumnsCount]="lockedLeafColumns.length"
20424
20461
  [totalColumnsCount]="leafColumns.length"
20425
20462
  [detailTemplate]="detailTemplate"
20426
- [tabIndex]="navigable ? '-1' : '0'">
20463
+ [tabIndex]="navigation.tableEnabled ? '-1' : '0'">
20427
20464
  </thead>
20428
20465
  </table>
20429
20466
  <div *ngIf="virtualColumns" class="k-width-container" role="presentation">
@@ -20528,7 +20565,7 @@ GridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
20528
20565
  [columnMenu]="columnMenuOptions"
20529
20566
  [columnMenuTemplate]="columnMenuTemplate"
20530
20567
  [detailTemplate]="detailTemplate"
20531
- [tabIndex]="navigable ? '-1' : '0'">
20568
+ [tabIndex]="navigation.tableEnabled ? '-1' : '0'">
20532
20569
  </thead>
20533
20570
  <tbody kendoGridTableBody
20534
20571
  [isLoading]="loading"
@@ -20562,8 +20599,8 @@ GridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
20562
20599
  </div>
20563
20600
  <kendo-pager
20564
20601
  *ngIf="showBottomPager"
20565
- [tabindex]="navigable ? '0' : '-1'"
20566
- [attr.role]="navigable ? 'navigation' : undefined"
20602
+ [tabindex]="navigation.pagerEnabled ? '0' : '-1'"
20603
+ [attr.role]="navigation.pagerEnabled ? 'application' : undefined"
20567
20604
  [template]="pagerTemplate"
20568
20605
  [pageSize]="pageSize"
20569
20606
  [total]="view.total"
@@ -20834,8 +20871,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
20834
20871
  <kendo-grid-toolbar class="k-toolbar k-grid-toolbar" *ngIf="showTopToolbar" position="top"></kendo-grid-toolbar>
20835
20872
  <kendo-pager
20836
20873
  *ngIf="showTopPager"
20837
- [tabindex]="navigable ? '0' : '-1'"
20838
- [attr.role]="navigable ? 'navigation' : undefined"
20874
+ [tabindex]="navigation.pagerEnabled ? '0' : '-1'"
20875
+ [attr.role]="navigation.pagerEnabled ? 'application' : undefined"
20839
20876
  class="k-grid-pager-top"
20840
20877
  [template]="pagerTemplate"
20841
20878
  [pageSize]="pageSize"
@@ -20889,7 +20926,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
20889
20926
  [columnMenuTemplate]="columnMenuTemplate"
20890
20927
  [totalColumnsCount]="leafColumns.length"
20891
20928
  [detailTemplate]="detailTemplate"
20892
- [tabIndex]="navigable ? '-1' : '0'">
20929
+ [tabIndex]="navigation.tableEnabled ? '-1' : '0'">
20893
20930
  </thead>
20894
20931
  </table>
20895
20932
  </div><div #header class="k-grid-header-wrap" role="presentation" data-scrollable
@@ -20920,7 +20957,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
20920
20957
  [lockedColumnsCount]="lockedLeafColumns.length"
20921
20958
  [totalColumnsCount]="leafColumns.length"
20922
20959
  [detailTemplate]="detailTemplate"
20923
- [tabIndex]="navigable ? '-1' : '0'">
20960
+ [tabIndex]="navigation.tableEnabled ? '-1' : '0'">
20924
20961
  </thead>
20925
20962
  </table>
20926
20963
  <div *ngIf="virtualColumns" class="k-width-container" role="presentation">
@@ -21025,7 +21062,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
21025
21062
  [columnMenu]="columnMenuOptions"
21026
21063
  [columnMenuTemplate]="columnMenuTemplate"
21027
21064
  [detailTemplate]="detailTemplate"
21028
- [tabIndex]="navigable ? '-1' : '0'">
21065
+ [tabIndex]="navigation.tableEnabled ? '-1' : '0'">
21029
21066
  </thead>
21030
21067
  <tbody kendoGridTableBody
21031
21068
  [isLoading]="loading"
@@ -21059,8 +21096,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
21059
21096
  </div>
21060
21097
  <kendo-pager
21061
21098
  *ngIf="showBottomPager"
21062
- [tabindex]="navigable ? '0' : '-1'"
21063
- [attr.role]="navigable ? 'navigation' : undefined"
21099
+ [tabindex]="navigation.pagerEnabled ? '0' : '-1'"
21100
+ [attr.role]="navigation.pagerEnabled ? 'application' : undefined"
21064
21101
  [template]="pagerTemplate"
21065
21102
  [pageSize]="pageSize"
21066
21103
  [total]="view.total"
@@ -73,6 +73,7 @@ import { GroupRowArgs } from './grouping/group-rows-args.interface';
73
73
  import { CellLoadingTemplateDirective } from './rendering/cell-loading.template.directive';
74
74
  import { ContextService } from './common/provider.service';
75
75
  import { LoadingTemplateDirective } from './rendering/loading-template.directive';
76
+ import { GridNavigableSettings } from './navigation/navigable-settings';
76
77
  import * as i0 from "@angular/core";
77
78
  /**
78
79
  * Represents the Kendo UI Grid component for Angular.
@@ -306,14 +307,16 @@ export declare class GridComponent implements AfterContentInit, AfterViewInit, O
306
307
  /**
307
308
  * If set to `true`, the user can use dedicated shortcuts to interact with the Grid.
308
309
  * By default, navigation is disabled and the Grid content is accessible in the normal tab sequence.
310
+ * To enable navigation through separate Grid sections only, provide a [`GridNavigableSection`]({% slug api_grid_gridnavigablesection %}) array.
309
311
  */
310
- navigable: boolean;
312
+ set navigable(value: GridNavigableSettings);
313
+ get navigable(): GridNavigableSettings;
311
314
  /**
312
315
  * @hidden
313
316
  *
314
317
  * An alias for `navigable` for users who migrate from Kendo UI for jQuery.
315
318
  */
316
- set navigatable(value: boolean);
319
+ set navigatable(value: GridNavigableSettings);
317
320
  /**
318
321
  * Indicates whether the Grid columns will be resized during initialization so that
319
322
  * they fit their headers and row content. Defaults to `false`.
@@ -325,7 +328,7 @@ export declare class GridComponent implements AfterContentInit, AfterViewInit, O
325
328
  /**
326
329
  * @hidden
327
330
  */
328
- get navigatable(): boolean;
331
+ get navigatable(): GridNavigableSettings;
329
332
  /**
330
333
  * Defines a function that is executed for every data row in the component.
331
334
  *
@@ -598,6 +601,7 @@ export declare class GridComponent implements AfterContentInit, AfterViewInit, O
598
601
  get showGroupFooters(): boolean;
599
602
  get ariaRowCount(): number;
600
603
  get ariaColCount(): number;
604
+ get navigation(): NavigationService;
601
605
  private shouldGenerateColumns;
602
606
  private direction;
603
607
  private _sort;
@@ -615,6 +619,7 @@ export declare class GridComponent implements AfterContentInit, AfterViewInit, O
615
619
  private _customToolbarTemplate;
616
620
  private leafViewportColumns;
617
621
  private viewportColumns;
622
+ private _navigable;
618
623
  get isVirtual(): boolean;
619
624
  get isScrollable(): boolean;
620
625
  get visibleColumns(): QueryList<ColumnBase>;
package/main.d.ts CHANGED
@@ -145,6 +145,7 @@ export { ColumnReorderConfig } from './dragdrop/column-reorder-config';
145
145
  export { FocusableDirective } from './navigation/focusable.directive';
146
146
  export { NavigationCell } from './navigation/navigation-cell.interface';
147
147
  export { NavigationRow } from './navigation/navigation-row.interface';
148
+ export { GridNavigableSettings, GridNavigableSection } from './navigation/navigable-settings';
148
149
  export { ColumnMenuSettings } from './column-menu/column-menu-settings.interface';
149
150
  export { ColumnVisibilityChangeEvent } from './column-menu/column-visibility-change-event';
150
151
  export { ExpandableColumnMenuItem } from './column-menu/column-menu-expandable-item.interface';
@@ -0,0 +1,12 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ /**
6
+ * Represents the possible navigable sections of the Grid.
7
+ */
8
+ export declare type GridNavigableSection = 'pager' | 'table';
9
+ /**
10
+ * Represents the type of the Grid [`navigable`]({% slug api_grid_gridcomponent %}#toc-navigable) option.
11
+ */
12
+ export declare type GridNavigableSettings = boolean | GridNavigableSection[];
@@ -19,6 +19,7 @@ import { GroupsService } from '../grouping/groups.service';
19
19
  import { PagerContextService } from '../pager/pager-context.service';
20
20
  import { DetailsService } from '../rendering/details/details.service';
21
21
  import { ScrollRequestService } from '../scrolling/scroll-request.service';
22
+ import { GridNavigableSection } from './navigable-settings';
22
23
  import * as i0 from "@angular/core";
23
24
  /**
24
25
  * @hidden
@@ -50,6 +51,8 @@ export declare class NavigationService implements OnDestroy {
50
51
  set metadata(value: NavigationMetadata);
51
52
  get metadata(): NavigationMetadata;
52
53
  get enabled(): boolean;
54
+ get pagerEnabled(): boolean;
55
+ get tableEnabled(): boolean;
53
56
  get activeCell(): NavigationCell;
54
57
  get activeRow(): NavigationRow;
55
58
  viewport: NavigationViewport;
@@ -64,9 +67,11 @@ export declare class NavigationService implements OnDestroy {
64
67
  private subs;
65
68
  private pendingRowIndex;
66
69
  private virtualCell;
70
+ private pagerIsNavigable;
71
+ private tableIsNavigable;
67
72
  private get activeDataRow();
68
73
  constructor(zone: NgZone, domEvents: DomEventsService, pagerContextService: PagerContextService, scrollRequestService: ScrollRequestService, groupsService: GroupsService, detailsService: DetailsService, focusRoot: FocusRoot, editService: EditService, cd: ChangeDetectorRef, localization: LocalizationService, focusableParent: FocusableDirective);
69
- init(meta: NavigationMetadata): void;
74
+ init(meta: NavigationMetadata, navigableOptions: GridNavigableSection[]): void;
70
75
  ngOnDestroy(): void;
71
76
  registerCell(cell: LogicalCell): void;
72
77
  registerCellOnCurrentRow(cell: LogicalCell): void;
@@ -88,6 +93,7 @@ export declare class NavigationService implements OnDestroy {
88
93
  toggle(active: boolean): void;
89
94
  hasFocus(): boolean;
90
95
  autoFocusCell(start: number, end: number): boolean;
96
+ setActiveSections(navigableOptions: GridNavigableSection[]): void;
91
97
  private focusAdjacentCell;
92
98
  private enterCell;
93
99
  private leaveCell;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@progress/kendo-angular-grid",
3
- "version": "7.0.2-dev.202205230854",
3
+ "version": "7.1.0-dev.202205311232",
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",