@wavemaker/app-runtime-wm-build 11.4.0-next.24667 → 11.4.0-next.24669
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 +4 -8
- app-runtime-wm-build/wmapp/scripts/wm-libs.min.js +1 -1
- app-runtime-wm-build/wmapp/scripts/wm-loader.js +4 -4
- app-runtime-wm-build/wmapp/scripts/wm-loader.min.js +1 -1
- app-runtime-wm-build/wmapp/styles/css/wm-style.css +1 -1
- app-runtime-wm-build/wmmobile/scripts/wm-libs.js +4 -8
- app-runtime-wm-build/wmmobile/scripts/wm-libs.min.js +1 -1
- app-runtime-wm-build/wmmobile/scripts/wm-mobileloader.js +4 -4
- app-runtime-wm-build/wmmobile/scripts/wm-mobileloader.min.js +1 -1
- app-runtime-wm-build/wmmobile/styles/css/wm-style.css +1 -1
|
@@ -827,7 +827,7 @@ var b=function(e,t){return(b=Object.setPrototypeOf||{__proto__:[]}instanceof Arr
|
|
|
827
827
|
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
828
828
|
PERFORMANCE OF THIS SOFTWARE.
|
|
829
829
|
***************************************************************************** */
|
|
830
|
-
var p=function(e,t){return(p=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(e,t)};Object.create;function u(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var i,o,r=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(i=r.next()).done;)a.push(i.value)}catch(e){o={error:e}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(o)throw o.error}}return a}function d(e,t,n){if(n||2===arguments.length)for(var i,o=0,r=t.length;o<r;o++)!i&&o in t||(i||(i=Array.prototype.slice.call(t,0,o)),i[o]=t[o]);return e.concat(i||Array.prototype.slice.call(t))}Object.create;var h,m=function(){n.register("wm-media-list",new Map([["class",n.PROP_STRING],["dataset",n.PROP_ANY],["layout",Object.assign({value:"Single-row"},n.PROP_STRING)],["mediaurl",n.PROP_STRING],["name",n.PROP_STRING],["offline",Object.assign({value:!0},n.PROP_BOOLEAN)],["show",Object.assign({value:!0},n.PROP_BOOLEAN)],["thumbnailheight",Object.assign({value:"100pt"},n.PROP_STRING)],["thumbnailwidth",Object.assign({value:"100pt"},n.PROP_STRING)],["thumbnailurl",n.PROP_STRING]]))},f={widgetType:"wm-media-list",hostClass:"app-medialist"};!function(e){e.SINGLE_ROW="Single-row",e.MULTI_ROW="Multi-row"}(h||(h={}));var g=function(e){function t(t){var i=e.call(this,t,f)||this;return i.selectedMediaIndex=-1,n.styler(i.nativeElement,i,n.APPLY_STYLES_TYPE.SCROLLABLE_CONTAINER),i}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}p(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}(t,e),t.prototype.appendToBody=function(){var e=this;return this.$fullScreenEle||setTimeout((function(){e.$fullScreenEle=e.$element.find(">.app-media-fullscreen"),e.$fullScreenEle.appendTo("body")}),100),!0},t.prototype.onPropertyChange=function(t,n,o){"dataset"===t?this.onDataChange(n):"layout"===t?n===h.SINGLE_ROW?i.addClass(this.nativeElement,"singlerow"):i.removeClass(this.nativeElement,"singlerow"):e.prototype.onPropertyChange.call(this,t,n,o)},t.prototype.exitFullScreen=function(){this.selectedMediaIndex=-1,this.$fullScreenEle.appendTo(this.$element),this.$fullScreenEle=null,i.$appDigest()},t.prototype.getPicTitle=function(){return this.selectedMediaIndex+1+"/"+this.fieldDefs.length},t.prototype.showFullScreen=function(e){this.selectedMediaIndex=e,i.$appDigest()},t.prototype.showNext=function(){this.selectedMediaIndex<this.fieldDefs.length-1&&(this.selectedMediaIndex++,i.$appDigest())},t.prototype.getSrc=function(e){return e?this.fieldDefs[this.selectedMediaIndex][e]:""},t.prototype.showPrev=function(){this.selectedMediaIndex>0&&(this.selectedMediaIndex--,i.$appDigest())},t.prototype.onDataChange=function(e){e?(i.isObject(e)&&!i.isArray(e)&&(e=[e]),this.binddataset||i.isString(e)&&(e=e.split(",")),i.isArray(e)&&this.updateFieldDefs(e)):this.updateFieldDefs([])},t.prototype.updateFieldDefs=function(e){var t=this;this.fieldDefs=e,e.forEach((function(e){e.mediaUrlVal=n.getEvaluatedData(e,{field:t.mediaurl},t.viewParent),e.thumbnailUrlVal=n.getEvaluatedData(e,t.thumbnailurl,t.viewParent)})),this.fieldDefs=e},t.prototype.listTrackByFn=function(e){return e},t}(n.StylableComponent);g.initializeProps=m(),g.decorators=[{type:t.Component,args:[{selector:"[wmMediaList]",template:'<ul class="list-unstyled list-inline app-media-thumbnail">\n <li *ngFor="let item of fieldDefs; index as index;" [ngStyle]="{width: thumbnailwidth, height: thumbnailheight}" (click)="showFullScreen(index)">\n <div class="thumbnail">\n <ng-container [ngTemplateOutlet]="imgTemplate"\n [ngTemplateOutletContext]="{src: item.thumbnailUrlVal, class: \'thumbnail-image\'}">\n </ng-container>\n <div class="thumbnail-details">\n <ng-container [ngTemplateOutlet]="mediaListTemplate" [ngTemplateOutletContext]="{item:item, index:index}" [wmMediaListItem]="item">\n </ng-container>\n </div>\n </div>\n </li>\n</ul>\n<div class="app-media-fullscreen" *ngIf="selectedMediaIndex >= 0 && appendToBody()">\n <header wmMobileNavbar\n backbutton="true"\n backbtnclick.event="exitFullScreen()"\n showLeftnavbtn="false"\n backbuttoniconclass.event="wi wi-chevron-left"\n title.bind="getPicTitle()">\n </header>\n <div wmContent>\n <div wmPageContent>\n <div class="media-content">\n <div class="image-container" (swipeleft)="showNext()" (swiperight)="showPrev()">\n <ng-container [ngTemplateOutlet]="imgTemplate"\n [ngTemplateOutletContext]="{field: \'mediaUrlVal\', class: \'center-block\'}">\n </ng-container>\n <a class="app-media-fullscreen-nav-control left" [hidden]="!(selectedMediaIndex > 0)" (click)="showPrev()">\n <i class="wi wi-chevron-left"></i>\n </a>\n <a class="app-media-fullscreen-nav-control right" [hidden]="!(selectedMediaIndex < fieldDefs.length-1)" (click)="showNext()">\n <i class="wi wi-chevron-right"></i>\n </a>\n </div>\n </div>\n </div>\n </div>\n</div>\n\n<ng-template #imgTemplate let-src="src" let-classname="class" let-field="field">\n <img wmPicture class="{{classname}}" picturesource.bind="src || getSrc(field)" wmImageCache="{{offline}}" />\n</ng-template>\n',providers:[n.provideAsWidgetRef(g)]}]}],g.ctorParameters=function(){return[{type:t.Injector}]},g.propDecorators={mediaListTemplate:[{type:t.ContentChild,args:["mediaListTemplate"]}]};var v=[c,g],y=function(){};y.decorators=[{type:t.NgModule,args:[{imports:[l.BasicModule,o.CommonModule,r.BasicModule,a.MobileNavbarModule,s.PageModule,n.WmComponentsModule],declarations:d([],u(v)),exports:d([],u(v)),entryComponents:[]}]}],e.MediaListComponent=g,e.MediaListItemDirective=c,e.MediaListModule=y,e["\u0275a"]=m,Object.defineProperty(e,"__esModule",{value:!0})})),function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(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")):"function"==typeof define&&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"],t):t(((e="undefined"!=typeof globalThis?globalThis:e||self).wm=e.wm||{},e.wm.variables={}),e.wm_common_variables,e.wm.core,e.angularWebSocket,e.jmespath,e.ng.core,e.ng.router,e.wm.oAuth,e.wm.security,e.ng.common,e.ng.common.http,e.ngxToastr,e.wm.http)}(this,(function(e,t,n,i,o,r,a,s,l,c,p,u,d){"use strict";var h={hasCordova:void 0!==window.cordova,isStudioMode:!1,isRunMode:!0,XSRF_COOKIE_NAME:"wm_xsrf_token",DEFAULT_TIMER_DELAY:500,WIDGET_DOESNT_EXIST:"The widget you're trying to navigate to doesn't exist on this page"},m={CATEGORY:{MODEL:"wm.Variable",LIVE:"wm.LiveVariable",CRUD:"wm.CrudVariable",SERVICE:"wm.ServiceVariable",WEBSOCKET:"wm.WebSocketVariable",NAVIGATION:"wm.NavigationVariable",NOTIFICATION:"wm.NotificationVariable",TIMER:"wm.TimerVariable",LOGIN:"wm.LoginVariable",LOGOUT:"wm.LogoutVariable",DEVICE:"wm.DeviceVariable"},EVENTS:["onBefore","onBeforeUpdate","onResult","onBeforeOpen","onOpen","onBeforeMessageSend","onMessageReceive","onProgress","onError","onBeforeDatasetReady","onCanUpdate","onClick","onHide","onOk","onCancel","onBeforeClose","onClose","onTimerFire","onSuccess","onOnline","onOffline"],EVENT:{CAN_UPDATE:"onCanUpdate",BEFORE:"onBefore",BEFORE_UPDATE:"onBeforeUpdate",PREPARE_SETDATA:"onBeforeDatasetReady",RESULT:"onResult",ERROR:"onError",ABORT:"onAbort",PROGRESS:"onProgress",CLICK:"onClick",HIDE:"onHide",OK:"onOk",CANCEL:"onCancel",CLOSE:"onClose",TIMER_FIRE:"onTimerFire",SUCCESS:"onSuccess",BEFORE_OPEN:"onBeforeOpen",OPEN:"onOpen",BEFORE_SEND:"onBeforeMessageSend",MESSAGE_RECEIVE:"onMessageReceive",BEFORE_CLOSE:"onBeforeClose"},OWNER:{APP:"App",PAGE:"Page"},REST_SUPPORTED_SERVICES:["JavaService","SoapService","FeedService","RestService","SecurityServiceType","DataService","WebSocketService","OpenAPIService"],PAGINATION_PARAMS:["page","size","sort"],REST_SERVICE:{BASE_PATH_KEY:"x-WM-BASE_PATH",RELATIVE_PATH_KEY:"x-WM-RELATIVE_PATH",OAUTH_PROVIDER_KEY:"x-WM-PROVIDER_ID",AUTH_HDR_KEY:"Authorization",SECURITY_DEFN:{BASIC:"basic",OAUTH2:"oauth2"},AUTH_TYPE:{BASIC:"BASIC",OAUTH:"OAUTH2",NONE:"NONE"},CONTENT_TYPE_KEY:"x-WM-CONTENT_TYPE",ACCESSTOKEN_PLACEHOLDER:{LEFT:"",RIGHT:".access_token"},ERR_TYPE:{NO_ACCESSTOKEN:"missing_accesstoken",NO_CREDENTIALS:"no_credentials",METADATA_MISSING:"metadata_missing",CRUD_OPERATION_MISSING:"crud_operation_missing",USER_UNAUTHORISED:"user_unauthorised",REQUIRED_FIELD_MISSING:"required_field_missing"},ERR_MSG:{NO_ACCESSTOKEN:"Access token missing",NO_CREDENTIALS:"No credentials present",METADATA_MISSING:'Metadata missing for "$variable"',USER_UNAUTHORISED:"Unauthorized User",CRUD_OPERATION_MISSING:'Operation "$operation" not allowed for "$variable"',REQUIRED_FIELD_MISSING:'Required field(s) missing: "${0}"'},UNCLOAKED_HEADERS:["CONTENT-TYPE","ACCEPT","CONTENT-LENGTH","ACCEPT-ENCODING","ACCEPT-LANGUAGE"],PREFIX:{AUTH_HDR_VAL:{BASIC:"Basic",OAUTH:"Bearer"},CLOAK_HEADER_KEY:"X-WM-"}},SERVICE_TYPE:{JAVA:"JavaService",REST:"RestService",SOAP:"SoapService",FEED:"FeedService",DATA:"DataService",SECURITY:"SecurityServiceType",WEBSOCKET:"WebSocketService",OPENAPI:"OpenAPIService"},CONTROLLER_TYPE:{QUERY:"QueryExecution",PROCEDURE:"ProcedureExecution"},HTTP_STATUS_CODE:{CORS_FAILURE:-1,UNAUTHORIZED:401,FORBIDDEN:403},EXPORT_TYPES_MAP:{EXCEL:".xlsx",CSV:".csv"},DEFAULT_VAR:{NOTIFICATION:"appNotification"}},f={NON_BODY_HTTP_METHODS:["GET","HEAD"],CONTENT_TYPES:{FORM_URL_ENCODED:"application/x-www-form-urlencoded",MULTIPART_FORMDATA:"multipart/form-data",OCTET_STREAM:"application/octet-stream"}},g={WM_DATA_JSON:"wm_data_json",WM_HTTP_JSON:"wm_httpRequestDetails"},v=t.$rootScope,y=function(e,t){return(y=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(e,t)};function b(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}y(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}Object.create;function w(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var i,o,r=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(i=r.next()).done;)a.push(i.value)}catch(e){o={error:e}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(o)throw o.error}}return a}function P(e,t,n){if(n||2===arguments.length)for(var i,o=0,r=t.length;o<r;o++)!i&&o in t||(i||(i=Array.prototype.slice.call(t,0,o)),i[o]=t[o]);return e.concat(i||Array.prototype.slice.call(t))}Object.create;var O={EXCEL:".xlsx",CSV:".csv"};e.appManager=void 0,e.httpService=void 0,e.metadataService=void 0,e.navigationService=void 0,e.routerService=void 0,e.toasterService=void 0,e.oauthService=void 0,e.securityService=void 0,e.dialogService=void 0;var S=/^\[("|')[\w\W]*(\1)\]$/,E=new Map,T=new Map,R=function(e,t){var n,i,o=_.noop;T.has(e)&&(o=T.get(e).cancel),o(),n=_.debounce((function(){(i=e[t]())instanceof Promise&&i.catch(_.noop)}),100),T.set(e,n),n()},A=function(e,t,n,i,o){switch(i.category){case m.CATEGORY.LIVE:"read"===i.operation?("dataBinding"===e?_.forEach(t,(function(e,t){i.filterFields[t]={value:e}})):i.filterFields[e]={value:t,type:n},i.autoUpdate&&!_.isUndefined(t)&&_.isFunction(i.listRecords)&&!o&&R(i,"listRecords")):("dataBinding"===e?i.inputFields=t:i.inputFields[e]=t,i.autoUpdate&&!_.isUndefined(t)&&_.isFunction(i[i.operation+"Record"])&&!o&&R(i,i.operation+"Record"));break;case m.CATEGORY.CRUD:"list"===i.operationType&&i.autoUpdate&&!_.isUndefined(t)&&_.isFunction(i.invoke)&&!o&&R(i,"invoke");break;case m.CATEGORY.SERVICE:case m.CATEGORY.LOGIN:i.autoUpdate&&!_.isUndefined(t)&&_.isFunction(i.invoke)&&!o&&R(i,"invoke");break;case m.CATEGORY.DEVICE:i[e]=t,i.autoUpdate&&!_.isUndefined(t)&&_.isFunction(i.invoke)&&!o&&R(i,"invoke")}},C=function(t,n){switch(t){case"appManager":e.appManager=n;break;case"http":e.httpService=n;break;case"metadata":e.metadataService=n;break;case"navigationService":e.navigationService=n;break;case"router":e.routerService=n;break;case"toaster":e.toasterService=n;break;case"oAuth":e.oauthService=n;break;case"security":e.securityService=n;break;case"dialog":e.dialogService=n}},I=function(e,t,i,o,r){var a,s=t[e],l=t._context;e!==m.EVENT.ERROR||r||s||(a=l.Actions[m.DEFAULT_VAR.NOTIFICATION])&&(i=a.getMessage()||i,i=_.isString(i)?i:"An error has occured. Please check the app logs.",a.invoke({message:i},void 0,void 0));var c=n.$parseEvent(t[e]);return e===m.EVENT.BEFORE_UPDATE?"wm.LiveVariable"===t.category&&"read"===t.operation?c(t._context,{variable:t,dataFilter:i,options:o}):c(t._context,{variable:t,inputData:i,options:o}):c(t._context,{variable:t,data:i,options:o})},D=function(e){setTimeout((function(){n.triggerFn(e)}),500)},N=function(e,t,i,o){var r,a,s,l,c,p="",u=t.get("Content-Disposition");if(u&&-1!==u.indexOf("attachment")&&null!==(r=/filename[^;=\n]*=((['"]).*?\2|[^;\n]*)/.exec(u))&&r[1]&&(p=r[1].replace(/['"]/g,"")),a=t.get("Content-Type"),s=new Blob([e],{type:a}),void 0!==window.navigator.msSaveBlob)window.navigator.msSaveBlob(s,p)?D(i):n.triggerFn(o);else{if(l=window.URL||window.webkitURL,c=l.createObjectURL(s),p){var d,h=document.createElement("a");void 0===h.download?((d=new FileReader).onloadend=function(){var e=d.result.replace(/^data:[^;]*;/,"data:attachment/file;");window.open(e,"_blank")||(window.location.href=e)},d.onload=D.bind(void 0,i),d.onerror=o,d.readAsDataURL(s)):(h.href=c,h.download=p,document.body.appendChild(h),h.click(),D(i))}else window.open(c,"_blank")||(window.location.href=c),D(i);setTimeout((function(){l.revokeObjectURL(c)}),100)}},x=function(e,t){e=_.split(e,"&"),_.forEach(e,(function(e){e=_.split(e,"="),t[e[0]]=decodeURIComponent(_.join(_.slice(e,1),"="))}))},k=function(e,t){"/"===e.url[1]&&"/"===e.url[2]&&(e.url=e.url.slice(0,1)+e.url.slice(2));var i,o,r,a="",s="fileDownloadIFrame",l="fileDownloadForm",c="Content-Type",p=e.url,u=_.get(e.headers,c),d=_.pickBy(e.headers,(function(e,t){return t!==c}));(i=$("#"+s)).length&&i.first().remove(),i=$('<iframe id="'+s+'" name="'+s+'" class="ng-hide"></iframe>'),(o=$('<form id="'+l+'" name="'+l+'"></form>')).attr({target:i.attr("name"),action:p,method:e.method,enctype:u}),a+=-1!==p.indexOf("?")?p.substring(p.indexOf("?")+1):"",a+=u===f.CONTENT_TYPES.FORM_URL_ENCODED?(a?"&":"")+e.dataParams:"",_.includes(f.NON_BODY_HTTP_METHODS,_.toUpper(e.method))&&x(a,d),x(e.data,d),_.forEach(d,(function(e,t){(r=$('<input type="hidden">')).attr({name:t,value:e}),o.append(r)})),$("body").append(i),setTimeout((function(){i.contents().find("body").append(o),o.submit(),n.triggerFn(t)}),100)},M=function(t,i,o){var r=t.url,a=t.method,s=t.dataParams||t.data,l=t.headers;l["Content-Type"]=l["Content-Type"]||"application/x-www-form-urlencoded",e.httpService.send({target:"WebService",action:"invokeRuntimeRestCall",method:a,url:r,headers:l,data:s,responseType:"arraybuffer"}).then((function(e){setTimeout((function(){N(e.body,e.headers,i,o)}),900)}),(function(e){n.triggerFn(o,e)}))},L=function(){return!!h.hasCordova&&localStorage.getItem(h.XSRF_COOKIE_NAME)},F=function(e,t,i){var o,r=e.target,a=i[t];return S.test(r)?o=a:(r=r.substr(0,r.lastIndexOf(".")),o=e.target===t?i:r?n.findValueOf(a,r,!0):a),o},j=function(e){return S.test(e)?e.replace(/^(\[["'])|(["']\])$/g,""):e.split(".").pop()},B=function(e,t,n,i,o,r){var a=j(e),s=F(t,n,i);o=_.isUndefined(o)?t.value:o,s&&(s[a]=o),A(a,o,t.type,i,r)},G=function(e,t,n){var i,o=_.keys(_.get(E.get(n),[n.name,t])),r=j(e);(i=_.filter(o,(function(e){return e!==r&&_.includes(e,r)||(r===t||"dataBinding"===r)&&e!==r}))).length&&_.forEach(i,(function(e){B(e,{target:e},t,n,_.get(E.get(n),[n.name,t,e]))}))},V=function(e,t,i,o){var r=e.target,a=F(e,i,o),s=j(r),l=t.registerDestroyListener?t.registerDestroyListener.bind(t):_.noop;if(n.stringStartsWith(e.value,"bind:")){l(n.$watch(e.value.replace("bind:",""),t,{},(function(t,l){t===l&&_.isUndefined(t)||!(!_.isUndefined(t)||_.isUndefined(l)&&_.isUndefined(a[s]))||(_.includes(["blob","file"],e.type)||(t=n.getClonedObject(t)),B(r,e,i,o,t),E.has(o)||E.set(o,{}),_.set(E.get(o),[o.name,i,r],t),_.isObject(t)&&G(r,i,o))}),void 0,void 0,void 0,(function(){return o.isMuted})))}else _.isUndefined(e.value)||(B(r,e,i,o,e.value,!0),i!==s&&(E.has(o)||E.set(o,{}),_.set(E.get(o),[o.name,i,r],e.value)))},U=function(e,t,n,i){i=i||"dataBinding";var o=e[n=n||"dataBinding"];e[n]={},e["_bind"+n]=o,o&&_.isArray(o)&&o.forEach((function(n){"wm.Variable"===e.category&&"dataBinding"===n.target&&(n.target="dataSet"),V(n,t,i,e)}))},W=function(t,n,i,o,r){if(h.hasCordova){var a=void 0;i&&(a=O[i]),e.appManager.notify("device-file-download",{url:t.url,name:n,extension:a,headers:t.headers,successCb:o,errorCb:r})}else!_.isEmpty(t.headers)||L()?M(t,o,r):k(t,o)},q=function(){return window.File&&window.FileReader&&window.FileList&&window.Blob},z=R,H=function(e){return n.DEFAULT_FORMATS[_.toUpper(e)]},Y=function(t,i){var o;return _.isDate(t)?o=t.getTime():(isNaN(t)||(t=parseInt(t,10)),o=t&&moment(t).valueOf()),isNaN(o)&&i!==n.DataType.TIME||i===n.DataType.TIMESTAMP?o:(i!==n.DataType.TIME||o||(o=moment((new Date).toDateString()+" "+t).valueOf()),t&&e.appManager.getPipe("date").transform(o,H(i)))},K=function(e,t){return _.includes(t,".")&&(t=_.toLower(n.extractType(t))),_.isArray(e)?_.map(e,(function(e){return Y(e,t)})):Y(e,t)};var Q=function(){function t(){}return t.prototype.initBinding=function(e,t,n){U(e,e._context,t,n)},t.prototype.notifyInflight=function(t,n,i){e.appManager.notify("toggle-variable-state",{variable:t,active:n,data:i})},t}(),X=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return b(i,t),i.prototype.invoke=function(t,i){!function(t,i){var o;t.dataSet=i&&i.data||t.dataSet;var r=t.dataBinding.pageName||t.pageName,a=t.operation,s=_.clone(t.dataSet),l=_.isNil(null==i?void 0:i.cacheable)?t.cacheable:i.cacheable;switch(i=i||{},_.isNil(l)||n.isString(l)&&""===l.trim()||(s._cache_page=l),a){case"goToPreviousPage":e.navigationService.goToPrevious();break;case"gotoPage":e.navigationService.goToPage(r,{transition:t.pageTransitions,$event:i.$event,urlParams:s,cacheable:t.cacheable});break;case"gotoView":o=t.dataBinding&&t.dataBinding.viewName||t.viewName;break;case"gotoTab":o=t.dataBinding&&t.dataBinding.tabName||t.tabName;break;case"gotoAccordion":o=t.dataBinding&&t.dataBinding.accordionName||t.accordionName;break;case"gotoSegment":o=t.dataBinding&&t.dataBinding.segmentName||t.segmentName}o&&e.navigationService.goToView(o,{pageName:r,transition:t.pageTransitions,$event:i.$event,urlParams:s},t)}(t,i)},i}(Q),J=function(t){function n(){return null!==t&&t.apply(this,arguments)||this}return b(n,t),n.prototype.onToasterClick=function(e){I("onClick",e,"")},n.prototype.onToasterHide=function(e){I("onHide",e,"")},n.prototype.notifyViaToaster=function(t,n){var i,o=(n.class||t.dataBinding.class||"info").toLowerCase(),r=n.message||t.dataBinding.text,a=n.title,s="toast-"+(n.position||t.dataBinding.toasterPosition||"bottom right").replace(" ","-"),l=t.dataBinding.page,c=parseInt(n.duration||t.dataBinding.duration,null);c||(c=0!==c&&"success"===o?3e3:0),i=t.dataBinding.content&&"page"===t.dataBinding.content&&l?e.toasterService.showCustom(l,{positionClass:s,timeOut:c,partialParams:t._binddataSet,context:t._context}):e.toasterService.show(o,a,r||null,{positionClass:s,timeOut:c,enableHtml:!0}),t.onClick&&i.onTap.subscribe(this.onToasterClick.bind(this,t)),t.onHide&&i.onHidden.subscribe(this.onToasterHide.bind(this,t))},n.prototype.notifyViaDialog=function(t,n){var i="Common"+_.capitalize(t.operation)+"Dialog",o=t.owner===m.OWNER.APP?i:"notification"+t.operation+"dialog",r=function(){return I("onOk",t,n.data)};e.dialogService.open(o,t._context,{notification:{title:n.title||t.dataBinding.title,text:n.message||t.dataBinding.text,okButtonText:n.okButtonText||t.dataBinding.okButtonText||"OK",cancelButtonText:n.cancelButtonText||t.dataBinding.cancelButtonText||"CANCEL",alerttype:n.alerttype||t.dataBinding.alerttype||"information",onOk:function(){e.dialogService.close(o,t._context,r)},onCancel:function(){I("onCancel",t,n.data),e.dialogService.close(o,t._context)},onClose:function(){I("onClose",t,n.data)}}})},n.prototype.notify=function(e,t,n,i){t=t||{},"toast"===e.operation?this.notifyViaToaster(e,t):this.notifyViaDialog(e,t)},n.prototype.getMessage=function(e){return e.dataBinding.text},n.prototype.setMessage=function(e,t){return _.isString(t)&&(e.dataBinding.text=t),e.dataBinding.text},n.prototype.getOkButtonText=function(e){return e.dataBinding.okButtonText},n.prototype.setOkButtonText=function(e,t){return _.isString(t)&&(e.dataBinding.okButtonText=t),e.dataBinding.okButtonText},n.prototype.getToasterDuration=function(e){return e.dataBinding.duration},n.prototype.setToasterDuration=function(e,t){return e.dataBinding.duration=t,e.dataBinding.duration},n.prototype.getToasterClass=function(e){return e.dataBinding.class},n.prototype.setToasterClass=function(e,t){return _.isString(t)&&(e.dataBinding.class=t),e.dataBinding.class},n.prototype.getToasterPosition=function(e){return e.dataBinding.class},n.prototype.setToasterPosition=function(e,t){return _.isString(t)&&(e.dataBinding.position=t),e.dataBinding.position},n.prototype.getAlertType=function(e){return e.dataBinding.alerttype},n.prototype.setAlertType=function(e,t){return _.isString(t)&&(e.dataBinding.alerttype=t),e.dataBinding.alerttype},n.prototype.getCancelButtonText=function(e){return e.dataBinding.cancelButtonText},n.prototype.setCancelButtonText=function(e,t){return _.isString(t)&&(e.dataBinding.cancelButtonText=t),e.dataBinding.cancelButtonText},n}(Q),Z=function(){function t(){}return t.prototype.initBinding=function(e,t,n){U(e,e._context,t,n)},t.prototype.notifyInflight=function(t,n,i,o){e.appManager.notify("toggle-variable-state",{variable:t,active:n,data:i,options:o})},t.prototype.setRequestTrackId=function(e,t){var n,i=null===(n=null==e?void 0:e.headers)||void 0===n?void 0:n.get("x-wm-request-track-id");i&&(t._requestTrackId=i)},t.prototype.httpCall=function(t,n,i){var o=this;return new Promise((function(r,a){n._observable=e.httpService.sendCallAsObservable(t,i).subscribe((function(e){e&&e.type&&(o.setRequestTrackId(e,n),r(e))}),(function(t){o.setRequestTrackId(t,n),e.httpService.isPlatformSessionTimeout(t)?(o.notifyInflight(n,!1,t),t._401Subscriber.asObservable().subscribe((function(e){return r(e)}),(function(e){return a(e)}))):a(t)}))}))},t.prototype.prepareCallbackOptions=function(e,t){var n={};return n.xhrObj=e,t&&_.extend(n,t),n},t}(),ee=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return b(i,t),i.prototype.validate=function(e){var t,n,i;for(n in["rememberme","remembermecheck"].forEach((function(t){_.isBoolean(e[t])&&(i=t)})),e[i=i||"j_rememberme"]=!!_.isBoolean(e[i])&&e[i],e)if(e.hasOwnProperty(n)&&(""===e[n]||void 0===e[n])){t="Please provide required credentials";break}return t},i.prototype.migrateOldParams=function(e){var t={},n={usernametext:"j_username",username:"j_username",passwordtext:"j_password",password:"j_password",remembermecheck:"j_rememberme",rememberme:"j_rememberme"};return _.each(e,(function(e,i){n[i]?t[n[i]]=e:t[i]=e})),t},i.prototype.redirectToAppBasePath=function(){e.routerService.navigate(["/"]).then((function(e){e&&window.location.reload()}))},i.prototype.login=function(t,i,o,r){var a,s=this,l=(i=i||{}).loginInfo||i.input||t.dataBinding,c=this.validate(l);if(c)return n.triggerFn(r,c),void I("onError",t,c);var p=n.getClonedObject(l),u=I(m.EVENT.BEFORE_UPDATE,t,p);if(_.isObject(u))p=u;else if(!1===u)return void n.triggerFn(r);p=this.migrateOldParams(p);var d=_.get(e.securityService.get(),"userInfo.userName");this.notifyInflight(t,!0),t.promise=e.securityService.appLogin(p,(function(i){e.dialogService.close("CommonLoginDialog"),e.appManager.reloadAppData().then((function(r){I(m.EVENT.RESULT,t,_.get(r,"userInfo")),(a=I(m.EVENT.PREPARE_SETDATA,t,_.get(r,"userInfo")))&&_.set(r,"userInfo",a),s.notifyInflight(t,!1,i),n.triggerFn(o),setTimeout((function(){if(I(m.EVENT.SUCCESS,t,_.get(r,"userInfo")),t.useDefaultSuccessHandler){var n=d===p.j_username;d&&!n||e.appManager.executeSessionFailureRequests();var i=e.securityService.getCurrentRouteQueryParam("redirectTo"),o=e.appManager.noRedirect(),a=e.securityService.getRedirectedRouteQueryParams();if(a.redirectTo&&delete a.redirectTo,e.appManager.noRedirect(!1),d)if(_.isEmpty(i)){var l=e.securityService.get(),c=_.get(l,"loginConfig.sessionTimeout.type")||"PAGE";n&&"DIALOG"===c||s.redirectToAppBasePath()}else d===p.j_username?e.routerService.navigate(["/"+i],{queryParams:a}):s.redirectToAppBasePath();else _.isEmpty(i)?o||e.routerService.navigate(["/"]):e.routerService.navigate(["/"+i],{queryParams:a})}I(m.EVENT.CAN_UPDATE,t,_.get(r,"userInfo"))}))}))}),(function(e){I(m.EVENT.RESULT,t,e),s.notifyInflight(t,!1,e);var i=e.error||"Invalid credentials.",o=e.details;h.isRunMode&&I("onError",t,i,o,!0),n.triggerFn(r,i,o),I(m.EVENT.CAN_UPDATE,t,e)}))},i}(Q),te=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return b(i,t),i.prototype.logout=function(t,i,o,r){var a,s,l,c=this;a=function(e,i,o){h.isStudioMode||I("onError",t,e,o),n.triggerFn(r,e,o)},!1!==I(m.EVENT.BEFORE_UPDATE,t,null)?e.securityService.isAuthenticated((function(i){i?(c.notifyInflight(t,!0),t.promise=e.securityService.appLogout((function(i){var r=i.body;r=n.getValidJSON(r),e.appManager.reloadAppData().then((function(){c.notifyInflight(t,!1,r),I(m.EVENT.RESULT,t,r),(l=I(m.EVENT.PREPARE_SETDATA,t,r))&&(r=l),setTimeout((function(){I(m.EVENT.SUCCESS,t,r),I(m.EVENT.CAN_UPDATE,t,r)}))})),r&&r.result?window.location.href=r.result:t.useDefaultSuccessHandler&&((s=t.redirectTo)&&"login.html"!==s&&"index.html"!==s||(s=""),e.routerService.navigate(["/"+s]),window.cordova||setTimeout((function(){window.location.reload()}))),n.triggerFn(o)}),a)):a("No authenticated user to logout.")}),(function(e){c.notifyInflight(t,!1,e),a(e)})):n.triggerFn(r)},i}(Q),ne=function(e){function t(){var t=e.apply(this,P([],w(arguments)))||this;return t.serviceRegistry=new Map,t}return b(t,e),t.prototype.invoke=function(e,t){var n=this,i=this.serviceRegistry.get(e.service);return null==i?(I("onError",e,null),Promise.reject("Could not find service '"+i+"'")):(this.notifyInflight(e,!0),i.invoke(e,t).then((function(t){return n.notifyInflight(e,!1,t),t}),(function(t){return n.notifyInflight(e,!1,t),Promise.reject(t)})))},t.prototype.registerService=function(e){this.serviceRegistry.set(e.name,e)},t}(Z),ie=function(){function e(){}return e.setPaginationQueryParams=function(e,t,n){t.parameters.forEach((function(t){var i;i="offset"===n.type||n.input.offset?"offset":"page",t.name===n.input[i].split(".")[0]?t.sampleValue=e.pagination.page:t.name===n.input.size.split(".")[0]&&(t.sampleValue=e.pagination.size)}))},e.setVariablePagination=function(e,t,n){e.pagination||(e.pagination={empty:!1}),e.pagination.size=t.size,e.pagination.page=t.page||0,e.pagination.totalElements=t.totalElements,e.pagination.numberOfElements=e.pagination.size,e.pagination.number=n.page?n.page-1:0,e.pagination.totalPages=e.pagination.totalElements/e.pagination.size,e.pagination.totalElements%e.pagination.size==0?e.pagination.totalPages=parseInt(e.pagination.totalPages):e.pagination.totalPages=parseInt(e.pagination.totalPages)+1,t.next?(e.pagination.next=t.next,e.pagination.prev=t.prev,e.pagination.last=!t.next,e.pagination.first=!t.prev):(e.pagination.first=e.pagination.page<=1,e.pagination.last=""===t.hasMoreItems?!(e.pagination.page<e.pagination.totalPages):!t.hasMoreItems)},e.setPaginationItems=function(e,t,n,i,r){var a;if(_.startsWith(e,"$body")){var s=e.replace("$body.","");try{n[i]=o.jmespath.search(t,s)}catch(t){console.warn(e+" expression needs to be corrected as per JMES guidelines")}}else if(_.startsWith(e,"$header")){var l=e.replace("$header.",""),c=Object.fromEntries(r.headers),p=l.split(".");try{n[i]=o.jmespath.search(c,p[0].toLowerCase())}catch(t){console.warn(e+" expression needs to be corrected as per JMES guidelines")}if(null===(a=n[i])||void 0===a?void 0:a.length){var u=n[i].join();if(1===p.length)n[i]=u;else{var d=p.slice(1).join("."),h=JSON.parse(u);/[!@#$%^&*()+\=\[\]{};':"\\|,<>\/?]+/.test(d)&&(d="headerResp."+d);try{n[i]=o.jmespath.search(h,d)}catch(t){console.warn(e+" expression needs to be corrected as per JMES guidelines")}}}}},e.getPaginationInfo=function(e,t){return(null==e?void 0:e.paginationInfo)?e.paginationInfo:t._paginationConfig},e.checkPaginationAtQuery=function(e,t,n){var i,o=this.getPaginationInfo(e,t);if(n&&n.page&&(null==o?void 0:o.input.size)&&t.pagination){var r;r="offset"===o.type||o.input.offset?"offset":"page";var a=o.input[r].split(".")[0],s=_.find(e.parameters,(function(e){return e.name===a}));!_.isEmpty(t.dataBinding)&&s&&"query"===s.parameterType&&((null===(i=o.output)||void 0===i?void 0:i.page)||"offset"===o.type?t.pagination.page=this.getOffsetInfo(t,n):t.pagination.page=n.page,this.setPaginationQueryParams(t,e,o))}},e.getOffsetInfo=function(e,t){return e.pagination.size*(t.page?t.page-1:1)},e.setPaginationAtReq=function(e,t,n,i,o,r,a){var s,l={},c={};s="offset"===e.type||e.input.offset?"offset":"page";var p=e.input[s].split(".")[0],u=_.find(t.parameters,(function(e){return e.name===p}));if("header"===(null==u?void 0:u.parameterType))_.set(l,e.input[s],n.pagination.page),_.set(l,e.input.size,n.pagination.size),i[p]=JSON.stringify(l[p]),c.headers=i;else if("body"===(null==u?void 0:u.parameterType)){var d=JSON.parse(u.sampleValue),h=e.input[s].split(".")[1];if(d&&d[h]){var m=e.input[s].split(".").splice(1).join(".");"offset"!==s?_.set(l,m,n.pagination.page):_.set(l,m,this.getOffsetInfo(n,a)),_.set(l,e.input.size.split(".").splice(1).join("."),n.pagination.size),d[h]=l[h],o=JSON.stringify(d),c.requestBody=o}}else if(n.pagination.next&&u)if("path"===u.parameterType){var f=t.relativePath.split("/"),g="{"+u.name+"}",v=f.indexOf(g),y=void 0;y=n.pagination.isNext?n.pagination.next.split("/"):n.pagination.prev.split("/");var b=void 0,w=void 0;t.directPath?((b=(w=new URL(r)).pathname.split("/"))[v]=y[v],w.pathname=b.join("/"),r=w.href,c.url=r):((b=r.split("/"))[v+1]=y[v],r=b.join("/"),c.url=r)}else if("query"===u.parameterType){f=r.split("?"),y=void 0;y=n.pagination.isNext?n.pagination.next.split("?"):n.pagination.prev.split("?"),f[1]=y[1],r=f.join("?"),c.url=r}return c},e.setParameterVal=function(e,t,n,i){var o=this.getPaginationInfo(n,i).input[e].split(".")[0],r=_.find(n.parameters,(function(e){return e.name===o}));t[e]=_.result(r,"sampleValue")},e.generatePaginationRes=function(e,t,n,i,o,r){var a={},s=t.output;if(null==s?void 0:s.next)s&&(this.setPaginationItems(s.next,n,a,"next",i),this.setPaginationItems(s.prev,n,a,"prev",i));else{if((null==s?void 0:s.size)?this.setPaginationItems(s.size,n,a,"size",i):this.setParameterVal("size",a,e,r),(null==s?void 0:s.page)?this.setPaginationItems(s.page,n,a,"page",i):"offset"!==t.type&&this.setParameterVal("page",a,e,r),_.startsWith(null==s?void 0:s.totalElements,"$minValue")){var l=s.totalElements.replace("$minValue=",""),c=a.page?a.page:o.page,p=a.size*c;!r.pagination||r.pagination.totalElements>p?a.totalElements=parseInt(l):a.totalElements=p+1}else(null==s?void 0:s.totalElements)?this.setPaginationItems(s.totalElements,n,a,"totalElements",i):"offset"===t.type||t.input.offset?a.totalElements=a.size*(o.page?o.page:1)+1:a.totalElements=a.size*a.page+1;(null==s?void 0:s.hasMoreItems)?this.setPaginationItems(s.hasMoreItems,n,a,"hasMoreItems",i):a.hasMoreItems=""}return a},e}(),oe=function(e){return _.includes(["QueryExecution","ProcedureExecution"],e.controller)&&_.includes(["put","post"],e.operationType)},re=function(e,t){return e===m.CONTROLLER_TYPE.QUERY&&t===m.SERVICE_TYPE.DATA},ae=function(e,t,i){var o=_.toLower(n.extractType(_.get(t,"items.type")||t.type)),r=h.isStudioMode?t["x-WM-CONTENT_TYPE"]:t.contentType;if(q())return"file"===o||"string"!==r&&r?_.isArray(i)&&"file"===o?_.forEach(i,(function(i){e.append(t.name,i&&i.content||n.getBlob(i),i.name)})):e.append(t.name,n.getBlob(i,r),i&&i.name):(_.isObject(i)&&(i=JSON.stringify(i)),e.append(t.name,i)),e},se=function(e,t){var i,o={},r=[];return _.forEach(t,(function(t){i=_.get(e,t.name),_.isUndefined(i)||""===i||null===i||t.readOnly?t.required&&r.push(t.name||t.id):(i=n.isDateTimeType(t.type)?K(i,t.type):i,_.isArray(i)&&"string"===_.toLower(n.extractType(t.type))&&(i=_.join(i,",")),o[t.name]=i)})),{requestBody:o,missingParams:r}},le=function(e){var t={},n=m.REST_SERVICE.UNCLOAKED_HEADERS,i=m.REST_SERVICE.PREFIX.CLOAK_HEADER_KEY;return _.forEach(e,(function(e,o){_.includes(n,o.toUpperCase())?t[o]=e:t[i+o]=e})),t},ce=function(){function t(){}return t.constructRequestParams=function(t,i,o,r){if(t=t||{},null===i)return{error:{type:m.REST_SERVICE.ERR_TYPE.USER_UNAUTHORISED,message:m.REST_SERVICE.ERR_MSG.USER_UNAUTHORISED,field:"_wmServiceOperationInfo"}};if(_.isEmpty(i))return{error:{type:m.REST_SERVICE.ERR_TYPE.METADATA_MISSING,message:m.REST_SERVICE.ERR_MSG.METADATA_MISSING,field:"_wmServiceOperationInfo"}};if(i&&i.invalid)return{error:{type:m.REST_SERVICE.ERR_TYPE.CRUD_OPERATION_MISSING,message:m.REST_SERVICE.ERR_MSG.CRUD_OPERATION_MISSING,field:"_wmServiceOperationInfo"}};var a,s,l,c,p,u,d,y,b,w,P,O,S,E,T,R,A,C=i.directPath||"",I=i.basePath?i.basePath+i.relativePath:i.relativePath,D=oe(t),N="",x={},k=[],M=null;function L(){return b||(b=new FormData)}if(S=_.get(i.securityDefinitions,"0"))switch(S.type){case m.REST_SERVICE.SECURITY_DEFN.OAUTH2:if(R=S[m.REST_SERVICE.OAUTH_PROVIDER_KEY],A=null,!(E=e.oauthService.getAccessToken(R,A)))return{error:{type:m.REST_SERVICE.ERR_TYPE.NO_ACCESSTOKEN,message:m.REST_SERVICE.ERR_MSG.NO_ACCESSTOKEN},securityDefnObj:S};x[m.REST_SERVICE.AUTH_HDR_KEY]=m.REST_SERVICE.PREFIX.AUTH_HDR_VAL.OAUTH+" "+E;break;case m.REST_SERVICE.SECURITY_DEFN.BASIC:if(u=o.wm_auth_username,d=o.wm_auth_password,!u||!d)return{error:{type:m.REST_SERVICE.ERR_TYPE.NO_CREDENTIALS,message:m.REST_SERVICE.ERR_MSG.NO_CREDENTIALS},securityDefnObj:S};x[m.REST_SERVICE.AUTH_HDR_KEY]=m.REST_SERVICE.PREFIX.AUTH_HDR_VAL.BASIC+" "+btoa(u+":"+d),M={type:m.REST_SERVICE.AUTH_TYPE.BASIC}}if(ie.checkPaginationAtQuery(i,t,r),i.proxySettings=i.proxySettings||{web:!0,mobile:!1},y=i.httpMethod||i.methodType,w=h.hasCordova?i.proxySettings.mobile:i.proxySettings.web,T=i.proxySettings.withCredentials,l=w?I:C,_.forEach(i.parameters,(function(e){function r(){o?(P=o[e.name]&&_.isObject(o[e.name])?o[e.name]:o,O=_.get(i,["definitions",e.type])):(P=c||{},O=e.children)}var c=e.sampleValue;if(n.isDefined(c)&&null!==c&&""!==c||D&&"file"!==e.type)switch(t.serviceType===m.SERVICE_TYPE.DATA&&n.isDateTimeType(e.type)&&(c=K(c,e.type)),_.isArray(c)&&"string"===_.toLower(n.extractType(e.type))&&t.serviceType===m.SERVICE_TYPE.DATA&&(c=_.join(c,",")),e.parameterType.toUpperCase()){case"QUERY":if(_.isNull(c)&&re(t.controller,t.serviceType))break;N?N+="&"+e.name+"="+encodeURIComponent(c):N="?"+e.name+"="+encodeURIComponent(c);break;case"PATH":p=new RegExp("\\s*\\{\\s*"+e.name+"(:\\.\\+)?\\s*\\}\\s*"),l=l.replace(p,c);break;case"HEADER":x[e.name]=c;break;case"BODY":D?(r(),a=se(P,O),s=a.requestBody,k=_.concat(k,a.missingParams)):s=c;break;case"FORMDATA":D&&e.name===g.WM_DATA_JSON?(r(),a=se(P,O),s=ae(L(),e,a.requestBody),k=_.concat(k,a.missingParams)):s=ae(L(),e,c)}else e.required&&k.push(e.name||e.id)})),k.length)return{error:{type:m.REST_SERVICE.ERR_TYPE.REQUIRED_FIELD_MISSING,field:k.join(","),message:n.replace(m.REST_SERVICE.ERR_MSG.REQUIRED_FIELD_MISSING,[k.join(",")]),skipDefaultNotification:!0}};_.includes(f.NON_BODY_HTTP_METHODS,_.toUpper(y))||i.consumes&&i.consumes[0]===f.CONTENT_TYPES.MULTIPART_FORMDATA||(x["Content-Type"]=i.consumes&&i.consumes[0]||"application/json"),_.includes(i.consumes,f.CONTENT_TYPES.FORM_URL_ENCODED)&&!_.includes(f.NON_BODY_HTTP_METHODS,(y||"").toUpperCase())?(N&&(s=(s?s+"&":"")+N.substring(1)),x["Content-Type"]=f.CONTENT_TYPES.FORM_URL_ENCODED):l+=N,w&&(x=t.serviceType!==m.SERVICE_TYPE.REST&&t.serviceType!==m.SERVICE_TYPE.OPENAPI||i.skipCloakHeaders?x:le(x),t.getPrefabName()&&-1!==m.REST_SUPPORTED_SERVICES.indexOf(t.serviceType)?(l="prefabs/"+t.getPrefabName()+l,c="invokePrefabRestService"):t.getPrefabName()||(l="services"+l),l=v.project.deployedUrl+l);var F=ie.getPaginationInfo(i,t);if(F&&t.pagination){var j=ie.setPaginationAtReq(F,i,t,x,s,l,r);j&&(j.headers?x=j.headers:j.requestBody?s=j.requestBody:j.url&&(l=j.url))}return{projectID:v.project.id,url:l,target:c,method:y,headers:x,data:s,authDetails:M,isDirectCall:!w,isExtURL:t.serviceType===m.SERVICE_TYPE.REST,withCredentials:T}},t.isFileUploadRequest=function(e){return"FileService"===e.service&&"uploadFile"===e.operation},t.excludePaginationParams=function(e){return _.map(_.reject(e,(function(e){return _.includes(m.PAGINATION_PARAMS,e.name)})),(function(e){return e.name}))},t}(),pe=function(t){function o(){var e=t.apply(this,P([],w(arguments)))||this;return e.scope_var_socket_map=new Map,e.PROPERTY={SERVICE:"service",DATA_UPDATE_STRATEGY:"dataUpdateStrategy",DATA_LIMIT:"dataLimit"},e.DATA_UPDATE_STRATEGY={REFRESH:"refresh",PREPEND:"prepend",APPEND:"append"},e}return b(o,t),o.prototype.shouldAppendData=function(e){return(e=e||this)[this.PROPERTY.DATA_UPDATE_STRATEGY]!==this.DATA_UPDATE_STRATEGY.REFRESH},o.prototype.shouldAppendLast=function(e){return e[this.PROPERTY.DATA_UPDATE_STRATEGY]===this.DATA_UPDATE_STRATEGY.APPEND},o.prototype.getDataLimit=function(e){return e.dataLimit},o.prototype.getURL=function(t){var n,i=t.getPrefabName(),o=i?_.get(e.metadataService.getByOperationId(t.operationId,i),"wmServiceOperationInfo"):_.get(e.metadataService.getByOperationId(t.operationId),"wmServiceOperationInfo"),r=t.dataBinding;if(_.forEach(o.parameters,(function(e){e.sampleValue=r[e.name]})),$.extend(o,{skipCloakHeaders:!0}),!(n=ce.constructRequestParams(t,o,r)).error||!n.error.message)return n.url;this._onSocketError(t,{data:n.error.message})},o.prototype._onSocketMessage=function(e,t){var i,o,r,a,s,l=_.get(t,"data");l=n.getValidJSON(l)||n.xmlToJson(l)||l,i=I(m.EVENT.MESSAGE_RECEIVE,e,l,t),l=n.isDefined(i)?i:l,this.shouldAppendData(e)?(e.dataSet=e.dataSet||[],o=e.dataSet.length,r=this.getDataLimit(e),a=this.shouldAppendLast(e),r&&o>=r&&(a?e.dataSet.shift():e.dataSet.pop()),s=a?o:0,e.dataSet.splice(s,0,l)):e.dataSet=n.isDefined(i)?i:l},o.prototype._onBeforeSend=function(e,t){return I(m.EVENT.BEFORE_SEND,e,t)},o.prototype._onBeforeSocketClose=function(e,t){return I(m.EVENT.BEFORE_CLOSE,e,_.get(t,"data"),t)},o.prototype._onBeforeSocketOpen=function(e,t){return I(m.EVENT.BEFORE_OPEN,e,_.get(t,"data"),t)},o.prototype._onSocketOpen=function(e,t){e._socketConnected=!0,I(m.EVENT.OPEN,e,_.get(t,"data"),t)},o.prototype.freeSocket=function(e){this.scope_var_socket_map.set(e,void 0)},o.prototype._onSocketClose=function(e,t){e._socketConnected=!1,this.freeSocket(e),I(m.EVENT.CLOSE,e,_.get(t,"data"),t)},o.prototype._onSocketError=function(e,t){e._socketConnected=!1,this.freeSocket(e),I(m.EVENT.ERROR,e,_.get(t,"data")||"Error while connecting with "+e.service,t)},o.prototype.getSocket=function(e){var t=this.getURL(e),o=this.scope_var_socket_map.get(e);return o||(h.hasCordova||!n.isInsecureContentRequest(t)?((o=new i.$WebSocket(t)).onOpen(this._onSocketOpen.bind(this,e)),o.onError(this._onSocketError.bind(this,e)),o.onMessage(this._onSocketMessage.bind(this,e)),o.onClose(this._onSocketClose.bind(this,e)),this.scope_var_socket_map.set(e,o),e._socket=o,o):void n.triggerFn(this._onSocketError.bind(this,e)))},o.prototype.open=function(e,t,i){var o;if(!1!==this._onBeforeSocketOpen(e))return o=this.getSocket(e),n.triggerFn(t),o;n.triggerFn(i)},o.prototype.close=function(e){var t=this._onBeforeSocketClose(e),n=this.getSocket(e);!1!==t&&n.close()},o.prototype.send=function(e,t){var i,o=this.getSocket(e);t=t||_.get(e,"dataBinding.RequestBody"),!1!==(i=this._onBeforeSend(e,t))&&(t=n.isDefined(i)?i:t,t=n.isObject(t)?JSON.stringify(t):t,o.send(t,0))},o}(Z),ue=new Map,de={Variable:Z,Action:Q,"wm.NavigationVariable":X,"wm.NotificationVariable":J,"wm.LoginVariable":ee,"wm.LogoutVariable":te,"wm.DeviceVariable":ne,"wm.WebSocketVariable":pe},he=function(){function e(){}return e.get=function(e){return ue.has(e)?ue.get(e):ue.set(e,new de[e]).get(e)},e}(),me=function(){function e(){}return e.prototype.invoke=function(e,t){var i=this.operations.find((function(t){return t.name===e.operation}));if(null==i)return I(m.EVENT.ERROR,e,null),Promise.reject("Could not find operation '"+e.operation+"' in service '"+this.name+"'");if(n.hasCordova()){var o=new Map;return void 0!==e.dataBinding&&(Object.entries(e).forEach((function(e){o.set(e[0],e[1])})),Object.entries(e.dataBinding).forEach((function(e){o.set(e[0],e[1])}))),i.invoke(e,t,o).then((function(t){return e.dataSet=t,n.$invokeWatchers(!0),I(m.EVENT.SUCCESS,e,t),t}),(function(t){return e.dataSet={},n.$invokeWatchers(!0),I(m.EVENT.ERROR,e,null),t}))}return Promise.resolve().then((function(){return I(m.EVENT.SUCCESS,e,i.model),i.model}))},e}(),fe=function(){return he.get(m.CATEGORY.DEVICE)},ge=function(e){function t(t){var n=e.call(this)||this;return Object.assign(n,t),n}return b(t,e),t.prototype.init=function(){fe().initBinding(this)},t.prototype.invoke=function(e,t,n){fe().invoke(this,e).then(t,n)},t}(t.ApiAwareVariable),ve=function(){return he.get(m.CATEGORY.NAVIGATION)},ye=function(e){function t(t){var n=e.call(this)||this;return Object.assign(n,t),n}return b(t,e),t.prototype.invoke=function(e){ve().invoke(this,e)},t.prototype.navigate=function(e){this.invoke(e)},t.prototype.init=function(){ve().initBinding(this,"dataBinding","dataBinding"),ve().initBinding(this,"dataSet","dataSet")},t}(t.BaseAction),be=function(){return he.get(m.CATEGORY.NOTIFICATION)},we=function(e){function t(t){var n=e.call(this)||this;return Object.assign(n,t),n}return b(t,e),t.prototype.execute=function(t,i){var o=this,r=e.prototype.execute.call(this,t,i);return n.isDefined(r)?r:new Promise((function(e,r){switch(t){case n.DataSource.Operation.INVOKE:o.invoke(i,e,r);break;case n.DataSource.Operation.NOTIFY:o.notify(i,e,r);break;default:r(t+" operation is not supported on this data source")}}))},t.prototype.notify=function(e,t,n){be().notify(this,e,t,n)},t.prototype.invoke=function(e,t,n){this.notify(e,t,n)},t.prototype.getMessage=function(){return be().getMessage(this)},t.prototype.setMessage=function(e){return be().setMessage(this,e)},t.prototype.clearMessage=function(){return be().setMessage(this,"")},t.prototype.getOkButtonText=function(){return be().getOkButtonText(this)},t.prototype.setOkButtonText=function(e){return be().setOkButtonText(this,e)},t.prototype.getToasterDuration=function(){return be().getToasterDuration(this)},t.prototype.setToasterDuration=function(e){return be().setToasterDuration(this,e)},t.prototype.getToasterClass=function(){return be().getToasterClass(this)},t.prototype.setToasterClass=function(e){return be().setToasterClass(this,e)},t.prototype.getToasterPosition=function(){return be().getToasterPosition(this)},t.prototype.setToasterPosition=function(e){return be().setToasterPosition(this,e)},t.prototype.getAlertType=function(){return be().getAlertType(this)},t.prototype.setAlertType=function(e){return be().setAlertType(this,e)},t.prototype.getCancelButtonText=function(){return be().getCancelButtonText(this)},t.prototype.setCancelButtonText=function(e){return be().setCancelButtonText(this,e)},t.prototype.init=function(){be().initBinding(this,"dataBinding","dataBinding"),be().initBinding(this,"dataSet","dataSet")},t}(t.BaseAction),Pe=function(){return he.get(m.CATEGORY.LOGIN)},_e=function(e){function t(t){var n=e.call(this)||this;return Object.assign(n,t),n}return b(t,e),t.prototype.login=function(e,t,n){return Pe().login(this,e,t,n)},t.prototype.invoke=function(e,t,n){return this.login(e,t,n)},t.prototype.cancel=function(){},t.prototype.init=function(){Pe().initBinding(this,"dataBinding","dataBinding")},t}(t.BaseAction),Oe=function(){return he.get(m.CATEGORY.LOGOUT)},Se=function(e){function t(t){var n=e.call(this)||this;return Object.assign(n,t),n}return b(t,e),t.prototype.logout=function(e,t,n){Oe().logout(this,e,t,n)},t.prototype.invoke=function(e,t,n){this.logout(e,t,n)},t.prototype.cancel=function(){},t}(t.BaseAction),Ee=function(){return he.get(m.CATEGORY.WEBSOCKET)},Te=function(e){function t(t){var n=e.call(this)||this;return Object.assign(n,t),n}return b(t,e),t.prototype.open=function(e,t){return Ee().open(this,e,t)},t.prototype.close=function(){return Ee().close(this)},t.prototype.update=function(){return Ee().update(this)},t.prototype.send=function(e){return Ee().send(this,e)},t.prototype.cancel=function(){return this.close()},t.prototype.invoke=function(e,t,n){this.open(t,n)},t.prototype.init=function(){Ee().initBinding(this)},t}(t.ApiAwareVariable),Re=function(){function e(){}return e.create=function(e,n){var i;switch(e.category){case t.VARIABLE_CONSTANTS.CATEGORY.MODEL:i=new t.ModelVariable(e);break;case t.VARIABLE_CONSTANTS.CATEGORY.SERVICE:i=new t.ServiceVariable(e);break;case t.VARIABLE_CONSTANTS.CATEGORY.LIVE:i=new t.LiveVariable(e);break;case t.VARIABLE_CONSTANTS.CATEGORY.CRUD:i=new t.CrudVariable(e);break;case t.VARIABLE_CONSTANTS.CATEGORY.DEVICE:i=new ge(e);break;case t.VARIABLE_CONSTANTS.CATEGORY.NAVIGATION:i=new ye(e);break;case t.VARIABLE_CONSTANTS.CATEGORY.NOTIFICATION:i=new we(e);break;case t.VARIABLE_CONSTANTS.CATEGORY.LOGIN:i=new _e(e);break;case t.VARIABLE_CONSTANTS.CATEGORY.LOGOUT:i=new Se(e);break;case t.VARIABLE_CONSTANTS.CATEGORY.TIMER:i=new t.TimerAction(e);break;case t.VARIABLE_CONSTANTS.CATEGORY.WEBSOCKET:i=new Te(e)}return i._context=n,i.__cloneable__=!1,i},e}(),Ae=function(){function e(e){this.$http=e,this.CONTEXT_APP="app"}return e.prototype.isLoaded=function(){return!!this.metadataMap&&this.metadataMap.has(this.CONTEXT_APP)},e.prototype.load=function(e){var t,i=this;return t=n.hasCordova()?"metadata/"+(e?"prefabs/"+e+"/":"app/")+"service-definitions.json":"./services/"+(e?"prefabs/"+e+"/":"")+"servicedefs",new Promise((function(n,o){i.$http.send({url:t,method:"GET"}).then((function(t){i.metadataMap=i.metadataMap||new Map,i.providerMap=i.providerMap||new Map,t.body=t.body||{},i.metadataMap.set(e||i.CONTEXT_APP,t.body.serviceDefs),t.body.securityDefinitions&&i.providerMap.set(e||i.CONTEXT_APP,t.body.securityDefinitions.oauthProvider),n(t.body.serviceDefs)}),o)}))},e.prototype.getByOperationId=function(e,t){t=t||this.CONTEXT_APP;var n=this.metadataMap.get(t);return n&&n[e]},e.prototype.getByProviderId=function(e,t){t=t||this.CONTEXT_APP;var n=this.providerMap.get(t);return n&&n[e]},e.prototype.getByCrudId=function(e,t){t=t||this.CONTEXT_APP;var n=this.metadataMap.get(t),i=[];for(var o in n)n[o]&&n[o].crudOperationId===e&&i.push(n[o]);return i},e}();Ae.decorators=[{type:r.Injectable}],Ae.ctorParameters=function(){return[{type:n.AbstractHttpService}]};var Ce=function(){function t(){}return t.prototype.format=function(t,n){return e.appManager.getPipe("date").transform(t,n)},t}(),Ie=function(){function e(e,n,i,o,r,a,s,l){this.httpService=e,this.metadataService=n,this.navigationService=i,this.routerService=o,this.toasterService=r,this.oAuthService=a,this.securityService=s,this.dialogService=l,C("http",this.httpService),C("metadata",this.metadataService),C("navigationService",this.navigationService),C("router",this.routerService),C("toaster",this.toasterService),C("oAuth",this.oAuthService),C("security",this.securityService),C("dialog",this.dialogService),t.wmSetDependency("oAuth",this.oAuthService),t.wmSetDependency("security",this.securityService),t.wmSetDependency("metadata",this.metadataService)}return e.prototype.bulkCancel=function(e){Object.keys(e).forEach((function(t){var n=e[t];_.isFunction(n.cancel)&&n.cancel()}))},e.prototype.triggerStartUpdate=function(e){return Promise.all(Object.keys(e).map((function(t){return e[t]})).filter((function(e){return(null==e?void 0:e.startUpdate)&&e.invoke})).map((function(e){return e.invoke()})))},e.prototype.processBindExp=function(e,i,o){var r=t.getTarget(o),a=t.getTargetNodeKey(e.target),s=_.isArray(e.value)?e.value[0]:e.value;return s&&(s.startsWith&&s.startsWith("bind:")?s=n.$watch(s.replace("bind:",""),i,{},o.invokeOnParamChange.bind(o,e),void 0,void 0,void 0,(function(){return o.isMuted})):_.isUndefined(e.value)||(t.setValueToNode(e.target,e,r,o,e.value,!0),r!==a&&(t.internalBoundNodeMap.has(o)||t.internalBoundNodeMap.set(o,{}),_.set(t.internalBoundNodeMap.get(o),[o.name,r,e.target],e.value)))),{name:e.target,value:s}},e.prototype.processBinding=function(e,t,n,i){var o=this;i=i||"dataBinding";var r=e[n=n||"dataBinding"];e[n]={},e["_bind"+n]=r,r&&_.isArray(r)&&r.forEach((function(n){"wm.Variable"===e.category&&"dataBinding"===n.target&&(n.target="dataSet"),o.processBindExp(n,t,e)}))},e.prototype.isVariableSeperated=function(e,t){return"wm.Variable"===e[t].category||"wm.ServiceVariable"===e[t].category||"wm.LiveVariable"===e[t].category||"wm.CrudVariable"===e[t].category},e.prototype.getBindSourceTarget=function(e){return"wm.LiveVariable"===e.category?"read"===e.operation?"filterFields":"inputFields":"wm.ModelVariable"===e.category?"dataSet":"dataBinding"},e.prototype.register=function(e,i,o){var r,a=this,s={Variables:{},Actions:{},callback:this.triggerStartUpdate};for(var l in i){if((r=Re.create(i[l],o)).init(),this.isVariableSeperated(i,l)&&(this.processBinding(r,o,"dataBinding",this.getBindSourceTarget(r)),r.httpService=this.httpService,r.dateFormatter=new Ce,r.subscribe("afterInvoke",(function(){return n.$invokeWatchers(!0)})),"wm.LiveVariable"===r.category&&"read"===r.operation&&n.processFilterExpBindNode(r._context,r.filterExpressions,r),"wm.CrudVariable"!==r.category&&"wm.ServiceVariable"!==r.category||(r.simulateFileDownload=W)),this.isVariableSeperated(i,l)||"wm.TimerVariable"===i[l].category)for(var c in m.EVENT)r[m.EVENT[c]]&&(r[m.EVENT[c]]=n.$parseEvent(r[m.EVENT[c]]));r instanceof t.BaseAction?s.Actions[l]=r:s.Variables[l]=r}return o.registerDestroyListener&&o.registerDestroyListener((function(){a.bulkCancel(s.Variables),a.bulkCancel(s.Actions)})),s},e.prototype.destroy=function(){},e.prototype.registerDependency=function(e,n){C(e,n),t.wmSetDependency(e,n)},e}();Ie.decorators=[{type:r.Injectable}],Ie.ctorParameters=function(){return[{type:n.AbstractHttpService},{type:Ae},{type:n.AbstractNavigationService},{type:a.Router},{type:n.AbstractToasterService},{type:s.OAuthService},{type:l.SecurityService},{type:n.AbstractDialogService}]};var De=u.ToastrModule.forRoot({maxOpened:1,autoDismiss:!0}),Ne=function(){function e(){}return e.forRoot=function(){return{ngModule:e,providers:[Ie,Ae,c.Location,{provide:c.LocationStrategy,useClass:c.HashLocationStrategy}]}},e}();Ne.decorators=[{type:r.NgModule,args:[{imports:[c.CommonModule,De,p.HttpClientModule,d.HttpServiceModule,s.OAuthModule,l.SecurityModule],declarations:[]}]}],e.$rootScope=v,e.CONSTANTS=h,e.DB_CONSTANTS={DATABASE_MATCH_MODES:{like:"LIKE",start:"STARTING_WITH",startignorecase:"STARTING_WITH_IGNORECASE",end:"ENDING_WITH",endignorecase:"ENDING_WITH_IGNORECASE",anywhere:"CONTAINING",anywhereignorecase:"CONTAINING_IGNORECASE",nowhere:"DOES_NOT_CONTAIN",nowhereignorecase:"DOES_NOT_CONTAIN_IGNORECASE",exact:"EQUALS",exactignorecase:"EQUALS_IGNORECASE",notequals:"NOT_EQUALS",notequalsignorecase:"NOT_EQUALS_IGNORECASE",between:"BETWEEN",in:"IN",notin:"NOTIN",lessthan:"LESS_THAN",lessthanequal:"LESS_THAN_OR_EQUALS",greaterthan:"GREATER_THAN",greaterthanequal:"GREATER_THAN_OR_EQUALS",null:"NULL",isnotnull:"IS_NOT_NULL",empty:"EMPTY",isnotempty:"IS_NOT_EMPTY",nullorempty:"NULL_OR_EMPTY"},DATABASE_EMPTY_MATCH_MODES:["NULL","IS_NOT_NULL","EMPTY","IS_NOT_EMPTY","NULL_OR_EMPTY"],DATABASE_RANGE_MATCH_MODES:["IN","NOTIN","BETWEEN","LESS_THAN","LESS_THAN_OR_EQUALS","GREATER_THAN","GREATER_THAN_OR_EQUALS","NOT_EQUALS"],DATABASE_NULL_EMPTY_MATCH:{NULL:"NULL",IS_NOT_NULL:"IS_NOT_NULL",EMPTY:"NULL",IS_NOT_EMPTY:"IS_NOT_NULL",NULL_OR_EMPTY:"NULL"},DATABASE_MATCH_MODES_WITH_QUERY:{LIKE:"${0} like ${1}",STARTING_WITH:"${0} like ${1}",STARTING_WITH_IGNORECASE:"${0} like ${1}",ENDING_WITH:"${0} like ${1}",ENDING_WITH_IGNORECASE:"${0} like ${1}",CONTAINING:"${0} like ${1}",CONTAINING_IGNORECASE:"${0} like ${1}",DOES_NOT_CONTAIN:"${0} not like ${1}",DOES_NOT_CONTAIN_IGNORECASE:"${0} not like ${1}",EQUALS:"${0}=${1}",EQUALS_IGNORECASE:"${0}=${1}",NOT_EQUALS:"${0}!=${1}",NOT_EQUALS_IGNORECASE:"${0}!=${1}",BETWEEN:"${0} between ${1}",IN:"${0} in ${1}",NOTIN:"${0} not in ${1}",LESS_THAN:"${0}<${1}",LESS_THAN_OR_EQUALS:"${0}<=${1}",GREATER_THAN:"${0}>${1}",GREATER_THAN_OR_EQUALS:"${0}>=${1}",NULL:"${0} is null",IS_NOT_NULL:"${0} is not null",EMPTY:"${0}=''",IS_NOT_EMPTY:"${0}<>''",NULL_OR_EMPTY:"${0} is null or ${0}=''"},DATABASE_STRING_MODES:["LIKE","STARTING_WITH","STARTING_WITH_IGNORECASE","ENDING_WITH","ENDING_WITH_IGNORECASE","CONTAINING","CONTAINING_IGNORECASE","DOES_NOT_CONTAIN","DOES_NOT_CONTAIN_IGNORECASE","EQUALS","EQUALS_IGNORECASE","NOT_EQUALS","NOT_EQUALS_IGNORECASE"]},e.DeviceVariableManager=ne,e.DeviceVariableService=me,e.Formatter=Ce,e.MetadataService=Ae,e.SWAGGER_CONSTANTS=g,e.VARIABLE_CONSTANTS=m,e.VARIABLE_URLS={DATABASE:{searchTableData:{url:"/:service/:dataModelName/:entityName/search?page=:page&size=:size&:sort",method:"POST"},searchTableDataWithQuery:{url:"/:service/:dataModelName/:entityName/filter?page=:page&size=:size&:sort",method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"}},readTableData:{url:"/:service/:dataModelName/:entityName?page=:page&size=:size&:sort",method:"GET"},insertTableData:{url:"/:service/:dataModelName/:entityName",method:"POST"},insertMultiPartTableData:{url:"/:service/:dataModelName/:entityName",method:"POST",headers:{}},updateTableData:{url:"/:service/:dataModelName/:entityName/:id",method:"PUT"},updateMultiPartTableData:{url:"/:service/:dataModelName/:entityName/:id",method:"POST",headers:{}},deleteTableData:{url:"/:service/:dataModelName/:entityName/:id",method:"DELETE"},updateCompositeTableData:{url:"/:service/:dataModelName/:entityName/composite-id?:id",method:"PUT"},periodUpdateCompositeTableData:{url:"/:service/:dataModelName/:entityName/composite-id/periods?:id",method:"PUT"},updateMultiPartCompositeTableData:{url:"/:service/:dataModelName/:entityName/composite-id?:id",method:"POST",headers:{}},deleteCompositeTableData:{url:"/:service/:dataModelName/:entityName/composite-id?:id",method:"DELETE"},periodDeleteCompositeTableData:{url:"/:service/:dataModelName/:entityName/composite-id/periods?:id",method:"DELETE"},getDistinctDataByFields:{url:"/:service/:dataModelName/:entityName/aggregations?page=:page&size=:size&:sort",method:"POST"},exportTableData:{url:"/services/:dataModelName/:entityName/export?:sort",method:"POST"},readTableRelatedData:{url:"/:service/:dataModelName/:entityName/:id/:relatedFieldName?page=:page&size=:size&:sort",method:"GET"},executeNamedQuery:{url:"/:service/:dataModelName/queryExecutor/queries/:queryName?page=:page&size=:size&:queryParams",method:"GET"},executeCustomQuery:{url:"/:service/:dataModelName/queries/execute?page=:page&size=:size",method:"POST"},executeAggregateQuery:{url:"/services/:dataModelName/:entityName/aggregations?page=:page&size=:size&sort=:sort",method:"POST"},executeNamedProcedure:{url:"/:service/:dataModelName/procedureExecutor/procedure/execute/:procedureName?page=:page&size=:size&:procedureParams",method:"GET"},countTableDataWithQuery:{url:"/:service/:dataModelName/:entityName/count?:queryParams",method:"GET"}},oauthConfiguration:{getAuthorizationUrl:{url:"services/oauth2/:providerId/authorizationUrl",method:"GET"}}},e.VariableManagerFactory=he,e.VariablesModule=Ne,e.VariablesService=Ie,e.WS_CONSTANTS=f,e.debounceVariableCall=z,e.formatDate=K,e.formatExportExpression=function(e){return _.forEach(e,(function(e){e.expression&&(e.expression="${"+e.expression+"}")})),e},e.getEvaluatedOrderBy=function(e,t){var n,i;return!t||_.isEmpty(t)?e:e?(e=_.split(e,","),t=_.split(t,","),n=_.map(t,(function(e){return _.split(_.trim(e)," ")[0]})),_.remove(e,(function(e){return _.includes(n,_.split(_.trim(e)," ")[0])})),i=e.length?","+_.join(e,","):"",_.join(t,",")+i):t},e.initiateCallback=I,e.isFileUploadSupported=q,e.processBinding=U,e.setDependency=C,e.setInput=function(e,t,i,o){e=e||{};var r,a,s={};if(_.isObject(o))switch(o.type){case"file":i=n.getBlob(i,o.contentType);break;case"number":i=_.isNumber(i)?i:parseInt(i,10)}return _.isObject(t)?s=t:t.indexOf(".")>-1?(a=(r=t.split(".")).pop(),e=n.findValueOf(e,r.join("."),!0),s[t=a]=i):s[t]=i,_.forEach(s,(function(t,n){e[n]=t})),e},e.simulateFileDownload=W,e.toastrModule=De,e["\u0275a"]=Z,e["\u0275b"]=Q,e["\u0275c"]=X,e["\u0275d"]=J,e["\u0275e"]=ee,e["\u0275f"]=te,e["\u0275g"]=pe,Object.defineProperty(e,"__esModule",{value:!0})})),function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@angular/common"),require("@awesome-cordova-plugins/file/ngx"),require("@wm/core"),require("@wm/mobile/core"),require("@wm/security"),require("@awesome-cordova-plugins/app-version/ngx"),require("@awesome-cordova-plugins/sqlite/ngx"),require("@wm/variables"),require("@awesome-cordova-plugins/app-version/ngx/index"),require("@awesome-cordova-plugins/file/ngx/index"),require("@awesome-cordova-plugins/sqlite/ngx/index"),require("rxjs"),require("@wavemaker/variables")):"function"==typeof define&&define.amd?define("@wm/mobile/offline",["exports","@angular/core","@angular/common","@awesome-cordova-plugins/file/ngx","@wm/core","@wm/mobile/core","@wm/security","@awesome-cordova-plugins/app-version/ngx","@awesome-cordova-plugins/sqlite/ngx","@wm/variables","@awesome-cordova-plugins/app-version/ngx/index","@awesome-cordova-plugins/file/ngx/index","@awesome-cordova-plugins/sqlite/ngx/index","rxjs","@wavemaker/variables"],t):t(((e="undefined"!=typeof globalThis?globalThis:e||self).wm=e.wm||{},e.wm.mobile=e.wm.mobile||{},e.wm.mobile.offline={}),e.ng.core,e.ng.common,e.awesomeCordova.plugins,e.wm.core,e.wm.mobile.core,e.wm.security,e.awesomeCordova.plugins,e.awesomeCordova.plugins,e.wm.variables,e.awesomeCordova.plugins,e.awesomeCordova.plugins,e.awesomeCordova.plugins,e.rxjs,e.wm_common_variables)}(this,(function(e,t,n,i,o,r,a,s,l,c,p,u,d,h,m){"use strict";function f(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(n){if("default"!==n){var i=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,i.get?i:{enumerable:!0,get:function(){return e[n]}})}})),t.default=e,Object.freeze(t)}var g=f(t),v=f(o),y=f(r),b=f(a),w=f(p),P=f(u),O=f(d),S=function(){function e(){}return e.prototype.get=function(e){return this.fetchEntry(e).then((function(e){var t;return e&&e.length>0&&(t=e[0].value)&&(t=JSON.parse(t)),t}))},e.prototype.init=function(e){this.store=e},e.prototype.put=function(e,t){var n=this;return t&&(t=JSON.stringify(t)),this.fetchEntry(e).then((function(i){return i&&i.length>0?n.store.save({id:i[0].id,key:e,value:t}):n.store.add({key:e,value:t})}))},e.prototype.remove=function(e){var t=this;return this.fetchEntry(e).then((function(e){if(e&&e.length>0)return t.store.delete(e[0].id)}))},e.prototype.fetchEntry=function(e){var t=[{attributeName:"key",attributeValue:e,attributeType:"STRING",filterCondition:"EQUALS"}];return this.store.filter(t)},e}();S.SERVICE_NAME="LocalKeyValueService",S.\u0275prov=g.\u0275\u0275defineInjectable({factory:function(){return new S},token:S,providedIn:"root"}),S.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}];var E,T="WM_LOCAL_OFFLINE_CALL",R=function(e){if(e)return'"'+(e=e.replace(/"/g,'""'))+'"'},A=function(e){var t=[],n=[];return _.forEach(e.columns,(function(e){t.push(R(e.name)),n.push("?")})),"INSERT INTO "+R(e.name)+" ("+t.join(",")+") VALUES ("+n.join(",")+")"},C=function(e){var t=[],n=[];return _.forEach(e.columns,(function(e){t.push(R(e.name)),n.push("?")})),"REPLACE INTO "+R(e.name)+" ("+t.join(",")+") VALUES ("+n.join(",")+")"},I=function(e){var t=_.find(e.columns,"primaryKey");return t?"DELETE FROM "+R(e.name)+" WHERE "+R(t.name)+" = ?":""},D=function(e){var t=[],n=[];return e.columns.forEach((function(i){var o;t.push(R(e.name)+"."+R(i.name)+" as "+i.fieldName),i.foreignRelations&&i.foreignRelations.forEach((function(r){o=r.sourceFieldName,_.forEach(r.dataMapper,(function(e,n){t.push(o+"."+R(e.name)+" as '"+n+"'")})),n.push(" LEFT JOIN "+R(r.targetTable)+" "+o+"\n ON "+o+"."+R(r.targetColumn)+" = "+R(e.name)+"."+R(i.name))}))})),"SELECT "+t.join(",")+" FROM "+R(e.name)+" "+n.join(" ")},N=function(e){var t=[];return e.columns.forEach((function(n){var i;n.foreignRelations&&n.foreignRelations.forEach((function(o){i=o.sourceFieldName,t.push(" LEFT JOIN "+R(o.targetTable)+" "+i+"\n ON "+i+"."+R(o.targetColumn)+" = "+R(e.name)+"."+R(n.name))}))})),"SELECT count(*) as count FROM "+R(e.name)+" "+t.join(" ")},x=function(e,t){var n,i=e.fieldToColumnMapping,o=e.entitySchema.name;return!_.isEmpty(t)&&_.isString(t)?" WHERE "+t:(t&&(n=t.map((function(e){var t=i[e.attributeName],n=e.filterCondition,r=e.attributeValue,a="=";return"STRING"===e.attributeType?("STARTING_WITH"===n?(r+="%",a="like"):"ENDING_WITH"===n?(r="%"+r,a="like"):"CONTAINING"===n&&(r="%"+r+"%",a="like"),r="'"+r+"'"):"BOOLEAN"===e.attributeType&&(r=!0===r?1:0),R(o)+"."+R(t)+" "+a+" "+r}))),n&&n.length>0?" WHERE "+n.join(" AND "):"")},k=function(e,t){return t?" ORDER BY "+_.map(t.split(","),(function(t){var n=_.trim(t).split(" ");return n[0]=R(e.entitySchema.name)+"."+R(e.fieldToColumnMapping[n[0]]),n.join(" ")})).join(","):""},M=function(e){return" LIMIT "+((e=e||{}).limit||100)+" OFFSET "+(e.offset||0)},L=function(e,t){return e.columns.forEach((function(e){var n=t[e.fieldName];e.foreignRelations?e.foreignRelations.forEach((function(e){var n=null;_.forEach(e.dataMapper,(function(e,i){var r=t[i];o.isDefined(r)&&null!==r&&""!==r&&((n=n||{})[e.fieldName]=t[i]),delete t[i]})),t[e.sourceFieldName]=n})):"boolean"!==e.sqlType||_.isNil(n)||(t[e.fieldName]=1===n)})),t},F=function(e,t){var n=e[t.fieldName];return t.foreignRelations&&t.foreignRelations.some((function(t){return!(!t.targetEntity||!e[t.sourceFieldName])&&(n=e[t.sourceFieldName][t.targetFieldName],!0)})),_.isNil(n)?t.defaultValue:"boolean"===t.sqlType?!0===n?1:0:n},j=function(e,t){var n={};return e.entitySchema.columns.forEach((function(e){return n[e.name]=F(t,e)})),n},B=function(){function e(e,t,n,i,o){var r=this;this.deviceFileService=e,this.entitySchema=t,this.file=n,this.localDbManagementService=i,this.sqliteObject=o,this.fieldToColumnMapping={},this.primaryKeyField=_.find(this.entitySchema.columns,"primaryKey"),this.primaryKeyName=this.primaryKeyField?this.primaryKeyField.fieldName:void 0,this.entitySchema.columns.forEach((function(e){r.fieldToColumnMapping[e.fieldName]=e.name,e.foreignRelations&&e.foreignRelations.forEach((function(t){r.fieldToColumnMapping[t.targetPath]=e.name,_.forEach(t.dataMapper,(function(e,n){r.fieldToColumnMapping[n]=t.sourceFieldName+"."+e.name}))}))})),this.insertRecordSqlTemplate=A(this.entitySchema),this.replaceRecordSqlTemplate=C(this.entitySchema),this.deleteRecordTemplate=I(this.entitySchema),this.selectSqlTemplate=D(this.entitySchema),this.countQuery=N(this.entitySchema)}return e.prototype.add=function(e){if(this.primaryKeyName){var t=e[this.primaryKeyName];if("number"===this.primaryKeyField.sqlType&&(!o.isDefined(t)||_.isString(t)&&_.isEmpty(_.trim(t))))if("identity"===this.primaryKeyField.generatorType)e[this.primaryKeyName]=this.localDbManagementService.nextIdCount();else{var n=this.getValue(e,this.primaryKeyName);e[this.primaryKeyName]=n}}var i=j(this,e),r=this.entitySchema.columns.map((function(e){return i[e.name]}));return this.sqliteObject.executeSql(this.insertRecordSqlTemplate,r).then((function(e){return e.insertId}))},e.prototype.clear=function(){return this.sqliteObject.executeSql("DELETE FROM "+R(this.entitySchema.name))},e.prototype.create=function(){var e=this;return this.sqliteObject.executeSql(this.createTableSql(this.entitySchema)).then((function(){return e}))},e.prototype.count=function(e){var t=this.countQuery+x(this,e);return this.sqliteObject.executeSql(t).then((function(e){return e.rows.item(0).count}))},e.prototype.deserialize=function(e){return this.deserializeMapToFormData(e)},e.prototype.filter=function(e,t,n){var i=this,o=this.selectSqlTemplate;return o+=x(this,e),o+=k(this,t),o+=M(n),this.sqliteObject.executeSql(o).then((function(e){for(var t=[],n=e.rows.length,o=0;o<n;o++)t.push(L(i.entitySchema,e.rows.item(o)));return t}))},e.prototype.refresh=function(e){var t=this.primaryKeyName,n=this.getValue(e,t);return n?this.get(n):Promise.resolve(e)},e.prototype.delete=function(e){return this.sqliteObject.executeSql(this.deleteRecordTemplate,[e])},e.prototype.get=function(e){var t=[{attributeName:this.primaryKeyName,filterCondition:"=",attributeValue:e,attributeType:this.primaryKeyField.sqlType.toUpperCase()}];return this.filter(t).then((function(e){return e&&1===e.length?e[0]:void 0}))},e.prototype.getValue=function(e,t){var n=this.entitySchema.columns.find((function(e){return e.fieldName===t}));return F(e,n)},e.prototype.save=function(e){return this.saveAll([e])},e.prototype.saveAll=function(e){var t=this;e=_.filter(e,null);var n=_.map(e,(function(e){var n=j(t,e),i=t.entitySchema.columns.map((function(e){return n[e.name]}));return[t.replaceRecordSqlTemplate,i]}));return this.sqliteObject.sqlBatch(n)},e.prototype.serialize=function(e){return this.serializeFormDataToMap(e)},e.prototype.saveBlobToFile=function(e){var t=this.deviceFileService.appendToFileName(e.name),n=this.deviceFileService.getUploadDirectory();return this.file.writeFile(n,t,e).then((function(){return{name:e.name,type:e.type,lastModified:e.lastModified,lastModifiedDate:e.lastModifiedDate,size:e.size,wmLocalPath:n+"/"+t}}))},e.prototype.serializeFormDataToMap=function(e){var t=this,n=_.filter(this.entitySchema.columns,{sqlType:"blob"}),i=[],o={};return e&&"function"==typeof e.append&&e.rowData?_.forEach(e.rowData,(function(e,r){e&&_.find(n,{fieldName:r})?i.push(t.saveBlobToFile(e).then((function(e){o[r]=e}))):o[r]=e})):o=e,Promise.all(i).then((function(){return o}))},e.prototype.deserializeMapToFormData=function(e){var t=new FormData,n=this.entitySchema.columns.filter((function(e){return"blob"===e.sqlType})),i=[];return _.forEach(n,(function(n){var r=e[n.fieldName];r&&r.wmLocalPath&&(i.push(o.convertToBlob(r.wmLocalPath).then((function(e){return t.append(n.fieldName,e.blob,r.name)}))),e[n.fieldName]="")})),t.append(c.SWAGGER_CONSTANTS.WM_DATA_JSON,new Blob([JSON.stringify(e)],{type:"application/json"})),Promise.all(i).then((function(){return t}))},e.prototype.createTableSql=function(e){var t=_.reduce(e.columns,(function(e,t){var n=R(t.name);return t.primaryKey&&("number"===t.sqlType&&"databaseIdentity"===t.generatorType?n+=" INTEGER PRIMARY KEY AUTOINCREMENT":n+=" PRIMARY KEY"),e?e+","+n:n}),!1);return"CREATE TABLE IF NOT EXISTS "+R(e.name)+" ("+t+")"},e}(),G=function(){this.schema={name:"",isInternal:!1,entities:new Map},this.stores=new Map,this.queries=new Map},V=function(e,t){this.name=e,this.fieldName=t,this.primaryKey=!1,this.fieldName=this.fieldName||this.name};!function(e){e.LIVE="LIVE",e.BUNDLED="BUNDLED",e.APP_START="APP_START"}(E||(E={}));var U="localDBStore.nextIdCount",W="www/metadata/app",q={name:"wavemaker",version:1,isInternal:!0,tables:[{name:"key_value",entityName:"key-value",columns:[{fieldName:"id",name:"id",generatorType:"databaseIdentity",sqlType:"number",primaryKey:!0},{fieldName:"key",name:"key"},{name:"value",fieldName:"value"}]},{name:"offlineChangeLog",entityName:"offlineChangeLog",columns:[{fieldName:"id",name:"id",generatorType:"databaseIdentity",sqlType:"number",primaryKey:!0},{name:"service",fieldName:"service"},{name:"operation",fieldName:"operation"},{name:"params",fieldName:"params"},{name:"timestamp",fieldName:"timestamp"},{name:"hasError",fieldName:"hasError"},{name:"errorMessage",fieldName:"errorMessage"}]}]},z=function(){function e(e,t,n,i,o,r,a){var s=this;this.appVersion=e,this.deviceService=t,this.deviceFileService=n,this.file=i,this.localKeyValueService=o,this.securityService=r,this.sqlite=a,this.callbacks=[],this._logSql=!1,this.nextId=1e11,this.systemProperties={USER_ID:{name:"USER_ID",value:function(){return s.securityService.getLoggedInUser().then((function(e){return e.userId}))}},USER_NAME:{name:"USER_NAME",value:function(){return s.securityService.getLoggedInUser().then((function(e){return e.userName}))}},DATE_TIME:{name:"DATE_TIME",value:function(){return moment().format("YYYY-MM-DDThh:mm:ss")}},DATE:{name:"CURRENT_DATE",value:function(){return moment().format("YYYY-MM-DD")}},TIME:{name:"TIME",value:function(){return moment().format("hh:mm:ss")}}}}return e.prototype.close=function(){var e=this;return new Promise((function(t,n){setTimeout((function(){var i=_.map(_.values(e.databases),(function(e){return e.sqliteObject.close()}));Promise.all(i).then(t,n)}),1e3)}))},e.prototype.nextIdCount=function(){return this.nextId=this.nextId+1,this.localKeyValueService.put(U,this.nextId),this.nextId},e.prototype.executeNamedQuery=function(e,t,n){var i,r,a=this;return this.databases[e]&&this.databases[e].queries[t]?(i=this.databases[e].queries[t],r=_.chain(i.params).filter((function(e){return"PROMPT"!==e.variableType})).forEach((function(e){var t=a.systemProperties[e.variableType].value(e.name,n);return o.toPromise(t).then((function(t){return n[e.name]=t}))})).value(),Promise.all(r).then((function(){return n=_.map(i.params,(function(e){return"string"==typeof n[e.name]||e.type!==o.DataType.DATETIME&&e.type!==o.DataType.LOCALDATETIME?e.type===o.DataType.BOOLEAN?a.convertBoolToInt(n[e.name]):n[e.name]:c.formatDate(n[e.name],e.type)})),a.executeSQLQuery(e,i.query,n).then((function(e){var t,n;return _.isEmpty(e.rows)||(t=e.rows[0],n=_.find(i.response.properties,(function(e){return!t.hasOwnProperty(e.fieldName)})),_.isUndefined(n)||(e.rows=_.map(e.rows,(function(e){var t={},n={};return _.forEach(e,(function(e,t){return n[t.toUpperCase()]=e})),_.forEach(i.response.properties,(function(i){var r=o.extractType(i.fieldType.typeRef),s=(o.DEFAULT_FORMATS[_.toUpper(r)],e[i.name]);!s||"string"==typeof s||r!==o.DataType.DATETIME&&r!==o.DataType.LOCALDATETIME&&r!==o.DataType.DATE||(moment(s).isValid()?e[i.name]=c.formatDate(s,r):moment(s,"HH:mm").isValid()&&(e[i.name]=moment().format("YYYY-MM-DD")+"T"+s)),r===o.DataType.BOOLEAN&&(e[i.name]=a.convertIntToBool(s)),n[i.nameInUpperCase]=e[i.name],t[i.name]=e[i.name],t[i.fieldName]=e[i.fieldName]||n[i.nameInUpperCase]})),t})))),e}))}))):Promise.reject("Query by name ' "+t+" ' Not Found")},e.prototype.exportDB=function(){var e=this;return new Promise((function(t,n){var i,r="offline_temp_"+_.now(),a=cordova.file.cacheDirectory+r+"/",s={app:null,OS:"",createdOn:0};i=o.isIos()?cordova.file.documentsDirectory:cordova.file.externalRootDirectory+"Download/",e.file.createDir(cordova.file.cacheDirectory,r,!1).then((function(){return e.file.copyDir(e.dbInstallParentDirectory,e.dbInstallDirectoryName,a,"databases").then((function(){return e.getAppInfo()})).then((function(e){return s.app=e,o.isIos()?s.OS="IOS":o.isAndroid()&&(s.OS="ANDROID"),s.createdOn=_.now(),s})).then((function(){return o.executePromiseChain(e.getCallbacksFor("preExport"),[a,s])})).then((function(){return e.file.writeFile(a,"META.json",JSON.stringify(s))}))})).then((function(){var t=s.app.name;return t=t.replace(/\s+/g,"_"),e.deviceFileService.newFileName(i,t+"_offline_data.zip").then((function(e){return new Promise((function(t,n){Zeep.zip({from:a,to:i+e},(function(){return t(i+e)}),n)}))}))})).then(t,n).catch(o.noop).then((function(){return e.deviceFileService.removeDir(cordova.file.cacheDirectory+r)}))}))},e.prototype.getStore=function(e,t){var n=this;return new Promise((function(i,o){n.databases[e]&&i(n.databases[e].stores[t]),o("store with name'"+t+"' in datamodel '"+e+"' is not found")}))},e.prototype.importDB=function(e,t){var n=this;return new Promise((function(i,r){var a,s="offline_temp_"+_.now(),l=cordova.file.cacheDirectory+s+"/";n.file.createDir(cordova.file.cacheDirectory,s,!1).then((function(){return new Promise((function(t,n){Zeep.unzip({from:e,to:l},t,n)}))})).then((function(){return n.file.readAsText(l,"META.json").then((function(e){return a=JSON.parse(e),n.getAppInfo()})).then((function(e){return a.app?a.app.packageName!==e.packageName?Promise.reject("database zip of app with same package name can only be imported"):void 0:Promise.reject("meta information is not found in zip")}))})).then((function(){var e;return n.close().then((function(){if(t)return n.exportDB().then((function(t){return e=t}))})).then((function(){return n.deviceFileService.removeDir(n.dbInstallDirectory)})).then((function(){return n.file.copyDir(l,"databases",n.dbInstallParentDirectory,n.dbInstallDirectoryName)})).then((function(){return n.databases=null,n.loadDatabases()})).then((function(){return o.executePromiseChain(n.getCallbacksFor("postImport"),[l,a])})).then((function(){if(e)return n.deviceFileService.removeFile(e)}),(function(t){return e?n.importDB(e,!1).then((function(){return n.deviceFileService.removeFile(e),Promise.reject(t)})):Promise.reject(t)}))})).then(i,r).catch(o.noop).then((function(){return n.deviceFileService.removeDir(cordova.file.cacheDirectory+s)}))}))},e.prototype.isOperationAllowed=function(e,t,n){return this.getStore(e,t).then((function(e){return!!e&&("READ"===n?e.entitySchema.pushConfig.readEnabled:"INSERT"===n?e.entitySchema.pushConfig.insertEnabled:"UPDATE"===n?e.entitySchema.pushConfig.updateEnabled:"DELETE"===n&&e.entitySchema.pushConfig.deleteEnabled)})).catch((function(){return!1}))},e.prototype.loadDatabases=function(){var e=this,t=!1;return this.databases?Promise.resolve(this.databases):(o.isIos()?(this.dbInstallDirectoryName="LocalDatabase",this.dbInstallParentDirectory=cordova.file.applicationStorageDirectory+"Library/"):(this.dbInstallDirectoryName="databases",this.dbInstallParentDirectory=cordova.file.applicationStorageDirectory),this.dbInstallDirectory=this.dbInstallParentDirectory+this.dbInstallDirectoryName,this.databases=new Map,this.setUpDatabases().then((function(e){return t=e})).then((function(){return e.loadDBSchemas()})).then((function(t){return e.loadNamedQueries(t)})).then((function(t){return e.loadOfflineConfig(t)})).then((function(t){return Promise.all(_.map(t,(function(t){return e.openDatabase(t).then((function(n){e.databases[t.schema.name]=n}))})))})).then((function(){return e.getStore("wavemaker","key-value").then((function(t){return e.localKeyValueService.init(t),e.localKeyValueService.get(U).then((function(t){e.nextId=t||e.nextId}))}))})).then((function(){return t?e.normalizeData().then((function(){return e.disableForeignKeys()})).then((function(){return e.deviceService.getAppBuildTime()})).then((function(t){return o.executePromiseChain(_.map(e.callbacks,"onDbCreate"),[{databases:e.databases,dbCreatedOn:_.now(),dbSeedCreatedOn:t}])})).then((function(){return e.databases})):e.databases})))},e.prototype.registerCallback=function(e){this.callbacks.push(e)},e.prototype.setLogSQl=function(e){this._logSql=e},e.prototype.cleanAndCopyDatabases=function(){var e=this,t=cordova.file.applicationDirectory+W;return this.file.createDir(this.dbInstallParentDirectory,this.dbInstallDirectoryName,!1).catch(o.noop).then((function(){return e.deviceFileService.listFiles(e.dbInstallDirectory,/.+\.db$/)})).then((function(t){if(t&&t.length>0)return Promise.all(t.map((function(t){if("wavemaker.db"!==t.name)return e.file.removeFile(e.dbInstallDirectory,t.name)})))})).then((function(){return e.deviceFileService.listFiles(t,/.+\.db$/)})).then((function(n){if(n&&n.length>0)return e.file.createDir(e.dbInstallParentDirectory,e.dbInstallDirectoryName,!1).catch(o.noop).then((function(){return Promise.all(n.map((function(n){return e.file.copyFile(t,n.name,e.dbInstallDirectory,n.name)})))}))}))},e.prototype.compactEntitySchema=function(e,t,n){var i=n[t.entityName];return i.entityName=t.entityName,i.name=t.name,i.columns=[],t.columns.forEach((function(e){var t=e.columnValue?e.columnValue.defaultValue:"",n=e.sqlType;t="number"!==n||e.primaryKey?"boolean"===n?_.isEmpty(t)?null:"true"===t?1:0:_.isEmpty(t)?null:t:_.isEmpty(t)?null:_.parseInt(t),i.columns.push({name:e.name,fieldName:e.fieldName,generatorType:e.generatorType,sqlType:e.sqlType,primaryKey:e.primaryKey,defaultValue:t})})),_.forEach(t.relations,(function(t){var n,o,r,a,s;if(("ManyToOne"===t.cardinality||"OneToOne"===t.cardinality)&&(o=_.find(e.tables,(function(e){return e.name===t.targetTable})),s=t.mappings[0],o)){o=o.entityName,a=s.sourceColumn,r=i.columns.find((function(e){return e.name===a})),n=e.tables.find((function(e){return e.name===t.targetTable}));var l={sourceFieldName:t.fieldName,targetEntity:o,targetTable:t.targetTable,targetColumn:s.targetColumn,targetPath:"",dataMapper:[],targetFieldName:n.columns.find((function(e){return e.name===s.targetColumn})).fieldName};l.targetPath=l.sourceFieldName+"."+l.targetFieldName,l.dataMapper=_.chain(n.columns).keyBy((function(e){return l.sourceFieldName+"."+e.fieldName})).mapValues((function(e){return new V(e.name,e.fieldName)})).value(),r.foreignRelations=r.foreignRelations||[],r.foreignRelations.push(l)}})),i},e.prototype.compactQueries=function(e){var t=this,n=new Map;return _.forEach(e.queries,(function(e){var i,o;e.nativeSql&&"SELECT"===e.type&&(i=_.isEmpty(e.offlineQueryString)?e.queryString:e.offlineQueryString,(o=_.map(t.extractQueryParams(i),(function(t){var n=_.find(e.parameters,{name:t});return{name:n.name,type:n.type,variableType:n.variableType}}))).forEach((function(e){return i=_.replace(i,":"+e.name,"?")})),n[e.name]={name:e.name,query:i,params:o,response:{properties:_.map(e.response.properties,(function(e){return e.nameInUpperCase=e.name.toUpperCase(),e}))}})})),n},e.prototype.compactSchema=function(e){var t=this,n=new G,i=new Map;return e.tables.forEach((function(e){i[e.entityName]={}})),e.tables.forEach((function(n){t.compactEntitySchema(e,n,i)})),n.schema.name=e.name,n.schema.isInternal=e.isInternal,n.schema.entities=i,n},e.prototype.convertBoolToInt=function(e){return"true"===_.toString(e)?1:0},e.prototype.convertIntToBool=function(e){return!!e},e.prototype.disableForeignKeys=function(){var e=this;return Promise.all(_.map(this.databases,(function(t){return e.executeSQLQuery(t.schema.name,"PRAGMA foreign_keys = OFF")})))},e.prototype.executeSQLQuery=function(e,t,n,i){var o=this.databases[e];return o?o.sqliteObject.executeSql(t,n,i).then((function(e){for(var t=[],n=e.rows,i=0;i<n.length;i++)t.push(n.item(i));return{rowsAffected:e.rowsAffected,rows:t}})):Promise.reject("No Database with name "+e+" found")},e.prototype.extractQueryParams=function(e){var t;return(t=e.match(/[^"'\w\\]:\s*\w+\s*/g)||[]).length?t.map((function(e){return/[=|\W]/g.test(e)?e.replace(/\W/g,"").trim():e.trim()})):null},e.prototype.getAppInfo=function(){var e=this,t={name:"",packageName:"",versionNumber:"",versionCode:null};return this.appVersion.getPackageName().then((function(n){return t.packageName=n,e.appVersion.getAppName()})).then((function(n){return t.name=n,e.appVersion.getVersionNumber()})).then((function(n){return t.versionNumber=n,e.appVersion.getVersionCode()})).then((function(e){return t.versionCode=e,t}))},e.prototype.getCallbacksFor=function(e){return this.callbacks.map((function(t){return t[e]?t[e].bind(t):null}))},e.prototype.getMetaInfo=function(e){var t=cordova.file.applicationDirectory+W+"/";return this.deviceFileService.listFiles(t,e).then((function(e){return Promise.all(_.map(e,(function(e){return new Promise((function(n,i){$.getJSON(o.transformFileURI(t)+e.name,(function(e){return n(e)}))}))})))}))},e.prototype.isBundled=function(e,t){return this.getStore(e,t).then((function(e){return e.entitySchema.pullConfig.pullType===E.BUNDLED}))},e.prototype.loadDBSchemas=function(){var e=this;return this.getMetaInfo(/.+_dataModel\.json$/).then((function(t){var n=new Map;return(t=o.isArray(t)?t:[t]).push(q),t.map((function(t){return e.compactSchema(t)})).forEach((function(e){n[e.schema.name]=e})),n}))},e.prototype.loadNamedQueries=function(e){var t=this;return this.getMetaInfo(/.+_query\.json$/).then((function(n){return(n=_.isArray(n)?n:[n]).map((function(n){return e[n.name].queries=t.compactQueries(n)})),e}))},e.prototype.loadOfflineConfig=function(e){return this.getMetaInfo(/.+_offline\.json$/).then((function(t){return _.forEach(t,(function(t){_.forEach(t.entities,(function(n){var i=_.find(e[t.name].schema.entities,(function(e){return e.name===n.name}));_.assignIn(i,n)}))})),e}))},e.prototype.logSql=function(e){var t=this,n=console,i=e.executeSql;e.executeSql=function(o,r,a){var s=_.now();return i.call(e,o,r).then((function(e){if(a||t._logSql){for(var i=[],l=e.rows.length,c=0;c<l;c++)i.push(e.rows.item(c));n.debug('SQL "%s" with params %O took [%d ms]. And the result is %O',o,r,_.now()-s,i)}return e}),(function(e){return n.error('SQL "%s" with params %O failed with error message %s',o,r,e.message),Promise.reject(e)}))}},e.prototype.normalizeBooleanData=function(e,t,n){var i=this,o="update "+R(t)+" set "+R(n)+" = 1 where "+R(n)+" = 'true'",r="update "+R(t)+" set "+R(n)+" = 0\n where "+R(n)+" is not null and "+R(n)+" != 1";return this.executeSQLQuery(e,o).then((function(){return i.executeSQLQuery(e,r)}))},e.prototype.normalizeData=function(){var e=this;return Promise.all(_.map(this.databases,(function(t){return Promise.all(_.map(t.schema.entities,(function(n){return Promise.all(_.map(n.columns,(function(i){if("boolean"===i.sqlType)return e.normalizeBooleanData(t.schema.name,n.name,i.name)})))})))})))},e.prototype.openDatabase=function(e){var t=this;return this.sqlite.create({name:e.schema.name+".db",location:"default"}).then((function(n){e.sqliteObject=n,t.logSql(n);var i=_.map(e.schema.entities,(function(e){return new B(t.deviceFileService,e,t.file,t,n).create()}));return Promise.all(i).then((function(t){return _.forEach(t,(function(t){e.stores[t.entitySchema.entityName]=t})),e}))}))},e.prototype.setUpDatabases=function(){var e=this;return this.deviceService.getAppBuildTime().then((function(t){var n=e.deviceService.getEntry("database")||{};return(!n.lastBuildTime||n.lastBuildTime!==t)&&e.cleanAndCopyDatabases().then((function(){return n.lastBuildTime=t,e.deviceService.storeEntry("database",n)})).then((function(){return!0}))}))},e}();z.SERVICE_NAME="LocalDBManagementService",z.\u0275prov=g.\u0275\u0275defineInjectable({factory:function(){return new z(g.\u0275\u0275inject(w.AppVersion),g.\u0275\u0275inject(y.DeviceService),g.\u0275\u0275inject(y.DeviceFileService),g.\u0275\u0275inject(P.File),g.\u0275\u0275inject(S),g.\u0275\u0275inject(b.SecurityService),g.\u0275\u0275inject(O.SQLite))},token:z,providedIn:"root"}),z.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],z.ctorParameters=function(){return[{type:s.AppVersion},{type:r.DeviceService},{type:r.DeviceFileService},{type:i.File},{type:S},{type:a.SecurityService},{type:l.SQLite}]};var H=function(){},Y="changeLogService.flushContext",K="changeLogService.lastPushInfo",Q=function(){function e(e,t,n,i){this.localDBManagementService=e,this.localKeyValueService=t,this.pushService=n,this.networkService=i,this.workers=[],this.currentPushInfo={},this.addWorker(new X(this,this.localKeyValueService,this.currentPushInfo))}return e.prototype.add=function(e,t,n){var i=this,r={service:e,operation:t,params:n,hasError:0};return o.executePromiseChain(this.getWorkers("transformParamsToMap"),[r]).then((function(){return o.executePromiseChain(i.getWorkers("onAddCall"),[r])})).then((function(){return r.params=JSON.stringify(r.params),i.getStore().then((function(e){return e.add(r)})).then(o.noop)}))},e.prototype.addWorker=function(e){this.workers.push(e)},e.prototype.clearLog=function(){return this.getStore().then((function(e){return e.clear()}))},e.prototype.flush=function(e){var t,n=this;return this.deferredFlush||(this.deferredFlush=o.getAbortableDefer(),this.createContext().then((function(e){return n.flushContext=e,o.executePromiseChain(n.getWorkers("preFlush"),[n.flushContext])})).then((function(){return t=n._flush(e),n.deferredFlush.onAbort=function(){return t.abort()},t})).catch(o.noop).then((function(){Promise.resolve().then((function(){if(n.currentPushInfo.totalTaskCount===n.currentPushInfo.completedTaskCount)return n.flushContext.clear().then((function(){return n.flushContext=null}))})).then((function(){e.complete(),n.currentPushInfo.failedTaskCount>0?n.deferredFlush.reject(n.currentPushInfo):n.deferredFlush.resolve(n.currentPushInfo),n.deferredFlush=null})).then((function(){return o.executePromiseChain(n.getWorkers("postFlush"),[n.currentPushInfo,n.flushContext])}))}))),this.deferredFlush.promise},e.prototype.getChanges=function(){return this.getStore().then((function(e){return e.filter(void 0,"id",{offset:0,limit:500})})).then((function(e){return e.forEach((function(e){e.params=JSON.parse(e.params)})),e}))},e.prototype.getErrors=function(){return this.getStore().then((function(e){return e.filter([{attributeName:"hasError",attributeValue:1,attributeType:"NUMBER",filterCondition:"EQUALS"}])}))},e.prototype.getLastPushInfo=function(){return this.localKeyValueService.get(K).then((function(e){return o.isString(e.startTime)&&(e.startTime=new Date(e.startTime)),o.isString(e.endTime)&&(e.endTime=new Date(e.endTime)),e}))},e.prototype.getLogLength=function(){return this.getStore().then((function(e){return e.count([{attributeName:"hasError",attributeValue:0,attributeType:"NUMBER",filterCondition:"EQUALS"}])}))},e.prototype.getStore=function(){return this.localDBManagementService.getStore("wavemaker","offlineChangeLog")},e.prototype.isFlushInProgress=function(){return!(_.isUndefined(this.deferredFlush)||_.isNull(this.deferredFlush))},e.prototype.stop=function(){var e=this;return new Promise((function(t){e.deferredFlush?(e.deferredFlush.promise.catch().then(t),e.deferredFlush.promise.abort()):t()}))},e.prototype.createContext=function(){var e=this;return this.localKeyValueService.get(Y).then((function(t){return t=t||{},{clear:function(){return t={},e.localKeyValueService.remove(Y)},get:function(e){var n=t[e];return n||(n={},t[e]=n),n},save:function(){return e.localKeyValueService.put(Y,t)}}}))},e.prototype._flush=function(e,t){var n=this;return(t=t||o.getAbortableDefer()).isAborted?Promise.resolve():(this.getNextChange().then((function(e){if(e)return e.params=JSON.parse(e.params),n.flushChange(e)})).then((function(i){if(e.next(n.currentPushInfo),i)return n.getStore().then((function(e){return e.delete(i.id)})).then((function(){return n._flush(e,t)}));t.resolve()}),(function(i){if(n.networkService.isConnected())i.hasError=1,i.params=JSON.stringify(i.params),n.getStore().then((function(e){return e.save(i)})).then((function(){return n._flush(e,t)}));else{var o=n.networkService.onConnect();t.promise.catch((function(){o&&o.abort()})),o.then((function(){n._flush(e,t),o=null}))}})),t.promise)},e.prototype.flushChange=function(e){var t=this,n=this;return o.executePromiseChain(this.getWorkers("preCall"),[e]).then((function(){return e.hasError?Promise.reject(e.errorMessage):""})).then((function(){return o.executePromiseChain(t.getWorkers("transformParamsFromMap"),[e])})).then((function(){return t.pushService.push(e)})).then((function(){return o.executePromiseChain(_.reverse(n.getWorkers("postCallSuccess")),[e,arguments]).then((function(){return e}))})).catch((function(){return n.networkService.isConnected()?o.executePromiseChain(_.reverse(n.getWorkers("postCallError")),[e,arguments]).catch(o.noop).then((function(){return Promise.reject(e)})):Promise.reject(e)}))},e.prototype.getNextChange=function(){var e=[{attributeName:"hasError",attributeValue:0,attributeType:"NUMBER",filterCondition:"EQUALS"}];return this.getStore().then((function(t){return t.filter(e,"id",{offset:0,limit:1})})).then((function(e){return e&&e[0]}))},e.prototype.getWorkers=function(e){return _.map(this.workers,(function(t){return t[e]&&t[e].bind(t)}))},e}();Q.SERVICE_NAME="ChangeLogService",Q.\u0275prov=g.\u0275\u0275defineInjectable({factory:function(){return new Q(g.\u0275\u0275inject(z),g.\u0275\u0275inject(S),g.\u0275\u0275inject(H),g.\u0275\u0275inject(y.NetworkService))},token:Q,providedIn:"root"}),Q.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],Q.ctorParameters=function(){return[{type:z},{type:S},{type:H},{type:r.NetworkService}]};var X=function(){function e(e,t,n){this.changeLogService=e,this.localKeyValueService=t,this.pushInfo=n,this.logger=window.console}return e.prototype.onAddCall=function(e){this.logger.debug("Added the following call %o to log.",e)},e.prototype.preFlush=function(e){var t=this;return this.pushInfo.totalTaskCount=0,this.pushInfo.successfulTaskCount=0,this.pushInfo.failedTaskCount=0,this.pushInfo.completedTaskCount=0,this.pushInfo.inProgress=!0,this.pushInfo.startTime=new Date,this.flushContext=e,this.logger.debug("Starting flush"),this.changeLogService.getStore().then((function(e){return e.count([{attributeName:"hasError",attributeValue:0,attributeType:"NUMBER",filterCondition:"EQUALS"}])})).then((function(e){return t.pushInfo.totalTaskCount=e}))},e.prototype.postFlush=function(e,t){this.logger.debug("flush completed. {Success : %i , Error : %i , completed : %i, total : %i }.",this.pushInfo.successfulTaskCount,this.pushInfo.failedTaskCount,this.pushInfo.completedTaskCount,this.pushInfo.totalTaskCount),this.pushInfo.inProgress=!1,this.pushInfo.endTime=new Date,this.localKeyValueService.put(K,this.pushInfo),this.flushContext=null},e.prototype.preCall=function(e){this.logger.debug("%i. Invoking call %o",1+this.pushInfo.completedTaskCount,e)},e.prototype.postCallError=function(e,t){return this.pushInfo.completedTaskCount++,this.pushInfo.failedTaskCount++,this.logger.error("call failed with the response %o.",t),this.flushContext.save()},e.prototype.postCallSuccess=function(e,t){return this.pushInfo.completedTaskCount++,this.pushInfo.successfulTaskCount++,this.logger.debug("call returned the following response %o.",t),this.flushContext.save()},e}(),J=function(){function e(e){this.localDBManagementService=e,this.searchTableData=this.readTableData.bind(this),this.searchTableDataWithQuery=this.readTableData.bind(this),this.getDistinctDataByFields=this.readTableData.bind(this)}return e.prototype.getStore=function(e){return this.localDBManagementService.getStore(e.dataModelName,e.entityName)},e.prototype.insertTableData=function(e,t,n,i){void 0===i&&(i={}),this.getStore(e).then((function(n){var o=n.primaryKeyField&&"identity"===n.primaryKeyField.generatorType;return!1!==_.get(i,"resetPrimaryKey")&&o&&e.data[n.primaryKeyName]&&delete e.data[n.primaryKeyName],n.add(e.data).then((function(){n.refresh(e.data).then(t)}))})).catch(n)},e.prototype.insertMultiPartTableData=function(e,t,n,i){var o=this;void 0===i&&(i={}),this.getStore(e).then((function(r){r.serialize(e.data).then((function(r){e.data=r,o.insertTableData(e,t,n,i)}))})).catch(n)},e.prototype.updateTableData=function(e,t,n){this.getStore(e).then((function(n){return n.save(e.data).then((function(){n.refresh(e.data).then(t)}))})).catch(n)},e.prototype.updateMultiPartTableData=function(e,t,n){var i=e.data&&e.data.rowData||e.data;this.getStore(e).then((function(e){return e.save(i)})).then((function(){t&&t(i)})).catch(n)},e.prototype.deleteTableData=function(e,t,n){this.getStore(e).then((function(n){var i=n.primaryKeyField,o=e[i.fieldName]||e[i.name]||e.data&&e.data[i.fieldName]||e.id;n.delete(o).then(t)})).catch(n)},e.prototype.readTableData=function(e,t,n){var i=this;this.getStore(e).then((function(n){var o=e.filter((function(e,t){i.convertFieldNameToColumnName(n,e,t)}),!0);return o=o.replace(/wm_bool\('true'\)/g,1).replace(/wm_bool\('false'\)/g,0),n.count(o).then((function(i){var r=e.sort.split("=")[1];return n.filter(o,r,{offset:(e.page-1)*e.size,limit:e.size}).then((function(n){var o=Math.ceil(i/e.size);t({content:n,first:1===e.page,last:e.page===o,number:e.page-1,numberOfElements:n.length,size:e.size,sort:{sorted:!!r,unsorted:!r},totalElements:i,totalPages:o})}))}))})).catch(n)},e.prototype.escapeName=function(e){return e?'"'+(e=e.replace(/"/g,'""')).replace(/\./g,'"."')+'"':e},e.prototype.getColumnName=function(e,t){if(e.fieldToColumnMapping[t]){var n=this.escapeName(e.fieldToColumnMapping[t]);return n.indexOf(".")<0?this.escapeName(e.entitySchema.name)+"."+n:n}return t},e.prototype.convertFieldNameToColumnName=function(e,t,n){var i=this;_.forEach(t.rules,(function(t){t.rules?i.convertFieldNameToColumnName(e,t):t.target=i.getColumnName(e,t.target)})),n&&n.filterFields&&(n.filterFields=_.mapKeys(n.filterFields,(function(t,n){return i.getColumnName(e,n)})))},e}();J.SERVICE_NAME="LocalDbService",J.\u0275prov=g.\u0275\u0275defineInjectable({factory:function(){return new J(g.\u0275\u0275inject(z))},token:J,providedIn:"root"}),J.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],J.ctorParameters=function(){return[{type:z}]};var Z=function(){function e(){this.logger=window.console}return e.prototype.preFlush=function(e){this.fileStore=e.get("offlineFileUpload")},e.prototype.preCall=function(e){var t=this;"DatabaseService"===e.service&&(e.params.data=_.mapValues(e.params.data,(function(e){var n=t.fileStore[e];return n?(t.logger.debug("swapped file path from %s -> %s",e,n),n):e})))},e.prototype.postCallSuccess=function(e,t){if("OfflineFileUploadService"===e.service&&"uploadToServer"===e.operation){var n=JSON.parse(t[0].text)[0];this.fileStore[e.params.file]=n.path,this.fileStore[e.params.file+"?inline"]=n.inlinePath}},e}(),ee=function(){function e(e,t,n,i){this.changeLogService=e,this.deviceFileService=t,this.localDBManagementService=n,this.file=i}return e.prototype.preExport=function(e,t){var n=this.deviceFileService.getUploadDirectory(),i=n.lastIndexOf("/"),o=n.substring(0,i+1),r=n.substring(i+1);return t.uploadDir=n,this.file.copyDir(o,r,e,"uploads")},e.prototype.postImport=function(e,t){var n=this,i=this.deviceFileService.getUploadDirectory(),r=i.lastIndexOf("/"),a=i.substring(0,r+1),s=i.substring(r+1);return this.uploadDir=i,this.file.checkDir(e,"uploads").then((function(){return n.deviceFileService.removeDir(i).then((function(){return n.file.copyDir(e,"uploads",a,s)})).then((function(){return n.updateChanges(t)}))}),o.noop)},e.prototype.getChanges=function(e,t){return this.changeLogService.getStore().then((function(n){return n.filter([],"id",{offset:(e-1)*t,limit:t})}))},e.prototype.updateDBChange=function(e,t,n){var i=this,o={},r=e.params.entityName,a=e.params.dataModelName;e.params.data=_.mapValues(e.params.data,(function(e,i){var r=e,a=!1;return _.isString(e)?(r=_.replace(e,t,n),a=!_.isEqual(r,e)):_.isObject(e)&&e.wmLocalPath&&(r=_.replace(e.wmLocalPath,t,n),a=!_.isEqual(r,e.wmLocalPath)),a&&(o[i]=r),r})),_.isEmpty(o)||this.localDBManagementService.getStore(a,r).then((function(t){if(t.primaryKeyField&&"identity"===t.primaryKeyField.generatorType){var n=t.primaryKeyName,i=e.params.data[n];return t.get(i).then((function(e){return t.save(_.assignIn(e,o))}))}})).then((function(){return e.params=JSON.stringify(e.params),i.changeLogService.getStore().then((function(t){return t.save(e)}))}))},e.prototype.updateChange=function(e,t){return e.params=JSON.parse(e.params),"OfflineFileUploadService"===e.service&&"uploadToServer"===e.operation?(e.params.file=_.replace(e.params.file,t.uploadDir,this.uploadDir),e.params=JSON.stringify(e.params),this.changeLogService.getStore().then((function(t){return t.save(e)}))):"DatabaseService"===e.service?this.updateDBChange(e,t.uploadDir,this.uploadDir):void 0},e.prototype.updateChanges=function(e,t){var n=this;void 0===t&&(t=1);return this.getChanges(t,10).then((function(t){if(t&&t.length>0)return Promise.all(t.map((function(t){return n.updateChange(t,e)})))})).then((function(i){if(i&&10===i.length)return n.updateChanges(e,t+1)}))},e}(),te=function(){function e(e){this.localDBManagementService=e}return e.prototype.preFlush=function(e){this.errorStore=e.get("errorBlockerStore")},e.prototype.preCall=function(e){var t=this;if(e&&"DatabaseService"===e.service){var n=e.params.entityName,i=e.params.dataModelName;switch(e.operation){case"insertTableData":case"insertMultiPartTableData":case"updateTableData":case"updateMultiPartTableData":return this.localDBManagementService.getStore(i,n).then((function(o){t.blockCall(o,e,i,n,e.params.data)}));case"deleteTableData":return this.localDBManagementService.getStore(i,n).then((function(o){t.blockCall(o,e,i,n,e.params)}))}}},e.prototype.postCallSuccess=function(e){var t=this;if(e&&"DatabaseService"===e.service){var n=e.params.entityName,i=e.params.dataModelName;return this.localDBManagementService.getStore(i,n).then((function(o){var r=e.dataLocalId||e.params.data[o.primaryKeyName];_.isUndefined(r)||_.isNull(r)||t.removeError(i,n,r)}))}},e.prototype.postCallError=function(e){var t=this;if(e&&"DatabaseService"===e.service){var n=e.params.entityName,i=e.params.dataModelName;return this.localDBManagementService.getStore(i,n).then((function(o){var r=e.dataLocalId||e.params.data&&e.params.data[o.primaryKeyName]||e.params[o.primaryKeyName]||e.params.id;_.isUndefined(r)||_.isNull(r)||t.recordError(i,n,r)}))}},e.prototype.blockCall=function(e,t,n,i,o){var r=this;0===t.hasError&&(this.checkForPreviousError(e,t,n,i,o),e.entitySchema.columns.forEach((function(i){i.foreignRelations&&i.foreignRelations.some((function(a){return o[a.sourceFieldName]?r.blockCall(e,t,n,a.targetEntity,o[a.sourceFieldName]):o[i.fieldName]&&r.checkForPreviousError(e,t,n,a.targetEntity,o,i.fieldName),1===t.hasError}))})))},e.prototype.checkForPreviousError=function(e,t,n,i,o,r){var a=r||e.primaryKeyName;this.hasError(n,i,o[a])&&(t.hasError=1,t.errorMessage="Blocked call due to error in previous call of entity [ "+i+" ] with id [ "+o[a]+" ]")},e.prototype.hasError=function(e,t,n){return!!(this.errorStore[e]&&this.errorStore[e][t]&&this.errorStore[e][t][n])},e.prototype.removeError=function(e,t,n){this.errorStore[e]&&this.errorStore[e][t]&&this.errorStore[e][t][n]&&delete this.errorStore[e][t][n]},e.prototype.recordError=function(e,t,n){this.errorStore[e]=this.errorStore[e]||{},this.errorStore[e][t]=this.errorStore[e][t]||{},this.errorStore[e][t][n]=!0},e}(),ne=function(){function e(e){this.localDBManagementService=e,this.logger=window.console}return e.prototype.preFlush=function(e){this.idStore=e.get("idConflictResolution")},e.prototype.preCall=function(e){var t=this;if(e&&"DatabaseService"===e.service){var n=e.params.entityName,i=e.params.dataModelName;switch(e.operation){case"insertTableData":case"insertMultiPartTableData":return e.params.skipLocalDB=!0,this.localDBManagementService.getStore(i,n).then((function(r){var a=r.primaryKeyName;return a&&(t.transactionLocalId=e.params.data[a],e.dataLocalId=t.transactionLocalId),t.exchangeIds(r,i,n,e.params.data).then((function(){if(r.primaryKeyField&&"identity"===r.primaryKeyField.generatorType)delete e.params.data[a];else{var s=r.getValue(e.params.data,r.primaryKeyName);o.isDefined(s)&&(e.params.data[a]=s,null!==t.transactionLocalId&&t.pushIdToStore(i,n,t.transactionLocalId,s)),t.transactionLocalId=null}}))}));case"updateTableData":case"updateMultiPartTableData":case"deleteTableData":return this.localDBManagementService.getStore(i,n).then((function(o){if(t.exchangeId(o,i,n,e.params,"id"),e.params.data)return t.exchangeIds(o,i,n,e.params.data)}))}}},e.prototype.postCallSuccess=function(e,t){var n=this;if(e&&"DatabaseService"===e.service&&("insertTableData"===e.operation||"insertMultiPartTableData"===e.operation)&&this.transactionLocalId){var i=t[0].body,r=e.params.entityName,a=e.params.dataModelName;return this.localDBManagementService.getStore(a,r).then((function(e){return n.pushIdToStore(a,r,n.transactionLocalId,i[e.primaryKeyName]),e.delete(n.transactionLocalId).catch(o.noop).then((function(){return n.transactionLocalId=null,e.save(i)}))}))}},e.prototype.postCallError=function(e){var t=this;if(e&&"DatabaseService"===e.service&&("insertTableData"===e.operation||"insertMultiPartTableData"===e.operation)&&this.transactionLocalId){var n=e.params.entityName,i=e.params.dataModelName;return this.localDBManagementService.getStore(i,n).then((function(n){e.params.data[n.primaryKeyName]=t.transactionLocalId}))}},e.prototype.getEntityIdStore=function(e,t){return this.idStore[e]=this.idStore[e]||{},this.idStore[e][t]=this.idStore[e][t]||{},this.idStore[e][t]},e.prototype.pushIdToStore=function(e,t,n,i){n!==i&&(this.getEntityIdStore(e,t)[n]=i,this.logger.debug("Conflict found for entity (%s) with local id (%i) and remote Id (%i)",t,n,i))},e.prototype.logResolution=function(e,t,n){this.logger.debug("Conflict resolved found for entity (%s) with local id (%i) and remote Id (%i)",e,t,n)},e.prototype.exchangeId=function(e,t,n,i,o){var r=o||e.primaryKeyName,a=this.getEntityIdStore(t,n);if(i&&r){for(var s=i[r],l=s;a[l];)l=a[l];l!==s&&(i[r]=l,this.logResolution(n,s,l))}},e.prototype.exchangeIds=function(e,t,n,i){var o=this;this.exchangeId(e,t,n,i);var r=[];return e.entitySchema.columns.forEach((function(n){n.foreignRelations&&n.foreignRelations.forEach((function(a){i[n.fieldName]&&o.exchangeId(e,t,a.targetEntity,i,n.fieldName),i[a.sourceFieldName]&&r.push(o.localDBManagementService.getStore(t,a.targetEntity).then((function(e){return o.exchangeIds(e,t,a.targetEntity,i[a.sourceFieldName])})))}))})),Promise.all(r)},e}();ne.decorators=[{type:t.Injectable}],ne.ctorParameters=function(){return[{type:z}]};var ie=function(){function e(e,t){this.deviceFileService=e,this.localDBManagementService=t}return e.prototype.postCallSuccess=function(e){var t=this;if(e&&"DatabaseService"===e.service)switch(e.operation){case"insertMultiPartTableData":case"updateMultiPartTableData":_.forEach(e.params.data,(function(e){_.isObject(e)&&e.wmLocalPath&&t.deviceFileService.removeFile(e.wmLocalPath)}))}},e.prototype.transformParamsFromMap=function(e){if(e&&"DatabaseService"===e.service)switch(e.operation){case"insertMultiPartTableData":case"updateMultiPartTableData":return this.localDBManagementService.getStore(e.params.dataModelName,e.params.entityName).then((function(t){return t.deserialize(e.params.data).then((function(t){e.params.data=t}))}))}},e.prototype.transformParamsToMap=function(e){if(e&&"DatabaseService"===e.service)switch(e.operation){case"insertMultiPartTableData":case"updateMultiPartTableData":return this.localDBManagementService.getStore(e.params.dataModelName,e.params.entityName).then((function(t){return t.serialize(e.params.data).then((function(n){return e.params.data=n,t.save(_.mapValues(n,(function(e){return _.isObject(e)&&e.wmLocalPath||e}))),n}))}))}},e}(),oe=[{name:"insertTableData",type:"INSERT"},{name:"insertMultiPartTableData",type:"INSERT"},{name:"updateTableData",type:"UPDATE"},{name:"updateMultiPartTableData",type:"UPDATE"},{name:"deleteTableData",type:"DELETE"},{name:"readTableData",type:"READ",saveResponse:!0},{name:"searchTableData",type:"READ",saveResponse:!0},{name:"searchTableDataWithQuery",type:"READ",saveResponse:!0},{name:"getDistinctDataByFields",type:"READ",saveResponse:!1}],re=!1,ae=function(){function e(e,t,n,i,o){this.changeLogService=e,this.httpService=t,this.localDBManagementService=n,this.networkService=i,this.offlineDBService=o,this.onlineDBService=m.LVService}return e.prototype.add=function(){var e=this;if(!re){re=!0;var t=this.httpService.sendCallAsObservable;t&&(this.httpService.sendCallAsObservable=function(n,i){!i&&_.get(n,"url")&&(i={url:n.url});var o=_.clone(i.url);i=_.extend(i,n);var r=_.find(oe,{name:_.get(i,"operation")});return e.networkService.isConnected()||i.onlyOnline||!r||!i.dataModelName?h.from(e.remoteDBcall(r,t,i)):h.from(e.localDBManagementService.isOperationAllowed(i.dataModelName,i.entityName,r.type).then((function(n){var a;return n?Promise.resolve().then((function(){if(!i.isCascadingStopped&&("insertTableData"===r.name||"updateTableData"===r.name))return e.prepareToCascade(i).then((function(e){return a=e}))})).then((function(){return new Promise((function(t,n){e.localDBcall(r,i,t,n,o)}))})).then((function(t){return a?a.cascade().then((function(){return e.getStore(i).then((function(e){return e.refresh(t.body)})).then((function(e){return t&&t.body&&(t.body=e),t}))})):t})):e.remoteDBcall(r,t,i)})))})}},e.prototype.getStore=function(e){return this.localDBManagementService.getStore(e.dataModelName,e.entityName)},e.prototype.hasBlob=function(e){return!!_.filter(e.entitySchema.columns,{sqlType:"blob"}).length},e.prototype.localDBcall=function(e,t,n,i,r){var a=this;return new Promise((function(n,i){a.offlineDBService[e.name](t,(function(i){if("READ"!==e.type)return t.onlyOnline=!0,t.url=r,a.changeLogService.add("DatabaseService",e.name,t).then((function(){return n(i)}));n(i)}))})).then((function(e){return e={body:e,type:T},o.triggerFn(n,e),e}),i)},e.prototype.remoteDBcall=function(e,t,n){var i=this;return new Promise((function(r,a){t.call(i.httpService,n).subscribe((function(t){t&&t.type&&(n.skipLocalDB||i.offlineDBService.getStore(n).then((function(r){"READ"===e.type&&e.saveResponse?r.saveAll(t.body.content):"INSERT"===e.type?((n=_.clone(n)).data=_.clone(t.body),i.offlineDBService[e.name](n,o.noop,o.noop,{resetPrimaryKey:!1})):i.offlineDBService[e.name](n,o.noop,o.noop)})).catch(o.noop),r(t))}),(function(e){a(e)}))}))},e.prototype.prepareToCascade=function(e){var t=this;return this.getStore(e).then((function(n){var i=[];return _.forEach(e.data,(function(o,r){var a,s,l;if(_.isObject(o)&&!_.isArray(o)&&(a=n.entitySchema.columns.find((function(e){return e.primaryKey&&e.foreignRelations&&(s=e.foreignRelations.find((function(e){return e.sourceFieldName===r}))),!!s}))),a){(l=_.cloneDeep(e)).entityName=s.targetEntity,l.data=o;var c=t.getStore(l).then((function(i){var o=e.data,a=i.entitySchema.columns.find((function(e){return e.name===s.targetColumn}));if(a&&a.foreignRelations){var c=a.foreignRelations.find((function(e){return e.targetTable===n.entitySchema.name})).sourceFieldName;l.data[c]=o}return o[r]=null,l.onlyOnline=!1,l.isCascadingStopped=!0,l.hasBlob=t.hasBlob(i),l.url="",function(){return Promise.resolve().then((function(){var e=i.getValue(l.data,i.primaryKeyField.fieldName);return e?i.get(e):null})).then((function(e){var n;return n=e?l.hasBlob?"updateMultiPartTableData":"updateTableData":l.hasBlob?"insertMultiPartTableData":"insertTableData",t.onlineDBService[n](l).toPromise()}))}}));i.push(c)}})),Promise.all(i).then((function(e){return{cascade:function(){return Promise.all(e.map((function(e){return e()})))}}}))}))},e}(),se=!1,le=function(){function e(e,t,n,i,o,r){this.changeLogService=e,this.deviceFileService=t,this.deviceFileUploadService=n,this.file=i,this.networkService=o,this.uploadDir=r}return e.prototype.add=function(){var e=this;if(!se){se=!0;var t=this.deviceFileUploadService.upload;this.deviceFileUploadService.uploadToServer=t,this.deviceFileUploadService.upload=function(n,i,o,r,a,s){return e.networkService.isConnected()?t.call(e.deviceFileUploadService,n,i,o,r,a,s):e.uploadLater(n,i,o,r,a,s).then((function(e){return{text:JSON.stringify(e),headers:null,response:e}}))}}},e.prototype.uploadLater=function(e,t,n,i,o,r){var a=this,s=n.lastIndexOf("/"),l=n.substring(0,s),c=n.substring(s+1),p=this.deviceFileService.appendToFileName(c),u=this.uploadDir+"/"+p;return this.file.copyFile(l,c,this.uploadDir,p).then((function(){return a.changeLogService.add("OfflineFileUploadService","uploadToServer",{file:u,ftOptions:{fileKey:t,fileName:i},params:o,headers:r,serverUrl:e,deleteOnUpload:!0})})).then((function(){return[{fileName:c,path:u,length:0,success:!0,inlinePath:u+"?inline"}]}))},e}(),ce=/^\d+(\.\d+)?$/,pe=!1,ue=function(){function e(e,t,n,i){this.changeLogService=e,this.httpService=t,this.localDBManagementService=n,this.networkService=i}return e.prototype.add=function(){var e=this;if(!pe){pe=!0;var t=this.httpService.sendCallAsObservable;this.httpService.sendCallAsObservable=function(n,i){return!i&&_.get(n,"url")&&(i={url:n.url}),!e.networkService.isConnected()&&i.url.indexOf("/queryExecutor/")>0?h.from(e.executeLocally(i)):t.call(e.httpService,n,i)}}},e.prototype.executeLocally=function(e){var t=this,n=e.url,i=n.indexOf("?")>0,o=this.substring(n,"services/","/queryExecutor"),r=this.substring(n,"queries/",i?"?":void 0),a=i?this.getHttpParamMap(this.substring(n,"?",void 0)):{},s=this.getHttpParamMap(e.dataParams),l=_.extend(a,s);return this.localDBManagementService.executeNamedQuery(o,r,l).then((function(n){var i=n.rows;return n.rowsAffected?t.changeLogService.add("WebService","invokeJavaService",e).then((function(){return n.rowsAffected})):{type:T,body:{totalPages:i&&i.length>0?1:0,totalElements:i.length,first:!0,sort:null,numberOfElements:i.length,last:!0,size:e.size,number:0,content:i}}}))},e.prototype.substring=function(e,t,n){if(t){var i=e.indexOf(t)+t.length,o=n?e.indexOf(n):void 0;return e.substring(i,o)}},e.prototype.getHttpParamMap=function(e){var t={};return e&&(e=decodeURIComponent(e)).split("&").forEach((function(e){var n=e.split("=");_.isEmpty(_.trim(n[1]))||!ce.test(n[1])?t[n[0]]=n[1]:t[n[0]]=parseInt(n[1],10)})),t},e}(),de="logged-in-user.info",he=!1,me=function(){function e(e,t,n,i,o){var r=this;this.app=e,this.file=t,this.deviceService=n,this.networkService=i,this.securityService=o,this.saveSecurityConfigLocally=_.debounce((function(e){r._saveSecurityConfigLocally(e)}),1e3)}return e.prototype.add=function(){var e=this;if(!he){he=!0;var t=this.securityService.load,n=this.securityService.appLogout;this.securityService.load=function(n){return new Promise((function(i,o){e.networkService.isConnected()?t.call(e.securityService,n).then((function(t){e.securityConfig=t,e.saveSecurityConfigLocally(t),i(e.securityConfig)}),o):e.readLocalSecurityConfig().then((function(t){return void 0===t&&(t={}),e.securityConfig=t,e.securityService.config=t,t}),(function(){return t.call(e.securityConfig)})).then(i,o)}))},this.securityService.appLogout=function(t,i){e.securityConfig={authenticated:!1,loggedOut:!0,securityEnabled:e.securityConfig&&e.securityConfig.securityEnabled,loggedOutOffline:!e.networkService.isConnected(),loginConfig:e.securityConfig&&e.securityConfig.loginConfig,userInfo:null},e._saveSecurityConfigLocally(e.securityConfig).catch(o.noop).then((function(){e.networkService.isConnected()?n.call(e.securityService,t,i):location.assign(window.location.origin+window.location.pathname)}))},this.securityService.isAuthenticated=function(t){o.triggerFn(t,!0===e.securityConfig.authenticated)},this.deviceService.whenReady().then((function(){return e.clearLastLoggedInUser()})),this.app.subscribe("onNetworkStateChange",(function(t){t.isConnected&&e.clearLastLoggedInUser()}))}},e.prototype._saveSecurityConfigLocally=function(e){return this.file.writeFile(cordova.file.dataDirectory,de,JSON.stringify(e),{replace:!0})},e.prototype.clearLastLoggedInUser=function(){var e=this;return this.readLocalSecurityConfig().then((function(t){t&&t.loggedOutOffline?e.securityService.appLogout(null,null):e.networkService.isConnected()||(e.securityConfig=t||{})}))},e.prototype.readLocalSecurityConfig=function(){var e=this;return new Promise((function(t,n){var i=cordova.file.dataDirectory;e.file.checkFile(i,de).then((function(){return e.readFileAsTxt(i,de).then(t,n)}),(function(){var i=cordova.file.applicationDirectory+"www/metadata/app";return e.readFileAsTxt(i,"security-config.json").then(t,n)}))}))},e.prototype.readFileAsTxt=function(e,t){return this.file.readAsText(e,t).then(JSON.parse).catch(o.noop)},e}(),fe=function(){function e(t,n,i,r,a,s,l,c,p,u,d){o.hasCordova()&&e.initialize(t,n,i,r,a,s,l,c,p,u,d)}return e.initialize=function(e,t,n,i,r,a,s,l,c,p,u){this.initialized||(n.addStartUpService({getServiceName:function(){return"OfflineStartupService"},start:function(){return window.SQLitePlugin?(l.setLogSQl("true"===sessionStorage.getItem("wm.logSql")||"true"===sessionStorage.getItem("debugMode")),window.logSql=function(e){void 0===e&&(e=!0),l.setLogSQl(e),sessionStorage.setItem("wm.logSql",e?"true":"false")},window.executeLocalSql=function(e,t,n){l.executeSQLQuery(e,t,n,!0)},l.loadDatabases().then((function(){t.addWorker(new ne(l)),t.addWorker(new te(l)),t.addWorker(new Z),t.addWorker(new ie(i,l)),new ae(t,s,l,p,c).add(),new le(t,i,r,a,p,i.getUploadDirectory()).add(),new ue(t,s,l,p).add(),l.registerCallback(new ee(t,i,l,a)),t.addWorker({onAddCall:function(){p.isConnected()||p.disableAutoConnect()},postFlush:function(e){e.totalTaskCount>0&&l.close().catch(o.noop).then((function(){location.assign(window.location.origin+window.location.pathname)}))}})}))):Promise.resolve()}}),new me(e,a,n,p,u).add())},e}();fe.initialized=!1,fe.decorators=[{type:t.NgModule,args:[{imports:[n.CommonModule],declarations:[],exports:[],providers:[],entryComponents:[]}]}],fe.ctorParameters=function(){return[{type:o.App},{type:Q},{type:r.DeviceService},{type:r.DeviceFileService},{type:r.DeviceFileUploadService},{type:i.File},{type:o.AbstractHttpService},{type:z},{type:J},{type:r.NetworkService},{type:a.SecurityService}]};var ge=function(){function e(e){this.deviceFileUploadService=e}return e.prototype.getPromiseFromObs=function(e){return new Promise((function(t,n){e.subscribe((function(e){e&&e.type&&t(e)}),n)}))},e.prototype.push=function(e){var t=e.params;switch(e.service){case"DatabaseService":switch(e.operation){case"insertTableData":return this.getPromiseFromObs(m.LVService.insertTableData(e.params,null,null));case"insertMultiPartTableData":return this.getPromiseFromObs(m.LVService.insertMultiPartTableData(e.params,null,null));case"updateTableData":return this.getPromiseFromObs(m.LVService.updateTableData(e.params,null,null));case"updateMultiPartTableData":return this.getPromiseFromObs(m.LVService.updateMultiPartTableData(e.params,null,null));case"deleteTableData":return this.getPromiseFromObs(m.LVService.deleteTableData(e.params,null,null))}case"OfflineFileUploadService":if("uploadToServer"===e.operation)return this.deviceFileUploadService.uploadToServer.call(this.deviceFileUploadService,t.serverUrl,t.ftOptions.fileKey,t.file,t.ftOptions.fileName,t.params,t.headers)}return Promise.reject(e.service+" service with operation "+e.operation+" is not supported for push.")},e}();ge.decorators=[{type:t.Injectable}],ge.ctorParameters=function(){return[{type:r.DeviceFileUploadService}]};var ve="localDBManager.lastPullInfo",ye=function(){var e={};return{start:function(e){e.$$pullProcessId="PULL_"+_.now()},add:function(t,n){var i=t.$$pullProcessId;e[i]||(e[i]=[]),e[i].push(n)},remove:function(t,n){var i=t.$$pullProcessId;_.remove(e[i],n),_.isEmpty(e[i])&&delete e[i]},abort:function(t){var n=t.$$pullProcessId;return e[n]&&(_.forEach(e[n],(function(e){e&&e.abort&&e.abort()})),delete e[n]),t.$$isMarkedToAbort=!0,t.catch((function(){return"cancelled"}))}}},be=ye(),we=function(){function e(e,t,n,i){var o=this;this.app=e,this.localDBManagementService=t,this.localKeyValueService=n,this.networkService=i,this.localDBManagementService.registerCallback({onDbCreate:function(e){o.localKeyValueService.put(ve,{databases:[],totalRecordsToPull:0,totalPulledRecordCount:0,startTime:new Date(0),endTime:new Date(e.dbSeedCreatedOn)})}})}return e.prototype.addDeltaCriteria=function(e,t,n){var i,o=this,r=e.schema.entities[t],a=r.pullConfig.deltaFieldName,s=_.find(r.columns,{fieldName:a})||{};return _.isEmpty(a)?Promise.resolve(n):this.localDBManagementService.isBundled(e.schema.name,t).then((function(e){return i=e})).then((function(){return o.getLastPullInfo()})).then((function(o){var r=o&&o.startTime&&o.startTime.getTime(),l=_.find(o&&o.databases,{name:e.schema.name}),c=_.find(l&&l.entities,{entityName:t})||{};return!r&&i&&(r=o&&o.endTime&&o.endTime.getTime(),c.query=n),c.query===n&&r>0&&(_.isEmpty(n)?n="":n+=" AND ","datetime"===s.sqlType?n+=a+" > '"+moment(r).utc().format("YYYY-MM-DDTHH:mm:ss")+"'":n+=a+" > "+r),n}),(function(){return Promise.resolve(n)}))},e.prototype.copyDataFromRemoteDBToLocalDB=function(e,t,n,i,r){var a,s=this,l=e.stores[t],c=e.schema.entities[t],p={entityName:t,totalRecordsToPull:0,pulledRecordCount:0},u=0,d=!1;return new Promise((function(h,m){s.prepareQuery(e,t).then((function(n){return p.query=n,s.addDeltaCriteria(e,t,n)})).then((function(e){return n&&p.query===e?l.clear().then((function(){return e})):e})).then((function(t){return a=_.isEmpty(t)?"":"q="+t,s.getTotalRecordsToPull(e,c,a,i)})).then((function(n){var m=c.pullConfig.size||100,f=Math.ceil(n/m);p.totalRecordsToPull=n;var g=c.pullConfig.orderBy;g=(_.isEmpty(g)?"":g+",")+l.primaryKeyName,r.next(p);var v={next:function(e){u++,e=_.slice(e,0,p.totalRecordsToPull-p.pulledRecordCount),l.saveAll(e).then((function(){p.pulledRecordCount+=e?e.length:0,r.next(p)})).catch(o.noop).then((function(){0===--u&&d&&h(p)}))},error:null,complete:null};return s._pullEntityData(e,t,a,g,f,m,1,i,void 0,v)})).then(null,m).catch(o.noop).then((function(){d=!0,0===u&&h(p)}))}))},e.prototype.evalIfBind=function(e){return _.startsWith(e,"bind:")?(e=e.replace(/\[\$\i\]/g,"[0]"),o.$parseExpr(e.replace("bind:",""))(this.app)):e},e.prototype.executeDatabaseCountQuery=function(e){return new Promise((function(t,n){m.LVService.countTableDataWithQuery(e,null,null).subscribe((function(e){return t(e.body)}),n)}))},e.prototype.executeDatabaseSearchQuery=function(e){return new Promise((function(t,n){return m.LVService.searchTableDataWithQuery(e,null,null).subscribe((function(e){return t(e&&e.body&&e.body.content)}),n)}))},e.prototype.getTotalRecordsToPull=function(e,t,n,i){var o=this,r={dataModelName:e.schema.name,entityName:t.entityName,queryParams:n};return this.retryIfNetworkFails((function(){return o.executeDatabaseCountQuery(r).then((function(e){var n=e,i=_.parseInt(t.pullConfig.maxNumberOfRecords);return _.isNaN(i)||i<=0||n<i?n:i}))}),i)},e.prototype.prepareQuery=function(e,t){var n,i=this,o=e.schema.entities[t];return this.localDBManagementService.isBundled(e.schema.name,t).then((function(e){var t=!1;if(e||_.isEmpty(o.pullConfig.query)){if(n=_.cloneDeep(o.pullConfig.filter),n=_.map(n,(function(e){return e.attributeValue=i.evalIfBind(e.attributeValue),t=t||_.isNil(e.attributeValue),e})),t)return Promise.reject("Null criteria values are present");n=_.sortBy(n,"attributeName"),n=m.LiveVariableUtils.getSearchQuery(n," AND ",!0)}else n=i.evalIfBind(o.pullConfig.query);return _.isNil(n)?Promise.resolve(null):Promise.resolve(encodeURIComponent(n))}))},e.prototype._pullDbData=function(e,t,n,i){var o=this,r=e.schema.name,a={name:e.schema.name,entities:[],totalRecordsToPull:0,pulledRecordCount:0,completedTaskCount:0,totalTaskCount:0},s=[];return _.forEach(e.schema.entities,(function(e){s.push(o.localDBManagementService.getStore(r,e.entityName))})),new Promise((function(r,l){Promise.all(s).then((function(s){var c=[];s.forEach((function(e){var t=e.entitySchema.pullConfig,n=t.pullType;(n===E.APP_START||n===E.BUNDLED&&t.deltaFieldName)&&c.push(e.entitySchema)}));var p=_.chain(c).map((function(r){var s={next:function(e){var t=_.findIndex(a.entities,{entityName:e.entityName});t>=0?a.entities[t]=e:a.entities.push(e),a.pulledRecordCount=_.reduce(a.entities,(function(e,t){return e+t.pulledRecordCount}),0),a.totalRecordsToPull=_.reduce(a.entities,(function(e,t){return e+t.totalRecordsToPull}),0),i.next(a)},error:null,complete:null};return o.copyDataFromRemoteDBToLocalDB(e,r.entityName,t,n,s).then((function(e){return a.completedTaskCount++,i.next(a),e}),null)})).value();a.totalTaskCount=p.length,i.next(a),Promise.all(p).then(r,l)}))}))},e.prototype._pullEntityData=function(e,t,n,i,r,a,s,l,c,p){var u=this,d=e.schema.name;if(c||(c=o.defer()),s>r)return c.resolve();var h={dataModelName:d,entityName:t,page:s,size:a,data:n,sort:i,onlyOnline:!0,skipLocalDB:!0};return this.retryIfNetworkFails((function(){return u.executeDatabaseSearchQuery(h)}),l).then((function(o){p.next(o),u._pullEntityData(e,t,n,i,r,a,s+1,l,c,p)}),c.reject),c.promise},e.prototype.retryIfNetworkFails=function(e,t){if(t.$$isMarkedToAbort)return Promise.reject("aborted");var n=this.networkService.retryIfNetworkFails(e);return be.add(t,n),n.catch(o.noop).then((function(){be.remove(t,n)})),n},e.prototype.cancel=function(e){return be.abort(e)},e.prototype.getDb=function(e){return this.localDBManagementService.loadDatabases().then((function(t){return _.find(t,{name:e})||Promise.reject("Local database ("+e+") not found")}))},e.prototype.getLastPullInfo=function(){return this.localKeyValueService.get(ve).then((function(e){return _.isString(e.startTime)&&(e.startTime=new Date(e.startTime)),_.isString(e.endTime)&&(e.endTime=new Date(e.endTime)),e}))},e.prototype.pullAllDbData=function(e,t){var n=this,i=o.getAbortableDefer(),r={completedTaskCount:0,totalTaskCount:0,inProgress:!0,databases:[],totalRecordsToPull:0,totalPulledRecordCount:0,startTime:new Date,endTime:new Date};return this.localDBManagementService.loadDatabases().then((function(o){var a=_.chain(o).filter((function(e){return!e.schema.isInternal})).map((function(o){be.start(i.promise);var a={next:function(e){var n=_.findIndex(r.databases,{name:e.name});n>=0?r.databases[n]=e:r.databases.push(e),r.totalTaskCount=_.reduce(r.databases,(function(e,t){return e+t.totalTaskCount}),0),r.completedTaskCount=_.reduce(r.databases,(function(e,t){return e+t.completedTaskCount}),0),r.totalPulledRecordCount=_.reduce(r.databases,(function(e,t){return e+t.pulledRecordCount}),0),r.totalRecordsToPull=_.reduce(r.databases,(function(e,t){return e+t.totalRecordsToPull}),0),t.next(r)},error:null,complete:null};return n._pullDbData(o,e,i.promise,a)})).value();return Promise.all(a)})).then((function(){r.endTime=new Date,r.inProgress=!1,n.localKeyValueService.put(ve,r),i.resolve(r)}),i.reject),i.promise},e.prototype.pullDbData=function(e,t,n){var i=this,r=o.getAbortableDefer();return this.getDb(e).then((function(e){return i._pullDbData(e,t,r.promise,n)})).then(r.resolve,r.reject),r.promise},e.prototype.pullEntityData=function(e,t,n,i){var r=this,a=o.getAbortableDefer();return this.getDb(e).then((function(e){return r.copyDataFromRemoteDBToLocalDB(e,t,n,a.promise,i)})).then(a.resolve,a.reject),a.promise},e}();we.SERVICE_NAME="LocalDBDataPullService",we.\u0275prov=g.\u0275\u0275defineInjectable({factory:function(){return new we(g.\u0275\u0275inject(v.App),g.\u0275\u0275inject(z),g.\u0275\u0275inject(S),g.\u0275\u0275inject(y.NetworkService))},token:we,providedIn:"root"}),we.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],we.ctorParameters=function(){return[{type:o.App},{type:z},{type:S},{type:r.NetworkService}]},e.CONTEXT_KEY=Y,e.ChangeLogService=Q,e.LAST_PUSH_INFO_KEY=K,e.LocalDBDataPullService=we,e.LocalDBManagementService=z,e.LocalDbService=J,e.OfflineModule=fe,e.PushService=H,e.PushServiceImpl=ge,e["\u02750"]=ye,e["\u0275a"]=S,Object.defineProperty(e,"__esModule",{value:!0})})),function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@awesome-cordova-plugins/app-version/ngx"),require("@awesome-cordova-plugins/barcode-scanner/ngx"),require("@awesome-cordova-plugins/calendar/ngx"),require("@awesome-cordova-plugins/camera/ngx"),require("@awesome-cordova-plugins/device/ngx"),require("@awesome-cordova-plugins/media-capture/ngx"),require("@awesome-cordova-plugins/geolocation/ngx"),require("@awesome-cordova-plugins/vibration/ngx"),require("@awesome-cordova-plugins/location-accuracy/ngx"),require("@awesome-cordova-plugins/diagnostic/ngx"),require("@wm/core"),require("@wm/mobile/core"),require("@wm/mobile/offline"),require("@wm/security"),require("@wm/variables"),require("@wm/mobile/components/basic")):"function"==typeof define&&define.amd?define("@wm/mobile/variables",["exports","@angular/core","@awesome-cordova-plugins/app-version/ngx","@awesome-cordova-plugins/barcode-scanner/ngx","@awesome-cordova-plugins/calendar/ngx","@awesome-cordova-plugins/camera/ngx","@awesome-cordova-plugins/device/ngx","@awesome-cordova-plugins/media-capture/ngx","@awesome-cordova-plugins/geolocation/ngx","@awesome-cordova-plugins/vibration/ngx","@awesome-cordova-plugins/location-accuracy/ngx","@awesome-cordova-plugins/diagnostic/ngx","@wm/core","@wm/mobile/core","@wm/mobile/offline","@wm/security","@wm/variables","@wm/mobile/components/basic"],t):t(((e="undefined"!=typeof globalThis?globalThis:e||self).wm=e.wm||{},e.wm.mobile=e.wm.mobile||{},e.wm.mobile.variables={}),e.ng.core,e.awesomeCordova.plugins,e.awesomeCordova.plugins,e.awesomeCordova.plugins,e.awesomeCordova.plugins,e.awesomeCordova.plugins,e.awesomeCordova.plugins,e.awesomeCordova.plugins,e.awesomeCordova.plugins,e.awesomeCordova.plugins,e.awesomeCordova.plugins,e.wm.core,e.wm.mobile.core,e.wm.mobile.offline,e.wm.security,e.wm.variables,e.wm.mobile.components.basic)}(this,(function(e,t,n,i,o,r,a,s,l,c,p,u,d,h,m,f,g,v){"use strict";
|
|
830
|
+
var p=function(e,t){return(p=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(e,t)};Object.create;function u(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var i,o,r=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(i=r.next()).done;)a.push(i.value)}catch(e){o={error:e}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(o)throw o.error}}return a}function d(e,t,n){if(n||2===arguments.length)for(var i,o=0,r=t.length;o<r;o++)!i&&o in t||(i||(i=Array.prototype.slice.call(t,0,o)),i[o]=t[o]);return e.concat(i||Array.prototype.slice.call(t))}Object.create;var h,m=function(){n.register("wm-media-list",new Map([["class",n.PROP_STRING],["dataset",n.PROP_ANY],["layout",Object.assign({value:"Single-row"},n.PROP_STRING)],["mediaurl",n.PROP_STRING],["name",n.PROP_STRING],["offline",Object.assign({value:!0},n.PROP_BOOLEAN)],["show",Object.assign({value:!0},n.PROP_BOOLEAN)],["thumbnailheight",Object.assign({value:"100pt"},n.PROP_STRING)],["thumbnailwidth",Object.assign({value:"100pt"},n.PROP_STRING)],["thumbnailurl",n.PROP_STRING]]))},f={widgetType:"wm-media-list",hostClass:"app-medialist"};!function(e){e.SINGLE_ROW="Single-row",e.MULTI_ROW="Multi-row"}(h||(h={}));var g=function(e){function t(t){var i=e.call(this,t,f)||this;return i.selectedMediaIndex=-1,n.styler(i.nativeElement,i,n.APPLY_STYLES_TYPE.SCROLLABLE_CONTAINER),i}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}p(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}(t,e),t.prototype.appendToBody=function(){var e=this;return this.$fullScreenEle||setTimeout((function(){e.$fullScreenEle=e.$element.find(">.app-media-fullscreen"),e.$fullScreenEle.appendTo("body")}),100),!0},t.prototype.onPropertyChange=function(t,n,o){"dataset"===t?this.onDataChange(n):"layout"===t?n===h.SINGLE_ROW?i.addClass(this.nativeElement,"singlerow"):i.removeClass(this.nativeElement,"singlerow"):e.prototype.onPropertyChange.call(this,t,n,o)},t.prototype.exitFullScreen=function(){this.selectedMediaIndex=-1,this.$fullScreenEle.appendTo(this.$element),this.$fullScreenEle=null,i.$appDigest()},t.prototype.getPicTitle=function(){return this.selectedMediaIndex+1+"/"+this.fieldDefs.length},t.prototype.showFullScreen=function(e){this.selectedMediaIndex=e,i.$appDigest()},t.prototype.showNext=function(){this.selectedMediaIndex<this.fieldDefs.length-1&&(this.selectedMediaIndex++,i.$appDigest())},t.prototype.getSrc=function(e){return e?this.fieldDefs[this.selectedMediaIndex][e]:""},t.prototype.showPrev=function(){this.selectedMediaIndex>0&&(this.selectedMediaIndex--,i.$appDigest())},t.prototype.onDataChange=function(e){e?(i.isObject(e)&&!i.isArray(e)&&(e=[e]),this.binddataset||i.isString(e)&&(e=e.split(",")),i.isArray(e)&&this.updateFieldDefs(e)):this.updateFieldDefs([])},t.prototype.updateFieldDefs=function(e){var t=this;this.fieldDefs=e,e.forEach((function(e){e.mediaUrlVal=n.getEvaluatedData(e,{field:t.mediaurl},t.viewParent),e.thumbnailUrlVal=n.getEvaluatedData(e,t.thumbnailurl,t.viewParent)})),this.fieldDefs=e},t.prototype.listTrackByFn=function(e){return e},t}(n.StylableComponent);g.initializeProps=m(),g.decorators=[{type:t.Component,args:[{selector:"[wmMediaList]",template:'<ul class="list-unstyled list-inline app-media-thumbnail">\n <li *ngFor="let item of fieldDefs; index as index;" [ngStyle]="{width: thumbnailwidth, height: thumbnailheight}" (click)="showFullScreen(index)">\n <div class="thumbnail">\n <ng-container [ngTemplateOutlet]="imgTemplate"\n [ngTemplateOutletContext]="{src: item.thumbnailUrlVal, class: \'thumbnail-image\'}">\n </ng-container>\n <div class="thumbnail-details">\n <ng-container [ngTemplateOutlet]="mediaListTemplate" [ngTemplateOutletContext]="{item:item, index:index}" [wmMediaListItem]="item">\n </ng-container>\n </div>\n </div>\n </li>\n</ul>\n<div class="app-media-fullscreen" *ngIf="selectedMediaIndex >= 0 && appendToBody()">\n <header wmMobileNavbar\n backbutton="true"\n backbtnclick.event="exitFullScreen()"\n showLeftnavbtn="false"\n backbuttoniconclass.event="wi wi-chevron-left"\n title.bind="getPicTitle()">\n </header>\n <div wmContent>\n <div wmPageContent>\n <div class="media-content">\n <div class="image-container" (swipeleft)="showNext()" (swiperight)="showPrev()">\n <ng-container [ngTemplateOutlet]="imgTemplate"\n [ngTemplateOutletContext]="{field: \'mediaUrlVal\', class: \'center-block\'}">\n </ng-container>\n <a class="app-media-fullscreen-nav-control left" [hidden]="!(selectedMediaIndex > 0)" (click)="showPrev()">\n <i class="wi wi-chevron-left"></i>\n </a>\n <a class="app-media-fullscreen-nav-control right" [hidden]="!(selectedMediaIndex < fieldDefs.length-1)" (click)="showNext()">\n <i class="wi wi-chevron-right"></i>\n </a>\n </div>\n </div>\n </div>\n </div>\n</div>\n\n<ng-template #imgTemplate let-src="src" let-classname="class" let-field="field">\n <img wmPicture class="{{classname}}" picturesource.bind="src || getSrc(field)" wmImageCache="{{offline}}" />\n</ng-template>\n',providers:[n.provideAsWidgetRef(g)]}]}],g.ctorParameters=function(){return[{type:t.Injector}]},g.propDecorators={mediaListTemplate:[{type:t.ContentChild,args:["mediaListTemplate"]}]};var v=[c,g],y=function(){};y.decorators=[{type:t.NgModule,args:[{imports:[l.BasicModule,o.CommonModule,r.BasicModule,a.MobileNavbarModule,s.PageModule,n.WmComponentsModule],declarations:d([],u(v)),exports:d([],u(v)),entryComponents:[]}]}],e.MediaListComponent=g,e.MediaListItemDirective=c,e.MediaListModule=y,e["\u0275a"]=m,Object.defineProperty(e,"__esModule",{value:!0})})),function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(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")):"function"==typeof define&&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"],t):t(((e="undefined"!=typeof globalThis?globalThis:e||self).wm=e.wm||{},e.wm.variables={}),e.wm_common_variables,e.wm.core,e.angularWebSocket,e.jmespath,e.ng.core,e.ng.router,e.wm.oAuth,e.wm.security,e.ng.common,e.ng.common.http,e.ngxToastr,e.wm.http)}(this,(function(e,t,n,i,o,r,a,s,l,c,p,u,d){"use strict";var h={hasCordova:void 0!==window.cordova,isStudioMode:!1,isRunMode:!0,XSRF_COOKIE_NAME:"wm_xsrf_token",DEFAULT_TIMER_DELAY:500,WIDGET_DOESNT_EXIST:"The widget you're trying to navigate to doesn't exist on this page"},m={CATEGORY:{MODEL:"wm.Variable",LIVE:"wm.LiveVariable",CRUD:"wm.CrudVariable",SERVICE:"wm.ServiceVariable",WEBSOCKET:"wm.WebSocketVariable",NAVIGATION:"wm.NavigationVariable",NOTIFICATION:"wm.NotificationVariable",TIMER:"wm.TimerVariable",LOGIN:"wm.LoginVariable",LOGOUT:"wm.LogoutVariable",DEVICE:"wm.DeviceVariable"},EVENTS:["onBefore","onBeforeUpdate","onResult","onBeforeOpen","onOpen","onBeforeMessageSend","onMessageReceive","onProgress","onError","onBeforeDatasetReady","onCanUpdate","onClick","onHide","onOk","onCancel","onBeforeClose","onClose","onTimerFire","onSuccess","onOnline","onOffline"],EVENT:{CAN_UPDATE:"onCanUpdate",BEFORE:"onBefore",BEFORE_UPDATE:"onBeforeUpdate",PREPARE_SETDATA:"onBeforeDatasetReady",RESULT:"onResult",ERROR:"onError",ABORT:"onAbort",PROGRESS:"onProgress",CLICK:"onClick",HIDE:"onHide",OK:"onOk",CANCEL:"onCancel",CLOSE:"onClose",TIMER_FIRE:"onTimerFire",SUCCESS:"onSuccess",BEFORE_OPEN:"onBeforeOpen",OPEN:"onOpen",BEFORE_SEND:"onBeforeMessageSend",MESSAGE_RECEIVE:"onMessageReceive",BEFORE_CLOSE:"onBeforeClose"},OWNER:{APP:"App",PAGE:"Page"},REST_SUPPORTED_SERVICES:["JavaService","SoapService","FeedService","RestService","SecurityServiceType","DataService","WebSocketService","OpenAPIService"],PAGINATION_PARAMS:["page","size","sort"],REST_SERVICE:{BASE_PATH_KEY:"x-WM-BASE_PATH",RELATIVE_PATH_KEY:"x-WM-RELATIVE_PATH",OAUTH_PROVIDER_KEY:"x-WM-PROVIDER_ID",AUTH_HDR_KEY:"Authorization",SECURITY_DEFN:{BASIC:"basic",OAUTH2:"oauth2"},AUTH_TYPE:{BASIC:"BASIC",OAUTH:"OAUTH2",NONE:"NONE"},CONTENT_TYPE_KEY:"x-WM-CONTENT_TYPE",ACCESSTOKEN_PLACEHOLDER:{LEFT:"",RIGHT:".access_token"},ERR_TYPE:{NO_ACCESSTOKEN:"missing_accesstoken",NO_CREDENTIALS:"no_credentials",METADATA_MISSING:"metadata_missing",CRUD_OPERATION_MISSING:"crud_operation_missing",USER_UNAUTHORISED:"user_unauthorised",REQUIRED_FIELD_MISSING:"required_field_missing"},ERR_MSG:{NO_ACCESSTOKEN:"Access token missing",NO_CREDENTIALS:"No credentials present",METADATA_MISSING:'Metadata missing for "$variable"',USER_UNAUTHORISED:"Unauthorized User",CRUD_OPERATION_MISSING:'Operation "$operation" not allowed for "$variable"',REQUIRED_FIELD_MISSING:'Required field(s) missing: "${0}"'},UNCLOAKED_HEADERS:["CONTENT-TYPE","ACCEPT","CONTENT-LENGTH","ACCEPT-ENCODING","ACCEPT-LANGUAGE"],PREFIX:{AUTH_HDR_VAL:{BASIC:"Basic",OAUTH:"Bearer"},CLOAK_HEADER_KEY:"X-WM-"}},SERVICE_TYPE:{JAVA:"JavaService",REST:"RestService",SOAP:"SoapService",FEED:"FeedService",DATA:"DataService",SECURITY:"SecurityServiceType",WEBSOCKET:"WebSocketService",OPENAPI:"OpenAPIService"},CONTROLLER_TYPE:{QUERY:"QueryExecution",PROCEDURE:"ProcedureExecution"},HTTP_STATUS_CODE:{CORS_FAILURE:-1,UNAUTHORIZED:401,FORBIDDEN:403},EXPORT_TYPES_MAP:{EXCEL:".xlsx",CSV:".csv"},DEFAULT_VAR:{NOTIFICATION:"appNotification"}},f={NON_BODY_HTTP_METHODS:["GET","HEAD"],CONTENT_TYPES:{FORM_URL_ENCODED:"application/x-www-form-urlencoded",MULTIPART_FORMDATA:"multipart/form-data",OCTET_STREAM:"application/octet-stream"}},g={WM_DATA_JSON:"wm_data_json",WM_HTTP_JSON:"wm_httpRequestDetails"},v=t.$rootScope,y=function(e,t){return(y=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(e,t)};function b(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}y(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}Object.create;function w(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var i,o,r=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(i=r.next()).done;)a.push(i.value)}catch(e){o={error:e}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(o)throw o.error}}return a}function P(e,t,n){if(n||2===arguments.length)for(var i,o=0,r=t.length;o<r;o++)!i&&o in t||(i||(i=Array.prototype.slice.call(t,0,o)),i[o]=t[o]);return e.concat(i||Array.prototype.slice.call(t))}Object.create;var O={EXCEL:".xlsx",CSV:".csv"};e.appManager=void 0,e.httpService=void 0,e.metadataService=void 0,e.navigationService=void 0,e.routerService=void 0,e.toasterService=void 0,e.oauthService=void 0,e.securityService=void 0,e.dialogService=void 0;var S=/^\[("|')[\w\W]*(\1)\]$/,E=new Map,T=new Map,R=function(e,t){var n,i,o=_.noop;T.has(e)&&(o=T.get(e).cancel),o(),n=_.debounce((function(){(i=e[t]())instanceof Promise&&i.catch(_.noop)}),100),T.set(e,n),n()},A=function(e,t,n,i,o){switch(i.category){case m.CATEGORY.LIVE:"read"===i.operation?("dataBinding"===e?_.forEach(t,(function(e,t){i.filterFields[t]={value:e}})):i.filterFields[e]={value:t,type:n},i.autoUpdate&&!_.isUndefined(t)&&_.isFunction(i.listRecords)&&!o&&R(i,"listRecords")):("dataBinding"===e?i.inputFields=t:i.inputFields[e]=t,i.autoUpdate&&!_.isUndefined(t)&&_.isFunction(i[i.operation+"Record"])&&!o&&R(i,i.operation+"Record"));break;case m.CATEGORY.CRUD:"list"===i.operationType&&i.autoUpdate&&!_.isUndefined(t)&&_.isFunction(i.invoke)&&!o&&R(i,"invoke");break;case m.CATEGORY.SERVICE:case m.CATEGORY.LOGIN:i.autoUpdate&&!_.isUndefined(t)&&_.isFunction(i.invoke)&&!o&&R(i,"invoke");break;case m.CATEGORY.DEVICE:i[e]=t,i.autoUpdate&&!_.isUndefined(t)&&_.isFunction(i.invoke)&&!o&&R(i,"invoke")}},C=function(t,n){switch(t){case"appManager":e.appManager=n;break;case"http":e.httpService=n;break;case"metadata":e.metadataService=n;break;case"navigationService":e.navigationService=n;break;case"router":e.routerService=n;break;case"toaster":e.toasterService=n;break;case"oAuth":e.oauthService=n;break;case"security":e.securityService=n;break;case"dialog":e.dialogService=n}},I=function(e,t,i,o,r){var a,s=t[e],l=t._context;e!==m.EVENT.ERROR||r||s||(a=l.Actions[m.DEFAULT_VAR.NOTIFICATION])&&(i=a.getMessage()||i,i=_.isString(i)?i:"An error has occured. Please check the app logs.",a.invoke({message:i},void 0,void 0));var c=n.$parseEvent(t[e]);return e===m.EVENT.BEFORE_UPDATE?"wm.LiveVariable"===t.category&&"read"===t.operation?c(t._context,{variable:t,dataFilter:i,options:o}):c(t._context,{variable:t,inputData:i,options:o}):c(t._context,{variable:t,data:i,options:o})},D=function(e){setTimeout((function(){n.triggerFn(e)}),500)},N=function(e,t,i,o){var r,a,s,l,c,p="",u=t.get("Content-Disposition");if(u&&-1!==u.indexOf("attachment")&&null!==(r=/filename[^;=\n]*=((['"]).*?\2|[^;\n]*)/.exec(u))&&r[1]&&(p=r[1].replace(/['"]/g,"")),a=t.get("Content-Type"),s=new Blob([e],{type:a}),void 0!==window.navigator.msSaveBlob)window.navigator.msSaveBlob(s,p)?D(i):n.triggerFn(o);else{if(l=window.URL||window.webkitURL,c=l.createObjectURL(s),p){var d,h=document.createElement("a");void 0===h.download?((d=new FileReader).onloadend=function(){var e=d.result.replace(/^data:[^;]*;/,"data:attachment/file;");window.open(e,"_blank")||(window.location.href=e)},d.onload=D.bind(void 0,i),d.onerror=o,d.readAsDataURL(s)):(h.href=c,h.download=p,document.body.appendChild(h),h.click(),D(i))}else window.open(c,"_blank")||(window.location.href=c),D(i);setTimeout((function(){l.revokeObjectURL(c)}),100)}},x=function(e,t){e=_.split(e,"&"),_.forEach(e,(function(e){e=_.split(e,"="),t[e[0]]=decodeURIComponent(_.join(_.slice(e,1),"="))}))},k=function(e,t){"/"===e.url[1]&&"/"===e.url[2]&&(e.url=e.url.slice(0,1)+e.url.slice(2));var i,o,r,a="",s="fileDownloadIFrame",l="fileDownloadForm",c="Content-Type",p=e.url,u=_.get(e.headers,c),d=_.pickBy(e.headers,(function(e,t){return t!==c}));(i=$("#"+s)).length&&i.first().remove(),i=$('<iframe id="'+s+'" name="'+s+'" class="ng-hide"></iframe>'),(o=$('<form id="'+l+'" name="'+l+'"></form>')).attr({target:i.attr("name"),action:p,method:e.method,enctype:u}),a+=-1!==p.indexOf("?")?p.substring(p.indexOf("?")+1):"",a+=u===f.CONTENT_TYPES.FORM_URL_ENCODED?(a?"&":"")+e.dataParams:"",_.includes(f.NON_BODY_HTTP_METHODS,_.toUpper(e.method))&&x(a,d),x(e.data,d),_.forEach(d,(function(e,t){(r=$('<input type="hidden">')).attr({name:t,value:e}),o.append(r)})),$("body").append(i),setTimeout((function(){i.contents().find("body").append(o),o.submit(),n.triggerFn(t)}),100)},M=function(t,i,o){var r=t.url,a=t.method,s=t.dataParams||t.data,l=t.headers;l["Content-Type"]=l["Content-Type"]||"application/x-www-form-urlencoded",e.httpService.send({target:"WebService",action:"invokeRuntimeRestCall",method:a,url:r,headers:l,data:s,responseType:"arraybuffer"}).then((function(e){setTimeout((function(){N(e.body,e.headers,i,o)}),900)}),(function(e){n.triggerFn(o,e)}))},L=function(){return!!h.hasCordova&&localStorage.getItem(h.XSRF_COOKIE_NAME)},F=function(e,t,i){var o,r=e.target,a=i[t];return S.test(r)?o=a:(r=r.substr(0,r.lastIndexOf(".")),o=e.target===t?i:r?n.findValueOf(a,r,!0):a),o},j=function(e){return S.test(e)?e.replace(/^(\[["'])|(["']\])$/g,""):e.split(".").pop()},B=function(e,t,n,i,o,r){var a=j(e),s=F(t,n,i);o=_.isUndefined(o)?t.value:o,s&&(s[a]=o),A(a,o,t.type,i,r)},G=function(e,t,n){var i,o=_.keys(_.get(E.get(n),[n.name,t])),r=j(e);(i=_.filter(o,(function(e){return e!==r&&_.includes(e,r)||(r===t||"dataBinding"===r)&&e!==r}))).length&&_.forEach(i,(function(e){B(e,{target:e},t,n,_.get(E.get(n),[n.name,t,e]))}))},V=function(e,t,i,o){var r=e.target,a=F(e,i,o),s=j(r),l=t.registerDestroyListener?t.registerDestroyListener.bind(t):_.noop;if(n.stringStartsWith(e.value,"bind:")){l(n.$watch(e.value.replace("bind:",""),t,{},(function(t,l){t===l&&_.isUndefined(t)||!(!_.isUndefined(t)||_.isUndefined(l)&&_.isUndefined(a[s]))||(_.includes(["blob","file"],e.type)||(t=n.getClonedObject(t)),B(r,e,i,o,t),E.has(o)||E.set(o,{}),_.set(E.get(o),[o.name,i,r],t),_.isObject(t)&&G(r,i,o))}),void 0,void 0,void 0,(function(){return o.isMuted})))}else _.isUndefined(e.value)||(B(r,e,i,o,e.value,!0),i!==s&&(E.has(o)||E.set(o,{}),_.set(E.get(o),[o.name,i,r],e.value)))},U=function(e,t,n,i){i=i||"dataBinding";var o=e[n=n||"dataBinding"];e[n]={},e["_bind"+n]=o,o&&_.isArray(o)&&o.forEach((function(n){"wm.Variable"===e.category&&"dataBinding"===n.target&&(n.target="dataSet"),V(n,t,i,e)}))},W=function(t,n,i,o,r){if(h.hasCordova){var a=void 0;i&&(a=O[i]),e.appManager.notify("device-file-download",{url:t.url,name:n,extension:a,headers:t.headers,successCb:o,errorCb:r})}else!_.isEmpty(t.headers)||L()?M(t,o,r):k(t,o)},q=function(){return window.File&&window.FileReader&&window.FileList&&window.Blob},z=R,H=function(e){return n.DEFAULT_FORMATS[_.toUpper(e)]},Y=function(t,i){var o;return _.isDate(t)?o=t.getTime():(isNaN(t)||(t=parseInt(t,10)),o=t&&moment(t).valueOf()),isNaN(o)&&i!==n.DataType.TIME||i===n.DataType.TIMESTAMP?o:(i!==n.DataType.TIME||o||(o=moment((new Date).toDateString()+" "+t).valueOf()),t&&e.appManager.getPipe("date").transform(o,H(i)))},K=function(e,t){return _.includes(t,".")&&(t=_.toLower(n.extractType(t))),_.isArray(e)?_.map(e,(function(e){return Y(e,t)})):Y(e,t)};var Q=function(){function t(){}return t.prototype.initBinding=function(e,t,n){U(e,e._context,t,n)},t.prototype.notifyInflight=function(t,n,i){e.appManager.notify("toggle-variable-state",{variable:t,active:n,data:i})},t}(),X=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return b(i,t),i.prototype.invoke=function(t,i){!function(t,i){var o;t.dataSet=i&&i.data||t.dataSet;var r=t.dataBinding.pageName||t.pageName,a=t.operation,s=_.clone(t.dataSet),l=_.isNil(null==i?void 0:i.cacheable)?t.cacheable:i.cacheable;switch(i=i||{},_.isNil(l)||n.isString(l)&&""===l.trim()||(s._cache_page=l),a){case"goToPreviousPage":e.navigationService.goToPrevious();break;case"gotoPage":e.navigationService.goToPage(r,{transition:t.pageTransitions,$event:i.$event,urlParams:s,cacheable:t.cacheable});break;case"gotoView":o=t.dataBinding&&t.dataBinding.viewName||t.viewName;break;case"gotoTab":o=t.dataBinding&&t.dataBinding.tabName||t.tabName;break;case"gotoAccordion":o=t.dataBinding&&t.dataBinding.accordionName||t.accordionName;break;case"gotoSegment":o=t.dataBinding&&t.dataBinding.segmentName||t.segmentName}o&&e.navigationService.goToView(o,{pageName:r,transition:t.pageTransitions,$event:i.$event,urlParams:s},t)}(t,i)},i}(Q),J=function(t){function n(){return null!==t&&t.apply(this,arguments)||this}return b(n,t),n.prototype.onToasterClick=function(e){I("onClick",e,"")},n.prototype.onToasterHide=function(e){I("onHide",e,"")},n.prototype.notifyViaToaster=function(t,n){var i,o=(n.class||t.dataBinding.class||"info").toLowerCase(),r=n.message||t.dataBinding.text,a=n.title,s="toast-"+(n.position||t.dataBinding.toasterPosition||"bottom right").replace(" ","-"),l=t.dataBinding.page,c=parseInt(n.duration||t.dataBinding.duration,null);c||(c=0!==c&&"success"===o?3e3:0),i=t.dataBinding.content&&"page"===t.dataBinding.content&&l?e.toasterService.showCustom(l,{positionClass:s,timeOut:c,partialParams:t._binddataSet,context:t._context}):e.toasterService.show(o,a,r||null,{positionClass:s,timeOut:c,enableHtml:!0}),t.onClick&&i.onTap.subscribe(this.onToasterClick.bind(this,t)),t.onHide&&i.onHidden.subscribe(this.onToasterHide.bind(this,t))},n.prototype.notifyViaDialog=function(t,n){var i="Common"+_.capitalize(t.operation)+"Dialog",o=function(){return I("onOk",t,n.data)};e.dialogService.open(i,void 0,{notification:{title:n.title||t.dataBinding.title,text:n.message||t.dataBinding.text,okButtonText:n.okButtonText||t.dataBinding.okButtonText||"OK",cancelButtonText:n.cancelButtonText||t.dataBinding.cancelButtonText||"CANCEL",alerttype:n.alerttype||t.dataBinding.alerttype||"information",onOk:function(){e.dialogService.close(i,void 0,o)},onCancel:function(){I("onCancel",t,n.data),e.dialogService.close(i,void 0)},onClose:function(){I("onClose",t,n.data)}}})},n.prototype.notify=function(e,t,n,i){t=t||{},"toast"===e.operation?this.notifyViaToaster(e,t):this.notifyViaDialog(e,t)},n.prototype.getMessage=function(e){return e.dataBinding.text},n.prototype.setMessage=function(e,t){return _.isString(t)&&(e.dataBinding.text=t),e.dataBinding.text},n.prototype.getOkButtonText=function(e){return e.dataBinding.okButtonText},n.prototype.setOkButtonText=function(e,t){return _.isString(t)&&(e.dataBinding.okButtonText=t),e.dataBinding.okButtonText},n.prototype.getToasterDuration=function(e){return e.dataBinding.duration},n.prototype.setToasterDuration=function(e,t){return e.dataBinding.duration=t,e.dataBinding.duration},n.prototype.getToasterClass=function(e){return e.dataBinding.class},n.prototype.setToasterClass=function(e,t){return _.isString(t)&&(e.dataBinding.class=t),e.dataBinding.class},n.prototype.getToasterPosition=function(e){return e.dataBinding.class},n.prototype.setToasterPosition=function(e,t){return _.isString(t)&&(e.dataBinding.position=t),e.dataBinding.position},n.prototype.getAlertType=function(e){return e.dataBinding.alerttype},n.prototype.setAlertType=function(e,t){return _.isString(t)&&(e.dataBinding.alerttype=t),e.dataBinding.alerttype},n.prototype.getCancelButtonText=function(e){return e.dataBinding.cancelButtonText},n.prototype.setCancelButtonText=function(e,t){return _.isString(t)&&(e.dataBinding.cancelButtonText=t),e.dataBinding.cancelButtonText},n}(Q),Z=function(){function t(){}return t.prototype.initBinding=function(e,t,n){U(e,e._context,t,n)},t.prototype.notifyInflight=function(t,n,i,o){e.appManager.notify("toggle-variable-state",{variable:t,active:n,data:i,options:o})},t.prototype.setRequestTrackId=function(e,t){var n,i=null===(n=null==e?void 0:e.headers)||void 0===n?void 0:n.get("x-wm-request-track-id");i&&(t._requestTrackId=i)},t.prototype.httpCall=function(t,n,i){var o=this;return new Promise((function(r,a){n._observable=e.httpService.sendCallAsObservable(t,i).subscribe((function(e){e&&e.type&&(o.setRequestTrackId(e,n),r(e))}),(function(t){o.setRequestTrackId(t,n),e.httpService.isPlatformSessionTimeout(t)?(o.notifyInflight(n,!1,t),t._401Subscriber.asObservable().subscribe((function(e){return r(e)}),(function(e){return a(e)}))):a(t)}))}))},t.prototype.prepareCallbackOptions=function(e,t){var n={};return n.xhrObj=e,t&&_.extend(n,t),n},t}(),ee=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return b(i,t),i.prototype.validate=function(e){var t,n,i;for(n in["rememberme","remembermecheck"].forEach((function(t){_.isBoolean(e[t])&&(i=t)})),e[i=i||"j_rememberme"]=!!_.isBoolean(e[i])&&e[i],e)if(e.hasOwnProperty(n)&&(""===e[n]||void 0===e[n])){t="Please provide required credentials";break}return t},i.prototype.migrateOldParams=function(e){var t={},n={usernametext:"j_username",username:"j_username",passwordtext:"j_password",password:"j_password",remembermecheck:"j_rememberme",rememberme:"j_rememberme"};return _.each(e,(function(e,i){n[i]?t[n[i]]=e:t[i]=e})),t},i.prototype.redirectToAppBasePath=function(){e.routerService.navigate(["/"]).then((function(e){e&&window.location.reload()}))},i.prototype.login=function(t,i,o,r){var a,s=this,l=(i=i||{}).loginInfo||i.input||t.dataBinding,c=this.validate(l);if(c)return n.triggerFn(r,c),void I("onError",t,c);var p=n.getClonedObject(l),u=I(m.EVENT.BEFORE_UPDATE,t,p);if(_.isObject(u))p=u;else if(!1===u)return void n.triggerFn(r);p=this.migrateOldParams(p);var d=_.get(e.securityService.get(),"userInfo.userName");this.notifyInflight(t,!0),t.promise=e.securityService.appLogin(p,(function(i){e.dialogService.close("CommonLoginDialog"),e.appManager.reloadAppData().then((function(r){I(m.EVENT.RESULT,t,_.get(r,"userInfo")),(a=I(m.EVENT.PREPARE_SETDATA,t,_.get(r,"userInfo")))&&_.set(r,"userInfo",a),s.notifyInflight(t,!1,i),n.triggerFn(o),setTimeout((function(){if(I(m.EVENT.SUCCESS,t,_.get(r,"userInfo")),t.useDefaultSuccessHandler){var n=d===p.j_username;d&&!n||e.appManager.executeSessionFailureRequests();var i=e.securityService.getCurrentRouteQueryParam("redirectTo"),o=e.appManager.noRedirect(),a=e.securityService.getRedirectedRouteQueryParams();if(a.redirectTo&&delete a.redirectTo,e.appManager.noRedirect(!1),d)if(_.isEmpty(i)){var l=e.securityService.get(),c=_.get(l,"loginConfig.sessionTimeout.type")||"PAGE";n&&"DIALOG"===c||s.redirectToAppBasePath()}else d===p.j_username?e.routerService.navigate(["/"+i],{queryParams:a}):s.redirectToAppBasePath();else _.isEmpty(i)?o||e.routerService.navigate(["/"]):e.routerService.navigate(["/"+i],{queryParams:a})}I(m.EVENT.CAN_UPDATE,t,_.get(r,"userInfo"))}))}))}),(function(e){I(m.EVENT.RESULT,t,e),s.notifyInflight(t,!1,e);var i=e.error||"Invalid credentials.",o=e.details;h.isRunMode&&I("onError",t,i,o,!0),n.triggerFn(r,i,o),I(m.EVENT.CAN_UPDATE,t,e)}))},i}(Q),te=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return b(i,t),i.prototype.logout=function(t,i,o,r){var a,s,l,c=this;a=function(e,i,o){h.isStudioMode||I("onError",t,e,o),n.triggerFn(r,e,o)},!1!==I(m.EVENT.BEFORE_UPDATE,t,null)?e.securityService.isAuthenticated((function(i){i?(c.notifyInflight(t,!0),t.promise=e.securityService.appLogout((function(i){var r=i.body;r=n.getValidJSON(r),e.appManager.reloadAppData().then((function(){c.notifyInflight(t,!1,r),I(m.EVENT.RESULT,t,r),(l=I(m.EVENT.PREPARE_SETDATA,t,r))&&(r=l),setTimeout((function(){I(m.EVENT.SUCCESS,t,r),I(m.EVENT.CAN_UPDATE,t,r)}))})),r&&r.result?window.location.href=r.result:t.useDefaultSuccessHandler&&((s=t.redirectTo)&&"login.html"!==s&&"index.html"!==s||(s=""),e.routerService.navigate(["/"+s]),window.cordova||setTimeout((function(){window.location.reload()}))),n.triggerFn(o)}),a)):a("No authenticated user to logout.")}),(function(e){c.notifyInflight(t,!1,e),a(e)})):n.triggerFn(r)},i}(Q),ne=function(e){function t(){var t=e.apply(this,P([],w(arguments)))||this;return t.serviceRegistry=new Map,t}return b(t,e),t.prototype.invoke=function(e,t){var n=this,i=this.serviceRegistry.get(e.service);return null==i?(I("onError",e,null),Promise.reject("Could not find service '"+i+"'")):(this.notifyInflight(e,!0),i.invoke(e,t).then((function(t){return n.notifyInflight(e,!1,t),t}),(function(t){return n.notifyInflight(e,!1,t),Promise.reject(t)})))},t.prototype.registerService=function(e){this.serviceRegistry.set(e.name,e)},t}(Z),ie=function(){function e(){}return e.setPaginationQueryParams=function(e,t,n){t.parameters.forEach((function(t){var i;i="offset"===n.type||n.input.offset?"offset":"page",t.name===n.input[i].split(".")[0]?t.sampleValue=e.pagination.page:t.name===n.input.size.split(".")[0]&&(t.sampleValue=e.pagination.size)}))},e.setVariablePagination=function(e,t,n){e.pagination||(e.pagination={empty:!1}),e.pagination.size=t.size,e.pagination.page=t.page||0,e.pagination.totalElements=t.totalElements,e.pagination.numberOfElements=e.pagination.size,e.pagination.number=n.page?n.page-1:0,e.pagination.totalPages=e.pagination.totalElements/e.pagination.size,e.pagination.totalElements%e.pagination.size==0?e.pagination.totalPages=parseInt(e.pagination.totalPages):e.pagination.totalPages=parseInt(e.pagination.totalPages)+1,t.next?(e.pagination.next=t.next,e.pagination.prev=t.prev,e.pagination.last=!t.next,e.pagination.first=!t.prev):(e.pagination.first=e.pagination.page<=1,e.pagination.last=""===t.hasMoreItems?!(e.pagination.page<e.pagination.totalPages):!t.hasMoreItems)},e.setPaginationItems=function(e,t,n,i,r){var a;if(_.startsWith(e,"$body")){var s=e.replace("$body.","");try{n[i]=o.jmespath.search(t,s)}catch(t){console.warn(e+" expression needs to be corrected as per JMES guidelines")}}else if(_.startsWith(e,"$header")){var l=e.replace("$header.",""),c=Object.fromEntries(r.headers),p=l.split(".");try{n[i]=o.jmespath.search(c,p[0].toLowerCase())}catch(t){console.warn(e+" expression needs to be corrected as per JMES guidelines")}if(null===(a=n[i])||void 0===a?void 0:a.length){var u=n[i].join();if(1===p.length)n[i]=u;else{var d=p.slice(1).join("."),h=JSON.parse(u);/[!@#$%^&*()+\=\[\]{};':"\\|,<>\/?]+/.test(d)&&(d="headerResp."+d);try{n[i]=o.jmespath.search(h,d)}catch(t){console.warn(e+" expression needs to be corrected as per JMES guidelines")}}}}},e.getPaginationInfo=function(e,t){return(null==e?void 0:e.paginationInfo)?e.paginationInfo:t._paginationConfig},e.checkPaginationAtQuery=function(e,t,n){var i,o=this.getPaginationInfo(e,t);if(n&&n.page&&(null==o?void 0:o.input.size)&&t.pagination){var r;r="offset"===o.type||o.input.offset?"offset":"page";var a=o.input[r].split(".")[0],s=_.find(e.parameters,(function(e){return e.name===a}));!_.isEmpty(t.dataBinding)&&s&&"query"===s.parameterType&&((null===(i=o.output)||void 0===i?void 0:i.page)||"offset"===o.type?t.pagination.page=this.getOffsetInfo(t,n):t.pagination.page=n.page,this.setPaginationQueryParams(t,e,o))}},e.getOffsetInfo=function(e,t){return e.pagination.size*(t.page?t.page-1:1)},e.setPaginationAtReq=function(e,t,n,i,o,r,a){var s,l={},c={};s="offset"===e.type||e.input.offset?"offset":"page";var p=e.input[s].split(".")[0],u=_.find(t.parameters,(function(e){return e.name===p}));if("header"===(null==u?void 0:u.parameterType))_.set(l,e.input[s],n.pagination.page),_.set(l,e.input.size,n.pagination.size),i[p]=JSON.stringify(l[p]),c.headers=i;else if("body"===(null==u?void 0:u.parameterType)){var d=JSON.parse(u.sampleValue),h=e.input[s].split(".")[1];if(d&&d[h]){var m=e.input[s].split(".").splice(1).join(".");"offset"!==s?_.set(l,m,n.pagination.page):_.set(l,m,this.getOffsetInfo(n,a)),_.set(l,e.input.size.split(".").splice(1).join("."),n.pagination.size),d[h]=l[h],o=JSON.stringify(d),c.requestBody=o}}else if(n.pagination.next&&u)if("path"===u.parameterType){var f=t.relativePath.split("/"),g="{"+u.name+"}",v=f.indexOf(g),y=void 0;y=n.pagination.isNext?n.pagination.next.split("/"):n.pagination.prev.split("/");var b=void 0,w=void 0;t.directPath?((b=(w=new URL(r)).pathname.split("/"))[v]=y[v],w.pathname=b.join("/"),r=w.href,c.url=r):((b=r.split("/"))[v+1]=y[v],r=b.join("/"),c.url=r)}else if("query"===u.parameterType){f=r.split("?"),y=void 0;y=n.pagination.isNext?n.pagination.next.split("?"):n.pagination.prev.split("?"),f[1]=y[1],r=f.join("?"),c.url=r}return c},e.setParameterVal=function(e,t,n,i){var o=this.getPaginationInfo(n,i).input[e].split(".")[0],r=_.find(n.parameters,(function(e){return e.name===o}));t[e]=_.result(r,"sampleValue")},e.generatePaginationRes=function(e,t,n,i,o,r){var a={},s=t.output;if(null==s?void 0:s.next)s&&(this.setPaginationItems(s.next,n,a,"next",i),this.setPaginationItems(s.prev,n,a,"prev",i));else{if((null==s?void 0:s.size)?this.setPaginationItems(s.size,n,a,"size",i):this.setParameterVal("size",a,e,r),(null==s?void 0:s.page)?this.setPaginationItems(s.page,n,a,"page",i):"offset"!==t.type&&this.setParameterVal("page",a,e,r),_.startsWith(null==s?void 0:s.totalElements,"$minValue")){var l=s.totalElements.replace("$minValue=",""),c=a.page?a.page:o.page,p=a.size*c;!r.pagination||r.pagination.totalElements>p?a.totalElements=parseInt(l):a.totalElements=p+1}else(null==s?void 0:s.totalElements)?this.setPaginationItems(s.totalElements,n,a,"totalElements",i):"offset"===t.type||t.input.offset?a.totalElements=a.size*(o.page?o.page:1)+1:a.totalElements=a.size*a.page+1;(null==s?void 0:s.hasMoreItems)?this.setPaginationItems(s.hasMoreItems,n,a,"hasMoreItems",i):a.hasMoreItems=""}return a},e}(),oe=function(e){return _.includes(["QueryExecution","ProcedureExecution"],e.controller)&&_.includes(["put","post"],e.operationType)},re=function(e,t){return e===m.CONTROLLER_TYPE.QUERY&&t===m.SERVICE_TYPE.DATA},ae=function(e,t,i){var o=_.toLower(n.extractType(_.get(t,"items.type")||t.type)),r=h.isStudioMode?t["x-WM-CONTENT_TYPE"]:t.contentType;if(q())return"file"===o||"string"!==r&&r?_.isArray(i)&&"file"===o?_.forEach(i,(function(i){e.append(t.name,i&&i.content||n.getBlob(i),i.name)})):e.append(t.name,n.getBlob(i,r),i&&i.name):(_.isObject(i)&&(i=JSON.stringify(i)),e.append(t.name,i)),e},se=function(e,t){var i,o={},r=[];return _.forEach(t,(function(t){i=_.get(e,t.name),_.isUndefined(i)||""===i||null===i||t.readOnly?t.required&&r.push(t.name||t.id):(i=n.isDateTimeType(t.type)?K(i,t.type):i,_.isArray(i)&&"string"===_.toLower(n.extractType(t.type))&&(i=_.join(i,",")),o[t.name]=i)})),{requestBody:o,missingParams:r}},le=function(e){var t={},n=m.REST_SERVICE.UNCLOAKED_HEADERS,i=m.REST_SERVICE.PREFIX.CLOAK_HEADER_KEY;return _.forEach(e,(function(e,o){_.includes(n,o.toUpperCase())?t[o]=e:t[i+o]=e})),t},ce=function(){function t(){}return t.constructRequestParams=function(t,i,o,r){if(t=t||{},null===i)return{error:{type:m.REST_SERVICE.ERR_TYPE.USER_UNAUTHORISED,message:m.REST_SERVICE.ERR_MSG.USER_UNAUTHORISED,field:"_wmServiceOperationInfo"}};if(_.isEmpty(i))return{error:{type:m.REST_SERVICE.ERR_TYPE.METADATA_MISSING,message:m.REST_SERVICE.ERR_MSG.METADATA_MISSING,field:"_wmServiceOperationInfo"}};if(i&&i.invalid)return{error:{type:m.REST_SERVICE.ERR_TYPE.CRUD_OPERATION_MISSING,message:m.REST_SERVICE.ERR_MSG.CRUD_OPERATION_MISSING,field:"_wmServiceOperationInfo"}};var a,s,l,c,p,u,d,y,b,w,P,O,S,E,T,R,A,C=i.directPath||"",I=i.basePath?i.basePath+i.relativePath:i.relativePath,D=oe(t),N="",x={},k=[],M=null;function L(){return b||(b=new FormData)}if(S=_.get(i.securityDefinitions,"0"))switch(S.type){case m.REST_SERVICE.SECURITY_DEFN.OAUTH2:if(R=S[m.REST_SERVICE.OAUTH_PROVIDER_KEY],A=null,!(E=e.oauthService.getAccessToken(R,A)))return{error:{type:m.REST_SERVICE.ERR_TYPE.NO_ACCESSTOKEN,message:m.REST_SERVICE.ERR_MSG.NO_ACCESSTOKEN},securityDefnObj:S};x[m.REST_SERVICE.AUTH_HDR_KEY]=m.REST_SERVICE.PREFIX.AUTH_HDR_VAL.OAUTH+" "+E;break;case m.REST_SERVICE.SECURITY_DEFN.BASIC:if(u=o.wm_auth_username,d=o.wm_auth_password,!u||!d)return{error:{type:m.REST_SERVICE.ERR_TYPE.NO_CREDENTIALS,message:m.REST_SERVICE.ERR_MSG.NO_CREDENTIALS},securityDefnObj:S};x[m.REST_SERVICE.AUTH_HDR_KEY]=m.REST_SERVICE.PREFIX.AUTH_HDR_VAL.BASIC+" "+btoa(u+":"+d),M={type:m.REST_SERVICE.AUTH_TYPE.BASIC}}if(ie.checkPaginationAtQuery(i,t,r),i.proxySettings=i.proxySettings||{web:!0,mobile:!1},y=i.httpMethod||i.methodType,w=h.hasCordova?i.proxySettings.mobile:i.proxySettings.web,T=i.proxySettings.withCredentials,l=w?I:C,_.forEach(i.parameters,(function(e){function r(){o?(P=o[e.name]&&_.isObject(o[e.name])?o[e.name]:o,O=_.get(i,["definitions",e.type])):(P=c||{},O=e.children)}var c=e.sampleValue;if(n.isDefined(c)&&null!==c&&""!==c||D&&"file"!==e.type)switch(t.serviceType===m.SERVICE_TYPE.DATA&&n.isDateTimeType(e.type)&&(c=K(c,e.type)),_.isArray(c)&&"string"===_.toLower(n.extractType(e.type))&&t.serviceType===m.SERVICE_TYPE.DATA&&(c=_.join(c,",")),e.parameterType.toUpperCase()){case"QUERY":if(_.isNull(c)&&re(t.controller,t.serviceType))break;N?N+="&"+e.name+"="+encodeURIComponent(c):N="?"+e.name+"="+encodeURIComponent(c);break;case"PATH":p=new RegExp("\\s*\\{\\s*"+e.name+"(:\\.\\+)?\\s*\\}\\s*"),l=l.replace(p,c);break;case"HEADER":x[e.name]=c;break;case"BODY":D?(r(),a=se(P,O),s=a.requestBody,k=_.concat(k,a.missingParams)):s=c;break;case"FORMDATA":D&&e.name===g.WM_DATA_JSON?(r(),a=se(P,O),s=ae(L(),e,a.requestBody),k=_.concat(k,a.missingParams)):s=ae(L(),e,c)}else e.required&&k.push(e.name||e.id)})),k.length)return{error:{type:m.REST_SERVICE.ERR_TYPE.REQUIRED_FIELD_MISSING,field:k.join(","),message:n.replace(m.REST_SERVICE.ERR_MSG.REQUIRED_FIELD_MISSING,[k.join(",")]),skipDefaultNotification:!0}};_.includes(f.NON_BODY_HTTP_METHODS,_.toUpper(y))||i.consumes&&i.consumes[0]===f.CONTENT_TYPES.MULTIPART_FORMDATA||(x["Content-Type"]=i.consumes&&i.consumes[0]||"application/json"),_.includes(i.consumes,f.CONTENT_TYPES.FORM_URL_ENCODED)&&!_.includes(f.NON_BODY_HTTP_METHODS,(y||"").toUpperCase())?(N&&(s=(s?s+"&":"")+N.substring(1)),x["Content-Type"]=f.CONTENT_TYPES.FORM_URL_ENCODED):l+=N,w&&(x=t.serviceType!==m.SERVICE_TYPE.REST&&t.serviceType!==m.SERVICE_TYPE.OPENAPI||i.skipCloakHeaders?x:le(x),t.getPrefabName()&&-1!==m.REST_SUPPORTED_SERVICES.indexOf(t.serviceType)?(l="prefabs/"+t.getPrefabName()+l,c="invokePrefabRestService"):t.getPrefabName()||(l="services"+l),l=v.project.deployedUrl+l);var F=ie.getPaginationInfo(i,t);if(F&&t.pagination){var j=ie.setPaginationAtReq(F,i,t,x,s,l,r);j&&(j.headers?x=j.headers:j.requestBody?s=j.requestBody:j.url&&(l=j.url))}return{projectID:v.project.id,url:l,target:c,method:y,headers:x,data:s,authDetails:M,isDirectCall:!w,isExtURL:t.serviceType===m.SERVICE_TYPE.REST,withCredentials:T}},t.isFileUploadRequest=function(e){return"FileService"===e.service&&"uploadFile"===e.operation},t.excludePaginationParams=function(e){return _.map(_.reject(e,(function(e){return _.includes(m.PAGINATION_PARAMS,e.name)})),(function(e){return e.name}))},t}(),pe=function(t){function o(){var e=t.apply(this,P([],w(arguments)))||this;return e.scope_var_socket_map=new Map,e.PROPERTY={SERVICE:"service",DATA_UPDATE_STRATEGY:"dataUpdateStrategy",DATA_LIMIT:"dataLimit"},e.DATA_UPDATE_STRATEGY={REFRESH:"refresh",PREPEND:"prepend",APPEND:"append"},e}return b(o,t),o.prototype.shouldAppendData=function(e){return(e=e||this)[this.PROPERTY.DATA_UPDATE_STRATEGY]!==this.DATA_UPDATE_STRATEGY.REFRESH},o.prototype.shouldAppendLast=function(e){return e[this.PROPERTY.DATA_UPDATE_STRATEGY]===this.DATA_UPDATE_STRATEGY.APPEND},o.prototype.getDataLimit=function(e){return e.dataLimit},o.prototype.getURL=function(t){var n,i=t.getPrefabName(),o=i?_.get(e.metadataService.getByOperationId(t.operationId,i),"wmServiceOperationInfo"):_.get(e.metadataService.getByOperationId(t.operationId),"wmServiceOperationInfo"),r=t.dataBinding;if(_.forEach(o.parameters,(function(e){e.sampleValue=r[e.name]})),$.extend(o,{skipCloakHeaders:!0}),!(n=ce.constructRequestParams(t,o,r)).error||!n.error.message)return n.url;this._onSocketError(t,{data:n.error.message})},o.prototype._onSocketMessage=function(e,t){var i,o,r,a,s,l=_.get(t,"data");l=n.getValidJSON(l)||n.xmlToJson(l)||l,i=I(m.EVENT.MESSAGE_RECEIVE,e,l,t),l=n.isDefined(i)?i:l,this.shouldAppendData(e)?(e.dataSet=e.dataSet||[],o=e.dataSet.length,r=this.getDataLimit(e),a=this.shouldAppendLast(e),r&&o>=r&&(a?e.dataSet.shift():e.dataSet.pop()),s=a?o:0,e.dataSet.splice(s,0,l)):e.dataSet=n.isDefined(i)?i:l},o.prototype._onBeforeSend=function(e,t){return I(m.EVENT.BEFORE_SEND,e,t)},o.prototype._onBeforeSocketClose=function(e,t){return I(m.EVENT.BEFORE_CLOSE,e,_.get(t,"data"),t)},o.prototype._onBeforeSocketOpen=function(e,t){return I(m.EVENT.BEFORE_OPEN,e,_.get(t,"data"),t)},o.prototype._onSocketOpen=function(e,t){e._socketConnected=!0,I(m.EVENT.OPEN,e,_.get(t,"data"),t)},o.prototype.freeSocket=function(e){this.scope_var_socket_map.set(e,void 0)},o.prototype._onSocketClose=function(e,t){e._socketConnected=!1,this.freeSocket(e),I(m.EVENT.CLOSE,e,_.get(t,"data"),t)},o.prototype._onSocketError=function(e,t){e._socketConnected=!1,this.freeSocket(e),I(m.EVENT.ERROR,e,_.get(t,"data")||"Error while connecting with "+e.service,t)},o.prototype.getSocket=function(e){var t=this.getURL(e),o=this.scope_var_socket_map.get(e);return o||(h.hasCordova||!n.isInsecureContentRequest(t)?((o=new i.$WebSocket(t)).onOpen(this._onSocketOpen.bind(this,e)),o.onError(this._onSocketError.bind(this,e)),o.onMessage(this._onSocketMessage.bind(this,e)),o.onClose(this._onSocketClose.bind(this,e)),this.scope_var_socket_map.set(e,o),e._socket=o,o):void n.triggerFn(this._onSocketError.bind(this,e)))},o.prototype.open=function(e,t,i){var o;if(!1!==this._onBeforeSocketOpen(e))return o=this.getSocket(e),n.triggerFn(t),o;n.triggerFn(i)},o.prototype.close=function(e){var t=this._onBeforeSocketClose(e),n=this.getSocket(e);!1!==t&&n.close()},o.prototype.send=function(e,t){var i,o=this.getSocket(e);t=t||_.get(e,"dataBinding.RequestBody"),!1!==(i=this._onBeforeSend(e,t))&&(t=n.isDefined(i)?i:t,t=n.isObject(t)?JSON.stringify(t):t,o.send(t,0))},o}(Z),ue=new Map,de={Variable:Z,Action:Q,"wm.NavigationVariable":X,"wm.NotificationVariable":J,"wm.LoginVariable":ee,"wm.LogoutVariable":te,"wm.DeviceVariable":ne,"wm.WebSocketVariable":pe},he=function(){function e(){}return e.get=function(e){return ue.has(e)?ue.get(e):ue.set(e,new de[e]).get(e)},e}(),me=function(){function e(){}return e.prototype.invoke=function(e,t){var i=this.operations.find((function(t){return t.name===e.operation}));if(null==i)return I(m.EVENT.ERROR,e,null),Promise.reject("Could not find operation '"+e.operation+"' in service '"+this.name+"'");if(n.hasCordova()){var o=new Map;return void 0!==e.dataBinding&&(Object.entries(e).forEach((function(e){o.set(e[0],e[1])})),Object.entries(e.dataBinding).forEach((function(e){o.set(e[0],e[1])}))),i.invoke(e,t,o).then((function(t){return e.dataSet=t,n.$invokeWatchers(!0),I(m.EVENT.SUCCESS,e,t),t}),(function(t){return e.dataSet={},n.$invokeWatchers(!0),I(m.EVENT.ERROR,e,null),t}))}return Promise.resolve().then((function(){return I(m.EVENT.SUCCESS,e,i.model),i.model}))},e}(),fe=function(){return he.get(m.CATEGORY.DEVICE)},ge=function(e){function t(t){var n=e.call(this)||this;return Object.assign(n,t),n}return b(t,e),t.prototype.init=function(){fe().initBinding(this)},t.prototype.invoke=function(e,t,n){fe().invoke(this,e).then(t,n)},t}(t.ApiAwareVariable),ve=function(){return he.get(m.CATEGORY.NAVIGATION)},ye=function(e){function t(t){var n=e.call(this)||this;return Object.assign(n,t),n}return b(t,e),t.prototype.invoke=function(e){ve().invoke(this,e)},t.prototype.navigate=function(e){this.invoke(e)},t.prototype.init=function(){ve().initBinding(this,"dataBinding","dataBinding"),ve().initBinding(this,"dataSet","dataSet")},t}(t.BaseAction),be=function(){return he.get(m.CATEGORY.NOTIFICATION)},we=function(e){function t(t){var n=e.call(this)||this;return Object.assign(n,t),n}return b(t,e),t.prototype.execute=function(t,i){var o=this,r=e.prototype.execute.call(this,t,i);return n.isDefined(r)?r:new Promise((function(e,r){switch(t){case n.DataSource.Operation.INVOKE:o.invoke(i,e,r);break;case n.DataSource.Operation.NOTIFY:o.notify(i,e,r);break;default:r(t+" operation is not supported on this data source")}}))},t.prototype.notify=function(e,t,n){be().notify(this,e,t,n)},t.prototype.invoke=function(e,t,n){this.notify(e,t,n)},t.prototype.getMessage=function(){return be().getMessage(this)},t.prototype.setMessage=function(e){return be().setMessage(this,e)},t.prototype.clearMessage=function(){return be().setMessage(this,"")},t.prototype.getOkButtonText=function(){return be().getOkButtonText(this)},t.prototype.setOkButtonText=function(e){return be().setOkButtonText(this,e)},t.prototype.getToasterDuration=function(){return be().getToasterDuration(this)},t.prototype.setToasterDuration=function(e){return be().setToasterDuration(this,e)},t.prototype.getToasterClass=function(){return be().getToasterClass(this)},t.prototype.setToasterClass=function(e){return be().setToasterClass(this,e)},t.prototype.getToasterPosition=function(){return be().getToasterPosition(this)},t.prototype.setToasterPosition=function(e){return be().setToasterPosition(this,e)},t.prototype.getAlertType=function(){return be().getAlertType(this)},t.prototype.setAlertType=function(e){return be().setAlertType(this,e)},t.prototype.getCancelButtonText=function(){return be().getCancelButtonText(this)},t.prototype.setCancelButtonText=function(e){return be().setCancelButtonText(this,e)},t.prototype.init=function(){be().initBinding(this,"dataBinding","dataBinding"),be().initBinding(this,"dataSet","dataSet")},t}(t.BaseAction),Pe=function(){return he.get(m.CATEGORY.LOGIN)},_e=function(e){function t(t){var n=e.call(this)||this;return Object.assign(n,t),n}return b(t,e),t.prototype.login=function(e,t,n){return Pe().login(this,e,t,n)},t.prototype.invoke=function(e,t,n){return this.login(e,t,n)},t.prototype.cancel=function(){},t.prototype.init=function(){Pe().initBinding(this,"dataBinding","dataBinding")},t}(t.BaseAction),Oe=function(){return he.get(m.CATEGORY.LOGOUT)},Se=function(e){function t(t){var n=e.call(this)||this;return Object.assign(n,t),n}return b(t,e),t.prototype.logout=function(e,t,n){Oe().logout(this,e,t,n)},t.prototype.invoke=function(e,t,n){this.logout(e,t,n)},t.prototype.cancel=function(){},t}(t.BaseAction),Ee=function(){return he.get(m.CATEGORY.WEBSOCKET)},Te=function(e){function t(t){var n=e.call(this)||this;return Object.assign(n,t),n}return b(t,e),t.prototype.open=function(e,t){return Ee().open(this,e,t)},t.prototype.close=function(){return Ee().close(this)},t.prototype.update=function(){return Ee().update(this)},t.prototype.send=function(e){return Ee().send(this,e)},t.prototype.cancel=function(){return this.close()},t.prototype.invoke=function(e,t,n){this.open(t,n)},t.prototype.init=function(){Ee().initBinding(this)},t}(t.ApiAwareVariable),Re=function(){function e(){}return e.create=function(e,n){var i;switch(e.category){case t.VARIABLE_CONSTANTS.CATEGORY.MODEL:i=new t.ModelVariable(e);break;case t.VARIABLE_CONSTANTS.CATEGORY.SERVICE:i=new t.ServiceVariable(e);break;case t.VARIABLE_CONSTANTS.CATEGORY.LIVE:i=new t.LiveVariable(e);break;case t.VARIABLE_CONSTANTS.CATEGORY.CRUD:i=new t.CrudVariable(e);break;case t.VARIABLE_CONSTANTS.CATEGORY.DEVICE:i=new ge(e);break;case t.VARIABLE_CONSTANTS.CATEGORY.NAVIGATION:i=new ye(e);break;case t.VARIABLE_CONSTANTS.CATEGORY.NOTIFICATION:i=new we(e);break;case t.VARIABLE_CONSTANTS.CATEGORY.LOGIN:i=new _e(e);break;case t.VARIABLE_CONSTANTS.CATEGORY.LOGOUT:i=new Se(e);break;case t.VARIABLE_CONSTANTS.CATEGORY.TIMER:i=new t.TimerAction(e);break;case t.VARIABLE_CONSTANTS.CATEGORY.WEBSOCKET:i=new Te(e)}return i._context=n,i.__cloneable__=!1,i},e}(),Ae=function(){function e(e){this.$http=e,this.CONTEXT_APP="app"}return e.prototype.isLoaded=function(){return!!this.metadataMap&&this.metadataMap.has(this.CONTEXT_APP)},e.prototype.load=function(e){var t,i=this;return t=n.hasCordova()?"metadata/"+(e?"prefabs/"+e+"/":"app/")+"service-definitions.json":"./services/"+(e?"prefabs/"+e+"/":"")+"servicedefs",new Promise((function(n,o){i.$http.send({url:t,method:"GET"}).then((function(t){i.metadataMap=i.metadataMap||new Map,i.providerMap=i.providerMap||new Map,t.body=t.body||{},i.metadataMap.set(e||i.CONTEXT_APP,t.body.serviceDefs),t.body.securityDefinitions&&i.providerMap.set(e||i.CONTEXT_APP,t.body.securityDefinitions.oauthProvider),n(t.body.serviceDefs)}),o)}))},e.prototype.getByOperationId=function(e,t){t=t||this.CONTEXT_APP;var n=this.metadataMap.get(t);return n&&n[e]},e.prototype.getByProviderId=function(e,t){t=t||this.CONTEXT_APP;var n=this.providerMap.get(t);return n&&n[e]},e.prototype.getByCrudId=function(e,t){t=t||this.CONTEXT_APP;var n=this.metadataMap.get(t),i=[];for(var o in n)n[o]&&n[o].crudOperationId===e&&i.push(n[o]);return i},e}();Ae.decorators=[{type:r.Injectable}],Ae.ctorParameters=function(){return[{type:n.AbstractHttpService}]};var Ce=function(){function t(){}return t.prototype.format=function(t,n){return e.appManager.getPipe("date").transform(t,n)},t}(),Ie=function(){function e(e,n,i,o,r,a,s,l){this.httpService=e,this.metadataService=n,this.navigationService=i,this.routerService=o,this.toasterService=r,this.oAuthService=a,this.securityService=s,this.dialogService=l,C("http",this.httpService),C("metadata",this.metadataService),C("navigationService",this.navigationService),C("router",this.routerService),C("toaster",this.toasterService),C("oAuth",this.oAuthService),C("security",this.securityService),C("dialog",this.dialogService),t.wmSetDependency("oAuth",this.oAuthService),t.wmSetDependency("security",this.securityService),t.wmSetDependency("metadata",this.metadataService)}return e.prototype.bulkCancel=function(e){Object.keys(e).forEach((function(t){var n=e[t];_.isFunction(n.cancel)&&n.cancel()}))},e.prototype.triggerStartUpdate=function(e){return Promise.all(Object.keys(e).map((function(t){return e[t]})).filter((function(e){return(null==e?void 0:e.startUpdate)&&e.invoke})).map((function(e){return e.invoke()})))},e.prototype.processBindExp=function(e,i,o){var r=t.getTarget(o),a=t.getTargetNodeKey(e.target),s=_.isArray(e.value)?e.value[0]:e.value;return s&&(s.startsWith&&s.startsWith("bind:")?s=n.$watch(s.replace("bind:",""),i,{},o.invokeOnParamChange.bind(o,e),void 0,void 0,void 0,(function(){return o.isMuted})):_.isUndefined(e.value)||(t.setValueToNode(e.target,e,r,o,e.value,!0),r!==a&&(t.internalBoundNodeMap.has(o)||t.internalBoundNodeMap.set(o,{}),_.set(t.internalBoundNodeMap.get(o),[o.name,r,e.target],e.value)))),{name:e.target,value:s}},e.prototype.processBinding=function(e,t,n,i){var o=this;i=i||"dataBinding";var r=e[n=n||"dataBinding"];e[n]={},e["_bind"+n]=r,r&&_.isArray(r)&&r.forEach((function(n){"wm.Variable"===e.category&&"dataBinding"===n.target&&(n.target="dataSet"),o.processBindExp(n,t,e)}))},e.prototype.isVariableSeperated=function(e,t){return"wm.Variable"===e[t].category||"wm.ServiceVariable"===e[t].category||"wm.LiveVariable"===e[t].category||"wm.CrudVariable"===e[t].category},e.prototype.getBindSourceTarget=function(e){return"wm.LiveVariable"===e.category?"read"===e.operation?"filterFields":"inputFields":"wm.ModelVariable"===e.category?"dataSet":"dataBinding"},e.prototype.register=function(e,i,o){var r,a=this,s={Variables:{},Actions:{},callback:this.triggerStartUpdate};for(var l in i){if((r=Re.create(i[l],o)).init(),this.isVariableSeperated(i,l)&&(this.processBinding(r,o,"dataBinding",this.getBindSourceTarget(r)),r.httpService=this.httpService,r.dateFormatter=new Ce,r.subscribe("afterInvoke",(function(){return n.$invokeWatchers(!0)})),"wm.LiveVariable"===r.category&&"read"===r.operation&&n.processFilterExpBindNode(r._context,r.filterExpressions,r),"wm.CrudVariable"!==r.category&&"wm.ServiceVariable"!==r.category||(r.simulateFileDownload=W)),this.isVariableSeperated(i,l)||"wm.TimerVariable"===i[l].category)for(var c in m.EVENT)r[m.EVENT[c]]&&(r[m.EVENT[c]]=n.$parseEvent(r[m.EVENT[c]]));r instanceof t.BaseAction?s.Actions[l]=r:s.Variables[l]=r}return o.registerDestroyListener&&o.registerDestroyListener((function(){a.bulkCancel(s.Variables),a.bulkCancel(s.Actions)})),s},e.prototype.destroy=function(){},e.prototype.registerDependency=function(e,n){C(e,n),t.wmSetDependency(e,n)},e}();Ie.decorators=[{type:r.Injectable}],Ie.ctorParameters=function(){return[{type:n.AbstractHttpService},{type:Ae},{type:n.AbstractNavigationService},{type:a.Router},{type:n.AbstractToasterService},{type:s.OAuthService},{type:l.SecurityService},{type:n.AbstractDialogService}]};var De=u.ToastrModule.forRoot({maxOpened:1,autoDismiss:!0}),Ne=function(){function e(){}return e.forRoot=function(){return{ngModule:e,providers:[Ie,Ae,c.Location,{provide:c.LocationStrategy,useClass:c.HashLocationStrategy}]}},e}();Ne.decorators=[{type:r.NgModule,args:[{imports:[c.CommonModule,De,p.HttpClientModule,d.HttpServiceModule,s.OAuthModule,l.SecurityModule],declarations:[]}]}],e.$rootScope=v,e.CONSTANTS=h,e.DB_CONSTANTS={DATABASE_MATCH_MODES:{like:"LIKE",start:"STARTING_WITH",startignorecase:"STARTING_WITH_IGNORECASE",end:"ENDING_WITH",endignorecase:"ENDING_WITH_IGNORECASE",anywhere:"CONTAINING",anywhereignorecase:"CONTAINING_IGNORECASE",nowhere:"DOES_NOT_CONTAIN",nowhereignorecase:"DOES_NOT_CONTAIN_IGNORECASE",exact:"EQUALS",exactignorecase:"EQUALS_IGNORECASE",notequals:"NOT_EQUALS",notequalsignorecase:"NOT_EQUALS_IGNORECASE",between:"BETWEEN",in:"IN",notin:"NOTIN",lessthan:"LESS_THAN",lessthanequal:"LESS_THAN_OR_EQUALS",greaterthan:"GREATER_THAN",greaterthanequal:"GREATER_THAN_OR_EQUALS",null:"NULL",isnotnull:"IS_NOT_NULL",empty:"EMPTY",isnotempty:"IS_NOT_EMPTY",nullorempty:"NULL_OR_EMPTY"},DATABASE_EMPTY_MATCH_MODES:["NULL","IS_NOT_NULL","EMPTY","IS_NOT_EMPTY","NULL_OR_EMPTY"],DATABASE_RANGE_MATCH_MODES:["IN","NOTIN","BETWEEN","LESS_THAN","LESS_THAN_OR_EQUALS","GREATER_THAN","GREATER_THAN_OR_EQUALS","NOT_EQUALS"],DATABASE_NULL_EMPTY_MATCH:{NULL:"NULL",IS_NOT_NULL:"IS_NOT_NULL",EMPTY:"NULL",IS_NOT_EMPTY:"IS_NOT_NULL",NULL_OR_EMPTY:"NULL"},DATABASE_MATCH_MODES_WITH_QUERY:{LIKE:"${0} like ${1}",STARTING_WITH:"${0} like ${1}",STARTING_WITH_IGNORECASE:"${0} like ${1}",ENDING_WITH:"${0} like ${1}",ENDING_WITH_IGNORECASE:"${0} like ${1}",CONTAINING:"${0} like ${1}",CONTAINING_IGNORECASE:"${0} like ${1}",DOES_NOT_CONTAIN:"${0} not like ${1}",DOES_NOT_CONTAIN_IGNORECASE:"${0} not like ${1}",EQUALS:"${0}=${1}",EQUALS_IGNORECASE:"${0}=${1}",NOT_EQUALS:"${0}!=${1}",NOT_EQUALS_IGNORECASE:"${0}!=${1}",BETWEEN:"${0} between ${1}",IN:"${0} in ${1}",NOTIN:"${0} not in ${1}",LESS_THAN:"${0}<${1}",LESS_THAN_OR_EQUALS:"${0}<=${1}",GREATER_THAN:"${0}>${1}",GREATER_THAN_OR_EQUALS:"${0}>=${1}",NULL:"${0} is null",IS_NOT_NULL:"${0} is not null",EMPTY:"${0}=''",IS_NOT_EMPTY:"${0}<>''",NULL_OR_EMPTY:"${0} is null or ${0}=''"},DATABASE_STRING_MODES:["LIKE","STARTING_WITH","STARTING_WITH_IGNORECASE","ENDING_WITH","ENDING_WITH_IGNORECASE","CONTAINING","CONTAINING_IGNORECASE","DOES_NOT_CONTAIN","DOES_NOT_CONTAIN_IGNORECASE","EQUALS","EQUALS_IGNORECASE","NOT_EQUALS","NOT_EQUALS_IGNORECASE"]},e.DeviceVariableManager=ne,e.DeviceVariableService=me,e.Formatter=Ce,e.MetadataService=Ae,e.SWAGGER_CONSTANTS=g,e.VARIABLE_CONSTANTS=m,e.VARIABLE_URLS={DATABASE:{searchTableData:{url:"/:service/:dataModelName/:entityName/search?page=:page&size=:size&:sort",method:"POST"},searchTableDataWithQuery:{url:"/:service/:dataModelName/:entityName/filter?page=:page&size=:size&:sort",method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"}},readTableData:{url:"/:service/:dataModelName/:entityName?page=:page&size=:size&:sort",method:"GET"},insertTableData:{url:"/:service/:dataModelName/:entityName",method:"POST"},insertMultiPartTableData:{url:"/:service/:dataModelName/:entityName",method:"POST",headers:{}},updateTableData:{url:"/:service/:dataModelName/:entityName/:id",method:"PUT"},updateMultiPartTableData:{url:"/:service/:dataModelName/:entityName/:id",method:"POST",headers:{}},deleteTableData:{url:"/:service/:dataModelName/:entityName/:id",method:"DELETE"},updateCompositeTableData:{url:"/:service/:dataModelName/:entityName/composite-id?:id",method:"PUT"},periodUpdateCompositeTableData:{url:"/:service/:dataModelName/:entityName/composite-id/periods?:id",method:"PUT"},updateMultiPartCompositeTableData:{url:"/:service/:dataModelName/:entityName/composite-id?:id",method:"POST",headers:{}},deleteCompositeTableData:{url:"/:service/:dataModelName/:entityName/composite-id?:id",method:"DELETE"},periodDeleteCompositeTableData:{url:"/:service/:dataModelName/:entityName/composite-id/periods?:id",method:"DELETE"},getDistinctDataByFields:{url:"/:service/:dataModelName/:entityName/aggregations?page=:page&size=:size&:sort",method:"POST"},exportTableData:{url:"/services/:dataModelName/:entityName/export?:sort",method:"POST"},readTableRelatedData:{url:"/:service/:dataModelName/:entityName/:id/:relatedFieldName?page=:page&size=:size&:sort",method:"GET"},executeNamedQuery:{url:"/:service/:dataModelName/queryExecutor/queries/:queryName?page=:page&size=:size&:queryParams",method:"GET"},executeCustomQuery:{url:"/:service/:dataModelName/queries/execute?page=:page&size=:size",method:"POST"},executeAggregateQuery:{url:"/services/:dataModelName/:entityName/aggregations?page=:page&size=:size&sort=:sort",method:"POST"},executeNamedProcedure:{url:"/:service/:dataModelName/procedureExecutor/procedure/execute/:procedureName?page=:page&size=:size&:procedureParams",method:"GET"},countTableDataWithQuery:{url:"/:service/:dataModelName/:entityName/count?:queryParams",method:"GET"}},oauthConfiguration:{getAuthorizationUrl:{url:"services/oauth2/:providerId/authorizationUrl",method:"GET"}}},e.VariableManagerFactory=he,e.VariablesModule=Ne,e.VariablesService=Ie,e.WS_CONSTANTS=f,e.debounceVariableCall=z,e.formatDate=K,e.formatExportExpression=function(e){return _.forEach(e,(function(e){e.expression&&(e.expression="${"+e.expression+"}")})),e},e.getEvaluatedOrderBy=function(e,t){var n,i;return!t||_.isEmpty(t)?e:e?(e=_.split(e,","),t=_.split(t,","),n=_.map(t,(function(e){return _.split(_.trim(e)," ")[0]})),_.remove(e,(function(e){return _.includes(n,_.split(_.trim(e)," ")[0])})),i=e.length?","+_.join(e,","):"",_.join(t,",")+i):t},e.initiateCallback=I,e.isFileUploadSupported=q,e.processBinding=U,e.setDependency=C,e.setInput=function(e,t,i,o){e=e||{};var r,a,s={};if(_.isObject(o))switch(o.type){case"file":i=n.getBlob(i,o.contentType);break;case"number":i=_.isNumber(i)?i:parseInt(i,10)}return _.isObject(t)?s=t:t.indexOf(".")>-1?(a=(r=t.split(".")).pop(),e=n.findValueOf(e,r.join("."),!0),s[t=a]=i):s[t]=i,_.forEach(s,(function(t,n){e[n]=t})),e},e.simulateFileDownload=W,e.toastrModule=De,e["\u0275a"]=Z,e["\u0275b"]=Q,e["\u0275c"]=X,e["\u0275d"]=J,e["\u0275e"]=ee,e["\u0275f"]=te,e["\u0275g"]=pe,Object.defineProperty(e,"__esModule",{value:!0})})),function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@angular/common"),require("@awesome-cordova-plugins/file/ngx"),require("@wm/core"),require("@wm/mobile/core"),require("@wm/security"),require("@awesome-cordova-plugins/app-version/ngx"),require("@awesome-cordova-plugins/sqlite/ngx"),require("@wm/variables"),require("@awesome-cordova-plugins/app-version/ngx/index"),require("@awesome-cordova-plugins/file/ngx/index"),require("@awesome-cordova-plugins/sqlite/ngx/index"),require("rxjs"),require("@wavemaker/variables")):"function"==typeof define&&define.amd?define("@wm/mobile/offline",["exports","@angular/core","@angular/common","@awesome-cordova-plugins/file/ngx","@wm/core","@wm/mobile/core","@wm/security","@awesome-cordova-plugins/app-version/ngx","@awesome-cordova-plugins/sqlite/ngx","@wm/variables","@awesome-cordova-plugins/app-version/ngx/index","@awesome-cordova-plugins/file/ngx/index","@awesome-cordova-plugins/sqlite/ngx/index","rxjs","@wavemaker/variables"],t):t(((e="undefined"!=typeof globalThis?globalThis:e||self).wm=e.wm||{},e.wm.mobile=e.wm.mobile||{},e.wm.mobile.offline={}),e.ng.core,e.ng.common,e.awesomeCordova.plugins,e.wm.core,e.wm.mobile.core,e.wm.security,e.awesomeCordova.plugins,e.awesomeCordova.plugins,e.wm.variables,e.awesomeCordova.plugins,e.awesomeCordova.plugins,e.awesomeCordova.plugins,e.rxjs,e.wm_common_variables)}(this,(function(e,t,n,i,o,r,a,s,l,c,p,u,d,h,m){"use strict";function f(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(n){if("default"!==n){var i=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,i.get?i:{enumerable:!0,get:function(){return e[n]}})}})),t.default=e,Object.freeze(t)}var g=f(t),v=f(o),y=f(r),b=f(a),w=f(p),P=f(u),O=f(d),S=function(){function e(){}return e.prototype.get=function(e){return this.fetchEntry(e).then((function(e){var t;return e&&e.length>0&&(t=e[0].value)&&(t=JSON.parse(t)),t}))},e.prototype.init=function(e){this.store=e},e.prototype.put=function(e,t){var n=this;return t&&(t=JSON.stringify(t)),this.fetchEntry(e).then((function(i){return i&&i.length>0?n.store.save({id:i[0].id,key:e,value:t}):n.store.add({key:e,value:t})}))},e.prototype.remove=function(e){var t=this;return this.fetchEntry(e).then((function(e){if(e&&e.length>0)return t.store.delete(e[0].id)}))},e.prototype.fetchEntry=function(e){var t=[{attributeName:"key",attributeValue:e,attributeType:"STRING",filterCondition:"EQUALS"}];return this.store.filter(t)},e}();S.SERVICE_NAME="LocalKeyValueService",S.\u0275prov=g.\u0275\u0275defineInjectable({factory:function(){return new S},token:S,providedIn:"root"}),S.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}];var E,T="WM_LOCAL_OFFLINE_CALL",R=function(e){if(e)return'"'+(e=e.replace(/"/g,'""'))+'"'},A=function(e){var t=[],n=[];return _.forEach(e.columns,(function(e){t.push(R(e.name)),n.push("?")})),"INSERT INTO "+R(e.name)+" ("+t.join(",")+") VALUES ("+n.join(",")+")"},C=function(e){var t=[],n=[];return _.forEach(e.columns,(function(e){t.push(R(e.name)),n.push("?")})),"REPLACE INTO "+R(e.name)+" ("+t.join(",")+") VALUES ("+n.join(",")+")"},I=function(e){var t=_.find(e.columns,"primaryKey");return t?"DELETE FROM "+R(e.name)+" WHERE "+R(t.name)+" = ?":""},D=function(e){var t=[],n=[];return e.columns.forEach((function(i){var o;t.push(R(e.name)+"."+R(i.name)+" as "+i.fieldName),i.foreignRelations&&i.foreignRelations.forEach((function(r){o=r.sourceFieldName,_.forEach(r.dataMapper,(function(e,n){t.push(o+"."+R(e.name)+" as '"+n+"'")})),n.push(" LEFT JOIN "+R(r.targetTable)+" "+o+"\n ON "+o+"."+R(r.targetColumn)+" = "+R(e.name)+"."+R(i.name))}))})),"SELECT "+t.join(",")+" FROM "+R(e.name)+" "+n.join(" ")},N=function(e){var t=[];return e.columns.forEach((function(n){var i;n.foreignRelations&&n.foreignRelations.forEach((function(o){i=o.sourceFieldName,t.push(" LEFT JOIN "+R(o.targetTable)+" "+i+"\n ON "+i+"."+R(o.targetColumn)+" = "+R(e.name)+"."+R(n.name))}))})),"SELECT count(*) as count FROM "+R(e.name)+" "+t.join(" ")},x=function(e,t){var n,i=e.fieldToColumnMapping,o=e.entitySchema.name;return!_.isEmpty(t)&&_.isString(t)?" WHERE "+t:(t&&(n=t.map((function(e){var t=i[e.attributeName],n=e.filterCondition,r=e.attributeValue,a="=";return"STRING"===e.attributeType?("STARTING_WITH"===n?(r+="%",a="like"):"ENDING_WITH"===n?(r="%"+r,a="like"):"CONTAINING"===n&&(r="%"+r+"%",a="like"),r="'"+r+"'"):"BOOLEAN"===e.attributeType&&(r=!0===r?1:0),R(o)+"."+R(t)+" "+a+" "+r}))),n&&n.length>0?" WHERE "+n.join(" AND "):"")},k=function(e,t){return t?" ORDER BY "+_.map(t.split(","),(function(t){var n=_.trim(t).split(" ");return n[0]=R(e.entitySchema.name)+"."+R(e.fieldToColumnMapping[n[0]]),n.join(" ")})).join(","):""},M=function(e){return" LIMIT "+((e=e||{}).limit||100)+" OFFSET "+(e.offset||0)},L=function(e,t){return e.columns.forEach((function(e){var n=t[e.fieldName];e.foreignRelations?e.foreignRelations.forEach((function(e){var n=null;_.forEach(e.dataMapper,(function(e,i){var r=t[i];o.isDefined(r)&&null!==r&&""!==r&&((n=n||{})[e.fieldName]=t[i]),delete t[i]})),t[e.sourceFieldName]=n})):"boolean"!==e.sqlType||_.isNil(n)||(t[e.fieldName]=1===n)})),t},F=function(e,t){var n=e[t.fieldName];return t.foreignRelations&&t.foreignRelations.some((function(t){return!(!t.targetEntity||!e[t.sourceFieldName])&&(n=e[t.sourceFieldName][t.targetFieldName],!0)})),_.isNil(n)?t.defaultValue:"boolean"===t.sqlType?!0===n?1:0:n},j=function(e,t){var n={};return e.entitySchema.columns.forEach((function(e){return n[e.name]=F(t,e)})),n},B=function(){function e(e,t,n,i,o){var r=this;this.deviceFileService=e,this.entitySchema=t,this.file=n,this.localDbManagementService=i,this.sqliteObject=o,this.fieldToColumnMapping={},this.primaryKeyField=_.find(this.entitySchema.columns,"primaryKey"),this.primaryKeyName=this.primaryKeyField?this.primaryKeyField.fieldName:void 0,this.entitySchema.columns.forEach((function(e){r.fieldToColumnMapping[e.fieldName]=e.name,e.foreignRelations&&e.foreignRelations.forEach((function(t){r.fieldToColumnMapping[t.targetPath]=e.name,_.forEach(t.dataMapper,(function(e,n){r.fieldToColumnMapping[n]=t.sourceFieldName+"."+e.name}))}))})),this.insertRecordSqlTemplate=A(this.entitySchema),this.replaceRecordSqlTemplate=C(this.entitySchema),this.deleteRecordTemplate=I(this.entitySchema),this.selectSqlTemplate=D(this.entitySchema),this.countQuery=N(this.entitySchema)}return e.prototype.add=function(e){if(this.primaryKeyName){var t=e[this.primaryKeyName];if("number"===this.primaryKeyField.sqlType&&(!o.isDefined(t)||_.isString(t)&&_.isEmpty(_.trim(t))))if("identity"===this.primaryKeyField.generatorType)e[this.primaryKeyName]=this.localDbManagementService.nextIdCount();else{var n=this.getValue(e,this.primaryKeyName);e[this.primaryKeyName]=n}}var i=j(this,e),r=this.entitySchema.columns.map((function(e){return i[e.name]}));return this.sqliteObject.executeSql(this.insertRecordSqlTemplate,r).then((function(e){return e.insertId}))},e.prototype.clear=function(){return this.sqliteObject.executeSql("DELETE FROM "+R(this.entitySchema.name))},e.prototype.create=function(){var e=this;return this.sqliteObject.executeSql(this.createTableSql(this.entitySchema)).then((function(){return e}))},e.prototype.count=function(e){var t=this.countQuery+x(this,e);return this.sqliteObject.executeSql(t).then((function(e){return e.rows.item(0).count}))},e.prototype.deserialize=function(e){return this.deserializeMapToFormData(e)},e.prototype.filter=function(e,t,n){var i=this,o=this.selectSqlTemplate;return o+=x(this,e),o+=k(this,t),o+=M(n),this.sqliteObject.executeSql(o).then((function(e){for(var t=[],n=e.rows.length,o=0;o<n;o++)t.push(L(i.entitySchema,e.rows.item(o)));return t}))},e.prototype.refresh=function(e){var t=this.primaryKeyName,n=this.getValue(e,t);return n?this.get(n):Promise.resolve(e)},e.prototype.delete=function(e){return this.sqliteObject.executeSql(this.deleteRecordTemplate,[e])},e.prototype.get=function(e){var t=[{attributeName:this.primaryKeyName,filterCondition:"=",attributeValue:e,attributeType:this.primaryKeyField.sqlType.toUpperCase()}];return this.filter(t).then((function(e){return e&&1===e.length?e[0]:void 0}))},e.prototype.getValue=function(e,t){var n=this.entitySchema.columns.find((function(e){return e.fieldName===t}));return F(e,n)},e.prototype.save=function(e){return this.saveAll([e])},e.prototype.saveAll=function(e){var t=this;e=_.filter(e,null);var n=_.map(e,(function(e){var n=j(t,e),i=t.entitySchema.columns.map((function(e){return n[e.name]}));return[t.replaceRecordSqlTemplate,i]}));return this.sqliteObject.sqlBatch(n)},e.prototype.serialize=function(e){return this.serializeFormDataToMap(e)},e.prototype.saveBlobToFile=function(e){var t=this.deviceFileService.appendToFileName(e.name),n=this.deviceFileService.getUploadDirectory();return this.file.writeFile(n,t,e).then((function(){return{name:e.name,type:e.type,lastModified:e.lastModified,lastModifiedDate:e.lastModifiedDate,size:e.size,wmLocalPath:n+"/"+t}}))},e.prototype.serializeFormDataToMap=function(e){var t=this,n=_.filter(this.entitySchema.columns,{sqlType:"blob"}),i=[],o={};return e&&"function"==typeof e.append&&e.rowData?_.forEach(e.rowData,(function(e,r){e&&_.find(n,{fieldName:r})?i.push(t.saveBlobToFile(e).then((function(e){o[r]=e}))):o[r]=e})):o=e,Promise.all(i).then((function(){return o}))},e.prototype.deserializeMapToFormData=function(e){var t=new FormData,n=this.entitySchema.columns.filter((function(e){return"blob"===e.sqlType})),i=[];return _.forEach(n,(function(n){var r=e[n.fieldName];r&&r.wmLocalPath&&(i.push(o.convertToBlob(r.wmLocalPath).then((function(e){return t.append(n.fieldName,e.blob,r.name)}))),e[n.fieldName]="")})),t.append(c.SWAGGER_CONSTANTS.WM_DATA_JSON,new Blob([JSON.stringify(e)],{type:"application/json"})),Promise.all(i).then((function(){return t}))},e.prototype.createTableSql=function(e){var t=_.reduce(e.columns,(function(e,t){var n=R(t.name);return t.primaryKey&&("number"===t.sqlType&&"databaseIdentity"===t.generatorType?n+=" INTEGER PRIMARY KEY AUTOINCREMENT":n+=" PRIMARY KEY"),e?e+","+n:n}),!1);return"CREATE TABLE IF NOT EXISTS "+R(e.name)+" ("+t+")"},e}(),G=function(){this.schema={name:"",isInternal:!1,entities:new Map},this.stores=new Map,this.queries=new Map},V=function(e,t){this.name=e,this.fieldName=t,this.primaryKey=!1,this.fieldName=this.fieldName||this.name};!function(e){e.LIVE="LIVE",e.BUNDLED="BUNDLED",e.APP_START="APP_START"}(E||(E={}));var U="localDBStore.nextIdCount",W="www/metadata/app",q={name:"wavemaker",version:1,isInternal:!0,tables:[{name:"key_value",entityName:"key-value",columns:[{fieldName:"id",name:"id",generatorType:"databaseIdentity",sqlType:"number",primaryKey:!0},{fieldName:"key",name:"key"},{name:"value",fieldName:"value"}]},{name:"offlineChangeLog",entityName:"offlineChangeLog",columns:[{fieldName:"id",name:"id",generatorType:"databaseIdentity",sqlType:"number",primaryKey:!0},{name:"service",fieldName:"service"},{name:"operation",fieldName:"operation"},{name:"params",fieldName:"params"},{name:"timestamp",fieldName:"timestamp"},{name:"hasError",fieldName:"hasError"},{name:"errorMessage",fieldName:"errorMessage"}]}]},z=function(){function e(e,t,n,i,o,r,a){var s=this;this.appVersion=e,this.deviceService=t,this.deviceFileService=n,this.file=i,this.localKeyValueService=o,this.securityService=r,this.sqlite=a,this.callbacks=[],this._logSql=!1,this.nextId=1e11,this.systemProperties={USER_ID:{name:"USER_ID",value:function(){return s.securityService.getLoggedInUser().then((function(e){return e.userId}))}},USER_NAME:{name:"USER_NAME",value:function(){return s.securityService.getLoggedInUser().then((function(e){return e.userName}))}},DATE_TIME:{name:"DATE_TIME",value:function(){return moment().format("YYYY-MM-DDThh:mm:ss")}},DATE:{name:"CURRENT_DATE",value:function(){return moment().format("YYYY-MM-DD")}},TIME:{name:"TIME",value:function(){return moment().format("hh:mm:ss")}}}}return e.prototype.close=function(){var e=this;return new Promise((function(t,n){setTimeout((function(){var i=_.map(_.values(e.databases),(function(e){return e.sqliteObject.close()}));Promise.all(i).then(t,n)}),1e3)}))},e.prototype.nextIdCount=function(){return this.nextId=this.nextId+1,this.localKeyValueService.put(U,this.nextId),this.nextId},e.prototype.executeNamedQuery=function(e,t,n){var i,r,a=this;return this.databases[e]&&this.databases[e].queries[t]?(i=this.databases[e].queries[t],r=_.chain(i.params).filter((function(e){return"PROMPT"!==e.variableType})).forEach((function(e){var t=a.systemProperties[e.variableType].value(e.name,n);return o.toPromise(t).then((function(t){return n[e.name]=t}))})).value(),Promise.all(r).then((function(){return n=_.map(i.params,(function(e){return"string"==typeof n[e.name]||e.type!==o.DataType.DATETIME&&e.type!==o.DataType.LOCALDATETIME?e.type===o.DataType.BOOLEAN?a.convertBoolToInt(n[e.name]):n[e.name]:c.formatDate(n[e.name],e.type)})),a.executeSQLQuery(e,i.query,n).then((function(e){var t,n;return _.isEmpty(e.rows)||(t=e.rows[0],n=_.find(i.response.properties,(function(e){return!t.hasOwnProperty(e.fieldName)})),_.isUndefined(n)||(e.rows=_.map(e.rows,(function(e){var t={},n={};return _.forEach(e,(function(e,t){return n[t.toUpperCase()]=e})),_.forEach(i.response.properties,(function(i){var r=o.extractType(i.fieldType.typeRef),s=(o.DEFAULT_FORMATS[_.toUpper(r)],e[i.name]);!s||"string"==typeof s||r!==o.DataType.DATETIME&&r!==o.DataType.LOCALDATETIME&&r!==o.DataType.DATE||(moment(s).isValid()?e[i.name]=c.formatDate(s,r):moment(s,"HH:mm").isValid()&&(e[i.name]=moment().format("YYYY-MM-DD")+"T"+s)),r===o.DataType.BOOLEAN&&(e[i.name]=a.convertIntToBool(s)),n[i.nameInUpperCase]=e[i.name],t[i.name]=e[i.name],t[i.fieldName]=e[i.fieldName]||n[i.nameInUpperCase]})),t})))),e}))}))):Promise.reject("Query by name ' "+t+" ' Not Found")},e.prototype.exportDB=function(){var e=this;return new Promise((function(t,n){var i,r="offline_temp_"+_.now(),a=cordova.file.cacheDirectory+r+"/",s={app:null,OS:"",createdOn:0};i=o.isIos()?cordova.file.documentsDirectory:cordova.file.externalRootDirectory+"Download/",e.file.createDir(cordova.file.cacheDirectory,r,!1).then((function(){return e.file.copyDir(e.dbInstallParentDirectory,e.dbInstallDirectoryName,a,"databases").then((function(){return e.getAppInfo()})).then((function(e){return s.app=e,o.isIos()?s.OS="IOS":o.isAndroid()&&(s.OS="ANDROID"),s.createdOn=_.now(),s})).then((function(){return o.executePromiseChain(e.getCallbacksFor("preExport"),[a,s])})).then((function(){return e.file.writeFile(a,"META.json",JSON.stringify(s))}))})).then((function(){var t=s.app.name;return t=t.replace(/\s+/g,"_"),e.deviceFileService.newFileName(i,t+"_offline_data.zip").then((function(e){return new Promise((function(t,n){Zeep.zip({from:a,to:i+e},(function(){return t(i+e)}),n)}))}))})).then(t,n).catch(o.noop).then((function(){return e.deviceFileService.removeDir(cordova.file.cacheDirectory+r)}))}))},e.prototype.getStore=function(e,t){var n=this;return new Promise((function(i,o){n.databases[e]&&i(n.databases[e].stores[t]),o("store with name'"+t+"' in datamodel '"+e+"' is not found")}))},e.prototype.importDB=function(e,t){var n=this;return new Promise((function(i,r){var a,s="offline_temp_"+_.now(),l=cordova.file.cacheDirectory+s+"/";n.file.createDir(cordova.file.cacheDirectory,s,!1).then((function(){return new Promise((function(t,n){Zeep.unzip({from:e,to:l},t,n)}))})).then((function(){return n.file.readAsText(l,"META.json").then((function(e){return a=JSON.parse(e),n.getAppInfo()})).then((function(e){return a.app?a.app.packageName!==e.packageName?Promise.reject("database zip of app with same package name can only be imported"):void 0:Promise.reject("meta information is not found in zip")}))})).then((function(){var e;return n.close().then((function(){if(t)return n.exportDB().then((function(t){return e=t}))})).then((function(){return n.deviceFileService.removeDir(n.dbInstallDirectory)})).then((function(){return n.file.copyDir(l,"databases",n.dbInstallParentDirectory,n.dbInstallDirectoryName)})).then((function(){return n.databases=null,n.loadDatabases()})).then((function(){return o.executePromiseChain(n.getCallbacksFor("postImport"),[l,a])})).then((function(){if(e)return n.deviceFileService.removeFile(e)}),(function(t){return e?n.importDB(e,!1).then((function(){return n.deviceFileService.removeFile(e),Promise.reject(t)})):Promise.reject(t)}))})).then(i,r).catch(o.noop).then((function(){return n.deviceFileService.removeDir(cordova.file.cacheDirectory+s)}))}))},e.prototype.isOperationAllowed=function(e,t,n){return this.getStore(e,t).then((function(e){return!!e&&("READ"===n?e.entitySchema.pushConfig.readEnabled:"INSERT"===n?e.entitySchema.pushConfig.insertEnabled:"UPDATE"===n?e.entitySchema.pushConfig.updateEnabled:"DELETE"===n&&e.entitySchema.pushConfig.deleteEnabled)})).catch((function(){return!1}))},e.prototype.loadDatabases=function(){var e=this,t=!1;return this.databases?Promise.resolve(this.databases):(o.isIos()?(this.dbInstallDirectoryName="LocalDatabase",this.dbInstallParentDirectory=cordova.file.applicationStorageDirectory+"Library/"):(this.dbInstallDirectoryName="databases",this.dbInstallParentDirectory=cordova.file.applicationStorageDirectory),this.dbInstallDirectory=this.dbInstallParentDirectory+this.dbInstallDirectoryName,this.databases=new Map,this.setUpDatabases().then((function(e){return t=e})).then((function(){return e.loadDBSchemas()})).then((function(t){return e.loadNamedQueries(t)})).then((function(t){return e.loadOfflineConfig(t)})).then((function(t){return Promise.all(_.map(t,(function(t){return e.openDatabase(t).then((function(n){e.databases[t.schema.name]=n}))})))})).then((function(){return e.getStore("wavemaker","key-value").then((function(t){return e.localKeyValueService.init(t),e.localKeyValueService.get(U).then((function(t){e.nextId=t||e.nextId}))}))})).then((function(){return t?e.normalizeData().then((function(){return e.disableForeignKeys()})).then((function(){return e.deviceService.getAppBuildTime()})).then((function(t){return o.executePromiseChain(_.map(e.callbacks,"onDbCreate"),[{databases:e.databases,dbCreatedOn:_.now(),dbSeedCreatedOn:t}])})).then((function(){return e.databases})):e.databases})))},e.prototype.registerCallback=function(e){this.callbacks.push(e)},e.prototype.setLogSQl=function(e){this._logSql=e},e.prototype.cleanAndCopyDatabases=function(){var e=this,t=cordova.file.applicationDirectory+W;return this.file.createDir(this.dbInstallParentDirectory,this.dbInstallDirectoryName,!1).catch(o.noop).then((function(){return e.deviceFileService.listFiles(e.dbInstallDirectory,/.+\.db$/)})).then((function(t){if(t&&t.length>0)return Promise.all(t.map((function(t){if("wavemaker.db"!==t.name)return e.file.removeFile(e.dbInstallDirectory,t.name)})))})).then((function(){return e.deviceFileService.listFiles(t,/.+\.db$/)})).then((function(n){if(n&&n.length>0)return e.file.createDir(e.dbInstallParentDirectory,e.dbInstallDirectoryName,!1).catch(o.noop).then((function(){return Promise.all(n.map((function(n){return e.file.copyFile(t,n.name,e.dbInstallDirectory,n.name)})))}))}))},e.prototype.compactEntitySchema=function(e,t,n){var i=n[t.entityName];return i.entityName=t.entityName,i.name=t.name,i.columns=[],t.columns.forEach((function(e){var t=e.columnValue?e.columnValue.defaultValue:"",n=e.sqlType;t="number"!==n||e.primaryKey?"boolean"===n?_.isEmpty(t)?null:"true"===t?1:0:_.isEmpty(t)?null:t:_.isEmpty(t)?null:_.parseInt(t),i.columns.push({name:e.name,fieldName:e.fieldName,generatorType:e.generatorType,sqlType:e.sqlType,primaryKey:e.primaryKey,defaultValue:t})})),_.forEach(t.relations,(function(t){var n,o,r,a,s;if(("ManyToOne"===t.cardinality||"OneToOne"===t.cardinality)&&(o=_.find(e.tables,(function(e){return e.name===t.targetTable})),s=t.mappings[0],o)){o=o.entityName,a=s.sourceColumn,r=i.columns.find((function(e){return e.name===a})),n=e.tables.find((function(e){return e.name===t.targetTable}));var l={sourceFieldName:t.fieldName,targetEntity:o,targetTable:t.targetTable,targetColumn:s.targetColumn,targetPath:"",dataMapper:[],targetFieldName:n.columns.find((function(e){return e.name===s.targetColumn})).fieldName};l.targetPath=l.sourceFieldName+"."+l.targetFieldName,l.dataMapper=_.chain(n.columns).keyBy((function(e){return l.sourceFieldName+"."+e.fieldName})).mapValues((function(e){return new V(e.name,e.fieldName)})).value(),r.foreignRelations=r.foreignRelations||[],r.foreignRelations.push(l)}})),i},e.prototype.compactQueries=function(e){var t=this,n=new Map;return _.forEach(e.queries,(function(e){var i,o;e.nativeSql&&"SELECT"===e.type&&(i=_.isEmpty(e.offlineQueryString)?e.queryString:e.offlineQueryString,(o=_.map(t.extractQueryParams(i),(function(t){var n=_.find(e.parameters,{name:t});return{name:n.name,type:n.type,variableType:n.variableType}}))).forEach((function(e){return i=_.replace(i,":"+e.name,"?")})),n[e.name]={name:e.name,query:i,params:o,response:{properties:_.map(e.response.properties,(function(e){return e.nameInUpperCase=e.name.toUpperCase(),e}))}})})),n},e.prototype.compactSchema=function(e){var t=this,n=new G,i=new Map;return e.tables.forEach((function(e){i[e.entityName]={}})),e.tables.forEach((function(n){t.compactEntitySchema(e,n,i)})),n.schema.name=e.name,n.schema.isInternal=e.isInternal,n.schema.entities=i,n},e.prototype.convertBoolToInt=function(e){return"true"===_.toString(e)?1:0},e.prototype.convertIntToBool=function(e){return!!e},e.prototype.disableForeignKeys=function(){var e=this;return Promise.all(_.map(this.databases,(function(t){return e.executeSQLQuery(t.schema.name,"PRAGMA foreign_keys = OFF")})))},e.prototype.executeSQLQuery=function(e,t,n,i){var o=this.databases[e];return o?o.sqliteObject.executeSql(t,n,i).then((function(e){for(var t=[],n=e.rows,i=0;i<n.length;i++)t.push(n.item(i));return{rowsAffected:e.rowsAffected,rows:t}})):Promise.reject("No Database with name "+e+" found")},e.prototype.extractQueryParams=function(e){var t;return(t=e.match(/[^"'\w\\]:\s*\w+\s*/g)||[]).length?t.map((function(e){return/[=|\W]/g.test(e)?e.replace(/\W/g,"").trim():e.trim()})):null},e.prototype.getAppInfo=function(){var e=this,t={name:"",packageName:"",versionNumber:"",versionCode:null};return this.appVersion.getPackageName().then((function(n){return t.packageName=n,e.appVersion.getAppName()})).then((function(n){return t.name=n,e.appVersion.getVersionNumber()})).then((function(n){return t.versionNumber=n,e.appVersion.getVersionCode()})).then((function(e){return t.versionCode=e,t}))},e.prototype.getCallbacksFor=function(e){return this.callbacks.map((function(t){return t[e]?t[e].bind(t):null}))},e.prototype.getMetaInfo=function(e){var t=cordova.file.applicationDirectory+W+"/";return this.deviceFileService.listFiles(t,e).then((function(e){return Promise.all(_.map(e,(function(e){return new Promise((function(n,i){$.getJSON(o.transformFileURI(t)+e.name,(function(e){return n(e)}))}))})))}))},e.prototype.isBundled=function(e,t){return this.getStore(e,t).then((function(e){return e.entitySchema.pullConfig.pullType===E.BUNDLED}))},e.prototype.loadDBSchemas=function(){var e=this;return this.getMetaInfo(/.+_dataModel\.json$/).then((function(t){var n=new Map;return(t=o.isArray(t)?t:[t]).push(q),t.map((function(t){return e.compactSchema(t)})).forEach((function(e){n[e.schema.name]=e})),n}))},e.prototype.loadNamedQueries=function(e){var t=this;return this.getMetaInfo(/.+_query\.json$/).then((function(n){return(n=_.isArray(n)?n:[n]).map((function(n){return e[n.name].queries=t.compactQueries(n)})),e}))},e.prototype.loadOfflineConfig=function(e){return this.getMetaInfo(/.+_offline\.json$/).then((function(t){return _.forEach(t,(function(t){_.forEach(t.entities,(function(n){var i=_.find(e[t.name].schema.entities,(function(e){return e.name===n.name}));_.assignIn(i,n)}))})),e}))},e.prototype.logSql=function(e){var t=this,n=console,i=e.executeSql;e.executeSql=function(o,r,a){var s=_.now();return i.call(e,o,r).then((function(e){if(a||t._logSql){for(var i=[],l=e.rows.length,c=0;c<l;c++)i.push(e.rows.item(c));n.debug('SQL "%s" with params %O took [%d ms]. And the result is %O',o,r,_.now()-s,i)}return e}),(function(e){return n.error('SQL "%s" with params %O failed with error message %s',o,r,e.message),Promise.reject(e)}))}},e.prototype.normalizeBooleanData=function(e,t,n){var i=this,o="update "+R(t)+" set "+R(n)+" = 1 where "+R(n)+" = 'true'",r="update "+R(t)+" set "+R(n)+" = 0\n where "+R(n)+" is not null and "+R(n)+" != 1";return this.executeSQLQuery(e,o).then((function(){return i.executeSQLQuery(e,r)}))},e.prototype.normalizeData=function(){var e=this;return Promise.all(_.map(this.databases,(function(t){return Promise.all(_.map(t.schema.entities,(function(n){return Promise.all(_.map(n.columns,(function(i){if("boolean"===i.sqlType)return e.normalizeBooleanData(t.schema.name,n.name,i.name)})))})))})))},e.prototype.openDatabase=function(e){var t=this;return this.sqlite.create({name:e.schema.name+".db",location:"default"}).then((function(n){e.sqliteObject=n,t.logSql(n);var i=_.map(e.schema.entities,(function(e){return new B(t.deviceFileService,e,t.file,t,n).create()}));return Promise.all(i).then((function(t){return _.forEach(t,(function(t){e.stores[t.entitySchema.entityName]=t})),e}))}))},e.prototype.setUpDatabases=function(){var e=this;return this.deviceService.getAppBuildTime().then((function(t){var n=e.deviceService.getEntry("database")||{};return(!n.lastBuildTime||n.lastBuildTime!==t)&&e.cleanAndCopyDatabases().then((function(){return n.lastBuildTime=t,e.deviceService.storeEntry("database",n)})).then((function(){return!0}))}))},e}();z.SERVICE_NAME="LocalDBManagementService",z.\u0275prov=g.\u0275\u0275defineInjectable({factory:function(){return new z(g.\u0275\u0275inject(w.AppVersion),g.\u0275\u0275inject(y.DeviceService),g.\u0275\u0275inject(y.DeviceFileService),g.\u0275\u0275inject(P.File),g.\u0275\u0275inject(S),g.\u0275\u0275inject(b.SecurityService),g.\u0275\u0275inject(O.SQLite))},token:z,providedIn:"root"}),z.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],z.ctorParameters=function(){return[{type:s.AppVersion},{type:r.DeviceService},{type:r.DeviceFileService},{type:i.File},{type:S},{type:a.SecurityService},{type:l.SQLite}]};var H=function(){},Y="changeLogService.flushContext",K="changeLogService.lastPushInfo",Q=function(){function e(e,t,n,i){this.localDBManagementService=e,this.localKeyValueService=t,this.pushService=n,this.networkService=i,this.workers=[],this.currentPushInfo={},this.addWorker(new X(this,this.localKeyValueService,this.currentPushInfo))}return e.prototype.add=function(e,t,n){var i=this,r={service:e,operation:t,params:n,hasError:0};return o.executePromiseChain(this.getWorkers("transformParamsToMap"),[r]).then((function(){return o.executePromiseChain(i.getWorkers("onAddCall"),[r])})).then((function(){return r.params=JSON.stringify(r.params),i.getStore().then((function(e){return e.add(r)})).then(o.noop)}))},e.prototype.addWorker=function(e){this.workers.push(e)},e.prototype.clearLog=function(){return this.getStore().then((function(e){return e.clear()}))},e.prototype.flush=function(e){var t,n=this;return this.deferredFlush||(this.deferredFlush=o.getAbortableDefer(),this.createContext().then((function(e){return n.flushContext=e,o.executePromiseChain(n.getWorkers("preFlush"),[n.flushContext])})).then((function(){return t=n._flush(e),n.deferredFlush.onAbort=function(){return t.abort()},t})).catch(o.noop).then((function(){Promise.resolve().then((function(){if(n.currentPushInfo.totalTaskCount===n.currentPushInfo.completedTaskCount)return n.flushContext.clear().then((function(){return n.flushContext=null}))})).then((function(){e.complete(),n.currentPushInfo.failedTaskCount>0?n.deferredFlush.reject(n.currentPushInfo):n.deferredFlush.resolve(n.currentPushInfo),n.deferredFlush=null})).then((function(){return o.executePromiseChain(n.getWorkers("postFlush"),[n.currentPushInfo,n.flushContext])}))}))),this.deferredFlush.promise},e.prototype.getChanges=function(){return this.getStore().then((function(e){return e.filter(void 0,"id",{offset:0,limit:500})})).then((function(e){return e.forEach((function(e){e.params=JSON.parse(e.params)})),e}))},e.prototype.getErrors=function(){return this.getStore().then((function(e){return e.filter([{attributeName:"hasError",attributeValue:1,attributeType:"NUMBER",filterCondition:"EQUALS"}])}))},e.prototype.getLastPushInfo=function(){return this.localKeyValueService.get(K).then((function(e){return o.isString(e.startTime)&&(e.startTime=new Date(e.startTime)),o.isString(e.endTime)&&(e.endTime=new Date(e.endTime)),e}))},e.prototype.getLogLength=function(){return this.getStore().then((function(e){return e.count([{attributeName:"hasError",attributeValue:0,attributeType:"NUMBER",filterCondition:"EQUALS"}])}))},e.prototype.getStore=function(){return this.localDBManagementService.getStore("wavemaker","offlineChangeLog")},e.prototype.isFlushInProgress=function(){return!(_.isUndefined(this.deferredFlush)||_.isNull(this.deferredFlush))},e.prototype.stop=function(){var e=this;return new Promise((function(t){e.deferredFlush?(e.deferredFlush.promise.catch().then(t),e.deferredFlush.promise.abort()):t()}))},e.prototype.createContext=function(){var e=this;return this.localKeyValueService.get(Y).then((function(t){return t=t||{},{clear:function(){return t={},e.localKeyValueService.remove(Y)},get:function(e){var n=t[e];return n||(n={},t[e]=n),n},save:function(){return e.localKeyValueService.put(Y,t)}}}))},e.prototype._flush=function(e,t){var n=this;return(t=t||o.getAbortableDefer()).isAborted?Promise.resolve():(this.getNextChange().then((function(e){if(e)return e.params=JSON.parse(e.params),n.flushChange(e)})).then((function(i){if(e.next(n.currentPushInfo),i)return n.getStore().then((function(e){return e.delete(i.id)})).then((function(){return n._flush(e,t)}));t.resolve()}),(function(i){if(n.networkService.isConnected())i.hasError=1,i.params=JSON.stringify(i.params),n.getStore().then((function(e){return e.save(i)})).then((function(){return n._flush(e,t)}));else{var o=n.networkService.onConnect();t.promise.catch((function(){o&&o.abort()})),o.then((function(){n._flush(e,t),o=null}))}})),t.promise)},e.prototype.flushChange=function(e){var t=this,n=this;return o.executePromiseChain(this.getWorkers("preCall"),[e]).then((function(){return e.hasError?Promise.reject(e.errorMessage):""})).then((function(){return o.executePromiseChain(t.getWorkers("transformParamsFromMap"),[e])})).then((function(){return t.pushService.push(e)})).then((function(){return o.executePromiseChain(_.reverse(n.getWorkers("postCallSuccess")),[e,arguments]).then((function(){return e}))})).catch((function(){return n.networkService.isConnected()?o.executePromiseChain(_.reverse(n.getWorkers("postCallError")),[e,arguments]).catch(o.noop).then((function(){return Promise.reject(e)})):Promise.reject(e)}))},e.prototype.getNextChange=function(){var e=[{attributeName:"hasError",attributeValue:0,attributeType:"NUMBER",filterCondition:"EQUALS"}];return this.getStore().then((function(t){return t.filter(e,"id",{offset:0,limit:1})})).then((function(e){return e&&e[0]}))},e.prototype.getWorkers=function(e){return _.map(this.workers,(function(t){return t[e]&&t[e].bind(t)}))},e}();Q.SERVICE_NAME="ChangeLogService",Q.\u0275prov=g.\u0275\u0275defineInjectable({factory:function(){return new Q(g.\u0275\u0275inject(z),g.\u0275\u0275inject(S),g.\u0275\u0275inject(H),g.\u0275\u0275inject(y.NetworkService))},token:Q,providedIn:"root"}),Q.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],Q.ctorParameters=function(){return[{type:z},{type:S},{type:H},{type:r.NetworkService}]};var X=function(){function e(e,t,n){this.changeLogService=e,this.localKeyValueService=t,this.pushInfo=n,this.logger=window.console}return e.prototype.onAddCall=function(e){this.logger.debug("Added the following call %o to log.",e)},e.prototype.preFlush=function(e){var t=this;return this.pushInfo.totalTaskCount=0,this.pushInfo.successfulTaskCount=0,this.pushInfo.failedTaskCount=0,this.pushInfo.completedTaskCount=0,this.pushInfo.inProgress=!0,this.pushInfo.startTime=new Date,this.flushContext=e,this.logger.debug("Starting flush"),this.changeLogService.getStore().then((function(e){return e.count([{attributeName:"hasError",attributeValue:0,attributeType:"NUMBER",filterCondition:"EQUALS"}])})).then((function(e){return t.pushInfo.totalTaskCount=e}))},e.prototype.postFlush=function(e,t){this.logger.debug("flush completed. {Success : %i , Error : %i , completed : %i, total : %i }.",this.pushInfo.successfulTaskCount,this.pushInfo.failedTaskCount,this.pushInfo.completedTaskCount,this.pushInfo.totalTaskCount),this.pushInfo.inProgress=!1,this.pushInfo.endTime=new Date,this.localKeyValueService.put(K,this.pushInfo),this.flushContext=null},e.prototype.preCall=function(e){this.logger.debug("%i. Invoking call %o",1+this.pushInfo.completedTaskCount,e)},e.prototype.postCallError=function(e,t){return this.pushInfo.completedTaskCount++,this.pushInfo.failedTaskCount++,this.logger.error("call failed with the response %o.",t),this.flushContext.save()},e.prototype.postCallSuccess=function(e,t){return this.pushInfo.completedTaskCount++,this.pushInfo.successfulTaskCount++,this.logger.debug("call returned the following response %o.",t),this.flushContext.save()},e}(),J=function(){function e(e){this.localDBManagementService=e,this.searchTableData=this.readTableData.bind(this),this.searchTableDataWithQuery=this.readTableData.bind(this),this.getDistinctDataByFields=this.readTableData.bind(this)}return e.prototype.getStore=function(e){return this.localDBManagementService.getStore(e.dataModelName,e.entityName)},e.prototype.insertTableData=function(e,t,n,i){void 0===i&&(i={}),this.getStore(e).then((function(n){var o=n.primaryKeyField&&"identity"===n.primaryKeyField.generatorType;return!1!==_.get(i,"resetPrimaryKey")&&o&&e.data[n.primaryKeyName]&&delete e.data[n.primaryKeyName],n.add(e.data).then((function(){n.refresh(e.data).then(t)}))})).catch(n)},e.prototype.insertMultiPartTableData=function(e,t,n,i){var o=this;void 0===i&&(i={}),this.getStore(e).then((function(r){r.serialize(e.data).then((function(r){e.data=r,o.insertTableData(e,t,n,i)}))})).catch(n)},e.prototype.updateTableData=function(e,t,n){this.getStore(e).then((function(n){return n.save(e.data).then((function(){n.refresh(e.data).then(t)}))})).catch(n)},e.prototype.updateMultiPartTableData=function(e,t,n){var i=e.data&&e.data.rowData||e.data;this.getStore(e).then((function(e){return e.save(i)})).then((function(){t&&t(i)})).catch(n)},e.prototype.deleteTableData=function(e,t,n){this.getStore(e).then((function(n){var i=n.primaryKeyField,o=e[i.fieldName]||e[i.name]||e.data&&e.data[i.fieldName]||e.id;n.delete(o).then(t)})).catch(n)},e.prototype.readTableData=function(e,t,n){var i=this;this.getStore(e).then((function(n){var o=e.filter((function(e,t){i.convertFieldNameToColumnName(n,e,t)}),!0);return o=o.replace(/wm_bool\('true'\)/g,1).replace(/wm_bool\('false'\)/g,0),n.count(o).then((function(i){var r=e.sort.split("=")[1];return n.filter(o,r,{offset:(e.page-1)*e.size,limit:e.size}).then((function(n){var o=Math.ceil(i/e.size);t({content:n,first:1===e.page,last:e.page===o,number:e.page-1,numberOfElements:n.length,size:e.size,sort:{sorted:!!r,unsorted:!r},totalElements:i,totalPages:o})}))}))})).catch(n)},e.prototype.escapeName=function(e){return e?'"'+(e=e.replace(/"/g,'""')).replace(/\./g,'"."')+'"':e},e.prototype.getColumnName=function(e,t){if(e.fieldToColumnMapping[t]){var n=this.escapeName(e.fieldToColumnMapping[t]);return n.indexOf(".")<0?this.escapeName(e.entitySchema.name)+"."+n:n}return t},e.prototype.convertFieldNameToColumnName=function(e,t,n){var i=this;_.forEach(t.rules,(function(t){t.rules?i.convertFieldNameToColumnName(e,t):t.target=i.getColumnName(e,t.target)})),n&&n.filterFields&&(n.filterFields=_.mapKeys(n.filterFields,(function(t,n){return i.getColumnName(e,n)})))},e}();J.SERVICE_NAME="LocalDbService",J.\u0275prov=g.\u0275\u0275defineInjectable({factory:function(){return new J(g.\u0275\u0275inject(z))},token:J,providedIn:"root"}),J.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],J.ctorParameters=function(){return[{type:z}]};var Z=function(){function e(){this.logger=window.console}return e.prototype.preFlush=function(e){this.fileStore=e.get("offlineFileUpload")},e.prototype.preCall=function(e){var t=this;"DatabaseService"===e.service&&(e.params.data=_.mapValues(e.params.data,(function(e){var n=t.fileStore[e];return n?(t.logger.debug("swapped file path from %s -> %s",e,n),n):e})))},e.prototype.postCallSuccess=function(e,t){if("OfflineFileUploadService"===e.service&&"uploadToServer"===e.operation){var n=JSON.parse(t[0].text)[0];this.fileStore[e.params.file]=n.path,this.fileStore[e.params.file+"?inline"]=n.inlinePath}},e}(),ee=function(){function e(e,t,n,i){this.changeLogService=e,this.deviceFileService=t,this.localDBManagementService=n,this.file=i}return e.prototype.preExport=function(e,t){var n=this.deviceFileService.getUploadDirectory(),i=n.lastIndexOf("/"),o=n.substring(0,i+1),r=n.substring(i+1);return t.uploadDir=n,this.file.copyDir(o,r,e,"uploads")},e.prototype.postImport=function(e,t){var n=this,i=this.deviceFileService.getUploadDirectory(),r=i.lastIndexOf("/"),a=i.substring(0,r+1),s=i.substring(r+1);return this.uploadDir=i,this.file.checkDir(e,"uploads").then((function(){return n.deviceFileService.removeDir(i).then((function(){return n.file.copyDir(e,"uploads",a,s)})).then((function(){return n.updateChanges(t)}))}),o.noop)},e.prototype.getChanges=function(e,t){return this.changeLogService.getStore().then((function(n){return n.filter([],"id",{offset:(e-1)*t,limit:t})}))},e.prototype.updateDBChange=function(e,t,n){var i=this,o={},r=e.params.entityName,a=e.params.dataModelName;e.params.data=_.mapValues(e.params.data,(function(e,i){var r=e,a=!1;return _.isString(e)?(r=_.replace(e,t,n),a=!_.isEqual(r,e)):_.isObject(e)&&e.wmLocalPath&&(r=_.replace(e.wmLocalPath,t,n),a=!_.isEqual(r,e.wmLocalPath)),a&&(o[i]=r),r})),_.isEmpty(o)||this.localDBManagementService.getStore(a,r).then((function(t){if(t.primaryKeyField&&"identity"===t.primaryKeyField.generatorType){var n=t.primaryKeyName,i=e.params.data[n];return t.get(i).then((function(e){return t.save(_.assignIn(e,o))}))}})).then((function(){return e.params=JSON.stringify(e.params),i.changeLogService.getStore().then((function(t){return t.save(e)}))}))},e.prototype.updateChange=function(e,t){return e.params=JSON.parse(e.params),"OfflineFileUploadService"===e.service&&"uploadToServer"===e.operation?(e.params.file=_.replace(e.params.file,t.uploadDir,this.uploadDir),e.params=JSON.stringify(e.params),this.changeLogService.getStore().then((function(t){return t.save(e)}))):"DatabaseService"===e.service?this.updateDBChange(e,t.uploadDir,this.uploadDir):void 0},e.prototype.updateChanges=function(e,t){var n=this;void 0===t&&(t=1);return this.getChanges(t,10).then((function(t){if(t&&t.length>0)return Promise.all(t.map((function(t){return n.updateChange(t,e)})))})).then((function(i){if(i&&10===i.length)return n.updateChanges(e,t+1)}))},e}(),te=function(){function e(e){this.localDBManagementService=e}return e.prototype.preFlush=function(e){this.errorStore=e.get("errorBlockerStore")},e.prototype.preCall=function(e){var t=this;if(e&&"DatabaseService"===e.service){var n=e.params.entityName,i=e.params.dataModelName;switch(e.operation){case"insertTableData":case"insertMultiPartTableData":case"updateTableData":case"updateMultiPartTableData":return this.localDBManagementService.getStore(i,n).then((function(o){t.blockCall(o,e,i,n,e.params.data)}));case"deleteTableData":return this.localDBManagementService.getStore(i,n).then((function(o){t.blockCall(o,e,i,n,e.params)}))}}},e.prototype.postCallSuccess=function(e){var t=this;if(e&&"DatabaseService"===e.service){var n=e.params.entityName,i=e.params.dataModelName;return this.localDBManagementService.getStore(i,n).then((function(o){var r=e.dataLocalId||e.params.data[o.primaryKeyName];_.isUndefined(r)||_.isNull(r)||t.removeError(i,n,r)}))}},e.prototype.postCallError=function(e){var t=this;if(e&&"DatabaseService"===e.service){var n=e.params.entityName,i=e.params.dataModelName;return this.localDBManagementService.getStore(i,n).then((function(o){var r=e.dataLocalId||e.params.data&&e.params.data[o.primaryKeyName]||e.params[o.primaryKeyName]||e.params.id;_.isUndefined(r)||_.isNull(r)||t.recordError(i,n,r)}))}},e.prototype.blockCall=function(e,t,n,i,o){var r=this;0===t.hasError&&(this.checkForPreviousError(e,t,n,i,o),e.entitySchema.columns.forEach((function(i){i.foreignRelations&&i.foreignRelations.some((function(a){return o[a.sourceFieldName]?r.blockCall(e,t,n,a.targetEntity,o[a.sourceFieldName]):o[i.fieldName]&&r.checkForPreviousError(e,t,n,a.targetEntity,o,i.fieldName),1===t.hasError}))})))},e.prototype.checkForPreviousError=function(e,t,n,i,o,r){var a=r||e.primaryKeyName;this.hasError(n,i,o[a])&&(t.hasError=1,t.errorMessage="Blocked call due to error in previous call of entity [ "+i+" ] with id [ "+o[a]+" ]")},e.prototype.hasError=function(e,t,n){return!!(this.errorStore[e]&&this.errorStore[e][t]&&this.errorStore[e][t][n])},e.prototype.removeError=function(e,t,n){this.errorStore[e]&&this.errorStore[e][t]&&this.errorStore[e][t][n]&&delete this.errorStore[e][t][n]},e.prototype.recordError=function(e,t,n){this.errorStore[e]=this.errorStore[e]||{},this.errorStore[e][t]=this.errorStore[e][t]||{},this.errorStore[e][t][n]=!0},e}(),ne=function(){function e(e){this.localDBManagementService=e,this.logger=window.console}return e.prototype.preFlush=function(e){this.idStore=e.get("idConflictResolution")},e.prototype.preCall=function(e){var t=this;if(e&&"DatabaseService"===e.service){var n=e.params.entityName,i=e.params.dataModelName;switch(e.operation){case"insertTableData":case"insertMultiPartTableData":return e.params.skipLocalDB=!0,this.localDBManagementService.getStore(i,n).then((function(r){var a=r.primaryKeyName;return a&&(t.transactionLocalId=e.params.data[a],e.dataLocalId=t.transactionLocalId),t.exchangeIds(r,i,n,e.params.data).then((function(){if(r.primaryKeyField&&"identity"===r.primaryKeyField.generatorType)delete e.params.data[a];else{var s=r.getValue(e.params.data,r.primaryKeyName);o.isDefined(s)&&(e.params.data[a]=s,null!==t.transactionLocalId&&t.pushIdToStore(i,n,t.transactionLocalId,s)),t.transactionLocalId=null}}))}));case"updateTableData":case"updateMultiPartTableData":case"deleteTableData":return this.localDBManagementService.getStore(i,n).then((function(o){if(t.exchangeId(o,i,n,e.params,"id"),e.params.data)return t.exchangeIds(o,i,n,e.params.data)}))}}},e.prototype.postCallSuccess=function(e,t){var n=this;if(e&&"DatabaseService"===e.service&&("insertTableData"===e.operation||"insertMultiPartTableData"===e.operation)&&this.transactionLocalId){var i=t[0].body,r=e.params.entityName,a=e.params.dataModelName;return this.localDBManagementService.getStore(a,r).then((function(e){return n.pushIdToStore(a,r,n.transactionLocalId,i[e.primaryKeyName]),e.delete(n.transactionLocalId).catch(o.noop).then((function(){return n.transactionLocalId=null,e.save(i)}))}))}},e.prototype.postCallError=function(e){var t=this;if(e&&"DatabaseService"===e.service&&("insertTableData"===e.operation||"insertMultiPartTableData"===e.operation)&&this.transactionLocalId){var n=e.params.entityName,i=e.params.dataModelName;return this.localDBManagementService.getStore(i,n).then((function(n){e.params.data[n.primaryKeyName]=t.transactionLocalId}))}},e.prototype.getEntityIdStore=function(e,t){return this.idStore[e]=this.idStore[e]||{},this.idStore[e][t]=this.idStore[e][t]||{},this.idStore[e][t]},e.prototype.pushIdToStore=function(e,t,n,i){n!==i&&(this.getEntityIdStore(e,t)[n]=i,this.logger.debug("Conflict found for entity (%s) with local id (%i) and remote Id (%i)",t,n,i))},e.prototype.logResolution=function(e,t,n){this.logger.debug("Conflict resolved found for entity (%s) with local id (%i) and remote Id (%i)",e,t,n)},e.prototype.exchangeId=function(e,t,n,i,o){var r=o||e.primaryKeyName,a=this.getEntityIdStore(t,n);if(i&&r){for(var s=i[r],l=s;a[l];)l=a[l];l!==s&&(i[r]=l,this.logResolution(n,s,l))}},e.prototype.exchangeIds=function(e,t,n,i){var o=this;this.exchangeId(e,t,n,i);var r=[];return e.entitySchema.columns.forEach((function(n){n.foreignRelations&&n.foreignRelations.forEach((function(a){i[n.fieldName]&&o.exchangeId(e,t,a.targetEntity,i,n.fieldName),i[a.sourceFieldName]&&r.push(o.localDBManagementService.getStore(t,a.targetEntity).then((function(e){return o.exchangeIds(e,t,a.targetEntity,i[a.sourceFieldName])})))}))})),Promise.all(r)},e}();ne.decorators=[{type:t.Injectable}],ne.ctorParameters=function(){return[{type:z}]};var ie=function(){function e(e,t){this.deviceFileService=e,this.localDBManagementService=t}return e.prototype.postCallSuccess=function(e){var t=this;if(e&&"DatabaseService"===e.service)switch(e.operation){case"insertMultiPartTableData":case"updateMultiPartTableData":_.forEach(e.params.data,(function(e){_.isObject(e)&&e.wmLocalPath&&t.deviceFileService.removeFile(e.wmLocalPath)}))}},e.prototype.transformParamsFromMap=function(e){if(e&&"DatabaseService"===e.service)switch(e.operation){case"insertMultiPartTableData":case"updateMultiPartTableData":return this.localDBManagementService.getStore(e.params.dataModelName,e.params.entityName).then((function(t){return t.deserialize(e.params.data).then((function(t){e.params.data=t}))}))}},e.prototype.transformParamsToMap=function(e){if(e&&"DatabaseService"===e.service)switch(e.operation){case"insertMultiPartTableData":case"updateMultiPartTableData":return this.localDBManagementService.getStore(e.params.dataModelName,e.params.entityName).then((function(t){return t.serialize(e.params.data).then((function(n){return e.params.data=n,t.save(_.mapValues(n,(function(e){return _.isObject(e)&&e.wmLocalPath||e}))),n}))}))}},e}(),oe=[{name:"insertTableData",type:"INSERT"},{name:"insertMultiPartTableData",type:"INSERT"},{name:"updateTableData",type:"UPDATE"},{name:"updateMultiPartTableData",type:"UPDATE"},{name:"deleteTableData",type:"DELETE"},{name:"readTableData",type:"READ",saveResponse:!0},{name:"searchTableData",type:"READ",saveResponse:!0},{name:"searchTableDataWithQuery",type:"READ",saveResponse:!0},{name:"getDistinctDataByFields",type:"READ",saveResponse:!1}],re=!1,ae=function(){function e(e,t,n,i,o){this.changeLogService=e,this.httpService=t,this.localDBManagementService=n,this.networkService=i,this.offlineDBService=o,this.onlineDBService=m.LVService}return e.prototype.add=function(){var e=this;if(!re){re=!0;var t=this.httpService.sendCallAsObservable;t&&(this.httpService.sendCallAsObservable=function(n,i){!i&&_.get(n,"url")&&(i={url:n.url});var o=_.clone(i.url);i=_.extend(i,n);var r=_.find(oe,{name:_.get(i,"operation")});return e.networkService.isConnected()||i.onlyOnline||!r||!i.dataModelName?h.from(e.remoteDBcall(r,t,i)):h.from(e.localDBManagementService.isOperationAllowed(i.dataModelName,i.entityName,r.type).then((function(n){var a;return n?Promise.resolve().then((function(){if(!i.isCascadingStopped&&("insertTableData"===r.name||"updateTableData"===r.name))return e.prepareToCascade(i).then((function(e){return a=e}))})).then((function(){return new Promise((function(t,n){e.localDBcall(r,i,t,n,o)}))})).then((function(t){return a?a.cascade().then((function(){return e.getStore(i).then((function(e){return e.refresh(t.body)})).then((function(e){return t&&t.body&&(t.body=e),t}))})):t})):e.remoteDBcall(r,t,i)})))})}},e.prototype.getStore=function(e){return this.localDBManagementService.getStore(e.dataModelName,e.entityName)},e.prototype.hasBlob=function(e){return!!_.filter(e.entitySchema.columns,{sqlType:"blob"}).length},e.prototype.localDBcall=function(e,t,n,i,r){var a=this;return new Promise((function(n,i){a.offlineDBService[e.name](t,(function(i){if("READ"!==e.type)return t.onlyOnline=!0,t.url=r,a.changeLogService.add("DatabaseService",e.name,t).then((function(){return n(i)}));n(i)}))})).then((function(e){return e={body:e,type:T},o.triggerFn(n,e),e}),i)},e.prototype.remoteDBcall=function(e,t,n){var i=this;return new Promise((function(r,a){t.call(i.httpService,n).subscribe((function(t){t&&t.type&&(n.skipLocalDB||i.offlineDBService.getStore(n).then((function(r){"READ"===e.type&&e.saveResponse?r.saveAll(t.body.content):"INSERT"===e.type?((n=_.clone(n)).data=_.clone(t.body),i.offlineDBService[e.name](n,o.noop,o.noop,{resetPrimaryKey:!1})):i.offlineDBService[e.name](n,o.noop,o.noop)})).catch(o.noop),r(t))}),(function(e){a(e)}))}))},e.prototype.prepareToCascade=function(e){var t=this;return this.getStore(e).then((function(n){var i=[];return _.forEach(e.data,(function(o,r){var a,s,l;if(_.isObject(o)&&!_.isArray(o)&&(a=n.entitySchema.columns.find((function(e){return e.primaryKey&&e.foreignRelations&&(s=e.foreignRelations.find((function(e){return e.sourceFieldName===r}))),!!s}))),a){(l=_.cloneDeep(e)).entityName=s.targetEntity,l.data=o;var c=t.getStore(l).then((function(i){var o=e.data,a=i.entitySchema.columns.find((function(e){return e.name===s.targetColumn}));if(a&&a.foreignRelations){var c=a.foreignRelations.find((function(e){return e.targetTable===n.entitySchema.name})).sourceFieldName;l.data[c]=o}return o[r]=null,l.onlyOnline=!1,l.isCascadingStopped=!0,l.hasBlob=t.hasBlob(i),l.url="",function(){return Promise.resolve().then((function(){var e=i.getValue(l.data,i.primaryKeyField.fieldName);return e?i.get(e):null})).then((function(e){var n;return n=e?l.hasBlob?"updateMultiPartTableData":"updateTableData":l.hasBlob?"insertMultiPartTableData":"insertTableData",t.onlineDBService[n](l).toPromise()}))}}));i.push(c)}})),Promise.all(i).then((function(e){return{cascade:function(){return Promise.all(e.map((function(e){return e()})))}}}))}))},e}(),se=!1,le=function(){function e(e,t,n,i,o,r){this.changeLogService=e,this.deviceFileService=t,this.deviceFileUploadService=n,this.file=i,this.networkService=o,this.uploadDir=r}return e.prototype.add=function(){var e=this;if(!se){se=!0;var t=this.deviceFileUploadService.upload;this.deviceFileUploadService.uploadToServer=t,this.deviceFileUploadService.upload=function(n,i,o,r,a,s){return e.networkService.isConnected()?t.call(e.deviceFileUploadService,n,i,o,r,a,s):e.uploadLater(n,i,o,r,a,s).then((function(e){return{text:JSON.stringify(e),headers:null,response:e}}))}}},e.prototype.uploadLater=function(e,t,n,i,o,r){var a=this,s=n.lastIndexOf("/"),l=n.substring(0,s),c=n.substring(s+1),p=this.deviceFileService.appendToFileName(c),u=this.uploadDir+"/"+p;return this.file.copyFile(l,c,this.uploadDir,p).then((function(){return a.changeLogService.add("OfflineFileUploadService","uploadToServer",{file:u,ftOptions:{fileKey:t,fileName:i},params:o,headers:r,serverUrl:e,deleteOnUpload:!0})})).then((function(){return[{fileName:c,path:u,length:0,success:!0,inlinePath:u+"?inline"}]}))},e}(),ce=/^\d+(\.\d+)?$/,pe=!1,ue=function(){function e(e,t,n,i){this.changeLogService=e,this.httpService=t,this.localDBManagementService=n,this.networkService=i}return e.prototype.add=function(){var e=this;if(!pe){pe=!0;var t=this.httpService.sendCallAsObservable;this.httpService.sendCallAsObservable=function(n,i){return!i&&_.get(n,"url")&&(i={url:n.url}),!e.networkService.isConnected()&&i.url.indexOf("/queryExecutor/")>0?h.from(e.executeLocally(i)):t.call(e.httpService,n,i)}}},e.prototype.executeLocally=function(e){var t=this,n=e.url,i=n.indexOf("?")>0,o=this.substring(n,"services/","/queryExecutor"),r=this.substring(n,"queries/",i?"?":void 0),a=i?this.getHttpParamMap(this.substring(n,"?",void 0)):{},s=this.getHttpParamMap(e.dataParams),l=_.extend(a,s);return this.localDBManagementService.executeNamedQuery(o,r,l).then((function(n){var i=n.rows;return n.rowsAffected?t.changeLogService.add("WebService","invokeJavaService",e).then((function(){return n.rowsAffected})):{type:T,body:{totalPages:i&&i.length>0?1:0,totalElements:i.length,first:!0,sort:null,numberOfElements:i.length,last:!0,size:e.size,number:0,content:i}}}))},e.prototype.substring=function(e,t,n){if(t){var i=e.indexOf(t)+t.length,o=n?e.indexOf(n):void 0;return e.substring(i,o)}},e.prototype.getHttpParamMap=function(e){var t={};return e&&(e=decodeURIComponent(e)).split("&").forEach((function(e){var n=e.split("=");_.isEmpty(_.trim(n[1]))||!ce.test(n[1])?t[n[0]]=n[1]:t[n[0]]=parseInt(n[1],10)})),t},e}(),de="logged-in-user.info",he=!1,me=function(){function e(e,t,n,i,o){var r=this;this.app=e,this.file=t,this.deviceService=n,this.networkService=i,this.securityService=o,this.saveSecurityConfigLocally=_.debounce((function(e){r._saveSecurityConfigLocally(e)}),1e3)}return e.prototype.add=function(){var e=this;if(!he){he=!0;var t=this.securityService.load,n=this.securityService.appLogout;this.securityService.load=function(n){return new Promise((function(i,o){e.networkService.isConnected()?t.call(e.securityService,n).then((function(t){e.securityConfig=t,e.saveSecurityConfigLocally(t),i(e.securityConfig)}),o):e.readLocalSecurityConfig().then((function(t){return void 0===t&&(t={}),e.securityConfig=t,e.securityService.config=t,t}),(function(){return t.call(e.securityConfig)})).then(i,o)}))},this.securityService.appLogout=function(t,i){e.securityConfig={authenticated:!1,loggedOut:!0,securityEnabled:e.securityConfig&&e.securityConfig.securityEnabled,loggedOutOffline:!e.networkService.isConnected(),loginConfig:e.securityConfig&&e.securityConfig.loginConfig,userInfo:null},e._saveSecurityConfigLocally(e.securityConfig).catch(o.noop).then((function(){e.networkService.isConnected()?n.call(e.securityService,t,i):location.assign(window.location.origin+window.location.pathname)}))},this.securityService.isAuthenticated=function(t){o.triggerFn(t,!0===e.securityConfig.authenticated)},this.deviceService.whenReady().then((function(){return e.clearLastLoggedInUser()})),this.app.subscribe("onNetworkStateChange",(function(t){t.isConnected&&e.clearLastLoggedInUser()}))}},e.prototype._saveSecurityConfigLocally=function(e){return this.file.writeFile(cordova.file.dataDirectory,de,JSON.stringify(e),{replace:!0})},e.prototype.clearLastLoggedInUser=function(){var e=this;return this.readLocalSecurityConfig().then((function(t){t&&t.loggedOutOffline?e.securityService.appLogout(null,null):e.networkService.isConnected()||(e.securityConfig=t||{})}))},e.prototype.readLocalSecurityConfig=function(){var e=this;return new Promise((function(t,n){var i=cordova.file.dataDirectory;e.file.checkFile(i,de).then((function(){return e.readFileAsTxt(i,de).then(t,n)}),(function(){var i=cordova.file.applicationDirectory+"www/metadata/app";return e.readFileAsTxt(i,"security-config.json").then(t,n)}))}))},e.prototype.readFileAsTxt=function(e,t){return this.file.readAsText(e,t).then(JSON.parse).catch(o.noop)},e}(),fe=function(){function e(t,n,i,r,a,s,l,c,p,u,d){o.hasCordova()&&e.initialize(t,n,i,r,a,s,l,c,p,u,d)}return e.initialize=function(e,t,n,i,r,a,s,l,c,p,u){this.initialized||(n.addStartUpService({getServiceName:function(){return"OfflineStartupService"},start:function(){return window.SQLitePlugin?(l.setLogSQl("true"===sessionStorage.getItem("wm.logSql")||"true"===sessionStorage.getItem("debugMode")),window.logSql=function(e){void 0===e&&(e=!0),l.setLogSQl(e),sessionStorage.setItem("wm.logSql",e?"true":"false")},window.executeLocalSql=function(e,t,n){l.executeSQLQuery(e,t,n,!0)},l.loadDatabases().then((function(){t.addWorker(new ne(l)),t.addWorker(new te(l)),t.addWorker(new Z),t.addWorker(new ie(i,l)),new ae(t,s,l,p,c).add(),new le(t,i,r,a,p,i.getUploadDirectory()).add(),new ue(t,s,l,p).add(),l.registerCallback(new ee(t,i,l,a)),t.addWorker({onAddCall:function(){p.isConnected()||p.disableAutoConnect()},postFlush:function(e){e.totalTaskCount>0&&l.close().catch(o.noop).then((function(){location.assign(window.location.origin+window.location.pathname)}))}})}))):Promise.resolve()}}),new me(e,a,n,p,u).add())},e}();fe.initialized=!1,fe.decorators=[{type:t.NgModule,args:[{imports:[n.CommonModule],declarations:[],exports:[],providers:[],entryComponents:[]}]}],fe.ctorParameters=function(){return[{type:o.App},{type:Q},{type:r.DeviceService},{type:r.DeviceFileService},{type:r.DeviceFileUploadService},{type:i.File},{type:o.AbstractHttpService},{type:z},{type:J},{type:r.NetworkService},{type:a.SecurityService}]};var ge=function(){function e(e){this.deviceFileUploadService=e}return e.prototype.getPromiseFromObs=function(e){return new Promise((function(t,n){e.subscribe((function(e){e&&e.type&&t(e)}),n)}))},e.prototype.push=function(e){var t=e.params;switch(e.service){case"DatabaseService":switch(e.operation){case"insertTableData":return this.getPromiseFromObs(m.LVService.insertTableData(e.params,null,null));case"insertMultiPartTableData":return this.getPromiseFromObs(m.LVService.insertMultiPartTableData(e.params,null,null));case"updateTableData":return this.getPromiseFromObs(m.LVService.updateTableData(e.params,null,null));case"updateMultiPartTableData":return this.getPromiseFromObs(m.LVService.updateMultiPartTableData(e.params,null,null));case"deleteTableData":return this.getPromiseFromObs(m.LVService.deleteTableData(e.params,null,null))}case"OfflineFileUploadService":if("uploadToServer"===e.operation)return this.deviceFileUploadService.uploadToServer.call(this.deviceFileUploadService,t.serverUrl,t.ftOptions.fileKey,t.file,t.ftOptions.fileName,t.params,t.headers)}return Promise.reject(e.service+" service with operation "+e.operation+" is not supported for push.")},e}();ge.decorators=[{type:t.Injectable}],ge.ctorParameters=function(){return[{type:r.DeviceFileUploadService}]};var ve="localDBManager.lastPullInfo",ye=function(){var e={};return{start:function(e){e.$$pullProcessId="PULL_"+_.now()},add:function(t,n){var i=t.$$pullProcessId;e[i]||(e[i]=[]),e[i].push(n)},remove:function(t,n){var i=t.$$pullProcessId;_.remove(e[i],n),_.isEmpty(e[i])&&delete e[i]},abort:function(t){var n=t.$$pullProcessId;return e[n]&&(_.forEach(e[n],(function(e){e&&e.abort&&e.abort()})),delete e[n]),t.$$isMarkedToAbort=!0,t.catch((function(){return"cancelled"}))}}},be=ye(),we=function(){function e(e,t,n,i){var o=this;this.app=e,this.localDBManagementService=t,this.localKeyValueService=n,this.networkService=i,this.localDBManagementService.registerCallback({onDbCreate:function(e){o.localKeyValueService.put(ve,{databases:[],totalRecordsToPull:0,totalPulledRecordCount:0,startTime:new Date(0),endTime:new Date(e.dbSeedCreatedOn)})}})}return e.prototype.addDeltaCriteria=function(e,t,n){var i,o=this,r=e.schema.entities[t],a=r.pullConfig.deltaFieldName,s=_.find(r.columns,{fieldName:a})||{};return _.isEmpty(a)?Promise.resolve(n):this.localDBManagementService.isBundled(e.schema.name,t).then((function(e){return i=e})).then((function(){return o.getLastPullInfo()})).then((function(o){var r=o&&o.startTime&&o.startTime.getTime(),l=_.find(o&&o.databases,{name:e.schema.name}),c=_.find(l&&l.entities,{entityName:t})||{};return!r&&i&&(r=o&&o.endTime&&o.endTime.getTime(),c.query=n),c.query===n&&r>0&&(_.isEmpty(n)?n="":n+=" AND ","datetime"===s.sqlType?n+=a+" > '"+moment(r).utc().format("YYYY-MM-DDTHH:mm:ss")+"'":n+=a+" > "+r),n}),(function(){return Promise.resolve(n)}))},e.prototype.copyDataFromRemoteDBToLocalDB=function(e,t,n,i,r){var a,s=this,l=e.stores[t],c=e.schema.entities[t],p={entityName:t,totalRecordsToPull:0,pulledRecordCount:0},u=0,d=!1;return new Promise((function(h,m){s.prepareQuery(e,t).then((function(n){return p.query=n,s.addDeltaCriteria(e,t,n)})).then((function(e){return n&&p.query===e?l.clear().then((function(){return e})):e})).then((function(t){return a=_.isEmpty(t)?"":"q="+t,s.getTotalRecordsToPull(e,c,a,i)})).then((function(n){var m=c.pullConfig.size||100,f=Math.ceil(n/m);p.totalRecordsToPull=n;var g=c.pullConfig.orderBy;g=(_.isEmpty(g)?"":g+",")+l.primaryKeyName,r.next(p);var v={next:function(e){u++,e=_.slice(e,0,p.totalRecordsToPull-p.pulledRecordCount),l.saveAll(e).then((function(){p.pulledRecordCount+=e?e.length:0,r.next(p)})).catch(o.noop).then((function(){0===--u&&d&&h(p)}))},error:null,complete:null};return s._pullEntityData(e,t,a,g,f,m,1,i,void 0,v)})).then(null,m).catch(o.noop).then((function(){d=!0,0===u&&h(p)}))}))},e.prototype.evalIfBind=function(e){return _.startsWith(e,"bind:")?(e=e.replace(/\[\$\i\]/g,"[0]"),o.$parseExpr(e.replace("bind:",""))(this.app)):e},e.prototype.executeDatabaseCountQuery=function(e){return new Promise((function(t,n){m.LVService.countTableDataWithQuery(e,null,null).subscribe((function(e){return t(e.body)}),n)}))},e.prototype.executeDatabaseSearchQuery=function(e){return new Promise((function(t,n){return m.LVService.searchTableDataWithQuery(e,null,null).subscribe((function(e){return t(e&&e.body&&e.body.content)}),n)}))},e.prototype.getTotalRecordsToPull=function(e,t,n,i){var o=this,r={dataModelName:e.schema.name,entityName:t.entityName,queryParams:n};return this.retryIfNetworkFails((function(){return o.executeDatabaseCountQuery(r).then((function(e){var n=e,i=_.parseInt(t.pullConfig.maxNumberOfRecords);return _.isNaN(i)||i<=0||n<i?n:i}))}),i)},e.prototype.prepareQuery=function(e,t){var n,i=this,o=e.schema.entities[t];return this.localDBManagementService.isBundled(e.schema.name,t).then((function(e){var t=!1;if(e||_.isEmpty(o.pullConfig.query)){if(n=_.cloneDeep(o.pullConfig.filter),n=_.map(n,(function(e){return e.attributeValue=i.evalIfBind(e.attributeValue),t=t||_.isNil(e.attributeValue),e})),t)return Promise.reject("Null criteria values are present");n=_.sortBy(n,"attributeName"),n=m.LiveVariableUtils.getSearchQuery(n," AND ",!0)}else n=i.evalIfBind(o.pullConfig.query);return _.isNil(n)?Promise.resolve(null):Promise.resolve(encodeURIComponent(n))}))},e.prototype._pullDbData=function(e,t,n,i){var o=this,r=e.schema.name,a={name:e.schema.name,entities:[],totalRecordsToPull:0,pulledRecordCount:0,completedTaskCount:0,totalTaskCount:0},s=[];return _.forEach(e.schema.entities,(function(e){s.push(o.localDBManagementService.getStore(r,e.entityName))})),new Promise((function(r,l){Promise.all(s).then((function(s){var c=[];s.forEach((function(e){var t=e.entitySchema.pullConfig,n=t.pullType;(n===E.APP_START||n===E.BUNDLED&&t.deltaFieldName)&&c.push(e.entitySchema)}));var p=_.chain(c).map((function(r){var s={next:function(e){var t=_.findIndex(a.entities,{entityName:e.entityName});t>=0?a.entities[t]=e:a.entities.push(e),a.pulledRecordCount=_.reduce(a.entities,(function(e,t){return e+t.pulledRecordCount}),0),a.totalRecordsToPull=_.reduce(a.entities,(function(e,t){return e+t.totalRecordsToPull}),0),i.next(a)},error:null,complete:null};return o.copyDataFromRemoteDBToLocalDB(e,r.entityName,t,n,s).then((function(e){return a.completedTaskCount++,i.next(a),e}),null)})).value();a.totalTaskCount=p.length,i.next(a),Promise.all(p).then(r,l)}))}))},e.prototype._pullEntityData=function(e,t,n,i,r,a,s,l,c,p){var u=this,d=e.schema.name;if(c||(c=o.defer()),s>r)return c.resolve();var h={dataModelName:d,entityName:t,page:s,size:a,data:n,sort:i,onlyOnline:!0,skipLocalDB:!0};return this.retryIfNetworkFails((function(){return u.executeDatabaseSearchQuery(h)}),l).then((function(o){p.next(o),u._pullEntityData(e,t,n,i,r,a,s+1,l,c,p)}),c.reject),c.promise},e.prototype.retryIfNetworkFails=function(e,t){if(t.$$isMarkedToAbort)return Promise.reject("aborted");var n=this.networkService.retryIfNetworkFails(e);return be.add(t,n),n.catch(o.noop).then((function(){be.remove(t,n)})),n},e.prototype.cancel=function(e){return be.abort(e)},e.prototype.getDb=function(e){return this.localDBManagementService.loadDatabases().then((function(t){return _.find(t,{name:e})||Promise.reject("Local database ("+e+") not found")}))},e.prototype.getLastPullInfo=function(){return this.localKeyValueService.get(ve).then((function(e){return _.isString(e.startTime)&&(e.startTime=new Date(e.startTime)),_.isString(e.endTime)&&(e.endTime=new Date(e.endTime)),e}))},e.prototype.pullAllDbData=function(e,t){var n=this,i=o.getAbortableDefer(),r={completedTaskCount:0,totalTaskCount:0,inProgress:!0,databases:[],totalRecordsToPull:0,totalPulledRecordCount:0,startTime:new Date,endTime:new Date};return this.localDBManagementService.loadDatabases().then((function(o){var a=_.chain(o).filter((function(e){return!e.schema.isInternal})).map((function(o){be.start(i.promise);var a={next:function(e){var n=_.findIndex(r.databases,{name:e.name});n>=0?r.databases[n]=e:r.databases.push(e),r.totalTaskCount=_.reduce(r.databases,(function(e,t){return e+t.totalTaskCount}),0),r.completedTaskCount=_.reduce(r.databases,(function(e,t){return e+t.completedTaskCount}),0),r.totalPulledRecordCount=_.reduce(r.databases,(function(e,t){return e+t.pulledRecordCount}),0),r.totalRecordsToPull=_.reduce(r.databases,(function(e,t){return e+t.totalRecordsToPull}),0),t.next(r)},error:null,complete:null};return n._pullDbData(o,e,i.promise,a)})).value();return Promise.all(a)})).then((function(){r.endTime=new Date,r.inProgress=!1,n.localKeyValueService.put(ve,r),i.resolve(r)}),i.reject),i.promise},e.prototype.pullDbData=function(e,t,n){var i=this,r=o.getAbortableDefer();return this.getDb(e).then((function(e){return i._pullDbData(e,t,r.promise,n)})).then(r.resolve,r.reject),r.promise},e.prototype.pullEntityData=function(e,t,n,i){var r=this,a=o.getAbortableDefer();return this.getDb(e).then((function(e){return r.copyDataFromRemoteDBToLocalDB(e,t,n,a.promise,i)})).then(a.resolve,a.reject),a.promise},e}();we.SERVICE_NAME="LocalDBDataPullService",we.\u0275prov=g.\u0275\u0275defineInjectable({factory:function(){return new we(g.\u0275\u0275inject(v.App),g.\u0275\u0275inject(z),g.\u0275\u0275inject(S),g.\u0275\u0275inject(y.NetworkService))},token:we,providedIn:"root"}),we.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],we.ctorParameters=function(){return[{type:o.App},{type:z},{type:S},{type:r.NetworkService}]},e.CONTEXT_KEY=Y,e.ChangeLogService=Q,e.LAST_PUSH_INFO_KEY=K,e.LocalDBDataPullService=we,e.LocalDBManagementService=z,e.LocalDbService=J,e.OfflineModule=fe,e.PushService=H,e.PushServiceImpl=ge,e["\u02750"]=ye,e["\u0275a"]=S,Object.defineProperty(e,"__esModule",{value:!0})})),function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@awesome-cordova-plugins/app-version/ngx"),require("@awesome-cordova-plugins/barcode-scanner/ngx"),require("@awesome-cordova-plugins/calendar/ngx"),require("@awesome-cordova-plugins/camera/ngx"),require("@awesome-cordova-plugins/device/ngx"),require("@awesome-cordova-plugins/media-capture/ngx"),require("@awesome-cordova-plugins/geolocation/ngx"),require("@awesome-cordova-plugins/vibration/ngx"),require("@awesome-cordova-plugins/location-accuracy/ngx"),require("@awesome-cordova-plugins/diagnostic/ngx"),require("@wm/core"),require("@wm/mobile/core"),require("@wm/mobile/offline"),require("@wm/security"),require("@wm/variables"),require("@wm/mobile/components/basic")):"function"==typeof define&&define.amd?define("@wm/mobile/variables",["exports","@angular/core","@awesome-cordova-plugins/app-version/ngx","@awesome-cordova-plugins/barcode-scanner/ngx","@awesome-cordova-plugins/calendar/ngx","@awesome-cordova-plugins/camera/ngx","@awesome-cordova-plugins/device/ngx","@awesome-cordova-plugins/media-capture/ngx","@awesome-cordova-plugins/geolocation/ngx","@awesome-cordova-plugins/vibration/ngx","@awesome-cordova-plugins/location-accuracy/ngx","@awesome-cordova-plugins/diagnostic/ngx","@wm/core","@wm/mobile/core","@wm/mobile/offline","@wm/security","@wm/variables","@wm/mobile/components/basic"],t):t(((e="undefined"!=typeof globalThis?globalThis:e||self).wm=e.wm||{},e.wm.mobile=e.wm.mobile||{},e.wm.mobile.variables={}),e.ng.core,e.awesomeCordova.plugins,e.awesomeCordova.plugins,e.awesomeCordova.plugins,e.awesomeCordova.plugins,e.awesomeCordova.plugins,e.awesomeCordova.plugins,e.awesomeCordova.plugins,e.awesomeCordova.plugins,e.awesomeCordova.plugins,e.awesomeCordova.plugins,e.wm.core,e.wm.mobile.core,e.wm.mobile.offline,e.wm.security,e.wm.variables,e.wm.mobile.components.basic)}(this,(function(e,t,n,i,o,r,a,s,l,c,p,u,d,h,m,f,g,v){"use strict";
|
|
831
831
|
/*! *****************************************************************************
|
|
832
832
|
Copyright (c) Microsoft Corporation.
|
|
833
833
|
|