@progress/kendo-angular-gantt 19.3.0-develop.9 → 19.3.1-develop.1
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/esm2022/editing/dependencies-table.component.mjs +1 -1
- package/esm2022/gantt.component.mjs +24 -17
- package/esm2022/navigation/utils.mjs +18 -26
- package/esm2022/package-metadata.mjs +2 -2
- package/fesm2022/progress-kendo-angular-gantt.mjs +45 -46
- package/gantt.component.d.ts +4 -0
- package/navigation/utils.d.ts +5 -5
- package/package.json +18 -18
- package/schematics/ngAdd/index.js +7 -7
|
@@ -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 {
|
|
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(
|
|
1308
|
-
const direction =
|
|
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 (
|
|
1319
|
+
else if (code === Keys.Home) {
|
|
1313
1320
|
this.navigation.activeTimelineIndex = 0;
|
|
1314
1321
|
this.navigation.updateActiveTreeListCell();
|
|
1315
1322
|
}
|
|
1316
|
-
else if (
|
|
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(
|
|
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 (
|
|
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 (
|
|
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(
|
|
1349
|
+
if (isExpandCollapseKey(code, altKey)) {
|
|
1343
1350
|
const task = this.renderedTreeListItems[this.activeTimelineIndex];
|
|
1344
1351
|
if (isPresent(task) && this.hasChildren(task)) {
|
|
1345
|
-
const shouldExpand =
|
|
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 (
|
|
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(
|
|
1378
|
-
const targetViewIndex = getIndexFromViewDigitKeyCode(
|
|
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 = (
|
|
9
|
+
export const isArrowUpDownKey = (code) => [
|
|
18
10
|
Keys.ArrowUp,
|
|
19
11
|
Keys.ArrowDown
|
|
20
|
-
].some(arrowKeyCode =>
|
|
12
|
+
].some(arrowKeyCode => code === arrowKeyCode);
|
|
21
13
|
/**
|
|
22
14
|
* @hidden
|
|
23
15
|
*/
|
|
24
|
-
export const isNavigationKey = (
|
|
16
|
+
export const isNavigationKey = (code) => [
|
|
25
17
|
Keys.ArrowUp,
|
|
26
18
|
Keys.ArrowDown,
|
|
27
19
|
Keys.Home,
|
|
28
20
|
Keys.End
|
|
29
|
-
].some(navigationKeyCode =>
|
|
21
|
+
].some(navigationKeyCode => code === navigationKeyCode);
|
|
30
22
|
/**
|
|
31
23
|
* @hidden
|
|
32
24
|
*/
|
|
33
|
-
export const isExpandCollapseKey = (
|
|
25
|
+
export const isExpandCollapseKey = (code, altKey) => {
|
|
34
26
|
return altKey && [
|
|
35
27
|
Keys.ArrowLeft,
|
|
36
28
|
Keys.ArrowRight
|
|
37
|
-
].some(navigationKeyCode =>
|
|
29
|
+
].some(navigationKeyCode => code === navigationKeyCode);
|
|
38
30
|
};
|
|
39
31
|
/**
|
|
40
32
|
* @hidden
|
|
41
33
|
*/
|
|
42
|
-
export const isViewDigitKey = (
|
|
34
|
+
export const isViewDigitKey = (code) => [
|
|
43
35
|
Keys.Digit1,
|
|
44
|
-
|
|
36
|
+
Keys.Numpad1,
|
|
45
37
|
Keys.Digit2,
|
|
46
|
-
|
|
38
|
+
Keys.Numpad2,
|
|
47
39
|
Keys.Digit3,
|
|
48
|
-
|
|
40
|
+
Keys.Numpad3,
|
|
49
41
|
Keys.Digit4,
|
|
50
|
-
|
|
51
|
-
].some(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 = (
|
|
58
|
-
switch (
|
|
59
|
-
case
|
|
49
|
+
export const getIndexFromViewDigitKeyCode = (code) => {
|
|
50
|
+
switch (code) {
|
|
51
|
+
case Keys.Numpad1:
|
|
60
52
|
case Keys.Digit1: return 0;
|
|
61
|
-
case
|
|
53
|
+
case Keys.Numpad2:
|
|
62
54
|
case Keys.Digit2: return 1;
|
|
63
|
-
case
|
|
55
|
+
case Keys.Numpad3:
|
|
64
56
|
case Keys.Digit3: return 2;
|
|
65
|
-
case
|
|
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:
|
|
14
|
-
version: '19.3.
|
|
13
|
+
publishDate: 1755502877,
|
|
14
|
+
version: '19.3.1-develop.1',
|
|
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:
|
|
48
|
-
version: '19.3.
|
|
47
|
+
publishDate: 1755502877,
|
|
48
|
+
version: '19.3.1-develop.1',
|
|
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 = (
|
|
55
|
+
const isArrowUpDownKey = (code) => [
|
|
64
56
|
Keys.ArrowUp,
|
|
65
57
|
Keys.ArrowDown
|
|
66
|
-
].some(arrowKeyCode =>
|
|
58
|
+
].some(arrowKeyCode => code === arrowKeyCode);
|
|
67
59
|
/**
|
|
68
60
|
* @hidden
|
|
69
61
|
*/
|
|
70
|
-
const isNavigationKey = (
|
|
62
|
+
const isNavigationKey = (code) => [
|
|
71
63
|
Keys.ArrowUp,
|
|
72
64
|
Keys.ArrowDown,
|
|
73
65
|
Keys.Home,
|
|
74
66
|
Keys.End
|
|
75
|
-
].some(navigationKeyCode =>
|
|
67
|
+
].some(navigationKeyCode => code === navigationKeyCode);
|
|
76
68
|
/**
|
|
77
69
|
* @hidden
|
|
78
70
|
*/
|
|
79
|
-
const isExpandCollapseKey = (
|
|
71
|
+
const isExpandCollapseKey = (code, altKey) => {
|
|
80
72
|
return altKey && [
|
|
81
73
|
Keys.ArrowLeft,
|
|
82
74
|
Keys.ArrowRight
|
|
83
|
-
].some(navigationKeyCode =>
|
|
75
|
+
].some(navigationKeyCode => code === navigationKeyCode);
|
|
84
76
|
};
|
|
85
77
|
/**
|
|
86
78
|
* @hidden
|
|
87
79
|
*/
|
|
88
|
-
const isViewDigitKey = (
|
|
80
|
+
const isViewDigitKey = (code) => [
|
|
89
81
|
Keys.Digit1,
|
|
90
|
-
|
|
82
|
+
Keys.Numpad1,
|
|
91
83
|
Keys.Digit2,
|
|
92
|
-
|
|
84
|
+
Keys.Numpad2,
|
|
93
85
|
Keys.Digit3,
|
|
94
|
-
|
|
86
|
+
Keys.Numpad3,
|
|
95
87
|
Keys.Digit4,
|
|
96
|
-
|
|
97
|
-
].some(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 = (
|
|
104
|
-
switch (
|
|
105
|
-
case
|
|
95
|
+
const getIndexFromViewDigitKeyCode = (code) => {
|
|
96
|
+
switch (code) {
|
|
97
|
+
case Keys.Numpad1:
|
|
106
98
|
case Keys.Digit1: return 0;
|
|
107
|
-
case
|
|
99
|
+
case Keys.Numpad2:
|
|
108
100
|
case Keys.Digit2: return 1;
|
|
109
|
-
case
|
|
101
|
+
case Keys.Numpad3:
|
|
110
102
|
case Keys.Digit3: return 2;
|
|
111
|
-
case
|
|
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 {
|
|
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(
|
|
7227
|
-
const direction =
|
|
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 (
|
|
7230
|
+
else if (code === Keys.Home) {
|
|
7232
7231
|
this.navigation.activeTimelineIndex = 0;
|
|
7233
7232
|
this.navigation.updateActiveTreeListCell();
|
|
7234
7233
|
}
|
|
7235
|
-
else if (
|
|
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(
|
|
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 (
|
|
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 (
|
|
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(
|
|
7260
|
+
if (isExpandCollapseKey(code, altKey)) {
|
|
7262
7261
|
const task = this.renderedTreeListItems[this.activeTimelineIndex];
|
|
7263
7262
|
if (isPresent(task) && this.hasChildren(task)) {
|
|
7264
|
-
const shouldExpand =
|
|
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 (
|
|
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(
|
|
7297
|
-
const targetViewIndex = getIndexFromViewDigitKeyCode(
|
|
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]
|
package/gantt.component.d.ts
CHANGED
|
@@ -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;
|
package/navigation/utils.d.ts
CHANGED
|
@@ -5,22 +5,22 @@
|
|
|
5
5
|
/**
|
|
6
6
|
* @hidden
|
|
7
7
|
*/
|
|
8
|
-
export declare const isArrowUpDownKey: (
|
|
8
|
+
export declare const isArrowUpDownKey: (code: string) => boolean;
|
|
9
9
|
/**
|
|
10
10
|
* @hidden
|
|
11
11
|
*/
|
|
12
|
-
export declare const isNavigationKey: (
|
|
12
|
+
export declare const isNavigationKey: (code: string) => boolean;
|
|
13
13
|
/**
|
|
14
14
|
* @hidden
|
|
15
15
|
*/
|
|
16
|
-
export declare const isExpandCollapseKey: (
|
|
16
|
+
export declare const isExpandCollapseKey: (code: string, altKey: boolean) => boolean;
|
|
17
17
|
/**
|
|
18
18
|
* @hidden
|
|
19
19
|
*/
|
|
20
|
-
export declare const isViewDigitKey: (
|
|
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: (
|
|
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.
|
|
3
|
+
"version": "19.3.1-develop.1",
|
|
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":
|
|
22
|
+
"publishDate": 1755502877,
|
|
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.
|
|
34
|
-
"@progress/kendo-angular-buttons": "19.3.
|
|
35
|
-
"@progress/kendo-angular-common": "19.3.
|
|
36
|
-
"@progress/kendo-angular-dialog": "19.3.
|
|
37
|
-
"@progress/kendo-angular-dropdowns": "19.3.
|
|
38
|
-
"@progress/kendo-angular-grid": "19.3.
|
|
39
|
-
"@progress/kendo-angular-icons": "19.3.
|
|
40
|
-
"@progress/kendo-angular-inputs": "19.3.
|
|
41
|
-
"@progress/kendo-angular-intl": "19.3.
|
|
42
|
-
"@progress/kendo-angular-l10n": "19.3.
|
|
43
|
-
"@progress/kendo-angular-label": "19.3.
|
|
44
|
-
"@progress/kendo-angular-layout": "19.3.
|
|
45
|
-
"@progress/kendo-angular-popup": "19.3.
|
|
46
|
-
"@progress/kendo-angular-tooltip": "19.3.
|
|
47
|
-
"@progress/kendo-angular-treelist": "19.3.
|
|
33
|
+
"@progress/kendo-licensing": "^1.7.0",
|
|
34
|
+
"@progress/kendo-angular-buttons": "19.3.1-develop.1",
|
|
35
|
+
"@progress/kendo-angular-common": "19.3.1-develop.1",
|
|
36
|
+
"@progress/kendo-angular-dialog": "19.3.1-develop.1",
|
|
37
|
+
"@progress/kendo-angular-dropdowns": "19.3.1-develop.1",
|
|
38
|
+
"@progress/kendo-angular-grid": "19.3.1-develop.1",
|
|
39
|
+
"@progress/kendo-angular-icons": "19.3.1-develop.1",
|
|
40
|
+
"@progress/kendo-angular-inputs": "19.3.1-develop.1",
|
|
41
|
+
"@progress/kendo-angular-intl": "19.3.1-develop.1",
|
|
42
|
+
"@progress/kendo-angular-l10n": "19.3.1-develop.1",
|
|
43
|
+
"@progress/kendo-angular-label": "19.3.1-develop.1",
|
|
44
|
+
"@progress/kendo-angular-layout": "19.3.1-develop.1",
|
|
45
|
+
"@progress/kendo-angular-popup": "19.3.1-develop.1",
|
|
46
|
+
"@progress/kendo-angular-tooltip": "19.3.1-develop.1",
|
|
47
|
+
"@progress/kendo-angular-treelist": "19.3.1-develop.1",
|
|
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.
|
|
52
|
+
"@progress/kendo-angular-schematics": "19.3.1-develop.1",
|
|
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.
|
|
11
|
-
'@progress/kendo-angular-excel-export': '19.3.
|
|
12
|
-
'@progress/kendo-angular-pdf-export': '19.3.
|
|
13
|
-
'@progress/kendo-angular-utils': '19.3.
|
|
10
|
+
'@progress/kendo-angular-dateinputs': '19.3.1-develop.1',
|
|
11
|
+
'@progress/kendo-angular-excel-export': '19.3.1-develop.1',
|
|
12
|
+
'@progress/kendo-angular-pdf-export': '19.3.1-develop.1',
|
|
13
|
+
'@progress/kendo-angular-utils': '19.3.1-develop.1',
|
|
14
14
|
'@progress/kendo-drawing': '^1.0.0',
|
|
15
15
|
// peer deps of the dropdowns
|
|
16
|
-
'@progress/kendo-angular-treeview': '19.3.
|
|
17
|
-
'@progress/kendo-angular-navigation': '19.3.
|
|
16
|
+
'@progress/kendo-angular-treeview': '19.3.1-develop.1',
|
|
17
|
+
'@progress/kendo-angular-navigation': '19.3.1-develop.1',
|
|
18
18
|
// peer dep of the layout
|
|
19
|
-
'@progress/kendo-angular-progressbar': '19.3.
|
|
19
|
+
'@progress/kendo-angular-progressbar': '19.3.1-develop.1',
|
|
20
20
|
// peer dep of the icons
|
|
21
21
|
'@progress/kendo-svg-icons': '^4.0.0'
|
|
22
22
|
} });
|