compass-jquery-plugin 0.3.2.8 → 0.3.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (542) hide show
  1. data/README.md +24 -6
  2. data/VERSION.yml +3 -3
  3. data/lib/jquery/gridify/grid_column.rb +6 -6
  4. data/lib/jquery/gridify/grid_options.rb +4 -4
  5. data/lib/jquery/mark_it_up.rb +2 -0
  6. data/lib/jquery/mobile.rb +0 -1
  7. data/templates/dynatree/jquery.dynatree.js +2896 -2880
  8. data/templates/dynatree/jquery.dynatree.min.js +55 -54
  9. data/templates/dynatree/jquery/dynatree/aero.scss +4 -2
  10. data/templates/dynatree/jquery/dynatree/aqua.scss +4 -2
  11. data/templates/dynatree/jquery/dynatree/crystal.scss +4 -2
  12. data/templates/dynatree/jquery/dynatree/xp.scss +5 -3
  13. data/templates/emulators/emulators/bb.playbook.landscape.png +0 -0
  14. data/templates/emulators/emulators/bb.playbook.landscape.scss +18 -0
  15. data/templates/emulators/emulators/bb.playbook.portrait.png +0 -0
  16. data/templates/emulators/emulators/bb.playbook.portrait.scss +18 -0
  17. data/templates/emulators/emulators/{blackberry.torch.landscape.png → bb.torch.landscape.png} +0 -0
  18. data/templates/emulators/emulators/{blackberry.torch.landscape.scss → bb.torch.landscape.scss} +1 -3
  19. data/templates/emulators/emulators/{blackberry.torch.portrait.png → bb.torch.portrait.png} +0 -0
  20. data/templates/emulators/emulators/{blackberry.torch.portrait.scss → bb.torch.portrait.scss} +1 -3
  21. data/templates/emulators/emulators/galaxy.ace.landscape.png +0 -0
  22. data/templates/emulators/emulators/galaxy.ace.landscape.scss +18 -0
  23. data/templates/emulators/emulators/galaxy.ace.portrait.png +0 -0
  24. data/templates/emulators/emulators/galaxy.ace.portrait.scss +18 -0
  25. data/templates/emulators/emulators/galaxy.s.landscape.scss +0 -2
  26. data/templates/emulators/emulators/galaxy.s.portrait.scss +0 -2
  27. data/templates/emulators/emulators/galaxy.s2.landscape.scss +0 -2
  28. data/templates/emulators/emulators/galaxy.s2.portrait.scss +0 -2
  29. data/templates/emulators/emulators/galaxy.tab.10.1.landscape.scss +0 -2
  30. data/templates/emulators/emulators/galaxy.tab.10.1.portrait.scss +0 -2
  31. data/templates/emulators/emulators/galaxy.tab.7.landscape.scss +0 -2
  32. data/templates/emulators/emulators/galaxy.tab.7.portrait.scss +0 -2
  33. data/templates/emulators/emulators/galaxy.tab.8.9.landscape.scss +0 -2
  34. data/templates/emulators/emulators/galaxy.tab.8.9.portrait.scss +0 -2
  35. data/templates/emulators/emulators/htc.sensation.landscape.png +0 -0
  36. data/templates/emulators/emulators/htc.sensation.landscape.scss +18 -0
  37. data/templates/emulators/emulators/htc.sensation.portrait.png +0 -0
  38. data/templates/emulators/emulators/htc.sensation.portrait.scss +18 -0
  39. data/templates/emulators/emulators/ipad.landscape.scss +0 -2
  40. data/templates/emulators/emulators/ipad.portrait.scss +0 -2
  41. data/templates/emulators/emulators/iphone.3.landscape.scss +0 -2
  42. data/templates/emulators/emulators/iphone.3.portrait.scss +0 -2
  43. data/templates/emulators/emulators/{iphone.4.landscape .scss → iphone.4.landscape.scss} +0 -2
  44. data/templates/emulators/emulators/iphone.4.portrait.scss +0 -2
  45. data/templates/emulators/emulators/palm.pre.2.landscape.scss +0 -2
  46. data/templates/emulators/emulators/palm.pre.2.portrait.scss +0 -2
  47. data/templates/emulators/manifest.rb +17 -5
  48. data/templates/graphics/highcharts/dark-blue.js +159 -159
  49. data/templates/graphics/highcharts/dark-green.js +159 -159
  50. data/templates/graphics/highcharts/gray.js +154 -154
  51. data/templates/graphics/highcharts/grid.js +84 -84
  52. data/templates/graphics/highcharts/highslide-config.js +2 -2
  53. data/templates/graphics/highcharts/highslide-full.js +3310 -3310
  54. data/templates/graphics/highcharts/skies.js +72 -72
  55. data/templates/graphics/jquery.ganttView.js +1550 -1550
  56. data/templates/graphics/jquery.highcharts.js +11277 -11285
  57. data/templates/graphics/jquery.sparkline.js +1072 -1072
  58. data/templates/ical/jquery.ical.js +7637 -7637
  59. data/templates/ical/jquery/ical.print.scss +3 -3
  60. data/templates/jqgrid/i18n/jqgrid/locale-ar.js +127 -127
  61. data/templates/jqgrid/i18n/jqgrid/locale-bg.js +131 -131
  62. data/templates/jqgrid/i18n/jqgrid/locale-bg1251.js +131 -131
  63. data/templates/jqgrid/i18n/jqgrid/locale-cat.js +128 -128
  64. data/templates/jqgrid/i18n/jqgrid/locale-cn.js +132 -132
  65. data/templates/jqgrid/i18n/jqgrid/locale-cs.js +129 -129
  66. data/templates/jqgrid/i18n/jqgrid/locale-da.js +128 -128
  67. data/templates/jqgrid/i18n/jqgrid/locale-de.js +134 -134
  68. data/templates/jqgrid/i18n/jqgrid/locale-el.js +127 -127
  69. data/templates/jqgrid/i18n/jqgrid/locale-en.js +128 -128
  70. data/templates/jqgrid/i18n/jqgrid/locale-es.js +129 -129
  71. data/templates/jqgrid/i18n/jqgrid/locale-fa.js +141 -141
  72. data/templates/jqgrid/i18n/jqgrid/locale-fi.js +128 -128
  73. data/templates/jqgrid/i18n/jqgrid/locale-fr.js +127 -127
  74. data/templates/jqgrid/i18n/jqgrid/locale-gl.js +127 -127
  75. data/templates/jqgrid/i18n/jqgrid/locale-he.js +128 -128
  76. data/templates/jqgrid/i18n/jqgrid/locale-hu.js +128 -128
  77. data/templates/jqgrid/i18n/jqgrid/locale-is.js +127 -127
  78. data/templates/jqgrid/i18n/jqgrid/locale-it.js +6 -6
  79. data/templates/jqgrid/i18n/jqgrid/locale-ja.js +153 -153
  80. data/templates/jqgrid/i18n/jqgrid/locale-lt.js +128 -128
  81. data/templates/jqgrid/i18n/jqgrid/locale-mne.js +134 -0
  82. data/templates/jqgrid/i18n/jqgrid/locale-mne.min.js +7 -0
  83. data/templates/jqgrid/i18n/jqgrid/locale-nl.js +145 -145
  84. data/templates/jqgrid/i18n/jqgrid/locale-no.js +12 -12
  85. data/templates/jqgrid/i18n/jqgrid/locale-pl.js +128 -128
  86. data/templates/jqgrid/i18n/jqgrid/locale-pt-br.js +128 -128
  87. data/templates/jqgrid/i18n/jqgrid/locale-pt.js +126 -126
  88. data/templates/jqgrid/i18n/jqgrid/locale-ro.js +140 -140
  89. data/templates/jqgrid/i18n/jqgrid/locale-ru.js +128 -128
  90. data/templates/jqgrid/i18n/jqgrid/locale-sk.js +128 -128
  91. data/templates/jqgrid/i18n/jqgrid/locale-sr.js +128 -128
  92. data/templates/jqgrid/i18n/jqgrid/locale-sv.js +128 -128
  93. data/templates/jqgrid/i18n/jqgrid/locale-tr.js +127 -127
  94. data/templates/jqgrid/i18n/jqgrid/locale-ua.js +128 -128
  95. data/templates/jqgrid/jquery.jqGrid.js +13477 -13443
  96. data/templates/jqgrid/jquery.jqGrid.min.js +292 -287
  97. data/templates/jqgrid/jquery/jqGrid.scss +13 -12
  98. data/templates/jqgrid/manifest.rb +2 -0
  99. data/templates/jqtouch/jquery.jqtouch.js +9601 -9556
  100. data/templates/jqtouch/jquery.jqtouch.min.js +3 -3
  101. data/templates/jqtouch/jquery/touch/default.scss +2 -2
  102. data/templates/jqtouch/jquery/touch/jqt.scss +2 -2
  103. data/templates/jqtouch/jquery/touch/jqtouch.scss +26 -5
  104. data/templates/jquery/amplify.store.js +211 -211
  105. data/templates/jquery/config/initializers/jquery.rb +2 -0
  106. data/templates/jquery/history.adapter.jquery.js +42 -36
  107. data/templates/jquery/history.html4.js +563 -563
  108. data/templates/jquery/history.html4.min.js +5 -5
  109. data/templates/jquery/history.js +1721 -1694
  110. data/templates/jquery/history.min.js +28 -27
  111. data/templates/jquery/i18n/jquery.ui/datepicker-af.js +20 -20
  112. data/templates/jquery/i18n/jquery.ui/datepicker-ar-DZ.js +18 -18
  113. data/templates/jquery/i18n/jquery.ui/datepicker-ar.js +19 -19
  114. data/templates/jquery/i18n/jquery.ui/datepicker-az.js +20 -20
  115. data/templates/jquery/i18n/jquery.ui/datepicker-bg.js +21 -21
  116. data/templates/jquery/i18n/jquery.ui/datepicker-bs.js +20 -20
  117. data/templates/jquery/i18n/jquery.ui/datepicker-ca.js +19 -19
  118. data/templates/jquery/i18n/jquery.ui/datepicker-cs.js +20 -20
  119. data/templates/jquery/i18n/jquery.ui/datepicker-da.js +20 -20
  120. data/templates/jquery/i18n/jquery.ui/datepicker-de.js +20 -20
  121. data/templates/jquery/i18n/jquery.ui/datepicker-el.js +20 -20
  122. data/templates/jquery/i18n/jquery.ui/datepicker-en-AU.js +19 -19
  123. data/templates/jquery/i18n/jquery.ui/datepicker-en-GB.js +20 -20
  124. data/templates/jquery/i18n/jquery.ui/datepicker-en-NZ.js +19 -19
  125. data/templates/jquery/i18n/jquery.ui/datepicker-eo.js +20 -20
  126. data/templates/jquery/i18n/jquery.ui/datepicker-es.js +19 -19
  127. data/templates/jquery/i18n/jquery.ui/datepicker-et.js +20 -20
  128. data/templates/jquery/i18n/jquery.ui/datepicker-eu.js +20 -20
  129. data/templates/jquery/i18n/jquery.ui/datepicker-fa.js +19 -19
  130. data/templates/jquery/i18n/jquery.ui/datepicker-fi.js +19 -19
  131. data/templates/jquery/i18n/jquery.ui/datepicker-fo.js +20 -20
  132. data/templates/jquery/i18n/jquery.ui/datepicker-fr-CH.js +20 -20
  133. data/templates/jquery/i18n/jquery.ui/datepicker-fr.js +20 -20
  134. data/templates/jquery/i18n/jquery.ui/datepicker-gl.js +19 -19
  135. data/templates/jquery/i18n/jquery.ui/datepicker-he.js +20 -20
  136. data/templates/jquery/i18n/jquery.ui/datepicker-hr.js +20 -20
  137. data/templates/jquery/i18n/jquery.ui/datepicker-hu.js +19 -19
  138. data/templates/jquery/i18n/jquery.ui/datepicker-hy.js +19 -19
  139. data/templates/jquery/i18n/jquery.ui/datepicker-id.js +19 -19
  140. data/templates/jquery/i18n/jquery.ui/datepicker-is.js +19 -19
  141. data/templates/jquery/i18n/jquery.ui/datepicker-it.js +19 -19
  142. data/templates/jquery/i18n/jquery.ui/datepicker-ja.js +20 -20
  143. data/templates/jquery/i18n/jquery.ui/datepicker-ko.js +19 -19
  144. data/templates/jquery/i18n/jquery.ui/datepicker-kz.js +19 -19
  145. data/templates/jquery/i18n/jquery.ui/datepicker-lt.js +19 -19
  146. data/templates/jquery/i18n/jquery.ui/datepicker-lv.js +19 -19
  147. data/templates/jquery/i18n/jquery.ui/datepicker-ml.js +20 -20
  148. data/templates/jquery/i18n/jquery.ui/datepicker-ms.js +19 -19
  149. data/templates/jquery/i18n/jquery.ui/datepicker-nl.js +20 -20
  150. data/templates/jquery/i18n/jquery.ui/datepicker-nl.min.js +1 -1
  151. data/templates/jquery/i18n/jquery.ui/datepicker-no.js +18 -18
  152. data/templates/jquery/i18n/jquery.ui/datepicker-pl.js +19 -19
  153. data/templates/jquery/i18n/jquery.ui/datepicker-pt-BR.js +19 -19
  154. data/templates/jquery/i18n/jquery.ui/datepicker-pt.js +19 -19
  155. data/templates/jquery/i18n/jquery.ui/datepicker-rm.js +17 -17
  156. data/templates/jquery/i18n/jquery.ui/datepicker-ro.js +20 -20
  157. data/templates/jquery/i18n/jquery.ui/datepicker-ru.js +19 -19
  158. data/templates/jquery/i18n/jquery.ui/datepicker-sk.js +19 -19
  159. data/templates/jquery/i18n/jquery.ui/datepicker-sk.min.js +1 -1
  160. data/templates/jquery/i18n/jquery.ui/datepicker-sl.js +19 -19
  161. data/templates/jquery/i18n/jquery.ui/datepicker-sq.js +20 -20
  162. data/templates/jquery/i18n/jquery.ui/datepicker-sr-SR.js +20 -20
  163. data/templates/jquery/i18n/jquery.ui/datepicker-sr.js +20 -20
  164. data/templates/jquery/i18n/jquery.ui/datepicker-sv.js +20 -20
  165. data/templates/jquery/i18n/jquery.ui/datepicker-ta.js +20 -20
  166. data/templates/jquery/i18n/jquery.ui/datepicker-th.js +20 -20
  167. data/templates/jquery/i18n/jquery.ui/datepicker-tj.js +19 -19
  168. data/templates/jquery/i18n/jquery.ui/datepicker-tr.js +19 -19
  169. data/templates/jquery/i18n/jquery.ui/datepicker-uk.js +19 -19
  170. data/templates/jquery/i18n/jquery.ui/datepicker-vi.js +20 -20
  171. data/templates/jquery/i18n/jquery.ui/datepicker-zh-CN.js +19 -19
  172. data/templates/jquery/i18n/jquery.ui/datepicker-zh-HK.js +19 -19
  173. data/templates/jquery/i18n/jquery.ui/datepicker-zh-TW.js +20 -20
  174. data/templates/jquery/jquery-ui.js +11913 -11882
  175. data/templates/jquery/jquery-ui.min.js +340 -339
  176. data/templates/jquery/jquery.bgiframe.js +27 -27
  177. data/templates/jquery/jquery.contextMenu.js +202 -202
  178. data/templates/jquery/jquery.cookie.js +26 -26
  179. data/templates/jquery/jquery.dotimeout.js +227 -227
  180. data/templates/jquery/jquery.dst.js +89 -89
  181. data/templates/jquery/jquery.easing.js +226 -0
  182. data/templates/jquery/jquery.easing.min.js +8 -0
  183. data/templates/jquery/jquery.farbtastic.js +294 -294
  184. data/templates/jquery/jquery.flashMessages.js +14 -14
  185. data/templates/jquery/jquery.form.js +761 -761
  186. data/templates/jquery/jquery.haml.js +247 -247
  187. data/templates/jquery/jquery.hotkeys.js +79 -79
  188. data/templates/jquery/jquery.js +1490 -928
  189. data/templates/jquery/jquery.layout.js +2454 -2454
  190. data/templates/jquery/jquery.mediahelpers.js +216 -0
  191. data/templates/jquery/jquery.mediahelpers.min.js +3 -0
  192. data/templates/jquery/jquery.min.js +177 -166
  193. data/templates/jquery/jquery.mousewheel.js +57 -57
  194. data/templates/jquery/jquery.offline.js +171 -171
  195. data/templates/jquery/jquery.pngFix.js +72 -72
  196. data/templates/jquery/jquery.rails.js +145 -145
  197. data/templates/jquery/jquery.replacetext.js +80 -80
  198. data/templates/jquery/jquery.themeswitchertool.js +195 -195
  199. data/templates/jquery/jquery.tmpl.js +460 -460
  200. data/templates/jquery/jquery.tmplPlus.js +78 -78
  201. data/templates/jquery/jquery.tokeninput.js +480 -475
  202. data/templates/jquery/jquery/ui/_theme.scss +14 -14
  203. data/templates/jquery/jquery/ui/black-tie/ui-icons_4ca300_256x240.png +0 -0
  204. data/templates/jquery/jquery/ui/black-tie/ui-icons_bbbbbb_256x240.png +0 -0
  205. data/templates/jquery/jquery/ui/black-tie/ui-icons_ededed_256x240.png +0 -0
  206. data/templates/jquery/jquery/ui/black-tie/ui-icons_ffcf29_256x240.png +0 -0
  207. data/templates/jquery/jquery/ui/vader/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  208. data/templates/jquery/jquery/ui/vader/ui-icons_bbbbbb_256x240.png +0 -0
  209. data/templates/jquery/jquery/ui/vader/ui-icons_c98000_256x240.png +0 -0
  210. data/templates/jquery/jquery/ui/vader/ui-icons_f29a00_256x240.png +0 -0
  211. data/templates/jquery/json.js +66 -66
  212. data/templates/jquery/json2.js +177 -177
  213. data/templates/jquery/manifest.rb +4 -0
  214. data/templates/jstree/jquery.jstree.js +5918 -5918
  215. data/templates/markitup/app/views/shared/_mark_it_up.parsed.preview.blue.html.haml +9 -0
  216. data/templates/markitup/app/views/shared/_mark_it_up.parsed.preview.html.haml +9 -0
  217. data/templates/markitup/app/views/shared/_mark_it_up.preview.blue.html.haml +8 -0
  218. data/templates/markitup/app/views/shared/_mark_it_up.preview.html.haml +8 -0
  219. data/templates/markitup/config/initializers/mark_it_up.rb +40 -0
  220. data/templates/markitup/jquery.markitup.js +586 -0
  221. data/templates/markitup/jquery.markitup.min.js +1 -0
  222. data/templates/markitup/jquery/markitup/preview/body.blue.png +0 -0
  223. data/templates/markitup/jquery/markitup/preview/bullet.blue.png +0 -0
  224. data/templates/markitup/jquery/markitup/preview/preview.blue.scss +58 -0
  225. data/templates/markitup/jquery/markitup/preview/preview.scss +7 -0
  226. data/templates/markitup/jquery/markitup/sets/bbcode.scss +34 -0
  227. data/templates/markitup/jquery/markitup/sets/bbcode/bold.png +0 -0
  228. data/templates/markitup/jquery/markitup/sets/bbcode/clean.png +0 -0
  229. data/templates/markitup/jquery/markitup/sets/bbcode/code.png +0 -0
  230. data/templates/markitup/jquery/markitup/sets/bbcode/fonts.png +0 -0
  231. data/templates/markitup/jquery/markitup/sets/bbcode/italic.png +0 -0
  232. data/templates/markitup/jquery/markitup/sets/bbcode/link.png +0 -0
  233. data/templates/markitup/jquery/markitup/sets/bbcode/list-bullet.png +0 -0
  234. data/templates/markitup/jquery/markitup/sets/bbcode/list-item.png +0 -0
  235. data/templates/markitup/jquery/markitup/sets/bbcode/list-numeric.png +0 -0
  236. data/templates/markitup/jquery/markitup/sets/bbcode/picture.png +0 -0
  237. data/templates/markitup/jquery/markitup/sets/bbcode/preview.png +0 -0
  238. data/templates/markitup/jquery/markitup/sets/bbcode/quotes.png +0 -0
  239. data/templates/markitup/jquery/markitup/sets/bbcode/stroke.png +0 -0
  240. data/templates/markitup/jquery/markitup/sets/bbcode/underline.png +0 -0
  241. data/templates/markitup/jquery/markitup/sets/css.scss +54 -0
  242. data/templates/markitup/jquery/markitup/sets/css/bold.png +0 -0
  243. data/templates/markitup/jquery/markitup/sets/css/css.png +0 -0
  244. data/templates/markitup/jquery/markitup/sets/css/italic.png +0 -0
  245. data/templates/markitup/jquery/markitup/sets/css/picture.png +0 -0
  246. data/templates/markitup/jquery/markitup/sets/css/stroke.png +0 -0
  247. data/templates/markitup/jquery/markitup/sets/css/tag.png +0 -0
  248. data/templates/markitup/jquery/markitup/sets/css/text_align_center.png +0 -0
  249. data/templates/markitup/jquery/markitup/sets/css/text_align_justify.png +0 -0
  250. data/templates/markitup/jquery/markitup/sets/css/text_align_left.png +0 -0
  251. data/templates/markitup/jquery/markitup/sets/css/text_align_right.png +0 -0
  252. data/templates/markitup/jquery/markitup/sets/css/text_indent.png +0 -0
  253. data/templates/markitup/jquery/markitup/sets/css/text_letterspacing.png +0 -0
  254. data/templates/markitup/jquery/markitup/sets/css/text_linespacing.png +0 -0
  255. data/templates/markitup/jquery/markitup/sets/css/text_lowercase.png +0 -0
  256. data/templates/markitup/jquery/markitup/sets/css/text_padding_bottom.png +0 -0
  257. data/templates/markitup/jquery/markitup/sets/css/text_padding_left.png +0 -0
  258. data/templates/markitup/jquery/markitup/sets/css/text_padding_right.png +0 -0
  259. data/templates/markitup/jquery/markitup/sets/css/text_padding_top.png +0 -0
  260. data/templates/markitup/jquery/markitup/sets/css/text_uppercase.png +0 -0
  261. data/templates/markitup/jquery/markitup/sets/default.scss +22 -0
  262. data/templates/markitup/jquery/markitup/sets/default/bold.png +0 -0
  263. data/templates/markitup/jquery/markitup/sets/default/clean.png +0 -0
  264. data/templates/markitup/jquery/markitup/sets/default/image.png +0 -0
  265. data/templates/markitup/jquery/markitup/sets/default/italic.png +0 -0
  266. data/templates/markitup/jquery/markitup/sets/default/link.png +0 -0
  267. data/templates/markitup/jquery/markitup/sets/default/picture.png +0 -0
  268. data/templates/markitup/jquery/markitup/sets/default/preview.png +0 -0
  269. data/templates/markitup/jquery/markitup/sets/default/stroke.png +0 -0
  270. data/templates/markitup/jquery/markitup/sets/dotclear.scss +38 -0
  271. data/templates/markitup/jquery/markitup/sets/dotclear/bold.png +0 -0
  272. data/templates/markitup/jquery/markitup/sets/dotclear/code.png +0 -0
  273. data/templates/markitup/jquery/markitup/sets/dotclear/h1.png +0 -0
  274. data/templates/markitup/jquery/markitup/sets/dotclear/h2.png +0 -0
  275. data/templates/markitup/jquery/markitup/sets/dotclear/h3.png +0 -0
  276. data/templates/markitup/jquery/markitup/sets/dotclear/h4.png +0 -0
  277. data/templates/markitup/jquery/markitup/sets/dotclear/h5.png +0 -0
  278. data/templates/markitup/jquery/markitup/sets/dotclear/h6.png +0 -0
  279. data/templates/markitup/jquery/markitup/sets/dotclear/italic.png +0 -0
  280. data/templates/markitup/jquery/markitup/sets/dotclear/link.png +0 -0
  281. data/templates/markitup/jquery/markitup/sets/dotclear/list-bullet.png +0 -0
  282. data/templates/markitup/jquery/markitup/sets/dotclear/list-numeric.png +0 -0
  283. data/templates/markitup/jquery/markitup/sets/dotclear/picture.png +0 -0
  284. data/templates/markitup/jquery/markitup/sets/dotclear/preview.png +0 -0
  285. data/templates/markitup/jquery/markitup/sets/dotclear/quotes.png +0 -0
  286. data/templates/markitup/jquery/markitup/sets/dotclear/stroke.png +0 -0
  287. data/templates/markitup/jquery/markitup/sets/dotclear/url.png +0 -0
  288. data/templates/markitup/jquery/markitup/sets/html.scss +42 -0
  289. data/templates/markitup/jquery/markitup/sets/html/bold.png +0 -0
  290. data/templates/markitup/jquery/markitup/sets/html/clean.png +0 -0
  291. data/templates/markitup/jquery/markitup/sets/html/h1.png +0 -0
  292. data/templates/markitup/jquery/markitup/sets/html/h2.png +0 -0
  293. data/templates/markitup/jquery/markitup/sets/html/h3.png +0 -0
  294. data/templates/markitup/jquery/markitup/sets/html/h4.png +0 -0
  295. data/templates/markitup/jquery/markitup/sets/html/h5.png +0 -0
  296. data/templates/markitup/jquery/markitup/sets/html/h6.png +0 -0
  297. data/templates/markitup/jquery/markitup/sets/html/image.png +0 -0
  298. data/templates/markitup/jquery/markitup/sets/html/italic.png +0 -0
  299. data/templates/markitup/jquery/markitup/sets/html/link.png +0 -0
  300. data/templates/markitup/jquery/markitup/sets/html/list-bullet.png +0 -0
  301. data/templates/markitup/jquery/markitup/sets/html/list-item.png +0 -0
  302. data/templates/markitup/jquery/markitup/sets/html/list-numeric.png +0 -0
  303. data/templates/markitup/jquery/markitup/sets/html/paragraph.png +0 -0
  304. data/templates/markitup/jquery/markitup/sets/html/picture.png +0 -0
  305. data/templates/markitup/jquery/markitup/sets/html/preview.png +0 -0
  306. data/templates/markitup/jquery/markitup/sets/html/stroke.png +0 -0
  307. data/templates/markitup/jquery/markitup/sets/markdown.scss +38 -0
  308. data/templates/markitup/jquery/markitup/sets/markdown/bold.png +0 -0
  309. data/templates/markitup/jquery/markitup/sets/markdown/code.png +0 -0
  310. data/templates/markitup/jquery/markitup/sets/markdown/h1.png +0 -0
  311. data/templates/markitup/jquery/markitup/sets/markdown/h2.png +0 -0
  312. data/templates/markitup/jquery/markitup/sets/markdown/h3.png +0 -0
  313. data/templates/markitup/jquery/markitup/sets/markdown/h4.png +0 -0
  314. data/templates/markitup/jquery/markitup/sets/markdown/h5.png +0 -0
  315. data/templates/markitup/jquery/markitup/sets/markdown/h6.png +0 -0
  316. data/templates/markitup/jquery/markitup/sets/markdown/italic.png +0 -0
  317. data/templates/markitup/jquery/markitup/sets/markdown/link.png +0 -0
  318. data/templates/markitup/jquery/markitup/sets/markdown/list-bullet.png +0 -0
  319. data/templates/markitup/jquery/markitup/sets/markdown/list-numeric.png +0 -0
  320. data/templates/markitup/jquery/markitup/sets/markdown/picture.png +0 -0
  321. data/templates/markitup/jquery/markitup/sets/markdown/preview.png +0 -0
  322. data/templates/markitup/jquery/markitup/sets/markdown/quotes.png +0 -0
  323. data/templates/markitup/jquery/markitup/sets/markmin.scss +38 -0
  324. data/templates/markitup/jquery/markitup/sets/markmin/bold.png +0 -0
  325. data/templates/markitup/jquery/markitup/sets/markmin/code.png +0 -0
  326. data/templates/markitup/jquery/markitup/sets/markmin/h1.png +0 -0
  327. data/templates/markitup/jquery/markitup/sets/markmin/h2.png +0 -0
  328. data/templates/markitup/jquery/markitup/sets/markmin/h3.png +0 -0
  329. data/templates/markitup/jquery/markitup/sets/markmin/h4.png +0 -0
  330. data/templates/markitup/jquery/markitup/sets/markmin/h5.png +0 -0
  331. data/templates/markitup/jquery/markitup/sets/markmin/h6.png +0 -0
  332. data/templates/markitup/jquery/markitup/sets/markmin/italic.png +0 -0
  333. data/templates/markitup/jquery/markitup/sets/markmin/link.png +0 -0
  334. data/templates/markitup/jquery/markitup/sets/markmin/list-bullet.png +0 -0
  335. data/templates/markitup/jquery/markitup/sets/markmin/list-numeric.png +0 -0
  336. data/templates/markitup/jquery/markitup/sets/markmin/picture.png +0 -0
  337. data/templates/markitup/jquery/markitup/sets/markmin/preview.png +0 -0
  338. data/templates/markitup/jquery/markitup/sets/markmin/quotes.png +0 -0
  339. data/templates/markitup/jquery/markitup/sets/rest.scss +38 -0
  340. data/templates/markitup/jquery/markitup/sets/rest/bold.png +0 -0
  341. data/templates/markitup/jquery/markitup/sets/rest/code.png +0 -0
  342. data/templates/markitup/jquery/markitup/sets/rest/h1.png +0 -0
  343. data/templates/markitup/jquery/markitup/sets/rest/h2.png +0 -0
  344. data/templates/markitup/jquery/markitup/sets/rest/h3.png +0 -0
  345. data/templates/markitup/jquery/markitup/sets/rest/h4.png +0 -0
  346. data/templates/markitup/jquery/markitup/sets/rest/h5.png +0 -0
  347. data/templates/markitup/jquery/markitup/sets/rest/italic.png +0 -0
  348. data/templates/markitup/jquery/markitup/sets/rest/link.png +0 -0
  349. data/templates/markitup/jquery/markitup/sets/rest/list-bullet.png +0 -0
  350. data/templates/markitup/jquery/markitup/sets/rest/list-numeric.png +0 -0
  351. data/templates/markitup/jquery/markitup/sets/rest/picture.png +0 -0
  352. data/templates/markitup/jquery/markitup/sets/rest/preview.png +0 -0
  353. data/templates/markitup/jquery/markitup/sets/rest/quotes.png +0 -0
  354. data/templates/markitup/jquery/markitup/sets/textile.scss +44 -0
  355. data/templates/markitup/jquery/markitup/sets/textile/bold.png +0 -0
  356. data/templates/markitup/jquery/markitup/sets/textile/code.png +0 -0
  357. data/templates/markitup/jquery/markitup/sets/textile/h1.png +0 -0
  358. data/templates/markitup/jquery/markitup/sets/textile/h2.png +0 -0
  359. data/templates/markitup/jquery/markitup/sets/textile/h3.png +0 -0
  360. data/templates/markitup/jquery/markitup/sets/textile/h4.png +0 -0
  361. data/templates/markitup/jquery/markitup/sets/textile/h5.png +0 -0
  362. data/templates/markitup/jquery/markitup/sets/textile/h6.png +0 -0
  363. data/templates/markitup/jquery/markitup/sets/textile/italic.png +0 -0
  364. data/templates/markitup/jquery/markitup/sets/textile/link.png +0 -0
  365. data/templates/markitup/jquery/markitup/sets/textile/list-bullet.png +0 -0
  366. data/templates/markitup/jquery/markitup/sets/textile/list-numeric.png +0 -0
  367. data/templates/markitup/jquery/markitup/sets/textile/paragraph.png +0 -0
  368. data/templates/markitup/jquery/markitup/sets/textile/picture.png +0 -0
  369. data/templates/markitup/jquery/markitup/sets/textile/preview.png +0 -0
  370. data/templates/markitup/jquery/markitup/sets/textile/quotes.png +0 -0
  371. data/templates/markitup/jquery/markitup/sets/textile/stroke.png +0 -0
  372. data/templates/markitup/jquery/markitup/sets/textile/table.png +0 -0
  373. data/templates/markitup/jquery/markitup/sets/texy.scss +40 -0
  374. data/templates/markitup/jquery/markitup/sets/texy/bold.png +0 -0
  375. data/templates/markitup/jquery/markitup/sets/texy/code.png +0 -0
  376. data/templates/markitup/jquery/markitup/sets/texy/disconnect.png +0 -0
  377. data/templates/markitup/jquery/markitup/sets/texy/h1.png +0 -0
  378. data/templates/markitup/jquery/markitup/sets/texy/h2.png +0 -0
  379. data/templates/markitup/jquery/markitup/sets/texy/h3.png +0 -0
  380. data/templates/markitup/jquery/markitup/sets/texy/h4.png +0 -0
  381. data/templates/markitup/jquery/markitup/sets/texy/h5.png +0 -0
  382. data/templates/markitup/jquery/markitup/sets/texy/h6.png +0 -0
  383. data/templates/markitup/jquery/markitup/sets/texy/italic.png +0 -0
  384. data/templates/markitup/jquery/markitup/sets/texy/link.png +0 -0
  385. data/templates/markitup/jquery/markitup/sets/texy/list-bullet.png +0 -0
  386. data/templates/markitup/jquery/markitup/sets/texy/list-numeric.png +0 -0
  387. data/templates/markitup/jquery/markitup/sets/texy/page_white_code.png +0 -0
  388. data/templates/markitup/jquery/markitup/sets/texy/picture.png +0 -0
  389. data/templates/markitup/jquery/markitup/sets/texy/preview.png +0 -0
  390. data/templates/markitup/jquery/markitup/sets/texy/quotes.png +0 -0
  391. data/templates/markitup/jquery/markitup/sets/texy/stroke.png +0 -0
  392. data/templates/markitup/jquery/markitup/sets/txt2tags.scss +44 -0
  393. data/templates/markitup/jquery/markitup/sets/txt2tags/bold.png +0 -0
  394. data/templates/markitup/jquery/markitup/sets/txt2tags/code.png +0 -0
  395. data/templates/markitup/jquery/markitup/sets/txt2tags/disconnect.png +0 -0
  396. data/templates/markitup/jquery/markitup/sets/txt2tags/h1.png +0 -0
  397. data/templates/markitup/jquery/markitup/sets/txt2tags/h2.png +0 -0
  398. data/templates/markitup/jquery/markitup/sets/txt2tags/h3.png +0 -0
  399. data/templates/markitup/jquery/markitup/sets/txt2tags/h4.png +0 -0
  400. data/templates/markitup/jquery/markitup/sets/txt2tags/h5.png +0 -0
  401. data/templates/markitup/jquery/markitup/sets/txt2tags/italic.png +0 -0
  402. data/templates/markitup/jquery/markitup/sets/txt2tags/link.png +0 -0
  403. data/templates/markitup/jquery/markitup/sets/txt2tags/list-bullet.png +0 -0
  404. data/templates/markitup/jquery/markitup/sets/txt2tags/list-numeric.png +0 -0
  405. data/templates/markitup/jquery/markitup/sets/txt2tags/picture.png +0 -0
  406. data/templates/markitup/jquery/markitup/sets/txt2tags/preview.png +0 -0
  407. data/templates/markitup/jquery/markitup/sets/txt2tags/quotes.png +0 -0
  408. data/templates/markitup/jquery/markitup/sets/txt2tags/stroke.png +0 -0
  409. data/templates/markitup/jquery/markitup/sets/txt2tags/underline.png +0 -0
  410. data/templates/markitup/jquery/markitup/sets/wiki.scss +42 -0
  411. data/templates/markitup/jquery/markitup/sets/wiki/bold.png +0 -0
  412. data/templates/markitup/jquery/markitup/sets/wiki/code.png +0 -0
  413. data/templates/markitup/jquery/markitup/sets/wiki/h1.png +0 -0
  414. data/templates/markitup/jquery/markitup/sets/wiki/h2.png +0 -0
  415. data/templates/markitup/jquery/markitup/sets/wiki/h3.png +0 -0
  416. data/templates/markitup/jquery/markitup/sets/wiki/h4.png +0 -0
  417. data/templates/markitup/jquery/markitup/sets/wiki/h5.png +0 -0
  418. data/templates/markitup/jquery/markitup/sets/wiki/h6.png +0 -0
  419. data/templates/markitup/jquery/markitup/sets/wiki/italic.png +0 -0
  420. data/templates/markitup/jquery/markitup/sets/wiki/link.png +0 -0
  421. data/templates/markitup/jquery/markitup/sets/wiki/list-bullet.png +0 -0
  422. data/templates/markitup/jquery/markitup/sets/wiki/list-numeric.png +0 -0
  423. data/templates/markitup/jquery/markitup/sets/wiki/picture.png +0 -0
  424. data/templates/markitup/jquery/markitup/sets/wiki/preview.png +0 -0
  425. data/templates/markitup/jquery/markitup/sets/wiki/quotes.png +0 -0
  426. data/templates/markitup/jquery/markitup/sets/wiki/stroke.png +0 -0
  427. data/templates/markitup/jquery/markitup/sets/wiki/table.png +0 -0
  428. data/templates/markitup/jquery/markitup/sets/wiki/url.png +0 -0
  429. data/templates/markitup/jquery/markitup/sets/xbbcode.scss +42 -0
  430. data/templates/markitup/jquery/markitup/sets/xbbcode/bold.png +0 -0
  431. data/templates/markitup/jquery/markitup/sets/xbbcode/clean.png +0 -0
  432. data/templates/markitup/jquery/markitup/sets/xbbcode/h1.png +0 -0
  433. data/templates/markitup/jquery/markitup/sets/xbbcode/h2.png +0 -0
  434. data/templates/markitup/jquery/markitup/sets/xbbcode/h3.png +0 -0
  435. data/templates/markitup/jquery/markitup/sets/xbbcode/h4.png +0 -0
  436. data/templates/markitup/jquery/markitup/sets/xbbcode/h5.png +0 -0
  437. data/templates/markitup/jquery/markitup/sets/xbbcode/h6.png +0 -0
  438. data/templates/markitup/jquery/markitup/sets/xbbcode/image.png +0 -0
  439. data/templates/markitup/jquery/markitup/sets/xbbcode/italic.png +0 -0
  440. data/templates/markitup/jquery/markitup/sets/xbbcode/link.png +0 -0
  441. data/templates/markitup/jquery/markitup/sets/xbbcode/list-bullet.png +0 -0
  442. data/templates/markitup/jquery/markitup/sets/xbbcode/list-item.png +0 -0
  443. data/templates/markitup/jquery/markitup/sets/xbbcode/list-numeric.png +0 -0
  444. data/templates/markitup/jquery/markitup/sets/xbbcode/paragraph.png +0 -0
  445. data/templates/markitup/jquery/markitup/sets/xbbcode/picture.png +0 -0
  446. data/templates/markitup/jquery/markitup/sets/xbbcode/preview.png +0 -0
  447. data/templates/markitup/jquery/markitup/sets/xbbcode/stroke.png +0 -0
  448. data/templates/markitup/jquery/markitup/skins/aqua.scss +136 -0
  449. data/templates/markitup/jquery/markitup/skins/aqua/bg-container-white.png +0 -0
  450. data/templates/markitup/jquery/markitup/skins/aqua/bg-container.png +0 -0
  451. data/templates/markitup/jquery/markitup/skins/aqua/bg-footer-white.png +0 -0
  452. data/templates/markitup/jquery/markitup/skins/aqua/bg-footer.png +0 -0
  453. data/templates/markitup/jquery/markitup/skins/aqua/bg-header-white.png +0 -0
  454. data/templates/markitup/jquery/markitup/skins/aqua/bg-header.png +0 -0
  455. data/templates/markitup/jquery/markitup/skins/aqua/handle.png +0 -0
  456. data/templates/markitup/jquery/markitup/skins/aqua/menu.png +0 -0
  457. data/templates/markitup/jquery/markitup/skins/aqua/spacer.gif +0 -0
  458. data/templates/markitup/jquery/markitup/skins/aqua/submenu.png +0 -0
  459. data/templates/markitup/jquery/markitup/skins/jtageditor.scss +141 -0
  460. data/templates/markitup/jquery/markitup/skins/jtageditor/bg-container.png +0 -0
  461. data/templates/markitup/jquery/markitup/skins/jtageditor/bg-editor-bbcode.png +0 -0
  462. data/templates/markitup/jquery/markitup/skins/jtageditor/bg-editor-dotclear.png +0 -0
  463. data/templates/markitup/jquery/markitup/skins/jtageditor/bg-editor-html.png +0 -0
  464. data/templates/markitup/jquery/markitup/skins/jtageditor/bg-editor-markdown.png +0 -0
  465. data/templates/markitup/jquery/markitup/skins/jtageditor/bg-editor-textile.png +0 -0
  466. data/templates/markitup/jquery/markitup/skins/jtageditor/bg-editor-wiki.png +0 -0
  467. data/templates/markitup/jquery/markitup/skins/jtageditor/bg-editor.png +0 -0
  468. data/templates/markitup/jquery/markitup/skins/jtageditor/handle.png +0 -0
  469. data/templates/markitup/jquery/markitup/skins/jtageditor/menu.png +0 -0
  470. data/templates/markitup/jquery/markitup/skins/jtageditor/submenu.png +0 -0
  471. data/templates/markitup/jquery/markitup/skins/live.scss +135 -0
  472. data/templates/markitup/jquery/markitup/skins/live/bg-container.png +0 -0
  473. data/templates/markitup/jquery/markitup/skins/live/bg-footer.png +0 -0
  474. data/templates/markitup/jquery/markitup/skins/live/bg-header.png +0 -0
  475. data/templates/markitup/jquery/markitup/skins/live/editor.png +0 -0
  476. data/templates/markitup/jquery/markitup/skins/live/handle.png +0 -0
  477. data/templates/markitup/jquery/markitup/skins/live/menu.png +0 -0
  478. data/templates/markitup/jquery/markitup/skins/live/submenu.png +0 -0
  479. data/templates/markitup/jquery/markitup/skins/markitup.scss +150 -0
  480. data/templates/markitup/jquery/markitup/skins/markitup/bg-container.png +0 -0
  481. data/templates/markitup/jquery/markitup/skins/markitup/bg-editor-bbcode.png +0 -0
  482. data/templates/markitup/jquery/markitup/skins/markitup/bg-editor-dotclear.png +0 -0
  483. data/templates/markitup/jquery/markitup/skins/markitup/bg-editor-html.png +0 -0
  484. data/templates/markitup/jquery/markitup/skins/markitup/bg-editor-json.png +0 -0
  485. data/templates/markitup/jquery/markitup/skins/markitup/bg-editor-markdown.png +0 -0
  486. data/templates/markitup/jquery/markitup/skins/markitup/bg-editor-textile.png +0 -0
  487. data/templates/markitup/jquery/markitup/skins/markitup/bg-editor-wiki.png +0 -0
  488. data/templates/markitup/jquery/markitup/skins/markitup/bg-editor-xml.png +0 -0
  489. data/templates/markitup/jquery/markitup/skins/markitup/bg-editor.png +0 -0
  490. data/templates/markitup/jquery/markitup/skins/markitup/handle.png +0 -0
  491. data/templates/markitup/jquery/markitup/skins/markitup/menu.png +0 -0
  492. data/templates/markitup/jquery/markitup/skins/markitup/submenu.png +0 -0
  493. data/templates/markitup/jquery/markitup/skins/simple.scss +117 -0
  494. data/templates/markitup/jquery/markitup/skins/simple/handle.png +0 -0
  495. data/templates/markitup/jquery/markitup/skins/simple/menu.png +0 -0
  496. data/templates/markitup/jquery/markitup/skins/simple/submenu.png +0 -0
  497. data/templates/markitup/manifest.rb +311 -0
  498. data/templates/markitup/markitup/jquery.markitup.set.bbcode.js +40 -0
  499. data/templates/markitup/markitup/jquery.markitup.set.bbcode.min.js +3 -0
  500. data/templates/markitup/markitup/jquery.markitup.set.css.js +53 -0
  501. data/templates/markitup/markitup/jquery.markitup.set.css.min.js +5 -0
  502. data/templates/markitup/markitup/jquery.markitup.set.default.js +30 -0
  503. data/templates/markitup/markitup/jquery.markitup.set.default.min.js +2 -0
  504. data/templates/markitup/markitup/jquery.markitup.set.dotclear.js +38 -0
  505. data/templates/markitup/markitup/jquery.markitup.set.dotclear.min.js +3 -0
  506. data/templates/markitup/markitup/jquery.markitup.set.html.js +40 -0
  507. data/templates/markitup/markitup/jquery.markitup.set.html.min.js +4 -0
  508. data/templates/markitup/markitup/jquery.markitup.set.markdown.js +53 -0
  509. data/templates/markitup/markitup/jquery.markitup.set.markdown.min.js +3 -0
  510. data/templates/markitup/markitup/jquery.markitup.set.markmin.js +50 -0
  511. data/templates/markitup/markitup/jquery.markitup.set.markmin.min.js +3 -0
  512. data/templates/markitup/markitup/jquery.markitup.set.rest.js +52 -0
  513. data/templates/markitup/markitup/jquery.markitup.set.rest.min.js +3 -0
  514. data/templates/markitup/markitup/jquery.markitup.set.textile.js +58 -0
  515. data/templates/markitup/markitup/jquery.markitup.set.textile.min.js +4 -0
  516. data/templates/markitup/markitup/jquery.markitup.set.texy.js +52 -0
  517. data/templates/markitup/markitup/jquery.markitup.set.texy.min.js +4 -0
  518. data/templates/markitup/markitup/jquery.markitup.set.txt2tags.js +42 -0
  519. data/templates/markitup/markitup/jquery.markitup.set.txt2tags.min.js +3 -0
  520. data/templates/markitup/markitup/jquery.markitup.set.wiki.js +61 -0
  521. data/templates/markitup/markitup/jquery.markitup.set.wiki.min.js +4 -0
  522. data/templates/markitup/markitup/jquery.markitup.set.xbbcode.js +36 -0
  523. data/templates/markitup/markitup/jquery.markitup.set.xbbcode.min.js +4 -0
  524. data/templates/mobile/config/initializers/mobile.rb +2 -0
  525. data/templates/mobile/jquery.mobile.js +4545 -4454
  526. data/templates/mobile/jquery.mobile.min.js +16 -7
  527. data/templates/mobile/jquery/mobile/960.fluid.scss +191 -0
  528. data/templates/mobile/jquery/mobile/960.scss +213 -0
  529. data/templates/mobile/jquery/mobile/_base.scss +37 -20
  530. data/templates/mobile/jquery/mobile/default.scss +48 -56
  531. data/templates/mobile/jquery/mobile/valencia.scss +43 -44
  532. data/templates/mobile/manifest.rb +2 -0
  533. data/templates/ribbon/jquery.ribbon.js +195 -195
  534. data/templates/ribbon/jquery.ribbon.min.js +1 -1
  535. data/templates/ribbon/jquery/ribbon/office.scss +12 -12
  536. data/templates/ribbon/jquery/ribbon/windows7.scss +12 -12
  537. data/templates/secret_sauce/secret_sauce.js +8 -8
  538. data/templates/tools/flowplayer.js +897 -897
  539. data/templates/tools/jquery.tools.js +3647 -3647
  540. data/templates/tools/jquery.tools.min.js +47 -47
  541. data/templates/tools/swfobject.js +760 -760
  542. metadata +350 -22
