compass-jquery-plugin 0.3.2.3 → 0.3.2.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (235) hide show
  1. data/README.md +54 -37
  2. data/VERSION.yml +1 -1
  3. data/lib/handle_attributes.rb +4 -4
  4. data/lib/handle_js_files.rb +5 -5
  5. data/lib/jqtouch_theme.rb +2 -2
  6. data/lib/jquery/dynatree.rb +2 -2
  7. data/lib/jquery/emulators.rb +1 -1
  8. data/lib/jquery/flash_messages.rb +6 -6
  9. data/lib/jquery/graphics.rb +5 -0
  10. data/lib/jquery/gridify/assertions.rb +1 -1
  11. data/lib/jquery/gridify/grid.rb +76 -59
  12. data/lib/jquery/gridify/grid_column.rb +73 -67
  13. data/lib/jquery/gridify/grid_finder.rb +79 -79
  14. data/lib/jquery/gridify/grid_options.rb +154 -149
  15. data/lib/jquery/gridify/grid_view.rb +143 -143
  16. data/lib/jquery/gridify.rb +25 -25
  17. data/lib/jquery/ical/calendar.rb +2 -2
  18. data/lib/jquery/ical/event.rb +48 -44
  19. data/lib/jquery/ical/helpers/ui_event_helper.rb +3 -3
  20. data/lib/jquery/jqgrid/jqgrid.rb +58 -58
  21. data/lib/jquery/jqgrid.rb +1 -1
  22. data/lib/jquery/jqtouch.rb +1 -1
  23. data/lib/jquery/jquery.rb +117 -117
  24. data/lib/jquery/jquery_auto_complete.rb +9 -9
  25. data/lib/jquery/jquery_json_response.rb +12 -12
  26. data/lib/jquery/jquery_selector_assertions.rb +55 -53
  27. data/lib/jquery/jstree.rb +2 -2
  28. data/lib/jquery/mobile.rb +1 -1
  29. data/lib/jquery/ribbon.rb +2 -2
  30. data/lib/jquery/secret_sauce/controller/ui_dialog_controls.rb +5 -5
  31. data/lib/jquery/secret_sauce/controller/ui_grid_controls.rb +5 -5
  32. data/lib/jquery/secret_sauce/helpers/ui_dialog_helper.rb +1 -1
  33. data/lib/jquery/secret_sauce/helpers/ui_form_helper.rb +39 -39
  34. data/lib/jquery/secret_sauce/helpers/ui_grid_helper.rb +74 -74
  35. data/lib/jquery/secret_sauce/model/find_for_grid.rb +21 -21
  36. data/lib/jquery/secret_sauce.rb +1 -1
  37. data/lib/jquery/tools.rb +1 -1
  38. data/lib/jquery_mobile_theme.rb +2 -2
  39. data/lib/jquery_ui_theme.rb +12 -12
  40. data/templates/dynatree/config/initializers/dynatree.rb +3 -3
  41. data/templates/dynatree/jquery/dynatree/aero.scss +16 -16
  42. data/templates/dynatree/jquery/dynatree/aqua.scss +16 -16
  43. data/templates/dynatree/jquery/dynatree/crystal.scss +16 -16
  44. data/templates/dynatree/jquery/dynatree/xp.scss +17 -17
  45. data/templates/dynatree/jquery.dynatree.js +2926 -2912
  46. data/templates/emulators/config/initializers/emulators.rb +6 -6
  47. data/templates/graphics/config/initializers/graphics.rb +5 -0
  48. data/templates/graphics/jquery/ganttView.scss +89 -0
  49. data/templates/graphics/jquery.ganttView.js +1669 -0
  50. data/templates/graphics/jquery.ganttView.min.js +70 -0
  51. data/templates/{jquery → graphics}/jquery.sparkline.js +466 -438
  52. data/templates/{jquery → graphics}/jquery.sparkline.min.js +0 -0
  53. data/templates/graphics/manifest.rb +9 -0
  54. data/templates/jqgrid/config/initializers/jqgrid.rb +1 -1
  55. data/templates/jqgrid/i18n/jqgrid/locale-ar.js +131 -125
  56. data/templates/jqgrid/i18n/jqgrid/locale-bg.js +135 -131
  57. data/templates/jqgrid/i18n/jqgrid/locale-bg1251.js +135 -131
  58. data/templates/jqgrid/i18n/jqgrid/locale-cat.js +132 -126
  59. data/templates/jqgrid/i18n/jqgrid/locale-cn.js +137 -131
  60. data/templates/jqgrid/i18n/jqgrid/locale-cs.js +133 -127
  61. data/templates/jqgrid/i18n/jqgrid/locale-da.js +132 -126
  62. data/templates/jqgrid/i18n/jqgrid/locale-de.js +138 -132
  63. data/templates/jqgrid/i18n/jqgrid/locale-el.js +131 -125
  64. data/templates/jqgrid/i18n/jqgrid/locale-en.js +133 -127
  65. data/templates/jqgrid/i18n/jqgrid/locale-es.js +133 -127
  66. data/templates/jqgrid/i18n/jqgrid/locale-fa.js +19 -16
  67. data/templates/jqgrid/i18n/jqgrid/locale-fi.js +132 -126
  68. data/templates/jqgrid/i18n/jqgrid/locale-fr.js +131 -125
  69. data/templates/jqgrid/i18n/jqgrid/locale-gl.js +131 -125
  70. data/templates/jqgrid/i18n/jqgrid/locale-he.js +132 -126
  71. data/templates/jqgrid/i18n/jqgrid/locale-hu.js +133 -127
  72. data/templates/jqgrid/i18n/jqgrid/locale-is.js +131 -125
  73. data/templates/jqgrid/i18n/jqgrid/locale-it.js +8 -1
  74. data/templates/jqgrid/i18n/jqgrid/locale-ja.js +139 -136
  75. data/templates/jqgrid/i18n/jqgrid/locale-nl.js +4 -1
  76. data/templates/jqgrid/i18n/jqgrid/locale-no.js +14 -1
  77. data/templates/jqgrid/i18n/jqgrid/locale-pl.js +132 -126
  78. data/templates/jqgrid/i18n/jqgrid/locale-pt-br.js +132 -126
  79. data/templates/jqgrid/i18n/jqgrid/locale-pt.js +130 -124
  80. data/templates/jqgrid/i18n/jqgrid/locale-ro.js +144 -138
  81. data/templates/jqgrid/i18n/jqgrid/locale-ru.js +132 -126
  82. data/templates/jqgrid/i18n/jqgrid/locale-sk.js +132 -126
  83. data/templates/jqgrid/i18n/jqgrid/locale-sr.js +133 -127
  84. data/templates/jqgrid/i18n/jqgrid/locale-sv.js +132 -126
  85. data/templates/jqgrid/i18n/jqgrid/locale-tr.js +131 -125
  86. data/templates/jqgrid/i18n/jqgrid/locale-ua.js +132 -126
  87. data/templates/jqgrid/jquery.jqGrid.js +12735 -10444
  88. data/templates/jqgrid/jquery.jqGrid.min.js +477 -469
  89. data/templates/jqgrid/public/stylesheets/ellipsis-xbl.xml +12 -10
  90. data/templates/jqtouch/config/initializers/jqtouch.rb +3 -3
  91. data/templates/jqtouch/jquery/touch/jqtouch.scss +1 -1
  92. data/templates/jqtouch/jquery.jqtouch.js +10025 -10043
  93. data/templates/jquery/config/initializers/jquery.rb +2 -4
  94. data/templates/jquery/history.adapter.jquery.js +71 -0
  95. data/templates/jquery/history.adapter.jquery.min.js +4 -0
  96. data/templates/jquery/history.html4.js +690 -0
  97. data/templates/jquery/history.html4.min.js +21 -0
  98. data/templates/jquery/history.js +1297 -0
  99. data/templates/jquery/history.min.js +29 -0
  100. data/templates/jquery/i18n/jquery.ui/datepicker-af.js +20 -20
  101. data/templates/jquery/i18n/jquery.ui/datepicker-ar-DZ.js +19 -19
  102. data/templates/jquery/i18n/jquery.ui/datepicker-ar.js +19 -19
  103. data/templates/jquery/i18n/jquery.ui/datepicker-az.js +19 -19
  104. data/templates/jquery/i18n/jquery.ui/datepicker-bg.js +8 -8
  105. data/templates/jquery/i18n/jquery.ui/datepicker-bs.js +20 -20
  106. data/templates/jquery/i18n/jquery.ui/datepicker-ca.js +20 -20
  107. data/templates/jquery/i18n/jquery.ui/datepicker-cs.js +20 -20
  108. data/templates/jquery/i18n/jquery.ui/datepicker-da.js +14 -14
  109. data/templates/jquery/i18n/jquery.ui/datepicker-de.js +20 -20
  110. data/templates/jquery/i18n/jquery.ui/datepicker-el.js +20 -20
  111. data/templates/jquery/i18n/jquery.ui/datepicker-en-AU.js +20 -20
  112. data/templates/jquery/i18n/jquery.ui/datepicker-en-GB.js +20 -20
  113. data/templates/jquery/i18n/jquery.ui/datepicker-en-NZ.js +20 -20
  114. data/templates/jquery/i18n/jquery.ui/datepicker-eo.js +20 -20
  115. data/templates/jquery/i18n/jquery.ui/datepicker-es.js +20 -20
  116. data/templates/jquery/i18n/jquery.ui/datepicker-et.js +20 -20
  117. data/templates/jquery/i18n/jquery.ui/datepicker-eu.js +20 -20
  118. data/templates/jquery/i18n/jquery.ui/datepicker-fa.js +18 -18
  119. data/templates/jquery/i18n/jquery.ui/datepicker-fi.js +15 -15
  120. data/templates/jquery/i18n/jquery.ui/datepicker-fo.js +20 -20
  121. data/templates/jquery/i18n/jquery.ui/datepicker-fr-CH.js +20 -20
  122. data/templates/jquery/i18n/jquery.ui/datepicker-fr.js +22 -22
  123. data/templates/jquery/i18n/jquery.ui/datepicker-gl.js +20 -20
  124. data/templates/jquery/i18n/jquery.ui/datepicker-he.js +20 -20
  125. data/templates/jquery/i18n/jquery.ui/datepicker-hr.js +20 -20
  126. data/templates/jquery/i18n/jquery.ui/datepicker-hu.js +20 -20
  127. data/templates/jquery/i18n/jquery.ui/datepicker-hu.min.js +1 -1
  128. data/templates/jquery/i18n/jquery.ui/datepicker-hy.js +20 -20
  129. data/templates/jquery/i18n/jquery.ui/datepicker-id.js +20 -20
  130. data/templates/jquery/i18n/jquery.ui/datepicker-is.js +20 -20
  131. data/templates/jquery/i18n/jquery.ui/datepicker-it.js +20 -20
  132. data/templates/jquery/i18n/jquery.ui/datepicker-ja.js +20 -20
  133. data/templates/jquery/i18n/jquery.ui/datepicker-ko.js +20 -20
  134. data/templates/jquery/i18n/jquery.ui/datepicker-kz.js +20 -20
  135. data/templates/jquery/i18n/jquery.ui/datepicker-lt.js +20 -20
  136. data/templates/jquery/i18n/jquery.ui/datepicker-lv.js +20 -20
  137. data/templates/jquery/i18n/jquery.ui/datepicker-ml.js +20 -20
  138. data/templates/jquery/i18n/jquery.ui/datepicker-ms.js +20 -20
  139. data/templates/jquery/i18n/jquery.ui/datepicker-nl.js +20 -20
  140. data/templates/jquery/i18n/jquery.ui/datepicker-no.js +16 -16
  141. data/templates/jquery/i18n/jquery.ui/datepicker-no.min.js +2 -2
  142. data/templates/jquery/i18n/jquery.ui/datepicker-pl.js +20 -20
  143. data/templates/jquery/i18n/jquery.ui/datepicker-pt-BR.js +20 -20
  144. data/templates/jquery/i18n/jquery.ui/datepicker-pt.js +20 -20
  145. data/templates/jquery/i18n/jquery.ui/datepicker-rm.js +18 -18
  146. data/templates/jquery/i18n/jquery.ui/datepicker-ro.js +20 -20
  147. data/templates/jquery/i18n/jquery.ui/datepicker-ru.js +20 -20
  148. data/templates/jquery/i18n/jquery.ui/datepicker-sk.js +20 -20
  149. data/templates/jquery/i18n/jquery.ui/datepicker-sl.js +20 -20
  150. data/templates/jquery/i18n/jquery.ui/datepicker-sq.js +20 -20
  151. data/templates/jquery/i18n/jquery.ui/datepicker-sr-SR.js +20 -20
  152. data/templates/jquery/i18n/jquery.ui/datepicker-sr.js +20 -20
  153. data/templates/jquery/i18n/jquery.ui/datepicker-sv.js +14 -14
  154. data/templates/jquery/i18n/jquery.ui/datepicker-ta.js +20 -20
  155. data/templates/jquery/i18n/jquery.ui/datepicker-th.js +20 -20
  156. data/templates/jquery/i18n/jquery.ui/datepicker-tr.js +20 -20
  157. data/templates/jquery/i18n/jquery.ui/datepicker-uk.js +20 -20
  158. data/templates/jquery/i18n/jquery.ui/datepicker-vi.js +20 -20
  159. data/templates/jquery/i18n/jquery.ui/datepicker-zh-CN.js +20 -20
  160. data/templates/jquery/i18n/jquery.ui/datepicker-zh-HK.js +20 -20
  161. data/templates/jquery/i18n/jquery.ui/datepicker-zh-TW.js +20 -20
  162. data/templates/jquery/{partials → jquery/ui}/_flash_messages.scss +0 -0
  163. data/templates/jquery/jquery/ui/_theme.scss +14 -13
  164. data/templates/jquery/jquery/ui/contextMenu/configure.png +0 -0
  165. data/templates/jquery/jquery/ui/contextMenu/copy.png +0 -0
  166. data/templates/jquery/jquery/ui/contextMenu/cut.png +0 -0
  167. data/templates/jquery/jquery/ui/contextMenu/delete.png +0 -0
  168. data/templates/jquery/jquery/ui/contextMenu/edit.png +0 -0
  169. data/templates/jquery/jquery/ui/contextMenu/exit.png +0 -0
  170. data/templates/jquery/jquery/ui/contextMenu/new.png +0 -0
  171. data/templates/jquery/jquery/ui/contextMenu/paste.png +0 -0
  172. data/templates/jquery/jquery/ui/contextMenu/rename.png +0 -0
  173. data/templates/jquery/jquery/ui/contextMenu/show.png +0 -0
  174. data/templates/jquery/jquery/ui/contextMenu/trash.png +0 -0
  175. data/templates/jquery/jquery/ui/contextMenu.scss +16 -10
  176. data/templates/jquery/jquery-ui.js +11839 -23066
  177. data/templates/jquery/jquery-ui.min.js +401 -795
  178. data/templates/jquery/jquery.bgiframe.js +27 -25
  179. data/templates/jquery/jquery.contextMenu.js +209 -196
  180. data/templates/jquery/jquery.cookie.js +3 -1
  181. data/templates/jquery/jquery.dotimeout.js +236 -228
  182. data/templates/jquery/jquery.dst.js +154 -151
  183. data/templates/jquery/jquery.farbtastic.js +293 -293
  184. data/templates/jquery/jquery.flashMessages.js +26 -0
  185. data/templates/jquery/jquery.flashMessages.min.js +1 -0
  186. data/templates/jquery/jquery.form.js +803 -786
  187. data/templates/jquery/jquery.haml.js +248 -247
  188. data/templates/jquery/jquery.hotkeys.js +89 -89
  189. data/templates/jquery/jquery.js +8141 -8106
  190. data/templates/jquery/jquery.layout.js +2451 -2415
  191. data/templates/jquery/jquery.min.js +167 -166
  192. data/templates/jquery/jquery.mousewheel.js +62 -54
  193. data/templates/jquery/jquery.offline.js +171 -171
  194. data/templates/jquery/jquery.pngFix.js +76 -76
  195. data/templates/jquery/jquery.replacetext.js +83 -83
  196. data/templates/jquery/jquery.themeswitchertool.js +202 -177
  197. data/templates/jquery/jquery.tmpl.js +478 -473
  198. data/templates/jquery/jquery.tmplPlus.js +82 -81
  199. data/templates/jquery/jrails.js +178 -175
  200. data/templates/jquery/json.js +77 -7
  201. data/templates/jquery/json2.js +480 -0
  202. data/templates/jquery/json2.min.js +7 -0
  203. data/templates/jquery/lib/tasks/haml.rake +2 -2
  204. data/templates/jquery/manifest.rb +21 -17
  205. data/templates/jstree/jquery.jstree.js +5967 -4536
  206. data/templates/mobile/config/initializers/mobile.rb +1 -1
  207. data/templates/mobile/jquery/mobile/_base.scss +944 -927
  208. data/templates/mobile/jquery/mobile/default.scss +61 -48
  209. data/templates/mobile/jquery/mobile/valencia.scss +56 -42
  210. data/templates/mobile/jquery.mobile.js +4461 -4347
  211. data/templates/mobile/jquery.mobile.min.js +11 -2
  212. data/templates/mobile/lib/tasks/jquery.mobile.rake +12 -12
  213. data/templates/ribbon/config/initializers/ribbon.rb +2 -2
  214. data/templates/ribbon/jquery.ribbon.js +50 -29
  215. data/templates/secret_sauce/secret_sauce.js +8 -8
  216. data/templates/tools/flowplayer.js +945 -1
  217. data/templates/tools/jquery.tools.js +4645 -4335
  218. data/templates/tools/jquery.tools.min.js +37 -37
  219. data/templates/tools/lib/tasks/jquery.tools.rake +4 -4
  220. data/templates/tools/swfobject.js +813 -773
  221. metadata +33 -21
  222. data/templates/jquery/haml.js +0 -506
  223. data/templates/jquery/haml.min.js +0 -5
  224. data/templates/jquery/jquery/ui/contextMenu/door.png +0 -0
  225. data/templates/jquery/jquery/ui/contextMenu/page_white_copy.png +0 -0
  226. data/templates/jquery/jquery/ui/contextMenu/page_white_delete.png +0 -0
  227. data/templates/jquery/jquery/ui/contextMenu/page_white_edit.png +0 -0
  228. data/templates/jquery/jquery/ui/contextMenu/page_white_new.png +0 -0
  229. data/templates/jquery/jquery/ui/contextMenu/page_white_paste.png +0 -0
  230. data/templates/jquery/jquery.compat-1.3.js +0 -291
  231. data/templates/jquery/jquery.compat-1.3.min.js +0 -6
  232. data/templates/jquery/jquery.flash_messages.js +0 -5
  233. data/templates/jquery/jquery.flash_messages.min.js +0 -1
  234. data/templates/jquery/jquery.history.js +0 -194
  235. data/templates/jquery/jquery.history.min.js +0 -5
