jquery.parser.js 6.5 KB

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