@wavemaker/app-ng-runtime 11.14.2-rc.6311 → 11.15.0-1.246
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/build-task/bundles/index.umd.js +13 -2
- package/build-task/esm2022/input/default/checkbox/checkbox.build.mjs +9 -2
- package/build-task/esm2022/input/default/radioset/radioset.build.mjs +6 -2
- package/build-task/fesm2022/index.mjs +13 -2
- package/build-task/fesm2022/index.mjs.map +1 -1
- package/components/base/bundles/index.umd.js +271 -128
- package/components/base/esm2022/public_api.mjs +2 -2
- package/components/base/esm2022/utils/autolayout-utils.mjs +252 -0
- package/components/base/esm2022/utils/live-utils.mjs +10 -7
- package/components/base/esm2022/utils/widget-utils.mjs +8 -1
- package/components/base/esm2022/widgets/common/base/base.component.mjs +7 -8
- package/components/base/esm2022/widgets/common/base/partial-container.directive.mjs +4 -1
- package/components/base/esm2022/widgets/common/container/container.directive.mjs +28 -150
- package/components/base/esm2022/widgets/common/container/container.props.mjs +6 -2
- package/components/base/fesm2022/index.mjs +273 -129
- package/components/base/fesm2022/index.mjs.map +1 -1
- package/components/base/public_api.d.ts +1 -1
- package/components/base/utils/autolayout-utils.d.ts +29 -0
- package/components/base/utils/widget-utils.d.ts +1 -0
- package/components/base/widgets/common/container/container.directive.d.ts +7 -9
- package/components/basic/label/bundles/index.umd.js +4 -0
- package/components/basic/label/esm2022/label.directive.mjs +5 -1
- package/components/basic/label/fesm2022/index.mjs +4 -0
- package/components/basic/label/fesm2022/index.mjs.map +1 -1
- package/components/basic/search/bundles/index.umd.js +13 -11
- package/components/basic/search/esm2022/search.component.mjs +14 -12
- package/components/basic/search/fesm2022/index.mjs +13 -11
- package/components/basic/search/fesm2022/index.mjs.map +1 -1
- package/components/chart/bundles/index.umd.js +2 -2
- package/components/chart/esm2022/chart.utils.mjs +3 -3
- package/components/chart/fesm2022/index.mjs +2 -2
- package/components/chart/fesm2022/index.mjs.map +1 -1
- package/components/containers/accordion/accordion-pane/accordion-pane.component.d.ts +2 -0
- package/components/containers/accordion/accordion.directive.d.ts +4 -0
- package/components/containers/accordion/bundles/index.umd.js +34 -0
- package/components/containers/accordion/esm2022/accordion-pane/accordion-pane.component.mjs +6 -2
- package/components/containers/accordion/esm2022/accordion.directive.mjs +32 -2
- package/components/containers/accordion/fesm2022/index.mjs +36 -2
- package/components/containers/accordion/fesm2022/index.mjs.map +1 -1
- package/components/containers/tabs/bundles/index.umd.js +34 -0
- package/components/containers/tabs/esm2022/tab-pane/tab-pane.component.mjs +6 -2
- package/components/containers/tabs/esm2022/tabs.component.mjs +33 -4
- package/components/containers/tabs/fesm2022/index.mjs +36 -2
- package/components/containers/tabs/fesm2022/index.mjs.map +1 -1
- package/components/containers/tabs/tab-pane/tab-pane.component.d.ts +2 -0
- package/components/containers/tabs/tabs.component.d.ts +5 -1
- package/components/containers/wizard/bundles/index.umd.js +46 -2
- package/components/containers/wizard/esm2022/wizard-step/wizard-step.component.mjs +8 -2
- package/components/containers/wizard/esm2022/wizard.component.mjs +42 -4
- package/components/containers/wizard/fesm2022/index.mjs +48 -4
- package/components/containers/wizard/fesm2022/index.mjs.map +1 -1
- package/components/containers/wizard/wizard-step/wizard-step.component.d.ts +4 -0
- package/components/containers/wizard/wizard.component.d.ts +1 -0
- package/components/data/form/bundles/index.umd.js +28 -1
- package/components/data/form/esm2022/form-field/form-field.directive.mjs +4 -1
- package/components/data/form/esm2022/form.component.mjs +24 -2
- package/components/data/form/esm2022/form.props.mjs +3 -2
- package/components/data/form/esm2022/live-filter/live-filter.directive.mjs +2 -1
- package/components/data/form/fesm2022/index.mjs +29 -2
- package/components/data/form/fesm2022/index.mjs.map +1 -1
- package/components/data/form/form.component.d.ts +3 -0
- package/components/data/list/bundles/index.umd.js +0 -9
- package/components/data/list/esm2022/list-item.directive.mjs +1 -10
- package/components/data/list/fesm2022/index.mjs +0 -9
- package/components/data/list/fesm2022/index.mjs.map +1 -1
- package/components/data/pagination/bundles/index.umd.js +6 -2
- package/components/data/pagination/esm2022/pagination.component.mjs +7 -3
- package/components/data/pagination/fesm2022/index.mjs +6 -2
- package/components/data/pagination/fesm2022/index.mjs.map +1 -1
- package/components/data/table/bundles/index.umd.js +21 -4
- package/components/data/table/esm2022/table.component.mjs +22 -5
- package/components/data/table/fesm2022/index.mjs +21 -4
- package/components/data/table/fesm2022/index.mjs.map +1 -1
- package/components/dialogs/alert-dialog/alert-dialog.component.d.ts +6 -2
- package/components/dialogs/alert-dialog/bundles/index.umd.js +18 -8
- package/components/dialogs/alert-dialog/esm2022/alert-dialog.component.mjs +17 -7
- package/components/dialogs/alert-dialog/fesm2022/index.mjs +15 -5
- package/components/dialogs/alert-dialog/fesm2022/index.mjs.map +1 -1
- package/components/input/checkbox/bundles/index.umd.js +12 -3
- package/components/input/checkbox/checkbox.component.d.ts +2 -0
- package/components/input/checkbox/esm2022/checkbox.component.mjs +9 -3
- package/components/input/checkbox/esm2022/checkbox.props.mjs +5 -2
- package/components/input/checkbox/fesm2022/index.mjs +12 -3
- package/components/input/checkbox/fesm2022/index.mjs.map +1 -1
- package/components/input/checkboxset/bundles/index.umd.js +12 -1
- package/components/input/checkboxset/checkboxset.component.d.ts +1 -0
- package/components/input/checkboxset/esm2022/checkboxset.component.mjs +11 -1
- package/components/input/checkboxset/esm2022/checkboxset.props.mjs +3 -2
- package/components/input/checkboxset/fesm2022/index.mjs +12 -1
- package/components/input/checkboxset/fesm2022/index.mjs.map +1 -1
- package/components/input/epoch/base-date-time/base-date-time.component.d.ts +0 -1
- package/components/input/epoch/base-date-time/bundles/index.umd.js +29 -27
- package/components/input/epoch/base-date-time/esm2022/base-date-time.component.mjs +30 -28
- package/components/input/epoch/base-date-time/fesm2022/index.mjs +29 -27
- package/components/input/epoch/base-date-time/fesm2022/index.mjs.map +1 -1
- package/components/input/epoch/date/bundles/index.umd.js +4 -3
- package/components/input/epoch/date/esm2022/date.component.mjs +5 -4
- package/components/input/epoch/date/fesm2022/index.mjs +4 -3
- package/components/input/epoch/date/fesm2022/index.mjs.map +1 -1
- package/components/input/epoch/date-time/bundles/index.umd.js +5 -4
- package/components/input/epoch/date-time/esm2022/date-time.component.mjs +7 -6
- package/components/input/epoch/date-time/fesm2022/index.mjs +6 -5
- package/components/input/epoch/date-time/fesm2022/index.mjs.map +1 -1
- package/components/input/file-upload/bundles/index.umd.js +1 -1
- package/components/input/file-upload/esm2022/file-upload.props.mjs +2 -2
- package/components/input/file-upload/fesm2022/index.mjs +1 -1
- package/components/input/file-upload/fesm2022/index.mjs.map +1 -1
- package/components/input/radioset/bundles/index.umd.js +13 -1
- package/components/input/radioset/esm2022/radioset.component.mjs +11 -1
- package/components/input/radioset/esm2022/radioset.props.mjs +4 -2
- package/components/input/radioset/fesm2022/index.mjs +13 -1
- package/components/input/radioset/fesm2022/index.mjs.map +1 -1
- package/components/input/radioset/radioset.component.d.ts +1 -0
- package/components/input/slider/bundles/index.umd.js +86 -16
- package/components/input/slider/esm2022/slider.component.mjs +76 -9
- package/components/input/slider/esm2022/slider.props.mjs +5 -1
- package/components/input/slider/fesm2022/index.mjs +79 -8
- package/components/input/slider/fesm2022/index.mjs.map +1 -1
- package/components/input/slider/slider.component.d.ts +12 -3
- package/components/input/text/bundles/index.umd.js +24 -3
- package/components/input/text/esm2022/input-text/input-text.component.mjs +6 -3
- package/components/input/text/esm2022/input-text/input-text.props.mjs +5 -2
- package/components/input/text/esm2022/number-locale/number-locale.mjs +16 -1
- package/components/input/text/fesm2022/index.mjs +24 -3
- package/components/input/text/fesm2022/index.mjs.map +1 -1
- package/components/input/text/input-text/input-text.component.d.ts +4 -0
- package/components/input/text/number-locale/number-locale.d.ts +12 -0
- package/components/navigation/breadcrumb/bundles/index.umd.js +2 -2
- package/components/navigation/breadcrumb/esm2022/breadcrumb.component.mjs +3 -3
- package/components/navigation/breadcrumb/fesm2022/index.mjs +2 -2
- package/components/navigation/breadcrumb/fesm2022/index.mjs.map +1 -1
- package/components/navigation/popover/bundles/index.umd.js +12 -0
- package/components/navigation/popover/esm2022/popover.component.mjs +13 -1
- package/components/navigation/popover/fesm2022/index.mjs +12 -0
- package/components/navigation/popover/fesm2022/index.mjs.map +1 -1
- package/components/navigation/popover/popover.component.d.ts +2 -0
- package/components/page/default/bundles/index.umd.js +0 -4
- package/components/page/default/esm2022/router-outlet.directive.mjs +1 -5
- package/components/page/default/fesm2022/index.mjs +0 -4
- package/components/page/default/fesm2022/index.mjs.map +1 -1
- package/components/page/header/bundles/index.umd.js +4 -3
- package/components/page/header/esm2022/header.component.mjs +5 -4
- package/components/page/header/fesm2022/index.mjs +4 -3
- package/components/page/header/fesm2022/index.mjs.map +1 -1
- package/components/page/header/header.component.d.ts +2 -1
- package/core/bundles/index.umd.js +90 -6
- package/core/enums/enums.d.ts +1 -0
- package/core/esm2022/enums/enums.mjs +2 -1
- package/core/esm2022/utils/build-utils.mjs +5 -1
- package/core/esm2022/utils/utils.mjs +5 -2
- package/core/esm2022/utils/watcher.mjs +83 -4
- package/core/fesm2022/index.mjs +91 -4
- package/core/fesm2022/index.mjs.map +1 -1
- package/core/utils/watcher.d.ts +2 -0
- package/npm-shrinkwrap.json +2 -2
- package/oAuth/esm2022/oAuth.service.mjs +1 -1
- package/oAuth/fesm2022/index.mjs.map +1 -1
- package/oAuth/oAuth.service.d.ts +1 -1
- package/package-lock.json +2 -2
- package/package.json +1 -1
- package/runtime/base/bundles/index.umd.js +33 -31
- package/runtime/base/components/base-prefab.component.d.ts +6 -4
- package/runtime/base/esm2022/components/app-component/app.component.mjs +1 -1
- package/runtime/base/esm2022/components/base-page.component.mjs +2 -5
- package/runtime/base/esm2022/components/base-partial.component.mjs +2 -2
- package/runtime/base/esm2022/components/base-prefab.component.mjs +20 -12
- package/runtime/base/esm2022/components/base-spa-page.component.mjs +1 -4
- package/runtime/base/esm2022/services/http-interceptor.services.mjs +14 -13
- package/runtime/base/fesm2022/index.mjs +34 -31
- package/runtime/base/fesm2022/index.mjs.map +1 -1
- package/runtime/base/runtime-base.module.d.ts +2 -1
- package/runtime/dynamic/app/app.config.d.ts +1 -1
- package/runtime/dynamic/bundles/index.umd.js +1 -1
- package/runtime/dynamic/esm2022/app/app.config.mjs +7 -7
- package/runtime/dynamic/fesm2022/index.mjs +2 -2
- package/runtime/dynamic/fesm2022/index.mjs.map +1 -1
- package/scripts/datatable/datatable.js +17 -15
|
@@ -219,22 +219,24 @@ class BaseDateTimeComponent extends BaseFormCustomComponent {
|
|
|
219
219
|
/**
|
|
220
220
|
* This method is used to highlight the current date
|
|
221
221
|
*/
|
|
222
|
-
hightlightToday(newDate) {
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
}
|
|
222
|
+
// protected hightlightToday(newDate) {
|
|
223
|
+
// if(this.datavalue) return;
|
|
224
|
+
// const activeMonth = $(`.bs-datepicker-head .current span`).first().text().trim();
|
|
225
|
+
// const activeYear = $(".bs-datepicker-head .current").eq(1).text();
|
|
226
|
+
// const month = new Date(newDate).toLocaleString('default', { month: 'long' });
|
|
227
|
+
// const year = newDate.getFullYear().toString();
|
|
228
|
+
// if(activeMonth == month && activeYear == new Date().getFullYear() && newDate.getDate() === new Date().getDate() && newDate.getMonth() === new Date().getMonth() && newDate.getFullYear() === new Date().getFullYear()) {
|
|
229
|
+
// const toDay = new Date().getDate().toString();
|
|
230
|
+
// filter($(`span:contains(${toDay})`).not('.is-other-month'), (obj) => {
|
|
231
|
+
// if ($(obj).text() === toDay) {
|
|
232
|
+
// $(obj).addClass('current-date text-info');
|
|
233
|
+
// $(obj).off('mouseenter.dateHover').on('mouseenter.dateHover', () => {
|
|
234
|
+
// setTimeout(()=>{ this.hightlightToday(new Date())})
|
|
235
|
+
// });
|
|
236
|
+
// }
|
|
237
|
+
// });
|
|
238
|
+
// }
|
|
239
|
+
// }
|
|
238
240
|
/**
|
|
239
241
|
* This method is used to find the new date is from another year or not
|
|
240
242
|
* @param newDate - newly selected date value
|
|
@@ -309,9 +311,9 @@ class BaseDateTimeComponent extends BaseFormCustomComponent {
|
|
|
309
311
|
this.activeDate = newDate;
|
|
310
312
|
}
|
|
311
313
|
});
|
|
312
|
-
if (newDate.
|
|
313
|
-
|
|
314
|
-
}
|
|
314
|
+
// if (newDate.getMonth() === new Date().getMonth() && newDate.getFullYear() === new Date().getFullYear()) {
|
|
315
|
+
// this.hightlightToday(new Date());
|
|
316
|
+
// }
|
|
315
317
|
});
|
|
316
318
|
}
|
|
317
319
|
getMonth(date, inc) {
|
|
@@ -846,10 +848,10 @@ class BaseDateTimeComponent extends BaseFormCustomComponent {
|
|
|
846
848
|
this.setFocusForDate(-1);
|
|
847
849
|
}
|
|
848
850
|
var prevMon = this.getMonth(this.activeDate, -1);
|
|
849
|
-
const current = new Date();
|
|
850
|
-
if
|
|
851
|
-
|
|
852
|
-
}
|
|
851
|
+
// const current = new Date();
|
|
852
|
+
// if(prevMon.date.getMonth()===current.getMonth() && prevMon.date.getFullYear()===current.getFullYear()) {
|
|
853
|
+
// this.hightlightToday(new Date());
|
|
854
|
+
// }
|
|
853
855
|
setTimeout(() => {
|
|
854
856
|
$(".bs-datepicker-head .previous span").attr("aria-hidden", 'true');
|
|
855
857
|
$(".bs-datepicker-head .next span").attr("aria-hidden", 'true');
|
|
@@ -871,10 +873,10 @@ class BaseDateTimeComponent extends BaseFormCustomComponent {
|
|
|
871
873
|
this.setFocusForDate(1);
|
|
872
874
|
}
|
|
873
875
|
var nextMon = this.getMonth(this.activeDate, 1);
|
|
874
|
-
const current = new Date();
|
|
875
|
-
if (nextMon.date.getMonth() === current.getMonth() && nextMon.date.getFullYear() === current.getFullYear()) {
|
|
876
|
-
|
|
877
|
-
}
|
|
876
|
+
// const current = new Date();
|
|
877
|
+
// if (nextMon.date.getMonth() === current.getMonth() && nextMon.date.getFullYear() === current.getFullYear()) {
|
|
878
|
+
// this.hightlightToday(current);
|
|
879
|
+
// }
|
|
878
880
|
setTimeout(() => {
|
|
879
881
|
$(".bs-datepicker-head .previous span").attr("aria-hidden", 'true');
|
|
880
882
|
$(".bs-datepicker-head .next span").attr("aria-hidden", 'true');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../../../../../projects/components/widgets/input/epoch/base-date-time/src/base-date-time.component.ts","../../../../../../projects/components/widgets/input/epoch/base-date-time/src/index.ts"],"sourcesContent":["import {AfterViewInit, Directive, Inject, Injector, OnDestroy, Optional, ViewChild} from '@angular/core';\nimport {AbstractControl, Validator} from '@angular/forms';\nimport {Subscription} from 'rxjs';\nimport {FormStyle, getLocaleDayPeriods, TranslationWidth} from '@angular/common';\nimport {BsDropdownDirective} from 'ngx-bootstrap/dropdown';\nimport {TimepickerComponent, TimepickerConfig} from 'ngx-bootstrap/timepicker';\nimport {AbstractI18nService, getDateObj, getFormattedDate, getNativeDateObject, isMobile, setAttr} from '@wm/core';\n\nimport {getContainerTargetClass, ToDatePipe} from '@wm/components/base';\nimport {BaseFormCustomComponent} from '@wm/components/input/base-form-custom';\nimport {BsDatepickerConfig, BsDatepickerDirective} from 'ngx-bootstrap/datepicker';\nimport {DateTimePickerComponent} from '@wm/components/input/epoch/date-time-picker';\nimport {filter, forEach, get, includes, isNaN as _isNaN, isString, isUndefined, parseInt, split} from \"lodash-es\";\nimport * as momentLib from 'moment';\n\ndeclare const $;\nconst moment = momentLib.default || window['moment'];\n\nconst CURRENT_DATE = 'CURRENT_DATE';\nconst months = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];\nconst DATEPICKER_DROPDOWN_OPTIONS = {\n BUTTON: 'button',\n DEFAULT: 'default'\n};\nconst DATAENTRYMODE_DROPDOWN_OPTIONS = {\n PICKER: 'picker',\n DEFAULT: 'default'\n};\n\n// Providing meridians to the timepicker baesd on selected locale\nexport function getTimepickerConfig(i18nService): TimepickerConfig {\n return Object.assign(new TimepickerConfig(), {\n meridians: [i18nService.getLocalizedMessage(\"LABEL_AM\")||\"AM\",i18nService.getLocalizedMessage(\"LABEL_PM\")||\"PM\"]\n });\n}\n\n@Directive()\nexport abstract class BaseDateTimeComponent extends BaseFormCustomComponent implements AfterViewInit, OnDestroy, Validator {\n public required: boolean;\n public disabled: boolean;\n public tabindex: any;\n public name: string;\n public autofocus: boolean;\n public readonly: boolean;\n public placeholder: string;\n public shortcutkey: string;\n public _triggeredByUser: boolean;\n\n public excludedays: string;\n public excludedDaysToDisable: Array<number>;\n public excludedDatesToDisable: Array<Date>;\n public excludedates;\n public outputformat;\n public mindate;\n public maxdate;\n public dataentrymode;\n protected activeDate;\n private elementScope;\n public viewmode;\n public datepattern;\n public timepattern;\n protected showseconds: boolean;\n protected ismeridian: boolean;\n protected meridians: any;\n protected datePipe;\n protected i18nService;\n public isReadOnly = false;\n protected selectedLocale: string;\n public selectfromothermonth: boolean;\n public todaybutton: boolean;\n public clearbutton: boolean;\n public removeKeyupListener;\n public loadNativeDateInput;\n public showcustompicker;\n public next;\n public prev;\n public clicked = false;\n public showampmbuttons=true;\n protected dateNotInRange: boolean;\n protected timeNotInRange: boolean;\n protected invalidDateTimeFormat: boolean;\n\n public am:string;\n public pm: string;\n private dateOnShowSubscription: Subscription;\n private cancelLocaleChangeSubscription;\n public get timeZone() { return this.inj.get(AbstractI18nService).getTimezone(this); }\n\n formatsByLocale = {'timezone': ''};\n\n /**\n * Safely replace internal meridians with localized display meridians only for string values\n */\n protected safeReplaceMeridians(value: any) {\n if (typeof value === 'string') {\n return value.replace(this.meridians[0], this.am).replace(this.meridians[1], this.pm);\n }\n return value;\n }\n\n /**\n * This is an internal property used to map the containerClass, showWeekNumbers etc., to the bsDatepicker\n */\n public _dateOptions: BsDatepickerConfig = new BsDatepickerConfig();\n protected bsDatePickerDirective: BsDatepickerDirective;\n\n @ViewChild(BsDropdownDirective) protected bsDropdown;\n @ViewChild(TimepickerComponent) protected bsTimePicker;\n @ViewChild(DateTimePickerComponent) datetimepickerComponent;\n private validateType: string;\n containerTarget: string;\n\n constructor(inj: Injector, WIDGET_CONFIG, @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any) {\n super(inj, WIDGET_CONFIG, explicitContext);\n this.i18nService = this.inj.get(AbstractI18nService);\n this.invokeEventCallback('beforeload');\n\n this.datePipe = this.inj.get(ToDatePipe);\n this.selectedLocale = this.i18nService.getSelectedLocale();\n this._dateOptions.todayPosition = 'left';\n this._dateOptions.clearPosition = 'right';\n this.meridians = getLocaleDayPeriods(this.selectedLocale, FormStyle.Format, TranslationWidth.Abbreviated);\n this.loadNativeDateInput = isMobile() && !this.showcustompicker;\n this.am=this.i18nService.getLocalizedMessage(\"LABEL_AM\")||\"AM\";\n this.pm=this.i18nService.getLocalizedMessage(\"LABEL_PM\")||\"PM\";\n\n this.cancelLocaleChangeSubscription = this.getAppInstance().subscribe(\"locale-changed\", (locale) => {\n this.datePipe.datePipe.locale = locale.angular;\n this._dateOptions.todayButtonLabel = this.i18nService.getLocalizedMessage('LABEL_TODAY_DATE');\n this._dateOptions.clearButtonLabel = this.i18nService.getLocalizedMessage('LABEL_CLEAR_DATE');\n });\n }\n\n\n /**\n * returns true if the input value is default (i.e open date picker on input click)\n * @param1 dropdownvalue, user selected value (by default datepicker opens on input click)\n * **/\n protected isDropDownDisplayEnabledOnInput(dropdownvalue) {\n return dropdownvalue === DATEPICKER_DROPDOWN_OPTIONS.DEFAULT;\n }\n\n /**\n * returns true if the input value is default (i.e Data entry can be done either by selecting from the Date/DateTime/Time Picker or by entering manually using the keyboard. )\n * @param1 dropdownvalue, user selected value\n * **/\n protected isDataEntryModeEnabledOnInput(dropdownvalue) {\n return dropdownvalue === DATAENTRYMODE_DROPDOWN_OPTIONS.DEFAULT;\n }\n /**\n * This method is used to show validation message depending on the isNativePicker flag.\n */\n private showValidation($event, displayValue, isNativePicker, msg) {\n if (isNativePicker) {\n console.warn('min max date validation failed ', msg);\n return $($event.target).val(displayValue);\n }\n }\n\n resetDisplayInput() {\n $(this.nativeElement).find('.display-input').val('');\n }\n\n public validate(c: AbstractControl) {\n if (this.invalidDateTimeFormat) {\n return {\n invalidDateTimeFormat: {\n valid: false\n }\n };\n }\n if (!isUndefined(this.dateNotInRange) && this.dateNotInRange) {\n return {\n dateNotInRange: {\n valid: false\n },\n };\n }\n if (!isUndefined(this.timeNotInRange) && this.timeNotInRange) {\n return {\n timeNotInRange: {\n valid: false\n },\n };\n }\n /* WMS-18269 | Extending the existing validation for 'required' */\n if (this['show'] && this['required']) {\n return !!c.value ? null : { required: true };\n }\n this.validateType = '';\n return null;\n }\n\n /**\n * This method is used to validate date pattern and time pattern\n * If user selects one pattern in design time and if he tries to enter the date in another pattern then the device is throwing an error\n */\n protected formatValidation(newVal, inputVal, isNativePicker?: boolean) {\n const pattern = this.datepattern || this.timepattern;\n const timeZone = this.timeZone;\n const formattedDate = getFormattedDate(this.datePipe, newVal, pattern, timeZone, null, null, this);\n inputVal = inputVal.trim();\n if (inputVal) {\n if (pattern === 'timestamp') {\n if (!_isNaN(inputVal) && parseInt(inputVal) !== formattedDate) {\n this.invalidDateTimeFormat = true;\n this.validateType = 'incorrectformat';\n this.invokeOnChange(this.datavalue, undefined, false);\n return false;\n }\n } else {\n if (isNativePicker) {\n // format the date value only when inputVal is obtained from $event.target.value, as the format doesnt match.\n inputVal = getFormattedDate(this.datePipe, inputVal, pattern, timeZone);\n }\n if (inputVal?.replace(this.am, this.meridians[0])?.replace(this.pm, this.meridians[1]) !== formattedDate) {\n this.invalidDateTimeFormat = true;\n this.validateType = 'incorrectformat';\n this.invokeOnChange(this.datavalue, undefined, false);\n return false;\n }\n }\n\n }\n return true;\n }\n\n /**\n * This method is used to validate min date, max date, exclude dates and exclude days\n * In mobile if invalid dates are entered, device is showing an alert.\n * In web if invalid dates are entered, device is showing validation message.\n */\n protected minDateMaxDateValidationOnInput(newVal, $event?: Event, displayValue?: string, isNativePicker?: boolean) {\n if (newVal) {\n const dateTimeVal = newVal;\n newVal = moment(newVal).startOf('day').toDate();\n const minDate = moment(getDateObj(this.mindate)).startOf('day').toDate();\n const maxDate = moment(getDateObj(this.maxdate)).startOf('day').toDate();\n if (this.mindate && newVal < minDate) {\n const msg = `${this.appLocale.LABEL_MINDATE_VALIDATION_MESSAGE} ${this.mindate}.`;\n this.invokeOnChange(this.datavalue, undefined, false);\n if (isNativePicker && getFormattedDate(this.datePipe, minDate, this.datepattern, this.timeZone, null, null, this) === displayValue) {\n return $($event.target).val(displayValue);\n }\n this.dateNotInRange = true;\n this.validateType = 'mindate';\n return this.showValidation($event, displayValue, isNativePicker, msg);\n }\n if (this.maxdate && newVal > maxDate) {\n const msg = `${this.appLocale.LABEL_MAXDATE_VALIDATION_MESSAGE} ${this.maxdate}.`;\n this.invokeOnChange(this.datavalue, undefined, false);\n if (isNativePicker && getFormattedDate(this.datePipe, maxDate, this.datepattern, this.timeZone, null, null, this) === displayValue) {\n return $($event.target).val(displayValue);\n }\n this.dateNotInRange = true;\n this.validateType = 'maxdate';\n return this.showValidation($event, displayValue, isNativePicker, msg);\n }\n if (this.excludedates) {\n let excludeDatesArray;\n if (isString(this.excludedates)) {\n excludeDatesArray = split(this.excludedates, ',');\n } else {\n excludeDatesArray = this.excludedates;\n }\n excludeDatesArray = excludeDatesArray.map(d => getFormattedDate(this.datePipe, d, this.datepattern, this.timeZone, null, null, this));\n if (excludeDatesArray.indexOf(getFormattedDate(this.datePipe, dateTimeVal, this.datepattern, this.timeZone, null, null, this)) > -1) {\n this.dateNotInRange = true;\n this.validateType = 'excludedates';\n this.invokeOnChange(this.datavalue, undefined, false);\n return;\n }\n }\n if (this.excludedays) {\n const excludeDaysArray = split(this.excludedays, ',');\n const day = get(dateTimeVal, 'getDay') ? dateTimeVal.getDay() : dateTimeVal;\n if (excludeDaysArray.indexOf(day.toString()) > -1) {\n this.dateNotInRange = true;\n this.validateType = 'excludedays';\n this.invokeOnChange(this.datavalue, undefined, false);\n return;\n }\n }\n }\n\n if (!isNativePicker) {\n this.dateNotInRange = false;\n this.invokeOnChange(this.datavalue, undefined, false);\n }\n }\n\n /**\n * This method is used to highlight the current date\n */\n protected hightlightToday(newDate) {\n if(this.datavalue) return;\n const activeMonth = $(`.bs-datepicker-head .current`).first().text();\n const activeYear = $(\".bs-datepicker-head .current\").eq(1).text();\n const month = new Date(newDate).toLocaleString('default', { month: 'long' });\n const year = newDate.getFullYear().toString();\n if(activeMonth == month && activeYear == new Date().getFullYear() && newDate.getDate() === new Date().getDate() && newDate.getMonth() === new Date().getMonth() && newDate.getFullYear() === new Date().getFullYear()) {\n const toDay = new Date().getDate().toString();\n filter($(`span:contains(${toDay})`).not('.is-other-month'), (obj) => {\n if ($(obj).text() === toDay) {\n $(obj).addClass('current-date text-info');\n }\n });\n }\n }\n\n /**\n * This method is used to find the new date is from another year or not\n * @param newDate - newly selected date value\n */\n private isOtheryear(newDate) {\n return (newDate.getMonth() === 0 && this.activeDate.getMonth() === 11) || (newDate.getMonth() === 11 && this.activeDate.getMonth() === 0);\n }\n\n public showDatePickerModal(bsDataValue) {\n this.activeDate = bsDataValue || new Date();\n this.setNextData(this.activeDate);\n this.datetimepickerComponent.show();\n setTimeout(() => {\n this.addDatepickerMouseEvents();\n this.setActiveDateFocus(this.activeDate, true);\n }, 500);\n return ;\n }\n\n /**\n * This method is used to load other month days or other month or other year\n * @param btnClass - class(previous/next) of the button which we have to click\n * @param timePeriod - String value decides to load other month days or other month or other year\n */\n private goToOtherMonthOryear(btnClass, timePeriod) {\n const $node = $(`.bs-datepicker-head .${btnClass}`);\n if ($node.attr('disabled')) {\n return;\n }\n $node.trigger('click');\n if (timePeriod === 'days') {\n this.loadDays();\n } else if (timePeriod === 'month') {\n this.loadMonths();\n } else if (timePeriod === 'year') {\n this.loadYears();\n }\n }\n\n /**\n * This method is used to set focus for active day\n * @param newDate - newly selected date value\n * @param isMouseEvent - boolean value represents the event is mouse event/ keyboard event\n * @param fromKeyboardEvents\n */\n private setActiveDateFocus(newDate, isMouseEvent?: boolean, fromKeyboardEvents?: boolean) {\n this.setNextData(newDate);\n this.clicked = false;\n const activeMonth = this.activeDate.getMonth();\n // check for keyboard event\n if (!isMouseEvent) {\n if (newDate.getMonth() < activeMonth) {\n this.isOtheryear(newDate) ? this.goToOtherMonthOryear('next', 'days') : this.goToOtherMonthOryear('previous', 'days');\n } else if (newDate.getMonth() > activeMonth) {\n this.isOtheryear(newDate) ? this.goToOtherMonthOryear('previous', 'days') : this.goToOtherMonthOryear('next', 'days');\n }\n }\n setTimeout(() => {\n const newDay = newDate.getDate().toString();\n filter($(`span:contains(${newDay})`).not('.is-other-month'), (obj) => {\n const activeMonth = $(`.bs-datepicker-head .current`).first().text();\n const activeYear = $(\".bs-datepicker-head .current\").eq(1).text();\n const monthName = new Date().toLocaleString('default', { month: 'long' });\n if ($(obj).text() === newDay) {\n if ($(obj).hasClass('selected')) {\n $(obj).parent().attr('aria-selected', 'true');\n }\n $(obj).attr('aria-label', moment(newDate).format('dddd, MMMM Do YYYY'));\n $('[bsdatepickerdaydecorator]').not('.is-other-month').attr('tabindex', '-1');\n $(obj).attr('tabindex', '0');\n $(obj).focus();\n this.activeDate = newDate;\n }\n });\n if (newDate.getDate() === new Date().getDate() && newDate.getMonth() === new Date().getMonth() && newDate.getFullYear() === new Date().getFullYear()) {\n this.hightlightToday(newDate);\n }\n });\n\n }\n\n private getMonth(date, inc) {\n const currentMonth = new Date(date);\n\n let month = currentMonth.getMonth();\n const year = currentMonth.getFullYear();\n\n month += inc;\n\n const newDate = new Date(year, month);\n\n const fullMonth = newDate.toLocaleString('en-US', { month: 'long' });\n\n return {\n date: newDate,\n fullMonth: fullMonth\n };\n }\n\n /**\n * This method sets focus for months/days depending on the loaded datepicker table\n */\n private setFocusForMonthOrDay() {\n const activeMonthOrYear = $(`.bs-datepicker-head .current`).first().text();\n const datePickerBody = $('.bs-datepicker-body');\n if (datePickerBody.find('table.months').length > 0) {\n if (parseInt(activeMonthOrYear) !== this.activeDate.getFullYear()) {\n this.loadMonths();\n }\n const newDate = new Date(parseInt(activeMonthOrYear), this.activeDate.getMonth(), this.activeDate.getDate());\n this.setActiveMonthFocus(newDate, true);\n } else if (datePickerBody.find('table.days').length > 0) {\n const newMonth = months.indexOf(activeMonthOrYear);\n if (newMonth !== this.activeDate.getMonth()) {\n this.loadDays();\n }\n const newDate = new Date(this.activeDate.getFullYear(), newMonth, 1);\n this.setActiveDateFocus(newDate, true);\n }\n }\n\n /**\n * This method sets focus for months/years depending on the loaded datepicker table\n */\n private setFocusForCurrentMonthOryear() {\n const datePickerBody = $('.bs-datepicker-body');\n if (datePickerBody.find('table.months').length > 0) {\n this.loadMonths();\n this.setActiveMonthFocus(this.activeDate, true);\n } else if (datePickerBody.find('table.years').length > 0) {\n this.loadYears();\n this.setActiveYearFocus(this.activeDate, true);\n }\n }\n\n /**\n * This method sets focus for months/years/days depending on the loaded datepicker table\n */\n private setFocusForDate(count) {\n const datePickerBody = $('.bs-datepicker-body');\n if (datePickerBody.find('table.months').length > 0) {\n this.loadMonths();\n const newDate = new Date(this.activeDate.getFullYear() + count, 0, this.activeDate.getDate());\n this.setActiveMonthFocus(newDate, true);\n } else if (datePickerBody.find('table.years').length > 0) {\n this.loadYears();\n const startYear = datePickerBody.find('table.years span').first().text();\n const newDate = new Date(parseInt(startYear), this.activeDate.getMonth(), this.activeDate.getDate());\n this.setActiveYearFocus(newDate, true);\n } else if (datePickerBody.find('table.days').length > 0) {\n this.loadDays();\n const [monthText, yearText] = $('.bs-datepicker-head .current').map((_, el) => $(el).text().trim()).get();\n const monthIndex = new Date(`${monthText} 1, ${yearText}`).getMonth();\n const year = parseInt(yearText, 10);\n const inMonth = (d: Date) => d.getFullYear() === year && d.getMonth() === monthIndex;\n let newDate = this.mindate && inMonth(new Date(this.mindate)) ? new Date(this.mindate) : this.maxdate && inMonth(new Date(this.maxdate)) ? new Date(this.maxdate) : new Date(year, monthIndex, 1);\n this.setActiveDateFocus(newDate, true);\n }\n }\n\n /**\n * This method is used to add keyboard events while opening the date picker\n * @param scope - scope of the date/datetime widget\n * @param isDateTime - boolean value represents the loaded widget is date or datetime\n */\n protected addDatepickerKeyboardEvents(scope, isDateTime) {\n this.elementScope = scope;\n const dateContainer = document.querySelector(`.${scope.dateContainerCls}`) as HTMLElement;\n setAttr(dateContainer, 'tabindex', '0');\n dateContainer.onkeydown = (event) => {\n // Check for Shift+Tab key or Tab key or escape\n if (event.key === 'Escape') {\n this.elementScope.hideDatepickerDropdown();\n const displayInputElem = this.elementScope.nativeElement.querySelector('.display-input') as HTMLElement;\n setTimeout(() => displayInputElem.focus());\n }\n };\n this.loadDays();\n this.setActiveDateFocus(this.activeDate, undefined, true);\n }\n private setNextData(nextDate) {\n this.next = this.getMonth(nextDate, 1);\n this.prev = this.getMonth(nextDate, -1);\n }\n /**\n * This method is used to add tabindex, keybord and mouse events for days\n */\n private loadDays() {\n setTimeout(() => {\n $('[bsdatepickerdaydecorator]').not('.is-other-month').attr('tabindex', '0');\n // if (this.clicked === false) {\n // this.next = this.getMonth(this.activeDate, 1);\n // this.prev = this.getMonth(this.activeDate, -1);\n // }\n this.addKeyBoardEventsForDays();\n this.addDatepickerMouseEvents();\n });\n }\n\n /**\n * This method sets keyboard events for days\n */\n private addKeyBoardEventsForDays() {\n const datePickerBody = $('.bs-datepicker-body');\n datePickerBody.keydown((event) => {\n let newdate;\n if (event.key === 'ArrowDown') {\n event.preventDefault();\n newdate = moment(this.activeDate).add(+7, 'days').toDate();\n this.setActiveDateFocus(newdate);\n } else if (event.ctrlKey && event.key === 'ArrowUp') {\n // clicking on table header month name to load list of months\n $('.bs-datepicker-head .current').first().click();\n this.loadMonths();\n this.setActiveMonthFocus(this.activeDate);\n } else if (event.key === 'ArrowUp') {\n event.preventDefault();\n newdate = moment(this.activeDate).add(-7, 'days').toDate();\n this.setActiveDateFocus(newdate);\n } else if (event.key === 'ArrowLeft') {\n newdate = moment(this.activeDate).add(-1, 'days').toDate();\n this.setActiveDateFocus(newdate);\n } else if (event.key === 'ArrowRight') {\n newdate = moment(this.activeDate).add(+1, 'days').toDate();\n this.setActiveDateFocus(newdate);\n } else if (event.key === 'PageUp') {\n event.preventDefault();\n newdate = moment(this.activeDate).add(-1, 'month').toDate();\n this.setActiveDateFocus(newdate);\n } else if (event.key === 'PageDown') {\n event.preventDefault();\n newdate = moment(this.activeDate).add(+1, 'month').toDate();\n this.setActiveDateFocus(newdate);\n } else if (event.key === 'Enter') {\n if ($(document.activeElement).hasClass('disabled')) {\n return;\n }\n $(document.activeElement).click();\n this.elementScope.hideDatepickerDropdown();\n const displayInputElem = this.elementScope.nativeElement.querySelector('.display-input') as HTMLElement;\n setTimeout(() => displayInputElem.focus());\n }\n });\n this.focusBlurDatePickerHeadButtons();\n }\n\n private focusBlurDatePickerHeadButtons() {\n const datePickerHeadButton = $('.bs-datepicker-head button');\n datePickerHeadButton.on('focus', function() { $(this).css('background-color', '#9AA0A3'); });\n datePickerHeadButton.on('blur', function() { $(this).css('background-color', ''); });\n }\n\n /**\n * This method is used to add tabindex, keybord and mouse events for months\n */\n private loadMonths() {\n setTimeout(() => {\n this.addKeyBoardEventsForMonths();\n this.addDatepickerMouseEvents();\n });\n }\n\n /**\n * This method sets keyboard events for months\n */\n private addKeyBoardEventsForMonths() {\n $('.bs-datepicker-body').keydown((event) => {\n let newdate;\n if ((event.ctrlKey && event.key === 'ArrowDown') || event.key === 'Enter') {\n if ($(document.activeElement).parent().hasClass('disabled')) {\n return;\n }\n $(document.activeElement).click();\n this.loadDays();\n const newDate = new Date(this.activeDate.getFullYear(), this.activeDate.getMonth(), 1);\n this.setActiveDateFocus(newDate);\n } else if (event.ctrlKey && event.key === 'ArrowUp') {\n // clicking on table header year to load list of years\n $('.bs-datepicker-head .current').first().click();\n this.loadYears();\n this.setActiveYearFocus(this.activeDate);\n } else if (event.key === 'ArrowDown') {\n event.preventDefault();\n newdate = moment(this.activeDate).add(+3, 'month').toDate();\n this.setActiveMonthFocus(newdate);\n } else if (event.key === 'ArrowUp') {\n event.preventDefault();\n newdate = moment(this.activeDate).add(-3, 'month').toDate();\n this.setActiveMonthFocus(newdate);\n } else if (event.key === 'ArrowLeft') {\n newdate = moment(this.activeDate).add(-1, 'month').toDate();\n this.setActiveMonthFocus(newdate);\n } else if (event.key === 'ArrowRight') {\n newdate = moment(this.activeDate).add(+1, 'month').toDate();\n this.setActiveMonthFocus(newdate);\n }\n });\n this.focusBlurDatePickerHeadButtons();\n }\n\n /**\n * This method is used to add tabindex, keybord and mouse events for years\n */\n private loadYears() {\n setTimeout(() => {\n this.addKeyBoardEventsForYears();\n this.addDatepickerMouseEvents();\n });\n }\n\n /**\n * This method is used to set focus for active month\n */\n private setActiveMonthFocus(newDate, isMoouseEvent?: boolean) {\n this.setNextData(newDate);\n const newMonth = months[newDate.getMonth()];\n // check for keyboard event\n if (!isMoouseEvent) {\n if (newDate.getFullYear() < this.activeDate.getFullYear()) {\n this.goToOtherMonthOryear('previous', 'month');\n } else if (newDate.getFullYear() > this.activeDate.getFullYear()) {\n this.goToOtherMonthOryear('next', 'month');\n }\n }\n setTimeout(() => {\n $(`.bs-datepicker-body table.months span`).attr('tabindex', '-1');\n $(`.bs-datepicker-body table.months span:contains(${newMonth})`).attr('tabindex', '0');\n $(`.bs-datepicker-body table.months span:contains(${newMonth})`).focus();\n this.activeDate = newDate;\n });\n }\n\n /**\n * This method sets keyboard events for years\n */\n private addKeyBoardEventsForYears() {\n $('.bs-datepicker-body').keydown((event) => {\n let newdate;\n if ((event.ctrlKey && event.key === 'ArrowDown') || event.key === 'Enter') {\n if ($(document.activeElement).parent().hasClass('disabled')) {\n return;\n }\n $(document.activeElement).click();\n this.loadMonths();\n this.setActiveMonthFocus(this.activeDate);\n } else if (event.key === 'ArrowDown') {\n event.preventDefault();\n newdate = moment(this.activeDate).add(+4, 'year').toDate();\n this.setActiveYearFocus(newdate);\n } else if (event.key === 'ArrowUp') {\n event.preventDefault();\n newdate = moment(this.activeDate).add(-4, 'year').toDate();\n this.setActiveYearFocus(newdate);\n } else if (event.key === 'ArrowLeft') {\n newdate = moment(this.activeDate).add(-1, 'year').toDate();\n this.setActiveYearFocus(newdate);\n } else if (event.key === 'ArrowRight') {\n newdate = moment(this.activeDate).add(+1, 'year').toDate();\n this.setActiveYearFocus(newdate);\n }\n });\n this.focusBlurDatePickerHeadButtons();\n }\n\n /**\n * This method is used to set focus for active year\n */\n private setActiveYearFocus(newDate, isMouseEvent?: boolean) {\n const newYear = newDate.getFullYear();\n const datePickerYears = $('.bs-datepicker-body table.years span');\n const startYear = datePickerYears.first().text();\n const endYear = datePickerYears.last().text();\n // check for keyboard event\n if (!isMouseEvent) {\n if (newDate.getFullYear() < parseInt(startYear)) {\n this.goToOtherMonthOryear('previous', 'year');\n } else if (newDate.getFullYear() > parseInt(endYear)) {\n this.goToOtherMonthOryear('next', 'year');\n }\n }\n setTimeout(() => {\n $(`.bs-datepicker-body table.years span`).attr('tabindex', '-1');\n $(`.bs-datepicker-body table.years span:contains(${newYear})`).attr('tabindex', '0');\n $(`.bs-datepicker-body table.years span:contains(${newYear})`).focus();\n this.activeDate = newDate;\n });\n }\n\n /**\n * This method sets focus for timepicker first input field(hours field) while opening time picker\n * @param scope - scope of the time picker widget\n */\n protected focusTimePickerPopover(scope) {\n this.elementScope = scope;\n // setTimeout is used so that by then time input has the updated value. focus is setting back to the input field\n this.elementScope.ngZone.runOutsideAngular(() => {\n setTimeout(() => {\n $('timepicker .form-group').first().find('> input.form-control').focus();\n });\n });\n\n\n }\n /**\n * This function sets the keyboard events to Timepicker popup\n */\n protected bindTimePickerKeyboardEvents() {\n setTimeout(() => {\n const $timepickerPopup = $('body').find('> bs-dropdown-container timepicker');\n $timepickerPopup.attr('tabindex', 0);\n this.addEventsOnTimePicker($timepickerPopup);\n });\n }\n\n protected focusOnInputEl() {\n if ($(this.nativeElement).closest('.caption-floating').length > 0) {\n setTimeout(() => {\n $(this.nativeElement).find('.app-textbox').focus();\n }, 100);\n }\n }\n\n /**\n * This function checks whether the given date is valid or not\n * @returns boolean value, true if date is valid else returns false\n */\n private isValidDate(date) {\n return date && date instanceof Date && !isNaN(date.getTime());\n }\n\n /**\n * This function checks whether the given time is valid or not\n */\n private timeFormatValidation() {\n const enteredDate = $(this.nativeElement).find('input').val()?.replace(this.am, this.meridians[0])?.replace(this.pm, this.meridians[1]);\n const newVal = getNativeDateObject(enteredDate, {meridians: this.meridians, pattern: this.datepattern});\n if (!this.formatValidation(newVal, enteredDate)) {\n return;\n }\n this.invalidDateTimeFormat = false;\n this.invokeOnChange(this.datavalue, undefined, false);\n }\n\n private updateTimeValue(el, value, fieldName) {\n let minEl = el.find('input[aria-label=\"minutes\"]');\n let secEl = el.find('input[aria-label=\"seconds\"]');\n minEl.value = secEl.value = '00';\n if (value.length < 2) {\n setTimeout(() => {\n fieldName === 'minutes' ? this.bsTimePicker.updateMinutes(minEl) : this.bsTimePicker.updateSeconds(secEl);\n }, 500);\n } else {\n fieldName === 'minutes' ? this.bsTimePicker.updateMinutes(minEl) : this.bsTimePicker.updateSeconds(secEl);\n }\n }\n\n /**\n * This function sets the events to given element\n * @param $el - element on which the event is added\n */\n private addEventsOnTimePicker($el: JQuery) {\n const inputFields = $el.find('.bs-timepicker-field');\n // WMS-19382: update minutes and seconds to 0 when we enter hour value\n inputFields.first().on('keyup', evt => {\n const hourValue = (evt.target as any).value;\n forEach(inputFields, (field, index) => {\n // @ts-ignore\n if (evt.target !== field && field.value === '' && hourValue.length) {\n const fieldName = index === 1 ? 'minutes' : 'seconds';\n this.updateTimeValue($el, hourValue, fieldName);\n }\n });\n });\n this.removeKeyupListener = () => {\n inputFields.first().off('keyup');\n };\n $el.on('keydown', event => {\n const $target = $(event.target);\n const $parent = $target.parent();\n const elementScope = this.elementScope;\n\n let stopPropogation, preventDefault;\n\n if (event.key === 'Escape') {\n elementScope.hideTimepickerDropdown();\n }\n\n if ($target.hasClass('bs-timepicker-field')) {\n if ($parent.is(':first-child')) {\n if ((event.shiftKey && event.key === 'Tab') || event.key === 'Enter' || event.key === 'Escape') {\n elementScope.setIsTimeOpen(false);\n this.focus();\n stopPropogation = true;\n preventDefault = true;\n }\n } else if ($parent.is(':last-child') || ($parent.next().next().find('button.disabled').length)) {\n if (event.key === 'Tab' || event.key === 'Escape' || event.key === 'Enter') {\n elementScope.setIsTimeOpen(false);\n this.focus();\n stopPropogation = true;\n preventDefault = true;\n }\n } else {\n if (event.key === 'Enter' || event.key === 'Escape') {\n elementScope.setIsTimeOpen(false);\n this.focus();\n stopPropogation = true;\n preventDefault = true;\n }\n }\n if (stopPropogation) {\n event.stopPropagation();\n }\n if (preventDefault) {\n event.preventDefault();\n }\n if (elementScope.mintime && elementScope.maxtime && !this.isValidDate(elementScope.bsTimeValue)) {\n if (event.key === 'ArrowDown') {\n elementScope.bsTimeValue = elementScope.maxTime;\n } else if (event.key === 'ArrowUp') {\n elementScope.bsTimeValue = elementScope.minTime;\n }\n }\n if (event.key === 'Tab') {\n this.invalidDateTimeFormat = false;\n this.invokeOnChange(this.datavalue, undefined, false);\n const pattern = this.datepattern || this.timepattern;\n if (getFormattedDate(elementScope.datePipe, elementScope.bsTimeValue, pattern, this.timeZone, null, null, this) === elementScope.displayValue) {\n $(this.nativeElement).find('.display-input').val(elementScope.displayValue);\n }\n }\n if (event.key === 'ArrowDown' || event.key === 'ArrowUp') {\n this.timeFormatValidation();\n }\n } else if ($target.hasClass('btn-default')) {\n if (event.key === 'Tab' || event.key === 'Escape') {\n elementScope.setIsTimeOpen(false);\n this.focus();\n }\n }\n });\n $el.find('a').on('click', evt => {\n const elementScope = this.elementScope;\n const $target = $(evt.target);\n if (elementScope.mintime && elementScope.maxtime && !this.isValidDate(elementScope.bsTimeValue)) {\n if ($target.find('span').hasClass('bs-chevron-down')) {\n elementScope.bsTimeValue = elementScope.maxTime;\n } else if ($target.find('span').hasClass('bs-chevron-up')) {\n elementScope.bsTimeValue = elementScope.minTime;\n }\n }\n this.timeFormatValidation();\n });\n }\n\n public updateFormat(pattern) {\n if (pattern === 'datepattern') {\n this._dateOptions.dateInputFormat = this.datepattern;\n this.showseconds = includes(this.datepattern, 's');\n this.ismeridian = includes(this.datepattern, 'h');\n } else if (pattern === 'timepattern') {\n this.showseconds = includes(this.timepattern, 's');\n this.ismeridian = includes(this.timepattern, 'h');\n }\n }\n\n getMobileInput() {\n return this.nativeElement.querySelector('.mobile-input') as HTMLElement;\n }\n\n onDateTimeInputBlur() {\n // removing the opacity on blur of the mobile widget\n const displayInputElem = this.getMobileInput();\n if (displayInputElem) {\n const children = this.nativeElement.children;\n for (let i = 0; i < children.length; i++) {\n children[i].classList.remove('add-opacity');\n }\n displayInputElem.classList.remove('remove-opacity');\n }\n }\n\n onDateTimeInputFocus(skipFocus: boolean = false): void {\n if (!this.loadNativeDateInput) {\n return;\n }\n const displayInputElem = this.getMobileInput();\n // toggling the classes to show and hide the native widget using opacity\n if (skipFocus) {\n const children = this.nativeElement.children;\n for (let i = 0; i < children.length; i++) {\n children[i].classList.add('add-opacity');\n }\n displayInputElem.classList.add('remove-opacity');\n return;\n }\n\n if (displayInputElem && this._triggeredByUser) {\n displayInputElem.focus();\n displayInputElem.click();\n }\n }\n\n /**\n * This method sets the mouse events to Datepicker popup. These events are required when we navigate date picker through mouse.\n */\n private addDatepickerMouseEvents() {\n $(\".bs-datepicker-head .previous span\").attr(\"aria-hidden\", 'true');\n $(\".bs-datepicker-head .next span\").attr(\"aria-hidden\", 'true');\n\n $(\".bs-datepicker-head\").on(\"click\", \".previous\", (event) => {\n this.next = this.getMonth(this.activeDate, 0);\n this.prev = this.getMonth(this.activeDate, -2);\n this.clicked = true;\n // check for original mouse click\n if (event.originalEvent) {\n this.setFocusForDate(-1);\n }\n var prevMon = this.getMonth(this.activeDate, -1);\n const current = new Date();\n if(prevMon.date.getMonth()===current.getMonth() && prevMon.date.getFullYear()===current.getFullYear()) {\n this.hightlightToday(new Date());\n }\n setTimeout(() => {\n $(\".bs-datepicker-head .previous span\").attr(\"aria-hidden\", 'true');\n $(\".bs-datepicker-head .next span\").attr(\"aria-hidden\", 'true');\n $(\".bs-datepicker-head .next\").attr('aria-label', `Next Month, ${this.next.fullMonth} ${this.next.date.getFullYear()}`);\n $(\".bs-datepicker-head .previous\").attr('aria-label', `Previous Month, ${this.prev.fullMonth} ${this.prev.date.getFullYear()}`);\n $('.bs-datepicker-head .current').first().append(`<h2 aria-hidden=\"false\" aria-atomic=\"true\" aria-live='polite' class=\"sr-only\">Changed to Previous Month, ${prevMon.fullMonth} and year ${prevMon.date.getFullYear()}</h2>`);\n $('.bs-datepicker-head').on('focus', '.current', function () {\n $('.bs-datepicker-head .current').find('h2').remove();\n })\n $(`.bs-datepicker-head .previous`).focus();\n\n });\n\n });\n $(\".bs-datepicker-head\").on(\"click\", \".next\", (event) => {\n this.next = this.getMonth(this.activeDate, 2);\n this.prev = this.getMonth(this.activeDate, 0);\n this.clicked = true;\n // check for original mouse click\n if (event.originalEvent) {\n this.setFocusForDate(1);\n }\n var nextMon = this.getMonth(this.activeDate, 1);\n const current = new Date();\n if (nextMon.date.getMonth() === current.getMonth() && nextMon.date.getFullYear() === current.getFullYear()) {\n this.hightlightToday(current);\n }\n setTimeout(() => {\n $(\".bs-datepicker-head .previous span\").attr(\"aria-hidden\", 'true');\n $(\".bs-datepicker-head .next span\").attr(\"aria-hidden\", 'true');\n $(\".bs-datepicker-head .next\").attr('aria-label', `Next Month, ${this.next.fullMonth} ${this.next.date.getFullYear()}`);\n $(\".bs-datepicker-head .previous\").attr('aria-label', `Previous Month, ${this.prev.fullMonth} ${this.prev.date.getFullYear()}`);\n $('.bs-datepicker-head .current').first().append(`<h2 aria-hidden=\"false\" aria-atomic=\"true\" aria-live='polite' class=\"sr-only\">Changed to Next Month, ${nextMon.fullMonth} and year ${nextMon.date.getFullYear()}</h2>`);\n $('.bs-datepicker-head').on('focus', '.current', function () {\n $('.bs-datepicker-head .current').find('h2').remove();\n })\n $(`.bs-datepicker-head .next`).focus();\n });\n\n });\n $(\".bs-datepicker-head\").on(\"click\", \".current\", (event) => {\n // check for original mouse click\n if (event.originalEvent) {\n this.setFocusForCurrentMonthOryear();\n }\n });\n $('.bs-datepicker-body').on(\"click\", \".bs-datepicker-action-buttons\", (event) => {\n event.stopPropagation();\n // check for original mouse click\n if (event.originalEvent) {\n this.setFocusForMonthOrDay();\n }\n });\n // if(!this.clicked) {\n $(\".bs-datepicker-head .next\").attr('aria-label', `Next Month, ${this.next.fullMonth} ${this.next.date.getFullYear()}`);\n $(\".bs-datepicker-head .previous\").attr('aria-label', `Previous Month, ${this.prev.fullMonth} ${this.prev.date.getFullYear()}`);\n // }\n }\n\n blurDateInput(isPickerOpen) {\n const displayInputElem = this.nativeElement.querySelector('.display-input') as HTMLElement;\n if (isPickerOpen) {\n setTimeout(() => displayInputElem.blur());\n }\n }\n\n getPeriod(): 'AM' | 'PM' {\n if (!this.elementScope.bsTimeValue) return 'AM';\n const hours =this.elementScope.bsTimeValue.getHours();\n return hours >= 12 ? 'PM' : 'AM';\n }\n\n setPeriod(period: 'AM' | 'PM'): void {\n const current = this.elementScope.bsTimeValue;\n if (!current || !(current instanceof Date)) return;\n const updatedDate = new Date(current);\n const hours = updatedDate.getHours();\n if (period === 'AM' && hours >= 12) {\n updatedDate.setHours(hours - 12);\n } else if (period === 'PM' && hours < 12) {\n updatedDate.setHours(hours + 12);\n }\n if(this.elementScope.widgetType==='wm-time'){\n const isInvalid= this.elementScope.minTime && this.elementScope.maxTime && (updatedDate < this.elementScope.minTime || updatedDate > this.elementScope.maxTime);\n if(!isInvalid)\n this.elementScope.onTimeChange(updatedDate);\n }\n else{\n this.elementScope.onModelUpdate(updatedDate);\n }\n }\n\n onPropertyChange(key, nv, ov?) {\n\n if (key === 'tabindex') {\n return;\n }\n if(key === 'showampmbuttons') {\n this.showampmbuttons=nv;\n }\n if (key === 'required') {\n this._onChange(this.datavalue);\n return;\n }\n if (key === 'datepattern') {\n this.updateFormat(key);\n } else if(key === 'viewmode') {\n this._dateOptions.minMode = this.viewmode;\n } else if (key === 'showweeks') {\n this._dateOptions.showWeekNumbers = nv;\n } else if (key === 'mindate') {\n this._dateOptions.minDate = (nv === CURRENT_DATE) ? this.mindate = new Date() : getDateObj(nv);\n this.minDateMaxDateValidationOnInput(this.datavalue);\n } else if (key === 'maxdate') {\n this._dateOptions.maxDate = (nv === CURRENT_DATE) ? this.maxdate = new Date() : getDateObj(nv);\n this.minDateMaxDateValidationOnInput(this.datavalue);\n } else if (key === 'excludedates' || key === 'excludedays') {\n if (this.excludedays) {\n this.excludedDaysToDisable = split(this.excludedays, ',').map((day) => {\n return +day;\n });\n }\n if (this.excludedates) {\n this.excludedDatesToDisable = this.excludedates;\n if (isString(this.excludedates)) {\n // @ts-ignore\n this.excludedDatesToDisable = split(this.excludedates, ',');\n }\n this.excludedDatesToDisable = this.excludedDatesToDisable.map(d => getDateObj(d));\n }\n this.minDateMaxDateValidationOnInput(this.datavalue);\n } else if (key === 'selectfromothermonth') {\n this._dateOptions.selectFromOtherMonth = nv;\n\n } else if (key === 'todaybutton') {\n this._dateOptions.showTodayButton = nv;\n } else if (key === 'clearbutton') {\n this._dateOptions.showClearButton = nv;\n } else if (key === 'todaybuttonlabel') {\n this._dateOptions.todayButtonLabel = this.i18nService.getLocalizedMessage(nv) || nv;\n } else if (key === 'clearbuttonlabel') {\n this._dateOptions.clearButtonLabel = this.i18nService.getLocalizedMessage(nv) || nv;\n } else if (key === 'showcustompicker') {\n this.loadNativeDateInput = isMobile() && !this.showcustompicker;\n } else if (key === 'adaptiveposition') {\n this._dateOptions.adaptivePosition = nv;\n } else {\n super.onPropertyChange(key, nv, ov);\n }\n\n }\n\n ngAfterViewInit() {\n super.ngAfterViewInit();\n this.containerTarget = getContainerTargetClass(this.nativeElement);\n this.isReadOnly = this.dataentrymode != 'undefined' && !this.isDataEntryModeEnabledOnInput(this.dataentrymode);\n\n // this mobileinput width varies in ios hence setting width here.\n const mobileInput = this.getMobileInput();\n if (mobileInput) {\n setTimeout(() => {\n mobileInput.style.width = '100%';\n mobileInput.style.height = '100%';\n });\n }\n }\n\n ngOnDestroy() {\n if (this.dateOnShowSubscription) {\n this.dateOnShowSubscription.unsubscribe();\n }\n if(this.cancelLocaleChangeSubscription) {\n this.cancelLocaleChangeSubscription();\n }\n\n super.ngOnDestroy();\n }\n\n public ngOnDetach() {\n this.datetimepickerComponent?.hideModal();\n }\n\n setTimezone(locale) {\n this.i18nService.setTimezone(locale, this);\n }\n ngOnInit() {\n super.ngOnInit();\n if (this.dateNotInRange||this.timeNotInRange||this.invalidDateTimeFormat) {\n const formattedDisplay = getFormattedDate(this.datePipe, this.datavalue, this.datepattern||this.timepattern, this.timeZone, null, null, this);\n const value=this.datavalue;\n this.datavalue = undefined;\n setTimeout(() => {\n $(this.nativeElement).find('.display-input').val(this.safeReplaceMeridians(formattedDisplay));\n this.minDateMaxDateValidationOnInput(formattedDisplay);\n this.invokeOnChange(value, {}, false);\n });\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["_isNaN"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../../../../projects/components/widgets/input/epoch/base-date-time/src/base-date-time.component.ts","../../../../../../projects/components/widgets/input/epoch/base-date-time/src/index.ts"],"sourcesContent":["import {AfterViewInit, Directive, Inject, Injector, OnDestroy, Optional, ViewChild} from '@angular/core';\nimport {AbstractControl, Validator} from '@angular/forms';\nimport {Subscription} from 'rxjs';\nimport {FormStyle, getLocaleDayPeriods, TranslationWidth} from '@angular/common';\nimport {BsDropdownDirective} from 'ngx-bootstrap/dropdown';\nimport {TimepickerComponent, TimepickerConfig} from 'ngx-bootstrap/timepicker';\nimport {AbstractI18nService, getDateObj, getFormattedDate, getNativeDateObject, isMobile, setAttr} from '@wm/core';\n\nimport {getContainerTargetClass, ToDatePipe} from '@wm/components/base';\nimport {BaseFormCustomComponent} from '@wm/components/input/base-form-custom';\nimport {BsDatepickerConfig, BsDatepickerDirective} from 'ngx-bootstrap/datepicker';\nimport {DateTimePickerComponent} from '@wm/components/input/epoch/date-time-picker';\nimport {filter, forEach, get, includes, isNaN as _isNaN, isString, isUndefined, parseInt, split} from \"lodash-es\";\nimport * as momentLib from 'moment';\n\ndeclare const $;\nconst moment = momentLib.default || window['moment'];\n\nconst CURRENT_DATE = 'CURRENT_DATE';\nconst months = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];\nconst DATEPICKER_DROPDOWN_OPTIONS = {\n BUTTON: 'button',\n DEFAULT: 'default'\n};\nconst DATAENTRYMODE_DROPDOWN_OPTIONS = {\n PICKER: 'picker',\n DEFAULT: 'default'\n};\n\n// Providing meridians to the timepicker baesd on selected locale\nexport function getTimepickerConfig(i18nService): TimepickerConfig {\n return Object.assign(new TimepickerConfig(), {\n meridians: [i18nService.getLocalizedMessage(\"LABEL_AM\")||\"AM\",i18nService.getLocalizedMessage(\"LABEL_PM\")||\"PM\"]\n });\n}\n\n@Directive()\nexport abstract class BaseDateTimeComponent extends BaseFormCustomComponent implements AfterViewInit, OnDestroy, Validator {\n public required: boolean;\n public disabled: boolean;\n public tabindex: any;\n public name: string;\n public autofocus: boolean;\n public readonly: boolean;\n public placeholder: string;\n public shortcutkey: string;\n public _triggeredByUser: boolean;\n\n public excludedays: string;\n public excludedDaysToDisable: Array<number>;\n public excludedDatesToDisable: Array<Date>;\n public excludedates;\n public outputformat;\n public mindate;\n public maxdate;\n public dataentrymode;\n protected activeDate;\n private elementScope;\n public viewmode;\n public datepattern;\n public timepattern;\n protected showseconds: boolean;\n protected ismeridian: boolean;\n protected meridians: any;\n protected datePipe;\n protected i18nService;\n public isReadOnly = false;\n protected selectedLocale: string;\n public selectfromothermonth: boolean;\n public todaybutton: boolean;\n public clearbutton: boolean;\n public removeKeyupListener;\n public loadNativeDateInput;\n public showcustompicker;\n public next;\n public prev;\n public clicked = false;\n public showampmbuttons=true;\n protected dateNotInRange: boolean;\n protected timeNotInRange: boolean;\n protected invalidDateTimeFormat: boolean;\n\n public am:string;\n public pm: string;\n private dateOnShowSubscription: Subscription;\n private cancelLocaleChangeSubscription;\n public get timeZone() { return this.inj.get(AbstractI18nService).getTimezone(this); }\n\n formatsByLocale = {'timezone': ''};\n\n /**\n * Safely replace internal meridians with localized display meridians only for string values\n */\n protected safeReplaceMeridians(value: any) {\n if (typeof value === 'string') {\n return value.replace(this.meridians[0], this.am).replace(this.meridians[1], this.pm);\n }\n return value;\n }\n\n /**\n * This is an internal property used to map the containerClass, showWeekNumbers etc., to the bsDatepicker\n */\n public _dateOptions: BsDatepickerConfig = new BsDatepickerConfig();\n protected bsDatePickerDirective: BsDatepickerDirective;\n\n @ViewChild(BsDropdownDirective) protected bsDropdown;\n @ViewChild(TimepickerComponent) protected bsTimePicker;\n @ViewChild(DateTimePickerComponent) datetimepickerComponent;\n private validateType: string;\n containerTarget: string;\n\n constructor(inj: Injector, WIDGET_CONFIG, @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any) {\n super(inj, WIDGET_CONFIG, explicitContext);\n this.i18nService = this.inj.get(AbstractI18nService);\n this.invokeEventCallback('beforeload');\n\n this.datePipe = this.inj.get(ToDatePipe);\n this.selectedLocale = this.i18nService.getSelectedLocale();\n this._dateOptions.todayPosition = 'left';\n this._dateOptions.clearPosition = 'right';\n this.meridians = getLocaleDayPeriods(this.selectedLocale, FormStyle.Format, TranslationWidth.Abbreviated);\n this.loadNativeDateInput = isMobile() && !this.showcustompicker;\n this.am=this.i18nService.getLocalizedMessage(\"LABEL_AM\")||\"AM\";\n this.pm=this.i18nService.getLocalizedMessage(\"LABEL_PM\")||\"PM\";\n\n this.cancelLocaleChangeSubscription = this.getAppInstance().subscribe(\"locale-changed\", (locale) => {\n this.datePipe.datePipe.locale = locale.angular;\n this._dateOptions.todayButtonLabel = this.i18nService.getLocalizedMessage('LABEL_TODAY_DATE');\n this._dateOptions.clearButtonLabel = this.i18nService.getLocalizedMessage('LABEL_CLEAR_DATE');\n });\n }\n\n\n /**\n * returns true if the input value is default (i.e open date picker on input click)\n * @param1 dropdownvalue, user selected value (by default datepicker opens on input click)\n * **/\n protected isDropDownDisplayEnabledOnInput(dropdownvalue) {\n return dropdownvalue === DATEPICKER_DROPDOWN_OPTIONS.DEFAULT;\n }\n\n /**\n * returns true if the input value is default (i.e Data entry can be done either by selecting from the Date/DateTime/Time Picker or by entering manually using the keyboard. )\n * @param1 dropdownvalue, user selected value\n * **/\n protected isDataEntryModeEnabledOnInput(dropdownvalue) {\n return dropdownvalue === DATAENTRYMODE_DROPDOWN_OPTIONS.DEFAULT;\n }\n /**\n * This method is used to show validation message depending on the isNativePicker flag.\n */\n private showValidation($event, displayValue, isNativePicker, msg) {\n if (isNativePicker) {\n console.warn('min max date validation failed ', msg);\n return $($event.target).val(displayValue);\n }\n }\n\n resetDisplayInput() {\n $(this.nativeElement).find('.display-input').val('');\n }\n\n public validate(c: AbstractControl) {\n if (this.invalidDateTimeFormat) {\n return {\n invalidDateTimeFormat: {\n valid: false\n }\n };\n }\n if (!isUndefined(this.dateNotInRange) && this.dateNotInRange) {\n return {\n dateNotInRange: {\n valid: false\n },\n };\n }\n if (!isUndefined(this.timeNotInRange) && this.timeNotInRange) {\n return {\n timeNotInRange: {\n valid: false\n },\n };\n }\n /* WMS-18269 | Extending the existing validation for 'required' */\n if (this['show'] && this['required']) {\n return !!c.value ? null : { required: true };\n }\n this.validateType = '';\n return null;\n }\n\n /**\n * This method is used to validate date pattern and time pattern\n * If user selects one pattern in design time and if he tries to enter the date in another pattern then the device is throwing an error\n */\n protected formatValidation(newVal, inputVal, isNativePicker?: boolean) {\n const pattern = this.datepattern || this.timepattern;\n const timeZone = this.timeZone;\n const formattedDate = getFormattedDate(this.datePipe, newVal, pattern, timeZone, null, null, this);\n inputVal = inputVal.trim();\n if (inputVal) {\n if (pattern === 'timestamp') {\n if (!_isNaN(inputVal) && parseInt(inputVal) !== formattedDate) {\n this.invalidDateTimeFormat = true;\n this.validateType = 'incorrectformat';\n this.invokeOnChange(this.datavalue, undefined, false);\n return false;\n }\n } else {\n if (isNativePicker) {\n // format the date value only when inputVal is obtained from $event.target.value, as the format doesnt match.\n inputVal = getFormattedDate(this.datePipe, inputVal, pattern, timeZone);\n }\n if (inputVal?.replace(this.am, this.meridians[0])?.replace(this.pm, this.meridians[1]) !== formattedDate) {\n this.invalidDateTimeFormat = true;\n this.validateType = 'incorrectformat';\n this.invokeOnChange(this.datavalue, undefined, false);\n return false;\n }\n }\n\n }\n return true;\n }\n\n /**\n * This method is used to validate min date, max date, exclude dates and exclude days\n * In mobile if invalid dates are entered, device is showing an alert.\n * In web if invalid dates are entered, device is showing validation message.\n */\n protected minDateMaxDateValidationOnInput(newVal, $event?: Event, displayValue?: string, isNativePicker?: boolean) {\n if (newVal) {\n const dateTimeVal = newVal;\n newVal = moment(newVal).startOf('day').toDate();\n const minDate = moment(getDateObj(this.mindate)).startOf('day').toDate();\n const maxDate = moment(getDateObj(this.maxdate)).startOf('day').toDate();\n if (this.mindate && newVal < minDate) {\n const msg = `${this.appLocale.LABEL_MINDATE_VALIDATION_MESSAGE} ${this.mindate}.`;\n this.invokeOnChange(this.datavalue, undefined, false);\n if (isNativePicker && getFormattedDate(this.datePipe, minDate, this.datepattern, this.timeZone, null, null, this) === displayValue) {\n return $($event.target).val(displayValue);\n }\n this.dateNotInRange = true;\n this.validateType = 'mindate';\n return this.showValidation($event, displayValue, isNativePicker, msg);\n }\n if (this.maxdate && newVal > maxDate) {\n const msg = `${this.appLocale.LABEL_MAXDATE_VALIDATION_MESSAGE} ${this.maxdate}.`;\n this.invokeOnChange(this.datavalue, undefined, false);\n if (isNativePicker && getFormattedDate(this.datePipe, maxDate, this.datepattern, this.timeZone, null, null, this) === displayValue) {\n return $($event.target).val(displayValue);\n }\n this.dateNotInRange = true;\n this.validateType = 'maxdate';\n return this.showValidation($event, displayValue, isNativePicker, msg);\n }\n if (this.excludedates) {\n let excludeDatesArray;\n if (isString(this.excludedates)) {\n excludeDatesArray = split(this.excludedates, ',');\n } else {\n excludeDatesArray = this.excludedates;\n }\n excludeDatesArray = excludeDatesArray.map(d => getFormattedDate(this.datePipe, d, this.datepattern, this.timeZone, null, null, this));\n if (excludeDatesArray.indexOf(getFormattedDate(this.datePipe, dateTimeVal, this.datepattern, this.timeZone, null, null, this)) > -1) {\n this.dateNotInRange = true;\n this.validateType = 'excludedates';\n this.invokeOnChange(this.datavalue, undefined, false);\n return;\n }\n }\n if (this.excludedays) {\n const excludeDaysArray = split(this.excludedays, ',');\n const day = get(dateTimeVal, 'getDay') ? dateTimeVal.getDay() : dateTimeVal;\n if (excludeDaysArray.indexOf(day.toString()) > -1) {\n this.dateNotInRange = true;\n this.validateType = 'excludedays';\n this.invokeOnChange(this.datavalue, undefined, false);\n return;\n }\n }\n }\n\n if (!isNativePicker) {\n this.dateNotInRange = false;\n this.invokeOnChange(this.datavalue, undefined, false);\n }\n }\n\n /**\n * This method is used to highlight the current date\n */\n // protected hightlightToday(newDate) {\n // if(this.datavalue) return;\n // const activeMonth = $(`.bs-datepicker-head .current span`).first().text().trim();\n // const activeYear = $(\".bs-datepicker-head .current\").eq(1).text();\n // const month = new Date(newDate).toLocaleString('default', { month: 'long' });\n // const year = newDate.getFullYear().toString();\n // if(activeMonth == month && activeYear == new Date().getFullYear() && newDate.getDate() === new Date().getDate() && newDate.getMonth() === new Date().getMonth() && newDate.getFullYear() === new Date().getFullYear()) {\n // const toDay = new Date().getDate().toString();\n // filter($(`span:contains(${toDay})`).not('.is-other-month'), (obj) => {\n // if ($(obj).text() === toDay) {\n // $(obj).addClass('current-date text-info');\n // $(obj).off('mouseenter.dateHover').on('mouseenter.dateHover', () => {\n // setTimeout(()=>{ this.hightlightToday(new Date())})\n // });\n // }\n // });\n // }\n // }\n\n /**\n * This method is used to find the new date is from another year or not\n * @param newDate - newly selected date value\n */\n private isOtheryear(newDate) {\n return (newDate.getMonth() === 0 && this.activeDate.getMonth() === 11) || (newDate.getMonth() === 11 && this.activeDate.getMonth() === 0);\n }\n\n public showDatePickerModal(bsDataValue) {\n this.activeDate = bsDataValue || new Date();\n this.setNextData(this.activeDate);\n this.datetimepickerComponent.show();\n setTimeout(() => {\n this.addDatepickerMouseEvents();\n this.setActiveDateFocus(this.activeDate, true);\n }, 500);\n return ;\n }\n\n /**\n * This method is used to load other month days or other month or other year\n * @param btnClass - class(previous/next) of the button which we have to click\n * @param timePeriod - String value decides to load other month days or other month or other year\n */\n private goToOtherMonthOryear(btnClass, timePeriod) {\n const $node = $(`.bs-datepicker-head .${btnClass}`);\n if ($node.attr('disabled')) {\n return;\n }\n $node.trigger('click');\n if (timePeriod === 'days') {\n this.loadDays();\n } else if (timePeriod === 'month') {\n this.loadMonths();\n } else if (timePeriod === 'year') {\n this.loadYears();\n }\n }\n\n /**\n * This method is used to set focus for active day\n * @param newDate - newly selected date value\n * @param isMouseEvent - boolean value represents the event is mouse event/ keyboard event\n * @param fromKeyboardEvents\n */\n private setActiveDateFocus(newDate, isMouseEvent?: boolean, fromKeyboardEvents?: boolean) {\n this.setNextData(newDate);\n this.clicked = false;\n const activeMonth = this.activeDate.getMonth();\n // check for keyboard event\n if (!isMouseEvent) {\n if (newDate.getMonth() < activeMonth) {\n this.isOtheryear(newDate) ? this.goToOtherMonthOryear('next', 'days') : this.goToOtherMonthOryear('previous', 'days');\n } else if (newDate.getMonth() > activeMonth) {\n this.isOtheryear(newDate) ? this.goToOtherMonthOryear('previous', 'days') : this.goToOtherMonthOryear('next', 'days');\n }\n }\n setTimeout(() => {\n const newDay = newDate.getDate().toString();\n filter($(`span:contains(${newDay})`).not('.is-other-month'), (obj) => {\n const activeMonth = $(`.bs-datepicker-head .current`).first().text();\n const activeYear = $(\".bs-datepicker-head .current\").eq(1).text();\n const monthName = new Date().toLocaleString('default', { month: 'long' });\n if ($(obj).text() === newDay) {\n if ($(obj).hasClass('selected')) {\n $(obj).parent().attr('aria-selected', 'true');\n }\n $(obj).attr('aria-label', moment(newDate).format('dddd, MMMM Do YYYY'));\n $('[bsdatepickerdaydecorator]').not('.is-other-month').attr('tabindex', '-1');\n $(obj).attr('tabindex', '0');\n $(obj).focus();\n this.activeDate = newDate;\n }\n });\n // if (newDate.getMonth() === new Date().getMonth() && newDate.getFullYear() === new Date().getFullYear()) {\n // this.hightlightToday(new Date());\n // }\n });\n\n }\n\n private getMonth(date, inc) {\n const currentMonth = new Date(date);\n\n let month = currentMonth.getMonth();\n const year = currentMonth.getFullYear();\n\n month += inc;\n\n const newDate = new Date(year, month);\n\n const fullMonth = newDate.toLocaleString('en-US', { month: 'long' });\n\n return {\n date: newDate,\n fullMonth: fullMonth\n };\n }\n\n /**\n * This method sets focus for months/days depending on the loaded datepicker table\n */\n private setFocusForMonthOrDay() {\n const activeMonthOrYear = $(`.bs-datepicker-head .current`).first().text();\n const datePickerBody = $('.bs-datepicker-body');\n if (datePickerBody.find('table.months').length > 0) {\n if (parseInt(activeMonthOrYear) !== this.activeDate.getFullYear()) {\n this.loadMonths();\n }\n const newDate = new Date(parseInt(activeMonthOrYear), this.activeDate.getMonth(), this.activeDate.getDate());\n this.setActiveMonthFocus(newDate, true);\n } else if (datePickerBody.find('table.days').length > 0) {\n const newMonth = months.indexOf(activeMonthOrYear);\n if (newMonth !== this.activeDate.getMonth()) {\n this.loadDays();\n }\n const newDate = new Date(this.activeDate.getFullYear(), newMonth, 1);\n this.setActiveDateFocus(newDate, true);\n }\n }\n\n /**\n * This method sets focus for months/years depending on the loaded datepicker table\n */\n private setFocusForCurrentMonthOryear() {\n const datePickerBody = $('.bs-datepicker-body');\n if (datePickerBody.find('table.months').length > 0) {\n this.loadMonths();\n this.setActiveMonthFocus(this.activeDate, true);\n } else if (datePickerBody.find('table.years').length > 0) {\n this.loadYears();\n this.setActiveYearFocus(this.activeDate, true);\n }\n }\n\n /**\n * This method sets focus for months/years/days depending on the loaded datepicker table\n */\n private setFocusForDate(count) {\n const datePickerBody = $('.bs-datepicker-body');\n if (datePickerBody.find('table.months').length > 0) {\n this.loadMonths();\n const newDate = new Date(this.activeDate.getFullYear() + count, 0, this.activeDate.getDate());\n this.setActiveMonthFocus(newDate, true);\n } else if (datePickerBody.find('table.years').length > 0) {\n this.loadYears();\n const startYear = datePickerBody.find('table.years span').first().text();\n const newDate = new Date(parseInt(startYear), this.activeDate.getMonth(), this.activeDate.getDate());\n this.setActiveYearFocus(newDate, true);\n } else if (datePickerBody.find('table.days').length > 0) {\n this.loadDays();\n const [monthText, yearText] = $('.bs-datepicker-head .current').map((_, el) => $(el).text().trim()).get();\n const monthIndex = new Date(`${monthText} 1, ${yearText}`).getMonth();\n const year = parseInt(yearText, 10);\n const inMonth = (d: Date) => d.getFullYear() === year && d.getMonth() === monthIndex;\n let newDate = this.mindate && inMonth(new Date(this.mindate)) ? new Date(this.mindate) : this.maxdate && inMonth(new Date(this.maxdate)) ? new Date(this.maxdate) : new Date(year, monthIndex, 1);\n this.setActiveDateFocus(newDate, true);\n }\n }\n\n /**\n * This method is used to add keyboard events while opening the date picker\n * @param scope - scope of the date/datetime widget\n * @param isDateTime - boolean value represents the loaded widget is date or datetime\n */\n protected addDatepickerKeyboardEvents(scope, isDateTime) {\n this.elementScope = scope;\n const dateContainer = document.querySelector(`.${scope.dateContainerCls}`) as HTMLElement;\n setAttr(dateContainer, 'tabindex', '0');\n dateContainer.onkeydown = (event) => {\n // Check for Shift+Tab key or Tab key or escape\n if (event.key === 'Escape') {\n this.elementScope.hideDatepickerDropdown();\n const displayInputElem = this.elementScope.nativeElement.querySelector('.display-input') as HTMLElement;\n setTimeout(() => displayInputElem.focus());\n }\n };\n this.loadDays();\n this.setActiveDateFocus(this.activeDate, undefined, true);\n }\n private setNextData(nextDate) {\n this.next = this.getMonth(nextDate, 1);\n this.prev = this.getMonth(nextDate, -1);\n }\n /**\n * This method is used to add tabindex, keybord and mouse events for days\n */\n private loadDays() {\n setTimeout(() => {\n $('[bsdatepickerdaydecorator]').not('.is-other-month').attr('tabindex', '0');\n // if (this.clicked === false) {\n // this.next = this.getMonth(this.activeDate, 1);\n // this.prev = this.getMonth(this.activeDate, -1);\n // }\n this.addKeyBoardEventsForDays();\n this.addDatepickerMouseEvents();\n });\n }\n\n /**\n * This method sets keyboard events for days\n */\n private addKeyBoardEventsForDays() {\n const datePickerBody = $('.bs-datepicker-body');\n datePickerBody.keydown((event) => {\n let newdate;\n if (event.key === 'ArrowDown') {\n event.preventDefault();\n newdate = moment(this.activeDate).add(+7, 'days').toDate();\n this.setActiveDateFocus(newdate);\n } else if (event.ctrlKey && event.key === 'ArrowUp') {\n // clicking on table header month name to load list of months\n $('.bs-datepicker-head .current').first().click();\n this.loadMonths();\n this.setActiveMonthFocus(this.activeDate);\n } else if (event.key === 'ArrowUp') {\n event.preventDefault();\n newdate = moment(this.activeDate).add(-7, 'days').toDate();\n this.setActiveDateFocus(newdate);\n } else if (event.key === 'ArrowLeft') {\n newdate = moment(this.activeDate).add(-1, 'days').toDate();\n this.setActiveDateFocus(newdate);\n } else if (event.key === 'ArrowRight') {\n newdate = moment(this.activeDate).add(+1, 'days').toDate();\n this.setActiveDateFocus(newdate);\n } else if (event.key === 'PageUp') {\n event.preventDefault();\n newdate = moment(this.activeDate).add(-1, 'month').toDate();\n this.setActiveDateFocus(newdate);\n } else if (event.key === 'PageDown') {\n event.preventDefault();\n newdate = moment(this.activeDate).add(+1, 'month').toDate();\n this.setActiveDateFocus(newdate);\n } else if (event.key === 'Enter') {\n if ($(document.activeElement).hasClass('disabled')) {\n return;\n }\n $(document.activeElement).click();\n this.elementScope.hideDatepickerDropdown();\n const displayInputElem = this.elementScope.nativeElement.querySelector('.display-input') as HTMLElement;\n setTimeout(() => displayInputElem.focus());\n }\n });\n this.focusBlurDatePickerHeadButtons();\n }\n\n private focusBlurDatePickerHeadButtons() {\n const datePickerHeadButton = $('.bs-datepicker-head button');\n datePickerHeadButton.on('focus', function() { $(this).css('background-color', '#9AA0A3'); });\n datePickerHeadButton.on('blur', function() { $(this).css('background-color', ''); });\n }\n\n /**\n * This method is used to add tabindex, keybord and mouse events for months\n */\n private loadMonths() {\n setTimeout(() => {\n this.addKeyBoardEventsForMonths();\n this.addDatepickerMouseEvents();\n });\n }\n\n /**\n * This method sets keyboard events for months\n */\n private addKeyBoardEventsForMonths() {\n $('.bs-datepicker-body').keydown((event) => {\n let newdate;\n if ((event.ctrlKey && event.key === 'ArrowDown') || event.key === 'Enter') {\n if ($(document.activeElement).parent().hasClass('disabled')) {\n return;\n }\n $(document.activeElement).click();\n this.loadDays();\n const newDate = new Date(this.activeDate.getFullYear(), this.activeDate.getMonth(), 1);\n this.setActiveDateFocus(newDate);\n } else if (event.ctrlKey && event.key === 'ArrowUp') {\n // clicking on table header year to load list of years\n $('.bs-datepicker-head .current').first().click();\n this.loadYears();\n this.setActiveYearFocus(this.activeDate);\n } else if (event.key === 'ArrowDown') {\n event.preventDefault();\n newdate = moment(this.activeDate).add(+3, 'month').toDate();\n this.setActiveMonthFocus(newdate);\n } else if (event.key === 'ArrowUp') {\n event.preventDefault();\n newdate = moment(this.activeDate).add(-3, 'month').toDate();\n this.setActiveMonthFocus(newdate);\n } else if (event.key === 'ArrowLeft') {\n newdate = moment(this.activeDate).add(-1, 'month').toDate();\n this.setActiveMonthFocus(newdate);\n } else if (event.key === 'ArrowRight') {\n newdate = moment(this.activeDate).add(+1, 'month').toDate();\n this.setActiveMonthFocus(newdate);\n }\n });\n this.focusBlurDatePickerHeadButtons();\n }\n\n /**\n * This method is used to add tabindex, keybord and mouse events for years\n */\n private loadYears() {\n setTimeout(() => {\n this.addKeyBoardEventsForYears();\n this.addDatepickerMouseEvents();\n });\n }\n\n /**\n * This method is used to set focus for active month\n */\n private setActiveMonthFocus(newDate, isMoouseEvent?: boolean) {\n this.setNextData(newDate);\n const newMonth = months[newDate.getMonth()];\n // check for keyboard event\n if (!isMoouseEvent) {\n if (newDate.getFullYear() < this.activeDate.getFullYear()) {\n this.goToOtherMonthOryear('previous', 'month');\n } else if (newDate.getFullYear() > this.activeDate.getFullYear()) {\n this.goToOtherMonthOryear('next', 'month');\n }\n }\n setTimeout(() => {\n $(`.bs-datepicker-body table.months span`).attr('tabindex', '-1');\n $(`.bs-datepicker-body table.months span:contains(${newMonth})`).attr('tabindex', '0');\n $(`.bs-datepicker-body table.months span:contains(${newMonth})`).focus();\n this.activeDate = newDate;\n });\n }\n\n /**\n * This method sets keyboard events for years\n */\n private addKeyBoardEventsForYears() {\n $('.bs-datepicker-body').keydown((event) => {\n let newdate;\n if ((event.ctrlKey && event.key === 'ArrowDown') || event.key === 'Enter') {\n if ($(document.activeElement).parent().hasClass('disabled')) {\n return;\n }\n $(document.activeElement).click();\n this.loadMonths();\n this.setActiveMonthFocus(this.activeDate);\n } else if (event.key === 'ArrowDown') {\n event.preventDefault();\n newdate = moment(this.activeDate).add(+4, 'year').toDate();\n this.setActiveYearFocus(newdate);\n } else if (event.key === 'ArrowUp') {\n event.preventDefault();\n newdate = moment(this.activeDate).add(-4, 'year').toDate();\n this.setActiveYearFocus(newdate);\n } else if (event.key === 'ArrowLeft') {\n newdate = moment(this.activeDate).add(-1, 'year').toDate();\n this.setActiveYearFocus(newdate);\n } else if (event.key === 'ArrowRight') {\n newdate = moment(this.activeDate).add(+1, 'year').toDate();\n this.setActiveYearFocus(newdate);\n }\n });\n this.focusBlurDatePickerHeadButtons();\n }\n\n /**\n * This method is used to set focus for active year\n */\n private setActiveYearFocus(newDate, isMouseEvent?: boolean) {\n const newYear = newDate.getFullYear();\n const datePickerYears = $('.bs-datepicker-body table.years span');\n const startYear = datePickerYears.first().text();\n const endYear = datePickerYears.last().text();\n // check for keyboard event\n if (!isMouseEvent) {\n if (newDate.getFullYear() < parseInt(startYear)) {\n this.goToOtherMonthOryear('previous', 'year');\n } else if (newDate.getFullYear() > parseInt(endYear)) {\n this.goToOtherMonthOryear('next', 'year');\n }\n }\n setTimeout(() => {\n $(`.bs-datepicker-body table.years span`).attr('tabindex', '-1');\n $(`.bs-datepicker-body table.years span:contains(${newYear})`).attr('tabindex', '0');\n $(`.bs-datepicker-body table.years span:contains(${newYear})`).focus();\n this.activeDate = newDate;\n });\n }\n\n /**\n * This method sets focus for timepicker first input field(hours field) while opening time picker\n * @param scope - scope of the time picker widget\n */\n protected focusTimePickerPopover(scope) {\n this.elementScope = scope;\n // setTimeout is used so that by then time input has the updated value. focus is setting back to the input field\n this.elementScope.ngZone.runOutsideAngular(() => {\n setTimeout(() => {\n $('timepicker .form-group').first().find('> input.form-control').focus();\n });\n });\n\n\n }\n /**\n * This function sets the keyboard events to Timepicker popup\n */\n protected bindTimePickerKeyboardEvents() {\n setTimeout(() => {\n const $timepickerPopup = $('body').find('> bs-dropdown-container timepicker');\n $timepickerPopup.attr('tabindex', 0);\n this.addEventsOnTimePicker($timepickerPopup);\n });\n }\n\n protected focusOnInputEl() {\n if ($(this.nativeElement).closest('.caption-floating').length > 0) {\n setTimeout(() => {\n $(this.nativeElement).find('.app-textbox').focus();\n }, 100);\n }\n }\n\n /**\n * This function checks whether the given date is valid or not\n * @returns boolean value, true if date is valid else returns false\n */\n private isValidDate(date) {\n return date && date instanceof Date && !isNaN(date.getTime());\n }\n\n /**\n * This function checks whether the given time is valid or not\n */\n private timeFormatValidation() {\n const enteredDate = $(this.nativeElement).find('input').val()?.replace(this.am, this.meridians[0])?.replace(this.pm, this.meridians[1]);\n const newVal = getNativeDateObject(enteredDate, {meridians: this.meridians, pattern: this.datepattern});\n if (!this.formatValidation(newVal, enteredDate)) {\n return;\n }\n this.invalidDateTimeFormat = false;\n this.invokeOnChange(this.datavalue, undefined, false);\n }\n\n private updateTimeValue(el, value, fieldName) {\n let minEl = el.find('input[aria-label=\"minutes\"]');\n let secEl = el.find('input[aria-label=\"seconds\"]');\n minEl.value = secEl.value = '00';\n if (value.length < 2) {\n setTimeout(() => {\n fieldName === 'minutes' ? this.bsTimePicker.updateMinutes(minEl) : this.bsTimePicker.updateSeconds(secEl);\n }, 500);\n } else {\n fieldName === 'minutes' ? this.bsTimePicker.updateMinutes(minEl) : this.bsTimePicker.updateSeconds(secEl);\n }\n }\n\n /**\n * This function sets the events to given element\n * @param $el - element on which the event is added\n */\n private addEventsOnTimePicker($el: JQuery) {\n const inputFields = $el.find('.bs-timepicker-field');\n // WMS-19382: update minutes and seconds to 0 when we enter hour value\n inputFields.first().on('keyup', evt => {\n const hourValue = (evt.target as any).value;\n forEach(inputFields, (field, index) => {\n // @ts-ignore\n if (evt.target !== field && field.value === '' && hourValue.length) {\n const fieldName = index === 1 ? 'minutes' : 'seconds';\n this.updateTimeValue($el, hourValue, fieldName);\n }\n });\n });\n this.removeKeyupListener = () => {\n inputFields.first().off('keyup');\n };\n $el.on('keydown', event => {\n const $target = $(event.target);\n const $parent = $target.parent();\n const elementScope = this.elementScope;\n\n let stopPropogation, preventDefault;\n\n if (event.key === 'Escape') {\n elementScope.hideTimepickerDropdown();\n }\n\n if ($target.hasClass('bs-timepicker-field')) {\n if ($parent.is(':first-child')) {\n if ((event.shiftKey && event.key === 'Tab') || event.key === 'Enter' || event.key === 'Escape') {\n elementScope.setIsTimeOpen(false);\n this.focus();\n stopPropogation = true;\n preventDefault = true;\n }\n } else if ($parent.is(':last-child') || ($parent.next().next().find('button.disabled').length)) {\n if (event.key === 'Tab' || event.key === 'Escape' || event.key === 'Enter') {\n elementScope.setIsTimeOpen(false);\n this.focus();\n stopPropogation = true;\n preventDefault = true;\n }\n } else {\n if (event.key === 'Enter' || event.key === 'Escape') {\n elementScope.setIsTimeOpen(false);\n this.focus();\n stopPropogation = true;\n preventDefault = true;\n }\n }\n if (stopPropogation) {\n event.stopPropagation();\n }\n if (preventDefault) {\n event.preventDefault();\n }\n if (elementScope.mintime && elementScope.maxtime && !this.isValidDate(elementScope.bsTimeValue)) {\n if (event.key === 'ArrowDown') {\n elementScope.bsTimeValue = elementScope.maxTime;\n } else if (event.key === 'ArrowUp') {\n elementScope.bsTimeValue = elementScope.minTime;\n }\n }\n if (event.key === 'Tab') {\n this.invalidDateTimeFormat = false;\n this.invokeOnChange(this.datavalue, undefined, false);\n const pattern = this.datepattern || this.timepattern;\n if (getFormattedDate(elementScope.datePipe, elementScope.bsTimeValue, pattern, this.timeZone, null, null, this) === elementScope.displayValue) {\n $(this.nativeElement).find('.display-input').val(elementScope.displayValue);\n }\n }\n if (event.key === 'ArrowDown' || event.key === 'ArrowUp') {\n this.timeFormatValidation();\n }\n } else if ($target.hasClass('btn-default')) {\n if (event.key === 'Tab' || event.key === 'Escape') {\n elementScope.setIsTimeOpen(false);\n this.focus();\n }\n }\n });\n $el.find('a').on('click', evt => {\n const elementScope = this.elementScope;\n const $target = $(evt.target);\n if (elementScope.mintime && elementScope.maxtime && !this.isValidDate(elementScope.bsTimeValue)) {\n if ($target.find('span').hasClass('bs-chevron-down')) {\n elementScope.bsTimeValue = elementScope.maxTime;\n } else if ($target.find('span').hasClass('bs-chevron-up')) {\n elementScope.bsTimeValue = elementScope.minTime;\n }\n }\n this.timeFormatValidation();\n });\n }\n\n public updateFormat(pattern) {\n if (pattern === 'datepattern') {\n this._dateOptions.dateInputFormat = this.datepattern;\n this.showseconds = includes(this.datepattern, 's');\n this.ismeridian = includes(this.datepattern, 'h');\n } else if (pattern === 'timepattern') {\n this.showseconds = includes(this.timepattern, 's');\n this.ismeridian = includes(this.timepattern, 'h');\n }\n }\n\n getMobileInput() {\n return this.nativeElement.querySelector('.mobile-input') as HTMLElement;\n }\n\n onDateTimeInputBlur() {\n // removing the opacity on blur of the mobile widget\n const displayInputElem = this.getMobileInput();\n if (displayInputElem) {\n const children = this.nativeElement.children;\n for (let i = 0; i < children.length; i++) {\n children[i].classList.remove('add-opacity');\n }\n displayInputElem.classList.remove('remove-opacity');\n }\n }\n\n onDateTimeInputFocus(skipFocus: boolean = false): void {\n if (!this.loadNativeDateInput) {\n return;\n }\n const displayInputElem = this.getMobileInput();\n // toggling the classes to show and hide the native widget using opacity\n if (skipFocus) {\n const children = this.nativeElement.children;\n for (let i = 0; i < children.length; i++) {\n children[i].classList.add('add-opacity');\n }\n displayInputElem.classList.add('remove-opacity');\n return;\n }\n\n if (displayInputElem && this._triggeredByUser) {\n displayInputElem.focus();\n displayInputElem.click();\n }\n }\n\n /**\n * This method sets the mouse events to Datepicker popup. These events are required when we navigate date picker through mouse.\n */\n private addDatepickerMouseEvents() {\n $(\".bs-datepicker-head .previous span\").attr(\"aria-hidden\", 'true');\n $(\".bs-datepicker-head .next span\").attr(\"aria-hidden\", 'true');\n\n $(\".bs-datepicker-head\").on(\"click\", \".previous\", (event) => {\n this.next = this.getMonth(this.activeDate, 0);\n this.prev = this.getMonth(this.activeDate, -2);\n this.clicked = true;\n // check for original mouse click\n if (event.originalEvent) {\n this.setFocusForDate(-1);\n }\n var prevMon = this.getMonth(this.activeDate, -1);\n // const current = new Date();\n // if(prevMon.date.getMonth()===current.getMonth() && prevMon.date.getFullYear()===current.getFullYear()) {\n // this.hightlightToday(new Date());\n // }\n setTimeout(() => {\n $(\".bs-datepicker-head .previous span\").attr(\"aria-hidden\", 'true');\n $(\".bs-datepicker-head .next span\").attr(\"aria-hidden\", 'true');\n $(\".bs-datepicker-head .next\").attr('aria-label', `Next Month, ${this.next.fullMonth} ${this.next.date.getFullYear()}`);\n $(\".bs-datepicker-head .previous\").attr('aria-label', `Previous Month, ${this.prev.fullMonth} ${this.prev.date.getFullYear()}`);\n $('.bs-datepicker-head .current').first().append(`<h2 aria-hidden=\"false\" aria-atomic=\"true\" aria-live='polite' class=\"sr-only\">Changed to Previous Month, ${prevMon.fullMonth} and year ${prevMon.date.getFullYear()}</h2>`);\n $('.bs-datepicker-head').on('focus', '.current', function () {\n $('.bs-datepicker-head .current').find('h2').remove();\n })\n $(`.bs-datepicker-head .previous`).focus();\n\n });\n\n });\n $(\".bs-datepicker-head\").on(\"click\", \".next\", (event) => {\n this.next = this.getMonth(this.activeDate, 2);\n this.prev = this.getMonth(this.activeDate, 0);\n this.clicked = true;\n // check for original mouse click\n if (event.originalEvent) {\n this.setFocusForDate(1);\n }\n var nextMon = this.getMonth(this.activeDate, 1);\n // const current = new Date();\n // if (nextMon.date.getMonth() === current.getMonth() && nextMon.date.getFullYear() === current.getFullYear()) {\n // this.hightlightToday(current);\n // }\n setTimeout(() => {\n $(\".bs-datepicker-head .previous span\").attr(\"aria-hidden\", 'true');\n $(\".bs-datepicker-head .next span\").attr(\"aria-hidden\", 'true');\n $(\".bs-datepicker-head .next\").attr('aria-label', `Next Month, ${this.next.fullMonth} ${this.next.date.getFullYear()}`);\n $(\".bs-datepicker-head .previous\").attr('aria-label', `Previous Month, ${this.prev.fullMonth} ${this.prev.date.getFullYear()}`);\n $('.bs-datepicker-head .current').first().append(`<h2 aria-hidden=\"false\" aria-atomic=\"true\" aria-live='polite' class=\"sr-only\">Changed to Next Month, ${nextMon.fullMonth} and year ${nextMon.date.getFullYear()}</h2>`);\n $('.bs-datepicker-head').on('focus', '.current', function () {\n $('.bs-datepicker-head .current').find('h2').remove();\n })\n $(`.bs-datepicker-head .next`).focus();\n });\n\n });\n $(\".bs-datepicker-head\").on(\"click\", \".current\", (event) => {\n // check for original mouse click\n if (event.originalEvent) {\n this.setFocusForCurrentMonthOryear();\n }\n });\n $('.bs-datepicker-body').on(\"click\", \".bs-datepicker-action-buttons\", (event) => {\n event.stopPropagation();\n // check for original mouse click\n if (event.originalEvent) {\n this.setFocusForMonthOrDay();\n }\n });\n // if(!this.clicked) {\n $(\".bs-datepicker-head .next\").attr('aria-label', `Next Month, ${this.next.fullMonth} ${this.next.date.getFullYear()}`);\n $(\".bs-datepicker-head .previous\").attr('aria-label', `Previous Month, ${this.prev.fullMonth} ${this.prev.date.getFullYear()}`);\n // }\n }\n\n blurDateInput(isPickerOpen) {\n const displayInputElem = this.nativeElement.querySelector('.display-input') as HTMLElement;\n if (isPickerOpen) {\n setTimeout(() => displayInputElem.blur());\n }\n }\n\n getPeriod(): 'AM' | 'PM' {\n if (!this.elementScope.bsTimeValue) return 'AM';\n const hours =this.elementScope.bsTimeValue.getHours();\n return hours >= 12 ? 'PM' : 'AM';\n }\n\n setPeriod(period: 'AM' | 'PM'): void {\n const current = this.elementScope.bsTimeValue;\n if (!current || !(current instanceof Date)) return;\n const updatedDate = new Date(current);\n const hours = updatedDate.getHours();\n if (period === 'AM' && hours >= 12) {\n updatedDate.setHours(hours - 12);\n } else if (period === 'PM' && hours < 12) {\n updatedDate.setHours(hours + 12);\n }\n if(this.elementScope.widgetType==='wm-time'){\n const isInvalid= this.elementScope.minTime && this.elementScope.maxTime && (updatedDate < this.elementScope.minTime || updatedDate > this.elementScope.maxTime);\n if(!isInvalid)\n this.elementScope.onTimeChange(updatedDate);\n }\n else{\n this.elementScope.onModelUpdate(updatedDate);\n }\n }\n\n onPropertyChange(key, nv, ov?) {\n\n if (key === 'tabindex') {\n return;\n }\n if(key === 'showampmbuttons') {\n this.showampmbuttons=nv;\n }\n if (key === 'required') {\n this._onChange(this.datavalue);\n return;\n }\n if (key === 'datepattern') {\n this.updateFormat(key);\n } else if(key === 'viewmode') {\n this._dateOptions.minMode = this.viewmode;\n } else if (key === 'showweeks') {\n this._dateOptions.showWeekNumbers = nv;\n } else if (key === 'mindate') {\n this._dateOptions.minDate = (nv === CURRENT_DATE) ? this.mindate = new Date() : getDateObj(nv);\n this.minDateMaxDateValidationOnInput(this.datavalue);\n } else if (key === 'maxdate') {\n this._dateOptions.maxDate = (nv === CURRENT_DATE) ? this.maxdate = new Date() : getDateObj(nv);\n this.minDateMaxDateValidationOnInput(this.datavalue);\n } else if (key === 'excludedates' || key === 'excludedays') {\n if (this.excludedays) {\n this.excludedDaysToDisable = split(this.excludedays, ',').map((day) => {\n return +day;\n });\n }\n if (this.excludedates) {\n this.excludedDatesToDisable = this.excludedates;\n if (isString(this.excludedates)) {\n // @ts-ignore\n this.excludedDatesToDisable = split(this.excludedates, ',');\n }\n this.excludedDatesToDisable = this.excludedDatesToDisable.map(d => getDateObj(d));\n }\n this.minDateMaxDateValidationOnInput(this.datavalue);\n } else if (key === 'selectfromothermonth') {\n this._dateOptions.selectFromOtherMonth = nv;\n\n } else if (key === 'todaybutton') {\n this._dateOptions.showTodayButton = nv;\n } else if (key === 'clearbutton') {\n this._dateOptions.showClearButton = nv;\n } else if (key === 'todaybuttonlabel') {\n this._dateOptions.todayButtonLabel = this.i18nService.getLocalizedMessage(nv) || nv;\n } else if (key === 'clearbuttonlabel') {\n this._dateOptions.clearButtonLabel = this.i18nService.getLocalizedMessage(nv) || nv;\n } else if (key === 'showcustompicker') {\n this.loadNativeDateInput = isMobile() && !this.showcustompicker;\n } else if (key === 'adaptiveposition') {\n this._dateOptions.adaptivePosition = nv;\n } else {\n super.onPropertyChange(key, nv, ov);\n }\n\n }\n\n ngAfterViewInit() {\n super.ngAfterViewInit();\n this.containerTarget = getContainerTargetClass(this.nativeElement);\n this.isReadOnly = this.dataentrymode != 'undefined' && !this.isDataEntryModeEnabledOnInput(this.dataentrymode);\n\n // this mobileinput width varies in ios hence setting width here.\n const mobileInput = this.getMobileInput();\n if (mobileInput) {\n setTimeout(() => {\n mobileInput.style.width = '100%';\n mobileInput.style.height = '100%';\n });\n }\n }\n\n ngOnDestroy() {\n if (this.dateOnShowSubscription) {\n this.dateOnShowSubscription.unsubscribe();\n }\n if(this.cancelLocaleChangeSubscription) {\n this.cancelLocaleChangeSubscription();\n }\n\n super.ngOnDestroy();\n }\n\n public ngOnDetach() {\n this.datetimepickerComponent?.hideModal();\n }\n\n setTimezone(locale) {\n this.i18nService.setTimezone(locale, this);\n }\n ngOnInit() {\n super.ngOnInit();\n if (this.dateNotInRange||this.timeNotInRange||this.invalidDateTimeFormat) {\n const formattedDisplay = getFormattedDate(this.datePipe, this.datavalue, this.datepattern||this.timepattern, this.timeZone, null, null, this);\n const value=this.datavalue;\n this.datavalue = undefined;\n setTimeout(() => {\n $(this.nativeElement).find('.display-input').val(this.safeReplaceMeridians(formattedDisplay));\n this.minDateMaxDateValidationOnInput(formattedDisplay);\n this.invokeOnChange(value, {}, false);\n });\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["_isNaN"],"mappings":"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"}
|
|
@@ -237,6 +237,7 @@
|
|
|
237
237
|
this.dateContainerCls = `app-date-${this.widgetId}`;
|
|
238
238
|
this._dateOptions.containerClass = `app-date ${this.dateContainerCls}`;
|
|
239
239
|
this._dateOptions.showWeekNumbers = false;
|
|
240
|
+
this._dateOptions.customTodayClass = 'current-date';
|
|
240
241
|
this._bsDefaultLoadCheck = true;
|
|
241
242
|
this.datepattern = this.appDefaults.dateFormat || i1.getDisplayDateTimeFormat(i1.FormWidgetType.DATE);
|
|
242
243
|
this.updateFormat('datepattern');
|
|
@@ -296,9 +297,9 @@
|
|
|
296
297
|
onDatePickerOpen() {
|
|
297
298
|
this.isOpen = true;
|
|
298
299
|
this.activeDate = this.bsDataValue ? this.bsDataValue : (this.timeZone ? i1.getMomentLocaleObject(this.timeZone) : new Date());
|
|
299
|
-
if (!this.bsDataValue) {
|
|
300
|
-
|
|
301
|
-
}
|
|
300
|
+
// if (!this.bsDataValue) {
|
|
301
|
+
// this.hightlightToday(this.activeDate);
|
|
302
|
+
// }
|
|
302
303
|
this.updateIMask();
|
|
303
304
|
if (this.bsDatePickerDirective && (this.dateNotInRange || this.invalidDateTimeFormat)) {
|
|
304
305
|
this.bsDatePickerDirective._bsValue = null;
|