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,37 @@
1
+ define(function () {
2
+ // Swedish
3
+ return {
4
+ errorLoading: function () {
5
+ return 'Resultat kunde inte laddas.';
6
+ },
7
+ inputTooLong: function (args) {
8
+ var overChars = args.input.length - args.maximum;
9
+
10
+ var message = 'Vänligen sudda ut ' + overChars + ' tecken';
11
+
12
+ return message;
13
+ },
14
+ inputTooShort: function (args) {
15
+ var remainingChars = args.minimum - args.input.length;
16
+
17
+ var message = 'Vänligen skriv in ' + remainingChars +
18
+ ' eller fler tecken';
19
+
20
+ return message;
21
+ },
22
+ loadingMore: function () {
23
+ return 'Laddar fler resultat…';
24
+ },
25
+ maximumSelected: function (args) {
26
+ var message = 'Du kan max välja ' + args.maximum + ' element';
27
+
28
+ return message;
29
+ },
30
+ noResults: function () {
31
+ return 'Inga träffar';
32
+ },
33
+ searching: function () {
34
+ return 'Söker…';
35
+ }
36
+ };
37
+ });
@@ -0,0 +1,36 @@
1
+ define(function () {
2
+ // Thai
3
+ return {
4
+ errorLoading: function () {
5
+ return 'ไม่สามารถค้นข้อมูลได้';
6
+ },
7
+ inputTooLong: function (args) {
8
+ var overChars = args.input.length - args.maximum;
9
+
10
+ var message = 'โปรดลบออก ' + overChars + ' ตัวอักษร';
11
+
12
+ return message;
13
+ },
14
+ inputTooShort: function (args) {
15
+ var remainingChars = args.minimum - args.input.length;
16
+
17
+ var message = 'โปรดพิมพ์เพิ่มอีก ' + remainingChars + ' ตัวอักษร';
18
+
19
+ return message;
20
+ },
21
+ loadingMore: function () {
22
+ return 'กำลังค้นข้อมูลเพิ่ม…';
23
+ },
24
+ maximumSelected: function (args) {
25
+ var message = 'คุณสามารถเลือกได้ไม่เกิน ' + args.maximum + ' รายการ';
26
+
27
+ return message;
28
+ },
29
+ noResults: function () {
30
+ return 'ไม่พบข้อมูล';
31
+ },
32
+ searching: function () {
33
+ return 'กำลังค้นข้อมูล…';
34
+ }
35
+ };
36
+ });
@@ -0,0 +1,36 @@
1
+ define(function () {
2
+ // Turkish
3
+ return {
4
+ errorLoading: function (){
5
+ return 'Sonuç yüklenemedi';
6
+ },
7
+ inputTooLong: function (args) {
8
+ var overChars = args.input.length - args.maximum;
9
+
10
+ var message = overChars + ' karakter daha girmelisiniz';
11
+
12
+ return message;
13
+ },
14
+ inputTooShort: function (args) {
15
+ var remainingChars = args.minimum - args.input.length;
16
+
17
+ var message = 'En az ' + remainingChars + ' karakter daha girmelisiniz';
18
+
19
+ return message;
20
+ },
21
+ loadingMore: function () {
22
+ return 'Daha fazla…';
23
+ },
24
+ maximumSelected: function (args) {
25
+ var message = 'Sadece ' + args.maximum + ' seçim yapabilirsiniz';
26
+
27
+ return message;
28
+ },
29
+ noResults: function () {
30
+ return 'Sonuç bulunamadı';
31
+ },
32
+ searching: function () {
33
+ return 'Aranıyor…';
34
+ }
35
+ };
36
+ });
@@ -0,0 +1,43 @@
1
+ define(function () {
2
+ // Ukranian
3
+ function ending (count, one, couple, more) {
4
+ if (count % 100 > 10 && count % 100 < 15) {
5
+ return more;
6
+ }
7
+ if (count % 10 === 1) {
8
+ return one;
9
+ }
10
+ if (count % 10 > 1 && count % 10 < 5) {
11
+ return couple;
12
+ }
13
+ return more;
14
+ }
15
+
16
+ return {
17
+ errorLoading: function () {
18
+ return 'Неможливо завантажити результати';
19
+ },
20
+ inputTooLong: function (args) {
21
+ var overChars = args.input.length - args.maximum;
22
+ return 'Будь ласка, видаліть ' + overChars + ' ' +
23
+ ending(args.maximum, 'літеру', 'літери', 'літер');
24
+ },
25
+ inputTooShort: function (args) {
26
+ var remainingChars = args.minimum - args.input.length;
27
+ return 'Будь ласка, введіть ' + remainingChars + ' або більше літер';
28
+ },
29
+ loadingMore: function () {
30
+ return 'Завантаження інших результатів…';
31
+ },
32
+ maximumSelected: function (args) {
33
+ return 'Ви можете вибрати лише ' + args.maximum + ' ' +
34
+ ending(args.maximum, 'пункт', 'пункти', 'пунктів');
35
+ },
36
+ noResults: function () {
37
+ return 'Нічого не знайдено';
38
+ },
39
+ searching: function () {
40
+ return 'Пошук…';
41
+ }
42
+ };
43
+ });
@@ -0,0 +1,37 @@
1
+ define(function () {
2
+ // Vietnamese
3
+ return {
4
+ inputTooLong: function (args) {
5
+ var overChars = args.input.length - args.maximum;
6
+
7
+ var message = 'Vui lòng nhập ít hơn ' + overChars + ' ký tự';
8
+
9
+ if (overChars != 1) {
10
+ message += 's';
11
+ }
12
+
13
+ return message;
14
+ },
15
+ inputTooShort: function (args) {
16
+ var remainingChars = args.minimum - args.input.length;
17
+
18
+ var message = 'Vui lòng nhập nhiều hơn ' + remainingChars + ' ký tự';
19
+
20
+ return message;
21
+ },
22
+ loadingMore: function () {
23
+ return 'Đang lấy thêm kết quả…';
24
+ },
25
+ maximumSelected: function (args) {
26
+ var message = 'Chỉ có thể chọn được ' + args.maximum + ' lựa chọn';
27
+
28
+ return message;
29
+ },
30
+ noResults: function () {
31
+ return 'Không tìm thấy kết quả';
32
+ },
33
+ searching: function () {
34
+ return 'Đang tìm…';
35
+ }
36
+ };
37
+ });
@@ -0,0 +1,36 @@
1
+ define(function () {
2
+ // Chinese (Simplified)
3
+ return {
4
+ errorLoading: function () {
5
+ return '无法载入结果。';
6
+ },
7
+ inputTooLong: function (args) {
8
+ var overChars = args.input.length - args.maximum;
9
+
10
+ var message = '请删除' + overChars + '个字符';
11
+
12
+ return message;
13
+ },
14
+ inputTooShort: function (args) {
15
+ var remainingChars = args.minimum - args.input.length;
16
+
17
+ var message = '请再输入至少' + remainingChars + '个字符';
18
+
19
+ return message;
20
+ },
21
+ loadingMore: function () {
22
+ return '载入更多结果…';
23
+ },
24
+ maximumSelected: function (args) {
25
+ var message = '最多只能选择' + args.maximum + '个项目';
26
+
27
+ return message;
28
+ },
29
+ noResults: function () {
30
+ return '未找到结果';
31
+ },
32
+ searching: function () {
33
+ return '搜索中…';
34
+ }
35
+ };
36
+ });
@@ -0,0 +1,33 @@
1
+ define(function () {
2
+ // Chinese (Traditional)
3
+ return {
4
+ inputTooLong: function (args) {
5
+ var overChars = args.input.length - args.maximum;
6
+
7
+ var message = '請刪掉' + overChars + '個字元';
8
+
9
+ return message;
10
+ },
11
+ inputTooShort: function (args) {
12
+ var remainingChars = args.minimum - args.input.length;
13
+
14
+ var message = '請再輸入' + remainingChars + '個字元';
15
+
16
+ return message;
17
+ },
18
+ loadingMore: function () {
19
+ return '載入中…';
20
+ },
21
+ maximumSelected: function (args) {
22
+ var message = '你只能選擇最多' + args.maximum + '項';
23
+
24
+ return message;
25
+ },
26
+ noResults: function () {
27
+ return '沒有找到相符的項目';
28
+ },
29
+ searching: function () {
30
+ return '搜尋中…';
31
+ }
32
+ };
33
+ });
@@ -0,0 +1,25 @@
1
+ define([
2
+
3
+ ], function () {
4
+ var KEYS = {
5
+ BACKSPACE: 8,
6
+ TAB: 9,
7
+ ENTER: 13,
8
+ SHIFT: 16,
9
+ CTRL: 17,
10
+ ALT: 18,
11
+ ESC: 27,
12
+ SPACE: 32,
13
+ PAGE_UP: 33,
14
+ PAGE_DOWN: 34,
15
+ END: 35,
16
+ HOME: 36,
17
+ LEFT: 37,
18
+ UP: 38,
19
+ RIGHT: 39,
20
+ DOWN: 40,
21
+ DELETE: 46
22
+ };
23
+
24
+ return KEYS;
25
+ });
@@ -0,0 +1,122 @@
1
+ define([
2
+ 'require',
3
+ 'jquery',
4
+ './defaults',
5
+ './utils'
6
+ ], function (require, $, Defaults, Utils) {
7
+ function Options (options, $element) {
8
+ this.options = options;
9
+
10
+ if ($element != null) {
11
+ this.fromElement($element);
12
+ }
13
+
14
+ this.options = Defaults.apply(this.options);
15
+
16
+ if ($element && $element.is('input')) {
17
+ var InputCompat = require(this.get('amdBase') + 'compat/inputData');
18
+
19
+ this.options.dataAdapter = Utils.Decorate(
20
+ this.options.dataAdapter,
21
+ InputCompat
22
+ );
23
+ }
24
+ }
25
+
26
+ Options.prototype.fromElement = function ($e) {
27
+ var excludedData = ['select2'];
28
+
29
+ if (this.options.multiple == null) {
30
+ this.options.multiple = $e.prop('multiple');
31
+ }
32
+
33
+ if (this.options.disabled == null) {
34
+ this.options.disabled = $e.prop('disabled');
35
+ }
36
+
37
+ if (this.options.language == null) {
38
+ if ($e.prop('lang')) {
39
+ this.options.language = $e.prop('lang').toLowerCase();
40
+ } else if ($e.closest('[lang]').prop('lang')) {
41
+ this.options.language = $e.closest('[lang]').prop('lang');
42
+ }
43
+ }
44
+
45
+ if (this.options.dir == null) {
46
+ if ($e.prop('dir')) {
47
+ this.options.dir = $e.prop('dir');
48
+ } else if ($e.closest('[dir]').prop('dir')) {
49
+ this.options.dir = $e.closest('[dir]').prop('dir');
50
+ } else {
51
+ this.options.dir = 'ltr';
52
+ }
53
+ }
54
+
55
+ $e.prop('disabled', this.options.disabled);
56
+ $e.prop('multiple', this.options.multiple);
57
+
58
+ if ($e.data('select2Tags')) {
59
+ if (this.options.debug && window.console && console.warn) {
60
+ console.warn(
61
+ 'Select2: The `data-select2-tags` attribute has been changed to ' +
62
+ 'use the `data-data` and `data-tags="true"` attributes and will be ' +
63
+ 'removed in future versions of Select2.'
64
+ );
65
+ }
66
+
67
+ $e.data('data', $e.data('select2Tags'));
68
+ $e.data('tags', true);
69
+ }
70
+
71
+ if ($e.data('ajaxUrl')) {
72
+ if (this.options.debug && window.console && console.warn) {
73
+ console.warn(
74
+ 'Select2: The `data-ajax-url` attribute has been changed to ' +
75
+ '`data-ajax--url` and support for the old attribute will be removed' +
76
+ ' in future versions of Select2.'
77
+ );
78
+ }
79
+
80
+ $e.attr('ajax--url', $e.data('ajaxUrl'));
81
+ $e.data('ajax--url', $e.data('ajaxUrl'));
82
+ }
83
+
84
+ var dataset = {};
85
+
86
+ // Prefer the element's `dataset` attribute if it exists
87
+ // jQuery 1.x does not correctly handle data attributes with multiple dashes
88
+ if ($.fn.jquery && $.fn.jquery.substr(0, 2) == '1.' && $e[0].dataset) {
89
+ dataset = $.extend(true, {}, $e[0].dataset, $e.data());
90
+ } else {
91
+ dataset = $e.data();
92
+ }
93
+
94
+ var data = $.extend(true, {}, dataset);
95
+
96
+ data = Utils._convertData(data);
97
+
98
+ for (var key in data) {
99
+ if ($.inArray(key, excludedData) > -1) {
100
+ continue;
101
+ }
102
+
103
+ if ($.isPlainObject(this.options[key])) {
104
+ $.extend(this.options[key], data[key]);
105
+ } else {
106
+ this.options[key] = data[key];
107
+ }
108
+ }
109
+
110
+ return this;
111
+ };
112
+
113
+ Options.prototype.get = function (key) {
114
+ return this.options[key];
115
+ };
116
+
117
+ Options.prototype.set = function (key, val) {
118
+ this.options[key] = val;
119
+ };
120
+
121
+ return Options;
122
+ });
@@ -0,0 +1,523 @@
1
+ define([
2
+ 'jquery',
3
+ './utils'
4
+ ], function ($, Utils) {
5
+ function Results ($element, options, dataAdapter) {
6
+ this.$element = $element;
7
+ this.data = dataAdapter;
8
+ this.options = options;
9
+
10
+ Results.__super__.constructor.call(this);
11
+ }
12
+
13
+ Utils.Extend(Results, Utils.Observable);
14
+
15
+ Results.prototype.render = function () {
16
+ var $results = $(
17
+ '<ul class="select2-results__options" role="tree"></ul>'
18
+ );
19
+
20
+ if (this.options.get('multiple')) {
21
+ $results.attr('aria-multiselectable', 'true');
22
+ }
23
+
24
+ this.$results = $results;
25
+
26
+ return $results;
27
+ };
28
+
29
+ Results.prototype.clear = function () {
30
+ this.$results.empty();
31
+ };
32
+
33
+ Results.prototype.displayMessage = function (params) {
34
+ var escapeMarkup = this.options.get('escapeMarkup');
35
+
36
+ this.clear();
37
+ this.hideLoading();
38
+
39
+ var $message = $(
40
+ '<li role="treeitem" aria-live="assertive"' +
41
+ ' class="select2-results__option"></li>'
42
+ );
43
+
44
+ var message = this.options.get('translations').get(params.message);
45
+
46
+ $message.append(
47
+ escapeMarkup(
48
+ message(params.args)
49
+ )
50
+ );
51
+
52
+ $message[0].className += ' select2-results__message';
53
+
54
+ this.$results.append($message);
55
+ };
56
+
57
+ Results.prototype.hideMessages = function () {
58
+ this.$results.find('.select2-results__message').remove();
59
+ };
60
+
61
+ Results.prototype.append = function (data) {
62
+ this.hideLoading();
63
+
64
+ var $options = [];
65
+
66
+ if (data.results == null || data.results.length === 0) {
67
+ if (this.$results.children().length === 0) {
68
+ this.trigger('results:message', {
69
+ message: 'noResults'
70
+ });
71
+ }
72
+
73
+ return;
74
+ }
75
+
76
+ data.results = this.sort(data.results);
77
+
78
+ for (var d = 0; d < data.results.length; d++) {
79
+ var item = data.results[d];
80
+
81
+ var $option = this.option(item);
82
+
83
+ $options.push($option);
84
+ }
85
+
86
+ this.$results.append($options);
87
+ };
88
+
89
+ Results.prototype.position = function ($results, $dropdown) {
90
+ var $resultsContainer = $dropdown.find('.select2-results');
91
+ $resultsContainer.append($results);
92
+ };
93
+
94
+ Results.prototype.sort = function (data) {
95
+ var sorter = this.options.get('sorter');
96
+
97
+ return sorter(data);
98
+ };
99
+
100
+ Results.prototype.highlightFirstItem = function () {
101
+ var $options = this.$results
102
+ .find('.select2-results__option[aria-selected]');
103
+
104
+ var $selected = $options.filter('[aria-selected=true]');
105
+
106
+ // Check if there are any selected options
107
+ if ($selected.length > 0) {
108
+ // If there are selected options, highlight the first
109
+ $selected.first().trigger('mouseenter');
110
+ } else {
111
+ // If there are no selected options, highlight the first option
112
+ // in the dropdown
113
+ $options.first().trigger('mouseenter');
114
+ }
115
+
116
+ this.ensureHighlightVisible();
117
+ };
118
+
119
+ Results.prototype.setClasses = function () {
120
+ var self = this;
121
+
122
+ this.data.current(function (selected) {
123
+ var selectedIds = $.map(selected, function (s) {
124
+ return s.id.toString();
125
+ });
126
+
127
+ var $options = self.$results
128
+ .find('.select2-results__option[aria-selected]');
129
+
130
+ $options.each(function () {
131
+ var $option = $(this);
132
+
133
+ var item = $.data(this, 'data');
134
+
135
+ // id needs to be converted to a string when comparing
136
+ var id = '' + item.id;
137
+
138
+ if ((item.element != null && item.element.selected) ||
139
+ (item.element == null && $.inArray(id, selectedIds) > -1)) {
140
+ $option.attr('aria-selected', 'true');
141
+ } else {
142
+ $option.attr('aria-selected', 'false');
143
+ }
144
+ });
145
+
146
+ });
147
+ };
148
+
149
+ Results.prototype.showLoading = function (params) {
150
+ this.hideLoading();
151
+
152
+ var loadingMore = this.options.get('translations').get('searching');
153
+
154
+ var loading = {
155
+ disabled: true,
156
+ loading: true,
157
+ text: loadingMore(params)
158
+ };
159
+ var $loading = this.option(loading);
160
+ $loading.className += ' loading-results';
161
+
162
+ this.$results.prepend($loading);
163
+ };
164
+
165
+ Results.prototype.hideLoading = function () {
166
+ this.$results.find('.loading-results').remove();
167
+ };
168
+
169
+ Results.prototype.option = function (data) {
170
+ var option = document.createElement('li');
171
+ option.className = 'select2-results__option';
172
+
173
+ var attrs = {
174
+ 'role': 'treeitem',
175
+ 'aria-selected': 'false'
176
+ };
177
+
178
+ if (data.disabled) {
179
+ delete attrs['aria-selected'];
180
+ attrs['aria-disabled'] = 'true';
181
+ }
182
+
183
+ if (data.id == null) {
184
+ delete attrs['aria-selected'];
185
+ }
186
+
187
+ if (data._resultId != null) {
188
+ option.id = data._resultId;
189
+ }
190
+
191
+ if (data.title) {
192
+ option.title = data.title;
193
+ }
194
+
195
+ if (data.children) {
196
+ attrs.role = 'group';
197
+ attrs['aria-label'] = data.text;
198
+ delete attrs['aria-selected'];
199
+ }
200
+
201
+ for (var attr in attrs) {
202
+ var val = attrs[attr];
203
+
204
+ option.setAttribute(attr, val);
205
+ }
206
+
207
+ if (data.children) {
208
+ var $option = $(option);
209
+
210
+ var label = document.createElement('strong');
211
+ label.className = 'select2-results__group';
212
+
213
+ var $label = $(label);
214
+ this.template(data, label);
215
+
216
+ var $children = [];
217
+
218
+ for (var c = 0; c < data.children.length; c++) {
219
+ var child = data.children[c];
220
+
221
+ var $child = this.option(child);
222
+
223
+ $children.push($child);
224
+ }
225
+
226
+ var $childrenContainer = $('<ul></ul>', {
227
+ 'class': 'select2-results__options select2-results__options--nested'
228
+ });
229
+
230
+ $childrenContainer.append($children);
231
+
232
+ $option.append(label);
233
+ $option.append($childrenContainer);
234
+ } else {
235
+ this.template(data, option);
236
+ }
237
+
238
+ $.data(option, 'data', data);
239
+
240
+ return option;
241
+ };
242
+
243
+ Results.prototype.bind = function (container, $container) {
244
+ var self = this;
245
+
246
+ var id = container.id + '-results';
247
+
248
+ this.$results.attr('id', id);
249
+
250
+ container.on('results:all', function (params) {
251
+ self.clear();
252
+ self.append(params.data);
253
+
254
+ if (container.isOpen()) {
255
+ self.setClasses();
256
+ self.highlightFirstItem();
257
+ }
258
+ });
259
+
260
+ container.on('results:append', function (params) {
261
+ self.append(params.data);
262
+
263
+ if (container.isOpen()) {
264
+ self.setClasses();
265
+ }
266
+ });
267
+
268
+ container.on('query', function (params) {
269
+ self.hideMessages();
270
+ self.showLoading(params);
271
+ });
272
+
273
+ container.on('select', function () {
274
+ if (!container.isOpen()) {
275
+ return;
276
+ }
277
+
278
+ self.setClasses();
279
+ self.highlightFirstItem();
280
+ });
281
+
282
+ container.on('unselect', function () {
283
+ if (!container.isOpen()) {
284
+ return;
285
+ }
286
+
287
+ self.setClasses();
288
+ self.highlightFirstItem();
289
+ });
290
+
291
+ container.on('open', function () {
292
+ // When the dropdown is open, aria-expended="true"
293
+ self.$results.attr('aria-expanded', 'true');
294
+ self.$results.attr('aria-hidden', 'false');
295
+
296
+ self.setClasses();
297
+ self.ensureHighlightVisible();
298
+ });
299
+
300
+ container.on('close', function () {
301
+ // When the dropdown is closed, aria-expended="false"
302
+ self.$results.attr('aria-expanded', 'false');
303
+ self.$results.attr('aria-hidden', 'true');
304
+ self.$results.removeAttr('aria-activedescendant');
305
+ });
306
+
307
+ container.on('results:toggle', function () {
308
+ var $highlighted = self.getHighlightedResults();
309
+
310
+ if ($highlighted.length === 0) {
311
+ return;
312
+ }
313
+
314
+ $highlighted.trigger('mouseup');
315
+ });
316
+
317
+ container.on('results:select', function () {
318
+ var $highlighted = self.getHighlightedResults();
319
+
320
+ if ($highlighted.length === 0) {
321
+ return;
322
+ }
323
+
324
+ var data = $highlighted.data('data');
325
+
326
+ if ($highlighted.attr('aria-selected') == 'true') {
327
+ self.trigger('close', {});
328
+ } else {
329
+ self.trigger('select', {
330
+ data: data
331
+ });
332
+ }
333
+ });
334
+
335
+ container.on('results:previous', function () {
336
+ var $highlighted = self.getHighlightedResults();
337
+
338
+ var $options = self.$results.find('[aria-selected]');
339
+
340
+ var currentIndex = $options.index($highlighted);
341
+
342
+ // If we are already at te top, don't move further
343
+ if (currentIndex === 0) {
344
+ return;
345
+ }
346
+
347
+ var nextIndex = currentIndex - 1;
348
+
349
+ // If none are highlighted, highlight the first
350
+ if ($highlighted.length === 0) {
351
+ nextIndex = 0;
352
+ }
353
+
354
+ var $next = $options.eq(nextIndex);
355
+
356
+ $next.trigger('mouseenter');
357
+
358
+ var currentOffset = self.$results.offset().top;
359
+ var nextTop = $next.offset().top;
360
+ var nextOffset = self.$results.scrollTop() + (nextTop - currentOffset);
361
+
362
+ if (nextIndex === 0) {
363
+ self.$results.scrollTop(0);
364
+ } else if (nextTop - currentOffset < 0) {
365
+ self.$results.scrollTop(nextOffset);
366
+ }
367
+ });
368
+
369
+ container.on('results:next', function () {
370
+ var $highlighted = self.getHighlightedResults();
371
+
372
+ var $options = self.$results.find('[aria-selected]');
373
+
374
+ var currentIndex = $options.index($highlighted);
375
+
376
+ var nextIndex = currentIndex + 1;
377
+
378
+ // If we are at the last option, stay there
379
+ if (nextIndex >= $options.length) {
380
+ return;
381
+ }
382
+
383
+ var $next = $options.eq(nextIndex);
384
+
385
+ $next.trigger('mouseenter');
386
+
387
+ var currentOffset = self.$results.offset().top +
388
+ self.$results.outerHeight(false);
389
+ var nextBottom = $next.offset().top + $next.outerHeight(false);
390
+ var nextOffset = self.$results.scrollTop() + nextBottom - currentOffset;
391
+
392
+ if (nextIndex === 0) {
393
+ self.$results.scrollTop(0);
394
+ } else if (nextBottom > currentOffset) {
395
+ self.$results.scrollTop(nextOffset);
396
+ }
397
+ });
398
+
399
+ container.on('results:focus', function (params) {
400
+ params.element.addClass('select2-results__option--highlighted');
401
+ });
402
+
403
+ container.on('results:message', function (params) {
404
+ self.displayMessage(params);
405
+ });
406
+
407
+ if ($.fn.mousewheel) {
408
+ this.$results.on('mousewheel', function (e) {
409
+ var top = self.$results.scrollTop();
410
+
411
+ var bottom = self.$results.get(0).scrollHeight - top + e.deltaY;
412
+
413
+ var isAtTop = e.deltaY > 0 && top - e.deltaY <= 0;
414
+ var isAtBottom = e.deltaY < 0 && bottom <= self.$results.height();
415
+
416
+ if (isAtTop) {
417
+ self.$results.scrollTop(0);
418
+
419
+ e.preventDefault();
420
+ e.stopPropagation();
421
+ } else if (isAtBottom) {
422
+ self.$results.scrollTop(
423
+ self.$results.get(0).scrollHeight - self.$results.height()
424
+ );
425
+
426
+ e.preventDefault();
427
+ e.stopPropagation();
428
+ }
429
+ });
430
+ }
431
+
432
+ this.$results.on('mouseup', '.select2-results__option[aria-selected]',
433
+ function (evt) {
434
+ var $this = $(this);
435
+
436
+ var data = $this.data('data');
437
+
438
+ if ($this.attr('aria-selected') === 'true') {
439
+ if (self.options.get('multiple')) {
440
+ self.trigger('unselect', {
441
+ originalEvent: evt,
442
+ data: data
443
+ });
444
+ } else {
445
+ self.trigger('close', {});
446
+ }
447
+
448
+ return;
449
+ }
450
+
451
+ self.trigger('select', {
452
+ originalEvent: evt,
453
+ data: data
454
+ });
455
+ });
456
+
457
+ this.$results.on('mouseenter', '.select2-results__option[aria-selected]',
458
+ function (evt) {
459
+ var data = $(this).data('data');
460
+
461
+ self.getHighlightedResults()
462
+ .removeClass('select2-results__option--highlighted');
463
+
464
+ self.trigger('results:focus', {
465
+ data: data,
466
+ element: $(this)
467
+ });
468
+ });
469
+ };
470
+
471
+ Results.prototype.getHighlightedResults = function () {
472
+ var $highlighted = this.$results
473
+ .find('.select2-results__option--highlighted');
474
+
475
+ return $highlighted;
476
+ };
477
+
478
+ Results.prototype.destroy = function () {
479
+ this.$results.remove();
480
+ };
481
+
482
+ Results.prototype.ensureHighlightVisible = function () {
483
+ var $highlighted = this.getHighlightedResults();
484
+
485
+ if ($highlighted.length === 0) {
486
+ return;
487
+ }
488
+
489
+ var $options = this.$results.find('[aria-selected]');
490
+
491
+ var currentIndex = $options.index($highlighted);
492
+
493
+ var currentOffset = this.$results.offset().top;
494
+ var nextTop = $highlighted.offset().top;
495
+ var nextOffset = this.$results.scrollTop() + (nextTop - currentOffset);
496
+
497
+ var offsetDelta = nextTop - currentOffset;
498
+ nextOffset -= $highlighted.outerHeight(false) * 2;
499
+
500
+ if (currentIndex <= 2) {
501
+ this.$results.scrollTop(0);
502
+ } else if (offsetDelta > this.$results.outerHeight() || offsetDelta < 0) {
503
+ this.$results.scrollTop(nextOffset);
504
+ }
505
+ };
506
+
507
+ Results.prototype.template = function (result, container) {
508
+ var template = this.options.get('templateResult');
509
+ var escapeMarkup = this.options.get('escapeMarkup');
510
+
511
+ var content = template(result, container);
512
+
513
+ if (content == null) {
514
+ container.style.display = 'none';
515
+ } else if (typeof content === 'string') {
516
+ container.innerHTML = escapeMarkup(content);
517
+ } else {
518
+ $(container).append(content);
519
+ }
520
+ };
521
+
522
+ return Results;
523
+ });