@wavemaker/app-runtime-wm-build 11.4.2-rc.5405 → 11.4.2-rc.5568
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- app-runtime-wm-build/package.json +1 -1
- app-runtime-wm-build/wmapp/scripts/wm-libs.js +488 -204
- app-runtime-wm-build/wmapp/scripts/wm-libs.min.js +186 -174
- app-runtime-wm-build/wmapp/scripts/wm-loader.js +24 -25
- app-runtime-wm-build/wmapp/scripts/wm-loader.min.js +7 -7
- app-runtime-wm-build/wmapp/styles/css/wm-style.css +1 -1
- app-runtime-wm-build/wmmobile/scripts/wm-libs.js +488 -204
- app-runtime-wm-build/wmmobile/scripts/wm-libs.min.js +209 -197
- app-runtime-wm-build/wmmobile/scripts/wm-mobileloader.js +24 -25
- app-runtime-wm-build/wmmobile/scripts/wm-mobileloader.min.js +7 -7
- app-runtime-wm-build/wmmobile/styles/css/wm-style.css +1 -1
|
@@ -17071,7 +17071,9 @@
|
|
|
17071
17071
|
};
|
|
17072
17072
|
BaseFormCustomComponent.prototype.invokeOnChange = function(value, $event, valid) {
|
|
17073
17073
|
this._onChange(value);
|
|
17074
|
-
|
|
17074
|
+
if (valid) {
|
|
17075
|
+
_super.prototype.invokeOnChange.call(this, value, $event);
|
|
17076
|
+
}
|
|
17075
17077
|
};
|
|
17076
17078
|
BaseFormCustomComponent.prototype.invokeOnTouched = function($event) {
|
|
17077
17079
|
this._onTouched();
|
|
@@ -22705,7 +22707,7 @@
|
|
|
22705
22707
|
type: core$1.Component,
|
|
22706
22708
|
args: [ {
|
|
22707
22709
|
selector: "[wmSearch]",
|
|
22708
|
-
template: '<ng-template #customItemTemplate let-model="item" let-index="index" let-query="query" let-match="match">\n \x3c!-- Default item template --\x3e\n <a *ngIf="!content">\n <img *ngIf="model.imgSrc" [src]="model.imgSrc" alt="Search" [style.width]="imagewidth">\n <span [title]="model.label" [innerHtml]="highlight(match, query) || model.label"></span>\n </a>\n \x3c!-- Custom partial template --\x3e\n <a *ngIf="content" [ngClass]="{customTemplate: content}" partialContainer [wmItemTemplate]="content" [userComponentParams]="match.item">\n <div partial-container-target></div>\n </a>\n</ng-template>\n\n<ng-template #customListTemplate let-matches="matches" let-itemTemplate="itemTemplate" let-query="query">\n <ul #ulElement class="app-search dropdown-menu" scrollable>\n <li #liElements *ngFor="let match of matches" [ngClass]="{active: typeaheadContainer && typeaheadContainer.isActive(match), \'list-group-header\': match && match.isHeader()}"\n (mouseenter)="typeaheadContainer.selectActive(match);"\n (click)="match && !match.isHeader() && typeaheadContainer.selectMatch(match, $event); $typeaheadEvent = $event; notifySubscriber();">\n \x3c!-- itemTemplate comes from the <input> --\x3e\n <h4 *ngIf="match.isHeader()" class="group-title">{{match.value}}</h4>\n <ng-container *ngIf="!match.isHeader()" [ngTemplateOutlet]="itemTemplate"\n [ngTemplateOutletContext]="{item: match.item, index: i, match: match, query: query}">\n </ng-container>\n </li>\n <div class="status" [hidden]="_loadingItems || !(datacompletemsg && dataProvider.isLastPage)">\n <span [textContent]="datacompletemsg"></span>\n </div>\n <div class="status" [hidden]="!_loadingItems">\n <i class="fa fa-circle-o-notch fa-spin"></i>\n <span [textContent]="loadingdatamsg"></span>\n </div>\n </ul>\n</ng-template>\n\n\x3c!--This template is for search inside mobile navbar.--\x3e\n<ng-container *ngIf="navsearchbar; else searchTemplate">\n <input [title]="query || \'\'" type="text" class="app-textbox form-control list-of-objs app-search-input" [placeholder]="placeholder || \'\'"\n focus-target\n container="body"\n [disabled]="disabled"\n autocomplete="off"\n [(ngModel)]="query"\n [readonly]="readonly"\n [disabled]="disabled"\n [typeahead]="typeaheadDataSource"\n [typeaheadWaitMs]="debouncetime"\n [typeaheadItemTemplate]="customItemTemplate"\n [optionsListTemplate]="customListTemplate"\n (input)="onInputChange($event)"\n (keydown)="listenQuery = true"\n (keydown.enter)="$typeaheadEvent = $event;handleEnterEvent($event)"\n (keydown.arrowdown)="selectNext($event)"\n (blur)="invokeOnTouched($event)"\n (click)="handleFocus($event);"\n (focus)="_unsubscribeDv = false; listenQuery = true; handleFocus($event); invokeOnFocus($event);"\n (focusout)="onFocusOut()"\n [typeaheadMinLength]="minchars"\n [typeaheadOptionsLimit]="limit"\n (typeaheadLoading)="_loadingItems"\n (typeaheadOnSelect)="typeaheadOnSelect($event)"\n typeaheadOptionField="label"\n [typeaheadGroupField]="groupby ? \'groupby\' : null"\n [typeaheadAsync]="true"\n [typeaheadScrollable]="true"\n [
|
|
22710
|
+
template: '<ng-template #customItemTemplate let-model="item" let-index="index" let-query="query" let-match="match">\n \x3c!-- Default item template --\x3e\n <a *ngIf="!content">\n <img *ngIf="model.imgSrc" [src]="model.imgSrc" alt="Search" [style.width]="imagewidth">\n <span [title]="model.label" [innerHtml]="highlight(match, query) || model.label"></span>\n </a>\n \x3c!-- Custom partial template --\x3e\n <a *ngIf="content" [ngClass]="{customTemplate: content}" partialContainer [wmItemTemplate]="content" [userComponentParams]="match.item">\n <div partial-container-target></div>\n </a>\n</ng-template>\n\n<ng-template #customListTemplate let-matches="matches" let-itemTemplate="itemTemplate" let-query="query">\n <ul #ulElement class="app-search dropdown-menu" scrollable>\n <li #liElements *ngFor="let match of matches" [ngClass]="{active: typeaheadContainer && typeaheadContainer.isActive(match), \'list-group-header\': match && match.isHeader()}"\n (mouseenter)="typeaheadContainer.selectActive(match);"\n (click)="match && !match.isHeader() && typeaheadContainer.selectMatch(match, $event); $typeaheadEvent = $event; notifySubscriber();">\n \x3c!-- itemTemplate comes from the <input> --\x3e\n <h4 *ngIf="match.isHeader()" class="group-title">{{match.value}}</h4>\n <ng-container *ngIf="!match.isHeader()" [ngTemplateOutlet]="itemTemplate"\n [ngTemplateOutletContext]="{item: match.item, index: i, match: match, query: query}">\n </ng-container>\n </li>\n <div class="status" [hidden]="_loadingItems || !(datacompletemsg && dataProvider.isLastPage)">\n <span [textContent]="datacompletemsg"></span>\n </div>\n <div class="status" [hidden]="!_loadingItems">\n <i class="fa fa-circle-o-notch fa-spin"></i>\n <span [textContent]="loadingdatamsg"></span>\n </div>\n </ul>\n</ng-template>\n\n\x3c!--This template is for search inside mobile navbar.--\x3e\n<ng-container *ngIf="navsearchbar; else searchTemplate">\n <input [title]="query || \'\'" type="text" class="app-textbox form-control list-of-objs app-search-input" [placeholder]="placeholder || \'\'"\n focus-target\n container="body"\n [disabled]="disabled"\n autocomplete="off"\n [(ngModel)]="query"\n [readonly]="readonly"\n [disabled]="disabled"\n [typeahead]="typeaheadDataSource"\n [typeaheadWaitMs]="debouncetime"\n [typeaheadItemTemplate]="customItemTemplate"\n [optionsListTemplate]="customListTemplate"\n (input)="onInputChange($event)"\n (keydown)="listenQuery = true"\n (keydown.enter)="$typeaheadEvent = $event;handleEnterEvent($event)"\n (keydown.arrowdown)="selectNext($event)"\n (blur)="invokeOnTouched($event)"\n (click)="handleFocus($event);"\n (focus)="_unsubscribeDv = false; listenQuery = true; handleFocus($event); invokeOnFocus($event);"\n (focusout)="onFocusOut()"\n [typeaheadMinLength]="minchars"\n [typeaheadOptionsLimit]="limit"\n (typeaheadLoading)="_loadingItems"\n (typeaheadOnSelect)="typeaheadOnSelect($event)"\n typeaheadOptionField="label"\n [typeaheadGroupField]="groupby ? \'groupby\' : null"\n [typeaheadAsync]="true"\n [typeaheadScrollable]="true"\n [typeaheadOptionsInScrollableView]="optionslimitinscrollableview"\n [dropup]="dropup"\n [tabindex]="tabindex"\n [attr.name]="name"\n [attr.aria-label]="hint || \'Search field\'"/>\n <i class="btn-close wi wi-cancel" [hidden]="!showClosebtn" (click)="clearSearch($event);"></i>\n</ng-container>\n\x3c!--This template is for both web and fullscreen mode in mobile.--\x3e\n<ng-template #searchTemplate>\n <span class="wi wi-arrow-left form-control-feedback back-btn" aria-hidden="true" (click)="closeSearch()"></span>\n <span class="sr-only">Back button</span>\n <input [title]="query || \'\'" type="text" class="app-textbox form-control list-of-objs app-search-input" [placeholder]="placeholder || \'\'"\n focus-target\n [container]="containerTarget || \'body\'"\n [disabled]="disabled"\n autocomplete="off"\n [(ngModel)]="query"\n [readonly]="readonly"\n [typeahead]="typeaheadDataSource"\n [typeaheadWaitMs]="debouncetime"\n [typeaheadItemTemplate]="customItemTemplate"\n [optionsListTemplate]="customListTemplate"\n (input)="onInputChange($event)"\n (keydown)="listenQuery = true"\n (keydown.enter)="$typeaheadEvent = $event;handleEnterEvent($event)"\n (keydown.arrowdown)="selectNext($event)"\n (blur)="invokeOnTouched($event); onFocusOut()"\n (click)="handleFocus($event);"\n (focus)="_unsubscribeDv = false; listenQuery = true; handleFocus($event); invokeOnFocus($event)"\n [typeaheadMinLength]="minchars"\n [typeaheadOptionsLimit]="limit"\n (typeaheadLoading)="_loadingItems"\n (typeaheadOnSelect)="typeaheadOnSelect($event)"\n typeaheadOptionField="label"\n [typeaheadGroupField]="groupby ? \'groupby\' : null"\n [typeaheadAsync]="true"\n [typeaheadScrollable]="true"\n [typeaheadOptionsInScrollableView]="optionslimitinscrollableview"\n [tabindex]="tabindex"\n [dropup]="dropup"\n [attr.name]="name"\n [attr.aria-label]="hint || \'Search field\'">\n <input class="model-holder" ng-model="proxyModel" ng-required="required" tabindex="-1" aria-hidden="true">\n <span *ngIf="_loadingItems" aria-hidden="true" class="fa fa-circle-o-notch fa-spin form-control-feedback"></span>\n <span class="wi wi-close form-control-feedback clear-btn" [ngClass]="{\'show-btn\': isQueryEntered()}" (click)="clearSearch($event, true)"></span>\n <span class="sr-only">Clear button</span>\n <span *ngIf="showsearchicon" class="input-group-addon" aria-label="search icon" [ngClass]="{\'disabled\': disabled}">\n <form>\n <button title="Search" [disabled]="disabled" class="app-search-button wm-sl-l sl-search" type="submit"\n (click)="onSearchSelect($event)"></button>\n </form>\n </span>\n</ng-template>\n',
|
|
22709
22711
|
providers: [ base.provideAs(SearchComponent, forms.NG_VALUE_ACCESSOR, true), base.provideAs(SearchComponent, forms.NG_VALIDATORS, true), base.provideAsWidgetRef(SearchComponent) ]
|
|
22710
22712
|
} ]
|
|
22711
22713
|
} ];
|
|
@@ -28148,7 +28150,7 @@
|
|
|
28148
28150
|
}, base.PROP_BOOLEAN) ], [ "clearbutton", Object.assign({
|
|
28149
28151
|
value: true
|
|
28150
28152
|
}, base.PROP_BOOLEAN) ], [ "adaptiveposition", Object.assign({
|
|
28151
|
-
value:
|
|
28153
|
+
value: false
|
|
28152
28154
|
}, base.PROP_BOOLEAN) ], [ "todaybuttonlabel", Object.assign({
|
|
28153
28155
|
value: "LABEL_TODAY_DATE"
|
|
28154
28156
|
}, base.PROP_STRING) ], [ "clearbuttonlabel", Object.assign({
|
|
@@ -28442,7 +28444,7 @@
|
|
|
28442
28444
|
}, base.PROP_BOOLEAN) ], [ "clearbutton", Object.assign({
|
|
28443
28445
|
value: true
|
|
28444
28446
|
}, base.PROP_BOOLEAN) ], [ "adaptiveposition", Object.assign({
|
|
28445
|
-
value:
|
|
28447
|
+
value: false
|
|
28446
28448
|
}, base.PROP_BOOLEAN) ], [ "todaybuttonlabel", Object.assign({
|
|
28447
28449
|
value: "LABEL_TODAY_DATE"
|
|
28448
28450
|
}, base.PROP_STRING) ], [ "clearbuttonlabel", Object.assign({
|
|
@@ -33769,7 +33771,6 @@
|
|
|
33769
33771
|
core.$appDigest();
|
|
33770
33772
|
};
|
|
33771
33773
|
MenuComponent.prototype.onHide = function() {
|
|
33772
|
-
this.$element.find(">.dropdown-toggle").focus();
|
|
33773
33774
|
this.$element.find("li").removeClass("open");
|
|
33774
33775
|
this._selectFirstItem = false;
|
|
33775
33776
|
core.$appDigest();
|
|
@@ -38073,9 +38074,10 @@
|
|
|
38073
38074
|
value;
|
|
38074
38075
|
}
|
|
38075
38076
|
var registerProps = function() {
|
|
38076
|
-
base.register("wm-dialog", new Map([ [ "animation", base.PROP_STRING ], [ "class", base.PROP_STRING ], [ "closable",
|
|
38077
|
-
value: true
|
|
38078
|
-
|
|
38077
|
+
base.register("wm-dialog", new Map([ [ "animation", base.PROP_STRING ], [ "class", base.PROP_STRING ], [ "closable", {
|
|
38078
|
+
value: true,
|
|
38079
|
+
PROP_BOOLEAN: base.PROP_BOOLEAN
|
|
38080
|
+
} ], [ "iconclass", {
|
|
38079
38081
|
value: "wi wi-file-text",
|
|
38080
38082
|
PROP_STRING: base.PROP_STRING
|
|
38081
38083
|
} ], [ "iconheight", base.PROP_STRING ], [ "iconmargin", base.PROP_STRING ], [ "iconurl", base.PROP_STRING ], [ "iconwidth", base.PROP_STRING ], [ "modal", Object.assign({
|
|
@@ -38110,7 +38112,7 @@
|
|
|
38110
38112
|
_this = _super.call(this, inj, WIDGET_INFO, {
|
|
38111
38113
|
class: DIALOG_CLS + " " + (dialogClass || ""),
|
|
38112
38114
|
backdrop: backdrop,
|
|
38113
|
-
keyboard:
|
|
38115
|
+
keyboard: !core.toBoolean(modal)
|
|
38114
38116
|
}) || this;
|
|
38115
38117
|
return _this;
|
|
38116
38118
|
}
|
|
@@ -46913,9 +46915,6 @@
|
|
|
46913
46915
|
}
|
|
46914
46916
|
} else {
|
|
46915
46917
|
this.resetPageNavigation();
|
|
46916
|
-
if (newVal === "" || newVal === undefined || _.get(this.datasource, "category") === "wm.Variable") {
|
|
46917
|
-
this.variableInflight = false;
|
|
46918
|
-
}
|
|
46919
46918
|
if (!this.variableInflight) {
|
|
46920
46919
|
this.callDataGridMethod("setStatus", "nodata", this.nodatamessage);
|
|
46921
46920
|
}
|
|
@@ -47055,7 +47054,7 @@
|
|
|
47055
47054
|
};
|
|
47056
47055
|
TableComponent.prototype.setGridData = function(serverData) {
|
|
47057
47056
|
var data = this.filternullrecords ? this.removeEmptyRecords(serverData) : serverData;
|
|
47058
|
-
if (_.get(this.datasource, "category") === "wm.Variable"
|
|
47057
|
+
if (_.get(this.datasource, "category") === "wm.Variable") {
|
|
47059
47058
|
this.variableInflight = false;
|
|
47060
47059
|
}
|
|
47061
47060
|
if (!this.variableInflight) {
|
|
@@ -58673,14 +58672,14 @@
|
|
|
58673
58672
|
$event: $event
|
|
58674
58673
|
});
|
|
58675
58674
|
};
|
|
58676
|
-
TabPaneComponent.prototype.select = function($event) {
|
|
58675
|
+
TabPaneComponent.prototype.select = function($event, isKeyBoardEvent) {
|
|
58677
58676
|
if (this.isActive || this.disabled) {
|
|
58678
58677
|
return;
|
|
58679
58678
|
}
|
|
58680
58679
|
this.isActive = true;
|
|
58681
58680
|
this.$lazyLoad();
|
|
58682
58681
|
this.redrawChildren();
|
|
58683
|
-
this.notifyParent($event);
|
|
58682
|
+
this.notifyParent($event, isKeyBoardEvent);
|
|
58684
58683
|
};
|
|
58685
58684
|
TabPaneComponent.prototype.tabpaneHeaderClick = function($event, paneIndex) {
|
|
58686
58685
|
this.invokeEventCallback("headerclick", {
|
|
@@ -58718,8 +58717,8 @@
|
|
|
58718
58717
|
}
|
|
58719
58718
|
}), 100);
|
|
58720
58719
|
};
|
|
58721
|
-
TabPaneComponent.prototype.notifyParent = function(evt) {
|
|
58722
|
-
this.tabsRef.notifyChange(this, evt);
|
|
58720
|
+
TabPaneComponent.prototype.notifyParent = function(evt, isKeyBoardEvent) {
|
|
58721
|
+
this.tabsRef.notifyChange(this, evt, isKeyBoardEvent);
|
|
58723
58722
|
};
|
|
58724
58723
|
TabPaneComponent.prototype.handleSwipeLeft = function() {
|
|
58725
58724
|
this.tabsRef.next();
|
|
@@ -58917,7 +58916,7 @@
|
|
|
58917
58916
|
paneRef.remove();
|
|
58918
58917
|
}
|
|
58919
58918
|
};
|
|
58920
|
-
TabsComponent.prototype.notifyChange = function(paneRef, evt) {
|
|
58919
|
+
TabsComponent.prototype.notifyChange = function(paneRef, evt, isKeyBoardEvent) {
|
|
58921
58920
|
if (!this.isSelectableTab(paneRef)) {
|
|
58922
58921
|
return;
|
|
58923
58922
|
}
|
|
@@ -58949,7 +58948,7 @@
|
|
|
58949
58948
|
if (!evt || !headerElement || !headerElement.length) {
|
|
58950
58949
|
headerElement = this.nativeElement.querySelector("li[data-paneid=" + paneRef.widgetId + "]");
|
|
58951
58950
|
var insideTabs = !!$(headerElement).closest(".app-tabs").parent().closest(".app-tabs").length;
|
|
58952
|
-
if (!insideTabs) {
|
|
58951
|
+
if (!insideTabs && isKeyBoardEvent) {
|
|
58953
58952
|
$(headerElement).children().focus();
|
|
58954
58953
|
}
|
|
58955
58954
|
}
|
|
@@ -59021,16 +59020,16 @@
|
|
|
59021
59020
|
}
|
|
59022
59021
|
}
|
|
59023
59022
|
};
|
|
59024
|
-
TabsComponent.prototype.next = function($event) {
|
|
59023
|
+
TabsComponent.prototype.next = function($event, isKeyBoardEvent) {
|
|
59025
59024
|
var pane = this.getSelectableTabAfterIndex(this.getActiveTabIndex());
|
|
59026
59025
|
if (pane) {
|
|
59027
|
-
pane.select($event);
|
|
59026
|
+
pane.select($event, isKeyBoardEvent);
|
|
59028
59027
|
}
|
|
59029
59028
|
};
|
|
59030
|
-
TabsComponent.prototype.prev = function($event) {
|
|
59029
|
+
TabsComponent.prototype.prev = function($event, isKeyBoardEvent) {
|
|
59031
59030
|
var pane = this.getSelectableTabBeforeIndex(this.getActiveTabIndex());
|
|
59032
59031
|
if (pane) {
|
|
59033
|
-
pane.select($event);
|
|
59032
|
+
pane.select($event, isKeyBoardEvent);
|
|
59034
59033
|
}
|
|
59035
59034
|
};
|
|
59036
59035
|
TabsComponent.prototype.selectDefaultPaneByIndex = function(index) {
|
|
@@ -59119,13 +59118,13 @@
|
|
|
59119
59118
|
switch (event.key) {
|
|
59120
59119
|
case "ArrowLeft":
|
|
59121
59120
|
case "ArrowUp":
|
|
59122
|
-
this.prev();
|
|
59121
|
+
this.prev(null, true);
|
|
59123
59122
|
event.preventDefault();
|
|
59124
59123
|
break;
|
|
59125
59124
|
|
|
59126
59125
|
case "ArrowRight":
|
|
59127
59126
|
case "ArrowDown":
|
|
59128
|
-
this.next();
|
|
59127
|
+
this.next(null, true);
|
|
59129
59128
|
event.preventDefault();
|
|
59130
59129
|
break;
|
|
59131
59130
|
|