UNPKG

cronapi-js

Version:
1 lines 105 kB
function cronapi(){"use strict";this.$evt=function(t){var n,a=this;a.$eval||(n=event?event.target:a.$element[0],a=angular.element(n).scope());a||(a=angular.element(document.getElementById("main-view")).scope()),a.$eval(t)}.bind(this),this.cronapi={},this.cronapi.getRequestData=t=>{let n=t||{};return t.data&&"object"==typeof t.data&&(n=t.data),n},this.cronapi.toDate=function(t){return new Date(t)};var getDatasource=function(t){return"string"==typeof t?window[t]:t};this.cronapi.doEval=function(t){return t};var reorderArgs=function(t,n,a){if(n&&n.length&&a&&a.length){let r=[];for(var o=0;o<n.length;o++)r.push(null);for(let o=0;o<n.length;o++)for(let s=0;s<a.length;s++)if("string"==typeof n[o]){if(n[o]==a[s]){r[o]=t[s];break}}else if(n[o].description==a[s]||n[o].id==a[s]){r[o]=t[s];break}return r}return t};this.cronapi.evalInContext=async function(js){var result=eval("this.cronapi.doEval("+js+")");if(result){if(result=result.data||result,result.commands)for(var i=0;i<result.commands.length;i++){var func=eval(result.commands[i].function);let argsMetadata,argsNames=result.commands[i].names,args=result.commands[i].params;try{argsMetadata=eval(result.commands[i].function+"Args")}catch(t){}args=reorderArgs(args,argsMetadata,argsNames),await func.apply(this,args)}return result.value}};let clientMap={},clientMapTimeout={};this.cronapi.client=function(pack){let attr=!1,argsNames,notificationOnError=!0;return{attr:function(){return attr=!0,this},disableNotification:function(){return notificationOnError=!1,this},names:function(t){argsNames=[];for(let t=0;t<arguments.length;t++)argsNames.push(arguments[t]);return this},run:function(){for(var key=pack,args=[],i=0,bk,argsMetadata;i<arguments.length;i++)key+=String(arguments[i]),args.push(arguments[i]);try{bk=eval("blockly."+pack)}catch(t){}try{argsMetadata=eval("blockly."+pack+"Args")}catch(t){}if(!argsMetadata)try{argsMetadata=eval(pack+"Args")}catch(t){}bk||(bk=eval(pack)),args=reorderArgs(args,argsMetadata,argsNames);let isAsyncResult=t=>null!=t&&t.then&&"function"==typeof t.then,result;if(!attr){let t="AsyncFunction"===bk.constructor.name;return t?bk.apply(this,args).catch((t=>{if(!notificationOnError)throw t;this.cronapi.$scope.Notification.error(t)})):bk.apply(this,args)}if(clientMapTimeout[key]?clearTimeout(clientMapTimeout[key]):(result=bk.apply(this,args),isAsyncResult(result)||(clientMap[key]=result)),clientMapTimeout[key]=setTimeout((()=>(result=result||bk.apply(this,args),isAsyncResult(result)?result.then((t=>{clientMap[key]!==t&&this.safeApply((()=>{clientMap[key]=t}))})).catch((t=>{clientMap[key]!==t&&this.safeApply((()=>{clientMap[key]=t}))})):clientMap[key]=result,clientMap[key])),300),clientMap[key])return clientMap[key]}.bind(this)}};var serverMap={};function getCalendar(t){let n=Date.now(),a=(o,r)=>{let s=$("#"+t+" cron-calendar").data("kendoCalendar");s?o(s):Date.now()-n>=1e4?o():setTimeout((()=>a(o,r)),200)};return new Promise(a)}function showErrorNotification(t){const n=this.cronapi.$translate.instant(t);this.cronapi.$scope.Notification.error(n)}function getChat(t){let n=Date.now(),a=(o,r)=>{let s=$("#"+t+" .k-chat").data("kendoChat");s?o(s):Date.now()-n>=1e4?o():setTimeout((()=>a(o,r)),200)};return new Promise(a)}this.cronapi.server=function(t){var n=!1,a=!1,o=!0,r=!0;let s;return{attr:function(){return n=!0,this},toPromise:function(){return a=!0,this},notAsync:function(){return o=!1,this},names:function(){s=[];for(let t=0;t<arguments.length;t++)s.push(arguments[t]);return this},disableNotification:function(){return r=!1,this},run:function(){for(var c=t,l=0;l<arguments.length;l++)c+=String(arguments[l]);if(n){if(serverMap.hasOwnProperty(c))return"$$loading"!=serverMap[c]?serverMap[c]:"";serverMap[c]="$$loading"}var p=t.split("."),u=p[p.length-1];p.pop();var d,h,f=p.join(".")+":"+u,g=new Promise(((t,n)=>{d=t,h=n})),m=function(t){this.safeApply((function(){n&&(serverMap[c]=t),d(t)}))}.bind(this),w=function(t){this.safeApply((function(){n&&(serverMap[c]=t),h(t)})),t&&r&&this.cronapi.$scope.Notification.error(t)}.bind(this),y=[f];if(!o){s&&s.length&&y.push({argsNames:s});for(l=0;l<arguments.length;l++)y.push(arguments[l]);let t=this.cronapi.util.callServerBlockly.apply(this,y);return n&&(serverMap[c]=t),t}y.push(m),y.push(w),s&&s.length&&y.push({argsNames:s});for(var l=0;l<arguments.length;l++)y.push(arguments[l]);if(this.cronapi.util.makeCallServerBlocklyAsync.apply(this,y),a)return g}.bind(this)}},this.cronapi.callFunction=function(name){return{call:function(){var ref;try{ref=eval(name)}catch(t){}if(ref)return ref.apply(this,arguments)}.bind(this)}},this.cronapi.conversion={},this.cronapi.conversion.asciiToBinary=function(t){var n="";if(t.length>0)for(var a=0;a<t.length;a++)for(var o=t.charCodeAt(a),r=7;r>=0;r--)n+=o>>r&1;return n},this.cronapi.conversion.toBoolean=function(t){return this.cronapi.internal.parseBoolean(t)},this.cronapi.conversion.toBytes=function(t){return t?t.toString():""},this.cronapi.conversion.chrToAscii=function(t){return t?t.charCodeAt(0):null},this.cronapi.conversion.stringToJs=function(t){return this.cronapi.internal.stringToJs(t)},this.cronapi.conversion.stringToDate=function(value){var pattern=/^\s*(\d+)[\/\.-](\d+)[\/\.-](\d+)(\s(\d+):(\d+):(\d+))?\s*$/;if(value){if(value instanceof Date)return value;if(pattern.test(value)){var splited=pattern.exec(value),userLang=(navigator.language||navigator.userLanguage).split("-")[0];if("pt"==userLang||"en"==userLang){var functionToCall=eval("cronapi.internal."+userLang+"Date");return functionToCall(splited)}return new Date(value)}return new Date(value)}return null},this.cronapi.conversion.stringToDateWithFormat=function(t,n){let a=moment(t,n);return a.isValid()?a.toDate():null},this.cronapi.conversion.intToHex=function(t){return Number(t).toString(16).toUpperCase()},this.cronapi.conversion.toLong=function(t){return parseInt(t)},this.cronapi.conversion.toString=function(t){return t?new String(t).toString():""},this.cronapi.util={},this.cronapi.util.fillDatasource=async function(id,filterUrl,params,paramsNames){const odataUrl=`${window.hostApp}api/cronapi/odata/v2/`,db=this.cronapi.internal.getPouchDB(id);let totalReceived=0,defaultPagination=100;if(paramsNames&&"object"==typeof paramsNames){let t=[];for(let n=0;n<paramsNames.length;n++){let a={};a[paramsNames[n]]=params[n],t.push(a)}params=t}let convertToODataDate=t=>`'${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,"0")}-${String(t.getDate()).padStart(2,"0")}T${String(t.getHours()).padStart(2,"0")}:${String(t.getMinutes()).padStart(2,"0")}:${String(t.getSeconds()).padStart(2,"0")}'`,evalForODATA=async value=>{let result="";try{result=await eval(value.replace("await ",""))}catch(t){result=value}return"string"==typeof result&&(result=`'${result}'`),"object"==typeof result&&result.getFullYear&&(result=convertToODataDate(result)),result},getFilter=t=>{let n="",a=t.match(/(\$filter=)(.*)/);return a&&a.length>2&&(n=a[2]),n},getUrl=t=>{let n="",a=t.match(/^(GET|POST|DELETE|PUT)\s(.*?)($|\?)/);return a&&a.length>2&&(n=`${odataUrl}${a[2]}`),n};if(params){for(let t=0;t<params.length;t++){let n=params[t];for(let t in n)n[t]=await evalForODATA(n[t])}params.forEach((t=>{for(let n in t)filterUrl=filterUrl.replace(`:${n}`,t[n])}))}let config={method:"GET",params:{$inlinecount:"allpages",$format:"json",$top:`${defaultPagination}`,$skip:0},url:getUrl(filterUrl)},filter=getFilter(filterUrl);filter&&(config.params.$filter=filter);let makeRequest=async(t,n,a)=>{let o=this.$http(t);o.then((t=>n(t))),o.catch((t=>a(t)))},success=t=>{let n=t.data.d,a=n.results.length;totalReceived+=a,totalReceived<n.__count&&(config.params.$skip+=defaultPagination,makeRequest(config,success,error)),this.cronapi.internal.updatePouchDB(db,n.results),console.log(`Caching Data (%c${id}%c): %c${totalReceived} of ${n.__count}`,"color: red","color: black","color: red")},error=t=>{console.error(`error caching datasource ${db.name}`,t)};makeRequest(config,success,error)},this.cronapi.util.changeViewLogout=function(){let t=window.cordova?this.cronapi.util.getMobileLogoutRoute():this.cronapi.util.getWebLogoutRoute();this.cronapi.screen.changeView(t)},this.cronapi.util.getWebLogoutRoute=function(){let t="views/login.view.html",n=$.get({url:"cronapp.json",async:!1});if(n&&n.responseJSON){let a=n.responseJSON["cronapp.framework.web.logoutroute"];a&&(t=a)}return this.cronapi.internal.viewToRoute(t)},this.cronapi.util.getMobileLogoutRoute=function(){let t="views/login.view.html",n=$.get({url:"cronapp.json",async:!1});if(n&&n.responseJSON){let a=n.responseJSON["cronapp.framework.mobile.logoutroute"];a&&(t=a)}return this.cronapi.internal.viewToRoute(t)},this.cronapi.util.changeViewMain=function(){var t=void 0;t=window.cordova?this.cronapi.util.getMobileMainRoute():this.cronapi.util.getWebMainRoute(),this.cronapi.screen.changeView(t)},this.cronapi.util.getWebMainRoute=function(){var t="views/login.view.html",n=$.get({url:"cronapp.json",async:!1});if(n&&n.responseJSON){var a=n.responseJSON["cronapp.framework.web.mainroute"];a&&(t=a)}return this.cronapi.internal.viewToRoute(t)},this.cronapi.util.getMobileMainRoute=function(){var t="views/login.view.html",n=$.get({url:"cronapp.json",async:!1});if(n&&n.responseJSON){var a=n.responseJSON["cronapp.framework.mobile.mainroute"];a&&(t=a)}return this.cronapi.internal.viewToRoute(t,"mobile")},this.cronapi.util.setToken=function(t){let n={};localStorage.getItem("_u")&&(n=JSON.parse(localStorage.getItem("_u")),window.isUsingCookie()?delete n.token:n.token=t),localStorage.setItem("_u",JSON.stringify(n))},this.cronapi.util.getApplicationName=function(){return $("#projectName").length?$("#projectName").val():$("h1:first").length&&$("h1:first").text().trim().length?$("h1:first").text().trim():""},this.cronapi.util.createPromise=function(){var t,n,a=new Promise(((a,o)=>{t=a,n=o}));return a.__functionToResolve=t,a.__functionToReject=n,a},this.cronapi.util.handleValueToPromise=function(t,n,a){"resolve"===t?n.__functionToResolve(a):n.__functionToReject(a)},this.cronapi.util.monitorPromise=function(t,n,a){t&&(n&&t.then(n),a&&t.catch(a))},this.cronapi.util.sleep=async function(t){return new Promise((n=>{setInterval((()=>{n(t)}),t)}))},this.cronapi.util.callServerBlocklyAsync=function(t,n,a,o){var r,s="api/cronapi/call/body/#classNameWithMethod#/".replace("#classNameWithMethod#",t),c=this.cronapi.$scope.http,l=[];$(arguments).each((function(){this&&Array.isArray(this.argsNames)?r=this.argsNames:l.push(this)}));var p={fields:n,inputs:l.slice(4)};r&&(p.names=r);var u=this.cronapi.internal.getAddressWithHostApp(s);let d;try{d=JSON.stringify(p)}catch(t){d=JSON.stringify(p,(()=>{const t=new WeakSet;return(n,a)=>{if("object"==typeof a&&null!==a){if(t.has(a))return;t.add(a)}return a}})())}c({method:"POST",url:u,data:d,responseType:"text",headers:window.isUsingCookie()?{"Content-Type":"application/json",toJS:!0,timezone:moment().utcOffset()}:{"Content-Type":"application/json","X-AUTH-TOKEN":this.cronapi.util.getUserToken(),toJS:!0,timezone:moment().utcOffset()},transformResponse:t=>t}).then((function(t){a(t.data)}),(function(t){o(t.data,t.status)}))},this.cronapi.util.getScreenFields=function(){var fields={};for(var key in this.cronapi.$scope)this.cronapi.$scope[key]&&this.cronapi.$scope[key].constructor&&"DataSet"==this.cronapi.$scope[key].constructor.name&&(fields[key]={},fields[key].active=this.cronapi.$scope[key].active);var scope=this.cronapi.$scope,recursiveLookup=function(scope){var fieldValue;try{fieldValue=eval(scope.vars)}catch(t){}if(fieldValue&&0!==Object.keys(fieldValue).length){var keys=Object.keys(fieldValue);keys.forEach((function(t){void 0!==fieldValue[t]&&null!==fieldValue[t]&&(fields.vars||(fields.vars={}),fields.vars[t]=fieldValue[t])}))}else if(scope&&scope.$parent)return recursiveLookup(scope.$parent)};for(var key in recursiveLookup(scope),this.cronapi.$scope.params)this.cronapi.$scope.params[key]&&(fields.params||(fields.params={}),fields.params[key]=this.cronapi.$scope.params[key]);return fields},this.cronapi.util.makeCallServerBlocklyAsync=function(blocklyWithFunction,callbackSuccess,callbackError){var fields=this.cronapi.util.getScreenFields(),paramsApply=[];paramsApply.push(blocklyWithFunction),paramsApply.push(fields),paramsApply.push(function(data){this.cronapi.evalInContext(data).then((result=>{"string"==typeof callbackSuccess?eval(callbackSuccess)(result):callbackSuccess&&callbackSuccess(result)}))}.bind(this)),paramsApply.push(function(data,status,errorThrown){var message=this.cronapi.internal.getErrorMessage(data.responseText,errorThrown);"string"==typeof callbackError?eval(callbackError)(message):callbackError?callbackError(message):this.cronapi.$scope.Notification.error(message)}.bind(this)),$(arguments).each((function(t){t>=3&&paramsApply.push(this)})),this.cronapi.util.callServerBlocklyAsync.apply(this,paramsApply)},this.cronapi.util.callServerBlocklyNoReturn=async function(){return this.cronapi.util.callServerBlockly.apply(this,arguments)},this.cronapi.util.throwException=function(t){throw t},this.cronapi.util.createException=function(t){return t},this.cronapi.util.language=function(){return(window.navigator.userLanguage||window.navigator.language||"pt_br").replace("-","_")},this.cronapi.util.share=function(t,n,a){return new Promise(((o,r)=>{navigator.share({title:t,text:n,url:a}).then((()=>{o("Successful share"),console.log("Successful share")})).catch((t=>{r(t),console.log("Error sharing:",t)}))}))},this.cronapi.util.callServerBlockly=async function(t){let n=[];n.push(t),n.push(null),n.push(null);let a=1;for(;a<arguments.length;a++)n.push(arguments[a]);return new Promise(((t,a)=>{n[1]=(n=>{t(n)}).bind(this),n[2]=(t=>{a(t)}).bind(this),this.cronapi.util.makeCallServerBlocklyAsync.apply(this,n)}).bind(this))},this.cronapi.util.callServerBlocklyAsynchronous=function(t,n,a){if(""!=t&&"function"==typeof n){(a=[]).push(t),a.push(n),a.push(n);for(var o=2;o<arguments.length;o++)a.push(arguments[o]);this.cronapi.util.makeCallServerBlocklyAsync.apply(this,a)}},this.cronapi.util.executeJavascriptNoReturn=function(value){eval(value)},this.cronapi.util.downloadFile=function(t){var n=this.cronapi.internal.getAddressWithHostApp(t);this.cronapi.screen.openUrl(n,"_blank",0,0)},this.cronapi.util.executeJavascriptNoReturn=function(value){eval(value)},this.cronapi.util.executeJavascriptReturn=function(value){return eval(value)},this.cronapi.util.openReport=function(t){this.cronapi.$scope.getReport(t)},this.cronapi.util.getIP=function(){return $.get({url:"https://api.ipify.org/",async:!1}).responseText},this.cronapi.util.openDashboard=function(t){this.cronapi.$scope.getReport(t)},this.cronapi.util.handleCallback=function(t){if(t){return"AsyncFunction"===t.constructor.name?function(){(async()=>{await t.apply(this,arguments)})()}.bind(this):t.bind(this)}},this.cronapi.util.getURLFromOthers=function(t,n,a,o,r,s,c){if(o&&"application/x-www-form-urlencoded"===n){for(var l in o)if(o[l]instanceof Array){var p=o[l].toString();o[l]=`[${p}]`}}else o&&"application/json"===n&&(o=JSON.stringify(o));var u=Object.create(r);u["Content-Type"]=n,this.cronapi.$scope.http({method:t,url:a,data:o,headers:u,transformResponse:t=>t}).then(function t(n){this.cronapi.util.handleCallback(t).bind(this)(n.data,n)}.bind(this),function t(n){this.cronapi.util.handleCallback(t).bind(this)(n.data,n)}.bind(this))},this.cronapi.util.getUserToken=function(){if(localStorage.getItem("_u")){let t=JSON.parse(window.localStorage.getItem("_u"));if(t.token)return t.token}return""},this.cronapi.util.getUser=function(){return JSON.parse(window.localStorage.getItem("_u")).user.username},this.cronapi.util.getUserName=function(){return JSON.parse(window.localStorage.getItem("_u")).user.name},this.cronapi.util.setSessionStorage=function(t,n){window.sessionStorage.setItem(t,n)},this.cronapi.util.getSessionStorage=function(t){return window.sessionStorage.getItem(t)},this.cronapi.util.setLocalStorage=function(t,n){window.localStorage.setItem(t,n)},this.cronapi.util.getLocalStorage=function(t){return window.localStorage.getItem(t)},this.cronapi.util.executeAsynchronous=function(t){setTimeout(t,0)},this.cronapi.util.scheduleExecution=function(t,n,a,o,r){r="true"===(r=r||!0)||!0===r;var s=1;"seconds"===o?s=1e3:"minutes"===o?s=6e4:"hours"===o&&(s=36e5),n*=s,a*=s;var c=-1,l=setTimeout(function(){t(),c=setInterval(t,a)}.bind(this),n);r&&this.$on("$destroy",(function(){try{clearTimeout(l)}catch(t){}try{clearInterval(c)}catch(t){}}))},this.cronapi.util.openReport=function(t,n,a){this.cronapi.$scope.getReport(t,n,a)},this.cronapi.util.openDashboard=function(t,n,a){this.cronapi.$scope.getReport(t,n,a)},this.cronapi.util.getCEP=function(t,n){if(this.cronapi.logic.isNullOrEmpty(t))throw new Error("Informe o CEP");if((t=t.replace(/\.|\-/g,"").split(" ").join("")).length<8)throw new Error("CEP inválido");let a="https://viacep.com.br/ws/"+t+"/json/?callback=?";$.getJSON(a,this.cronapi.util.handleCallback(n.bind(this)))},this.cronapi.screen={},this.cronapi.screen.isInsertingMode=function(t){return getDatasource(t).inserting},this.cronapi.screen.isEditingMode=function(t){return getDatasource(t).editing},this.cronapi.screen.changeTitleScreen=function(t){window.document.title=t},this.cronapi.screen.fieldFromScreen=function(t){return t},this.cronapi.screen.changeValueOfField=function(t,n){try{this.__tempValue=n;var a=new Function("this."+t+" = this.__tempValue;");this.safeApply(a.bind(this))}catch(t){}},this.cronapi.screen.getValueOfField=function(field){try{if(field&&field.length>0){if(field.indexOf(".active.")>-1)return eval(field);var scope=eval("this"),recursiveLookup=function(scope){var fieldValue;try{fieldValue=eval("scope."+field)}catch(t){}return void 0!==fieldValue||null!==fieldValue?fieldValue:scope&&scope.$parent?recursiveLookup(scope.$parent):""};return recursiveLookup(scope)}return""}catch(t){alert(t)}},this.cronapi.screen.createScopeVariable=function(t,n){this.cronapi.$scope.safeApply((()=>this.cronapi.$scope.vars[t]=n))},this.cronapi.screen.getScopeVariable=function(t){return this.cronapi.$scope.vars[t]},this.cronapi.screen.notify=function(t,n){null!=n&&null!=n||(n=""),this.cronapi.$scope.Notification({message:n.toString()},t)},this.cronapi.screen.datasourceFromScreen=function(t){return t},this.cronapi.screen.startInsertingMode=async function(t){return new Promise(((n,a)=>{getDatasource(t).$apply((()=>{try{getDatasource(t).startInserting(null,(()=>{n()}))}catch(t){a(t)}}))}))},this.cronapi.screen.startEditingMode=async function(t){return new Promise(((n,a)=>{getDatasource(t).$apply((()=>{try{getDatasource(t).startEditing(null,(()=>{n()}))}catch(t){a(t)}}))}))},this.cronapi.screen.backNormalState=async function(t){return new Promise(((n,a)=>{getDatasource(t).$apply((()=>{try{getDatasource(t).onBackNomalState(),n()}catch(t){a(t)}}))}))},this.cronapi.screen.previusRecord=function(t){getDatasource(t).$apply(new function(){getDatasource(t).previous()})},this.cronapi.screen.nextRecord=function(t){getDatasource(t).$apply(new function(){getDatasource(t).next()})},this.cronapi.screen.firstRecord=function(t){getDatasource(t).$apply(new function(){var n=getDatasource(t);n.cursor=-1,n.next()})},this.cronapi.screen.lastRecord=function(t){getDatasource(t).$apply(new function(){var n=getDatasource(t);n.cursor=n.data.length-2,n.next()})},this.cronapi.screen.removeRecord=async function(t){return new Promise(((n,a)=>{getDatasource(t).$apply((()=>{try{getDatasource(t).removeSilent(null,(()=>{n()}),(t=>{a(t)}))}catch(t){a(t)}}))}))},this.cronapi.screen.refreshActiveRecord=async function(t){return new Promise(((n,a)=>{try{getDatasource(t).refreshActive((()=>{n()}),(t=>{a(t)}))}catch(t){a(t)}}))},this.cronapi.screen.hasNextRecord=function(t){return getDatasource(t).hasNext()},this.cronapi.screen.quantityRecords=function(t){return getDatasource(t).data.length},this.cronapi.screen.post=async function(t){return new Promise(((n,a)=>{try{getDatasource(t).postSilent((()=>{n()}),(t=>{a(t)}))}catch(t){a(t)}}))},this.cronapi.screen.filter=function(t,n){getDatasource(t).isOData()?getDatasource(t).search(n):getDatasource(t).filter("/"+n)},this.cronapi.screen.doFilter=function(t,n,a){let o=a;a instanceof Array&&(o=a.join(" "+n+" ")),getDatasource(t).isOData()?getDatasource(t).search(o):getDatasource(t).filter("/"+o)},this.cronapi.screen.createFilter=function(t,n,a){return"substringof"===n?"substringof('"+(a||!1===a?a instanceof Date?a.toISOString():a:"")+"', "+t+")":t+" "+n+" "+objToOData(a)},this.cronapi.screen.changeView=function(view,params){try{var queryString="",paramsStopEncode={};function decodeCharParam(value){if(value)for(var param in paramsStopEncode){var regex=eval("/"+param+"/g");value=value.replace(regex,paramsStopEncode[param])}return value}if(paramsStopEncode["%24"]="$",void 0!==params)if(params instanceof Array)for(var i in Object.keys(params)){var k=Object.keys(params[i])[0],paramValue=Object.values(params[i])[0];paramValue instanceof Date&&(paramValue=paramValue.toISOString());var v=String(paramValue);queryString&&(queryString+="&"),queryString+=decodeCharParam(encodeURIComponent(k))+"="+encodeURIComponent(v)}else for(var k in params)queryString&&(queryString+="&"),queryString+=decodeCharParam(encodeURIComponent(k))+"="+encodeURIComponent(params[k]);let existRoute=t=>{if(this.cronapi.$scope&&this.cronapi.$scope.$state){let n=this.cronapi.$scope.$state.get(),a="views/"+t.split("/").slice(2).join("/")+".view.html";n.forEach((n=>{let o=n.templateUrl;if(o instanceof Function){let t=/('|")[a-z0-9/.]+('|")/gim.exec(o.toString());null!=t&&t[0]&&(o=t[0].replace(/'|"/g,""))}o===a&&(t="#"+n.url)}))}return t};var oldHash=window.location.hash;view=existRoute(view),window.location.hash=view+(queryString?"?"+queryString:"");var oldHashToCheck=oldHash+(oldHash.indexOf("?")>-1?"":"?"),viewToCheck=view+(view.indexOf("?")>-1?"":"?");this.cronapi.forceCloseAllModal(),oldHashToCheck.indexOf(viewToCheck)>=0&&window.location.reload()}catch(t){alert(t)}},this.cronapi.screen.openUrl=function(t,n,a,o){try{var r="_self",s="";n&&"true"==n.toString().toLowerCase()&&(r="_blank"),a&&(s+="width="+a+","),o&&(s+="height="+o+","),window.open(t,r,s)}catch(t){alert(t)}},this.cronapi.screen.getParam=function(t){try{for(var n,a=[],o=window.location.href.slice(window.location.href.indexOf("?")+1).split("&"),r=0;r<o.length;r++)n=o[r].split("="),a.push(n[0]),a[n[0]]=n[1];if(void 0!==a[t])return decodeURIComponent(a[t])}catch(t){}return null},this.cronapi.screen.confimDialog=function(t){return confirm(t)},this.cronapi.screen.createDefaultModal=function(t,n,a,o,r,s,c){$("#modalTemplateTitle").text(t),$("#modalTemplateBody").text(n),$("#modalTemplateCancel").text(a),$("#modalTemplateSave").text(o),$("#modalTemplateClose").unbind("click"),$("#modalTemplateClose").click(c),$("#modalTemplateCancel").unbind("click"),$("#modalTemplateCancel").click(s),$("#modalTemplateSave").unbind("click"),$("#modalTemplateSave").click(r),this.cronapi.screen.showModal("modalTemplate")},this.cronapi.screen.showModal=function(t){let n=`#${t}`,a=$(":focus"),o=$(":hover");try{$(n).one("shown.bs.modal",(function(t){a.length&&($(this).data("lastFocused",a),$(this).data("lastFocusedClass","."+a.attr("class").split(" ").join("."))),o.length&&$(this).data("lastHovers",o);let n=$(this).find("input:not(:hidden)")[0];n&&n.focus()})).one("hidden.bs.modal",(function(t){let a,o=$(n).data("lastFocused"),r=!1;o&&o.length&&(a=$($(this).data("lastFocusedClass")),r=$("html").has(o).length?o.is(":visible"):a.is(":visible"));let s=function(t){return $(t[t.length-1]).closest("li:visible").find("a:first")},c=$(n).data("lastHovers");if(r)a.focus(),o.focus();else if($("html").has(o).length){s(o).focus()}else if(c&&c.length){s(c).focus()}})).modal({backdrop:"static",keyboard:!1})}catch(t){$(n).show()}$(n).css("overflow-y","auto")},this.cronapi.screen.setActiveTab=function(t){this.cronapi.$scope.safeApply((function(){void 0===$("#"+t).attr("data-target")?$('[data-target="#'+t+'"]').tab("show"):$("#"+t).tab("show")}))},this.cronapi.screen.hideModal=function(t){try{$("#"+t).modal("hide")}catch(n){$("#"+t).hide()}},this.cronapi.screen.showIonicModal=async function(t){return $(`#${t}`).data("cronapp-modal")&&$(`#${t}`).data("cronapp-modal").remove(),new Promise(((n,a)=>{this.cronapi.$scope.$ionicModal.fromTemplateUrl(t,{scope:this.cronapi.$scope,animation:"slide-in-up"}).then((a=>{$("#"+t).data("cronapp-modal",a),a.show(),n()})).catch((t=>a(t)))}))},this.cronapi.screen.hideIonicModal=function(t){$("#"+t).data("cronapp-modal")&&($("#"+t).data("cronapp-modal").remove(),$("#"+t).data("cronapp-modal",null))},this.cronapi.screen.isShownIonicModal=function(t){return!!$("#"+t).data("cronapp-modal")&&$("#"+t).data("cronapp-modal").isShown()},this.cronapi.screen.showLoading=function(){this.cronapi.$scope.$ionicLoading&&this.cronapi.$scope.$ionicLoading.show({content:"Loading",animation:"fade-in",showBackdrop:!0,maxWidth:200,showDelay:0})},this.cronapi.screen.hide=function(){this.cronapi.$scope.$ionicLoading&&this.cronapi.$scope.$ionicLoading.hide()},this.cronapi.screen.getHostapp=function(){return window.hostApp},this.cronapi.screen.searchIds=function(){},this.cronapi.screen.showComponent=function(t){const n=$("#"+t);if(n.length>0){const t=n.parent();n.attr("data-component")?n.attr("style","display:block !important"):t.attr("style","display:block !important")}else console.error("Element not found: "+t)},this.cronapi.screen.hideComponent=function(t){const n=$("#"+t);if(n.length>0){const t=n.parent();n.attr("data-component")?n.attr("style","display:none !important"):t.attr("style","display:none !important")}else console.error("Element not found: "+t)},this.cronapi.screen.disableComponent=function(t){let n;if(window.cordova)n=this.cronapi.$scope;else{let t=window.angular.element("body").injector();n=t.get("$rootScope")}let a=(t,n)=>{t.data("kendoComboBox")?t.data("kendoComboBox").enable(!1):t.hasClass("cronSelect")&&t.closest(".form-group").find("input.cronSelect[data-role=combobox]").data("kendoComboBox")?t.closest(".form-group").find("input.cronSelect[data-role=combobox]").data("kendoComboBox").enable(!1):t.data("kendoDropDownList")?t.data("kendoDropDownList").enable(!1):t.data("kendoMultiSelect")?t.data("kendoMultiSelect").enable(!1):t.find("[data-role=grid]").data("kendoGrid")||t.find("cron-grid").length?this.cronapi.internal.coverElement(t):$.each(t.find("*").addBack(),(function(t,o){let r=$(o);r.prop("disabled",!0).addClass("disabled"),n&&a(r,!1)}))},o=()=>{let r=$(`#${t}`);"$apply"!==n.$$phase&&"$digest"!==n.$$phase||r.find("cron-grid").length?a(r,!0):setTimeout((()=>o()),200)};o()},this.cronapi.screen.enableComponent=function(t){let n;if(window.cordova)n=this.cronapi.$scope;else{let t=window.angular.element("body").injector();n=t.get("$rootScope")}let a=(t,n)=>{t.data("kendoComboBox")?t.data("kendoComboBox").enable(!0):t.hasClass("cronSelect")&&t.closest(".form-group").find("input.cronSelect[data-role=combobox]").data("kendoComboBox")?t.closest(".form-group").find("input.cronSelect[data-role=combobox]").data("kendoComboBox").enable(!0):t.data("kendoDropDownList")?t.data("kendoDropDownList").enable(!0):t.data("kendoMultiSelect")?t.data("kendoMultiSelect").enable(!0):t.find("[data-role=grid]").data("kendoGrid")||t.find("cron-grid").length?this.cronapi.internal.discoverElement(t):$.each(t.find("*").addBack(),(function(t,o){let r=$(o);r.prop("disabled",!1).removeClass("disabled"),n&&a(r,!1)}))},o=()=>{let r=$(`#${t}`);"$apply"!==n.$$phase&&"$digest"!==n.$$phase||r.find("cron-grid").length?a(r,!0):setTimeout((()=>o()),200)};o()},this.cronapi.screen.focusComponent=function(t){this.cronapi.$scope.safeApply((function(){tinyMCE&&tinyMCE.get(t)?tinyMCE.get(t).focus():$("#"+t).find("*").addBack().focus()}))},this.cronapi.screen.changeAttrValue=function(t,n,a){$("#"+t).attr(n,a)},this.cronapi.screen.getAttrValue=function(t,n){return $(`#${t}`).attr(n)},this.cronapi.screen.changeContent=function(t,n,a){if($("#"+t).html(n),!0===a||"true"===a){var o=angular.injector(["ng"]),r=this;o.invoke(["$compile",function(n){n(document.querySelector("#"+t))(r.cronapi.$scope)}])}},this.cronapi.screen.setVisibility=function(t,n){let a=!0===n||"true"===n?"visible":"hidden";$(`#${t}`).css("visibility",`${a}`)},this.cronapi.screen.getContent=function(t){return $(`#${t}`).html()},this.cronapi.screen.copyValue=function(t){var n=this.cronapi.screen.getValueOfField(t);null==n&&(n=""),navigator.clipboard.writeText(n)},this.cronapi.screen.toggleClass=function(t,n){$(`#${t}`).toggleClass(n)},this.cronapi.screen.recompileComponent=async function(t){let n=$(`#${t}`);n.data("alreadycompiled",!1);let a=await(t=>new Promise((n=>{let a=t.data("$compile");a?n(a):angular.injector(["ng"]).invoke(["$compile",t=>n(t)])})))(n),o=this.cronapi.$scope;o.safeApply((()=>a(n)(o)))},this.cronapi.screen.logout=function(){null!=this.cronapi.$scope.logout&&this.cronapi.$scope.logout()},this.cronapi.screen.refreshDatasource=function(t,n){1==n||"true"==n?this[t].search(this[t].terms,this[t].caseInsensitive):this[t].search("",this[t].caseInsensitive)},this.cronapi.screen.loadMore=function(t){getDatasource(t).$apply((function(){getDatasource(t).nextPage()}))},this.cronapi.screen.hasNextPage=function(t){return getDatasource(t).hasNextPage()},this.cronapi.screen.load=function(t){let n=getDatasource(t);n.reloadedFromCronapi=!0,n.fetch({params:{}},void 0,void 0,{origin:"button"})},this.cronapi.screen.addClass=function(t,n){$(`#${t}`).addClass(n)},this.cronapi.screen.removeClass=function(t,n){$(`#${t}`).removeClass(n)},this.cronapi.screen.createMenuObjectMobile=function(t){let n=[];return t&&(Array.isArray(t)?n=t:n.push(t)),{escope:"MOBILE",subMenuOptions:this.cronapi.screen.recursiveDefineItemsIds("menuItem",1,n)}},this.cronapi.screen.createMenuObjectWeb=function(t){let n=[];return t&&(Array.isArray(t)?n=t:n.push(t)),{escope:"WEB",subMenuOptions:this.cronapi.screen.recursiveDefineItemsIds("menuItem",1,n)}},this.cronapi.screen.recursiveDefineItemsIds=function(t,n,a){for(let o=0;o<a.length;o++)a[o].level=n,a[o].id=t+"-"+(o+1),a[o].menuItems=this.cronapi.screen.recursiveDefineItemsIds(a[o].id,n+1,a[o].menuItems);return a},this.cronapi.screen.createMenuItemMobile=function(t,n,a,o,r,s,c,l,p,u){let d="";return a&&"ion-NONE"!=a&&(d=0==a.indexOf("ion-")?"icon "+a:a),{id:"TODO",name:t||"",title:n||"",iconClass:d,hide:o||"",security:r||"",action:s||"",level:0,textPosition:c||"left",imagePosition:l||"left",contentTheme:p||"light",iconTheme:u||"light",menuItems:[]}},this.cronapi.screen.createMenuItemWeb=function(t,n,a,o,r,s,c){let l=[];c&&(Array.isArray(c)?l=c:l.push(c));let p="";return a&&"fa-NONE"!=a&&(p=0==a.indexOf("fa-")?"fa "+a:a),{id:"TODO",name:t||"",title:n||"",iconClass:p,hide:o||"",security:r||"",action:s||"",level:0,textPosition:"left",imagePosition:"left",contentTheme:"light",iconTheme:"light",menuItems:l}},this.cronapi.screen.createMenuItemSecurity=function(t,n){let a=[];t&&""!==t&&(Array.isArray(t)?a=t:a.push(t));let o=[];n&&""!==n&&(Array.isArray(n)?o=n:o.push(n));let r="";return a.length>0&&(r="visible : "+a.join(";")),o.length>0&&(r=r.length>0?r+", enabled : "+o.join(";"):"enabled : "+o.join(";")),r},this.cronapi.dateTime={},this.cronapi.dateTime.formats=function(){var t=[];return(t="pt_br"==this.cronapi.$translate.use()?["DD/MM/YYYY HH:mm:ss","DD/MM/YYYY","DD-MM-YYYY HH:mm:ss","DD-MM-YYYY"]:["MM/DD/YYYY HH:mm:ss","MM/DD/YYYY","MM-DD-YYYY HH:mm:ss","MM-DD-YYYY"]).push("YYYY-MM-DDTHH:mm:ss"),t.push("HH:mm:ss"),t.push("MMMM"),t},this.cronapi.dateTime.getMomentObj=function(value){var currentMoment=moment;if(value instanceof moment)return value;if(value instanceof Date)return currentMoment(value).utcOffset(window.timeZoneOffset);if(value){let dateString=new RegExp("/Date((.*?))/"),regexExecution=dateString.exec(value);if(regexExecution&&regexExecution.length>1){let date=eval(`new Date${regexExecution[1]}`);return currentMoment(date).utcOffset(window.timeZoneOffset)}}var formats=this.cronapi.dateTime.formats(),momentObj=null;for(var ix in formats)if(momentObj=currentMoment(value,formats[ix]),momentObj.isValid())break;return momentObj},this.cronapi.dateTime.changeDateMask=function(t,n,a,o,r){if(this.cronapi.logic.isNullOrEmpty(t))return t;if(this.cronapi.logic.isNullOrEmpty(n))return new Var("INVALID INIT MASK");if(a=this.cronapi.logic.isNullOrEmpty(a)?"pt-BR":a.replace("_","-"),this.cronapi.logic.isNullOrEmpty(o))return new Var("INVALID END MASK");r=this.cronapi.logic.isNullOrEmpty(r)?"pt-BR":r.replace("_","-");var s=moment(t,n,a);return s.locale(r),s.format(o)},this.cronapi.dateTime.getSecond=function(t){var n=this.cronapi.dateTime.getMomentObj(t);return n?n.get("second"):0},this.cronapi.dateTime.getMinute=function(t){var n=this.cronapi.dateTime.getMomentObj(t);return n?n.get("minute"):0},this.cronapi.dateTime.getHour=function(t){var n=this.cronapi.dateTime.getMomentObj(t);return n?n.get("hour"):0},this.cronapi.dateTime.getYear=function(t){var n=this.cronapi.dateTime.getMomentObj(t);return n?n.get("year"):0},this.cronapi.dateTime.getMonth=function(t){var n=this.cronapi.dateTime.getMomentObj(t);return n?n.get("month")+1:0},this.cronapi.dateTime.getDay=function(t){var n=this.cronapi.dateTime.getMomentObj(t);return n?n.get("date"):0},this.cronapi.dateTime.getSecondsBetweenDates=function(t,n){var a=this.cronapi.dateTime.getMomentObj(t),o=this.cronapi.dateTime.getMomentObj(n);return a.diff(o,"seconds")},this.cronapi.dateTime.getMinutesBetweenDates=function(t,n){var a=this.cronapi.dateTime.getMomentObj(t),o=this.cronapi.dateTime.getMomentObj(n);return a.diff(o,"minutes")},this.cronapi.dateTime.getHoursBetweenDates=function(t,n){var a=this.cronapi.dateTime.getMomentObj(t),o=this.cronapi.dateTime.getMomentObj(n);return a.diff(o,"hours")},this.cronapi.dateTime.getDaysBetweenDates=function(t,n){var a=this.cronapi.dateTime.getMomentObj(t),o=this.cronapi.dateTime.getMomentObj(n);return a.diff(o,"days")},this.cronapi.dateTime.getMonthsBetweenDates=function(t,n){var a=this.cronapi.dateTime.getMomentObj(t),o=this.cronapi.dateTime.getMomentObj(n);return a.diff(o,"months")},this.cronapi.dateTime.getYearsBetweenDates=function(t,n){var a=this.cronapi.dateTime.getMomentObj(t),o=this.cronapi.dateTime.getMomentObj(n);return a.diff(o,"years")},this.cronapi.dateTime.incSecond=function(t,n){return this.cronapi.dateTime.getMomentObj(t).add("seconds",n).toDate()},this.cronapi.dateTime.incMinute=function(t,n){return this.cronapi.dateTime.getMomentObj(t).add("minutes",n).toDate()},this.cronapi.dateTime.incHour=function(t,n){return this.cronapi.dateTime.getMomentObj(t).add("hours",n).toDate()},this.cronapi.dateTime.incDay=function(t,n){return this.cronapi.dateTime.getMomentObj(t).add("days",n).toDate()},this.cronapi.dateTime.incMonth=function(t,n){return this.cronapi.dateTime.getMomentObj(t).add("months",n).toDate()},this.cronapi.dateTime.incYear=function(t,n){return this.cronapi.dateTime.getMomentObj(t).add("years",n).toDate()},this.cronapi.dateTime.getNow=function(){return moment().toDate()},this.cronapi.dateTime.formatDateTime=function(t,n){return this.cronapi.dateTime.getMomentObj(t).format(n)},this.cronapi.dateTime.newDate=function(t,n,a,o,r,s){var c=new Date;return c.setYear(t),c.setMonth(n-1),c.setDate(a),c.setHours(o),c.setMinutes(r),c.setSeconds(s),this.cronapi.dateTime.getMomentObj(c).toDate()},this.cronapi.dateTime.updateDate=function(t,n,a,o,r,s,c,l){var p=this.cronapi.dateTime.getMomentObj(t).toDate();if(p&&!isNaN(p.getTime()))return p.setYear(n),p.setMonth(a-1),p.setDate(o),p.setHours(r),p.setMinutes(s),p.setSeconds(c),p.setMilliseconds(l),this.cronapi.dateTime.getMomentObj(p).toDate();this.cronapi.screen.notify("error",this.cronapi.i18n.translate("InvalidDate",[]))},this.cronapi.dateTime.updateNewDate=function(t,n,a){var o=this.cronapi.dateTime.getMomentObj(t).toDate();if(o&&!isNaN(o.getTime())){switch(n){case"year":o.setYear(a);break;case"month":o.setMonth(a-1);break;case"day":o.setDate(a);break;case"hour":o.setHours(a);break;case"minute":o.setMinutes(a);break;case"second":o.setSeconds(a);break;case"millisecond":o.setMilliseconds(a)}return this.cronapi.dateTime.getMomentObj(o).toDate()}this.cronapi.screen.notify("error",this.cronapi.i18n.translate("InvalidDate",[]))},this.cronapi.text={},this.cronapi.text.prompt=function(t){return null},this.cronapi.text.formatTextWithReplacement=function(t,...n){var a=Array.prototype.slice.call(n,0);return t.replace(/\{(\d+)\}/g,(function(t,n){return a[n]}))},this.cronapi.text.newline=function(){return"\n"},this.cronapi.text.replaceAll=function(t,n,a,o){return this.cronapi.logic.isNull(t)||this.cronapi.logic.isNull(n)||this.cronapi.logic.isNull(o)?null:"-"!==a?t.replace(new RegExp(n,a),o):t.replace(n,o)},this.cronapi.xml={},this.cronapi.xml.newXMLEmpty=function(){return $.parseXML('<?xml version="1.0" encoding="UTF-8"?><root></root>')},this.cronapi.xml.newXMLEmptyWithRoot=function(t){var n=$.parseXML('<?xml version="1.0" encoding="UTF-8"?><root></root>');return n.removeChild(n.firstElementChild),n.appendChild(t),n},this.cronapi.xml.newXMLElement=function(t,n){var a=document.createElement(t);return a.textContent=n,a},this.cronapi.xml.addXMLElement=function(t,n){try{var a=n.cloneNode(!0);return t.appendChild(a),!0}catch(t){return!1}},this.cronapi.xml.XMLHasRootElement=function(t){return!(!t||!t.getRootNode())},this.cronapi.xml.XMLGetRootElement=function(t){return t instanceof XMLDocument?t.firstElementChild:t.getRootNode()},this.cronapi.xml.XMLDocumentToText=function(t){if(t instanceof XMLDocument)return $($($(t.firstElementChild).context.outerHTML).removeAttr("xmlns"))[0].outerHTML;if($(t).size()>1){var n="";return $.each($(t).toArray(),(function(t,a){n+=$($(a)[0].outerHTML).removeAttr("xmlns")[0].outerHTML})),n}return $($($(t).context.outerHTML).removeAttr("xmlns"))[0].outerHTML},this.cronapi.xml.getChildren=function(t,n){return t instanceof XMLDocument?t.firstElementChild.toArray:n?n.localName?$(t).find(n.localName).toArray():$(t).find(n).toArray():$(t).children().toArray()},this.cronapi.xml.setAttribute=function(t,n,a){return!!n&&(t instanceof XMLDocument?(t.firstChild.setAttribute(n,a),!0):!!t&&(t.setAttribute(n,a),!0))},this.cronapi.xml.getAttributeValue=function(t,n){return n?t instanceof XMLDocument?t.firstChild.getAttribute(n)?t.firstChild.getAttribute(n):"":t&&n?t.getAttribute(n):"":""},this.cronapi.xml.getParentNode=function(t){return t instanceof XMLDocument?t.firstChild:t.parentNode},this.cronapi.xml.setElementContent=function(t,n){t instanceof XMLDocument&&(t.firstChild.textContent=n),t.textContent=n},this.cronapi.xml.getElementContent=function(t){return t instanceof XMLDocument?t.firstChild.innerText:t.innerText},this.cronapi.xml.removeElement=function(t,n){t instanceof XMLDocument?n?n instanceof HTMLUnknownElement?n.remove():$.each($(t.firstElementChild.children),(function(t,a){a.localName==n&&a.remove()})):$.each($(t.firstElementChild.children),(function(t,n){n.remove()})):n?n instanceof HTMLUnknownElement?n.remove():$.each($(t.children),(function(t,a){a.localName==n&&a.remove()})):$.each($(t.children),(function(t,n){n.remove()}))},this.cronapi.xml.getElementName=function(t){return t instanceof XMLDocument?t.firstChild.localName:t.localName},this.cronapi.xml.renameElement=function(t,n){var a=t.outerHTML.replace(t.localName,n);a=a.replace("/"+t.localName,"/"+n),a=$(a).removeAttr("xmlns"),t.replaceWith(a[0])},this.cronapi.logic={},this.cronapi.logic.isNull=function(t){return null==t||null==t},this.cronapi.logic.isEmpty=function(t){return""===t},this.cronapi.logic.isNullOrEmpty=function(t){return this.cronapi.logic.isNull(t)||this.cronapi.logic.isEmpty(t)},this.cronapi.logic.typeOf=function(t,n){return"array"===n?Array.isArray(t):("object"!==n||!Array.isArray(t))&&typeof t===n},this.cronapi.i18n={},this.cronapi.i18n.translate=function(t,n){if(t){for(var a=this.cronapi.$translate.instant(t),o=0;o<n.length;o++){var r=n[o];if(null!=r&&void 0!==r){var s=new RegExp("\\{"+o+"\\}","g");a=a.replace(s,r)}}return a}},this.cronapi.internal={},this.cronapi.internal.forceRefreshNgModel=async function(t,n){let a=()=>new Promise((t=>{let n=setInterval((()=>{clearInterval(n),t()}))}));await a(),this.cronapi.screen.changeValueOfField(t,void 0),await a(),this.cronapi.screen.changeValueOfField(t,n)},this.cronapi.internal.hasMethodInCallStack=function(t){return(new Error).stack.indexOf(t)>-1},this.cronapi.internal.lastCronappMenuClick=function(t){window.angular.element("body").injector().get("$rootScope").__lastCronappMenuClick=t},this.cronapi.internal.isJsonString=t=>{if("string"!=typeof t)return!1;try{return JSON.parse(t),!0}catch(t){return!1}},this.cronapi.internal.getPouchDB=t=>{let n;window.pouchDBInstances=window.pouchDBInstances||{};let a=t=>(window.pouchDBInstances[t]=new PouchDB(t),window.pouchDBInstances[t]);return n=window.pouchDBInstances[t]?window.pouchDBInstances[t]:a(t),n.info().then((function(o){o||(n.close(),n=a(t))})).catch((function(o){n.close(),n=a(t)})),n},this.cronapi.internal.updatePouchDB=function(t,n,a){let o=$.extend(!0,{},n);this.cronapi.internal.normalizePouchDBData(o).forEach((n=>{t.get(n._id).then((a=>(a&&a._id&&(n._rev=a._rev),t.put(n)))).then(a).catch((o=>{"not_found"===o.name?t.post(n).then(a).catch((t=>{console.error(t)})):console.error(o)}))}))},this.cronapi.internal.normalizePouchDBData=function(t,n){let a=[];return $.each(t,(function(t,o){let r=o;r[n?"__metadata":"$metadata"]=r[n?"$metadata":"__metadata"],r[n?"_objectKey":"$objectKey"]=r[n?"$objectKey":"_objectKey"],r[n?"__$masterExpression":"$$masterExpression"]=r[n?"$$masterExpression":"__$masterExpression"],r[n?"__parentId":"$parentId"]=r[n?"$parentId":"__parentId"],r[n?"__sender":"$sender"]=r[n?"$sender":"__sender"],r[n?"__status":"$status"]=r[n?"$status":"__status"],r[n?"__original":"$original"]=r[n?"$original":"__original"],r.hasOwnProperty(n?"$odataFile_attached":"__odataFile_attached")&&(r[n?"__odataFile_attached":"$odataFile_attached"]=r[n?"$odataFile_attached":"__odataFile_attached"]),n?(delete r.$metadata,delete r.$objectKey,delete r.$$masterExpression,delete r.$parentId,delete r.$sender,delete r.$status,delete r.$original,delete r.$odataFile_attached):(r._id=r._objectKey,delete r.__metadata,delete r._objectKey,delete r.__$id,delete r.__$masterExpression,delete r.__parentId,delete r.__sender,delete r.__status,delete r.__original,delete r.__odataFile_attached),a.push(r)})),a},this.cronapi.internal.getMaxZIndex=function(){let t=0;return $("body *").each(((n,a)=>{let o=window.getComputedStyle(a).zIndex;o&&!Number.isNaN(parseFloat(o))&&$(a).is(":visible")&&(o=parseFloat(o),t=o>t?o:t)})),t},this.cronapi.internal.viewToRoute=function(t,n){var a=void 0;if(this.cronapi.$scope&&this.cronapi.$scope.$state){var o=this.cronapi.$scope.$state.get().find((n=>n.templateUrl===t));o&&(a="".concat(o.url))}return a||(a="/".concat(t.replace("views/","").replace(".view.html","")),"mobile"===n&&(a="/app".concat(a))),a},this.cronapi.internal.loginSocial=function(t){let n=$(`#${t}`),a=n.attr("action"),o=$("<form/>");o.attr("method","POST"),o.attr("action",a),n.children().appendTo(o),n.parent().append(o),o.submit()},this.cronapi.internal.selectContent=function(t){let n=window.getSelection(),a=document.createRange();a.selectNodeContents(t),n.removeAllRanges(),n.addRange(a)},this.cronapi.internal.skipIterationLoop=function(){return new Promise((t=>{t()}))},this.cronapi.internal.coverElement=function(t){((n,a)=>{let o=a.eq(0).outerWidth(),r=a.eq(0).outerHeight();a.each((function(a){let s=t.closest(".modal-dialog").length,c=s?999999:9999,l=s?$(".modal.fade.in"):t.parent(),p=$(this).offset();$(`<div class='cover-${n}'>`).css({width:o,height:r,position:"absolute",top:p.top,left:p.left,"z-index":c}).appendTo(l)}))})(t.attr("id"),t)},this.cronapi.internal.discoverElement=function(t){let n=t.attr("id");$(`.cover-${n}`).remove()},this.cronapi.internal.focusFormInput=function(){let t=$($("form")[0]),n=$(t.find("input")[0]);if(n&&n.length){let t=setInterval((()=>{n.is(":visible")&&("dropdownlist"!==n.data("role")&&n.focus(),clearInterval(t))}),100)}},this.cronapi.forceCloseAllModal=function(){var t=$(".modal.fade.in");t&&t.each(((t,n)=>this.cronapi.screen.hideModal(n.id))),$(".modal-backdrop.fade.in").remove()},this.cronapi.internal.setFile=function(t,n){this.cronapi.internal.fileToBase64(n,function(n){this.cronapi.screen.changeValueOfField(t,n)}.bind(this))},this.cronapi.internal.fileToBase64=function(t,n){var a=new FileReader;a.readAsDataURL(t),a.onload=function(t){var a=t.target.result.substr(t.target.result.indexOf("base64,")+7);n(a)}},this.cronapi.internal.getMaxResolution=function(t,n){var a=window.innerWidth,o=window.innerHeight,r=0;return n*=r=a/t,(t*=r)>a&&(n*=r=a/t,t*=r),n>o&&(t*=r=o/n,n*=r),{width:t,height:n}},this.cronapi.internal.startCamera=function(t,n,a,o,r){if(window.cordova&&window.cordova.platformId&&"browser"!==window.cordova.platformId)this.cronapi.cordova.camera.getPicture((n=>{this.cronapi.screen.changeValueOfField(t,n.replace(/^data:image\/\w+;base64,/,""))}),(t=>{console.error(t),this.cronapi.$scope.Notification.error(t)}),0,1,0,a,100!==parseInt(n));else{var s='<div class="camera-container" style="margin-left:-$marginleft$;margin-top:-$margintop$"> <button class="btn btn-success button button-balanced" id="cronapiVideoCaptureOk" style="position: absolute; z-index: 999999999;"> <span class="glyphicon glyphicon-ok icon ion-checkmark-round"></span> <span class="sr-only">{{"Upload.camera" | translate}}</span> </button> <button class="btn btn-danger button button-assertive button-cancel-capture" id="cronapiVideoCaptureCancel" style="position: absolute; margin-left: 42px; z-index: 999999999;"> <span class="glyphicon glyphicon-remove icon ion-android-close"></span> <span class="sr-only">{{"Cancel" | translate}}</span> </button> <video id="cronapiVideoCapture" style="height: $height$; width: $width$;" autoplay=""></video> </div>',c=null;navigator.mediaDevices&&navigator.mediaDevices.getUserMedia&&navigator.mediaDevices.getUserMedia({video:!0}).then(function(n){c=n;var a=cronapi.internal.getMaxResolution(n.getTracks()[0].getSettings().width,n.getTracks()[0].getSettings().height),o=a.width,r=a.height;try{o=parseInt(o/2),r=parseInt(r/2)}catch(t){}s=s.split("$height$").join(a.height+"px").split("$width$").join(a.width+"px").split("$marginleft$").join(o+"px").split("$margintop$").join(r+"px");var l=$(s);l.prependTo("body");var p=document.getElementById("cronapiVideoCapture");l.find("#cronapiVideoCaptureCancel").on("click",function(){null!=c&&c.getTracks().length>0&&c.getTracks()[0].stop(),$(l).remove()}.bind(this)),l.find("#cronapiVideoCaptureOk").on("click",function(){this.cronapi.internal.captureFromCamera(t,a.width,a.height),null!=c&&c.getTracks().length>0&&c.getTracks()[0].stop(),$(l).remove()}.bind(this)),p.srcObject=n,p.onloadedmetadata=function(t){p.play()}}.bind(this))}},this.cronapi.internal.getPicture=function(t){if(1===t.sourceType)cronapi.internal.getPictureFromCamera(t);else if(0===t.sourceType||2===t.sourceType)cronapi.internal.getPictureFromFile(t);else{$('<div id="captureChooser"></div>').prependTo("body"),$("#captureChooser").kendoDialog({title:"",content:this.cronapi.i18n.translate("getImageFrom",[]),buttonLayout:"normal",actions:[{text:this.cronapi.i18n.translate("camera",[]),primary:!0,action:function(){return cronapi.internal.getPictureFromCamera(t),!0}},{text:this.cronapi.i18n.translate("gallery",[]),action:function(){return cronapi.internal.getPictureFromFile(t),!0}}]})}},this.cronapi.internal.getPictureFromCamera=function(t){var n=null;navigator.mediaDevices&&navigator.mediaDevices.getUserMedia?navigator.mediaDevices.getUserMedia({video:!0}).then(function(a){n=a;var o=cronapi.internal.getMaxResolution(a.getTracks()[0].getSettings().width,a.getTracks()[0].getSettings().height),r=o.width,s=o.height;try{r=parseInt(r/2),s=parseInt(s/2)}catch(t){}var c='<div class="camera-container" style="margin-left:-$marginleft$;margin-top:-$margintop$"> <button class="btn btn-success button button-balanced" id="cronapiFileBrowserOk" style="position: absolute; z-index: 999999999;"> <span class="glyphicon glyphicon-ok icon ion-checkmark-round"></span> <span class="sr-only">{{"Upload.camera" | translate}}</span> </button> <button class="btn btn-danger button button-assertive button-cancel-capture" id="cronapiFileBrowserCancel" style="position: absolute; margin-left: 42px; z-index: 999999999;"> <span class="glyphicon glyphicon-remove icon ion-android-close"></span> <span class="sr-only">{{"Cancel" | translate}}</span> </button> <video id="cronapiFileBrowser" style="height: $height$; width: $width$;" autoplay=""></video> </div> </div>';c=c.split("$height$").join(o.height+"px").split("$width$").join(o.width+"px").split("$marginleft$").join(r+"px").split("$margintop$").join(s+"px");var l=$(c);l.prependTo("body");var p=document.getElementById("cronapiFileBrowser");l.find("#cronapiFileBrowserCancel").on("click",function(){null!=n&&n.getTracks().length>0&&n.getTracks()[0].stop(),t.errorCallback&&t.errorCallback("Operação cancelada"),$(l).remove()}.bind(this)),l.find("#cronapiFileBrowserOk").on("click",function(){cronapi.internal.getPictureSuccess(t,o.width,o.height),null!=n&&n.getTracks().length>0&&n.getTracks()[0].stop(),$(l).remove()}.bind(this)),p.srcObject=a,p.onload