| 1 |
- jQuery.fn.mousehold=function(e){var t=100;if(e&&"function"==typeof e){var i=0,s=!1,n=void 0;return this.each(function(){$(this).mousedown(function(){s=!0;var n=0,a=this;i=setInterval(function(){n++,e.call(a,n),s=!1},t)}),n=function(){clearInterval(i),s&&e.call(this,1),s=!1},$(this).mouseout(n),$(this).mouseup(n)})}},!function(e){var t=function(t,s){this.element=e(t),this.element.addClass("spinedit"),this.element.addClass("noSelect"),this.intervalId=void 0;var n="object"==typeof s;this.minimum=e.fn.spinedit.defaults.minimum,n&&"number"==typeof s.minimum&&this.setMinimum(s.minimum),this.maximum=e.fn.spinedit.defaults.maximum,n&&"number"==typeof s.maximum&&this.setMaximum(s.maximum),this.numberOfDecimals=e.fn.spinedit.defaults.numberOfDecimals,n&&"number"==typeof s.numberOfDecimals&&this.setNumberOfDecimals(s.numberOfDecimals);var a=e.fn.spinedit.defaults.value;if(n&&"number"==typeof s.value)a=s.value;else if(this.element.val()){var m=parseFloat(this.element.val());isNaN(m)||(a=m.toFixed(this.numberOfDecimals))}this.setValue(a),this.step=e.fn.spinedit.defaults.step,n&&"number"==typeof s.step&&this.setStep(s.step);var u=e(i.template);this.element.after(u),e(u).each(function(t,i){e(i).bind("selectstart click mousedown",function(){return!1})}),u.find(".icon-chevron-up").mousehold(e.proxy(this.increase,this)),u.find(".icon-chevron-down").mousehold(e.proxy(this.decrease,this)),this.element.on("keypress",e.proxy(this._keypress,this)),this.element.on("blur",e.proxy(this._checkConstraints,this))};t.prototype={constructor:t,setMinimum:function(e){this.minimum=parseFloat(e)},setMaximum:function(e){this.maximum=parseFloat(e)},setStep:function(e){this.step=parseFloat(e)},setNumberOfDecimals:function(e){this.numberOfDecimals=parseInt(e)},setValue:function(e){e=parseFloat(e),isNaN(e)&&(e=this.minimum),this.value!=e&&(e<this.minimum&&(e=this.minimum),e>this.maximum&&(e=this.maximum),this.value=e,this.element.val(this.value.toFixed(this.numberOfDecimals)),this.element.change(),this.element.trigger({type:"valueChanged",value:parseFloat(this.value.toFixed(this.numberOfDecimals))}))},increase:function(){var e=this.value+this.step;this.setValue(e)},decrease:function(){var e=this.value-this.step;this.setValue(e)},_keypress:function(e){var t=e.keyCode||e.charCode;if(45!=t&&!(this.numberOfDecimals>0&&46==t)){for(var i=[],s=48;58>s;s++)i.push(s);i.indexOf(t)>=0||e.preventDefault()}},_checkConstraints:function(t){var i=e(t.target);this.setValue(i.val())}},e.fn.spinedit=function(i){var s=Array.apply(null,arguments);return s.shift(),this.each(function(){var n=e(this),a=n.data("spinedit"),m="object"==typeof i&&i;a||(n.data("spinedit",new t(this,e.extend({},e.fn.spinedit().defaults,m))),a=n.data("spinedit")),"string"==typeof i&&"function"==typeof a[i]&&a[i].apply(a,s)})},e.fn.spinedit.defaults={value:0,minimum:0,maximum:100,step:1,numberOfDecimals:0},e.fn.spinedit.Constructor=t;var i={};i.template='<div class="spinedit"><span class="icon-chevron-up"><i alt="" class="tooltips icon" title="Increase"></i></span><span class="icon-chevron-down"><i alt="" class="tooltips icon" title="Decrease"></i></span></div>'}(window.jQuery);
|