diff --git a/package/gluon-web/files/lib/gluon/web/www/static/resources/gluon-web.js b/package/gluon-web/files/lib/gluon/web/www/static/resources/gluon-web.js index 7d1b2084672b0cdb9bf8ae5110179e00be535c0c..0090c6093dd6a0c6df9cf27c5f2f395c4df06041 100644 --- a/package/gluon-web/files/lib/gluon/web/www/static/resources/gluon-web.js +++ b/package/gluon-web/files/lib/gluon/web/www/static/resources/gluon-web.js @@ -1 +1 @@ -!function(){function e(e){return/^-?\d+$/.test(e)?+e:NaN}function t(e){return/^-?\d*\.?\d+?$/.test(e)?+e:NaN}function n(e){var t;return e.match(/^([^\(]+)\(([^,]+),([^\)]+)\)$/)&&void 0!==(t=s[RegExp.$1])?function(){return t(RegExp.$2,RegExp.$3)}:e.match(/^([^\(]+)\(([^,\)]+)\)$/)&&void 0!==(t=s[RegExp.$1])?function(){return t(RegExp.$2)}:s[e]}function r(e,t){var n,r=document.getElementById(e);return r&&(n="checkbox"==r.type?r.checked:r.value?r.value:""),n==t}function a(e){for(var t=0;t<e.length;t++){var n=!0;for(var a in e[t])n=n&&r(a,e[t][a]);if(n)return!0}return!1}function i(){var e=!1;for(var t in c){var n=c[t],r=document.getElementById(t),o=document.getElementById(n.parent);if(r&&r.parentNode&&!a(n.deps))r.parentNode.removeChild(r),e=!0;else if(o&&(!r||!r.parentNode)&&a(n.deps)){var u=void 0;for(u=o.firstChild;u&&!(u.getAttribute&&parseInt(u.getAttribute("data-index"),10)>n.index);u=u.nextSibling);u?o.insertBefore(n.node,u):o.appendChild(n.node),e=!0}o&&o.parentNode&&o.getAttribute("data-optionals")&&(o.parentNode.style.display=o.options.length<=1?"none":"")}e&&i()}function o(e,t,n,r){return e.addEventListener?e.addEventListener(t,n,!!r):e.attachEvent("on"+t,function(){var e=window.event;return!e.target&&e.srcElement&&(e.target=e.srcElement),!!n(e)}),e}function u(e,t,n){function r(r,s,p){for(var f=[];e.firstChild;){var v=e.firstChild,h=+v.index;h!=p&&("input"==v.nodeName.toLowerCase()?f.push(v.value||""):"select"==v.nodeName.toLowerCase()&&(f[f.length-1]=v.options[v.selectedIndex].value)),e.removeChild(v)}s>=0?(r=s+1,f.splice(s,0,"")):n||0!=f.length||f.push("");for(var h=1;h<=f.length;h++){var g=document.createElement("input");if(g.id=l+"."+h,g.name=l,g.value=f[h-1],g.type="text",g.index=h,g.className="gluon-input-text",c&&(g.placeholder=c),e.appendChild(g),t&&d(g,!1,t),o(g,"keydown",i),o(g,"keypress",a),h==r)g.focus();else if(-h==r){g.focus();var m=g.value;g.value=" ",g.value=m}if(n||f.length>1){var x=document.createElement("span");x.className="gluon-remove",e.appendChild(x),o(x,"click",u(!1)),e.appendChild(document.createElement("br"))}}var x=document.createElement("span");x.className="gluon-add",e.appendChild(x),o(x,"click",u(!0))}function a(e){e=e?e:window.event;var t=e.target?e.target:e.srcElement;switch(3==t.nodeType&&(t=t.parentNode),e.keyCode){case 8:case 46:return 0!=t.value.length||(e.preventDefault&&e.preventDefault(),!1);case 13:case 38:case 40:return e.preventDefault&&e.preventDefault(),!1}return!0}function i(e){e=e?e:window.event;var t,n,a=e.target?e.target:e.srcElement,i=0;if(a){for(3==a.nodeType&&(a=a.parentNode),i=a.index,t=a.previousSibling;t&&t.name!=l;)t=t.previousSibling;for(n=a.nextSibling;n&&n.name!=l;)n=n.nextSibling}switch(e.keyCode){case 8:case 46:var o="select"==a.nodeName.toLowerCase()||0==a.value.length;if(o){e.preventDefault&&e.preventDefault();var u=a.index;return 8==e.keyCode&&(u=-u+1),r(u,-1,i),!1}break;case 13:r(-1,i,-1);break;case 38:t&&t.focus();break;case 40:n&&n.focus()}return!0}function u(e){return function(t){t=t?t:window.event;for(var n=t.target?t.target:t.srcElement,r=n.previousSibling;r&&r.name!=l;)r=r.previousSibling;return e?i({target:r,keyCode:13}):(r.value="",i({target:r,keyCode:8})),!1}}var l=e.getAttribute("data-prefix"),c=e.getAttribute("data-placeholder");r(NaN,-1,-1)}function d(e,t,r){var a=n(r);if(a){var i=function(){if(e.form){e.className=e.className.replace(/ gluon-input-invalid/g,"");var n=e.options&&e.options.selectedIndex>-1?e.options[e.options.selectedIndex].value:e.value;0==n.length&&t||a.apply(n)||(e.className+=" gluon-input-invalid")}};o(e,"blur",i),o(e,"keyup",i),"SELECT"==e.nodeName&&(o(e,"change",i),o(e,"click",i)),i()}}function l(e,t,n){var r=c[e.id];r||(r={node:e,parent:e.parentNode.id,deps:[],index:n},c[e.id]=r),r.deps.push(t)}var c={},s={integer:function(){return!isNaN(e(this))},uinteger:function(){return e(this)>=0},"float":function(){return!isNaN(t(this))},ufloat:function(){return t(this)>=0},ipaddr:function(){return s.ip4addr.apply(this)||s.ip6addr.apply(this)},ip4addr:function(){return!!this.match(/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/)&&(RegExp.$1>=0&&RegExp.$1<=255&&RegExp.$2>=0&&RegExp.$2<=255&&RegExp.$3>=0&&RegExp.$3<=255&&RegExp.$4>=0&&RegExp.$4<=255)},ip6addr:function(){return this.indexOf("::")<0?null!=this.match(/^(?:[a-f0-9]{1,4}:){7}[a-f0-9]{1,4}$/i):!(this.indexOf(":::")>=0||this.match(/::.+::/)||this.match(/^:[^:]/)||this.match(/[^:]:$/))&&(!!this.match(/^(?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}$/i)||(!!this.match(/^(?:[a-f0-9]{1,4}:){7}:$/i)||!!this.match(/^:(?::[a-f0-9]{1,4}){7}$/i)))},wpakey:function(){var e=this;return 64==e.length?null!=e.match(/^[a-f0-9]{64}$/i):e.length>=8&&e.length<=63},range:function(e,n){var r=t(this);return r>=+e&&r<=+n},min:function(e){return t(this)>=+e},max:function(e){return t(this)<=+e},irange:function(t,n){var r=e(this);return r>=+t&&r<=+n},imin:function(t){return e(this)>=+t},imax:function(t){return e(this)<=+t},minlength:function(e){return(""+this).length>=+e},maxlength:function(e){return(""+this).length<=+e}};!function(){var e;e=document.querySelectorAll("[data-depends]");for(var t,n=0;void 0!==(t=e[n]);n++){var r=parseInt(t.getAttribute("data-index"),10),a=JSON.parse(t.getAttribute("data-depends"));if(!isNaN(r)&&a.length>0)for(var c=0;c<a.length;c++)l(t,a[c],r)}e=document.querySelectorAll("[data-update]");for(var t,n=0;void 0!==(t=e[n]);n++)for(var s,p=t.getAttribute("data-update").split(" "),f=0;void 0!==(s=p[f]);f++)o(t,s,i);e=document.querySelectorAll("[data-type]");for(var t,n=0;void 0!==(t=e[n]);n++)d(t,"true"===t.getAttribute("data-optional"),t.getAttribute("data-type"));e=document.querySelectorAll("[data-dynlist]");for(var t,n=0;void 0!==(t=e[n]);n++){var v=JSON.parse(t.getAttribute("data-dynlist"));u(t,v.type,v.optional)}i()}()}(); \ No newline at end of file +!function(){function e(e){return/^-?\d+$/.test(e)?+e:NaN}function t(e){return/^-?\d*\.?\d+?$/.test(e)?+e:NaN}function n(e){var t,n;return(n=e.match(/^([^\(]+)\(([^,]+),([^\)]+)\)$/))&&(t=s[n[1]])!==undefined?function(){return t.apply(this,[n[2],n[3]])}:(n=e.match(/^([^\(]+)\(([^,\)]+)\)$/))&&(t=s[n[1]])!==undefined?function(){return t.apply(this,[n[2]])}:s[e]}function a(e,t){var n,a=document.getElementById(e);return a&&(n="checkbox"==a.type?a.checked:a.value?a.value:""),n==t}function r(e){for(var t=0;t<e.length;t++){var n=!0;for(var r in e[t])n=n&&a(r,e[t][r]);if(n)return!0}return!1}function i(){var e=!1;for(var t in c){var n=c[t],a=document.getElementById(t),u=document.getElementById(n.parent);if(a&&a.parentNode&&!r(n.deps))a.parentNode.removeChild(a),e=!0;else if(u&&(!a||!a.parentNode)&&r(n.deps)){var d=undefined;for(d=u.firstChild;d&&!(d.getAttribute&&parseInt(d.getAttribute("data-index"),10)>n.index);d=d.nextSibling);d?u.insertBefore(n.node,d):u.appendChild(n.node),e=!0}u&&u.parentNode&&u.getAttribute("data-optionals")&&(u.parentNode.style.display=u.options.length<=1?"none":"")}e&&i()}function u(e,t,n,a){return e.addEventListener?e.addEventListener(t,n,!!a):e.attachEvent("on"+t,function(){var e=window.event;return!e.target&&e.srcElement&&(e.target=e.srcElement),!!n(e)}),e}function d(e,t,n){function a(a,s,f){for(var p=[];e.firstChild;){var h=e.firstChild,v=+h.index;v!=f&&("input"==h.nodeName.toLowerCase()?p.push(h.value||""):"select"==h.nodeName.toLowerCase()&&(p[p.length-1]=h.options[h.selectedIndex].value)),e.removeChild(h)}s>=0?(a=s+1,p.splice(s,0,"")):n||0!=p.length||p.push("");for(var v=1;v<=p.length;v++){var g=document.createElement("input");if(g.id=l+"."+v,g.name=l,g.value=p[v-1],g.type="text",g.index=v,g.className="gluon-input-text",c&&(g.placeholder=c),e.appendChild(g),t&&o(g,!1,t),u(g,"keydown",i),u(g,"keypress",r),v==a)g.focus();else if(-v==a){g.focus();var m=g.value;g.value=" ",g.value=m}if(n||p.length>1){var y=document.createElement("span");y.className="gluon-remove",e.appendChild(y),u(y,"click",d(!1)),e.appendChild(document.createElement("br"))}}var y=document.createElement("span");y.className="gluon-add",e.appendChild(y),u(y,"click",d(!0))}function r(e){e=e?e:window.event;var t=e.target?e.target:e.srcElement;switch(3==t.nodeType&&(t=t.parentNode),e.keyCode){case 8:case 46:return 0!=t.value.length||(e.preventDefault&&e.preventDefault(),!1);case 13:case 38:case 40:return e.preventDefault&&e.preventDefault(),!1}return!0}function i(e){e=e?e:window.event;var t,n,r=e.target?e.target:e.srcElement,i=0;if(r){for(3==r.nodeType&&(r=r.parentNode),i=r.index,t=r.previousSibling;t&&t.name!=l;)t=t.previousSibling;for(n=r.nextSibling;n&&n.name!=l;)n=n.nextSibling}switch(e.keyCode){case 8:case 46:if("select"==r.nodeName.toLowerCase()||0==r.value.length){e.preventDefault&&e.preventDefault();var u=r.index;return 8==e.keyCode&&(u=1-u),a(u,-1,i),!1}break;case 13:a(-1,i,-1);break;case 38:t&&t.focus();break;case 40:n&&n.focus()}return!0}function d(e){return function(t){t=t?t:window.event;for(var n=t.target?t.target:t.srcElement,a=n.previousSibling;a&&a.name!=l;)a=a.previousSibling;return e?i({target:a,keyCode:13}):(a.value="",i({target:a,keyCode:8})),!1}}var l=e.getAttribute("data-prefix"),c=e.getAttribute("data-placeholder");a(NaN,-1,-1)}function o(e,t,a){var r=n(a);if(r){var i=function(){if(e.form){e.className=e.className.replace(/ gluon-input-invalid/g,"");var n=e.options&&e.options.selectedIndex>-1?e.options[e.options.selectedIndex].value:e.value;0==n.length&&t||r.apply(n)||(e.className+=" gluon-input-invalid")}};u(e,"blur",i),u(e,"keyup",i),"SELECT"==e.nodeName&&(u(e,"change",i),u(e,"click",i)),i()}}function l(e,t,n){var a=c[e.id];a||(a={node:e,parent:e.parentNode.id,deps:[],index:n},c[e.id]=a),a.deps.push(t)}var c={},s={integer:function(){return!isNaN(e(this))},uinteger:function(){return e(this)>=0},"float":function(){return!isNaN(t(this))},ufloat:function(){return t(this)>=0},ipaddr:function(){return s.ip4addr.apply(this)||s.ip6addr.apply(this)},ip4addr:function(){var e;return!!(e=this.match(/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/))&&(e[1]>=0&&e[1]<=255&&e[2]>=0&&e[2]<=255&&e[3]>=0&&e[3]<=255&&e[4]>=0&&e[4]<=255)},ip6addr:function(){return this.indexOf("::")<0?null!=this.match(/^(?:[a-f0-9]{1,4}:){7}[a-f0-9]{1,4}$/i):!(this.indexOf(":::")>=0||this.match(/::.+::/)||this.match(/^:[^:]/)||this.match(/[^:]:$/))&&(!!this.match(/^(?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}$/i)||(!!this.match(/^(?:[a-f0-9]{1,4}:){7}:$/i)||!!this.match(/^:(?::[a-f0-9]{1,4}){7}$/i)))},wpakey:function(){var e=this;return 64==e.length?null!=e.match(/^[a-f0-9]{64}$/i):e.length>=8&&e.length<=63},range:function(e,n){var a=t(this);return a>=+e&&a<=+n},min:function(e){return t(this)>=+e},max:function(e){return t(this)<=+e},irange:function(t,n){var a=e(this);return a>=+t&&a<=+n},imin:function(t){return e(this)>=+t},imax:function(t){return e(this)<=+t},minlength:function(e){return(""+this).length>=+e},maxlength:function(e){return(""+this).length<=+e}};!function(){var e;e=document.querySelectorAll("[data-depends]");for(var t,n=0;(t=e[n])!==undefined;n++){var a=parseInt(t.getAttribute("data-index"),10),r=JSON.parse(t.getAttribute("data-depends"));if(!isNaN(a)&&r.length>0)for(var c=0;c<r.length;c++)l(t,r[c],a)}e=document.querySelectorAll("[data-update]");for(var t,n=0;(t=e[n])!==undefined;n++)for(var s,f=t.getAttribute("data-update").split(" "),p=0;(s=f[p])!==undefined;p++)u(t,s,i);e=document.querySelectorAll("[data-type]");for(var t,n=0;(t=e[n])!==undefined;n++)o(t,"true"===t.getAttribute("data-optional"),t.getAttribute("data-type"));e=document.querySelectorAll("[data-dynlist]");for(var t,n=0;(t=e[n])!==undefined;n++){var h=JSON.parse(t.getAttribute("data-dynlist"));d(t,h.type,h.optional)}i()}()}(); \ No newline at end of file diff --git a/package/gluon-web/javascript/gluon-web.js b/package/gluon-web/javascript/gluon-web.js index 910af710a1410fb5ae20f462f538cde7a0115c5e..16d88555fbc6f9a19dd305e761835d23a20d7224 100644 --- a/package/gluon-web/javascript/gluon-web.js +++ b/package/gluon-web/javascript/gluon-web.js @@ -53,11 +53,12 @@ }, 'ip4addr': function() { - if (this.match(/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/)) { - return (RegExp.$1 >= 0) && (RegExp.$1 <= 255) && - (RegExp.$2 >= 0) && (RegExp.$2 <= 255) && - (RegExp.$3 >= 0) && (RegExp.$3 <= 255) && - (RegExp.$4 >= 0) && (RegExp.$4 <= 255); + var match; + if ((match = this.match(/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/))) { + return (match[1] >= 0) && (match[1] <= 255) && + (match[2] >= 0) && (match[2] <= 255) && + (match[3] >= 0) && (match[3] <= 255) && + (match[4] >= 0) && (match[4] <= 255); } return false; @@ -128,14 +129,14 @@ }; function compile(type) { - var v; - if (type.match(/^([^\(]+)\(([^,]+),([^\)]+)\)$/) && (v = validators[RegExp.$1]) !== undefined) { + var v, match; + if ((match = type.match(/^([^\(]+)\(([^,]+),([^\)]+)\)$/)) && (v = validators[match[1]]) !== undefined) { return function() { - return v(RegExp.$2, RegExp.$3); + return v.apply(this, [match[2], match[3]]); } - } else if (type.match(/^([^\(]+)\(([^,\)]+)\)$/) && (v = validators[RegExp.$1]) !== undefined) { + } else if ((match = type.match(/^([^\(]+)\(([^,\)]+)\)$/)) && (v = validators[match[1]]) !== undefined) { return function() { - return v(RegExp.$2); + return v.apply(this, [match[2]]); } } else { return validators[type];