adminlte_rails 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (324) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +8 -0
  3. data/.travis.yml +5 -0
  4. data/CODE_OF_CONDUCT.md +74 -0
  5. data/Gemfile +6 -0
  6. data/LICENSE.txt +21 -0
  7. data/README.md +51 -0
  8. data/Rakefile +10 -0
  9. data/adminlte_rails.gemspec +27 -0
  10. data/bin/console +14 -0
  11. data/bin/setup +8 -0
  12. data/lib/adminlte_rails.rb +5 -0
  13. data/lib/adminlte_rails/engine.rb +7 -0
  14. data/lib/adminlte_rails/version.rb +3 -0
  15. data/vendor/assets/javascripts/adminlte.js +3 -0
  16. data/vendor/assets/javascripts/adminlte.min.js +3 -0
  17. data/vendor/assets/javascripts/adminlte/adminlte.js +1129 -0
  18. data/vendor/assets/javascripts/adminlte/adminlte.min.js +14 -0
  19. data/vendor/assets/javascripts/adminlte/plugins/bootstrap-colorpicker/bootstrap-colorpicker.js +1319 -0
  20. data/vendor/assets/javascripts/adminlte/plugins/bootstrap-colorpicker/bootstrap-colorpicker.min.js +5 -0
  21. data/vendor/assets/javascripts/adminlte/plugins/bootstrap-datepicker/bootstrap-datepicker.js +2030 -0
  22. data/vendor/assets/javascripts/adminlte/plugins/bootstrap-datepicker/bootstrap-datepicker.min.js +8 -0
  23. data/vendor/assets/javascripts/adminlte/plugins/bootstrap-daterangepicker/bootstrap-daterangepicker.js +1653 -0
  24. data/vendor/assets/javascripts/adminlte/plugins/bootstrap-slider/bootstrap-slider.js +427 -0
  25. data/vendor/assets/javascripts/adminlte/plugins/bootstrap-timepicker/bootstrap-timepicker.js +1177 -0
  26. data/vendor/assets/javascripts/adminlte/plugins/bootstrap/bootstrap.js +2377 -0
  27. data/vendor/assets/javascripts/adminlte/plugins/bootstrap/bootstrap.min.js +7 -0
  28. data/vendor/assets/javascripts/adminlte/plugins/jquery/jquery.js +10364 -0
  29. data/vendor/assets/javascripts/adminlte/plugins/jquery/jquery.min.js +2 -0
  30. data/vendor/assets/javascripts/adminlte/plugins/select2/.bower.json +24 -0
  31. data/vendor/assets/javascripts/adminlte/plugins/select2/.editorconfig +6 -0
  32. data/vendor/assets/javascripts/adminlte/plugins/select2/.github/CONTRIBUTING.md +203 -0
  33. data/vendor/assets/javascripts/adminlte/plugins/select2/.github/ISSUE_TEMPLATE.md +20 -0
  34. data/vendor/assets/javascripts/adminlte/plugins/select2/.github/PULL_REQUEST_TEMPLATE.md +13 -0
  35. data/vendor/assets/javascripts/adminlte/plugins/select2/.gitignore +3 -0
  36. data/vendor/assets/javascripts/adminlte/plugins/select2/.jshintignore +4 -0
  37. data/vendor/assets/javascripts/adminlte/plugins/select2/.jshintrc +25 -0
  38. data/vendor/assets/javascripts/adminlte/plugins/select2/.travis.yml +22 -0
  39. data/vendor/assets/javascripts/adminlte/plugins/select2/CHANGELOG.md +272 -0
  40. data/vendor/assets/javascripts/adminlte/plugins/select2/Gruntfile.js +380 -0
  41. data/vendor/assets/javascripts/adminlte/plugins/select2/LICENSE.md +21 -0
  42. data/vendor/assets/javascripts/adminlte/plugins/select2/README.md +123 -0
  43. data/vendor/assets/javascripts/adminlte/plugins/select2/bower.json +13 -0
  44. data/vendor/assets/javascripts/adminlte/plugins/select2/component.json +19 -0
  45. data/vendor/assets/javascripts/adminlte/plugins/select2/composer.json +25 -0
  46. data/vendor/assets/javascripts/adminlte/plugins/select2/dist/css/select2.css +484 -0
  47. data/vendor/assets/javascripts/adminlte/plugins/select2/dist/css/select2.min.css +1 -0
  48. data/vendor/assets/javascripts/adminlte/plugins/select2/dist/js/i18n/af.js +3 -0
  49. data/vendor/assets/javascripts/adminlte/plugins/select2/dist/js/i18n/ar.js +3 -0
  50. data/vendor/assets/javascripts/adminlte/plugins/select2/dist/js/i18n/az.js +3 -0
  51. data/vendor/assets/javascripts/adminlte/plugins/select2/dist/js/i18n/bg.js +3 -0
  52. data/vendor/assets/javascripts/adminlte/plugins/select2/dist/js/i18n/bs.js +3 -0
  53. data/vendor/assets/javascripts/adminlte/plugins/select2/dist/js/i18n/ca.js +3 -0
  54. data/vendor/assets/javascripts/adminlte/plugins/select2/dist/js/i18n/cs.js +3 -0
  55. data/vendor/assets/javascripts/adminlte/plugins/select2/dist/js/i18n/da.js +3 -0
  56. data/vendor/assets/javascripts/adminlte/plugins/select2/dist/js/i18n/de.js +3 -0
  57. data/vendor/assets/javascripts/adminlte/plugins/select2/dist/js/i18n/dsb.js +3 -0
  58. data/vendor/assets/javascripts/adminlte/plugins/select2/dist/js/i18n/el.js +3 -0
  59. data/vendor/assets/javascripts/adminlte/plugins/select2/dist/js/i18n/en.js +3 -0
  60. data/vendor/assets/javascripts/adminlte/plugins/select2/dist/js/i18n/es.js +3 -0
  61. data/vendor/assets/javascripts/adminlte/plugins/select2/dist/js/i18n/et.js +3 -0
  62. data/vendor/assets/javascripts/adminlte/plugins/select2/dist/js/i18n/eu.js +3 -0
  63. data/vendor/assets/javascripts/adminlte/plugins/select2/dist/js/i18n/fa.js +3 -0
  64. data/vendor/assets/javascripts/adminlte/plugins/select2/dist/js/i18n/fi.js +3 -0
  65. data/vendor/assets/javascripts/adminlte/plugins/select2/dist/js/i18n/fr.js +3 -0
  66. data/vendor/assets/javascripts/adminlte/plugins/select2/dist/js/i18n/gl.js +3 -0
  67. data/vendor/assets/javascripts/adminlte/plugins/select2/dist/js/i18n/he.js +3 -0
  68. data/vendor/assets/javascripts/adminlte/plugins/select2/dist/js/i18n/hi.js +3 -0
  69. data/vendor/assets/javascripts/adminlte/plugins/select2/dist/js/i18n/hr.js +3 -0
  70. data/vendor/assets/javascripts/adminlte/plugins/select2/dist/js/i18n/hsb.js +3 -0
  71. data/vendor/assets/javascripts/adminlte/plugins/select2/dist/js/i18n/hu.js +3 -0
  72. data/vendor/assets/javascripts/adminlte/plugins/select2/dist/js/i18n/hy.js +3 -0
  73. data/vendor/assets/javascripts/adminlte/plugins/select2/dist/js/i18n/id.js +3 -0
  74. data/vendor/assets/javascripts/adminlte/plugins/select2/dist/js/i18n/is.js +3 -0
  75. data/vendor/assets/javascripts/adminlte/plugins/select2/dist/js/i18n/it.js +3 -0
  76. data/vendor/assets/javascripts/adminlte/plugins/select2/dist/js/i18n/ja.js +3 -0
  77. data/vendor/assets/javascripts/adminlte/plugins/select2/dist/js/i18n/km.js +3 -0
  78. data/vendor/assets/javascripts/adminlte/plugins/select2/dist/js/i18n/ko.js +3 -0
  79. data/vendor/assets/javascripts/adminlte/plugins/select2/dist/js/i18n/lt.js +3 -0
  80. data/vendor/assets/javascripts/adminlte/plugins/select2/dist/js/i18n/lv.js +3 -0
  81. data/vendor/assets/javascripts/adminlte/plugins/select2/dist/js/i18n/mk.js +3 -0
  82. data/vendor/assets/javascripts/adminlte/plugins/select2/dist/js/i18n/ms.js +3 -0
  83. data/vendor/assets/javascripts/adminlte/plugins/select2/dist/js/i18n/nb.js +3 -0
  84. data/vendor/assets/javascripts/adminlte/plugins/select2/dist/js/i18n/nl.js +3 -0
  85. data/vendor/assets/javascripts/adminlte/plugins/select2/dist/js/i18n/pl.js +3 -0
  86. data/vendor/assets/javascripts/adminlte/plugins/select2/dist/js/i18n/ps.js +3 -0
  87. data/vendor/assets/javascripts/adminlte/plugins/select2/dist/js/i18n/pt-BR.js +3 -0
  88. data/vendor/assets/javascripts/adminlte/plugins/select2/dist/js/i18n/pt.js +3 -0
  89. data/vendor/assets/javascripts/adminlte/plugins/select2/dist/js/i18n/ro.js +3 -0
  90. data/vendor/assets/javascripts/adminlte/plugins/select2/dist/js/i18n/ru.js +3 -0
  91. data/vendor/assets/javascripts/adminlte/plugins/select2/dist/js/i18n/sk.js +3 -0
  92. data/vendor/assets/javascripts/adminlte/plugins/select2/dist/js/i18n/sl.js +3 -0
  93. data/vendor/assets/javascripts/adminlte/plugins/select2/dist/js/i18n/sr-Cyrl.js +3 -0
  94. data/vendor/assets/javascripts/adminlte/plugins/select2/dist/js/i18n/sr.js +3 -0
  95. data/vendor/assets/javascripts/adminlte/plugins/select2/dist/js/i18n/sv.js +3 -0
  96. data/vendor/assets/javascripts/adminlte/plugins/select2/dist/js/i18n/th.js +3 -0
  97. data/vendor/assets/javascripts/adminlte/plugins/select2/dist/js/i18n/tr.js +3 -0
  98. data/vendor/assets/javascripts/adminlte/plugins/select2/dist/js/i18n/uk.js +3 -0
  99. data/vendor/assets/javascripts/adminlte/plugins/select2/dist/js/i18n/vi.js +3 -0
  100. data/vendor/assets/javascripts/adminlte/plugins/select2/dist/js/i18n/zh-CN.js +3 -0
  101. data/vendor/assets/javascripts/adminlte/plugins/select2/dist/js/i18n/zh-TW.js +3 -0
  102. data/vendor/assets/javascripts/adminlte/plugins/select2/dist/js/select2.full.js +6457 -0
  103. data/vendor/assets/javascripts/adminlte/plugins/select2/dist/js/select2.full.min.js +1 -0
  104. data/vendor/assets/javascripts/adminlte/plugins/select2/dist/js/select2.js +5746 -0
  105. data/vendor/assets/javascripts/adminlte/plugins/select2/dist/js/select2.min.js +1 -0
  106. data/vendor/assets/javascripts/adminlte/plugins/select2/docs/README.md +1 -0
  107. data/vendor/assets/javascripts/adminlte/plugins/select2/docs/announcements-4.0.html +12 -0
  108. data/vendor/assets/javascripts/adminlte/plugins/select2/docs/community.html +12 -0
  109. data/vendor/assets/javascripts/adminlte/plugins/select2/docs/examples.html +12 -0
  110. data/vendor/assets/javascripts/adminlte/plugins/select2/docs/index.html +12 -0
  111. data/vendor/assets/javascripts/adminlte/plugins/select2/docs/options-old.html +12 -0
  112. data/vendor/assets/javascripts/adminlte/plugins/select2/docs/options.html +12 -0
  113. data/vendor/assets/javascripts/adminlte/plugins/select2/package.json +73 -0
  114. data/vendor/assets/javascripts/adminlte/plugins/select2/select2.jquery.json +32 -0
  115. data/vendor/assets/javascripts/adminlte/plugins/select2/src/js/banner.end.js +6 -0
  116. data/vendor/assets/javascripts/adminlte/plugins/select2/src/js/banner.start.js +6 -0
  117. data/vendor/assets/javascripts/adminlte/plugins/select2/src/js/jquery.mousewheel.shim.js +6 -0
  118. data/vendor/assets/javascripts/adminlte/plugins/select2/src/js/jquery.select2.js +57 -0
  119. data/vendor/assets/javascripts/adminlte/plugins/select2/src/js/jquery.shim.js +14 -0
  120. data/vendor/assets/javascripts/adminlte/plugins/select2/src/js/select2/compat/containerCss.js +56 -0
  121. data/vendor/assets/javascripts/adminlte/plugins/select2/src/js/select2/compat/dropdownCss.js +56 -0
  122. data/vendor/assets/javascripts/adminlte/plugins/select2/src/js/select2/compat/initSelection.js +42 -0
  123. data/vendor/assets/javascripts/adminlte/plugins/select2/src/js/select2/compat/inputData.js +127 -0
  124. data/vendor/assets/javascripts/adminlte/plugins/select2/src/js/select2/compat/matcher.js +42 -0
  125. data/vendor/assets/javascripts/adminlte/plugins/select2/src/js/select2/compat/query.js +26 -0
  126. data/vendor/assets/javascripts/adminlte/plugins/select2/src/js/select2/compat/utils.js +43 -0
  127. data/vendor/assets/javascripts/adminlte/plugins/select2/src/js/select2/core.js +612 -0
  128. data/vendor/assets/javascripts/adminlte/plugins/select2/src/js/select2/data/ajax.js +109 -0
  129. data/vendor/assets/javascripts/adminlte/plugins/select2/src/js/select2/data/array.js +79 -0
  130. data/vendor/assets/javascripts/adminlte/plugins/select2/src/js/select2/data/base.js +40 -0
  131. data/vendor/assets/javascripts/adminlte/plugins/select2/src/js/select2/data/maximumInputLength.js +31 -0
  132. data/vendor/assets/javascripts/adminlte/plugins/select2/src/js/select2/data/maximumSelectionLength.js +31 -0
  133. data/vendor/assets/javascripts/adminlte/plugins/select2/src/js/select2/data/minimumInputLength.js +30 -0
  134. data/vendor/assets/javascripts/adminlte/plugins/select2/src/js/select2/data/select.js +285 -0
  135. data/vendor/assets/javascripts/adminlte/plugins/select2/src/js/select2/data/tags.js +128 -0
  136. data/vendor/assets/javascripts/adminlte/plugins/select2/src/js/select2/data/tokenizer.js +116 -0
  137. data/vendor/assets/javascripts/adminlte/plugins/select2/src/js/select2/defaults.js +396 -0
  138. data/vendor/assets/javascripts/adminlte/plugins/select2/src/js/select2/diacritics.js +847 -0
  139. data/vendor/assets/javascripts/adminlte/plugins/select2/src/js/select2/dropdown.js +42 -0
  140. data/vendor/assets/javascripts/adminlte/plugins/select2/src/js/select2/dropdown/attachBody.js +222 -0
  141. data/vendor/assets/javascripts/adminlte/plugins/select2/src/js/select2/dropdown/attachContainer.js +18 -0
  142. data/vendor/assets/javascripts/adminlte/plugins/select2/src/js/select2/dropdown/closeOnSelect.js +35 -0
  143. data/vendor/assets/javascripts/adminlte/plugins/select2/src/js/select2/dropdown/hidePlaceholder.js +42 -0
  144. data/vendor/assets/javascripts/adminlte/plugins/select2/src/js/select2/dropdown/infiniteScroll.js +89 -0
  145. data/vendor/assets/javascripts/adminlte/plugins/select2/src/js/select2/dropdown/minimumResultsForSearch.js +39 -0
  146. data/vendor/assets/javascripts/adminlte/plugins/select2/src/js/select2/dropdown/search.js +101 -0
  147. data/vendor/assets/javascripts/adminlte/plugins/select2/src/js/select2/dropdown/selectOnClose.js +50 -0
  148. data/vendor/assets/javascripts/adminlte/plugins/select2/src/js/select2/dropdown/stopPropagation.js +38 -0
  149. data/vendor/assets/javascripts/adminlte/plugins/select2/src/js/select2/i18n/af.js +44 -0
  150. data/vendor/assets/javascripts/adminlte/plugins/select2/src/js/select2/i18n/ar.js +30 -0
  151. data/vendor/assets/javascripts/adminlte/plugins/select2/src/js/select2/i18n/az.js +27 -0
  152. data/vendor/assets/javascripts/adminlte/plugins/select2/src/js/select2/i18n/bg.js +47 -0
  153. data/vendor/assets/javascripts/adminlte/plugins/select2/src/js/select2/i18n/bs.js +55 -0
  154. data/vendor/assets/javascripts/adminlte/plugins/select2/src/js/select2/i18n/ca.js +52 -0
  155. data/vendor/assets/javascripts/adminlte/plugins/select2/src/js/select2/i18n/cs.js +61 -0
  156. data/vendor/assets/javascripts/adminlte/plugins/select2/src/js/select2/i18n/da.js +36 -0
  157. data/vendor/assets/javascripts/adminlte/plugins/select2/src/js/select2/i18n/de.js +40 -0
  158. data/vendor/assets/javascripts/adminlte/plugins/select2/src/js/select2/i18n/dsb.js +48 -0
  159. data/vendor/assets/javascripts/adminlte/plugins/select2/src/js/select2/i18n/el.js +52 -0
  160. data/vendor/assets/javascripts/adminlte/plugins/select2/src/js/select2/i18n/en.js +44 -0
  161. data/vendor/assets/javascripts/adminlte/plugins/select2/src/js/select2/i18n/es.js +52 -0
  162. data/vendor/assets/javascripts/adminlte/plugins/select2/src/js/select2/i18n/et.js +53 -0
  163. data/vendor/assets/javascripts/adminlte/plugins/select2/src/js/select2/i18n/eu.js +51 -0
  164. data/vendor/assets/javascripts/adminlte/plugins/select2/src/js/select2/i18n/fa.js +38 -0
  165. data/vendor/assets/javascripts/adminlte/plugins/select2/src/js/select2/i18n/fi.js +30 -0
  166. data/vendor/assets/javascripts/adminlte/plugins/select2/src/js/select2/i18n/fr.js +33 -0
  167. data/vendor/assets/javascripts/adminlte/plugins/select2/src/js/select2/i18n/gl.js +39 -0
  168. data/vendor/assets/javascripts/adminlte/plugins/select2/src/js/select2/i18n/he.js +56 -0
  169. data/vendor/assets/javascripts/adminlte/plugins/select2/src/js/select2/i18n/hi.js +39 -0
  170. data/vendor/assets/javascripts/adminlte/plugins/select2/src/js/select2/i18n/hr.js +44 -0
  171. data/vendor/assets/javascripts/adminlte/plugins/select2/src/js/select2/i18n/hsb.js +48 -0
  172. data/vendor/assets/javascripts/adminlte/plugins/select2/src/js/select2/i18n/hu.js +30 -0
  173. data/vendor/assets/javascripts/adminlte/plugins/select2/src/js/select2/i18n/hy.js +38 -0
  174. data/vendor/assets/javascripts/adminlte/plugins/select2/src/js/select2/i18n/id.js +30 -0
  175. data/vendor/assets/javascripts/adminlte/plugins/select2/src/js/select2/i18n/is.js +41 -0
  176. data/vendor/assets/javascripts/adminlte/plugins/select2/src/js/select2/i18n/it.js +48 -0
  177. data/vendor/assets/javascripts/adminlte/plugins/select2/src/js/select2/i18n/ja.js +36 -0
  178. data/vendor/assets/javascripts/adminlte/plugins/select2/src/js/select2/i18n/km.js +36 -0
  179. data/vendor/assets/javascripts/adminlte/plugins/select2/src/js/select2/i18n/ko.js +36 -0
  180. data/vendor/assets/javascripts/adminlte/plugins/select2/src/js/select2/i18n/lt.js +52 -0
  181. data/vendor/assets/javascripts/adminlte/plugins/select2/src/js/select2/i18n/lv.js +51 -0
  182. data/vendor/assets/javascripts/adminlte/plugins/select2/src/js/select2/i18n/mk.js +47 -0
  183. data/vendor/assets/javascripts/adminlte/plugins/select2/src/js/select2/i18n/ms.js +30 -0
  184. data/vendor/assets/javascripts/adminlte/plugins/select2/src/js/select2/i18n/nb.js +32 -0
  185. data/vendor/assets/javascripts/adminlte/plugins/select2/src/js/select2/i18n/nl.js +43 -0
  186. data/vendor/assets/javascripts/adminlte/plugins/select2/src/js/select2/i18n/pl.js +45 -0
  187. data/vendor/assets/javascripts/adminlte/plugins/select2/src/js/select2/i18n/ps.js +45 -0
  188. data/vendor/assets/javascripts/adminlte/plugins/select2/src/js/select2/i18n/pt-BR.js +46 -0
  189. data/vendor/assets/javascripts/adminlte/plugins/select2/src/js/select2/i18n/pt.js +40 -0
  190. data/vendor/assets/javascripts/adminlte/plugins/select2/src/js/select2/i18n/ro.js +46 -0
  191. data/vendor/assets/javascripts/adminlte/plugins/select2/src/js/select2/i18n/ru.js +58 -0
  192. data/vendor/assets/javascripts/adminlte/plugins/select2/src/js/select2/i18n/sk.js +59 -0
  193. data/vendor/assets/javascripts/adminlte/plugins/select2/src/js/select2/i18n/sl.js +54 -0
  194. data/vendor/assets/javascripts/adminlte/plugins/select2/src/js/select2/i18n/sr-Cyrl.js +55 -0
  195. data/vendor/assets/javascripts/adminlte/plugins/select2/src/js/select2/i18n/sr.js +55 -0
  196. data/vendor/assets/javascripts/adminlte/plugins/select2/src/js/select2/i18n/sv.js +37 -0
  197. data/vendor/assets/javascripts/adminlte/plugins/select2/src/js/select2/i18n/th.js +36 -0
  198. data/vendor/assets/javascripts/adminlte/plugins/select2/src/js/select2/i18n/tr.js +36 -0
  199. data/vendor/assets/javascripts/adminlte/plugins/select2/src/js/select2/i18n/uk.js +43 -0
  200. data/vendor/assets/javascripts/adminlte/plugins/select2/src/js/select2/i18n/vi.js +37 -0
  201. data/vendor/assets/javascripts/adminlte/plugins/select2/src/js/select2/i18n/zh-CN.js +36 -0
  202. data/vendor/assets/javascripts/adminlte/plugins/select2/src/js/select2/i18n/zh-TW.js +33 -0
  203. data/vendor/assets/javascripts/adminlte/plugins/select2/src/js/select2/keys.js +25 -0
  204. data/vendor/assets/javascripts/adminlte/plugins/select2/src/js/select2/options.js +122 -0
  205. data/vendor/assets/javascripts/adminlte/plugins/select2/src/js/select2/results.js +523 -0
  206. data/vendor/assets/javascripts/adminlte/plugins/select2/src/js/select2/selection/allowClear.js +97 -0
  207. data/vendor/assets/javascripts/adminlte/plugins/select2/src/js/select2/selection/base.js +158 -0
  208. data/vendor/assets/javascripts/adminlte/plugins/select2/src/js/select2/selection/clickMask.js +29 -0
  209. data/vendor/assets/javascripts/adminlte/plugins/select2/src/js/select2/selection/eventRelay.js +45 -0
  210. data/vendor/assets/javascripts/adminlte/plugins/select2/src/js/select2/selection/multiple.js +109 -0
  211. data/vendor/assets/javascripts/adminlte/plugins/select2/src/js/select2/selection/placeholder.js +49 -0
  212. data/vendor/assets/javascripts/adminlte/plugins/select2/src/js/select2/selection/search.js +222 -0
  213. data/vendor/assets/javascripts/adminlte/plugins/select2/src/js/select2/selection/single.js +99 -0
  214. data/vendor/assets/javascripts/adminlte/plugins/select2/src/js/select2/selection/stopPropagation.js +38 -0
  215. data/vendor/assets/javascripts/adminlte/plugins/select2/src/js/select2/translation.js +36 -0
  216. data/vendor/assets/javascripts/adminlte/plugins/select2/src/js/select2/utils.js +276 -0
  217. data/vendor/assets/javascripts/adminlte/plugins/select2/src/js/wrapper.end.js +12 -0
  218. data/vendor/assets/javascripts/adminlte/plugins/select2/src/js/wrapper.start.js +38 -0
  219. data/vendor/assets/javascripts/adminlte/plugins/select2/src/scss/_dropdown.scss +73 -0
  220. data/vendor/assets/javascripts/adminlte/plugins/select2/src/scss/_multiple.scss +35 -0
  221. data/vendor/assets/javascripts/adminlte/plugins/select2/src/scss/_single.scss +34 -0
  222. data/vendor/assets/javascripts/adminlte/plugins/select2/src/scss/core.scss +48 -0
  223. data/vendor/assets/javascripts/adminlte/plugins/select2/src/scss/mixins/_gradients.scss +13 -0
  224. data/vendor/assets/javascripts/adminlte/plugins/select2/src/scss/theme/classic/_defaults.scss +34 -0
  225. data/vendor/assets/javascripts/adminlte/plugins/select2/src/scss/theme/classic/_multiple.scss +93 -0
  226. data/vendor/assets/javascripts/adminlte/plugins/select2/src/scss/theme/classic/_single.scss +124 -0
  227. data/vendor/assets/javascripts/adminlte/plugins/select2/src/scss/theme/classic/layout.scss +64 -0
  228. data/vendor/assets/javascripts/adminlte/plugins/select2/src/scss/theme/default/_multiple.scss +98 -0
  229. data/vendor/assets/javascripts/adminlte/plugins/select2/src/scss/theme/default/_single.scss +83 -0
  230. data/vendor/assets/javascripts/adminlte/plugins/select2/src/scss/theme/default/layout.scss +97 -0
  231. data/vendor/assets/javascripts/adminlte/plugins/select2/tests/a11y/search-tests.js +51 -0
  232. data/vendor/assets/javascripts/adminlte/plugins/select2/tests/a11y/selection-tests.js +154 -0
  233. data/vendor/assets/javascripts/adminlte/plugins/select2/tests/data/array-tests.js +318 -0
  234. data/vendor/assets/javascripts/adminlte/plugins/select2/tests/data/base-tests.js +29 -0
  235. data/vendor/assets/javascripts/adminlte/plugins/select2/tests/data/inputData-tests.js +158 -0
  236. data/vendor/assets/javascripts/adminlte/plugins/select2/tests/data/maximumInputLength-tests.js +138 -0
  237. data/vendor/assets/javascripts/adminlte/plugins/select2/tests/data/maximumSelectionLength-tests.js +202 -0
  238. data/vendor/assets/javascripts/adminlte/plugins/select2/tests/data/minimumInputLength-tests.js +138 -0
  239. data/vendor/assets/javascripts/adminlte/plugins/select2/tests/data/select-tests.js +489 -0
  240. data/vendor/assets/javascripts/adminlte/plugins/select2/tests/data/tags-tests.js +276 -0
  241. data/vendor/assets/javascripts/adminlte/plugins/select2/tests/data/tokenizer-tests.js +219 -0
  242. data/vendor/assets/javascripts/adminlte/plugins/select2/tests/dropdown/dropdownCss-tests.js +104 -0
  243. data/vendor/assets/javascripts/adminlte/plugins/select2/tests/dropdown/positioning-tests.js +177 -0
  244. data/vendor/assets/javascripts/adminlte/plugins/select2/tests/dropdown/selectOnClose-tests.js +137 -0
  245. data/vendor/assets/javascripts/adminlte/plugins/select2/tests/dropdown/stopPropagation-tests.js +33 -0
  246. data/vendor/assets/javascripts/adminlte/plugins/select2/tests/helpers.js +46 -0
  247. data/vendor/assets/javascripts/adminlte/plugins/select2/tests/integration.html +21 -0
  248. data/vendor/assets/javascripts/adminlte/plugins/select2/tests/integration/dom-changes.js +257 -0
  249. data/vendor/assets/javascripts/adminlte/plugins/select2/tests/integration/jquery-calls.js +30 -0
  250. data/vendor/assets/javascripts/adminlte/plugins/select2/tests/integration/select2-methods.js +139 -0
  251. data/vendor/assets/javascripts/adminlte/plugins/select2/tests/options/ajax-tests.js +32 -0
  252. data/vendor/assets/javascripts/adminlte/plugins/select2/tests/options/data-tests.js +44 -0
  253. data/vendor/assets/javascripts/adminlte/plugins/select2/tests/options/deprecated-tests.js +250 -0
  254. data/vendor/assets/javascripts/adminlte/plugins/select2/tests/options/translation-tests.js +28 -0
  255. data/vendor/assets/javascripts/adminlte/plugins/select2/tests/options/width-tests.js +66 -0
  256. data/vendor/assets/javascripts/adminlte/plugins/select2/tests/results/focusing-tests.js +138 -0
  257. data/vendor/assets/javascripts/adminlte/plugins/select2/tests/selection/allowClear-tests.js +218 -0
  258. data/vendor/assets/javascripts/adminlte/plugins/select2/tests/selection/containerCss-tests.js +104 -0
  259. data/vendor/assets/javascripts/adminlte/plugins/select2/tests/selection/multiple-tests.js +149 -0
  260. data/vendor/assets/javascripts/adminlte/plugins/select2/tests/selection/placeholder-tests.js +74 -0
  261. data/vendor/assets/javascripts/adminlte/plugins/select2/tests/selection/search-tests.js +191 -0
  262. data/vendor/assets/javascripts/adminlte/plugins/select2/tests/selection/single-tests.js +117 -0
  263. data/vendor/assets/javascripts/adminlte/plugins/select2/tests/selection/stopPropagation-tests.js +33 -0
  264. data/vendor/assets/javascripts/adminlte/plugins/select2/tests/unit.html +95 -0
  265. data/vendor/assets/javascripts/adminlte/plugins/select2/tests/utils/decorator-tests.js +189 -0
  266. data/vendor/assets/javascripts/adminlte/plugins/select2/tests/utils/escapeMarkup-tests.js +36 -0
  267. data/vendor/assets/javascripts/adminlte/plugins/select2/tests/vendor/jquery-1.7.2.js +9404 -0
  268. data/vendor/assets/javascripts/adminlte/plugins/select2/tests/vendor/qunit-1.23.1.css +305 -0
  269. data/vendor/assets/javascripts/adminlte/plugins/select2/tests/vendor/qunit-1.23.1.js +4334 -0
  270. data/vendor/assets/javascripts/adminlte/plugins/select2/vendor/jquery-2.1.0.js +9111 -0
  271. data/vendor/assets/stylesheets/adminlte.min.scss +27 -0
  272. data/vendor/assets/stylesheets/adminlte.scss +6 -0
  273. data/vendor/assets/stylesheets/adminlte/adminlte.css +4977 -0
  274. data/vendor/assets/stylesheets/adminlte/adminlte.min.css +7 -0
  275. data/vendor/assets/stylesheets/adminlte/fonts/FontAwesome.otf +0 -0
  276. data/vendor/assets/stylesheets/adminlte/fonts/fontawesome-webfont.eot +0 -0
  277. data/vendor/assets/stylesheets/adminlte/fonts/fontawesome-webfont.svg +2671 -0
  278. data/vendor/assets/stylesheets/adminlte/fonts/fontawesome-webfont.ttf +0 -0
  279. data/vendor/assets/stylesheets/adminlte/fonts/fontawesome-webfont.woff +0 -0
  280. data/vendor/assets/stylesheets/adminlte/fonts/fontawesome-webfont.woff2 +0 -0
  281. data/vendor/assets/stylesheets/adminlte/fonts/glyphicons-halflings-regular.eot +0 -0
  282. data/vendor/assets/stylesheets/adminlte/fonts/glyphicons-halflings-regular.svg +288 -0
  283. data/vendor/assets/stylesheets/adminlte/fonts/glyphicons-halflings-regular.ttf +0 -0
  284. data/vendor/assets/stylesheets/adminlte/fonts/glyphicons-halflings-regular.woff +0 -0
  285. data/vendor/assets/stylesheets/adminlte/fonts/glyphicons-halflings-regular.woff2 +0 -0
  286. data/vendor/assets/stylesheets/adminlte/plugins/bootstrap-colorpicker/bootstrap-colorpicker.css +230 -0
  287. data/vendor/assets/stylesheets/adminlte/plugins/bootstrap-datepicker/bootstrap-datepicker.css +477 -0
  288. data/vendor/assets/stylesheets/adminlte/plugins/bootstrap-datepicker/bootstrap-datepicker.standalone.css +510 -0
  289. data/vendor/assets/stylesheets/adminlte/plugins/bootstrap-datepicker/bootstrap-datepicker3.css +684 -0
  290. data/vendor/assets/stylesheets/adminlte/plugins/bootstrap-datepicker/bootstrap-datepicker3.standalone.css +713 -0
  291. data/vendor/assets/stylesheets/adminlte/plugins/bootstrap-daterangepicker/bootstrap-daterangepicker.css +269 -0
  292. data/vendor/assets/stylesheets/adminlte/plugins/bootstrap-slider/bootstrap-slider.css +178 -0
  293. data/vendor/assets/stylesheets/adminlte/plugins/bootstrap-timepicker/bootstrap-timepicker.less +172 -0
  294. data/vendor/assets/stylesheets/adminlte/plugins/bootstrap/bootstrap.css.map +1 -0
  295. data/vendor/assets/stylesheets/adminlte/plugins/bootstrap/bootstrap.scss +6757 -0
  296. data/vendor/assets/stylesheets/adminlte/plugins/font-awesome/font-awesome.scss +2341 -0
  297. data/vendor/assets/stylesheets/adminlte/plugins/select2/select2.css +484 -0
  298. data/vendor/assets/stylesheets/adminlte/skins/_all-skins.css +1781 -0
  299. data/vendor/assets/stylesheets/adminlte/skins/_all-skins.min.css +1 -0
  300. data/vendor/assets/stylesheets/adminlte/skins/skin-black-light.css +171 -0
  301. data/vendor/assets/stylesheets/adminlte/skins/skin-black-light.min.css +1 -0
  302. data/vendor/assets/stylesheets/adminlte/skins/skin-black.css +161 -0
  303. data/vendor/assets/stylesheets/adminlte/skins/skin-black.min.css +1 -0
  304. data/vendor/assets/stylesheets/adminlte/skins/skin-blue-light.css +163 -0
  305. data/vendor/assets/stylesheets/adminlte/skins/skin-blue-light.min.css +1 -0
  306. data/vendor/assets/stylesheets/adminlte/skins/skin-blue.css +142 -0
  307. data/vendor/assets/stylesheets/adminlte/skins/skin-blue.min.css +1 -0
  308. data/vendor/assets/stylesheets/adminlte/skins/skin-green-light.css +152 -0
  309. data/vendor/assets/stylesheets/adminlte/skins/skin-green-light.min.css +1 -0
  310. data/vendor/assets/stylesheets/adminlte/skins/skin-green.css +134 -0
  311. data/vendor/assets/stylesheets/adminlte/skins/skin-green.min.css +1 -0
  312. data/vendor/assets/stylesheets/adminlte/skins/skin-purple-light.css +152 -0
  313. data/vendor/assets/stylesheets/adminlte/skins/skin-purple-light.min.css +1 -0
  314. data/vendor/assets/stylesheets/adminlte/skins/skin-purple.css +134 -0
  315. data/vendor/assets/stylesheets/adminlte/skins/skin-purple.min.css +1 -0
  316. data/vendor/assets/stylesheets/adminlte/skins/skin-red-light.css +152 -0
  317. data/vendor/assets/stylesheets/adminlte/skins/skin-red-light.min.css +1 -0
  318. data/vendor/assets/stylesheets/adminlte/skins/skin-red.css +134 -0
  319. data/vendor/assets/stylesheets/adminlte/skins/skin-red.min.css +1 -0
  320. data/vendor/assets/stylesheets/adminlte/skins/skin-yellow-light.css +152 -0
  321. data/vendor/assets/stylesheets/adminlte/skins/skin-yellow-light.min.css +1 -0
  322. data/vendor/assets/stylesheets/adminlte/skins/skin-yellow.css +134 -0
  323. data/vendor/assets/stylesheets/adminlte/skins/skin-yellow.min.css +1 -0
  324. metadata +408 -0
