kuppayam 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1055) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +20 -0
  3. data/README.md +28 -0
  4. data/Rakefile +37 -0
  5. data/app/assets/config/kuppayam_manifest.js +0 -0
  6. data/app/assets/images/kuppayam/defaults/default-large.png +0 -0
  7. data/app/assets/images/kuppayam/defaults/default-small.png +0 -0
  8. data/app/assets/images/kuppayam/defaults/user-large.png +0 -0
  9. data/app/assets/images/kuppayam/defaults/user-small.png +0 -0
  10. data/app/assets/images/kuppayam/favicon.png +0 -0
  11. data/app/assets/images/kuppayam/logo.png +0 -0
  12. data/app/assets/javascripts/jquery_with_ujs.js +15 -0
  13. data/app/assets/javascripts/kuppayam.js +21 -0
  14. data/app/assets/javascripts/kuppayam/utilities.js +68 -0
  15. data/app/assets/stylesheets/kuppayam.css +23 -0
  16. data/app/assets/stylesheets/kuppayam/custom.css +8 -0
  17. data/app/assets/stylesheets/kuppayam/handycss.css +996 -0
  18. data/app/controllers/kuppayam/base_controller.rb +43 -0
  19. data/app/helpers/breadcrumbs_helper.rb +27 -0
  20. data/app/helpers/filter_helper.rb +370 -0
  21. data/app/helpers/flash_helper.rb +54 -0
  22. data/app/helpers/image_helper.rb +209 -0
  23. data/app/helpers/kuppayam_helper.rb +72 -0
  24. data/app/helpers/meta_tags_helper.rb +50 -0
  25. data/app/helpers/navigation_helper.rb +17 -0
  26. data/app/helpers/params_parser_helper.rb +48 -0
  27. data/app/helpers/render_helper.rb +28 -0
  28. data/app/helpers/resource_helper.rb +133 -0
  29. data/app/views/kaminari/_first_page.html.erb +11 -0
  30. data/app/views/kaminari/_gap.html.erb +8 -0
  31. data/app/views/kaminari/_last_page.html.erb +11 -0
  32. data/app/views/kaminari/_next_page.html.erb +11 -0
  33. data/app/views/kaminari/_page.html.erb +12 -0
  34. data/app/views/kaminari/_paginator.html.erb +25 -0
  35. data/app/views/kaminari/_prev_page.html.erb +11 -0
  36. data/app/views/layouts/kuppayam/_footer.html.erb +25 -0
  37. data/app/views/layouts/kuppayam/_head.html.erb +29 -0
  38. data/app/views/layouts/kuppayam/_header.html.erb +43 -0
  39. data/app/views/layouts/kuppayam/_heading.html.erb +9 -0
  40. data/app/views/layouts/kuppayam/_navbar.html.erb +321 -0
  41. data/app/views/layouts/kuppayam/_overlays.html.erb +40 -0
  42. data/app/views/layouts/kuppayam/_settings_pane.html.erb +107 -0
  43. data/app/views/layouts/kuppayam/_sidebar.html.erb +612 -0
  44. data/app/views/layouts/kuppayam/_sidebar_old.html.erb +54 -0
  45. data/app/views/layouts/kuppayam/admin.html.erb +59 -0
  46. data/app/views/layouts/kuppayam/blank.html.erb +37 -0
  47. data/config/initializers/config_center.rb +60 -0
  48. data/config/initializers/kuppayam_validators.rb +76 -0
  49. data/config/routes.rb +2 -0
  50. data/lib/kuppayam.rb +8 -0
  51. data/lib/kuppayam/action_view/form_helper.rb +254 -0
  52. data/lib/kuppayam/action_view/modal_helper.rb +7 -0
  53. data/lib/kuppayam/action_view/theme_helper.rb +226 -0
  54. data/lib/kuppayam/engine.rb +34 -0
  55. data/lib/kuppayam/version.rb +3 -0
  56. data/lib/tasks/kuppayam_tasks.rake +4 -0
  57. data/vendor/assets/fonts/elusive/css/animation.css +85 -0
  58. data/vendor/assets/fonts/elusive/css/elusive-codes.css +272 -0
  59. data/vendor/assets/fonts/elusive/css/elusive-embedded.css +325 -0
  60. data/vendor/assets/fonts/elusive/css/elusive-ie7-codes.css +272 -0
  61. data/vendor/assets/fonts/elusive/css/elusive-ie7.css +283 -0
  62. data/vendor/assets/fonts/elusive/css/elusive.css +323 -0
  63. data/vendor/assets/fonts/elusive/font/elusive.eot +0 -0
  64. data/vendor/assets/fonts/elusive/font/elusive.svg +282 -0
  65. data/vendor/assets/fonts/elusive/font/elusive.ttf +0 -0
  66. data/vendor/assets/fonts/elusive/font/elusive.woff +0 -0
  67. data/vendor/assets/fonts/elusive/index.html +0 -0
  68. data/vendor/assets/fonts/fontawesome/css/font-awesome.css +1681 -0
  69. data/vendor/assets/fonts/fontawesome/css/font-awesome.min.css +4 -0
  70. data/vendor/assets/fonts/fontawesome/fonts/FontAwesome.otf +0 -0
  71. data/vendor/assets/fonts/fontawesome/fonts/fontawesome-webfont.eot +0 -0
  72. data/vendor/assets/fonts/fontawesome/fonts/fontawesome-webfont.svg +520 -0
  73. data/vendor/assets/fonts/fontawesome/fonts/fontawesome-webfont.ttf +0 -0
  74. data/vendor/assets/fonts/fontawesome/fonts/fontawesome-webfont.woff +0 -0
  75. data/vendor/assets/fonts/fontawesome/index.html +0 -0
  76. data/vendor/assets/fonts/glyphicons/glyphicons-halflings-regular.eot +0 -0
  77. data/vendor/assets/fonts/glyphicons/glyphicons-halflings-regular.svg +229 -0
  78. data/vendor/assets/fonts/glyphicons/glyphicons-halflings-regular.ttf +0 -0
  79. data/vendor/assets/fonts/glyphicons/glyphicons-halflings-regular.woff +0 -0
  80. data/vendor/assets/fonts/glyphicons/index.html +0 -0
  81. data/vendor/assets/fonts/linecons/css/animation.css +85 -0
  82. data/vendor/assets/fonts/linecons/css/linecons-codes.css +49 -0
  83. data/vendor/assets/fonts/linecons/css/linecons-embedded.css +102 -0
  84. data/vendor/assets/fonts/linecons/css/linecons-ie7-codes.css +49 -0
  85. data/vendor/assets/fonts/linecons/css/linecons-ie7.css +60 -0
  86. data/vendor/assets/fonts/linecons/css/linecons.css +100 -0
  87. data/vendor/assets/fonts/linecons/font/linecons.eot +0 -0
  88. data/vendor/assets/fonts/linecons/font/linecons.svg +59 -0
  89. data/vendor/assets/fonts/linecons/font/linecons.ttf +0 -0
  90. data/vendor/assets/fonts/linecons/font/linecons.woff +0 -0
  91. data/vendor/assets/fonts/linecons/index.html +0 -0
  92. data/vendor/assets/fonts/meteocons/css/animation.css +85 -0
  93. data/vendor/assets/fonts/meteocons/css/meteocons-codes.css +48 -0
  94. data/vendor/assets/fonts/meteocons/css/meteocons-embedded.css +101 -0
  95. data/vendor/assets/fonts/meteocons/css/meteocons-ie7-codes.css +48 -0
  96. data/vendor/assets/fonts/meteocons/css/meteocons-ie7.css +59 -0
  97. data/vendor/assets/fonts/meteocons/css/meteocons.css +99 -0
  98. data/vendor/assets/fonts/meteocons/font/meteocons.eot +0 -0
  99. data/vendor/assets/fonts/meteocons/font/meteocons.svg +58 -0
  100. data/vendor/assets/fonts/meteocons/font/meteocons.ttf +0 -0
  101. data/vendor/assets/fonts/meteocons/font/meteocons.woff +0 -0
  102. data/vendor/assets/fonts/meteocons/index.html +0 -0
  103. data/vendor/assets/images/flags/flag-al.png +0 -0
  104. data/vendor/assets/images/flags/flag-br.png +0 -0
  105. data/vendor/assets/images/flags/flag-de.png +0 -0
  106. data/vendor/assets/images/flags/flag-es.png +0 -0
  107. data/vendor/assets/images/flags/flag-fr.png +0 -0
  108. data/vendor/assets/images/flags/flag-uk.png +0 -0
  109. data/vendor/assets/images/flags/index.html +0 -0
  110. data/vendor/assets/javascripts/TweenLite.min.js +12 -0
  111. data/vendor/assets/javascripts/TweenMax.min.js +17 -0
  112. data/vendor/assets/javascripts/bootstrap.min.js +7 -0
  113. data/vendor/assets/javascripts/ckeditor/CHANGES.md +643 -0
  114. data/vendor/assets/javascripts/ckeditor/LICENSE.md +1264 -0
  115. data/vendor/assets/javascripts/ckeditor/README.md +39 -0
  116. data/vendor/assets/javascripts/ckeditor/adapters/jquery.js +10 -0
  117. data/vendor/assets/javascripts/ckeditor/build-config.js +152 -0
  118. data/vendor/assets/javascripts/ckeditor/ckeditor.js +936 -0
  119. data/vendor/assets/javascripts/ckeditor/config.js +42 -0
  120. data/vendor/assets/javascripts/ckeditor/contents.css +134 -0
  121. data/vendor/assets/javascripts/ckeditor/index.html +0 -0
  122. data/vendor/assets/javascripts/ckeditor/lang/af.js +5 -0
  123. data/vendor/assets/javascripts/ckeditor/lang/ar.js +5 -0
  124. data/vendor/assets/javascripts/ckeditor/lang/bg.js +5 -0
  125. data/vendor/assets/javascripts/ckeditor/lang/bn.js +5 -0
  126. data/vendor/assets/javascripts/ckeditor/lang/bs.js +5 -0
  127. data/vendor/assets/javascripts/ckeditor/lang/ca.js +5 -0
  128. data/vendor/assets/javascripts/ckeditor/lang/cs.js +5 -0
  129. data/vendor/assets/javascripts/ckeditor/lang/cy.js +5 -0
  130. data/vendor/assets/javascripts/ckeditor/lang/da.js +5 -0
  131. data/vendor/assets/javascripts/ckeditor/lang/de.js +5 -0
  132. data/vendor/assets/javascripts/ckeditor/lang/el.js +5 -0
  133. data/vendor/assets/javascripts/ckeditor/lang/en-au.js +5 -0
  134. data/vendor/assets/javascripts/ckeditor/lang/en-ca.js +5 -0
  135. data/vendor/assets/javascripts/ckeditor/lang/en-gb.js +5 -0
  136. data/vendor/assets/javascripts/ckeditor/lang/en.js +5 -0
  137. data/vendor/assets/javascripts/ckeditor/lang/eo.js +5 -0
  138. data/vendor/assets/javascripts/ckeditor/lang/es.js +5 -0
  139. data/vendor/assets/javascripts/ckeditor/lang/et.js +5 -0
  140. data/vendor/assets/javascripts/ckeditor/lang/eu.js +5 -0
  141. data/vendor/assets/javascripts/ckeditor/lang/fa.js +5 -0
  142. data/vendor/assets/javascripts/ckeditor/lang/fi.js +5 -0
  143. data/vendor/assets/javascripts/ckeditor/lang/fo.js +5 -0
  144. data/vendor/assets/javascripts/ckeditor/lang/fr-ca.js +5 -0
  145. data/vendor/assets/javascripts/ckeditor/lang/fr.js +5 -0
  146. data/vendor/assets/javascripts/ckeditor/lang/gl.js +5 -0
  147. data/vendor/assets/javascripts/ckeditor/lang/gu.js +5 -0
  148. data/vendor/assets/javascripts/ckeditor/lang/he.js +5 -0
  149. data/vendor/assets/javascripts/ckeditor/lang/hi.js +5 -0
  150. data/vendor/assets/javascripts/ckeditor/lang/hr.js +5 -0
  151. data/vendor/assets/javascripts/ckeditor/lang/hu.js +5 -0
  152. data/vendor/assets/javascripts/ckeditor/lang/id.js +5 -0
  153. data/vendor/assets/javascripts/ckeditor/lang/is.js +5 -0
  154. data/vendor/assets/javascripts/ckeditor/lang/it.js +5 -0
  155. data/vendor/assets/javascripts/ckeditor/lang/ja.js +5 -0
  156. data/vendor/assets/javascripts/ckeditor/lang/ka.js +5 -0
  157. data/vendor/assets/javascripts/ckeditor/lang/km.js +5 -0
  158. data/vendor/assets/javascripts/ckeditor/lang/ko.js +5 -0
  159. data/vendor/assets/javascripts/ckeditor/lang/ku.js +5 -0
  160. data/vendor/assets/javascripts/ckeditor/lang/lt.js +5 -0
  161. data/vendor/assets/javascripts/ckeditor/lang/lv.js +5 -0
  162. data/vendor/assets/javascripts/ckeditor/lang/mk.js +5 -0
  163. data/vendor/assets/javascripts/ckeditor/lang/mn.js +5 -0
  164. data/vendor/assets/javascripts/ckeditor/lang/ms.js +5 -0
  165. data/vendor/assets/javascripts/ckeditor/lang/nb.js +5 -0
  166. data/vendor/assets/javascripts/ckeditor/lang/nl.js +5 -0
  167. data/vendor/assets/javascripts/ckeditor/lang/no.js +5 -0
  168. data/vendor/assets/javascripts/ckeditor/lang/pl.js +5 -0
  169. data/vendor/assets/javascripts/ckeditor/lang/pt-br.js +5 -0
  170. data/vendor/assets/javascripts/ckeditor/lang/pt.js +5 -0
  171. data/vendor/assets/javascripts/ckeditor/lang/ro.js +5 -0
  172. data/vendor/assets/javascripts/ckeditor/lang/ru.js +5 -0
  173. data/vendor/assets/javascripts/ckeditor/lang/si.js +5 -0
  174. data/vendor/assets/javascripts/ckeditor/lang/sk.js +5 -0
  175. data/vendor/assets/javascripts/ckeditor/lang/sl.js +5 -0
  176. data/vendor/assets/javascripts/ckeditor/lang/sq.js +5 -0
  177. data/vendor/assets/javascripts/ckeditor/lang/sr-latn.js +5 -0
  178. data/vendor/assets/javascripts/ckeditor/lang/sr.js +5 -0
  179. data/vendor/assets/javascripts/ckeditor/lang/sv.js +5 -0
  180. data/vendor/assets/javascripts/ckeditor/lang/th.js +5 -0
  181. data/vendor/assets/javascripts/ckeditor/lang/tr.js +5 -0
  182. data/vendor/assets/javascripts/ckeditor/lang/tt.js +5 -0
  183. data/vendor/assets/javascripts/ckeditor/lang/ug.js +5 -0
  184. data/vendor/assets/javascripts/ckeditor/lang/uk.js +5 -0
  185. data/vendor/assets/javascripts/ckeditor/lang/vi.js +5 -0
  186. data/vendor/assets/javascripts/ckeditor/lang/zh-cn.js +5 -0
  187. data/vendor/assets/javascripts/ckeditor/lang/zh.js +5 -0
  188. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/a11yhelp.js +10 -0
  189. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/_translationstatus.txt +25 -0
  190. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/ar.js +11 -0
  191. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/bg.js +11 -0
  192. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/ca.js +13 -0
  193. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/cs.js +13 -0
  194. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/cy.js +11 -0
  195. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/da.js +11 -0
  196. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/de.js +12 -0
  197. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/el.js +13 -0
  198. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/en-gb.js +11 -0
  199. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/en.js +11 -0
  200. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/eo.js +13 -0
  201. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/es.js +12 -0
  202. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/et.js +11 -0
  203. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/fa.js +11 -0
  204. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/fi.js +12 -0
  205. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/fr-ca.js +12 -0
  206. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/fr.js +13 -0
  207. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/gl.js +12 -0
  208. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/gu.js +11 -0
  209. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/he.js +11 -0
  210. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/hi.js +11 -0
  211. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/hr.js +11 -0
  212. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/hu.js +13 -0
  213. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/id.js +11 -0
  214. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/it.js +13 -0
  215. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/ja.js +9 -0
  216. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/km.js +11 -0
  217. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/ko.js +10 -0
  218. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/ku.js +12 -0
  219. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/lt.js +11 -0
  220. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/lv.js +13 -0
  221. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/mk.js +11 -0
  222. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/mn.js +11 -0
  223. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/nb.js +12 -0
  224. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/nl.js +12 -0
  225. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/no.js +11 -0
  226. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/pl.js +13 -0
  227. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/pt-br.js +12 -0
  228. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/pt.js +12 -0
  229. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/ro.js +12 -0
  230. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/ru.js +11 -0
  231. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/si.js +10 -0
  232. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/sk.js +12 -0
  233. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/sl.js +12 -0
  234. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/sq.js +11 -0
  235. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/sr-latn.js +11 -0
  236. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/sr.js +11 -0
  237. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/sv.js +12 -0
  238. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/th.js +11 -0
  239. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/tr.js +12 -0
  240. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/tt.js +11 -0
  241. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/ug.js +11 -0
  242. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/uk.js +12 -0
  243. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/vi.js +11 -0
  244. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/zh-cn.js +9 -0
  245. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/zh.js +9 -0
  246. data/vendor/assets/javascripts/ckeditor/plugins/about/dialogs/about.js +7 -0
  247. data/vendor/assets/javascripts/ckeditor/plugins/about/dialogs/hidpi/logo_ckeditor.png +0 -0
  248. data/vendor/assets/javascripts/ckeditor/plugins/about/dialogs/logo_ckeditor.png +0 -0
  249. data/vendor/assets/javascripts/ckeditor/plugins/clipboard/dialogs/paste.js +11 -0
  250. data/vendor/assets/javascripts/ckeditor/plugins/dialog/dialogDefinition.js +4 -0
  251. data/vendor/assets/javascripts/ckeditor/plugins/icons.png +0 -0
  252. data/vendor/assets/javascripts/ckeditor/plugins/icons_hidpi.png +0 -0
  253. data/vendor/assets/javascripts/ckeditor/plugins/image/dialogs/image.js +43 -0
  254. data/vendor/assets/javascripts/ckeditor/plugins/image/images/noimage.png +0 -0
  255. data/vendor/assets/javascripts/ckeditor/plugins/link/dialogs/anchor.js +7 -0
  256. data/vendor/assets/javascripts/ckeditor/plugins/link/dialogs/link.js +26 -0
  257. data/vendor/assets/javascripts/ckeditor/plugins/link/images/anchor.png +0 -0
  258. data/vendor/assets/javascripts/ckeditor/plugins/link/images/hidpi/anchor.png +0 -0
  259. data/vendor/assets/javascripts/ckeditor/plugins/magicline/images/hidpi/icon-rtl.png +0 -0
  260. data/vendor/assets/javascripts/ckeditor/plugins/magicline/images/hidpi/icon.png +0 -0
  261. data/vendor/assets/javascripts/ckeditor/plugins/magicline/images/icon-rtl.png +0 -0
  262. data/vendor/assets/javascripts/ckeditor/plugins/magicline/images/icon.png +0 -0
  263. data/vendor/assets/javascripts/ckeditor/plugins/pastefromword/filter/default.js +31 -0
  264. data/vendor/assets/javascripts/ckeditor/plugins/scayt/LICENSE.md +28 -0
  265. data/vendor/assets/javascripts/ckeditor/plugins/scayt/README.md +25 -0
  266. data/vendor/assets/javascripts/ckeditor/plugins/scayt/dialogs/options.js +17 -0
  267. data/vendor/assets/javascripts/ckeditor/plugins/scayt/dialogs/toolbar.css +71 -0
  268. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/_translationstatus.txt +20 -0
  269. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/ar.js +13 -0
  270. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/bg.js +13 -0
  271. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/ca.js +14 -0
  272. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/cs.js +13 -0
  273. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/cy.js +14 -0
  274. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/de.js +13 -0
  275. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/el.js +13 -0
  276. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/en-gb.js +13 -0
  277. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/en.js +13 -0
  278. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/eo.js +12 -0
  279. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/es.js +13 -0
  280. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/et.js +13 -0
  281. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/fa.js +12 -0
  282. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/fi.js +13 -0
  283. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/fr-ca.js +10 -0
  284. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/fr.js +11 -0
  285. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/gl.js +13 -0
  286. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/he.js +12 -0
  287. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/hr.js +13 -0
  288. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/hu.js +12 -0
  289. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/id.js +13 -0
  290. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/it.js +14 -0
  291. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/ja.js +9 -0
  292. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/km.js +13 -0
  293. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/ku.js +13 -0
  294. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/lv.js +13 -0
  295. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/nb.js +11 -0
  296. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/nl.js +13 -0
  297. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/no.js +11 -0
  298. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/pl.js +12 -0
  299. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/pt-br.js +11 -0
  300. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/pt.js +13 -0
  301. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/ru.js +13 -0
  302. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/si.js +13 -0
  303. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/sk.js +13 -0
  304. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/sl.js +12 -0
  305. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/sq.js +13 -0
  306. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/sv.js +11 -0
  307. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/th.js +13 -0
  308. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/tr.js +12 -0
  309. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/tt.js +13 -0
  310. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/ug.js +13 -0
  311. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/uk.js +12 -0
  312. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/vi.js +14 -0
  313. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/zh-cn.js +9 -0
  314. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/zh.js +12 -0
  315. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/specialchar.js +14 -0
  316. data/vendor/assets/javascripts/ckeditor/plugins/table/dialogs/table.js +21 -0
  317. data/vendor/assets/javascripts/ckeditor/plugins/tabletools/dialogs/tableCell.js +17 -0
  318. data/vendor/assets/javascripts/ckeditor/plugins/wsc/LICENSE.md +28 -0
  319. data/vendor/assets/javascripts/ckeditor/plugins/wsc/README.md +25 -0
  320. data/vendor/assets/javascripts/ckeditor/plugins/wsc/dialogs/ciframe.html +66 -0
  321. data/vendor/assets/javascripts/ckeditor/plugins/wsc/dialogs/tmpFrameset.html +52 -0
  322. data/vendor/assets/javascripts/ckeditor/plugins/wsc/dialogs/wsc.css +82 -0
  323. data/vendor/assets/javascripts/ckeditor/plugins/wsc/dialogs/wsc.js +74 -0
  324. data/vendor/assets/javascripts/ckeditor/plugins/wsc/dialogs/wsc_ie.js +11 -0
  325. data/vendor/assets/javascripts/ckeditor/samples/ajax.html +82 -0
  326. data/vendor/assets/javascripts/ckeditor/samples/api.html +207 -0
  327. data/vendor/assets/javascripts/ckeditor/samples/appendto.html +56 -0
  328. data/vendor/assets/javascripts/ckeditor/samples/assets/inlineall/logo.png +0 -0
  329. data/vendor/assets/javascripts/ckeditor/samples/assets/outputxhtml/outputxhtml.css +204 -0
  330. data/vendor/assets/javascripts/ckeditor/samples/assets/posteddata.php +59 -0
  331. data/vendor/assets/javascripts/ckeditor/samples/assets/sample.jpg +0 -0
  332. data/vendor/assets/javascripts/ckeditor/samples/assets/uilanguages/languages.js +7 -0
  333. data/vendor/assets/javascripts/ckeditor/samples/datafiltering.html +401 -0
  334. data/vendor/assets/javascripts/ckeditor/samples/divreplace.html +141 -0
  335. data/vendor/assets/javascripts/ckeditor/samples/index.html +128 -0
  336. data/vendor/assets/javascripts/ckeditor/samples/inlineall.html +311 -0
  337. data/vendor/assets/javascripts/ckeditor/samples/inlinebycode.html +121 -0
  338. data/vendor/assets/javascripts/ckeditor/samples/inlinetextarea.html +110 -0
  339. data/vendor/assets/javascripts/ckeditor/samples/jquery.html +100 -0
  340. data/vendor/assets/javascripts/ckeditor/samples/plugins/dialog/assets/my_dialog.js +48 -0
  341. data/vendor/assets/javascripts/ckeditor/samples/plugins/dialog/dialog.html +187 -0
  342. data/vendor/assets/javascripts/ckeditor/samples/plugins/enterkey/enterkey.html +103 -0
  343. data/vendor/assets/javascripts/ckeditor/samples/plugins/htmlwriter/assets/outputforflash/outputforflash.fla +0 -0
  344. data/vendor/assets/javascripts/ckeditor/samples/plugins/htmlwriter/assets/outputforflash/outputforflash.swf +0 -0
  345. data/vendor/assets/javascripts/ckeditor/samples/plugins/htmlwriter/assets/outputforflash/swfobject.js +18 -0
  346. data/vendor/assets/javascripts/ckeditor/samples/plugins/htmlwriter/outputforflash.html +280 -0
  347. data/vendor/assets/javascripts/ckeditor/samples/plugins/htmlwriter/outputhtml.html +221 -0
  348. data/vendor/assets/javascripts/ckeditor/samples/plugins/magicline/magicline.html +206 -0
  349. data/vendor/assets/javascripts/ckeditor/samples/plugins/toolbar/toolbar.html +232 -0
  350. data/vendor/assets/javascripts/ckeditor/samples/plugins/wysiwygarea/fullpage.html +77 -0
  351. data/vendor/assets/javascripts/ckeditor/samples/readonly.html +73 -0
  352. data/vendor/assets/javascripts/ckeditor/samples/replacebyclass.html +57 -0
  353. data/vendor/assets/javascripts/ckeditor/samples/replacebycode.html +56 -0
  354. data/vendor/assets/javascripts/ckeditor/samples/sample.css +365 -0
  355. data/vendor/assets/javascripts/ckeditor/samples/sample.js +50 -0
  356. data/vendor/assets/javascripts/ckeditor/samples/sample_posteddata.php +16 -0
  357. data/vendor/assets/javascripts/ckeditor/samples/tabindex.html +75 -0
  358. data/vendor/assets/javascripts/ckeditor/samples/uicolor.html +69 -0
  359. data/vendor/assets/javascripts/ckeditor/samples/uilanguages.html +119 -0
  360. data/vendor/assets/javascripts/ckeditor/samples/xhtmlstyle.html +231 -0
  361. data/vendor/assets/javascripts/ckeditor/skins/bootstrapck/dev/icons16.svg +683 -0
  362. data/vendor/assets/javascripts/ckeditor/skins/bootstrapck/dev/icons32.svg +694 -0
  363. data/vendor/assets/javascripts/ckeditor/skins/bootstrapck/dev/locations.json +140 -0
  364. data/vendor/assets/javascripts/ckeditor/skins/bootstrapck/dialog.css +1 -0
  365. data/vendor/assets/javascripts/ckeditor/skins/bootstrapck/dialog_ie.css +1 -0
  366. data/vendor/assets/javascripts/ckeditor/skins/bootstrapck/dialog_ie7.css +1 -0
  367. data/vendor/assets/javascripts/ckeditor/skins/bootstrapck/dialog_ie8.css +1 -0
  368. data/vendor/assets/javascripts/ckeditor/skins/bootstrapck/dialog_iequirks.css +1 -0
  369. data/vendor/assets/javascripts/ckeditor/skins/bootstrapck/dialog_opera.css +1 -0
  370. data/vendor/assets/javascripts/ckeditor/skins/bootstrapck/editor.css +1 -0
  371. data/vendor/assets/javascripts/ckeditor/skins/bootstrapck/editor_gecko.css +1 -0
  372. data/vendor/assets/javascripts/ckeditor/skins/bootstrapck/editor_ie.css +1 -0
  373. data/vendor/assets/javascripts/ckeditor/skins/bootstrapck/editor_ie7.css +1 -0
  374. data/vendor/assets/javascripts/ckeditor/skins/bootstrapck/editor_ie8.css +1 -0
  375. data/vendor/assets/javascripts/ckeditor/skins/bootstrapck/editor_iequirks.css +1 -0
  376. data/vendor/assets/javascripts/ckeditor/skins/bootstrapck/icons.png +0 -0
  377. data/vendor/assets/javascripts/ckeditor/skins/bootstrapck/icons_hidpi.png +0 -0
  378. data/vendor/assets/javascripts/ckeditor/skins/bootstrapck/images/arrow.png +0 -0
  379. data/vendor/assets/javascripts/ckeditor/skins/bootstrapck/images/close.png +0 -0
  380. data/vendor/assets/javascripts/ckeditor/skins/bootstrapck/images/hidpi/close.png +0 -0
  381. data/vendor/assets/javascripts/ckeditor/skins/bootstrapck/images/hidpi/lock-open.png +0 -0
  382. data/vendor/assets/javascripts/ckeditor/skins/bootstrapck/images/hidpi/lock.png +0 -0
  383. data/vendor/assets/javascripts/ckeditor/skins/bootstrapck/images/hidpi/refresh.png +0 -0
  384. data/vendor/assets/javascripts/ckeditor/skins/bootstrapck/images/lock-open.png +0 -0
  385. data/vendor/assets/javascripts/ckeditor/skins/bootstrapck/images/lock.png +0 -0
  386. data/vendor/assets/javascripts/ckeditor/skins/bootstrapck/images/refresh.png +0 -0
  387. data/vendor/assets/javascripts/ckeditor/skins/bootstrapck/readme.md +35 -0
  388. data/vendor/assets/javascripts/ckeditor/skins/bootstrapck/sample/bootstrapck-sample.html +127 -0
  389. data/vendor/assets/javascripts/ckeditor/skins/bootstrapck/sample/css/bootstrapck-sample.css +1 -0
  390. data/vendor/assets/javascripts/ckeditor/skins/bootstrapck/sample/js/analytics.js +4 -0
  391. data/vendor/assets/javascripts/ckeditor/skins/bootstrapck/sample/js/jquery-1.11.0.min.js +189 -0
  392. data/vendor/assets/javascripts/ckeditor/skins/bootstrapck/scss/browser-specific/gecko/editor_gecko.scss +25 -0
  393. data/vendor/assets/javascripts/ckeditor/skins/bootstrapck/scss/browser-specific/ie/dialog_ie.scss +62 -0
  394. data/vendor/assets/javascripts/ckeditor/skins/bootstrapck/scss/browser-specific/ie/editor_ie.scss +71 -0
  395. data/vendor/assets/javascripts/ckeditor/skins/bootstrapck/scss/browser-specific/ie7/dialog_ie7.scss +68 -0
  396. data/vendor/assets/javascripts/ckeditor/skins/bootstrapck/scss/browser-specific/ie7/editor_ie7.scss +213 -0
  397. data/vendor/assets/javascripts/ckeditor/skins/bootstrapck/scss/browser-specific/ie8/dialog_ie8.scss +24 -0
  398. data/vendor/assets/javascripts/ckeditor/skins/bootstrapck/scss/browser-specific/ie8/editor_ie8.scss +27 -0
  399. data/vendor/assets/javascripts/ckeditor/skins/bootstrapck/scss/browser-specific/iequirks/dialog_iequirks.scss +21 -0
  400. data/vendor/assets/javascripts/ckeditor/skins/bootstrapck/scss/browser-specific/iequirks/editor_iequirks.scss +79 -0
  401. data/vendor/assets/javascripts/ckeditor/skins/bootstrapck/scss/browser-specific/opera/dialog_opera.scss +31 -0
  402. data/vendor/assets/javascripts/ckeditor/skins/bootstrapck/scss/components/_colorpanel.scss +119 -0
  403. data/vendor/assets/javascripts/ckeditor/skins/bootstrapck/scss/components/_elementspath.scss +66 -0
  404. data/vendor/assets/javascripts/ckeditor/skins/bootstrapck/scss/components/_mainui.scss +189 -0
  405. data/vendor/assets/javascripts/ckeditor/skins/bootstrapck/scss/components/_menu.scss +182 -0
  406. data/vendor/assets/javascripts/ckeditor/skins/bootstrapck/scss/components/_panel.scss +199 -0
  407. data/vendor/assets/javascripts/ckeditor/skins/bootstrapck/scss/components/_presets.scss +32 -0
  408. data/vendor/assets/javascripts/ckeditor/skins/bootstrapck/scss/components/_reset.scss +107 -0
  409. data/vendor/assets/javascripts/ckeditor/skins/bootstrapck/scss/components/_richcombo.scss +174 -0
  410. data/vendor/assets/javascripts/ckeditor/skins/bootstrapck/scss/components/_toolbar.scss +317 -0
  411. data/vendor/assets/javascripts/ckeditor/skins/bootstrapck/scss/components/editor.scss +66 -0
  412. data/vendor/assets/javascripts/ckeditor/skins/bootstrapck/scss/config/_colors.scss +61 -0
  413. data/vendor/assets/javascripts/ckeditor/skins/bootstrapck/scss/config/_config.scss +9 -0
  414. data/vendor/assets/javascripts/ckeditor/skins/bootstrapck/scss/config/_defaults.scss +37 -0
  415. data/vendor/assets/javascripts/ckeditor/skins/bootstrapck/scss/dialog/dialog.scss +822 -0
  416. data/vendor/assets/javascripts/ckeditor/skins/bootstrapck/skin.js +10 -0
  417. data/vendor/assets/javascripts/ckeditor/skins/moono/dialog.css +5 -0
  418. data/vendor/assets/javascripts/ckeditor/skins/moono/dialog_ie.css +5 -0
  419. data/vendor/assets/javascripts/ckeditor/skins/moono/dialog_ie7.css +5 -0
  420. data/vendor/assets/javascripts/ckeditor/skins/moono/dialog_ie8.css +5 -0
  421. data/vendor/assets/javascripts/ckeditor/skins/moono/dialog_iequirks.css +5 -0
  422. data/vendor/assets/javascripts/ckeditor/skins/moono/editor.css +5 -0
  423. data/vendor/assets/javascripts/ckeditor/skins/moono/editor_gecko.css +5 -0
  424. data/vendor/assets/javascripts/ckeditor/skins/moono/editor_ie.css +5 -0
  425. data/vendor/assets/javascripts/ckeditor/skins/moono/editor_ie7.css +5 -0
  426. data/vendor/assets/javascripts/ckeditor/skins/moono/editor_ie8.css +5 -0
  427. data/vendor/assets/javascripts/ckeditor/skins/moono/editor_iequirks.css +5 -0
  428. data/vendor/assets/javascripts/ckeditor/skins/moono/icons.png +0 -0
  429. data/vendor/assets/javascripts/ckeditor/skins/moono/icons_hidpi.png +0 -0
  430. data/vendor/assets/javascripts/ckeditor/skins/moono/images/arrow.png +0 -0
  431. data/vendor/assets/javascripts/ckeditor/skins/moono/images/close.png +0 -0
  432. data/vendor/assets/javascripts/ckeditor/skins/moono/images/hidpi/close.png +0 -0
  433. data/vendor/assets/javascripts/ckeditor/skins/moono/images/hidpi/lock-open.png +0 -0
  434. data/vendor/assets/javascripts/ckeditor/skins/moono/images/hidpi/lock.png +0 -0
  435. data/vendor/assets/javascripts/ckeditor/skins/moono/images/hidpi/refresh.png +0 -0
  436. data/vendor/assets/javascripts/ckeditor/skins/moono/images/lock-open.png +0 -0
  437. data/vendor/assets/javascripts/ckeditor/skins/moono/images/lock.png +0 -0
  438. data/vendor/assets/javascripts/ckeditor/skins/moono/images/refresh.png +0 -0
  439. data/vendor/assets/javascripts/ckeditor/skins/moono/readme.md +51 -0
  440. data/vendor/assets/javascripts/ckeditor/styles.js +111 -0
  441. data/vendor/assets/javascripts/colorpicker/bootstrap-colorpicker.min.js +1 -0
  442. data/vendor/assets/javascripts/colorpicker/images/alpha-horizontal.png +0 -0
  443. data/vendor/assets/javascripts/colorpicker/images/alpha.png +0 -0
  444. data/vendor/assets/javascripts/colorpicker/images/hue-horizontal.png +0 -0
  445. data/vendor/assets/javascripts/colorpicker/images/hue.png +0 -0
  446. data/vendor/assets/javascripts/colorpicker/images/saturation.png +0 -0
  447. data/vendor/assets/javascripts/colorpicker/index.html +0 -0
  448. data/vendor/assets/javascripts/cropper/cropper.css +266 -0
  449. data/vendor/assets/javascripts/cropper/cropper.js +1063 -0
  450. data/vendor/assets/javascripts/cropper/cropper.min.css +9 -0
  451. data/vendor/assets/javascripts/cropper/cropper.min.js +9 -0
  452. data/vendor/assets/javascripts/cropper/index.html +0 -0
  453. data/vendor/assets/javascripts/datatables/css/jquery.dataTables.css +476 -0
  454. data/vendor/assets/javascripts/datatables/css/jquery.dataTables.min.css +1 -0
  455. data/vendor/assets/javascripts/datatables/css/jquery.dataTables_themeroller.css +330 -0
  456. data/vendor/assets/javascripts/datatables/dataTables.bootstrap.css +281 -0
  457. data/vendor/assets/javascripts/datatables/dataTables.bootstrap.js +186 -0
  458. data/vendor/assets/javascripts/datatables/datatables-angular.js +2651 -0
  459. data/vendor/assets/javascripts/datatables/images/Sorting icons.psd +0 -0
  460. data/vendor/assets/javascripts/datatables/images/back_disabled.png +0 -0
  461. data/vendor/assets/javascripts/datatables/images/back_enabled.png +0 -0
  462. data/vendor/assets/javascripts/datatables/images/back_enabled_hover.png +0 -0
  463. data/vendor/assets/javascripts/datatables/images/favicon.ico +0 -0
  464. data/vendor/assets/javascripts/datatables/images/forward_disabled.png +0 -0
  465. data/vendor/assets/javascripts/datatables/images/forward_enabled.png +0 -0
  466. data/vendor/assets/javascripts/datatables/images/forward_enabled_hover.png +0 -0
  467. data/vendor/assets/javascripts/datatables/images/sort_asc.png +0 -0
  468. data/vendor/assets/javascripts/datatables/images/sort_asc_disabled.png +0 -0
  469. data/vendor/assets/javascripts/datatables/images/sort_both.png +0 -0
  470. data/vendor/assets/javascripts/datatables/images/sort_desc.png +0 -0
  471. data/vendor/assets/javascripts/datatables/images/sort_desc_disabled.png +0 -0
  472. data/vendor/assets/javascripts/datatables/index.html +0 -0
  473. data/vendor/assets/javascripts/datatables/js/jquery.dataTables.js +14624 -0
  474. data/vendor/assets/javascripts/datatables/js/jquery.dataTables.min.js +155 -0
  475. data/vendor/assets/javascripts/datatables/js/jquery.js +4 -0
  476. data/vendor/assets/javascripts/datatables/tabletools/copy_csv_xls.swf +0 -0
  477. data/vendor/assets/javascripts/datatables/tabletools/copy_csv_xls_pdf.swf +0 -0
  478. data/vendor/assets/javascripts/datatables/tabletools/dataTables.tableTools.css +361 -0
  479. data/vendor/assets/javascripts/datatables/tabletools/dataTables.tableTools.min.js +69 -0
  480. data/vendor/assets/javascripts/datatables/yadcf/jquery.dataTables.yadcf.css +116 -0
  481. data/vendor/assets/javascripts/datatables/yadcf/jquery.dataTables.yadcf.js +2235 -0
  482. data/vendor/assets/javascripts/datepicker/bootstrap-datepicker.js +1395 -0
  483. data/vendor/assets/javascripts/datepicker/index.html +0 -0
  484. data/vendor/assets/javascripts/daterangepicker/daterangepicker-bs2.css +256 -0
  485. data/vendor/assets/javascripts/daterangepicker/daterangepicker-bs3.css +288 -0
  486. data/vendor/assets/javascripts/daterangepicker/daterangepicker.js +1118 -0
  487. data/vendor/assets/javascripts/daterangepicker/index.html +0 -0
  488. data/vendor/assets/javascripts/devexpress-web-14.1/js/dx.chartjs.js +12 -0
  489. data/vendor/assets/javascripts/devexpress-web-14.1/js/globalize.min.js +12 -0
  490. data/vendor/assets/javascripts/devexpress-web-14.1/js/knockout-3.1.0.js +12 -0
  491. data/vendor/assets/javascripts/dropzone/css/basic.css +155 -0
  492. data/vendor/assets/javascripts/dropzone/css/dropzone.css +397 -0
  493. data/vendor/assets/javascripts/dropzone/css/stylus/basic.styl +165 -0
  494. data/vendor/assets/javascripts/dropzone/css/stylus/dropzone.styl +180 -0
  495. data/vendor/assets/javascripts/dropzone/dropzone-amd-module.min.js +1 -0
  496. data/vendor/assets/javascripts/dropzone/dropzone.min.js +1 -0
  497. data/vendor/assets/javascripts/dropzone/images/spritemap.png +0 -0
  498. data/vendor/assets/javascripts/dropzone/images/spritemap@2x.png +0 -0
  499. data/vendor/assets/javascripts/dropzone/index.html +0 -0
  500. data/vendor/assets/javascripts/formwizard/index.html +0 -0
  501. data/vendor/assets/javascripts/formwizard/jquery.bootstrap.wizard.js +331 -0
  502. data/vendor/assets/javascripts/formwizard/jquery.bootstrap.wizard.min.js +22 -0
  503. data/vendor/assets/javascripts/fullcalendar/fullcalendar.css +933 -0
  504. data/vendor/assets/javascripts/fullcalendar/fullcalendar.js +8391 -0
  505. data/vendor/assets/javascripts/fullcalendar/fullcalendar.min.css +5 -0
  506. data/vendor/assets/javascripts/fullcalendar/fullcalendar.min.js +8 -0
  507. data/vendor/assets/javascripts/fullcalendar/fullcalendar.print.css +201 -0
  508. data/vendor/assets/javascripts/fullcalendar/index.html +0 -0
  509. data/vendor/assets/javascripts/fullcalendar/moment.min.js +6 -0
  510. data/vendor/assets/javascripts/handlebars.min.js +28 -0
  511. data/vendor/assets/javascripts/icheck/icheck.min.js +11 -0
  512. data/vendor/assets/javascripts/icheck/index.html +0 -0
  513. data/vendor/assets/javascripts/icheck/skins/all.css +61 -0
  514. data/vendor/assets/javascripts/icheck/skins/flat/_all.css +530 -0
  515. data/vendor/assets/javascripts/icheck/skins/flat/aero.css +53 -0
  516. data/vendor/assets/javascripts/icheck/skins/flat/aero.png +0 -0
  517. data/vendor/assets/javascripts/icheck/skins/flat/aero@2x.png +0 -0
  518. data/vendor/assets/javascripts/icheck/skins/flat/blue.css +53 -0
  519. data/vendor/assets/javascripts/icheck/skins/flat/blue.png +0 -0
  520. data/vendor/assets/javascripts/icheck/skins/flat/blue@2x.png +0 -0
  521. data/vendor/assets/javascripts/icheck/skins/flat/flat.css +53 -0
  522. data/vendor/assets/javascripts/icheck/skins/flat/flat.png +0 -0
  523. data/vendor/assets/javascripts/icheck/skins/flat/flat@2x.png +0 -0
  524. data/vendor/assets/javascripts/icheck/skins/flat/green.css +53 -0
  525. data/vendor/assets/javascripts/icheck/skins/flat/green.png +0 -0
  526. data/vendor/assets/javascripts/icheck/skins/flat/green@2x.png +0 -0
  527. data/vendor/assets/javascripts/icheck/skins/flat/grey.css +53 -0
  528. data/vendor/assets/javascripts/icheck/skins/flat/grey.png +0 -0
  529. data/vendor/assets/javascripts/icheck/skins/flat/grey@2x.png +0 -0
  530. data/vendor/assets/javascripts/icheck/skins/flat/orange.css +53 -0
  531. data/vendor/assets/javascripts/icheck/skins/flat/orange.png +0 -0
  532. data/vendor/assets/javascripts/icheck/skins/flat/orange@2x.png +0 -0
  533. data/vendor/assets/javascripts/icheck/skins/flat/pink.css +53 -0
  534. data/vendor/assets/javascripts/icheck/skins/flat/pink.png +0 -0
  535. data/vendor/assets/javascripts/icheck/skins/flat/pink@2x.png +0 -0
  536. data/vendor/assets/javascripts/icheck/skins/flat/purple.css +53 -0
  537. data/vendor/assets/javascripts/icheck/skins/flat/purple.png +0 -0
  538. data/vendor/assets/javascripts/icheck/skins/flat/purple@2x.png +0 -0
  539. data/vendor/assets/javascripts/icheck/skins/flat/red.css +53 -0
  540. data/vendor/assets/javascripts/icheck/skins/flat/red.png +0 -0
  541. data/vendor/assets/javascripts/icheck/skins/flat/red@2x.png +0 -0
  542. data/vendor/assets/javascripts/icheck/skins/flat/yellow.css +53 -0
  543. data/vendor/assets/javascripts/icheck/skins/flat/yellow.png +0 -0
  544. data/vendor/assets/javascripts/icheck/skins/flat/yellow@2x.png +0 -0
  545. data/vendor/assets/javascripts/icheck/skins/futurico/futurico.css +53 -0
  546. data/vendor/assets/javascripts/icheck/skins/futurico/futurico.png +0 -0
  547. data/vendor/assets/javascripts/icheck/skins/futurico/futurico@2x.png +0 -0
  548. data/vendor/assets/javascripts/icheck/skins/line/_all.css +710 -0
  549. data/vendor/assets/javascripts/icheck/skins/line/aero.css +71 -0
  550. data/vendor/assets/javascripts/icheck/skins/line/blue.css +71 -0
  551. data/vendor/assets/javascripts/icheck/skins/line/green.css +71 -0
  552. data/vendor/assets/javascripts/icheck/skins/line/grey.css +71 -0
  553. data/vendor/assets/javascripts/icheck/skins/line/line.css +71 -0
  554. data/vendor/assets/javascripts/icheck/skins/line/line.png +0 -0
  555. data/vendor/assets/javascripts/icheck/skins/line/line@2x.png +0 -0
  556. data/vendor/assets/javascripts/icheck/skins/line/orange.css +71 -0
  557. data/vendor/assets/javascripts/icheck/skins/line/pink.css +71 -0
  558. data/vendor/assets/javascripts/icheck/skins/line/purple.css +71 -0
  559. data/vendor/assets/javascripts/icheck/skins/line/red.css +71 -0
  560. data/vendor/assets/javascripts/icheck/skins/line/yellow.css +71 -0
  561. data/vendor/assets/javascripts/icheck/skins/minimal/_all.css +590 -0
  562. data/vendor/assets/javascripts/icheck/skins/minimal/aero.css +59 -0
  563. data/vendor/assets/javascripts/icheck/skins/minimal/aero.png +0 -0
  564. data/vendor/assets/javascripts/icheck/skins/minimal/aero@2x.png +0 -0
  565. data/vendor/assets/javascripts/icheck/skins/minimal/blue.css +59 -0
  566. data/vendor/assets/javascripts/icheck/skins/minimal/blue.png +0 -0
  567. data/vendor/assets/javascripts/icheck/skins/minimal/blue@2x.png +0 -0
  568. data/vendor/assets/javascripts/icheck/skins/minimal/green.css +59 -0
  569. data/vendor/assets/javascripts/icheck/skins/minimal/green.png +0 -0
  570. data/vendor/assets/javascripts/icheck/skins/minimal/green@2x.png +0 -0
  571. data/vendor/assets/javascripts/icheck/skins/minimal/grey.css +59 -0
  572. data/vendor/assets/javascripts/icheck/skins/minimal/grey.png +0 -0
  573. data/vendor/assets/javascripts/icheck/skins/minimal/grey@2x.png +0 -0
  574. data/vendor/assets/javascripts/icheck/skins/minimal/minimal.css +59 -0
  575. data/vendor/assets/javascripts/icheck/skins/minimal/minimal.png +0 -0
  576. data/vendor/assets/javascripts/icheck/skins/minimal/minimal@2x.png +0 -0
  577. data/vendor/assets/javascripts/icheck/skins/minimal/orange.css +59 -0
  578. data/vendor/assets/javascripts/icheck/skins/minimal/orange.png +0 -0
  579. data/vendor/assets/javascripts/icheck/skins/minimal/orange@2x.png +0 -0
  580. data/vendor/assets/javascripts/icheck/skins/minimal/pink.css +59 -0
  581. data/vendor/assets/javascripts/icheck/skins/minimal/pink.png +0 -0
  582. data/vendor/assets/javascripts/icheck/skins/minimal/pink@2x.png +0 -0
  583. data/vendor/assets/javascripts/icheck/skins/minimal/purple.css +59 -0
  584. data/vendor/assets/javascripts/icheck/skins/minimal/purple.png +0 -0
  585. data/vendor/assets/javascripts/icheck/skins/minimal/purple@2x.png +0 -0
  586. data/vendor/assets/javascripts/icheck/skins/minimal/red.css +59 -0
  587. data/vendor/assets/javascripts/icheck/skins/minimal/red.png +0 -0
  588. data/vendor/assets/javascripts/icheck/skins/minimal/red@2x.png +0 -0
  589. data/vendor/assets/javascripts/icheck/skins/minimal/yellow.css +59 -0
  590. data/vendor/assets/javascripts/icheck/skins/minimal/yellow.png +0 -0
  591. data/vendor/assets/javascripts/icheck/skins/minimal/yellow@2x.png +0 -0
  592. data/vendor/assets/javascripts/icheck/skins/polaris/polaris.css +59 -0
  593. data/vendor/assets/javascripts/icheck/skins/polaris/polaris.png +0 -0
  594. data/vendor/assets/javascripts/icheck/skins/polaris/polaris@2x.png +0 -0
  595. data/vendor/assets/javascripts/icheck/skins/square/_all.css +590 -0
  596. data/vendor/assets/javascripts/icheck/skins/square/aero.css +59 -0
  597. data/vendor/assets/javascripts/icheck/skins/square/aero.png +0 -0
  598. data/vendor/assets/javascripts/icheck/skins/square/aero@2x.png +0 -0
  599. data/vendor/assets/javascripts/icheck/skins/square/blue.css +59 -0
  600. data/vendor/assets/javascripts/icheck/skins/square/blue.png +0 -0
  601. data/vendor/assets/javascripts/icheck/skins/square/blue@2x.png +0 -0
  602. data/vendor/assets/javascripts/icheck/skins/square/green.css +59 -0
  603. data/vendor/assets/javascripts/icheck/skins/square/green.png +0 -0
  604. data/vendor/assets/javascripts/icheck/skins/square/green@2x.png +0 -0
  605. data/vendor/assets/javascripts/icheck/skins/square/grey.css +59 -0
  606. data/vendor/assets/javascripts/icheck/skins/square/grey.png +0 -0
  607. data/vendor/assets/javascripts/icheck/skins/square/grey@2x.png +0 -0
  608. data/vendor/assets/javascripts/icheck/skins/square/orange.css +59 -0
  609. data/vendor/assets/javascripts/icheck/skins/square/orange.png +0 -0
  610. data/vendor/assets/javascripts/icheck/skins/square/orange@2x.png +0 -0
  611. data/vendor/assets/javascripts/icheck/skins/square/pink.css +59 -0
  612. data/vendor/assets/javascripts/icheck/skins/square/pink.png +0 -0
  613. data/vendor/assets/javascripts/icheck/skins/square/pink@2x.png +0 -0
  614. data/vendor/assets/javascripts/icheck/skins/square/purple.css +59 -0
  615. data/vendor/assets/javascripts/icheck/skins/square/purple.png +0 -0
  616. data/vendor/assets/javascripts/icheck/skins/square/purple@2x.png +0 -0
  617. data/vendor/assets/javascripts/icheck/skins/square/red.css +59 -0
  618. data/vendor/assets/javascripts/icheck/skins/square/red.png +0 -0
  619. data/vendor/assets/javascripts/icheck/skins/square/red@2x.png +0 -0
  620. data/vendor/assets/javascripts/icheck/skins/square/square.css +59 -0
  621. data/vendor/assets/javascripts/icheck/skins/square/square.png +0 -0
  622. data/vendor/assets/javascripts/icheck/skins/square/square@2x.png +0 -0
  623. data/vendor/assets/javascripts/icheck/skins/square/yellow.css +59 -0
  624. data/vendor/assets/javascripts/icheck/skins/square/yellow.png +0 -0
  625. data/vendor/assets/javascripts/icheck/skins/square/yellow@2x.png +0 -0
  626. data/vendor/assets/javascripts/inputmask/index.html +0 -0
  627. data/vendor/assets/javascripts/inputmask/inputmask/jquery.inputmask.date.extensions.js +8 -0
  628. data/vendor/assets/javascripts/inputmask/inputmask/jquery.inputmask.extensions.js +8 -0
  629. data/vendor/assets/javascripts/inputmask/inputmask/jquery.inputmask.js +9 -0
  630. data/vendor/assets/javascripts/inputmask/inputmask/jquery.inputmask.numeric.extensions.js +8 -0
  631. data/vendor/assets/javascripts/inputmask/inputmask/jquery.inputmask.phone.extensions.js +8 -0
  632. data/vendor/assets/javascripts/inputmask/inputmask/jquery.inputmask.regex.extensions.js +8 -0
  633. data/vendor/assets/javascripts/inputmask/jquery.inputmask.bundle.js +9 -0
  634. data/vendor/assets/javascripts/joinable.js +45 -0
  635. data/vendor/assets/javascripts/jquery-1.11.1.min.js +4 -0
  636. data/vendor/assets/javascripts/jquery-ui/external/jquery/jquery.js +9789 -0
  637. data/vendor/assets/javascripts/jquery-ui/index.html +317 -0
  638. data/vendor/assets/javascripts/jquery-ui/jquery-ui.css +239 -0
  639. data/vendor/assets/javascripts/jquery-ui/jquery-ui.js +6343 -0
  640. data/vendor/assets/javascripts/jquery-ui/jquery-ui.min.css +6 -0
  641. data/vendor/assets/javascripts/jquery-ui/jquery-ui.min.js +9 -0
  642. data/vendor/assets/javascripts/jquery-ui/jquery-ui.structure.css +245 -0
  643. data/vendor/assets/javascripts/jquery-ui/jquery-ui.structure.min.css +5 -0
  644. data/vendor/assets/javascripts/jquery-validate/additional-methods.js +928 -0
  645. data/vendor/assets/javascripts/jquery-validate/additional-methods.min.js +4 -0
  646. data/vendor/assets/javascripts/jquery-validate/index.html +0 -0
  647. data/vendor/assets/javascripts/jquery-validate/jquery.validate.js +1357 -0
  648. data/vendor/assets/javascripts/jquery-validate/jquery.validate.min.js +4 -0
  649. data/vendor/assets/javascripts/jquery-validate/localization/messages_ar.js +33 -0
  650. data/vendor/assets/javascripts/jquery-validate/localization/messages_ar.min.js +4 -0
  651. data/vendor/assets/javascripts/jquery-validate/localization/messages_bg.js +33 -0
  652. data/vendor/assets/javascripts/jquery-validate/localization/messages_bg.min.js +4 -0
  653. data/vendor/assets/javascripts/jquery-validate/localization/messages_ca.js +33 -0
  654. data/vendor/assets/javascripts/jquery-validate/localization/messages_ca.min.js +4 -0
  655. data/vendor/assets/javascripts/jquery-validate/localization/messages_cs.js +33 -0
  656. data/vendor/assets/javascripts/jquery-validate/localization/messages_cs.min.js +4 -0
  657. data/vendor/assets/javascripts/jquery-validate/localization/messages_da.js +30 -0
  658. data/vendor/assets/javascripts/jquery-validate/localization/messages_da.min.js +4 -0
  659. data/vendor/assets/javascripts/jquery-validate/localization/messages_de.js +30 -0
  660. data/vendor/assets/javascripts/jquery-validate/localization/messages_de.min.js +4 -0
  661. data/vendor/assets/javascripts/jquery-validate/localization/messages_el.js +33 -0
  662. data/vendor/assets/javascripts/jquery-validate/localization/messages_el.min.js +4 -0
  663. data/vendor/assets/javascripts/jquery-validate/localization/messages_es.js +36 -0
  664. data/vendor/assets/javascripts/jquery-validate/localization/messages_es.min.js +4 -0
  665. data/vendor/assets/javascripts/jquery-validate/localization/messages_es_AR.js +37 -0
  666. data/vendor/assets/javascripts/jquery-validate/localization/messages_es_AR.min.js +4 -0
  667. data/vendor/assets/javascripts/jquery-validate/localization/messages_et.js +31 -0
  668. data/vendor/assets/javascripts/jquery-validate/localization/messages_et.min.js +4 -0
  669. data/vendor/assets/javascripts/jquery-validate/localization/messages_eu.js +33 -0
  670. data/vendor/assets/javascripts/jquery-validate/localization/messages_eu.min.js +4 -0
  671. data/vendor/assets/javascripts/jquery-validate/localization/messages_fa.js +36 -0
  672. data/vendor/assets/javascripts/jquery-validate/localization/messages_fa.min.js +4 -0
  673. data/vendor/assets/javascripts/jquery-validate/localization/messages_fi.js +31 -0
  674. data/vendor/assets/javascripts/jquery-validate/localization/messages_fi.min.js +4 -0
  675. data/vendor/assets/javascripts/jquery-validate/localization/messages_fr.js +59 -0
  676. data/vendor/assets/javascripts/jquery-validate/localization/messages_fr.min.js +4 -0
  677. data/vendor/assets/javascripts/jquery-validate/localization/messages_gl.js +38 -0
  678. data/vendor/assets/javascripts/jquery-validate/localization/messages_gl.min.js +4 -0
  679. data/vendor/assets/javascripts/jquery-validate/localization/messages_he.js +33 -0
  680. data/vendor/assets/javascripts/jquery-validate/localization/messages_he.min.js +4 -0
  681. data/vendor/assets/javascripts/jquery-validate/localization/messages_hr.js +33 -0
  682. data/vendor/assets/javascripts/jquery-validate/localization/messages_hr.min.js +4 -0
  683. data/vendor/assets/javascripts/jquery-validate/localization/messages_hu.js +32 -0
  684. data/vendor/assets/javascripts/jquery-validate/localization/messages_hu.min.js +4 -0
  685. data/vendor/assets/javascripts/jquery-validate/localization/messages_id.js +32 -0
  686. data/vendor/assets/javascripts/jquery-validate/localization/messages_id.min.js +4 -0
  687. data/vendor/assets/javascripts/jquery-validate/localization/messages_is.js +31 -0
  688. data/vendor/assets/javascripts/jquery-validate/localization/messages_is.min.js +4 -0
  689. data/vendor/assets/javascripts/jquery-validate/localization/messages_it.js +36 -0
  690. data/vendor/assets/javascripts/jquery-validate/localization/messages_it.min.js +4 -0
  691. data/vendor/assets/javascripts/jquery-validate/localization/messages_ja.js +33 -0
  692. data/vendor/assets/javascripts/jquery-validate/localization/messages_ja.min.js +4 -0
  693. data/vendor/assets/javascripts/jquery-validate/localization/messages_ka.js +33 -0
  694. data/vendor/assets/javascripts/jquery-validate/localization/messages_ka.min.js +4 -0
  695. data/vendor/assets/javascripts/jquery-validate/localization/messages_kk.js +33 -0
  696. data/vendor/assets/javascripts/jquery-validate/localization/messages_kk.min.js +4 -0
  697. data/vendor/assets/javascripts/jquery-validate/localization/messages_ko.js +33 -0
  698. data/vendor/assets/javascripts/jquery-validate/localization/messages_ko.min.js +4 -0
  699. data/vendor/assets/javascripts/jquery-validate/localization/messages_lt.js +33 -0
  700. data/vendor/assets/javascripts/jquery-validate/localization/messages_lt.min.js +4 -0
  701. data/vendor/assets/javascripts/jquery-validate/localization/messages_lv.js +33 -0
  702. data/vendor/assets/javascripts/jquery-validate/localization/messages_lv.min.js +4 -0
  703. data/vendor/assets/javascripts/jquery-validate/localization/messages_my.js +33 -0
  704. data/vendor/assets/javascripts/jquery-validate/localization/messages_my.min.js +4 -0
  705. data/vendor/assets/javascripts/jquery-validate/localization/messages_nl.js +43 -0
  706. data/vendor/assets/javascripts/jquery-validate/localization/messages_nl.min.js +4 -0
  707. data/vendor/assets/javascripts/jquery-validate/localization/messages_no.js +33 -0
  708. data/vendor/assets/javascripts/jquery-validate/localization/messages_no.min.js +4 -0
  709. data/vendor/assets/javascripts/jquery-validate/localization/messages_pl.js +33 -0
  710. data/vendor/assets/javascripts/jquery-validate/localization/messages_pl.min.js +4 -0
  711. data/vendor/assets/javascripts/jquery-validate/localization/messages_pt_BR.js +37 -0
  712. data/vendor/assets/javascripts/jquery-validate/localization/messages_pt_BR.min.js +4 -0
  713. data/vendor/assets/javascripts/jquery-validate/localization/messages_pt_PT.js +37 -0
  714. data/vendor/assets/javascripts/jquery-validate/localization/messages_pt_PT.min.js +4 -0
  715. data/vendor/assets/javascripts/jquery-validate/localization/messages_ro.js +33 -0
  716. data/vendor/assets/javascripts/jquery-validate/localization/messages_ro.min.js +4 -0
  717. data/vendor/assets/javascripts/jquery-validate/localization/messages_ru.js +33 -0
  718. data/vendor/assets/javascripts/jquery-validate/localization/messages_ru.min.js +4 -0
  719. data/vendor/assets/javascripts/jquery-validate/localization/messages_si.js +33 -0
  720. data/vendor/assets/javascripts/jquery-validate/localization/messages_si.min.js +4 -0
  721. data/vendor/assets/javascripts/jquery-validate/localization/messages_sk.js +30 -0
  722. data/vendor/assets/javascripts/jquery-validate/localization/messages_sk.min.js +4 -0
  723. data/vendor/assets/javascripts/jquery-validate/localization/messages_sl.js +33 -0
  724. data/vendor/assets/javascripts/jquery-validate/localization/messages_sl.min.js +4 -0
  725. data/vendor/assets/javascripts/jquery-validate/localization/messages_sr.js +33 -0
  726. data/vendor/assets/javascripts/jquery-validate/localization/messages_sr.min.js +4 -0
  727. data/vendor/assets/javascripts/jquery-validate/localization/messages_sr_lat.js +33 -0
  728. data/vendor/assets/javascripts/jquery-validate/localization/messages_sr_lat.min.js +4 -0
  729. data/vendor/assets/javascripts/jquery-validate/localization/messages_sv.js +31 -0
  730. data/vendor/assets/javascripts/jquery-validate/localization/messages_sv.min.js +4 -0
  731. data/vendor/assets/javascripts/jquery-validate/localization/messages_th.js +33 -0
  732. data/vendor/assets/javascripts/jquery-validate/localization/messages_th.min.js +4 -0
  733. data/vendor/assets/javascripts/jquery-validate/localization/messages_tj.js +33 -0
  734. data/vendor/assets/javascripts/jquery-validate/localization/messages_tj.min.js +4 -0
  735. data/vendor/assets/javascripts/jquery-validate/localization/messages_tr.js +33 -0
  736. data/vendor/assets/javascripts/jquery-validate/localization/messages_tr.min.js +4 -0
  737. data/vendor/assets/javascripts/jquery-validate/localization/messages_uk.js +33 -0
  738. data/vendor/assets/javascripts/jquery-validate/localization/messages_uk.min.js +4 -0
  739. data/vendor/assets/javascripts/jquery-validate/localization/messages_vi.js +33 -0
  740. data/vendor/assets/javascripts/jquery-validate/localization/messages_vi.min.js +4 -0
  741. data/vendor/assets/javascripts/jquery-validate/localization/messages_zh.js +33 -0
  742. data/vendor/assets/javascripts/jquery-validate/localization/messages_zh.min.js +4 -0
  743. data/vendor/assets/javascripts/jquery-validate/localization/messages_zh_TW.js +34 -0
  744. data/vendor/assets/javascripts/jquery-validate/localization/messages_zh_TW.min.js +4 -0
  745. data/vendor/assets/javascripts/jquery-validate/localization/methods_de.js +22 -0
  746. data/vendor/assets/javascripts/jquery-validate/localization/methods_de.min.js +4 -0
  747. data/vendor/assets/javascripts/jquery-validate/localization/methods_es_CL.js +22 -0
  748. data/vendor/assets/javascripts/jquery-validate/localization/methods_es_CL.min.js +4 -0
  749. data/vendor/assets/javascripts/jquery-validate/localization/methods_fi.js +22 -0
  750. data/vendor/assets/javascripts/jquery-validate/localization/methods_fi.min.js +4 -0
  751. data/vendor/assets/javascripts/jquery-validate/localization/methods_nl.js +19 -0
  752. data/vendor/assets/javascripts/jquery-validate/localization/methods_nl.min.js +4 -0
  753. data/vendor/assets/javascripts/jquery-validate/localization/methods_pt.js +19 -0
  754. data/vendor/assets/javascripts/jquery-validate/localization/methods_pt.min.js +4 -0
  755. data/vendor/assets/javascripts/jquery.mousewheel.js +201 -0
  756. data/vendor/assets/javascripts/jvectormap/index.html +0 -0
  757. data/vendor/assets/javascripts/jvectormap/jquery-jvectormap-1.1.1.css +37 -0
  758. data/vendor/assets/javascripts/jvectormap/jquery-jvectormap-1.1.1.min.js +7 -0
  759. data/vendor/assets/javascripts/jvectormap/jquery-jvectormap-1.2.2.css +37 -0
  760. data/vendor/assets/javascripts/jvectormap/jquery-jvectormap-1.2.2.min.js +8 -0
  761. data/vendor/assets/javascripts/jvectormap/regions/index.html +0 -0
  762. data/vendor/assets/javascripts/jvectormap/regions/jquery-jvectormap-it-mill-en.js +1 -0
  763. data/vendor/assets/javascripts/jvectormap/regions/jquery-jvectormap-world-mill-en.js +1 -0
  764. data/vendor/assets/javascripts/knob/index.html +0 -0
  765. data/vendor/assets/javascripts/knob/jquery.knob.min.js +1 -0
  766. data/vendor/assets/javascripts/min/bootstrap.min-min.js +2 -0
  767. data/vendor/assets/javascripts/min/resizeable-min.js +1 -0
  768. data/vendor/assets/javascripts/min/xenon-notes-min.js +1 -0
  769. data/vendor/assets/javascripts/min/xenon-toggles-min.js +1 -0
  770. data/vendor/assets/javascripts/moment.min.js +6 -0
  771. data/vendor/assets/javascripts/multiselect/css/index.html +0 -0
  772. data/vendor/assets/javascripts/multiselect/css/multi-select.css +93 -0
  773. data/vendor/assets/javascripts/multiselect/img/index.html +0 -0
  774. data/vendor/assets/javascripts/multiselect/img/switch.png +0 -0
  775. data/vendor/assets/javascripts/multiselect/index.html +0 -0
  776. data/vendor/assets/javascripts/multiselect/js/index.html +0 -0
  777. data/vendor/assets/javascripts/multiselect/js/jquery.multi-select.js +532 -0
  778. data/vendor/assets/javascripts/resizeable.js +122 -0
  779. data/vendor/assets/javascripts/rwd-table/css/rwd-table.css +306 -0
  780. data/vendor/assets/javascripts/rwd-table/css/rwd-table.min.css +7 -0
  781. data/vendor/assets/javascripts/rwd-table/index.html +0 -0
  782. data/vendor/assets/javascripts/rwd-table/js/rwd-table.js +674 -0
  783. data/vendor/assets/javascripts/rwd-table/js/rwd-table.min.js +7 -0
  784. data/vendor/assets/javascripts/select2/LICENSE +18 -0
  785. data/vendor/assets/javascripts/select2/index.html +0 -0
  786. data/vendor/assets/javascripts/select2/select2-bootstrap.css +87 -0
  787. data/vendor/assets/javascripts/select2/select2-spinner.gif +0 -0
  788. data/vendor/assets/javascripts/select2/select2.css +704 -0
  789. data/vendor/assets/javascripts/select2/select2.jquery.json +36 -0
  790. data/vendor/assets/javascripts/select2/select2.js +3508 -0
  791. data/vendor/assets/javascripts/select2/select2.min.js +23 -0
  792. data/vendor/assets/javascripts/select2/select2.png +0 -0
  793. data/vendor/assets/javascripts/select2/select2_locale_ar.js +19 -0
  794. data/vendor/assets/javascripts/select2/select2_locale_az.js +20 -0
  795. data/vendor/assets/javascripts/select2/select2_locale_bg.js +20 -0
  796. data/vendor/assets/javascripts/select2/select2_locale_ca.js +19 -0
  797. data/vendor/assets/javascripts/select2/select2_locale_cs.js +51 -0
  798. data/vendor/assets/javascripts/select2/select2_locale_da.js +19 -0
  799. data/vendor/assets/javascripts/select2/select2_locale_de.js +18 -0
  800. data/vendor/assets/javascripts/select2/select2_locale_el.js +19 -0
  801. data/vendor/assets/javascripts/select2/select2_locale_en.js.template +20 -0
  802. data/vendor/assets/javascripts/select2/select2_locale_es.js +17 -0
  803. data/vendor/assets/javascripts/select2/select2_locale_et.js +19 -0
  804. data/vendor/assets/javascripts/select2/select2_locale_eu.js +45 -0
  805. data/vendor/assets/javascripts/select2/select2_locale_fa.js +21 -0
  806. data/vendor/assets/javascripts/select2/select2_locale_fi.js +30 -0
  807. data/vendor/assets/javascripts/select2/select2_locale_fr.js +18 -0
  808. data/vendor/assets/javascripts/select2/select2_locale_gl.js +45 -0
  809. data/vendor/assets/javascripts/select2/select2_locale_he.js +19 -0
  810. data/vendor/assets/javascripts/select2/select2_locale_hr.js +24 -0
  811. data/vendor/assets/javascripts/select2/select2_locale_hu.js +17 -0
  812. data/vendor/assets/javascripts/select2/select2_locale_id.js +19 -0
  813. data/vendor/assets/javascripts/select2/select2_locale_is.js +17 -0
  814. data/vendor/assets/javascripts/select2/select2_locale_it.js +17 -0
  815. data/vendor/assets/javascripts/select2/select2_locale_ja.js +17 -0
  816. data/vendor/assets/javascripts/select2/select2_locale_ka.js +19 -0
  817. data/vendor/assets/javascripts/select2/select2_locale_ko.js +19 -0
  818. data/vendor/assets/javascripts/select2/select2_locale_lt.js +26 -0
  819. data/vendor/assets/javascripts/select2/select2_locale_lv.js +19 -0
  820. data/vendor/assets/javascripts/select2/select2_locale_mk.js +19 -0
  821. data/vendor/assets/javascripts/select2/select2_locale_ms.js +19 -0
  822. data/vendor/assets/javascripts/select2/select2_locale_nl.js +17 -0
  823. data/vendor/assets/javascripts/select2/select2_locale_no.js +20 -0
  824. data/vendor/assets/javascripts/select2/select2_locale_pl.js +25 -0
  825. data/vendor/assets/javascripts/select2/select2_locale_pt-BR.js +17 -0
  826. data/vendor/assets/javascripts/select2/select2_locale_pt-PT.js +17 -0
  827. data/vendor/assets/javascripts/select2/select2_locale_ro.js +17 -0
  828. data/vendor/assets/javascripts/select2/select2_locale_rs.js +19 -0
  829. data/vendor/assets/javascripts/select2/select2_locale_ru.js +23 -0
  830. data/vendor/assets/javascripts/select2/select2_locale_sk.js +50 -0
  831. data/vendor/assets/javascripts/select2/select2_locale_sv.js +19 -0
  832. data/vendor/assets/javascripts/select2/select2_locale_th.js +19 -0
  833. data/vendor/assets/javascripts/select2/select2_locale_tr.js +19 -0
  834. data/vendor/assets/javascripts/select2/select2_locale_ug-CN.js +16 -0
  835. data/vendor/assets/javascripts/select2/select2_locale_uk.js +25 -0
  836. data/vendor/assets/javascripts/select2/select2_locale_vi.js +20 -0
  837. data/vendor/assets/javascripts/select2/select2_locale_zh-CN.js +16 -0
  838. data/vendor/assets/javascripts/select2/select2_locale_zh-TW.js +16 -0
  839. data/vendor/assets/javascripts/select2/select2x2.png +0 -0
  840. data/vendor/assets/javascripts/selectboxit/index.html +0 -0
  841. data/vendor/assets/javascripts/selectboxit/jquery.selectBoxIt.css +278 -0
  842. data/vendor/assets/javascripts/selectboxit/jquery.selectBoxIt.js +3259 -0
  843. data/vendor/assets/javascripts/selectboxit/jquery.selectBoxIt.min.js +4 -0
  844. data/vendor/assets/javascripts/tagsinput/bootstrap-tagsinput.css +46 -0
  845. data/vendor/assets/javascripts/tagsinput/bootstrap-tagsinput.js +617 -0
  846. data/vendor/assets/javascripts/tagsinput/bootstrap-tagsinput.less +50 -0
  847. data/vendor/assets/javascripts/tagsinput/bootstrap-tagsinput.min.js +7 -0
  848. data/vendor/assets/javascripts/tagsinput/bootstrap-tagsinput.min.js.map +1 -0
  849. data/vendor/assets/javascripts/tagsinput/index.html +0 -0
  850. data/vendor/assets/javascripts/tagsinput/min/bootstrap-tagsinput.min-min.js +8 -0
  851. data/vendor/assets/javascripts/timepicker/bootstrap-timepicker.min.js +5 -0
  852. data/vendor/assets/javascripts/timepicker/index.html +0 -0
  853. data/vendor/assets/javascripts/toastr/index.html +0 -0
  854. data/vendor/assets/javascripts/toastr/toastr-icon.png +0 -0
  855. data/vendor/assets/javascripts/toastr/toastr.css +180 -0
  856. data/vendor/assets/javascripts/toastr/toastr.js +350 -0
  857. data/vendor/assets/javascripts/toastr/toastr.less +232 -0
  858. data/vendor/assets/javascripts/toastr/toastr.min.css +1 -0
  859. data/vendor/assets/javascripts/toastr/toastr.min.js +1 -0
  860. data/vendor/assets/javascripts/toastr/toastr.min.js.map +8 -0
  861. data/vendor/assets/javascripts/toastr/toastr.scss +183 -0
  862. data/vendor/assets/javascripts/tocify/index.html +0 -0
  863. data/vendor/assets/javascripts/tocify/jquery.tocify.css +62 -0
  864. data/vendor/assets/javascripts/tocify/jquery.tocify.min.js +4 -0
  865. data/vendor/assets/javascripts/typeahead.bundle.js +1782 -0
  866. data/vendor/assets/javascripts/uikit/css/addons/uikit.addons.css +1253 -0
  867. data/vendor/assets/javascripts/uikit/css/addons/uikit.addons.min.css +3 -0
  868. data/vendor/assets/javascripts/uikit/css/addons/uikit.almost-flat.addons.css +1334 -0
  869. data/vendor/assets/javascripts/uikit/css/addons/uikit.almost-flat.addons.min.css +3 -0
  870. data/vendor/assets/javascripts/uikit/css/addons/uikit.gradient.addons.css +1355 -0
  871. data/vendor/assets/javascripts/uikit/css/addons/uikit.gradient.addons.min.css +3 -0
  872. data/vendor/assets/javascripts/uikit/css/index.html +0 -0
  873. data/vendor/assets/javascripts/uikit/css/uikit.almost-flat.css +7273 -0
  874. data/vendor/assets/javascripts/uikit/css/uikit.almost-flat.min.css +3 -0
  875. data/vendor/assets/javascripts/uikit/css/uikit.css +1 -0
  876. data/vendor/assets/javascripts/uikit/css/uikit.gradient.css +7341 -0
  877. data/vendor/assets/javascripts/uikit/css/uikit.gradient.min.css +3 -0
  878. data/vendor/assets/javascripts/uikit/css/uikit.min.css +3 -0
  879. data/vendor/assets/javascripts/uikit/fonts/FontAwesome.otf +0 -0
  880. data/vendor/assets/javascripts/uikit/fonts/fontawesome-webfont.eot +0 -0
  881. data/vendor/assets/javascripts/uikit/fonts/fontawesome-webfont.ttf +0 -0
  882. data/vendor/assets/javascripts/uikit/fonts/fontawesome-webfont.woff +0 -0
  883. data/vendor/assets/javascripts/uikit/fonts/index.html +0 -0
  884. data/vendor/assets/javascripts/uikit/index.html +0 -0
  885. data/vendor/assets/javascripts/uikit/js/addons/autocomplete.js +305 -0
  886. data/vendor/assets/javascripts/uikit/js/addons/autocomplete.min.js +3 -0
  887. data/vendor/assets/javascripts/uikit/js/addons/cover.js +90 -0
  888. data/vendor/assets/javascripts/uikit/js/addons/cover.min.js +3 -0
  889. data/vendor/assets/javascripts/uikit/js/addons/datepicker.js +379 -0
  890. data/vendor/assets/javascripts/uikit/js/addons/datepicker.min.js +3 -0
  891. data/vendor/assets/javascripts/uikit/js/addons/form-password.js +62 -0
  892. data/vendor/assets/javascripts/uikit/js/addons/form-password.min.js +3 -0
  893. data/vendor/assets/javascripts/uikit/js/addons/form-select.js +62 -0
  894. data/vendor/assets/javascripts/uikit/js/addons/form-select.min.js +3 -0
  895. data/vendor/assets/javascripts/uikit/js/addons/htmleditor.js +615 -0
  896. data/vendor/assets/javascripts/uikit/js/addons/htmleditor.min.js +3 -0
  897. data/vendor/assets/javascripts/uikit/js/addons/nestable.js +575 -0
  898. data/vendor/assets/javascripts/uikit/js/addons/nestable.min.js +3 -0
  899. data/vendor/assets/javascripts/uikit/js/addons/notify.js +180 -0
  900. data/vendor/assets/javascripts/uikit/js/addons/notify.min.js +3 -0
  901. data/vendor/assets/javascripts/uikit/js/addons/pagination.js +146 -0
  902. data/vendor/assets/javascripts/uikit/js/addons/pagination.min.js +3 -0
  903. data/vendor/assets/javascripts/uikit/js/addons/search.js +90 -0
  904. data/vendor/assets/javascripts/uikit/js/addons/search.min.js +3 -0
  905. data/vendor/assets/javascripts/uikit/js/addons/sortable.js +520 -0
  906. data/vendor/assets/javascripts/uikit/js/addons/sortable.min.js +3 -0
  907. data/vendor/assets/javascripts/uikit/js/addons/sticky.js +240 -0
  908. data/vendor/assets/javascripts/uikit/js/addons/sticky.min.js +3 -0
  909. data/vendor/assets/javascripts/uikit/js/addons/timepicker.js +165 -0
  910. data/vendor/assets/javascripts/uikit/js/addons/timepicker.min.js +3 -0
  911. data/vendor/assets/javascripts/uikit/js/addons/upload.js +256 -0
  912. data/vendor/assets/javascripts/uikit/js/addons/upload.min.js +3 -0
  913. data/vendor/assets/javascripts/uikit/js/index.html +0 -0
  914. data/vendor/assets/javascripts/uikit/js/uikit.js +2592 -0
  915. data/vendor/assets/javascripts/uikit/js/uikit.min.js +4 -0
  916. data/vendor/assets/javascripts/uikit/less/addons/autocomplete.less +102 -0
  917. data/vendor/assets/javascripts/uikit/less/addons/cover.less +70 -0
  918. data/vendor/assets/javascripts/uikit/less/addons/datepicker.less +193 -0
  919. data/vendor/assets/javascripts/uikit/less/addons/dotnav.less +141 -0
  920. data/vendor/assets/javascripts/uikit/less/addons/flex.less +62 -0
  921. data/vendor/assets/javascripts/uikit/less/addons/form-advanced.less +123 -0
  922. data/vendor/assets/javascripts/uikit/less/addons/form-file.less +63 -0
  923. data/vendor/assets/javascripts/uikit/less/addons/form-password.less +74 -0
  924. data/vendor/assets/javascripts/uikit/less/addons/form-select.less +66 -0
  925. data/vendor/assets/javascripts/uikit/less/addons/htmleditor.less +274 -0
  926. data/vendor/assets/javascripts/uikit/less/addons/nestable.less +204 -0
  927. data/vendor/assets/javascripts/uikit/less/addons/notify.less +191 -0
  928. data/vendor/assets/javascripts/uikit/less/addons/placeholder.less +66 -0
  929. data/vendor/assets/javascripts/uikit/less/addons/search.less +310 -0
  930. data/vendor/assets/javascripts/uikit/less/addons/slidenav.less +164 -0
  931. data/vendor/assets/javascripts/uikit/less/addons/sortable.less +110 -0
  932. data/vendor/assets/javascripts/uikit/less/addons/sticky.less +52 -0
  933. data/vendor/assets/javascripts/uikit/less/addons/upload.less +34 -0
  934. data/vendor/assets/javascripts/uikit/less/alert.less +141 -0
  935. data/vendor/assets/javascripts/uikit/less/animation.less +580 -0
  936. data/vendor/assets/javascripts/uikit/less/article.less +139 -0
  937. data/vendor/assets/javascripts/uikit/less/badge.less +111 -0
  938. data/vendor/assets/javascripts/uikit/less/base.less +521 -0
  939. data/vendor/assets/javascripts/uikit/less/breadcrumb.less +86 -0
  940. data/vendor/assets/javascripts/uikit/less/button.less +407 -0
  941. data/vendor/assets/javascripts/uikit/less/close.less +133 -0
  942. data/vendor/assets/javascripts/uikit/less/comment.less +172 -0
  943. data/vendor/assets/javascripts/uikit/less/description-list.less +70 -0
  944. data/vendor/assets/javascripts/uikit/less/dropdown.less +272 -0
  945. data/vendor/assets/javascripts/uikit/less/form.less +623 -0
  946. data/vendor/assets/javascripts/uikit/less/grid.less +593 -0
  947. data/vendor/assets/javascripts/uikit/less/icon.less +695 -0
  948. data/vendor/assets/javascripts/uikit/less/index.html +0 -0
  949. data/vendor/assets/javascripts/uikit/less/list.less +102 -0
  950. data/vendor/assets/javascripts/uikit/less/modal.less +226 -0
  951. data/vendor/assets/javascripts/uikit/less/nav.less +468 -0
  952. data/vendor/assets/javascripts/uikit/less/navbar.less +327 -0
  953. data/vendor/assets/javascripts/uikit/less/offcanvas.less +162 -0
  954. data/vendor/assets/javascripts/uikit/less/overlay.less +241 -0
  955. data/vendor/assets/javascripts/uikit/less/pagination.less +198 -0
  956. data/vendor/assets/javascripts/uikit/less/panel.less +244 -0
  957. data/vendor/assets/javascripts/uikit/less/print.less +52 -0
  958. data/vendor/assets/javascripts/uikit/less/progress.less +174 -0
  959. data/vendor/assets/javascripts/uikit/less/subnav.less +183 -0
  960. data/vendor/assets/javascripts/uikit/less/switcher.less +33 -0
  961. data/vendor/assets/javascripts/uikit/less/tab.less +368 -0
  962. data/vendor/assets/javascripts/uikit/less/table.less +120 -0
  963. data/vendor/assets/javascripts/uikit/less/text.less +124 -0
  964. data/vendor/assets/javascripts/uikit/less/thumbnail.less +123 -0
  965. data/vendor/assets/javascripts/uikit/less/tooltip.less +179 -0
  966. data/vendor/assets/javascripts/uikit/less/uikit-addons.less +26 -0
  967. data/vendor/assets/javascripts/uikit/less/uikit.css +4426 -0
  968. data/vendor/assets/javascripts/uikit/less/uikit.less +53 -0
  969. data/vendor/assets/javascripts/uikit/less/utility.less +526 -0
  970. data/vendor/assets/javascripts/uikit/less/variables.less +27 -0
  971. data/vendor/assets/javascripts/uikit/uikit.css +1 -0
  972. data/vendor/assets/javascripts/uikit/vendor/codemirror/codemirror.css +340 -0
  973. data/vendor/assets/javascripts/uikit/vendor/codemirror/codemirror.js +65 -0
  974. data/vendor/assets/javascripts/uikit/vendor/codemirror/show-hint.css +38 -0
  975. data/vendor/assets/javascripts/uikit/vendor/customizer.js +290 -0
  976. data/vendor/assets/javascripts/uikit/vendor/highlight/highlight.css +127 -0
  977. data/vendor/assets/javascripts/uikit/vendor/highlight/highlight.js +1 -0
  978. data/vendor/assets/javascripts/uikit/vendor/highlight/test.html +45 -0
  979. data/vendor/assets/javascripts/uikit/vendor/holder.js +648 -0
  980. data/vendor/assets/javascripts/uikit/vendor/index.html +0 -0
  981. data/vendor/assets/javascripts/uikit/vendor/jquery.js +4 -0
  982. data/vendor/assets/javascripts/uikit/vendor/jquery.less.js +274 -0
  983. data/vendor/assets/javascripts/uikit/vendor/jquery.mustache.js +16 -0
  984. data/vendor/assets/javascripts/uikit/vendor/jquery.rtl.js +271 -0
  985. data/vendor/assets/javascripts/uikit/vendor/less.js +16 -0
  986. data/vendor/assets/javascripts/uikit/vendor/marked.js +1272 -0
  987. data/vendor/assets/javascripts/uikit/vendor/spectrum/spectrum.css +480 -0
  988. data/vendor/assets/javascripts/uikit/vendor/spectrum/spectrum.js +1889 -0
  989. data/vendor/assets/javascripts/uikit/vendor/spectrum/test.html +343 -0
  990. data/vendor/assets/javascripts/wysihtml5/index.html +0 -0
  991. data/vendor/assets/javascripts/wysihtml5/lib/css/bootstrap-responsive.css +686 -0
  992. data/vendor/assets/javascripts/wysihtml5/lib/css/bootstrap-responsive.min.css +12 -0
  993. data/vendor/assets/javascripts/wysihtml5/lib/css/bootstrap.css +3990 -0
  994. data/vendor/assets/javascripts/wysihtml5/lib/css/bootstrap.min.css +689 -0
  995. data/vendor/assets/javascripts/wysihtml5/lib/css/index.html +0 -0
  996. data/vendor/assets/javascripts/wysihtml5/lib/css/prettify.css +30 -0
  997. data/vendor/assets/javascripts/wysihtml5/lib/css/wysiwyg-color.css +67 -0
  998. data/vendor/assets/javascripts/wysihtml5/lib/img/glyphicons-halflings-white.png +0 -0
  999. data/vendor/assets/javascripts/wysihtml5/lib/img/glyphicons-halflings.png +0 -0
  1000. data/vendor/assets/javascripts/wysihtml5/lib/img/index.html +0 -0
  1001. data/vendor/assets/javascripts/wysihtml5/lib/index.html +0 -0
  1002. data/vendor/assets/javascripts/wysihtml5/lib/js/bootstrap-button.js +100 -0
  1003. data/vendor/assets/javascripts/wysihtml5/lib/js/bootstrap.js +2025 -0
  1004. data/vendor/assets/javascripts/wysihtml5/lib/js/bootstrap.min.js +6 -0
  1005. data/vendor/assets/javascripts/wysihtml5/lib/js/index.html +0 -0
  1006. data/vendor/assets/javascripts/wysihtml5/lib/js/jquery-1.7.2.min.js +4 -0
  1007. data/vendor/assets/javascripts/wysihtml5/lib/js/prettify.js +28 -0
  1008. data/vendor/assets/javascripts/wysihtml5/lib/js/wysihtml5-0.3.0.js +9523 -0
  1009. data/vendor/assets/javascripts/wysihtml5/lib/js/wysihtml5-0.3.0.min.js +261 -0
  1010. data/vendor/assets/javascripts/wysihtml5/src/bootstrap-wysihtml5.css +102 -0
  1011. data/vendor/assets/javascripts/wysihtml5/src/bootstrap-wysihtml5.js +519 -0
  1012. data/vendor/assets/javascripts/wysihtml5/src/index.html +0 -0
  1013. data/vendor/assets/javascripts/wysihtml5/src/locales/bootstrap-wysihtml5.ar-AR.js +49 -0
  1014. data/vendor/assets/javascripts/wysihtml5/src/locales/bootstrap-wysihtml5.bg-BG.js +49 -0
  1015. data/vendor/assets/javascripts/wysihtml5/src/locales/bootstrap-wysihtml5.ca-CT.js +47 -0
  1016. data/vendor/assets/javascripts/wysihtml5/src/locales/bootstrap-wysihtml5.cs-CZ.js +48 -0
  1017. data/vendor/assets/javascripts/wysihtml5/src/locales/bootstrap-wysihtml5.da-DK.js +48 -0
  1018. data/vendor/assets/javascripts/wysihtml5/src/locales/bootstrap-wysihtml5.de-DE.js +49 -0
  1019. data/vendor/assets/javascripts/wysihtml5/src/locales/bootstrap-wysihtml5.el-GR.js +48 -0
  1020. data/vendor/assets/javascripts/wysihtml5/src/locales/bootstrap-wysihtml5.es-AR.js +49 -0
  1021. data/vendor/assets/javascripts/wysihtml5/src/locales/bootstrap-wysihtml5.es-ES.js +48 -0
  1022. data/vendor/assets/javascripts/wysihtml5/src/locales/bootstrap-wysihtml5.fr-FR.js +49 -0
  1023. data/vendor/assets/javascripts/wysihtml5/src/locales/bootstrap-wysihtml5.hr-HR.js +48 -0
  1024. data/vendor/assets/javascripts/wysihtml5/src/locales/bootstrap-wysihtml5.it-IT.js +47 -0
  1025. data/vendor/assets/javascripts/wysihtml5/src/locales/bootstrap-wysihtml5.ja-JP.js +49 -0
  1026. data/vendor/assets/javascripts/wysihtml5/src/locales/bootstrap-wysihtml5.ko-KR.js +49 -0
  1027. data/vendor/assets/javascripts/wysihtml5/src/locales/bootstrap-wysihtml5.lt-LT.js +48 -0
  1028. data/vendor/assets/javascripts/wysihtml5/src/locales/bootstrap-wysihtml5.mo-MD.js +48 -0
  1029. data/vendor/assets/javascripts/wysihtml5/src/locales/bootstrap-wysihtml5.nb-NB.js +49 -0
  1030. data/vendor/assets/javascripts/wysihtml5/src/locales/bootstrap-wysihtml5.nl-NL.js +48 -0
  1031. data/vendor/assets/javascripts/wysihtml5/src/locales/bootstrap-wysihtml5.pl-PL.js +48 -0
  1032. data/vendor/assets/javascripts/wysihtml5/src/locales/bootstrap-wysihtml5.pt-BR.js +52 -0
  1033. data/vendor/assets/javascripts/wysihtml5/src/locales/bootstrap-wysihtml5.ru-RU.js +49 -0
  1034. data/vendor/assets/javascripts/wysihtml5/src/locales/bootstrap-wysihtml5.sk-SK.js +48 -0
  1035. data/vendor/assets/javascripts/wysihtml5/src/locales/bootstrap-wysihtml5.sv-SE.js +48 -0
  1036. data/vendor/assets/javascripts/wysihtml5/src/locales/bootstrap-wysihtml5.tr-TR.js +48 -0
  1037. data/vendor/assets/javascripts/wysihtml5/src/locales/bootstrap-wysihtml5.ua-UA.js +49 -0
  1038. data/vendor/assets/javascripts/wysihtml5/src/locales/bootstrap-wysihtml5.zh-CN.js +48 -0
  1039. data/vendor/assets/javascripts/wysihtml5/src/locales/bootstrap-wysihtml5.zh-TW.js +48 -0
  1040. data/vendor/assets/javascripts/wysihtml5/src/locales/index.html +0 -0
  1041. data/vendor/assets/javascripts/wysihtml5/wysihtml5-angular.js +10042 -0
  1042. data/vendor/assets/javascripts/xenon-api.js +91 -0
  1043. data/vendor/assets/javascripts/xenon-custom.js +1950 -0
  1044. data/vendor/assets/javascripts/xenon-notes.js +189 -0
  1045. data/vendor/assets/javascripts/xenon-toggles.js +321 -0
  1046. data/vendor/assets/javascripts/xenon-widgets.js +171 -0
  1047. data/vendor/assets/stylesheets/bootstrap.css +1 -0
  1048. data/vendor/assets/stylesheets/handycss.css +996 -0
  1049. data/vendor/assets/stylesheets/other/wysihtml5-color.css +67 -0
  1050. data/vendor/assets/stylesheets/xenon-components.css +1 -0
  1051. data/vendor/assets/stylesheets/xenon-core.css +1 -0
  1052. data/vendor/assets/stylesheets/xenon-forms.css +18 -0
  1053. data/vendor/assets/stylesheets/xenon-skins.css +1 -0
  1054. data/vendor/assets/stylesheets/xenon.css +18 -0
  1055. metadata +1341 -0
