UNPKG

pome-ui

Version:

Front-end MVC library

1 lines 4.72 kB
(function(e){if(typeof e!="undefined"&&e.get){return e}function n(e,n){if(!e){return}var t=Object.getOwnPropertyNames(e);for(var r=0;r<t.length;++r){n[t[r]]=e[t[r]]}}var s={isPagedResult(e){if(e.totalRecords==undefined||e.totalPages===undefined||e.currentPage===undefined||e.pageSize===undefined)return false;else return true},beforeSend:function(e){},onError:function(e,n){return Promise.resolve(e)},onSucceeded:function(e,n){return Promise.resolve(e)},baseUrl:null,batch:null,batchInterval:null,batchTimeout:10};var t=[];var r=function(e){var n=[];for(var t=0;t<e.length;++t){n.push(e[t])}return n};if(s.batch){setInterval(function(){if(!t.length){return}s.batch(t,h,s);t=[]},s.batchInterval||50)}function o(e){var n=JSON.stringify(e);return JSON.parse(n)}function a(e){var n=[];if(!e||typeof e!=="object")return n;for(var t in e){if(e[t])n.push(t)}return n}var u={};var i={};var f={};function c(e,n=null){n=n||"1234567890qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM";var t="";for(var r=e;r>0;--r){t+=n[Math.floor(Math.random()*n.length)]}return t}function l(e){n(e,s)}function d(e,n=true,t=null){var r=Object.keys(e).sort();if(!r.length)return"";var o=n?"?":"";for(var a=0;a<r.length;a++){if(t){if(t.some(e=>e==r[a])){continue}}o+=r[a]+"="+encodeURI(e[r[a]])+"&"}return o.substr(0,o.length-1)}function p(e){e=e.substr(e.indexOf("?")+1);var n=e.split("&");var t={};for(var r=0;r<n.length;r++){var o=n[r].split("=");t[o[0]]=decodeURI(o[1])}return t}function g(e,n,t){var r=o(n);if(t&&r.page)delete r.page;return e+d(r)}function v(e){return s.isPagedResult(e)}function h(n){var t=new XMLHttpRequest;t.open(n.type,n.url);t.setRequestHeader("Content-Type",n.contentType);if(n.beforeSend){n.beforeSend(t)}if(typeof n.data!=="string"){if(n.contentType.toLocaleLowerCase()=="application/json"){n.data=JSON.stringify(n.data)}else if(n.contentType.toLocaleLowerCase()=="application/octet-stream"){}else{n.data=d(n.data,false)}}t.send(n.data);t.onreadystatechange=function(){if(t.readyState==4){var e=n.dataType=="json"?JSON.parse(t.responseText):t.responseText;if(t.status>=200&&t.status<300){n.success(e,t)}else{n.error(e,t)}}};return t}function b(e){if(e.indexOf("//")>=0){return e}else if(s.baseUrl){return s.baseUrl+e}else{return e}}function y(o,a,u,e,i,f){e=e||"json";i=i||"application/json";u=a=="GET"?null:u;o=b(o);if(!s.batch||e!="json"||i!="application/json"){var n=this;return new Promise(function(n,t){var r=h({url:o,type:a,dataType:e,contentType:i||"application/json",data:a=="GET"?null:u,success:function(e){s.onSucceeded(e,r).then(function(e){n(e)})},error:function(e){return s.onError(e,r).then(function(e){t(e)})},beforeSend:function(e){s.beforeSend(e);if(f){var n=Object.getOwnPropertyNames(f);for(var t=0;t<n.length;++t){e.setRequestHeader(n[t],f[n[t]])}}}})})}else{return new Promise(function(e,n){t.push({resolve:e,reject:n,request:{requestId:c(32),url:o,method:a,body:u?JSON.stringify(u):null,contentType:"application/json",timeout:s.batchTimeout}})})}}function m(e){if(e==null||e==undefined){return""}else{return e}}function O(e,n,t="json"){var r=Object.getOwnPropertyNames(n||{});if(r.length){if(e.indexOf("?")>=0){e+="&"}else{e+="?"}}for(var o=0;o<r.length;++o){var a=r[o];e+=encodeURIComponent(a)+"="+encodeURIComponent(m(n[a]))+"&"}if(r.length){e=e.substr(0,e.length-1)}var u=new XMLHttpRequest;u.open("get",e,false);if(s.beforeSend){s.beforeSend(u)}u.send();return t=="json"?JSON.parse(u.responseText):u.responseText}function T(e,n,t,r){var o=Object.getOwnPropertyNames(n||{});if(o.length){if(e.indexOf("?")>=0){e+="&"}else{e+="?"}}for(var a=0;a<o.length;++a){var u=o[a];e+=encodeURIComponent(u)+"="+encodeURIComponent(m(n[u]))+"&"}if(o.length){e=e.substr(0,e.length-1)}return y(e,"GET",n,t,r)}function j(e,n,t,r){return y(e,"POST",n,t,r)}function S(e,n,t,r){return y(e,"PATCH",n,t,r)}function P(e,n,t,r){return y(e,"PUT",n,t,r)}function w(e,n,t){var r=Object.getOwnPropertyNames(n||{});if(r.length){if(e.indexOf("?")>=0){e+="&"}else{e+="?"}}for(var o=0;o<r.length;++o){var a=r[o];e+=encodeURIComponent(a)+"="+encodeURIComponent(m(n[a]))+"&"}if(r.length){e=e.substr(0,e.length-1)}return y(e,"DELETE",n,t)}function R(e,n){var t=a(n);var r=g(e,n,t.some(e=>e==="page"));if(u[r]){delete u[r]}}function x(e,n,t,r){var o;if(!i[e])i[e]=[];var a=v(t);if(!a){o=g(e,n);u[o]=t}else{o=g(e,n,true);if(!u[o])u[o]={isPaged:true};u[o][t.data.current]=t}if(!i[e].some(e=>e==o))i[e].push(o);if(r)f[o]=(new Date).getTime()+r}e.generateQueryStringFromObject=d;e.generateObjectFromQueryString=p;e.xhrRequest=h;e.request=y;e.get=T;e.getSync=O;e.post=j;e.put=P;e.patch=S;e.delete=w;e.useConfig=l;return e})(typeof exports==="object"&&typeof module!=="undefined"?exports:function(){window.cq={};return window.cq}());