@@ -84,6 +84,8 @@ jQuery.cookie = function (key, value, options) {
84
84
 
85
85
  // key and possibly options given, get cookie...
86
86
  options = value || {};
87
- var result, decode = options.raw ? function (s) { return s; } : decodeURIComponent;
87
+ var result, decode = options.raw ? function (s) {
88
+ return s;
89
+ } : decodeURIComponent;
88
90
  return (result = new RegExp('(?:^|; )' + encodeURIComponent(key) + '=([^;]*)').exec(document.cookie)) ? decode(result[1]) : null;
89
91
  };
@@ -50,236 +50,244 @@
50
50
  // 0.4 - (7/15/2009) Made the "id" argument optional, some other minor tweaks
51
51
  // 0.3 - (6/25/2009) Initial release
52
52
 
53
- (function($){
54
- '$:nomunge'; // Used by YUI compressor.
55
-
56
- var cache = {},
57
-
58
- // Reused internal string.
59
- doTimeout = 'doTimeout',
60
-
61
- // A convenient shortcut.
62
- aps = Array.prototype.slice;
63
-
64
- // Method: jQuery.doTimeout
65
- //
66
- // Initialize, cancel, or force execution of a callback after a delay.
67
- //
68
- // If delay and callback are specified, a doTimeout is initialized. The
69
- // callback will execute, asynchronously, after the delay. If an id is
70
- // specified, this doTimeout will override and cancel any existing doTimeout
71
- // with the same id. Any additional arguments will be passed into callback
72
- // when it is executed.
73
- //
74
- // If the callback returns true, the doTimeout loop will execute again, after
75
- // the delay, creating a polling loop until the callback returns a non-true
76
- // value.
77
- //
78
- // Note that if an id is not passed as the first argument, this doTimeout will
79
- // NOT be able to be manually canceled or forced. (for debouncing, be sure to
80
- // specify an id).
81
- //
82
- // If id is specified, but delay and callback are not, the doTimeout will be
83
- // canceled without executing the callback. If force_mode is specified, the
84
- // callback will be executed, synchronously, but will only be allowed to
85
- // continue a polling loop if force_mode is true (provided the callback
86
- // returns true, of course). If force_mode is false, no polling loop will
87
- // continue, even if the callback returns true.
88
- //
89
- // Usage:
90
- //
91
- // > jQuery.doTimeout( [ id, ] delay, callback [, arg ... ] );
92
- // > jQuery.doTimeout( id [, force_mode ] );
93
- //
94
- // Arguments:
95
- //
96
- // id - (String) An optional unique identifier for this doTimeout. If id is
97
- // not specified, the doTimeout will NOT be able to be manually canceled or
98
- // forced.
99
- // delay - (Number) A zero-or-greater delay in milliseconds after which
100
- // callback will be executed.
101
- // callback - (Function) A function to be executed after delay milliseconds.
102
- // callback - (String) A jQuery method to be executed after delay
103
- // milliseconds. This method will only poll if it explicitly returns
104
- // true.
105
- // force_mode - (Boolean) If true, execute that id's doTimeout callback
106
- // immediately and synchronously, continuing any callback return-true
107
- // polling loop. If false, execute the callback immediately and
108
- // synchronously but do NOT continue a callback return-true polling loop.
109
- // If omitted, cancel that id's doTimeout.
110
- //
111
- // Returns:
112
- //
113
- // If force_mode is true, false or undefined and there is a
114
- // yet-to-be-executed callback to cancel, true is returned, but if no
115
- // callback remains to be executed, undefined is returned.
116
-
117
- $[doTimeout] = function() {
118
- return p_doTimeout.apply( window, [ 0 ].concat( aps.call( arguments ) ) );
119
- };
120
-
121
- // Method: jQuery.fn.doTimeout
122
- //
123
- // Initialize, cancel, or force execution of a callback after a delay.
124
- // Operates like <jQuery.doTimeout>, but the passed callback executes in the
125
- // context of the jQuery collection of elements, and the id is stored as data
126
- // on the first element in that collection.
127
- //
128
- // If delay and callback are specified, a doTimeout is initialized. The
129
- // callback will execute, asynchronously, after the delay. If an id is
130
- // specified, this doTimeout will override and cancel any existing doTimeout
131
- // with the same id. Any additional arguments will be passed into callback
132
- // when it is executed.
133
- //
134
- // If the callback returns true, the doTimeout loop will execute again, after
135
- // the delay, creating a polling loop until the callback returns a non-true
136
- // value.
137
- //
138
- // Note that if an id is not passed as the first argument, this doTimeout will
139
- // NOT be able to be manually canceled or forced (for debouncing, be sure to
140
- // specify an id).
141
- //
142
- // If id is specified, but delay and callback are not, the doTimeout will be
143
- // canceled without executing the callback. If force_mode is specified, the
144
- // callback will be executed, synchronously, but will only be allowed to
145
- // continue a polling loop if force_mode is true (provided the callback
146
- // returns true, of course). If force_mode is false, no polling loop will
147
- // continue, even if the callback returns true.
148
- //
149
- // Usage:
150
- //
151
- // > jQuery('selector').doTimeout( [ id, ] delay, callback [, arg ... ] );
152
- // > jQuery('selector').doTimeout( id [, force_mode ] );
153
- //
154
- // Arguments:
155
- //
156
- // id - (String) An optional unique identifier for this doTimeout, stored as
157
- // jQuery data on the element. If id is not specified, the doTimeout will
158
- // NOT be able to be manually canceled or forced.
159
- // delay - (Number) A zero-or-greater delay in milliseconds after which
160
- // callback will be executed.
161
- // callback - (Function) A function to be executed after delay milliseconds.
162
- // callback - (String) A jQuery.fn method to be executed after delay
163
- // milliseconds. This method will only poll if it explicitly returns
164
- // true (most jQuery.fn methods return a jQuery object, and not `true`,
165
- // which allows them to be chained and prevents polling).
166
- // force_mode - (Boolean) If true, execute that id's doTimeout callback
167
- // immediately and synchronously, continuing any callback return-true
168
- // polling loop. If false, execute the callback immediately and
169
- // synchronously but do NOT continue a callback return-true polling loop.
170
- // If omitted, cancel that id's doTimeout.
171
- //
172
- // Returns:
173
- //
174
- // When creating a <jQuery.fn.doTimeout>, the initial jQuery collection of
175
- // elements is returned. Otherwise, if force_mode is true, false or undefined
176
- // and there is a yet-to-be-executed callback to cancel, true is returned,
177
- // but if no callback remains to be executed, undefined is returned.
178
-
179
- $.fn[doTimeout] = function() {
180
- var args = aps.call( arguments ),
181
- result = p_doTimeout.apply( this, [ doTimeout + args[0] ].concat( args ) );
182
-
183
- return typeof args[0] === 'number' || typeof args[1] === 'number'
184
- ? this
185
- : result;
186
- };
187
-
188
- function p_doTimeout( jquery_data_key ) {
189
- var that = this,
190
- elem,
191
- data = {},
192
-
193
- // Allows the plugin to call a string callback method.
194
- method_base = jquery_data_key ? $.fn : $,
195
-
196
- // Any additional arguments will be passed to the callback.
197
- args = arguments,
198
- slice_args = 4,
199
-
200
- id = args[1],
201
- delay = args[2],
202
- callback = args[3];
203
-
204
- if ( typeof id !== 'string' ) {
205
- slice_args--;
206
-
207
- id = jquery_data_key = 0;
208
- delay = args[1];
209
- callback = args[2];
210
- }
211
-
212
- // If id is passed, store a data reference either as .data on the first
213
- // element in a jQuery collection, or in the internal cache.
214
- if ( jquery_data_key ) { // Note: key is 'doTimeout' + id
215
-
216
- // Get id-object from the first element's data, otherwise initialize it to {}.
217
- elem = that.eq(0);
218
- elem.data( jquery_data_key, data = elem.data( jquery_data_key ) || {} );
219
-
220
- } else if ( id ) {
221
- // Get id-object from the cache, otherwise initialize it to {}.
222
- data = cache[ id ] || ( cache[ id ] = {} );
223
- }
224
-
225
- // Clear any existing timeout for this id.
226
- data.id && clearTimeout( data.id );
227
- delete data.id;
228
-
229
- // Clean up when necessary.
230
- function cleanup() {
231
- if ( jquery_data_key ) {
232
- elem.removeData( jquery_data_key );
233
- } else if ( id ) {
234
- delete cache[ id ];
235
- }
53
+ (function($) {
54
+ '$:nomunge'; // Used by YUI compressor.
55
+
56
+ var cache = {},
57
+
58
+ // Reused internal string.
59
+ doTimeout = 'doTimeout',
60
+
61
+ // A convenient shortcut.
62
+ aps = Array.prototype.slice;
63
+
64
+ // Method: jQuery.doTimeout
65
+ //
66
+ // Initialize, cancel, or force execution of a callback after a delay.
67
+ //
68
+ // If delay and callback are specified, a doTimeout is initialized. The
69
+ // callback will execute, asynchronously, after the delay. If an id is
70
+ // specified, this doTimeout will override and cancel any existing doTimeout
71
+ // with the same id. Any additional arguments will be passed into callback
72
+ // when it is executed.
73
+ //
74
+ // If the callback returns true, the doTimeout loop will execute again, after
75
+ // the delay, creating a polling loop until the callback returns a non-true
76
+ // value.
77
+ //
78
+ // Note that if an id is not passed as the first argument, this doTimeout will
79
+ // NOT be able to be manually canceled or forced. (for debouncing, be sure to
80
+ // specify an id).
81
+ //
82
+ // If id is specified, but delay and callback are not, the doTimeout will be
83
+ // canceled without executing the callback. If force_mode is specified, the
84
+ // callback will be executed, synchronously, but will only be allowed to
85
+ // continue a polling loop if force_mode is true (provided the callback
86
+ // returns true, of course). If force_mode is false, no polling loop will
87
+ // continue, even if the callback returns true.
88
+ //
89
+ // Usage:
90
+ //
91
+ // > jQuery.doTimeout( [ id, ] delay, callback [, arg ... ] );
92
+ // > jQuery.doTimeout( id [, force_mode ] );
93
+ //
94
+ // Arguments:
95
+ //
96
+ // id - (String) An optional unique identifier for this doTimeout. If id is
97
+ // not specified, the doTimeout will NOT be able to be manually canceled or
98
+ // forced.
99
+ // delay - (Number) A zero-or-greater delay in milliseconds after which
100
+ // callback will be executed.
101
+ // callback - (Function) A function to be executed after delay milliseconds.
102
+ // callback - (String) A jQuery method to be executed after delay
103
+ // milliseconds. This method will only poll if it explicitly returns
104
+ // true.
105
+ // force_mode - (Boolean) If true, execute that id's doTimeout callback
106
+ // immediately and synchronously, continuing any callback return-true
107
+ // polling loop. If false, execute the callback immediately and
108
+ // synchronously but do NOT continue a callback return-true polling loop.
109
+ // If omitted, cancel that id's doTimeout.
110
+ //
111
+ // Returns:
112
+ //
113
+ // If force_mode is true, false or undefined and there is a
114
+ // yet-to-be-executed callback to cancel, true is returned, but if no
115
+ // callback remains to be executed, undefined is returned.
116
+
117
+ $[doTimeout] = function() {
118
+ return p_doTimeout.apply(window, [ 0 ].concat(aps.call(arguments)));
236
119
  };
237
-
238
- // Yes, there actually is a setTimeout call in here!
239
- function actually_setTimeout() {
240
- data.id = setTimeout( function(){ data.fn(); }, delay );
120
+
121
+ // Method: jQuery.fn.doTimeout
122
+ //
123
+ // Initialize, cancel, or force execution of a callback after a delay.
124
+ // Operates like <jQuery.doTimeout>, but the passed callback executes in the
125
+ // context of the jQuery collection of elements, and the id is stored as data
126
+ // on the first element in that collection.
127
+ //
128
+ // If delay and callback are specified, a doTimeout is initialized. The
129
+ // callback will execute, asynchronously, after the delay. If an id is
130
+ // specified, this doTimeout will override and cancel any existing doTimeout
131
+ // with the same id. Any additional arguments will be passed into callback
132
+ // when it is executed.
133
+ //
134
+ // If the callback returns true, the doTimeout loop will execute again, after
135
+ // the delay, creating a polling loop until the callback returns a non-true
136
+ // value.
137
+ //
138
+ // Note that if an id is not passed as the first argument, this doTimeout will
139
+ // NOT be able to be manually canceled or forced (for debouncing, be sure to
140
+ // specify an id).
141
+ //
142
+ // If id is specified, but delay and callback are not, the doTimeout will be
143
+ // canceled without executing the callback. If force_mode is specified, the
144
+ // callback will be executed, synchronously, but will only be allowed to
145
+ // continue a polling loop if force_mode is true (provided the callback
146
+ // returns true, of course). If force_mode is false, no polling loop will
147
+ // continue, even if the callback returns true.
148
+ //
149
+ // Usage:
150
+ //
151
+ // > jQuery('selector').doTimeout( [ id, ] delay, callback [, arg ... ] );
152
+ // > jQuery('selector').doTimeout( id [, force_mode ] );
153
+ //
154
+ // Arguments:
155
+ //
156
+ // id - (String) An optional unique identifier for this doTimeout, stored as
157
+ // jQuery data on the element. If id is not specified, the doTimeout will
158
+ // NOT be able to be manually canceled or forced.
159
+ // delay - (Number) A zero-or-greater delay in milliseconds after which
160
+ // callback will be executed.
161
+ // callback - (Function) A function to be executed after delay milliseconds.
162
+ // callback - (String) A jQuery.fn method to be executed after delay
163
+ // milliseconds. This method will only poll if it explicitly returns
164
+ // true (most jQuery.fn methods return a jQuery object, and not `true`,
165
+ // which allows them to be chained and prevents polling).
166
+ // force_mode - (Boolean) If true, execute that id's doTimeout callback
167
+ // immediately and synchronously, continuing any callback return-true
168
+ // polling loop. If false, execute the callback immediately and
169
+ // synchronously but do NOT continue a callback return-true polling loop.
170
+ // If omitted, cancel that id's doTimeout.
171
+ //
172
+ // Returns:
173
+ //
174
+ // When creating a <jQuery.fn.doTimeout>, the initial jQuery collection of
175
+ // elements is returned. Otherwise, if force_mode is true, false or undefined
176
+ // and there is a yet-to-be-executed callback to cancel, true is returned,
177
+ // but if no callback remains to be executed, undefined is returned.
178
+
179
+ $.fn[doTimeout] = function() {
180
+ var args = aps.call(arguments),
181
+ result = p_doTimeout.apply(this, [ doTimeout + args[0] ].concat(args));
182
+
183
+ return typeof args[0] === 'number' || typeof args[1] === 'number'
184
+ ? this
185
+ : result;
241
186
  };
242
-
243
- if ( callback ) {
244
- // A callback (and delay) were specified. Store the callback reference for
245
- // possible later use, and then setTimeout.
246
- data.fn = function( no_polling_loop ) {
247
-
248
- // If the callback value is a string, it is assumed to be the name of a
249
- // method on $ or $.fn depending on where doTimeout was executed.
250
- if ( typeof callback === 'string' ) {
251
- callback = method_base[ callback ];
187
+
188
+ function p_doTimeout(jquery_data_key) {
189
+ var that = this,
190
+ elem,
191
+ data = {},
192
+
193
+ // Allows the plugin to call a string callback method.
194
+ method_base = jquery_data_key ? $.fn : $,
195
+
196
+ // Any additional arguments will be passed to the callback.
197
+ args = arguments,
198
+ slice_args = 4,
199
+
200
+ id = args[1],
201
+ delay = args[2],
202
+ callback = args[3];
203
+
204
+ if (typeof id !== 'string') {
205
+ slice_args--;
206
+
207
+ id = jquery_data_key = 0;
208
+ delay = args[1];
209
+ callback = args[2];
210
+ }
211
+
212
+ // If id is passed, store a data reference either as .data on the first
213
+ // element in a jQuery collection, or in the internal cache.
214
+ if (jquery_data_key) { // Note: key is 'doTimeout' + id
215
+
216
+ // Get id-object from the first element's data, otherwise initialize it to {}.
217
+ elem = that.eq(0);
218
+ elem.data(jquery_data_key, data = elem.data(jquery_data_key) || {});
219
+
220
+ } else if (id) {
221
+ // Get id-object from the cache, otherwise initialize it to {}.
222
+ data = cache[ id ] || ( cache[ id ] = {} );
252
223
  }
253
-
254
- callback.apply( that, aps.call( args, slice_args ) ) === true && !no_polling_loop
255
-
256
- // Since the callback returned true, and we're not specifically
257
- // canceling a polling loop, do it again!
258
- ? actually_setTimeout()
259
-
260
- // Otherwise, clean up and quit.
261
- : cleanup();
262
- };
263
-
264
- // Set that timeout!
265
- actually_setTimeout();
266
-
267
- } else if ( data.fn ) {
268
- // No callback passed. If force_mode (delay) is true, execute the data.fn
269
- // callback immediately, continuing any callback return-true polling loop.
270
- // If force_mode is false, execute the data.fn callback immediately but do
271
- // NOT continue a callback return-true polling loop. If force_mode is
272
- // undefined, simply clean up. Since data.fn was still defined, whatever
273
- // was supposed to happen hadn't yet, so return true.
274
- delay === undefined ? cleanup() : data.fn( delay === false );
275
- return true;
276
-
277
- } else {
278
- // Since no callback was passed, and data.fn isn't defined, it looks like
279
- // whatever was supposed to happen already did. Clean up and quit!
280
- cleanup();
224
+
225
+ // Clear any existing timeout for this id.
226
+ data.id && clearTimeout(data.id);
227
+ delete data.id;
228
+
229
+ // Clean up when necessary.
230
+ function cleanup() {
231
+ if (jquery_data_key) {
232
+ elem.removeData(jquery_data_key);
233
+ } else if (id) {
234
+ delete cache[ id ];
235
+ }
236
+ }
237
+
238
+ ;
239
+
240
+ // Yes, there actually is a setTimeout call in here!
241
+ function actually_setTimeout() {
242
+ data.id = setTimeout(function() {
243
+ data.fn();
244
+ }, delay);
245
+ }
246
+
247
+ ;
248
+
249
+ if (callback) {
250
+ // A callback (and delay) were specified. Store the callback reference for
251
+ // possible later use, and then setTimeout.
252
+ data.fn = function(no_polling_loop) {
253
+
254
+ // If the callback value is a string, it is assumed to be the name of a
255
+ // method on $ or $.fn depending on where doTimeout was executed.
256
+ if (typeof callback === 'string') {
257
+ callback = method_base[ callback ];
258
+ }
259
+
260
+ callback.apply(that, aps.call(args, slice_args)) === true && !no_polling_loop
261
+
262
+ // Since the callback returned true, and we're not specifically
263
+ // canceling a polling loop, do it again!
264
+ ? actually_setTimeout()
265
+
266
+ // Otherwise, clean up and quit.
267
+ : cleanup();
268
+ };
269
+
270
+ // Set that timeout!
271
+ actually_setTimeout();
272
+
273
+ } else if (data.fn) {
274
+ // No callback passed. If force_mode (delay) is true, execute the data.fn
275
+ // callback immediately, continuing any callback return-true polling loop.
276
+ // If force_mode is false, execute the data.fn callback immediately but do
277
+ // NOT continue a callback return-true polling loop. If force_mode is
278
+ // undefined, simply clean up. Since data.fn was still defined, whatever
279
+ // was supposed to happen hadn't yet, so return true.
280
+ delay === undefined ? cleanup() : data.fn(delay === false);
281
+ return true;
282
+
283
+ } else {
284
+ // Since no callback was passed, and data.fn isn't defined, it looks like
285
+ // whatever was supposed to happen already did. Clean up and quit!
286
+ cleanup();
287
+ }
288
+
281
289
  }
282
-
283
- };
284
-
290
+
291
+ ;
292
+
285
293
  })(jQuery);