@wavemaker/app-runtime-wm-build 11.4.0-next.24592 → 11.4.0-next.24653
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) {
|
|
@@ -15058,7 +15060,7 @@
|
|
|
15058
15060
|
}
|
|
15059
15061
|
var markup = "<" + tagName$q + " wmPopover " + transpiler.getAttrMarkup(attrs) + ">";
|
|
15060
15062
|
var contextAttrs = table ? 'let-row="row"' : "";
|
|
15061
|
-
markup += "<ng-template " + contextAttrs + '><
|
|
15063
|
+
markup += "<ng-template " + contextAttrs + '><div tabindex="0" class="popover-start sr-only" aria-label="">popover content start</div>';
|
|
15062
15064
|
if (popoverTemplate) {
|
|
15063
15065
|
markup += "" + (popoverTemplate ? popoverTemplate : "");
|
|
15064
15066
|
}
|
|
@@ -15069,7 +15071,7 @@
|
|
|
15069
15071
|
if (shared.get("hasPopoverContent")) {
|
|
15070
15072
|
markup += "</div>";
|
|
15071
15073
|
}
|
|
15072
|
-
return markup + '<
|
|
15074
|
+
return markup + '<div tabindex="0" class="popover-end sr-only" aria-label="">popover content ended</div></ng-template></' + tagName$q + ">";
|
|
15073
15075
|
}
|
|
15074
15076
|
};
|
|
15075
15077
|
}));
|
|
@@ -27393,14 +27395,18 @@
|
|
|
27393
27395
|
var newDay = newDate.getDate().toString();
|
|
27394
27396
|
_.filter($("span:contains(" + newDay + ")").not(".is-other-month"), (function(obj) {
|
|
27395
27397
|
if ($(obj).text() === newDay) {
|
|
27398
|
+
if ($(obj).hasClass("selected")) {
|
|
27399
|
+
$(obj).parent().attr("aria-selected", "true");
|
|
27400
|
+
}
|
|
27396
27401
|
$(obj).attr("aria-label", moment(newDate).format("dddd, MMMM Do YYYY"));
|
|
27402
|
+
$("[bsdatepickerdaydecorator]").not(".is-other-month").attr("tabindex", "-1");
|
|
27403
|
+
$(obj).attr("tabindex", "0");
|
|
27397
27404
|
$(obj).focus();
|
|
27398
27405
|
_this.activeDate = newDate;
|
|
27399
27406
|
}
|
|
27400
27407
|
}));
|
|
27401
27408
|
if (newDate.getMonth() === (new Date).getMonth() && newDate.getFullYear() === (new Date).getFullYear()) {
|
|
27402
27409
|
_this.hightlightToday();
|
|
27403
|
-
$("span:contains(" + (new Date).getDate().toString() + ")").not(".is-other-month").parent().attr("aria-selected", "true");
|
|
27404
27410
|
}
|
|
27405
27411
|
}));
|
|
27406
27412
|
};
|
|
@@ -27442,6 +27448,9 @@
|
|
|
27442
27448
|
if (event.originalEvent) {
|
|
27443
27449
|
_this.setFocusForDate(-1);
|
|
27444
27450
|
}
|
|
27451
|
+
setTimeout((function() {
|
|
27452
|
+
$(".bs-datepicker-head .previous").focus();
|
|
27453
|
+
}));
|
|
27445
27454
|
}));
|
|
27446
27455
|
datePickerHead.find(".next").click((function(event) {
|
|
27447
27456
|
_this.next = _this.getMonth(_this.activeDate, 2);
|
|
@@ -27450,6 +27459,9 @@
|
|
|
27450
27459
|
if (event.originalEvent) {
|
|
27451
27460
|
_this.setFocusForDate(1);
|
|
27452
27461
|
}
|
|
27462
|
+
setTimeout((function() {
|
|
27463
|
+
$(".bs-datepicker-head .next").focus();
|
|
27464
|
+
}));
|
|
27453
27465
|
}));
|
|
27454
27466
|
datePickerHead.find(".current").click((function(event) {
|
|
27455
27467
|
if (event.originalEvent) {
|
|
@@ -27464,6 +27476,19 @@
|
|
|
27464
27476
|
}));
|
|
27465
27477
|
datePickerHead.find(".next").attr("aria-label", "Next Month, " + this.next.fullMonth + " " + this.next.date.getFullYear());
|
|
27466
27478
|
datePickerHead.find(".previous").attr("aria-label", "Previous Month, " + this.prev.fullMonth + " " + this.prev.date.getFullYear());
|
|
27479
|
+
setTimeout((function() {
|
|
27480
|
+
var currentNodes = datePickerHead.find(".current span");
|
|
27481
|
+
var msg = "Changed to month ";
|
|
27482
|
+
datePickerHead.find(".current").attr("aria-live", "assertive").attr("aria-atomic", "false");
|
|
27483
|
+
if (_this.clicked) {
|
|
27484
|
+
if ($(currentNodes[0]).text()) {
|
|
27485
|
+
datePickerHead.find(".ng-star-inserted").prepend('<div class="sr-only">' + msg + "</div>");
|
|
27486
|
+
}
|
|
27487
|
+
if ($(currentNodes[1]).text()) {
|
|
27488
|
+
datePickerHead.find(".current").last().prepend('<div class="sr-only"> and year </div>');
|
|
27489
|
+
}
|
|
27490
|
+
}
|
|
27491
|
+
}));
|
|
27467
27492
|
};
|
|
27468
27493
|
BaseDateTimeComponent.prototype.setFocusForMonthOrDay = function() {
|
|
27469
27494
|
var activeMonthOrYear = $(".bs-datepicker-head .current").first().text();
|
|
@@ -27599,8 +27624,6 @@
|
|
|
27599
27624
|
BaseDateTimeComponent.prototype.loadMonths = function() {
|
|
27600
27625
|
var _this = this;
|
|
27601
27626
|
setTimeout((function() {
|
|
27602
|
-
var datePickerBody = $(".bs-datepicker-body");
|
|
27603
|
-
datePickerBody.find("table.months span").attr("tabindex", "0");
|
|
27604
27627
|
_this.addKeyBoardEventsForMonths();
|
|
27605
27628
|
_this.addDatepickerMouseEvents();
|
|
27606
27629
|
}));
|
|
@@ -27643,8 +27666,6 @@
|
|
|
27643
27666
|
BaseDateTimeComponent.prototype.loadYears = function() {
|
|
27644
27667
|
var _this = this;
|
|
27645
27668
|
setTimeout((function() {
|
|
27646
|
-
var datePickerBody = $(".bs-datepicker-body");
|
|
27647
|
-
datePickerBody.find("table.years span").attr("tabindex", "0");
|
|
27648
27669
|
_this.addKeyBoardEventsForYears();
|
|
27649
27670
|
_this.addDatepickerMouseEvents();
|
|
27650
27671
|
}));
|
|
@@ -27661,6 +27682,8 @@
|
|
|
27661
27682
|
}
|
|
27662
27683
|
}
|
|
27663
27684
|
setTimeout((function() {
|
|
27685
|
+
$(".bs-datepicker-body table.months span").attr("tabindex", "-1");
|
|
27686
|
+
$(".bs-datepicker-body table.months span:contains(" + newMonth + ")").attr("tabindex", "0");
|
|
27664
27687
|
$(".bs-datepicker-body table.months span:contains(" + newMonth + ")").focus();
|
|
27665
27688
|
_this.activeDate = newDate;
|
|
27666
27689
|
}));
|
|
@@ -27709,6 +27732,8 @@
|
|
|
27709
27732
|
}
|
|
27710
27733
|
}
|
|
27711
27734
|
setTimeout((function() {
|
|
27735
|
+
$(".bs-datepicker-body table.years span").attr("tabindex", "-1");
|
|
27736
|
+
$(".bs-datepicker-body table.years span:contains(" + newYear + ")").attr("tabindex", "0");
|
|
27712
27737
|
$(".bs-datepicker-body table.years span:contains(" + newYear + ")").focus();
|
|
27713
27738
|
_this.activeDate = newDate;
|
|
27714
27739
|
}));
|
|
@@ -27875,11 +27900,6 @@
|
|
|
27875
27900
|
children[i].classList.remove("add-opacity");
|
|
27876
27901
|
}
|
|
27877
27902
|
displayInputElem.classList.remove("remove-opacity");
|
|
27878
|
-
var allDateTimeElements = this.nativeElement.getElementsByTagName("*");
|
|
27879
|
-
for (var i = 0; i < allDateTimeElements.length; i++) {
|
|
27880
|
-
allDateTimeElements[i].setAttribute("tabindex", this.tabindex);
|
|
27881
|
-
}
|
|
27882
|
-
displayInputElem.removeAttribute("tabindex");
|
|
27883
27903
|
}
|
|
27884
27904
|
};
|
|
27885
27905
|
BaseDateTimeComponent.prototype.onDateTimeInputFocus = function(skipFocus) {
|
|
@@ -27896,11 +27916,6 @@
|
|
|
27896
27916
|
children[i].classList.add("add-opacity");
|
|
27897
27917
|
}
|
|
27898
27918
|
displayInputElem.classList.add("remove-opacity");
|
|
27899
|
-
var allDateTimeElements = this.nativeElement.getElementsByTagName("*");
|
|
27900
|
-
for (var i = 0; i < allDateTimeElements.length; i++) {
|
|
27901
|
-
allDateTimeElements[i].setAttribute("tabindex", "-1");
|
|
27902
|
-
}
|
|
27903
|
-
displayInputElem.setAttribute("tabindex", this.tabindex);
|
|
27904
27919
|
return;
|
|
27905
27920
|
}
|
|
27906
27921
|
if (displayInputElem && this._triggeredByUser) {
|
|
@@ -27983,7 +27998,10 @@
|
|
|
27983
27998
|
this.isReadOnly = this.dataentrymode != "undefined" && !this.isDataEntryModeEnabledOnInput(this.dataentrymode);
|
|
27984
27999
|
var mobileInput = this.getMobileInput();
|
|
27985
28000
|
if (mobileInput) {
|
|
27986
|
-
|
|
28001
|
+
setTimeout((function() {
|
|
28002
|
+
mobileInput.style.width = mobileInput.parentElement.clientWidth + "px";
|
|
28003
|
+
mobileInput.style.height = mobileInput.parentElement.clientHeight + "px";
|
|
28004
|
+
}));
|
|
27987
28005
|
}
|
|
27988
28006
|
};
|
|
27989
28007
|
BaseDateTimeComponent.prototype.ngOnDestroy = function() {
|
|
@@ -28246,7 +28264,7 @@
|
|
|
28246
28264
|
if (this.isDropDownDisplayEnabledOnInput(this.showdropdownon)) {
|
|
28247
28265
|
event.stopPropagation();
|
|
28248
28266
|
var action = this.keyEventPlugin.constructor.getEventFullKey(event);
|
|
28249
|
-
if (action === "enter"
|
|
28267
|
+
if (action === "enter") {
|
|
28250
28268
|
var newVal = core$1.getDateObj(event.target.value, {
|
|
28251
28269
|
pattern: this.datepattern
|
|
28252
28270
|
});
|
|
@@ -28288,7 +28306,7 @@
|
|
|
28288
28306
|
type: core.Component,
|
|
28289
28307
|
args: [ {
|
|
28290
28308
|
selector: "[wmDate]",
|
|
28291
|
-
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
|
|
28309
|
+
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',
|
|
28292
28310
|
providers: [ base.provideAs(DateComponent, forms.NG_VALUE_ACCESSOR, true), base.provideAs(DateComponent, forms.NG_VALIDATORS, true), base.provideAsWidgetRef(DateComponent) ]
|
|
28293
28311
|
} ]
|
|
28294
28312
|
} ];
|
|
@@ -28740,7 +28758,7 @@
|
|
|
28740
28758
|
type: core.Component,
|
|
28741
28759
|
args: [ {
|
|
28742
28760
|
selector: "[wmDateTime]",
|
|
28743
|
-
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="
|
|
28761
|
+
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',
|
|
28744
28762
|
providers: [ base.provideAs(DatetimeComponent, forms.NG_VALUE_ACCESSOR, true), base.provideAs(DatetimeComponent, forms.NG_VALIDATORS, true), base.provideAsWidgetRef(DatetimeComponent), {
|
|
28745
28763
|
provide: timepicker.TimepickerConfig,
|
|
28746
28764
|
deps: [ core$1.AbstractI18nService ],
|
|
@@ -35712,6 +35730,9 @@
|
|
|
35712
35730
|
return _this.hidePopover();
|
|
35713
35731
|
};
|
|
35714
35732
|
}
|
|
35733
|
+
setTimeout((function() {
|
|
35734
|
+
_this.anchorRef.nativeElement.removeAttribute("aria-describedby");
|
|
35735
|
+
}));
|
|
35715
35736
|
var deRegister = this.eventManager.addEventListener(popoverContainer, "keydown.esc", (function() {
|
|
35716
35737
|
_this.isOpen = false;
|
|
35717
35738
|
_this.setFocusToPopoverLink();
|
|
@@ -35719,8 +35740,6 @@
|
|
|
35719
35740
|
}));
|
|
35720
35741
|
var popoverStartBtn = popoverContainer.querySelector(".popover-start");
|
|
35721
35742
|
var popoverEndBtn = popoverContainer.querySelector(".popover-end");
|
|
35722
|
-
popoverStartBtn.setAttribute("aria-hidden", "true");
|
|
35723
|
-
popoverEndBtn.setAttribute("aria-hidden", "true");
|
|
35724
35743
|
popoverStartBtn.onkeydown = function(event) {
|
|
35725
35744
|
var action = _this.keyEventPlugin.constructor.getEventFullKey(event);
|
|
35726
35745
|
if (action === "shift.tab") {
|
|
@@ -35744,7 +35763,6 @@
|
|
|
35744
35763
|
return _this.close();
|
|
35745
35764
|
};
|
|
35746
35765
|
}
|
|
35747
|
-
core.setAttr(popoverContainer, "tabindex", 0);
|
|
35748
35766
|
setTimeout((function() {
|
|
35749
35767
|
return popoverStartBtn.focus();
|
|
35750
35768
|
}), 50);
|
|
@@ -36423,7 +36441,7 @@
|
|
|
36423
36441
|
var subscriptions = [ _this.bsModal.onShown.subscribe((function(_a) {
|
|
36424
36442
|
var id = _a.id;
|
|
36425
36443
|
var ref = _this.dialogService.getLastOpenedDialog();
|
|
36426
|
-
if (ref === _this) {
|
|
36444
|
+
if (ref === _this && !_this.dialogId) {
|
|
36427
36445
|
invokeOpenedCallback(ref);
|
|
36428
36446
|
_this.dialogId = id;
|
|
36429
36447
|
}
|
|
@@ -36437,6 +36455,7 @@
|
|
|
36437
36455
|
ref = _this.dialogService.getLastOpenedDialog();
|
|
36438
36456
|
}
|
|
36439
36457
|
if (ref === _this) {
|
|
36458
|
+
_this.dialogId = null;
|
|
36440
36459
|
_this.dialogService.removeFromOpenedDialogs(ref);
|
|
36441
36460
|
_this.dialogService.removeFromClosedDialogs(ref);
|
|
36442
36461
|
invokeClosedCallback(ref);
|
|
@@ -44667,9 +44686,9 @@
|
|
|
44667
44686
|
}
|
|
44668
44687
|
}
|
|
44669
44688
|
};
|
|
44670
|
-
ListComponent.prototype.onUpdate = function(evt, ui) {
|
|
44689
|
+
ListComponent.prototype.onUpdate = function(evt, ui, presentIndex) {
|
|
44671
44690
|
var data = this.fieldDefs;
|
|
44672
|
-
var newIndex = ui.item.index();
|
|
44691
|
+
var newIndex = ui === undefined ? presentIndex : ui.item.index();
|
|
44673
44692
|
var oldIndex = this.$ulEle.data("oldIndex");
|
|
44674
44693
|
var minIndex = _.min([ newIndex, oldIndex ]);
|
|
44675
44694
|
var maxIndex = _.max([ newIndex, oldIndex ]);
|
|
@@ -44865,8 +44884,10 @@
|
|
|
44865
44884
|
this.currentIndex = presentIndex + 1;
|
|
44866
44885
|
if (this.isListElementMovable) {
|
|
44867
44886
|
this.ariaText = "Item " + this.currentIndex + " grabbed, current position ";
|
|
44887
|
+
this.$ulEle.data("oldIndex", presentIndex);
|
|
44868
44888
|
} else {
|
|
44869
44889
|
this.ariaText = "Item " + this.currentIndex + " dropped, final position ";
|
|
44890
|
+
this.onUpdate($event, undefined, presentIndex);
|
|
44870
44891
|
}
|
|
44871
44892
|
}
|
|
44872
44893
|
};
|
|
@@ -44911,10 +44932,12 @@
|
|
|
44911
44932
|
this.dataNavigator.widget.maxResults = nv;
|
|
44912
44933
|
this.dataNavigator.maxResults = nv;
|
|
44913
44934
|
} else if (key === "enablereorder") {
|
|
44914
|
-
if (nv) {
|
|
44935
|
+
if (nv && this.$ulEle) {
|
|
44936
|
+
this.$ulEle.attr("aria-describedby", this.titleId);
|
|
44915
44937
|
this.configureDnD();
|
|
44916
44938
|
this.$ulEle.sortable("enable");
|
|
44917
44939
|
} else if (this.$ulEle && !nv) {
|
|
44940
|
+
this.$ulEle.removeAttr("aria-describedby");
|
|
44918
44941
|
this.$ulEle.sortable("disable");
|
|
44919
44942
|
}
|
|
44920
44943
|
} else {
|
|
@@ -45068,9 +45091,18 @@
|
|
|
45068
45091
|
_super.prototype.ngAfterViewInit.call(_this);
|
|
45069
45092
|
_this.setUpCUDHandlers();
|
|
45070
45093
|
_this.selectedItemWidgets = _this.multiselect ? [] : {};
|
|
45094
|
+
var ele = $(_this.nativeElement).find(".app-livelist-container");
|
|
45071
45095
|
if (_this.enablereorder && !_this.groupby) {
|
|
45096
|
+
if (ele) {
|
|
45097
|
+
ele.attr("aria-describedby", _this.titleId);
|
|
45098
|
+
}
|
|
45072
45099
|
_this.configureDnD();
|
|
45073
45100
|
}
|
|
45101
|
+
if (!_this.enablereorder) {
|
|
45102
|
+
if (ele) {
|
|
45103
|
+
ele.removeAttr("aria-describedby");
|
|
45104
|
+
}
|
|
45105
|
+
}
|
|
45074
45106
|
if (_this.groupby && _this.collapsible) {
|
|
45075
45107
|
_this.handleHeaderClick = base.handleHeaderClick;
|
|
45076
45108
|
_this.toggleAllHeaders = base.toggleAllHeaders.bind(undefined, _this);
|
|
@@ -45080,6 +45112,16 @@
|
|
|
45080
45112
|
this.setupHandlers();
|
|
45081
45113
|
var $ul = this.nativeElement.querySelector("ul.app-livelist-container");
|
|
45082
45114
|
base.styler($ul, this, base.APPLY_STYLES_TYPE.SCROLLABLE_CONTAINER);
|
|
45115
|
+
if (this.enablereorder) {
|
|
45116
|
+
if ($ul) {
|
|
45117
|
+
$ul.setAttribute("aria-describedby", this.titleId);
|
|
45118
|
+
}
|
|
45119
|
+
}
|
|
45120
|
+
if (!this.enablereorder) {
|
|
45121
|
+
if ($ul) {
|
|
45122
|
+
$ul.removeAttribute("aria-describedby");
|
|
45123
|
+
}
|
|
45124
|
+
}
|
|
45083
45125
|
if (core.isMobileApp() && $ul.querySelector(".app-list-item-action-panel")) {
|
|
45084
45126
|
this._listAnimator = new ListAnimator(this);
|
|
45085
45127
|
}
|
|
@@ -45104,7 +45146,7 @@
|
|
|
45104
45146
|
type: core$1.Component,
|
|
45105
45147
|
args: [ {
|
|
45106
45148
|
selector: "div[wmList]",
|
|
45107
|
-
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<div 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</div>\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"
|
|
45149
|
+
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<div 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</div>\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<div 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</div>\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',
|
|
45108
45150
|
providers: [ base.provideAsWidgetRef(ListComponent) ]
|
|
45109
45151
|
} ]
|
|
45110
45152
|
} ];
|
|
@@ -46474,6 +46516,11 @@
|
|
|
46474
46516
|
return;
|
|
46475
46517
|
}
|
|
46476
46518
|
this.variableInflight = false;
|
|
46519
|
+
if (newValue && newValue.length === 0) {
|
|
46520
|
+
this.callDataGridMethod("setStatus", "nodata", this.nodatamessage);
|
|
46521
|
+
} else {
|
|
46522
|
+
this.callDataGridMethod("setStatus", "ready");
|
|
46523
|
+
}
|
|
46477
46524
|
if (this.gridOptions.isNavTypeScrollOrOndemand()) {
|
|
46478
46525
|
_a = __read(this.paginationService.updateFieldsOnPagination(this, newValue), 2),
|
|
46479
46526
|
this._gridData = _a[0], this.currentPage = _a[1];
|