locomotivecms 3.0.0.rc6 → 3.0.0.rc7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (564) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +2 -2
  3. data/README.md +1 -1
  4. data/app/assets/images/locomotive/favicon.png +0 -0
  5. data/app/assets/images/locomotive/logo-white.png +0 -0
  6. data/app/assets/images/locomotive/user.png +0 -0
  7. data/app/assets/javascripts/locomotive.js +1 -1
  8. data/app/assets/javascripts/locomotive/application.js.coffee +1 -1
  9. data/app/assets/javascripts/locomotive/utils/file.js.coffee.erb +43 -0
  10. data/app/assets/javascripts/locomotive/utils/nprogress.js.coffee +6 -5
  11. data/app/assets/javascripts/locomotive/utils/select2.js.coffee +10 -8
  12. data/app/assets/javascripts/locomotive/views/application_view.js.coffee +4 -13
  13. data/app/assets/javascripts/locomotive/views/content_assets/dropzone_view.js.coffee +3 -3
  14. data/app/assets/javascripts/locomotive/views/content_assets/index_view.js.coffee +12 -6
  15. data/app/assets/javascripts/locomotive/views/editable_elements/edit_view.js.coffee +2 -2
  16. data/app/assets/javascripts/locomotive/views/editable_elements/index_view.js.coffee +1 -1
  17. data/app/assets/javascripts/locomotive/views/editable_elements/page_view.js.coffee +21 -20
  18. data/app/assets/javascripts/locomotive/views/inputs/array_view.js.coffee +10 -11
  19. data/app/assets/javascripts/locomotive/views/inputs/document_picker_view.js.coffee +7 -6
  20. data/app/assets/javascripts/locomotive/views/inputs/file_view.js.coffee +1 -0
  21. data/app/assets/javascripts/locomotive/views/inputs/rte/link_view.js.coffee +0 -2
  22. data/app/assets/javascripts/locomotive/views/inputs/rte_view.js.coffee.erb +3 -2
  23. data/app/assets/javascripts/locomotive/views/inputs/simple_image_view.js.coffee +71 -0
  24. data/app/assets/javascripts/locomotive/views/my_account/edit_view.js.coffee +1 -21
  25. data/app/assets/javascripts/locomotive/views/registrations/new_view.js.coffee +7 -0
  26. data/app/assets/javascripts/locomotive/views/shared/form_view.js.coffee +10 -1
  27. data/app/assets/javascripts/locomotive/views/simple_view.js.coffee +17 -0
  28. data/app/assets/stylesheets/locomotive/account.scss +6 -0
  29. data/app/assets/stylesheets/locomotive/account/_brand.scss +14 -0
  30. data/app/assets/stylesheets/locomotive/account/_files.scss +124 -0
  31. data/app/assets/stylesheets/locomotive/account/_forms.scss +6 -0
  32. data/app/assets/stylesheets/locomotive/account/_navigation.scss +117 -0
  33. data/app/assets/stylesheets/locomotive/account/_navs.scss +42 -0
  34. data/app/assets/stylesheets/locomotive/account/_public.scss +2 -33
  35. data/app/assets/stylesheets/locomotive/account/_variables.scss +2 -2
  36. data/app/assets/stylesheets/locomotive/application.scss +2 -2
  37. data/app/assets/stylesheets/locomotive/base/_fonts.scss +0 -2
  38. data/app/assets/stylesheets/locomotive/base/form/_api_key.scss +1 -1
  39. data/app/assets/stylesheets/locomotive/base/form/_array_input.scss +9 -17
  40. data/app/assets/stylesheets/locomotive/base/form/_base.scss +3 -3
  41. data/app/assets/stylesheets/locomotive/base/form/_document_picker.scss +6 -55
  42. data/app/assets/stylesheets/locomotive/base/form/_select2.scss +44 -68
  43. data/app/assets/stylesheets/locomotive/base/form/_toggle.scss +2 -2
  44. data/app/assets/stylesheets/locomotive/components/_activity_feed.scss +12 -23
  45. data/app/assets/stylesheets/locomotive/components/_content_assets.scss +16 -11
  46. data/app/assets/stylesheets/locomotive/components/_developers.scss +1 -1
  47. data/app/assets/stylesheets/locomotive/components/_list.scss +3 -3
  48. data/app/assets/stylesheets/locomotive/components/_sites.scss +1 -1
  49. data/app/assets/stylesheets/locomotive/components/_transitions.scss +30 -42
  50. data/app/assets/stylesheets/locomotive/components/header/_account.scss +27 -21
  51. data/app/assets/stylesheets/locomotive/components/header/_base.scss +25 -52
  52. data/app/assets/stylesheets/locomotive/components/misc/_modal.scss +1 -1
  53. data/app/assets/stylesheets/locomotive/components/sidebar/_pages_tree.scss +1 -1
  54. data/app/assets/stylesheets/locomotive/globals/_mixins.scss +1 -45
  55. data/app/assets/stylesheets/locomotive/globals/_variables.scss +3 -3
  56. data/app/assets/stylesheets/locomotive/layouts/_error.scss +4 -4
  57. data/app/assets/stylesheets/locomotive/layouts/_not_logged_in.scss +4 -4
  58. data/app/assets/stylesheets/locomotive/live_editing_iframe.scss +2 -3
  59. data/app/controllers/locomotive/my_account_controller.rb +1 -1
  60. data/app/helpers/locomotive/editable_elements_helper.rb +1 -1
  61. data/app/helpers/locomotive/errors_helper.rb +1 -1
  62. data/app/inputs/locomotive/api_key_input.rb +1 -1
  63. data/app/inputs/locomotive/array_input.rb +1 -1
  64. data/app/inputs/locomotive/document_picker_input.rb +15 -11
  65. data/app/inputs/locomotive/file_input.rb +1 -1
  66. data/app/inputs/locomotive/simple_image_input.rb +88 -0
  67. data/app/models/locomotive/concerns/site/locales.rb +2 -0
  68. data/app/models/locomotive/editable_element.rb +4 -0
  69. data/app/models/locomotive/editable_file.rb +1 -0
  70. data/app/policies/locomotive/site_policy.rb +2 -2
  71. data/app/uploaders/locomotive/theme_asset_uploader.rb +1 -1
  72. data/app/views/locomotive/current_site/form/_advanced.html.slim +2 -0
  73. data/app/views/locomotive/editable_elements/_form.html.slim +1 -1
  74. data/app/views/locomotive/errors/404.html.slim +9 -2
  75. data/app/views/locomotive/errors/500.html.slim +9 -2
  76. data/app/views/locomotive/errors/no_site.html.slim +13 -4
  77. data/app/views/locomotive/layouts/account.html.slim +19 -8
  78. data/app/views/locomotive/layouts/error.html.slim +15 -14
  79. data/app/views/locomotive/my_account/edit.html.slim +11 -13
  80. data/app/views/locomotive/my_account/form/_actions.html.slim +2 -1
  81. data/app/views/locomotive/my_account/form/_api.html.slim +5 -0
  82. data/app/views/locomotive/my_account/form/_credentials.html.slim +0 -2
  83. data/app/views/locomotive/my_account/form/_main.html.slim +4 -2
  84. data/app/views/locomotive/passwords/edit.html.slim +3 -0
  85. data/app/views/locomotive/passwords/new.html.slim +3 -0
  86. data/app/views/locomotive/registrations/new.html.slim +3 -0
  87. data/app/views/locomotive/sessions/new.html.slim +3 -0
  88. data/app/views/locomotive/shared/_account_navigation.slim +10 -0
  89. data/app/views/locomotive/shared/_header.html.slim +1 -4
  90. data/app/views/locomotive/shared/header/_account.html.slim +3 -6
  91. data/app/views/locomotive/shared/header/_account_menu.html.slim +1 -1
  92. data/app/views/locomotive/shared/header/_brand.html.slim +1 -3
  93. data/app/views/locomotive/sites/index.html.slim +4 -3
  94. data/app/views/locomotive/sites/new.html.slim +3 -2
  95. data/config/locales/carrierwave.el.yml +4 -0
  96. data/config/locales/default.el.yml +13 -0
  97. data/config/locales/devise.el.yml +61 -0
  98. data/config/locales/devise.en.yml +1 -1
  99. data/config/locales/devise.nl.yml +1 -1
  100. data/config/locales/el.yml +320 -0
  101. data/config/locales/en.yml +6 -2
  102. data/config/locales/flash.el.yml +79 -0
  103. data/config/locales/inputs.el.yml +19 -0
  104. data/config/locales/inputs.en.yml +1 -0
  105. data/config/locales/inputs.nl.yml +1 -0
  106. data/config/locales/mongoid.el.yml +47 -0
  107. data/config/locales/nl.yml +22 -17
  108. data/config/locales/simple_form.el.yml +153 -0
  109. data/config/locales/simple_form.en.yml +0 -1
  110. data/config/locales/simple_form.nl.yml +6 -1
  111. data/config/routes.rb +1 -1
  112. data/lib/generators/locomotive/install/templates/locomotive.rb +3 -0
  113. data/lib/locomotive.rb +0 -1
  114. data/lib/locomotive/dependencies.rb +0 -2
  115. data/lib/locomotive/engine.rb +5 -0
  116. data/lib/locomotive/middlewares.rb +1 -0
  117. data/lib/locomotive/middlewares/image_thumbnail.rb +57 -0
  118. data/lib/locomotive/simple_form.rb +1 -1
  119. data/lib/locomotive/steam/middlewares/page_editing.rb +1 -0
  120. data/lib/locomotive/steam_adaptor.rb +4 -1
  121. data/lib/locomotive/version.rb +1 -1
  122. data/public/favicon.ico +0 -0
  123. data/spec/dummy/config/initializers/locomotive.rb +3 -0
  124. data/spec/dummy/config/routes.rb +1 -1
  125. data/spec/models/locomotive/editable_element_spec.rb +22 -0
  126. data/spec/requests/locomotive/image_thumbnail_spec.rb +66 -0
  127. data/spec/requests/{site_spec.rb → locomotive/site_spec.rb} +1 -2
  128. data/spec/requests/locomotive/steam/cache_spec.rb +1 -1
  129. data/spec/requests/locomotive/steam/wysihtml_css_spec.rb +1 -1
  130. data/spec/support/features/session_helpers.rb +3 -1
  131. data/vendor/assets/components/locomotive/select2-bootstrap-css/select2-bootstrap.css +495 -0
  132. data/vendor/assets/components/locomotive/select2/select2.css +482 -0
  133. data/vendor/assets/components/locomotive/select2/select2.js +6284 -0
  134. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/Gemfile +3 -0
  135. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/Gruntfile.js +110 -0
  136. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/LICENSE +8 -0
  137. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/README.md +91 -0
  138. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/_jekyll/3.3.2.html +4 -0
  139. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/_jekyll/3.4.1.html +4 -0
  140. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/_jekyll/3.4.2.html +4 -0
  141. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/_jekyll/3.4.3.html +4 -0
  142. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/_jekyll/3.4.4.html +4 -0
  143. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/_jekyll/3.4.5.html +4 -0
  144. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/_jekyll/3.5.1.html +4 -0
  145. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/_jekyll/3.5.2.html +4 -0
  146. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/_jekyll/_config.yml +13 -0
  147. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/_jekyll/_includes/footer-links.html +9 -0
  148. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/_jekyll/_includes/footer.html +10 -0
  149. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/_jekyll/_includes/head.html +13 -0
  150. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/_jekyll/_includes/navbar.html +21 -0
  151. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/_jekyll/_includes/select2-select.html +55 -0
  152. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/_jekyll/_layouts/default.html +489 -0
  153. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/_jekyll/_layouts/minimal.html +7 -0
  154. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/_jekyll/_sass/_extends.sass +4 -0
  155. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/_jekyll/_sass/_mixins.sass +9 -0
  156. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/_jekyll/_sass/_select2-result-repository.sass +40 -0
  157. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/_jekyll/_sass/_variables.sass +1 -0
  158. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/_jekyll/css/bootstrap.min.css +5 -0
  159. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/_jekyll/css/gh-pages.sass +103 -0
  160. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/_jekyll/css/select2-bootstrap.css +495 -0
  161. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/_jekyll/favicon.ico +0 -0
  162. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/_jekyll/fonts/glyphicons-halflings-regular.eot +0 -0
  163. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/_jekyll/fonts/glyphicons-halflings-regular.svg +288 -0
  164. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/_jekyll/fonts/glyphicons-halflings-regular.ttf +0 -0
  165. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/_jekyll/fonts/glyphicons-halflings-regular.woff +0 -0
  166. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/_jekyll/fonts/glyphicons-halflings-regular.woff2 +0 -0
  167. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/_jekyll/index.html +77 -0
  168. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/_jekyll/js/bootstrap.min.js +7 -0
  169. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/_jekyll/js/respond.min.js +5 -0
  170. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/_jekyll/master.html +4 -0
  171. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/bower.json +20 -0
  172. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/compass/stylesheets/select2-bootstrap.scss +1 -0
  173. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/docs/3.3.2.html +1668 -0
  174. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/docs/3.4.1.html +1662 -0
  175. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/docs/3.4.2.html +1662 -0
  176. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/docs/3.4.3.html +1662 -0
  177. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/docs/3.4.4.html +1662 -0
  178. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/docs/3.4.5.html +1662 -0
  179. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/docs/3.5.1.html +1662 -0
  180. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/docs/3.5.2.html +1662 -0
  181. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/docs/css/bootstrap.min.css +5 -0
  182. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/docs/css/gh-pages.css +142 -0
  183. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/docs/css/select2-bootstrap.css +495 -0
  184. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/docs/favicon.ico +0 -0
  185. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/docs/fonts/glyphicons-halflings-regular.eot +0 -0
  186. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/docs/fonts/glyphicons-halflings-regular.svg +288 -0
  187. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/docs/fonts/glyphicons-halflings-regular.ttf +0 -0
  188. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/docs/fonts/glyphicons-halflings-regular.woff +0 -0
  189. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/docs/fonts/glyphicons-halflings-regular.woff2 +0 -0
  190. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/docs/index.html +293 -0
  191. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/docs/js/bootstrap.min.js +7 -0
  192. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/docs/js/respond.min.js +5 -0
  193. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/docs/master.html +1662 -0
  194. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/lib/build.less +3 -0
  195. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/lib/build.scss +3 -0
  196. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/lib/select2-bootstrap-css.rb +11 -0
  197. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/lib/select2-bootstrap.less +480 -0
  198. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/lib/select2-bootstrap.scss +480 -0
  199. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/lib/select2-bootstrap/version.rb +9 -0
  200. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/package.json +48 -0
  201. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/select2-bootstrap-css.gemspec +22 -0
  202. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/select2-bootstrap.css +495 -0
  203. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/select2-bootstrap.min.css +1 -0
  204. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/test/less_test.js +25 -0
  205. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/test/scss_test.js +25 -0
  206. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/test/support/less.patch +416 -0
  207. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/test/support/scss.patch +4 -0
  208. data/vendor/assets/components/locomotive_sources/select2/CONTRIBUTING.md +204 -0
  209. data/vendor/assets/components/locomotive_sources/select2/Gruntfile.js +370 -0
  210. data/vendor/assets/components/locomotive_sources/select2/LICENSE.md +21 -0
  211. data/vendor/assets/components/locomotive_sources/select2/README.md +105 -0
  212. data/vendor/assets/components/locomotive_sources/select2/bower.json +12 -0
  213. data/vendor/assets/components/locomotive_sources/select2/component.json +19 -0
  214. data/vendor/assets/components/locomotive_sources/select2/composer.json +25 -0
  215. data/vendor/assets/components/locomotive_sources/select2/dist/css/select2.css +482 -0
  216. data/vendor/assets/components/locomotive_sources/select2/dist/css/select2.min.css +1 -0
  217. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/ar.js +3 -0
  218. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/az.js +3 -0
  219. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/bg.js +3 -0
  220. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/ca.js +3 -0
  221. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/cs.js +3 -0
  222. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/da.js +3 -0
  223. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/de.js +3 -0
  224. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/en.js +3 -0
  225. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/es.js +3 -0
  226. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/et.js +3 -0
  227. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/eu.js +3 -0
  228. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/fa.js +3 -0
  229. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/fi.js +3 -0
  230. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/fr.js +3 -0
  231. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/gl.js +3 -0
  232. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/he.js +3 -0
  233. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/hi.js +3 -0
  234. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/hr.js +3 -0
  235. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/hu.js +3 -0
  236. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/id.js +3 -0
  237. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/is.js +3 -0
  238. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/it.js +3 -0
  239. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/ja.js +3 -0
  240. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/ko.js +3 -0
  241. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/lt.js +3 -0
  242. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/lv.js +3 -0
  243. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/mk.js +3 -0
  244. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/ms.js +3 -0
  245. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/nb.js +3 -0
  246. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/nl.js +3 -0
  247. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/pl.js +3 -0
  248. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/pt-BR.js +3 -0
  249. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/pt.js +3 -0
  250. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/ro.js +3 -0
  251. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/ru.js +3 -0
  252. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/sk.js +3 -0
  253. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/sr-Cyrl.js +3 -0
  254. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/sr.js +3 -0
  255. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/sv.js +3 -0
  256. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/th.js +3 -0
  257. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/tr.js +3 -0
  258. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/uk.js +3 -0
  259. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/vi.js +3 -0
  260. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/zh-CN.js +3 -0
  261. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/zh-TW.js +3 -0
  262. data/vendor/assets/components/locomotive_sources/select2/dist/js/select2.full.js +6281 -0
  263. data/vendor/assets/components/locomotive_sources/select2/dist/js/select2.full.min.js +3 -0
  264. data/vendor/assets/components/locomotive_sources/select2/dist/js/select2.js +5571 -0
  265. data/vendor/assets/components/locomotive_sources/select2/dist/js/select2.min.js +2 -0
  266. data/vendor/assets/components/locomotive_sources/select2/docs/README.md +38 -0
  267. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/examples/basics.html +65 -0
  268. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/examples/data.html +128 -0
  269. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/examples/disabled-mode.html +43 -0
  270. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/examples/disabled-results.html +32 -0
  271. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/examples/hide-search.html +25 -0
  272. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/examples/localization-rtl-diacritics.html +90 -0
  273. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/examples/matcher.html +43 -0
  274. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/examples/multiple-max.html +28 -0
  275. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/examples/placeholders.html +37 -0
  276. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/examples/programmatic-control.html +156 -0
  277. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/examples/tags.html +33 -0
  278. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/examples/themes-templating-responsive-design.html +111 -0
  279. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/examples/tokenizer.html +36 -0
  280. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/footer.html +20 -0
  281. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/ga.html +9 -0
  282. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/head.html +19 -0
  283. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/js-source-states.html +62 -0
  284. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/nav/announcements-4.0.html +26 -0
  285. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/nav/examples.html +96 -0
  286. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/nav/options-old.html +55 -0
  287. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/nav/options.html +77 -0
  288. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/navigation.html +53 -0
  289. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/notice-previous.html +7 -0
  290. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/options-old/adapters.html +209 -0
  291. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/options-old/backwards-compatibility.html +200 -0
  292. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/options-old/core-options.html +790 -0
  293. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/options-old/dropdown.html +308 -0
  294. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/options-old/events.html +50 -0
  295. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/options-old/setting-default-options.html +37 -0
  296. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/options/compatibility.html +10 -0
  297. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/options/compatibility/initial-selection.html +50 -0
  298. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/options/compatibility/introduction.html +18 -0
  299. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/options/compatibility/matcher.html +50 -0
  300. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/options/compatibility/query-function.html +50 -0
  301. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/options/compatibility/text-input.html +32 -0
  302. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/options/core.html +9 -0
  303. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/options/core/amd-support.html +38 -0
  304. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/options/core/data-attributes.html +72 -0
  305. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/options/core/options.html +58 -0
  306. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/options/data.html +9 -0
  307. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/options/data/ajax.html +109 -0
  308. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/options/data/array.html +53 -0
  309. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/options/data/select.html +57 -0
  310. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/options/dropdown.html +9 -0
  311. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/options/dropdown/filtering.html +23 -0
  312. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/options/dropdown/placement.html +29 -0
  313. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/options/dropdown/selections.html +17 -0
  314. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/options/events.html +8 -0
  315. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/options/events/internal.html +9 -0
  316. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/options/events/jquery.html +29 -0
  317. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/options/introduction.html +9 -0
  318. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/options/not-written.html +3 -0
  319. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/options/selections.html +10 -0
  320. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/options/selections/clearing-selections.html +17 -0
  321. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/options/selections/multiple.html +17 -0
  322. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/options/selections/placeholder.html +53 -0
  323. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/options/selections/templating.html +23 -0
  324. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/social-buttons.html +10 -0
  325. data/vendor/assets/components/locomotive_sources/select2/docs/_layouts/default.html +57 -0
  326. data/vendor/assets/components/locomotive_sources/select2/docs/_layouts/home.html +23 -0
  327. data/vendor/assets/components/locomotive_sources/select2/docs/_sass/_alert.scss +47 -0
  328. data/vendor/assets/components/locomotive_sources/select2/docs/_sass/_anchorjs.scss +27 -0
  329. data/vendor/assets/components/locomotive_sources/select2/docs/_sass/_buttons.scss +20 -0
  330. data/vendor/assets/components/locomotive_sources/select2/docs/_sass/_code.scss +16 -0
  331. data/vendor/assets/components/locomotive_sources/select2/docs/_sass/_examples.scss +90 -0
  332. data/vendor/assets/components/locomotive_sources/select2/docs/_sass/_featurette.scss +16 -0
  333. data/vendor/assets/components/locomotive_sources/select2/docs/_sass/_footer.scss +42 -0
  334. data/vendor/assets/components/locomotive_sources/select2/docs/_sass/_hamburger.scss +49 -0
  335. data/vendor/assets/components/locomotive_sources/select2/docs/_sass/_home.scss +31 -0
  336. data/vendor/assets/components/locomotive_sources/select2/docs/_sass/_jumbotron.scss +24 -0
  337. data/vendor/assets/components/locomotive_sources/select2/docs/_sass/_layout.scss +14 -0
  338. data/vendor/assets/components/locomotive_sources/select2/docs/_sass/_nav.scss +58 -0
  339. data/vendor/assets/components/locomotive_sources/select2/docs/_sass/_prettify.scss +51 -0
  340. data/vendor/assets/components/locomotive_sources/select2/docs/_sass/_result-repository.scss +62 -0
  341. data/vendor/assets/components/locomotive_sources/select2/docs/_sass/_sidenav.scss +152 -0
  342. data/vendor/assets/components/locomotive_sources/select2/docs/_sass/_social.scss +35 -0
  343. data/vendor/assets/components/locomotive_sources/select2/docs/_sass/_typography.scss +6 -0
  344. data/vendor/assets/components/locomotive_sources/select2/docs/announcements-4.0.html +752 -0
  345. data/vendor/assets/components/locomotive_sources/select2/docs/community.html +154 -0
  346. data/vendor/assets/components/locomotive_sources/select2/docs/css/s2-docs.scss +19 -0
  347. data/vendor/assets/components/locomotive_sources/select2/docs/examples.html +254 -0
  348. data/vendor/assets/components/locomotive_sources/select2/docs/images/logo.png +0 -0
  349. data/vendor/assets/components/locomotive_sources/select2/docs/index.html +238 -0
  350. data/vendor/assets/components/locomotive_sources/select2/docs/options-old.html +37 -0
  351. data/vendor/assets/components/locomotive_sources/select2/docs/options.html +37 -0
  352. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/css/bootstrap.min.css +5 -0
  353. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/css/font-awesome.min.css +4 -0
  354. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/fonts/FontAwesome.otf +0 -0
  355. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/fonts/fontawesome-webfont.eot +0 -0
  356. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/fonts/fontawesome-webfont.svg +520 -0
  357. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/fonts/fontawesome-webfont.ttf +0 -0
  358. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/fonts/fontawesome-webfont.woff +0 -0
  359. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/ak.png +0 -0
  360. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/al.png +0 -0
  361. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/ar.png +0 -0
  362. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/az.png +0 -0
  363. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/ca.png +0 -0
  364. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/co.png +0 -0
  365. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/ct.png +0 -0
  366. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/de.png +0 -0
  367. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/fl.png +0 -0
  368. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/ga.png +0 -0
  369. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/hi.png +0 -0
  370. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/ia.png +0 -0
  371. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/id.png +0 -0
  372. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/il.png +0 -0
  373. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/in.png +0 -0
  374. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/ks.png +0 -0
  375. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/ky.png +0 -0
  376. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/la.png +0 -0
  377. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/ma.png +0 -0
  378. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/md.png +0 -0
  379. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/me.png +0 -0
  380. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/mi.png +0 -0
  381. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/mn.png +0 -0
  382. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/mo.png +0 -0
  383. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/ms.png +0 -0
  384. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/mt.png +0 -0
  385. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/nc.png +0 -0
  386. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/nd.png +0 -0
  387. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/ne.png +0 -0
  388. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/nh.png +0 -0
  389. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/nj.png +0 -0
  390. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/nm.png +0 -0
  391. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/nv.png +0 -0
  392. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/ny.png +0 -0
  393. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/oh.png +0 -0
  394. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/ok.png +0 -0
  395. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/or.png +0 -0
  396. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/pa.png +0 -0
  397. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/ri.png +0 -0
  398. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/sc.png +0 -0
  399. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/sd.png +0 -0
  400. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/tn.png +0 -0
  401. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/tx.png +0 -0
  402. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/ut.png +0 -0
  403. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/va.png +0 -0
  404. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/vt.png +0 -0
  405. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/wa.png +0 -0
  406. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/wi.png +0 -0
  407. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/wv.png +0 -0
  408. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/wy.png +0 -0
  409. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/js/anchor.min.js +6 -0
  410. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/js/bootstrap.min.js +6 -0
  411. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/js/jquery.min.js +4 -0
  412. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/js/placeholders.jquery.min.js +2 -0
  413. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/js/prettify.min.js +28 -0
  414. data/vendor/assets/components/locomotive_sources/select2/package.json +66 -0
  415. data/vendor/assets/components/locomotive_sources/select2/select2.jquery.json +32 -0
  416. data/vendor/assets/components/locomotive_sources/select2/src/js/banner.end.js +6 -0
  417. data/vendor/assets/components/locomotive_sources/select2/src/js/banner.start.js +6 -0
  418. data/vendor/assets/components/locomotive_sources/select2/src/js/jquery.mousewheel.shim.js +6 -0
  419. data/vendor/assets/components/locomotive_sources/select2/src/js/jquery.select2.js +58 -0
  420. data/vendor/assets/components/locomotive_sources/select2/src/js/jquery.shim.js +14 -0
  421. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/compat/containerCss.js +56 -0
  422. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/compat/dropdownCss.js +56 -0
  423. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/compat/initSelection.js +42 -0
  424. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/compat/inputData.js +127 -0
  425. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/compat/matcher.js +42 -0
  426. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/compat/query.js +26 -0
  427. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/compat/utils.js +43 -0
  428. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/core.js +545 -0
  429. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/data/ajax.js +101 -0
  430. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/data/array.js +79 -0
  431. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/data/base.js +40 -0
  432. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/data/maximumInputLength.js +31 -0
  433. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/data/maximumSelectionLength.js +31 -0
  434. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/data/minimumInputLength.js +30 -0
  435. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/data/select.js +285 -0
  436. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/data/tags.js +119 -0
  437. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/data/tokenizer.js +93 -0
  438. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/defaults.js +396 -0
  439. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/diacritics.js +847 -0
  440. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/dropdown.js +42 -0
  441. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/dropdown/attachBody.js +216 -0
  442. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/dropdown/attachContainer.js +18 -0
  443. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/dropdown/closeOnSelect.js +32 -0
  444. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/dropdown/hidePlaceholder.js +42 -0
  445. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/dropdown/infiniteScroll.js +89 -0
  446. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/dropdown/minimumResultsForSearch.js +39 -0
  447. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/dropdown/search.js +95 -0
  448. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/dropdown/selectOnClose.js +40 -0
  449. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/dropdown/stopPropagation.js +38 -0
  450. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/ar.js +36 -0
  451. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/az.js +27 -0
  452. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/bg.js +47 -0
  453. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/ca.js +52 -0
  454. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/cs.js +61 -0
  455. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/da.js +40 -0
  456. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/de.js +37 -0
  457. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/en.js +44 -0
  458. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/es.js +52 -0
  459. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/et.js +53 -0
  460. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/eu.js +51 -0
  461. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/fa.js +38 -0
  462. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/fi.js +27 -0
  463. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/fr.js +46 -0
  464. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/gl.js +51 -0
  465. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/he.js +56 -0
  466. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/hi.js +39 -0
  467. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/hr.js +44 -0
  468. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/hu.js +27 -0
  469. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/id.js +30 -0
  470. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/is.js +41 -0
  471. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/it.js +48 -0
  472. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/ja.js +36 -0
  473. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/ko.js +36 -0
  474. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/lt.js +51 -0
  475. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/lv.js +51 -0
  476. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/mk.js +47 -0
  477. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/ms.js +30 -0
  478. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/nb.js +35 -0
  479. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/nl.js +43 -0
  480. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/pl.js +45 -0
  481. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/pt-BR.js +46 -0
  482. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/pt.js +40 -0
  483. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/ro.js +48 -0
  484. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/ru.js +58 -0
  485. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/sk.js +56 -0
  486. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/sr-Cyrl.js +55 -0
  487. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/sr.js +55 -0
  488. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/sv.js +37 -0
  489. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/th.js +33 -0
  490. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/tr.js +33 -0
  491. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/uk.js +43 -0
  492. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/vi.js +37 -0
  493. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/zh-CN.js +36 -0
  494. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/zh-TW.js +33 -0
  495. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/keys.js +25 -0
  496. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/options.js +122 -0
  497. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/results.js +516 -0
  498. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/selection/allowClear.js +97 -0
  499. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/selection/base.js +158 -0
  500. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/selection/clickMask.js +29 -0
  501. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/selection/eventRelay.js +45 -0
  502. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/selection/multiple.js +109 -0
  503. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/selection/placeholder.js +49 -0
  504. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/selection/search.js +222 -0
  505. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/selection/single.js +93 -0
  506. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/selection/stopPropagation.js +38 -0
  507. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/translation.js +36 -0
  508. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/utils.js +262 -0
  509. data/vendor/assets/components/locomotive_sources/select2/src/js/wrapper.end.js +12 -0
  510. data/vendor/assets/components/locomotive_sources/select2/src/js/wrapper.start.js +23 -0
  511. data/vendor/assets/components/locomotive_sources/select2/src/scss/_dropdown.scss +73 -0
  512. data/vendor/assets/components/locomotive_sources/select2/src/scss/_multiple.scss +35 -0
  513. data/vendor/assets/components/locomotive_sources/select2/src/scss/_single.scss +34 -0
  514. data/vendor/assets/components/locomotive_sources/select2/src/scss/core.scss +48 -0
  515. data/vendor/assets/components/locomotive_sources/select2/src/scss/mixins/_gradients.scss +13 -0
  516. data/vendor/assets/components/locomotive_sources/select2/src/scss/theme/classic/_defaults.scss +34 -0
  517. data/vendor/assets/components/locomotive_sources/select2/src/scss/theme/classic/_multiple.scss +93 -0
  518. data/vendor/assets/components/locomotive_sources/select2/src/scss/theme/classic/_single.scss +124 -0
  519. data/vendor/assets/components/locomotive_sources/select2/src/scss/theme/classic/layout.scss +64 -0
  520. data/vendor/assets/components/locomotive_sources/select2/src/scss/theme/default/_multiple.scss +94 -0
  521. data/vendor/assets/components/locomotive_sources/select2/src/scss/theme/default/_single.scss +83 -0
  522. data/vendor/assets/components/locomotive_sources/select2/src/scss/theme/default/layout.scss +97 -0
  523. data/vendor/assets/components/locomotive_sources/select2/tests/a11y/search-tests.js +51 -0
  524. data/vendor/assets/components/locomotive_sources/select2/tests/a11y/selection-tests.js +154 -0
  525. data/vendor/assets/components/locomotive_sources/select2/tests/data/array-tests.js +290 -0
  526. data/vendor/assets/components/locomotive_sources/select2/tests/data/base-tests.js +29 -0
  527. data/vendor/assets/components/locomotive_sources/select2/tests/data/inputData-tests.js +158 -0
  528. data/vendor/assets/components/locomotive_sources/select2/tests/data/maximumInputLength-tests.js +138 -0
  529. data/vendor/assets/components/locomotive_sources/select2/tests/data/maximumSelectionLength-tests.js +202 -0
  530. data/vendor/assets/components/locomotive_sources/select2/tests/data/minimumInputLength-tests.js +138 -0
  531. data/vendor/assets/components/locomotive_sources/select2/tests/data/select-tests.js +457 -0
  532. data/vendor/assets/components/locomotive_sources/select2/tests/data/tags-tests.js +241 -0
  533. data/vendor/assets/components/locomotive_sources/select2/tests/data/tokenizer-tests.js +171 -0
  534. data/vendor/assets/components/locomotive_sources/select2/tests/dropdown/dropdownCss-tests.js +104 -0
  535. data/vendor/assets/components/locomotive_sources/select2/tests/dropdown/selectOnClose-tests.js +137 -0
  536. data/vendor/assets/components/locomotive_sources/select2/tests/dropdown/stopPropagation-tests.js +33 -0
  537. data/vendor/assets/components/locomotive_sources/select2/tests/helpers.js +46 -0
  538. data/vendor/assets/components/locomotive_sources/select2/tests/integration.html +19 -0
  539. data/vendor/assets/components/locomotive_sources/select2/tests/integration/select2-methods.js +139 -0
  540. data/vendor/assets/components/locomotive_sources/select2/tests/options/data-tests.js +44 -0
  541. data/vendor/assets/components/locomotive_sources/select2/tests/options/deprecated-tests.js +250 -0
  542. data/vendor/assets/components/locomotive_sources/select2/tests/options/translation-tests.js +28 -0
  543. data/vendor/assets/components/locomotive_sources/select2/tests/options/width-tests.js +66 -0
  544. data/vendor/assets/components/locomotive_sources/select2/tests/selection/allowClear-tests.js +218 -0
  545. data/vendor/assets/components/locomotive_sources/select2/tests/selection/containerCss-tests.js +104 -0
  546. data/vendor/assets/components/locomotive_sources/select2/tests/selection/multiple-tests.js +149 -0
  547. data/vendor/assets/components/locomotive_sources/select2/tests/selection/placeholder-tests.js +74 -0
  548. data/vendor/assets/components/locomotive_sources/select2/tests/selection/search-tests.js +139 -0
  549. data/vendor/assets/components/locomotive_sources/select2/tests/selection/single-tests.js +117 -0
  550. data/vendor/assets/components/locomotive_sources/select2/tests/selection/stopPropagation-tests.js +33 -0
  551. data/vendor/assets/components/locomotive_sources/select2/tests/unit.html +91 -0
  552. data/vendor/assets/components/locomotive_sources/select2/tests/utils/decorator-tests.js +189 -0
  553. data/vendor/assets/components/locomotive_sources/select2/tests/utils/escapeMarkup-tests.js +36 -0
  554. data/vendor/assets/components/locomotive_sources/select2/tests/vendor/jquery-1.7.2.js +9404 -0
  555. data/vendor/assets/components/locomotive_sources/select2/tests/vendor/qunit-1.14.0.css +237 -0
  556. data/vendor/assets/components/locomotive_sources/select2/tests/vendor/qunit-1.14.0.js +2288 -0
  557. data/vendor/assets/components/locomotive_sources/select2/vendor/jquery-2.1.0.js +9111 -0
  558. data/vendor/assets/javascripts/locomotive/wysihtml5/parser_rules/advanced.js +11 -2
  559. metadata +472 -57
  560. data/app/assets/images/locomotive/datepicker/ui-widget-content-top.png +0 -0
  561. data/app/assets/javascripts/locomotive/account.js.coffee +0 -12
  562. data/app/assets/javascripts/locomotive/utils/file.js.coffee +0 -20
  563. data/app/views/locomotive/layouts/without_site.html.slim +0 -23
  564. data/app/views/locomotive/sites/_navigation.slim +0 -5
