@progress/kendo-vue-dateinputs 2.5.0 → 2.5.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/dist/cdn/js/kendo-vue-dateinputs.js +1 -1
- package/dist/es/calendar/components/CalendarCell.d.ts +1 -0
- package/dist/es/calendar/components/CalendarHeaderTitle.d.ts +1 -0
- package/dist/es/calendar/components/Header.d.ts +2 -0
- package/dist/es/calendar/components/View.d.ts +2 -0
- package/dist/es/calendar/components/ViewList.d.ts +2 -0
- package/dist/es/calendar/components/ViewList.js +1 -1
- package/dist/es/calendar/components/interfaces/CalendarComputed.d.ts +1 -0
- package/dist/es/calendar/components/interfaces/CalendarMethods.d.ts +1 -0
- package/dist/es/dateinput/DateInput.js +31 -25
- package/dist/es/dateinput/interfaces/DateInputComputed.d.ts +2 -1
- package/dist/es/dateinput/interfaces/DateInputData.d.ts +1 -0
- package/dist/es/dateinput/interfaces/DateInputMethods.d.ts +1 -0
- package/dist/es/datepicker/DatePicker.js +31 -5
- package/dist/es/datepicker/interfaces/DatePickerComputed.d.ts +1 -0
- package/dist/es/datepicker/interfaces/DatePickerMethods.d.ts +2 -0
- package/dist/es/datepicker/interfaces/DatePickerProps.d.ts +8 -0
- package/dist/es/datetimepicker/DateTimePicker.d.ts +5 -0
- package/dist/es/datetimepicker/DateTimePicker.js +49 -13
- package/dist/es/datetimepicker/DateTimeSelector.d.ts +2 -0
- package/dist/es/datetimepicker/models/DateTimePickerSettings.d.ts +13 -0
- package/dist/es/package-metadata.js +1 -1
- package/dist/es/timepicker/TimeList.d.ts +2 -0
- package/dist/es/timepicker/TimePart.d.ts +2 -0
- package/dist/es/timepicker/TimePicker.d.ts +5 -0
- package/dist/es/timepicker/TimePicker.js +47 -17
- package/dist/es/timepicker/TimeSelector.d.ts +2 -0
- package/dist/es/timepicker/models/TimePickerSettings.d.ts +14 -2
- package/dist/es/virtualization/Virtualization.d.ts +2 -0
- package/dist/npm/calendar/components/CalendarCell.d.ts +1 -0
- package/dist/npm/calendar/components/CalendarHeaderTitle.d.ts +1 -0
- package/dist/npm/calendar/components/Header.d.ts +2 -0
- package/dist/npm/calendar/components/View.d.ts +2 -0
- package/dist/npm/calendar/components/ViewList.d.ts +2 -0
- package/dist/npm/calendar/components/ViewList.js +1 -1
- package/dist/npm/calendar/components/interfaces/CalendarComputed.d.ts +1 -0
- package/dist/npm/calendar/components/interfaces/CalendarMethods.d.ts +1 -0
- package/dist/npm/dateinput/DateInput.js +31 -24
- package/dist/npm/dateinput/interfaces/DateInputComputed.d.ts +2 -1
- package/dist/npm/dateinput/interfaces/DateInputData.d.ts +1 -0
- package/dist/npm/dateinput/interfaces/DateInputMethods.d.ts +1 -0
- package/dist/npm/datepicker/DatePicker.js +32 -5
- package/dist/npm/datepicker/interfaces/DatePickerComputed.d.ts +1 -0
- package/dist/npm/datepicker/interfaces/DatePickerMethods.d.ts +2 -0
- package/dist/npm/datepicker/interfaces/DatePickerProps.d.ts +8 -0
- package/dist/npm/datetimepicker/DateTimePicker.d.ts +5 -0
- package/dist/npm/datetimepicker/DateTimePicker.js +50 -13
- package/dist/npm/datetimepicker/DateTimeSelector.d.ts +2 -0
- package/dist/npm/datetimepicker/models/DateTimePickerSettings.d.ts +13 -0
- package/dist/npm/package-metadata.js +1 -1
- package/dist/npm/timepicker/TimeList.d.ts +2 -0
- package/dist/npm/timepicker/TimePart.d.ts +2 -0
- package/dist/npm/timepicker/TimePicker.d.ts +5 -0
- package/dist/npm/timepicker/TimePicker.js +48 -17
- package/dist/npm/timepicker/TimeSelector.d.ts +2 -0
- package/dist/npm/timepicker/models/TimePickerSettings.d.ts +14 -2
- package/dist/npm/virtualization/Virtualization.d.ts +2 -0
- package/package.json +7 -6
|
@@ -51,6 +51,7 @@ export interface DateTimePickerData {
|
|
|
51
51
|
valueDuringOnChange?: Date | null;
|
|
52
52
|
showDuringOnChange?: boolean;
|
|
53
53
|
shouldFocusDateInput: boolean;
|
|
54
|
+
isFocused: boolean;
|
|
54
55
|
}
|
|
55
56
|
/**
|
|
56
57
|
* @hidden
|
|
@@ -59,6 +60,7 @@ export interface DateTimePickerState {
|
|
|
59
60
|
_popupId: string;
|
|
60
61
|
_wrapper: any;
|
|
61
62
|
_dateInput: any;
|
|
63
|
+
dateInputRef: any;
|
|
62
64
|
_dateTimeSelector: any;
|
|
63
65
|
_anchor: any;
|
|
64
66
|
_oldShow: boolean;
|
|
@@ -70,6 +72,7 @@ export interface DateTimePickerState {
|
|
|
70
72
|
* @hidden
|
|
71
73
|
*/
|
|
72
74
|
export interface DateTimePickerComputed {
|
|
75
|
+
[key: string]: any;
|
|
73
76
|
computedValue: Date | null;
|
|
74
77
|
computedShow: boolean;
|
|
75
78
|
}
|
|
@@ -77,6 +80,7 @@ export interface DateTimePickerComputed {
|
|
|
77
80
|
* @hidden
|
|
78
81
|
*/
|
|
79
82
|
export interface DateTimePickerMethods {
|
|
83
|
+
[key: string]: any;
|
|
80
84
|
validity: () => FormComponentValidity;
|
|
81
85
|
focus: () => void;
|
|
82
86
|
setShow: (show: boolean) => void;
|
|
@@ -91,6 +95,7 @@ export interface DateTimePickerMethods {
|
|
|
91
95
|
timeSelectorBlur: (event: any) => void;
|
|
92
96
|
timeSelectorFocus: () => void;
|
|
93
97
|
createBlurTimeout: () => void;
|
|
98
|
+
getDateInputText: () => string;
|
|
94
99
|
}
|
|
95
100
|
/**
|
|
96
101
|
* @hidden
|
|
@@ -12,6 +12,8 @@ var gh = allVue.h;
|
|
|
12
12
|
var ref = allVue.ref;
|
|
13
13
|
var inject = allVue.inject;
|
|
14
14
|
|
|
15
|
+
var kendo_vue_labels_1 = require("@progress/kendo-vue-labels");
|
|
16
|
+
|
|
15
17
|
var kendo_vue_popup_1 = require("@progress/kendo-vue-popup");
|
|
16
18
|
|
|
17
19
|
var kendo_date_math_1 = require("@progress/kendo-date-math");
|
|
@@ -39,6 +41,15 @@ var utils_3 = require("../dateinput/utils"); // tslint:enable:max-line-length
|
|
|
39
41
|
|
|
40
42
|
var DateTimePicker = {
|
|
41
43
|
name: 'KendoDateTimePicker',
|
|
44
|
+
// @ts-ignore
|
|
45
|
+
emits: {
|
|
46
|
+
'changemodel': null,
|
|
47
|
+
'update:modelValue': null,
|
|
48
|
+
'iconclick': null,
|
|
49
|
+
'change': null,
|
|
50
|
+
'focus': null,
|
|
51
|
+
'blur': null
|
|
52
|
+
},
|
|
42
53
|
props: {
|
|
43
54
|
modelValue: {
|
|
44
55
|
type: Date,
|
|
@@ -115,6 +126,7 @@ var DateTimePicker = {
|
|
|
115
126
|
}
|
|
116
127
|
},
|
|
117
128
|
name: String,
|
|
129
|
+
label: String,
|
|
118
130
|
placeholder: String,
|
|
119
131
|
popupSettings: {
|
|
120
132
|
type: Object,
|
|
@@ -191,7 +203,8 @@ var DateTimePicker = {
|
|
|
191
203
|
currentShow: false,
|
|
192
204
|
valueDuringOnChange: undefined,
|
|
193
205
|
showDuringOnChange: undefined,
|
|
194
|
-
shouldFocusDateInput: false
|
|
206
|
+
shouldFocusDateInput: false,
|
|
207
|
+
isFocused: false
|
|
195
208
|
};
|
|
196
209
|
},
|
|
197
210
|
computed: {
|
|
@@ -220,6 +233,7 @@ var DateTimePicker = {
|
|
|
220
233
|
var dateInputElement = this.dateInputElement();
|
|
221
234
|
this._dateTimeSelector = this.$refs.dateTimeSelector;
|
|
222
235
|
this._wrapper = this.$refs[this._anchor];
|
|
236
|
+
this._dateInput = this.v3 ? this.dateInputRef : this.$refs.dateInput;
|
|
223
237
|
|
|
224
238
|
if (dateInputElement) {
|
|
225
239
|
dateInputElement.setAttribute('aria-haspopup', 'true');
|
|
@@ -297,13 +311,15 @@ var DateTimePicker = {
|
|
|
297
311
|
'k-state-invalid': !isValid
|
|
298
312
|
});
|
|
299
313
|
var wrapperClassNames = kendo_vue_common_1.classNames('k-picker-wrap', {
|
|
300
|
-
'k-state-
|
|
301
|
-
'k-state-
|
|
314
|
+
'k-state-disabled': disabled,
|
|
315
|
+
'k-state-focused': this.isFocused
|
|
302
316
|
});
|
|
303
317
|
var dateInput = this.$props.dateInput ? kendo_vue_common_1.templateRendering.call(this, this.$props.dateInput, kendo_vue_common_1.getListeners.call(this)) : undefined;
|
|
304
318
|
var dateInputDefaultRendering = // @ts-ignore function children
|
|
305
319
|
h(DateInput_1.DateInput, {
|
|
306
|
-
ref:
|
|
320
|
+
ref: this.v3 ? function (el) {
|
|
321
|
+
_this.dateInputRef = el;
|
|
322
|
+
} : 'dateInput',
|
|
307
323
|
placeholder: placeholder,
|
|
308
324
|
attrs: this.v3 ? undefined : {
|
|
309
325
|
placeholder: placeholder,
|
|
@@ -439,7 +455,7 @@ var DateTimePicker = {
|
|
|
439
455
|
defaultRendering: popupDefaultRendering,
|
|
440
456
|
defaultSlots: dataTimeSelector
|
|
441
457
|
});
|
|
442
|
-
|
|
458
|
+
var dateTimePicker = h("div", {
|
|
443
459
|
"class": rootClassName,
|
|
444
460
|
onKeydown: this.handleKeyDown,
|
|
445
461
|
on: this.v3 ? undefined : {
|
|
@@ -480,6 +496,28 @@ var DateTimePicker = {
|
|
|
480
496
|
}, [h("span", {
|
|
481
497
|
"class": "k-icon k-i-calendar"
|
|
482
498
|
})])])]), popupRendering]);
|
|
499
|
+
return this.$props.label ? // @ts-ignore function children
|
|
500
|
+
h(kendo_vue_labels_1.FloatingLabel, {
|
|
501
|
+
label: this.$props.label,
|
|
502
|
+
attrs: this.v3 ? undefined : {
|
|
503
|
+
label: this.$props.label,
|
|
504
|
+
editorId: id,
|
|
505
|
+
editorValid: isValid,
|
|
506
|
+
editorValue: this.getDateInputText(),
|
|
507
|
+
editorPlaceholder: this.$props.placeholder,
|
|
508
|
+
editorDisabled: this.$props.disabled
|
|
509
|
+
},
|
|
510
|
+
editorId: id,
|
|
511
|
+
editorValid: isValid,
|
|
512
|
+
editorValue: this.getDateInputText(),
|
|
513
|
+
editorPlaceholder: this.$props.placeholder,
|
|
514
|
+
editorDisabled: this.$props.disabled,
|
|
515
|
+
style: {
|
|
516
|
+
width: width
|
|
517
|
+
}
|
|
518
|
+
}, this.v3 ? function () {
|
|
519
|
+
return [dateTimePicker];
|
|
520
|
+
} : [dateTimePicker]) : dateTimePicker;
|
|
483
521
|
},
|
|
484
522
|
methods: {
|
|
485
523
|
validity: function validity() {
|
|
@@ -495,6 +533,9 @@ var DateTimePicker = {
|
|
|
495
533
|
valueMissing: this.computedValue === null
|
|
496
534
|
};
|
|
497
535
|
},
|
|
536
|
+
getDateInputText: function getDateInputText() {
|
|
537
|
+
return this._dateInput ? this._dateInput._element.value : '';
|
|
538
|
+
},
|
|
498
539
|
focus: function focus() {
|
|
499
540
|
var dateInputElement = this.dateInputElement();
|
|
500
541
|
|
|
@@ -535,10 +576,7 @@ var DateTimePicker = {
|
|
|
535
576
|
this.showDuringOnChange = undefined;
|
|
536
577
|
},
|
|
537
578
|
handleFocus: function handleFocus(event) {
|
|
538
|
-
|
|
539
|
-
this._wrapper.classList.add('k-state-focused');
|
|
540
|
-
}
|
|
541
|
-
|
|
579
|
+
this.isFocused = true;
|
|
542
580
|
this.$emit('focus', event);
|
|
543
581
|
},
|
|
544
582
|
handleBlur: function handleBlur(event) {
|
|
@@ -557,22 +595,21 @@ var DateTimePicker = {
|
|
|
557
595
|
var _this = this;
|
|
558
596
|
|
|
559
597
|
this._blurTimeout = setTimeout(function () {
|
|
560
|
-
|
|
561
|
-
_this._wrapper.classList.remove('k-state-focused');
|
|
562
|
-
}
|
|
598
|
+
_this.isFocused = false;
|
|
563
599
|
|
|
564
600
|
if (_this._dateInput && kendo_vue_common_1.canUseDOM && document.activeElement !== _this._dateInput.element() && document.activeElement && document.activeElement.className.indexOf('k-time-list') === -1) {
|
|
565
601
|
_this.setShow(false);
|
|
566
602
|
}
|
|
567
603
|
}, 200);
|
|
568
604
|
},
|
|
569
|
-
handleDateIconClick: function handleDateIconClick() {
|
|
605
|
+
handleDateIconClick: function handleDateIconClick(event) {
|
|
570
606
|
if (this.$props.disabled) {
|
|
571
607
|
return;
|
|
572
608
|
}
|
|
573
609
|
|
|
574
610
|
this.shouldFocusDateInput = true;
|
|
575
611
|
this.setShow(!this.computedShow);
|
|
612
|
+
this.$emit('iconclick', event);
|
|
576
613
|
},
|
|
577
614
|
handleIconMouseDown: function handleIconMouseDown(event) {
|
|
578
615
|
event.preventDefault();
|
|
@@ -63,6 +63,7 @@ export interface DateTimeSelectorState {
|
|
|
63
63
|
* @hidden
|
|
64
64
|
*/
|
|
65
65
|
export interface DateTimeSelectorComputed {
|
|
66
|
+
[key: string]: any;
|
|
66
67
|
hasDateValue: boolean;
|
|
67
68
|
computedMinTime: Date | null;
|
|
68
69
|
computedMaxTime: Date | null;
|
|
@@ -71,6 +72,7 @@ export interface DateTimeSelectorComputed {
|
|
|
71
72
|
* @hidden
|
|
72
73
|
*/
|
|
73
74
|
export interface DateTimeSelectorMethods {
|
|
75
|
+
[key: string]: any;
|
|
74
76
|
focus: (args?: any) => void;
|
|
75
77
|
calendarElement: () => any;
|
|
76
78
|
normalizeRange: (candidate: Date, value: Date | null) => Date | null;
|
|
@@ -74,6 +74,10 @@ export interface DateTimePickerSettings {
|
|
|
74
74
|
* Specifies the `name` property of the `input` DOM element.
|
|
75
75
|
*/
|
|
76
76
|
name?: string;
|
|
77
|
+
/**
|
|
78
|
+
* Renders a floating label for the DateTimePicker.
|
|
79
|
+
*/
|
|
80
|
+
label?: string;
|
|
77
81
|
/**
|
|
78
82
|
* Specifies the value of the placeholder.
|
|
79
83
|
*/
|
|
@@ -96,6 +100,10 @@ export interface DateTimePickerSettings {
|
|
|
96
100
|
* Fires each time the user focuses any of the DateTimePicker elements.
|
|
97
101
|
*/
|
|
98
102
|
focus?: (event: any) => void;
|
|
103
|
+
/**
|
|
104
|
+
* Fires when the icon element is clicked.
|
|
105
|
+
*/
|
|
106
|
+
iconclick?: (event: any) => void;
|
|
99
107
|
/**
|
|
100
108
|
* Specifies if the popup will be displayed
|
|
101
109
|
* ([see example]({% slug controlled_datetimepicker %}#toc-controlling-the-popup-state)).
|
|
@@ -132,4 +140,9 @@ export interface DateTimePickerSettings {
|
|
|
132
140
|
* Specifies the validate of the DateTimePicker.
|
|
133
141
|
*/
|
|
134
142
|
validate?: boolean;
|
|
143
|
+
/**
|
|
144
|
+
* Controls the form error message of the component. If set to an empty string, no error will be thrown.
|
|
145
|
+
*
|
|
146
|
+
*/
|
|
147
|
+
validationMessage?: string;
|
|
135
148
|
}
|
|
@@ -8,7 +8,7 @@ exports.packageMetadata = {
|
|
|
8
8
|
name: '@progress/kendo-vue-dateinputs',
|
|
9
9
|
productName: 'Kendo UI for Vue',
|
|
10
10
|
productCodes: ['KENDOUIVUE', 'KENDOUICOMPLETE'],
|
|
11
|
-
publishDate:
|
|
11
|
+
publishDate: 1633591049,
|
|
12
12
|
version: '',
|
|
13
13
|
licensingDocsUrl: 'https://www.telerik.com/kendo-vue-ui/my-license/?utm_medium=product&utm_source=kendovue&utm_campaign=kendo-ui-vue-purchase-license-keys-warning'
|
|
14
14
|
};
|
|
@@ -46,6 +46,7 @@ export interface TimeListState {
|
|
|
46
46
|
* @hidden
|
|
47
47
|
*/
|
|
48
48
|
export interface TimeListComputed {
|
|
49
|
+
[key: string]: any;
|
|
49
50
|
animate: boolean;
|
|
50
51
|
}
|
|
51
52
|
/**
|
|
@@ -58,6 +59,7 @@ export interface TimeListData {
|
|
|
58
59
|
* @hidden
|
|
59
60
|
*/
|
|
60
61
|
export interface TimeListMethods {
|
|
62
|
+
[key: string]: any;
|
|
61
63
|
focus: (args?: any) => void;
|
|
62
64
|
itemOffset: (scrollTop: number) => number;
|
|
63
65
|
calculateHeights: () => void;
|
|
@@ -58,6 +58,7 @@ export interface TimePartData {
|
|
|
58
58
|
* @hidden
|
|
59
59
|
*/
|
|
60
60
|
export interface TimePartComputed {
|
|
61
|
+
[key: string]: any;
|
|
61
62
|
element: HTMLSpanElement | null;
|
|
62
63
|
computedValue: Date;
|
|
63
64
|
intl: IntlService;
|
|
@@ -68,6 +69,7 @@ export interface TimePartComputed {
|
|
|
68
69
|
* @hidden
|
|
69
70
|
*/
|
|
70
71
|
export interface TimePartMethods {
|
|
72
|
+
[key: string]: any;
|
|
71
73
|
focus: (args?: any) => void;
|
|
72
74
|
timeFormatReducer: (acc: string, current: DateFormatPart) => any;
|
|
73
75
|
timeFormatFilter: (part: DateFormatPart, index: number, all: DateFormatPart[]) => boolean;
|
|
@@ -47,6 +47,7 @@ export interface TimePickerState {
|
|
|
47
47
|
_popupId: string;
|
|
48
48
|
_element: HTMLSpanElement | null;
|
|
49
49
|
_dateInput: any;
|
|
50
|
+
dateInputRef: any;
|
|
50
51
|
_timeSelector: any;
|
|
51
52
|
_wrapper: any;
|
|
52
53
|
_anchor: any;
|
|
@@ -62,6 +63,7 @@ export interface TimePickerState {
|
|
|
62
63
|
* @hidden
|
|
63
64
|
*/
|
|
64
65
|
export interface TimePickerMethods {
|
|
66
|
+
[key: string]: any;
|
|
65
67
|
validity: () => FormComponentValidity;
|
|
66
68
|
focus: () => void;
|
|
67
69
|
setDateInputRef: (dateInput: any) => void;
|
|
@@ -82,6 +84,7 @@ export interface TimePickerMethods {
|
|
|
82
84
|
timeFocus: (event: any) => void;
|
|
83
85
|
timeBlur: (event: any) => void;
|
|
84
86
|
createBlurTimeout: () => void;
|
|
87
|
+
getDateInputText: () => string;
|
|
85
88
|
}
|
|
86
89
|
/**
|
|
87
90
|
* @hidden
|
|
@@ -89,11 +92,13 @@ export interface TimePickerMethods {
|
|
|
89
92
|
export interface TimePickerData {
|
|
90
93
|
currentValue: Date | null;
|
|
91
94
|
currentShow: boolean;
|
|
95
|
+
isFocused: boolean;
|
|
92
96
|
}
|
|
93
97
|
/**
|
|
94
98
|
* @hidden
|
|
95
99
|
*/
|
|
96
100
|
export interface TimePickerComputed {
|
|
101
|
+
[key: string]: any;
|
|
97
102
|
timeSelector: any;
|
|
98
103
|
computedValue: Date | null;
|
|
99
104
|
computedShow: boolean;
|
|
@@ -28,6 +28,8 @@ var gh = allVue.h;
|
|
|
28
28
|
var ref = allVue.ref;
|
|
29
29
|
var inject = allVue.inject;
|
|
30
30
|
|
|
31
|
+
var kendo_vue_labels_1 = require("@progress/kendo-vue-labels");
|
|
32
|
+
|
|
31
33
|
var kendo_vue_popup_1 = require("@progress/kendo-vue-popup");
|
|
32
34
|
|
|
33
35
|
var kendo_date_math_1 = require("@progress/kendo-date-math");
|
|
@@ -54,6 +56,7 @@ var TimePicker = {
|
|
|
54
56
|
emits: {
|
|
55
57
|
'changemodel': null,
|
|
56
58
|
'update:modelValue': null,
|
|
59
|
+
'iconclick': null,
|
|
57
60
|
'change': null,
|
|
58
61
|
'focus': null,
|
|
59
62
|
'blur': null
|
|
@@ -128,6 +131,8 @@ var TimePicker = {
|
|
|
128
131
|
}
|
|
129
132
|
},
|
|
130
133
|
name: String,
|
|
134
|
+
label: String,
|
|
135
|
+
placeholder: String,
|
|
131
136
|
popupSettings: {
|
|
132
137
|
type: Object,
|
|
133
138
|
default: function _default() {
|
|
@@ -201,7 +206,8 @@ var TimePicker = {
|
|
|
201
206
|
currentValue: null,
|
|
202
207
|
currentShow: false,
|
|
203
208
|
valueDuringOnChange: undefined,
|
|
204
|
-
showDuringOnChange: undefined
|
|
209
|
+
showDuringOnChange: undefined,
|
|
210
|
+
isFocused: false
|
|
205
211
|
};
|
|
206
212
|
},
|
|
207
213
|
computed: {
|
|
@@ -230,7 +236,7 @@ var TimePicker = {
|
|
|
230
236
|
this.$forceUpdate();
|
|
231
237
|
}
|
|
232
238
|
|
|
233
|
-
this._dateInput = this.$refs.dateInput;
|
|
239
|
+
this._dateInput = this.v3 ? this.dateInputRef : this.$refs.dateInput;
|
|
234
240
|
this._timeSelector = this.$refs.timeSelector;
|
|
235
241
|
this._wrapper = this.$refs[this._anchor];
|
|
236
242
|
|
|
@@ -241,7 +247,7 @@ var TimePicker = {
|
|
|
241
247
|
}
|
|
242
248
|
},
|
|
243
249
|
updated: function updated() {
|
|
244
|
-
this._dateInput = this.$refs.dateInput;
|
|
250
|
+
this._dateInput = this.v3 ? this.dateInputRef : this.$refs.dateInput;
|
|
245
251
|
this._timeSelector = this.$refs.timeSelector;
|
|
246
252
|
this._wrapper = this.$refs[this._anchor];
|
|
247
253
|
|
|
@@ -280,6 +286,7 @@ var TimePicker = {
|
|
|
280
286
|
tabIndex = _a.tabIndex,
|
|
281
287
|
title = _a.title,
|
|
282
288
|
id = _a.id,
|
|
289
|
+
placeholder = _a.placeholder,
|
|
283
290
|
format = _a.format,
|
|
284
291
|
formatPlaceholder = _a.formatPlaceholder,
|
|
285
292
|
smoothScroll = _a.smoothScroll,
|
|
@@ -300,9 +307,9 @@ var TimePicker = {
|
|
|
300
307
|
var isValid = !this.$props.validityStyles || this.validity().valid;
|
|
301
308
|
var rootClassName = kendo_vue_common_1.classNames('k-widget k-timepicker');
|
|
302
309
|
var wrapperClassNames = kendo_vue_common_1.classNames('k-picker-wrap', {
|
|
303
|
-
'k-state-default': !disabled && isValid,
|
|
304
310
|
'k-state-invalid': !isValid,
|
|
305
|
-
'k-state-disabled': disabled
|
|
311
|
+
'k-state-disabled': disabled,
|
|
312
|
+
'k-state-focused': this.isFocused
|
|
306
313
|
});
|
|
307
314
|
var popupClassNames = kendo_vue_common_1.classNames('k-group k-reset', popupClass);
|
|
308
315
|
var localizationService = kendo_vue_intl_1.provideLocalizationService(this);
|
|
@@ -311,9 +318,12 @@ var TimePicker = {
|
|
|
311
318
|
var dateInput = this.$props.dateInput ? kendo_vue_common_1.templateRendering.call(this, this.$props.dateInput, kendo_vue_common_1.getListeners.call(this)) : undefined;
|
|
312
319
|
var dateInputDefaultRendering = // @ts-ignore function children
|
|
313
320
|
h(DateInput_1.DateInput, {
|
|
314
|
-
ref:
|
|
315
|
-
|
|
321
|
+
ref: this.v3 ? function (el) {
|
|
322
|
+
_this.dateInputRef = el;
|
|
323
|
+
} : 'dateInput',
|
|
324
|
+
placeholder: placeholder,
|
|
316
325
|
attrs: this.v3 ? undefined : {
|
|
326
|
+
placeholder: placeholder,
|
|
317
327
|
disabled: disabled,
|
|
318
328
|
format: format,
|
|
319
329
|
formatPlaceholder: formatPlaceholder,
|
|
@@ -332,6 +342,7 @@ var TimePicker = {
|
|
|
332
342
|
validityStyles: validityStyles,
|
|
333
343
|
value: this.computedValue && this.normalizeTime(this.computedValue)
|
|
334
344
|
},
|
|
345
|
+
disabled: disabled,
|
|
335
346
|
format: format,
|
|
336
347
|
formatPlaceholder: formatPlaceholder,
|
|
337
348
|
id: id,
|
|
@@ -435,7 +446,7 @@ var TimePicker = {
|
|
|
435
446
|
defaultRendering: popupDefaultRendering,
|
|
436
447
|
defaultSlots: timeSelector
|
|
437
448
|
});
|
|
438
|
-
|
|
449
|
+
var timePicker = h("div", {
|
|
439
450
|
"class": rootClassName,
|
|
440
451
|
onKeydown: this.handleKeyDown,
|
|
441
452
|
on: this.v3 ? undefined : {
|
|
@@ -474,6 +485,28 @@ var TimePicker = {
|
|
|
474
485
|
}, [h("span", {
|
|
475
486
|
"class": "k-icon k-i-clock"
|
|
476
487
|
})])]), popupRendering]);
|
|
488
|
+
return this.$props.label ? // @ts-ignore function children
|
|
489
|
+
h(kendo_vue_labels_1.FloatingLabel, {
|
|
490
|
+
label: this.$props.label,
|
|
491
|
+
attrs: this.v3 ? undefined : {
|
|
492
|
+
label: this.$props.label,
|
|
493
|
+
editorId: id,
|
|
494
|
+
editorValid: isValid,
|
|
495
|
+
editorValue: this.getDateInputText(),
|
|
496
|
+
editorPlaceholder: this.$props.placeholder,
|
|
497
|
+
editorDisabled: this.$props.disabled
|
|
498
|
+
},
|
|
499
|
+
editorId: id,
|
|
500
|
+
editorValid: isValid,
|
|
501
|
+
editorValue: this.getDateInputText(),
|
|
502
|
+
editorPlaceholder: this.$props.placeholder,
|
|
503
|
+
editorDisabled: this.$props.disabled,
|
|
504
|
+
style: {
|
|
505
|
+
width: width
|
|
506
|
+
}
|
|
507
|
+
}, this.v3 ? function () {
|
|
508
|
+
return [timePicker];
|
|
509
|
+
} : [timePicker]) : timePicker;
|
|
477
510
|
},
|
|
478
511
|
methods: {
|
|
479
512
|
validity: function validity() {
|
|
@@ -492,6 +525,9 @@ var TimePicker = {
|
|
|
492
525
|
valueMissing: this.computedValue === null
|
|
493
526
|
};
|
|
494
527
|
},
|
|
528
|
+
getDateInputText: function getDateInputText() {
|
|
529
|
+
return this._dateInput ? this._dateInput._element.value : '';
|
|
530
|
+
},
|
|
495
531
|
focus: function focus() {
|
|
496
532
|
if (this._dateInput) {
|
|
497
533
|
this._dateInput.focus();
|
|
@@ -540,11 +576,7 @@ var TimePicker = {
|
|
|
540
576
|
},
|
|
541
577
|
handleFocus: function handleFocus(event) {
|
|
542
578
|
this._oldShow = this.computedShow;
|
|
543
|
-
|
|
544
|
-
if (this._wrapper) {
|
|
545
|
-
this._wrapper.classList.add('k-state-focused');
|
|
546
|
-
}
|
|
547
|
-
|
|
579
|
+
this.isFocused = true;
|
|
548
580
|
this.$emit('focus', event);
|
|
549
581
|
},
|
|
550
582
|
handleBlur: function handleBlur(event) {
|
|
@@ -563,9 +595,7 @@ var TimePicker = {
|
|
|
563
595
|
var _this = this;
|
|
564
596
|
|
|
565
597
|
this._blurTimeout = setTimeout(function () {
|
|
566
|
-
|
|
567
|
-
_this._wrapper.classList.remove('k-state-focused');
|
|
568
|
-
}
|
|
598
|
+
_this.isFocused = false;
|
|
569
599
|
|
|
570
600
|
if (_this._dateInput && kendo_vue_common_1.canUseDOM && document.activeElement !== _this._dateInput.element() && document.activeElement && document.activeElement.className.indexOf('k-time-list') === -1) {
|
|
571
601
|
_this.setShow(false);
|
|
@@ -575,13 +605,14 @@ var TimePicker = {
|
|
|
575
605
|
handleValueReject: function handleValueReject(_) {
|
|
576
606
|
this.setShow(false);
|
|
577
607
|
},
|
|
578
|
-
handleIconClick: function handleIconClick(
|
|
608
|
+
handleIconClick: function handleIconClick(event) {
|
|
579
609
|
if (this.$props.disabled) {
|
|
580
610
|
return;
|
|
581
611
|
}
|
|
582
612
|
|
|
583
613
|
this.shouldFocusDateInput = true;
|
|
584
614
|
this.setShow(!this.computedShow);
|
|
615
|
+
this.$emit('iconclick', event);
|
|
585
616
|
},
|
|
586
617
|
handleIconMouseDown: function handleIconMouseDown(event) {
|
|
587
618
|
event.preventDefault();
|
|
@@ -61,6 +61,7 @@ export interface TimeSelectorData {
|
|
|
61
61
|
* @hidden
|
|
62
62
|
*/
|
|
63
63
|
export interface TimeSelectorMethods {
|
|
64
|
+
[key: string]: any;
|
|
64
65
|
focusActiveList: () => void;
|
|
65
66
|
hasActiveButton: () => any;
|
|
66
67
|
handleKeyDown: (event: any) => void;
|
|
@@ -75,6 +76,7 @@ export interface TimeSelectorMethods {
|
|
|
75
76
|
* @hidden
|
|
76
77
|
*/
|
|
77
78
|
export interface TimeSelectorComputed {
|
|
79
|
+
[key: string]: any;
|
|
78
80
|
computedValue: Date | null;
|
|
79
81
|
intl: IntlService;
|
|
80
82
|
current: Date | null;
|
|
@@ -57,14 +57,26 @@ export interface TimePickerSettings {
|
|
|
57
57
|
* Specifies the `name` property of the `input` DOM element.
|
|
58
58
|
*/
|
|
59
59
|
name?: string;
|
|
60
|
+
/**
|
|
61
|
+
* Renders a floating label for the TimePicker.
|
|
62
|
+
*/
|
|
63
|
+
label?: string;
|
|
64
|
+
/**
|
|
65
|
+
* Specifies the value of the placeholder.
|
|
66
|
+
*/
|
|
67
|
+
placeholder?: string;
|
|
60
68
|
/**
|
|
61
69
|
* Fires each time any of the TimePicker elements gets blurred.
|
|
62
70
|
*/
|
|
63
|
-
|
|
71
|
+
blur?: (event: any) => void;
|
|
64
72
|
/**
|
|
65
73
|
* Fires each time the user focuses any of the TimePicker elements.
|
|
66
74
|
*/
|
|
67
|
-
|
|
75
|
+
focus?: (event: any) => void;
|
|
76
|
+
/**
|
|
77
|
+
* Fires when the icon element is clicked.
|
|
78
|
+
*/
|
|
79
|
+
iconclick?: (event: any) => void;
|
|
68
80
|
/**
|
|
69
81
|
* Configures the popup options of the TimePicker.
|
|
70
82
|
*
|
|
@@ -50,6 +50,7 @@ export interface VirtualizationData {
|
|
|
50
50
|
* @hidden
|
|
51
51
|
*/
|
|
52
52
|
export interface VirtualizationMethods {
|
|
53
|
+
[key: string]: any;
|
|
53
54
|
activeIndex: () => number;
|
|
54
55
|
itemIndex: (offset: number) => number;
|
|
55
56
|
itemOffset: (index: number) => number;
|
|
@@ -76,6 +77,7 @@ export interface VirtualizationMethods {
|
|
|
76
77
|
* @hidden
|
|
77
78
|
*/
|
|
78
79
|
export interface VirtualizationComputed {
|
|
80
|
+
[key: string]: any;
|
|
79
81
|
element: HTMLDivElement | null;
|
|
80
82
|
}
|
|
81
83
|
/**
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@progress/kendo-vue-dateinputs",
|
|
3
3
|
"description": "Kendo UI for Vue Date Inputs package",
|
|
4
|
-
"version": "2.5.
|
|
4
|
+
"version": "2.5.1",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
7
7
|
"url": "https://github.com/telerik/kendo-vue.git"
|
|
@@ -46,15 +46,16 @@
|
|
|
46
46
|
},
|
|
47
47
|
"dependencies": {
|
|
48
48
|
"@progress/kendo-date-math": "1.5.1",
|
|
49
|
-
"@progress/kendo-vue-buttons": "2.5.
|
|
50
|
-
"@progress/kendo-vue-common": "2.5.
|
|
51
|
-
"@progress/kendo-vue-
|
|
49
|
+
"@progress/kendo-vue-buttons": "2.5.1",
|
|
50
|
+
"@progress/kendo-vue-common": "2.5.1",
|
|
51
|
+
"@progress/kendo-vue-labels": "2.5.1",
|
|
52
|
+
"@progress/kendo-vue-popup": "2.5.1"
|
|
52
53
|
},
|
|
53
54
|
"devDependencies": {
|
|
54
55
|
"@progress/kendo-data-query": "^1.5.4",
|
|
55
56
|
"@progress/kendo-licensing": "^1.1.0",
|
|
56
|
-
"@progress/kendo-vue-dropdowns": "2.5.
|
|
57
|
-
"@progress/kendo-vue-intl": "2.5.
|
|
57
|
+
"@progress/kendo-vue-dropdowns": "2.5.1",
|
|
58
|
+
"@progress/kendo-vue-intl": "2.5.1"
|
|
58
59
|
},
|
|
59
60
|
"author": "Progress",
|
|
60
61
|
"license": "SEE LICENSE IN LICENSE.md",
|