dhxmvp
Version:
A complete boilerplate for building online, offline and syncable MVP Single Page Applications using DHTMLX.
1 lines • 26.9 kB
JavaScript
var splash_base64="",loading_gif="data:image/gif;base64,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";window.indexedDB=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB,window.IDBTransaction=window.IDBTransaction||window.webkitIDBTransaction||window.msIDBTransaction,window.IDBKeyRange=window.IDBKeyRange||window.webkitIDBKeyRange||window.msIDBKeyRange,Array.prototype.map||(Array.prototype.map=function(e,t){var n,o,i;if(null===this)throw new TypeError(" this is null or not defined");var r=Object(this),a=r.length>>>0;if("function"!=typeof e)throw new TypeError(e+" is not a function");for(arguments.length>1&&(n=t),o=new Array(a),i=0;i<a;){var s,c;i in r&&(s=r[i],c=e.call(n,s,i,r),o[i]=c),i++}return o}),Array.prototype.reduce||(Array.prototype.reduce=function(e){"use strict";if(null===this)throw new TypeError("Array.prototype.reduce called on null or undefined");if("function"!=typeof e)throw new TypeError(e+" is not a function");var t,n=Object(this),o=n.length>>>0,i=0;if(2==arguments.length)t=arguments[1];else{for(;i<o&&!(i in n);)i++;if(i>=o)throw new TypeError("Reduce of empty array with no initial value");t=n[i++]}for(;i<o;i++)i in n&&(t=e(t,n[i],i,n));return t}),"function"!=typeof Array.prototype.reduceRight&&(Array.prototype.reduceRight=function(e){"use strict";if(null===this||"undefined"==typeof this)throw new TypeError("Array.prototype.reduce called on null or undefined");if("function"!=typeof e)throw new TypeError(e+" is not a function");var t,n=Object(this),o=n.length>>>0,i=o-1;if(arguments.length>=2)t=arguments[1];else{for(;i>=0&&!(i in n);)i--;if(i<0)throw new TypeError("Reduce of empty array with no initial value");t=n[i--]}for(;i>=0;i--)i in n&&(t=e(t,n[i],i,n));return t}),Array.prototype.some||(Array.prototype.some=function(e){"use strict";if(null===this)throw new TypeError("Array.prototype.some called on null or undefined");if("function"!=typeof e)throw new TypeError;for(var t=Object(this),n=t.length>>>0,o=arguments.length>=2?arguments[1]:void 0,i=0;i<n;i++)if(i in t&&e.call(o,t[i],i,t))return!0;return!1}),Array.prototype.every||(Array.prototype.every=function(e,t){"use strict";var n,o;if(null===this)throw new TypeError("this is null or not defined");var i=Object(this),r=i.length>>>0;if("function"!=typeof e)throw new TypeError;for(arguments.length>1&&(n=t),o=0;o<r;){var a;if(o in i){a=i[o];var s=e.call(n,a,o,i);if(!s)return!1}o++}return!0}),Array.prototype.dataCount=function(){"use strict";return this.length},Array.prototype.forEach||(Array.prototype.forEach=function(e,t){var n,o;if(null===this)throw new TypeError("this is null or not defined");var i=Object(this),r=i.length>>>0;if("[object Function]"!=={}.toString.call(e))throw new TypeError(e+" is not a function");for(t&&(n=t),o=0;o<r;){var a;Object.prototype.hasOwnProperty.call(i,o)&&(a=i[o],e.call(n,a,o,i)),o++}}),Array.prototype.contains||(Array.prototype.contains=function(e){for(var t=0;t<this.length;t++)if(this[t]===e)return!0;return!1}),Array.prototype.clean=function(e){for(var t=0;t<this.length;t++)this[t]==e&&(this.splice(t,1),t--);return this},String.prototype.CFC=function(){return"<u>"+this.charAt(0).toUpperCase()+"</u>"+this.slice(1)},String.prototype.soundex=function(e){var t,n,o,i={BFPV:1,CGJKQSXZ:2,DT:3,L:4,MN:5,R:6},r=(s=this.toUpperCase().replace(/[^A-Z]/g,"").split("")).splice(0,1);for(e=isNaN(e)?4:e>10?10:e<4?4:e,t=-1,o=s.length;++t<o;)for(n in i)if(n.indexOf(s[t])+1&&r[r.length-1]!=i[n]&&r.push(i[n]))break;return r.length>e&&(r.length=e),r.join("")+new Array(e-r.length+1).join("0")},String.prototype.trim||!function(){var e=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;String.prototype.trim=function(){return this.replace(e,"")}}(),String.prototype.realToDouble=function(){var e=this;return e=e.replace(/\D/g,""),e=+e/100,e.toFixed(2)},Number.prototype.formatMoney=function(e,t,n,o){e=isNaN(e=Math.abs(e))?2:e,t=void 0!==t?t:"$",n=n||",",o=o||".";var i=this,r=i<0?"-":"",a=parseInt(i=Math.abs(+i||0).toFixed(e),10)+"",s=(s=a.length)>3?s%3:0;return t+r+(s?a.substr(0,s)+n:"")+a.substr(s).replace(/(\d{3})(?=\d)/g,"$1"+n)+(e?o+Math.abs(i-a).toFixed(e).slice(2):"")},Date.prototype.addDays=function(e){var t=new Date(this.valueOf());return t.setDate(t.getDate()+e),t},Date.prototype.addHours=function(e){return this.setTime(this.getTime()+60*e*60*1e3),this},Date.prototype.addMinutes=function(e){return this.setTime(this.getTime()+60*e*1e3),this},window.console?window.console.debug||"undefined"==typeof window.console.log||(window.console.debug=window.console.log):window.console={};for(var names=["log","debug","info","warn","error","assert","dir","dirxml","group","groupEnd","time","timeEnd","count","trace","profile","profileEnd"],i=0;i<names.length;++i)window.console[names[i]]||(window.console[names[i]]=function(){});!function(e,t){"function"==typeof define&&define.amd?define(t):"object"==typeof exports?module.exports=t():e.VMasker=t()}(this,function(){var e="9",t="A",n="S",o=[9,16,17,18,36,37,38,39,40,91,92,93],i=function(e){for(var t=0,n=o.length;t<n;t++)if(e==o[t])return!1;return!0},r=function(e){return e=e||{},e={precision:e.hasOwnProperty("precision")?e.precision:2,separator:e.separator||",",delimiter:e.delimiter||".",unit:e.unit&&e.unit.replace(/[\s]/g,"")+" "||"",suffixUnit:e.suffixUnit&&" "+e.suffixUnit.replace(/[\s]/g,"")||"",zeroCents:e.zeroCents,lastOutput:e.lastOutput},e.moneyPrecision=e.zeroCents?0:e.precision,e},a=function(o,i,r){for(;i<o.length;i++)o[i]!==e&&o[i]!==t&&o[i]!==n||(o[i]=r);return o},s=function(e){this.elements=e};s.prototype.unbindElementToMask=function(){for(var e=0,t=this.elements.length;e<t;e++)this.elements[e].lastOutput="",this.elements[e].onkeyup=!1,this.elements[e].onkeydown=!1,this.elements[e].value.length&&(this.elements[e].value=this.elements[e].value.replace(/\D/g,""))},s.prototype.bindElementToMask=function(e){for(var t=this,n=function(n){n=n||window.event;var o=n.target||n.srcElement;i(n.keyCode)&&setTimeout(function(){t.opts.lastOutput=o.lastOutput,o.value=c[e](o.value,t.opts),o.lastOutput=o.value,o.setSelectionRange&&t.opts.suffixUnit&&o.setSelectionRange(o.value.length,o.value.length-t.opts.suffixUnit.length)},0)},o=0,r=this.elements.length;o<r;o++)this.elements[o].lastOutput="",this.elements[o].onkeyup=n,this.elements[o].value.length&&(this.elements[o].value=c[e](this.elements[o].value,this.opts))},s.prototype.maskMoney=function(e){this.opts=r(e),this.bindElementToMask("toMoney")},s.prototype.maskNumber=function(){this.opts={},this.bindElementToMask("toNumber")},s.prototype.maskAlphaNum=function(){this.opts={},this.bindElementToMask("toAlphaNumeric")},s.prototype.maskPattern=function(e){this.opts={pattern:e},this.bindElementToMask("toPattern")},s.prototype.unMask=function(){this.unbindElementToMask()};var c=function(e){if(!e)throw new Error("VanillaMasker: There is no element to bind.");var t="length"in e?e.length?e:[]:[e];return new s(t)};return c.toMoney=function(e,t){if(t=r(t),t.zeroCents){t.lastOutput=t.lastOutput||"";var n="("+t.separator+"[0]{0,"+t.precision+"})",o=new RegExp(n,"g"),i=e.toString().replace(/[\D]/g,"").length||0,a=t.lastOutput.toString().replace(/[\D]/g,"").length||0;e=e.toString().replace(o,""),i<a&&(e=e.slice(0,e.length-1))}var s=e.toString().replace(/[\D]/g,""),c=new RegExp("^(0|\\"+t.delimiter+")"),l=new RegExp("(\\"+t.separator+")$"),A=s.substr(0,s.length-t.moneyPrecision),u=A.substr(0,A.length%3),p=new Array(t.precision+1).join("0");A=A.substr(A.length%3,A.length);for(var f=0,h=A.length;f<h;f++)f%3===0&&(u+=t.delimiter),u+=A[f];if(u=u.replace(c,""),u=u.length?u:"0",!t.zeroCents){var g=s.length-t.precision,d=s.substr(g,t.precision),w=d.length,m=t.precision>w?t.precision:w;p=(p+d).slice(-m)}var y=t.unit+u+t.separator+p+t.suffixUnit;return y.replace(l,"")},c.toPattern=function(o,i){var r,s="object"==typeof i?i.pattern:i,c=s.replace(/\W/g,""),l=s.split(""),A=o.toString().replace(/\W/g,""),u=A.replace(/\W/g,""),p=0,f=l.length,h="object"==typeof i?i.placeholder:void 0;for(r=0;r<f;r++){if(p>=A.length){if(c.length==u.length)return l.join("");if(void 0!==h&&c.length>u.length)return a(l,r,h).join("");break}if(l[r]===e&&A[p].match(/[0-9]/)||l[r]===t&&A[p].match(/[a-zA-Z]/)||l[r]===n&&A[p].match(/[0-9a-zA-Z]/))l[r]=A[p++];else if(l[r]===e||l[r]===t||l[r]===n)return void 0!==h?a(l,r,h).join(""):l.slice(0,r).join("")}return l.join("").substr(0,r)},c.toNumber=function(e){return e.toString().replace(/(?!^-)[^0-9]/g,"")},c.toAlphaNumeric=function(e){return e.toString().replace(/[^a-z0-9 ]+/i,"")},c}),Object.observe||function(e,t,n,o){"use strict";var i,r,a=["add","update","delete","reconfigure","setPrototype","preventExtensions"],s=t.isArray||function(e){return function(t){return"[object Array]"===e.call(t)}}(e.prototype.toString),c=t.prototype.indexOf?t.indexOf||function(e,n,o){return t.prototype.indexOf.call(e,n,o)}:function(e,t,n){for(var o=n||0;o<e.length;o++)if(e[o]===t)return o;return-1},l=n.Map!==o&&Map.prototype.forEach?function(){return new Map}:function(){var e=[],t=[];return{size:0,has:function(t){return c(e,t)>-1},get:function(n){return t[c(e,n)]},set:function(n,o){var i=c(e,n);i===-1?(e.push(n),t.push(o),this.size++):t[i]=o},"delete":function(n){var o=c(e,n);o>-1&&(e.splice(o,1),t.splice(o,1),this.size--)},forEach:function(n){for(var o=0;o<e.length;o++)n.call(arguments[1],t[o],e[o],this)}}},A=e.getOwnPropertyNames?function(){var t=e.getOwnPropertyNames,n=function(){return!this}();if(n){var o=(t(c).join(" ")+" ").replace(/prototype |length |name /g,"").slice(0,-1).split(" ");o.length&&(t=function(t){var n=e.getOwnPropertyNames(t);if("function"==typeof t)for(var i,r=0;r<o.length;)(i=c(n,o[r++]))>-1&&n.splice(i,1);return n})}return t}():function(t){var n,o,i=[];if("hasOwnProperty"in t)for(n in t)t.hasOwnProperty(n)&&i.push(n);else{o=e.hasOwnProperty;for(n in t)o.call(t,n)&&i.push(n)}return s(t)&&i.push("length"),i},u=n.requestAnimationFrame||n.webkitRequestAnimationFrame||function(){var e=+new Date,t=e;return function(n){return setTimeout(function(){n((t=+new Date)-e)},17)}}(),p=function(e,t,n){var o=i.get(e);o?(h(o,e),m(e,o,t,n)):(o=f(e),m(e,o,t,n),1===i.size&&u(g))},f=function(e,t){var n=A(e),o=[],r=0;for(t={handlers:l(),properties:n,values:o,notifier:w(e,t)};r<n.length;)o[r]=e[n[r++]];return i.set(e,t),t},h=function(e,t,n){if(e.handlers.size){var o,i,r,a,s,l,u,p=e.values,f=0;for(o=e.properties.slice(),i=o.length,r=A(t);f<r.length;)s=r[f++],a=c(o,s),l=t[s],a===-1?(y(t,e,{name:s,type:"add",object:t},n),e.properties.push(s),p.push(l)):(u=p[a],o[a]=null,i--,(u===l?0===u&&1/u!==1/l:u===u||l===l)&&(y(t,e,{name:s,type:"update",object:t,oldValue:u},n),e.values[a]=l));for(f=o.length;i&&f--;)null!==o[f]&&(y(t,e,{name:o[f],type:"delete",object:t,oldValue:p[f]},n),e.properties.splice(f,1),e.values.splice(f,1),i--)}},g=function(){i.size&&(i.forEach(h),r.forEach(d),u(g))},d=function(e,t){var n=e.changeRecords;n.length&&(e.changeRecords=[],t(n))},w=function(e,t){return arguments.length<2&&(t=i.get(e)),t&&t.notifier||{notify:function(t){t.type=t.type;var n=i.get(e);if(n){var o,r={object:e};for(o in t)"object"!==o&&(r[o]=t[o]);y(e,n,r)}},performChange:function(t,n){if("string"!=typeof t)throw new TypeError("Invalid non-string changeType");if("function"!=typeof n)throw new TypeError("Cannot perform non-function");var r,a,s=i.get(e),c=arguments[2],l=c===o?n():n.call(c);if(s&&h(s,e,t),s&&l&&"object"==typeof l){a={object:e,type:t};for(r in l)"object"!==r&&"type"!==r&&(a[r]=l[r]);y(e,s,a)}}}},m=function(e,t,n,o){var i=r.get(n);i||r.set(n,i={observed:l(),changeRecords:[]}),i.observed.set(e,{acceptList:o.slice(),data:t}),t.handlers.set(n,i)},y=function(e,t,n,o){t.handlers.forEach(function(t){var i=t.observed.get(e).acceptList;("string"!=typeof o||c(i,o)===-1)&&c(i,n.type)>-1&&t.changeRecords.push(n)})};i=l(),r=l(),e.observe=function(t,n,i){if(!t||"object"!=typeof t&&"function"!=typeof t)throw new TypeError("Object.observe cannot observe non-object");if("function"!=typeof n)throw new TypeError("Object.observe cannot deliver to non-function");if(e.isFrozen&&e.isFrozen(n))throw new TypeError("Object.observe cannot deliver to a frozen function object");if(i===o)i=a;else if(!i||"object"!=typeof i)throw new TypeError("Third argument to Object.observe must be an array of strings.");return p(t,n,i),t},e.unobserve=function(e,t){if(null===e||"object"!=typeof e&&"function"!=typeof e)throw new TypeError("Object.unobserve cannot unobserve non-object");if("function"!=typeof t)throw new TypeError("Object.unobserve cannot deliver to non-function");var n,o=r.get(t);return o&&(n=o.observed.get(e))&&(o.observed.forEach(function(e,t){h(e.data,t)}),u(function(){d(o,t)}),1===o.observed.size&&o.observed.has(e)?r["delete"](t):o.observed["delete"](e),1===n.data.handlers.size?i["delete"](e):n.data.handlers["delete"](t)),e},e.getNotifier=function(t){if(null===t||"object"!=typeof t&&"function"!=typeof t)throw new TypeError("Object.getNotifier cannot getNotifier non-object");return e.isFrozen&&e.isFrozen(t)?null:w(t)},e.deliverChangeRecords=function(e){if("function"!=typeof e)throw new TypeError("Object.deliverChangeRecords cannot deliver to non-function");var t=r.get(e);t&&(t.observed.forEach(function(e,t){h(e.data,t)}),d(t,e))}}(Object,Array,this),window.saveAs||(window.saveAs=!!window.navigator.msSaveBlob&&function(e,t){return window.navigator.msSaveBlob(e,t)}||window.webkitSaveAs||window.mozSaveAs||window.msSaveAs||function(){return window.URL||(window.URL=window.webkitURL),!!window.URL&&function(e,t){var n=URL.createObjectURL(e);if("download"in document.createElement("a")){var o=document.createElement("a");o.setAttribute("href",n),o.setAttribute("download",t);var i=document.createEvent("MouseEvent");i.initMouseEvent("click",!0,!0,window,0,event.screenX,event.screenY,event.clientX,event.clientY,event.ctrlKey,event.altKey,event.shiftKey,event.metaKey,0,null),o.dispatchEvent(i)}else window.open(n,"_blank","")}}()),function(e){"use strict";function t(e,t){var n="XMLHttpRequest"in window?new XMLHttpRequest:new ActiveXObject("Microsoft.XMLHTTP");return n.open("POST",e,!1),n.setRequestHeader("Accept","*/*"),"string"==typeof t?(n.setRequestHeader("Content-Type","text/plain;charset=UTF-8"),n.responseType="text/plain"):"[object Blob]"===Object.prototype.toString.call(t)&&t.type&&n.setRequestHeader("Content-Type",t.type),n.send(t),!0}"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=t),exports.sendBeacon=t):"function"==typeof define&&define.amd?define([],function(){return t}):"navigator"in e&&!("sendBeacon"in e.navigator)&&(e.navigator.sendBeacon=t)}(this),function(e,t,n){if(!("Notification"in e&&"permission"in e.Notification&&"requestPermission"in e.Notification)){var o="default",i="granted",r="denied",a=[i,o,r],s=function(e){return e&&e.constructor===String},c=function(e){return e&&e.constructor===Function},l=function(e){return e&&e.constructor===Object},A=function(){},u=function(){var t;return t="webkitNotifications"in e&&"checkPermission"in e.webkitNotifications?a[e.webkitNotifications.checkPermission()]:"mozNotification"in n?i:null===localStorage.getItem("notifications")?o:localStorage.getItem("notifications")},p=function(n){var a=c(n)?n:A;"webkitNotifications"in e&&"requestPermission"in e.webkitNotifications?e.webkitNotifications.requestPermission(a):(u()==o&&(confirm("Do you want to allow "+t.domain+" to display Notifications?")?(localStorage.setItem("notifications",i),f.permission=i):(localStorage.setItem("notifications",r),f.permission=r)),a())},f=function(t,o){var r;return s(t)&&l(o)&&u()==i&&("mozNotification"in n?(r=n.mozNotification.createNotification(t,o.body,o.icon),c(o.onclick)&&(r.onclick=o.onclick),c(o.onclose)&&(r.onclose=o.onclose),r.show()):"webkitNotifications"in e&&"createNotification"in e.webkitNotifications&&(r=e.webkitNotifications.createNotification(o.icon,t,o.body),c(o.onclick)&&(r.onclick=o.onclick),c(o.onshow)&&(r.onshow=o.onshow),c(o.onerror)&&(r.onerror=o.onerror),c(o.onclose)&&(r.onclose=o.onclose),r.show())),r};"Notification"in e||(f.requestPermission=p,e.Notification=f),"webkitNotifications"in e&&"checkPermission"in e.webkitNotifications?Object.defineProperty(e.Notification,"permission",{get:function(){return a[e.webkitNotifications.checkPermission()]}}):f.permission=u(),"requestPermission"in e.Notification||(e.Notification.requestPermission=p)}}(this,this.document,this.navigator),function(e){if(!e){var t;e=window.navigator.geolocation={},e.getCurrentPosition=function(e){t&&e(t),$.getScript("//www.google.com/jsapi",function(){google.loader.ClientLocation&&(t={coords:{latitude:google.loader.ClientLocation.latitude,longitude:google.loader.ClientLocation.longitude}}),e(t)})},e.watchPosition=e.getCurrentPosition}}(navigator.geolocation);