adminlte2assets-rails 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (278) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +9 -0
  3. data/CODE_OF_CONDUCT.md +49 -0
  4. data/Gemfile +4 -0
  5. data/LICENSE.txt +21 -0
  6. data/README.md +244 -0
  7. data/Rakefile +2 -0
  8. data/adminlte2assets-rails.gemspec +42 -0
  9. data/bin/console +14 -0
  10. data/bin/setup +8 -0
  11. data/lib/adminlte2assets/rails/engine.rb +7 -0
  12. data/lib/adminlte2assets/rails/version.rb +5 -0
  13. data/lib/adminlte2assets/rails.rb +8 -0
  14. data/lib/adminlte2assets-rails.rb +7 -0
  15. data/vendor/assets/images/avatar.png +0 -0
  16. data/vendor/assets/images/avatar04.png +0 -0
  17. data/vendor/assets/images/avatar2.png +0 -0
  18. data/vendor/assets/images/avatar3.png +0 -0
  19. data/vendor/assets/images/avatar5.png +0 -0
  20. data/vendor/assets/images/boxed-bg.jpg +0 -0
  21. data/vendor/assets/images/boxed-bg.png +0 -0
  22. data/vendor/assets/images/credit/american-express.png +0 -0
  23. data/vendor/assets/images/credit/cirrus.png +0 -0
  24. data/vendor/assets/images/credit/mastercard.png +0 -0
  25. data/vendor/assets/images/credit/mestro.png +0 -0
  26. data/vendor/assets/images/credit/paypal.png +0 -0
  27. data/vendor/assets/images/credit/paypal2.png +0 -0
  28. data/vendor/assets/images/credit/visa.png +0 -0
  29. data/vendor/assets/images/default-50x50.gif +0 -0
  30. data/vendor/assets/images/icons.png +0 -0
  31. data/vendor/assets/images/ionslider/sprite-skin-flat.png +0 -0
  32. data/vendor/assets/images/ionslider/sprite-skin-nice.png +0 -0
  33. data/vendor/assets/images/photo1.png +0 -0
  34. data/vendor/assets/images/photo2.png +0 -0
  35. data/vendor/assets/images/photo3.jpg +0 -0
  36. data/vendor/assets/images/photo4.jpg +0 -0
  37. data/vendor/assets/images/user1-128x128.jpg +0 -0
  38. data/vendor/assets/images/user2-160x160.jpg +0 -0
  39. data/vendor/assets/images/user3-128x128.jpg +0 -0
  40. data/vendor/assets/images/user4-128x128.jpg +0 -0
  41. data/vendor/assets/images/user5-128x128.jpg +0 -0
  42. data/vendor/assets/images/user6-128x128.jpg +0 -0
  43. data/vendor/assets/images/user7-128x128.jpg +0 -0
  44. data/vendor/assets/images/user8-128x128.jpg +0 -0
  45. data/vendor/assets/javascript/AdminLTE/app.min.js +13 -0
  46. data/vendor/assets/javascript/AdminLTE/plugins/bootstrap-slider/bootstrap-slider.js +1576 -0
  47. data/vendor/assets/javascript/AdminLTE/plugins/bootstrap-wysihtml5/bootstrap3-wysihtml5.all.js +14975 -0
  48. data/vendor/assets/javascript/AdminLTE/plugins/bootstrap-wysihtml5/bootstrap3-wysihtml5.all.min.js +8 -0
  49. data/vendor/assets/javascript/AdminLTE/plugins/chartjs/Chart.js +3736 -0
  50. data/vendor/assets/javascript/AdminLTE/plugins/chartjs/Chart.min.js +11 -0
  51. data/vendor/assets/javascript/AdminLTE/plugins/colorpicker/bootstrap-colorpicker.js +1079 -0
  52. data/vendor/assets/javascript/AdminLTE/plugins/colorpicker/bootstrap-colorpicker.min.js +1 -0
  53. data/vendor/assets/javascript/AdminLTE/plugins/datepicker/bootstrap-datepicker.js +1671 -0
  54. data/vendor/assets/javascript/AdminLTE/plugins/datepicker/locales/bootstrap-datepicker.ar.js +15 -0
  55. data/vendor/assets/javascript/AdminLTE/plugins/datepicker/locales/bootstrap-datepicker.az.js +12 -0
  56. data/vendor/assets/javascript/AdminLTE/plugins/datepicker/locales/bootstrap-datepicker.bg.js +14 -0
  57. data/vendor/assets/javascript/AdminLTE/plugins/datepicker/locales/bootstrap-datepicker.ca.js +14 -0
  58. data/vendor/assets/javascript/AdminLTE/plugins/datepicker/locales/bootstrap-datepicker.cs.js +15 -0
  59. data/vendor/assets/javascript/AdminLTE/plugins/datepicker/locales/bootstrap-datepicker.cy.js +14 -0
  60. data/vendor/assets/javascript/AdminLTE/plugins/datepicker/locales/bootstrap-datepicker.da.js +15 -0
  61. data/vendor/assets/javascript/AdminLTE/plugins/datepicker/locales/bootstrap-datepicker.de.js +17 -0
  62. data/vendor/assets/javascript/AdminLTE/plugins/datepicker/locales/bootstrap-datepicker.el.js +13 -0
  63. data/vendor/assets/javascript/AdminLTE/plugins/datepicker/locales/bootstrap-datepicker.es.js +14 -0
  64. data/vendor/assets/javascript/AdminLTE/plugins/datepicker/locales/bootstrap-datepicker.et.js +18 -0
  65. data/vendor/assets/javascript/AdminLTE/plugins/datepicker/locales/bootstrap-datepicker.fa.js +17 -0
  66. data/vendor/assets/javascript/AdminLTE/plugins/datepicker/locales/bootstrap-datepicker.fi.js +16 -0
  67. data/vendor/assets/javascript/AdminLTE/plugins/datepicker/locales/bootstrap-datepicker.fr.js +17 -0
  68. data/vendor/assets/javascript/AdminLTE/plugins/datepicker/locales/bootstrap-datepicker.gl.js +11 -0
  69. data/vendor/assets/javascript/AdminLTE/plugins/datepicker/locales/bootstrap-datepicker.he.js +15 -0
  70. data/vendor/assets/javascript/AdminLTE/plugins/datepicker/locales/bootstrap-datepicker.hr.js +13 -0
  71. data/vendor/assets/javascript/AdminLTE/plugins/datepicker/locales/bootstrap-datepicker.hu.js +16 -0
  72. data/vendor/assets/javascript/AdminLTE/plugins/datepicker/locales/bootstrap-datepicker.id.js +15 -0
  73. data/vendor/assets/javascript/AdminLTE/plugins/datepicker/locales/bootstrap-datepicker.is.js +14 -0
  74. data/vendor/assets/javascript/AdminLTE/plugins/datepicker/locales/bootstrap-datepicker.it.js +17 -0
  75. data/vendor/assets/javascript/AdminLTE/plugins/datepicker/locales/bootstrap-datepicker.ja.js +15 -0
  76. data/vendor/assets/javascript/AdminLTE/plugins/datepicker/locales/bootstrap-datepicker.ka.js +17 -0
  77. data/vendor/assets/javascript/AdminLTE/plugins/datepicker/locales/bootstrap-datepicker.kk.js +15 -0
  78. data/vendor/assets/javascript/AdminLTE/plugins/datepicker/locales/bootstrap-datepicker.kr.js +13 -0
  79. data/vendor/assets/javascript/AdminLTE/plugins/datepicker/locales/bootstrap-datepicker.lt.js +16 -0
  80. data/vendor/assets/javascript/AdminLTE/plugins/datepicker/locales/bootstrap-datepicker.lv.js +16 -0
  81. data/vendor/assets/javascript/AdminLTE/plugins/datepicker/locales/bootstrap-datepicker.mk.js +15 -0
  82. data/vendor/assets/javascript/AdminLTE/plugins/datepicker/locales/bootstrap-datepicker.ms.js +14 -0
  83. data/vendor/assets/javascript/AdminLTE/plugins/datepicker/locales/bootstrap-datepicker.nb.js +14 -0
  84. data/vendor/assets/javascript/AdminLTE/plugins/datepicker/locales/bootstrap-datepicker.nl-BE.js +17 -0
  85. data/vendor/assets/javascript/AdminLTE/plugins/datepicker/locales/bootstrap-datepicker.nl.js +14 -0
  86. data/vendor/assets/javascript/AdminLTE/plugins/datepicker/locales/bootstrap-datepicker.no.js +16 -0
  87. data/vendor/assets/javascript/AdminLTE/plugins/datepicker/locales/bootstrap-datepicker.pl.js +15 -0
  88. data/vendor/assets/javascript/AdminLTE/plugins/datepicker/locales/bootstrap-datepicker.pt-BR.js +15 -0
  89. data/vendor/assets/javascript/AdminLTE/plugins/datepicker/locales/bootstrap-datepicker.pt.js +16 -0
  90. data/vendor/assets/javascript/AdminLTE/plugins/datepicker/locales/bootstrap-datepicker.ro.js +16 -0
  91. data/vendor/assets/javascript/AdminLTE/plugins/datepicker/locales/bootstrap-datepicker.rs-latin.js +14 -0
  92. data/vendor/assets/javascript/AdminLTE/plugins/datepicker/locales/bootstrap-datepicker.rs.js +14 -0
  93. data/vendor/assets/javascript/AdminLTE/plugins/datepicker/locales/bootstrap-datepicker.ru.js +15 -0
  94. data/vendor/assets/javascript/AdminLTE/plugins/datepicker/locales/bootstrap-datepicker.sk.js +15 -0
  95. data/vendor/assets/javascript/AdminLTE/plugins/datepicker/locales/bootstrap-datepicker.sl.js +14 -0
  96. data/vendor/assets/javascript/AdminLTE/plugins/datepicker/locales/bootstrap-datepicker.sq.js +15 -0
  97. data/vendor/assets/javascript/AdminLTE/plugins/datepicker/locales/bootstrap-datepicker.sv.js +16 -0
  98. data/vendor/assets/javascript/AdminLTE/plugins/datepicker/locales/bootstrap-datepicker.sw.js +15 -0
  99. data/vendor/assets/javascript/AdminLTE/plugins/datepicker/locales/bootstrap-datepicker.th.js +14 -0
  100. data/vendor/assets/javascript/AdminLTE/plugins/datepicker/locales/bootstrap-datepicker.tr.js +16 -0
  101. data/vendor/assets/javascript/AdminLTE/plugins/datepicker/locales/bootstrap-datepicker.ua.js +15 -0
  102. data/vendor/assets/javascript/AdminLTE/plugins/datepicker/locales/bootstrap-datepicker.vi.js +16 -0
  103. data/vendor/assets/javascript/AdminLTE/plugins/datepicker/locales/bootstrap-datepicker.zh-CN.js +16 -0
  104. data/vendor/assets/javascript/AdminLTE/plugins/datepicker/locales/bootstrap-datepicker.zh-TW.js +17 -0
  105. data/vendor/assets/javascript/AdminLTE/plugins/daterangepicker/daterangepicker.js +1542 -0
  106. data/vendor/assets/javascript/AdminLTE/plugins/daterangepicker/moment.js +3111 -0
  107. data/vendor/assets/javascript/AdminLTE/plugins/daterangepicker/moment.min.js +7 -0
  108. data/vendor/assets/javascript/AdminLTE/plugins/fastclick/fastclick.js +841 -0
  109. data/vendor/assets/javascript/AdminLTE/plugins/fastclick/fastclick.min.js +1 -0
  110. data/vendor/assets/javascript/AdminLTE/plugins/flot/excanvas.js +1427 -0
  111. data/vendor/assets/javascript/AdminLTE/plugins/flot/excanvas.min.js +1 -0
  112. data/vendor/assets/javascript/AdminLTE/plugins/flot/jquery.colorhelpers.js +180 -0
  113. data/vendor/assets/javascript/AdminLTE/plugins/flot/jquery.colorhelpers.min.js +1 -0
  114. data/vendor/assets/javascript/AdminLTE/plugins/flot/jquery.flot.canvas.js +345 -0
  115. data/vendor/assets/javascript/AdminLTE/plugins/flot/jquery.flot.canvas.min.js +1 -0
  116. data/vendor/assets/javascript/AdminLTE/plugins/flot/jquery.flot.categories.js +190 -0
  117. data/vendor/assets/javascript/AdminLTE/plugins/flot/jquery.flot.categories.min.js +1 -0
  118. data/vendor/assets/javascript/AdminLTE/plugins/flot/jquery.flot.crosshair.js +176 -0
  119. data/vendor/assets/javascript/AdminLTE/plugins/flot/jquery.flot.crosshair.min.js +1 -0
  120. data/vendor/assets/javascript/AdminLTE/plugins/flot/jquery.flot.errorbars.js +353 -0
  121. data/vendor/assets/javascript/AdminLTE/plugins/flot/jquery.flot.errorbars.min.js +1 -0
  122. data/vendor/assets/javascript/AdminLTE/plugins/flot/jquery.flot.fillbetween.js +226 -0
  123. data/vendor/assets/javascript/AdminLTE/plugins/flot/jquery.flot.fillbetween.min.js +1 -0
  124. data/vendor/assets/javascript/AdminLTE/plugins/flot/jquery.flot.image.js +241 -0
  125. data/vendor/assets/javascript/AdminLTE/plugins/flot/jquery.flot.image.min.js +1 -0
  126. data/vendor/assets/javascript/AdminLTE/plugins/flot/jquery.flot.js +3137 -0
  127. data/vendor/assets/javascript/AdminLTE/plugins/flot/jquery.flot.min.js +2 -0
  128. data/vendor/assets/javascript/AdminLTE/plugins/flot/jquery.flot.navigate.js +346 -0
  129. data/vendor/assets/javascript/AdminLTE/plugins/flot/jquery.flot.navigate.min.js +1 -0
  130. data/vendor/assets/javascript/AdminLTE/plugins/flot/jquery.flot.pie.js +817 -0
  131. data/vendor/assets/javascript/AdminLTE/plugins/flot/jquery.flot.pie.min.js +1 -0
  132. data/vendor/assets/javascript/AdminLTE/plugins/flot/jquery.flot.resize.js +60 -0
  133. data/vendor/assets/javascript/AdminLTE/plugins/flot/jquery.flot.resize.min.js +1 -0
  134. data/vendor/assets/javascript/AdminLTE/plugins/flot/jquery.flot.selection.js +360 -0
  135. data/vendor/assets/javascript/AdminLTE/plugins/flot/jquery.flot.selection.min.js +1 -0
  136. data/vendor/assets/javascript/AdminLTE/plugins/flot/jquery.flot.stack.js +188 -0
  137. data/vendor/assets/javascript/AdminLTE/plugins/flot/jquery.flot.stack.min.js +1 -0
  138. data/vendor/assets/javascript/AdminLTE/plugins/flot/jquery.flot.symbol.js +71 -0
  139. data/vendor/assets/javascript/AdminLTE/plugins/flot/jquery.flot.symbol.min.js +1 -0
  140. data/vendor/assets/javascript/AdminLTE/plugins/flot/jquery.flot.threshold.js +142 -0
  141. data/vendor/assets/javascript/AdminLTE/plugins/flot/jquery.flot.threshold.min.js +1 -0
  142. data/vendor/assets/javascript/AdminLTE/plugins/flot/jquery.flot.time.js +429 -0
  143. data/vendor/assets/javascript/AdminLTE/plugins/flot/jquery.flot.time.min.js +1 -0
  144. data/vendor/assets/javascript/AdminLTE/plugins/fullcalendar/fullcalendar.js +9732 -0
  145. data/vendor/assets/javascript/AdminLTE/plugins/fullcalendar/fullcalendar.min.js +8 -0
  146. data/vendor/assets/javascript/AdminLTE/plugins/input-mask/jquery.inputmask.date.extensions.js +488 -0
  147. data/vendor/assets/javascript/AdminLTE/plugins/input-mask/jquery.inputmask.extensions.js +122 -0
  148. data/vendor/assets/javascript/AdminLTE/plugins/input-mask/jquery.inputmask.js +1627 -0
  149. data/vendor/assets/javascript/AdminLTE/plugins/input-mask/jquery.inputmask.numeric.extensions.js +177 -0
  150. data/vendor/assets/javascript/AdminLTE/plugins/input-mask/jquery.inputmask.phone.extensions.js +50 -0
  151. data/vendor/assets/javascript/AdminLTE/plugins/input-mask/jquery.inputmask.regex.extensions.js +169 -0
  152. data/vendor/assets/javascript/AdminLTE/plugins/input-mask/phone-codes/phone-be.json +45 -0
  153. data/vendor/assets/javascript/AdminLTE/plugins/input-mask/phone-codes/phone-codes.json +294 -0
  154. data/vendor/assets/javascript/AdminLTE/plugins/input-mask/phone-codes/readme.txt +1 -0
  155. data/vendor/assets/javascript/AdminLTE/plugins/ionslider/ion.rangeSlider.min.js +76 -0
  156. data/vendor/assets/javascript/AdminLTE/plugins/jQueryUI/jquery-ui.js +16617 -0
  157. data/vendor/assets/javascript/AdminLTE/plugins/jQueryUI/jquery-ui.min.js +13 -0
  158. data/vendor/assets/javascript/AdminLTE/plugins/jvectormap/jquery-jvectormap-1.2.2.min.js +8 -0
  159. data/vendor/assets/javascript/AdminLTE/plugins/jvectormap/jquery-jvectormap-usa-en.js +1 -0
  160. data/vendor/assets/javascript/AdminLTE/plugins/jvectormap/jquery-jvectormap-world-mill-en.js +1 -0
  161. data/vendor/assets/javascript/AdminLTE/plugins/knob/jquery.knob.js +805 -0
  162. data/vendor/assets/javascript/AdminLTE/plugins/morris/morris.js +1892 -0
  163. data/vendor/assets/javascript/AdminLTE/plugins/morris/morris.min.js +7 -0
  164. data/vendor/assets/javascript/AdminLTE/plugins/pace/pace.js +935 -0
  165. data/vendor/assets/javascript/AdminLTE/plugins/pace/pace.min.js +2 -0
  166. data/vendor/assets/javascript/AdminLTE/plugins/select2/i18n/ar.js +3 -0
  167. data/vendor/assets/javascript/AdminLTE/plugins/select2/i18n/az.js +3 -0
  168. data/vendor/assets/javascript/AdminLTE/plugins/select2/i18n/bg.js +3 -0
  169. data/vendor/assets/javascript/AdminLTE/plugins/select2/i18n/ca.js +3 -0
  170. data/vendor/assets/javascript/AdminLTE/plugins/select2/i18n/cs.js +3 -0
  171. data/vendor/assets/javascript/AdminLTE/plugins/select2/i18n/da.js +3 -0
  172. data/vendor/assets/javascript/AdminLTE/plugins/select2/i18n/de.js +3 -0
  173. data/vendor/assets/javascript/AdminLTE/plugins/select2/i18n/el.js +3 -0
  174. data/vendor/assets/javascript/AdminLTE/plugins/select2/i18n/en.js +3 -0
  175. data/vendor/assets/javascript/AdminLTE/plugins/select2/i18n/es.js +3 -0
  176. data/vendor/assets/javascript/AdminLTE/plugins/select2/i18n/et.js +3 -0
  177. data/vendor/assets/javascript/AdminLTE/plugins/select2/i18n/eu.js +3 -0
  178. data/vendor/assets/javascript/AdminLTE/plugins/select2/i18n/fa.js +3 -0
  179. data/vendor/assets/javascript/AdminLTE/plugins/select2/i18n/fi.js +3 -0
  180. data/vendor/assets/javascript/AdminLTE/plugins/select2/i18n/fr.js +3 -0
  181. data/vendor/assets/javascript/AdminLTE/plugins/select2/i18n/gl.js +3 -0
  182. data/vendor/assets/javascript/AdminLTE/plugins/select2/i18n/he.js +3 -0
  183. data/vendor/assets/javascript/AdminLTE/plugins/select2/i18n/hi.js +3 -0
  184. data/vendor/assets/javascript/AdminLTE/plugins/select2/i18n/hr.js +3 -0
  185. data/vendor/assets/javascript/AdminLTE/plugins/select2/i18n/hu.js +3 -0
  186. data/vendor/assets/javascript/AdminLTE/plugins/select2/i18n/id.js +3 -0
  187. data/vendor/assets/javascript/AdminLTE/plugins/select2/i18n/is.js +3 -0
  188. data/vendor/assets/javascript/AdminLTE/plugins/select2/i18n/it.js +3 -0
  189. data/vendor/assets/javascript/AdminLTE/plugins/select2/i18n/ja.js +3 -0
  190. data/vendor/assets/javascript/AdminLTE/plugins/select2/i18n/km.js +3 -0
  191. data/vendor/assets/javascript/AdminLTE/plugins/select2/i18n/ko.js +3 -0
  192. data/vendor/assets/javascript/AdminLTE/plugins/select2/i18n/lt.js +3 -0
  193. data/vendor/assets/javascript/AdminLTE/plugins/select2/i18n/lv.js +3 -0
  194. data/vendor/assets/javascript/AdminLTE/plugins/select2/i18n/mk.js +3 -0
  195. data/vendor/assets/javascript/AdminLTE/plugins/select2/i18n/ms.js +3 -0
  196. data/vendor/assets/javascript/AdminLTE/plugins/select2/i18n/nb.js +3 -0
  197. data/vendor/assets/javascript/AdminLTE/plugins/select2/i18n/nl.js +3 -0
  198. data/vendor/assets/javascript/AdminLTE/plugins/select2/i18n/pl.js +3 -0
  199. data/vendor/assets/javascript/AdminLTE/plugins/select2/i18n/pt-BR.js +3 -0
  200. data/vendor/assets/javascript/AdminLTE/plugins/select2/i18n/pt.js +3 -0
  201. data/vendor/assets/javascript/AdminLTE/plugins/select2/i18n/ro.js +3 -0
  202. data/vendor/assets/javascript/AdminLTE/plugins/select2/i18n/ru.js +3 -0
  203. data/vendor/assets/javascript/AdminLTE/plugins/select2/i18n/sk.js +3 -0
  204. data/vendor/assets/javascript/AdminLTE/plugins/select2/i18n/sr-Cyrl.js +3 -0
  205. data/vendor/assets/javascript/AdminLTE/plugins/select2/i18n/sr.js +3 -0
  206. data/vendor/assets/javascript/AdminLTE/plugins/select2/i18n/sv.js +3 -0
  207. data/vendor/assets/javascript/AdminLTE/plugins/select2/i18n/th.js +3 -0
  208. data/vendor/assets/javascript/AdminLTE/plugins/select2/i18n/tr.js +3 -0
  209. data/vendor/assets/javascript/AdminLTE/plugins/select2/i18n/uk.js +3 -0
  210. data/vendor/assets/javascript/AdminLTE/plugins/select2/i18n/vi.js +3 -0
  211. data/vendor/assets/javascript/AdminLTE/plugins/select2/i18n/zh-CN.js +3 -0
  212. data/vendor/assets/javascript/AdminLTE/plugins/select2/i18n/zh-TW.js +3 -0
  213. data/vendor/assets/javascript/AdminLTE/plugins/select2/select2.full.js +6436 -0
  214. data/vendor/assets/javascript/AdminLTE/plugins/select2/select2.full.min.js +3 -0
  215. data/vendor/assets/javascript/AdminLTE/plugins/select2/select2.js +5725 -0
  216. data/vendor/assets/javascript/AdminLTE/plugins/select2/select2.min.js +3 -0
  217. data/vendor/assets/javascript/AdminLTE/plugins/slimScroll/jquery.slimscroll.js +474 -0
  218. data/vendor/assets/javascript/AdminLTE/plugins/slimScroll/jquery.slimscroll.min.js +16 -0
  219. data/vendor/assets/javascript/AdminLTE/plugins/sparkline/jquery.sparkline.js +3054 -0
  220. data/vendor/assets/javascript/AdminLTE/plugins/sparkline/jquery.sparkline.min.js +5 -0
  221. data/vendor/assets/javascript/AdminLTE/plugins/timepicker/bootstrap-timepicker.js +903 -0
  222. data/vendor/assets/javascript/AdminLTE/plugins/timepicker/bootstrap-timepicker.min.js +5 -0
  223. data/vendor/assets/javascript/AdminLTE.js +4 -0
  224. data/vendor/assets/stylesheets/AdminLTE/AdminLTE.min.css +7 -0
  225. data/vendor/assets/stylesheets/AdminLTE/plugins/bootstrap-slider/slider.css +282 -0
  226. data/vendor/assets/stylesheets/AdminLTE/plugins/bootstrap-wysihtml5/bootstrap3-wysihtml5.css +117 -0
  227. data/vendor/assets/stylesheets/AdminLTE/plugins/bootstrap-wysihtml5/bootstrap3-wysihtml5.min.css +3 -0
  228. data/vendor/assets/stylesheets/AdminLTE/plugins/colorpicker/bootstrap-colorpicker.css +251 -0
  229. data/vendor/assets/stylesheets/AdminLTE/plugins/colorpicker/bootstrap-colorpicker.min.css +9 -0
  230. data/vendor/assets/stylesheets/AdminLTE/plugins/colorpicker/img/alpha-horizontal.png +0 -0
  231. data/vendor/assets/stylesheets/AdminLTE/plugins/colorpicker/img/alpha.png +0 -0
  232. data/vendor/assets/stylesheets/AdminLTE/plugins/colorpicker/img/hue-horizontal.png +0 -0
  233. data/vendor/assets/stylesheets/AdminLTE/plugins/colorpicker/img/hue.png +0 -0
  234. data/vendor/assets/stylesheets/AdminLTE/plugins/colorpicker/img/saturation.png +0 -0
  235. data/vendor/assets/stylesheets/AdminLTE/plugins/datepicker/datepicker3.css +790 -0
  236. data/vendor/assets/stylesheets/AdminLTE/plugins/daterangepicker/daterangepicker.css +232 -0
  237. data/vendor/assets/stylesheets/AdminLTE/plugins/fullcalendar/fullcalendar.css +977 -0
  238. data/vendor/assets/stylesheets/AdminLTE/plugins/fullcalendar/fullcalendar.min.css +5 -0
  239. data/vendor/assets/stylesheets/AdminLTE/plugins/fullcalendar/fullcalendar.print.css +202 -0
  240. data/vendor/assets/stylesheets/AdminLTE/plugins/ionslider/ion.rangeSlider.css +149 -0
  241. data/vendor/assets/stylesheets/AdminLTE/plugins/ionslider/ion.rangeSlider.skinFlat.css +106 -0
  242. data/vendor/assets/stylesheets/AdminLTE/plugins/ionslider/ion.rangeSlider.skinNice.css +102 -0
  243. data/vendor/assets/stylesheets/AdminLTE/plugins/jvectormap/jquery-jvectormap-1.2.2.css +40 -0
  244. data/vendor/assets/stylesheets/AdminLTE/plugins/morris/morris.css +2 -0
  245. data/vendor/assets/stylesheets/AdminLTE/plugins/pace/pace.css +85 -0
  246. data/vendor/assets/stylesheets/AdminLTE/plugins/pace/pace.min.css +1 -0
  247. data/vendor/assets/stylesheets/AdminLTE/plugins/select2/select2.css +484 -0
  248. data/vendor/assets/stylesheets/AdminLTE/plugins/select2/select2.min.css +1 -0
  249. data/vendor/assets/stylesheets/AdminLTE/plugins/timepicker/bootstrap-timepicker.css +121 -0
  250. data/vendor/assets/stylesheets/AdminLTE/plugins/timepicker/bootstrap-timepicker.min.css +10 -0
  251. data/vendor/assets/stylesheets/AdminLTE/skins/_all-skins.css +1770 -0
  252. data/vendor/assets/stylesheets/AdminLTE/skins/_all-skins.min.css +1 -0
  253. data/vendor/assets/stylesheets/AdminLTE/skins/skin-black-light.css +173 -0
  254. data/vendor/assets/stylesheets/AdminLTE/skins/skin-black-light.min.css +1 -0
  255. data/vendor/assets/stylesheets/AdminLTE/skins/skin-black.css +158 -0
  256. data/vendor/assets/stylesheets/AdminLTE/skins/skin-black.min.css +1 -0
  257. data/vendor/assets/stylesheets/AdminLTE/skins/skin-blue-light.css +164 -0
  258. data/vendor/assets/stylesheets/AdminLTE/skins/skin-blue-light.min.css +1 -0
  259. data/vendor/assets/stylesheets/AdminLTE/skins/skin-blue.css +139 -0
  260. data/vendor/assets/stylesheets/AdminLTE/skins/skin-blue.min.css +1 -0
  261. data/vendor/assets/stylesheets/AdminLTE/skins/skin-green-light.css +153 -0
  262. data/vendor/assets/stylesheets/AdminLTE/skins/skin-green-light.min.css +1 -0
  263. data/vendor/assets/stylesheets/AdminLTE/skins/skin-green.css +131 -0
  264. data/vendor/assets/stylesheets/AdminLTE/skins/skin-green.min.css +1 -0
  265. data/vendor/assets/stylesheets/AdminLTE/skins/skin-purple-light.css +153 -0
  266. data/vendor/assets/stylesheets/AdminLTE/skins/skin-purple-light.min.css +1 -0
  267. data/vendor/assets/stylesheets/AdminLTE/skins/skin-purple.css +131 -0
  268. data/vendor/assets/stylesheets/AdminLTE/skins/skin-purple.min.css +1 -0
  269. data/vendor/assets/stylesheets/AdminLTE/skins/skin-red-light.css +153 -0
  270. data/vendor/assets/stylesheets/AdminLTE/skins/skin-red-light.min.css +1 -0
  271. data/vendor/assets/stylesheets/AdminLTE/skins/skin-red.css +131 -0
  272. data/vendor/assets/stylesheets/AdminLTE/skins/skin-red.min.css +1 -0
  273. data/vendor/assets/stylesheets/AdminLTE/skins/skin-yellow-light.css +153 -0
  274. data/vendor/assets/stylesheets/AdminLTE/skins/skin-yellow-light.min.css +1 -0
  275. data/vendor/assets/stylesheets/AdminLTE/skins/skin-yellow.css +131 -0
  276. data/vendor/assets/stylesheets/AdminLTE/skins/skin-yellow.min.css +1 -0
  277. data/vendor/assets/stylesheets/AdminLTE.scss +5 -0
  278. metadata +474 -0