@@ -0,0 +1,4 @@
1
+ /*! jquery.selectBoxIt - v3.8.1 - 2013-11-17
2
+ * http://www.selectboxit.com
3
+ * Copyright (c) 2013 Greg Franko; Licensed MIT*/
4
+ !function(a){"use strict";a(window.jQuery,window,document)}(function(a,b,c,d){"use strict";a.widget("selectBox.selectBoxIt",{VERSION:"3.8.1",options:{showEffect:"none",showEffectOptions:{},showEffectSpeed:"medium",hideEffect:"none",hideEffectOptions:{},hideEffectSpeed:"medium",showFirstOption:!0,defaultText:"",defaultIcon:"",downArrowIcon:"",theme:"default",keydownOpen:!0,isMobile:function(){var a=navigator.userAgent||navigator.vendor||b.opera;return/iPhone|iPod|iPad|Silk|Android|BlackBerry|Opera Mini|IEMobile/.test(a)},"native":!1,aggressiveChange:!1,selectWhenHidden:!0,viewport:a(b),similarSearch:!1,copyAttributes:["title","rel"],copyClasses:"button",nativeMousedown:!1,customShowHideEvent:!1,autoWidth:!0,html:!0,populate:"",dynamicPositioning:!0,hideCurrent:!1},getThemes:function(){var b=this,c=a(b.element).attr("data-theme")||"c";return{bootstrap:{focus:"active",hover:"",enabled:"enabled",disabled:"disabled",arrow:"caret",button:"btn",list:"dropdown-menu",container:"bootstrap",open:"open"},jqueryui:{focus:"ui-state-focus",hover:"ui-state-hover",enabled:"ui-state-enabled",disabled:"ui-state-disabled",arrow:"ui-icon ui-icon-triangle-1-s",button:"ui-widget ui-state-default",list:"ui-widget ui-widget-content",container:"jqueryui",open:"selectboxit-open"},jquerymobile:{focus:"ui-btn-down-"+c,hover:"ui-btn-hover-"+c,enabled:"ui-enabled",disabled:"ui-disabled",arrow:"ui-icon ui-icon-arrow-d ui-icon-shadow",button:"ui-btn ui-btn-icon-right ui-btn-corner-all ui-shadow ui-btn-up-"+c,list:"ui-btn ui-btn-icon-right ui-btn-corner-all ui-shadow ui-btn-up-"+c,container:"jquerymobile",open:"selectboxit-open"},"default":{focus:"selectboxit-focus",hover:"selectboxit-hover",enabled:"selectboxit-enabled",disabled:"selectboxit-disabled",arrow:"selectboxit-default-arrow",button:"selectboxit-btn",list:"selectboxit-list",container:"selectboxit-container",open:"selectboxit-open"}}},isDeferred:function(b){return a.isPlainObject(b)&&b.promise&&b.done},_create:function(b){var d=this,e=d.options.populate,f=d.options.theme;if(d.element.is("select"))return d.widgetProto=a.Widget.prototype,d.originalElem=d.element[0],d.selectBox=d.element,d.options.populate&&d.add&&!b&&d.add(e),d.selectItems=d.element.find("option"),d.firstSelectItem=d.selectItems.slice(0,1),d.documentHeight=a(c).height(),d.theme=a.isPlainObject(f)?a.extend({},d.getThemes()["default"],f):d.getThemes()[f]?d.getThemes()[f]:d.getThemes()["default"],d.currentFocus=0,d.blur=!0,d.textArray=[],d.currentIndex=0,d.currentText="",d.flipped=!1,b||(d.selectBoxStyles=d.selectBox.attr("style")),d._createDropdownButton()._createUnorderedList()._copyAttributes()._replaceSelectBox()._addClasses(d.theme)._eventHandlers(),d.originalElem.disabled&&d.disable&&d.disable(),d._ariaAccessibility&&d._ariaAccessibility(),d.isMobile=d.options.isMobile(),d._mobile&&d._mobile(),d.options["native"]&&this._applyNativeSelect(),d.triggerEvent("create"),d},_createDropdownButton:function(){var b=this,c=b.originalElemId=b.originalElem.id||"",d=b.originalElemValue=b.originalElem.value||"",e=b.originalElemName=b.originalElem.name||"",f=b.options.copyClasses,g=b.selectBox.attr("class")||"";return b.dropdownText=a("<span/>",{id:c&&c+"SelectBoxItText","class":"selectboxit-text",unselectable:"on",text:b.firstSelectItem.text()}).attr("data-val",d),b.dropdownImageContainer=a("<span/>",{"class":"selectboxit-option-icon-container"}),b.dropdownImage=a("<i/>",{id:c&&c+"SelectBoxItDefaultIcon","class":"selectboxit-default-icon",unselectable:"on"}),b.dropdown=a("<span/>",{id:c&&c+"SelectBoxIt","class":"selectboxit "+("button"===f?g:"")+" "+(b.selectBox.prop("disabled")?b.theme.disabled:b.theme.enabled),name:e,tabindex:b.selectBox.attr("tabindex")||"0",unselectable:"on"}).append(b.dropdownImageContainer.append(b.dropdownImage)).append(b.dropdownText),b.dropdownContainer=a("<span/>",{id:c&&c+"SelectBoxItContainer","class":"selectboxit-container "+b.theme.container+" "+("container"===f?g:"")}).append(b.dropdown),b},_createUnorderedList:function(){var b,c,d,e,f,g,h,i,j,k,l,m,n,o=this,p="",q=o.originalElemId||"",r=a("<ul/>",{id:q&&q+"SelectBoxItOptions","class":"selectboxit-options",tabindex:-1});if(o.options.showFirstOption||(o.selectItems.first().attr("disabled","disabled"),o.selectItems=o.selectBox.find("option").slice(1)),o.selectItems.each(function(q){m=a(this),c="",d="",b=m.prop("disabled"),e=m.attr("data-icon")||"",f=m.attr("data-iconurl")||"",g=f?"selectboxit-option-icon-url":"",h=f?"style=\"background-image:url('"+f+"');\"":"",i=m.attr("data-selectedtext"),j=m.attr("data-text"),l=j?j:m.text(),n=m.parent(),n.is("optgroup")&&(c="selectboxit-optgroup-option",0===m.index()&&(d='<span class="selectboxit-optgroup-header '+n.first().attr("class")+'"data-disabled="true">'+n.first().attr("label")+"</span>")),m.attr("value",this.value),p+=d+'<li data-id="'+q+'" data-val="'+this.value+'" data-disabled="'+b+'" class="'+c+" selectboxit-option "+(a(this).attr("class")||"")+'"><a class="selectboxit-option-anchor"><span class="selectboxit-option-icon-container"><i class="selectboxit-option-icon '+e+" "+(g||o.theme.container)+'"'+h+"></i></span>"+(o.options.html?l:o.htmlEscape(l))+"</a></li>",k=m.attr("data-search"),o.textArray[q]=b?"":k?k:l,this.selected&&(o._setText(o.dropdownText,i||l),o.currentFocus=q)}),o.options.defaultText||o.selectBox.attr("data-text")){var s=o.options.defaultText||o.selectBox.attr("data-text");o._setText(o.dropdownText,s),o.options.defaultText=s}return r.append(p),o.list=r,o.dropdownContainer.append(o.list),o.listItems=o.list.children("li"),o.listAnchors=o.list.find("a"),o.listItems.first().addClass("selectboxit-option-first"),o.listItems.last().addClass("selectboxit-option-last"),o.list.find("li[data-disabled='true']").not(".optgroupHeader").addClass(o.theme.disabled),o.dropdownImage.addClass(o.selectBox.attr("data-icon")||o.options.defaultIcon||o.listItems.eq(o.currentFocus).find("i").attr("class")),o.dropdownImage.attr("style",o.listItems.eq(o.currentFocus).find("i").attr("style")),o},_replaceSelectBox:function(){var b,c,e,f=this,g=f.originalElem.id||"",h=f.selectBox.attr("data-size"),i=f.listSize=h===d?"auto":"0"===h?"auto":+h;return f.selectBox.css("display","none").after(f.dropdownContainer),f.dropdownContainer.appendTo("body").addClass("selectboxit-rendering"),b=f.dropdown.height(),f.downArrow=a("<i/>",{id:g&&g+"SelectBoxItArrow","class":"selectboxit-arrow",unselectable:"on"}),f.downArrowContainer=a("<span/>",{id:g&&g+"SelectBoxItArrowContainer","class":"selectboxit-arrow-container",unselectable:"on"}).append(f.downArrow),f.dropdown.append(f.downArrowContainer),f.listItems.removeClass("selectboxit-selected").eq(f.currentFocus).addClass("selectboxit-selected"),c=f.downArrowContainer.outerWidth(!0),e=f.dropdownImage.outerWidth(!0),f.options.autoWidth&&(f.dropdown.css({width:"auto"}).css({width:f.list.outerWidth(!0)+c+e}),f.list.css({"min-width":f.dropdown.width()})),f.dropdownText.css({"max-width":f.dropdownContainer.outerWidth(!0)-(c+e)}),f.selectBox.after(f.dropdownContainer),f.dropdownContainer.removeClass("selectboxit-rendering"),"number"===a.type(i)&&(f.maxHeight=f.listAnchors.outerHeight(!0)*i),f},_scrollToView:function(a){var b=this,c=b.listItems.eq(b.currentFocus),d=b.list.scrollTop(),e=c.height(),f=c.position().top,g=Math.abs(f),h=b.list.height();return"search"===a?e>h-f?b.list.scrollTop(d+(f-(h-e))):-1>f&&b.list.scrollTop(f-e):"up"===a?-1>f&&b.list.scrollTop(d-g):"down"===a&&e>h-f&&b.list.scrollTop(d+(g-h+e)),b},_callbackSupport:function(b){var c=this;return a.isFunction(b)&&b.call(c,c.dropdown),c},_setText:function(a,b){var c=this;return c.options.html?a.html(b):a.text(b),c},open:function(a){var b=this,c=b.options.showEffect,d=b.options.showEffectSpeed,e=b.options.showEffectOptions,f=b.options["native"],g=b.isMobile;return!b.listItems.length||b.dropdown.hasClass(b.theme.disabled)?b:(f||g||this.list.is(":visible")||(b.triggerEvent("open"),b._dynamicPositioning&&b.options.dynamicPositioning&&b._dynamicPositioning(),"none"===c?b.list.show():"show"===c||"slideDown"===c||"fadeIn"===c?b.list[c](d):b.list.show(c,e,d),b.list.promise().done(function(){b._scrollToView("search"),b.triggerEvent("opened")})),b._callbackSupport(a),b)},close:function(a){var b=this,c=b.options.hideEffect,d=b.options.hideEffectSpeed,e=b.options.hideEffectOptions,f=b.options["native"],g=b.isMobile;return f||g||!b.list.is(":visible")||(b.triggerEvent("close"),"none"===c?b.list.hide():"hide"===c||"slideUp"===c||"fadeOut"===c?b.list[c](d):b.list.hide(c,e,d),b.list.promise().done(function(){b.triggerEvent("closed")})),b._callbackSupport(a),b},toggle:function(){var a=this,b=a.list.is(":visible");b?a.close():b||a.open()},_keyMappings:{38:"up",40:"down",13:"enter",8:"backspace",9:"tab",32:"space",27:"esc"},_keydownMethods:function(){var a=this,b=a.list.is(":visible")||!a.options.keydownOpen;return{down:function(){a.moveDown&&b&&a.moveDown()},up:function(){a.moveUp&&b&&a.moveUp()},enter:function(){var b=a.listItems.eq(a.currentFocus);a._update(b),"true"!==b.attr("data-preventclose")&&a.close(),a.triggerEvent("enter")},tab:function(){a.triggerEvent("tab-blur"),a.close()},backspace:function(){a.triggerEvent("backspace")},esc:function(){a.close()}}},_eventHandlers:function(){var b,c,d=this,e=d.options.nativeMousedown,f=d.options.customShowHideEvent,g=d.focusClass,h=d.hoverClass,i=d.openClass;return this.dropdown.on({"click.selectBoxIt":function(){d.dropdown.trigger("focus",!0),d.originalElem.disabled||(d.triggerEvent("click"),e||f||d.toggle())},"mousedown.selectBoxIt":function(){a(this).data("mdown",!0),d.triggerEvent("mousedown"),e&&!f&&d.toggle()},"mouseup.selectBoxIt":function(){d.triggerEvent("mouseup")},"blur.selectBoxIt":function(){d.blur&&(d.triggerEvent("blur"),d.close(),a(this).removeClass(g))},"focus.selectBoxIt":function(b,c){var e=a(this).data("mdown");a(this).removeData("mdown"),e||c||setTimeout(function(){d.triggerEvent("tab-focus")},0),c||(a(this).hasClass(d.theme.disabled)||a(this).addClass(g),d.triggerEvent("focus"))},"keydown.selectBoxIt":function(a){var b=d._keyMappings[a.keyCode],c=d._keydownMethods()[b];c&&(c(),!d.options.keydownOpen||"up"!==b&&"down"!==b||d.open()),c&&"tab"!==b&&a.preventDefault()},"keypress.selectBoxIt":function(a){var b=a.charCode||a.keyCode,c=d._keyMappings[a.charCode||a.keyCode],e=String.fromCharCode(b);d.search&&(!c||c&&"space"===c)&&d.search(e,!0,!0),"space"===c&&a.preventDefault()},"mouseenter.selectBoxIt":function(){d.triggerEvent("mouseenter")},"mouseleave.selectBoxIt":function(){d.triggerEvent("mouseleave")}}),d.list.on({"mouseover.selectBoxIt":function(){d.blur=!1},"mouseout.selectBoxIt":function(){d.blur=!0},"focusin.selectBoxIt":function(){d.dropdown.trigger("focus",!0)}}),d.list.on({"mousedown.selectBoxIt":function(){d._update(a(this)),d.triggerEvent("option-click"),"false"===a(this).attr("data-disabled")&&"true"!==a(this).attr("data-preventclose")&&d.close(),setTimeout(function(){d.dropdown.trigger("focus",!0)},0)},"focusin.selectBoxIt":function(){d.listItems.not(a(this)).removeAttr("data-active"),a(this).attr("data-active","");var b=d.list.is(":hidden");(d.options.searchWhenHidden&&b||d.options.aggressiveChange||b&&d.options.selectWhenHidden)&&d._update(a(this)),a(this).addClass(g)},"mouseup.selectBoxIt":function(){e&&!f&&(d._update(a(this)),d.triggerEvent("option-mouseup"),"false"===a(this).attr("data-disabled")&&"true"!==a(this).attr("data-preventclose")&&d.close())},"mouseenter.selectBoxIt":function(){"false"===a(this).attr("data-disabled")&&(d.listItems.removeAttr("data-active"),a(this).addClass(g).attr("data-active",""),d.listItems.not(a(this)).removeClass(g),a(this).addClass(g),d.currentFocus=+a(this).attr("data-id"))},"mouseleave.selectBoxIt":function(){"false"===a(this).attr("data-disabled")&&(d.listItems.not(a(this)).removeClass(g).removeAttr("data-active"),a(this).addClass(g),d.currentFocus=+a(this).attr("data-id"))},"blur.selectBoxIt":function(){a(this).removeClass(g)}},".selectboxit-option"),d.list.on({"click.selectBoxIt":function(a){a.preventDefault()}},"a"),d.selectBox.on({"change.selectBoxIt, internal-change.selectBoxIt":function(a,e){var f,g;e||(f=d.list.find('li[data-val="'+d.originalElem.value+'"]'),f.length&&(d.listItems.eq(d.currentFocus).removeClass(d.focusClass),d.currentFocus=+f.attr("data-id"))),f=d.listItems.eq(d.currentFocus),g=f.attr("data-selectedtext"),b=f.attr("data-text"),c=b?b:f.find("a").text(),d._setText(d.dropdownText,g||c),d.dropdownText.attr("data-val",d.originalElem.value),f.find("i").attr("class")&&(d.dropdownImage.attr("class",f.find("i").attr("class")).addClass("selectboxit-default-icon"),d.dropdownImage.attr("style",f.find("i").attr("style"))),d.triggerEvent("changed")},"disable.selectBoxIt":function(){d.dropdown.addClass(d.theme.disabled)},"enable.selectBoxIt":function(){d.dropdown.removeClass(d.theme.disabled)},"open.selectBoxIt":function(){var a,b=d.list.find("li[data-val='"+d.dropdownText.attr("data-val")+"']");b.length||(b=d.listItems.not("[data-disabled=true]").first()),d.currentFocus=+b.attr("data-id"),a=d.listItems.eq(d.currentFocus),d.dropdown.addClass(i).removeClass(h).addClass(g),d.listItems.removeClass(d.selectedClass).removeAttr("data-active").not(a).removeClass(g),a.addClass(d.selectedClass).addClass(g),d.options.hideCurrent&&(d.listItems.show(),a.hide())},"close.selectBoxIt":function(){d.dropdown.removeClass(i)},"blur.selectBoxIt":function(){d.dropdown.removeClass(g)},"mouseenter.selectBoxIt":function(){a(this).hasClass(d.theme.disabled)||d.dropdown.addClass(h)},"mouseleave.selectBoxIt":function(){d.dropdown.removeClass(h)},destroy:function(a){a.preventDefault(),a.stopPropagation()}}),d},_update:function(a){var b,c,d,e=this,f=e.options.defaultText||e.selectBox.attr("data-text"),g=e.listItems.eq(e.currentFocus);"false"===a.attr("data-disabled")&&(b=e.listItems.eq(e.currentFocus).attr("data-selectedtext"),c=g.attr("data-text"),d=c?c:g.text(),(f&&e.options.html?e.dropdownText.html()===f:e.dropdownText.text()===f)&&e.selectBox.val()===a.attr("data-val")?e.triggerEvent("change"):(e.selectBox.val(a.attr("data-val")),e.currentFocus=+a.attr("data-id"),e.originalElem.value!==e.dropdownText.attr("data-val")&&e.triggerEvent("change")))},_addClasses:function(a){var b=this,c=(b.focusClass=a.focus,b.hoverClass=a.hover,a.button),d=a.list,e=a.arrow,f=a.container;return b.openClass=a.open,b.selectedClass="selectboxit-selected",b.downArrow.addClass(b.selectBox.attr("data-downarrow")||b.options.downArrowIcon||e),b.dropdownContainer.addClass(f),b.dropdown.addClass(c),b.list.addClass(d),b},refresh:function(a,b){var c=this;return c._destroySelectBoxIt()._create(!0),b||c.triggerEvent("refresh"),c._callbackSupport(a),c},htmlEscape:function(a){return String(a).replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/'/g,"&#39;").replace(/</g,"&lt;").replace(/>/g,"&gt;")},triggerEvent:function(a){var b=this,c=b.options.showFirstOption?b.currentFocus:b.currentFocus-1>=0?b.currentFocus:0;return b.selectBox.trigger(a,{selectbox:b.selectBox,selectboxOption:b.selectItems.eq(c),dropdown:b.dropdown,dropdownOption:b.listItems.eq(b.currentFocus)}),b},_copyAttributes:function(){var a=this;return a._addSelectBoxAttributes&&a._addSelectBoxAttributes(),a},_realOuterWidth:function(a){if(a.is(":visible"))return a.outerWidth(!0);var b,c=a.clone();return c.css({visibility:"hidden",display:"block",position:"absolute"}).appendTo("body"),b=c.outerWidth(!0),c.remove(),b}});var e=a.selectBox.selectBoxIt.prototype;e.add=function(b,c){this._populate(b,function(b){var d,e,f=this,g=a.type(b),h=0,i=[],j=f._isJSON(b),k=j&&f._parseJSON(b);if(b&&("array"===g||j&&k.data&&"array"===a.type(k.data))||"object"===g&&b.data&&"array"===a.type(b.data)){for(f._isJSON(b)&&(b=k),b.data&&(b=b.data),e=b.length;e-1>=h;h+=1)d=b[h],a.isPlainObject(d)?i.push(a("<option/>",d)):"string"===a.type(d)&&i.push(a("<option/>",{text:d,value:d}));f.selectBox.append(i)}else b&&"string"===g&&!f._isJSON(b)?f.selectBox.append(b):b&&"object"===g?f.selectBox.append(a("<option/>",b)):b&&f._isJSON(b)&&a.isPlainObject(f._parseJSON(b))&&f.selectBox.append(a("<option/>",f._parseJSON(b)));return f.dropdown?f.refresh(function(){f._callbackSupport(c)},!0):f._callbackSupport(c),f})},e._parseJSON=function(b){return JSON&&JSON.parse&&JSON.parse(b)||a.parseJSON(b)},e._isJSON=function(a){var b,c=this;try{return b=c._parseJSON(a),!0}catch(d){return!1}},e._populate=function(b,c){var d=this;return b=a.isFunction(b)?b.call():b,d.isDeferred(b)?b.done(function(a){c.call(d,a)}):c.call(d,b),d},e._ariaAccessibility=function(){var b=this,c=a("label[for='"+b.originalElem.id+"']");return b.dropdownContainer.attr({role:"combobox","aria-autocomplete":"list","aria-haspopup":"true","aria-expanded":"false","aria-owns":b.list[0].id}),b.dropdownText.attr({"aria-live":"polite"}),b.dropdown.on({"disable.selectBoxIt":function(){b.dropdownContainer.attr("aria-disabled","true")},"enable.selectBoxIt":function(){b.dropdownContainer.attr("aria-disabled","false")}}),c.length&&b.dropdownContainer.attr("aria-labelledby",c[0].id),b.list.attr({role:"listbox","aria-hidden":"true"}),b.listItems.attr({role:"option"}),b.selectBox.on({"open.selectBoxIt":function(){b.list.attr("aria-hidden","false"),b.dropdownContainer.attr("aria-expanded","true")},"close.selectBoxIt":function(){b.list.attr("aria-hidden","true"),b.dropdownContainer.attr("aria-expanded","false")}}),b},e._addSelectBoxAttributes=function(){var b=this;return b._addAttributes(b.selectBox.prop("attributes"),b.dropdown),b.selectItems.each(function(c){b._addAttributes(a(this).prop("attributes"),b.listItems.eq(c))}),b},e._addAttributes=function(b,c){var d=this,e=d.options.copyAttributes;return b.length&&a.each(b,function(b,d){var f=d.name.toLowerCase(),g=d.value;"null"===g||-1===a.inArray(f,e)&&-1===f.indexOf("data")||c.attr(f,g)}),d},e.destroy=function(a){var b=this;return b._destroySelectBoxIt(),b.widgetProto.destroy.call(b),b._callbackSupport(a),b},e._destroySelectBoxIt=function(){var b=this;return b.dropdown.off(".selectBoxIt"),a.contains(b.dropdownContainer[0],b.originalElem)&&b.dropdownContainer.before(b.selectBox),b.dropdownContainer.remove(),b.selectBox.removeAttr("style").attr("style",b.selectBoxStyles),b.triggerEvent("destroy"),b},e.disable=function(a){var b=this;return b.options.disabled||(b.close(),b.selectBox.attr("disabled","disabled"),b.dropdown.removeAttr("tabindex").removeClass(b.theme.enabled).addClass(b.theme.disabled),b.setOption("disabled",!0),b.triggerEvent("disable")),b._callbackSupport(a),b},e.disableOption=function(b,c){var d,e,f,g=this,h=a.type(b);return"number"===h&&(g.close(),d=g.selectBox.find("option").eq(b),g.triggerEvent("disable-option"),d.attr("disabled","disabled"),g.listItems.eq(b).attr("data-disabled","true").addClass(g.theme.disabled),g.currentFocus===b&&(e=g.listItems.eq(g.currentFocus).nextAll("li").not("[data-disabled='true']").first().length,f=g.listItems.eq(g.currentFocus).prevAll("li").not("[data-disabled='true']").first().length,e?g.moveDown():f?g.moveUp():g.disable())),g._callbackSupport(c),g},e._isDisabled=function(){var a=this;return a.originalElem.disabled&&a.disable(),a},e._dynamicPositioning=function(){var b=this;if("number"===a.type(b.listSize))b.list.css("max-height",b.maxHeight||"none");else{var c=b.dropdown.offset().top,d=b.list.data("max-height")||b.list.outerHeight(),e=b.dropdown.outerHeight(),f=b.options.viewport,g=f.height(),h=a.isWindow(f.get(0))?f.scrollTop():f.offset().top,i=g+h>=c+e+d,j=!i;if(b.list.data("max-height")||b.list.data("max-height",b.list.outerHeight()),j)if(b.dropdown.offset().top-h>=d)b.list.css("max-height",d),b.list.css("top",b.dropdown.position().top-b.list.outerHeight());else{var k=Math.abs(c+e+d-(g+h)),l=Math.abs(b.dropdown.offset().top-h-d);l>k?(b.list.css("max-height",d-k-e/2),b.list.css("top","auto")):(b.list.css("max-height",d-l-e/2),b.list.css("top",b.dropdown.position().top-b.list.outerHeight()))}else b.list.css("max-height",d),b.list.css("top","auto")}return b},e.enable=function(a){var b=this;return b.options.disabled&&(b.triggerEvent("enable"),b.selectBox.removeAttr("disabled"),b.dropdown.attr("tabindex",0).removeClass(b.theme.disabled).addClass(b.theme.enabled),b.setOption("disabled",!1),b._callbackSupport(a)),b},e.enableOption=function(b,c){var d,e=this,f=a.type(b);return"number"===f&&(d=e.selectBox.find("option").eq(b),e.triggerEvent("enable-option"),d.removeAttr("disabled"),e.listItems.eq(b).attr("data-disabled","false").removeClass(e.theme.disabled)),e._callbackSupport(c),e},e.moveDown=function(a){var b=this;b.currentFocus+=1;var c="true"===b.listItems.eq(b.currentFocus).attr("data-disabled")?!0:!1,d=b.listItems.eq(b.currentFocus).nextAll("li").not("[data-disabled='true']").first().length;if(b.currentFocus===b.listItems.length)b.currentFocus-=1;else{if(c&&d)return b.listItems.eq(b.currentFocus-1).blur(),b.moveDown(),void 0;c&&!d?b.currentFocus-=1:(b.listItems.eq(b.currentFocus-1).blur().end().eq(b.currentFocus).focusin(),b._scrollToView("down"),b.triggerEvent("moveDown"))}return b._callbackSupport(a),b},e.moveUp=function(a){var b=this;b.currentFocus-=1;var c="true"===b.listItems.eq(b.currentFocus).attr("data-disabled")?!0:!1,d=b.listItems.eq(b.currentFocus).prevAll("li").not("[data-disabled='true']").first().length;if(-1===b.currentFocus)b.currentFocus+=1;else{if(c&&d)return b.listItems.eq(b.currentFocus+1).blur(),b.moveUp(),void 0;c&&!d?b.currentFocus+=1:(b.listItems.eq(this.currentFocus+1).blur().end().eq(b.currentFocus).focusin(),b._scrollToView("up"),b.triggerEvent("moveUp"))}return b._callbackSupport(a),b},e._setCurrentSearchOption=function(a){var b=this;return(b.options.aggressiveChange||b.options.selectWhenHidden||b.listItems.eq(a).is(":visible"))&&b.listItems.eq(a).data("disabled")!==!0&&(b.listItems.eq(b.currentFocus).blur(),b.currentIndex=a,b.currentFocus=a,b.listItems.eq(b.currentFocus).focusin(),b._scrollToView("search"),b.triggerEvent("search")),b},e._searchAlgorithm=function(a,b){var c,d,e,f,g=this,h=!1,i=g.textArray,j=g.currentText;for(c=a,e=i.length;e>c;c+=1){for(f=i[c],d=0;e>d;d+=1)-1!==i[d].search(b)&&(h=!0,d=e);if(h||(g.currentText=g.currentText.charAt(g.currentText.length-1).replace(/[|()\[{.+*?$\\]/g,"\\$0"),j=g.currentText),b=new RegExp(j,"gi"),j.length<3){if(b=new RegExp(j.charAt(0),"gi"),-1!==f.charAt(0).search(b))return g._setCurrentSearchOption(c),(f.substring(0,j.length).toLowerCase()!==j.toLowerCase()||g.options.similarSearch)&&(g.currentIndex+=1),!1}else if(-1!==f.search(b))return g._setCurrentSearchOption(c),!1;if(f.toLowerCase()===g.currentText.toLowerCase())return g._setCurrentSearchOption(c),g.currentText="",!1}return!0},e.search=function(a,b,c){var d=this;c?d.currentText+=a.replace(/[|()\[{.+*?$\\]/g,"\\$0"):d.currentText=a.replace(/[|()\[{.+*?$\\]/g,"\\$0");var e=d._searchAlgorithm(d.currentIndex,new RegExp(d.currentText,"gi"));return e&&d._searchAlgorithm(0,d.currentText),d._callbackSupport(b),d},e._updateMobileText=function(){var a,b,c,d=this;a=d.selectBox.find("option").filter(":selected"),b=a.attr("data-text"),c=b?b:a.text(),d._setText(d.dropdownText,c),d.list.find('li[data-val="'+a.val()+'"]').find("i").attr("class")&&d.dropdownImage.attr("class",d.list.find('li[data-val="'+a.val()+'"]').find("i").attr("class")).addClass("selectboxit-default-icon")},e._applyNativeSelect=function(){var a=this;return a.dropdownContainer.append(a.selectBox),a.dropdown.attr("tabindex","-1"),a.selectBox.css({display:"block",visibility:"visible",width:a._realOuterWidth(a.dropdown),height:a.dropdown.outerHeight(),opacity:"0",position:"absolute",top:"0",left:"0",cursor:"pointer","z-index":"999999",margin:a.dropdown.css("margin"),padding:"0","-webkit-appearance":"menulist-button"}),a.originalElem.disabled&&a.triggerEvent("disable"),this},e._mobileEvents=function(){var a=this;a.selectBox.on({"changed.selectBoxIt":function(){a.hasChanged=!0,a._updateMobileText(),a.triggerEvent("option-click")},"mousedown.selectBoxIt":function(){a.hasChanged||!a.options.defaultText||a.originalElem.disabled||(a._updateMobileText(),a.triggerEvent("option-click"))},"enable.selectBoxIt":function(){a.selectBox.removeClass("selectboxit-rendering")},"disable.selectBoxIt":function(){a.selectBox.addClass("selectboxit-rendering")}})},e._mobile=function(){var a=this;return a.isMobile&&(a._applyNativeSelect(),a._mobileEvents()),this},e.remove=function(b,c){var d,e,f=this,g=a.type(b),h=0,i="";if("array"===g){for(e=b.length;e-1>=h;h+=1)d=b[h],"number"===a.type(d)&&(i+=i.length?", option:eq("+d+")":"option:eq("+d+")");f.selectBox.find(i).remove()}else"number"===g?f.selectBox.find("option").eq(b).remove():f.selectBox.find("option").remove();return f.dropdown?f.refresh(function(){f._callbackSupport(c)},!0):f._callbackSupport(c),f},e.selectOption=function(b,c){var d=this,e=a.type(b);return"number"===e?d.selectBox.val(d.selectItems.eq(b).val()).change():"string"===e&&d.selectBox.val(b).change(),d._callbackSupport(c),d},e.setOption=function(b,c,d){var e=this;return"string"===a.type(b)&&(e.options[b]=c),e.refresh(function(){e._callbackSupport(d)},!0),e},e.setOptions=function(b,c){var d=this;return a.isPlainObject(b)&&(d.options=a.extend({},d.options,b)),d.refresh(function(){d._callbackSupport(c)},!0),d},e.wait=function(a,b){var c=this;return c.widgetProto._delay.call(c,b,a),c}});
@@ -0,0 +1,46 @@
1
+ .bootstrap-tagsinput {
2
+ background-color: #fff;
3
+ border: 1px solid #ccc;
4
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
5
+ display: inline-block;
6
+ padding: 4px 6px;
7
+ margin-bottom: 10px;
8
+ color: #555;
9
+ vertical-align: middle;
10
+ border-radius: 4px;
11
+ max-width: 100%;
12
+ line-height: 22px;
13
+ cursor: text;
14
+ }
15
+ .bootstrap-tagsinput input {
16
+ border: none;
17
+ box-shadow: none;
18
+ outline: none;
19
+ background-color: transparent;
20
+ padding: 0;
21
+ margin: 0;
22
+ width: auto !important;
23
+ max-width: inherit;
24
+ }
25
+ .bootstrap-tagsinput input:focus {
26
+ border: none;
27
+ box-shadow: none;
28
+ }
29
+ .bootstrap-tagsinput .tag {
30
+ margin-right: 2px;
31
+ color: white;
32
+ }
33
+ .bootstrap-tagsinput .tag [data-role="remove"] {
34
+ margin-left: 8px;
35
+ cursor: pointer;
36
+ }
37
+ .bootstrap-tagsinput .tag [data-role="remove"]:after {
38
+ content: "x";
39
+ padding: 0px 2px;
40
+ }
41
+ .bootstrap-tagsinput .tag [data-role="remove"]:hover {
42
+ box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
43
+ }
44
+ .bootstrap-tagsinput .tag [data-role="remove"]:hover:active {
45
+ box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
46
+ }
@@ -0,0 +1,617 @@
1
+ (function ($) {
2
+ "use strict";
3
+
4
+ var defaultOptions = {
5
+ tagClass: function(item) {
6
+ return 'label label-info';
7
+ },
8
+ itemValue: function(item) {
9
+ return item ? item.toString() : item;
10
+ },
11
+ itemText: function(item) {
12
+ return this.itemValue(item);
13
+ },
14
+ freeInput: true,
15
+ addOnBlur: true,
16
+ maxTags: undefined,
17
+ maxChars: undefined,
18
+ confirmKeys: [13, 44],
19
+ onTagExists: function(item, $tag) {
20
+ $tag.hide().fadeIn();
21
+ },
22
+ trimValue: false,
23
+ allowDuplicates: false
24
+ };
25
+
26
+ /**
27
+ * Constructor function
28
+ */
29
+ function TagsInput(element, options) {
30
+ this.itemsArray = [];
31
+
32
+ this.$element = $(element);
33
+ this.$element.hide();
34
+
35
+ this.isSelect = (element.tagName === 'SELECT');
36
+ this.multiple = (this.isSelect && element.hasAttribute('multiple'));
37
+ this.objectItems = options && options.itemValue;
38
+ this.placeholderText = element.hasAttribute('placeholder') ? this.$element.attr('placeholder') : '';
39
+ this.inputSize = Math.max(1, this.placeholderText.length);
40
+
41
+ this.$container = $('<div class="bootstrap-tagsinput"></div>');
42
+ this.$input = $('<input type="text" placeholder="' + this.placeholderText + '"/>').appendTo(this.$container);
43
+
44
+ this.$element.after(this.$container);
45
+
46
+ var inputWidth = (this.inputSize < 3 ? 3 : this.inputSize) + "em";
47
+ this.$input.get(0).style.cssText = "width: " + inputWidth + " !important;";
48
+ this.build(options);
49
+ }
50
+
51
+ TagsInput.prototype = {
52
+ constructor: TagsInput,
53
+
54
+ /**
55
+ * Adds the given item as a new tag. Pass true to dontPushVal to prevent
56
+ * updating the elements val()
57
+ */
58
+ add: function(item, dontPushVal) {
59
+ var self = this;
60
+
61
+ if (self.options.maxTags && self.itemsArray.length >= self.options.maxTags)
62
+ return;
63
+
64
+ // Ignore falsey values, except false
65
+ if (item !== false && !item)
66
+ return;
67
+
68
+ // Trim value
69
+ if (typeof item === "string" && self.options.trimValue) {
70
+ item = $.trim(item);
71
+ }
72
+
73
+ // Throw an error when trying to add an object while the itemValue option was not set
74
+ if (typeof item === "object" && !self.objectItems)
75
+ throw("Can't add objects when itemValue option is not set");
76
+
77
+ // Ignore strings only containg whitespace
78
+ if (item.toString().match(/^\s*$/))
79
+ return;
80
+
81
+ // If SELECT but not multiple, remove current tag
82
+ if (self.isSelect && !self.multiple && self.itemsArray.length > 0)
83
+ self.remove(self.itemsArray[0]);
84
+
85
+ if (typeof item === "string" && this.$element[0].tagName === 'INPUT') {
86
+ var items = item.split(',');
87
+ if (items.length > 1) {
88
+ for (var i = 0; i < items.length; i++) {
89
+ this.add(items[i], true);
90
+ }
91
+
92
+ if (!dontPushVal)
93
+ self.pushVal();
94
+ return;
95
+ }
96
+ }
97
+
98
+ var itemValue = self.options.itemValue(item),
99
+ itemText = self.options.itemText(item),
100
+ tagClass = self.options.tagClass(item);
101
+
102
+ // Ignore items allready added
103
+ var existing = $.grep(self.itemsArray, function(item) { return self.options.itemValue(item) === itemValue; } )[0];
104
+ if (existing && !self.options.allowDuplicates) {
105
+ // Invoke onTagExists
106
+ if (self.options.onTagExists) {
107
+ var $existingTag = $(".tag", self.$container).filter(function() { return $(this).data("item") === existing; });
108
+ self.options.onTagExists(item, $existingTag);
109
+ }
110
+ return;
111
+ }
112
+
113
+ // if length greater than limit
114
+ if (self.items().toString().length + item.length + 1 > self.options.maxInputLength)
115
+ return;
116
+
117
+ // raise beforeItemAdd arg
118
+ var beforeItemAddEvent = $.Event('beforeItemAdd', { item: item, cancel: false });
119
+ self.$element.trigger(beforeItemAddEvent);
120
+ if (beforeItemAddEvent.cancel)
121
+ return;
122
+
123
+ // register item in internal array and map
124
+ self.itemsArray.push(item);
125
+
126
+ // add a tag element
127
+ var $tag = $('<span class="tag ' + htmlEncode(tagClass) + '">' + htmlEncode(itemText) + '<span data-role="remove"></span></span>');
128
+ $tag.data('item', item);
129
+ self.findInputWrapper().before($tag);
130
+ $tag.after(' ');
131
+
132
+ // add <option /> if item represents a value not present in one of the <select />'s options
133
+ if (self.isSelect && !$('option[value="' + encodeURIComponent(itemValue) + '"]',self.$element)[0]) {
134
+ var $option = $('<option selected>' + htmlEncode(itemText) + '</option>');
135
+ $option.data('item', item);
136
+ $option.attr('value', itemValue);
137
+ self.$element.append($option);
138
+ }
139
+
140
+ if (!dontPushVal)
141
+ self.pushVal();
142
+
143
+ // Add class when reached maxTags
144
+ if (self.options.maxTags === self.itemsArray.length || self.items().toString().length === self.options.maxInputLength)
145
+ self.$container.addClass('bootstrap-tagsinput-max');
146
+
147
+ self.$element.trigger($.Event('itemAdded', { item: item }));
148
+ },
149
+
150
+ /**
151
+ * Removes the given item. Pass true to dontPushVal to prevent updating the
152
+ * elements val()
153
+ */
154
+ remove: function(item, dontPushVal) {
155
+ var self = this;
156
+
157
+ if (self.objectItems) {
158
+ if (typeof item === "object")
159
+ item = $.grep(self.itemsArray, function(other) { return self.options.itemValue(other) == self.options.itemValue(item); } );
160
+ else
161
+ item = $.grep(self.itemsArray, function(other) { return self.options.itemValue(other) == item; } );
162
+
163
+ item = item[item.length-1];
164
+ }
165
+
166
+ if (item) {
167
+ var beforeItemRemoveEvent = $.Event('beforeItemRemove', { item: item, cancel: false });
168
+ self.$element.trigger(beforeItemRemoveEvent);
169
+ if (beforeItemRemoveEvent.cancel)
170
+ return;
171
+
172
+ $('.tag', self.$container).filter(function() { return $(this).data('item') === item; }).remove();
173
+ $('option', self.$element).filter(function() { return $(this).data('item') === item; }).remove();
174
+ if($.inArray(item, self.itemsArray) !== -1)
175
+ self.itemsArray.splice($.inArray(item, self.itemsArray), 1);
176
+ }
177
+
178
+ if (!dontPushVal)
179
+ self.pushVal();
180
+
181
+ // Remove class when reached maxTags
182
+ if (self.options.maxTags > self.itemsArray.length)
183
+ self.$container.removeClass('bootstrap-tagsinput-max');
184
+
185
+ self.$element.trigger($.Event('itemRemoved', { item: item }));
186
+ },
187
+
188
+ /**
189
+ * Removes all items
190
+ */
191
+ removeAll: function() {
192
+ var self = this;
193
+
194
+ $('.tag', self.$container).remove();
195
+ $('option', self.$element).remove();
196
+
197
+ while(self.itemsArray.length > 0)
198
+ self.itemsArray.pop();
199
+
200
+ self.pushVal();
201
+ },
202
+
203
+ /**
204
+ * Refreshes the tags so they match the text/value of their corresponding
205
+ * item.
206
+ */
207
+ refresh: function() {
208
+ var self = this;
209
+ $('.tag', self.$container).each(function() {
210
+ var $tag = $(this),
211
+ item = $tag.data('item'),
212
+ itemValue = self.options.itemValue(item),
213
+ itemText = self.options.itemText(item),
214
+ tagClass = self.options.tagClass(item);
215
+
216
+ // Update tag's class and inner text
217
+ $tag.attr('class', null);
218
+ $tag.addClass('tag ' + htmlEncode(tagClass));
219
+ $tag.contents().filter(function() {
220
+ return this.nodeType == 3;
221
+ })[0].nodeValue = htmlEncode(itemText);
222
+
223
+ if (self.isSelect) {
224
+ var option = $('option', self.$element).filter(function() { return $(this).data('item') === item; });
225
+ option.attr('value', itemValue);
226
+ }
227
+ });
228
+ },
229
+
230
+ /**
231
+ * Returns the items added as tags
232
+ */
233
+ items: function() {
234
+ return this.itemsArray;
235
+ },
236
+
237
+ /**
238
+ * Assembly value by retrieving the value of each item, and set it on the
239
+ * element.
240
+ */
241
+ pushVal: function() {
242
+ var self = this,
243
+ val = $.map(self.items(), function(item) {
244
+ return self.options.itemValue(item).toString();
245
+ });
246
+
247
+ self.$element.val(val, true).trigger('change');
248
+ },
249
+
250
+ /**
251
+ * Initializes the tags input behaviour on the element
252
+ */
253
+ build: function(options) {
254
+ var self = this;
255
+
256
+ self.options = $.extend({}, defaultOptions, options);
257
+ // When itemValue is set, freeInput should always be false
258
+ if (self.objectItems)
259
+ self.options.freeInput = false;
260
+
261
+ makeOptionItemFunction(self.options, 'itemValue');
262
+ makeOptionItemFunction(self.options, 'itemText');
263
+ makeOptionFunction(self.options, 'tagClass');
264
+
265
+ // Typeahead Bootstrap version 2.3.2
266
+ if (self.options.typeahead) {
267
+ var typeahead = self.options.typeahead || {};
268
+
269
+ makeOptionFunction(typeahead, 'source');
270
+
271
+ self.$input.typeahead($.extend({}, typeahead, {
272
+ source: function (query, process) {
273
+ function processItems(items) {
274
+ var texts = [];
275
+
276
+ for (var i = 0; i < items.length; i++) {
277
+ var text = self.options.itemText(items[i]);
278
+ map[text] = items[i];
279
+ texts.push(text);
280
+ }
281
+ process(texts);
282
+ }
283
+
284
+ this.map = {};
285
+ var map = this.map,
286
+ data = typeahead.source(query);
287
+
288
+ if ($.isFunction(data.success)) {
289
+ // support for Angular callbacks
290
+ data.success(processItems);
291
+ } else if ($.isFunction(data.then)) {
292
+ // support for Angular promises
293
+ data.then(processItems);
294
+ } else {
295
+ // support for functions and jquery promises
296
+ $.when(data)
297
+ .then(processItems);
298
+ }
299
+ },
300
+ updater: function (text) {
301
+ self.add(this.map[text]);
302
+ },
303
+ matcher: function (text) {
304
+ return (text.toLowerCase().indexOf(this.query.trim().toLowerCase()) !== -1);
305
+ },
306
+ sorter: function (texts) {
307
+ return texts.sort();
308
+ },
309
+ highlighter: function (text) {
310
+ var regex = new RegExp( '(' + this.query + ')', 'gi' );
311
+ return text.replace( regex, "<strong>$1</strong>" );
312
+ }
313
+ }));
314
+ }
315
+
316
+ // typeahead.js
317
+ if (self.options.typeaheadjs) {
318
+ var typeaheadjs = self.options.typeaheadjs || {};
319
+
320
+ self.$input.typeahead(null, typeaheadjs).on('typeahead:selected', $.proxy(function (obj, datum) {
321
+ if (typeaheadjs.valueKey)
322
+ self.add(datum[typeaheadjs.valueKey]);
323
+ else
324
+ self.add(datum);
325
+ self.$input.typeahead('val', '');
326
+ }, self));
327
+ }
328
+
329
+ self.$container.on('click', $.proxy(function(event) {
330
+ if (! self.$element.attr('disabled')) {
331
+ self.$input.removeAttr('disabled');
332
+ }
333
+ self.$input.focus();
334
+ }, self));
335
+
336
+ if (self.options.addOnBlur && self.options.freeInput) {
337
+ self.$input.on('focusout', $.proxy(function(event) {
338
+ // HACK: only process on focusout when no typeahead opened, to
339
+ // avoid adding the typeahead text as tag
340
+ if ($('.typeahead, .twitter-typeahead', self.$container).length === 0) {
341
+ self.add(self.$input.val());
342
+ self.$input.val('');
343
+ }
344
+ }, self));
345
+ }
346
+
347
+
348
+ self.$container.on('keydown', 'input', $.proxy(function(event) {
349
+ var $input = $(event.target),
350
+ $inputWrapper = self.findInputWrapper();
351
+
352
+ if (self.$element.attr('disabled')) {
353
+ self.$input.attr('disabled', 'disabled');
354
+ return;
355
+ }
356
+
357
+ switch (event.which) {
358
+ // BACKSPACE
359
+ case 8:
360
+ if (doGetCaretPosition($input[0]) === 0) {
361
+ var prev = $inputWrapper.prev();
362
+ if (prev) {
363
+ self.remove(prev.data('item'));
364
+ }
365
+ }
366
+ break;
367
+
368
+ // DELETE
369
+ case 46:
370
+ if (doGetCaretPosition($input[0]) === 0) {
371
+ var next = $inputWrapper.next();
372
+ if (next) {
373
+ self.remove(next.data('item'));
374
+ }
375
+ }
376
+ break;
377
+
378
+ // LEFT ARROW
379
+ case 37:
380
+ // Try to move the input before the previous tag
381
+ var $prevTag = $inputWrapper.prev();
382
+ if ($input.val().length === 0 && $prevTag[0]) {
383
+ $prevTag.before($inputWrapper);
384
+ $input.focus();
385
+ }
386
+ break;
387
+ // RIGHT ARROW
388
+ case 39:
389
+ // Try to move the input after the next tag
390
+ var $nextTag = $inputWrapper.next();
391
+ if ($input.val().length === 0 && $nextTag[0]) {
392
+ $nextTag.after($inputWrapper);
393
+ $input.focus();
394
+ }
395
+ break;
396
+ default:
397
+ // ignore
398
+ }
399
+
400
+ // Reset internal input's size
401
+ var textLength = $input.val().length,
402
+ wordSpace = Math.ceil(textLength / 5),
403
+ size = textLength + wordSpace + 1;
404
+ $input.attr('size', Math.max(this.inputSize, $input.val().length));
405
+ }, self));
406
+
407
+ self.$container.on('keypress', 'input', $.proxy(function(event) {
408
+ var $input = $(event.target);
409
+
410
+ if (self.$element.attr('disabled')) {
411
+ self.$input.attr('disabled', 'disabled');
412
+ return;
413
+ }
414
+
415
+ var text = $input.val(),
416
+ maxLengthReached = self.options.maxChars && text.length >= self.options.maxChars;
417
+ if (self.options.freeInput && (keyCombinationInList(event, self.options.confirmKeys) || maxLengthReached)) {
418
+ self.add(maxLengthReached ? text.substr(0, self.options.maxChars) : text);
419
+ $input.val('');
420
+ event.preventDefault();
421
+ }
422
+
423
+ // Reset internal input's size
424
+ var textLength = $input.val().length,
425
+ wordSpace = Math.ceil(textLength / 5),
426
+ size = textLength + wordSpace + 1;
427
+ $input.attr('size', Math.max(this.inputSize, $input.val().length));
428
+ }, self));
429
+
430
+ // Remove icon clicked
431
+ self.$container.on('click', '[data-role=remove]', $.proxy(function(event) {
432
+ if (self.$element.attr('disabled')) {
433
+ return;
434
+ }
435
+ self.remove($(event.target).closest('.tag').data('item'));
436
+ }, self));
437
+
438
+ // Only add existing value as tags when using strings as tags
439
+ if (self.options.itemValue === defaultOptions.itemValue) {
440
+ if (self.$element[0].tagName === 'INPUT') {
441
+ self.add(self.$element.val());
442
+ } else {
443
+ $('option', self.$element).each(function() {
444
+ self.add($(this).attr('value'), true);
445
+ });
446
+ }
447
+ }
448
+ },
449
+
450
+ /**
451
+ * Removes all tagsinput behaviour and unregsiter all event handlers
452
+ */
453
+ destroy: function() {
454
+ var self = this;
455
+
456
+ // Unbind events
457
+ self.$container.off('keypress', 'input');
458
+ self.$container.off('click', '[role=remove]');
459
+
460
+ self.$container.remove();
461
+ self.$element.removeData('tagsinput');
462
+ self.$element.show();
463
+ },
464
+
465
+ /**
466
+ * Sets focus on the tagsinput
467
+ */
468
+ focus: function() {
469
+ this.$input.focus();
470
+ },
471
+
472
+ /**
473
+ * Returns the internal input element
474
+ */
475
+ input: function() {
476
+ return this.$input;
477
+ },
478
+
479
+ /**
480
+ * Returns the element which is wrapped around the internal input. This
481
+ * is normally the $container, but typeahead.js moves the $input element.
482
+ */
483
+ findInputWrapper: function() {
484
+ var elt = this.$input[0],
485
+ container = this.$container[0];
486
+ while(elt && elt.parentNode !== container)
487
+ elt = elt.parentNode;
488
+
489
+ return $(elt);
490
+ }
491
+ };
492
+
493
+ /**
494
+ * Register JQuery plugin
495
+ */
496
+ $.fn.tagsinput = function(arg1, arg2) {
497
+ var results = [];
498
+
499
+ this.each(function() {
500
+ var tagsinput = $(this).data('tagsinput');
501
+ // Initialize a new tags input
502
+ if (!tagsinput) {
503
+ tagsinput = new TagsInput(this, arg1);
504
+ $(this).data('tagsinput', tagsinput);
505
+ results.push(tagsinput);
506
+
507
+ if (this.tagName === 'SELECT') {
508
+ $('option', $(this)).attr('selected', 'selected');
509
+ }
510
+
511
+ // Init tags from $(this).val()
512
+ $(this).val($(this).val());
513
+ } else if (!arg1 && !arg2) {
514
+ // tagsinput already exists
515
+ // no function, trying to init
516
+ results.push(tagsinput);
517
+ } else if(tagsinput[arg1] !== undefined) {
518
+ // Invoke function on existing tags input
519
+ var retVal = tagsinput[arg1](arg2);
520
+ if (retVal !== undefined)
521
+ results.push(retVal);
522
+ }
523
+ });
524
+
525
+ if ( typeof arg1 == 'string') {
526
+ // Return the results from the invoked function calls
527
+ return results.length > 1 ? results : results[0];
528
+ } else {
529
+ return results;
530
+ }
531
+ };
532
+
533
+ $.fn.tagsinput.Constructor = TagsInput;
534
+
535
+ /**
536
+ * Most options support both a string or number as well as a function as
537
+ * option value. This function makes sure that the option with the given
538
+ * key in the given options is wrapped in a function
539
+ */
540
+ function makeOptionItemFunction(options, key) {
541
+ if (typeof options[key] !== 'function') {
542
+ var propertyName = options[key];
543
+ options[key] = function(item) { return item[propertyName]; };
544
+ }
545
+ }
546
+ function makeOptionFunction(options, key) {
547
+ if (typeof options[key] !== 'function') {
548
+ var value = options[key];
549
+ options[key] = function() { return value; };
550
+ }
551
+ }
552
+ /**
553
+ * HtmlEncodes the given value
554
+ */
555
+ var htmlEncodeContainer = $('<div />');
556
+ function htmlEncode(value) {
557
+ if (value) {
558
+ return htmlEncodeContainer.text(value).html();
559
+ } else {
560
+ return '';
561
+ }
562
+ }
563
+
564
+ /**
565
+ * Returns the position of the caret in the given input field
566
+ * http://flightschool.acylt.com/devnotes/caret-position-woes/
567
+ */
568
+ function doGetCaretPosition(oField) {
569
+ var iCaretPos = 0;
570
+ if (document.selection) {
571
+ oField.focus ();
572
+ var oSel = document.selection.createRange();
573
+ oSel.moveStart ('character', -oField.value.length);
574
+ iCaretPos = oSel.text.length;
575
+ } else if (oField.selectionStart || oField.selectionStart == '0') {
576
+ iCaretPos = oField.selectionStart;
577
+ }
578
+ return (iCaretPos);
579
+ }
580
+
581
+ /**
582
+ * Returns boolean indicates whether user has pressed an expected key combination.
583
+ * @param object keyPressEvent: JavaScript event object, refer
584
+ * http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html
585
+ * @param object lookupList: expected key combinations, as in:
586
+ * [13, {which: 188, shiftKey: true}]
587
+ */
588
+ function keyCombinationInList(keyPressEvent, lookupList) {
589
+ var found = false;
590
+ $.each(lookupList, function (index, keyCombination) {
591
+ if (typeof (keyCombination) === 'number' && keyPressEvent.which === keyCombination) {
592
+ found = true;
593
+ return false;
594
+ }
595
+
596
+ if (keyPressEvent.which === keyCombination.which) {
597
+ var alt = !keyCombination.hasOwnProperty('altKey') || keyPressEvent.altKey === keyCombination.altKey,
598
+ shift = !keyCombination.hasOwnProperty('shiftKey') || keyPressEvent.shiftKey === keyCombination.shiftKey,
599
+ ctrl = !keyCombination.hasOwnProperty('ctrlKey') || keyPressEvent.ctrlKey === keyCombination.ctrlKey;
600
+ if (alt && shift && ctrl) {
601
+ found = true;
602
+ return false;
603
+ }
604
+ }
605
+ });
606
+
607
+ return found;
608
+ }
609
+
610
+ /**
611
+ * Initialize tagsinput behaviour on inputs and selects which have
612
+ * data-role=tagsinput
613
+ */
614
+ $(function() {
615
+ $("input[data-role=tagsinput], select[multiple][data-role=tagsinput]").tagsinput();
616
+ });
617
+ })(window.jQuery);