@wavemaker/app-runtime-wm-build 11.4.0-next.141708 → 11.4.0-next.1417080

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.
@@ -5052,7 +5052,12 @@
5052
5052
  fieldDefs = [];
5053
5053
  parent.gridOptions.setCurrentPage(1);
5054
5054
  }
5055
- var currentPage = parent.currentPage;
5055
+ var currentPage;
5056
+ if (parent.widgetType === "wm-table") {
5057
+ currentPage = parent.gridOptions.showviewlessbutton && parent.gridOptions.mode === "viewless" ? parent.gridOptions.getCurrentPage() : parent.currentPage;
5058
+ } else {
5059
+ currentPage = parent.currentPage;
5060
+ }
5056
5061
  var dataNavigator = parent.dataNavigator;
5057
5062
  var pagesize = parent.pagesize;
5058
5063
  if (!isDefined(fieldDefs) || dataNavigator.isFirstPage()) {
@@ -8652,6 +8657,16 @@
8652
8657
  var routeRegex = new RegExp("^(#/|#)" + routeName + "$");
8653
8658
  return routeRegex.test(link);
8654
8659
  };
8660
+ var hasLinkToCurrentPage = function(nodes, routeUrl) {
8661
+ return nodes.some((function(node) {
8662
+ if (isActiveNavItem(node.link, routeUrl)) {
8663
+ return true;
8664
+ }
8665
+ if (node.children) {
8666
+ return hasLinkToCurrentPage(node.children, routeUrl);
8667
+ }
8668
+ }));
8669
+ };
8655
8670
  var getOrderByExpr = function(pageableObj) {
8656
8671
  pageableObj = pageableObj || [];
8657
8672
  var expressions = [], KEY_VAL_SEPARATOR = " ", FIELD_SEPARATOR = ",";
@@ -11214,6 +11229,10 @@
11214
11229
  if (openedDialogs.indexOf(ref) !== -1) {
11215
11230
  openedDialogs.splice(openedDialogs.indexOf(ref), 1);
11216
11231
  }
11232
+ if (openedDialogs.length === 0 && (core$1.isMobile() || core$1.isMobileApp())) {
11233
+ var parentSelector = $("body > app-root")[0];
11234
+ parentSelector.removeAttribute("aria-hidden");
11235
+ }
11217
11236
  };
11218
11237
  DialogServiceImpl.prototype.getOpenedDialogs = function() {
11219
11238
  return openedDialogs;
@@ -12389,7 +12408,8 @@
12389
12408
  mindate: "mindate",
12390
12409
  maxdate: "maxdate",
12391
12410
  excludedates: "excludedates",
12392
- excludedays: "excludedays"
12411
+ excludedays: "excludedays",
12412
+ invalidNumber: "invalidNumber"
12393
12413
  };
12394
12414
  var BaseFieldValidations = function() {
12395
12415
  function BaseFieldValidations(instance, formwidget, widgettype, widgetControl, widgetContext, tableFieldType) {
@@ -13022,6 +13042,7 @@
13022
13042
  exports.getWidgetPropsByType = getWidgetPropsByType;
13023
13043
  exports.groupData = groupData;
13024
13044
  exports.handleHeaderClick = handleHeaderClick;
13045
+ exports.hasLinkToCurrentPage = hasLinkToCurrentPage;
13025
13046
  exports.interpolateBindExpressions = interpolateBindExpressions;
13026
13047
  exports.isActiveNavItem = isActiveNavItem;
13027
13048
  exports.isBooleanAttr = isBooleanAttr;
@@ -14199,7 +14220,7 @@
14199
14220
  var eventsTmpl = widgetType === core.FormWidgetType.UPLOAD ? "" : getEventsTemplate(attrs);
14200
14221
  var controlLayout = core.isMobileApp() ? "col-xs-12" : "col-sm-12";
14201
14222
  var isInList = pCounter === (parentList && parentList.get("parent_form_reference"));
14202
- attrs.set("__errormsg", formFieldErrorMsgId);
14223
+ attrs.set("__validationId", formFieldErrorMsgId);
14203
14224
  attrs.set("__widgetType", widgetType);
14204
14225
  attrs.delete("widget");
14205
14226
  shared.set("counter", counter);
@@ -14209,7 +14230,7 @@
14209
14230
  } else {
14210
14231
  setDefaultPlaceholder(attrs, widgetType, 2);
14211
14232
  }
14212
- return "<" + tagName$X + ' data-role="' + dataRole + '" [formGroup]="' + pCounter + '.ngform" wmFormField captionPosition #' + counter + '="wmFormField" widgettype="' + widgetType + '" ' + transpiler.getFormMarkupAttr(attrs) + '>\n <div class="live-field form-group app-composite-widget clearfix caption-{{' + pCounter + '.captionposition}}" widget="' + widgetType + '">\n <label [hidden]="!' + counter + '.displayname" class="app-label control-label formfield-label {{' + pCounter + '._captionClass}}"\n [ngStyle]="{width: ' + pCounter + ".captionsize}\" [ngClass]=\"{'text-danger': " + counter + "._control?.invalid && " + counter + "._control?.touched && " + pCounter + ".isUpdateMode,\n required: " + pCounter + ".isUpdateMode && " + counter + '.required}" [textContent]="' + counter + '.displayname"> </label>\n <div [ngClass]="' + counter + ".displayname ? " + pCounter + "._widgetClass : '" + controlLayout + '\'">\n <label class="form-control-static app-label" *ngIf="!(' + pCounter + ".isUpdateMode || " + counter + ".viewmodewidget === 'default' || " + counter + ".widgettype === 'upload')\"\n [hidden]=\"" + pCounter + ".isUpdateMode || " + counter + ".viewmodewidget === 'default' || " + counter + ".widgettype === 'upload'\" [innerHTML]=\"" + getCaptionByWidget(attrs, widgetType, counter) + '"></label>\n ' + getTemplate(attrs, widgetType, eventsTmpl, counter, pCounter, isInList) + '\n <span aria-hidden="true" *ngIf="' + counter + '.showPendingSpinner" class="form-field-spinner fa fa-circle-o-notch fa-spin form-control-feedback"></span>\n <p *ngIf="!(' + counter + "._control?.invalid && " + counter + "._control?.touched) && " + pCounter + '.isUpdateMode"\n class="help-block" aria-hidden="true" role="alert" aria-live="polite" [textContent]="' + counter + '.hint"></p>\n ' + validationMsg + "\n </div>\n </div>";
14233
+ return "<" + tagName$X + ' data-role="' + dataRole + '" [formGroup]="' + pCounter + '.ngform" wmFormField captionPosition #' + counter + '="wmFormField" widgettype="' + widgetType + '" ' + transpiler.getFormMarkupAttr(attrs) + '>\n <div class="live-field form-group app-composite-widget clearfix caption-{{' + pCounter + '.captionposition}}" widget="' + widgetType + '">\n <label [hidden]="!' + counter + '.displayname" class="app-label control-label formfield-label {{' + pCounter + '._captionClass}}"\n [ngStyle]="{width: ' + pCounter + ".captionsize}\" [ngClass]=\"{'text-danger': " + counter + "._control?.invalid && " + counter + "._control?.touched && " + pCounter + ".isUpdateMode,\n required: " + pCounter + ".isUpdateMode && " + counter + '.required}" [textContent]="' + counter + '.displayname"> </label>\n <div [ngClass]="' + counter + ".displayname ? " + pCounter + "._widgetClass : '" + controlLayout + '\'">\n <label class="form-control-static app-label"\n [hidden]="' + pCounter + ".isUpdateMode || " + counter + ".viewmodewidget === 'default' || " + counter + ".widgettype === 'upload'\" [innerHTML]=\"" + getCaptionByWidget(attrs, widgetType, counter) + '"></label>\n ' + getTemplate(attrs, widgetType, eventsTmpl, counter, pCounter, isInList) + '\n <span aria-hidden="true" *ngIf="' + counter + '.showPendingSpinner" class="form-field-spinner fa fa-circle-o-notch fa-spin form-control-feedback"></span>\n <p *ngIf="!(' + counter + "._control?.invalid && " + counter + "._control?.touched) && " + pCounter + '.isUpdateMode"\n class="help-block" aria-hidden="true" role="alert" aria-live="polite" [textContent]="' + counter + '.hint"></p>\n ' + validationMsg + "\n </div>\n </div>";
14213
14234
  },