@@ -0,0 +1,903 @@
1
+ //TODO: move arrow styles and button click code into configurable items, with defaults matching the existing code
2
+
3
+ /*!
4
+ * Timepicker Component for Twitter Bootstrap
5
+ *
6
+ * Copyright 2013 Joris de Wit
7
+ *
8
+ * Contributors https://github.com/jdewit/bootstrap-timepicker/graphs/contributors
9
+ *
10
+ * For the full copyright and license information, please view the LICENSE
11
+ * file that was distributed with this source code.
12
+ */
13
+ (function($, window, document, undefined) {
14
+ 'use strict';
15
+
16
+ // TIMEPICKER PUBLIC CLASS DEFINITION
17
+ var Timepicker = function(element, options) {
18
+ this.widget = '';
19
+ this.$element = $(element);
20
+ this.defaultTime = options.defaultTime;
21
+ this.disableFocus = options.disableFocus;
22
+ this.isOpen = options.isOpen;
23
+ this.minuteStep = options.minuteStep;
24
+ this.modalBackdrop = options.modalBackdrop;
25
+ this.secondStep = options.secondStep;
26
+ this.showInputs = options.showInputs;
27
+ this.showMeridian = options.showMeridian;
28
+ this.showSeconds = options.showSeconds;
29
+ this.template = options.template;
30
+ this.appendWidgetTo = options.appendWidgetTo;
31
+ this.upArrowStyle = options.upArrowStyle;
32
+ this.downArrowStyle = options.downArrowStyle;
33
+ this.containerClass = options.containerClass;
34
+
35
+ this._init();
36
+ };
37
+
38
+ Timepicker.prototype = {
39
+
40
+ constructor: Timepicker,
41
+
42
+ _init: function() {
43
+ var self = this;
44
+
45
+ if (this.$element.parent().hasClass('input-append') || this.$element.parent().hasClass('input-prepend')) {
46
+ if (this.$element.parent('.input-append, .input-prepend').find('.add-on').length) {
47
+ this.$element.parent('.input-append, .input-prepend').find('.add-on').on({
48
+ 'click.timepicker': $.proxy(this.showWidget, this)
49
+ });
50
+ } else {
51
+ this.$element.closest(this.containerClass).find('.add-on').on({
52
+ 'click.timepicker': $.proxy(this.showWidget, this)
53
+ });
54
+ }
55
+
56
+ this.$element.on({
57
+ 'focus.timepicker': $.proxy(this.highlightUnit, this),
58
+ 'click.timepicker': $.proxy(this.highlightUnit, this),
59
+ 'keydown.timepicker': $.proxy(this.elementKeydown, this),
60
+ 'blur.timepicker': $.proxy(this.blurElement, this)
61
+ });
62
+ } else {
63
+ if (this.template) {
64
+ this.$element.on({
65
+ 'focus.timepicker': $.proxy(this.showWidget, this),
66
+ 'click.timepicker': $.proxy(this.showWidget, this),
67
+ 'blur.timepicker': $.proxy(this.blurElement, this)
68
+ });
69
+ } else {
70
+ this.$element.on({
71
+ 'focus.timepicker': $.proxy(this.highlightUnit, this),
72
+ 'click.timepicker': $.proxy(this.highlightUnit, this),
73
+ 'keydown.timepicker': $.proxy(this.elementKeydown, this),
74
+ 'blur.timepicker': $.proxy(this.blurElement, this)
75
+ });
76
+ }
77
+ }
78
+
79
+ if (this.template !== false) {
80
+ this.$widget = $(this.getTemplate()).prependTo(this.$element.parents(this.appendWidgetTo)).on('click', $.proxy(this.widgetClick, this));
81
+ } else {
82
+ this.$widget = false;
83
+ }
84
+
85
+ if (this.showInputs && this.$widget !== false) {
86
+ this.$widget.find('input').each(function() {
87
+ $(this).on({
88
+ 'click.timepicker': function() { $(this).select(); },
89
+ 'keydown.timepicker': $.proxy(self.widgetKeydown, self)
90
+ });
91
+ });
92
+ }
93
+
94
+ this.setDefaultTime(this.defaultTime);
95
+ },
96
+
97
+ blurElement: function() {
98
+ this.highlightedUnit = undefined;
99
+ this.updateFromElementVal();
100
+ },
101
+
102
+ decrementHour: function() {
103
+ if (this.showMeridian) {
104
+ if (this.hour === 1) {
105
+ this.hour = 12;
106
+ } else if (this.hour === 12) {
107
+ this.hour--;
108
+
109
+ return this.toggleMeridian();
110
+ } else if (this.hour === 0) {
111
+ this.hour = 11;
112
+
113
+ return this.toggleMeridian();
114
+ } else {
115
+ this.hour--;
116
+ }
117
+ } else {
118
+ if (this.hour === 0) {
119
+ this.hour = 23;
120
+ } else {
121
+ this.hour--;
122
+ }
123
+ }
124
+ this.update();
125
+ },
126
+
127
+ decrementMinute: function(step) {
128
+ var newVal;
129
+
130
+ if (step) {
131
+ newVal = this.minute - step;
132
+ } else {
133
+ newVal = this.minute - this.minuteStep;
134
+ }
135
+
136
+ if (newVal < 0) {
137
+ this.decrementHour();
138
+ this.minute = newVal + 60;
139
+ } else {
140
+ this.minute = newVal;
141
+ }
142
+ this.update();
143
+ },
144
+
145
+ decrementSecond: function() {
146
+ var newVal = this.second - this.secondStep;
147
+
148
+ if (newVal < 0) {
149
+ this.decrementMinute(true);
150
+ this.second = newVal + 60;
151
+ } else {
152
+ this.second = newVal;
153
+ }
154
+ this.update();
155
+ },
156
+
157
+ elementKeydown: function(e) {
158
+ switch (e.keyCode) {
159
+ case 9: //tab
160
+ this.updateFromElementVal();
161
+
162
+ switch (this.highlightedUnit) {
163
+ case 'hour':
164
+ e.preventDefault();
165
+ this.highlightNextUnit();
166
+ break;
167
+ case 'minute':
168
+ if (this.showMeridian || this.showSeconds) {
169
+ e.preventDefault();
170
+ this.highlightNextUnit();
171
+ }
172
+ break;
173
+ case 'second':
174
+ if (this.showMeridian) {
175
+ e.preventDefault();
176
+ this.highlightNextUnit();
177
+ }
178
+ break;
179
+ }
180
+ break;
181
+ case 27: // escape
182
+ this.updateFromElementVal();
183
+ break;
184
+ case 37: // left arrow
185
+ e.preventDefault();
186
+ this.highlightPrevUnit();
187
+ this.updateFromElementVal();
188
+ break;
189
+ case 38: // up arrow
190
+ e.preventDefault();
191
+ switch (this.highlightedUnit) {
192
+ case 'hour':
193
+ this.incrementHour();
194
+ this.highlightHour();
195
+ break;
196
+ case 'minute':
197
+ this.incrementMinute();
198
+ this.highlightMinute();
199
+ break;
200
+ case 'second':
201
+ this.incrementSecond();
202
+ this.highlightSecond();
203
+ break;
204
+ case 'meridian':
205
+ this.toggleMeridian();
206
+ this.highlightMeridian();
207
+ break;
208
+ }
209
+ break;
210
+ case 39: // right arrow
211
+ e.preventDefault();
212
+ this.updateFromElementVal();
213
+ this.highlightNextUnit();
214
+ break;
215
+ case 40: // down arrow
216
+ e.preventDefault();
217
+ switch (this.highlightedUnit) {
218
+ case 'hour':
219
+ this.decrementHour();
220
+ this.highlightHour();
221
+ break;
222
+ case 'minute':
223
+ this.decrementMinute();
224
+ this.highlightMinute();
225
+ break;
226
+ case 'second':
227
+ this.decrementSecond();
228
+ this.highlightSecond();
229
+ break;
230
+ case 'meridian':
231
+ this.toggleMeridian();
232
+ this.highlightMeridian();
233
+ break;
234
+ }
235
+ break;
236
+ }
237
+ },
238
+
239
+ formatTime: function(hour, minute, second, meridian) {
240
+ hour = hour < 10 ? '0' + hour : hour;
241
+ minute = minute < 10 ? '0' + minute : minute;
242
+ second = second < 10 ? '0' + second : second;
243
+
244
+ return hour + ':' + minute + (this.showSeconds ? ':' + second : '') + (this.showMeridian ? ' ' + meridian : '');
245
+ },
246
+
247
+ getCursorPosition: function() {
248
+ var input = this.$element.get(0);
249
+
250
+ if ('selectionStart' in input) {// Standard-compliant browsers
251
+
252
+ return input.selectionStart;
253
+ } else if (document.selection) {// IE fix
254
+ input.focus();
255
+ var sel = document.selection.createRange(),
256
+ selLen = document.selection.createRange().text.length;
257
+
258
+ sel.moveStart('character', - input.value.length);
259
+
260
+ return sel.text.length - selLen;
261
+ }
262
+ },
263
+
264
+ getTemplate: function() {
265
+ var template,
266
+ hourTemplate,
267
+ minuteTemplate,
268
+ secondTemplate,
269
+ meridianTemplate,
270
+ templateContent;
271
+
272
+ if (this.showInputs) {
273
+ hourTemplate = '<input type="text" name="hour" class="bootstrap-timepicker-hour form-control" maxlength="2"/>';
274
+ minuteTemplate = '<input type="text" name="minute" class="bootstrap-timepicker-minute form-control" maxlength="2"/>';
275
+ secondTemplate = '<input type="text" name="second" class="bootstrap-timepicker-second form-control" maxlength="2"/>';
276
+ meridianTemplate = '<input type="text" name="meridian" class="bootstrap-timepicker-meridian form-control" maxlength="2"/>';
277
+ } else {
278
+ hourTemplate = '<span class="bootstrap-timepicker-hour"></span>';
279
+ minuteTemplate = '<span class="bootstrap-timepicker-minute"></span>';
280
+ secondTemplate = '<span class="bootstrap-timepicker-second"></span>';
281
+ meridianTemplate = '<span class="bootstrap-timepicker-meridian"></span>';
282
+ }
283
+
284
+ templateContent = '<table>'+
285
+ '<tr>'+
286
+ '<td><a href="#" data-action="incrementHour"><i class="' + this.upArrowStyle + '"></i></a></td>'+
287
+ '<td class="separator">&nbsp;</td>'+
288
+ '<td><a href="#" data-action="incrementMinute"><i class="' + this.upArrowStyle + '"></i></a></td>'+
289
+ (this.showSeconds ?
290
+ '<td class="separator">&nbsp;</td>'+
291
+ '<td><a href="#" data-action="incrementSecond"><i class="' + this.upArrowStyle + '"></i></a></td>'
292
+ : '') +
293
+ (this.showMeridian ?
294
+ '<td class="separator">&nbsp;</td>'+
295
+ '<td class="meridian-column"><a href="#" data-action="toggleMeridian"><i class="' + this.upArrowStyle + '"></i></a></td>'
296
+ : '') +
297
+ '</tr>'+
298
+ '<tr>'+
299
+ '<td>'+ hourTemplate +'</td> '+
300
+ '<td class="separator">:</td>'+
301
+ '<td>'+ minuteTemplate +'</td> '+
302
+ (this.showSeconds ?
303
+ '<td class="separator">:</td>'+
304
+ '<td>'+ secondTemplate +'</td>'
305
+ : '') +
306
+ (this.showMeridian ?
307
+ '<td class="separator">&nbsp;</td>'+
308
+ '<td>'+ meridianTemplate +'</td>'
309
+ : '') +
310
+ '</tr>'+
311
+ '<tr>'+
312
+ '<td><a href="#" data-action="decrementHour"><i class="' + this.downArrowStyle + '"></i></a></td>'+
313
+ '<td class="separator"></td>'+
314
+ '<td><a href="#" data-action="decrementMinute"><i class="' + this.downArrowStyle + '"></i></a></td>'+
315
+ (this.showSeconds ?
316
+ '<td class="separator">&nbsp;</td>'+
317
+ '<td><a href="#" data-action="decrementSecond"><i class="' + this.downArrowStyle + '"></i></a></td>'
318
+ : '') +
319
+ (this.showMeridian ?
320
+ '<td class="separator">&nbsp;</td>'+
321
+ '<td><a href="#" data-action="toggleMeridian"><i class="' + this.downArrowStyle + '"></i></a></td>'
322
+ : '') +
323
+ '</tr>'+
324
+ '</table>';
325
+
326
+ switch(this.template) {
327
+ case 'modal':
328
+ template = '<div class="bootstrap-timepicker-widget modal hide fade in" data-backdrop="'+ (this.modalBackdrop ? 'true' : 'false') +'">'+
329
+ '<div class="modal-header">'+
330
+ '<a href="#" class="close" data-dismiss="modal">×</a>'+
331
+ '<h3>Pick a Time</h3>'+
332
+ '</div>'+
333
+ '<div class="modal-content">'+
334
+ templateContent +
335
+ '</div>'+
336
+ '<div class="modal-footer">'+
337
+ '<a href="#" class="btn btn-primary" data-dismiss="modal">OK</a>'+
338
+ '</div>'+
339
+ '</div>';
340
+ break;
341
+ case 'dropdown':
342
+ template = '<div class="bootstrap-timepicker-widget dropdown-menu">'+ templateContent +'</div>';
343
+ break;
344
+ }
345
+
346
+ return template;
347
+ },
348
+
349
+ getTime: function() {
350
+ return this.formatTime(this.hour, this.minute, this.second, this.meridian);
351
+ },
352
+
353
+ hideWidget: function() {
354
+ if (this.isOpen === false) {
355
+ return;
356
+ }
357
+
358
+ if (this.showInputs) {
359
+ this.updateFromWidgetInputs();
360
+ }
361
+
362
+ this.$element.trigger({
363
+ 'type': 'hide.timepicker',
364
+ 'time': {
365
+ 'value': this.getTime(),
366
+ 'hours': this.hour,
367
+ 'minutes': this.minute,
368
+ 'seconds': this.second,
369
+ 'meridian': this.meridian
370
+ }
371
+ });
372
+
373
+ if (this.template === 'modal' && this.$widget.modal) {
374
+ this.$widget.modal('hide');
375
+ } else {
376
+ this.$widget.removeClass('open');
377
+ }
378
+
379
+ $(document).off('mousedown.timepicker');
380
+
381
+ this.isOpen = false;
382
+ },
383
+
384
+ highlightUnit: function() {
385
+ this.position = this.getCursorPosition();
386
+ if (this.position >= 0 && this.position <= 2) {
387
+ this.highlightHour();
388
+ } else if (this.position >= 3 && this.position <= 5) {
389
+ this.highlightMinute();
390
+ } else if (this.position >= 6 && this.position <= 8) {
391
+ if (this.showSeconds) {
392
+ this.highlightSecond();
393
+ } else {
394
+ this.highlightMeridian();
395
+ }
396
+ } else if (this.position >= 9 && this.position <= 11) {
397
+ this.highlightMeridian();
398
+ }
399
+ },
400
+
401
+ highlightNextUnit: function() {
402
+ switch (this.highlightedUnit) {
403
+ case 'hour':
404
+ this.highlightMinute();
405
+ break;
406
+ case 'minute':
407
+ if (this.showSeconds) {
408
+ this.highlightSecond();
409
+ } else if (this.showMeridian){
410
+ this.highlightMeridian();
411
+ } else {
412
+ this.highlightHour();
413
+ }
414
+ break;
415
+ case 'second':
416
+ if (this.showMeridian) {
417
+ this.highlightMeridian();
418
+ } else {
419
+ this.highlightHour();
420
+ }
421
+ break;
422
+ case 'meridian':
423
+ this.highlightHour();
424
+ break;
425
+ }
426
+ },
427
+
428
+ highlightPrevUnit: function() {
429
+ switch (this.highlightedUnit) {
430
+ case 'hour':
431
+ this.highlightMeridian();
432
+ break;
433
+ case 'minute':
434
+ this.highlightHour();
435
+ break;
436
+ case 'second':
437
+ this.highlightMinute();
438
+ break;
439
+ case 'meridian':
440
+ if (this.showSeconds) {
441
+ this.highlightSecond();
442
+ } else {
443
+ this.highlightMinute();
444
+ }
445
+ break;
446
+ }
447
+ },
448
+
449
+ highlightHour: function() {
450
+ var $element = this.$element.get(0);
451
+
452
+ this.highlightedUnit = 'hour';
453
+
454
+ if ($element.setSelectionRange) {
455
+ setTimeout(function() {
456
+ $element.setSelectionRange(0,2);
457
+ }, 0);
458
+ }
459
+ },
460
+
461
+ highlightMinute: function() {
462
+ var $element = this.$element.get(0);
463
+
464
+ this.highlightedUnit = 'minute';
465
+
466
+ if ($element.setSelectionRange) {
467
+ setTimeout(function() {
468
+ $element.setSelectionRange(3,5);
469
+ }, 0);
470
+ }
471
+ },
472
+
473
+ highlightSecond: function() {
474
+ var $element = this.$element.get(0);
475
+
476
+ this.highlightedUnit = 'second';
477
+
478
+ if ($element.setSelectionRange) {
479
+ setTimeout(function() {
480
+ $element.setSelectionRange(6,8);
481
+ }, 0);
482
+ }
483
+ },
484
+
485
+ highlightMeridian: function() {
486
+ var $element = this.$element.get(0);
487
+
488
+ this.highlightedUnit = 'meridian';
489
+
490
+ if ($element.setSelectionRange) {
491
+ if (this.showSeconds) {
492
+ setTimeout(function() {
493
+ $element.setSelectionRange(9,11);
494
+ }, 0);
495
+ } else {
496
+ setTimeout(function() {
497
+ $element.setSelectionRange(6,8);
498
+ }, 0);
499
+ }
500
+ }
501
+ },
502
+
503
+ incrementHour: function() {
504
+ if (this.showMeridian) {
505
+ if (this.hour === 11) {
506
+ this.hour++;
507
+ return this.toggleMeridian();
508
+ } else if (this.hour === 12) {
509
+ this.hour = 0;
510
+ }
511
+ }
512
+ if (this.hour === 23) {
513
+ this.hour = 0;
514
+
515
+ return;
516
+ }
517
+ this.hour++;
518
+ this.update();
519
+ },
520
+
521
+ incrementMinute: function(step) {
522
+ var newVal;
523
+
524
+ if (step) {
525
+ newVal = this.minute + step;
526
+ } else {
527
+ newVal = this.minute + this.minuteStep - (this.minute % this.minuteStep);
528
+ }
529
+
530
+ if (newVal > 59) {
531
+ this.incrementHour();
532
+ this.minute = newVal - 60;
533
+ } else {
534
+ this.minute = newVal;
535
+ }
536
+ this.update();
537
+ },
538
+
539
+ incrementSecond: function() {
540
+ var newVal = this.second + this.secondStep - (this.second % this.secondStep);
541
+
542
+ if (newVal > 59) {
543
+ this.incrementMinute(true);
544
+ this.second = newVal - 60;
545
+ } else {
546
+ this.second = newVal;
547
+ }
548
+ this.update();
549
+ },
550
+
551
+ remove: function() {
552
+ $('document').off('.timepicker');
553
+ if (this.$widget) {
554
+ this.$widget.remove();
555
+ }
556
+ delete this.$element.data().timepicker;
557
+ },
558
+
559
+ setDefaultTime: function(defaultTime){
560
+ if (!this.$element.val()) {
561
+ if (defaultTime === 'current') {
562
+ var dTime = new Date(),
563
+ hours = dTime.getHours(),
564
+ minutes = Math.floor(dTime.getMinutes() / this.minuteStep) * this.minuteStep,
565
+ seconds = Math.floor(dTime.getSeconds() / this.secondStep) * this.secondStep,
566
+ meridian = 'AM';
567
+
568
+ if (this.showMeridian) {
569
+ if (hours === 0) {
570
+ hours = 12;
571
+ } else if (hours >= 12) {
572
+ if (hours > 12) {
573
+ hours = hours - 12;
574
+ }
575
+ meridian = 'PM';
576
+ } else {
577
+ meridian = 'AM';
578
+ }
579
+ }
580
+
581
+ this.hour = hours;
582
+ this.minute = minutes;
583
+ this.second = seconds;
584
+ this.meridian = meridian;
585
+
586
+ this.update();
587
+
588
+ } else if (defaultTime === false) {
589
+ this.hour = 0;
590
+ this.minute = 0;
591
+ this.second = 0;
592
+ this.meridian = 'AM';
593
+ } else {
594
+ this.setTime(defaultTime);
595
+ }
596
+ } else {
597
+ this.updateFromElementVal();
598
+ }
599
+ },
600
+
601
+ setTime: function(time) {
602
+ var arr,
603
+ timeArray;
604
+
605
+ if (this.showMeridian) {
606
+ arr = time.split(' ');
607
+ timeArray = arr[0].split(':');
608
+ this.meridian = arr[1];
609
+ } else {
610
+ timeArray = time.split(':');
611
+ }
612
+
613
+ this.hour = parseInt(timeArray[0], 10);
614
+ this.minute = parseInt(timeArray[1], 10);
615
+ this.second = parseInt(timeArray[2], 10);
616
+
617
+ if (isNaN(this.hour)) {
618
+ this.hour = 0;
619
+ }
620
+ if (isNaN(this.minute)) {
621
+ this.minute = 0;
622
+ }
623
+
624
+ if (this.showMeridian) {
625
+ if (this.hour > 12) {
626
+ this.hour = 12;
627
+ } else if (this.hour < 1) {
628
+ this.hour = 12;
629
+ }
630
+
631
+ if (this.meridian === 'am' || this.meridian === 'a') {
632
+ this.meridian = 'AM';
633
+ } else if (this.meridian === 'pm' || this.meridian === 'p') {
634
+ this.meridian = 'PM';
635
+ }
636
+
637
+ if (this.meridian !== 'AM' && this.meridian !== 'PM') {
638
+ this.meridian = 'AM';
639
+ }
640
+ } else {
641
+ if (this.hour >= 24) {
642
+ this.hour = 23;
643
+ } else if (this.hour < 0) {
644
+ this.hour = 0;
645
+ }
646
+ }
647
+
648
+ if (this.minute < 0) {
649
+ this.minute = 0;
650
+ } else if (this.minute >= 60) {
651
+ this.minute = 59;
652
+ }
653
+
654
+ if (this.showSeconds) {
655
+ if (isNaN(this.second)) {
656
+ this.second = 0;
657
+ } else if (this.second < 0) {
658
+ this.second = 0;
659
+ } else if (this.second >= 60) {
660
+ this.second = 59;
661
+ }
662
+ }
663
+
664
+ this.update();
665
+ },
666
+
667
+ showWidget: function() {
668
+ if (this.isOpen) {
669
+ return;
670
+ }
671
+
672
+ if (this.$element.is(':disabled')) {
673
+ return;
674
+ }
675
+
676
+ var self = this;
677
+ $(document).on('mousedown.timepicker', function (e) {
678
+ // Clicked outside the timepicker, hide it
679
+ if ($(e.target).closest('.bootstrap-timepicker-widget').length === 0) {
680
+ self.hideWidget();
681
+ }
682
+ });
683
+
684
+ this.$element.trigger({
685
+ 'type': 'show.timepicker',
686
+ 'time': {
687
+ 'value': this.getTime(),
688
+ 'hours': this.hour,
689
+ 'minutes': this.minute,
690
+ 'seconds': this.second,
691
+ 'meridian': this.meridian
692
+ }
693
+ });
694
+
695
+ if (this.disableFocus) {
696
+ this.$element.blur();
697
+ }
698
+
699
+ this.updateFromElementVal();
700
+
701
+ if (this.template === 'modal' && this.$widget.modal) {
702
+ this.$widget.modal('show').on('hidden', $.proxy(this.hideWidget, this));
703
+ } else {
704
+ if (this.isOpen === false) {
705
+ this.$widget.addClass('open');
706
+ }
707
+ }
708
+
709
+ this.isOpen = true;
710
+ },
711
+
712
+ toggleMeridian: function() {
713
+ this.meridian = this.meridian === 'AM' ? 'PM' : 'AM';
714
+ this.update();
715
+ },
716
+
717
+ update: function() {
718
+ this.$element.trigger({
719
+ 'type': 'changeTime.timepicker',
720
+ 'time': {
721
+ 'value': this.getTime(),
722
+ 'hours': this.hour,
723
+ 'minutes': this.minute,
724
+ 'seconds': this.second,
725
+ 'meridian': this.meridian
726
+ }
727
+ });
728
+
729
+ this.updateElement();
730
+ this.updateWidget();
731
+ },
732
+
733
+ updateElement: function() {
734
+ this.$element.val(this.getTime()).change();
735
+ },
736
+
737
+ updateFromElementVal: function() {
738
+ var val = this.$element.val();
739
+
740
+ if (val) {
741
+ this.setTime(val);
742
+ }
743
+ },
744
+
745
+ updateWidget: function() {
746
+ if (this.$widget === false) {
747
+ return;
748
+ }
749
+
750
+ var hour = this.hour < 10 ? '0' + this.hour : this.hour,
751
+ minute = this.minute < 10 ? '0' + this.minute : this.minute,
752
+ second = this.second < 10 ? '0' + this.second : this.second;
753
+
754
+ if (this.showInputs) {
755
+ this.$widget.find('input.bootstrap-timepicker-hour').val(hour);
756
+ this.$widget.find('input.bootstrap-timepicker-minute').val(minute);
757
+
758
+ if (this.showSeconds) {
759
+ this.$widget.find('input.bootstrap-timepicker-second').val(second);
760
+ }
761
+ if (this.showMeridian) {
762
+ this.$widget.find('input.bootstrap-timepicker-meridian').val(this.meridian);
763
+ }
764
+ } else {
765
+ this.$widget.find('span.bootstrap-timepicker-hour').text(hour);
766
+ this.$widget.find('span.bootstrap-timepicker-minute').text(minute);
767
+
768
+ if (this.showSeconds) {
769
+ this.$widget.find('span.bootstrap-timepicker-second').text(second);
770
+ }
771
+ if (this.showMeridian) {
772
+ this.$widget.find('span.bootstrap-timepicker-meridian').text(this.meridian);
773
+ }
774
+ }
775
+ },
776
+
777
+ updateFromWidgetInputs: function() {
778
+ if (this.$widget === false) {
779
+ return;
780
+ }
781
+ var time = $('input.bootstrap-timepicker-hour', this.$widget).val() + ':' +
782
+ $('input.bootstrap-timepicker-minute', this.$widget).val() +
783
+ (this.showSeconds ? ':' + $('input.bootstrap-timepicker-second', this.$widget).val() : '') +
784
+ (this.showMeridian ? ' ' + $('input.bootstrap-timepicker-meridian', this.$widget).val() : '');
785
+
786
+ this.setTime(time);
787
+ },
788
+
789
+ widgetClick: function(e) {
790
+ e.stopPropagation();
791
+ e.preventDefault();
792
+
793
+ var action = $(e.target).closest('a').data('action');
794
+ if (action) {
795
+ this[action]();
796
+ }
797
+ },
798
+
799
+ widgetKeydown: function(e) {
800
+ var $input = $(e.target).closest('input'),
801
+ name = $input.attr('name');
802
+
803
+ switch (e.keyCode) {
804
+ case 9: //tab
805
+ if (this.showMeridian) {
806
+ if (name === 'meridian') {
807
+ return this.hideWidget();
808
+ }
809
+ } else {
810
+ if (this.showSeconds) {
811
+ if (name === 'second') {
812
+ return this.hideWidget();
813
+ }
814
+ } else {
815
+ if (name === 'minute') {
816
+ return this.hideWidget();
817
+ }
818
+ }
819
+ }
820
+
821
+ this.updateFromWidgetInputs();
822
+ break;
823
+ case 27: // escape
824
+ this.hideWidget();
825
+ break;
826
+ case 38: // up arrow
827
+ e.preventDefault();
828
+ switch (name) {
829
+ case 'hour':
830
+ this.incrementHour();
831
+ break;
832
+ case 'minute':
833
+ this.incrementMinute();
834
+ break;
835
+ case 'second':
836
+ this.incrementSecond();
837
+ break;
838
+ case 'meridian':
839
+ this.toggleMeridian();
840
+ break;
841
+ }
842
+ break;
843
+ case 40: // down arrow
844
+ e.preventDefault();
845
+ switch (name) {
846
+ case 'hour':
847
+ this.decrementHour();
848
+ break;
849
+ case 'minute':
850
+ this.decrementMinute();
851
+ break;
852
+ case 'second':
853
+ this.decrementSecond();
854
+ break;
855
+ case 'meridian':
856
+ this.toggleMeridian();
857
+ break;
858
+ }
859
+ break;
860
+ }
861
+ }
862
+ };
863
+
864
+
865
+ //TIMEPICKER PLUGIN DEFINITION
866
+ $.fn.timepicker = function(option) {
867
+ var args = Array.apply(null, arguments);
868
+ args.shift();
869
+ return this.each(function() {
870
+ var $this = $(this),
871
+ data = $this.data('timepicker'),
872
+ options = typeof option === 'object' && option;
873
+
874
+ if (!data) {
875
+ $this.data('timepicker', (data = new Timepicker(this, $.extend({}, $.fn.timepicker.defaults, options, $(this).data()))));
876
+ }
877
+
878
+ if (typeof option === 'string') {
879
+ data[option].apply(data, args);
880
+ }
881
+ });
882
+ };
883
+
884
+ $.fn.timepicker.defaults = {
885
+ defaultTime: 'current',
886
+ disableFocus: false,
887
+ isOpen: false,
888
+ minuteStep: 15,
889
+ modalBackdrop: false,
890
+ secondStep: 15,
891
+ showSeconds: false,
892
+ showInputs: true,
893
+ showMeridian: true,
894
+ template: 'dropdown',
895
+ appendWidgetTo: '.bootstrap-timepicker',
896
+ upArrowStyle: 'glyphicon glyphicon-chevron-up',
897
+ downArrowStyle: 'glyphicon glyphicon-chevron-down',
898
+ containerClass: 'bootstrap-timepicker'
899
+ };
900
+
901
+ $.fn.timepicker.Constructor = Timepicker;
902
+
903
+ })(jQuery, window, document);