@wavemaker/app-runtime-wm-build 11.3.6-rc.5322 → 11.3.6-rc.5325
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.
|
@@ -8973,9 +8973,11 @@
|
|
|
8973
8973
|
});
|
|
8974
8974
|
};
|
|
8975
8975
|
var getKeyboardFocusableElements = function(element) {
|
|
8976
|
-
|
|
8977
|
-
|
|
8978
|
-
|
|
8976
|
+
var elementNodeList = element.querySelectorAll("a, button, input, textarea, select, details, iframe, embed, object, summary dialog, audio[controls], video[controls], [contenteditable]");
|
|
8977
|
+
var elements = Array.from(elementNodeList);
|
|
8978
|
+
return elements.filter((function(el) {
|
|
8979
|
+
return !el.hasAttribute("disabled") && !el.hasAttribute("hidden") && (!el.hasAttribute("tabindex") || el.hasAttribute("tabindex") && !el.getAttribute("tabindex").startsWith("-"));
|
|
8980
|
+
}));
|
|
8979
8981
|
};
|
|
8980
8982
|
exports.APPLY_STYLES_TYPE = void 0;
|
|
8981
8983
|
(function(APPLY_STYLES_TYPE) {
|
|
@@ -15060,7 +15062,7 @@
|
|
|
15060
15062
|
}
|
|
15061
15063
|
var markup = "<" + tagName$q + " wmPopover " + transpiler.getAttrMarkup(attrs) + ">";
|
|
15062
15064
|
var contextAttrs = table ? 'let-row="row"' : "";
|
|
15063
|
-
markup += "<ng-template " + contextAttrs + '><
|
|
15065
|
+
markup += "<ng-template " + contextAttrs + '><div tabindex="0" class="popover-start sr-only" aria-label="">popover content start</div>';
|
|
15064
15066
|
if (popoverTemplate) {
|
|
15065
15067
|
markup += "" + (popoverTemplate ? popoverTemplate : "");
|
|
15066
15068
|
}
|
|
@@ -15071,7 +15073,7 @@
|
|
|
15071
15073
|
if (shared.get("hasPopoverContent")) {
|
|
15072
15074
|
markup += "</div>";
|
|
15073
15075
|
}
|
|
15074
|
-
return markup + '<
|
|
15076
|
+
return markup + '<div tabindex="0" class="popover-end sr-only" aria-label="">popover content ended</div></ng-template></' + tagName$q + ">";
|
|
15075
15077
|
}
|
|
15076
15078
|
};
|
|
15077
15079
|
}));
|
|
@@ -27414,14 +27416,18 @@
|
|
|
27414
27416
|
var newDay = newDate.getDate().toString();
|
|
27415
27417
|
_.filter($("span:contains(" + newDay + ")").not(".is-other-month"), (function(obj) {
|
|
27416
27418
|
if ($(obj).text() === newDay) {
|
|
27419
|
+
if ($(obj).hasClass("selected")) {
|
|
27420
|
+
$(obj).parent().attr("aria-selected", "true");
|
|
27421
|
+
}
|
|
27417
27422
|
$(obj).attr("aria-label", moment(newDate).format("dddd, MMMM Do YYYY"));
|
|
27423
|
+
$("[bsdatepickerdaydecorator]").not(".is-other-month").attr("tabindex", "-1");
|
|
27424
|
+
$(obj).attr("tabindex", "0");
|
|
27418
27425
|
$(obj).focus();
|
|
27419
27426
|
_this.activeDate = newDate;
|
|
27420
27427
|
}
|
|
27421
27428
|
}));
|
|
27422
27429
|
if (newDate.getMonth() === (new Date).getMonth() && newDate.getFullYear() === (new Date).getFullYear()) {
|
|
27423
27430
|
_this.hightlightToday();
|
|
27424
|
-
$("span:contains(" + (new Date).getDate().toString() + ")").not(".is-other-month").parent().attr("aria-selected", "true");
|
|
27425
27431
|
}
|
|
27426
27432
|
}));
|
|
27427
27433
|
};
|
|
@@ -27463,6 +27469,9 @@
|
|
|
27463
27469
|
if (event.originalEvent) {
|
|
27464
27470
|
_this.setFocusForDate(-1);
|
|
27465
27471
|
}
|
|
27472
|
+
setTimeout((function() {
|
|
27473
|
+
$(".bs-datepicker-head .previous").focus();
|
|
27474
|
+
}));
|
|
27466
27475
|
}));
|
|
27467
27476
|
datePickerHead.find(".next").click((function(event) {
|
|
27468
27477
|
_this.next = _this.getMonth(_this.activeDate, 2);
|
|
@@ -27471,6 +27480,9 @@
|
|
|
27471
27480
|
if (event.originalEvent) {
|
|
27472
27481
|
_this.setFocusForDate(1);
|
|
27473
27482
|
}
|
|
27483
|
+
setTimeout((function() {
|
|
27484
|
+
$(".bs-datepicker-head .next").focus();
|
|
27485
|
+
}));
|
|
27474
27486
|
}));
|
|
27475
27487
|
datePickerHead.find(".current").click((function(event) {
|
|
27476
27488
|
if (event.originalEvent) {
|
|
@@ -27485,6 +27497,19 @@
|
|
|
27485
27497
|
}));
|
|
27486
27498
|
datePickerHead.find(".next").attr("aria-label", "Next Month, " + this.next.fullMonth + " " + this.next.date.getFullYear());
|
|
27487
27499
|
datePickerHead.find(".previous").attr("aria-label", "Previous Month, " + this.prev.fullMonth + " " + this.prev.date.getFullYear());
|
|
27500
|
+
setTimeout((function() {
|
|
27501
|
+
var currentNodes = datePickerHead.find(".current span");
|
|
27502
|
+
var msg = "Changed to month ";
|
|
27503
|
+
datePickerHead.find(".current").attr("aria-live", "assertive").attr("aria-atomic", "false");
|
|
27504
|
+
if (_this.clicked) {
|
|
27505
|
+
if ($(currentNodes[0]).text()) {
|
|
27506
|
+
datePickerHead.find(".ng-star-inserted").prepend('<div class="sr-only">' + msg + "</div>");
|
|
27507
|
+
}
|
|
27508
|
+
if ($(currentNodes[1]).text()) {
|
|
27509
|
+
datePickerHead.find(".current").last().prepend('<div class="sr-only"> and year </div>');
|
|
27510
|
+
}
|
|
27511
|
+
}
|
|
27512
|
+
}));
|
|
27488
27513
|
};
|
|
27489
27514
|
BaseDateTimeComponent.prototype.setFocusForMonthOrDay = function() {
|
|
27490
27515
|
var activeMonthOrYear = $(".bs-datepicker-head .current").first().text();
|
|
@@ -27620,8 +27645,6 @@
|
|
|
27620
27645
|
BaseDateTimeComponent.prototype.loadMonths = function() {
|
|
27621
27646
|
var _this = this;
|
|
27622
27647
|
setTimeout((function() {
|
|
27623
|
-
var datePickerBody = $(".bs-datepicker-body");
|
|
27624
|
-
datePickerBody.find("table.months span").attr("tabindex", "0");
|
|
27625
27648
|
_this.addKeyBoardEventsForMonths();
|
|
27626
27649
|
_this.addDatepickerMouseEvents();
|
|
27627
27650
|
}));
|
|
@@ -27664,8 +27687,6 @@
|
|
|
27664
27687
|
BaseDateTimeComponent.prototype.loadYears = function() {
|
|
27665
27688
|
var _this = this;
|
|
27666
27689
|
setTimeout((function() {
|
|
27667
|
-
var datePickerBody = $(".bs-datepicker-body");
|
|
27668
|
-
datePickerBody.find("table.years span").attr("tabindex", "0");
|
|
27669
27690
|
_this.addKeyBoardEventsForYears();
|
|
27670
27691
|
_this.addDatepickerMouseEvents();
|
|
27671
27692
|
}));
|
|
@@ -27682,6 +27703,8 @@
|
|
|
27682
27703
|
}
|
|
27683
27704
|
}
|
|
27684
27705
|
setTimeout((function() {
|
|
27706
|
+
$(".bs-datepicker-body table.months span").attr("tabindex", "-1");
|
|
27707
|
+
$(".bs-datepicker-body table.months span:contains(" + newMonth + ")").attr("tabindex", "0");
|
|
27685
27708
|
$(".bs-datepicker-body table.months span:contains(" + newMonth + ")").focus();
|
|
27686
27709
|
_this.activeDate = newDate;
|
|
27687
27710
|
}));
|
|
@@ -27730,6 +27753,8 @@
|
|
|
27730
27753
|
}
|
|
27731
27754
|
}
|
|
27732
27755
|
setTimeout((function() {
|
|
27756
|
+
$(".bs-datepicker-body table.years span").attr("tabindex", "-1");
|
|
27757
|
+
$(".bs-datepicker-body table.years span:contains(" + newYear + ")").attr("tabindex", "0");
|
|
27733
27758
|
$(".bs-datepicker-body table.years span:contains(" + newYear + ")").focus();
|
|
27734
27759
|
_this.activeDate = newDate;
|
|
27735
27760
|
}));
|
|
@@ -27896,11 +27921,6 @@
|
|
|
27896
27921
|
children[i].classList.remove("add-opacity");
|
|
27897
27922
|
}
|
|
27898
27923
|
displayInputElem.classList.remove("remove-opacity");
|
|
27899
|
-
var allDateTimeElements = this.nativeElement.getElementsByTagName("*");
|
|
27900
|
-
for (var i = 0; i < allDateTimeElements.length; i++) {
|
|
27901
|
-
allDateTimeElements[i].setAttribute("tabindex", this.tabindex);
|
|
27902
|
-
}
|
|
27903
|
-
displayInputElem.removeAttribute("tabindex");
|
|
27904
27924
|
}
|
|
27905
27925
|
};
|
|
27906
27926
|
BaseDateTimeComponent.prototype.onDateTimeInputFocus = function(skipFocus) {
|
|
@@ -27917,11 +27937,6 @@
|
|
|
27917
27937
|
children[i].classList.add("add-opacity");
|
|
27918
27938
|
}
|
|
27919
27939
|
displayInputElem.classList.add("remove-opacity");
|
|
27920
|
-
var allDateTimeElements = this.nativeElement.getElementsByTagName("*");
|
|
27921
|
-
for (var i = 0; i < allDateTimeElements.length; i++) {
|
|
27922
|
-
allDateTimeElements[i].setAttribute("tabindex", "-1");
|
|
27923
|
-
}
|
|
27924
|
-
displayInputElem.setAttribute("tabindex", this.tabindex);
|
|
27925
27940
|
return;
|
|
27926
27941
|
}
|
|
27927
27942
|
if (displayInputElem && this._triggeredByUser) {
|
|
@@ -28004,7 +28019,10 @@
|
|
|
28004
28019
|
this.isReadOnly = this.dataentrymode != "undefined" && !this.isDataEntryModeEnabledOnInput(this.dataentrymode);
|
|
28005
28020
|
var mobileInput = this.getMobileInput();
|
|
28006
28021
|
if (mobileInput) {
|
|
28007
|
-
|
|
28022
|
+
setTimeout((function() {
|
|
28023
|
+
mobileInput.style.width = mobileInput.parentElement.clientWidth + "px";
|
|
28024
|
+
mobileInput.style.height = mobileInput.parentElement.clientHeight + "px";
|
|
28025
|
+
}));
|
|
28008
28026
|
}
|
|
28009
28027
|
};
|
|
28010
28028
|
BaseDateTimeComponent.prototype.ngOnDestroy = function() {
|
|
@@ -28267,7 +28285,7 @@
|
|
|
28267
28285
|
if (this.isDropDownDisplayEnabledOnInput(this.showdropdownon)) {
|
|
28268
28286
|
event.stopPropagation();
|
|
28269
28287
|
var action = this.keyEventPlugin.constructor.getEventFullKey(event);
|
|
28270
|
-
if (action === "enter"
|
|
28288
|
+
if (action === "enter") {
|
|
28271
28289
|
var newVal = core$1.getDateObj(event.target.value, {
|
|
28272
28290
|
pattern: this.datepattern
|
|
28273
28291
|
});
|
|
@@ -28309,7 +28327,7 @@
|
|
|
28309
28327
|
type: core.Component,
|
|
28310
28328
|
args: [ {
|
|
28311
28329
|
selector: "[wmDate]",
|
|
28312
|
-
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
|
|
28330
|
+
template: ' <input class="form-control app-textbox app-dateinput display-input"\n focus-target\n type="text"\n [name]="name"\n [tabindex]="loadNativeDateInput ? \'-1\' : tabindex"\n [attr.aria-hidden]="!!loadNativeDateInput"\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]="loadNativeDateInput ? \'-1\' : tabindex"\n [attr.aria-hidden]="!!loadNativeDateInput"\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 [tabindex]="-1"\n [attr.aria-hidden]="!!loadNativeDateInput"\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]="tabindex || 0"\n (focus)="onDateTimeInputFocus(true); invokeOnFocus($event);"\n (blur)="onDateTimeInputBlur(); invokeOnTouched($event)"\n [attr.aria-label]="displayValue ? \'Change Date\' + displayValue : \'Choose Date\'"\n (click)="!(disabled || readonly || isCurrentDate) && showDatePickerModal()">\n </div>\n</ng-template>\n',
|
|
28313
28331
|
providers: [ base.provideAs(DateComponent, forms.NG_VALUE_ACCESSOR, true), base.provideAs(DateComponent, forms.NG_VALIDATORS, true), base.provideAsWidgetRef(DateComponent) ]
|
|
28314
28332
|
} ]
|
|
28315
28333
|
} ];
|
|
@@ -28761,7 +28779,7 @@
|
|
|
28761
28779
|
type: core.Component,
|
|
28762
28780
|
args: [ {
|
|
28763
28781
|
selector: "[wmDateTime]",
|
|
28764
|
-
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="
|
|
28782
|
+
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]="loadNativeDateInput ? \'-1\' : tabindex"\n [attr.aria-hidden]="!!loadNativeDateInput"\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]="loadNativeDateInput ? \'-1\' : tabindex"\n [attr.aria-hidden]="!!loadNativeDateInput"\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]="loadNativeDateInput ? \'-1\' : tabindex"\n [attr.aria-hidden]="!!loadNativeDateInput"\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 [tabindex]="-1"\n [attr.aria-hidden]="!!loadNativeDateInput"\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]="tabindex || 0"\n (focus)="onDateTimeInputFocus(true); invokeOnFocus($event)"\n (blur)="onDateTimeInputBlur(); invokeOnTouched($event)"\n (click)="!(disabled || readonly || isCurrentDate) && showDatePickerModal()">\n </div>\n</ng-template>\n',
|
|
28765
28783
|
providers: [ base.provideAs(DatetimeComponent, forms.NG_VALUE_ACCESSOR, true), base.provideAs(DatetimeComponent, forms.NG_VALIDATORS, true), base.provideAsWidgetRef(DatetimeComponent), {
|
|
28766
28784
|
provide: timepicker.TimepickerConfig,
|
|
28767
28785
|
deps: [ core$1.AbstractI18nService ],
|
|
@@ -35733,6 +35751,9 @@
|
|
|
35733
35751
|
return _this.hidePopover();
|
|
35734
35752
|
};
|
|
35735
35753
|
}
|
|
35754
|
+
setTimeout((function() {
|
|
35755
|
+
_this.anchorRef.nativeElement.removeAttribute("aria-describedby");
|
|
35756
|
+
}));
|
|
35736
35757
|
var deRegister = this.eventManager.addEventListener(popoverContainer, "keydown.esc", (function() {
|
|
35737
35758
|
_this.isOpen = false;
|
|
35738
35759
|
_this.setFocusToPopoverLink();
|
|
@@ -35740,8 +35761,6 @@
|
|
|
35740
35761
|
}));
|
|
35741
35762
|
var popoverStartBtn = popoverContainer.querySelector(".popover-start");
|
|
35742
35763
|
var popoverEndBtn = popoverContainer.querySelector(".popover-end");
|
|
35743
|
-
popoverStartBtn.setAttribute("aria-hidden", "true");
|
|
35744
|
-
popoverEndBtn.setAttribute("aria-hidden", "true");
|
|
35745
35764
|
popoverStartBtn.onkeydown = function(event) {
|
|
35746
35765
|
var action = _this.keyEventPlugin.constructor.getEventFullKey(event);
|
|
35747
35766
|
if (action === "shift.tab") {
|
|
@@ -35765,7 +35784,6 @@
|
|
|
35765
35784
|
return _this.close();
|
|
35766
35785
|
};
|
|
35767
35786
|
}
|
|
35768
|
-
core.setAttr(popoverContainer, "tabindex", 0);
|
|
35769
35787
|
setTimeout((function() {
|
|
35770
35788
|
return popoverStartBtn.focus();
|
|
35771
35789
|
}), 50);
|
|
@@ -44688,9 +44706,9 @@
|
|
|
44688
44706
|
}
|
|
44689
44707
|
}
|
|
44690
44708
|
};
|
|
44691
|
-
ListComponent.prototype.onUpdate = function(evt, ui) {
|
|
44709
|
+
ListComponent.prototype.onUpdate = function(evt, ui, presentIndex) {
|
|
44692
44710
|
var data = this.fieldDefs;
|
|
44693
|
-
var newIndex = ui.item.index();
|
|
44711
|
+
var newIndex = ui === undefined ? presentIndex : ui.item.index();
|
|
44694
44712
|
var oldIndex = this.$ulEle.data("oldIndex");
|
|
44695
44713
|
var minIndex = _.min([ newIndex, oldIndex ]);
|
|
44696
44714
|
var maxIndex = _.max([ newIndex, oldIndex ]);
|
|
@@ -44886,8 +44904,10 @@
|
|
|
44886
44904
|
this.currentIndex = presentIndex + 1;
|
|
44887
44905
|
if (this.isListElementMovable) {
|
|
44888
44906
|
this.ariaText = "Item " + this.currentIndex + " grabbed, current position ";
|
|
44907
|
+
this.$ulEle.data("oldIndex", presentIndex);
|
|
44889
44908
|
} else {
|
|
44890
44909
|
this.ariaText = "Item " + this.currentIndex + " dropped, final position ";
|
|
44910
|
+
this.onUpdate($event, undefined, presentIndex);
|
|
44891
44911
|
}
|
|
44892
44912
|
}
|
|
44893
44913
|
};
|
|
@@ -44932,10 +44952,12 @@
|
|
|
44932
44952
|
this.dataNavigator.widget.maxResults = nv;
|
|
44933
44953
|
this.dataNavigator.maxResults = nv;
|
|
44934
44954
|
} else if (key === "enablereorder") {
|
|
44935
|
-
if (nv) {
|
|
44955
|
+
if (nv && this.$ulEle) {
|
|
44956
|
+
this.$ulEle.attr("aria-describedby", this.titleId);
|
|
44936
44957
|
this.configureDnD();
|
|
44937
44958
|
this.$ulEle.sortable("enable");
|
|
44938
44959
|
} else if (this.$ulEle && !nv) {
|
|
44960
|
+
this.$ulEle.removeAttr("aria-describedby");
|
|
44939
44961
|
this.$ulEle.sortable("disable");
|
|
44940
44962
|
}
|
|
44941
44963
|
} else {
|
|
@@ -45089,9 +45111,18 @@
|
|
|
45089
45111
|
_super.prototype.ngAfterViewInit.call(_this);
|
|
45090
45112
|
_this.setUpCUDHandlers();
|
|
45091
45113
|
_this.selectedItemWidgets = _this.multiselect ? [] : {};
|
|
45114
|
+
var ele = $(_this.nativeElement).find(".app-livelist-container");
|
|
45092
45115
|
if (_this.enablereorder && !_this.groupby) {
|
|
45116
|
+
if (ele) {
|
|
45117
|
+
ele.attr("aria-describedby", _this.titleId);
|
|
45118
|
+
}
|
|
45093
45119
|
_this.configureDnD();
|
|
45094
45120
|
}
|
|
45121
|
+
if (!_this.enablereorder) {
|
|
45122
|
+
if (ele) {
|
|
45123
|
+
ele.removeAttr("aria-describedby");
|
|
45124
|
+
}
|
|
45125
|
+
}
|
|
45095
45126
|
if (_this.groupby && _this.collapsible) {
|
|
45096
45127
|
_this.handleHeaderClick = base.handleHeaderClick;
|
|
45097
45128
|
_this.toggleAllHeaders = base.toggleAllHeaders.bind(undefined, _this);
|
|
@@ -45101,6 +45132,16 @@
|
|
|
45101
45132
|
this.setupHandlers();
|
|
45102
45133
|
var $ul = this.nativeElement.querySelector("ul.app-livelist-container");
|
|
45103
45134
|
base.styler($ul, this, base.APPLY_STYLES_TYPE.SCROLLABLE_CONTAINER);
|
|
45135
|
+
if (this.enablereorder) {
|
|
45136
|
+
if ($ul) {
|
|
45137
|
+
$ul.setAttribute("aria-describedby", this.titleId);
|
|
45138
|
+
}
|
|
45139
|
+
}
|
|
45140
|
+
if (!this.enablereorder) {
|
|
45141
|
+
if ($ul) {
|
|
45142
|
+
$ul.removeAttribute("aria-describedby");
|
|
45143
|
+
}
|
|
45144
|
+
}
|
|
45104
45145
|
if (core.isMobileApp() && $ul.querySelector(".app-list-item-action-panel")) {
|
|
45105
45146
|
this._listAnimator = new ListAnimator(this);
|
|
45106
45147
|
}
|
|
@@ -45125,7 +45166,7 @@
|
|
|
45125
45166
|
type: core$1.Component,
|
|
45126
45167
|
args: [ {
|
|
45127
45168
|
selector: "div[wmList]",
|
|
45128
|
-
template: '<div class="panel-heading" *ngIf="title || subheading || iconclass">\n <h3 class="panel-title">\n <div class="pull-left">\n <i class="app-icon panel-icon {{iconclass}}" aria-hidden="true" [hidden]="!iconclass"></i>\n </div>\n <div class="pull-left">\n <div class="heading" [innerHTML]="title"></div>\n <div class="description" [innerHTML]="subheading"></div>\n </div>\n </h3>\n</div>\n\n<nav class="app-datanavigator" [attr.aria-disabled]="dataNavigator.isDisablePrevious" aria-label="Page navigation" *ngIf="navigation === \'Inline\' && !noDataFound">\n <ul class="pager">\n <li class="previous" [ngClass]="{\'disabled\': (dataNavigator ? dataNavigator.isDisablePrevious : true)}">\n <a href="javascript:void(0);" (click)="dataNavigator.navigatePage(\'prev\', $event)"\n [attr.aria-disabled]="dataNavigator.isDisablePrevious">\n <i class="wi wi-chevron-left" aria-hidden="true"></i>\n <span class="sr-only">Go to Previous page {{dataNavigator.isDisablePrevious ? \', Disabled\' : \'\'}}</span>\n </a>\n </li>\n </ul>\n</nav>\n<div *ngIf="navigation === \'Inline\' && !noDataFound" aria-live="polite" aria-atomic="true" class="sr-only"> {{\'Page \' + dataNavigator.dn.currentPage + \' of \' + dataNavigator.pageCount }}</div>\n\n<div>\n <div id={{titleId}} class="sr-only" *ngIf="enablereorder">\n Press space bar to toggle drag drop mode, use arrow keys to move selected elements.\n </div>\n\n <div aria-live="assertive" *ngIf="listItems && enablereorder && currentIndex" class="sr-only" >\n {{ariaText + currentIndex + \' of \' + listItems.length}}\n </div>\n</div>\n\n<ul [attr.tabindex]="tabindex"
|
|
45169
|
+
template: '<div class="panel-heading" *ngIf="title || subheading || iconclass">\n <h3 class="panel-title">\n <div class="pull-left">\n <i class="app-icon panel-icon {{iconclass}}" aria-hidden="true" [hidden]="!iconclass"></i>\n </div>\n <div class="pull-left">\n <div class="heading" [innerHTML]="title"></div>\n <div class="description" [innerHTML]="subheading"></div>\n </div>\n </h3>\n</div>\n\n<nav class="app-datanavigator" [attr.aria-disabled]="dataNavigator.isDisablePrevious" aria-label="Page navigation" *ngIf="navigation === \'Inline\' && !noDataFound">\n <ul class="pager">\n <li class="previous" [ngClass]="{\'disabled\': (dataNavigator ? dataNavigator.isDisablePrevious : true)}">\n <a href="javascript:void(0);" (click)="dataNavigator.navigatePage(\'prev\', $event)"\n [attr.aria-disabled]="dataNavigator.isDisablePrevious">\n <i class="wi wi-chevron-left" aria-hidden="true"></i>\n <span class="sr-only">Go to Previous page {{dataNavigator.isDisablePrevious ? \', Disabled\' : \'\'}}</span>\n </a>\n </li>\n </ul>\n</nav>\n<div *ngIf="navigation === \'Inline\' && !noDataFound" aria-live="polite" aria-atomic="true" class="sr-only"> {{\'Page \' + dataNavigator.dn.currentPage + \' of \' + dataNavigator.pageCount }}</div>\n\n<div>\n <div id={{titleId}} class="sr-only" *ngIf="enablereorder">\n Press space bar to toggle drag drop mode, use arrow keys to move selected elements.\n </div>\n\n <div aria-live="assertive" *ngIf="listItems && enablereorder && currentIndex" class="sr-only" >\n {{ariaText + currentIndex + \' of \' + listItems.length}}\n </div>\n</div>\n\n<ul [attr.tabindex]="tabindex" class="app-livelist-container clearfix {{direction === \'horizontal\' ? \'app-horizontal-list\': \'\'}} {{listclass}}" role="list"\n (keydown.enter)="handleKeyDown($event, \'select\')"\n\n (keydown.space)="handleKeyDown($event, \'space\')"\n\n (keydown.arrowup)="handleKeyDown($event, \'focusPrev\')"\n (keydown.arrowdown)="handleKeyDown($event, \'focusNext\')"\n (keydown.arrowleft)="handleKeyDown($event, \'focusPrev\')"\n (keydown.arrowright)="handleKeyDown($event, \'focusNext\')"\n\n (keydown.shift.arrowup)="handleKeyDown($event, \'selectPrev\')"\n (keydown.shift.arrowdown)="handleKeyDown($event, \'selectNext\')"\n (keydown.shift.arrowleft)="handleKeyDown($event, \'selectPrev\')"\n (keydown.shift.arrowright)="handleKeyDown($event, \'selectNext\')"\n [hidden]="noDataFound && !variableInflight"\n>\n <ng-template [ngIf]="!groupby" [ngIfElse]="groupedListTemplate">\n <li *ngFor="let item of fieldDefs; index as $index; first as $first; last as $last;" class="app-list-item {{direction === \'horizontal\' ? \'\' : itemsPerRowClass}}" [ngClass]="listItemRef.itemClass"\n [wmListItem]="item"\n #listItemRef="listItemRef"\n [attr.tabindex]="tabindex"\n role="listitem">\n <ng-container [ngTemplateOutlet]="listTemplate" [ngTemplateOutletContext]="{item: item, $index: $index, itemRef: listItemRef, $first: $first, $last: $last, currentItemWidgets: listItemRef.currentItemWidgets}"></ng-container>\n </li>\n </ng-template>\n <ng-container [ngTemplateOutlet]="listLeftActionTemplate"></ng-container>\n <ng-container [ngTemplateOutlet]="listRightActionTemplate"></ng-container>\n</ul>\n\n<div class="no-data-msg" *ngIf="noDataFound && !variableInflight" [textContent]="nodatamessage"></div>\n\n<div class="loading-data-msg" *ngIf="variableInflight && !pulltorefresh">\n <span>\n <i class="app-icon panel-icon fa-spin" aria-hidden="true" [ngClass]="loadingicon"></i>\n <span class="sr-only">Loading</span>\n <span class="loading-text" [textContent]="loadingdatamsg"></span>\n </span>\n</div>\n\n<nav class="app-datanavigator" [attr.aria-disabled]="dataNavigator.isDisableNext" *ngIf="navigation === \'Inline\' && !noDataFound">\n <ul class="pager">\n <li class="next" [ngClass]="{\'disabled\': (dataNavigator ? dataNavigator.isDisableNext : true)}">\n <a href="javascript:void(0);" (click)="dataNavigator.navigatePage(\'next\', $event)"\n [attr.aria-disabled]="dataNavigator.isDisableNext">\n <i class="wi wi-chevron-right" aria-hidden="true"></i>\n <span class="sr-only">Go to Next page {{dataNavigator.isDisableNext ? \', Disabled\' : \'\'}}</span>\n </a>\n </li>\n </ul>\n</nav>\n\n<div class="panel-footer" *ngIf="navigation !== \'None\'" [hidden]="!showNavigation || (onDemandLoad && dataNavigator.isDisableNext) || (dataNavigator.dataSize <= pagesize) || (!dataNavigator.dataSize && !dataNavigator.datasource?.pagination?.next)">\n <nav wmPagination\n navigationalign.bind="navigationalign"\n navigation.bind="navControls"\n showrecordcount.bind="showrecordcount"\n maxsize.bind="maxsize"\n boundarylinks.bind="boundarylinks"\n forceellipses.bind="forceellipses"\n directionlinks.bind="directionlinks"\n show.bind="!onDemandLoad"\n paginationchange.event="beforePaginationChange($event, $index)"\n ></nav>\n <a *ngIf="onDemandLoad" href="javascript:void(0);"\n (click)="dataNavigator.navigatePage(\'next\', $event)"\n class="app-button btn btn-block"\n [ngClass]="paginationclass"\n [textContent]="ondemandmessage"\n ></a>\n</div>\n\n\x3c!--This template will be displayed when groupby is specified--\x3e\n<ng-template #groupedListTemplate>\n <li *ngFor="let groupObj of groupedData" class="app-list-item-group clearfix">\n <ul [attr.tabindex]="tabindex" class="list-group item-group" [ngClass]="listclass">\n <li class="app-list-item-header list-item list-group-header" (click)="handleHeaderClick($event)" [ngClass]="{\'collapsible-content\': collapsible}">\n <h4>{{groupObj.key}}\n <div class="header-action">\n <i class="app-icon wi action wi-chevron-up" *ngIf="collapsible"></i>\n <span *ngIf="showcount" class="label label-default">{{groupObj.data.length}}</span>\n </div>\n </h4>\n </li>\n <ul class="list-group clearfix {{direction === \'horizontal\' ? \'app-horizontal-list\': \'\'}}">\n <li *ngFor="let item of groupObj.data; index as $index; first as $first; last as $last;" [attr.tabindex]="tabindex"\n class="app-list-item group-list-item {{itemsPerRowClass}}"\n [ngClass]="listItemRef.itemClass"\n [wmListItem]="item" #listItemRef="listItemRef">\n <ng-container [ngTemplateOutlet]="listTemplate" [ngTemplateOutletContext]="{item: item, $index: $index, itemRef: listItemRef, $first: $first, $last: $last, currentItemWidgets: listItemRef.currentItemWidgets}"></ng-container>\n </li>\n </ul>\n </ul>\n </li>\n</ng-template>\n',
|
|
45129
45170
|
providers: [ base.provideAsWidgetRef(ListComponent) ]
|
|
45130
45171
|
} ]
|
|
45131
45172
|
} ];
|