jquery.parser.js 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389
  1. /**
  2. * EasyUI for jQuery 1.6.10
  3. *
  4. * Copyright (c) 2009-2018 www.jeasyui.com. All rights reserved.
  5. *
  6. * Licensed under the freeware license: http://www.jeasyui.com/license_freeware.php
  7. * To use it on other terms please contact us: info@jeasyui.com
  8. *
  9. */
  10. (function($){
  11. $.easyui={indexOfArray:function(a,o,id){
  12. for(var i=0,_1=a.length;i<_1;i++){
  13. if(id==undefined){
  14. if(a[i]==o){
  15. return i;
  16. }
  17. }else{
  18. if(a[i][o]==id){
  19. return i;
  20. }
  21. }
  22. }
  23. return -1;
  24. },removeArrayItem:function(a,o,id){
  25. if(typeof o=="string"){
  26. for(var i=0,_2=a.length;i<_2;i++){
  27. if(a[i][o]==id){
  28. a.splice(i,1);
  29. return;
  30. }
  31. }
  32. }else{
  33. var _3=this.indexOfArray(a,o);
  34. if(_3!=-1){
  35. a.splice(_3,1);
  36. }
  37. }
  38. },addArrayItem:function(a,o,r){
  39. var _4=this.indexOfArray(a,o,r?r[o]:undefined);
  40. if(_4==-1){
  41. a.push(r?r:o);
  42. }else{
  43. a[_4]=r?r:o;
  44. }
  45. },getArrayItem:function(a,o,id){
  46. var _5=this.indexOfArray(a,o,id);
  47. return _5==-1?null:a[_5];
  48. },forEach:function(_6,_7,_8){
  49. var _9=[];
  50. for(var i=0;i<_6.length;i++){
  51. _9.push(_6[i]);
  52. }
  53. while(_9.length){
  54. var _a=_9.shift();
  55. if(_8(_a)==false){
  56. return;
  57. }
  58. if(_7&&_a.children){
  59. for(var i=_a.children.length-1;i>=0;i--){
  60. _9.unshift(_a.children[i]);
  61. }
  62. }
  63. }
  64. }};
  65. $.parser={auto:true,emptyFn:function(){
  66. },onComplete:function(_b){
  67. },plugins:["draggable","droppable","resizable","pagination","tooltip","linkbutton","menu","sidemenu","menubutton","splitbutton","switchbutton","progressbar","radiobutton","checkbox","tree","textbox","passwordbox","maskedbox","filebox","combo","combobox","combotree","combogrid","combotreegrid","tagbox","numberbox","validatebox","searchbox","spinner","numberspinner","timespinner","datetimespinner","calendar","datebox","datetimebox","slider","layout","panel","datagrid","propertygrid","treegrid","datalist","tabs","accordion","window","dialog","form"],parse:function(_c){
  68. var aa=[];
  69. for(var i=0;i<$.parser.plugins.length;i++){
  70. var _d=$.parser.plugins[i];
  71. var r=$(".easyui-"+_d,_c);
  72. if(r.length){
  73. if(r[_d]){
  74. r.each(function(){
  75. $(this)[_d]($.data(this,"options")||{});
  76. });
  77. }else{
  78. aa.push({name:_d,jq:r});
  79. }
  80. }
  81. }
  82. if(aa.length&&window.easyloader){
  83. var _e=[];
  84. for(var i=0;i<aa.length;i++){
  85. _e.push(aa[i].name);
  86. }
  87. easyloader.load(_e,function(){
  88. for(var i=0;i<aa.length;i++){
  89. var _f=aa[i].name;
  90. var jq=aa[i].jq;
  91. jq.each(function(){
  92. $(this)[_f]($.data(this,"options")||{});
  93. });
  94. }
  95. $.parser.onComplete.call($.parser,_c);
  96. });
  97. }else{
  98. $.parser.onComplete.call($.parser,_c);
  99. }
  100. },parseValue:function(_10,_11,_12,_13){
  101. _13=_13||0;
  102. var v=$.trim(String(_11||""));
  103. var _14=v.substr(v.length-1,1);
  104. if(_14=="%"){
  105. v=parseFloat(v.substr(0,v.length-1));
  106. if(_10.toLowerCase().indexOf("width")>=0){
  107. _13+=_12[0].offsetWidth-_12[0].clientWidth;
  108. v=Math.floor((_12.width()-_13)*v/100);
  109. }else{
  110. _13+=_12[0].offsetHeight-_12[0].clientHeight;
  111. v=Math.floor((_12.height()-_13)*v/100);
  112. }
  113. }else{
  114. v=parseInt(v)||undefined;
  115. }
  116. return v;
  117. },parseOptions:function(_15,_16){
  118. var t=$(_15);
  119. var _17={};
  120. var s=$.trim(t.attr("data-options"));
  121. if(s){
  122. if(s.substring(0,1)!="{"){
  123. s="{"+s+"}";
  124. }
  125. _17=(new Function("return "+s))();
  126. }
  127. $.map(["width","height","left","top","minWidth","maxWidth","minHeight","maxHeight"],function(p){
  128. var pv=$.trim(_15.style[p]||"");
  129. if(pv){
  130. if(pv.indexOf("%")==-1){
  131. pv=parseInt(pv);
  132. if(isNaN(pv)){
  133. pv=undefined;
  134. }
  135. }
  136. _17[p]=pv;
  137. }
  138. });
  139. if(_16){
  140. var _18={};
  141. for(var i=0;i<_16.length;i++){
  142. var pp=_16[i];
  143. if(typeof pp=="string"){
  144. _18[pp]=t.attr(pp);
  145. }else{
  146. for(var _19 in pp){
  147. var _1a=pp[_19];
  148. if(_1a=="boolean"){
  149. _18[_19]=t.attr(_19)?(t.attr(_19)=="true"):undefined;
  150. }else{
  151. if(_1a=="number"){
  152. _18[_19]=t.attr(_19)=="0"?0:parseFloat(t.attr(_19))||undefined;
  153. }
  154. }
  155. }
  156. }
  157. }
  158. $.extend(_17,_18);
  159. }
  160. return _17;
  161. }};
  162. $(function(){
  163. var d=$("<div style=\"position:absolute;top:-1000px;width:100px;height:100px;padding:5px\"></div>").appendTo("body");
  164. $._boxModel=d.outerWidth()!=100;
  165. d.remove();
  166. d=$("<div style=\"position:fixed\"></div>").appendTo("body");
  167. $._positionFixed=(d.css("position")=="fixed");
  168. d.remove();
  169. if(!window.easyloader&&$.parser.auto){
  170. $.parser.parse();
  171. }
  172. });
  173. $.fn._outerWidth=function(_1b){
  174. if(_1b==undefined){
  175. if(this[0]==window){
  176. return this.width()||document.body.clientWidth;
  177. }
  178. return this.outerWidth()||0;
  179. }
  180. return this._size("width",_1b);
  181. };
  182. $.fn._outerHeight=function(_1c){
  183. if(_1c==undefined){
  184. if(this[0]==window){
  185. return this.height()||document.body.clientHeight;
  186. }
  187. return this.outerHeight()||0;
  188. }
  189. return this._size("height",_1c);
  190. };
  191. $.fn._scrollLeft=function(_1d){
  192. if(_1d==undefined){
  193. return this.scrollLeft();
  194. }else{
  195. return this.each(function(){
  196. $(this).scrollLeft(_1d);
  197. });
  198. }
  199. };
  200. $.fn._propAttr=$.fn.prop||$.fn.attr;
  201. $.fn._size=function(_1e,_1f){
  202. if(typeof _1e=="string"){
  203. if(_1e=="clear"){
  204. return this.each(function(){
  205. $(this).css({width:"",minWidth:"",maxWidth:"",height:"",minHeight:"",maxHeight:""});
  206. });
  207. }else{
  208. if(_1e=="fit"){
  209. return this.each(function(){
  210. _20(this,this.tagName=="BODY"?$("body"):$(this).parent(),true);
  211. });
  212. }else{
  213. if(_1e=="unfit"){
  214. return this.each(function(){
  215. _20(this,$(this).parent(),false);
  216. });
  217. }else{
  218. if(_1f==undefined){
  219. return _21(this[0],_1e);
  220. }else{
  221. return this.each(function(){
  222. _21(this,_1e,_1f);
  223. });
  224. }
  225. }
  226. }
  227. }
  228. }else{
  229. return this.each(function(){
  230. _1f=_1f||$(this).parent();
  231. $.extend(_1e,_20(this,_1f,_1e.fit)||{});
  232. var r1=_22(this,"width",_1f,_1e);
  233. var r2=_22(this,"height",_1f,_1e);
  234. if(r1||r2){
  235. $(this).addClass("easyui-fluid");
  236. }else{
  237. $(this).removeClass("easyui-fluid");
  238. }
  239. });
  240. }
  241. function _20(_23,_24,fit){
  242. if(!_24.length){
  243. return false;
  244. }
  245. var t=$(_23)[0];
  246. var p=_24[0];
  247. var _25=p.fcount||0;
  248. if(fit){
  249. if(!t.fitted){
  250. t.fitted=true;
  251. p.fcount=_25+1;
  252. $(p).addClass("panel-noscroll");
  253. if(p.tagName=="BODY"){
  254. $("html").addClass("panel-fit");
  255. }
  256. }
  257. return {width:($(p).width()||1),height:($(p).height()||1)};
  258. }else{
  259. if(t.fitted){
  260. t.fitted=false;
  261. p.fcount=_25-1;
  262. if(p.fcount==0){
  263. $(p).removeClass("panel-noscroll");
  264. if(p.tagName=="BODY"){
  265. $("html").removeClass("panel-fit");
  266. }
  267. }
  268. }
  269. return false;
  270. }
  271. };
  272. function _22(_26,_27,_28,_29){
  273. var t=$(_26);
  274. var p=_27;
  275. var p1=p.substr(0,1).toUpperCase()+p.substr(1);
  276. var min=$.parser.parseValue("min"+p1,_29["min"+p1],_28);
  277. var max=$.parser.parseValue("max"+p1,_29["max"+p1],_28);
  278. var val=$.parser.parseValue(p,_29[p],_28);
  279. var _2a=(String(_29[p]||"").indexOf("%")>=0?true:false);
  280. if(!isNaN(val)){
  281. var v=Math.min(Math.max(val,min||0),max||99999);
  282. if(!_2a){
  283. _29[p]=v;
  284. }
  285. t._size("min"+p1,"");
  286. t._size("max"+p1,"");
  287. t._size(p,v);
  288. }else{
  289. t._size(p,"");
  290. t._size("min"+p1,min);
  291. t._size("max"+p1,max);
  292. }
  293. return _2a||_29.fit;
  294. };
  295. function _21(_2b,_2c,_2d){
  296. var t=$(_2b);
  297. if(_2d==undefined){
  298. _2d=parseInt(_2b.style[_2c]);
  299. if(isNaN(_2d)){
  300. return undefined;
  301. }
  302. if($._boxModel){
  303. _2d+=_2e();
  304. }
  305. return _2d;
  306. }else{
  307. if(_2d===""){
  308. t.css(_2c,"");
  309. }else{
  310. if($._boxModel){
  311. _2d-=_2e();
  312. if(_2d<0){
  313. _2d=0;
  314. }
  315. }
  316. t.css(_2c,_2d+"px");
  317. }
  318. }
  319. function _2e(){
  320. if(_2c.toLowerCase().indexOf("width")>=0){
  321. return t.outerWidth()-t.width();
  322. }else{
  323. return t.outerHeight()-t.height();
  324. }
  325. };
  326. };
  327. };
  328. })(jQuery);
  329. (function($){
  330. var _2f=null;
  331. var _30=null;
  332. var _31=false;
  333. function _32(e){
  334. if(e.touches.length!=1){
  335. return;
  336. }
  337. if(!_31){
  338. _31=true;
  339. dblClickTimer=setTimeout(function(){
  340. _31=false;
  341. },500);
  342. }else{
  343. clearTimeout(dblClickTimer);
  344. _31=false;
  345. _33(e,"dblclick");
  346. }
  347. _2f=setTimeout(function(){
  348. _33(e,"contextmenu",3);
  349. },1000);
  350. _33(e,"mousedown");
  351. if($.fn.draggable.isDragging||$.fn.resizable.isResizing){
  352. e.preventDefault();
  353. }
  354. };
  355. function _34(e){
  356. if(e.touches.length!=1){
  357. return;
  358. }
  359. if(_2f){
  360. clearTimeout(_2f);
  361. }
  362. _33(e,"mousemove");
  363. if($.fn.draggable.isDragging||$.fn.resizable.isResizing){
  364. e.preventDefault();
  365. }
  366. };
  367. function _35(e){
  368. if(_2f){
  369. clearTimeout(_2f);
  370. }
  371. _33(e,"mouseup");
  372. if($.fn.draggable.isDragging||$.fn.resizable.isResizing){
  373. e.preventDefault();
  374. }
  375. };
  376. function _33(e,_36,_37){
  377. var _38=new $.Event(_36);
  378. _38.pageX=e.changedTouches[0].pageX;
  379. _38.pageY=e.changedTouches[0].pageY;
  380. _38.which=_37||1;
  381. $(e.target).trigger(_38);
  382. };
  383. if(document.addEventListener){
  384. document.addEventListener("touchstart",_32,true);
  385. document.addEventListener("touchmove",_34,true);
  386. document.addEventListener("touchend",_35,true);
  387. }
  388. })(jQuery);