@@ -0,0 +1,42 @@
1
+ define([
2
+ 'jquery'
3
+ ], function ($) {
4
+ function InitSelection (decorated, $element, options) {
5
+ if (options.get('debug') && window.console && console.warn) {
6
+ console.warn(
7
+ 'Select2: The `initSelection` option has been deprecated in favor' +
8
+ ' of a custom data adapter that overrides the `current` method. ' +
9
+ 'This method is now called multiple times instead of a single ' +
10
+ 'time when the instance is initialized. Support will be removed ' +
11
+ 'for the `initSelection` option in future versions of Select2'
12
+ );
13
+ }
14
+
15
+ this.initSelection = options.get('initSelection');
16
+ this._isInitialized = false;
17
+
18
+ decorated.call(this, $element, options);
19
+ }
20
+
21
+ InitSelection.prototype.current = function (decorated, callback) {
22
+ var self = this;
23
+
24
+ if (this._isInitialized) {
25
+ decorated.call(this, callback);
26
+
27
+ return;
28
+ }
29
+
30
+ this.initSelection.call(null, this.$element, function (data) {
31
+ self._isInitialized = true;
32
+
33
+ if (!$.isArray(data)) {
34
+ data = [data];
35
+ }
36
+
37
+ callback(data);
38
+ });
39
+ };
40
+
41
+ return InitSelection;
42
+ });
@@ -0,0 +1,127 @@
1
+ define([
2
+ 'jquery'
3
+ ], function ($) {
4
+ function InputData (decorated, $element, options) {
5
+ this._currentData = [];
6
+ this._valueSeparator = options.get('valueSeparator') || ',';
7
+
8
+ if ($element.prop('type') === 'hidden') {
9
+ if (options.get('debug') && console && console.warn) {
10
+ console.warn(
11
+ 'Select2: Using a hidden input with Select2 is no longer ' +
12
+ 'supported and may stop working in the future. It is recommended ' +
13
+ 'to use a `<select>` element instead.'
14
+ );
15
+ }
16
+ }
17
+
18
+ decorated.call(this, $element, options);
19
+ }
20
+
21
+ InputData.prototype.current = function (_, callback) {
22
+ function getSelected (data, selectedIds) {
23
+ var selected = [];
24
+
25
+ if (data.selected || $.inArray(data.id, selectedIds) !== -1) {
26
+ data.selected = true;
27
+ selected.push(data);
28
+ } else {
29
+ data.selected = false;
30
+ }
31
+
32
+ if (data.children) {
33
+ selected.push.apply(selected, getSelected(data.children, selectedIds));
34
+ }
35
+
36
+ return selected;
37
+ }
38
+
39
+ var selected = [];
40
+
41
+ for (var d = 0; d < this._currentData.length; d++) {
42
+ var data = this._currentData[d];
43
+
44
+ selected.push.apply(
45
+ selected,
46
+ getSelected(
47
+ data,
48
+ this.$element.val().split(
49
+ this._valueSeparator
50
+ )
51
+ )
52
+ );
53
+ }
54
+
55
+ callback(selected);
56
+ };
57
+
58
+ InputData.prototype.select = function (_, data) {
59
+ if (!this.options.get('multiple')) {
60
+ this.current(function (allData) {
61
+ $.map(allData, function (data) {
62
+ data.selected = false;
63
+ });
64
+ });
65
+
66
+ this.$element.val(data.id);
67
+ this.$element.trigger('change');
68
+ } else {
69
+ var value = this.$element.val();
70
+ value += this._valueSeparator + data.id;
71
+
72
+ this.$element.val(value);
73
+ this.$element.trigger('change');
74
+ }
75
+ };
76
+
77
+ InputData.prototype.unselect = function (_, data) {
78
+ var self = this;
79
+
80
+ data.selected = false;
81
+
82
+ this.current(function (allData) {
83
+ var values = [];
84
+
85
+ for (var d = 0; d < allData.length; d++) {
86
+ var item = allData[d];
87
+
88
+ if (data.id == item.id) {
89
+ continue;
90
+ }
91
+
92
+ values.push(item.id);
93
+ }
94
+
95
+ self.$element.val(values.join(self._valueSeparator));
96
+ self.$element.trigger('change');
97
+ });
98
+ };
99
+
100
+ InputData.prototype.query = function (_, params, callback) {
101
+ var results = [];
102
+
103
+ for (var d = 0; d < this._currentData.length; d++) {
104
+ var data = this._currentData[d];
105
+
106
+ var matches = this.matches(params, data);
107
+
108
+ if (matches !== null) {
109
+ results.push(matches);
110
+ }
111
+ }
112
+
113
+ callback({
114
+ results: results
115
+ });
116
+ };
117
+
118
+ InputData.prototype.addOptions = function (_, $options) {
119
+ var options = $.map($options, function ($option) {
120
+ return $.data($option[0], 'data');
121
+ });
122
+
123
+ this._currentData.push.apply(this._currentData, options);
124
+ };
125
+
126
+ return InputData;
127
+ });
@@ -0,0 +1,42 @@
1
+ define([
2
+ 'jquery'
3
+ ], function ($) {
4
+ function oldMatcher (matcher) {
5
+ function wrappedMatcher (params, data) {
6
+ var match = $.extend(true, {}, data);
7
+
8
+ if (params.term == null || $.trim(params.term) === '') {
9
+ return match;
10
+ }
11
+
12
+ if (data.children) {
13
+ for (var c = data.children.length - 1; c >= 0; c--) {
14
+ var child = data.children[c];
15
+
16
+ // Check if the child object matches
17
+ // The old matcher returned a boolean true or false
18
+ var doesMatch = matcher(params.term, child.text, child);
19
+
20
+ // If the child didn't match, pop it off
21
+ if (!doesMatch) {
22
+ match.children.splice(c, 1);
23
+ }
24
+ }
25
+
26
+ if (match.children.length > 0) {
27
+ return match;
28
+ }
29
+ }
30
+
31
+ if (matcher(params.term, data.text, data)) {
32
+ return match;
33
+ }
34
+
35
+ return null;
36
+ }
37
+
38
+ return wrappedMatcher;
39
+ }
40
+
41
+ return oldMatcher;
42
+ });
@@ -0,0 +1,26 @@
1
+ define([
2
+
3
+ ], function () {
4
+ function Query (decorated, $element, options) {
5
+ if (options.get('debug') && window.console && console.warn) {
6
+ console.warn(
7
+ 'Select2: The `query` option has been deprecated in favor of a ' +
8
+ 'custom data adapter that overrides the `query` method. Support ' +
9
+ 'will be removed for the `query` option in future versions of ' +
10
+ 'Select2.'
11
+ );
12
+ }
13
+
14
+ decorated.call(this, $element, options);
15
+ }
16
+
17
+ Query.prototype.query = function (_, params, callback) {
18
+ params.callback = callback;
19
+
20
+ var query = this.options.get('query');
21
+
22
+ query.call(null, params);
23
+ };
24
+
25
+ return Query;
26
+ });
@@ -0,0 +1,43 @@
1
+ define([
2
+ 'jquery'
3
+ ], function ($) {
4
+ function syncCssClasses ($dest, $src, adapter) {
5
+ var classes, replacements = [], adapted;
6
+
7
+ classes = $.trim($dest.attr('class'));
8
+
9
+ if (classes) {
10
+ classes = '' + classes; // for IE which returns object
11
+
12
+ $(classes.split(/\s+/)).each(function () {
13
+ // Save all Select2 classes
14
+ if (this.indexOf('select2-') === 0) {
15
+ replacements.push(this);
16
+ }
17
+ });
18
+ }
19
+
20
+ classes = $.trim($src.attr('class'));
21
+
22
+ if (classes) {
23
+ classes = '' + classes; // for IE which returns object
24
+
25
+ $(classes.split(/\s+/)).each(function () {
26
+ // Only adapt non-Select2 classes
27
+ if (this.indexOf('select2-') !== 0) {
28
+ adapted = adapter(this);
29
+
30
+ if (adapted != null) {
31
+ replacements.push(adapted);
32
+ }
33
+ }
34
+ });
35
+ }
36
+
37
+ $dest.attr('class', replacements.join(' '));
38
+ }
39
+
40
+ return {
41
+ syncCssClasses: syncCssClasses
42
+ };
43
+ });
@@ -0,0 +1,545 @@
1
+ define([
2
+ 'jquery',
3
+ './options',
4
+ './utils',
5
+ './keys'
6
+ ], function ($, Options, Utils, KEYS) {
7
+ var Select2 = function ($element, options) {
8
+ if ($element.data('select2') != null) {
9
+ $element.data('select2').destroy();
10
+ }
11
+
12
+ this.$element = $element;
13
+
14
+ this.id = this._generateId($element);
15
+
16
+ options = options || {};
17
+
18
+ this.options = new Options(options, $element);
19
+
20
+ Select2.__super__.constructor.call(this);
21
+
22
+ // Set up the tabindex
23
+
24
+ var tabindex = $element.attr('tabindex') || 0;
25
+ $element.data('old-tabindex', tabindex);
26
+ $element.attr('tabindex', '-1');
27
+
28
+ // Set up containers and adapters
29
+
30
+ var DataAdapter = this.options.get('dataAdapter');
31
+ this.dataAdapter = new DataAdapter($element, this.options);
32
+
33
+ var $container = this.render();
34
+
35
+ this._placeContainer($container);
36
+
37
+ var SelectionAdapter = this.options.get('selectionAdapter');
38
+ this.selection = new SelectionAdapter($element, this.options);
39
+ this.$selection = this.selection.render();
40
+
41
+ this.selection.position(this.$selection, $container);
42
+
43
+ var DropdownAdapter = this.options.get('dropdownAdapter');
44
+ this.dropdown = new DropdownAdapter($element, this.options);
45
+ this.$dropdown = this.dropdown.render();
46
+
47
+ this.dropdown.position(this.$dropdown, $container);
48
+
49
+ var ResultsAdapter = this.options.get('resultsAdapter');
50
+ this.results = new ResultsAdapter($element, this.options, this.dataAdapter);
51
+ this.$results = this.results.render();
52
+
53
+ this.results.position(this.$results, this.$dropdown);
54
+
55
+ // Bind events
56
+
57
+ var self = this;
58
+
59
+ // Bind the container to all of the adapters
60
+ this._bindAdapters();
61
+
62
+ // Register any DOM event handlers
63
+ this._registerDomEvents();
64
+
65
+ // Register any internal event handlers
66
+ this._registerDataEvents();
67
+ this._registerSelectionEvents();
68
+ this._registerDropdownEvents();
69
+ this._registerResultsEvents();
70
+ this._registerEvents();
71
+
72
+ // Set the initial state
73
+ this.dataAdapter.current(function (initialData) {
74
+ self.trigger('selection:update', {
75
+ data: initialData
76
+ });
77
+ });
78
+
79
+ // Hide the original select
80
+ $element.addClass('select2-hidden-accessible');
81
+ $element.attr('aria-hidden', 'true');
82
+
83
+ // Synchronize any monitored attributes
84
+ this._syncAttributes();
85
+
86
+ $element.data('select2', this);
87
+ };
88
+
89
+ Utils.Extend(Select2, Utils.Observable);
90
+
91
+ Select2.prototype._generateId = function ($element) {
92
+ var id = '';
93
+
94
+ if ($element.attr('id') != null) {
95
+ id = $element.attr('id');
96
+ } else if ($element.attr('name') != null) {
97
+ id = $element.attr('name') + '-' + Utils.generateChars(2);
98
+ } else {
99
+ id = Utils.generateChars(4);
100
+ }
101
+
102
+ id = 'select2-' + id;
103
+
104
+ return id;
105
+ };
106
+
107
+ Select2.prototype._placeContainer = function ($container) {
108
+ $container.insertAfter(this.$element);
109
+
110
+ var width = this._resolveWidth(this.$element, this.options.get('width'));
111
+
112
+ if (width != null) {
113
+ $container.css('width', width);
114
+ }
115
+ };
116
+
117
+ Select2.prototype._resolveWidth = function ($element, method) {
118
+ var WIDTH = /^width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i;
119
+
120
+ if (method == 'resolve') {
121
+ var styleWidth = this._resolveWidth($element, 'style');
122
+
123
+ if (styleWidth != null) {
124
+ return styleWidth;
125
+ }
126
+
127
+ return this._resolveWidth($element, 'element');
128
+ }
129
+
130
+ if (method == 'element') {
131
+ var elementWidth = $element.outerWidth(false);
132
+
133
+ if (elementWidth <= 0) {
134
+ return 'auto';
135
+ }
136
+
137
+ return elementWidth + 'px';
138
+ }
139
+
140
+ if (method == 'style') {
141
+ var style = $element.attr('style');
142
+
143
+ if (typeof(style) !== 'string') {
144
+ return null;
145
+ }
146
+
147
+ var attrs = style.split(';');
148
+
149
+ for (var i = 0, l = attrs.length; i < l; i = i + 1) {
150
+ var attr = attrs[i].replace(/\s/g, '');
151
+ var matches = attr.match(WIDTH);
152
+
153
+ if (matches !== null && matches.length >= 1) {
154
+ return matches[1];
155
+ }
156
+ }
157
+
158
+ return null;
159
+ }
160
+
161
+ return method;
162
+ };
163
+
164
+ Select2.prototype._bindAdapters = function () {
165
+ this.dataAdapter.bind(this, this.$container);
166
+ this.selection.bind(this, this.$container);
167
+
168
+ this.dropdown.bind(this, this.$container);
169
+ this.results.bind(this, this.$container);
170
+ };
171
+
172
+ Select2.prototype._registerDomEvents = function () {
173
+ var self = this;
174
+
175
+ this.$element.on('change.select2', function () {
176
+ self.dataAdapter.current(function (data) {
177
+ self.trigger('selection:update', {
178
+ data: data
179
+ });
180
+ });
181
+ });
182
+
183
+ this._sync = Utils.bind(this._syncAttributes, this);
184
+
185
+ if (this.$element[0].attachEvent) {
186
+ this.$element[0].attachEvent('onpropertychange', this._sync);
187
+ }
188
+
189
+ var observer = window.MutationObserver ||
190
+ window.WebKitMutationObserver ||
191
+ window.MozMutationObserver
192
+ ;
193
+
194
+ if (observer != null) {
195
+ this._observer = new observer(function (mutations) {
196
+ $.each(mutations, self._sync);
197
+ });
198
+ this._observer.observe(this.$element[0], {
199
+ attributes: true,
200
+ subtree: false
201
+ });
202
+ } else if (this.$element[0].addEventListener) {
203
+ this.$element[0].addEventListener('DOMAttrModified', self._sync, false);
204
+ }
205
+ };
206
+
207
+ Select2.prototype._registerDataEvents = function () {
208
+ var self = this;
209
+
210
+ this.dataAdapter.on('*', function (name, params) {
211
+ self.trigger(name, params);
212
+ });
213
+ };
214
+
215
+ Select2.prototype._registerSelectionEvents = function () {
216
+ var self = this;
217
+ var nonRelayEvents = ['toggle', 'focus'];
218
+
219
+ this.selection.on('toggle', function () {
220
+ self.toggleDropdown();
221
+ });
222
+
223
+ this.selection.on('focus', function (params) {
224
+ self.focus(params);
225
+ });
226
+
227
+ this.selection.on('*', function (name, params) {
228
+ if ($.inArray(name, nonRelayEvents) !== -1) {
229
+ return;
230
+ }
231
+
232
+ self.trigger(name, params);
233
+ });
234
+ };
235
+
236
+ Select2.prototype._registerDropdownEvents = function () {
237
+ var self = this;
238
+
239
+ this.dropdown.on('*', function (name, params) {
240
+ self.trigger(name, params);
241
+ });
242
+ };
243
+
244
+ Select2.prototype._registerResultsEvents = function () {
245
+ var self = this;
246
+
247
+ this.results.on('*', function (name, params) {
248
+ self.trigger(name, params);
249
+ });
250
+ };
251
+
252
+ Select2.prototype._registerEvents = function () {
253
+ var self = this;
254
+
255
+ this.on('open', function () {
256
+ self.$container.addClass('select2-container--open');
257
+ });
258
+
259
+ this.on('close', function () {
260
+ self.$container.removeClass('select2-container--open');
261
+ });
262
+
263
+ this.on('enable', function () {
264
+ self.$container.removeClass('select2-container--disabled');
265
+ });
266
+
267
+ this.on('disable', function () {
268
+ self.$container.addClass('select2-container--disabled');
269
+ });
270
+
271
+ this.on('blur', function () {
272
+ self.$container.removeClass('select2-container--focus');
273
+ });
274
+
275
+ this.on('query', function (params) {
276
+ if (!self.isOpen()) {
277
+ self.trigger('open', {});
278
+ }
279
+
280
+ this.dataAdapter.query(params, function (data) {
281
+ self.trigger('results:all', {
282
+ data: data,
283
+ query: params
284
+ });
285
+ });
286
+ });
287
+
288
+ this.on('query:append', function (params) {
289
+ this.dataAdapter.query(params, function (data) {
290
+ self.trigger('results:append', {
291
+ data: data,
292
+ query: params
293
+ });
294
+ });
295
+ });
296
+
297
+ this.on('keypress', function (evt) {
298
+ var key = evt.which;
299
+
300
+ if (self.isOpen()) {
301
+ if (key === KEYS.ESC || key === KEYS.TAB ||
302
+ (key === KEYS.UP && evt.altKey)) {
303
+ self.close();
304
+
305
+ evt.preventDefault();
306
+ } else if (key === KEYS.ENTER) {
307
+ self.trigger('results:select', {});
308
+
309
+ evt.preventDefault();
310
+ } else if ((key === KEYS.SPACE && evt.ctrlKey)) {
311
+ self.trigger('results:toggle', {});
312
+
313
+ evt.preventDefault();
314
+ } else if (key === KEYS.UP) {
315
+ self.trigger('results:previous', {});
316
+
317
+ evt.preventDefault();
318
+ } else if (key === KEYS.DOWN) {
319
+ self.trigger('results:next', {});
320
+
321
+ evt.preventDefault();
322
+ }
323
+ } else {
324
+ if (key === KEYS.ENTER || key === KEYS.SPACE ||
325
+ (key === KEYS.DOWN && evt.altKey)) {
326
+ self.open();
327
+
328
+ evt.preventDefault();
329
+ }
330
+ }
331
+ });
332
+ };
333
+
334
+ Select2.prototype._syncAttributes = function () {
335
+ this.options.set('disabled', this.$element.prop('disabled'));
336
+
337
+ if (this.options.get('disabled')) {
338
+ if (this.isOpen()) {
339
+ this.close();
340
+ }
341
+
342
+ this.trigger('disable', {});
343
+ } else {
344
+ this.trigger('enable', {});
345
+ }
346
+ };
347
+
348
+ /**
349
+ * Override the trigger method to automatically trigger pre-events when
350
+ * there are events that can be prevented.
351
+ */
352
+ Select2.prototype.trigger = function (name, args) {
353
+ var actualTrigger = Select2.__super__.trigger;
354
+ var preTriggerMap = {
355
+ 'open': 'opening',
356
+ 'close': 'closing',
357
+ 'select': 'selecting',
358
+ 'unselect': 'unselecting'
359
+ };
360
+
361
+ if (args === undefined) {
362
+ args = {};
363
+ }
364
+
365
+ if (name in preTriggerMap) {
366
+ var preTriggerName = preTriggerMap[name];
367
+ var preTriggerArgs = {
368
+ prevented: false,
369
+ name: name,
370
+ args: args
371
+ };
372
+
373
+ actualTrigger.call(this, preTriggerName, preTriggerArgs);
374
+
375
+ if (preTriggerArgs.prevented) {
376
+ args.prevented = true;
377
+
378
+ return;
379
+ }
380
+ }
381
+
382
+ actualTrigger.call(this, name, args);
383
+ };
384
+
385
+ Select2.prototype.toggleDropdown = function () {
386
+ if (this.options.get('disabled')) {
387
+ return;
388
+ }
389
+
390
+ if (this.isOpen()) {
391
+ this.close();
392
+ } else {
393
+ this.open();
394
+ }
395
+ };
396
+
397
+ Select2.prototype.open = function () {
398
+ if (this.isOpen()) {
399
+ return;
400
+ }
401
+
402
+ this.trigger('query', {});
403
+ };
404
+
405
+ Select2.prototype.close = function () {
406
+ if (!this.isOpen()) {
407
+ return;
408
+ }
409
+
410
+ this.trigger('close', {});
411
+ };
412
+
413
+ Select2.prototype.isOpen = function () {
414
+ return this.$container.hasClass('select2-container--open');
415
+ };
416
+
417
+ Select2.prototype.hasFocus = function () {
418
+ return this.$container.hasClass('select2-container--focus');
419
+ };
420
+
421
+ Select2.prototype.focus = function (data) {
422
+ // No need to re-trigger focus events if we are already focused
423
+ if (this.hasFocus()) {
424
+ return;
425
+ }
426
+
427
+ this.$container.addClass('select2-container--focus');
428
+ this.trigger('focus', {});
429
+ };
430
+
431
+ Select2.prototype.enable = function (args) {
432
+ if (this.options.get('debug') && window.console && console.warn) {
433
+ console.warn(
434
+ 'Select2: The `select2("enable")` method has been deprecated and will' +
435
+ ' be removed in later Select2 versions. Use $element.prop("disabled")' +
436
+ ' instead.'
437
+ );
438
+ }
439
+
440
+ if (args == null || args.length === 0) {
441
+ args = [true];
442
+ }
443
+
444
+ var disabled = !args[0];
445
+
446
+ this.$element.prop('disabled', disabled);
447
+ };
448
+
449
+ Select2.prototype.data = function () {
450
+ if (this.options.get('debug') &&
451
+ arguments.length > 0 && window.console && console.warn) {
452
+ console.warn(
453
+ 'Select2: Data can no longer be set using `select2("data")`. You ' +
454
+ 'should consider setting the value instead using `$element.val()`.'
455
+ );
456
+ }
457
+
458
+ var data = [];
459
+
460
+ this.dataAdapter.current(function (currentData) {
461
+ data = currentData;
462
+ });
463
+
464
+ return data;
465
+ };
466
+
467
+ Select2.prototype.val = function (args) {
468
+ if (this.options.get('debug') && window.console && console.warn) {
469
+ console.warn(
470
+ 'Select2: The `select2("val")` method has been deprecated and will be' +
471
+ ' removed in later Select2 versions. Use $element.val() instead.'
472
+ );
473
+ }
474
+
475
+ if (args == null || args.length === 0) {
476
+ return this.$element.val();
477
+ }
478
+
479
+ var newVal = args[0];
480
+
481
+ if ($.isArray(newVal)) {
482
+ newVal = $.map(newVal, function (obj) {
483
+ return obj.toString();
484
+ });
485
+ }
486
+
487
+ this.$element.val(newVal).trigger('change');
488
+ };
489
+
490
+ Select2.prototype.destroy = function () {
491
+ this.$container.remove();
492
+
493
+ if (this.$element[0].detachEvent) {
494
+ this.$element[0].detachEvent('onpropertychange', this._sync);
495
+ }
496
+
497
+ if (this._observer != null) {
498
+ this._observer.disconnect();
499
+ this._observer = null;
500
+ } else if (this.$element[0].removeEventListener) {
501
+ this.$element[0]
502
+ .removeEventListener('DOMAttrModified', this._sync, false);
503
+ }
504
+
505
+ this._sync = null;
506
+
507
+ this.$element.off('.select2');
508
+ this.$element.attr('tabindex', this.$element.data('old-tabindex'));
509
+
510
+ this.$element.removeClass('select2-hidden-accessible');
511
+ this.$element.attr('aria-hidden', 'false');
512
+ this.$element.removeData('select2');
513
+
514
+ this.dataAdapter.destroy();
515
+ this.selection.destroy();
516
+ this.dropdown.destroy();
517
+ this.results.destroy();
518
+
519
+ this.dataAdapter = null;
520
+ this.selection = null;
521
+ this.dropdown = null;
522
+ this.results = null;
523
+ };
524
+
525
+ Select2.prototype.render = function () {
526
+ var $container = $(
527
+ '<span class="select2 select2-container">' +
528
+ '<span class="selection"></span>' +
529
+ '<span class="dropdown-wrapper" aria-hidden="true"></span>' +
530
+ '</span>'
531
+ );
532
+
533
+ $container.attr('dir', this.options.get('dir'));
534
+
535
+ this.$container = $container;
536
+
537
+ this.$container.addClass('select2-container--' + this.options.get('theme'));
538
+
539
+ $container.data('element', this.$element);
540
+
541
+ return $container;
542
+ };
543
+
544
+ return Select2;
545
+ });