@wavemaker/app-runtime-wm-build 11.4.0-next.24593 → 11.4.0-next.24654
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);
|
|
@@ -44668,9 +44686,9 @@
|
|
|
44668
44686
|
}
|
|
44669
44687
|
}
|
|
44670
44688
|
};
|
|
44671
|
-
ListComponent.prototype.onUpdate = function(evt, ui) {
|
|
44689
|
+
ListComponent.prototype.onUpdate = function(evt, ui, presentIndex) {
|
|
44672
44690
|
var data = this.fieldDefs;
|
|
44673
|
-
var newIndex = ui.item.index();
|
|
44691
|
+
var newIndex = ui === undefined ? presentIndex : ui.item.index();
|
|
44674
44692
|
var oldIndex = this.$ulEle.data("oldIndex");
|
|
44675
44693
|
var minIndex = _.min([ newIndex, oldIndex ]);
|
|
44676
44694
|
var maxIndex = _.max([ newIndex, oldIndex ]);
|
|
@@ -44866,8 +44884,10 @@
|
|
|
44866
44884
|
this.currentIndex = presentIndex + 1;
|
|
44867
44885
|
if (this.isListElementMovable) {
|
|
44868
44886
|
this.ariaText = "Item " + this.currentIndex + " grabbed, current position ";
|
|
44887
|
+
this.$ulEle.data("oldIndex", presentIndex);
|
|
44869
44888
|
} else {
|
|
44870
44889
|
this.ariaText = "Item " + this.currentIndex + " dropped, final position ";
|
|
44890
|
+
this.onUpdate($event, undefined, presentIndex);
|
|
44871
44891
|
}
|
|
44872
44892
|
}
|
|
44873
44893
|
};
|
|
@@ -44912,10 +44932,12 @@
|
|
|
44912
44932
|
this.dataNavigator.widget.maxResults = nv;
|
|
44913
44933
|
this.dataNavigator.maxResults = nv;
|
|
44914
44934
|
} else if (key === "enablereorder") {
|
|
44915
|
-
if (nv) {
|
|
44935
|
+
if (nv && this.$ulEle) {
|
|
44936
|
+
this.$ulEle.attr("aria-describedby", this.titleId);
|
|
44916
44937
|
this.configureDnD();
|
|
44917
44938
|
this.$ulEle.sortable("enable");
|
|
44918
44939
|
} else if (this.$ulEle && !nv) {
|
|
44940
|
+
this.$ulEle.removeAttr("aria-describedby");
|
|
44919
44941
|
this.$ulEle.sortable("disable");
|
|
44920
44942
|
}
|
|
44921
44943
|
} else {
|
|
@@ -45069,9 +45091,18 @@
|
|
|
45069
45091
|
_super.prototype.ngAfterViewInit.call(_this);
|
|
45070
45092
|
_this.setUpCUDHandlers();
|
|
45071
45093
|
_this.selectedItemWidgets = _this.multiselect ? [] : {};
|
|
45094
|
+
var ele = $(_this.nativeElement).find(".app-livelist-container");
|
|
45072
45095
|
if (_this.enablereorder && !_this.groupby) {
|
|
45096
|
+
if (ele) {
|
|
45097
|
+
ele.attr("aria-describedby", _this.titleId);
|
|
45098
|
+
}
|
|
45073
45099
|
_this.configureDnD();
|
|
45074
45100
|
}
|
|
45101
|
+
if (!_this.enablereorder) {
|
|
45102
|
+
if (ele) {
|
|
45103
|
+
ele.removeAttr("aria-describedby");
|
|
45104
|
+
}
|
|
45105
|
+
}
|
|
45075
45106
|
if (_this.groupby && _this.collapsible) {
|
|
45076
45107
|
_this.handleHeaderClick = base.handleHeaderClick;
|
|
45077
45108
|
_this.toggleAllHeaders = base.toggleAllHeaders.bind(undefined, _this);
|
|
@@ -45081,6 +45112,16 @@
|
|
|
45081
45112
|
this.setupHandlers();
|
|
45082
45113
|
var $ul = this.nativeElement.querySelector("ul.app-livelist-container");
|
|
45083
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
|
+
}
|
|
45084
45125
|
if (core.isMobileApp() && $ul.querySelector(".app-list-item-action-panel")) {
|
|
45085
45126
|
this._listAnimator = new ListAnimator(this);
|
|
45086
45127
|
}
|
|
@@ -45105,7 +45146,7 @@
|
|
|
45105
45146
|
type: core$1.Component,
|
|
45106
45147
|
args: [ {
|
|
45107
45148
|
selector: "div[wmList]",
|
|
45108
|
-
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',
|
|
45109
45150
|
providers: [ base.provideAsWidgetRef(ListComponent) ]
|
|
45110
45151
|
} ]
|
|
45111
45152
|
} ];
|