@wavemaker/app-ng-runtime 11.4.0-next.25701 → 11.4.0-next.25703
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.
- app-ng-runtime/build-task/basic/tree/tree.build.d.ts +2 -1
- app-ng-runtime/build-task/bundles/index.umd.js +9 -7
- app-ng-runtime/build-task/bundles/index.umd.js.map +1 -1
- app-ng-runtime/build-task/esm2015/basic/tree/tree.build.js +4 -3
- app-ng-runtime/build-task/esm2015/navigation/popover/popover.build.js +3 -3
- app-ng-runtime/build-task/fesm2015/index.js +9 -7
- app-ng-runtime/build-task/fesm2015/index.js.map +1 -1
- app-ng-runtime/components/base/bundles/index.umd.js +3 -6
- app-ng-runtime/components/base/bundles/index.umd.js.map +1 -1
- app-ng-runtime/components/base/esm2015/utils/widget-utils.js +4 -7
- app-ng-runtime/components/base/fesm2015/index.js +3 -6
- app-ng-runtime/components/base/fesm2015/index.js.map +1 -1
- app-ng-runtime/components/base/utils/widget-utils.d.ts +1 -1
- app-ng-runtime/components/basic/tree/bundles/index.umd.js +256 -280
- app-ng-runtime/components/basic/tree/bundles/index.umd.js.map +1 -1
- app-ng-runtime/components/basic/tree/esm2015/public_api.js +2 -2
- app-ng-runtime/components/basic/tree/esm2015/tree.directive.js +310 -0
- app-ng-runtime/components/basic/tree/esm2015/tree.module.js +3 -3
- app-ng-runtime/components/basic/tree/fesm2015/index.js +248 -260
- app-ng-runtime/components/basic/tree/fesm2015/index.js.map +1 -1
- app-ng-runtime/components/basic/tree/index.metadata.json +1 -1
- app-ng-runtime/components/basic/tree/public_api.d.ts +1 -1
- app-ng-runtime/components/basic/tree/tree.directive.d.ts +35 -0
- app-ng-runtime/components/data/list/bundles/index.umd.js +4 -28
- app-ng-runtime/components/data/list/bundles/index.umd.js.map +1 -1
- app-ng-runtime/components/data/list/esm2015/list.component.js +5 -29
- app-ng-runtime/components/data/list/fesm2015/index.js +4 -28
- app-ng-runtime/components/data/list/fesm2015/index.js.map +1 -1
- app-ng-runtime/components/data/list/index.metadata.json +1 -1
- app-ng-runtime/components/dialogs/default/bundles/index.umd.js.map +1 -1
- app-ng-runtime/components/dialogs/default/esm2015/base-dialog.js +1 -1
- app-ng-runtime/components/dialogs/default/fesm2015/index.js.map +1 -1
- app-ng-runtime/components/dialogs/default/index.metadata.json +1 -1
- app-ng-runtime/components/input/epoch/bundles/index.umd.js +21 -39
- app-ng-runtime/components/input/epoch/bundles/index.umd.js.map +1 -1
- app-ng-runtime/components/input/epoch/esm2015/base-date-time.component.js +25 -43
- app-ng-runtime/components/input/epoch/esm2015/date/date.component.js +3 -3
- app-ng-runtime/components/input/epoch/esm2015/date-time/date-time.component.js +2 -2
- app-ng-runtime/components/input/epoch/fesm2015/index.js +27 -45
- app-ng-runtime/components/input/epoch/fesm2015/index.js.map +1 -1
- app-ng-runtime/components/input/epoch/index.metadata.json +1 -1
- app-ng-runtime/components/navigation/popover/bundles/index.umd.js +4 -3
- app-ng-runtime/components/navigation/popover/bundles/index.umd.js.map +1 -1
- app-ng-runtime/components/navigation/popover/esm2015/popover.component.js +6 -5
- app-ng-runtime/components/navigation/popover/fesm2015/index.js +5 -4
- app-ng-runtime/components/navigation/popover/fesm2015/index.js.map +1 -1
- app-ng-runtime/package.json +1 -1
- app-ng-runtime/scripts/datatable/datatable.js +23 -23
- app-ng-runtime/variables/bundles/index.umd.js +4 -14
- app-ng-runtime/variables/bundles/index.umd.js.map +1 -1
- app-ng-runtime/variables/esm2015/manager/action/notification-action.manager.js +6 -5
- app-ng-runtime/variables/esm2015/service/variables.service.js +1 -8
- app-ng-runtime/variables/fesm2015/index.js +5 -11
- app-ng-runtime/variables/fesm2015/index.js.map +1 -1
- app-ng-runtime/variables/index.metadata.json +1 -1
- app-ng-runtime/variables/service/variables.service.d.ts +0 -4
- app-ng-runtime/components/basic/tree/esm2015/tree.component.js +0 -322
- app-ng-runtime/components/basic/tree/tree.component.d.ts +0 -34
- app-ng-runtime/scripts/tree-keyboard-navigation/keyboard-navigation.js +0 -251
|
@@ -380,6 +380,7 @@ class BaseDateTimeComponent extends BaseFormCustomComponent {
|
|
|
380
380
|
this.loadNativeDateInput = isMobile() && !this.showcustompicker;
|
|
381
381
|
}
|
|
382
382
|
get timeZone() { return this.inj.get(AbstractI18nService).getTimezone(this); }
|
|
383
|
+
;
|
|
383
384
|
/**
|
|
384
385
|
* returns true if the input value is default (i.e open date picker on input click)
|
|
385
386
|
* @param1 dropdownvalue, user selected value (by default datepicker opens on input click)
|
|
@@ -429,7 +430,7 @@ class BaseDateTimeComponent extends BaseFormCustomComponent {
|
|
|
429
430
|
};
|
|
430
431
|
}
|
|
431
432
|
/* WMS-18269 | Extending the existing validation for 'required' */
|
|
432
|
-
if (this[
|
|
433
|
+
if (this["show"] && this["required"]) {
|
|
433
434
|
return !!c.value ? null : { required: true };
|
|
434
435
|
}
|
|
435
436
|
this.validateType = '';
|
|
@@ -570,18 +571,14 @@ class BaseDateTimeComponent extends BaseFormCustomComponent {
|
|
|
570
571
|
const newDay = newDate.getDate().toString();
|
|
571
572
|
_.filter($(`span:contains(${newDay})`).not('.is-other-month'), (obj) => {
|
|
572
573
|
if ($(obj).text() === newDay) {
|
|
573
|
-
if ($(obj).hasClass('selected')) {
|
|
574
|
-
$(obj).parent().attr('aria-selected', 'true');
|
|
575
|
-
}
|
|
576
574
|
$(obj).attr('aria-label', moment(newDate).format('dddd, MMMM Do YYYY'));
|
|
577
|
-
$('[bsdatepickerdaydecorator]').not('.is-other-month').attr('tabindex', '-1');
|
|
578
|
-
$(obj).attr('tabindex', '0');
|
|
579
575
|
$(obj).focus();
|
|
580
576
|
this.activeDate = newDate;
|
|
581
577
|
}
|
|
582
578
|
});
|
|
583
579
|
if (newDate.getMonth() === new Date().getMonth() && newDate.getFullYear() === new Date().getFullYear()) {
|
|
584
580
|
this.hightlightToday();
|
|
581
|
+
$(`span:contains(${new Date().getDate().toString()})`).not('.is-other-month').parent().attr('aria-selected', 'true');
|
|
585
582
|
}
|
|
586
583
|
});
|
|
587
584
|
}
|
|
@@ -609,7 +606,7 @@ class BaseDateTimeComponent extends BaseFormCustomComponent {
|
|
|
609
606
|
getMonth(date, inc) {
|
|
610
607
|
const currentMonth = new Date(date);
|
|
611
608
|
let month = currentMonth.getMonth();
|
|
612
|
-
|
|
609
|
+
let year = currentMonth.getFullYear();
|
|
613
610
|
month += inc;
|
|
614
611
|
const newDate = new Date(year, month);
|
|
615
612
|
const fullMonth = newDate.toLocaleString('en-US', { month: 'long' });
|
|
@@ -631,9 +628,6 @@ class BaseDateTimeComponent extends BaseFormCustomComponent {
|
|
|
631
628
|
if (event.originalEvent) {
|
|
632
629
|
this.setFocusForDate(-1);
|
|
633
630
|
}
|
|
634
|
-
setTimeout(() => {
|
|
635
|
-
$(`.bs-datepicker-head .previous`).focus();
|
|
636
|
-
});
|
|
637
631
|
});
|
|
638
632
|
datePickerHead.find(`.next`).click((event) => {
|
|
639
633
|
this.next = this.getMonth(this.activeDate, 2);
|
|
@@ -643,9 +637,6 @@ class BaseDateTimeComponent extends BaseFormCustomComponent {
|
|
|
643
637
|
if (event.originalEvent) {
|
|
644
638
|
this.setFocusForDate(1);
|
|
645
639
|
}
|
|
646
|
-
setTimeout(() => {
|
|
647
|
-
$(`.bs-datepicker-head .next`).focus();
|
|
648
|
-
});
|
|
649
640
|
});
|
|
650
641
|
datePickerHead.find(`.current`).click((event) => {
|
|
651
642
|
// check for original mouse click
|
|
@@ -662,22 +653,6 @@ class BaseDateTimeComponent extends BaseFormCustomComponent {
|
|
|
662
653
|
});
|
|
663
654
|
datePickerHead.find('.next').attr('aria-label', `Next Month, ${this.next.fullMonth} ${this.next.date.getFullYear()}`);
|
|
664
655
|
datePickerHead.find('.previous').attr('aria-label', `Previous Month, ${this.prev.fullMonth} ${this.prev.date.getFullYear()}`);
|
|
665
|
-
setTimeout(() => {
|
|
666
|
-
const currentNodes = datePickerHead.find('.current span');
|
|
667
|
-
const msg = 'Changed to month ';
|
|
668
|
-
// currentNodes.each((i) => {
|
|
669
|
-
// msg =`${msg} ${$(currentNodes[i]).text()}`;
|
|
670
|
-
// });
|
|
671
|
-
datePickerHead.find('.current').attr("aria-live", "assertive").attr("aria-atomic", "false");
|
|
672
|
-
if (this.clicked) {
|
|
673
|
-
if ($(currentNodes[0]).text()) {
|
|
674
|
-
datePickerHead.find('.ng-star-inserted').prepend(`<div class="sr-only">${msg}</div>`);
|
|
675
|
-
}
|
|
676
|
-
if ($(currentNodes[1]).text()) {
|
|
677
|
-
datePickerHead.find('.current').last().prepend(`<div class="sr-only"> and year </div>`);
|
|
678
|
-
}
|
|
679
|
-
}
|
|
680
|
-
});
|
|
681
656
|
}
|
|
682
657
|
/**
|
|
683
658
|
* This method sets focus for months/days depending on the loaded datepicker table
|
|
@@ -841,6 +816,8 @@ class BaseDateTimeComponent extends BaseFormCustomComponent {
|
|
|
841
816
|
*/
|
|
842
817
|
loadMonths() {
|
|
843
818
|
setTimeout(() => {
|
|
819
|
+
const datePickerBody = $('.bs-datepicker-body');
|
|
820
|
+
datePickerBody.find('table.months span').attr('tabindex', '0');
|
|
844
821
|
this.addKeyBoardEventsForMonths();
|
|
845
822
|
this.addDatepickerMouseEvents();
|
|
846
823
|
});
|
|
@@ -893,6 +870,8 @@ class BaseDateTimeComponent extends BaseFormCustomComponent {
|
|
|
893
870
|
*/
|
|
894
871
|
loadYears() {
|
|
895
872
|
setTimeout(() => {
|
|
873
|
+
const datePickerBody = $('.bs-datepicker-body');
|
|
874
|
+
datePickerBody.find('table.years span').attr('tabindex', '0');
|
|
896
875
|
this.addKeyBoardEventsForYears();
|
|
897
876
|
this.addDatepickerMouseEvents();
|
|
898
877
|
});
|
|
@@ -913,8 +892,6 @@ class BaseDateTimeComponent extends BaseFormCustomComponent {
|
|
|
913
892
|
}
|
|
914
893
|
}
|
|
915
894
|
setTimeout(() => {
|
|
916
|
-
$(`.bs-datepicker-body table.months span`).attr('tabindex', '-1');
|
|
917
|
-
$(`.bs-datepicker-body table.months span:contains(${newMonth})`).attr('tabindex', '0');
|
|
918
895
|
$(`.bs-datepicker-body table.months span:contains(${newMonth})`).focus();
|
|
919
896
|
this.activeDate = newDate;
|
|
920
897
|
});
|
|
@@ -973,8 +950,6 @@ class BaseDateTimeComponent extends BaseFormCustomComponent {
|
|
|
973
950
|
}
|
|
974
951
|
}
|
|
975
952
|
setTimeout(() => {
|
|
976
|
-
$(`.bs-datepicker-body table.years span`).attr('tabindex', '-1');
|
|
977
|
-
$(`.bs-datepicker-body table.years span:contains(${newYear})`).attr('tabindex', '0');
|
|
978
953
|
$(`.bs-datepicker-body table.years span:contains(${newYear})`).focus();
|
|
979
954
|
this.activeDate = newDate;
|
|
980
955
|
});
|
|
@@ -1155,27 +1130,37 @@ class BaseDateTimeComponent extends BaseFormCustomComponent {
|
|
|
1155
1130
|
}
|
|
1156
1131
|
onDateTimeInputBlur() {
|
|
1157
1132
|
// removing the opacity on blur of the mobile widget
|
|
1158
|
-
|
|
1133
|
+
let displayInputElem = this.getMobileInput();
|
|
1159
1134
|
if (displayInputElem && !hasCordova()) {
|
|
1160
|
-
|
|
1135
|
+
let children = this.nativeElement.children;
|
|
1161
1136
|
for (let i = 0; i < children.length; i++) {
|
|
1162
1137
|
children[i].classList.remove('add-opacity');
|
|
1163
1138
|
}
|
|
1164
1139
|
displayInputElem.classList.remove('remove-opacity');
|
|
1140
|
+
let allDateTimeElements = this.nativeElement.getElementsByTagName('*');
|
|
1141
|
+
for (let i = 0; i < allDateTimeElements.length; i++) {
|
|
1142
|
+
allDateTimeElements[i].setAttribute('tabindex', this.tabindex);
|
|
1143
|
+
}
|
|
1144
|
+
displayInputElem.removeAttribute('tabindex');
|
|
1165
1145
|
}
|
|
1166
1146
|
}
|
|
1167
1147
|
onDateTimeInputFocus(skipFocus = false) {
|
|
1168
1148
|
if (!this.loadNativeDateInput) {
|
|
1169
1149
|
return;
|
|
1170
1150
|
}
|
|
1171
|
-
|
|
1151
|
+
let displayInputElem = this.getMobileInput();
|
|
1172
1152
|
// toggling the classes to show and hide the native widget using opacity
|
|
1173
1153
|
if (skipFocus && !hasCordova()) {
|
|
1174
|
-
|
|
1154
|
+
let children = this.nativeElement.children;
|
|
1175
1155
|
for (let i = 0; i < children.length; i++) {
|
|
1176
1156
|
children[i].classList.add('add-opacity');
|
|
1177
1157
|
}
|
|
1178
1158
|
displayInputElem.classList.add('remove-opacity');
|
|
1159
|
+
let allDateTimeElements = this.nativeElement.getElementsByTagName('*');
|
|
1160
|
+
for (let i = 0; i < allDateTimeElements.length; i++) {
|
|
1161
|
+
allDateTimeElements[i].setAttribute('tabindex', '-1');
|
|
1162
|
+
}
|
|
1163
|
+
displayInputElem.setAttribute('tabindex', this.tabindex);
|
|
1179
1164
|
return;
|
|
1180
1165
|
}
|
|
1181
1166
|
if (displayInputElem && this._triggeredByUser) {
|
|
@@ -1265,12 +1250,9 @@ class BaseDateTimeComponent extends BaseFormCustomComponent {
|
|
|
1265
1250
|
this.containerTarget = getContainerTargetClass(this.nativeElement);
|
|
1266
1251
|
this.isReadOnly = this.dataentrymode != 'undefined' && !this.isDataEntryModeEnabledOnInput(this.dataentrymode);
|
|
1267
1252
|
// this mobileinput width varies in ios hence setting width here.
|
|
1268
|
-
|
|
1253
|
+
let mobileInput = this.getMobileInput();
|
|
1269
1254
|
if (mobileInput) {
|
|
1270
|
-
|
|
1271
|
-
mobileInput.style.width = '100%';
|
|
1272
|
-
mobileInput.style.height = '100%';
|
|
1273
|
-
});
|
|
1255
|
+
mobileInput.style.width = mobileInput.parentElement.clientWidth + 'px';
|
|
1274
1256
|
}
|
|
1275
1257
|
}
|
|
1276
1258
|
ngOnDestroy() {
|
|
@@ -1515,7 +1497,7 @@ class DateComponent extends BaseDateTimeComponent {
|
|
|
1515
1497
|
if (this.isDropDownDisplayEnabledOnInput(this.showdropdownon)) {
|
|
1516
1498
|
event.stopPropagation();
|
|
1517
1499
|
const action = this.keyEventPlugin.constructor.getEventFullKey(event);
|
|
1518
|
-
if (action === 'enter') {
|
|
1500
|
+
if (action === 'enter' || action === 'arrowdown') {
|
|
1519
1501
|
const newVal = getDateObj(event.target.value, { pattern: this.datepattern });
|
|
1520
1502
|
event.preventDefault();
|
|
1521
1503
|
const formattedDate = getFormattedDate(this.datePipe, newVal, this.dateInputFormat, this.timeZone, null, this.isCurrentDate, this);
|
|
@@ -1566,7 +1548,7 @@ DateComponent.initializeProps = registerProps$2();
|
|
|
1566
1548
|
DateComponent.decorators = [
|
|
1567
1549
|
{ type: Component, args: [{
|
|
1568
1550
|
selector: '[wmDate]',
|
|
1569
|
-
template: " <input class=\"form-control app-textbox app-dateinput display-input\"\n focus-target\n type=\"text\"\n [name]=\"name\"\n [tabindex]=\"
|
|
1551
|
+
template: " <input class=\"form-control app-textbox app-dateinput display-input\"\n focus-target\n type=\"text\"\n [name]=\"name\"\n [tabindex]=\"tabindex\"\n [value]=\"displayValue\"\n (click)=\"toggleDpDropdown($event, true)\"\n (focus)=\"onDateTimeInputFocus(); invokeOnFocus($event);\"\n (blur)=\"onInputBlur($event)\"\n [disabled]=\"disabled || readonly\"\n [autofocus]=\"autofocus\"\n [required]=\"required\"\n [readOnly]=\"isReadOnly\"\n [attr.placeholder]=\"placeholder\"\n [attr.accesskey]=\"shortcutkey\"\n [attr.aria-label]=\"hint\"\n (change)=\"onDisplayDateChange($event)\"\n (keydown)=\"this._triggeredByUser = true; onDisplayKeydown($event);\">\n\n <span class=\"input-group-btn\">\n <button type=\"button\"\n class=\"btn btn-default btn-time\"\n [tabindex]=\"tabindex\"\n [disabled]=\"disabled || readonly\"\n [attr.aria-label]=\"displayValue ? 'Change Date ' + displayValue : 'Choose date by pressing enter'\"\n aria-haspopup=\"true\"\n aria-expanded=\"false\"\n (click)=\"toggleDpDropdown($event, false)\">\n <i aria-hidden=\"true\"\n class=\"app-icon wm-sl-l sl-calendar\"></i>\n </button>\n </span>\n <div style=\"width: 0;display: inline-block;\">\n <input class=\"model-holder\"\n aria-label=\"datepicker dropdownmenu\"\n aria-controls=\"date\"\n [container]=\"containerTarget || 'body'\"\n [bsConfig]=\"_dateOptions\"\n [isOpen]=\"isOpen\"\n #datepicker=\"bsDatepicker\"\n bsDatepicker\n [daysDisabled]=\"excludedDaysToDisable\"\n [datesDisabled]=\"excludedDatesToDisable\"\n placement=\"bottom right\"\n [isDisabled]=\"disabled || readonly\"\n [bsValue]=\"bsDataValue\"\n (onShown)=\"onDatePickerOpen()\"\n (onHidden)=\"hideDatepickerDropdown()\"\n (bsValueChange)=\"onDateChange($event)\">\n</div>\n\n<ng-template [ngIf]=\"loadNativeDateInput\">\n <wm-datetimepicker\n dateTimePicker\n mode=\"DATE\"\n [config]=\"_dateOptions\"\n [placement]=\"modal\"\n [excludedDaysToDisable]=\"excludedDaysToDisable\"\n [excludedDatesToDisable]=\"excludedDatesToDisable\"\n [displayFormat]=\"dateInputFormat\"\n [value]=\"bsDataValue\"\n (change)=\"onDateChange($event)\">\n </wm-datetimepicker>\n <div class=\"mobile-input mobile-datepicker-container\"\n tabindex=\"1000000\"\n (focus)=\"onDateTimeInputFocus(true); invokeOnFocus($event);\"\n (blur)=\"onDateTimeInputBlur(); invokeOnTouched($event)\"\n (click)=\"!(disabled || readonly || isCurrentDate) && showDatePickerModal()\">\n </div>\n</ng-template>\n",
|
|
1570
1552
|
providers: [
|
|
1571
1553
|
provideAs(DateComponent, NG_VALUE_ACCESSOR, true),
|
|
1572
1554
|
provideAs(DateComponent, NG_VALIDATORS, true),
|
|
@@ -2027,7 +2009,7 @@ DatetimeComponent.initializeProps = registerProps$1();
|
|
|
2027
2009
|
DatetimeComponent.decorators = [
|
|
2028
2010
|
{ type: Component, args: [{
|
|
2029
2011
|
selector: '[wmDateTime]',
|
|
2030
|
-
template: " <div dropdown\n [isOpen]=\"isTimeOpen\"\n autoClose=\"false\"\n [container]=\"'body'\"\n (onShown)=\"onTimepickerOpen()\"\n style=\"display: inherit;\">\n <input class=\"form-control app-textbox display-input\"\n [attr.aria-label]=\"hint\"\n focus-target\n [name]=\"name\"\n [tabindex]=\"
|
|
2012
|
+
template: " <div dropdown\n [isOpen]=\"isTimeOpen\"\n autoClose=\"false\"\n [container]=\"'body'\"\n (onShown)=\"onTimepickerOpen()\"\n style=\"display: inherit;\">\n <input class=\"form-control app-textbox display-input\"\n [attr.aria-label]=\"hint\"\n focus-target\n [name]=\"name\"\n [tabindex]=\"tabindex\"\n type=\"text\"\n [value]=\"displayValue\"\n (click)=\"toggleDpDropdown($event, true)\"\n (focus)=\"onDateTimeInputFocus(); invokeOnFocus($event);\"\n (blur)=\"onInputBlur($event)\"\n (change)=\"onDateChange($event)\"\n [autofocus]=\"autofocus\"\n [disabled]=\"disabled || readonly || isCurrentDate\"\n [required]=\"required\"\n [readOnly]=\"isReadOnly\"\n [attr.placeholder]=\"placeholder\"\n [attr.accesskey]=\"shortcutkey\"\n (keydown)=\"this._triggeredByUser = true; onDisplayKeydown($event)\">\n\n <span class=\"input-group-btn\">\n <button type=\"button\"\n class=\"btn btn-default btn-date\"\n [tabindex]=\"tabindex\"\n [disabled]=\"disabled || readonly || isCurrentDate\"\n [attr.aria-label]=\"displayValue ? 'Change Date ' + displayValue : 'Choose date by pressing enter'\"\n aria-haspopup=\"true\"\n aria-expanded=\"false\"\n (click)=\"toggleDpDropdown($event, false)\">\n <i aria-hidden=\"true\"\n class=\"app-icon wm-sl-l sl-calendar\"></i>\n </button>\n <button type=\"button\"\n class=\"btn btn-default btn-time\"\n [tabindex]=\"tabindex\"\n [disabled]=\"disabled || readonly || isCurrentDate\"\n aria-label=\"Select time\"\n aria-haspopup=\"true\"\n aria-expanded=\"false\"\n (click)=\"toggleTimePicker(!isTimeOpen, $event)\">\n <i aria-hidden=\"true\"\n class=\"app-icon wm-sl-l sl-time\"></i>\n </button>\n </span>\n <div style=\"width: 0;display: inline-block;\">\n <input class=\"model-holder\"\n aria-label=\"datepicker dropdownmenu\"\n aria-controls=\"date\"\n focus-target\n [container]=\"containerTarget || 'body'\"\n [bsConfig]=\"_dateOptions\"\n [isOpen]=\"isDateOpen\"\n placement=\"bottom right\"\n (onShown)=\"onDatePickerOpen()\"\n (onHidden)=\"hideDatepickerDropdown()\"\n [daysDisabled]=\"excludedDaysToDisable\"\n [datesDisabled]=\"excludedDatesToDisable\"\n #datepicker=bsDatepicker\n bsDatepicker\n [isDisabled]=\"disabled || readonly || isCurrentDate\"\n [bsValue]=\"bsDateValue\"\n (bsValueChange)=\"onModelUpdate($event, 'date')\">\n </div>\n <div *dropdownMenu\n class=\"dropdown-menu\"\n aria-label=\"timepicker dropdown\"\n aria-controls=\"time\"\n (click)=\"preventTpClose($event)\">\n <timepicker class=\"model-holder\"\n [showMeridian]=\"ismeridian\"\n [readonlyInput]=\"disabled || readonly || isCurrentDate\"\n [(ngModel)]=\"bsTimeValue\"\n [min]=\"minTime\"\n [max]=\"maxTime\"\n [hourStep]=\"hourstep\"\n [minuteStep]=\"minutestep\"\n [secondsStep]=\"secondsstep\"\n [mousewheel]=\"true\"\n [arrowkeys]=\"true\"\n (isValid)=\"isValid($event)\"\n [showSeconds]=\"showseconds\"\n (ngModelChange)=\"onModelUpdate($event, 'time')\"></timepicker>\n </div>\n </div>\n<ng-template [ngIf]=\"loadNativeDateInput\">\n <wm-datetimepicker\n dateTimePicker\n [config]=\"_dateOptions\"\n [placement]=\"modal\"\n [excludedDaysToDisable]=\"excludedDaysToDisable\"\n [excludedDatesToDisable]=\"excludedDatesToDisable\"\n [displayFormat]=\"dateInputFormat\"\n [value]=\"bsDateValue\"\n (change)=\"onModelUpdate($event, 'date')\">\n </wm-datetimepicker>\n <div class=\"mobile-input mobile-datepicker-container\"\n tabindex=\"1000000\"\n (focus)=\"onDateTimeInputFocus(true); invokeOnFocus($event)\"\n (blur)=\"onDateTimeInputBlur(); invokeOnTouched($event)\"\n (click)=\"!(disabled || readonly || isCurrentDate) && showDatePickerModal()\">\n </div>\n</ng-template>\n",
|
|
2031
2013
|
providers: [
|
|
2032
2014
|
provideAs(DatetimeComponent, NG_VALUE_ACCESSOR, true),
|
|
2033
2015
|
provideAs(DatetimeComponent, NG_VALIDATORS, true),
|