@syncfusion/ej2-calendars 21.2.9 → 22.1.34
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/.eslintrc.json +1 -0
- package/CHANGELOG.md +7 -31
- package/dist/ej2-calendars.min.js +2 -2
- package/dist/ej2-calendars.umd.min.js +2 -2
- package/dist/ej2-calendars.umd.min.js.map +1 -1
- package/dist/es6/ej2-calendars.es2015.js +263 -31
- package/dist/es6/ej2-calendars.es2015.js.map +1 -1
- package/dist/es6/ej2-calendars.es5.js +264 -31
- package/dist/es6/ej2-calendars.es5.js.map +1 -1
- package/dist/global/ej2-calendars.min.js +2 -2
- package/dist/global/ej2-calendars.min.js.map +1 -1
- package/dist/global/index.d.ts +1 -1
- package/package.json +10 -10
- package/src/calendar/calendar-model.d.ts +1 -1
- package/src/calendar/calendar.d.ts +5 -5
- package/src/calendar/calendar.js +2 -2
- package/src/datepicker/datepicker-model.d.ts +8 -1
- package/src/datepicker/datepicker.d.ts +15 -1
- package/src/datepicker/datepicker.js +81 -9
- package/src/daterangepicker/daterangepicker-model.d.ts +8 -1
- package/src/daterangepicker/daterangepicker.d.ts +13 -0
- package/src/daterangepicker/daterangepicker.js +91 -6
- package/src/datetimepicker/datetimepicker-model.d.ts +8 -1
- package/src/datetimepicker/datetimepicker.d.ts +10 -1
- package/src/datetimepicker/datetimepicker.js +50 -5
- package/src/maskbase/masked-date-time.d.ts +2 -0
- package/src/maskbase/masked-date-time.js +13 -5
- package/src/timepicker/timepicker-model.d.ts +7 -0
- package/src/timepicker/timepicker.d.ts +7 -0
- package/src/timepicker/timepicker.js +28 -5
- package/styles/bootstrap-dark.css +715 -19
- package/styles/bootstrap.css +711 -15
- package/styles/bootstrap4.css +711 -16
- package/styles/bootstrap5-dark.css +708 -12
- package/styles/bootstrap5.css +708 -12
- package/styles/calendar/_bootstrap-dark-definition.scss +1 -1
- package/styles/calendar/_bootstrap4-definition.scss +1 -1
- package/styles/calendar/_layout.scss +64 -19
- package/styles/calendar/_material-definition.scss +1 -1
- package/styles/calendar/_material3-dark-definition.scss +1 -0
- package/styles/calendar/_material3-definition.scss +195 -0
- package/styles/calendar/_theme.scss +2 -1
- package/styles/calendar/bootstrap-dark.css +3 -2
- package/styles/calendar/bootstrap.css +2 -1
- package/styles/calendar/bootstrap4.css +3 -2
- package/styles/calendar/bootstrap5-dark.css +2 -1
- package/styles/calendar/bootstrap5.css +2 -1
- package/styles/calendar/fabric-dark.css +2 -1
- package/styles/calendar/fabric.css +2 -1
- package/styles/calendar/fluent-dark.css +2 -1
- package/styles/calendar/fluent.css +2 -1
- package/styles/calendar/highcontrast-light.css +2 -1
- package/styles/calendar/highcontrast.css +2 -1
- package/styles/calendar/icons/_material3-dark.scss +1 -0
- package/styles/calendar/material-dark.css +2 -1
- package/styles/calendar/material.css +3 -2
- package/styles/calendar/material3-dark.css +895 -0
- package/styles/calendar/material3-dark.scss +6 -0
- package/styles/calendar/material3.css +951 -0
- package/styles/calendar/material3.scss +6 -0
- package/styles/calendar/tailwind-dark.css +2 -1
- package/styles/calendar/tailwind.css +2 -1
- package/styles/datepicker/_bootstrap-dark-definition.scss +71 -11
- package/styles/datepicker/_bootstrap-definition.scss +71 -9
- package/styles/datepicker/_bootstrap4-definition.scss +70 -9
- package/styles/datepicker/_bootstrap5-definition.scss +67 -6
- package/styles/datepicker/_fabric-dark-definition.scss +70 -9
- package/styles/datepicker/_fabric-definition.scss +70 -9
- package/styles/datepicker/_fluent-definition.scss +67 -6
- package/styles/datepicker/_fusionnew-definition.scss +67 -6
- package/styles/datepicker/_highcontrast-definition.scss +69 -8
- package/styles/datepicker/_highcontrast-light-definition.scss +69 -8
- package/styles/datepicker/_layout.scss +214 -66
- package/styles/datepicker/_material-dark-definition.scss +67 -6
- package/styles/datepicker/_material-definition.scss +67 -6
- package/styles/datepicker/_material3-dark-definition.scss +1 -0
- package/styles/datepicker/_material3-definition.scss +116 -0
- package/styles/datepicker/_tailwind-definition.scss +67 -6
- package/styles/datepicker/_theme.scss +0 -1
- package/styles/datepicker/bootstrap-dark.css +262 -8
- package/styles/datepicker/bootstrap.css +262 -8
- package/styles/datepicker/bootstrap4.css +261 -8
- package/styles/datepicker/bootstrap5-dark.css +259 -5
- package/styles/datepicker/bootstrap5.css +259 -5
- package/styles/datepicker/fabric-dark.css +255 -8
- package/styles/datepicker/fabric.css +255 -8
- package/styles/datepicker/fluent-dark.css +258 -5
- package/styles/datepicker/fluent.css +258 -5
- package/styles/datepicker/highcontrast-light.css +260 -7
- package/styles/datepicker/highcontrast.css +260 -7
- package/styles/datepicker/icons/_bootstrap-dark.scss +21 -0
- package/styles/datepicker/icons/_bootstrap.scss +20 -0
- package/styles/datepicker/icons/_bootstrap4.scss +20 -0
- package/styles/datepicker/icons/_bootstrap5.scss +20 -0
- package/styles/datepicker/icons/_fabric-dark.scss +13 -0
- package/styles/datepicker/icons/_fabric.scss +13 -0
- package/styles/datepicker/icons/_fluent.scss +20 -0
- package/styles/datepicker/icons/_fusionnew.scss +20 -0
- package/styles/datepicker/icons/_highcontrast-light.scss +20 -0
- package/styles/datepicker/icons/_highcontrast.scss +20 -0
- package/styles/datepicker/icons/_material-dark.scss +13 -0
- package/styles/datepicker/icons/_material.scss +13 -0
- package/styles/datepicker/icons/_material3-dark.scss +1 -0
- package/styles/datepicker/icons/_material3.scss +23 -0
- package/styles/datepicker/icons/_tailwind.scss +20 -0
- package/styles/datepicker/material-dark.css +252 -5
- package/styles/datepicker/material.css +204 -40
- package/styles/datepicker/material3-dark.css +510 -0
- package/styles/datepicker/material3-dark.scss +8 -0
- package/styles/datepicker/material3.css +566 -0
- package/styles/datepicker/material3.scss +8 -0
- package/styles/datepicker/tailwind-dark.css +258 -5
- package/styles/datepicker/tailwind.css +258 -5
- package/styles/daterangepicker/_bootstrap-dark-definition.scss +67 -2
- package/styles/daterangepicker/_bootstrap-definition.scss +65 -0
- package/styles/daterangepicker/_bootstrap4-definition.scss +65 -0
- package/styles/daterangepicker/_bootstrap5-definition.scss +65 -0
- package/styles/daterangepicker/_fabric-dark-definition.scss +65 -0
- package/styles/daterangepicker/_fabric-definition.scss +65 -0
- package/styles/daterangepicker/_fluent-definition.scss +66 -1
- package/styles/daterangepicker/_fusionnew-definition.scss +65 -0
- package/styles/daterangepicker/_highcontrast-definition.scss +65 -0
- package/styles/daterangepicker/_highcontrast-light-definition.scss +65 -0
- package/styles/daterangepicker/_layout.scss +325 -116
- package/styles/daterangepicker/_material-dark-definition.scss +65 -0
- package/styles/daterangepicker/_material-definition.scss +65 -0
- package/styles/daterangepicker/_material3-dark-definition.scss +1 -0
- package/styles/daterangepicker/_material3-definition.scss +278 -0
- package/styles/daterangepicker/_tailwind-definition.scss +65 -0
- package/styles/daterangepicker/_theme.scss +21 -1
- package/styles/daterangepicker/bootstrap-dark.css +358 -7
- package/styles/daterangepicker/bootstrap.css +355 -4
- package/styles/daterangepicker/bootstrap4.css +355 -4
- package/styles/daterangepicker/bootstrap5-dark.css +355 -4
- package/styles/daterangepicker/bootstrap5.css +355 -4
- package/styles/daterangepicker/fabric-dark.css +355 -4
- package/styles/daterangepicker/fabric.css +355 -4
- package/styles/daterangepicker/fluent-dark.css +356 -5
- package/styles/daterangepicker/fluent.css +356 -5
- package/styles/daterangepicker/highcontrast-light.css +355 -4
- package/styles/daterangepicker/highcontrast.css +355 -4
- package/styles/daterangepicker/icons/_bootstrap-dark.scss +20 -0
- package/styles/daterangepicker/icons/_bootstrap.scss +20 -0
- package/styles/daterangepicker/icons/_bootstrap4.scss +20 -0
- package/styles/daterangepicker/icons/_bootstrap5.scss +20 -0
- package/styles/daterangepicker/icons/_fabric-dark.scss +20 -0
- package/styles/daterangepicker/icons/_fabric.scss +20 -0
- package/styles/daterangepicker/icons/_fluent.scss +20 -0
- package/styles/daterangepicker/icons/_fusionnew.scss +20 -0
- package/styles/daterangepicker/icons/_highcontrast-light.scss +20 -0
- package/styles/daterangepicker/icons/_highcontrast.scss +20 -0
- package/styles/daterangepicker/icons/_material-dark.scss +20 -0
- package/styles/daterangepicker/icons/_material.scss +20 -0
- package/styles/daterangepicker/icons/_material3-dark.scss +1 -0
- package/styles/daterangepicker/icons/_material3.scss +32 -2
- package/styles/daterangepicker/icons/_tailwind.scss +20 -0
- package/styles/daterangepicker/material-dark.css +355 -4
- package/styles/daterangepicker/material.css +309 -70
- package/styles/daterangepicker/material3-dark.css +1330 -0
- package/styles/daterangepicker/material3-dark.scss +8 -0
- package/styles/daterangepicker/material3.css +1386 -0
- package/styles/daterangepicker/material3.scss +8 -0
- package/styles/daterangepicker/tailwind-dark.css +355 -4
- package/styles/daterangepicker/tailwind.css +355 -4
- package/styles/datetimepicker/_bootstrap-dark-definition.scss +5 -0
- package/styles/datetimepicker/_bootstrap-definition.scss +5 -0
- package/styles/datetimepicker/_bootstrap4-definition.scss +5 -0
- package/styles/datetimepicker/_bootstrap5-definition.scss +5 -0
- package/styles/datetimepicker/_fabric-dark-definition.scss +5 -0
- package/styles/datetimepicker/_fabric-definition.scss +5 -0
- package/styles/datetimepicker/_fluent-definition.scss +5 -0
- package/styles/datetimepicker/_fusionnew-definition.scss +5 -0
- package/styles/datetimepicker/_highcontrast-definition.scss +5 -0
- package/styles/datetimepicker/_highcontrast-light-definition.scss +5 -0
- package/styles/datetimepicker/_layout.scss +47 -4
- package/styles/datetimepicker/_material-dark-definition.scss +5 -0
- package/styles/datetimepicker/_material-definition.scss +5 -0
- package/styles/datetimepicker/_material3-dark-definition.scss +1 -0
- package/styles/datetimepicker/_material3-definition.scss +71 -0
- package/styles/datetimepicker/_tailwind-definition.scss +5 -0
- package/styles/datetimepicker/bootstrap-dark.css +8 -2
- package/styles/datetimepicker/bootstrap.css +8 -2
- package/styles/datetimepicker/bootstrap4.css +8 -2
- package/styles/datetimepicker/bootstrap5-dark.css +8 -2
- package/styles/datetimepicker/bootstrap5.css +8 -2
- package/styles/datetimepicker/fabric-dark.css +8 -2
- package/styles/datetimepicker/fabric.css +8 -2
- package/styles/datetimepicker/fluent-dark.css +8 -2
- package/styles/datetimepicker/fluent.css +8 -2
- package/styles/datetimepicker/highcontrast-light.css +8 -2
- package/styles/datetimepicker/highcontrast.css +8 -2
- package/styles/datetimepicker/icons/_material3-dark.scss +1 -0
- package/styles/datetimepicker/material-dark.css +8 -2
- package/styles/datetimepicker/material.css +8 -2
- package/styles/datetimepicker/material3-dark.css +283 -0
- package/styles/datetimepicker/material3-dark.scss +9 -0
- package/styles/datetimepicker/material3.css +339 -0
- package/styles/datetimepicker/material3.scss +9 -0
- package/styles/datetimepicker/tailwind-dark.css +8 -2
- package/styles/datetimepicker/tailwind.css +8 -2
- package/styles/fabric-dark.css +704 -15
- package/styles/fabric.css +704 -15
- package/styles/fluent-dark.css +708 -13
- package/styles/fluent.css +708 -13
- package/styles/highcontrast-light.css +709 -14
- package/styles/highcontrast.css +709 -14
- package/styles/material-dark.css +701 -12
- package/styles/material.css +608 -114
- package/styles/material3-dark.css +3179 -0
- package/styles/material3-dark.scss +7 -0
- package/styles/material3.css +3235 -0
- package/styles/material3.scss +7 -0
- package/styles/tailwind-dark.css +707 -12
- package/styles/tailwind.css +707 -12
- package/styles/timepicker/_bootstrap-dark-definition.scss +28 -0
- package/styles/timepicker/_bootstrap-definition.scss +28 -0
- package/styles/timepicker/_bootstrap4-definition.scss +28 -0
- package/styles/timepicker/_bootstrap5-definition.scss +28 -0
- package/styles/timepicker/_fabric-dark-definition.scss +28 -0
- package/styles/timepicker/_fabric-definition.scss +28 -0
- package/styles/timepicker/_fluent-definition.scss +28 -0
- package/styles/timepicker/_fusionnew-definition.scss +28 -0
- package/styles/timepicker/_highcontrast-definition.scss +28 -0
- package/styles/timepicker/_highcontrast-light-definition.scss +28 -0
- package/styles/timepicker/_layout.scss +86 -1
- package/styles/timepicker/_material-dark-definition.scss +28 -0
- package/styles/timepicker/_material-definition.scss +28 -0
- package/styles/timepicker/_material3-dark-definition.scss +1 -0
- package/styles/timepicker/_material3-definition.scss +99 -0
- package/styles/timepicker/_tailwind-definition.scss +28 -0
- package/styles/timepicker/_theme.scss +13 -0
- package/styles/timepicker/bootstrap-dark.css +84 -0
- package/styles/timepicker/bootstrap.css +84 -0
- package/styles/timepicker/bootstrap4.css +84 -0
- package/styles/timepicker/bootstrap5-dark.css +84 -0
- package/styles/timepicker/bootstrap5.css +84 -0
- package/styles/timepicker/fabric-dark.css +84 -0
- package/styles/timepicker/fabric.css +84 -0
- package/styles/timepicker/fluent-dark.css +84 -0
- package/styles/timepicker/fluent.css +84 -0
- package/styles/timepicker/highcontrast-light.css +84 -0
- package/styles/timepicker/highcontrast.css +84 -0
- package/styles/timepicker/icons/_bootstrap-dark.scss +12 -0
- package/styles/timepicker/icons/_bootstrap.scss +12 -0
- package/styles/timepicker/icons/_bootstrap4.scss +12 -0
- package/styles/timepicker/icons/_bootstrap5.scss +12 -0
- package/styles/timepicker/icons/_fabric-dark.scss +12 -0
- package/styles/timepicker/icons/_fabric.scss +12 -0
- package/styles/timepicker/icons/_fluent.scss +12 -0
- package/styles/timepicker/icons/_fusionnew.scss +12 -0
- package/styles/timepicker/icons/_highcontrast-light.scss +12 -0
- package/styles/timepicker/icons/_highcontrast.scss +12 -0
- package/styles/timepicker/icons/_material-dark.scss +12 -0
- package/styles/timepicker/icons/_material.scss +12 -0
- package/styles/timepicker/icons/_material3-dark.scss +1 -0
- package/styles/timepicker/icons/_material3.scss +12 -0
- package/styles/timepicker/icons/_tailwind.scss +12 -0
- package/styles/timepicker/material-dark.css +84 -0
- package/styles/timepicker/material.css +84 -0
- package/styles/timepicker/material3-dark.css +382 -0
- package/styles/timepicker/material3-dark.scss +7 -0
- package/styles/timepicker/material3.css +438 -0
- package/styles/timepicker/material3.scss +7 -0
- package/styles/timepicker/tailwind-dark.css +84 -0
- package/styles/timepicker/tailwind.css +84 -0
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { EmitType } from '@syncfusion/ej2-base';
|
|
3
3
|
import { L10n } from '@syncfusion/ej2-base';
|
|
4
4
|
import { KeyboardEvents, KeyboardEventArgs } from '@syncfusion/ej2-base';
|
|
5
|
-
import { ModuleDeclaration } from '@syncfusion/ej2-base';
|
|
5
|
+
import { ModuleDeclaration, Touch } from '@syncfusion/ej2-base';
|
|
6
6
|
import { ClearedEventArgs, CalendarType, CalendarView, DayHeaderFormats } from '../calendar/calendar';
|
|
7
7
|
import { DatePicker, PopupObjectArgs } from '../datepicker/datepicker';
|
|
8
8
|
import { DateTimePickerModel } from './datetimepicker-model';
|
|
@@ -52,6 +52,8 @@ export declare class DateTimePicker extends DatePicker {
|
|
|
52
52
|
protected scrollInvoked: boolean;
|
|
53
53
|
protected maskedDateValue: string;
|
|
54
54
|
protected moduleName: string;
|
|
55
|
+
protected touchDTModule: Touch;
|
|
56
|
+
protected touchDTStart: boolean;
|
|
55
57
|
/**
|
|
56
58
|
* Specifies the format of the time value that to be displayed in time popup list.
|
|
57
59
|
*
|
|
@@ -290,6 +292,12 @@ export declare class DateTimePicker extends DatePicker {
|
|
|
290
292
|
* [`Strict Mode`](../../datetimepicker/strict-mode/) documentation.
|
|
291
293
|
*/
|
|
292
294
|
strictMode: boolean;
|
|
295
|
+
/**
|
|
296
|
+
* Specifies the component popup display full screen in mobile devices.
|
|
297
|
+
*
|
|
298
|
+
* @default false
|
|
299
|
+
*/
|
|
300
|
+
fullScreenMode: boolean;
|
|
293
301
|
/**
|
|
294
302
|
* By default, the date value will be processed based on system time zone.
|
|
295
303
|
* If you want to process the initial date value using server time zone
|
|
@@ -534,6 +542,7 @@ export declare class DateTimePicker extends DatePicker {
|
|
|
534
542
|
private isTimePopupOpen;
|
|
535
543
|
private isDatePopupOpen;
|
|
536
544
|
private renderPopup;
|
|
545
|
+
private dateTimeCloseHandler;
|
|
537
546
|
private setDimension;
|
|
538
547
|
private setPopupWidth;
|
|
539
548
|
protected wireTimeListEvents(): void;
|
|
@@ -228,7 +228,9 @@ var DateTimePicker = /** @class */ (function (_super) {
|
|
|
228
228
|
this.inputElement.tabIndex = -1;
|
|
229
229
|
}
|
|
230
230
|
}
|
|
231
|
-
|
|
231
|
+
if (this.floatLabelType === 'Auto') {
|
|
232
|
+
Input.calculateWidth(this.inputElement, this.inputWrapper.container);
|
|
233
|
+
}
|
|
232
234
|
if (!isNullOrUndefined(this.inputWrapper.buttons[0]) && !isNullOrUndefined(this.inputWrapper.container.getElementsByClassName('e-float-text-overflow')[0]) && this.floatLabelType !== 'Never') {
|
|
233
235
|
this.inputWrapper.container.getElementsByClassName('e-float-text-overflow')[0].classList.add('e-date-time-icon');
|
|
234
236
|
}
|
|
@@ -549,7 +551,12 @@ var DateTimePicker = /** @class */ (function (_super) {
|
|
|
549
551
|
this.renderPopup();
|
|
550
552
|
this.setTimeScrollPosition();
|
|
551
553
|
this.openPopup(e);
|
|
552
|
-
|
|
554
|
+
if (!Browser.isDevice || (Browser.isDevice && !this.fullScreenMode)) {
|
|
555
|
+
this.popupObject.refreshPosition(this.inputElement);
|
|
556
|
+
}
|
|
557
|
+
if (Browser.isDevice && this.fullScreenMode) {
|
|
558
|
+
this.dateTimeWrapper.style.left = '0px';
|
|
559
|
+
}
|
|
553
560
|
}
|
|
554
561
|
}
|
|
555
562
|
};
|
|
@@ -655,7 +662,31 @@ var DateTimePicker = /** @class */ (function (_super) {
|
|
|
655
662
|
}
|
|
656
663
|
}
|
|
657
664
|
});
|
|
658
|
-
this.
|
|
665
|
+
if (Browser.isDevice && this.fullScreenMode) {
|
|
666
|
+
this.popupObject.element.style.display = "flex";
|
|
667
|
+
this.popupObject.element.style.maxHeight = "100%";
|
|
668
|
+
this.popupObject.element.style.width = "100%";
|
|
669
|
+
}
|
|
670
|
+
else {
|
|
671
|
+
this.popupObject.element.style.maxHeight = POPUPDIMENSION;
|
|
672
|
+
}
|
|
673
|
+
if (Browser.isDevice && this.fullScreenMode) {
|
|
674
|
+
var modelWrapper = createElement('div', { className: 'e-datetime-mob-popup-wrap' });
|
|
675
|
+
var modelHeader = this.createElement('div', { className: 'e-model-header' });
|
|
676
|
+
var modelTitleSpan = this.createElement("span", { className: "e-model-title" });
|
|
677
|
+
modelTitleSpan.textContent = "Select time";
|
|
678
|
+
var modelCloseIcon = this.createElement("span", { className: "e-popup-close" });
|
|
679
|
+
EventHandler.add(modelCloseIcon, 'mousedown touchstart', this.dateTimeCloseHandler, this);
|
|
680
|
+
var timeContent = this.dateTimeWrapper.querySelector(".e-content");
|
|
681
|
+
modelHeader.appendChild(modelCloseIcon);
|
|
682
|
+
modelHeader.appendChild(modelTitleSpan);
|
|
683
|
+
modelWrapper.appendChild(modelHeader);
|
|
684
|
+
modelWrapper.appendChild(timeContent);
|
|
685
|
+
this.dateTimeWrapper.insertBefore(modelWrapper, this.dateTimeWrapper.firstElementChild);
|
|
686
|
+
}
|
|
687
|
+
};
|
|
688
|
+
DateTimePicker.prototype.dateTimeCloseHandler = function (e) {
|
|
689
|
+
this.hide();
|
|
659
690
|
};
|
|
660
691
|
DateTimePicker.prototype.setDimension = function (width) {
|
|
661
692
|
if (typeof width === 'number') {
|
|
@@ -711,7 +742,12 @@ var DateTimePicker = /** @class */ (function (_super) {
|
|
|
711
742
|
DateTimePicker.prototype.getPopupHeight = function () {
|
|
712
743
|
var height = parseInt(POPUPDIMENSION, 10);
|
|
713
744
|
var popupHeight = this.dateTimeWrapper.getBoundingClientRect().height;
|
|
714
|
-
|
|
745
|
+
if (Browser.isDevice && this.fullScreenMode) {
|
|
746
|
+
return popupHeight;
|
|
747
|
+
}
|
|
748
|
+
else {
|
|
749
|
+
return popupHeight > height ? height : popupHeight;
|
|
750
|
+
}
|
|
715
751
|
};
|
|
716
752
|
DateTimePicker.prototype.changeEvent = function (e) {
|
|
717
753
|
_super.prototype.changeEvent.call(this, e);
|
|
@@ -749,7 +785,13 @@ var DateTimePicker = /** @class */ (function (_super) {
|
|
|
749
785
|
var height = nextElement ? nextElement.offsetTop : element.offsetTop;
|
|
750
786
|
var lineHeight = element.getBoundingClientRect().height;
|
|
751
787
|
if ((height + element.offsetTop) > listHeight) {
|
|
752
|
-
|
|
788
|
+
if (Browser.isDevice && this.fullScreenMode) {
|
|
789
|
+
var listContent = this.dateTimeWrapper.querySelector('.e-content');
|
|
790
|
+
listContent.scrollTop = nextElement ? (height - (listHeight / HALFPOSITION + lineHeight / HALFPOSITION)) : height;
|
|
791
|
+
}
|
|
792
|
+
else {
|
|
793
|
+
this.dateTimeWrapper.scrollTop = nextElement ? (height - (listHeight / HALFPOSITION + lineHeight / HALFPOSITION)) : height;
|
|
794
|
+
}
|
|
753
795
|
}
|
|
754
796
|
else {
|
|
755
797
|
this.dateTimeWrapper.scrollTop = 0;
|
|
@@ -1537,6 +1579,9 @@ var DateTimePicker = /** @class */ (function (_super) {
|
|
|
1537
1579
|
__decorate([
|
|
1538
1580
|
Property(false)
|
|
1539
1581
|
], DateTimePicker.prototype, "strictMode", void 0);
|
|
1582
|
+
__decorate([
|
|
1583
|
+
Property(false)
|
|
1584
|
+
], DateTimePicker.prototype, "fullScreenMode", void 0);
|
|
1540
1585
|
__decorate([
|
|
1541
1586
|
Property(null)
|
|
1542
1587
|
], DateTimePicker.prototype, "serverTimezoneOffset", void 0);
|
|
@@ -27,6 +27,7 @@ export declare class MaskedDateTime {
|
|
|
27
27
|
private previousDate;
|
|
28
28
|
private isNavigate;
|
|
29
29
|
private navigated;
|
|
30
|
+
private isBlur;
|
|
30
31
|
private formatRegex;
|
|
31
32
|
private isDeletion;
|
|
32
33
|
private isShortYear;
|
|
@@ -67,4 +68,5 @@ export declare class MaskedDateTime {
|
|
|
67
68
|
export interface events {
|
|
68
69
|
module: string;
|
|
69
70
|
e: KeyboardEventArgs;
|
|
71
|
+
isBlur: boolean;
|
|
70
72
|
}
|
|
@@ -34,6 +34,7 @@ var MaskedDateTime = /** @class */ (function () {
|
|
|
34
34
|
this.isComplete = false;
|
|
35
35
|
this.isNavigate = false;
|
|
36
36
|
this.navigated = false;
|
|
37
|
+
this.isBlur = false;
|
|
37
38
|
this.formatRegex = /EEEEE|EEEE|EEE|EE|E|dddd|ddd|dd|d|MMMM|MMM|MM|M|yyyy|yy|y|HH|H|hh|h|mm|m|fff|ff|f|aa|a|ss|s|zzzz|zzz|zz|z|'[^']*'|'[^']*'/g;
|
|
38
39
|
this.isDeletion = false;
|
|
39
40
|
this.isShortYear = false;
|
|
@@ -80,8 +81,7 @@ var MaskedDateTime = /** @class */ (function () {
|
|
|
80
81
|
this.parent.off('keyDownHandler', this.maskKeydownHandler);
|
|
81
82
|
this.parent.off('clearHandler', this.clearHandler);
|
|
82
83
|
};
|
|
83
|
-
MaskedDateTime.prototype.createMask = function (
|
|
84
|
-
if (navigated === void 0) { navigated = false; }
|
|
84
|
+
MaskedDateTime.prototype.createMask = function (mask) {
|
|
85
85
|
this.isDayPart = this.isMonthPart = this.isYearPart = this.isHourPart = this.isMinutePart = this.isSecondsPart = false;
|
|
86
86
|
this.dateformat = this.getCulturedFormat();
|
|
87
87
|
if (this.parent.maskPlaceholder.day) {
|
|
@@ -114,7 +114,8 @@ var MaskedDateTime = /** @class */ (function () {
|
|
|
114
114
|
this.mask = this.previousValue = inputValue;
|
|
115
115
|
this.parent.maskedDateValue = this.mask;
|
|
116
116
|
if (this.parent.value) {
|
|
117
|
-
this.navigated =
|
|
117
|
+
this.navigated = true;
|
|
118
|
+
this.isBlur = mask.isBlur;
|
|
118
119
|
this.setDynamicValue();
|
|
119
120
|
}
|
|
120
121
|
};
|
|
@@ -128,6 +129,11 @@ var MaskedDateTime = /** @class */ (function () {
|
|
|
128
129
|
};
|
|
129
130
|
MaskedDateTime.prototype.validCharacterCheck = function () {
|
|
130
131
|
var start = this.parent.inputElement.selectionStart;
|
|
132
|
+
if (this.parent.moduleName !== 'timepicker') {
|
|
133
|
+
if (start === this.hiddenMask.length && this.mask === this.parent.inputElement.value) {
|
|
134
|
+
start = 0;
|
|
135
|
+
}
|
|
136
|
+
}
|
|
131
137
|
for (var i = start, j = start - 1; i < this.hiddenMask.length || j >= 0; i++, j--) {
|
|
132
138
|
if (i < this.hiddenMask.length && this.validCharacters.indexOf(this.hiddenMask[i]) !== -1) {
|
|
133
139
|
this.setSelection(this.hiddenMask[i]);
|
|
@@ -143,7 +149,9 @@ var MaskedDateTime = /** @class */ (function () {
|
|
|
143
149
|
this.maskDateValue = new Date(+this.parent.value);
|
|
144
150
|
this.isDayPart = this.isMonthPart = this.isYearPart = this.isHourPart = this.isMinutePart = this.isSecondsPart = true;
|
|
145
151
|
this.updateValue();
|
|
146
|
-
this.
|
|
152
|
+
if (!this.isBlur) {
|
|
153
|
+
this.validCharacterCheck();
|
|
154
|
+
}
|
|
147
155
|
};
|
|
148
156
|
MaskedDateTime.prototype.setSelection = function (validChar) {
|
|
149
157
|
var start = -1;
|
|
@@ -656,7 +664,7 @@ var MaskedDateTime = /** @class */ (function () {
|
|
|
656
664
|
MaskedDateTime.prototype.navigateSelection = function (isbackward) {
|
|
657
665
|
var start = this.parent.inputElement.selectionStart;
|
|
658
666
|
var end = this.parent.inputElement.selectionEnd;
|
|
659
|
-
var formatIndex = isbackward ? start - 1 : end
|
|
667
|
+
var formatIndex = isbackward ? start - 1 : end;
|
|
660
668
|
this.navigated = true;
|
|
661
669
|
while (formatIndex < this.hiddenMask.length && formatIndex >= 0) {
|
|
662
670
|
if (this.validCharacters.indexOf(this.hiddenMask[formatIndex]) >= 0) {
|
|
@@ -168,6 +168,13 @@ export interface TimePickerModel extends ComponentModel{
|
|
|
168
168
|
*/
|
|
169
169
|
enabled?: boolean;
|
|
170
170
|
|
|
171
|
+
/**
|
|
172
|
+
* Specifies the component popup display full screen in mobile devices.
|
|
173
|
+
*
|
|
174
|
+
* @default false
|
|
175
|
+
*/
|
|
176
|
+
fullScreenMode?: boolean;
|
|
177
|
+
|
|
171
178
|
/**
|
|
172
179
|
* Specifies the component in readonly state.
|
|
173
180
|
*
|
|
@@ -288,6 +288,12 @@ export declare class TimePicker extends Component<HTMLElement> implements IInput
|
|
|
288
288
|
* @default true
|
|
289
289
|
*/
|
|
290
290
|
enabled: boolean;
|
|
291
|
+
/**
|
|
292
|
+
* Specifies the component popup display full screen in mobile devices.
|
|
293
|
+
*
|
|
294
|
+
* @default false
|
|
295
|
+
*/
|
|
296
|
+
fullScreenMode: boolean;
|
|
291
297
|
/**
|
|
292
298
|
* Specifies the component in readonly state.
|
|
293
299
|
*
|
|
@@ -504,6 +510,7 @@ export declare class TimePicker extends Component<HTMLElement> implements IInput
|
|
|
504
510
|
protected getPopupHeight(): number;
|
|
505
511
|
private generateList;
|
|
506
512
|
private renderPopup;
|
|
513
|
+
private timePopupCloseHandler;
|
|
507
514
|
private getFormattedValue;
|
|
508
515
|
private getDateObject;
|
|
509
516
|
private updateHtmlAttributeToWrapper;
|
|
@@ -329,6 +329,9 @@ var TimePicker = /** @class */ (function (_super) {
|
|
|
329
329
|
return (!isNullOrUndefined(value) && value instanceof Date && !isNaN(+value)) ? value : null;
|
|
330
330
|
};
|
|
331
331
|
TimePicker.prototype.createInputElement = function () {
|
|
332
|
+
if (this.fullScreenMode && Browser.isDevice) {
|
|
333
|
+
this.cssClass = "e-popup-expand";
|
|
334
|
+
}
|
|
332
335
|
var updatedCssClassesValue = this.cssClass;
|
|
333
336
|
var isBindClearAction = this.enableMask ? false : true;
|
|
334
337
|
if (!isNullOrUndefined(this.cssClass) && this.cssClass !== '') {
|
|
@@ -576,7 +579,26 @@ var TimePicker = /** @class */ (function (_super) {
|
|
|
576
579
|
if (!Browser.isDevice) {
|
|
577
580
|
this.popupObj.collision = { X: 'none', Y: 'flip' };
|
|
578
581
|
}
|
|
579
|
-
this.
|
|
582
|
+
if (Browser.isDevice && this.fullScreenMode) {
|
|
583
|
+
this.popupObj.element.style.maxHeight = "100%";
|
|
584
|
+
this.popupObj.element.style.width = "100%";
|
|
585
|
+
}
|
|
586
|
+
else {
|
|
587
|
+
this.popupObj.element.style.maxHeight = POPUPDIMENSION;
|
|
588
|
+
}
|
|
589
|
+
if (Browser.isDevice && this.fullScreenMode) {
|
|
590
|
+
var modelHeader = this.createElement('div', { className: 'e-model-header' });
|
|
591
|
+
var modelTitleSpan = this.createElement("span", { className: "e-model-title" });
|
|
592
|
+
modelTitleSpan.textContent = "Select time";
|
|
593
|
+
var modelCloseIcon = this.createElement("span", { className: "e-popup-close" });
|
|
594
|
+
EventHandler.add(modelCloseIcon, 'mousedown touchstart', this.timePopupCloseHandler, this);
|
|
595
|
+
modelHeader.appendChild(modelCloseIcon);
|
|
596
|
+
modelHeader.appendChild(modelTitleSpan);
|
|
597
|
+
this.popupWrapper.insertBefore(modelHeader, this.popupWrapper.firstElementChild);
|
|
598
|
+
}
|
|
599
|
+
};
|
|
600
|
+
TimePicker.prototype.timePopupCloseHandler = function (e) {
|
|
601
|
+
this.hide();
|
|
580
602
|
};
|
|
581
603
|
//util function
|
|
582
604
|
TimePicker.prototype.getFormattedValue = function (value) {
|
|
@@ -1138,9 +1160,7 @@ var TimePicker = /** @class */ (function (_super) {
|
|
|
1138
1160
|
if (this.isValidLI(li)) {
|
|
1139
1161
|
this.checkValue(li.getAttribute('data-value'));
|
|
1140
1162
|
if (this.enableMask) {
|
|
1141
|
-
this.
|
|
1142
|
-
module: 'MaskedDateTime', navigated: true
|
|
1143
|
-
});
|
|
1163
|
+
this.createMask();
|
|
1144
1164
|
}
|
|
1145
1165
|
this.selectedElement = li;
|
|
1146
1166
|
this.activeIndex = Array.prototype.slice.call(this.liCollections).indexOf(li);
|
|
@@ -1822,7 +1842,7 @@ var TimePicker = /** @class */ (function (_super) {
|
|
|
1822
1842
|
this.prevDate = this.valueWithMinutes = date;
|
|
1823
1843
|
if ((typeof date !== 'number') || (this.value && +new Date(+this.value).setMilliseconds(0)) !== +date) {
|
|
1824
1844
|
this.setProperties({ value: date }, true);
|
|
1825
|
-
if (this.enableMask) {
|
|
1845
|
+
if (this.enableMask && this.value) {
|
|
1826
1846
|
this.createMask();
|
|
1827
1847
|
}
|
|
1828
1848
|
}
|
|
@@ -2462,6 +2482,9 @@ var TimePicker = /** @class */ (function (_super) {
|
|
|
2462
2482
|
__decorate([
|
|
2463
2483
|
Property(true)
|
|
2464
2484
|
], TimePicker.prototype, "enabled", void 0);
|
|
2485
|
+
__decorate([
|
|
2486
|
+
Property(false)
|
|
2487
|
+
], TimePicker.prototype, "fullScreenMode", void 0);
|
|
2465
2488
|
__decorate([
|
|
2466
2489
|
Property(false)
|
|
2467
2490
|
], TimePicker.prototype, "readonly", void 0);
|