@@ -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,612 @@
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 = id.replace(/(:|\.|\[|\]|,)/g, '');
103
+ id = 'select2-' + id;
104
+
105
+ return id;
106
+ };
107
+
108
+ Select2.prototype._placeContainer = function ($container) {
109
+ $container.insertAfter(this.$element);
110
+
111
+ var width = this._resolveWidth(this.$element, this.options.get('width'));
112
+
113
+ if (width != null) {
114
+ $container.css('width', width);
115
+ }
116
+ };
117
+
118
+ Select2.prototype._resolveWidth = function ($element, method) {
119
+ var WIDTH = /^width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i;
120
+
121
+ if (method == 'resolve') {
122
+ var styleWidth = this._resolveWidth($element, 'style');
123
+
124
+ if (styleWidth != null) {
125
+ return styleWidth;
126
+ }
127
+
128
+ return this._resolveWidth($element, 'element');
129
+ }
130
+
131
+ if (method == 'element') {
132
+ var elementWidth = $element.outerWidth(false);
133
+
134
+ if (elementWidth <= 0) {
135
+ return 'auto';
136
+ }
137
+
138
+ return elementWidth + 'px';
139
+ }
140
+
141
+ if (method == 'style') {
142
+ var style = $element.attr('style');
143
+
144
+ if (typeof(style) !== 'string') {
145
+ return null;
146
+ }
147
+
148
+ var attrs = style.split(';');
149
+
150
+ for (var i = 0, l = attrs.length; i < l; i = i + 1) {
151
+ var attr = attrs[i].replace(/\s/g, '');
152
+ var matches = attr.match(WIDTH);
153
+
154
+ if (matches !== null && matches.length >= 1) {
155
+ return matches[1];
156
+ }
157
+ }
158
+
159
+ return null;
160
+ }
161
+
162
+ return method;
163
+ };
164
+
165
+ Select2.prototype._bindAdapters = function () {
166
+ this.dataAdapter.bind(this, this.$container);
167
+ this.selection.bind(this, this.$container);
168
+
169
+ this.dropdown.bind(this, this.$container);
170
+ this.results.bind(this, this.$container);
171
+ };
172
+
173
+ Select2.prototype._registerDomEvents = function () {
174
+ var self = this;
175
+
176
+ this.$element.on('change.select2', function () {
177
+ self.dataAdapter.current(function (data) {
178
+ self.trigger('selection:update', {
179
+ data: data
180
+ });
181
+ });
182
+ });
183
+
184
+ this.$element.on('focus.select2', function (evt) {
185
+ self.trigger('focus', evt);
186
+ });
187
+
188
+ this._syncA = Utils.bind(this._syncAttributes, this);
189
+ this._syncS = Utils.bind(this._syncSubtree, this);
190
+
191
+ if (this.$element[0].attachEvent) {
192
+ this.$element[0].attachEvent('onpropertychange', this._syncA);
193
+ }
194
+
195
+ var observer = window.MutationObserver ||
196
+ window.WebKitMutationObserver ||
197
+ window.MozMutationObserver
198
+ ;
199
+
200
+ if (observer != null) {
201
+ this._observer = new observer(function (mutations) {
202
+ $.each(mutations, self._syncA);
203
+ $.each(mutations, self._syncS);
204
+ });
205
+ this._observer.observe(this.$element[0], {
206
+ attributes: true,
207
+ childList: true,
208
+ subtree: false
209
+ });
210
+ } else if (this.$element[0].addEventListener) {
211
+ this.$element[0].addEventListener(
212
+ 'DOMAttrModified',
213
+ self._syncA,
214
+ false
215
+ );
216
+ this.$element[0].addEventListener(
217
+ 'DOMNodeInserted',
218
+ self._syncS,
219
+ false
220
+ );
221
+ this.$element[0].addEventListener(
222
+ 'DOMNodeRemoved',
223
+ self._syncS,
224
+ false
225
+ );
226
+ }
227
+ };
228
+
229
+ Select2.prototype._registerDataEvents = function () {
230
+ var self = this;
231
+
232
+ this.dataAdapter.on('*', function (name, params) {
233
+ self.trigger(name, params);
234
+ });
235
+ };
236
+
237
+ Select2.prototype._registerSelectionEvents = function () {
238
+ var self = this;
239
+ var nonRelayEvents = ['toggle', 'focus'];
240
+
241
+ this.selection.on('toggle', function () {
242
+ self.toggleDropdown();
243
+ });
244
+
245
+ this.selection.on('focus', function (params) {
246
+ self.focus(params);
247
+ });
248
+
249
+ this.selection.on('*', function (name, params) {
250
+ if ($.inArray(name, nonRelayEvents) !== -1) {
251
+ return;
252
+ }
253
+
254
+ self.trigger(name, params);
255
+ });
256
+ };
257
+
258
+ Select2.prototype._registerDropdownEvents = function () {
259
+ var self = this;
260
+
261
+ this.dropdown.on('*', function (name, params) {
262
+ self.trigger(name, params);
263
+ });
264
+ };
265
+
266
+ Select2.prototype._registerResultsEvents = function () {
267
+ var self = this;
268
+
269
+ this.results.on('*', function (name, params) {
270
+ self.trigger(name, params);
271
+ });
272
+ };
273
+
274
+ Select2.prototype._registerEvents = function () {
275
+ var self = this;
276
+
277
+ this.on('open', function () {
278
+ self.$container.addClass('select2-container--open');
279
+ });
280
+
281
+ this.on('close', function () {
282
+ self.$container.removeClass('select2-container--open');
283
+ });
284
+
285
+ this.on('enable', function () {
286
+ self.$container.removeClass('select2-container--disabled');
287
+ });
288
+
289
+ this.on('disable', function () {
290
+ self.$container.addClass('select2-container--disabled');
291
+ });
292
+
293
+ this.on('blur', function () {
294
+ self.$container.removeClass('select2-container--focus');
295
+ });
296
+
297
+ this.on('query', function (params) {
298
+ if (!self.isOpen()) {
299
+ self.trigger('open', {});
300
+ }
301
+
302
+ this.dataAdapter.query(params, function (data) {
303
+ self.trigger('results:all', {
304
+ data: data,
305
+ query: params
306
+ });
307
+ });
308
+ });
309
+
310
+ this.on('query:append', function (params) {
311
+ this.dataAdapter.query(params, function (data) {
312
+ self.trigger('results:append', {
313
+ data: data,
314
+ query: params
315
+ });
316
+ });
317
+ });
318
+
319
+ this.on('keypress', function (evt) {
320
+ var key = evt.which;
321
+
322
+ if (self.isOpen()) {
323
+ if (key === KEYS.ESC || key === KEYS.TAB ||
324
+ (key === KEYS.UP && evt.altKey)) {
325
+ self.close();
326
+
327
+ evt.preventDefault();
328
+ } else if (key === KEYS.ENTER) {
329
+ self.trigger('results:select', {});
330
+
331
+ evt.preventDefault();
332
+ } else if ((key === KEYS.SPACE && evt.ctrlKey)) {
333
+ self.trigger('results:toggle', {});
334
+
335
+ evt.preventDefault();
336
+ } else if (key === KEYS.UP) {
337
+ self.trigger('results:previous', {});
338
+
339
+ evt.preventDefault();
340
+ } else if (key === KEYS.DOWN) {
341
+ self.trigger('results:next', {});
342
+
343
+ evt.preventDefault();
344
+ }
345
+ } else {
346
+ if (key === KEYS.ENTER || key === KEYS.SPACE ||
347
+ (key === KEYS.DOWN && evt.altKey)) {
348
+ self.open();
349
+
350
+ evt.preventDefault();
351
+ }
352
+ }
353
+ });
354
+ };
355
+
356
+ Select2.prototype._syncAttributes = function () {
357
+ this.options.set('disabled', this.$element.prop('disabled'));
358
+
359
+ if (this.options.get('disabled')) {
360
+ if (this.isOpen()) {
361
+ this.close();
362
+ }
363
+
364
+ this.trigger('disable', {});
365
+ } else {
366
+ this.trigger('enable', {});
367
+ }
368
+ };
369
+
370
+ Select2.prototype._syncSubtree = function (evt, mutations) {
371
+ var changed = false;
372
+ var self = this;
373
+
374
+ // Ignore any mutation events raised for elements that aren't options or
375
+ // optgroups. This handles the case when the select element is destroyed
376
+ if (
377
+ evt && evt.target && (
378
+ evt.target.nodeName !== 'OPTION' && evt.target.nodeName !== 'OPTGROUP'
379
+ )
380
+ ) {
381
+ return;
382
+ }
383
+
384
+ if (!mutations) {
385
+ // If mutation events aren't supported, then we can only assume that the
386
+ // change affected the selections
387
+ changed = true;
388
+ } else if (mutations.addedNodes && mutations.addedNodes.length > 0) {
389
+ for (var n = 0; n < mutations.addedNodes.length; n++) {
390
+ var node = mutations.addedNodes[n];
391
+
392
+ if (node.selected) {
393
+ changed = true;
394
+ }
395
+ }
396
+ } else if (mutations.removedNodes && mutations.removedNodes.length > 0) {
397
+ changed = true;
398
+ }
399
+
400
+ // Only re-pull the data if we think there is a change
401
+ if (changed) {
402
+ this.dataAdapter.current(function (currentData) {
403
+ self.trigger('selection:update', {
404
+ data: currentData
405
+ });
406
+ });
407
+ }
408
+ };
409
+
410
+ /**
411
+ * Override the trigger method to automatically trigger pre-events when
412
+ * there are events that can be prevented.
413
+ */
414
+ Select2.prototype.trigger = function (name, args) {
415
+ var actualTrigger = Select2.__super__.trigger;
416
+ var preTriggerMap = {
417
+ 'open': 'opening',
418
+ 'close': 'closing',
419
+ 'select': 'selecting',
420
+ 'unselect': 'unselecting'
421
+ };
422
+
423
+ if (args === undefined) {
424
+ args = {};
425
+ }
426
+
427
+ if (name in preTriggerMap) {
428
+ var preTriggerName = preTriggerMap[name];
429
+ var preTriggerArgs = {
430
+ prevented: false,
431
+ name: name,
432
+ args: args
433
+ };
434
+
435
+ actualTrigger.call(this, preTriggerName, preTriggerArgs);
436
+
437
+ if (preTriggerArgs.prevented) {
438
+ args.prevented = true;
439
+
440
+ return;
441
+ }
442
+ }
443
+
444
+ actualTrigger.call(this, name, args);
445
+ };
446
+
447
+ Select2.prototype.toggleDropdown = function () {
448
+ if (this.options.get('disabled')) {
449
+ return;
450
+ }
451
+
452
+ if (this.isOpen()) {
453
+ this.close();
454
+ } else {
455
+ this.open();
456
+ }
457
+ };
458
+
459
+ Select2.prototype.open = function () {
460
+ if (this.isOpen()) {
461
+ return;
462
+ }
463
+
464
+ this.trigger('query', {});
465
+ };
466
+
467
+ Select2.prototype.close = function () {
468
+ if (!this.isOpen()) {
469
+ return;
470
+ }
471
+
472
+ this.trigger('close', {});
473
+ };
474
+
475
+ Select2.prototype.isOpen = function () {
476
+ return this.$container.hasClass('select2-container--open');
477
+ };
478
+
479
+ Select2.prototype.hasFocus = function () {
480
+ return this.$container.hasClass('select2-container--focus');
481
+ };
482
+
483
+ Select2.prototype.focus = function (data) {
484
+ // No need to re-trigger focus events if we are already focused
485
+ if (this.hasFocus()) {
486
+ return;
487
+ }
488
+
489
+ this.$container.addClass('select2-container--focus');
490
+ this.trigger('focus', {});
491
+ };
492
+
493
+ Select2.prototype.enable = function (args) {
494
+ if (this.options.get('debug') && window.console && console.warn) {
495
+ console.warn(
496
+ 'Select2: The `select2("enable")` method has been deprecated and will' +
497
+ ' be removed in later Select2 versions. Use $element.prop("disabled")' +
498
+ ' instead.'
499
+ );
500
+ }
501
+
502
+ if (args == null || args.length === 0) {
503
+ args = [true];
504
+ }
505
+
506
+ var disabled = !args[0];
507
+
508
+ this.$element.prop('disabled', disabled);
509
+ };
510
+
511
+ Select2.prototype.data = function () {
512
+ if (this.options.get('debug') &&
513
+ arguments.length > 0 && window.console && console.warn) {
514
+ console.warn(
515
+ 'Select2: Data can no longer be set using `select2("data")`. You ' +
516
+ 'should consider setting the value instead using `$element.val()`.'
517
+ );
518
+ }
519
+
520
+ var data = [];
521
+
522
+ this.dataAdapter.current(function (currentData) {
523
+ data = currentData;
524
+ });
525
+
526
+ return data;
527
+ };
528
+
529
+ Select2.prototype.val = function (args) {
530
+ if (this.options.get('debug') && window.console && console.warn) {
531
+ console.warn(
532
+ 'Select2: The `select2("val")` method has been deprecated and will be' +
533
+ ' removed in later Select2 versions. Use $element.val() instead.'
534
+ );
535
+ }
536
+
537
+ if (args == null || args.length === 0) {
538
+ return this.$element.val();
539
+ }
540
+
541
+ var newVal = args[0];
542
+
543
+ if ($.isArray(newVal)) {
544
+ newVal = $.map(newVal, function (obj) {
545
+ return obj.toString();
546
+ });
547
+ }
548
+
549
+ this.$element.val(newVal).trigger('change');
550
+ };
551
+
552
+ Select2.prototype.destroy = function () {
553
+ this.$container.remove();
554
+
555
+ if (this.$element[0].detachEvent) {
556
+ this.$element[0].detachEvent('onpropertychange', this._syncA);
557
+ }
558
+
559
+ if (this._observer != null) {
560
+ this._observer.disconnect();
561
+ this._observer = null;
562
+ } else if (this.$element[0].removeEventListener) {
563
+ this.$element[0]
564
+ .removeEventListener('DOMAttrModified', this._syncA, false);
565
+ this.$element[0]
566
+ .removeEventListener('DOMNodeInserted', this._syncS, false);
567
+ this.$element[0]
568
+ .removeEventListener('DOMNodeRemoved', this._syncS, false);
569
+ }
570
+
571
+ this._syncA = null;
572
+ this._syncS = null;
573
+
574
+ this.$element.off('.select2');
575
+ this.$element.attr('tabindex', this.$element.data('old-tabindex'));
576
+
577
+ this.$element.removeClass('select2-hidden-accessible');
578
+ this.$element.attr('aria-hidden', 'false');
579
+ this.$element.removeData('select2');
580
+
581
+ this.dataAdapter.destroy();
582
+ this.selection.destroy();
583
+ this.dropdown.destroy();
584
+ this.results.destroy();
585
+
586
+ this.dataAdapter = null;
587
+ this.selection = null;
588
+ this.dropdown = null;
589
+ this.results = null;
590
+ };
591
+
592
+ Select2.prototype.render = function () {
593
+ var $container = $(
594
+ '<span class="select2 select2-container">' +
595
+ '<span class="selection"></span>' +
596
+ '<span class="dropdown-wrapper" aria-hidden="true"></span>' +
597
+ '</span>'
598
+ );
599
+
600
+ $container.attr('dir', this.options.get('dir'));
601
+
602
+ this.$container = $container;
603
+
604
+ this.$container.addClass('select2-container--' + this.options.get('theme'));
605
+
606
+ $container.data('element', this.$element);
607
+
608
+ return $container;
609
+ };
610
+
611
+ return Select2;
612
+ });