Version zu Ende April 2023
This commit is contained in:
178
static/plugins/jquery.numberbox.js
Normal file
178
static/plugins/jquery.numberbox.js
Normal file
@@ -0,0 +1,178 @@
|
||||
/**
|
||||
* jQuery EasyUI 1.5.1
|
||||
*
|
||||
* Copyright (c) 2009-2016 www.jeasyui.com. All rights reserved.
|
||||
*
|
||||
* Licensed under the commercial license: http://www.jeasyui.com/license_commercial.php
|
||||
* To use it on other terms please contact us: info@jeasyui.com
|
||||
*
|
||||
*/
|
||||
(function($){
|
||||
function _1(_2){
|
||||
var _3=$.data(_2,"numberbox");
|
||||
var _4=_3.options;
|
||||
$(_2).addClass("numberbox-f").textbox(_4);
|
||||
$(_2).textbox("textbox").css({imeMode:"disabled"});
|
||||
$(_2).attr("numberboxName",$(_2).attr("textboxName"));
|
||||
_3.numberbox=$(_2).next();
|
||||
_3.numberbox.addClass("numberbox");
|
||||
var _5=_4.parser.call(_2,_4.value);
|
||||
var _6=_4.formatter.call(_2,_5);
|
||||
$(_2).numberbox("initValue",_5).numberbox("setText",_6);
|
||||
};
|
||||
function _7(_8,_9){
|
||||
var _a=$.data(_8,"numberbox");
|
||||
var _b=_a.options;
|
||||
_b.value=parseFloat(_9);
|
||||
var _9=_b.parser.call(_8,_9);
|
||||
var _c=_b.formatter.call(_8,_9);
|
||||
_b.value=_9;
|
||||
$(_8).textbox("setText",_c).textbox("setValue",_9);
|
||||
_c=_b.formatter.call(_8,$(_8).textbox("getValue"));
|
||||
$(_8).textbox("setText",_c);
|
||||
};
|
||||
$.fn.numberbox=function(_d,_e){
|
||||
if(typeof _d=="string"){
|
||||
var _f=$.fn.numberbox.methods[_d];
|
||||
if(_f){
|
||||
return _f(this,_e);
|
||||
}else{
|
||||
return this.textbox(_d,_e);
|
||||
}
|
||||
}
|
||||
_d=_d||{};
|
||||
return this.each(function(){
|
||||
var _10=$.data(this,"numberbox");
|
||||
if(_10){
|
||||
$.extend(_10.options,_d);
|
||||
}else{
|
||||
_10=$.data(this,"numberbox",{options:$.extend({},$.fn.numberbox.defaults,$.fn.numberbox.parseOptions(this),_d)});
|
||||
}
|
||||
_1(this);
|
||||
});
|
||||
};
|
||||
$.fn.numberbox.methods={options:function(jq){
|
||||
var _11=jq.data("textbox")?jq.textbox("options"):{};
|
||||
return $.extend($.data(jq[0],"numberbox").options,{width:_11.width,originalValue:_11.originalValue,disabled:_11.disabled,readonly:_11.readonly});
|
||||
},fix:function(jq){
|
||||
return jq.each(function(){
|
||||
var _12=$(this).numberbox("options");
|
||||
_12.value=null;
|
||||
var _13=_12.parser.call(this,$(this).numberbox("getText"));
|
||||
$(this).numberbox("setValue",_13);
|
||||
});
|
||||
},setValue:function(jq,_14){
|
||||
return jq.each(function(){
|
||||
_7(this,_14);
|
||||
});
|
||||
},clear:function(jq){
|
||||
return jq.each(function(){
|
||||
$(this).textbox("clear");
|
||||
$(this).numberbox("options").value="";
|
||||
});
|
||||
},reset:function(jq){
|
||||
return jq.each(function(){
|
||||
$(this).textbox("reset");
|
||||
$(this).numberbox("setValue",$(this).numberbox("getValue"));
|
||||
});
|
||||
}};
|
||||
$.fn.numberbox.parseOptions=function(_15){
|
||||
var t=$(_15);
|
||||
return $.extend({},$.fn.textbox.parseOptions(_15),$.parser.parseOptions(_15,["decimalSeparator","groupSeparator","suffix",{min:"number",max:"number",precision:"number"}]),{prefix:(t.attr("prefix")?t.attr("prefix"):undefined)});
|
||||
};
|
||||
$.fn.numberbox.defaults=$.extend({},$.fn.textbox.defaults,{inputEvents:{keypress:function(e){
|
||||
var _16=e.data.target;
|
||||
var _17=$(_16).numberbox("options");
|
||||
return _17.filter.call(_16,e);
|
||||
},blur:function(e){
|
||||
$(e.data.target).numberbox("fix");
|
||||
},keydown:function(e){
|
||||
if(e.keyCode==13){
|
||||
$(e.data.target).numberbox("fix");
|
||||
}
|
||||
}},min:null,max:null,precision:0,decimalSeparator:".",groupSeparator:"",prefix:"",suffix:"",filter:function(e){
|
||||
var _18=$(this).numberbox("options");
|
||||
var s=$(this).numberbox("getText");
|
||||
if(e.metaKey||e.ctrlKey){
|
||||
return true;
|
||||
}
|
||||
if($.inArray(String(e.which),["46","8","13","0"])>=0){
|
||||
return true;
|
||||
}
|
||||
var tmp=$("<span></span>");
|
||||
tmp.html(String.fromCharCode(e.which));
|
||||
var c=tmp.text();
|
||||
tmp.remove();
|
||||
if(!c){
|
||||
return true;
|
||||
}
|
||||
if(c=="-"||c==_18.decimalSeparator){
|
||||
return (s.indexOf(c)==-1)?true:false;
|
||||
}else{
|
||||
if(c==_18.groupSeparator){
|
||||
return true;
|
||||
}else{
|
||||
if("0123456789".indexOf(c)>=0){
|
||||
return true;
|
||||
}else{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
},formatter:function(_19){
|
||||
if(!_19){
|
||||
return _19;
|
||||
}
|
||||
_19=_19+"";
|
||||
var _1a=$(this).numberbox("options");
|
||||
var s1=_19,s2="";
|
||||
var _1b=_19.indexOf(".");
|
||||
if(_1b>=0){
|
||||
s1=_19.substring(0,_1b);
|
||||
s2=_19.substring(_1b+1,_19.length);
|
||||
}
|
||||
if(_1a.groupSeparator){
|
||||
var p=/(\d+)(\d{3})/;
|
||||
while(p.test(s1)){
|
||||
s1=s1.replace(p,"$1"+_1a.groupSeparator+"$2");
|
||||
}
|
||||
}
|
||||
if(s2){
|
||||
return _1a.prefix+s1+_1a.decimalSeparator+s2+_1a.suffix;
|
||||
}else{
|
||||
return _1a.prefix+s1+_1a.suffix;
|
||||
}
|
||||
},parser:function(s){
|
||||
s=s+"";
|
||||
var _1c=$(this).numberbox("options");
|
||||
if(_1c.prefix){
|
||||
s=$.trim(s.replace(new RegExp("\\"+$.trim(_1c.prefix),"g"),""));
|
||||
}
|
||||
if(_1c.suffix){
|
||||
s=$.trim(s.replace(new RegExp("\\"+$.trim(_1c.suffix),"g"),""));
|
||||
}
|
||||
if(parseFloat(s)!=_1c.value){
|
||||
if(_1c.groupSeparator){
|
||||
s=$.trim(s.replace(new RegExp("\\"+_1c.groupSeparator,"g"),""));
|
||||
}
|
||||
if(_1c.decimalSeparator){
|
||||
s=$.trim(s.replace(new RegExp("\\"+_1c.decimalSeparator,"g"),"."));
|
||||
}
|
||||
s=s.replace(/\s/g,"");
|
||||
}
|
||||
var val=parseFloat(s).toFixed(_1c.precision);
|
||||
if(isNaN(val)){
|
||||
val="";
|
||||
}else{
|
||||
if(typeof (_1c.min)=="number"&&val<_1c.min){
|
||||
val=_1c.min.toFixed(_1c.precision);
|
||||
}else{
|
||||
if(typeof (_1c.max)=="number"&&val>_1c.max){
|
||||
val=_1c.max.toFixed(_1c.precision);
|
||||
}
|
||||
}
|
||||
}
|
||||
return val;
|
||||
}});
|
||||
})(jQuery);
|
||||
|
||||
Reference in New Issue
Block a user