@progress/kendo-angular-gantt 19.3.0-develop.9 → 19.3.0

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.
@@ -160,7 +160,7 @@ export class DependenciesTableComponent {
160
160
  </ng-template>
161
161
  </kendo-grid-column>
162
162
  </kendo-grid>
163
- `, isInline: true, dependencies: [{ kind: "component", type: GridComponent, selector: "kendo-grid", inputs: ["data", "pageSize", "height", "rowHeight", "adaptiveMode", "detailRowHeight", "skip", "scrollable", "selectable", "sort", "size", "trackBy", "filter", "group", "virtualColumns", "filterable", "sortable", "pageable", "groupable", "gridResizable", "rowReorderable", "navigable", "autoSize", "rowClass", "rowSticky", "rowSelected", "isRowSelectable", "cellSelected", "resizable", "reorderable", "loading", "columnMenu", "hideHeader", "showInactiveTools", "isDetailExpanded", "isGroupExpanded"], outputs: ["filterChange", "pageChange", "groupChange", "sortChange", "selectionChange", "rowReorder", "dataStateChange", "gridStateChange", "groupExpand", "groupCollapse", "detailExpand", "detailCollapse", "edit", "cancel", "save", "remove", "add", "cellClose", "cellClick", "pdfExport", "excelExport", "columnResize", "columnReorder", "columnVisibilityChange", "columnLockedChange", "columnStickyChange", "scrollBottom", "contentScroll"], exportAs: ["kendoGrid"] }, { kind: "directive", type: SelectionDirective, selector: "[kendoGridSelectBy]" }, { kind: "directive", type: ToolbarTemplateDirective, selector: "[kendoGridToolbarTemplate]", inputs: ["position"] }, { kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { kind: "component", type: ColumnComponent, selector: "kendo-grid-column", inputs: ["field", "format", "sortable", "groupable", "editor", "filter", "filterable", "editable"] }, { kind: "directive", type: CellTemplateDirective, selector: "[kendoGridCellTemplate]" }, { kind: "component", type: DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["customIconClass", "showStickyHeader", "icon", "svgIcon", "loading", "data", "value", "textField", "valueField", "adaptiveMode", "adaptiveTitle", "adaptiveSubtitle", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "leftRightArrowsNavigation", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
163
+ `, isInline: true, dependencies: [{ kind: "component", type: GridComponent, selector: "kendo-grid", inputs: ["data", "pageSize", "height", "rowHeight", "adaptiveMode", "detailRowHeight", "skip", "scrollable", "selectable", "sort", "size", "trackBy", "filter", "group", "virtualColumns", "filterable", "sortable", "pageable", "groupable", "gridResizable", "rowReorderable", "navigable", "autoSize", "rowClass", "rowSticky", "rowSelected", "isRowSelectable", "cellSelected", "resizable", "reorderable", "loading", "columnMenu", "hideHeader", "showInactiveTools", "isDetailExpanded", "isGroupExpanded", "dataLayoutMode"], outputs: ["filterChange", "pageChange", "groupChange", "sortChange", "selectionChange", "rowReorder", "dataStateChange", "gridStateChange", "groupExpand", "groupCollapse", "detailExpand", "detailCollapse", "edit", "cancel", "save", "remove", "add", "cellClose", "cellClick", "pdfExport", "excelExport", "columnResize", "columnReorder", "columnVisibilityChange", "columnLockedChange", "columnStickyChange", "scrollBottom", "contentScroll"], exportAs: ["kendoGrid"] }, { kind: "directive", type: SelectionDirective, selector: "[kendoGridSelectBy]" }, { kind: "directive", type: ToolbarTemplateDirective, selector: "[kendoGridToolbarTemplate]", inputs: ["position"] }, { kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { kind: "component", type: ColumnComponent, selector: "kendo-grid-column", inputs: ["field", "format", "sortable", "groupable", "editor", "filter", "filterable", "editable"] }, { kind: "directive", type: CellTemplateDirective, selector: "[kendoGridCellTemplate]" }, { kind: "component", type: DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["customIconClass", "showStickyHeader", "icon", "svgIcon", "loading", "data", "value", "textField", "valueField", "adaptiveMode", "adaptiveTitle", "adaptiveSubtitle", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "leftRightArrowsNavigation", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
164
164
  }
165
165
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DependenciesTableComponent, decorators: [{
166
166
  type: Component,
@@ -8,7 +8,7 @@ import { Day } from '@progress/kendo-date-math';
8
8
  import { Subscription } from 'rxjs';
9
9
  import { validatePackage } from '@progress/kendo-licensing';
10
10
  import { packageMetadata } from './package-metadata';
11
- import { anyChanged, EventsOutsideAngularDirective, hasObservers, Keys, shouldShowValidationUI, WatermarkOverlayComponent } from '@progress/kendo-angular-common';
11
+ import { anyChanged, EventsOutsideAngularDirective, hasObservers, Keys, shouldShowValidationUI, getLicenseMessage, WatermarkOverlayComponent, normalizeNumpadKeys } from '@progress/kendo-angular-common';
12
12
  import { getIndexFromViewDigitKeyCode, isArrowUpDownKey, isExpandCollapseKey, isNavigationKey, isViewDigitKey } from './navigation/utils';
13
13
  import { GanttTimelineComponent } from './timeline/gantt-timeline.component';
14
14
  import { GanttColumnBase } from './columns/columns';
@@ -692,6 +692,10 @@ export class GanttComponent {
692
692
  * @hidden
693
693
  */
694
694
  showLicenseWatermark = false;
695
+ /**
696
+ * @hidden
697
+ */
698
+ licenseMessage;
695
699
  _columns = new QueryList();
696
700
  _data = [];
697
701
  _dragScrollSettings = { ...DEFAULT_DRAG_SCROLL_SETTINGS };
@@ -733,6 +737,7 @@ export class GanttComponent {
733
737
  this.intlService = intlService;
734
738
  this.localeId = localeId;
735
739
  const isValid = validatePackage(packageMetadata);
740
+ this.licenseMessage = getLicenseMessage(packageMetadata);
736
741
  this.showLicenseWatermark = shouldShowValidationUI(isValid);
737
742
  intlService.localeId = this.localeId;
738
743
  this.intlSubscription = this.intlService.changes.subscribe(() => {
@@ -1301,30 +1306,32 @@ export class GanttComponent {
1301
1306
  }
1302
1307
  }
1303
1308
  handleKeydown(event) {
1304
- const { keyCode, target, altKey } = event;
1309
+ const { target, altKey } = event;
1310
+ // on some keyboards arrow keys, PageUp/Down, and Home/End are mapped to Numpad keys
1311
+ const code = normalizeNumpadKeys(event);
1305
1312
  const isTimelineActive = this.timeline.timelineContent.nativeElement.contains(target);
1306
1313
  if (isTimelineActive) {
1307
- if (isArrowUpDownKey(keyCode)) {
1308
- const direction = keyCode === Keys.ArrowUp ? -1 : 1;
1314
+ if (isArrowUpDownKey(code)) {
1315
+ const direction = code === Keys.ArrowUp ? -1 : 1;
1309
1316
  this.navigation.activeTimelineIndex = this.activeTimelineIndex + direction;
1310
1317
  this.navigation.updateActiveTreeListCell();
1311
1318
  }
1312
- else if (keyCode === Keys.Home) {
1319
+ else if (code === Keys.Home) {
1313
1320
  this.navigation.activeTimelineIndex = 0;
1314
1321
  this.navigation.updateActiveTreeListCell();
1315
1322
  }
1316
- else if (keyCode === Keys.End) {
1323
+ else if (code === Keys.End) {
1317
1324
  const lastAvailableIndex = this.treeList.view.data.length - 1;
1318
1325
  this.navigation.activeTimelineIndex = lastAvailableIndex;
1319
1326
  this.navigation.updateActiveTreeListCell();
1320
1327
  }
1321
- if (isNavigationKey(keyCode)) {
1328
+ if (isNavigationKey(code)) {
1322
1329
  this.navigation.scrollHorizontallyToTask();
1323
1330
  this.scrollSyncService.syncScrollTop('timeline', 'treelist');
1324
1331
  this.navigation.notifyTaskStatusChange();
1325
1332
  event.preventDefault();
1326
1333
  }
1327
- if (keyCode === Keys.Space && hasObservers(this.selectionChange)) {
1334
+ if (code === Keys.Space && hasObservers(this.selectionChange)) {
1328
1335
  const task = this.renderedTreeListItems[this.activeTimelineIndex];
1329
1336
  const selectionAction = this.getSelectionAction(event, task);
1330
1337
  if (isPresent(task) && !this.isSameSelection(selectionAction, task)) {
@@ -1332,17 +1339,17 @@ export class GanttComponent {
1332
1339
  }
1333
1340
  event.preventDefault();
1334
1341
  }
1335
- if (keyCode === Keys.Enter && hasObservers(this.taskClick)) {
1342
+ if ((code === Keys.Enter) && hasObservers(this.taskClick)) {
1336
1343
  const task = this.renderedTreeListItems[this.activeTimelineIndex];
1337
1344
  if (isPresent(task)) {
1338
1345
  this.zone.run(() => this.notifyTaskClick(event, task, this.activeTimelineIndex));
1339
1346
  }
1340
1347
  event.preventDefault();
1341
1348
  }
1342
- if (isExpandCollapseKey(keyCode, altKey)) {
1349
+ if (isExpandCollapseKey(code, altKey)) {
1343
1350
  const task = this.renderedTreeListItems[this.activeTimelineIndex];
1344
1351
  if (isPresent(task) && this.hasChildren(task)) {
1345
- const shouldExpand = keyCode === Keys.ArrowRight;
1352
+ const shouldExpand = code === Keys.ArrowRight;
1346
1353
  const isExpanded = this.isExpanded(task);
1347
1354
  const sameState = shouldExpand === isExpanded;
1348
1355
  if (!sameState) {
@@ -1365,7 +1372,7 @@ export class GanttComponent {
1365
1372
  }
1366
1373
  }
1367
1374
  const isTreeListActive = this.treeList.wrapper.nativeElement.contains(target);
1368
- if (keyCode === Keys.Delete && (isTimelineActive || isTreeListActive) && hasObservers(this.taskDelete)) {
1375
+ if (code === Keys.Delete && (isTimelineActive || isTreeListActive) && hasObservers(this.taskDelete)) {
1369
1376
  const taskIndex = isTreeListActive ?
1370
1377
  this.treeList.activeCell.dataRowIndex :
1371
1378
  this.activeTimelineIndex;
@@ -1374,8 +1381,8 @@ export class GanttComponent {
1374
1381
  this.zone.run(() => this.notifyTaskDelete(task));
1375
1382
  }
1376
1383
  }
1377
- if (isViewDigitKey(keyCode) && !isToolbar(target, this.hostElement.nativeElement) && !this.isInEditMode) {
1378
- const targetViewIndex = getIndexFromViewDigitKeyCode(keyCode);
1384
+ if (isViewDigitKey(code) && !isToolbar(target, this.hostElement.nativeElement) && !this.isInEditMode) {
1385
+ const targetViewIndex = getIndexFromViewDigitKeyCode(code);
1379
1386
  const availableViews = this.views.toArray();
1380
1387
  const targetView = availableViews[targetViewIndex];
1381
1388
  if (isPresent(targetView) && targetView.type !== this.activeView) {
@@ -1791,8 +1798,8 @@ export class GanttComponent {
1791
1798
  </kendo-dialog-actions>
1792
1799
  </kendo-dialog>
1793
1800
 
1794
- <div kendoWatermarkOverlay *ngIf="showLicenseWatermark"></div>
1795
- `, isInline: true, dependencies: [{ kind: "directive", type: LocalizedMessagesDirective, selector: "[kendoGanttLocalizedMessages]" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ToolbarComponent, selector: "kendo-gantt-toolbar", inputs: ["showAddTask", "showViewSelector", "views", "activeView", "toolbarTemplate", "navigable", "position"], outputs: ["activeViewChange"] }, { kind: "component", type: SplitterComponent, selector: "kendo-splitter", inputs: ["orientation", "splitbarWidth", "resizeStep", "splitterBarClass"], outputs: ["layoutChange"], exportAs: ["kendoSplitter"] }, { kind: "component", type: SplitterPaneComponent, selector: "kendo-splitter-pane", inputs: ["order", "size", "splitterBarAttributes", "splitterBarClass", "min", "max", "resizable", "collapsible", "scrollable", "collapsed", "orientation", "containsSplitter", "overlayContent"], outputs: ["sizeChange", "collapsedChange"], exportAs: ["kendoSplitterPane"] }, { kind: "component", type: TreeListComponent, selector: "kendo-treelist", inputs: ["aria-label", "data", "pageSize", "height", "rowHeight", "skip", "scrollable", "sort", "trackBy", "filter", "virtualColumns", "filterable", "sortable", "pageable", "navigable", "autoSize", "rowClass", "resizable", "reorderable", "loading", "columnMenu", "hideHeader", "idField", "selectable", "isSelected", "rowReorderable", "columns", "fetchChildren", "hasChildren", "isExpanded"], outputs: ["selectionChange", "filterChange", "pageChange", "sortChange", "dataStateChange", "edit", "cancel", "save", "remove", "add", "cellClose", "cellClick", "pdfExport", "excelExport", "columnResize", "columnReorder", "columnVisibilityChange", "columnLockedChange", "scrollBottom", "contentScroll", "expand", "collapse", "expandStateChange", "rowReorder"], exportAs: ["kendoTreeList"] }, { kind: "directive", type: EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { kind: "component", type: CustomMessagesComponent, selector: "kendo-treelist-messages" }, { kind: "component", type: GanttTimelineComponent, selector: "kendo-gantt-timeline", inputs: ["rows", "slots", "groupSlots", "tableWidth", "activeView", "taskContentTemplate", "taskTemplate", "summaryTaskTemplate", "taskClass", "renderDependencyDragClues", "dragScrollSettings", "currentTimeMarker", "customTooltipTemplate", "tooltipOptions", "selectable", "isTaskSelected", "isExpanded", "dependencies"], outputs: ["timelineContainerPress", "timelineContainerDrag", "timelineContainerRelease"] }, { kind: "component", type: EditDialogComponent, selector: "kendo-gantt-edit-dialog", inputs: ["data"] }, { kind: "component", type: DialogComponent, selector: "kendo-dialog", inputs: ["actions", "actionsLayout", "autoFocusedElement", "title", "width", "minWidth", "maxWidth", "height", "minHeight", "maxHeight", "animation", "themeColor"], outputs: ["action", "close"], exportAs: ["kendoDialog"] }, { kind: "component", type: DialogActionsComponent, selector: "kendo-dialog-actions", inputs: ["actions", "layout"], outputs: ["action"] }, { kind: "component", type: TreeListSpacerComponent, selector: "kendo-treelist-spacer", inputs: ["width"] }, { kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { kind: "component", type: WatermarkOverlayComponent, selector: "div[kendoWatermarkOverlay]" }] });
1801
+ <div kendoWatermarkOverlay *ngIf="showLicenseWatermark" [licenseMessage]="licenseMessage"></div>
1802
+ `, isInline: true, dependencies: [{ kind: "directive", type: LocalizedMessagesDirective, selector: "[kendoGanttLocalizedMessages]" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ToolbarComponent, selector: "kendo-gantt-toolbar", inputs: ["showAddTask", "showViewSelector", "views", "activeView", "toolbarTemplate", "navigable", "position"], outputs: ["activeViewChange"] }, { kind: "component", type: SplitterComponent, selector: "kendo-splitter", inputs: ["orientation", "splitbarWidth", "resizeStep", "splitterBarClass"], outputs: ["layoutChange"], exportAs: ["kendoSplitter"] }, { kind: "component", type: SplitterPaneComponent, selector: "kendo-splitter-pane", inputs: ["order", "size", "splitterBarAttributes", "splitterBarClass", "min", "max", "resizable", "collapsible", "scrollable", "collapsed", "orientation", "containsSplitter", "overlayContent"], outputs: ["sizeChange", "collapsedChange"], exportAs: ["kendoSplitterPane"] }, { kind: "component", type: TreeListComponent, selector: "kendo-treelist", inputs: ["aria-label", "data", "pageSize", "height", "rowHeight", "skip", "scrollable", "sort", "trackBy", "filter", "virtualColumns", "filterable", "sortable", "pageable", "navigable", "autoSize", "rowClass", "resizable", "reorderable", "loading", "columnMenu", "hideHeader", "idField", "selectable", "isSelected", "rowReorderable", "columns", "fetchChildren", "hasChildren", "isExpanded"], outputs: ["selectionChange", "filterChange", "pageChange", "sortChange", "dataStateChange", "edit", "cancel", "save", "remove", "add", "cellClose", "cellClick", "pdfExport", "excelExport", "columnResize", "columnReorder", "columnVisibilityChange", "columnLockedChange", "scrollBottom", "contentScroll", "expand", "collapse", "expandStateChange", "rowReorder"], exportAs: ["kendoTreeList"] }, { kind: "directive", type: EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { kind: "component", type: CustomMessagesComponent, selector: "kendo-treelist-messages" }, { kind: "component", type: GanttTimelineComponent, selector: "kendo-gantt-timeline", inputs: ["rows", "slots", "groupSlots", "tableWidth", "activeView", "taskContentTemplate", "taskTemplate", "summaryTaskTemplate", "taskClass", "renderDependencyDragClues", "dragScrollSettings", "currentTimeMarker", "customTooltipTemplate", "tooltipOptions", "selectable", "isTaskSelected", "isExpanded", "dependencies"], outputs: ["timelineContainerPress", "timelineContainerDrag", "timelineContainerRelease"] }, { kind: "component", type: EditDialogComponent, selector: "kendo-gantt-edit-dialog", inputs: ["data"] }, { kind: "component", type: DialogComponent, selector: "kendo-dialog", inputs: ["actions", "actionsLayout", "autoFocusedElement", "title", "width", "minWidth", "maxWidth", "height", "minHeight", "maxHeight", "animation", "themeColor"], outputs: ["action", "close"], exportAs: ["kendoDialog"] }, { kind: "component", type: DialogActionsComponent, selector: "kendo-dialog-actions", inputs: ["actions", "layout"], outputs: ["action"] }, { kind: "component", type: TreeListSpacerComponent, selector: "kendo-treelist-spacer", inputs: ["width"] }, { kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { kind: "component", type: WatermarkOverlayComponent, selector: "div[kendoWatermarkOverlay]", inputs: ["licenseMessage"] }] });
1796
1803
  }
1797
1804
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GanttComponent, decorators: [{
1798
1805
  type: Component,
@@ -2207,7 +2214,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
2207
2214
  </kendo-dialog-actions>
2208
2215
  </kendo-dialog>
2209
2216
 
2210
- <div kendoWatermarkOverlay *ngIf="showLicenseWatermark"></div>
2217
+ <div kendoWatermarkOverlay *ngIf="showLicenseWatermark" [licenseMessage]="licenseMessage"></div>
2211
2218
  `,
2212
2219
  standalone: true,
2213
2220
  imports: [LocalizedMessagesDirective, NgIf, ToolbarComponent, SplitterComponent, SplitterPaneComponent, TreeListComponent, EventsOutsideAngularDirective, CustomMessagesComponent, GanttTimelineComponent, EditDialogComponent, DialogComponent, DialogActionsComponent, TreeListSpacerComponent, ButtonComponent, WatermarkOverlayComponent]
@@ -3,66 +3,58 @@
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import { Keys } from '@progress/kendo-angular-common';
6
- // TODO: add those keys to `import { Keys } from '@progress/kendo-angular-common';`
7
- var NumpadKeys;
8
- (function (NumpadKeys) {
9
- NumpadKeys[NumpadKeys["Digit1"] = 97] = "Digit1";
10
- NumpadKeys[NumpadKeys["Digit2"] = 98] = "Digit2";
11
- NumpadKeys[NumpadKeys["Digit3"] = 99] = "Digit3";
12
- NumpadKeys[NumpadKeys["Digit4"] = 100] = "Digit4";
13
- })(NumpadKeys || (NumpadKeys = {}));
14
6
  /**
15
7
  * @hidden
16
8
  */
17
- export const isArrowUpDownKey = (keyCode) => [
9
+ export const isArrowUpDownKey = (code) => [
18
10
  Keys.ArrowUp,
19
11
  Keys.ArrowDown
20
- ].some(arrowKeyCode => keyCode === arrowKeyCode);
12
+ ].some(arrowKeyCode => code === arrowKeyCode);
21
13
  /**
22
14
  * @hidden
23
15
  */
24
- export const isNavigationKey = (keyCode) => [
16
+ export const isNavigationKey = (code) => [
25
17
  Keys.ArrowUp,
26
18
  Keys.ArrowDown,
27
19
  Keys.Home,
28
20
  Keys.End
29
- ].some(navigationKeyCode => keyCode === navigationKeyCode);
21
+ ].some(navigationKeyCode => code === navigationKeyCode);
30
22
  /**
31
23
  * @hidden
32
24
  */
33
- export const isExpandCollapseKey = (keyCode, altKey) => {
25
+ export const isExpandCollapseKey = (code, altKey) => {
34
26
  return altKey && [
35
27
  Keys.ArrowLeft,
36
28
  Keys.ArrowRight
37
- ].some(navigationKeyCode => keyCode === navigationKeyCode);
29
+ ].some(navigationKeyCode => code === navigationKeyCode);
38
30
  };
39
31
  /**
40
32
  * @hidden
41
33
  */
42
- export const isViewDigitKey = (keyCode) => [
34
+ export const isViewDigitKey = (code) => [
43
35
  Keys.Digit1,
44
- NumpadKeys.Digit1,
36
+ Keys.Numpad1,
45
37
  Keys.Digit2,
46
- NumpadKeys.Digit2,
38
+ Keys.Numpad2,
47
39
  Keys.Digit3,
48
- NumpadKeys.Digit3,
40
+ Keys.Numpad3,
49
41
  Keys.Digit4,
50
- NumpadKeys.Digit4
51
- ].some(digitKeyCode => keyCode === digitKeyCode);
42
+ Keys.Numpad4
43
+ ].some(digitKeyCode => code === digitKeyCode);
52
44
  /**
53
45
  * @hidden
54
46
  *
55
47
  * Returns the corresponding view index for the pressed digit key (Digit 1 => 0, Digit 2 => 1, etc.).
56
48
  */
57
- export const getIndexFromViewDigitKeyCode = (keyCode) => {
58
- switch (keyCode) {
59
- case NumpadKeys.Digit1:
49
+ export const getIndexFromViewDigitKeyCode = (code) => {
50
+ switch (code) {
51
+ case Keys.Numpad1:
60
52
  case Keys.Digit1: return 0;
61
- case NumpadKeys.Digit2:
53
+ case Keys.Numpad2:
62
54
  case Keys.Digit2: return 1;
63
- case NumpadKeys.Digit3:
55
+ case Keys.Numpad3:
64
56
  case Keys.Digit3: return 2;
65
- case NumpadKeys.Digit4:
57
+ case Keys.Numpad4:
66
58
  case Keys.Digit4: return 3;
67
59
  default: return null;
68
60
  }
@@ -10,7 +10,7 @@ export const packageMetadata = {
10
10
  productName: 'Kendo UI for Angular',
11
11
  productCode: 'KENDOUIANGULAR',
12
12
  productCodes: ['KENDOUIANGULAR'],
13
- publishDate: 1752672497,
14
- version: '19.3.0-develop.9',
13
+ publishDate: 1755030780,
14
+ version: '19.3.0',
15
15
  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'
16
16
  };
@@ -8,7 +8,7 @@ import { ColumnBase, ColumnComponent, ColumnGroupComponent, SpanColumnComponent,
8
8
  import { cloneDate, addWeeks, firstDayInWeek, addDays, lastDayOfMonth, getDate, firstDayOfMonth, addMonths, lastMonthOfYear, MS_PER_HOUR, MS_PER_DAY, isEqual } from '@progress/kendo-date-math';
9
9
  import { Subject, Subscription, fromEvent, forkJoin, EMPTY, isObservable, of } from 'rxjs';
10
10
  import { validatePackage } from '@progress/kendo-licensing';
11
- import { Keys, isDocumentAvailable, closestInScope, matchesClasses, isPresent as isPresent$1, EventsOutsideAngularDirective, DraggableDirective, PreventableEvent, anyChanged, closest, isFocusable, focusableSelector, isVisible, shouldShowValidationUI, hasObservers, WatermarkOverlayComponent, ResizeBatchService } from '@progress/kendo-angular-common';
11
+ import { Keys, isDocumentAvailable, closestInScope, matchesClasses, isPresent as isPresent$1, EventsOutsideAngularDirective, DraggableDirective, PreventableEvent, anyChanged, closest, isFocusable, focusableSelector, isVisible, getLicenseMessage, shouldShowValidationUI, hasObservers, normalizeNumpadKeys, WatermarkOverlayComponent, ResizeBatchService } from '@progress/kendo-angular-common';
12
12
  import { map, distinctUntilChanged, take, switchMap, expand, reduce, filter } from 'rxjs/operators';
13
13
  import { getter, touchEnabled } from '@progress/kendo-common';
14
14
  import * as i1 from '@progress/kendo-angular-intl';
@@ -44,71 +44,63 @@ const packageMetadata = {
44
44
  productName: 'Kendo UI for Angular',
45
45
  productCode: 'KENDOUIANGULAR',
46
46
  productCodes: ['KENDOUIANGULAR'],
47
- publishDate: 1752672497,
48
- version: '19.3.0-develop.9',
47
+ publishDate: 1755030780,
48
+ version: '19.3.0',
49
49
  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'
50
50
  };
51
51
 
52
- // TODO: add those keys to `import { Keys } from '@progress/kendo-angular-common';`
53
- var NumpadKeys;
54
- (function (NumpadKeys) {
55
- NumpadKeys[NumpadKeys["Digit1"] = 97] = "Digit1";
56
- NumpadKeys[NumpadKeys["Digit2"] = 98] = "Digit2";
57
- NumpadKeys[NumpadKeys["Digit3"] = 99] = "Digit3";
58
- NumpadKeys[NumpadKeys["Digit4"] = 100] = "Digit4";
59
- })(NumpadKeys || (NumpadKeys = {}));
60
52
  /**
61
53
  * @hidden
62
54
  */
63
- const isArrowUpDownKey = (keyCode) => [
55
+ const isArrowUpDownKey = (code) => [
64
56
  Keys.ArrowUp,
65
57
  Keys.ArrowDown
66
- ].some(arrowKeyCode => keyCode === arrowKeyCode);
58
+ ].some(arrowKeyCode => code === arrowKeyCode);
67
59
  /**
68
60
  * @hidden
69
61
  */
70
- const isNavigationKey = (keyCode) => [
62
+ const isNavigationKey = (code) => [
71
63
  Keys.ArrowUp,
72
64
  Keys.ArrowDown,
73
65
  Keys.Home,
74
66
  Keys.End
75
- ].some(navigationKeyCode => keyCode === navigationKeyCode);
67
+ ].some(navigationKeyCode => code === navigationKeyCode);
76
68
  /**
77
69
  * @hidden
78
70
  */
79
- const isExpandCollapseKey = (keyCode, altKey) => {
71
+ const isExpandCollapseKey = (code, altKey) => {
80
72
  return altKey && [
81
73
  Keys.ArrowLeft,
82
74
  Keys.ArrowRight
83
- ].some(navigationKeyCode => keyCode === navigationKeyCode);
75
+ ].some(navigationKeyCode => code === navigationKeyCode);
84
76
  };
85
77
  /**
86
78
  * @hidden
87
79
  */
88
- const isViewDigitKey = (keyCode) => [
80
+ const isViewDigitKey = (code) => [
89
81
  Keys.Digit1,
90
- NumpadKeys.Digit1,
82
+ Keys.Numpad1,
91
83
  Keys.Digit2,
92
- NumpadKeys.Digit2,
84
+ Keys.Numpad2,
93
85
  Keys.Digit3,
94
- NumpadKeys.Digit3,
86
+ Keys.Numpad3,
95
87
  Keys.Digit4,
96
- NumpadKeys.Digit4
97
- ].some(digitKeyCode => keyCode === digitKeyCode);
88
+ Keys.Numpad4
89
+ ].some(digitKeyCode => code === digitKeyCode);
98
90
  /**
99
91
  * @hidden
100
92
  *
101
93
  * Returns the corresponding view index for the pressed digit key (Digit 1 => 0, Digit 2 => 1, etc.).
102
94
  */
103
- const getIndexFromViewDigitKeyCode = (keyCode) => {
104
- switch (keyCode) {
105
- case NumpadKeys.Digit1:
95
+ const getIndexFromViewDigitKeyCode = (code) => {
96
+ switch (code) {
97
+ case Keys.Numpad1:
106
98
  case Keys.Digit1: return 0;
107
- case NumpadKeys.Digit2:
99
+ case Keys.Numpad2:
108
100
  case Keys.Digit2: return 1;
109
- case NumpadKeys.Digit3:
101
+ case Keys.Numpad3:
110
102
  case Keys.Digit3: return 2;
111
- case NumpadKeys.Digit4:
103
+ case Keys.Numpad4:
112
104
  case Keys.Digit4: return 3;
113
105
  default: return null;
114
106
  }
@@ -4728,7 +4720,7 @@ class DependenciesTableComponent {
4728
4720
  </ng-template>
4729
4721
  </kendo-grid-column>
4730
4722
  </kendo-grid>
4731
- `, isInline: true, dependencies: [{ kind: "component", type: GridComponent, selector: "kendo-grid", inputs: ["data", "pageSize", "height", "rowHeight", "adaptiveMode", "detailRowHeight", "skip", "scrollable", "selectable", "sort", "size", "trackBy", "filter", "group", "virtualColumns", "filterable", "sortable", "pageable", "groupable", "gridResizable", "rowReorderable", "navigable", "autoSize", "rowClass", "rowSticky", "rowSelected", "isRowSelectable", "cellSelected", "resizable", "reorderable", "loading", "columnMenu", "hideHeader", "showInactiveTools", "isDetailExpanded", "isGroupExpanded"], outputs: ["filterChange", "pageChange", "groupChange", "sortChange", "selectionChange", "rowReorder", "dataStateChange", "gridStateChange", "groupExpand", "groupCollapse", "detailExpand", "detailCollapse", "edit", "cancel", "save", "remove", "add", "cellClose", "cellClick", "pdfExport", "excelExport", "columnResize", "columnReorder", "columnVisibilityChange", "columnLockedChange", "columnStickyChange", "scrollBottom", "contentScroll"], exportAs: ["kendoGrid"] }, { kind: "directive", type: SelectionDirective, selector: "[kendoGridSelectBy]" }, { kind: "directive", type: ToolbarTemplateDirective$1, selector: "[kendoGridToolbarTemplate]", inputs: ["position"] }, { kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { kind: "component", type: ColumnComponent$1, selector: "kendo-grid-column", inputs: ["field", "format", "sortable", "groupable", "editor", "filter", "filterable", "editable"] }, { kind: "directive", type: CellTemplateDirective$1, selector: "[kendoGridCellTemplate]" }, { kind: "component", type: DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["customIconClass", "showStickyHeader", "icon", "svgIcon", "loading", "data", "value", "textField", "valueField", "adaptiveMode", "adaptiveTitle", "adaptiveSubtitle", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "leftRightArrowsNavigation", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
4723
+ `, isInline: true, dependencies: [{ kind: "component", type: GridComponent, selector: "kendo-grid", inputs: ["data", "pageSize", "height", "rowHeight", "adaptiveMode", "detailRowHeight", "skip", "scrollable", "selectable", "sort", "size", "trackBy", "filter", "group", "virtualColumns", "filterable", "sortable", "pageable", "groupable", "gridResizable", "rowReorderable", "navigable", "autoSize", "rowClass", "rowSticky", "rowSelected", "isRowSelectable", "cellSelected", "resizable", "reorderable", "loading", "columnMenu", "hideHeader", "showInactiveTools", "isDetailExpanded", "isGroupExpanded", "dataLayoutMode"], outputs: ["filterChange", "pageChange", "groupChange", "sortChange", "selectionChange", "rowReorder", "dataStateChange", "gridStateChange", "groupExpand", "groupCollapse", "detailExpand", "detailCollapse", "edit", "cancel", "save", "remove", "add", "cellClose", "cellClick", "pdfExport", "excelExport", "columnResize", "columnReorder", "columnVisibilityChange", "columnLockedChange", "columnStickyChange", "scrollBottom", "contentScroll"], exportAs: ["kendoGrid"] }, { kind: "directive", type: SelectionDirective, selector: "[kendoGridSelectBy]" }, { kind: "directive", type: ToolbarTemplateDirective$1, selector: "[kendoGridToolbarTemplate]", inputs: ["position"] }, { kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { kind: "component", type: ColumnComponent$1, selector: "kendo-grid-column", inputs: ["field", "format", "sortable", "groupable", "editor", "filter", "filterable", "editable"] }, { kind: "directive", type: CellTemplateDirective$1, selector: "[kendoGridCellTemplate]" }, { kind: "component", type: DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["customIconClass", "showStickyHeader", "icon", "svgIcon", "loading", "data", "value", "textField", "valueField", "adaptiveMode", "adaptiveTitle", "adaptiveSubtitle", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "leftRightArrowsNavigation", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
4732
4724
  }
4733
4725
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DependenciesTableComponent, decorators: [{
4734
4726
  type: Component,
@@ -6611,6 +6603,10 @@ class GanttComponent {
6611
6603
  * @hidden
6612
6604
  */
6613
6605
  showLicenseWatermark = false;
6606
+ /**
6607
+ * @hidden
6608
+ */
6609
+ licenseMessage;
6614
6610
  _columns = new QueryList();
6615
6611
  _data = [];
6616
6612
  _dragScrollSettings = { ...DEFAULT_DRAG_SCROLL_SETTINGS };
@@ -6652,6 +6648,7 @@ class GanttComponent {
6652
6648
  this.intlService = intlService;
6653
6649
  this.localeId = localeId;
6654
6650
  const isValid = validatePackage(packageMetadata);
6651
+ this.licenseMessage = getLicenseMessage(packageMetadata);
6655
6652
  this.showLicenseWatermark = shouldShowValidationUI(isValid);
6656
6653
  intlService.localeId = this.localeId;
6657
6654
  this.intlSubscription = this.intlService.changes.subscribe(() => {
@@ -7220,30 +7217,32 @@ class GanttComponent {
7220
7217
  }
7221
7218
  }
7222
7219
  handleKeydown(event) {
7223
- const { keyCode, target, altKey } = event;
7220
+ const { target, altKey } = event;
7221
+ // on some keyboards arrow keys, PageUp/Down, and Home/End are mapped to Numpad keys
7222
+ const code = normalizeNumpadKeys(event);
7224
7223
  const isTimelineActive = this.timeline.timelineContent.nativeElement.contains(target);
7225
7224
  if (isTimelineActive) {
7226
- if (isArrowUpDownKey(keyCode)) {
7227
- const direction = keyCode === Keys.ArrowUp ? -1 : 1;
7225
+ if (isArrowUpDownKey(code)) {
7226
+ const direction = code === Keys.ArrowUp ? -1 : 1;
7228
7227
  this.navigation.activeTimelineIndex = this.activeTimelineIndex + direction;
7229
7228
  this.navigation.updateActiveTreeListCell();
7230
7229
  }
7231
- else if (keyCode === Keys.Home) {
7230
+ else if (code === Keys.Home) {
7232
7231
  this.navigation.activeTimelineIndex = 0;
7233
7232
  this.navigation.updateActiveTreeListCell();
7234
7233
  }
7235
- else if (keyCode === Keys.End) {
7234
+ else if (code === Keys.End) {
7236
7235
  const lastAvailableIndex = this.treeList.view.data.length - 1;
7237
7236
  this.navigation.activeTimelineIndex = lastAvailableIndex;
7238
7237
  this.navigation.updateActiveTreeListCell();
7239
7238
  }
7240
- if (isNavigationKey(keyCode)) {
7239
+ if (isNavigationKey(code)) {
7241
7240
  this.navigation.scrollHorizontallyToTask();
7242
7241
  this.scrollSyncService.syncScrollTop('timeline', 'treelist');
7243
7242
  this.navigation.notifyTaskStatusChange();
7244
7243
  event.preventDefault();
7245
7244
  }
7246
- if (keyCode === Keys.Space && hasObservers(this.selectionChange)) {
7245
+ if (code === Keys.Space && hasObservers(this.selectionChange)) {
7247
7246
  const task = this.renderedTreeListItems[this.activeTimelineIndex];
7248
7247
  const selectionAction = this.getSelectionAction(event, task);
7249
7248
  if (isPresent(task) && !this.isSameSelection(selectionAction, task)) {
@@ -7251,17 +7250,17 @@ class GanttComponent {
7251
7250
  }
7252
7251
  event.preventDefault();
7253
7252
  }
7254
- if (keyCode === Keys.Enter && hasObservers(this.taskClick)) {
7253
+ if ((code === Keys.Enter) && hasObservers(this.taskClick)) {
7255
7254
  const task = this.renderedTreeListItems[this.activeTimelineIndex];
7256
7255
  if (isPresent(task)) {
7257
7256
  this.zone.run(() => this.notifyTaskClick(event, task, this.activeTimelineIndex));
7258
7257
  }
7259
7258
  event.preventDefault();
7260
7259
  }
7261
- if (isExpandCollapseKey(keyCode, altKey)) {
7260
+ if (isExpandCollapseKey(code, altKey)) {
7262
7261
  const task = this.renderedTreeListItems[this.activeTimelineIndex];
7263
7262
  if (isPresent(task) && this.hasChildren(task)) {
7264
- const shouldExpand = keyCode === Keys.ArrowRight;
7263
+ const shouldExpand = code === Keys.ArrowRight;
7265
7264
  const isExpanded = this.isExpanded(task);
7266
7265
  const sameState = shouldExpand === isExpanded;
7267
7266
  if (!sameState) {
@@ -7284,7 +7283,7 @@ class GanttComponent {
7284
7283
  }
7285
7284
  }
7286
7285
  const isTreeListActive = this.treeList.wrapper.nativeElement.contains(target);
7287
- if (keyCode === Keys.Delete && (isTimelineActive || isTreeListActive) && hasObservers(this.taskDelete)) {
7286
+ if (code === Keys.Delete && (isTimelineActive || isTreeListActive) && hasObservers(this.taskDelete)) {
7288
7287
  const taskIndex = isTreeListActive ?
7289
7288
  this.treeList.activeCell.dataRowIndex :
7290
7289
  this.activeTimelineIndex;
@@ -7293,8 +7292,8 @@ class GanttComponent {
7293
7292
  this.zone.run(() => this.notifyTaskDelete(task));
7294
7293
  }
7295
7294
  }
7296
- if (isViewDigitKey(keyCode) && !isToolbar(target, this.hostElement.nativeElement) && !this.isInEditMode) {
7297
- const targetViewIndex = getIndexFromViewDigitKeyCode(keyCode);
7295
+ if (isViewDigitKey(code) && !isToolbar(target, this.hostElement.nativeElement) && !this.isInEditMode) {
7296
+ const targetViewIndex = getIndexFromViewDigitKeyCode(code);
7298
7297
  const availableViews = this.views.toArray();
7299
7298
  const targetView = availableViews[targetViewIndex];
7300
7299
  if (isPresent(targetView) && targetView.type !== this.activeView) {
@@ -7710,8 +7709,8 @@ class GanttComponent {
7710
7709
  </kendo-dialog-actions>
7711
7710
  </kendo-dialog>
7712
7711
 
7713
- <div kendoWatermarkOverlay *ngIf="showLicenseWatermark"></div>
7714
- `, isInline: true, dependencies: [{ kind: "directive", type: LocalizedMessagesDirective, selector: "[kendoGanttLocalizedMessages]" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ToolbarComponent, selector: "kendo-gantt-toolbar", inputs: ["showAddTask", "showViewSelector", "views", "activeView", "toolbarTemplate", "navigable", "position"], outputs: ["activeViewChange"] }, { kind: "component", type: SplitterComponent, selector: "kendo-splitter", inputs: ["orientation", "splitbarWidth", "resizeStep", "splitterBarClass"], outputs: ["layoutChange"], exportAs: ["kendoSplitter"] }, { kind: "component", type: SplitterPaneComponent, selector: "kendo-splitter-pane", inputs: ["order", "size", "splitterBarAttributes", "splitterBarClass", "min", "max", "resizable", "collapsible", "scrollable", "collapsed", "orientation", "containsSplitter", "overlayContent"], outputs: ["sizeChange", "collapsedChange"], exportAs: ["kendoSplitterPane"] }, { kind: "component", type: TreeListComponent, selector: "kendo-treelist", inputs: ["aria-label", "data", "pageSize", "height", "rowHeight", "skip", "scrollable", "sort", "trackBy", "filter", "virtualColumns", "filterable", "sortable", "pageable", "navigable", "autoSize", "rowClass", "resizable", "reorderable", "loading", "columnMenu", "hideHeader", "idField", "selectable", "isSelected", "rowReorderable", "columns", "fetchChildren", "hasChildren", "isExpanded"], outputs: ["selectionChange", "filterChange", "pageChange", "sortChange", "dataStateChange", "edit", "cancel", "save", "remove", "add", "cellClose", "cellClick", "pdfExport", "excelExport", "columnResize", "columnReorder", "columnVisibilityChange", "columnLockedChange", "scrollBottom", "contentScroll", "expand", "collapse", "expandStateChange", "rowReorder"], exportAs: ["kendoTreeList"] }, { kind: "directive", type: EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { kind: "component", type: CustomMessagesComponent$2, selector: "kendo-treelist-messages" }, { kind: "component", type: GanttTimelineComponent, selector: "kendo-gantt-timeline", inputs: ["rows", "slots", "groupSlots", "tableWidth", "activeView", "taskContentTemplate", "taskTemplate", "summaryTaskTemplate", "taskClass", "renderDependencyDragClues", "dragScrollSettings", "currentTimeMarker", "customTooltipTemplate", "tooltipOptions", "selectable", "isTaskSelected", "isExpanded", "dependencies"], outputs: ["timelineContainerPress", "timelineContainerDrag", "timelineContainerRelease"] }, { kind: "component", type: EditDialogComponent, selector: "kendo-gantt-edit-dialog", inputs: ["data"] }, { kind: "component", type: DialogComponent, selector: "kendo-dialog", inputs: ["actions", "actionsLayout", "autoFocusedElement", "title", "width", "minWidth", "maxWidth", "height", "minHeight", "maxHeight", "animation", "themeColor"], outputs: ["action", "close"], exportAs: ["kendoDialog"] }, { kind: "component", type: DialogActionsComponent, selector: "kendo-dialog-actions", inputs: ["actions", "layout"], outputs: ["action"] }, { kind: "component", type: TreeListSpacerComponent, selector: "kendo-treelist-spacer", inputs: ["width"] }, { kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { kind: "component", type: WatermarkOverlayComponent, selector: "div[kendoWatermarkOverlay]" }] });
7712
+ <div kendoWatermarkOverlay *ngIf="showLicenseWatermark" [licenseMessage]="licenseMessage"></div>
7713
+ `, isInline: true, dependencies: [{ kind: "directive", type: LocalizedMessagesDirective, selector: "[kendoGanttLocalizedMessages]" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ToolbarComponent, selector: "kendo-gantt-toolbar", inputs: ["showAddTask", "showViewSelector", "views", "activeView", "toolbarTemplate", "navigable", "position"], outputs: ["activeViewChange"] }, { kind: "component", type: SplitterComponent, selector: "kendo-splitter", inputs: ["orientation", "splitbarWidth", "resizeStep", "splitterBarClass"], outputs: ["layoutChange"], exportAs: ["kendoSplitter"] }, { kind: "component", type: SplitterPaneComponent, selector: "kendo-splitter-pane", inputs: ["order", "size", "splitterBarAttributes", "splitterBarClass", "min", "max", "resizable", "collapsible", "scrollable", "collapsed", "orientation", "containsSplitter", "overlayContent"], outputs: ["sizeChange", "collapsedChange"], exportAs: ["kendoSplitterPane"] }, { kind: "component", type: TreeListComponent, selector: "kendo-treelist", inputs: ["aria-label", "data", "pageSize", "height", "rowHeight", "skip", "scrollable", "sort", "trackBy", "filter", "virtualColumns", "filterable", "sortable", "pageable", "navigable", "autoSize", "rowClass", "resizable", "reorderable", "loading", "columnMenu", "hideHeader", "idField", "selectable", "isSelected", "rowReorderable", "columns", "fetchChildren", "hasChildren", "isExpanded"], outputs: ["selectionChange", "filterChange", "pageChange", "sortChange", "dataStateChange", "edit", "cancel", "save", "remove", "add", "cellClose", "cellClick", "pdfExport", "excelExport", "columnResize", "columnReorder", "columnVisibilityChange", "columnLockedChange", "scrollBottom", "contentScroll", "expand", "collapse", "expandStateChange", "rowReorder"], exportAs: ["kendoTreeList"] }, { kind: "directive", type: EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { kind: "component", type: CustomMessagesComponent$2, selector: "kendo-treelist-messages" }, { kind: "component", type: GanttTimelineComponent, selector: "kendo-gantt-timeline", inputs: ["rows", "slots", "groupSlots", "tableWidth", "activeView", "taskContentTemplate", "taskTemplate", "summaryTaskTemplate", "taskClass", "renderDependencyDragClues", "dragScrollSettings", "currentTimeMarker", "customTooltipTemplate", "tooltipOptions", "selectable", "isTaskSelected", "isExpanded", "dependencies"], outputs: ["timelineContainerPress", "timelineContainerDrag", "timelineContainerRelease"] }, { kind: "component", type: EditDialogComponent, selector: "kendo-gantt-edit-dialog", inputs: ["data"] }, { kind: "component", type: DialogComponent, selector: "kendo-dialog", inputs: ["actions", "actionsLayout", "autoFocusedElement", "title", "width", "minWidth", "maxWidth", "height", "minHeight", "maxHeight", "animation", "themeColor"], outputs: ["action", "close"], exportAs: ["kendoDialog"] }, { kind: "component", type: DialogActionsComponent, selector: "kendo-dialog-actions", inputs: ["actions", "layout"], outputs: ["action"] }, { kind: "component", type: TreeListSpacerComponent, selector: "kendo-treelist-spacer", inputs: ["width"] }, { kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { kind: "component", type: WatermarkOverlayComponent, selector: "div[kendoWatermarkOverlay]", inputs: ["licenseMessage"] }] });
7715
7714
  }
7716
7715
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GanttComponent, decorators: [{
7717
7716
  type: Component,
@@ -8126,7 +8125,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
8126
8125
  </kendo-dialog-actions>
8127
8126
  </kendo-dialog>
8128
8127
 
8129
- <div kendoWatermarkOverlay *ngIf="showLicenseWatermark"></div>
8128
+ <div kendoWatermarkOverlay *ngIf="showLicenseWatermark" [licenseMessage]="licenseMessage"></div>
8130
8129
  `,
8131
8130
  standalone: true,
8132
8131
  imports: [LocalizedMessagesDirective, NgIf, ToolbarComponent, SplitterComponent, SplitterPaneComponent, TreeListComponent, EventsOutsideAngularDirective, CustomMessagesComponent$2, GanttTimelineComponent, EditDialogComponent, DialogComponent, DialogActionsComponent, TreeListSpacerComponent, ButtonComponent, WatermarkOverlayComponent]
@@ -543,6 +543,10 @@ export declare class GanttComponent implements AfterContentInit, OnChanges, OnDe
543
543
  * @hidden
544
544
  */
545
545
  showLicenseWatermark: boolean;
546
+ /**
547
+ * @hidden
548
+ */
549
+ licenseMessage?: string;
546
550
  private _columns;
547
551
  private _data;
548
552
  private _dragScrollSettings;
@@ -5,22 +5,22 @@
5
5
  /**
6
6
  * @hidden
7
7
  */
8
- export declare const isArrowUpDownKey: (keyCode: number) => boolean;
8
+ export declare const isArrowUpDownKey: (code: string) => boolean;
9
9
  /**
10
10
  * @hidden
11
11
  */
12
- export declare const isNavigationKey: (keyCode: number) => boolean;
12
+ export declare const isNavigationKey: (code: string) => boolean;
13
13
  /**
14
14
  * @hidden
15
15
  */
16
- export declare const isExpandCollapseKey: (keyCode: number, altKey: boolean) => boolean;
16
+ export declare const isExpandCollapseKey: (code: string, altKey: boolean) => boolean;
17
17
  /**
18
18
  * @hidden
19
19
  */
20
- export declare const isViewDigitKey: (keyCode: number) => boolean;
20
+ export declare const isViewDigitKey: (code: string) => boolean;
21
21
  /**
22
22
  * @hidden
23
23
  *
24
24
  * Returns the corresponding view index for the pressed digit key (Digit 1 => 0, Digit 2 => 1, etc.).
25
25
  */
26
- export declare const getIndexFromViewDigitKeyCode: (keyCode: number) => number;
26
+ export declare const getIndexFromViewDigitKeyCode: (code: string) => number;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@progress/kendo-angular-gantt",
3
- "version": "19.3.0-develop.9",
3
+ "version": "19.3.0",
4
4
  "description": "Kendo UI Angular Gantt",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "author": "Progress",
@@ -19,7 +19,7 @@
19
19
  "package": {
20
20
  "productName": "Kendo UI for Angular",
21
21
  "productCode": "KENDOUIANGULAR",
22
- "publishDate": 1752672497,
22
+ "publishDate": 1755030780,
23
23
  "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"
24
24
  }
25
25
  },
@@ -30,26 +30,26 @@
30
30
  "@angular/forms": "16 - 20",
31
31
  "@angular/platform-browser": "16 - 20",
32
32
  "@progress/kendo-data-query": "^1.5.5",
33
- "@progress/kendo-licensing": "^1.5.0",
34
- "@progress/kendo-angular-buttons": "19.3.0-develop.9",
35
- "@progress/kendo-angular-common": "19.3.0-develop.9",
36
- "@progress/kendo-angular-dialog": "19.3.0-develop.9",
37
- "@progress/kendo-angular-dropdowns": "19.3.0-develop.9",
38
- "@progress/kendo-angular-grid": "19.3.0-develop.9",
39
- "@progress/kendo-angular-icons": "19.3.0-develop.9",
40
- "@progress/kendo-angular-inputs": "19.3.0-develop.9",
41
- "@progress/kendo-angular-intl": "19.3.0-develop.9",
42
- "@progress/kendo-angular-l10n": "19.3.0-develop.9",
43
- "@progress/kendo-angular-label": "19.3.0-develop.9",
44
- "@progress/kendo-angular-layout": "19.3.0-develop.9",
45
- "@progress/kendo-angular-popup": "19.3.0-develop.9",
46
- "@progress/kendo-angular-tooltip": "19.3.0-develop.9",
47
- "@progress/kendo-angular-treelist": "19.3.0-develop.9",
33
+ "@progress/kendo-licensing": "^1.7.0",
34
+ "@progress/kendo-angular-buttons": "19.3.0",
35
+ "@progress/kendo-angular-common": "19.3.0",
36
+ "@progress/kendo-angular-dialog": "19.3.0",
37
+ "@progress/kendo-angular-dropdowns": "19.3.0",
38
+ "@progress/kendo-angular-grid": "19.3.0",
39
+ "@progress/kendo-angular-icons": "19.3.0",
40
+ "@progress/kendo-angular-inputs": "19.3.0",
41
+ "@progress/kendo-angular-intl": "19.3.0",
42
+ "@progress/kendo-angular-l10n": "19.3.0",
43
+ "@progress/kendo-angular-label": "19.3.0",
44
+ "@progress/kendo-angular-layout": "19.3.0",
45
+ "@progress/kendo-angular-popup": "19.3.0",
46
+ "@progress/kendo-angular-tooltip": "19.3.0",
47
+ "@progress/kendo-angular-treelist": "19.3.0",
48
48
  "rxjs": "^6.5.3 || ^7.0.0"
49
49
  },
50
50
  "dependencies": {
51
51
  "tslib": "^2.3.1",
52
- "@progress/kendo-angular-schematics": "19.3.0-develop.9",
52
+ "@progress/kendo-angular-schematics": "19.3.0",
53
53
  "@progress/kendo-common": "^1.0.1",
54
54
  "@progress/kendo-date-math": "^1.5.2",
55
55
  "@progress/kendo-draggable": "^3.0.0"
@@ -7,16 +7,16 @@ function default_1(options) {
7
7
  // See https://github.com/telerik/kendo-schematics/issues/28
8
8
  peerDependencies: {
9
9
  // peer deps of the treelist
10
- '@progress/kendo-angular-dateinputs': '19.3.0-develop.9',
11
- '@progress/kendo-angular-excel-export': '19.3.0-develop.9',
12
- '@progress/kendo-angular-pdf-export': '19.3.0-develop.9',
13
- '@progress/kendo-angular-utils': '19.3.0-develop.9',
10
+ '@progress/kendo-angular-dateinputs': '19.3.0',
11
+ '@progress/kendo-angular-excel-export': '19.3.0',
12
+ '@progress/kendo-angular-pdf-export': '19.3.0',
13
+ '@progress/kendo-angular-utils': '19.3.0',
14
14
  '@progress/kendo-drawing': '^1.0.0',
15
15
  // peer deps of the dropdowns
16
- '@progress/kendo-angular-treeview': '19.3.0-develop.9',
17
- '@progress/kendo-angular-navigation': '19.3.0-develop.9',
16
+ '@progress/kendo-angular-treeview': '19.3.0',
17
+ '@progress/kendo-angular-navigation': '19.3.0',
18
18
  // peer dep of the layout
19
- '@progress/kendo-angular-progressbar': '19.3.0-develop.9',
19
+ '@progress/kendo-angular-progressbar': '19.3.0',
20
20
  // peer dep of the icons
21
21
  '@progress/kendo-svg-icons': '^4.0.0'
22
22
  } });