@wavemaker/app-runtime-wm-build 11.4.3-next.25760 → 11.4.3-next.25762

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.
@@ -26,7 +26,7 @@
26
26
  LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
27
27
  OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
28
28
  PERFORMANCE OF THIS SOFTWARE.
29
- ***************************************************************************** */var s=function(e,t){return(s=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 l(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}s(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}Object.create;function c(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}var p;Object.create;!function(e){e[e.Sent=0]="Sent",e[e.UploadProgress=1]="UploadProgress",e[e.ResponseHeader=2]="ResponseHeader",e[e.DownloadProgress=3]="DownloadProgress",e[e.Response=4]="Response",e[e.User=5]="User"}(p||(p={}));var u=function(e){function t(t){var n=e.call(this)||this;return n.httpClient=t,n.nonBodyTypeMethods=["GET","DELETE","HEAD","OPTIONS","JSONP"],n.sessionTimeoutObservable=new r.Subject,n.sessionTimeoutQueue=[],n}return l(t,e),t.prototype.handleSessionTimeout=function(e,t){this.sessionTimeoutQueue.push({requestInfo:e,sub401:t}),this.on401()},t.prototype.generateRequest=function(e){var t,n,r=new i.HttpHeaders,a=new i.HttpParams,s=e.headers,l=e.params,p=e.responseType,u=e.withCredentials;e.isDirectCall||(r=r.append("X-Requested-With","XMLHttpRequest")),s&&Object.entries(s).forEach((function(e){var t=c(e,2),n=t[0],i=t[1];(o.isNumber(i)||o.isBoolean(i))&&(i=i.toString()),r=r.append(n,i)})),l&&Object.entries(l).forEach((function(e){var t=c(e,2),n=t[0],i=t[1];return a=a.append(n,i)}));var d={headers:r,params:a,responseType:p,withCredentials:u};return _.includes(this.nonBodyTypeMethods,e.method&&e.method.toUpperCase())&&void 0===e.data?(t=d,n=null):(t=e.data,n=d),new i.HttpRequest(e.method,e.url,t,n)},t.prototype.sendCallAsObservable=function(e){var t=this.generateRequest(e);return this.httpClient.request(t)},t.prototype.sendCall=function(e,t){var n=this;return new Promise((function(i,o){t._observable=n.sendCallAsObservable(e).subscribe((function(e){e&&e.type&&i(e)}),(function(e){o(e)}))}))},t.prototype.send=function(e){var t=this,n=this.generateRequest(e);return new Promise((function(e,i){t.httpClient.request(n).toPromise().then((function(t){e(t)}),(function(n){if(t.isPlatformSessionTimeout(n))n._401Subscriber.asObservable().subscribe((function(t){e(t)}),(function(e){i(e)}));else{var o=a.getErrMessage(n,t.getLocale());i({error:o,details:n})}}))}))},t.prototype.cancel=function(e,t){e._observable&&e._observable.unsubscribe(),t&&t._uploadProgress&&t._uploadProgress.unsubscribe()},t.prototype.setLocale=function(e){this.localeObject=e},t.prototype.getLocale=function(){return this.localeObject},t.prototype.getHeader=function(e,t){return e.headers.get(t)},t.prototype.isPlatformSessionTimeout=function(e){return 401===e.status&&"Session Not Found"===this.getHeader(e,"x-wm-login-errormessage")},t.prototype.get=function(e,t){return(t=t||{}).url=e,t.method="get",this.send(t).then((function(e){return e.body}))},t.prototype.post=function(e,t,n){return(n=n||{}).url=e,n.method="post",n.data=t,this.send(n)},t.prototype.put=function(e,t,n){return(n=n||{}).url=e,n.method="put",n.data=t,this.send(n)},t.prototype.patch=function(e,t,n){return(n=n||{}).url=e,n.method="patch",n.data=t,this.send(n)},t.prototype.delete=function(e,t){return(t=t||{}).url=e,t.method="delete",this.send(t)},t.prototype.head=function(e,t){return(t=t||{}).url=e,t.method="head",this.send(t)},t.prototype.jsonp=function(e,t){return(t=t||{}).url=e,t.method="jsonp",this.send(t)},t.prototype.upload=function(e,t,n){var o=new i.HttpRequest("POST",e,t,{reportProgress:!0});return this.httpClient.request(o)},t.prototype.uploadFile=function(e,t,n,i){var o=this;return new Promise((function(r,a){n.request=o.upload(e,t,i).subscribe((function(e){if(e.type===p.UploadProgress){var t=Math.round(100*e.loaded/e.total);i.notify(t)}e.type===p.Response&&r(e.body)}),(function(e){a(e)}))}))},t.prototype.registerOnSessionTimeout=function(e){this.sessionTimeoutObservable.asObservable().subscribe(e)},t.prototype.on401=function(){this.sessionTimeoutObservable.next()},t.prototype.pushToSessionFailureQueue=function(e){this.sessionTimeoutQueue.push({callback:e})},t.prototype.executeSessionFailureRequests=function(){var e=this.sessionTimeoutQueue,t=this;t.sessionTimeoutQueue=[],e.forEach((function(e){_.isFunction(e.callback)?e.callback():(e.requestInfo.headers.headers.delete("x-wm-xsrf-token"),t.httpClient.request(e.requestInfo).subscribe((function(t){t&&t.type&&e.sub401&&e.sub401.next(t)}),(function(t){e.sub401.error(t)})))}))},t}(o.AbstractHttpService);u.decorators=[{type:t.Injectable}],u.ctorParameters=function(){return[{type:i.HttpClient}]};var d=function(){function e(){this.headers=[]}return e.prototype.wmToAngularRequest=function(e){var t;return(t=(t=new i.HttpRequest(e.method,e.url)).clone()).body=e.body,t.method=e.method,t.responseType=e.responseType,t.reportProgress=e.reportProgress,t.urlWithParams=e.url,t.withCredentials=e.withCredentials,e.headers.forEach((function(e,n){t.headers=t.headers.append(n,e)})),t},e.prototype.angularToWmRequest=function(t){var n=new e,i=new Map;return n.body=t.body,n.method=t.method,n.responseType=t.responseType,n.reportProgress=t.reportProgress,n.url=t.urlWithParams,n.withCredentials=t.withCredentials,t.headers.keys().forEach((function(e){i.set(e,t.headers.headers.get(e.toLowerCase())[0])})),n.headers=i,n},e}(),h=function(e){function t(){return e.call(this)||this}return l(t,e),t.prototype.wmToAngularResponse=function(e){var t;return(t=(t=new i.HttpResponse).clone()).body=e.body,t.error=e.error,t.message=e.message,t.url=e.url,t.ok=e.ok,t.status=e.status,t.statusText=e.statusText,e.headers.forEach((function(e,n){t.headers=t.headers.append(n,e)})),t},t.prototype.angularToWmResponse=function(e){var n,i=new Map;return(n=new t).body=e.body,n.error=e.error,n.message=e.message,n.url=e.url,n.ok=e.ok,n.status=e.status,n.statusText=e.statusText,e.headers.keys().forEach((function(t){i.set(t,e.headers.headers.get(t.toLowerCase())[0])})),n.headers=i,n},t}(d),m=function(){function e(){}return e.forRoot=function(){return{ngModule:n.CommonModule,providers:[{provide:o.AbstractHttpService,useClass:u}]}},e}();m.decorators=[{type:t.NgModule,args:[{imports:[n.CommonModule,i.HttpClientModule],declarations:[]}]}],e.HttpServiceImpl=u,e.HttpServiceModule=m,e.WmHttpRequest=d,e.WmHttpResponse=h,Object.defineProperty(e,"__esModule",{value:!0})})),function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("rxjs"),require("@wm/core")):"function"==typeof define&&define.amd?define("@wm/oAuth",["exports","@angular/core","rxjs","@wm/core"],t):t(((e="undefined"!=typeof globalThis?globalThis:e||self).wm=e.wm||{},e.wm.oAuth={}),e.ng.core,e.rxjs,e.wm.core)}(this,(function(e,t,n,i){"use strict";var o,r,a=".access_token",s="pkce",l="implicit",c=function(e){var t,n,i,o=e.urlParams;if(i={url:"services/oauth2/:providerId/authorizationUrl",method:"GET"},e.config)for(var r in i.url=(e.config.url||"")+i.url,i.method=e.config.method||i.method,i.headers=i.headers||{},e.config.headers)t=e.config.headers[r],i.headers[r]=t;if(o)for(n in o)o.hasOwnProperty(n)&&(t=o[n],_.isUndefined(t)||null===t||(i.url=i.url.replace(new RegExp(":"+n,"g"),t)));return e.params&&(i.params=e.params),_.isUndefined(e.data)||(i.data=e.data),e.dataParams&&(i.data.params=e.dataParams),e.headers&&(i.headers=e.headers),i.byPassResult=e.byPassResult,i.isDirectCall=e.isDirectCall,i.isExtURL=e.isExtURL,i.preventMultiple=e.preventMultiple,i.responseType=e.responseType,i},p={},u="WM_RUN_",d="width=400,height=600",h=function(e){var t=m(e);localStorage.removeItem(t)};function m(e){return u+i._WM_APP_PROJECT.id+"_"+e+a}function f(e,t){var n=m(e);localStorage.setItem(n,t)}function g(e,t,n,i,l,c){var p=e+a,u=localStorage.getItem(p);if((!i||i.origin===window.location.origin)&&u)if(P(c,s)){var d="client_id="+c.clientId+"&code="+u+"&grant_type=authorization_code&code_verifier="+o+"&redirect_uri="+r;l.send({method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},url:c.accessTokenUrl,data:d}).then((function(i){v(e,t,n,p,i.body.access_token)}))}else v(e,t,n,p,u)}function v(e,t,n,i,o){n(e),localStorage.removeItem(i),f(e,o),window.removeEventListener("message",p[e]),setTimeout((function(){delete p[e],t&&t(o)}))}function y(e,t,n,i,o,r){var s;s="dummy_key",localStorage.setItem(s,s),localStorage.removeItem(s);var l=moment.duration(moment().format("HH:mm"),"HH:mm").subtract(i),c=C(e,!0);c?(o.accesstoken_retrieved=!0,f(e,c),localStorage.removeItem(e+a),r(e),t&&t()):l.minutes()>1&&t&&!o.accesstoken_retrieved?t("error"):setTimeout((function(){y(e,t,n,i,o,r)}),3e3)}function b(e,t,n,i){e&&p[t]&&(e.closed?P(i,s)||(window.removeEventListener("message",p[t]),delete p[t],n&&n("error")):setTimeout(b.bind(void 0,e,t,n,i),3e3))}function w(e,t,n,i,o,r,a,s,c){P(r,l)&&(e=E(t,r,a,null,s,c)),window.open(e,"_blank",d),y(t,n,i,moment.duration(moment().format("HH:mm"),"HH:mm"),{accesstoken_retrieved:!1},o)}function P(e,t){var n=_.get(e,"oauth2Flow");return n=n?n.toLowerCase():n,t===s&&!0===_.get(e,"oAuth2Pkce.enabled")&&(n=s),n===t}function O(e,t,n,i,r,a,c,p,u){if(P(r,l))S(e=E(t,r,a,null,c,p),t,n,i,r,a,c,p,u);else if(P(r,s)){v=new Uint32Array(28),window.crypto.getRandomValues(v),o=Array.from(v,(function(e){return("0"+e.toString(16)).substr(-2)})).join("");if("plain"===_.get(r,"oAuth2Pkce.challengeMethod"))S(e=E(t,r,a,o,c,p),t,n,i,r,a,c,p,u);else{var d=(m=o,f=(new TextEncoder).encode(m),(g=new jsSHA("SHA-256","UINT8ARRAY",{encoding:"UTF8"})).update(f),g.getHash("ARRAYBUFFER"));h=d,S(e=E(t,r,a,btoa(String.fromCharCode.apply(null,new Uint8Array(h))).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,""),c,p),t,n,i,r,a,c,p,u)}}else S(e,t,n,i,r,a,c,p,u);var h,m,f,g,v}function S(e,t,n,o,r,s,l,c,u){var h;i.hasCordova()?(window.open(e,"_system"),window.OAuthInMobile(t).then((function(e){var i=t+a;e?(localStorage.setItem(i,e),g(t,n,o,null,u,r)):n("error")}))):(h=window.open(e,"_blank",d),function(e,t,n,i,o){p[e]=g.bind(void 0,e,t,n,null,i,o),window.addEventListener("message",p[e],!1)}(t,n,o,u,r),b(h,t,n,r))}function E(e,t,n,o,c,p){r=window.location.href.split("/#/")[0]+"/oAuthCallback.html";var u,d=t.clientId,h=t.scopes.map((function(e){return e.name})).join(" ");!0===i.getWmProjectProperties().isTestRuntime&&(r=location.protocol+"//"+window.location.host+"/studio/oAuthCallback.html"),"MOBILE"===n&&(r=p+"oAuthCallback.html");var m=P(t,l)?l:s;u={providerId:e,suffix:a,requestSourceType:n,flow:m,scheme:c};var f,g=t.authorizationUrl.split("?");f=1===g.length?"?":g.length>1&&""!==g[1]?"&":"";var v,y=t.authorizationUrl+f+"client_id="+d+"&redirect_uri="+r+"&state="+encodeURIComponent(JSON.stringify(u))+"&scope="+encodeURIComponent(h);m===l?v=y+"&response_type="+(t.responseType?t.responseType:"token"):v=y+"&response_type=code&code_challenge="+o+"&code_challenge_method="+_.get(t,"oAuth2Pkce.challengeMethod");return v}function T(e,t,n,o,r,a,c,p,u,d,h){var m=P(p,l)||P(p,s)?e:e.body;a({name:t,url:m,invoke:function(){i.isIE()?w(e,t,n,o,c,p,u,d,h):O(m,t,n,c,p,u,d,h,r)}})}var C=function(e,t){var n=m(e);return t?localStorage.getItem(e+a):localStorage.getItem(n)},A=function(e,t,n,o,r,a,p,u,d,h){var m="WEB";if(e)i.isIE()?w(e,t,n,o,p):O(e,t,n,p,u,m,r);else{if(i.hasCordova()&&(m="MOBILE"),!P(u,l)&&!P(u,s))return function(e,t){var n=c({target:"oauthConfiguration",action:"getAuthorizationUrl",urlParams:{projectId:i._WM_APP_PROJECT.id,providerId:e.providerId},params:{requestSourceType:e.requestSourceType}});return t.send(n)}({providerId:t,requestSourceType:m},r).then((function(e){T(e,t,n,o,r,a,p,u,m,d,h)}));T(e,t,n,o,r,a,p,u,m,d,h)}},R=function(){function e(e){this.httpService=e,this.providers=new n.Subject,this.providersConfig=[]}return e.prototype.getOAuthProvidersAsObservable=function(){return this.providers.asObservable()},e.prototype.addProviderConfig=function(e){_.find(this.providersConfig,{name:e.name})||this.providersConfig.push(e),this.providers.next(this.providersConfig)},e.prototype.removeProviderConfig=function(e){_.remove(this.providersConfig,(function(t){return t.name===e})),this.providers.next(this.providersConfig)},e.prototype.perfromOAuthorization=function(e,t,n,i,o,r,a){A(e,t,n,i,this.httpService,this.addProviderConfig.bind(this),this.removeProviderConfig.bind(this),o,r,a)},e.prototype.getAccessToken=function(e,t){return C(e,t)},e.prototype.removeAccessToken=function(e){h(e)},e}();R.decorators=[{type:t.Injectable}],R.ctorParameters=function(){return[{type:i.AbstractHttpService}]};var I=function(){function e(){}return e.forRoot=function(){return{ngModule:e,providers:[R]}},e}();I.decorators=[{type:t.NgModule,args:[{}]}],e.OAuthModule=I,e.OAuthService=R,e.getAccessToken=C,e.parseConfig=c,e.performAuthorization=A,e.removeAccessToken=h,Object.defineProperty(e,"__esModule",{value:!0})})),function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@angular/common"),require("@angular/router"),require("@wm/core")):"function"==typeof define&&define.amd?define("@wm/security",["exports","@angular/core","@angular/common","@angular/router","@wm/core"],t):t(((e="undefined"!=typeof globalThis?globalThis:e||self).wm=e.wm||{},e.wm.security={}),e.ng.core,e.ng.common,e.ng.router,e.wm.core)}(this,(function(e,t,n,i,o){"use strict";var r="wm_xsrf_token",a=function(){function e(e,t,n,i,o){this.injector=e,this.$http=t,this.routerService=n,this.activatedRoute=i,this._location=o,this.requestQueue={}}return e.prototype.isLoaded=function(){return this.config},e.prototype.get=function(){return this.config},e.prototype.load=function(e){var t=this;return this.loadPromise?this.loadPromise:!e&&this.config?Promise.resolve(this.config):(this.loadPromise=new Promise((function(e,n){t.$http.send({url:"./services/security/info",method:"GET"}).then((function(n){t.config=n.body,t.lastLoggedInUser=o.getClonedObject(t.loggedInUser),t.loggedInUser=t.config.userInfo,e(n.body)})).catch((function(e){n(e)})).finally((function(){t.loadPromise=null}))})),this.loadPromise)},e.prototype.getWebConfig=function(e,t){this.get()?o.triggerFn(e,this.get()):this.load().then((function(t){o.triggerFn(e,t)}),t)},e.prototype.getConfig=function(e,t){function n(e,t,n){_.forEach(this.requestQueue[e],(function(e){return o.triggerFn(e[t],n)})),this.requestQueue[e]=null}this.get()?o.triggerFn(e,this.get()):(this.requestQueue.config=this.requestQueue.config||[],this.requestQueue.config.push({success:e,error:t}),this.requestQueue.config.length>1||o.hasCordova()||this.getWebConfig(function(e){e.homePage=o.getWmProjectProperties().homePage,e.userInfo,this.config=e,this.lastLoggedInUser=o.getClonedObject(this.loggedInUser),this.loggedInUser=e.userInfo,n.call(this,"config","success",this.get())}.bind(this),function(e){n.call(this,"config","error",e)}.bind(this)))},e.prototype.getLastLoggedInUsername=function(){return this.lastLoggedInUser&&this.lastLoggedInUser.userName},e.prototype.getCurrentRoutePage=function(){var e=this._location.path(),t=e.indexOf("?");return t=-1===t?e.length:t-1,e.substr(1,t)},e.prototype.getCurrentRouteQueryParam=function(e){var t;return this.activatedRoute.queryParams.subscribe((function(n){t=n[e]})),t},e.prototype.isNoPageLoaded=function(){return!_.isEmpty(this.getCurrentRoutePage())},e.prototype.getPageByLoggedInUser=function(){var e=this;return new Promise((function(t){var n;e.getConfig((function(i){i.securityEnabled&&i.authenticated?(n=i.userInfo.landingPage||o.getWmProjectProperties().homePage,e.isXsrfEnabled()):n=o.getWmProjectProperties().homePage,t(n)}),(function(){t(o.getWmProjectProperties().homePage)}))}))},e.prototype.loadPageByUserRole=function(e){var t=this;return this.getPageByLoggedInUser().then((function(n){(t.isNoPageLoaded()||e)&&(t.getCurrentRoutePage()===n?window.location.reload():t.routerService.navigate(["/"+n]))}))},e.prototype.navigateOnLogin=function(){this.loadPageByUserRole(!0)},e.prototype.getRedirectPage=function(e,t){var n,i=o.getWmProjectProperties().homePage,r=_.get(e,"loginConfig.pageName"),a=t||this.getCurrentRoutePage();return a!==i&&a!==r||(n=this.getCurrentRouteQueryParam("redirectTo"),a=_.isEmpty(n)?void 0:n),a},e.prototype.getRedirectedRouteQueryParams=function(){var e={};return this.activatedRoute.queryParams.subscribe((function(t){_.forEach(t,(function(t,n){e[n]=t}))})),e},e.prototype.getQueryString=function(e){var t=[];return _.forEach(e,(function(e,n){t.push(n+"="+e)})),_.join(t,"&")},e.prototype.appLogin=function(e,t,n){var i=this,a="";return _.each(e,(function(e,t){a+=(a?"&":"")+encodeURIComponent(t)+"="+encodeURIComponent(e)})),this.$http.send({method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},url:"j_spring_security_check",data:a}).then((function(e){var n=e.body?e.body.wm_xsrf_token:"";n&&o.hasCordova()&&localStorage.setItem(r,n||""),i.injector.get(o.App).notify("userLoggedIn",{}),o.triggerFn(t,e)}),n)},e.prototype.isAuthenticated=function(e,t){this.getConfig((function(t){o.triggerFn(e,t.authenticated)}),t)},e.prototype.appLogout=function(e,t){var n=this;return this.$http.send({target:"Security",url:"j_spring_security_logout",method:"POST",responseType:"text",byPassResult:!0}).then((function(t){_.set(n.get(),"authenticated",!1),_.set(n.get(),"userInfo",null),n.injector.get(o.App).notify("userLoggedOut",{}),o.triggerFn(e,t)}),t)},e.prototype.getCookieByName=function(e){return"cookie"},e.prototype.isXsrfEnabled=function(){return o.hasCordova()?localStorage.getItem(r):this.getCookieByName(r)},e.prototype.onUserLogin=function(){var e=this;return new Promise((function(t,n){e.getConfig((function(n){if(n.securityEnabled)if(n.authenticated)t();else var i=e.injector.get(o.App).subscribe("userLoggedIn",(function(){t(),i()}));else t()}),n)}))},e.prototype.getLoggedInUser=function(){var e=this;return new Promise((function(t,n){e.getConfig((function(e){e&&e.userInfo?t(e.userInfo):n()}),n)}))},e.prototype.authInBrowser=function(){return Promise.reject("This authInBrowser should not be called")},e}();a.decorators=[{type:t.Injectable}],a.ctorParameters=function(){return[{type:t.Injector},{type:o.AbstractHttpService},{type:i.Router},{type:i.ActivatedRoute},{type:n.Location}]};var s=function(){function e(){}return e.forRoot=function(){return{ngModule:e,providers:[a]}},e}();s.decorators=[{type:t.NgModule,args:[{}]}],e.SecurityModule=s,e.SecurityService=a,Object.defineProperty(e,"__esModule",{value:!0})})),function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@angular/common"),require("@wm/core"),require("@wm/security"),require("@wavemaker/focus-trap/dist/focus-trap"),require("@angular/platform-browser"),require("rxjs"),require("rxjs/operators"),require("@angular/forms"),require("@swipey")):"function"==typeof define&&define.amd?define("@wm/components/base",["exports","@angular/core","@angular/common","@wm/core","@wm/security","@wavemaker/focus-trap/dist/focus-trap","@angular/platform-browser","rxjs","rxjs/operators","@angular/forms","@swipey"],t):t(((e="undefined"!=typeof globalThis?globalThis:e||self).wm=e.wm||{},e.wm.components=e.wm.components||{},e.wm.components.base={}),e.ng.core,e.ng.common,e.wm.core,e.wm.security,e.focusTrap,e.ng.platformBrowser,e.rxjs,e.rxjs.operators,e.ng.forms,e.swipey)}(this,(function(e,t,n,i,o,r,a,s,l,c,p){"use strict";
29
+ ***************************************************************************** */var s=function(e,t){return(s=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 l(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}s(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}Object.create;function c(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}var p;Object.create;!function(e){e[e.Sent=0]="Sent",e[e.UploadProgress=1]="UploadProgress",e[e.ResponseHeader=2]="ResponseHeader",e[e.DownloadProgress=3]="DownloadProgress",e[e.Response=4]="Response",e[e.User=5]="User"}(p||(p={}));var u=function(e){function t(t){var n=e.call(this)||this;return n.httpClient=t,n.nonBodyTypeMethods=["GET","DELETE","HEAD","OPTIONS","JSONP"],n.sessionTimeoutObservable=new r.Subject,n.sessionTimeoutQueue=[],n}return l(t,e),t.prototype.handleSessionTimeout=function(e,t){this.sessionTimeoutQueue.push({requestInfo:e,sub401:t}),this.on401()},t.prototype.generateRequest=function(e){var t,n,r=new i.HttpHeaders,a=new i.HttpParams,s=e.headers,l=e.params,p=e.responseType,u=e.withCredentials;e.isDirectCall||(r=r.append("X-Requested-With","XMLHttpRequest")),s&&Object.entries(s).forEach((function(e){var t=c(e,2),n=t[0],i=t[1];(o.isNumber(i)||o.isBoolean(i))&&(i=i.toString()),r=r.append(n,i)})),l&&Object.entries(l).forEach((function(e){var t=c(e,2),n=t[0],i=t[1];return a=a.append(n,i)}));var d={headers:r,params:a,responseType:p,withCredentials:u};return _.includes(this.nonBodyTypeMethods,e.method&&e.method.toUpperCase())&&void 0===e.data?(t=d,n=null):(t=e.data,n=d),new i.HttpRequest(e.method,e.url,t,n)},t.prototype.sendCallAsObservable=function(e,t){var n=this.generateRequest(e);return this.httpClient.request(n)},t.prototype.sendCall=function(e,t,n){var i=this;return new Promise((function(o,r){t._observable=i.sendCallAsObservable(e,n).subscribe((function(e){e&&e.type&&o(e)}),(function(e){r(e)}))}))},t.prototype.send=function(e){var t=this,n=this.generateRequest(e);return new Promise((function(e,i){t.httpClient.request(n).toPromise().then((function(t){e(t)}),(function(n){if(t.isPlatformSessionTimeout(n))n._401Subscriber.asObservable().subscribe((function(t){e(t)}),(function(e){i(e)}));else{var o=a.getErrMessage(n,t.getLocale());i({error:o,details:n})}}))}))},t.prototype.cancel=function(e,t){e._observable&&e._observable.unsubscribe(),t&&t._uploadProgress&&t._uploadProgress.unsubscribe()},t.prototype.setLocale=function(e){this.localeObject=e},t.prototype.getLocale=function(){return this.localeObject},t.prototype.getHeader=function(e,t){return e.headers.get(t)},t.prototype.isPlatformSessionTimeout=function(e){return 401===e.status&&"Session Not Found"===this.getHeader(e,"x-wm-login-errormessage")},t.prototype.get=function(e,t){return(t=t||{}).url=e,t.method="get",this.send(t).then((function(e){return e.body}))},t.prototype.post=function(e,t,n){return(n=n||{}).url=e,n.method="post",n.data=t,this.send(n)},t.prototype.put=function(e,t,n){return(n=n||{}).url=e,n.method="put",n.data=t,this.send(n)},t.prototype.patch=function(e,t,n){return(n=n||{}).url=e,n.method="patch",n.data=t,this.send(n)},t.prototype.delete=function(e,t){return(t=t||{}).url=e,t.method="delete",this.send(t)},t.prototype.head=function(e,t){return(t=t||{}).url=e,t.method="head",this.send(t)},t.prototype.jsonp=function(e,t){return(t=t||{}).url=e,t.method="jsonp",this.send(t)},t.prototype.upload=function(e,t,n){var o=new i.HttpRequest("POST",e,t,{reportProgress:!0});return this.httpClient.request(o)},t.prototype.uploadFile=function(e,t,n,i){var o=this;return new Promise((function(r,a){n.request=o.upload(e,t,i).subscribe((function(e){if(e.type===p.UploadProgress){var t=Math.round(100*e.loaded/e.total);i.notify(t)}e.type===p.Response&&r(e.body)}),(function(e){a(e)}))}))},t.prototype.registerOnSessionTimeout=function(e){this.sessionTimeoutObservable.asObservable().subscribe(e)},t.prototype.on401=function(){this.sessionTimeoutObservable.next()},t.prototype.pushToSessionFailureQueue=function(e){this.sessionTimeoutQueue.push({callback:e})},t.prototype.executeSessionFailureRequests=function(){var e=this.sessionTimeoutQueue,t=this;t.sessionTimeoutQueue=[],e.forEach((function(e){_.isFunction(e.callback)?e.callback():(e.requestInfo.headers.headers.delete("x-wm-xsrf-token"),t.httpClient.request(e.requestInfo).subscribe((function(t){t&&t.type&&e.sub401&&e.sub401.next(t)}),(function(t){e.sub401.error(t)})))}))},t}(o.AbstractHttpService);u.decorators=[{type:t.Injectable}],u.ctorParameters=function(){return[{type:i.HttpClient}]};var d=function(){function e(){this.headers=[]}return e.prototype.wmToAngularRequest=function(e){var t;return(t=(t=new i.HttpRequest(e.method,e.url)).clone()).body=e.body,t.method=e.method,t.responseType=e.responseType,t.reportProgress=e.reportProgress,t.urlWithParams=e.url,t.withCredentials=e.withCredentials,e.headers.forEach((function(e,n){t.headers=t.headers.append(n,e)})),t},e.prototype.angularToWmRequest=function(t){var n=new e,i=new Map;return n.body=t.body,n.method=t.method,n.responseType=t.responseType,n.reportProgress=t.reportProgress,n.url=t.urlWithParams,n.withCredentials=t.withCredentials,t.headers.keys().forEach((function(e){i.set(e,t.headers.headers.get(e.toLowerCase())[0])})),n.headers=i,n},e}(),h=function(e){function t(){return e.call(this)||this}return l(t,e),t.prototype.wmToAngularResponse=function(e){var t;return(t=(t=new i.HttpResponse).clone()).body=e.body,t.error=e.error,t.message=e.message,t.url=e.url,t.ok=e.ok,t.status=e.status,t.statusText=e.statusText,e.headers.forEach((function(e,n){t.headers=t.headers.append(n,e)})),t},t.prototype.angularToWmResponse=function(e){var n,i=new Map;return(n=new t).body=e.body,n.error=e.error,n.message=e.message,n.url=e.url,n.ok=e.ok,n.status=e.status,n.statusText=e.statusText,e.headers.keys().forEach((function(t){i.set(t,e.headers.headers.get(t.toLowerCase())[0])})),n.headers=i,n},t}(d),m=function(){function e(){}return e.forRoot=function(){return{ngModule:n.CommonModule,providers:[{provide:o.AbstractHttpService,useClass:u}]}},e}();m.decorators=[{type:t.NgModule,args:[{imports:[n.CommonModule,i.HttpClientModule],declarations:[]}]}],e.HttpServiceImpl=u,e.HttpServiceModule=m,e.WmHttpRequest=d,e.WmHttpResponse=h,Object.defineProperty(e,"__esModule",{value:!0})})),function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("rxjs"),require("@wm/core")):"function"==typeof define&&define.amd?define("@wm/oAuth",["exports","@angular/core","rxjs","@wm/core"],t):t(((e="undefined"!=typeof globalThis?globalThis:e||self).wm=e.wm||{},e.wm.oAuth={}),e.ng.core,e.rxjs,e.wm.core)}(this,(function(e,t,n,i){"use strict";var o,r,a=".access_token",s="pkce",l="implicit",c=function(e){var t,n,i,o=e.urlParams;if(i={url:"services/oauth2/:providerId/authorizationUrl",method:"GET"},e.config)for(var r in i.url=(e.config.url||"")+i.url,i.method=e.config.method||i.method,i.headers=i.headers||{},e.config.headers)t=e.config.headers[r],i.headers[r]=t;if(o)for(n in o)o.hasOwnProperty(n)&&(t=o[n],_.isUndefined(t)||null===t||(i.url=i.url.replace(new RegExp(":"+n,"g"),t)));return e.params&&(i.params=e.params),_.isUndefined(e.data)||(i.data=e.data),e.dataParams&&(i.data.params=e.dataParams),e.headers&&(i.headers=e.headers),i.byPassResult=e.byPassResult,i.isDirectCall=e.isDirectCall,i.isExtURL=e.isExtURL,i.preventMultiple=e.preventMultiple,i.responseType=e.responseType,i},p={},u="WM_RUN_",d="width=400,height=600",h=function(e){var t=m(e);localStorage.removeItem(t)};function m(e){return u+i._WM_APP_PROJECT.id+"_"+e+a}function f(e,t){var n=m(e);localStorage.setItem(n,t)}function g(e,t,n,i,l,c){var p=e+a,u=localStorage.getItem(p);if((!i||i.origin===window.location.origin)&&u)if(P(c,s)){var d="client_id="+c.clientId+"&code="+u+"&grant_type=authorization_code&code_verifier="+o+"&redirect_uri="+r;l.send({method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},url:c.accessTokenUrl,data:d}).then((function(i){v(e,t,n,p,i.body.access_token)}))}else v(e,t,n,p,u)}function v(e,t,n,i,o){n(e),localStorage.removeItem(i),f(e,o),window.removeEventListener("message",p[e]),setTimeout((function(){delete p[e],t&&t(o)}))}function y(e,t,n,i,o,r){var s;s="dummy_key",localStorage.setItem(s,s),localStorage.removeItem(s);var l=moment.duration(moment().format("HH:mm"),"HH:mm").subtract(i),c=C(e,!0);c?(o.accesstoken_retrieved=!0,f(e,c),localStorage.removeItem(e+a),r(e),t&&t()):l.minutes()>1&&t&&!o.accesstoken_retrieved?t("error"):setTimeout((function(){y(e,t,n,i,o,r)}),3e3)}function b(e,t,n,i){e&&p[t]&&(e.closed?P(i,s)||(window.removeEventListener("message",p[t]),delete p[t],n&&n("error")):setTimeout(b.bind(void 0,e,t,n,i),3e3))}function w(e,t,n,i,o,r,a,s,c){P(r,l)&&(e=E(t,r,a,null,s,c)),window.open(e,"_blank",d),y(t,n,i,moment.duration(moment().format("HH:mm"),"HH:mm"),{accesstoken_retrieved:!1},o)}function P(e,t){var n=_.get(e,"oauth2Flow");return n=n?n.toLowerCase():n,t===s&&!0===_.get(e,"oAuth2Pkce.enabled")&&(n=s),n===t}function O(e,t,n,i,r,a,c,p,u){if(P(r,l))S(e=E(t,r,a,null,c,p),t,n,i,r,a,c,p,u);else if(P(r,s)){v=new Uint32Array(28),window.crypto.getRandomValues(v),o=Array.from(v,(function(e){return("0"+e.toString(16)).substr(-2)})).join("");if("plain"===_.get(r,"oAuth2Pkce.challengeMethod"))S(e=E(t,r,a,o,c,p),t,n,i,r,a,c,p,u);else{var d=(m=o,f=(new TextEncoder).encode(m),(g=new jsSHA("SHA-256","UINT8ARRAY",{encoding:"UTF8"})).update(f),g.getHash("ARRAYBUFFER"));h=d,S(e=E(t,r,a,btoa(String.fromCharCode.apply(null,new Uint8Array(h))).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,""),c,p),t,n,i,r,a,c,p,u)}}else S(e,t,n,i,r,a,c,p,u);var h,m,f,g,v}function S(e,t,n,o,r,s,l,c,u){var h;i.hasCordova()?(window.open(e,"_system"),window.OAuthInMobile(t).then((function(e){var i=t+a;e?(localStorage.setItem(i,e),g(t,n,o,null,u,r)):n("error")}))):(h=window.open(e,"_blank",d),function(e,t,n,i,o){p[e]=g.bind(void 0,e,t,n,null,i,o),window.addEventListener("message",p[e],!1)}(t,n,o,u,r),b(h,t,n,r))}function E(e,t,n,o,c,p){r=window.location.href.split("/#/")[0]+"/oAuthCallback.html";var u,d=t.clientId,h=t.scopes.map((function(e){return e.name})).join(" ");!0===i.getWmProjectProperties().isTestRuntime&&(r=location.protocol+"//"+window.location.host+"/studio/oAuthCallback.html"),"MOBILE"===n&&(r=p+"oAuthCallback.html");var m=P(t,l)?l:s;u={providerId:e,suffix:a,requestSourceType:n,flow:m,scheme:c};var f,g=t.authorizationUrl.split("?");f=1===g.length?"?":g.length>1&&""!==g[1]?"&":"";var v,y=t.authorizationUrl+f+"client_id="+d+"&redirect_uri="+r+"&state="+encodeURIComponent(JSON.stringify(u))+"&scope="+encodeURIComponent(h);m===l?v=y+"&response_type="+(t.responseType?t.responseType:"token"):v=y+"&response_type=code&code_challenge="+o+"&code_challenge_method="+_.get(t,"oAuth2Pkce.challengeMethod");return v}function T(e,t,n,o,r,a,c,p,u,d,h){var m=P(p,l)||P(p,s)?e:e.body;a({name:t,url:m,invoke:function(){i.isIE()?w(e,t,n,o,c,p,u,d,h):O(m,t,n,c,p,u,d,h,r)}})}var C=function(e,t){var n=m(e);return t?localStorage.getItem(e+a):localStorage.getItem(n)},A=function(e,t,n,o,r,a,p,u,d,h){var m="WEB";if(e)i.isIE()?w(e,t,n,o,p):O(e,t,n,p,u,m,r);else{if(i.hasCordova()&&(m="MOBILE"),!P(u,l)&&!P(u,s))return function(e,t){var n=c({target:"oauthConfiguration",action:"getAuthorizationUrl",urlParams:{projectId:i._WM_APP_PROJECT.id,providerId:e.providerId},params:{requestSourceType:e.requestSourceType}});return t.send(n)}({providerId:t,requestSourceType:m},r).then((function(e){T(e,t,n,o,r,a,p,u,m,d,h)}));T(e,t,n,o,r,a,p,u,m,d,h)}},R=function(){function e(e){this.httpService=e,this.providers=new n.Subject,this.providersConfig=[]}return e.prototype.getOAuthProvidersAsObservable=function(){return this.providers.asObservable()},e.prototype.addProviderConfig=function(e){_.find(this.providersConfig,{name:e.name})||this.providersConfig.push(e),this.providers.next(this.providersConfig)},e.prototype.removeProviderConfig=function(e){_.remove(this.providersConfig,(function(t){return t.name===e})),this.providers.next(this.providersConfig)},e.prototype.perfromOAuthorization=function(e,t,n,i,o,r,a){A(e,t,n,i,this.httpService,this.addProviderConfig.bind(this),this.removeProviderConfig.bind(this),o,r,a)},e.prototype.getAccessToken=function(e,t){return C(e,t)},e.prototype.removeAccessToken=function(e){h(e)},e}();R.decorators=[{type:t.Injectable}],R.ctorParameters=function(){return[{type:i.AbstractHttpService}]};var I=function(){function e(){}return e.forRoot=function(){return{ngModule:e,providers:[R]}},e}();I.decorators=[{type:t.NgModule,args:[{}]}],e.OAuthModule=I,e.OAuthService=R,e.getAccessToken=C,e.parseConfig=c,e.performAuthorization=A,e.removeAccessToken=h,Object.defineProperty(e,"__esModule",{value:!0})})),function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@angular/common"),require("@angular/router"),require("@wm/core")):"function"==typeof define&&define.amd?define("@wm/security",["exports","@angular/core","@angular/common","@angular/router","@wm/core"],t):t(((e="undefined"!=typeof globalThis?globalThis:e||self).wm=e.wm||{},e.wm.security={}),e.ng.core,e.ng.common,e.ng.router,e.wm.core)}(this,(function(e,t,n,i,o){"use strict";var r="wm_xsrf_token",a=function(){function e(e,t,n,i,o){this.injector=e,this.$http=t,this.routerService=n,this.activatedRoute=i,this._location=o,this.requestQueue={}}return e.prototype.isLoaded=function(){return this.config},e.prototype.get=function(){return this.config},e.prototype.load=function(e){var t=this;return this.loadPromise?this.loadPromise:!e&&this.config?Promise.resolve(this.config):(this.loadPromise=new Promise((function(e,n){t.$http.send({url:"./services/security/info",method:"GET"}).then((function(n){t.config=n.body,t.lastLoggedInUser=o.getClonedObject(t.loggedInUser),t.loggedInUser=t.config.userInfo,e(n.body)})).catch((function(e){n(e)})).finally((function(){t.loadPromise=null}))})),this.loadPromise)},e.prototype.getWebConfig=function(e,t){this.get()?o.triggerFn(e,this.get()):this.load().then((function(t){o.triggerFn(e,t)}),t)},e.prototype.getConfig=function(e,t){function n(e,t,n){_.forEach(this.requestQueue[e],(function(e){return o.triggerFn(e[t],n)})),this.requestQueue[e]=null}this.get()?o.triggerFn(e,this.get()):(this.requestQueue.config=this.requestQueue.config||[],this.requestQueue.config.push({success:e,error:t}),this.requestQueue.config.length>1||o.hasCordova()||this.getWebConfig(function(e){e.homePage=o.getWmProjectProperties().homePage,e.userInfo,this.config=e,this.lastLoggedInUser=o.getClonedObject(this.loggedInUser),this.loggedInUser=e.userInfo,n.call(this,"config","success",this.get())}.bind(this),function(e){n.call(this,"config","error",e)}.bind(this)))},e.prototype.getLastLoggedInUsername=function(){return this.lastLoggedInUser&&this.lastLoggedInUser.userName},e.prototype.getCurrentRoutePage=function(){var e=this._location.path(),t=e.indexOf("?");return t=-1===t?e.length:t-1,e.substr(1,t)},e.prototype.getCurrentRouteQueryParam=function(e){var t;return this.activatedRoute.queryParams.subscribe((function(n){t=n[e]})),t},e.prototype.isNoPageLoaded=function(){return!_.isEmpty(this.getCurrentRoutePage())},e.prototype.getPageByLoggedInUser=function(){var e=this;return new Promise((function(t){var n;e.getConfig((function(i){i.securityEnabled&&i.authenticated?(n=i.userInfo.landingPage||o.getWmProjectProperties().homePage,e.isXsrfEnabled()):n=o.getWmProjectProperties().homePage,t(n)}),(function(){t(o.getWmProjectProperties().homePage)}))}))},e.prototype.loadPageByUserRole=function(e){var t=this;return this.getPageByLoggedInUser().then((function(n){(t.isNoPageLoaded()||e)&&(t.getCurrentRoutePage()===n?window.location.reload():t.routerService.navigate(["/"+n]))}))},e.prototype.navigateOnLogin=function(){this.loadPageByUserRole(!0)},e.prototype.getRedirectPage=function(e,t){var n,i=o.getWmProjectProperties().homePage,r=_.get(e,"loginConfig.pageName"),a=t||this.getCurrentRoutePage();return a!==i&&a!==r||(n=this.getCurrentRouteQueryParam("redirectTo"),a=_.isEmpty(n)?void 0:n),a},e.prototype.getRedirectedRouteQueryParams=function(){var e={};return this.activatedRoute.queryParams.subscribe((function(t){_.forEach(t,(function(t,n){e[n]=t}))})),e},e.prototype.getQueryString=function(e){var t=[];return _.forEach(e,(function(e,n){t.push(n+"="+e)})),_.join(t,"&")},e.prototype.appLogin=function(e,t,n){var i=this,a="";return _.each(e,(function(e,t){a+=(a?"&":"")+encodeURIComponent(t)+"="+encodeURIComponent(e)})),this.$http.send({method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},url:"j_spring_security_check",data:a}).then((function(e){var n=e.body?e.body.wm_xsrf_token:"";n&&o.hasCordova()&&localStorage.setItem(r,n||""),i.injector.get(o.App).notify("userLoggedIn",{}),o.triggerFn(t,e)}),n)},e.prototype.isAuthenticated=function(e,t){this.getConfig((function(t){o.triggerFn(e,t.authenticated)}),t)},e.prototype.appLogout=function(e,t){var n=this;return this.$http.send({target:"Security",url:"j_spring_security_logout",method:"POST",responseType:"text",byPassResult:!0}).then((function(t){_.set(n.get(),"authenticated",!1),_.set(n.get(),"userInfo",null),n.injector.get(o.App).notify("userLoggedOut",{}),o.triggerFn(e,t)}),t)},e.prototype.getCookieByName=function(e){return"cookie"},e.prototype.isXsrfEnabled=function(){return o.hasCordova()?localStorage.getItem(r):this.getCookieByName(r)},e.prototype.onUserLogin=function(){var e=this;return new Promise((function(t,n){e.getConfig((function(n){if(n.securityEnabled)if(n.authenticated)t();else var i=e.injector.get(o.App).subscribe("userLoggedIn",(function(){t(),i()}));else t()}),n)}))},e.prototype.getLoggedInUser=function(){var e=this;return new Promise((function(t,n){e.getConfig((function(e){e&&e.userInfo?t(e.userInfo):n()}),n)}))},e.prototype.authInBrowser=function(){return Promise.reject("This authInBrowser should not be called")},e}();a.decorators=[{type:t.Injectable}],a.ctorParameters=function(){return[{type:t.Injector},{type:o.AbstractHttpService},{type:i.Router},{type:i.ActivatedRoute},{type:n.Location}]};var s=function(){function e(){}return e.forRoot=function(){return{ngModule:e,providers:[a]}},e}();s.decorators=[{type:t.NgModule,args:[{}]}],e.SecurityModule=s,e.SecurityService=a,Object.defineProperty(e,"__esModule",{value:!0})})),function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@angular/common"),require("@wm/core"),require("@wm/security"),require("@wavemaker/focus-trap/dist/focus-trap"),require("@angular/platform-browser"),require("rxjs"),require("rxjs/operators"),require("@angular/forms"),require("@swipey")):"function"==typeof define&&define.amd?define("@wm/components/base",["exports","@angular/core","@angular/common","@wm/core","@wm/security","@wavemaker/focus-trap/dist/focus-trap","@angular/platform-browser","rxjs","rxjs/operators","@angular/forms","@swipey"],t):t(((e="undefined"!=typeof globalThis?globalThis:e||self).wm=e.wm||{},e.wm.components=e.wm.components||{},e.wm.components.base={}),e.ng.core,e.ng.common,e.wm.core,e.wm.security,e.focusTrap,e.ng.platformBrowser,e.rxjs,e.rxjs.operators,e.ng.forms,e.swipey)}(this,(function(e,t,n,i,o,r,a,s,l,c,p){"use strict";
30
30
  /*! *****************************************************************************
31
31
  Copyright (c) Microsoft Corporation.
32
32
 
@@ -110,7 +110,7 @@
110
110
  LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
111
111
  OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
112
112
  PERFORMANCE OF THIS SOFTWARE.
113
- ***************************************************************************** */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=new Map([["casesensitive",Object.assign({value:!1},r.PROP_BOOLEAN)],["class",r.PROP_STRING],["datacompletemsg",Object.assign({value:"No more data to load"},r.PROP_STRING)],["datafield",Object.assign({value:"All Fields"},r.PROP_STRING)],["dataoptions",r.PROP_ANY],["dataset",r.PROP_ANY],["datasource",r.PROP_ANY],["datavalue",r.PROP_STRING],["datavaluesource",r.PROP_ANY],["dateformat",r.PROP_STRING],["disabled",r.PROP_BOOLEAN],["displayimagesrc",r.PROP_STRING],["displaylabel",r.PROP_STRING],["displayexpression",r.PROP_STRING],["dropup",r.PROP_BOOLEAN],["groupby",r.PROP_STRING],["hint",r.PROP_STRING],["imagewidth",Object.assign({value:"16px"},r.PROP_STRING)],["limit",r.PROP_NUMBER],["loadingdatamsg",Object.assign({value:"Loading items..."},r.PROP_STRING)],["match",r.PROP_STRING],["matchmode",r.PROP_STRING],["minchars",r.PROP_NUMBER],["name",r.PROP_STRING],["navsearchbar",Object.assign({value:!1},r.PROP_BOOLEAN)],["orderby",r.PROP_STRING],["placeholder",Object.assign({value:"Search"},r.PROP_STRING)],["position",r.PROP_STRING],["query",r.PROP_STRING],["readonly",r.PROP_BOOLEAN],["required",r.PROP_BOOLEAN],["searchkey",r.PROP_STRING],["searchon",Object.assign({value:"typing"},r.PROP_STRING)],["shortcutkey",r.PROP_STRING],["show",Object.assign({value:!0},r.PROP_BOOLEAN)],["showclear",Object.assign({value:!1},r.PROP_BOOLEAN)],["showsearchicon",r.PROP_BOOLEAN],["tabindex",Object.assign({value:0},r.PROP_NUMBER)],["type",Object.assign({value:"search"},r.PROP_STRING)],["debouncetime",Object.assign({value:250},r.PROP_NUMBER)],["width",r.PROP_STRING]]),m=function(){r.register("wm-search",h),r.registerFormWidget(l.FormWidgetType.AUTOCOMPLETE,new Map(h)),r.registerFormWidget(l.FormWidgetType.TYPEAHEAD,new Map(h))},f=function(){function e(){}return e.prototype.applyFilter=function(e,t,n){return e=_.isNumber(e)?e.toString():e,_.includes(n,"start")?_.startsWith(e,t):_.includes(n,"end")?_.endsWith(e,t):_.includes(n,"exact")?_.isEqual(e,t):_.includes(e,t)},e.prototype.filter=function(e){var t=this,n=e.dataset,i=e.casesensitive,o=e.matchMode;o&&!_.includes(o,"ignorecase")&&(i=!0);var r,a=e.query;return new Promise((function(s,l){if(e.searchKey){var c=_.split(e.searchKey,",");r=_.filter(e.dataset,(function(e){return c.some((function(n){var r=_.get(e,n),s=a;return i||(r=_.toLower(_.toString(r)),s=_.toLower(_.toString(s))),t.applyFilter(r,s,o)}))}))}else r=_.isArray(n)&&_.isObject(n[0])?_.filter(n,(function(e){var n=_.values(e).join(" ");return i||(n=_.toLower(n),a=_.toLower(a)),t.applyFilter(n,a)})):_.filter(n,(function(e){return i||(e=_.toLower(e),a=_.toLower(a)),t.applyFilter(e,a,o)}));s({data:r,hasMoreData:!1,isLastPage:!0})}))},e}(),g=function(){function e(){}return e.prototype.filter=function(e){var t=this;return this.filterData(e).then((function(n){return t.onFilterSuccess(e,n)}),(function(){return t.onFilterFailure()}))},e.prototype.filterData=function(e){if(e.dataoptions){var t=e.dataoptions,n=e.datasource.execute(l.DataSource.Operation.GET_REQUEST_PARAMS,e);if(t.relatedField)return new Promise((function(i,o){r.interpolateBindExpressions(e.viewParent,t.filterExpr,(function(r){n.filterExpr=t.filterExpr=r,t.filterExpr=r,e.datasource.execute(l.DataSource.Operation.GET_RELATED_TABLE_DATA,_.assign({relatedField:t.relatedField},n)).then(i,o)}))}));if(t.distinctField)return e.datasource.execute(l.DataSource.Operation.GET_DISTINCT_DATA_BY_FIELDS,{pagesize:e.limit||e.pagesize,page:e.page,fields:t.distinctField,entityName:t.tableName,filterFields:_.assign(t.filterFields,n.filterFields),filterExpr:l.getClonedObject(t.filterExpr||{})})}return e.datasource.execute(l.DataSource.Operation.SEARCH_RECORDS,e)},e.prototype.isLast=function(e,t,n,i){return t===l.AppConstants.INT_MAX_VALUE?0!==i&&i<n:e===(t>n?Math.ceil(t/n):t<0?0:1)},e.prototype.getTransformedData=function(e,t){var n=e.operation+"Result",i=t[n];if(i){var o={};_.set(o,n,i),t=[o]}else t=[t];return t},e.prototype.onFilterFailure=function(){return[]},e.prototype.isLastPageForDistinctApi=function(e,t,n,i){return t>1&&!i&&_.isEmpty(e)&&n===l.AppConstants.INT_MAX_VALUE},e.prototype.onFilterSuccess=function(e,t){var n,i,o,r,a=this,s=t.data,c=_.split(e.binddataset,"."),p=_.slice(c,_.indexOf(c,"dataSet")+1).join(".");return new Promise((function(c,u){var d=t.pagination;if(e.datasource.execute(l.DataSource.Operation.IS_PAGEABLE)&&(o=d.number+1,i=a.isLast(o,e.limit>0&&e.limit||d.totalElements,d.size,d.numberOfElements),r=!0,a.isLastPageForDistinctApi(s,o,d.totalElements,i)))c({data:[],isLastPage:i=!0,hasMoreData:o>1,isPaginatedData:r,page:o});else{if(p){if(_.isArray(s)){var h=p.lastIndexOf("[$i]");if(h>-1){var m=p.substr(h+5);n=s.map((function(e){return l.findValueOf(e,m)}))}}else _.isObject(s)&&(n=_.get(s,p));s=n||s}_.isArray(s)||(s=a.getTransformedData(e.datasource,s)),s.length?c({data:s,isLastPage:i,hasMoreData:o>1,isPaginatedData:r,page:o}):c({data:[],isLastPage:i,hasMoreData:o>1,isPaginatedData:r,page:o})}}))},e}(),v=function(){function e(){}return e.prototype.filter=function(t){var n=this,i=t.datasource&&t.datasource.execute(l.DataSource.Operation.IS_UPDATE_REQUIRED,t.hasData);return(!t.isLocalFilter&&(t.dataoptions||t.datasource&&t.datasource.execute(l.DataSource.Operation.IS_API_AWARE)&&t.searchKey&&i)?e.remoteDataProvider.filter(t):e.localDataProvider.filter(t)).then((function(e){return n.updateDataset=t.datasource&&!t.datasource.execute(l.DataSource.Operation.SUPPORTS_CRUD)&&i,n.hasMoreData=e.hasMoreData,n.isLastPage=e.isLastPage,n.page=e.page,n.isPaginatedData=e.isPaginatedData,e}))},e}();v.remoteDataProvider=new g,v.localDataProvider=new f;var y={widgetType:"wm-search",hostClass:"input-group"},b=function(e){function t(t,n,i,o){var r=e.call(this,t,y)||this;r.binddatavalue=i,r.binddataset=o,r.query="",r.page=1,r.allowempty=!1,r.app=n,l.addClass(r.nativeElement,"app-search",!0),r.typeaheadDataSource=a.Observable.create((function(e){r.listenQuery&&(r._defaultQueryInvoked=!1,r._loadingItems=!0,e.next(r.query)),r.lastSelectedIndex&&(r.typeahead._container=void 0)})).pipe(s.filter((function(){return r._loadingItems=!1,0===r.minchars||r.query&&r.query.length>=r.minchars})),s.mergeMap((function(e){return r.getDataSourceAsObservable(e)}))),r.dataProvider=new v;var c=r.datavalue$.subscribe((function(e){var t=_.isArray(e)?e[0]:e;if(null===t||""===t)return r._modelByValue="",r.query=r.queryModel="",void(r._lastResult=void 0);r._unsubscribeDv||(r._defaultQueryInvoked=!1,_.isObject(e)||r.prevDatavalue===e||(r._modelByKey=void 0,r.query=r.queryModel=""),r.updateByDatavalue(e)),r.showClosebtn=""!==r.query}));r.registerDestroyListener((function(){return c.unsubscribe()}));var p=r.dataset$.subscribe((function(){r.startIndex=r.datasetItems.length,r._lastResult=void 0;var e=r.datavalue||r.toBeProcessedDatavalue;l.isDefined(e)&&r.updateByDataset(e)}));return r.registerDestroyListener((function(){return p.unsubscribe()})),r}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),Object.defineProperty(t.prototype,"datasource",{get:function(){return this._datasource},set:function(e){this._datasource=e;var t=this.datavalue||this.toBeProcessedDatavalue;this.updateByDatavalue(t)},enumerable:!1,configurable:!0}),t.prototype.clearSearch=function(e,t){this.query="",this.onInputChange(e),this.dataProvider.isLastPage=!1,this.listenQuery=!1,t&&(this.listenQuery=!0,this._unsubscribeDv=!1,this.loadMoreData()),this.invokeEventCallback("clearsearch"),this._loadingItems=!1,e&&this.$element.find(".app-search-input").focus()},t.prototype.clearText=function(){this.query="",this.showClosebtn=!1},t.prototype.closeSearch=function(){this._loadingItems=!1,this.page=1,this.insertAtIndex(this.elIndex),this.elIndex=void 0,this.parentEl=void 0,this.$element.removeClass("full-screen"),this._domUpdated&&(this._domUpdated=!1),this.listenQuery=!1,this._unsubscribeDv=!0,this.typeahead.hide()},t.prototype.renderMobileAutoComplete=function(){l.isDefined(this.elIndex)||(this.parentEl=this.$element.parent(),this.elIndex=this.parentEl.children().index(this.$element)),this.$element.hasClass("full-screen")||(this._domUpdated=!0,this.$element.addClass("full-screen"),"inline"===this.position&&this.$element.addClass(this.position)),this.$element.hasClass("full-screen")&&this.$element.find(".app-search-input").focus()},t.prototype.getDataSourceAsObservable=function(e){if(this._lastQuery===e&&!_.get(this.dataoptions,"filterFields")&&l.isDefined(this._lastResult))return this._loadingItems=!1,a.of(this._lastResult);if("autocomplete"===this.type&&this.searchkey&&this.query&&this.datavalue){var t=[],n=_.split(this.searchkey,","),i=void 0;if(this.binddisplaylabel&&1===(t=_.split(this.binddisplaylabel,"+")).length)if(_.includes(t[0],"|"))i=!0;else{i=/\[(.*?)\]/.exec(t[0])[1]}if(t.length>1||i&&!_.includes(n,i)||this.displayexpression&&!_.includes(n,this.displayexpression))return this._loadingItems=!1,a.of([])}return this._lastQuery=this.query,a.from(this.getDataSource(e))},t.prototype.handleEvent=function(t,n,i,o){_.includes(["blur","focus","select","submit","change"],n)||e.prototype.handleEvent.call(this,t,n,i,o)},t.prototype.highlight=function(e,t){if(this.typeaheadContainer)return e.value=e.item.label.toString(),this.typeaheadContainer.highlight(e,t)},t.prototype.insertAtIndex=function(e){0===e?this.parentEl.prepend(this.$element):this.parentEl.children().eq(e).length?this.$element.insertBefore(this.parentEl.children().eq(e)):this.$element.insertAfter(this.parentEl.children().eq(e-1))},t.prototype.isMobileAutoComplete=function(){return"autocomplete"===this.type&&l.isMobile()},t.prototype.isQueryEntered=function(){return this.showclear&&this.showClosebtn},t.prototype.loadMoreData=function(e){this.dataProvider.isLastPage||(this.page=e?this.page+1:this.page,this.isScrolled=!0,this._loadingItems=!0,e&&(this._lastQuery=void 0),this.typeahead.onInput({target:{value:_.trim(this.query)||"0"}}))},t.prototype.onFocusOut=function(){this._unsubscribeDv=!1,this._loadingItems=!1,this.page=1,!this._domUpdated&&this._isOpen&&(this.listenQuery=!1),this._isOpen=!1,this._domUpdated&&this.typeahead&&this.typeahead._container&&(this.typeahead._container.isFocused=!0)},t.prototype.onInputChange=function(e){this.result=[],this.page=1,this.listenQuery=this.isUpdateOnKeyPress(),this._modelByValue=void 0,""===this.query?(this.queryModel="",this._modelByValue="",this.updatePrevDatavalue(this._lastQuery),this.invokeOnChange(this._modelByValue,{},!0),this.invokeEventCallback("clear",{$event:e}),e&&9!==e.which&&this.invokeEventCallback("submit",{$event:e})):this.invokeEventCallback("change",{$event:e,newVal:this._modelByValue||this.query,oldVal:this.prevDatavalue}),this.showClosebtn=""!==this.query},t.prototype.handleEnterEvent=function(e){_.get(this.typeahead,"matches.length")||this.onSearchSelect(e)},t.prototype.onSearchSelect=function(e){var t,n,i,o=(null===(n=null===(t=this.typeaheadContainer)||void 0===t?void 0:t.active)||void 0===n?void 0:n.value)===this.query;if(this.typeaheadContainer&&this.typeaheadContainer.active&&o&&(i=this.typeaheadContainer.active.item),e=this.eventData(e,i||{}),!this.isUpdateOnKeyPress())return this.listenQuery=!0,void this.typeahead.onInput({target:{value:this.query}});this.typeaheadContainer&&this.liElements.length&&o?this.typeaheadContainer.selectActiveMatch():(this.queryModel=this.query,this.invokeEventCallback("submit",{$event:e}))},t.prototype.invokeOnBeforeServiceCall=function(e){this.invokeEventCallback("beforeservicecall",{inputData:e})},t.prototype.onDropdownOpen=function(){var e=this;if(this.clearData&&this.typeahead.hide(),_.debounce((function(){e._isOpen=!0,e.typeaheadContainer=e.typeahead._container||e.typeahead._typeahead.instance,e.typeaheadContainer.liElements=e.liElements,e.typeaheadContainer.ulElement=e.ulElement,l.adjustContainerPosition($("typeahead-container"),e.nativeElement,e.typeahead._typeahead,$("typeahead-container .dropdown-menu"))}))(),this.isMobileAutoComplete()){this.$element.hasClass("full-screen")||this.renderMobileAutoComplete();var t=this.dropdownEl.closest("typeahead-container");t.insertAfter(this.$element.find("input").first());var n=this.$element.closest(".app-content").height();t.css({position:"relative",top:0,height:n+"px"}),this.showClosebtn=this.query&&""!==this.query,_.isUndefined(this.dataProvider.isLastPage)||this.dataProvider.isLastPage||this.triggerSearch()}},t.prototype.selectNext=function(){var e=this.typeaheadContainer.matches;if(e){var t=e.indexOf(this.typeaheadContainer.active);!this._loadingItems&&!this.dataProvider.isLastPage&&t+1>e.length-1&&(this.lastSelectedIndex=t,this.loadMoreData(!0))}},t.prototype.setLastActiveMatchAsSelected=function(){this.lastSelectedIndex&&(this.typeaheadContainer._active=this.typeaheadContainer.matches[this.lastSelectedIndex],this.typeaheadContainer.nextActiveMatch(),this.lastSelectedIndex=void 0)},t.prototype.triggerSearch=function(){if(!this.dataProvider.isLastPage&&this.$element.hasClass("full-screen")){var e=this.dropdownEl,t=e.find("li").last();t.length&&e.length&&e.height()+e.position().top>t.height()+t.position().top&&this.loadMoreData(!0)}},t.prototype.isUpdateOnKeyPress=function(){return"typing"===this.searchon},t.prototype.debounceDefaultQuery=function(e){var t=this;this._defaultQueryInvoked=!0,this.getDataSource(e,!0).then((function(e){e.length?(t.queryModel=e,t._lastQuery=t.query=t.queryModel[0].label||"",t._modelByValue=t.queryModel[0].value,t._modelByKey=t.queryModel[0].key,t.showClosebtn=""!==t.query):(t._modelByValue=void 0,t.queryModel=void 0,t.query=""),t.clearData&&_.get(t.typeahead,"_typeahead.isShown")&&t.typeahead.hide()}))},t.prototype.updateByDatavalue=function(e){this.updateByDataset(e),this.updateByDataSource(e)},t.prototype.updateByDataSource=function(e){if(l.isDefined(e)&&!_.isObject(e)&&this.datasource&&!l.isDefined(this._modelByKey)&&this.datafield!==r.ALLFIELDS){if(l.isDefined(this.queryModel)&&!_.isEmpty(this.queryModel))return void this.updateDatavalueFromQueryModel();!this._defaultQueryInvoked&&this.datasource.execute(l.DataSource.Operation.SUPPORTS_CRUD)&&this.debounceDefaultQuery(e)}},t.prototype.updateDatavalueFromQueryModel=function(){l.isDefined(this.queryModel)&&(this._modelByValue=_.isArray(this.queryModel)?this.queryModel[0].value:this.queryModel,this._modelByKey=_.isArray(this.queryModel)?this.queryModel[0].key:this.queryModel,this.toBeProcessedDatavalue=void 0)},t.prototype.updateByDataset=function(e){if(!this._defaultQueryInvoked||!this.searchkey){var t=_.find(this.datasetItems,(function(t){return _.isObject(t.value)?_.isEqual(t.value,e):_.toString(t.value).toLowerCase()===_.toString(e).toLowerCase()}));if(t)this.queryModel=[t];else if(this.datafield===r.ALLFIELDS&&_.isObject(e))this.queryModel=this.getTransformedData(r.extractDataAsArray(e));else if(this.prevDatavalue!==e)return this.queryModel=void 0,void(this.query="");this.updateDatavalueFromQueryModel(),this._lastQuery=this.query=l.isDefined(this.queryModel)&&this.queryModel.length?_.get(this.queryModel[0],"label"):"",this.showClosebtn=""!==this.query}},t.prototype.handleFocus=function(e){"search"===this.type&&this.query===this._lastQuery&&this._lastResult&&this.typeahead.keyUpEventEmitter.emit(this.query)},t.prototype.notifySubscriber=function(){var e=$(this.nativeElement).closest(".app-composite-widget.caption-floating");e.length>0&&this.app.notify("captionPositionAnimate",{displayVal:!0,nativeEl:e})},t.prototype.getDataSource=function(e,t,n){var i=this;if(t&&this.datafield===r.ALLFIELDS)return this._loadingItems=!1,Promise.resolve([]);var o={dataset:this.dataset?r.convertDataToObject(this.dataset):void 0,binddataset:this.binddataset,datasource:this.datasource,datafield:this.datafield,hasData:this.dataset&&this.dataset.length,query:e,isLocalFilter:!this.searchkey,searchKey:t?this.datafield:this.searchkey,matchMode:t?"startignorecase":this.matchmode,casesensitive:this.casesensitive,isformfield:this.isformfield,orderby:this.orderby,limit:this.limit,pagesize:this.pagesize,page:this.page,onBeforeservicecall:this.invokeOnBeforeServiceCall.bind(this)};return this.dataoptions&&(o.dataoptions=this.dataoptions,o.viewParent=this.viewParent),this._loadingItems=!0,this.dataProvider.filter(o).then((function(e){e=e.data||e,l.isDefined(i.dataset)&&i.dataset.length||!i.dataProvider.updateDataset||(i.dataset=e),i.dataProvider.hasMoreData?i.formattedDataset=i.formattedDataset.concat(e):i.formattedDataset=e,i.formattedDataset.length>20&&!l.isDefined(i.limit)&&(i.typeahead.typeaheadOptionsLimit=i.formattedDataset.length),i._isOpen&&i.isMobileAutoComplete()&&!_.isUndefined(i.dataProvider.isLastPage)&&!i.dataProvider.isLastPage&&i.triggerSearch();var t=i.getTransformedData(i.formattedDataset,n);return i.result=_.map(t,"value"),t}),(function(e){return i._loadingItems=!1,[]})).then((function(t){return i.isScrolled&&(_.debounce((function(){i.setLastActiveMatchAsSelected()}),30)(),i.isScrolled=!1),t.length||(i._modelByValue=void 0,i.queryModel=e),i._unsubscribeDv&&(t=[]),i._loadingItems=!1,i._lastResult=t,t}))},t.prototype.getContext=function(e){return e&&_.get(e,"widget")?this.getContext(e.viewParent):e},t.prototype.getTransformedData=function(e,t,n){l.isDefined(t)&&t++;var i=r.transformFormData(this.getContext(this.viewParent),e,this.datafield,{displayField:this.displaylabel||this.displayfield,displayExpr:n?"":this.displayexpression,bindDisplayExpr:n?"":this.binddisplaylabel,bindDisplayImgSrc:this.binddisplayimagesrc,displayImgSrc:this.displayimagesrc},t,this);return r.getUniqObjsByDataField(i,this.datafield,this.displayfield||this.displaylabel,l.toBoolean(this.allowempty))},t.prototype.onScroll=function(e,t){var n=e.scrollHeight,i=e.clientHeight;!this._loadingItems&&!this.dataProvider.isLastPage&&e.scrollTop+i>=n&&this.loadMoreData(!0)},t.prototype.ngOnInit=function(){e.prototype.ngOnInit.call(this),l.isDefined(this.minchars)||("autocomplete"===this.type?this.minchars=0:this.minchars=1),this.listenQuery=this.isUpdateOnKeyPress(),this.showsearchicon=l.isDefined(this.showsearchicon)?this.showsearchicon:"search"===this.type},t.prototype.ngAfterViewInit=function(){e.prototype.ngAfterViewInit.call(this),r.styler(this.nativeElement,this),this.containerTarget=r.getContainerTargetClass(this.nativeElement)},t.prototype.eventData=function(e,t){return e&&(e.data={item:t.dataObject,model:t.value,label:t.label,query:this.query}),e},t.prototype.typeaheadOnSelect=function(e,t){var n=e.item;this.queryModel=n,n.selected=!0,this.query=n.label,this.showClosebtn=""!==this.query,t=t||this.$typeaheadEvent,this._modelByKey=n.key,this._modelByValue=n.value,t=this.eventData(t,n),this.invokeOnTouched(),this.invokeOnChange(this.datavalue,t||{}),this.datavalue!==this.prevDatavalue&&this.updateBoundVariable(this.datavalue),this.$element.hasClass("full-screen")&&this.closeSearch(),this.invokeEventCallback("select",{$event:t,selectedValue:this.datavalue}),this.invokeEventCallback("submit",{$event:t}),this.updatePrevDatavalue(this.datavalue)},t.prototype.onPropertyChange=function(t,n,i){"tabindex"!==t&&("autocomplete"===this.type&&"displaylabel"===t&&this.displaylabel&&(!this.displayexpression||this.displayexpression&&!this.datasource)&&(this.displayexpression=this.displaylabel,this.displaylabel=void 0),"displaylabel"===t&&this.dataoptions&&null===this.binddisplaylabel&&(this.query=_.get(this._modelByValue,n)||this._modelByValue),"disabled"===t&&(!1===n?this.clearData=!1:(this.clearData=!0,_.get(this.typeahead,"_typeahead.isShown")&&this.typeahead.hide())),e.prototype.onPropertyChange.call(this,t,n,i))},t}(c.DatasetAwareFormComponent);b.initializeProps=m(),b.decorators=[{type:t.Component,args:[{selector:"[wmSearch]",template:'<ng-template #customItemTemplate let-model="item" let-index="index" let-query="query" let-match="match">\n \x3c!-- Default item template --\x3e\n <a *ngIf="!content">\n <img *ngIf="model.imgSrc" [src]="model.imgSrc" alt="Search" [style.width]="imagewidth">\n <span [title]="model.label" [innerHtml]="highlight(match, query) || model.label"></span>\n </a>\n \x3c!-- Custom partial template --\x3e\n <a *ngIf="content" [ngClass]="{customTemplate: content}" partialContainer [wmItemTemplate]="content" [userComponentParams]="match.item">\n <div partial-container-target></div>\n </a>\n</ng-template>\n\n<ng-template #customListTemplate let-matches="matches" let-itemTemplate="itemTemplate" let-query="query">\n <ul #ulElement class="app-search dropdown-menu" scrollable>\n <li #liElements *ngFor="let match of matches" [ngClass]="{active: typeaheadContainer && typeaheadContainer.isActive(match), \'list-group-header\': match && match.isHeader()}"\n (mouseenter)="typeaheadContainer.selectActive(match);"\n (click)="match && !match.isHeader() && typeaheadContainer.selectMatch(match, $event); $typeaheadEvent = $event; notifySubscriber();">\n \x3c!-- itemTemplate comes from the <input> --\x3e\n <h4 *ngIf="match.isHeader()" class="group-title">{{match.value}}</h4>\n <ng-container *ngIf="!match.isHeader()" [ngTemplateOutlet]="itemTemplate"\n [ngTemplateOutletContext]="{item: match.item, index: i, match: match, query: query}">\n </ng-container>\n </li>\n <div class="status" [hidden]="_loadingItems || !(datacompletemsg && dataProvider.isLastPage)">\n <span [textContent]="datacompletemsg"></span>\n </div>\n <div class="status" [hidden]="!_loadingItems">\n <i class="fa fa-circle-o-notch fa-spin"></i>\n <span [textContent]="loadingdatamsg"></span>\n </div>\n </ul>\n</ng-template>\n\n\x3c!--This template is for search inside mobile navbar.--\x3e\n<ng-container *ngIf="navsearchbar; else searchTemplate">\n <input [title]="query || \'\'" type="text" class="app-textbox form-control list-of-objs app-search-input" [placeholder]="placeholder || \'\'"\n focus-target\n container="body"\n [disabled]="disabled"\n autocomplete="off"\n [(ngModel)]="query"\n [readonly]="readonly"\n [disabled]="disabled"\n [typeahead]="typeaheadDataSource"\n [typeaheadWaitMs]="debouncetime"\n [typeaheadItemTemplate]="customItemTemplate"\n [optionsListTemplate]="customListTemplate"\n (input)="onInputChange($event)"\n (keydown)="listenQuery = true"\n (keydown.enter)="$typeaheadEvent = $event;handleEnterEvent($event)"\n (keydown.arrowdown)="selectNext($event)"\n (blur)="invokeOnTouched($event)"\n (click)="handleFocus($event);"\n (focus)="_unsubscribeDv = false; listenQuery = true; handleFocus($event); invokeOnFocus($event);"\n (focusout)="onFocusOut()"\n [typeaheadMinLength]="minchars"\n [typeaheadOptionsLimit]="limit"\n (typeaheadLoading)="_loadingItems"\n (typeaheadOnSelect)="typeaheadOnSelect($event)"\n typeaheadOptionField="label"\n [typeaheadGroupField]="groupby ? \'groupby\' : null"\n [typeaheadAsync]="true"\n [typeaheadScrollable]="true"\n [typeaheadOptionsInScrollableView]="optionslimitinscrollableview"\n [dropup]="dropup"\n [tabindex]="tabindex"\n [attr.name]="name"\n [attr.aria-label]="hint || \'Search field\'"/>\n <i class="btn-close wi wi-cancel" [hidden]="!showClosebtn" (click)="clearSearch($event);"></i>\n</ng-container>\n\x3c!--This template is for both web and fullscreen mode in mobile.--\x3e\n<ng-template #searchTemplate>\n <span class="wi wi-arrow-left form-control-feedback back-btn" aria-hidden="true" (click)="closeSearch()"></span>\n <span class="sr-only">Back button</span>\n <input [title]="query || \'\'" type="text" class="app-textbox form-control list-of-objs app-search-input" [placeholder]="placeholder || \'\'"\n focus-target\n [container]="containerTarget || \'body\'"\n [disabled]="disabled"\n autocomplete="off"\n [(ngModel)]="query"\n [readonly]="readonly"\n [typeahead]="typeaheadDataSource"\n [typeaheadWaitMs]="debouncetime"\n [typeaheadItemTemplate]="customItemTemplate"\n [optionsListTemplate]="customListTemplate"\n (input)="onInputChange($event)"\n (keydown)="listenQuery = true"\n (keydown.enter)="$typeaheadEvent = $event;handleEnterEvent($event)"\n (keydown.arrowdown)="selectNext($event)"\n (blur)="invokeOnTouched($event); onFocusOut()"\n (click)="handleFocus($event);"\n (focus)="_unsubscribeDv = false; listenQuery = true; handleFocus($event); invokeOnFocus($event)"\n [typeaheadMinLength]="minchars"\n [typeaheadOptionsLimit]="limit"\n (typeaheadLoading)="_loadingItems"\n (typeaheadOnSelect)="typeaheadOnSelect($event)"\n typeaheadOptionField="label"\n [typeaheadGroupField]="groupby ? \'groupby\' : null"\n [typeaheadAsync]="true"\n [typeaheadScrollable]="true"\n [typeaheadOptionsInScrollableView]="optionslimitinscrollableview"\n [tabindex]="tabindex"\n [dropup]="dropup"\n [attr.name]="name"\n [attr.aria-label]="hint || \'Search field\'">\n <input class="model-holder" ng-model="proxyModel" ng-required="required" tabindex="-1" aria-hidden="true">\n <span *ngIf="_loadingItems" aria-hidden="true" class="fa fa-circle-o-notch fa-spin form-control-feedback"></span>\n <span class="wi wi-close form-control-feedback clear-btn" [ngClass]="{\'show-btn\': isQueryEntered()}" (click)="clearSearch($event, true)"></span>\n <span class="sr-only">Clear button</span>\n <span *ngIf="showsearchicon" class="input-group-addon" aria-label="search icon" [ngClass]="{\'disabled\': disabled}">\n <form>\n <button title="Search" [disabled]="disabled" class="app-search-button wm-sl-l sl-search" type="submit"\n (click)="onSearchSelect($event)"></button>\n </form>\n </span>\n</ng-template>\n',providers:[r.provideAs(b,i.NG_VALUE_ACCESSOR,!0),r.provideAs(b,i.NG_VALIDATORS,!0),r.provideAsWidgetRef(b)]}]}],b.ctorParameters=function(){return[{type:t.Injector},{type:l.App},{type:void 0,decorators:[{type:t.Attribute,args:["datavalue.bind"]}]},{type:void 0,decorators:[{type:t.Attribute,args:["dataset.bind"]}]}]},b.propDecorators={typeahead:[{type:t.ViewChild,args:[o.TypeaheadDirective]}],ulElement:[{type:t.ViewChild,args:["ulElement"]}],liElements:[{type:t.ViewChildren,args:["liElements"]}]};var w=function(){function e(e,n){this.searchRef=n,this.elementRef=e.get(t.ElementRef)}return e.prototype.ngAfterContentInit=function(){this.elementRef.nativeElement.addEventListener("scroll",this.notifyParent.bind(this)),this.searchRef.dropdownEl=$(this.elementRef.nativeElement),this.searchRef.onDropdownOpen()},e.prototype.ngAfterViewInit=function(){if(!this.searchRef.isMobileAutoComplete()){var e=this.searchRef.$element.find("input").first();this.searchRef.dropdownEl.width(e.outerWidth())}},e.prototype.notifyParent=function(e){this.searchRef.onScroll(this.elementRef.nativeElement,e)},e}();w.decorators=[{type:t.Directive,args:[{selector:"[scrollable]"}]}],w.ctorParameters=function(){return[{type:t.Injector},{type:b}]};var P=[b,w],O=function(){};O.decorators=[{type:t.NgModule,args:[{imports:[n.CommonModule,i.FormsModule,o.TypeaheadModule,r.WmComponentsModule],declarations:d([],u(P)),exports:d([],u(P)),entryComponents:[]}]}],e.ScrollableDirective=w,e.SearchComponent=b,e.SearchModule=O,e["\u0275a"]=m,Object.defineProperty(e,"__esModule",{value:!0})})),function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@angular/common"),require("@wm/components/base"),require("@wm/core")):"function"==typeof define&&define.amd?define("@wm/components/basic/tree",["exports","@angular/core","@angular/common","@wm/components/base","@wm/core"],t):t(((e="undefined"!=typeof globalThis?globalThis:e||self).wm=e.wm||{},e.wm.components=e.wm.components||{},e.wm.components.basic=e.wm.components.basic||{},e.wm.components.basic.tree={}),e.ng.core,e.ng.common,e.wm.components.base,e.wm.core)}(this,(function(e,t,n,i,o){"use strict";
113
+ ***************************************************************************** */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=new Map([["casesensitive",Object.assign({value:!1},r.PROP_BOOLEAN)],["class",r.PROP_STRING],["datacompletemsg",Object.assign({value:"No more data to load"},r.PROP_STRING)],["datafield",Object.assign({value:"All Fields"},r.PROP_STRING)],["dataoptions",r.PROP_ANY],["dataset",r.PROP_ANY],["datasource",r.PROP_ANY],["datavalue",r.PROP_STRING],["datavaluesource",r.PROP_ANY],["dateformat",r.PROP_STRING],["disabled",r.PROP_BOOLEAN],["displayimagesrc",r.PROP_STRING],["displaylabel",r.PROP_STRING],["displayexpression",r.PROP_STRING],["dropup",r.PROP_BOOLEAN],["groupby",r.PROP_STRING],["hint",r.PROP_STRING],["imagewidth",Object.assign({value:"16px"},r.PROP_STRING)],["limit",r.PROP_NUMBER],["loadingdatamsg",Object.assign({value:"Loading items..."},r.PROP_STRING)],["match",r.PROP_STRING],["matchmode",r.PROP_STRING],["minchars",r.PROP_NUMBER],["name",r.PROP_STRING],["navsearchbar",Object.assign({value:!1},r.PROP_BOOLEAN)],["orderby",r.PROP_STRING],["placeholder",Object.assign({value:"Search"},r.PROP_STRING)],["position",r.PROP_STRING],["query",r.PROP_STRING],["readonly",r.PROP_BOOLEAN],["required",r.PROP_BOOLEAN],["searchkey",r.PROP_STRING],["searchon",Object.assign({value:"typing"},r.PROP_STRING)],["shortcutkey",r.PROP_STRING],["show",Object.assign({value:!0},r.PROP_BOOLEAN)],["showclear",Object.assign({value:!1},r.PROP_BOOLEAN)],["showsearchicon",r.PROP_BOOLEAN],["tabindex",Object.assign({value:0},r.PROP_NUMBER)],["type",Object.assign({value:"search"},r.PROP_STRING)],["debouncetime",Object.assign({value:250},r.PROP_NUMBER)],["width",r.PROP_STRING]]),m=function(){r.register("wm-search",h),r.registerFormWidget(l.FormWidgetType.AUTOCOMPLETE,new Map(h)),r.registerFormWidget(l.FormWidgetType.TYPEAHEAD,new Map(h))},f=function(){function e(){}return e.prototype.applyFilter=function(e,t,n){return e=_.isNumber(e)?e.toString():e,_.includes(n,"start")?_.startsWith(e,t):_.includes(n,"end")?_.endsWith(e,t):_.includes(n,"exact")?_.isEqual(e,t):_.includes(e,t)},e.prototype.filter=function(e){var t=this,n=e.dataset,i=e.casesensitive,o=e.matchMode;o&&!_.includes(o,"ignorecase")&&(i=!0);var r,a=e.query;return new Promise((function(s,l){if(e.searchKey){var c=_.split(e.searchKey,",");r=_.filter(e.dataset,(function(e){return c.some((function(n){var r=_.get(e,n),s=a;return i||(r=_.toLower(_.toString(r)),s=_.toLower(_.toString(s))),t.applyFilter(r,s,o)}))}))}else r=_.isArray(n)&&_.isObject(n[0])?_.filter(n,(function(e){var n=_.values(e).join(" ");return i||(n=_.toLower(n),a=_.toLower(a)),t.applyFilter(n,a)})):_.filter(n,(function(e){return i||(e=_.toLower(e),a=_.toLower(a)),t.applyFilter(e,a,o)}));s({data:r,hasMoreData:!1,isLastPage:!0})}))},e}(),g=function(){function e(){}return e.prototype.filter=function(e){var t=this;return this.filterData(e).then((function(n){return t.onFilterSuccess(e,n)}),(function(){return t.onFilterFailure()}))},e.prototype.filterData=function(e){if(e.dataoptions){var t=e.dataoptions,n=e.datasource.execute(l.DataSource.Operation.GET_REQUEST_PARAMS,e);if(t.relatedField)return new Promise((function(i,o){r.interpolateBindExpressions(e.viewParent,t.filterExpr,(function(r){n.filterExpr=t.filterExpr=r,t.filterExpr=r,e.datasource.execute(l.DataSource.Operation.GET_RELATED_TABLE_DATA,_.assign({relatedField:t.relatedField},n)).then(i,o)}))}));if(t.distinctField)return e.datasource.execute(l.DataSource.Operation.GET_DISTINCT_DATA_BY_FIELDS,{pagesize:e.limit||e.pagesize,page:e.page,fields:t.distinctField,entityName:t.tableName,filterFields:_.assign(t.filterFields,n.filterFields),filterExpr:l.getClonedObject(t.filterExpr||{})})}return e.datasource.execute(l.DataSource.Operation.SEARCH_RECORDS,e)},e.prototype.isLast=function(e,t,n,i){return t===l.AppConstants.INT_MAX_VALUE?0!==i&&i<n:e===(t>n?Math.ceil(t/n):t<0?0:1)},e.prototype.getTransformedData=function(e,t){var n=e.operation+"Result",i=t[n];if(i){var o={};_.set(o,n,i),t=[o]}else t=[t];return t},e.prototype.onFilterFailure=function(){return[]},e.prototype.isLastPageForDistinctApi=function(e,t,n,i){return t>1&&!i&&_.isEmpty(e)&&n===l.AppConstants.INT_MAX_VALUE},e.prototype.onFilterSuccess=function(e,t){var n,i,o,r,a=this,s=t.data,c=_.split(e.binddataset,"."),p=_.slice(c,_.indexOf(c,"dataSet")+1).join(".");return new Promise((function(c,u){var d=t.pagination;if(e.datasource.execute(l.DataSource.Operation.IS_PAGEABLE)&&(o=d.number+1,i=a.isLast(o,e.limit>0&&e.limit||d.totalElements,d.size,d.numberOfElements),r=!0,a.isLastPageForDistinctApi(s,o,d.totalElements,i)))c({data:[],isLastPage:i=!0,hasMoreData:o>1,isPaginatedData:r,page:o});else{if(p){if(_.isArray(s)){var h=p.lastIndexOf("[$i]");if(h>-1){var m=p.substr(h+5);n=s.map((function(e){return l.findValueOf(e,m)}))}}else _.isObject(s)&&(n=_.get(s,p));s=n||s}_.isArray(s)||(s=a.getTransformedData(e.datasource,s)),s.length?c({data:s,isLastPage:i,hasMoreData:o>1,isPaginatedData:r,page:o}):c({data:[],isLastPage:i,hasMoreData:o>1,isPaginatedData:r,page:o})}}))},e}(),v=function(){function e(){}return e.prototype.filter=function(t){var n=this,i=t.datasource&&t.datasource.execute(l.DataSource.Operation.IS_UPDATE_REQUIRED,t.hasData);return(!t.isLocalFilter&&(t.dataoptions||t.datasource&&t.datasource.execute(l.DataSource.Operation.IS_API_AWARE)&&t.searchKey&&i)?e.remoteDataProvider.filter(t):e.localDataProvider.filter(t)).then((function(e){return n.updateDataset=t.datasource&&!t.datasource.execute(l.DataSource.Operation.SUPPORTS_CRUD)&&i,n.hasMoreData=e.hasMoreData,n.isLastPage=e.isLastPage,n.page=e.page,n.isPaginatedData=e.isPaginatedData,e}))},e}();v.remoteDataProvider=new g,v.localDataProvider=new f;var y={widgetType:"wm-search",hostClass:"input-group"},b=function(e){function t(t,n,i,o){var r=e.call(this,t,y)||this;r.binddatavalue=i,r.binddataset=o,r.query="",r.page=1,r.allowempty=!1,r.app=n,l.addClass(r.nativeElement,"app-search",!0),r.typeaheadDataSource=a.Observable.create((function(e){r.listenQuery&&(r._defaultQueryInvoked=!1,r._loadingItems=!0,e.next(r.query)),r.lastSelectedIndex&&(r.typeahead._container=void 0)})).pipe(s.filter((function(){return r._loadingItems=!1,0===r.minchars||r.query&&r.query.length>=r.minchars})),s.mergeMap((function(e){return r.getDataSourceAsObservable(e)}))),r.dataProvider=new v;var c=r.datavalue$.subscribe((function(e){var t=_.isArray(e)?e[0]:e;if(null===t||""===t)return r._modelByValue="",r.query=r.queryModel="",void(r._lastResult=void 0);r._unsubscribeDv||(r._defaultQueryInvoked=!1,_.isObject(e)||r.prevDatavalue===e||(r._modelByKey=void 0,r.query=r.queryModel=""),r.updateByDatavalue(e)),r.showClosebtn=""!==r.query}));r.registerDestroyListener((function(){return c.unsubscribe()}));var p=r.dataset$.subscribe((function(){r.startIndex=r.datasetItems.length,r._lastResult=void 0;var e=r.datavalue||r.toBeProcessedDatavalue;l.isDefined(e)&&r.updateByDataset(e)}));return r.registerDestroyListener((function(){return p.unsubscribe()})),r}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),Object.defineProperty(t.prototype,"datasource",{get:function(){return this._datasource},set:function(e){this._datasource=e;var t=this.datavalue||this.toBeProcessedDatavalue;this.updateByDatavalue(t)},enumerable:!1,configurable:!0}),t.prototype.clearSearch=function(e,t){this.query="",this.onInputChange(e),this.dataProvider.isLastPage=!1,this.listenQuery=!1,t&&(this.listenQuery=!0,this._unsubscribeDv=!1,this.loadMoreData()),this.invokeEventCallback("clearsearch"),this._loadingItems=!1,e&&this.$element.find(".app-search-input").focus()},t.prototype.clearText=function(){this.query="",this.showClosebtn=!1},t.prototype.closeSearch=function(){this._loadingItems=!1,this.page=1,this.insertAtIndex(this.elIndex),this.elIndex=void 0,this.parentEl=void 0,this.$element.removeClass("full-screen"),this._domUpdated&&(this._domUpdated=!1),this.listenQuery=!1,this._unsubscribeDv=!0,this.typeahead.hide()},t.prototype.renderMobileAutoComplete=function(){l.isDefined(this.elIndex)||(this.parentEl=this.$element.parent(),this.elIndex=this.parentEl.children().index(this.$element)),this.$element.hasClass("full-screen")||(this._domUpdated=!0,this.$element.addClass("full-screen"),"inline"===this.position&&this.$element.addClass(this.position)),this.$element.hasClass("full-screen")&&this.$element.find(".app-search-input").focus()},t.prototype.getDataSourceAsObservable=function(e){if(this._lastQuery===e&&!_.get(this.dataoptions,"filterFields")&&l.isDefined(this._lastResult))return this._loadingItems=!1,a.of(this._lastResult);if("autocomplete"===this.type&&this.searchkey&&this.query&&this.datavalue){var t=[],n=_.split(this.searchkey,","),i=void 0;if(this.binddisplaylabel&&1===(t=_.split(this.binddisplaylabel,"+")).length)if(_.includes(t[0],"|"))i=!0;else{i=/\[(.*?)\]/.exec(t[0])[1]}if(t.length>1||i&&!_.includes(n,i)||this.displayexpression&&!_.includes(n,this.displayexpression))return this._loadingItems=!1,a.of([])}return this._lastQuery=this.query,a.from(this.getDataSource(e))},t.prototype.handleEvent=function(t,n,i,o){_.includes(["blur","focus","select","submit","change"],n)||e.prototype.handleEvent.call(this,t,n,i,o)},t.prototype.highlight=function(e,t){if(this.typeaheadContainer)return e.value=e.item.label.toString(),this.typeaheadContainer.highlight(e,t)},t.prototype.insertAtIndex=function(e){0===e?this.parentEl.prepend(this.$element):this.parentEl.children().eq(e).length?this.$element.insertBefore(this.parentEl.children().eq(e)):this.$element.insertAfter(this.parentEl.children().eq(e-1))},t.prototype.isMobileAutoComplete=function(){return"autocomplete"===this.type&&l.isMobile()},t.prototype.isQueryEntered=function(){return this.showclear&&this.showClosebtn},t.prototype.loadMoreData=function(e){this.dataProvider.isLastPage||(this.page=e?this.page+1:this.page,this.isScrolled=!0,this._loadingItems=!0,e&&(this._lastQuery=void 0),this.typeahead.onInput({target:{value:_.trim(this.query)||"0"}}))},t.prototype.onFocusOut=function(){this._unsubscribeDv=!1,this._loadingItems=!1,this.page=1,!this._domUpdated&&this._isOpen&&(this.listenQuery=!1),this._isOpen=!1,this._domUpdated&&this.typeahead&&this.typeahead._container&&(this.typeahead._container.isFocused=!0)},t.prototype.onInputChange=function(e){this.result=[],this.page=1,this.listenQuery=this.isUpdateOnKeyPress(),this._modelByValue=void 0,""===this.query?(this.queryModel="",this._modelByValue="",this.updatePrevDatavalue(this._lastQuery),this.invokeOnChange(this._modelByValue,{},!0),this.invokeEventCallback("clear",{$event:e}),e&&9!==e.which&&this.invokeEventCallback("submit",{$event:e})):this.invokeEventCallback("change",{$event:e,newVal:this._modelByValue||this.query,oldVal:this.prevDatavalue}),this.showClosebtn=""!==this.query},t.prototype.handleEnterEvent=function(e){_.get(this.typeahead,"matches.length")||this.onSearchSelect(e)},t.prototype.onSearchSelect=function(e){var t,n,i,o=(null===(n=null===(t=this.typeaheadContainer)||void 0===t?void 0:t.active)||void 0===n?void 0:n.value)===this.query;if(this.typeaheadContainer&&this.typeaheadContainer.active&&o&&(i=this.typeaheadContainer.active.item),e=this.eventData(e,i||{}),!this.isUpdateOnKeyPress())return this.listenQuery=!0,void this.typeahead.onInput({target:{value:this.query}});this.typeaheadContainer&&this.liElements.length&&o?this.typeaheadContainer.selectActiveMatch():(this.queryModel=this.query,this.invokeEventCallback("submit",{$event:e}))},t.prototype.invokeOnBeforeServiceCall=function(e){this.invokeEventCallback("beforeservicecall",{inputData:e})},t.prototype.onDropdownOpen=function(){var e=this;if(this.clearData&&this.typeahead.hide(),_.debounce((function(){e._isOpen=!0,e.typeaheadContainer=e.typeahead._container||e.typeahead._typeahead.instance,e.typeaheadContainer.liElements=e.liElements,e.typeaheadContainer.ulElement=e.ulElement,l.adjustContainerPosition($("typeahead-container"),e.nativeElement,e.typeahead._typeahead,$("typeahead-container .dropdown-menu"))}))(),this.isMobileAutoComplete()){this.$element.hasClass("full-screen")||this.renderMobileAutoComplete();var t=this.dropdownEl.closest("typeahead-container");t.insertAfter(this.$element.find("input").first());var n=this.$element.closest(".app-content").height();t.css({position:"relative",top:0,height:n+"px"}),this.showClosebtn=this.query&&""!==this.query,_.isUndefined(this.dataProvider.isLastPage)||this.dataProvider.isLastPage||this.triggerSearch()}},t.prototype.selectNext=function(){var e=this.typeaheadContainer.matches;if(e){var t=e.indexOf(this.typeaheadContainer.active);!this._loadingItems&&!this.dataProvider.isLastPage&&t+1>e.length-1&&(this.lastSelectedIndex=t,this.loadMoreData(!0))}},t.prototype.setLastActiveMatchAsSelected=function(){this.lastSelectedIndex&&(this.typeaheadContainer._active=this.typeaheadContainer.matches[this.lastSelectedIndex],this.typeaheadContainer.nextActiveMatch(),this.lastSelectedIndex=void 0)},t.prototype.triggerSearch=function(){if(!this.dataProvider.isLastPage&&this.$element.hasClass("full-screen")){var e=this.dropdownEl,t=e.find("li").last();t.length&&e.length&&e.height()+e.position().top>t.height()+t.position().top&&this.loadMoreData(!0)}},t.prototype.isUpdateOnKeyPress=function(){return"typing"===this.searchon},t.prototype.debounceDefaultQuery=function(e){var t=this;this._defaultQueryInvoked=!0,this.getDataSource(e,!0).then((function(e){e.length?(t.queryModel=e,t._lastQuery=t.query=t.queryModel[0].label||"",t._modelByValue=t.queryModel[0].value,t._modelByKey=t.queryModel[0].key,t.showClosebtn=""!==t.query):(t._modelByValue=void 0,t.queryModel=void 0,t.query=""),t.clearData&&_.get(t.typeahead,"_typeahead.isShown")&&t.typeahead.hide()}))},t.prototype.updateByDatavalue=function(e){this.updateByDataset(e),this.updateByDataSource(e)},t.prototype.updateByDataSource=function(e){if(l.isDefined(e)&&!_.isObject(e)&&this.datasource&&!l.isDefined(this._modelByKey)&&this.datafield!==r.ALLFIELDS){if(l.isDefined(this.queryModel)&&!_.isEmpty(this.queryModel))return void this.updateDatavalueFromQueryModel();!this._defaultQueryInvoked&&this.datasource.execute(l.DataSource.Operation.SUPPORTS_CRUD)&&this.debounceDefaultQuery(e)}},t.prototype.updateDatavalueFromQueryModel=function(){l.isDefined(this.queryModel)&&(this._modelByValue=_.isArray(this.queryModel)?this.queryModel[0].value:this.queryModel,this._modelByKey=_.isArray(this.queryModel)?this.queryModel[0].key:this.queryModel,this.toBeProcessedDatavalue=void 0)},t.prototype.updateByDataset=function(e){if(!this._defaultQueryInvoked||!this.searchkey){var t=_.find(this.datasetItems,(function(t){return _.isObject(t.value)?_.isEqual(t.value,e):_.toString(t.value).toLowerCase()===_.toString(e).toLowerCase()}));if(t)this.queryModel=[t];else if(this.datafield===r.ALLFIELDS&&_.isObject(e))this.queryModel=this.getTransformedData(r.extractDataAsArray(e));else if(this.prevDatavalue!==e)return this.queryModel=void 0,void(this.query="");this.updateDatavalueFromQueryModel(),this._lastQuery=this.query=l.isDefined(this.queryModel)&&this.queryModel.length?_.get(this.queryModel[0],"label"):"",this.showClosebtn=""!==this.query}},t.prototype.handleFocus=function(e){"search"===this.type&&this.query===this._lastQuery&&this._lastResult&&this.typeahead.keyUpEventEmitter.emit(this.query)},t.prototype.notifySubscriber=function(){var e=$(this.nativeElement).closest(".app-composite-widget.caption-floating");e.length>0&&this.app.notify("captionPositionAnimate",{displayVal:!0,nativeEl:e})},t.prototype.getDataSource=function(e,t,n){var i=this;if(t&&this.datafield===r.ALLFIELDS)return this._loadingItems=!1,Promise.resolve([]);var o={dataset:this.dataset?r.convertDataToObject(this.dataset):void 0,binddataset:this.binddataset,datasource:this.datasource,datafield:this.datafield,hasData:this.dataset&&this.dataset.length,query:e,isLocalFilter:!this.searchkey,searchKey:t?this.datafield:this.searchkey,matchMode:t?"startignorecase":this.matchmode,casesensitive:this.casesensitive,isformfield:this.isformfield,orderby:this.orderby,limit:this.limit,pagesize:this.pagesize,page:this.page,onBeforeservicecall:this.invokeOnBeforeServiceCall.bind(this)};return this.dataoptions&&(o.dataoptions=this.dataoptions,o.viewParent=this.viewParent),this._loadingItems=!0,this.dataProvider.filter(o).then((function(e){e=e.data||e,l.isDefined(i.dataset)&&i.dataset.length||!i.dataProvider.updateDataset||(i.dataset=e),i.dataProvider.hasMoreData?i.formattedDataset=i.formattedDataset.concat(e):i.formattedDataset=e,i.formattedDataset.length>20&&!l.isDefined(i.limit)&&(i.typeahead.typeaheadOptionsLimit=i.formattedDataset.length),i._isOpen&&i.isMobileAutoComplete()&&!_.isUndefined(i.dataProvider.isLastPage)&&!i.dataProvider.isLastPage&&i.triggerSearch();var t=i.getTransformedData(i.formattedDataset,n);return i.result=_.map(t,"value"),t}),(function(e){return i._loadingItems=!1,[]})).then((function(t){return i.isScrolled&&(_.debounce((function(){i.setLastActiveMatchAsSelected()}),30)(),i.isScrolled=!1),t.length||(i._modelByValue=void 0,i.queryModel=e),i._unsubscribeDv&&(t=[]),i._loadingItems=!1,i._lastResult=t,t}))},t.prototype.getContext=function(e){return e&&_.get(e,"widget")?this.getContext(e.viewParent):e},t.prototype.getTransformedData=function(e,t,n){l.isDefined(t)&&t++;var i=r.transformFormData(this.getContext(this.viewParent),e,this.datafield,{displayField:this.displaylabel||this.displayfield,displayExpr:n?"":this.displayexpression,bindDisplayExpr:n?"":this.binddisplaylabel,bindDisplayImgSrc:this.binddisplayimagesrc,displayImgSrc:this.displayimagesrc},t,this);return r.getUniqObjsByDataField(i,this.datafield,this.displayfield||this.displaylabel,l.toBoolean(this.allowempty))},t.prototype.onScroll=function(e,t){var n=e.scrollHeight,i=e.clientHeight;!this._loadingItems&&!this.dataProvider.isLastPage&&e.scrollTop+i>=n&&this.loadMoreData(!0)},t.prototype.ngOnInit=function(){e.prototype.ngOnInit.call(this),l.isDefined(this.minchars)||("autocomplete"===this.type?this.minchars=0:this.minchars=1),this.listenQuery=this.isUpdateOnKeyPress(),this.showsearchicon=l.isDefined(this.showsearchicon)?this.showsearchicon:"search"===this.type},t.prototype.ngAfterViewInit=function(){e.prototype.ngAfterViewInit.call(this),r.styler(this.nativeElement,this),this.containerTarget=r.getContainerTargetClass(this.nativeElement)},t.prototype.eventData=function(e,t){return e&&(e.data={item:t.dataObject,model:t.value,label:t.label,query:this.query}),e},t.prototype.typeaheadOnSelect=function(e,t){var n=e.item;this.queryModel=n,n.selected=!0,this.query=n.label,this.showClosebtn=""!==this.query,t=t||this.$typeaheadEvent,this._modelByKey=n.key,this._modelByValue=n.value,t=this.eventData(t,n),this.invokeOnTouched(),this.invokeOnChange(this.datavalue,t||{}),this.datavalue!==this.prevDatavalue&&this.updateBoundVariable(this.datavalue),this.$element.hasClass("full-screen")&&this.closeSearch(),this.invokeEventCallback("select",{$event:t,selectedValue:this.datavalue}),this.invokeEventCallback("submit",{$event:t}),this.updatePrevDatavalue(this.datavalue)},t.prototype.onPropertyChange=function(t,n,i){"tabindex"!==t&&("autocomplete"===this.type&&"displaylabel"===t&&this.displaylabel&&(!this.displayexpression||this.displayexpression&&!this.datasource)&&(this.displayexpression=this.displaylabel,this.displaylabel=void 0),"displaylabel"===t&&this.dataoptions&&null===this.binddisplaylabel&&(this.query=_.get(this._modelByValue,n)||this._modelByValue),"disabled"===t&&(!1===n?this.clearData=!1:(this.clearData=!0,_.get(this.typeahead,"_typeahead.isShown")&&this.typeahead.hide())),e.prototype.onPropertyChange.call(this,t,n,i))},t}(c.DatasetAwareFormComponent);b.initializeProps=m(),b.decorators=[{type:t.Component,args:[{selector:"[wmSearch]",template:'<ng-template #customItemTemplate let-model="item" let-index="index" let-query="query" let-match="match">\n \x3c!-- Default item template --\x3e\n <a *ngIf="!content">\n <img *ngIf="model.imgSrc" [src]="model.imgSrc" alt="Search" [style.width]="imagewidth">\n <span [title]="model.label" [innerHtml]="highlight(match, query) || model.label"></span>\n </a>\n \x3c!-- Custom partial template --\x3e\n <a *ngIf="content" [ngClass]="{customTemplate: content}" partialContainer [wmItemTemplate]="content" [userComponentParams]="match.item">\n <div partial-container-target></div>\n </a>\n</ng-template>\n\n<ng-template #customListTemplate let-matches="matches" let-itemTemplate="itemTemplate" let-query="query">\n <ul #ulElement class="app-search dropdown-menu" scrollable>\n <li #liElements *ngFor="let match of matches" [ngClass]="{active: typeaheadContainer && typeaheadContainer.isActive(match), \'list-group-header\': match && match.isHeader()}"\n (mouseenter)="typeaheadContainer.selectActive(match);"\n (click)="match && !match.isHeader() && typeaheadContainer.selectMatch(match, $event); $typeaheadEvent = $event; notifySubscriber();">\n \x3c!-- itemTemplate comes from the <input> --\x3e\n <h4 *ngIf="match.isHeader()" class="group-title">{{match.value}}</h4>\n <ng-container *ngIf="!match.isHeader()" [ngTemplateOutlet]="itemTemplate"\n [ngTemplateOutletContext]="{item: match.item, index: i, match: match, query: query}">\n </ng-container>\n </li>\n <div class="status" [hidden]="_loadingItems || !(datacompletemsg && dataProvider.isLastPage)">\n <span [textContent]="datacompletemsg"></span>\n </div>\n <div class="status" [hidden]="!_loadingItems">\n <i class="fa fa-circle-o-notch fa-spin"></i>\n <span [textContent]="loadingdatamsg"></span>\n </div>\n </ul>\n</ng-template>\n\n\x3c!--This template is for search inside mobile navbar.--\x3e\n<ng-container *ngIf="navsearchbar; else searchTemplate">\n <input [title]="query || \'\'" type="text" class="app-textbox form-control list-of-objs app-search-input" [placeholder]="placeholder || \'\'"\n focus-target\n container="body"\n [disabled]="disabled"\n autocomplete="off"\n [(ngModel)]="query"\n [readonly]="readonly"\n [disabled]="disabled"\n [typeahead]="typeaheadDataSource"\n [typeaheadWaitMs]="debouncetime"\n [typeaheadItemTemplate]="customItemTemplate"\n [optionsListTemplate]="customListTemplate"\n (input)="onInputChange($event)"\n (keydown)="listenQuery = true"\n (keydown.enter)="$typeaheadEvent = $event;handleEnterEvent($event)"\n (keydown.arrowdown)="selectNext($event)"\n (blur)="invokeOnTouched($event)"\n (click)="handleFocus($event);"\n (focus)="_unsubscribeDv = false; listenQuery = true; handleFocus($event); invokeOnFocus($event);"\n (focusout)="onFocusOut()"\n [typeaheadMinLength]="minchars"\n [typeaheadOptionsLimit]="limit"\n (typeaheadLoading)="_loadingItems"\n (typeaheadOnSelect)="typeaheadOnSelect($event)"\n typeaheadOptionField="label"\n [typeaheadGroupField]="groupby ? \'groupby\' : null"\n [typeaheadAsync]="true"\n [typeaheadScrollable]="true"\n [adaptivePosition]="true"\n [typeaheadOptionsInScrollableView]="optionslimitinscrollableview"\n [dropup]="dropup"\n [tabindex]="tabindex"\n [attr.name]="name"\n [attr.aria-label]="hint || \'Search field\'"/>\n <i class="btn-close wi wi-cancel" [hidden]="!showClosebtn" (click)="clearSearch($event);"></i>\n</ng-container>\n\x3c!--This template is for both web and fullscreen mode in mobile.--\x3e\n<ng-template #searchTemplate>\n <span class="wi wi-arrow-left form-control-feedback back-btn" aria-hidden="true" (click)="closeSearch()"></span>\n <span class="sr-only">Back button</span>\n <input [title]="query || \'\'" type="text" class="app-textbox form-control list-of-objs app-search-input" [placeholder]="placeholder || \'\'"\n focus-target\n [container]="containerTarget || \'body\'"\n [disabled]="disabled"\n autocomplete="off"\n [(ngModel)]="query"\n [readonly]="readonly"\n [typeahead]="typeaheadDataSource"\n [typeaheadWaitMs]="debouncetime"\n [typeaheadItemTemplate]="customItemTemplate"\n [optionsListTemplate]="customListTemplate"\n (input)="onInputChange($event)"\n (keydown)="listenQuery = true"\n (keydown.enter)="$typeaheadEvent = $event;handleEnterEvent($event)"\n (keydown.arrowdown)="selectNext($event)"\n (blur)="invokeOnTouched($event); onFocusOut()"\n (click)="handleFocus($event);"\n (focus)="_unsubscribeDv = false; listenQuery = true; handleFocus($event); invokeOnFocus($event)"\n [typeaheadMinLength]="minchars"\n [typeaheadOptionsLimit]="limit"\n (typeaheadLoading)="_loadingItems"\n (typeaheadOnSelect)="typeaheadOnSelect($event)"\n typeaheadOptionField="label"\n [typeaheadGroupField]="groupby ? \'groupby\' : null"\n [typeaheadAsync]="true"\n [typeaheadScrollable]="true"\n [adaptivePosition]="true"\n [typeaheadOptionsInScrollableView]="optionslimitinscrollableview"\n [tabindex]="tabindex"\n [dropup]="dropup"\n [attr.name]="name"\n [attr.aria-label]="hint || \'Search field\'">\n <input class="model-holder" ng-model="proxyModel" ng-required="required" tabindex="-1" aria-hidden="true">\n <span *ngIf="_loadingItems" aria-hidden="true" class="fa fa-circle-o-notch fa-spin form-control-feedback"></span>\n <span class="wi wi-close form-control-feedback clear-btn" [ngClass]="{\'show-btn\': isQueryEntered()}" (click)="clearSearch($event, true)"></span>\n <span class="sr-only">Clear button</span>\n <span *ngIf="showsearchicon" class="input-group-addon" aria-label="search icon" [ngClass]="{\'disabled\': disabled}">\n <form>\n <button title="Search" [disabled]="disabled" class="app-search-button wm-sl-l sl-search" type="submit"\n (click)="onSearchSelect($event)"></button>\n </form>\n </span>\n</ng-template>\n',providers:[r.provideAs(b,i.NG_VALUE_ACCESSOR,!0),r.provideAs(b,i.NG_VALIDATORS,!0),r.provideAsWidgetRef(b)]}]}],b.ctorParameters=function(){return[{type:t.Injector},{type:l.App},{type:void 0,decorators:[{type:t.Attribute,args:["datavalue.bind"]}]},{type:void 0,decorators:[{type:t.Attribute,args:["dataset.bind"]}]}]},b.propDecorators={typeahead:[{type:t.ViewChild,args:[o.TypeaheadDirective]}],ulElement:[{type:t.ViewChild,args:["ulElement"]}],liElements:[{type:t.ViewChildren,args:["liElements"]}]};var w=function(){function e(e,n){this.searchRef=n,this.elementRef=e.get(t.ElementRef)}return e.prototype.ngAfterContentInit=function(){this.elementRef.nativeElement.addEventListener("scroll",this.notifyParent.bind(this)),this.searchRef.dropdownEl=$(this.elementRef.nativeElement),this.searchRef.onDropdownOpen()},e.prototype.ngAfterViewInit=function(){if(!this.searchRef.isMobileAutoComplete()){var e=this.searchRef.$element.find("input").first();this.searchRef.dropdownEl.width(e.outerWidth())}},e.prototype.notifyParent=function(e){this.searchRef.onScroll(this.elementRef.nativeElement,e)},e}();w.decorators=[{type:t.Directive,args:[{selector:"[scrollable]"}]}],w.ctorParameters=function(){return[{type:t.Injector},{type:b}]};var P=[b,w],O=function(){};O.decorators=[{type:t.NgModule,args:[{imports:[n.CommonModule,i.FormsModule,o.TypeaheadModule,r.WmComponentsModule],declarations:d([],u(P)),exports:d([],u(P)),entryComponents:[]}]}],e.ScrollableDirective=w,e.SearchComponent=b,e.SearchModule=O,e["\u0275a"]=m,Object.defineProperty(e,"__esModule",{value:!0})})),function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@angular/common"),require("@wm/components/base"),require("@wm/core")):"function"==typeof define&&define.amd?define("@wm/components/basic/tree",["exports","@angular/core","@angular/common","@wm/components/base","@wm/core"],t):t(((e="undefined"!=typeof globalThis?globalThis:e||self).wm=e.wm||{},e.wm.components=e.wm.components||{},e.wm.components.basic=e.wm.components.basic||{},e.wm.components.basic.tree={}),e.ng.core,e.ng.common,e.wm.components.base,e.wm.core)}(this,(function(e,t,n,i,o){"use strict";
114
114
  /*! *****************************************************************************
115
115
  Copyright (c) Microsoft Corporation.
116
116
 
@@ -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,C=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&&C(i,"listRecords")):("dataBinding"===e?i.inputFields=t:i.inputFields[e]=t,i.autoUpdate&&!_.isUndefined(t)&&_.isFunction(i[i.operation+"Record"])&&!o&&C(i,i.operation+"Record"));break;case m.CATEGORY.CRUD:"list"===i.operationType&&i.autoUpdate&&!_.isUndefined(t)&&_.isFunction(i.invoke)&&!o&&C(i,"invoke");break;case m.CATEGORY.SERVICE:case m.CATEGORY.LOGIN:i.autoUpdate&&!_.isUndefined(t)&&_.isFunction(i.invoke)&&!o&&C(i,"invoke");break;case m.CATEGORY.DEVICE:i[e]=t,i.autoUpdate&&!_.isUndefined(t)&&_.isFunction(i.invoke)&&!o&&C(i,"invoke")}},R=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=C,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 i(){return null!==t&&t.apply(this,arguments)||this}return b(i,t),i.prototype.onToasterClick=function(e){I("onClick",e,"")},i.prototype.onToasterHide=function(e){I("onHide",e,"")},i.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))},i.prototype.getDialogConfig=function(t,n,i,o){return{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)}}},i.prototype.notifyViaDialog=function(t,i){var o="PREFAB"===n.getWmProjectProperties().type,r=(o?"Prefab":"Common")+_.capitalize(t.operation)+"Dialog",a=this.getDialogConfig(t,i,r,(function(){return I("onOk",t,i.data)}));a=o?a:{notification:a},e.dialogService.open(r,void 0,a)},i.prototype.notify=function(e,t,n,i){t=t||{},"toast"===e.operation?this.notifyViaToaster(e,t):this.notifyViaDialog(e,t)},i.prototype.getMessage=function(e){return e.dataBinding.text},i.prototype.setMessage=function(e,t){return _.isString(t)&&(e.dataBinding.text=t),e.dataBinding.text},i.prototype.getOkButtonText=function(e){return e.dataBinding.okButtonText},i.prototype.setOkButtonText=function(e,t){return _.isString(t)&&(e.dataBinding.okButtonText=t),e.dataBinding.okButtonText},i.prototype.getToasterDuration=function(e){return e.dataBinding.duration},i.prototype.setToasterDuration=function(e,t){return e.dataBinding.duration=t,e.dataBinding.duration},i.prototype.getToasterClass=function(e){return e.dataBinding.class},i.prototype.setToasterClass=function(e,t){return _.isString(t)&&(e.dataBinding.class=t),e.dataBinding.class},i.prototype.getToasterPosition=function(e){return e.dataBinding.class},i.prototype.setToasterPosition=function(e,t){return _.isString(t)&&(e.dataBinding.position=t),e.dataBinding.position},i.prototype.getAlertType=function(e){return e.dataBinding.alerttype},i.prototype.setAlertType=function(e,t){return _.isString(t)&&(e.dataBinding.alerttype=t),e.dataBinding.alerttype},i.prototype.getCancelButtonText=function(e){return e.dataBinding.cancelButtonText},i.prototype.setCancelButtonText=function(e,t){return _.isString(t)&&(e.dataBinding.cancelButtonText=t),e.dataBinding.cancelButtonText},i}(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,C,A,R=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(C=S[m.REST_SERVICE.OAUTH_PROVIDER_KEY],A=null,!(E=e.oauthService.getAccessToken(C,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:R,_.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),Ce=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 Re=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,R("http",this.httpService),R("metadata",this.metadataService),R("navigationService",this.navigationService),R("router",this.routerService),R("toaster",this.toasterService),R("oAuth",this.oAuthService),R("security",this.securityService),R("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=Ce.create(i[l],o)).init(),this.isVariableSeperated(i,l)&&(this.processBinding(r,o,"dataBinding",this.getBindSourceTarget(r)),r.httpService=this.httpService,r.dateFormatter=new Re,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){R(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=Re,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=R,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",C=function(e){if(e)return'"'+(e=e.replace(/"/g,'""'))+'"'},A=function(e){var t=[],n=[];return _.forEach(e.columns,(function(e){t.push(C(e.name)),n.push("?")})),"INSERT INTO "+C(e.name)+" ("+t.join(",")+") VALUES ("+n.join(",")+")"},R=function(e){var t=[],n=[];return _.forEach(e.columns,(function(e){t.push(C(e.name)),n.push("?")})),"REPLACE INTO "+C(e.name)+" ("+t.join(",")+") VALUES ("+n.join(",")+")"},I=function(e){var t=_.find(e.columns,"primaryKey");return t?"DELETE FROM "+C(e.name)+" WHERE "+C(t.name)+" = ?":""},D=function(e){var t=[],n=[];return e.columns.forEach((function(i){var o;t.push(C(e.name)+"."+C(i.name)+" as "+i.fieldName),i.foreignRelations&&i.foreignRelations.forEach((function(r){o=r.sourceFieldName,_.forEach(r.dataMapper,(function(e,n){t.push(o+"."+C(e.name)+" as '"+n+"'")})),n.push(" LEFT JOIN "+C(r.targetTable)+" "+o+"\n ON "+o+"."+C(r.targetColumn)+" = "+C(e.name)+"."+C(i.name))}))})),"SELECT "+t.join(",")+" FROM "+C(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 "+C(o.targetTable)+" "+i+"\n ON "+i+"."+C(o.targetColumn)+" = "+C(e.name)+"."+C(n.name))}))})),"SELECT count(*) as count FROM "+C(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),C(o)+"."+C(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]=C(e.entitySchema.name)+"."+C(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=R(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 "+C(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=C(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 "+C(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 "+C(t)+" set "+C(n)+" = 1 where "+C(n)+" = 'true'",r="update "+C(t)+" set "+C(n)+" = 0\n where "+C(n)+" is not null and "+C(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,C=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&&C(i,"listRecords")):("dataBinding"===e?i.inputFields=t:i.inputFields[e]=t,i.autoUpdate&&!_.isUndefined(t)&&_.isFunction(i[i.operation+"Record"])&&!o&&C(i,i.operation+"Record"));break;case m.CATEGORY.CRUD:"list"===i.operationType&&i.autoUpdate&&!_.isUndefined(t)&&_.isFunction(i.invoke)&&!o&&C(i,"invoke");break;case m.CATEGORY.SERVICE:case m.CATEGORY.LOGIN:i.autoUpdate&&!_.isUndefined(t)&&_.isFunction(i.invoke)&&!o&&C(i,"invoke");break;case m.CATEGORY.DEVICE:i[e]=t,i.autoUpdate&&!_.isUndefined(t)&&_.isFunction(i.invoke)&&!o&&C(i,"invoke")}},R=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=C,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 i(){return null!==t&&t.apply(this,arguments)||this}return b(i,t),i.prototype.onToasterClick=function(e){I("onClick",e,"")},i.prototype.onToasterHide=function(e){I("onHide",e,"")},i.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))},i.prototype.getDialogConfig=function(t,n,i,o){return{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)}}},i.prototype.notifyViaDialog=function(t,i){var o="PREFAB"===n.getWmProjectProperties().type,r=(o?"Prefab":"Common")+_.capitalize(t.operation)+"Dialog",a=this.getDialogConfig(t,i,r,(function(){return I("onOk",t,i.data)}));a=o?a:{notification:a},e.dialogService.open(r,void 0,a)},i.prototype.notify=function(e,t,n,i){t=t||{},"toast"===e.operation?this.notifyViaToaster(e,t):this.notifyViaDialog(e,t)},i.prototype.getMessage=function(e){return e.dataBinding.text},i.prototype.setMessage=function(e,t){return _.isString(t)&&(e.dataBinding.text=t),e.dataBinding.text},i.prototype.getOkButtonText=function(e){return e.dataBinding.okButtonText},i.prototype.setOkButtonText=function(e,t){return _.isString(t)&&(e.dataBinding.okButtonText=t),e.dataBinding.okButtonText},i.prototype.getToasterDuration=function(e){return e.dataBinding.duration},i.prototype.setToasterDuration=function(e,t){return e.dataBinding.duration=t,e.dataBinding.duration},i.prototype.getToasterClass=function(e){return e.dataBinding.class},i.prototype.setToasterClass=function(e,t){return _.isString(t)&&(e.dataBinding.class=t),e.dataBinding.class},i.prototype.getToasterPosition=function(e){return e.dataBinding.class},i.prototype.setToasterPosition=function(e,t){return _.isString(t)&&(e.dataBinding.position=t),e.dataBinding.position},i.prototype.getAlertType=function(e){return e.dataBinding.alerttype},i.prototype.setAlertType=function(e,t){return _.isString(t)&&(e.dataBinding.alerttype=t),e.dataBinding.alerttype},i.prototype.getCancelButtonText=function(e){return e.dataBinding.cancelButtonText},i.prototype.setCancelButtonText=function(e,t){return _.isString(t)&&(e.dataBinding.cancelButtonText=t),e.dataBinding.cancelButtonText},i}(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,C,A,R=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(C=S[m.REST_SERVICE.OAUTH_PROVIDER_KEY],A=null,!(E=e.oauthService.getAccessToken(C,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:R,_.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),Ce=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 Re=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,R("http",this.httpService),R("metadata",this.metadataService),R("navigationService",this.navigationService),R("router",this.routerService),R("toaster",this.toasterService),R("oAuth",this.oAuthService),R("security",this.securityService),R("dialog",this.dialogService),t.wmSetDependency("oAuth",this.oAuthService),t.wmSetDependency("security",this.securityService),t.wmSetDependency("metadata",this.metadataService),t.wmSetDependency("http",this.httpService)}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=Ce.create(i[l],o)).init(),this.isVariableSeperated(i,l)&&(this.processBinding(r,o,"dataBinding",this.getBindSourceTarget(r)),r.httpService=this.httpService,r.dateFormatter=new Re,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){R(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=Re,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=R,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",C=function(e){if(e)return'"'+(e=e.replace(/"/g,'""'))+'"'},A=function(e){var t=[],n=[];return _.forEach(e.columns,(function(e){t.push(C(e.name)),n.push("?")})),"INSERT INTO "+C(e.name)+" ("+t.join(",")+") VALUES ("+n.join(",")+")"},R=function(e){var t=[],n=[];return _.forEach(e.columns,(function(e){t.push(C(e.name)),n.push("?")})),"REPLACE INTO "+C(e.name)+" ("+t.join(",")+") VALUES ("+n.join(",")+")"},I=function(e){var t=_.find(e.columns,"primaryKey");return t?"DELETE FROM "+C(e.name)+" WHERE "+C(t.name)+" = ?":""},D=function(e){var t=[],n=[];return e.columns.forEach((function(i){var o;t.push(C(e.name)+"."+C(i.name)+" as "+i.fieldName),i.foreignRelations&&i.foreignRelations.forEach((function(r){o=r.sourceFieldName,_.forEach(r.dataMapper,(function(e,n){t.push(o+"."+C(e.name)+" as '"+n+"'")})),n.push(" LEFT JOIN "+C(r.targetTable)+" "+o+"\n ON "+o+"."+C(r.targetColumn)+" = "+C(e.name)+"."+C(i.name))}))})),"SELECT "+t.join(",")+" FROM "+C(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 "+C(o.targetTable)+" "+i+"\n ON "+i+"."+C(o.targetColumn)+" = "+C(e.name)+"."+C(n.name))}))})),"SELECT count(*) as count FROM "+C(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),C(o)+"."+C(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]=C(e.entitySchema.name)+"."+C(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=R(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 "+C(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=C(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 "+C(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 "+C(t)+" set "+C(n)+" = 1 where "+C(n)+" = 'true'",r="update "+C(t)+" set "+C(n)+" = 0\n where "+C(n)+" is not null and "+C(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