jquery.timespinner.js 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
  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. function _1(_2){
  12. var _3=$.data(_2,"timespinner").options;
  13. $(_2).addClass("timespinner-f").spinner(_3);
  14. var _4=_3.formatter.call(_2,_3.parser.call(_2,_3.value));
  15. $(_2).timespinner("initValue",_4);
  16. };
  17. function _5(e){
  18. var _6=e.data.target;
  19. var _7=$.data(_6,"timespinner").options;
  20. var _8=$(_6).timespinner("getSelectionStart");
  21. for(var i=0;i<_7.selections.length;i++){
  22. var _9=_7.selections[i];
  23. if(_8>=_9[0]&&_8<=_9[1]){
  24. _a(_6,i);
  25. return;
  26. }
  27. }
  28. };
  29. function _a(_b,_c){
  30. var _d=$.data(_b,"timespinner").options;
  31. if(_c!=undefined){
  32. _d.highlight=_c;
  33. }
  34. var _e=_d.selections[_d.highlight];
  35. if(_e){
  36. var tb=$(_b).timespinner("textbox");
  37. $(_b).timespinner("setSelectionRange",{start:_e[0],end:_e[1]});
  38. tb.focus();
  39. }
  40. };
  41. function _f(_10,_11){
  42. var _12=$.data(_10,"timespinner").options;
  43. var _11=_12.parser.call(_10,_11);
  44. var _13=_12.formatter.call(_10,_11);
  45. $(_10).spinner("setValue",_13);
  46. };
  47. function _14(_15,_16){
  48. var _17=$.data(_15,"timespinner").options;
  49. var s=$(_15).timespinner("getValue");
  50. var _18=_17.selections[_17.highlight];
  51. var s1=s.substring(0,_18[0]);
  52. var s2=s.substring(_18[0],_18[1]);
  53. var s3=s.substring(_18[1]);
  54. var v=s1+((parseInt(s2,10)||0)+_17.increment*(_16?-1:1))+s3;
  55. $(_15).timespinner("setValue",v);
  56. _a(_15);
  57. };
  58. $.fn.timespinner=function(_19,_1a){
  59. if(typeof _19=="string"){
  60. var _1b=$.fn.timespinner.methods[_19];
  61. if(_1b){
  62. return _1b(this,_1a);
  63. }else{
  64. return this.spinner(_19,_1a);
  65. }
  66. }
  67. _19=_19||{};
  68. return this.each(function(){
  69. var _1c=$.data(this,"timespinner");
  70. if(_1c){
  71. $.extend(_1c.options,_19);
  72. }else{
  73. $.data(this,"timespinner",{options:$.extend({},$.fn.timespinner.defaults,$.fn.timespinner.parseOptions(this),_19)});
  74. }
  75. _1(this);
  76. });
  77. };
  78. $.fn.timespinner.methods={options:function(jq){
  79. var _1d=jq.data("spinner")?jq.spinner("options"):{};
  80. return $.extend($.data(jq[0],"timespinner").options,{width:_1d.width,value:_1d.value,originalValue:_1d.originalValue,disabled:_1d.disabled,readonly:_1d.readonly});
  81. },setValue:function(jq,_1e){
  82. return jq.each(function(){
  83. _f(this,_1e);
  84. });
  85. },getHours:function(jq){
  86. var _1f=$.data(jq[0],"timespinner").options;
  87. var _20=_1f.parser.call(jq[0],jq.timespinner("getValue"));
  88. return _20?_20.getHours():null;
  89. },getMinutes:function(jq){
  90. var _21=$.data(jq[0],"timespinner").options;
  91. var _22=_21.parser.call(jq[0],jq.timespinner("getValue"));
  92. return _22?_22.getMinutes():null;
  93. },getSeconds:function(jq){
  94. var _23=$.data(jq[0],"timespinner").options;
  95. var _24=_23.parser.call(jq[0],jq.timespinner("getValue"));
  96. return _24?_24.getSeconds():null;
  97. }};
  98. $.fn.timespinner.parseOptions=function(_25){
  99. return $.extend({},$.fn.spinner.parseOptions(_25),$.parser.parseOptions(_25,["separator",{showSeconds:"boolean",highlight:"number"}]));
  100. };
  101. $.fn.timespinner.defaults=$.extend({},$.fn.spinner.defaults,{inputEvents:$.extend({},$.fn.spinner.defaults.inputEvents,{click:function(e){
  102. _5.call(this,e);
  103. },blur:function(e){
  104. var t=$(e.data.target);
  105. t.timespinner("setValue",t.timespinner("getText"));
  106. },keydown:function(e){
  107. if(e.keyCode==13){
  108. var t=$(e.data.target);
  109. t.timespinner("setValue",t.timespinner("getText"));
  110. }
  111. }}),formatter:function(_26){
  112. if(!_26){
  113. return "";
  114. }
  115. var _27=$(this).timespinner("options");
  116. var tt=[_28(_26.getHours()),_28(_26.getMinutes())];
  117. if(_27.showSeconds){
  118. tt.push(_28(_26.getSeconds()));
  119. }
  120. return tt.join(_27.separator);
  121. function _28(_29){
  122. return (_29<10?"0":"")+_29;
  123. };
  124. },parser:function(s){
  125. var _2a=$(this).timespinner("options");
  126. var _2b=_2c(s);
  127. if(_2b){
  128. var min=_2c(_2a.min);
  129. var max=_2c(_2a.max);
  130. if(min&&min>_2b){
  131. _2b=min;
  132. }
  133. if(max&&max<_2b){
  134. _2b=max;
  135. }
  136. }
  137. return _2b;
  138. function _2c(s){
  139. if(!s){
  140. return null;
  141. }
  142. var tt=s.split(_2a.separator);
  143. return new Date(1900,0,0,parseInt(tt[0],10)||0,parseInt(tt[1],10)||0,parseInt(tt[2],10)||0);
  144. };
  145. },selections:[[0,2],[3,5],[6,8]],separator:":",showSeconds:false,highlight:0,spin:function(_2d){
  146. _14(this,_2d);
  147. }});
  148. })(jQuery);