@@ -9,92 +9,92 @@
9
9
  * http://jquery.org/license
10
10
  */
11
11
  (function (jQuery) {
12
- var oldComplete = jQuery.tmpl.complete, oldManip = jQuery.fn.domManip;
12
+ var oldComplete = jQuery.tmpl.complete, oldManip = jQuery.fn.domManip;
13
13
 
14
- // Override jQuery.tmpl.complete in order to provide rendered event.
15
- jQuery.tmpl.complete = function(tmplItems) {
16
- var tmplItem;
17
- oldComplete(tmplItems);
18
- for (tmplItem in tmplItems) {
19
- tmplItem = tmplItems[tmplItem];
20
- if (tmplItem.addedTmplItems && jQuery.inArray(tmplItem, tmplItem.addedTmplItems) === -1) {
21
- tmplItem.addedTmplItems.push(tmplItem);
22
- }
23
- }
24
- for (tmplItem in tmplItems) {
25
- tmplItem = tmplItems[tmplItem];
26
- // Raise rendered event
27
- if (tmplItem.rendered) {
28
- tmplItem.rendered(tmplItem);
29
- }
30
- }
31
- };
14
+ // Override jQuery.tmpl.complete in order to provide rendered event.
15
+ jQuery.tmpl.complete = function(tmplItems) {
16
+ var tmplItem;
17
+ oldComplete(tmplItems);
18
+ for (tmplItem in tmplItems) {
19
+ tmplItem = tmplItems[tmplItem];
20
+ if (tmplItem.addedTmplItems && jQuery.inArray(tmplItem, tmplItem.addedTmplItems) === -1) {
21
+ tmplItem.addedTmplItems.push(tmplItem);
22
+ }
23
+ }
24
+ for (tmplItem in tmplItems) {
25
+ tmplItem = tmplItems[tmplItem];
26
+ // Raise rendered event
27
+ if (tmplItem.rendered) {
28
+ tmplItem.rendered(tmplItem);
29
+ }
30
+ }
31
+ };
32
32
 
33
- jQuery.extend({
34
- tmplCmd: function(command, data, tmplItems) {
35
- var retTmplItems = [], before;
33
+ jQuery.extend({
34
+ tmplCmd: function(command, data, tmplItems) {
35
+ var retTmplItems = [], before;
36
36
 
37
- function find(data, tmplItems) {
38
- var found = [], tmplItem, ti, tl = tmplItems.length, dataItem, di = 0, dl = data.length;
39
- for (; di < dl;) {
40
- dataItem = data[di++];
41
- for (ti = 0; ti < tl;) {
42
- tmplItem = tmplItems[ti++];
43
- if (tmplItem.data === dataItem) {
44
- found.push(tmplItem);
45
- }
46
- }
47
- }
48
- return found;
37
+ function find(data, tmplItems) {
38
+ var found = [], tmplItem, ti, tl = tmplItems.length, dataItem, di = 0, dl = data.length;
39
+ for (; di < dl;) {
40
+ dataItem = data[di++];
41
+ for (ti = 0; ti < tl;) {
42
+ tmplItem = tmplItems[ti++];
43
+ if (tmplItem.data === dataItem) {
44
+ found.push(tmplItem);
49
45
  }
46
+ }
47
+ }
48
+ return found;
49
+ }
50
50
 
51
- data = jQuery.isArray(data) ? data : [ data ];
52
- switch (command) {
53
- case "find":
54
- return find(data, tmplItems);
55
- case "replace":
56
- data.reverse();
51
+ data = jQuery.isArray(data) ? data : [ data ];
52
+ switch (command) {
53
+ case "find":
54
+ return find(data, tmplItems);
55
+ case "replace":
56
+ data.reverse();
57
+ }
58
+ jQuery.each(tmplItems ? find(data, tmplItems) : data, function(i, tmplItem) {
59
+ coll = tmplItem.nodes;
60
+ switch (command) {
61
+ case "update":
62
+ tmplItem.update();
63
+ break;
64
+ case "remove":
65
+ jQuery(coll).remove();
66
+ if (tmplItems) {
67
+ tmplItems.splice(jQuery.inArray(tmplItem, tmplItems), 1);
57
68
  }
58
- jQuery.each(tmplItems ? find(data, tmplItems) : data, function(i, tmplItem) {
59
- coll = tmplItem.nodes;
60
- switch (command) {
61
- case "update":
62
- tmplItem.update();
63
- break;
64
- case "remove":
65
- jQuery(coll).remove();
66
- if (tmplItems) {
67
- tmplItems.splice(jQuery.inArray(tmplItem, tmplItems), 1);
68
- }
69
- break;
70
- case "replace":
71
- before = before ?
72
- jQuery(coll).insertBefore(before)[0] :
73
- jQuery(coll).appendTo(coll[0].parentNode)[0];
74
- retTmplItems.unshift(tmplItem);
75
- }
76
- });
77
- return retTmplItems;
69
+ break;
70
+ case "replace":
71
+ before = before ?
72
+ jQuery(coll).insertBefore(before)[0] :
73
+ jQuery(coll).appendTo(coll[0].parentNode)[0];
74
+ retTmplItems.unshift(tmplItem);
78
75
  }
79
- });
76
+ });
77
+ return retTmplItems;
78
+ }
79
+ });
80
80
 
81
- jQuery.fn.extend({
82
- domManip: function (args, table, callback, options) {
83
- var data = args[1], tmpl = args[0], dmArgs;
84
- if (args.length >= 2 && typeof data === "object" && !data.nodeType && !(data instanceof jQuery)) {
85
- // args[1] is data, for a template.
86
- dmArgs = jQuery.makeArray(arguments);
81
+ jQuery.fn.extend({
82
+ domManip: function (args, table, callback, options) {
83
+ var data = args[1], tmpl = args[0], dmArgs;
84
+ if (args.length >= 2 && typeof data === "object" && !data.nodeType && !(data instanceof jQuery)) {
85
+ // args[1] is data, for a template.
86
+ dmArgs = jQuery.makeArray(arguments);
87
87
 
88
- // Eval template to obtain fragment to clone and insert
89
- dmArgs[0] = [ jQuery.tmpl(jQuery.template(tmpl), data, args[2], args[3]) ];
88
+ // Eval template to obtain fragment to clone and insert
89
+ dmArgs[0] = [ jQuery.tmpl(jQuery.template(tmpl), data, args[2], args[3]) ];
90
90
 
91
- dmArgs[2] = function(fragClone) {
92
- // Handler called by oldManip when rendered template has been inserted into DOM.
93
- jQuery.tmpl.afterManip(this, fragClone, callback);
94
- };
95
- return oldManip.apply(this, dmArgs);
96
- }
97
- return oldManip.apply(this, arguments);
98
- }
99
- });
91
+ dmArgs[2] = function(fragClone) {
92
+ // Handler called by oldManip when rendered template has been inserted into DOM.
93
+ jQuery.tmpl.afterManip(this, fragClone, callback);
94
+ };
95
+ return oldManip.apply(this, dmArgs);
96
+ }
97
+ return oldManip.apply(this, arguments);
98
+ }
99
+ });
100
100
  })(jQuery);
@@ -10,7 +10,7 @@
10
10
 
11
11
  (function ($) {
12
12
  // Default settings
13
- var DEFAULT_SETTINGS = {
13
+ var DEFAULT_SETTINGS = {
14
14
  hintText: "Type in a search term",
15
15
  noResultsText: "No results",
16
16
  searchingText: "Searching...",
@@ -29,10 +29,10 @@ var DEFAULT_SETTINGS = {
29
29
  onResult: null,
30
30
  onAdd: null,
31
31
  onDelete: null
32
- };
32
+ };
33
33
 
34
34
  // Default classes to use when theming
35
- var DEFAULT_CLASSES = {
35
+ var DEFAULT_CLASSES = {
36
36
  tokenList: "token-input-list",
37
37
  token: "token-input-token",
38
38
  tokenDelete: "token-input-delete-token",
@@ -43,17 +43,17 @@ var DEFAULT_CLASSES = {
43
43
  dropdownItem2: "token-input-dropdown-item2",
44
44
  selectedDropdownItem: "token-input-selected-dropdown-item",
45
45
  inputToken: "token-input-input-token"
46
- };
46
+ };
47
47
 
48
48
  // Input box position "enum"
49
- var POSITION = {
49
+ var POSITION = {
50
50
  BEFORE: 0,
51
51
  AFTER: 1,
52
52
  END: 2
53
- };
53
+ };
54
54
 
55
55
  // Keys "enum"
56
- var KEY = {
56
+ var KEY = {
57
57
  BACKSPACE: 8,
58
58
  TAB: 9,
59
59
  ENTER: 13,
@@ -69,55 +69,55 @@ var KEY = {
69
69
  DOWN: 40,
70
70
  NUMPAD_ENTER: 108,
71
71
  COMMA: 188
72
- };
72
+ };
73
73
 
74
74
 
75
75
  // Expose the .tokenInput function to jQuery as a plugin
76
- $.fn.tokenInput = function (url_or_data, options) {
76
+ $.fn.tokenInput = function (url_or_data, options) {
77
77
  var settings = $.extend({}, DEFAULT_SETTINGS, options || {});
78
78
 
79
79
  return this.each(function () {
80
- new $.TokenList(this, url_or_data, settings);
80
+ new $.TokenList(this, url_or_data, settings);
81
81
  });
82
- };
82
+ };
83
83
 
84
84
 
85
85
  // TokenList class for each input
86
- $.TokenList = function (input, url_or_data, settings) {
86
+ $.TokenList = function (input, url_or_data, settings) {
87
87
  //
88
88
  // Initialization
89
89
  //
90
90
 
91
91
  // Configure the data source
92
- if(typeof(url_or_data) === "string") {
93
- // Set the url to query against
94
- settings.url = url_or_data;
95
-
96
- // Make a smart guess about cross-domain if it wasn't explicitly specified
97
- if(settings.crossDomain === undefined) {
98
- if(settings.url.indexOf("://") === -1) {
99
- settings.crossDomain = false;
100
- } else {
101
- settings.crossDomain = (location.href.split(/\/+/g)[1] !== settings.url.split(/\/+/g)[1]);
102
- }
92
+ if (typeof(url_or_data) === "string") {
93
+ // Set the url to query against
94
+ settings.url = url_or_data;
95
+
96
+ // Make a smart guess about cross-domain if it wasn't explicitly specified
97
+ if (settings.crossDomain === undefined) {
98
+ if (settings.url.indexOf("://") === -1) {
99
+ settings.crossDomain = false;
100
+ } else {
101
+ settings.crossDomain = (location.href.split(/\/+/g)[1] !== settings.url.split(/\/+/g)[1]);
103
102
  }
104
- } else if(typeof(url_or_data) === "object") {
105
- // Set the local data to search through
106
- settings.local_data = url_or_data;
103
+ }
104
+ } else if (typeof(url_or_data) === "object") {
105
+ // Set the local data to search through
106
+ settings.local_data = url_or_data;
107
107
  }
108
108
 
109
109
  // Build class names
110
- if(settings.classes) {
111
- // Use custom class names
112
- settings.classes = $.extend({}, DEFAULT_CLASSES, settings.classes);
113
- } else if(settings.theme) {
114
- // Use theme-suffixed default class names
115
- settings.classes = {};
116
- $.each(DEFAULT_CLASSES, function(key, value) {
117
- settings.classes[key] = value + "-" + settings.theme;
118
- });
110
+ if (settings.classes) {
111
+ // Use custom class names
112
+ settings.classes = $.extend({}, DEFAULT_CLASSES, settings.classes);
113
+ } else if (settings.theme) {
114
+ // Use theme-suffixed default class names
115
+ settings.classes = {};
116
+ $.each(DEFAULT_CLASSES, function(key, value) {
117
+ settings.classes[key] = value + "-" + settings.theme;
118
+ });
119
119
  } else {
120
- settings.classes = DEFAULT_CLASSES;
120
+ settings.classes = DEFAULT_CLASSES;
121
121
  }
122
122
 
123
123
 
@@ -136,113 +136,117 @@ $.TokenList = function (input, url_or_data, settings) {
136
136
 
137
137
  // Create a new text input an attach keyup events
138
138
  var input_box = $("<input type=\"text\" autocomplete=\"off\">")
139
- .css({
140
- outline: "none"
141
- })
142
- .focus(function () {
143
- if (settings.tokenLimit === null || settings.tokenLimit !== token_count) {
144
- show_dropdown_hint();
139
+ .css({
140
+ outline: "none"
141
+ })
142
+ .focus(function () {
143
+ if (settings.tokenLimit === null || settings.tokenLimit !== token_count) {
144
+ show_dropdown_hint();
145
+ }
146
+ })
147
+ .blur(function () {
148
+ hide_dropdown();
149
+ })
150
+ .bind("keyup keydown blur update", resize_input)
151
+ .keydown(function (event) {
152
+ var previous_token;
153
+ var next_token;
154
+
155
+ switch (event.keyCode) {
156
+ case KEY.LEFT:
157
+ case KEY.RIGHT:
158
+ case KEY.UP:
159
+ case KEY.DOWN:
160
+ if (!$(this).val()) {
161
+ previous_token = input_token.prev();
162
+ next_token = input_token.next();
163
+
164
+ if ((previous_token.length && previous_token.get(0) === selected_token) || (next_token.length && next_token.get(0) === selected_token)) {
165
+ // Check if there is a previous/next token and it is selected
166
+ if (event.keyCode === KEY.LEFT || event.keyCode === KEY.UP) {
167
+ deselect_token($(selected_token), POSITION.BEFORE);
168
+ } else {
169
+ deselect_token($(selected_token), POSITION.AFTER);
170
+ }
171
+ } else if ((event.keyCode === KEY.LEFT || event.keyCode === KEY.UP) && previous_token.length) {
172
+ // We are moving left, select the previous token if it exists
173
+ select_token($(previous_token.get(0)));
174
+ } else if ((event.keyCode === KEY.RIGHT || event.keyCode === KEY.DOWN) && next_token.length) {
175
+ // We are moving right, select the next token if it exists
176
+ select_token($(next_token.get(0)));
145
177
  }
146
- })
147
- .blur(function () {
148
- hide_dropdown();
149
- })
150
- .bind("keyup keydown blur update", resize_input)
151
- .keydown(function (event) {
152
- var previous_token;
153
- var next_token;
154
-
155
- switch(event.keyCode) {
156
- case KEY.LEFT:
157
- case KEY.RIGHT:
158
- case KEY.UP:
159
- case KEY.DOWN:
160
- if(!$(this).val()) {
161
- previous_token = input_token.prev();
162
- next_token = input_token.next();
163
-
164
- if((previous_token.length && previous_token.get(0) === selected_token) || (next_token.length && next_token.get(0) === selected_token)) {
165
- // Check if there is a previous/next token and it is selected
166
- if(event.keyCode === KEY.LEFT || event.keyCode === KEY.UP) {
167
- deselect_token($(selected_token), POSITION.BEFORE);
168
- } else {
169
- deselect_token($(selected_token), POSITION.AFTER);
170
- }
171
- } else if((event.keyCode === KEY.LEFT || event.keyCode === KEY.UP) && previous_token.length) {
172
- // We are moving left, select the previous token if it exists
173
- select_token($(previous_token.get(0)));
174
- } else if((event.keyCode === KEY.RIGHT || event.keyCode === KEY.DOWN) && next_token.length) {
175
- // We are moving right, select the next token if it exists
176
- select_token($(next_token.get(0)));
177
- }
178
- } else {
179
- var dropdown_item = null;
180
-
181
- if(event.keyCode === KEY.DOWN || event.keyCode === KEY.RIGHT) {
182
- dropdown_item = $(selected_dropdown_item).next();
183
- } else {
184
- dropdown_item = $(selected_dropdown_item).prev();
185
- }
186
-
187
- if(dropdown_item.length) {
188
- select_dropdown_item(dropdown_item);
189
- }
190
- return false;
191
- }
192
- break;
193
-
194
- case KEY.BACKSPACE:
195
- previous_token = input_token.prev();
196
-
197
- if(!$(this).val().length) {
198
- if(selected_token) {
199
- delete_token($(selected_token));
200
- } else if(previous_token.length) {
201
- select_token($(previous_token.get(0)));
202
- }
203
-
204
- return false;
205
- } else if($(this).val().length === 1) {
206
- hide_dropdown();
207
- } else {
208
- // set a timeout just long enough to let this function finish.
209
- setTimeout(function(){do_search();}, 5);
210
- }
211
- break;
212
-
213
- case KEY.TAB:
214
- case KEY.ENTER:
215
- case KEY.NUMPAD_ENTER:
216
- case KEY.COMMA:
217
- if(selected_dropdown_item) {
218
- add_token($(selected_dropdown_item));
219
- return false;
220
- }
221
- break;
222
-
223
- case KEY.ESCAPE:
224
- hide_dropdown();
225
- return true;
226
-
227
- default:
228
- if(String.fromCharCode(event.which)) {
229
- // set a timeout just long enough to let this function finish.
230
- setTimeout(function(){do_search();}, 5);
231
- }
232
- break;
178
+ } else {
179
+ var dropdown_item = null;
180
+
181
+ if (event.keyCode === KEY.DOWN || event.keyCode === KEY.RIGHT) {
182
+ dropdown_item = $(selected_dropdown_item).next();
183
+ } else {
184
+ dropdown_item = $(selected_dropdown_item).prev();
185
+ }
186
+
187
+ if (dropdown_item.length) {
188
+ select_dropdown_item(dropdown_item);
189
+ }
190
+ return false;
191
+ }
192
+ break;
193
+
194
+ case KEY.BACKSPACE:
195
+ previous_token = input_token.prev();
196
+
197
+ if (!$(this).val().length) {
198
+ if (selected_token) {
199
+ delete_token($(selected_token));
200
+ } else if (previous_token.length) {
201
+ select_token($(previous_token.get(0)));
233
202
  }
234
- });
203
+
204
+ return false;
205
+ } else if ($(this).val().length === 1) {
206
+ hide_dropdown();
207
+ } else {
208
+ // set a timeout just long enough to let this function finish.
209
+ setTimeout(function() {
210
+ do_search();
211
+ }, 5);
212
+ }
213
+ break;
214
+
215
+ case KEY.TAB:
216
+ case KEY.ENTER:
217
+ case KEY.NUMPAD_ENTER:
218
+ case KEY.COMMA:
219
+ if (selected_dropdown_item) {
220
+ add_token($(selected_dropdown_item));
221
+ return false;
222
+ }
223
+ break;
224
+
225
+ case KEY.ESCAPE:
226
+ hide_dropdown();
227
+ return true;
228
+
229
+ default:
230
+ if (String.fromCharCode(event.which)) {
231
+ // set a timeout just long enough to let this function finish.
232
+ setTimeout(function() {
233
+ do_search();
234
+ }, 5);
235
+ }
236
+ break;
237
+ }
238
+ });
235
239
 
236
240
  // Keep a reference to the original input box
237
241
  var hidden_input = $(input)
238
- .hide()
239
- .val("")
240
- .focus(function () {
241
- input_box.focus();
242
- })
243
- .blur(function () {
244
- input_box.blur();
245
- });
242
+ .hide()
243
+ .val("")
244
+ .focus(function () {
245
+ input_box.focus();
246
+ })
247
+ .blur(function () {
248
+ input_box.blur();
249
+ });
246
250
 
247
251
  // Keep a reference to the selected token and dropdown item
248
252
  var selected_token = null;
@@ -251,479 +255,480 @@ $.TokenList = function (input, url_or_data, settings) {
251
255
 
252
256
  // The list to store the token items in
253
257
  var token_list = $("<ul />")
254
- .addClass(settings.classes.tokenList)
255
- .click(function (event) {
256
- var li = $(event.target).closest("li");
257
- if(li && li.get(0) && $.data(li.get(0), "tokeninput")) {
258
- toggle_select_token(li);
259
- } else {
260
- // Deselect selected token
261
- if(selected_token) {
262
- deselect_token($(selected_token), POSITION.END);
263
- }
258
+ .addClass(settings.classes.tokenList)
259
+ .click(function (event) {
260
+ var li = $(event.target).closest("li");
261
+ if (li && li.get(0) && $.data(li.get(0), "tokeninput")) {
262
+ toggle_select_token(li);
263
+ } else {
264
+ // Deselect selected token
265
+ if (selected_token) {
266
+ deselect_token($(selected_token), POSITION.END);
267
+ }
264
268
 
265
- // Focus input box
266
- input_box.focus();
267
- }
268
- })
269
- .mouseover(function (event) {
270
- var li = $(event.target).closest("li");
271
- if(li && selected_token !== this) {
272
- li.addClass(settings.classes.highlightedToken);
273
- }
274
- })
275
- .mouseout(function (event) {
276
- var li = $(event.target).closest("li");
277
- if(li && selected_token !== this) {
278
- li.removeClass(settings.classes.highlightedToken);
279
- }
280
- })
281
- .insertBefore(hidden_input);
269
+ // Focus input box
270
+ input_box.focus();
271
+ }
272
+ })
273
+ .mouseover(function (event) {
274
+ var li = $(event.target).closest("li");
275
+ if (li && selected_token !== this) {
276
+ li.addClass(settings.classes.highlightedToken);
277
+ }
278
+ })
279
+ .mouseout(function (event) {
280
+ var li = $(event.target).closest("li");
281
+ if (li && selected_token !== this) {
282
+ li.removeClass(settings.classes.highlightedToken);
283
+ }
284
+ })
285
+ .insertBefore(hidden_input);
282
286
 
283
287
  // The token holding the input box
284
288
  var input_token = $("<li />")
285
- .addClass(settings.classes.inputToken)
286
- .appendTo(token_list)
287
- .append(input_box);
289
+ .addClass(settings.classes.inputToken)
290
+ .appendTo(token_list)
291
+ .append(input_box);
288
292
 
289
293
  // The list to store the dropdown items in
290
294
  var dropdown = $("<div>")
291
- .addClass(settings.classes.dropdown)
292
- .appendTo("body")
293
- .hide();
295
+ .addClass(settings.classes.dropdown)
296
+ .appendTo("body")
297
+ .hide();
294
298
 
295
299
  // Magic element to help us resize the text input
296
300
  var input_resizer = $("<tester/>")
297
- .insertAfter(input_box)
298
- .css({
299
- position: "absolute",
300
- top: -9999,
301
- left: -9999,
302
- width: "auto",
303
- fontSize: input_box.css("fontSize"),
304
- fontFamily: input_box.css("fontFamily"),
305
- fontWeight: input_box.css("fontWeight"),
306
- letterSpacing: input_box.css("letterSpacing"),
307
- whiteSpace: "nowrap"
308
- });
301
+ .insertAfter(input_box)
302
+ .css({
303
+ position: "absolute",
304
+ top: -9999,
305
+ left: -9999,
306
+ width: "auto",
307
+ fontSize: input_box.css("fontSize"),
308
+ fontFamily: input_box.css("fontFamily"),
309
+ fontWeight: input_box.css("fontWeight"),
310
+ letterSpacing: input_box.css("letterSpacing"),
311
+ whiteSpace: "nowrap"
312
+ });
309
313
 
310
314
  // Pre-populate list if items exist
311
315
  hidden_input.val("");
312
316
  li_data = settings.prePopulate || hidden_input.data("pre");
313
- if(li_data && li_data.length) {
314
- $.each(li_data, function (index, value) {
315
- insert_token(value.id, value.name);
316
- });
317
+ if (li_data && li_data.length) {
318
+ $.each(li_data, function (index, value) {
319
+ insert_token(value.id, value.name);
320
+ });
317
321
  }
318
322
 
319
323
 
320
-
321
324
  //
322
325
  // Private functions
323
326
  //
324
327
 
325
328
  function resize_input() {
326
- if(input_val === (input_val = input_box.val())) {return;}
327
-
328
- // Enter new content into resizer and resize input accordingly
329
- var escaped = input_val.replace(/&/g, '&amp;').replace(/\s/g,' ').replace(/</g, '&lt;').replace(/>/g, '&gt;');
330
- input_resizer.html(escaped);
331
- input_box.width(input_resizer.width() + 30);
329
+ if (input_val === (input_val = input_box.val())) {
330
+ return;
331
+ }
332
+
333
+ // Enter new content into resizer and resize input accordingly
334
+ var escaped = input_val.replace(/&/g, '&amp;').replace(/\s/g, ' ').replace(/</g, '&lt;').replace(/>/g, '&gt;');
335
+ input_resizer.html(escaped);
336
+ input_box.width(input_resizer.width() + 30);
332
337
  }
333
338
 
334
339
  function is_printable_character(keycode) {
335
- return ((keycode >= 48 && keycode <= 90) || // 0-1a-z
336
- (keycode >= 96 && keycode <= 111) || // numpad 0-9 + - / * .
337
- (keycode >= 186 && keycode <= 192) || // ; = , - . / ^
338
- (keycode >= 219 && keycode <= 222)); // ( \ ) '
340
+ return ((keycode >= 48 && keycode <= 90) || // 0-1a-z
341
+ (keycode >= 96 && keycode <= 111) || // numpad 0-9 + - / * .
342
+ (keycode >= 186 && keycode <= 192) || // ; = , - . / ^
343
+ (keycode >= 219 && keycode <= 222)); // ( \ ) '
339
344
  }
340
345
 
341
346
  // Inner function to a token to the list
342
347
  function insert_token(id, value) {
343
- var this_token = $("<li><p>"+ value +"</p></li>")
344
- .addClass(settings.classes.token)
345
- .insertBefore(input_token);
346
-
347
- // The 'delete token' button
348
- $("<span>" + settings.deleteText + "</span>")
349
- .addClass(settings.classes.tokenDelete)
350
- .appendTo(this_token)
351
- .click(function () {
352
- delete_token($(this).parent());
353
- return false;
354
- });
355
-
356
- // Store data on the token
357
- var token_data = {"id": id, "name": value};
358
- $.data(this_token.get(0), "tokeninput", token_data);
359
-
360
- // Save this token for duplicate checking
361
- saved_tokens = saved_tokens.slice(0,selected_token_index).concat([token_data]).concat(saved_tokens.slice(selected_token_index));
362
- selected_token_index++;
363
-
364
- // Update the hidden input
365
- var token_ids = $.map(saved_tokens, function (el) {
366
- return el.id;
367
- });
368
- hidden_input.val(token_ids.join(settings.tokenDelimiter));
369
-
370
- token_count += 1;
371
-
372
- return this_token;
348
+ var this_token = $("<li><p>" + value + "</p></li>")
349
+ .addClass(settings.classes.token)
350
+ .insertBefore(input_token);
351
+
352
+ // The 'delete token' button
353
+ $("<span>" + settings.deleteText + "</span>")
354
+ .addClass(settings.classes.tokenDelete)
355
+ .appendTo(this_token)
356
+ .click(function () {
357
+ delete_token($(this).parent());
358
+ return false;
359
+ });
360
+
361
+ // Store data on the token
362
+ var token_data = {"id": id, "name": value};
363
+ $.data(this_token.get(0), "tokeninput", token_data);
364
+
365
+ // Save this token for duplicate checking
366
+ saved_tokens = saved_tokens.slice(0, selected_token_index).concat([token_data]).concat(saved_tokens.slice(selected_token_index));
367
+ selected_token_index++;
368
+
369
+ // Update the hidden input
370
+ var token_ids = $.map(saved_tokens, function (el) {
371
+ return el.id;
372
+ });
373
+ hidden_input.val(token_ids.join(settings.tokenDelimiter));
374
+
375
+ token_count += 1;
376
+
377
+ return this_token;
373
378
  }
374
379
 
375
380
  // Add a token to the token list based on user input
376
- function add_token (item) {
377
- var li_data = $.data(item.get(0), "tokeninput");
378
- var callback = settings.onAdd;
379
-
380
- // See if the token already exists and select it if we don't want duplicates
381
- if(token_count > 0 && settings.preventDuplicates) {
382
- var found_existing_token = null;
383
- token_list.children().each(function () {
384
- var existing_token = $(this);
385
- var existing_data = $.data(existing_token.get(0), "tokeninput");
386
- if(existing_data && existing_data.id === li_data.id) {
387
- found_existing_token = existing_token;
388
- return false;
389
- }
390
- });
381
+ function add_token(item) {
382
+ var li_data = $.data(item.get(0), "tokeninput");
383
+ var callback = settings.onAdd;
384
+
385
+ // See if the token already exists and select it if we don't want duplicates
386
+ if (token_count > 0 && settings.preventDuplicates) {
387
+ var found_existing_token = null;
388
+ token_list.children().each(function () {
389
+ var existing_token = $(this);
390
+ var existing_data = $.data(existing_token.get(0), "tokeninput");
391
+ if (existing_data && existing_data.id === li_data.id) {
392
+ found_existing_token = existing_token;
393
+ return false;
394
+ }
395
+ });
391
396
 
392
- if(found_existing_token) {
393
- select_token(found_existing_token);
394
- input_token.insertAfter(found_existing_token);
395
- input_box.focus();
396
- return;
397
- }
397
+ if (found_existing_token) {
398
+ select_token(found_existing_token);
399
+ input_token.insertAfter(found_existing_token);
400
+ input_box.focus();
401
+ return;
398
402
  }
403
+ }
399
404
 
400
- // Insert the new tokens
401
- insert_token(li_data.id, li_data.name);
405
+ // Insert the new tokens
406
+ insert_token(li_data.id, li_data.name);
402
407
 
403
- // Check the token limit
404
- if(settings.tokenLimit !== null && token_count >= settings.tokenLimit) {
405
- input_box.hide();
406
- hide_dropdown();
407
- return;
408
- } else {
409
- input_box.focus();
410
- }
408
+ // Check the token limit
409
+ if (settings.tokenLimit !== null && token_count >= settings.tokenLimit) {
410
+ input_box.hide();
411
+ hide_dropdown();
412
+ return;
413
+ } else {
414
+ input_box.focus();
415
+ }
411
416
 
412
- // Clear input box
413
- input_box.val("");
417
+ // Clear input box
418
+ input_box.val("");
414
419
 
415
- // Don't show the help dropdown, they've got the idea
416
- hide_dropdown();
420
+ // Don't show the help dropdown, they've got the idea
421
+ hide_dropdown();
417
422
 
418
- // Execute the onAdd callback if defined
419
- if($.isFunction(callback)) {
420
- callback(li_data);
421
- }
423
+ // Execute the onAdd callback if defined
424
+ if ($.isFunction(callback)) {
425
+ callback(li_data);
426
+ }
422
427
  }
423
428
 
424
429
  // Select a token in the token list
425
- function select_token (token) {
426
- token.addClass(settings.classes.selectedToken);
427
- selected_token = token.get(0);
430
+ function select_token(token) {
431
+ token.addClass(settings.classes.selectedToken);
432
+ selected_token = token.get(0);
428
433
 
429
- // Hide input box
430
- input_box.val("");
434
+ // Hide input box
435
+ input_box.val("");
431
436
 
432
- // Hide dropdown if it is visible (eg if we clicked to select token)
433
- hide_dropdown();
437
+ // Hide dropdown if it is visible (eg if we clicked to select token)
438
+ hide_dropdown();
434
439
  }
435
440
 
436
441
  // Deselect a token in the token list
437
- function deselect_token (token, position) {
438
- token.removeClass(settings.classes.selectedToken);
439
- selected_token = null;
440
-
441
- if(position === POSITION.BEFORE) {
442
- input_token.insertBefore(token);
443
- selected_token_index--;
444
- } else if(position === POSITION.AFTER) {
445
- input_token.insertAfter(token);
446
- selected_token_index++;
447
- } else {
448
- input_token.appendTo(token_list);
449
- selected_token_index = token_count;
450
- }
442
+ function deselect_token(token, position) {
443
+ token.removeClass(settings.classes.selectedToken);
444
+ selected_token = null;
445
+
446
+ if (position === POSITION.BEFORE) {
447
+ input_token.insertBefore(token);
448
+ selected_token_index--;
449
+ } else if (position === POSITION.AFTER) {
450
+ input_token.insertAfter(token);
451
+ selected_token_index++;
452
+ } else {
453
+ input_token.appendTo(token_list);
454
+ selected_token_index = token_count;
455
+ }
451
456
 
452
- // Show the input box and give it focus again
453
- input_box.focus();
457
+ // Show the input box and give it focus again
458
+ input_box.focus();
454
459
  }
455
460
 
456
461
  // Toggle selection of a token in the token list
457
462
  function toggle_select_token(token) {
458
- var previous_selected_token = selected_token;
463
+ var previous_selected_token = selected_token;
459
464
 
460
- if(selected_token) {
461
- deselect_token($(selected_token), POSITION.END);
462
- }
465
+ if (selected_token) {
466
+ deselect_token($(selected_token), POSITION.END);
467
+ }
463
468
 
464
- if(previous_selected_token === token.get(0)) {
465
- deselect_token(token, POSITION.END);
466
- } else {
467
- select_token(token);
468
- }
469
+ if (previous_selected_token === token.get(0)) {
470
+ deselect_token(token, POSITION.END);
471
+ } else {
472
+ select_token(token);
473
+ }
469
474
  }
470
475
 
471
476
  // Delete a token from the token list
472
- function delete_token (token) {
473
- // Remove the id from the saved list
474
- var token_data = $.data(token.get(0), "tokeninput");
475
- var callback = settings.onDelete;
477
+ function delete_token(token) {
478
+ // Remove the id from the saved list
479
+ var token_data = $.data(token.get(0), "tokeninput");
480
+ var callback = settings.onDelete;
476
481
 
477
- var index = token.prevAll().length;
478
- if(index > selected_token_index) index--;
482
+ var index = token.prevAll().length;
483
+ if (index > selected_token_index) index--;
479
484
 
480
- // Delete the token
481
- token.remove();
482
- selected_token = null;
485
+ // Delete the token
486
+ token.remove();
487
+ selected_token = null;
483
488
 
484
- // Show the input box and give it focus again
485
- input_box.focus();
489
+ // Show the input box and give it focus again
490
+ input_box.focus();
486
491
 
487
- // Remove this token from the saved list
488
- saved_tokens = saved_tokens.slice(0,index).concat(saved_tokens.slice(index+1));
489
- if(index < selected_token_index) selected_token_index--;
492
+ // Remove this token from the saved list
493
+ saved_tokens = saved_tokens.slice(0, index).concat(saved_tokens.slice(index + 1));
494
+ if (index < selected_token_index) selected_token_index--;
490
495
 
491
- // Update the hidden input
492
- var token_ids = $.map(saved_tokens, function (el) {
493
- return el.id;
494
- });
495
- hidden_input.val(token_ids.join(settings.tokenDelimiter));
496
+ // Update the hidden input
497
+ var token_ids = $.map(saved_tokens, function (el) {
498
+ return el.id;
499
+ });
500
+ hidden_input.val(token_ids.join(settings.tokenDelimiter));
496
501
 
497
- token_count -= 1;
502
+ token_count -= 1;
498
503
 
499
- if(settings.tokenLimit !== null) {
500
- input_box
504
+ if (settings.tokenLimit !== null) {
505
+ input_box
501
506
  .show()
502
507
  .val("")
503
508
  .focus();
504
- }
509
+ }
505
510
 
506
- // Execute the onDelete callback if defined
507
- if($.isFunction(callback)) {
508
- callback(token_data);
509
- }
511
+ // Execute the onDelete callback if defined
512
+ if ($.isFunction(callback)) {
513
+ callback(token_data);
514
+ }
510
515
  }
511
516
 
512
517
  // Hide and clear the results dropdown
513
- function hide_dropdown () {
514
- dropdown.hide().empty();
515
- selected_dropdown_item = null;
518
+ function hide_dropdown() {
519
+ dropdown.hide().empty();
520
+ selected_dropdown_item = null;
516
521
  }
517
522
 
518
523
  function show_dropdown() {
519
- dropdown
520
- .css({
521
- position: "absolute",
522
- top: $(token_list).offset().top + $(token_list).outerHeight(),
523
- left: $(token_list).offset().left,
524
- zindex: 999
525
- })
526
- .show();
524
+ dropdown
525
+ .css({
526
+ position: "absolute",
527
+ top: $(token_list).offset().top + $(token_list).outerHeight(),
528
+ left: $(token_list).offset().left,
529
+ zindex: 999
530
+ })
531
+ .show();
527
532
  }
528
533
 
529
- function show_dropdown_searching () {
530
- if(settings.searchingText) {
531
- dropdown.html("<p>"+settings.searchingText+"</p>");
532
- show_dropdown();
533
- }
534
+ function show_dropdown_searching() {
535
+ if (settings.searchingText) {
536
+ dropdown.html("<p>" + settings.searchingText + "</p>");
537
+ show_dropdown();
538
+ }
534
539
  }
535
540
 
536
- function show_dropdown_hint () {
537
- if(settings.hintText) {
538
- dropdown.html("<p>"+settings.hintText+"</p>");
539
- show_dropdown();
540
- }
541
+ function show_dropdown_hint() {
542
+ if (settings.hintText) {
543
+ dropdown.html("<p>" + settings.hintText + "</p>");
544
+ show_dropdown();
545
+ }
541
546
  }
542
547
 
543
548
  // Highlight the query part of the search term
544
549
  function highlight_term(value, term) {
545
- return value.replace(new RegExp("(?![^&;]+;)(?!<[^<>]*)(" + term + ")(?![^<>]*>)(?![^&;]+;)", "gi"), "<b>$1</b>");
550
+ return value.replace(new RegExp("(?![^&;]+;)(?!<[^<>]*)(" + term + ")(?![^<>]*>)(?![^&;]+;)", "gi"), "<b>$1</b>");
546
551
  }
547
552
 
548
553
  // Populate the results dropdown with some results
549
- function populate_dropdown (query, results) {
550
- if(results && results.length) {
551
- dropdown.empty();
552
- var dropdown_ul = $("<ul>")
554
+ function populate_dropdown(query, results) {
555
+ if (results && results.length) {
556
+ dropdown.empty();
557
+ var dropdown_ul = $("<ul>")
553
558
  .appendTo(dropdown)
554
559
  .mouseover(function (event) {
555
- select_dropdown_item($(event.target).closest("li"));
556
- })
560
+ select_dropdown_item($(event.target).closest("li"));
561
+ })
557
562
  .mousedown(function (event) {
558
- add_token($(event.target).closest("li"));
559
- return false;
560
- })
563
+ add_token($(event.target).closest("li"));
564
+ return false;
565
+ })
561
566
  .hide();
562
567
 
563
- $.each(results, function(index, value) {
564
- var this_li = $("<li>" + highlight_term(value.name, query) + "</li>")
565
- .appendTo(dropdown_ul);
568
+ $.each(results, function(index, value) {
569
+ var this_li = $("<li>" + highlight_term(value.name, query) + "</li>")
570
+ .appendTo(dropdown_ul);
566
571
 
567
- if(index % 2) {
568
- this_li.addClass(settings.classes.dropdownItem);
569
- } else {
570
- this_li.addClass(settings.classes.dropdownItem2);
571
- }
572
+ if (index % 2) {
573
+ this_li.addClass(settings.classes.dropdownItem);
574
+ } else {
575
+ this_li.addClass(settings.classes.dropdownItem2);
576
+ }
572
577
 
573
- if(index === 0) {
574
- select_dropdown_item(this_li);
575
- }
578
+ if (index === 0) {
579
+ select_dropdown_item(this_li);
580
+ }
576
581
 
577
- $.data(this_li.get(0), "tokeninput", {"id": value.id, "name": value.name});
578
- });
582
+ $.data(this_li.get(0), "tokeninput", {"id": value.id, "name": value.name});
583
+ });
579
584
 
580
- show_dropdown();
585
+ show_dropdown();
581
586
 
582
- if(settings.animateDropdown) {
583
- dropdown_ul.slideDown("fast");
584
- } else {
585
- dropdown_ul.show();
586
- }
587
+ if (settings.animateDropdown) {
588
+ dropdown_ul.slideDown("fast");
587
589
  } else {
588
- if(settings.noResultsText) {
589
- dropdown.html("<p>"+settings.noResultsText+"</p>");
590
- show_dropdown();
591
- }
590
+ dropdown_ul.show();
592
591
  }
592
+ } else {
593
+ if (settings.noResultsText) {
594
+ dropdown.html("<p>" + settings.noResultsText + "</p>");
595
+ show_dropdown();
596
+ }
597
+ }
593
598
  }
594
599
 
595
600
  // Highlight an item in the results dropdown
596
- function select_dropdown_item (item) {
597
- if(item) {
598
- if(selected_dropdown_item) {
599
- deselect_dropdown_item($(selected_dropdown_item));
600
- }
601
-
602
- item.addClass(settings.classes.selectedDropdownItem);
603
- selected_dropdown_item = item.get(0);
601
+ function select_dropdown_item(item) {
602
+ if (item) {
603
+ if (selected_dropdown_item) {
604
+ deselect_dropdown_item($(selected_dropdown_item));
604
605
  }
606
+
607
+ item.addClass(settings.classes.selectedDropdownItem);
608
+ selected_dropdown_item = item.get(0);
609
+ }
605
610
  }
606
611
 
607
612
  // Remove highlighting from an item in the results dropdown
608
- function deselect_dropdown_item (item) {
609
- item.removeClass(settings.classes.selectedDropdownItem);
610
- selected_dropdown_item = null;
613
+ function deselect_dropdown_item(item) {
614
+ item.removeClass(settings.classes.selectedDropdownItem);
615
+ selected_dropdown_item = null;
611
616
  }
612
617
 
613
618
  // Do a search and show the "searching" dropdown if the input is longer
614
619
  // than settings.minChars
615
620
  function do_search() {
616
- var query = input_box.val().toLowerCase();
621
+ var query = input_box.val().toLowerCase();
617
622
 
618
- if(query && query.length) {
619
- if(selected_token) {
620
- deselect_token($(selected_token), POSITION.AFTER);
621
- }
623
+ if (query && query.length) {
624
+ if (selected_token) {
625
+ deselect_token($(selected_token), POSITION.AFTER);
626
+ }
622
627
 
623
- if(query.length >= settings.minChars) {
624
- show_dropdown_searching();
625
- clearTimeout(timeout);
628
+ if (query.length >= settings.minChars) {
629
+ show_dropdown_searching();
630
+ clearTimeout(timeout);
626
631
 
627
- timeout = setTimeout(function(){
628
- run_search(query);
629
- }, settings.searchDelay);
630
- } else {
631
- hide_dropdown();
632
- }
632
+ timeout = setTimeout(function() {
633
+ run_search(query);
634
+ }, settings.searchDelay);
635
+ } else {
636
+ hide_dropdown();
633
637
  }
638
+ }
634
639
  }
635
640
 
636
641
  // Do the actual search
637
642
  function run_search(query) {
638
- var cached_results = cache.get(query);
639
- if(cached_results) {
640
- populate_dropdown(query, cached_results);
641
- } else {
642
- // Are we doing an ajax search or local data search?
643
- if(settings.url) {
644
- // Extract exisiting get params
645
- var ajax_params = {};
646
- ajax_params.data = {};
647
- if(settings.url.indexOf("?") > -1) {
648
- var parts = settings.url.split("?");
649
- ajax_params.url = parts[0];
650
-
651
- var param_array = parts[1].split("&");
652
- $.each(param_array, function (index, value) {
653
- var kv = value.split("=");
654
- ajax_params.data[kv[0]] = kv[1];
655
- });
656
- } else {
657
- ajax_params.url = settings.url;
658
- }
659
-
660
- // Prepare the request
661
- ajax_params.data[settings.queryParam] = query;
662
- ajax_params.type = settings.method;
663
- ajax_params.dataType = settings.contentType;
664
- if(settings.crossDomain) {
665
- ajax_params.dataType = "jsonp";
666
- }
667
-
668
- // Attach the success callback
669
- ajax_params.success = function(results) {
670
- if($.isFunction(settings.onResult)) {
671
- results = settings.onResult.call(this, results);
672
- }
673
- cache.add(query, settings.jsonContainer ? results[settings.jsonContainer] : results);
674
-
675
- // only populate the dropdown if the results are associated with the active search query
676
- if(input_box.val().toLowerCase() === query) {
677
- populate_dropdown(query, settings.jsonContainer ? results[settings.jsonContainer] : results);
678
- }
679
- };
680
-
681
- // Make the request
682
- $.ajax(ajax_params);
683
- } else if(settings.local_data) {
684
- // Do the search through local data
685
- var results = $.grep(settings.local_data, function (row) {
686
- return row.name.toLowerCase().indexOf(query.toLowerCase()) > -1;
687
- });
688
-
689
- if($.isFunction(settings.onResult)) {
690
- results = settings.onResult.call(this, results);
691
- }
692
- cache.add(query, results);
693
- populate_dropdown(query, results);
643
+ var cached_results = cache.get(query);
644
+ if (cached_results) {
645
+ populate_dropdown(query, cached_results);
646
+ } else {
647
+ // Are we doing an ajax search or local data search?
648
+ if (settings.url) {
649
+ // Extract exisiting get params
650
+ var ajax_params = {};
651
+ ajax_params.data = {};
652
+ if (settings.url.indexOf("?") > -1) {
653
+ var parts = settings.url.split("?");
654
+ ajax_params.url = parts[0];
655
+
656
+ var param_array = parts[1].split("&");
657
+ $.each(param_array, function (index, value) {
658
+ var kv = value.split("=");
659
+ ajax_params.data[kv[0]] = kv[1];
660
+ });
661
+ } else {
662
+ ajax_params.url = settings.url;
663
+ }
664
+
665
+ // Prepare the request
666
+ ajax_params.data[settings.queryParam] = query;
667
+ ajax_params.type = settings.method;
668
+ ajax_params.dataType = settings.contentType;
669
+ if (settings.crossDomain) {
670
+ ajax_params.dataType = "jsonp";
671
+ }
672
+
673
+ // Attach the success callback
674
+ ajax_params.success = function(results) {
675
+ if ($.isFunction(settings.onResult)) {
676
+ results = settings.onResult.call(this, results);
677
+ }
678
+ cache.add(query, settings.jsonContainer ? results[settings.jsonContainer] : results);
679
+
680
+ // only populate the dropdown if the results are associated with the active search query
681
+ if (input_box.val().toLowerCase() === query) {
682
+ populate_dropdown(query, settings.jsonContainer ? results[settings.jsonContainer] : results);
694
683
  }
684
+ };
685
+
686
+ // Make the request
687
+ $.ajax(ajax_params);
688
+ } else if (settings.local_data) {
689
+ // Do the search through local data
690
+ var results = $.grep(settings.local_data, function (row) {
691
+ return row.name.toLowerCase().indexOf(query.toLowerCase()) > -1;
692
+ });
693
+
694
+ if ($.isFunction(settings.onResult)) {
695
+ results = settings.onResult.call(this, results);
696
+ }
697
+ cache.add(query, results);
698
+ populate_dropdown(query, results);
695
699
  }
700
+ }
696
701
  }
697
- };
702
+ };
698
703
 
699
704
  // Really basic cache for the results
700
- $.TokenList.Cache = function (options) {
705
+ $.TokenList.Cache = function (options) {
701
706
  var settings = $.extend({
702
- max_size: 500
707
+ max_size: 500
703
708
  }, options);
704
709
 
705
710
  var data = {};
706
711
  var size = 0;
707
712
 
708
713
  var flush = function () {
709
- data = {};
710
- size = 0;
714
+ data = {};
715
+ size = 0;
711
716
  };
712
717
 
713
718
  this.add = function (query, results) {
714
- if(size > settings.max_size) {
715
- flush();
716
- }
719
+ if (size > settings.max_size) {
720
+ flush();
721
+ }
717
722
 
718
- if(!data[query]) {
719
- size += 1;
720
- }
723
+ if (!data[query]) {
724
+ size += 1;
725
+ }
721
726
 
722
- data[query] = results;
727
+ data[query] = results;
723
728
  };
724
729
 
725
730
  this.get = function (query) {
726
- return data[query];
731
+ return data[query];
727
732
  };
728
- };
733
+ };
729
734
  }(jQuery));