Version zu Ende April 2023
This commit is contained in:
164
static/jeasyui/plugins/jquery.passwordbox.js
Normal file
164
static/jeasyui/plugins/jquery.passwordbox.js
Normal file
@@ -0,0 +1,164 @@
|
||||
/**
|
||||
* EasyUI for jQuery 1.9.14
|
||||
*
|
||||
* Copyright (c) 2009-2021 www.jeasyui.com. All rights reserved.
|
||||
*
|
||||
* Licensed under the freeware license: http://www.jeasyui.com/license_freeware.php
|
||||
* To use it on other terms please contact us: info@jeasyui.com
|
||||
*
|
||||
*/
|
||||
(function($){
|
||||
function _1(_2){
|
||||
var _3=$.data(_2,"passwordbox");
|
||||
var _4=_3.options;
|
||||
var _5=$.extend(true,[],_4.icons);
|
||||
if(_4.showEye){
|
||||
_5.push({iconCls:"passwordbox-open",handler:function(e){
|
||||
_4.revealed=!_4.revealed;
|
||||
_6(_2);
|
||||
}});
|
||||
}
|
||||
$(_2).addClass("passwordbox-f").textbox($.extend({},_4,{icons:_5}));
|
||||
_6(_2);
|
||||
};
|
||||
function _7(_8,_9,_a){
|
||||
var _b=$(_8).data("passwordbox");
|
||||
var t=$(_8);
|
||||
var _c=t.passwordbox("options");
|
||||
if(_c.revealed){
|
||||
t.textbox("setValue",_9);
|
||||
return;
|
||||
}
|
||||
_b.converting=true;
|
||||
var _d=unescape(_c.passwordChar);
|
||||
var cc=_9.split("");
|
||||
var vv=t.passwordbox("getValue").split("");
|
||||
for(var i=0;i<cc.length;i++){
|
||||
var c=cc[i];
|
||||
if(c!=vv[i]){
|
||||
if(c!=_d){
|
||||
vv.splice(i,0,c);
|
||||
}
|
||||
}
|
||||
}
|
||||
var _e=t.passwordbox("getSelectionStart");
|
||||
if(cc.length<vv.length){
|
||||
vv.splice(_e,vv.length-cc.length,"");
|
||||
}
|
||||
for(var i=0;i<cc.length;i++){
|
||||
if(_a||i!=_e-1){
|
||||
cc[i]=_d;
|
||||
}
|
||||
}
|
||||
t.textbox("setValue",vv.join(""));
|
||||
t.textbox("setText",cc.join(""));
|
||||
t.textbox("setSelectionRange",{start:_e,end:_e});
|
||||
setTimeout(function(){
|
||||
_b.converting=false;
|
||||
},0);
|
||||
};
|
||||
function _6(_f,_10){
|
||||
var t=$(_f);
|
||||
var _11=t.passwordbox("options");
|
||||
var _12=t.next().find(".passwordbox-open");
|
||||
var _13=unescape(_11.passwordChar);
|
||||
_10=_10==undefined?t.textbox("getValue"):_10;
|
||||
t.textbox("setValue",_10);
|
||||
t.textbox("setText",_11.revealed?_10:_10.replace(/./ig,_13));
|
||||
_11.revealed?_12.addClass("passwordbox-close"):_12.removeClass("passwordbox-close");
|
||||
};
|
||||
function _14(e){
|
||||
var _15=e.data.target;
|
||||
var t=$(e.data.target);
|
||||
var _16=t.data("passwordbox");
|
||||
var _17=t.data("passwordbox").options;
|
||||
_16.checking=true;
|
||||
_16.value=t.passwordbox("getText");
|
||||
(function(){
|
||||
if(_16.checking){
|
||||
var _18=t.passwordbox("getText");
|
||||
if(_16.value!=_18){
|
||||
_16.value=_18;
|
||||
if(_16.lastTimer){
|
||||
clearTimeout(_16.lastTimer);
|
||||
_16.lastTimer=undefined;
|
||||
}
|
||||
_7(_15,_18);
|
||||
_16.lastTimer=setTimeout(function(){
|
||||
_7(_15,t.passwordbox("getText"),true);
|
||||
_16.lastTimer=undefined;
|
||||
},_17.lastDelay);
|
||||
}
|
||||
setTimeout(arguments.callee,_17.checkInterval);
|
||||
}
|
||||
})();
|
||||
};
|
||||
function _19(e){
|
||||
var _1a=e.data.target;
|
||||
var _1b=$(_1a).data("passwordbox");
|
||||
_1b.checking=false;
|
||||
if(_1b.lastTimer){
|
||||
clearTimeout(_1b.lastTimer);
|
||||
_1b.lastTimer=undefined;
|
||||
}
|
||||
_6(_1a);
|
||||
};
|
||||
$.fn.passwordbox=function(_1c,_1d){
|
||||
if(typeof _1c=="string"){
|
||||
var _1e=$.fn.passwordbox.methods[_1c];
|
||||
if(_1e){
|
||||
return _1e(this,_1d);
|
||||
}else{
|
||||
return this.textbox(_1c,_1d);
|
||||
}
|
||||
}
|
||||
_1c=_1c||{};
|
||||
return this.each(function(){
|
||||
var _1f=$.data(this,"passwordbox");
|
||||
if(_1f){
|
||||
$.extend(_1f.options,_1c);
|
||||
}else{
|
||||
_1f=$.data(this,"passwordbox",{options:$.extend({},$.fn.passwordbox.defaults,$.fn.passwordbox.parseOptions(this),_1c)});
|
||||
}
|
||||
_1(this);
|
||||
});
|
||||
};
|
||||
$.fn.passwordbox.methods={options:function(jq){
|
||||
return $.data(jq[0],"passwordbox").options;
|
||||
},setValue:function(jq,_20){
|
||||
return jq.each(function(){
|
||||
_6(this,_20);
|
||||
});
|
||||
},clear:function(jq){
|
||||
return jq.each(function(){
|
||||
_6(this,"");
|
||||
});
|
||||
},reset:function(jq){
|
||||
return jq.each(function(){
|
||||
$(this).textbox("reset");
|
||||
_6(this);
|
||||
});
|
||||
},showPassword:function(jq){
|
||||
return jq.each(function(){
|
||||
var _21=$(this).passwordbox("options");
|
||||
_21.revealed=true;
|
||||
_6(this);
|
||||
});
|
||||
},hidePassword:function(jq){
|
||||
return jq.each(function(){
|
||||
var _22=$(this).passwordbox("options");
|
||||
_22.revealed=false;
|
||||
_6(this);
|
||||
});
|
||||
}};
|
||||
$.fn.passwordbox.parseOptions=function(_23){
|
||||
return $.extend({},$.fn.textbox.parseOptions(_23),$.parser.parseOptions(_23,["passwordChar",{checkInterval:"number",lastDelay:"number",revealed:"boolean",showEye:"boolean"}]));
|
||||
};
|
||||
$.fn.passwordbox.defaults=$.extend({},$.fn.textbox.defaults,{passwordChar:"%u25CF",checkInterval:200,lastDelay:500,revealed:false,showEye:true,inputEvents:{focus:_14,blur:_19,keydown:function(e){
|
||||
var _24=$(e.data.target).data("passwordbox");
|
||||
return !_24.converting;
|
||||
}},val:function(_25){
|
||||
return $(_25).parent().prev().passwordbox("getValue");
|
||||
}});
|
||||
})(jQuery);
|
||||
|
||||
Reference in New Issue
Block a user