@progress/kendo-angular-dateinputs 21.2.0-develop.1 → 21.2.0-develop.10
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/codemods/utils.js +805 -394
- package/codemods/v19/datepicker-subtitle.js +9 -12
- package/codemods/v19/datepicker-title.js +9 -12
- package/codemods/v19/daterange-popup-subtitle.js +9 -12
- package/codemods/v19/daterange-popup-title.js +9 -12
- package/codemods/v19/datetimepicker-subtitle.js +9 -12
- package/codemods/v19/datetimepicker-title.js +9 -12
- package/codemods/v19/timepicker-subtitle.js +9 -12
- package/codemods/v19/timepicker-title.js +9 -12
- package/esm2022/calendar/calendar.component.mjs +2 -2
- package/esm2022/calendar/multiview-calendar.component.mjs +2 -2
- package/esm2022/calendar/services/navigation.service.mjs +2 -2
- package/esm2022/common/utils.mjs +2 -2
- package/esm2022/datepicker/datepicker.component.mjs +2 -2
- package/esm2022/daterange/date-range-input.mjs +2 -2
- package/esm2022/daterange/date-range-popup.component.mjs +2 -2
- package/esm2022/daterange/date-range.component.mjs +2 -2
- package/esm2022/datetimepicker/datetimepicker.component.mjs +2 -2
- package/esm2022/package-metadata.mjs +2 -2
- package/esm2022/timepicker/timelist.component.mjs +2 -2
- package/esm2022/timepicker/timepicker.component.mjs +2 -2
- package/esm2022/timepicker/timeselector.component.mjs +2 -2
- package/fesm2022/progress-kendo-angular-dateinputs.mjs +15 -15
- package/package.json +12 -13
- package/codemods/template-transformer/index.js +0 -96
|
@@ -29,24 +29,21 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
29
29
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
30
30
|
exports.default = default_1;
|
|
31
31
|
const fs = __importStar(require("fs"));
|
|
32
|
-
const index_1 = require("../template-transformer/index");
|
|
33
32
|
const utils_1 = require("../utils");
|
|
34
33
|
function default_1(fileInfo, api) {
|
|
35
34
|
const filePath = fileInfo.path;
|
|
35
|
+
// Handle HTML files and inline templates
|
|
36
|
+
const htmlResult = (0, utils_1.htmlTransformer)(fileInfo, api, (templateContent) => (0, utils_1.attributeNameUpdate)(templateContent, 'kendo-datepicker', 'title', 'adaptiveSubtitle'));
|
|
36
37
|
if (filePath.endsWith('.html')) {
|
|
37
|
-
if (
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
// Only write to file once after all transformations
|
|
41
|
-
fs.writeFileSync(filePath, updatedContent, 'utf-8');
|
|
38
|
+
if (htmlResult && htmlResult !== fileInfo.source) {
|
|
39
|
+
fs.writeFileSync(filePath, htmlResult, 'utf-8');
|
|
40
|
+
return htmlResult;
|
|
42
41
|
}
|
|
43
|
-
return;
|
|
42
|
+
return fileInfo.source; // Return original source if no changes
|
|
44
43
|
}
|
|
44
|
+
// Handle TypeScript property transformations
|
|
45
45
|
const j = api.jscodeshift;
|
|
46
|
-
const rootSource = j(fileInfo.source);
|
|
47
|
-
(0,
|
|
48
|
-
(0, utils_1.templateAttributeTransformer)(root, 'kendo-datepicker', 'subtitle', 'adaptiveSubtitle');
|
|
49
|
-
});
|
|
50
|
-
(0, utils_1.tsPropertyTransformer)(fileInfo.source, rootSource, j, 'DatePickerComponent', 'subtitle', 'adaptiveSubtitle');
|
|
46
|
+
const rootSource = j(htmlResult || fileInfo.source);
|
|
47
|
+
(0, utils_1.tsPropertyTransformer)(fileInfo.source, rootSource, j, '@progress/kendo-angular-dateinputs', 'DatePickerComponent', 'title', 'adaptiveSubtitle');
|
|
51
48
|
return rootSource.toSource();
|
|
52
49
|
}
|
|
@@ -29,24 +29,21 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
29
29
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
30
30
|
exports.default = default_1;
|
|
31
31
|
const fs = __importStar(require("fs"));
|
|
32
|
-
const index_1 = require("../template-transformer/index");
|
|
33
32
|
const utils_1 = require("../utils");
|
|
34
33
|
function default_1(fileInfo, api) {
|
|
35
34
|
const filePath = fileInfo.path;
|
|
35
|
+
// Handle HTML files and inline templates
|
|
36
|
+
const htmlResult = (0, utils_1.htmlTransformer)(fileInfo, api, (templateContent) => (0, utils_1.attributeNameUpdate)(templateContent, 'kendo-datepicker', 'title', 'adaptiveTitle'));
|
|
36
37
|
if (filePath.endsWith('.html')) {
|
|
37
|
-
if (
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
// Only write to file once after all transformations
|
|
41
|
-
fs.writeFileSync(filePath, updatedContent, 'utf-8');
|
|
38
|
+
if (htmlResult && htmlResult !== fileInfo.source) {
|
|
39
|
+
fs.writeFileSync(filePath, htmlResult, 'utf-8');
|
|
40
|
+
return htmlResult;
|
|
42
41
|
}
|
|
43
|
-
return;
|
|
42
|
+
return fileInfo.source; // Return original source if no changes
|
|
44
43
|
}
|
|
44
|
+
// Handle TypeScript property transformations
|
|
45
45
|
const j = api.jscodeshift;
|
|
46
|
-
const rootSource = j(fileInfo.source);
|
|
47
|
-
(0,
|
|
48
|
-
(0, utils_1.templateAttributeTransformer)(root, 'kendo-datepicker', 'title', 'adaptiveTitle');
|
|
49
|
-
});
|
|
50
|
-
(0, utils_1.tsPropertyTransformer)(fileInfo.source, rootSource, j, 'DatePickerComponent', 'title', 'adaptiveTitle');
|
|
46
|
+
const rootSource = j(htmlResult || fileInfo.source);
|
|
47
|
+
(0, utils_1.tsPropertyTransformer)(fileInfo.source, rootSource, j, '@progress/kendo-angular-dateinputs', 'DatePickerComponent', 'title', 'adaptiveTitle');
|
|
51
48
|
return rootSource.toSource();
|
|
52
49
|
}
|
|
@@ -29,24 +29,21 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
29
29
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
30
30
|
exports.default = default_1;
|
|
31
31
|
const fs = __importStar(require("fs"));
|
|
32
|
-
const index_1 = require("../template-transformer/index");
|
|
33
32
|
const utils_1 = require("../utils");
|
|
34
33
|
function default_1(fileInfo, api) {
|
|
35
34
|
const filePath = fileInfo.path;
|
|
35
|
+
// Handle HTML files and inline templates
|
|
36
|
+
const htmlResult = (0, utils_1.htmlTransformer)(fileInfo, api, (templateContent) => (0, utils_1.attributeNameUpdate)(templateContent, 'kendo-daterange-popup', 'subtitle', 'adaptiveSubtitle'));
|
|
36
37
|
if (filePath.endsWith('.html')) {
|
|
37
|
-
if (
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
// Only write to file once after all transformations
|
|
41
|
-
fs.writeFileSync(filePath, updatedContent, 'utf-8');
|
|
38
|
+
if (htmlResult && htmlResult !== fileInfo.source) {
|
|
39
|
+
fs.writeFileSync(filePath, htmlResult, 'utf-8');
|
|
40
|
+
return htmlResult;
|
|
42
41
|
}
|
|
43
|
-
return;
|
|
42
|
+
return fileInfo.source; // Return original source if no changes
|
|
44
43
|
}
|
|
44
|
+
// Handle TypeScript property transformations
|
|
45
45
|
const j = api.jscodeshift;
|
|
46
|
-
const rootSource = j(fileInfo.source);
|
|
47
|
-
(0,
|
|
48
|
-
(0, utils_1.templateAttributeTransformer)(root, 'kendo-daterange-popup', 'subtitle', 'adaptiveSubtitle');
|
|
49
|
-
});
|
|
50
|
-
(0, utils_1.tsPropertyTransformer)(fileInfo.source, rootSource, j, 'DateRangePopupComponent', 'subtitle', 'adaptiveSubtitle');
|
|
46
|
+
const rootSource = j(htmlResult || fileInfo.source);
|
|
47
|
+
(0, utils_1.tsPropertyTransformer)(fileInfo.source, rootSource, j, '@progress/kendo-angular-dateinputs', 'DateRangePopupComponent', 'subtitle', 'adaptiveSubtitle');
|
|
51
48
|
return rootSource.toSource();
|
|
52
49
|
}
|
|
@@ -29,24 +29,21 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
29
29
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
30
30
|
exports.default = default_1;
|
|
31
31
|
const fs = __importStar(require("fs"));
|
|
32
|
-
const index_1 = require("../template-transformer/index");
|
|
33
32
|
const utils_1 = require("../utils");
|
|
34
33
|
function default_1(fileInfo, api) {
|
|
35
34
|
const filePath = fileInfo.path;
|
|
35
|
+
// Handle HTML files and inline templates
|
|
36
|
+
const htmlResult = (0, utils_1.htmlTransformer)(fileInfo, api, (templateContent) => (0, utils_1.attributeNameUpdate)(templateContent, 'kendo-daterange-popup', 'title', 'adaptiveTitle'));
|
|
36
37
|
if (filePath.endsWith('.html')) {
|
|
37
|
-
if (
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
// Only write to file once after all transformations
|
|
41
|
-
fs.writeFileSync(filePath, updatedContent, 'utf-8');
|
|
38
|
+
if (htmlResult && htmlResult !== fileInfo.source) {
|
|
39
|
+
fs.writeFileSync(filePath, htmlResult, 'utf-8');
|
|
40
|
+
return htmlResult;
|
|
42
41
|
}
|
|
43
|
-
return;
|
|
42
|
+
return fileInfo.source; // Return original source if no changes
|
|
44
43
|
}
|
|
44
|
+
// Handle TypeScript property transformations
|
|
45
45
|
const j = api.jscodeshift;
|
|
46
|
-
const rootSource = j(fileInfo.source);
|
|
47
|
-
(0,
|
|
48
|
-
(0, utils_1.templateAttributeTransformer)(root, 'kendo-daterange-popup', 'title', 'adaptiveTitle');
|
|
49
|
-
});
|
|
50
|
-
(0, utils_1.tsPropertyTransformer)(fileInfo.source, rootSource, j, 'DateRangePopupComponent', 'title', 'adaptiveTitle');
|
|
46
|
+
const rootSource = j(htmlResult || fileInfo.source);
|
|
47
|
+
(0, utils_1.tsPropertyTransformer)(fileInfo.source, rootSource, j, '@progress/kendo-angular-dateinputs', 'DateRangePopupComponent', 'title', 'adaptiveTitle');
|
|
51
48
|
return rootSource.toSource();
|
|
52
49
|
}
|
|
@@ -29,24 +29,21 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
29
29
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
30
30
|
exports.default = default_1;
|
|
31
31
|
const fs = __importStar(require("fs"));
|
|
32
|
-
const index_1 = require("../template-transformer/index");
|
|
33
32
|
const utils_1 = require("../utils");
|
|
34
33
|
function default_1(fileInfo, api) {
|
|
35
34
|
const filePath = fileInfo.path;
|
|
35
|
+
// Handle HTML files and inline templates
|
|
36
|
+
const htmlResult = (0, utils_1.htmlTransformer)(fileInfo, api, (templateContent) => (0, utils_1.attributeNameUpdate)(templateContent, 'kendo-datetimepicker', 'subtitle', 'adaptiveSubtitle'));
|
|
36
37
|
if (filePath.endsWith('.html')) {
|
|
37
|
-
if (
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
// Only write to file once after all transformations
|
|
41
|
-
fs.writeFileSync(filePath, updatedContent, 'utf-8');
|
|
38
|
+
if (htmlResult && htmlResult !== fileInfo.source) {
|
|
39
|
+
fs.writeFileSync(filePath, htmlResult, 'utf-8');
|
|
40
|
+
return htmlResult;
|
|
42
41
|
}
|
|
43
|
-
return;
|
|
42
|
+
return fileInfo.source; // Return original source if no changes
|
|
44
43
|
}
|
|
44
|
+
// Handle TypeScript property transformations
|
|
45
45
|
const j = api.jscodeshift;
|
|
46
|
-
const rootSource = j(fileInfo.source);
|
|
47
|
-
(0,
|
|
48
|
-
(0, utils_1.templateAttributeTransformer)(root, 'kendo-datetimepicker', 'subtitle', 'adaptiveSubtitle');
|
|
49
|
-
});
|
|
50
|
-
(0, utils_1.tsPropertyTransformer)(fileInfo.source, rootSource, j, 'DateTimePickerComponent', 'subtitle', 'adaptiveSubtitle');
|
|
46
|
+
const rootSource = j(htmlResult || fileInfo.source);
|
|
47
|
+
(0, utils_1.tsPropertyTransformer)(fileInfo.source, rootSource, j, '@progress/kendo-angular-dateinputs', 'DateTimePickerComponent', 'subtitle', 'adaptiveSubtitle');
|
|
51
48
|
return rootSource.toSource();
|
|
52
49
|
}
|
|
@@ -29,24 +29,21 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
29
29
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
30
30
|
exports.default = default_1;
|
|
31
31
|
const fs = __importStar(require("fs"));
|
|
32
|
-
const index_1 = require("../template-transformer/index");
|
|
33
32
|
const utils_1 = require("../utils");
|
|
34
33
|
function default_1(fileInfo, api) {
|
|
35
34
|
const filePath = fileInfo.path;
|
|
35
|
+
// Handle HTML files and inline templates
|
|
36
|
+
const htmlResult = (0, utils_1.htmlTransformer)(fileInfo, api, (templateContent) => (0, utils_1.attributeNameUpdate)(templateContent, 'kendo-datetimepicker', 'title', 'adaptiveTitle'));
|
|
36
37
|
if (filePath.endsWith('.html')) {
|
|
37
|
-
if (
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
// Only write to file once after all transformations
|
|
41
|
-
fs.writeFileSync(filePath, updatedContent, 'utf-8');
|
|
38
|
+
if (htmlResult && htmlResult !== fileInfo.source) {
|
|
39
|
+
fs.writeFileSync(filePath, htmlResult, 'utf-8');
|
|
40
|
+
return htmlResult;
|
|
42
41
|
}
|
|
43
|
-
return;
|
|
42
|
+
return fileInfo.source; // Return original source if no changes
|
|
44
43
|
}
|
|
44
|
+
// Handle TypeScript property transformations
|
|
45
45
|
const j = api.jscodeshift;
|
|
46
|
-
const rootSource = j(fileInfo.source);
|
|
47
|
-
(0,
|
|
48
|
-
(0, utils_1.templateAttributeTransformer)(root, 'kendo-datetimepicker', 'title', 'adaptiveTitle');
|
|
49
|
-
});
|
|
50
|
-
(0, utils_1.tsPropertyTransformer)(fileInfo.source, rootSource, j, 'DateTimePickerComponent', 'title', 'adaptiveTitle');
|
|
46
|
+
const rootSource = j(htmlResult || fileInfo.source);
|
|
47
|
+
(0, utils_1.tsPropertyTransformer)(fileInfo.source, rootSource, j, '@progress/kendo-angular-dateinputs', 'DateTimePickerComponent', 'title', 'adaptiveTitle');
|
|
51
48
|
return rootSource.toSource();
|
|
52
49
|
}
|
|
@@ -29,24 +29,21 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
29
29
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
30
30
|
exports.default = default_1;
|
|
31
31
|
const fs = __importStar(require("fs"));
|
|
32
|
-
const index_1 = require("../template-transformer/index");
|
|
33
32
|
const utils_1 = require("../utils");
|
|
34
33
|
function default_1(fileInfo, api) {
|
|
35
34
|
const filePath = fileInfo.path;
|
|
35
|
+
// Handle HTML files and inline templates
|
|
36
|
+
const htmlResult = (0, utils_1.htmlTransformer)(fileInfo, api, (templateContent) => (0, utils_1.attributeNameUpdate)(templateContent, 'kendo-timepicker', 'subtitle', 'adaptiveSubtitle'));
|
|
36
37
|
if (filePath.endsWith('.html')) {
|
|
37
|
-
if (
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
// Only write to file once after all transformations
|
|
41
|
-
fs.writeFileSync(filePath, updatedContent, 'utf-8');
|
|
38
|
+
if (htmlResult && htmlResult !== fileInfo.source) {
|
|
39
|
+
fs.writeFileSync(filePath, htmlResult, 'utf-8');
|
|
40
|
+
return htmlResult;
|
|
42
41
|
}
|
|
43
|
-
return;
|
|
42
|
+
return fileInfo.source; // Return original source if no changes
|
|
44
43
|
}
|
|
44
|
+
// Handle TypeScript property transformations
|
|
45
45
|
const j = api.jscodeshift;
|
|
46
|
-
const rootSource = j(fileInfo.source);
|
|
47
|
-
(0,
|
|
48
|
-
(0, utils_1.templateAttributeTransformer)(root, 'kendo-timepicker', 'subtitle', 'adaptiveSubtitle');
|
|
49
|
-
});
|
|
50
|
-
(0, utils_1.tsPropertyTransformer)(fileInfo.source, rootSource, j, 'TimePickerComponent', 'subtitle', 'adaptiveSubtitle');
|
|
46
|
+
const rootSource = j(htmlResult || fileInfo.source);
|
|
47
|
+
(0, utils_1.tsPropertyTransformer)(fileInfo.source, rootSource, j, '@progress/kendo-angular-dateinputs', 'TimePickerComponent', 'subtitle', 'adaptiveSubtitle');
|
|
51
48
|
return rootSource.toSource();
|
|
52
49
|
}
|
|
@@ -29,24 +29,21 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
29
29
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
30
30
|
exports.default = default_1;
|
|
31
31
|
const fs = __importStar(require("fs"));
|
|
32
|
-
const index_1 = require("../template-transformer/index");
|
|
33
32
|
const utils_1 = require("../utils");
|
|
34
33
|
function default_1(fileInfo, api) {
|
|
35
34
|
const filePath = fileInfo.path;
|
|
35
|
+
// Handle HTML files and inline templates
|
|
36
|
+
const htmlResult = (0, utils_1.htmlTransformer)(fileInfo, api, (templateContent) => (0, utils_1.attributeNameUpdate)(templateContent, 'kendo-timepicker', 'title', 'adaptiveTitle'));
|
|
36
37
|
if (filePath.endsWith('.html')) {
|
|
37
|
-
if (
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
// Only write to file once after all transformations
|
|
41
|
-
fs.writeFileSync(filePath, updatedContent, 'utf-8');
|
|
38
|
+
if (htmlResult && htmlResult !== fileInfo.source) {
|
|
39
|
+
fs.writeFileSync(filePath, htmlResult, 'utf-8');
|
|
40
|
+
return htmlResult;
|
|
42
41
|
}
|
|
43
|
-
return;
|
|
42
|
+
return fileInfo.source; // Return original source if no changes
|
|
44
43
|
}
|
|
44
|
+
// Handle TypeScript property transformations
|
|
45
45
|
const j = api.jscodeshift;
|
|
46
|
-
const rootSource = j(fileInfo.source);
|
|
47
|
-
(0,
|
|
48
|
-
(0, utils_1.templateAttributeTransformer)(root, 'kendo-timepicker', 'title', 'adaptiveTitle');
|
|
49
|
-
});
|
|
50
|
-
(0, utils_1.tsPropertyTransformer)(fileInfo.source, rootSource, j, 'TimePickerComponent', 'title', 'adaptiveTitle');
|
|
46
|
+
const rootSource = j(htmlResult || fileInfo.source);
|
|
47
|
+
(0, utils_1.tsPropertyTransformer)(fileInfo.source, rootSource, j, '@progress/kendo-angular-dateinputs', 'TimePickerComponent', 'title', 'adaptiveTitle');
|
|
51
48
|
return rootSource.toSource();
|
|
52
49
|
}
|
|
@@ -6,7 +6,7 @@ import { Component, ChangeDetectorRef, ChangeDetectionStrategy, ContentChild, Ev
|
|
|
6
6
|
import { NG_VALUE_ACCESSOR, NG_VALIDATORS, NgControl } from '@angular/forms';
|
|
7
7
|
import { L10N_PREFIX, LocalizationService } from '@progress/kendo-angular-l10n';
|
|
8
8
|
import { cloneDate, isEqual } from '@progress/kendo-date-math';
|
|
9
|
-
import { hasObservers, KendoInput, guid, Keys, isObject, ResizeSensorComponent,
|
|
9
|
+
import { hasObservers, KendoInput, guid, Keys, isObject, ResizeSensorComponent, normalizeKeys } from '@progress/kendo-angular-common';
|
|
10
10
|
import { validatePackage } from '@progress/kendo-licensing';
|
|
11
11
|
import { packageMetadata } from '../package-metadata';
|
|
12
12
|
import { MultiViewCalendarComponent } from './multiview-calendar.component';
|
|
@@ -1128,7 +1128,7 @@ export class CalendarComponent {
|
|
|
1128
1128
|
if (this.type === 'infinite') {
|
|
1129
1129
|
// reserve the alt + arrow key commands for the picker
|
|
1130
1130
|
const ctrlKey = args.ctrlKey || args.metaKey;
|
|
1131
|
-
const code =
|
|
1131
|
+
const code = normalizeKeys(args);
|
|
1132
1132
|
const arrowKeyPressed = [Keys.ArrowUp, Keys.ArrowRight, Keys.ArrowDown, Keys.ArrowLeft].indexOf(code) !== -1;
|
|
1133
1133
|
const reserveKeyCommandsForPicker = isPresent(this.pickerService) && arrowKeyPressed && args.altKey;
|
|
1134
1134
|
if (reserveKeyCommandsForPicker) {
|
|
@@ -6,7 +6,7 @@ import { Component, ChangeDetectorRef, ChangeDetectionStrategy, ContentChild, Ev
|
|
|
6
6
|
import { NG_VALUE_ACCESSOR, NG_VALIDATORS } from '@angular/forms';
|
|
7
7
|
import { L10N_PREFIX, LocalizationService } from '@progress/kendo-angular-l10n';
|
|
8
8
|
import { cloneDate, isEqual } from '@progress/kendo-date-math';
|
|
9
|
-
import { hasObservers, guid, Keys, isObject,
|
|
9
|
+
import { hasObservers, guid, Keys, isObject, normalizeKeys } from '@progress/kendo-angular-common';
|
|
10
10
|
import { HorizontalViewListComponent } from './horizontal-view-list.component';
|
|
11
11
|
import { HeaderComponent } from './header.component';
|
|
12
12
|
import { BusViewService } from './services/bus-view.service';
|
|
@@ -692,7 +692,7 @@ export class MultiViewCalendarComponent {
|
|
|
692
692
|
* @hidden
|
|
693
693
|
*/
|
|
694
694
|
keydown(event) {
|
|
695
|
-
const code =
|
|
695
|
+
const code = normalizeKeys(event);
|
|
696
696
|
const arrowUpOrDownKeyPressed = [Keys.ArrowUp, Keys.ArrowDown].indexOf(code) !== -1;
|
|
697
697
|
const ctrlKey = event.ctrlKey || event.metaKey;
|
|
698
698
|
const onArrowRightAndControl = code === Keys.ArrowRight && ctrlKey;
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
import { Injectable } from '@angular/core';
|
|
6
6
|
import { Action } from '../models/navigation-action.enum';
|
|
7
7
|
import { BusViewService } from '../services/bus-view.service';
|
|
8
|
-
import {
|
|
8
|
+
import { normalizeKeys } from '@progress/kendo-angular-common';
|
|
9
9
|
import * as i0 from "@angular/core";
|
|
10
10
|
import * as i1 from "../services/bus-view.service";
|
|
11
11
|
const KEY_TO_ACTION = {
|
|
@@ -30,7 +30,7 @@ export class NavigationService {
|
|
|
30
30
|
}
|
|
31
31
|
action(event) {
|
|
32
32
|
// on some keyboards arrow keys, PageUp/Down, and Home/End are mapped to Numpad keys
|
|
33
|
-
const code =
|
|
33
|
+
const code = normalizeKeys(event);
|
|
34
34
|
const action = `${event.ctrlKey || event.metaKey ? 'meta+' : ''}${code}`;
|
|
35
35
|
return KEY_TO_ACTION[action];
|
|
36
36
|
}
|
package/esm2022/common/utils.mjs
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Copyright © 2025 Progress Software Corporation. All rights reserved.
|
|
3
3
|
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
|
5
|
-
import { Keys,
|
|
5
|
+
import { Keys, normalizeKeys } from "@progress/kendo-angular-common";
|
|
6
6
|
/**
|
|
7
7
|
* @hidden
|
|
8
8
|
*/
|
|
@@ -46,7 +46,7 @@ export const isDateArray = (value) => Array.isArray(value) && value.length > 0 &
|
|
|
46
46
|
* @hidden
|
|
47
47
|
*/
|
|
48
48
|
export const isArrowWithShiftPressed = (args) => {
|
|
49
|
-
const code =
|
|
49
|
+
const code = normalizeKeys(args);
|
|
50
50
|
return args.shiftKey && (code === Keys.ArrowRight || code === Keys.ArrowLeft || code === Keys.ArrowDown || code === Keys.ArrowUp);
|
|
51
51
|
};
|
|
52
52
|
/**
|
|
@@ -7,7 +7,7 @@ import { NG_VALUE_ACCESSOR, NG_VALIDATORS, NgControl } from '@angular/forms';
|
|
|
7
7
|
import { L10N_PREFIX, LocalizationService } from '@progress/kendo-angular-l10n';
|
|
8
8
|
import { PopupService } from '@progress/kendo-angular-popup';
|
|
9
9
|
import { cloneDate } from '@progress/kendo-date-math';
|
|
10
|
-
import { hasObservers, isControlRequired, KendoInput, Keys, MultiTabStop, ResizeSensorComponent, EventsOutsideAngularDirective,
|
|
10
|
+
import { hasObservers, isControlRequired, KendoInput, Keys, MultiTabStop, ResizeSensorComponent, EventsOutsideAngularDirective, normalizeKeys } from '@progress/kendo-angular-common';
|
|
11
11
|
import { validatePackage } from '@progress/kendo-licensing';
|
|
12
12
|
import { packageMetadata } from '../package-metadata';
|
|
13
13
|
import { MIN_DATE, MAX_DATE } from '../defaults';
|
|
@@ -927,7 +927,7 @@ export class DatePickerComponent extends MultiTabStop {
|
|
|
927
927
|
*/
|
|
928
928
|
handleKeydown(e) {
|
|
929
929
|
const { altKey, shiftKey, target } = e;
|
|
930
|
-
const code =
|
|
930
|
+
const code = normalizeKeys(e);
|
|
931
931
|
if (code === Keys.Escape) {
|
|
932
932
|
this.dateInput.focus();
|
|
933
933
|
this.show = false;
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
|
5
5
|
import { ElementRef, Renderer2, NgZone, Directive } from '@angular/core';
|
|
6
6
|
import { cloneDate } from '@progress/kendo-date-math';
|
|
7
|
-
import { Keys,
|
|
7
|
+
import { Keys, normalizeKeys } from '@progress/kendo-angular-common';
|
|
8
8
|
import { Subscription, fromEvent } from 'rxjs';
|
|
9
9
|
import { DateInputComponent } from '../dateinput/dateinput.component';
|
|
10
10
|
import { DateRangeService } from './date-range.service';
|
|
@@ -108,7 +108,7 @@ export class DateRangeInput {
|
|
|
108
108
|
}
|
|
109
109
|
}
|
|
110
110
|
togglePopup(e) {
|
|
111
|
-
const code =
|
|
111
|
+
const code = normalizeKeys(e);
|
|
112
112
|
const altKey = e.altKey;
|
|
113
113
|
if (code === Keys.Escape) {
|
|
114
114
|
this.dateRangeService.cancelPopup();
|
|
@@ -9,7 +9,7 @@ import { DateRangePopupTemplateDirective } from './date-range-popup-template.dir
|
|
|
9
9
|
import { DateRangeService } from './date-range.service';
|
|
10
10
|
import { MultiViewCalendarComponent } from '../calendar/multiview-calendar.component';
|
|
11
11
|
import { PreventableEvent } from '../preventable-event';
|
|
12
|
-
import { isDocumentAvailable, guid, Keys, hasObservers, ResizeSensorComponent,
|
|
12
|
+
import { isDocumentAvailable, guid, Keys, hasObservers, ResizeSensorComponent, normalizeKeys } from '@progress/kendo-angular-common';
|
|
13
13
|
import { AdaptiveService } from '@progress/kendo-angular-utils';
|
|
14
14
|
import { Subscription, fromEvent, merge } from 'rxjs';
|
|
15
15
|
import { filter, map } from 'rxjs/operators';
|
|
@@ -547,7 +547,7 @@ export class DateRangePopupComponent {
|
|
|
547
547
|
}
|
|
548
548
|
handleKeydown(event) {
|
|
549
549
|
const { altKey } = event;
|
|
550
|
-
const code =
|
|
550
|
+
const code = normalizeKeys(event);
|
|
551
551
|
if (code === Keys.Escape || (altKey && code === Keys.ArrowUp)) {
|
|
552
552
|
this.zone.run(() => this.cancelPopup());
|
|
553
553
|
}
|
|
@@ -7,7 +7,7 @@ import { validatePackage } from '@progress/kendo-licensing';
|
|
|
7
7
|
import { packageMetadata } from '../package-metadata';
|
|
8
8
|
import { DateRangePopupComponent } from './date-range-popup.component';
|
|
9
9
|
import { DateRangeService } from './date-range.service';
|
|
10
|
-
import { Keys,
|
|
10
|
+
import { Keys, normalizeKeys } from '@progress/kendo-angular-common';
|
|
11
11
|
import * as i0 from "@angular/core";
|
|
12
12
|
import * as i1 from "./date-range.service";
|
|
13
13
|
/**
|
|
@@ -47,7 +47,7 @@ export class DateRangeComponent {
|
|
|
47
47
|
* @hidden
|
|
48
48
|
*/
|
|
49
49
|
keydown(event) {
|
|
50
|
-
const code =
|
|
50
|
+
const code = normalizeKeys(event);
|
|
51
51
|
const shouldOpenPopup = code === Keys.ArrowDown && event.altKey;
|
|
52
52
|
if (shouldOpenPopup) {
|
|
53
53
|
this.dateRangeService.activatePopup();
|
|
@@ -9,7 +9,7 @@ import { tap } from 'rxjs/operators';
|
|
|
9
9
|
import { cloneDate, isEqual, getDate } from '@progress/kendo-date-math';
|
|
10
10
|
import { PopupService } from '@progress/kendo-angular-popup';
|
|
11
11
|
import { IntlService } from '@progress/kendo-angular-intl';
|
|
12
|
-
import { hasObservers, isControlRequired, KendoInput, Keys, MultiTabStop, ResizeSensorComponent, EventsOutsideAngularDirective,
|
|
12
|
+
import { hasObservers, isControlRequired, KendoInput, Keys, MultiTabStop, ResizeSensorComponent, EventsOutsideAngularDirective, normalizeKeys } from '@progress/kendo-angular-common';
|
|
13
13
|
import { AdaptiveService } from '@progress/kendo-angular-utils';
|
|
14
14
|
import { LocalizationService, L10N_PREFIX } from '@progress/kendo-angular-l10n';
|
|
15
15
|
import { validatePackage } from '@progress/kendo-licensing';
|
|
@@ -1118,7 +1118,7 @@ export class DateTimePickerComponent extends MultiTabStop {
|
|
|
1118
1118
|
return;
|
|
1119
1119
|
}
|
|
1120
1120
|
const { altKey } = event;
|
|
1121
|
-
const code =
|
|
1121
|
+
const code = normalizeKeys(event);
|
|
1122
1122
|
switch (code) {
|
|
1123
1123
|
case altKey && Keys.ArrowUp:
|
|
1124
1124
|
case Keys.Escape:
|
|
@@ -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: '21.2.0-develop.
|
|
13
|
+
publishDate: 1764592958,
|
|
14
|
+
version: '21.2.0-develop.10',
|
|
15
15
|
licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
|
|
16
16
|
};
|
|
@@ -17,7 +17,7 @@ import { MillisecondsService } from './services/milliseconds.service';
|
|
|
17
17
|
import { DayPeriodService } from './services/dayperiod.service';
|
|
18
18
|
import { closestInScope } from '../common/dom-queries';
|
|
19
19
|
import { LocalizationService } from '@progress/kendo-angular-l10n';
|
|
20
|
-
import { Keys, EventsOutsideAngularDirective,
|
|
20
|
+
import { Keys, EventsOutsideAngularDirective, normalizeKeys } from '@progress/kendo-angular-common';
|
|
21
21
|
import { NgStyle } from '@angular/common';
|
|
22
22
|
import * as i0 from "@angular/core";
|
|
23
23
|
import * as i1 from "./services/dom.service";
|
|
@@ -252,7 +252,7 @@ export class TimeListComponent {
|
|
|
252
252
|
return oldData && newData && oldData.text !== newData.text;
|
|
253
253
|
}
|
|
254
254
|
handleKeyDown(e) {
|
|
255
|
-
const code =
|
|
255
|
+
const code = normalizeKeys(e);
|
|
256
256
|
if (code === Keys.Tab && !e.shiftKey && this.isLast) {
|
|
257
257
|
e.preventDefault();
|
|
258
258
|
this.tabOutLastPart.emit();
|
|
@@ -7,7 +7,7 @@ import { NG_VALUE_ACCESSOR, NG_VALIDATORS, NgControl } from '@angular/forms';
|
|
|
7
7
|
import { L10N_PREFIX, LocalizationService } from '@progress/kendo-angular-l10n';
|
|
8
8
|
import { PopupService } from '@progress/kendo-angular-popup';
|
|
9
9
|
import { cloneDate, isEqual } from '@progress/kendo-date-math';
|
|
10
|
-
import { hasObservers, isControlRequired, KendoInput, Keys, MultiTabStop, ResizeSensorComponent, EventsOutsideAngularDirective,
|
|
10
|
+
import { hasObservers, isControlRequired, KendoInput, Keys, MultiTabStop, ResizeSensorComponent, EventsOutsideAngularDirective, normalizeKeys } from '@progress/kendo-angular-common';
|
|
11
11
|
import { AdaptiveService } from '@progress/kendo-angular-utils';
|
|
12
12
|
import { validatePackage } from '@progress/kendo-licensing';
|
|
13
13
|
import { packageMetadata } from '../package-metadata';
|
|
@@ -552,7 +552,7 @@ export class TimePickerComponent extends MultiTabStop {
|
|
|
552
552
|
*/
|
|
553
553
|
handleKeydown(event) {
|
|
554
554
|
const { altKey } = event;
|
|
555
|
-
const code =
|
|
555
|
+
const code = normalizeKeys(event);
|
|
556
556
|
if (code === Keys.Escape) {
|
|
557
557
|
this.focusInput();
|
|
558
558
|
this.show = false;
|
|
@@ -6,7 +6,7 @@ import { Component, ChangeDetectorRef, ChangeDetectionStrategy, ElementRef, Even
|
|
|
6
6
|
import { L10N_PREFIX, LocalizationService } from '@progress/kendo-angular-l10n';
|
|
7
7
|
import { IntlService } from '@progress/kendo-angular-intl';
|
|
8
8
|
import { cloneDate, getDate } from '@progress/kendo-date-math';
|
|
9
|
-
import { Keys, EventsOutsideAngularDirective,
|
|
9
|
+
import { Keys, EventsOutsideAngularDirective, normalizeKeys } from '@progress/kendo-angular-common';
|
|
10
10
|
import { MIDNIGHT_DATE, MIN_TIME, MAX_TIME } from '../defaults';
|
|
11
11
|
import { TimeListComponent } from './timelist.component';
|
|
12
12
|
import { TimePickerDOMService } from './services/dom.service';
|
|
@@ -377,7 +377,7 @@ export class TimeSelectorComponent {
|
|
|
377
377
|
}
|
|
378
378
|
handleKeydown(args) {
|
|
379
379
|
const { altKey } = args;
|
|
380
|
-
const code =
|
|
380
|
+
const code = normalizeKeys(args);
|
|
381
381
|
// reserve the alt + arrow key commands for the picker
|
|
382
382
|
const arrowKeyPressed = [Keys.ArrowLeft, Keys.ArrowRight].indexOf(code) !== -1;
|
|
383
383
|
if (isPresent(this.pickerService) && arrowKeyPressed && altKey) {
|