14214
14235
  post: function() {
14215
14236
  return "</" + tagName$X + ">";
@@ -21253,8 +21274,8 @@
21253
21274
  var \u02750 = getChangeEvt;
21254
21275
  var overrideSummerNote = function() {
21255
21276
  if (!$.summernote.__overidden) {
21256
- var origFn_1 = $.summernote.ui.button.bind($.summernote);
21257
- $.summernote.ui.button = function() {
21277
+ var origFn_1 = $.summernote.ui_template().button.bind($.summernote);
21278
+ $.summernote.ui_template.button = function() {
21258
21279
  var args = [];
21259
21280
  for (var _i = 0; _i < arguments.length; _i++) {
21260
21281
  args[_i] = arguments[_i];
@@ -26903,22 +26924,24 @@
26903
26924
  configurable: true
26904
26925
  });
26905
26926
  DateTimePickerComponent.prototype.validateSelectedDate = function() {
26906
- var _a, _b, _c, _d, _e, _f, _g;
26927
+ var _a, _b, _c, _d, _e;
26907
26928
  if (!this.changedValue) {
26908
26929
  return true;
26909
26930
  }
26910
26931
  var cd = moment(this.changedValue);
26911
- if (((_a = this._bsDatepickerConfig) === null || _a === void 0 ? void 0 : _a.minDate) && ((_b = this._bsDatepickerConfig) === null || _b === void 0 ? void 0 : _b.minDate) > this.changedValue) {
26932
+ var minDate = (_a = this._bsDatepickerConfig) === null || _a === void 0 ? void 0 : _a.minDate;
26933
+ var maxDate = (_b = this._bsDatepickerConfig) === null || _b === void 0 ? void 0 : _b.maxDate;
26934
+ if (minDate && (this.mode === "DATE" && moment(minDate).startOf("day").toDate() > this.changedValue || this.mode !== "DATE" && minDate > this.changedValue)) {
26912
26935
  return false;
26913
26936
  }
26914
- if (((_c = this._bsDatepickerConfig) === null || _c === void 0 ? void 0 : _c.maxDate) && ((_d = this._bsDatepickerConfig) === null || _d === void 0 ? void 0 : _d.maxDate) < this.changedValue) {
26937
+ if (maxDate && (this.mode === "DATE" && moment(maxDate).endOf("day").toDate() < this.changedValue || this.mode !== "DATE" && maxDate < this.changedValue)) {
26915
26938
  return false;
26916
26939
  }
26917
- if (((_f = (_e = this._bsDatepickerConfig) === null || _e === void 0 ? void 0 : _e.daysDisabled) === null || _f === void 0 ? void 0 : _f.indexOf(cd.day())) >= 0) {
26940
+ if (((_d = (_c = this._bsDatepickerConfig) === null || _c === void 0 ? void 0 : _c.daysDisabled) === null || _d === void 0 ? void 0 : _d.indexOf(cd.day())) >= 0) {
26918
26941
  return false;
26919
26942
  }
26920
26943
  var cdSt = cd.startOf("day").toDate().getTime();
26921
- if ((_g = this.excludedDatesToDisable) === null || _g === void 0 ? void 0 : _g.find((function(d) {
26944
+ if ((_e = this.excludedDatesToDisable) === null || _e === void 0 ? void 0 : _e.find((function(d) {
26922
26945
  return d.getTime() === cdSt;
26923
26946
  }))) {
26924
26947
  return false;
@@ -26967,6 +26990,9 @@
26967
26990
  newVal.setMilliseconds(oldVal.getMilliseconds());
26968
26991
  }
26969
26992
  this.changedValue = newVal;
26993
+ if (this.mode === "DATE" && oldVal !== newVal && this.validateSelectedDate()) {
26994
+ this.onOkClick();
26995
+ }
26970
26996
  };
26971
26997
  DateTimePickerComponent.prototype.onTimeUpdate = function(newVal) {
26972
26998
  this.changedValue = newVal;
@@ -26988,6 +27014,10 @@
26988
27014
  this.triggerChange();
26989
27015
  this.hideModal();
26990
27016
  };
27017
+ DateTimePickerComponent.prototype.setToday = function() {
27018
+ var today = moment().startOf("day").toDate();
27019
+ this.onDateUpdate(today);
27020
+ };
26991
27021
  DateTimePickerComponent.prototype.reset = function() {
26992
27022
  this.changedValue = this._value;
26993
27023
  };
@@ -27022,7 +27052,7 @@
27022
27052
  type: core.Component,
27023
27053
  args: [ {
27024
27054
  selector: "wm-datetimepicker",
27025
- template: ' \n <ng-template #datetimepickerTemplate>\n <div class="app-datetime-picker">\n <div class="modal-body">\n <div class="mobile-datetime-picker-options">\n \n </div>\n <bs-datepicker-inline\n [bsConfig]="bsDatepickerConfig"\n [datesDisabled]="excludedDatesToDisable"\n bsDatepicker\n [bsValue]="changedValue"\n (bsValueChange)="onDateUpdate($event)"\n *ngIf="mode === \'DATE_TIME\' || mode === \'DATE\'">\n </bs-datepicker-inline>\n <wm-timepicker\n [value]="changedValue"\n [min]="minTime"\n [max]="maxTime"\n (change)="onTimeUpdate($event)"\n *ngIf="mode === \'DATE_TIME\' || mode === \'TIME\'"></wm-timepicker>\n <span class="text-primary date-picker-value">\n {{getDateLabel()}}\n </span>\n </div>\n <div class="modal-footer">\n <button\n class="btn btn-secondary clear-btn"\n (click)="clear()">{{appLocale.MESSAGE_DATE_PICKER_CLEAR || "Clear" }}</button>\n <button\n class="btn btn-primary pull-right ok-btn"\n (click)="onOkClick()">{{appLocale.MESSAGE_DATE_PICKER_OK || "Ok" }}</button>\n <button\n class="btn btn-secondary pull-right cancel-btn"\n (click)="hideModal()">{{appLocale.MESSAGE_DATE_PICKER_CANCEL || "Cancel" }}</button>\n \n </div>\n </div>\n </ng-template>\n '
27055
+ template: ' \n <ng-template #datetimepickerTemplate>\n <div class="app-datetime-picker">\n <div class="modal-body">\n <div class="mobile-datetime-picker-options">\n \n </div>\n <bs-datepicker-inline\n [bsConfig]="bsDatepickerConfig"\n [datesDisabled]="excludedDatesToDisable"\n bsDatepicker\n [bsValue]="changedValue"\n (bsValueChange)="onDateUpdate($event)"\n *ngIf="mode === \'DATE_TIME\' || mode === \'DATE\'">\n </bs-datepicker-inline>\n <wm-timepicker\n [value]="changedValue"\n [min]="minTime"\n [max]="maxTime"\n (change)="onTimeUpdate($event)"\n *ngIf="mode === \'DATE_TIME\' || mode === \'TIME\'"></wm-timepicker>\n <span class="text-primary date-picker-value">\n {{getDateLabel()}}\n </span>\n </div>\n <div class="modal-footer">\n <button\n *ngIf="mode === \'DATE_TIME\' || mode === \'DATE\'"\n class="btn btn-secondary today-btn"\n (click)="setToday()">{{appLocale.MESSAGE_DATE_PICKER_TODAY || "Today" }}</button>\n <button\n class="btn btn-primary pull-right ok-btn"\n *ngIf="mode === \'DATE_TIME\' || mode === \'TIME\'"\n (click)="onOkClick()">{{appLocale.MESSAGE_DATE_PICKER_OK || "Ok" }}</button>\n <button\n class="btn btn-secondary pull-right clear-btn"\n (click)="clear()">{{appLocale.MESSAGE_DATE_PICKER_CLEAR || "Clear" }}</button>\n </div>\n </div>\n </ng-template>\n '
27026
27056
  } ]
27027
27057
  } ];
27028
27058
  DateTimePickerComponent.ctorParameters = function() {
@@ -27105,8 +27135,8 @@
27105
27135
  }
27106
27136
  return arr;
27107
27137
  };
27108
- TimePickerComponent.prototype.set = function(_h, unit) {
27109
- var index = _h.index, value = _h.value;
27138
+ TimePickerComponent.prototype.set = function(_f, unit) {
27139
+ var index = _f.index, value = _f.value;
27110
27140
  if (unit === "HOUR") {
27111
27141
  this.value = moment(this.value).hour(parseInt(value)).toDate();
27112
27142
  } else if (unit === "MINUTE") {
@@ -27204,6 +27234,7 @@
27204
27234
  function BaseDateTimeComponent(inj, WIDGET_CONFIG) {
27205
27235
  var _this = _super.call(this, inj, WIDGET_CONFIG) || this;
27206
27236
  _this.isReadOnly = false;
27237
+ _this.clicked = false;
27207
27238
  _this.formatsByLocale = {
27208
27239
  timezone: ""
27209
27240
  };
@@ -27370,6 +27401,7 @@
27370
27401
  };
27371
27402
  BaseDateTimeComponent.prototype.setActiveDateFocus = function(newDate, isMouseEvent) {
27372
27403
  var _this = this;
27404
+ this.setNextData(newDate);
27373
27405
  var activeMonth = this.activeDate.getMonth();
27374
27406
  if (!isMouseEvent) {
27375
27407
  if (newDate.getMonth() < activeMonth) {
@@ -27407,15 +27439,35 @@
27407
27439
  this.loadYears();
27408
27440
  }
27409
27441
  };
27442
+ BaseDateTimeComponent.prototype.getMonth = function(date, inc) {
27443
+ var currentMonth = new Date(date);
27444
+ var month = currentMonth.getMonth();
27445
+ var year = currentMonth.getFullYear();
27446
+ month += inc;
27447
+ var newDate = new Date(year, month);
27448
+ var fullMonth = newDate.toLocaleString("en-US", {
27449
+ month: "long"
27450
+ });
27451
+ return {
27452
+ date: newDate,
27453
+ fullMonth: fullMonth
27454
+ };
27455
+ };
27410
27456
  BaseDateTimeComponent.prototype.addDatepickerMouseEvents = function() {
27411
27457
  var _this = this;
27412
27458
  var datePickerHead = $(".bs-datepicker-head");
27413
27459
  datePickerHead.find(".previous").click((function(event) {
27460
+ _this.next = _this.getMonth(_this.activeDate, 0);
27461
+ _this.prev = _this.getMonth(_this.activeDate, -2);
27462
+ _this.clicked = true;
27414
27463
  if (event.originalEvent) {
27415
27464
  _this.setFocusForDate(-1);
27416
27465
  }
27417
27466
  }));
27418
27467
  datePickerHead.find(".next").click((function(event) {
27468
+ _this.next = _this.getMonth(_this.activeDate, 2);
27469
+ _this.prev = _this.getMonth(_this.activeDate, 0);
27470
+ _this.clicked = true;
27419
27471
  if (event.originalEvent) {
27420
27472
  _this.setFocusForDate(1);
27421
27473
  }
@@ -27431,8 +27483,8 @@
27431
27483
  _this.setFocusForMonthOrDay();
27432
27484
  }
27433
27485
  }));
27434
- datePickerHead.find(".next").attr("aria-label", "Next");
27435
- datePickerHead.find(".previous").attr("aria-label", "Previous");
27486
+ datePickerHead.find(".next").attr("aria-label", "Next Month, " + this.next.fullMonth + " " + this.next.date.getFullYear());
27487
+ datePickerHead.find(".previous").attr("aria-label", "Previous Month, " + this.prev.fullMonth + " " + this.prev.date.getFullYear());
27436
27488
  };
27437
27489
  BaseDateTimeComponent.prototype.setFocusForMonthOrDay = function() {
27438
27490
  var activeMonthOrYear = $(".bs-datepicker-head .current").first().text();
@@ -27498,6 +27550,10 @@
27498
27550
  this.loadDays();
27499
27551
  this.setActiveDateFocus(this.activeDate);
27500
27552
  };
27553
+ BaseDateTimeComponent.prototype.setNextData = function(nextDate) {
27554
+ this.next = this.getMonth(nextDate, 1);
27555
+ this.prev = this.getMonth(nextDate, -1);
27556
+ };
27501
27557
  BaseDateTimeComponent.prototype.loadDays = function() {
27502
27558
  var _this = this;
27503
27559
  setTimeout((function() {
@@ -27616,6 +27672,7 @@
27616
27672
  };
27617
27673
  BaseDateTimeComponent.prototype.setActiveMonthFocus = function(newDate, isMoouseEvent) {
27618
27674
  var _this = this;
27675
+ this.setNextData(newDate);
27619
27676
  var newMonth = months[newDate.getMonth()];
27620
27677
  if (!isMoouseEvent) {
27621
27678
  if (newDate.getFullYear() < this.activeDate.getFullYear()) {
@@ -28179,7 +28236,6 @@
28179
28236
  if (!skipFocus) {
28180
28237
  this.onDateTimeInputFocus();
28181
28238
  }
28182
- return;
28183
28239
  }
28184
28240
  if ($event.type === "click") {
28185
28241
  this.invokeEventCallback("click", {
@@ -28253,7 +28309,7 @@
28253
28309
  type: core.Component,
28254
28310
  args: [ {
28255
28311
  selector: "[wmDate]",
28256
- template: ' <input class="form-control app-textbox app-dateinput display-input"\n focus-target\n type="text"\n [name]="name"\n [tabindex]="tabindex"\n [value]="displayValue"\n (click)="toggleDpDropdown($event, true)"\n (focus)="onDateTimeInputFocus(); invokeOnFocus($event);"\n (blur)="onInputBlur($event)"\n [disabled]="disabled || readonly"\n [autofocus]="autofocus"\n [required]="required"\n [readOnly]="isReadOnly"\n [attr.placeholder]="placeholder"\n [attr.accesskey]="shortcutkey"\n [attr.aria-label]="hint"\n (change)="onDisplayDateChange($event)"\n (keydown)="this._triggeredByUser = true; onDisplayKeydown($event);">\n\n <span class="input-group-btn">\n <button type="button"\n class="btn btn-default btn-time"\n [tabindex]="tabindex"\n [disabled]="disabled || readonly"\n [attr.aria-label]="displayValue ? \'Change Date \' + displayValue : \'Choose date by pressing enter\'"\n aria-haspopup="true"\n aria-expanded="false"\n (click)="toggleDpDropdown($event, false)">\n <i aria-hidden="true"\n class="app-icon wm-sl-l sl-calendar"></i>\n </button>\n </span>\n <div style="width: 0;display: inline-block;">\n <input class="model-holder"\n aria-label="datepicker dropdownmenu"\n aria-controls="date"\n [container]="containerTarget || \'body\'"\n [bsConfig]="_dateOptions"\n [isOpen]="isOpen"\n #datepicker="bsDatepicker"\n bsDatepicker\n [daysDisabled]="excludedDaysToDisable"\n [datesDisabled]="excludedDatesToDisable"\n placement="bottom right"\n [isDisabled]="disabled || readonly"\n [bsValue]="bsDataValue"\n (onShown)="onDatePickerOpen()"\n (onHidden)="hideDatepickerDropdown()"\n (bsValueChange)="onDateChange($event)">\n</div>\n\n<ng-template [ngIf]="loadNativeDateInput">\n <wm-datetimepicker\n dateTimePicker\n mode="DATE"\n [config]="_dateOptions"\n [placement]="modal"\n [excludedDaysToDisable]="excludedDaysToDisable"\n [excludedDatesToDisable]="excludedDatesToDisable"\n [displayFormat]="dateInputFormat"\n [value]="bsDataValue"\n (change)="onDateChange($event)">\n </wm-datetimepicker>\n <div class="mobile-input mobile-datepicker-container"\n tabindex="1000000"\n (focus)="onDateTimeInputFocus(true); invokeOnFocus($event);"\n (blur)="onDateTimeInputBlur(); invokeOnTouched($event)"\n (click)="!(disabled || readonly || isCurrentDate) && showDatePickerModal()">\n </div>\n</ng-template>\n',
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 tabindex="1000000"\n (focus)="onDateTimeInputFocus(true); invokeOnFocus($event);"\n (blur)="onDateTimeInputBlur(); invokeOnTouched($event)"\n (click)="!(disabled || readonly || isCurrentDate) && showDatePickerModal()">\n </div>\n</ng-template>\n',
28257
28313
  providers: [ base.provideAs(DateComponent, forms.NG_VALUE_ACCESSOR, true), base.provideAs(DateComponent, forms.NG_VALIDATORS, true), base.provideAsWidgetRef(DateComponent) ]
28258
28314
  } ]
28259
28315
  } ];
@@ -33572,9 +33628,10 @@
33572
33628
  };
33573
33629
  var MenuComponent = function(_super) {
33574
33630
  __extends(MenuComponent, _super);
33575
- function MenuComponent(inj, route, userDefinedExecutionContext, bsDropdown, parentNav, selectEventCB) {
33631
+ function MenuComponent(inj, route, app, userDefinedExecutionContext, bsDropdown, parentNav, selectEventCB) {
33576
33632
  var _this = _super.call(this, inj, WIDGET_CONFIG$1) || this;
33577
33633
  _this.route = route;
33634
+ _this.app = app;
33578
33635
  _this.userDefinedExecutionContext = userDefinedExecutionContext;
33579
33636
  _this.bsDropdown = bsDropdown;
33580
33637
  _this.parentNav = parentNav;
@@ -33588,6 +33645,9 @@
33588
33645
  }
33589
33646
  var datasetSubscription = _this.nodes$.subscribe((function() {
33590
33647
  if (!_.isEmpty(_this.nodes)) {
33648
+ if (base.hasLinkToCurrentPage(_this.nodes, _this.route.url)) {
33649
+ core.addClass(_this.nativeElement.querySelector(".dropdown-toggle"), "active");
33650
+ }
33591
33651
  if (_this.parentNav) {
33592
33652
  return;
33593
33653
  }
@@ -33662,26 +33722,22 @@
33662
33722
  }
33663
33723
  $event.preventDefault();
33664
33724
  };
33665
- MenuComponent.prototype.hasLinkToCurrentPage = function(nodes) {
33666
- var _this = this;
33667
- return nodes.some((function(node) {
33668
- if (base.isActiveNavItem(node.link, _this.route.url)) {
33669
- return true;
33670
- }
33671
- if (node.children) {
33672
- return _this.hasLinkToCurrentPage(node.children);
33673
- }
33674
- }));
33675
- };
33676
33725
  MenuComponent.prototype.resetNodes = function() {
33677
33726
  _super.prototype.resetNodes.call(this);
33678
- if (this.autoopen === AUTO_OPEN.ACTIVE_PAGE && this.hasLinkToCurrentPage(this.nodes) || this.autoopen === AUTO_OPEN.ALWAYS) {
33727
+ if (this.autoopen === AUTO_OPEN.ACTIVE_PAGE && base.hasLinkToCurrentPage(this.nodes, this.route.url) || this.autoopen === AUTO_OPEN.ALWAYS) {
33679
33728
  this.bsDropdown.show();
33680
33729
  }
33681
33730
  };
33682
33731
  MenuComponent.prototype.ngOnInit = function() {
33732
+ var _this = this;
33683
33733
  _super.prototype.ngOnInit.call(this);
33684
33734
  this.setMenuPosition();
33735
+ var cancelSubscription = this.app.subscribe("highlightActiveLink", (function(data) {
33736
+ core.toggleClass(_this.nativeElement.querySelector(".dropdown-toggle"), "active", base.hasLinkToCurrentPage(_this.nodes, _this.route.url));
33737
+ }));
33738
+ this.registerDestroyListener((function() {
33739
+ return cancelSubscription();
33740
+ }));
33685
33741
  };
33686
33742
  MenuComponent.prototype.onPropertyChange = function(key, nv, ov) {
33687
33743
  if (key === "tabindex") {
@@ -33752,6 +33808,8 @@
33752
33808
  type: core$1.Injector
33753
33809
  }, {
33754
33810
  type: router.Router
33811
+ }, {
33812
+ type: core.App
33755
33813
  }, {
33756
33814
  type: core.UserDefinedExecutionContext
33757
33815
  }, {
@@ -33869,8 +33927,9 @@
33869
33927
  VERTICAL: "vertical"
33870
33928
  };
33871
33929
  var MenuDropdownItemComponent = function() {
33872
- function MenuDropdownItemComponent(menuRef, userDefinedExecutionContext, parentNav, elRef) {
33930
+ function MenuDropdownItemComponent(app, menuRef, userDefinedExecutionContext, parentNav, elRef) {
33873
33931
  var _this = this;
33932
+ this.app = app;
33874
33933
  this.menuRef = menuRef;
33875
33934
  this.userDefinedExecutionContext = userDefinedExecutionContext;
33876
33935
  this.parentNav = parentNav;
@@ -33896,10 +33955,14 @@
33896
33955
  this.menualign = menuAlignClass[this.menuRef.menualign] || menuAlignClass["pull-left"];
33897
33956
  }
33898
33957
  MenuDropdownItemComponent.prototype.ngOnInit = function() {
33958
+ var _this = this;
33899
33959
  if (this.parentNav) {
33900
- if (base.isActiveNavItem(this.item.link, this.menuRef.route.url)) {
33960
+ if (base.hasLinkToCurrentPage([ this.item ], this.menuRef.route.url)) {
33901
33961
  core.addClass(this.nativeElement, "active");
33902
33962
  }
33963
+ this.highlightActiveLinkSubscription = this.app.subscribe("highlightActiveLink", (function(data) {
33964
+ core.toggleClass(_this.nativeElement, "active", base.hasLinkToCurrentPage([ _this.item ], _this.menuRef.route.url));
33965
+ }));
33903
33966
  }
33904
33967
  };
33905
33968
  MenuDropdownItemComponent.prototype.getInitialKeyMovements = function() {
@@ -33968,6 +34031,11 @@
33968
34031
  $event.stopPropagation();
33969
34032
  }
33970
34033
  };
34034
+ MenuDropdownItemComponent.prototype.ngOnDestroy = function() {
34035
+ if (this.highlightActiveLinkSubscription) {
34036
+ this.highlightActiveLinkSubscription();
34037
+ }
34038
+ };
33971
34039
  return MenuDropdownItemComponent;
33972
34040
  }();
33973
34041
  MenuDropdownItemComponent.decorators = [ {
@@ -33979,6 +34047,8 @@
33979
34047
  } ];
33980
34048
  MenuDropdownItemComponent.ctorParameters = function() {
33981
34049
  return [ {
34050
+ type: core.App
34051
+ }, {
33982
34052
  type: MenuComponent
33983
34053
  }, {
33984
34054
  type: core.UserDefinedExecutionContext
@@ -35670,6 +35740,8 @@
35670
35740
  }));
35671
35741
  var popoverStartBtn = popoverContainer.querySelector(".popover-start");
35672
35742
  var popoverEndBtn = popoverContainer.querySelector(".popover-end");
35743
+ popoverStartBtn.setAttribute("aria-hidden", "true");
35744
+ popoverEndBtn.setAttribute("aria-hidden", "true");
35673
35745
  popoverStartBtn.onkeydown = function(event) {
35674
35746
  var action = _this.keyEventPlugin.constructor.getEventFullKey(event);
35675
35747
  if (action === "shift.tab") {
@@ -36369,15 +36441,17 @@
36369
36441
  _this.dialogService = inj.get(core.AbstractDialogService);
36370
36442
  _this.bsModal = inj.get(modal.BsModalService);
36371
36443
  var router$1 = inj.get(router.Router);
36372
- var subscriptions = [ _this.bsModal.onShown.subscribe((function() {
36444
+ var subscriptions = [ _this.bsModal.onShown.subscribe((function(_a) {
36445
+ var id = _a.id;
36373
36446
  var ref = _this.dialogService.getLastOpenedDialog();
36374
36447
  if (ref === _this) {
36375
36448
  invokeOpenedCallback(ref);
36449
+ _this.dialogId = id;
36376
36450
  }
36377
36451
  })), _this.bsModal.onShow.subscribe((function() {
36378
36452
  focusTrapObj.activeElement = document.activeElement;
36379
36453
  })), _this.bsModal.onHidden.subscribe((function(closeReason) {
36380
- var ref = closeReason === "esc" || closeReason === "backdrop-click" ? _this.dialogService.getLastOpenedDialog() : _this.dialogService.getDialogRefFromClosedDialogs();
36454
+ var ref = closeReason === "esc" || closeReason === "backdrop-click" || _this.dialogId && (closeReason === null || closeReason === void 0 ? void 0 : closeReason.id) === _this.dialogId ? _this.dialogService.getLastOpenedDialog() : _this.dialogService.getDialogRefFromClosedDialogs();
36381
36455
  if (ref === _this) {
36382
36456
  _this.dialogService.removeFromOpenedDialogs(ref);
36383
36457
  _this.dialogService.removeFromClosedDialogs(ref);
@@ -36417,6 +36491,10 @@
36417
36491
  Object.assign(this.context, initState);
36418
36492
  this.modalOptions.ariaLabelledBy = this.titleId;
36419
36493
  this.dialogRef = this.bsModal.show(this.getTemplateRef(), this.modalOptions);
36494
+ if (this.dialogService.getOpenedDialogs().length === 1 && (core.isMobile() || core.isMobileApp())) {
36495
+ var parentSelector = $("body > app-root")[0];
36496
+ parentSelector.setAttribute("aria-hidden", "true");
36497
+ }
36420
36498
  };
36421
36499
  BaseDialog.prototype.close = function() {
36422
36500
  if (this.dialogRef) {
@@ -42248,11 +42326,31 @@
42248
42326
  $index: _this.dn.currentPage
42249
42327
  });
42250
42328
  _this.goToPage();
42329
+ if (_this.navigation === "Basic") {
42330
+ _this._setAriaForBasicNavigation();
42331
+ }
42251
42332
  }
42252
42333
  }), base.DEBOUNCE_TIMES.PAGINATION_DEBOUNCE_TIME);
42253
42334
  base.styler(_this.nativeElement, _this);
42254
42335
  return _this;
42255
42336
  }
42337
+ PaginationComponent.prototype._setAriaForBasicNavigation = function() {
42338
+ _.forEach(this.nativeElement.getElementsByTagName("a"), (function(item) {
42339
+ item.setAttribute("href", "javascript:void(0);");
42340
+ var childNode = item.querySelector("span");
42341
+ if ((childNode === null || childNode === void 0 ? void 0 : childNode.dataset.isacitvepage) === "true") {
42342
+ item.setAttribute("aria-current", "true");
42343
+ setTimeout((function() {
42344
+ return item.focus();
42345
+ }));
42346
+ }
42347
+ if ((childNode === null || childNode === void 0 ? void 0 : childNode.dataset.isdisabled) === "true") {
42348
+ item.setAttribute("aria-disabled", "true");
42349
+ } else {
42350
+ item.removeAttribute("aria-disabled");
42351
+ }
42352
+ }));
42353
+ };
42256
42354
  PaginationComponent.prototype.setResult = function(result) {
42257
42355
  this.result = result;
42258
42356
  this.resultEmitter.emit(this.result);
@@ -42314,7 +42412,7 @@
42314
42412
  }
42315
42413
  this.isDisableCurrent = isCurrentPageFirst && isCurrentPageLast;
42316
42414
  if (this.dataset && this.dataset.length && this.isDisableNext && this.parent.onDemandLoad && this.parent.widgetType === "wm-table") {
42317
- this.parent.callDataGridMethod("hideLoadingIndicator", this.isDisableNext, false);
42415
+ this.parent.callDataGridMethod("hideLoadingIndicator", this.isDisableNext, this.parent.infScroll);
42318
42416
  }
42319
42417
  };
42320
42418
  PaginationComponent.prototype.isDataSourceHasPaging = function() {
@@ -42369,9 +42467,7 @@
42369
42467
  this.resetPageNavigation();
42370
42468
  }
42371
42469
  if (this.navigation === "Basic") {
42372
- _.forEach(this.nativeElement.getElementsByTagName("a"), (function(item) {
42373
- item.setAttribute("href", "javascript:void(0);");
42374
- }));
42470
+ this._setAriaForBasicNavigation();
42375
42471
  }
42376
42472
  } else {
42377
42473
  if (newVal && !_.isString(newVal)) {
@@ -42648,7 +42744,7 @@
42648
42744
  type: core.Component,
42649
42745
  args: [ {
42650
42746
  selector: "[wmPagination]",
42651
- template: '\n<ul class="pagination advanced {{navigationClass}}" *ngIf="navcontrols === \'Classic\'">\n <li [ngClass]="{\'disabled\':isDisableFirst}">\n <a [title]="appLocale.LABEL_FIRST" name="first" href="javascript:void(0);" aria-label="First"\n (click)="navigatePage(\'first\', $event)">\n <span aria-hidden="true"><i class="wi wi-first-page"></i></span>\n <span class="sr-only">{{appLocale.LABEL_FIRST}}</span>\n </a>\n </li>\n <li [ngClass]="{\'disabled\':isDisablePrevious}">\n <a [title]="appLocale.LABEL_PREVIOUS" name="prev" href="javascript:void(0);" aria-label="Previous"\n (click)="navigatePage(\'prev\', $event)">\n <span aria-hidden="true"><i class="wi wi-chevron-left"></i></span>\n <span class="sr-only">{{appLocale.LABEL_PREVIOUS}}</span>\n </a>\n </li>\n <li class="pagecount disabled">\n <a><input type="number" [disabled]="isDisableCurrent" [(ngModel)]="dn.currentPage" [attr.aria-label]="\'Page Navigation \' + dn.currentPage"\n (keydown)="onKeyDown($event)" (change)="onModelChange($event)" class="form-control"/></a>\n </li>\n <li class="disabled">\n <a [hidden]="isDisableCount"> / {{pageCount}}</a>\n </li>\n <li [ngClass]="{\'disabled\':isDisableNext}">\n <a [title]="appLocale.LABEL_NEXT" name="next" href="javascript:void(0);" aria-label="Next"\n (click)="navigatePage(\'next\', $event)">\n <span aria-hidden="true"><i class="wi wi-chevron-right"></i></span>\n <span class="sr-only">{{appLocale.LABEL_NEXT}}</span>\n </a>\n </li>\n <li [ngClass]="{\'disabled\':isDisableLast}">\n <a [title]="appLocale.LABEL_LAST" name="last" href="javascript:void(0);" aria-label="Last"\n (click)="navigatePage(\'last\', $event)">\n <span aria-hidden="true"><i class="wi wi-last-page"></i></span>\n <span class="sr-only">{{appLocale.LABEL_LAST}}</span>\n </a>\n </li>\n <li *ngIf="showrecordcount" class="totalcount disabled">\n <a>{{appLocale.LABEL_TOTAL_RECORDS}}: {{dataSize}}</a>\n </li>\n</ul>\n<ul class="pager {{navigationClass}}" *ngIf="navcontrols === \'Pager\'">\n <li class="previous" [ngClass]="{\'disabled\':isDisablePrevious}">\n <a href="javascript:void(0);" (click)="navigatePage(\'prev\', $event)" aria-label="Previous">\n <span aria-hidden="true"><i class="wi wi-chevron-left"></i></span>\n {{appLocale.LABEL_PREVIOUS}}\n <span class="sr-only">{{appLocale.LABEL_PREVIOUS}}</span>\n </a>\n </li>\n <li class="next" [ngClass]="{\'disabled\':isDisableNext}">\n <a href="javascript:void(0);" (click)="navigatePage(\'next\', $event)" aria-label="Next">\n {{appLocale.LABEL_NEXT}}\n <span aria-hidden="true"><i class="wi wi-chevron-right"></i></span>\n <span class="sr-only">{{appLocale.LABEL_NEXT}}</span>\n </a>\n </li>\n</ul>\n\n<pagination class="pagination basic" [ngClass]="navigationClass" *ngIf="navcontrols === \'Basic\'" role="navigation"\n [itemsPerPage]="maxResults" [totalItems]="dataSize"\n [ngModel]="dn.currentPage" (pageChanged)="pageChanged($event)"\n [attr.aria-label]="\'Page \' + dn.currentPage + \' of \' + pageCount + \' pages\'"\n [boundaryLinks]="boundarylinks" [maxSize]="maxsize"\n [directionLinks]="directionlinks" previousText="." nextText="." firstText="." lastText="."></pagination>\n\n<ul *ngIf="navcontrols === \'Basic\' && showrecordcount" class="pagination">\n <li class="totalcount disabled basiccount"><a>{{appLocale.LABEL_TOTAL_RECORDS}}: {{dataSize}}</a></li>\n</ul>\n',
42747
+ template: '\n<ul class="pagination advanced {{navigationClass}}" *ngIf="navcontrols === \'Classic\'">\n <li [ngClass]="{\'disabled\':isDisableFirst}">\n <a [title]="appLocale.LABEL_FIRST" name="first" href="javascript:void(0);"\n [attr.aria-disabled]="isDisableFirst"\n (click)="navigatePage(\'first\', $event)">\n <span aria-hidden="true"><i class="wi wi-first-page"></i></span>\n <span class="sr-only">Go to first page {{ isDisableFirst ? \' , Disabled\' : \'\'}}</span>\n </a>\n </li>\n <li [ngClass]="{\'disabled\':isDisablePrevious}">\n <a [title]="appLocale.LABEL_PREVIOUS" name="prev" href="javascript:void(0);"\n [attr.aria-disabled]="isDisablePrevious"\n (click)="navigatePage(\'prev\', $event)">\n <span aria-hidden="true"><i class="wi wi-chevron-left"></i></span>\n <span class="sr-only">Go to previous page {{ isDisablePrevious ? \', Disabled\' : \'\'}}</span>\n </a>\n </li>\n <li class="pagecount disabled">\n <a href="javascript:void(0);">\n <input type="number" [disabled]="isDisableCurrent" [(ngModel)]="dn.currentPage" [attr.aria-label]="\'Showing Page \' + dn.currentPage + \' of \' + pageCount"\n (keydown)="onKeyDown($event)" (change)="onModelChange($event)" class="form-control"/>\n </a>\n </li>\n <li class="disabled">\n <a [hidden]="isDisableCount"> / {{pageCount}}</a>\n </li>\n <li [ngClass]="{\'disabled\':isDisableNext}">\n <a [title]="appLocale.LABEL_NEXT" name="next" href="javascript:void(0);"\n [attr.aria-disabled]="isDisableNext"\n (click)="navigatePage(\'next\', $event)">\n <span aria-hidden="true"><i class="wi wi-chevron-right"></i></span>\n <span class="sr-only">Go to next page {{ isDisableNext ? \' , Disabled\' : \'\'}}</span>\n </a>\n </li>\n <li [ngClass]="{\'disabled\':isDisableLast}">\n <a [title]="appLocale.LABEL_LAST" name="last" href="javascript:void(0);"\n [attr.aria-disabled]="isDisableLast"\n (click)="navigatePage(\'last\', $event)">\n <span aria-hidden="true"><i class="wi wi-last-page"></i></span>\n <span class="sr-only">Go to last page {{ isDisableLast ? \' , Disabled\' : \'\'}}</span>\n </a>\n </li>\n <li *ngIf="showrecordcount" class="totalcount disabled">\n <a href="javascript:void(0);" tabindex="-1" aria-disabled="true">{{appLocale.LABEL_TOTAL_RECORDS}}: {{dataSize}}</a>\n </li>\n</ul>\n<ul class="pager {{navigationClass}}" *ngIf="navcontrols === \'Pager\'">\n <li class="previous" [ngClass]="{\'disabled\':isDisablePrevious}">\n <a href="javascript:void(0);" (click)="navigatePage(\'prev\', $event)"\n [attr.aria-disabled]="isDisablePrevious">\n <span aria-hidden="true"><i class="wi wi-chevron-left"></i></span>\n {{appLocale.LABEL_PREVIOUS}}\n <span class="sr-only">{{ isDisablePrevious ? \' , Disabled\' : \'\'}}</span>\n </a>\n </li>\n <li class="next" [ngClass]="{\'disabled\':isDisableNext}">\n <a href="javascript:void(0);" (click)="navigatePage(\'next\', $event)"\n [attr.aria-disabled]="isDisableNext">\n <span aria-hidden="true"><i class="wi wi-chevron-right"></i></span>\n {{appLocale.LABEL_NEXT}}\n <span class="sr-only">{{ isDisableNext ? \' , Disabled\' : \'\'}}</span>\n </a>\n </li>\n</ul>\n\n<pagination class="pagination basic" [ngClass]="navigationClass" *ngIf="navcontrols === \'Basic\'" role="navigation"\n [itemsPerPage]="maxResults" [totalItems]="dataSize"\n [ngModel]="dn.currentPage" (pageChanged)="pageChanged($event)"\n [attr.aria-label]="\'Showing Page \' + dn.currentPage + \' of \' + pageCount + \' pages\'"\n [boundaryLinks]="boundarylinks" [maxSize]="maxsize"\n [directionLinks]="directionlinks"\n firstText="Firtst" lastText="Last"\n [customPreviousTemplate]="prevTemplate"\n [customNextTemplate]="nextTemplate"\n [customPageTemplate]="pageTemplate"></pagination>\n\n<ul *ngIf="navcontrols === \'Basic\' && showrecordcount" class="pagination">\n <li class="totalcount disabled basiccount">\n <a href="javascript:void(0);" tabindex="-1" aria-disabled="true">{{appLocale.LABEL_TOTAL_RECORDS}}: {{dataSize}}</a>\n </li>\n</ul>\n\n<ng-template #pageTemplate let-page>\n <span class="sr-only" [attr.data-isacitvepage]="page.active">{{\'Page \'}}</span>\n {{page.number}}\n <span class="sr-only" *ngIf="page.active"> {{\', Showing page \' + page.number + \' of \' + pageCount}}</span>\n</ng-template>\n<ng-template #prevTemplate let-disabled="disabled">\n <span class="sr-only" [attr.data-isdisabled]="disabled">Go to Previous page {{disabled ? \', Disabled\' : \'\'}}</span>\n</ng-template>\n<ng-template #nextTemplate let-disabled="disabled">\n <span class="sr-only" [attr.data-isdisabled]="disabled">Go to Next page {{disabled ? \', Disabled\' : \'\'}}</span>\n</ng-template>\n',
42652
42748
  providers: [ base.provideAsWidgetRef(PaginationComponent) ]
42653
42749
  } ]
42654
42750
  } ];
@@ -44220,10 +44316,15 @@
44220
44316
  var dataSource = this.datasource;
44221
44317
  if (dataSource && dataSource.execute(core.DataSource.Operation.IS_API_AWARE) && core.isDataSourceEqual(data.variable, dataSource)) {
44222
44318
  this.ngZone.run((function() {
44223
- var _a;
44319
+ var _a, _b, _c;
44224
44320
  _this.handleStateParams(data);
44225
44321
  _this.variableInflight = data.active;
44226
- _this.noDataFound = !((_a = data.data) === null || _a === void 0 ? void 0 : _a.pagination.totalElements);
44322
+ var totalEle = (_b = (_a = data.data) === null || _a === void 0 ? void 0 : _a.pagination) === null || _b === void 0 ? void 0 : _b.totalElements;
44323
+ if (!_.isUndefined(totalEle)) {
44324
+ _this.noDataFound = totalEle === 0 ? true : false;
44325
+ } else {
44326
+ _this.noDataFound = _.isEmpty((_c = data.data) === null || _c === void 0 ? void 0 : _c.data);
44327
+ }
44227
44328
  }));
44228
44329
  }
44229
44330
  };
@@ -44293,10 +44394,10 @@
44293
44394
  }
44294
44395
  };
44295
44396
  ListComponent.prototype.updateFieldDefs = function(newVal) {
44296
- var _b;
44397
+ var _d;
44297
44398
  if (this.infScroll || this.onDemandLoad) {
44298
- _b = __read(this.paginationService.updateFieldsOnPagination(this, newVal), 2), this.fieldDefs = _b[0],
44299
- this.currentPage = _b[1];
44399
+ _d = __read(this.paginationService.updateFieldsOnPagination(this, newVal), 2), this.fieldDefs = _d[0],
44400
+ this.currentPage = _d[1];
44300
44401
  } else {
44301
44402
  this.fieldDefs = newVal;
44302
44403
  }
@@ -44676,9 +44777,9 @@
44676
44777
  return this.datasource.execute(operation, options);
44677
44778
  };
44678
44779
  ListComponent.prototype.handleKeyDown = function($event, action) {
44679
- var _this = this;
44780
+ var _d, _e;
44680
44781
  $event.stopPropagation();
44681
- if ($event.keyCode !== 13 && $event.keyCode !== 9 && !($event.target.classList.contains("form-control") && $event.keyCode === 32)) {
44782
+ if ($event.keyCode !== 13 && $event.keyCode !== 9 && !(($event.target.classList.contains("form-control") || $event.target.classList.contains("note-editable")) && $event.keyCode === 32)) {
44682
44783
  $event.preventDefault();
44683
44784
  }
44684
44785
  var listItems = this.listItems;
@@ -44718,27 +44819,21 @@
44718
44819
  }
44719
44820
  if (action === "focusPrev") {
44720
44821
  if (this.isListElementMovable) {
44721
- var prev_1;
44722
44822
  presentIndex = presentIndex <= 0 ? 0 : presentIndex;
44723
- this.lastSelectedItem = this.getListItemByIndex(presentIndex);
44724
44823
  if (presentIndex === 0) {
44725
- prev_1 = this.listItems.last;
44726
44824
  return;
44727
44825
  }
44728
- this.listItems.forEach((function($liItem, idx) {
44729
- if (idx === presentIndex) {
44730
- prev_1.nativeElement.before($liItem.nativeElement);
44731
- _this.lastSelectedItem.nativeElement.focus();
44732
- var arr = _this.listItems.toArray();
44733
- var temp = arr[presentIndex];
44734
- arr[presentIndex] = arr[presentIndex - 1];
44735
- arr[presentIndex - 1] = temp;
44736
- _this.listItems.reset(arr);
44737
- _this.currentIndex = presentIndex;
44738
- _this.ariaText = "selected ";
44739
- }
44740
- prev_1 = $liItem;
44741
- }));
44826
+ this.lastSelectedItem = this.getListItemByIndex(presentIndex);
44827
+ var prevElt = this.getListItemByIndex(presentIndex - 1);
44828
+ prevElt.nativeElement.before(this.lastSelectedItem.nativeElement);
44829
+ this.lastSelectedItem.nativeElement.focus();
44830
+ this.statePersistence.removeWidgetState(this, "selectedItem");
44831
+ var arr = this.listItems.toArray();
44832
+ _d = __read([ arr[presentIndex], arr[presentIndex - 1] ], 2), arr[presentIndex - 1] = _d[0],
44833
+ arr[presentIndex] = _d[1];
44834
+ this.listItems.reset(arr);
44835
+ this.currentIndex = presentIndex;
44836
+ this.ariaText = "selected ";
44742
44837
  } else {
44743
44838
  presentIndex = presentIndex <= 0 ? 0 : presentIndex - 1;
44744
44839
  this.lastSelectedItem = this.getListItemByIndex(presentIndex);
@@ -44748,27 +44843,21 @@
44748
44843
  }
44749
44844
  } else if (action === "focusNext") {
44750
44845
  if (this.isListElementMovable) {
44751
- var prev_2;
44752
44846
  presentIndex = presentIndex < listItems.length - 1 ? presentIndex : listItems.length - 1;
44753
- this.lastSelectedItem = this.getListItemByIndex(presentIndex);
44754
44847
  if (presentIndex === this.listItems.length - 1) {
44755
- prev_2 = this.listItems.first;
44756
44848
  return;
44757
44849
  }
44758
- this.listItems.forEach((function($liItem, idx) {
44759
- if (idx === presentIndex + 1) {
44760
- prev_2.nativeElement.before($liItem.nativeElement);
44761
- _this.lastSelectedItem.nativeElement.focus();
44762
- var arr = _this.listItems.toArray();
44763
- var temp = arr[presentIndex + 1];
44764
- arr[presentIndex + 1] = arr[presentIndex];
44765
- arr[presentIndex] = temp;
44766
- _this.listItems.reset(arr);
44767
- _this.currentIndex = idx + 1;
44768
- _this.ariaText = "selected ";
44769
- }
44770
- prev_2 = $liItem;
44771
- }));
44850
+ this.lastSelectedItem = this.getListItemByIndex(presentIndex);
44851
+ var nextElt = this.getListItemByIndex(presentIndex + 1);
44852
+ nextElt.nativeElement.after(this.lastSelectedItem.nativeElement);
44853
+ this.lastSelectedItem.nativeElement.focus();
44854
+ this.statePersistence.removeWidgetState(this, "selectedItem");
44855
+ var arr = this.listItems.toArray();
44856
+ _e = __read([ arr[presentIndex + 1], arr[presentIndex] ], 2), arr[presentIndex] = _e[0],
44857
+ arr[presentIndex + 1] = _e[1];
44858
+ this.listItems.reset(arr);
44859
+ this.currentIndex = presentIndex + 2;
44860
+ this.ariaText = "selected ";
44772
44861
  } else {
44773
44862
  presentIndex = presentIndex < listItems.length - 1 ? presentIndex + 1 : listItems.length - 1;
44774
44863
  this.lastSelectedItem = this.getListItemByIndex(presentIndex);
@@ -44790,11 +44879,10 @@
44790
44879
  this.isListElementMovable = !this.isListElementMovable;
44791
44880
  this.onItemClick($event, this.getListItemByIndex(presentIndex));
44792
44881
  this.currentIndex = presentIndex + 1;
44793
- var name = this.getListItemByIndex(presentIndex).item.name;
44794
44882
  if (this.isListElementMovable) {
44795
- this.ariaText = name + " grabbed, current position ";
44883
+ this.ariaText = "Item " + this.currentIndex + " grabbed, current position ";
44796
44884
  } else {
44797
- this.ariaText = name + " dropped, final position ";
44885
+ this.ariaText = "Item " + this.currentIndex + " dropped, final position ";
44798
44886
  }
44799
44887
  }
44800
44888
  };
@@ -45032,7 +45120,7 @@
45032
45120
  type: core$1.Component,
45033
45121
  args: [ {
45034
45122
  selector: "div[wmList]",
45035
- 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 <i class="wi wi-chevron-left" aria-hidden="true"></i>\n <span class="sr-only">Previous</span>\n </a>\n </li>\n </ul>\n</nav>\n<div *ngIf="navigation === \'Inline\' && !noDataFound" aria-live="polite" aria-atomic="true" class="sr-only"> {{\'Item \' + dataNavigator.dn.currentPage + \' of \' + dataNavigator.pageCount }}</div>\n\n<div>\n <div id={{titleId}} class="sr-only" >\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" class="sr-only" >\n {{ariaText + currentIndex + \' of \' + listItems.length}}\n </div> \n</div>\n\n<ul [attr.tabindex]="tabindex" [attr.aria-describedby] = "titleId" 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 <i class="wi wi-chevron-right" aria-hidden="true"></i>\n <span class="sr-only">Next</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',
45123
+ 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" [attr.aria-describedby] = "titleId" 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',
45036
45124
  providers: [ base.provideAsWidgetRef(ListComponent) ]
45037
45125
  } ]
45038
45126
  } ];
@@ -45547,6 +45635,10 @@
45547
45635
  value: "No data found."
45548
45636
  }, base.PROP_STRING) ], [ "ondemandmessage", Object.assign({
45549
45637
  value: "Load More"
45638
+ }, base.PROP_STRING) ], [ "showviewlessbutton", Object.assign({
45639
+ value: false
45640
+ }, base.PROP_BOOLEAN) ], [ "viewlessmessage", Object.assign({
45641
+ value: "View Less"
45550
45642
  }, base.PROP_STRING) ], [ "pagesize", base.PROP_NUMBER ], [ "radioselect", base.PROP_BOOLEAN ], [ "rowclass", base.PROP_STRING ], [ "rowngclass", base.PROP_STRING ], [ "searchlabel", Object.assign({
45551
45643
  value: "Search"
45552
45644
  }, base.PROP_STRING) ], [ "show", Object.assign({
@@ -45627,6 +45719,7 @@
45627
45719
  _this.columns = {};
45628
45720
  _this.formfields = {};
45629
45721
  _this.enablesort = true;
45722
+ _this.showviewlessbutton = false;
45630
45723
  _this.primaryKey = [];
45631
45724
  _this.selectedItems = [];
45632
45725
  _this.selectedItemChange = new rxjs.Subject;
@@ -45647,6 +45740,7 @@
45647
45740
  _this.rowDef = {};
45648
45741
  _this.rowInstance = {};
45649
45742
  _this.fullFieldDefs = [];
45743
+ _this.variableInflight = true;
45650
45744
  _this.applyProps = new Map;
45651
45745
  _this.redraw = _.debounce(_this._redraw, 150);
45652
45746
  _this.debouncedHandleLoading = _.debounce(_this.handleLoading, 350);
@@ -45669,6 +45763,7 @@
45669
45763
  data: [],
45670
45764
  colDefs: [],
45671
45765
  startRowIndex: 1,
45766
+ mode: "",
45672
45767
  sortInfo: {
45673
45768
  field: "",
45674
45769
  direction: ""
@@ -45699,6 +45794,10 @@
45699
45794
  isSearchTrigerred: false,
45700
45795
  isDatasetUpdated: false,
45701
45796
  isDataUpdatedByUser: false,
45797
+ showviewlessbutton: false,
45798
+ ondemandmessage: "",
45799
+ viewlessmessage: "",
45800
+ loadingdatamsg: "",
45702
45801
  isNextPageData: undefined,
45703
45802
  ACTIONS: {
45704
45803
  DELETE: "delete",
@@ -45723,6 +45822,14 @@
45723
45822
  getPageSize: function() {
45724
45823
  return _this.pagesize;
45725
45824
  },
45825
+ getPageCount: function() {
45826
+ return _this.dataNavigator.pageCount;
45827
+ },
45828
+ enableNavigation: function() {
45829
+ _this.dataNavigator.widget.isDisableNext = false;
45830
+ _this.dataNavigator.widget.isDisableLast = false;
45831
+ _this.gridOptions.mode = "viewless";
45832
+ },
45726
45833
  setDeletedRowIndex: function(id) {
45727
45834
  _this.setDataGridOption("deletedRowIndex", id);
45728
45835
  },
@@ -45757,7 +45864,9 @@
45757
45864
  }
45758
45865
  _this.callDataGridMethod("selectRows", _this.items);
45759
45866
  _this.selectedItems = _this.callDataGridMethod("getSelectedRows");
45760
- _this.selectedItemChange.next(_this.selectedItems);
45867
+ if (_this.selectedItems.length) {
45868
+ _this.selectedItemChange.next(_this.selectedItems);
45869
+ }
45761
45870
  if (_this._isPageSearch && _this.filterInfo) {
45762
45871
  _this.searchSortHandler(_this.filterInfo, undefined, "search");
45763
45872
  }
@@ -45766,9 +45875,11 @@
45766
45875
  onRowSelect: function(row, e) {
45767
45876
  _this.ngZone.run((function() {
45768
45877
  _this.selectedItems = _this.callDataGridMethod("getSelectedRows");
45769
- _this.selectedItemChange.next(_this.selectedItems);
45878
+ if (_this.selectedItems.length) {
45879
+ _this.selectedItemChange.next(_this.selectedItems);
45880
+ }
45770
45881
  var rowData = _this.addRowIndex(row);
45771
- if (rowData.$index && _this.getConfiguredState() !== "none" && _this.dataNavigator && base.unsupportedStatePersistenceTypes.indexOf(_this.navigation) < 0) {
45882
+ if (_this.selectedItems.length && rowData.$index && _this.getConfiguredState() !== "none" && _this.dataNavigator && base.unsupportedStatePersistenceTypes.indexOf(_this.navigation) < 0) {
45772
45883
  var obj = {
45773
45884
  page: _this.dataNavigator.dn.currentPage,
45774
45885
  index: rowData.$index - 1
@@ -46208,9 +46319,14 @@
46208
46319
  _this.callDataGridMethod("addLoadMoreBtn", _this.ondemandmessage, _this.loadingdatamsg, (function($event) {
46209
46320
  _this.gridOptions.setIsNextPageData(true);
46210
46321
  _this.gridOptions.setIsDataUpdatedByUser(false);
46211
- _this.dataNavigator.navigatePage("next", $event);
46212
- _this.isDataLoading = true;
46213
- }));
46322
+ if (_this.gridOptions.mode === "viewless") {
46323
+ _this.dataNavigator.navigatePage("first", $event, true);
46324
+ _this.gridOptions.mode = "";
46325
+ } else {
46326
+ _this.dataNavigator.navigatePage("next", $event);
46327
+ _this.isDataLoading = true;
46328
+ }
46329
+ }), _this.infScroll);
46214
46330
  },
46215
46331
  bindScrollEvt: function() {
46216
46332
  if (_this._gridData && _this._gridData.length && _this.infScroll) {
@@ -46370,6 +46486,9 @@
46370
46486
  set: function(newValue) {
46371
46487
  var _a;
46372
46488
  this.isDataLoading = false;
46489
+ if (this.variableInflight && _.isEmpty(newValue)) {
46490
+ return;
46491
+ }
46373
46492
  this.variableInflight = false;
46374
46493
  if (this.gridOptions.isNavTypeScrollOrOndemand()) {
46375
46494
  _a = __read(this.paginationService.updateFieldsOnPagination(this, newValue), 2),
@@ -46488,6 +46607,10 @@
46488
46607
  this.gridOptions.securityUtils.pipeTransform = this.trustAsPipe;
46489
46608
  this.gridOptions.navigation = this.navigation;
46490
46609
  this.gridOptions.isdynamictable = this.isdynamictable;
46610
+ this.gridOptions.showviewlessbutton = this.showviewlessbutton;
46611
+ this.gridOptions.ondemandmessage = this.ondemandmessage;
46612
+ this.gridOptions.viewlessmessage = this.viewlessmessage;
46613
+ this.gridOptions.loadingdatamsg = this.loadingdatamsg;
46491
46614
  if (!_.isEmpty(this.gridData)) {
46492
46615
  this.gridOptions.data = core.getClonedObject(this.gridData);
46493
46616
  }
@@ -46819,6 +46942,9 @@
46819
46942
  };
46820
46943
  TableComponent.prototype.setGridData = function(serverData) {
46821
46944
  var data = this.filternullrecords ? this.removeEmptyRecords(serverData) : serverData;
46945
+ if (_.get(this.datasource, "category") === "wm.Variable") {
46946
+ this.variableInflight = false;
46947
+ }
46822
46948
  if (!this.variableInflight) {
46823
46949
  if (data && data.length === 0) {
46824
46950
  this.callDataGridMethod("setStatus", "nodata", this.nodatamessage);
@@ -47113,10 +47239,8 @@
47113
47239
  this.variableInflight = false;
47114
47240
  this.callDataGridMethod("setStatus", "nodata", this.nodatamessage);
47115
47241
  }
47116
- if (this.dataset) {
47117
- this.watchVariableDataSet(this.dataset);
47118
- this.onDataSourceChange();
47119
- }
47242
+ this.watchVariableDataSet(this.dataset);
47243
+ this.onDataSourceChange();
47120
47244
  break;
47121
47245
 
47122
47246
  case "dataset":
@@ -47225,6 +47349,11 @@
47225
47349
  if (nv) {
47226
47350
  this.$element.find(".on-demand-datagrid > a").text(nv);
47227
47351
  }
47352
+ this.gridOptions.ondemandmessage = nv;
47353
+ break;
47354
+
47355
+ case "viewlessmessage":
47356
+ this.gridOptions.viewlessmessage = nv;
47228
47357
  break;
47229
47358
 
47230
47359
  case "show":
@@ -50949,15 +51078,20 @@
50949
51078
  };
50950
51079
  };
50951
51080
  var \u02752 = findInvalidElement;
50952
- var setTouchedState = function(ngForm) {
51081
+ var setTouchedState = function(self, ngForm, fieldName) {
51082
+ var _a, _b;
50953
51083
  if (ngForm.valid) {
50954
51084
  return;
50955
51085
  }
50956
51086
  if (ngForm.controls) {
50957
- _.forEach(ngForm.controls, (function(ctrl) {
50958
- setTouchedState(ctrl);
51087
+ _.forEach(ngForm.controls, (function(ctrl, fieldName) {
51088
+ setTouchedState(self, ctrl, fieldName);
50959
51089
  }));
50960
51090
  } else {
51091
+ var element = self.$element.find('[wmformfield][key="' + fieldName + '"]');
51092
+ element[0].setAttribute("__errormsg", element[0].getAttribute("__validationId"));
51093
+ (_a = element[0].querySelector("input")) === null || _a === void 0 ? void 0 : _a.setAttribute("aria-invalid", ngForm.invalid);
51094
+ (_b = element[0].querySelector("input")) === null || _b === void 0 ? void 0 : _b.setAttribute("aria-describedby", element[0].getAttribute("__validationId"));
50961
51095
  ngForm.markAsTouched();
50962
51096
  }
50963
51097
  };
@@ -51254,7 +51388,7 @@
51254
51388
  }));
51255
51389
  };
51256
51390
  FormComponent.prototype.highlightInvalidFields = function() {
51257
- setTouchedState(this.ngform);
51391
+ setTouchedState(this, this.ngform, "");
51258
51392
  };
51259
51393
  FormComponent.prototype.validateFieldsOnSubmit = function() {
51260
51394
  this.setValidationMsgs();
@@ -51783,8 +51917,8 @@
51783
51917
  FormComponent.prototype.generateFormFields = function() {
51784
51918
  return __awaiter(this, void 0, void 0, (function() {
51785
51919
  var noOfColumns, $gridLayout, columnWidth, fieldTemplate, colCount, index, userFields, fields, colTmpl, componentFactoryRef, component;
51786
- return __generator(this, (function(_b) {
51787
- switch (_b.label) {
51920
+ return __generator(this, (function(_c) {
51921
+ switch (_c.label) {
51788
51922
  case 0:
51789
51923
  if (_.isUndefined(this._isGridLayoutPresent)) {
51790
51924
  this._isGridLayoutPresent = this.$element.find(".panel-body [wmlayoutgrid]").length > 0;
@@ -51843,7 +51977,7 @@
51843
51977
  }) ];
51844
51978
 
51845
51979
  case 1:
51846
- componentFactoryRef = _b.sent();
51980
+ componentFactoryRef = _c.sent();
51847
51981
  component = this.dynamicFormRef.createComponent(componentFactoryRef, 0, this.inj);
51848
51982
  core.extendProto(component.instance, this._dynamicContext);
51849
51983
  $gridLayout[0].appendChild(component.location.nativeElement);
@@ -52364,10 +52498,18 @@
52364
52498
  $($evt.target).closest(".live-field").addClass("active");
52365
52499
  };
52366
52500
  FormFieldDirective.prototype._onBlurField = function($evt) {
52367
- var _a, _b;
52501
+ var _a, _b, _c, _d;
52368
52502
  $($evt.target).closest(".live-field").removeClass("active");
52369
- (_a = this.nativeElement.querySelector("input")) === null || _a === void 0 ? void 0 : _a.setAttribute("aria-invalid", "" + this.ngform.controls[this._fieldName].invalid);
52370
- (_b = this.nativeElement.querySelector("input")) === null || _b === void 0 ? void 0 : _b.setAttribute("aria-describedby", "" + this.nativeElement.getAttribute("__errormsg"));
52503
+ var ele = this.nativeElement.querySelector("p.text-danger");
52504
+ if (this.ngform.controls[this._fieldName].invalid && this.ngform.controls[this._fieldName].touched && this.form.isUpdateMode) {
52505
+ this.nativeElement.setAttribute("__errormsg", "" + this.nativeElement.getAttribute("__validationId"));
52506
+ (_a = this.nativeElement.querySelector("input")) === null || _a === void 0 ? void 0 : _a.setAttribute("aria-invalid", "" + this.ngform.controls[this._fieldName].invalid);
52507
+ (_b = this.nativeElement.querySelector("input")) === null || _b === void 0 ? void 0 : _b.setAttribute("aria-describedby", "" + this.nativeElement.getAttribute("__validationId"));
52508
+ } else {
52509
+ this.nativeElement.removeAttribute("__errormsg");
52510
+ (_c = this.nativeElement.querySelector("input")) === null || _c === void 0 ? void 0 : _c.removeAttribute("aria-invalid");
52511
+ (_d = this.nativeElement.querySelector("input")) === null || _d === void 0 ? void 0 : _d.removeAttribute("aria-describedby");
52512
+ }
52371
52513
  this._activeField = false;
52372
52514
  this._triggeredByUser = false;
52373
52515
  this._clicktriggeredByUser = false;
@@ -52589,7 +52731,7 @@
52589
52731
  });
52590
52732
  };
52591
52733
  FormFieldDirective.prototype.onValueChange = function(val) {
52592
- var _a, _b;
52734
+ var _a, _b, _c, _d;
52593
52735
  if (!this.isDestroyed) {
52594
52736
  var captionEl = $(this.nativeElement).find(".caption-floating");
52595
52737
  if (captionEl.length > 0) {
@@ -52601,8 +52743,15 @@
52601
52743
  isFocused: this._activeField
52602
52744
  });
52603
52745
  }
52604
- (_a = this.nativeElement.querySelector("input")) === null || _a === void 0 ? void 0 : _a.setAttribute("aria-invalid", this._triggeredByUser && this.ngform.controls[this._fieldName].invalid ? "true" : "false");
52605
- (_b = this.nativeElement.querySelector("input")) === null || _b === void 0 ? void 0 : _b.setAttribute("aria-describedby", "" + this.nativeElement.getAttribute("__errormsg"));
52746
+ if (this.ngform.controls[this._fieldName].invalid && this.ngform.controls[this._fieldName].touched && this.form.isUpdateMode) {
52747
+ this.nativeElement.setAttribute("__errormsg", "" + this.nativeElement.getAttribute("__validationId"));
52748
+ (_a = this.nativeElement.querySelector("input")) === null || _a === void 0 ? void 0 : _a.setAttribute("aria-invalid", this._triggeredByUser && this.ngform.controls[this._fieldName].invalid ? "true" : "false");
52749
+ (_b = this.nativeElement.querySelector("input")) === null || _b === void 0 ? void 0 : _b.setAttribute("aria-describedby", "" + this.nativeElement.getAttribute("__validationId"));
52750
+ } else {
52751
+ this.nativeElement.removeAttribute("__errormsg");
52752
+ (_c = this.nativeElement.querySelector("input")) === null || _c === void 0 ? void 0 : _c.removeAttribute("aria-invalid");
52753
+ (_d = this.nativeElement.querySelector("input")) === null || _d === void 0 ? void 0 : _d.removeAttribute("aria-describedby");
52754
+ }
52606
52755
  this.form.onFieldValueChange(this, val);
52607
52756
  this.notifyChanges();
52608
52757
  if (this.$element.find(".active").length > 0 || this.form.touched) {
@@ -58269,40 +58418,36 @@
58269
58418
  var TabsAnimator = function(_super) {
58270
58419
  __extends(TabsAnimator, _super);
58271
58420
  function TabsAnimator(tabs) {
58272
- var e_1, _a;
58273
58421
  var _this = _super.call(this) || this;
58274
58422
  _this.tabs = tabs;
58275
58423
  _this._$el = $(_this.tabs.getNativeElement()).find(">.tab-content");
58276
- var childEls = _this._$el.find(">[wmTabPane]");
58277
- _this._noOfTabs = childEls.length;
58278
- var maxWidth = _this._noOfTabs * 100 + "%";
58279
- core.addClass(_this.tabs.getNativeElement(), "has-transition");
58280
- core.setCSSFromObj(_this._$el[0], {
58281
- maxWidth: maxWidth,
58282
- width: maxWidth
58283
- });
58284
- var width = 100 / _this._noOfTabs + "%";
58285
- try {
58286
- for (var _b = __values(Array.from(childEls)), _c = _b.next(); !_c.done; _c = _b.next()) {
58287
- var child = _c.value;
58288
- core.setCSS(child, "width", width);
58289
- }
58290
- } catch (e_1_1) {
58291
- e_1 = {
58292
- error: e_1_1
58293
- };
58294
- } finally {
58295
- try {
58296
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
58297
- } finally {
58298
- if (e_1) throw e_1.error;
58299
- }
58300
- }
58301
58424
  _this.init(_this._$el);
58302
58425
  return _this;
58303
58426
  }
58427
+ TabsAnimator.prototype.calibrate = function() {
58428
+ var activeTabIndex = this.tabs.getActiveTabIndex();
58429
+ var panes = this._$el.find(">.tab-pane");
58430
+ var activeTabVisibleIndex = 0;
58431
+ var noOfVisiblePanes = 0;
58432
+ var visiblePanes = [];
58433
+ panes.each((function(i, p) {
58434
+ if (!$(p).prop("hidden")) {
58435
+ noOfVisiblePanes++;
58436
+ if (i === activeTabIndex) {
58437
+ activeTabVisibleIndex = noOfVisiblePanes - 1;
58438
+ }
58439
+ visiblePanes.push(p);
58440
+ }
58441
+ return true;
58442
+ }));
58443
+ return {
58444
+ activeTabIndex: activeTabVisibleIndex,
58445
+ noOfTabs: noOfVisiblePanes,
58446
+ panes: visiblePanes
58447
+ };
58448
+ };
58304
58449
  TabsAnimator.prototype.bounds = function() {
58305
- var activeTabIndex = this.tabs.getActiveTabIndex(), w = this._$el.find(">.tab-pane").first().width(), noOfTabs = this._$el.find(">.tab-pane:visible").length, centerVal = -1 * activeTabIndex * w;
58450
+ var _a = this.calibrate(), activeTabIndex = _a.activeTabIndex, noOfTabs = _a.noOfTabs, panes = _a.panes, w = $(panes[0]).width(), centerVal = -1 * activeTabIndex * w;
58306
58451
  this.clearContentFocus();
58307
58452
  return {
58308
58453
  strict: false,
@@ -58329,8 +58474,18 @@
58329
58474
  }
58330
58475
  };
58331
58476
  TabsAnimator.prototype.transitionTabIntoView = function() {
58332
- var activeTabIndex = this.tabs.getActiveTabIndex();
58333
- core.setCSS(this._$el[0], "transform", "translate3d(" + -1 * activeTabIndex / this._noOfTabs * 100 + "%, 0, 0)");
58477
+ var _a = this.calibrate(), activeTabIndex = _a.activeTabIndex, noOfTabs = _a.noOfTabs, panes = _a.panes;
58478
+ var maxWidth = noOfTabs * 100 + "%";
58479
+ core.setCSSFromObj(this._$el[0], {
58480
+ maxWidth: maxWidth,
58481
+ width: maxWidth
58482
+ });
58483
+ core.addClass(this.tabs.getNativeElement(), "has-transition");
58484
+ var width = 100 / noOfTabs + "%";
58485
+ panes.forEach((function(p) {
58486
+ core.setCSS(p, "width", width);
58487
+ }));
58488
+ core.setCSS(this._$el[0], "transform", "translate3d(" + -1 * activeTabIndex / noOfTabs * 100 + "%, 0, 0)");
58334
58489
  };
58335
58490
  TabsAnimator.prototype.onUpper = function($event) {
58336
58491
  this.tabs.prev($event);
@@ -58456,6 +58611,7 @@
58456
58611
  };
58457
58612
  TabPaneComponent.prototype.onPropertyChange = function(key, nv, ov) {
58458
58613
  var _this = this;
58614
+ var _a;
58459
58615
  if (key === "content") {
58460
58616
  if (this.isActive) {
58461
58617
  setTimeout((function() {
@@ -58466,6 +58622,10 @@
58466
58622
  this.nativeElement.hidden = !nv;
58467
58623
  if (this._isFirstLoad) {
58468
58624
  this.tabsRef.selectDefaultPaneByIndex(this.tabsRef.defaultpaneindex);
58625
+ } else if (!nv && this.isActive) {
58626
+ this.tabsRef.next();
58627
+ } else if (nv || !this.isActive) {
58628
+ (_a = this.tabsRef.tabsAnimator) === null || _a === void 0 ? void 0 : _a.transitionTabIntoView();
58469
58629
  }
58470
58630
  this._isFirstLoad = false;
58471
58631
  } else {
@@ -62817,7 +62977,8 @@
62817
62977
  }), maxWaitTime * 1e3);
62818
62978
  document.addEventListener("backbutton", this.executeBackTapListeners.bind(this));
62819
62979
  if (i2.hasCordova()) {
62820
- var configUrl = location.protocol + "//" + location.hostname + (i2.isIos() ? "" : "/_www") + "/config.json";
62980
+ var port = location.port ? ":" + location.port : "";
62981
+ var configUrl = location.protocol + "//" + location.hostname + port + (i2.isIos() ? "" : "/_www") + "/config.json";
62821
62982
  i2.fetchContent("json", configUrl, true, (function(response) {
62822
62983
  if (!response.error && response.baseUrl) {
62823
62984
  _this._config = response;
@@ -67420,10 +67581,10 @@
67420
67581
  }));
67421
67582
 
67422
67583
  (function(global, factory) {
67423
- typeof exports === "object" && typeof module !== "undefined" ? factory(exports, require("@angular/core"), require("@wm/core"), require("@wm/components/base"), require("@wm/components/page"), require("@wm/mobile/core"), require("@angular/common")) : typeof define === "function" && define.amd ? define("@wm/mobile/components/page", [ "exports", "@angular/core", "@wm/core", "@wm/components/base", "@wm/components/page", "@wm/mobile/core", "@angular/common" ], factory) : (global = typeof globalThis !== "undefined" ? globalThis : global || self,
67584
+ typeof exports === "object" && typeof module !== "undefined" ? factory(exports, require("@angular/core"), require("@wm/core"), require("@wm/components/base"), require("ngx-bootstrap/modal"), require("@wm/components/page"), require("@wm/mobile/core"), require("@angular/common")) : typeof define === "function" && define.amd ? define("@wm/mobile/components/page", [ "exports", "@angular/core", "@wm/core", "@wm/components/base", "ngx-bootstrap/modal", "@wm/components/page", "@wm/mobile/core", "@angular/common" ], factory) : (global = typeof globalThis !== "undefined" ? globalThis : global || self,
67424
67585
  factory((global.wm = global.wm || {}, global.wm.mobile = global.wm.mobile || {},
67425
- global.wm.mobile.components = global.wm.mobile.components || {}, global.wm.mobile.components.page = {}), global.ng.core, global.wm.core, global.wm.components.base, global.wm.components.page, global.wm.mobile.core, global.ng.common));
67426
- })(this, (function(exports, core$1, core, base, page, core$2, common) {
67586
+ global.wm.mobile.components = global.wm.mobile.components || {}, global.wm.mobile.components.page = {}), global.ng.core, global.wm.core, global.wm.components.base, global.modal, global.wm.components.page, global.wm.mobile.core, global.ng.common));
67587
+ })(this, (function(exports, core$1, core, base, modal, page, core$2, common) {
67427
67588
  "use strict";
67428
67589
  var PageContentLoaderComponent = function() {
67429
67590
  function PageContentLoaderComponent(el) {
@@ -67445,18 +67606,30 @@
67445
67606
  } ];
67446
67607
  };
67447
67608
  var MobilePageDirective = function() {
67448
- function MobilePageDirective(app, elRef, deviceService, page, navigationService) {
67609
+ function MobilePageDirective(app, elRef, modalService, deviceService, page, navigationService) {
67449
67610
  var _this = this;
67611
+ this.modalService = modalService;
67450
67612
  this.deviceService = deviceService;
67451
67613
  this.page = page;
67452
67614
  this.navigationService = navigationService;
67615
+ this.subscriptions = [];
67453
67616
  core.addClass(elRef.nativeElement, "mobile-app-page");
67454
67617
  this._$ele = $(elRef.nativeElement);
67455
67618
  page.subscribe("wmMobileTabbar:ready", (function() {
67456
67619
  return _this._$ele.addClass("has-tabbar");
67457
67620
  }));
67621
+ var modalsOpened = [];
67622
+ this.subscriptions = [ modalService.onShown.subscribe((function(_a) {
67623
+ var id = _a.id;
67624
+ id && modalsOpened.push(id);
67625
+ })), modalService.onHidden.subscribe((function(_a) {
67626
+ var id = _a.id;
67627
+ id && _.remove(modalsOpened, id);
67628
+ })) ];
67458
67629
  this._backBtnListenerDestroyer = deviceService.onBackButtonTap((function($event) {
67459
- if (app.landingPageName === app.activePageName) {
67630
+ if (modalsOpened.length > 0) {
67631
+ modalService.hide(modalsOpened.pop());
67632
+ } else if (app.landingPageName === app.activePageName) {
67460
67633
  window.navigator["app"].exitApp();
67461
67634
  } else {
67462
67635
  _this.navigationService.goToPrevious();
@@ -67465,6 +67638,9 @@
67465
67638
  }));
67466
67639
  }
67467
67640
  MobilePageDirective.prototype.ngOnDestroy = function() {
67641
+ this.subscriptions.map((function(s) {
67642
+ return s.unsubscribe();
67643
+ }));
67468
67644
  this._backBtnListenerDestroyer();
67469
67645
  };
67470
67646
  return MobilePageDirective;
@@ -67480,6 +67656,8 @@
67480
67656
  type: core.App
67481
67657
  }, {
67482
67658
  type: core$1.ElementRef
67659
+ }, {
67660
+ type: modal.BsModalService
67483
67661
  }, {
67484
67662
  type: core$2.DeviceService
67485
67663
  }, {
@@ -70002,9 +70180,9 @@
70002
70180
  }));
70003
70181
 
70004
70182
  (function(global, factory) {
70005
- typeof exports === "object" && typeof module !== "undefined" ? factory(exports, require("@wm/core"), require("angular2-websocket/angular2-websocket"), require("@metrichor/jmespath"), require("@angular/core"), require("@angular/router"), require("@wm/oAuth"), require("@wm/security"), require("@wavemaker/variables"), require("@angular/common"), require("@angular/common/http"), require("ngx-toastr"), require("@wm/http")) : typeof define === "function" && define.amd ? define("@wm/variables", [ "exports", "@wm/core", "angular2-websocket/angular2-websocket", "@metrichor/jmespath", "@angular/core", "@angular/router", "@wm/oAuth", "@wm/security", "@wavemaker/variables", "@angular/common", "@angular/common/http", "ngx-toastr", "@wm/http" ], factory) : (global = typeof globalThis !== "undefined" ? globalThis : global || self,
70006
- factory((global.wm = global.wm || {}, global.wm.variables = {}), global.wm.core, global.angularWebSocket, global.jmespath, global.ng.core, global.ng.router, global.wm.oAuth, global.wm.security, global.wm_common_variables, global.ng.common, global.ng.common.http, global.ngxToastr, global.wm.http));
70007
- })(this, (function(exports, core, angular2Websocket, jmespath, core$1, router, oAuth, security, variables, common, http, ngxToastr, http$1) {
70183
+ typeof exports === "object" && typeof module !== "undefined" ? factory(exports, require("@wavemaker/variables"), require("@wm/core"), require("angular2-websocket/angular2-websocket"), require("@metrichor/jmespath"), require("@angular/core"), require("@angular/router"), require("@wm/oAuth"), require("@wm/security"), require("@angular/common"), require("@angular/common/http"), require("ngx-toastr"), require("@wm/http")) : typeof define === "function" && define.amd ? define("@wm/variables", [ "exports", "@wavemaker/variables", "@wm/core", "angular2-websocket/angular2-websocket", "@metrichor/jmespath", "@angular/core", "@angular/router", "@wm/oAuth", "@wm/security", "@angular/common", "@angular/common/http", "ngx-toastr", "@wm/http" ], factory) : (global = typeof globalThis !== "undefined" ? globalThis : global || self,
70184
+ factory((global.wm = global.wm || {}, global.wm.variables = {}), global.wm_common_variables, global.wm.core, global.angularWebSocket, global.jmespath, global.ng.core, global.ng.router, global.wm.oAuth, global.wm.security, global.ng.common, global.ng.common.http, global.ngxToastr, global.wm.http));
70185
+ })(this, (function(exports, variables, core, angular2Websocket, jmespath, core$1, router, oAuth, security, common, http, ngxToastr, http$1) {
70008
70186
  "use strict";
70009
70187
  var CONSTANTS = {
70010
70188
  hasCordova: window["cordova"] !== undefined,
@@ -70306,14 +70484,7 @@
70306
70484
  }
70307
70485
  }
70308
70486
  };
70309
- var $rootScope = {
70310
- project: {
70311
- deployedUrl: "./",
70312
- id: "temp_id"
70313
- },
70314
- projectName: "test_project_name",
70315
- isApplicationType: true
70316
- };
70487
+ var $rootScope = variables.$rootScope;
70317
70488
  /*! *****************************************************************************
70318
70489
  Copyright (c) Microsoft Corporation.
70319
70490
 
@@ -79195,14 +79366,15 @@
79195
79366
  error: reject
79196
79367
  });
79197
79368
  })).then((function(fileContent) {
79198
- var path = _this_1.localAppUrl || location.protocol + "//" + location.hostname + location.pathname;
79369
+ var port = location.port ? ":" + location.port : "";
79370
+ var path = _this_1.localAppUrl || location.protocol + "//" + location.hostname + port + location.pathname;
79199
79371
  var cordovaPath = path;
79200
79372
  if (cordovaPath.endsWith(".html")) {
79201
79373
  var splits = cordovaPath.split("/").slice(0);
79202
79374
  cordovaPath = splits.slice(0, splits.length - 1).join("/");
79203
79375
  }
79204
79376
  cordovaPath += "/cordova.js";
79205
- var mAppUrl = location.protocol + "//" + location.hostname + core.transformFileURI(localDir + "live-index.html");
79377
+ var mAppUrl = location.protocol + "//" + location.hostname + port + core.transformFileURI(localDir + "live-index.html");
79206
79378
  fileContent = fileContent.replace("cordova.js", cordovaPath);
79207
79379
  fileContent = fileContent.replace("<head>", '\n <head>\n <base href="' + _this_1.deployedUrl + '">\n <meta name="liveSync.deployedUrl" value="' + _this_1.deployedUrl + '">\n <meta name="liveSync.syncAppUrl" value="' + mAppUrl + '">\n <meta name="liveSync.localAppUrl" value="' + path + '">');
79208
79380
  return _this_1.file.writeFile(localDir, "live-index.html", fileContent, {
@@ -79998,6 +80170,9 @@
79998
80170
  }
79999
80171
  } : _a, scripts = _b.resources.scripts;
80000
80172
  var baseUrl = getPrefabBaseUrl(prefabName);
80173
+ scripts = scripts.filter((function(script) {
80174
+ return !script.startsWith("npm://");
80175
+ }));
80001
80176
  var _scripts = scripts.map((function(url) {
80002
80177
  return getPrefabResourceUrl(url, baseUrl);
80003
80178
  }));