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,353 @@
1
+ /* Flot plugin for plotting error bars.
2
+
3
+ Copyright (c) 2007-2013 IOLA and Ole Laursen.
4
+ Licensed under the MIT license.
5
+
6
+ Error bars are used to show standard deviation and other statistical
7
+ properties in a plot.
8
+
9
+ * Created by Rui Pereira - rui (dot) pereira (at) gmail (dot) com
10
+
11
+ This plugin allows you to plot error-bars over points. Set "errorbars" inside
12
+ the points series to the axis name over which there will be error values in
13
+ your data array (*even* if you do not intend to plot them later, by setting
14
+ "show: null" on xerr/yerr).
15
+
16
+ The plugin supports these options:
17
+
18
+ series: {
19
+ points: {
20
+ errorbars: "x" or "y" or "xy",
21
+ xerr: {
22
+ show: null/false or true,
23
+ asymmetric: null/false or true,
24
+ upperCap: null or "-" or function,
25
+ lowerCap: null or "-" or function,
26
+ color: null or color,
27
+ radius: null or number
28
+ },
29
+ yerr: { same options as xerr }
30
+ }
31
+ }
32
+
33
+ Each data point array is expected to be of the type:
34
+
35
+ "x" [ x, y, xerr ]
36
+ "y" [ x, y, yerr ]
37
+ "xy" [ x, y, xerr, yerr ]
38
+
39
+ Where xerr becomes xerr_lower,xerr_upper for the asymmetric error case, and
40
+ equivalently for yerr. Eg., a datapoint for the "xy" case with symmetric
41
+ error-bars on X and asymmetric on Y would be:
42
+
43
+ [ x, y, xerr, yerr_lower, yerr_upper ]
44
+
45
+ By default no end caps are drawn. Setting upperCap and/or lowerCap to "-" will
46
+ draw a small cap perpendicular to the error bar. They can also be set to a
47
+ user-defined drawing function, with (ctx, x, y, radius) as parameters, as eg.
48
+
49
+ function drawSemiCircle( ctx, x, y, radius ) {
50
+ ctx.beginPath();
51
+ ctx.arc( x, y, radius, 0, Math.PI, false );
52
+ ctx.moveTo( x - radius, y );
53
+ ctx.lineTo( x + radius, y );
54
+ ctx.stroke();
55
+ }
56
+
57
+ Color and radius both default to the same ones of the points series if not
58
+ set. The independent radius parameter on xerr/yerr is useful for the case when
59
+ we may want to add error-bars to a line, without showing the interconnecting
60
+ points (with radius: 0), and still showing end caps on the error-bars.
61
+ shadowSize and lineWidth are derived as well from the points series.
62
+
63
+ */
64
+
65
+ (function ($) {
66
+ var options = {
67
+ series: {
68
+ points: {
69
+ errorbars: null, //should be 'x', 'y' or 'xy'
70
+ xerr: { err: 'x', show: null, asymmetric: null, upperCap: null, lowerCap: null, color: null, radius: null},
71
+ yerr: { err: 'y', show: null, asymmetric: null, upperCap: null, lowerCap: null, color: null, radius: null}
72
+ }
73
+ }
74
+ };
75
+
76
+ function processRawData(plot, series, data, datapoints){
77
+ if (!series.points.errorbars)
78
+ return;
79
+
80
+ // x,y values
81
+ var format = [
82
+ { x: true, number: true, required: true },
83
+ { y: true, number: true, required: true }
84
+ ];
85
+
86
+ var errors = series.points.errorbars;
87
+ // error bars - first X then Y
88
+ if (errors == 'x' || errors == 'xy') {
89
+ // lower / upper error
90
+ if (series.points.xerr.asymmetric) {
91
+ format.push({ x: true, number: true, required: true });
92
+ format.push({ x: true, number: true, required: true });
93
+ } else
94
+ format.push({ x: true, number: true, required: true });
95
+ }
96
+ if (errors == 'y' || errors == 'xy') {
97
+ // lower / upper error
98
+ if (series.points.yerr.asymmetric) {
99
+ format.push({ y: true, number: true, required: true });
100
+ format.push({ y: true, number: true, required: true });
101
+ } else
102
+ format.push({ y: true, number: true, required: true });
103
+ }
104
+ datapoints.format = format;
105
+ }
106
+
107
+ function parseErrors(series, i){
108
+
109
+ var points = series.datapoints.points;
110
+
111
+ // read errors from points array
112
+ var exl = null,
113
+ exu = null,
114
+ eyl = null,
115
+ eyu = null;
116
+ var xerr = series.points.xerr,
117
+ yerr = series.points.yerr;
118
+
119
+ var eb = series.points.errorbars;
120
+ // error bars - first X
121
+ if (eb == 'x' || eb == 'xy') {
122
+ if (xerr.asymmetric) {
123
+ exl = points[i + 2];
124
+ exu = points[i + 3];
125
+ if (eb == 'xy')
126
+ if (yerr.asymmetric){
127
+ eyl = points[i + 4];
128
+ eyu = points[i + 5];
129
+ } else eyl = points[i + 4];
130
+ } else {
131
+ exl = points[i + 2];
132
+ if (eb == 'xy')
133
+ if (yerr.asymmetric) {
134
+ eyl = points[i + 3];
135
+ eyu = points[i + 4];
136
+ } else eyl = points[i + 3];
137
+ }
138
+ // only Y
139
+ } else if (eb == 'y')
140
+ if (yerr.asymmetric) {
141
+ eyl = points[i + 2];
142
+ eyu = points[i + 3];
143
+ } else eyl = points[i + 2];
144
+
145
+ // symmetric errors?
146
+ if (exu == null) exu = exl;
147
+ if (eyu == null) eyu = eyl;
148
+
149
+ var errRanges = [exl, exu, eyl, eyu];
150
+ // nullify if not showing
151
+ if (!xerr.show){
152
+ errRanges[0] = null;
153
+ errRanges[1] = null;
154
+ }
155
+ if (!yerr.show){
156
+ errRanges[2] = null;
157
+ errRanges[3] = null;
158
+ }
159
+ return errRanges;
160
+ }
161
+
162
+ function drawSeriesErrors(plot, ctx, s){
163
+
164
+ var points = s.datapoints.points,
165
+ ps = s.datapoints.pointsize,
166
+ ax = [s.xaxis, s.yaxis],
167
+ radius = s.points.radius,
168
+ err = [s.points.xerr, s.points.yerr];
169
+
170
+ //sanity check, in case some inverted axis hack is applied to flot
171
+ var invertX = false;
172
+ if (ax[0].p2c(ax[0].max) < ax[0].p2c(ax[0].min)) {
173
+ invertX = true;
174
+ var tmp = err[0].lowerCap;
175
+ err[0].lowerCap = err[0].upperCap;
176
+ err[0].upperCap = tmp;
177
+ }
178
+
179
+ var invertY = false;
180
+ if (ax[1].p2c(ax[1].min) < ax[1].p2c(ax[1].max)) {
181
+ invertY = true;
182
+ var tmp = err[1].lowerCap;
183
+ err[1].lowerCap = err[1].upperCap;
184
+ err[1].upperCap = tmp;
185
+ }
186
+
187
+ for (var i = 0; i < s.datapoints.points.length; i += ps) {
188
+
189
+ //parse
190
+ var errRanges = parseErrors(s, i);
191
+
192
+ //cycle xerr & yerr
193
+ for (var e = 0; e < err.length; e++){
194
+
195
+ var minmax = [ax[e].min, ax[e].max];
196
+
197
+ //draw this error?
198
+ if (errRanges[e * err.length]){
199
+
200
+ //data coordinates
201
+ var x = points[i],
202
+ y = points[i + 1];
203
+
204
+ //errorbar ranges
205
+ var upper = [x, y][e] + errRanges[e * err.length + 1],
206
+ lower = [x, y][e] - errRanges[e * err.length];
207
+
208
+ //points outside of the canvas
209
+ if (err[e].err == 'x')
210
+ if (y > ax[1].max || y < ax[1].min || upper < ax[0].min || lower > ax[0].max)
211
+ continue;
212
+ if (err[e].err == 'y')
213
+ if (x > ax[0].max || x < ax[0].min || upper < ax[1].min || lower > ax[1].max)
214
+ continue;
215
+
216
+ // prevent errorbars getting out of the canvas
217
+ var drawUpper = true,
218
+ drawLower = true;
219
+
220
+ if (upper > minmax[1]) {
221
+ drawUpper = false;
222
+ upper = minmax[1];
223
+ }
224
+ if (lower < minmax[0]) {
225
+ drawLower = false;
226
+ lower = minmax[0];
227
+ }
228
+
229
+ //sanity check, in case some inverted axis hack is applied to flot
230
+ if ((err[e].err == 'x' && invertX) || (err[e].err == 'y' && invertY)) {
231
+ //swap coordinates
232
+ var tmp = lower;
233
+ lower = upper;
234
+ upper = tmp;
235
+ tmp = drawLower;
236
+ drawLower = drawUpper;
237
+ drawUpper = tmp;
238
+ tmp = minmax[0];
239
+ minmax[0] = minmax[1];
240
+ minmax[1] = tmp;
241
+ }
242
+
243
+ // convert to pixels
244
+ x = ax[0].p2c(x),
245
+ y = ax[1].p2c(y),
246
+ upper = ax[e].p2c(upper);
247
+ lower = ax[e].p2c(lower);
248
+ minmax[0] = ax[e].p2c(minmax[0]);
249
+ minmax[1] = ax[e].p2c(minmax[1]);
250
+
251
+ //same style as points by default
252
+ var lw = err[e].lineWidth ? err[e].lineWidth : s.points.lineWidth,
253
+ sw = s.points.shadowSize != null ? s.points.shadowSize : s.shadowSize;
254
+
255
+ //shadow as for points
256
+ if (lw > 0 && sw > 0) {
257
+ var w = sw / 2;
258
+ ctx.lineWidth = w;
259
+ ctx.strokeStyle = "rgba(0,0,0,0.1)";
260
+ drawError(ctx, err[e], x, y, upper, lower, drawUpper, drawLower, radius, w + w/2, minmax);
261
+
262
+ ctx.strokeStyle = "rgba(0,0,0,0.2)";
263
+ drawError(ctx, err[e], x, y, upper, lower, drawUpper, drawLower, radius, w/2, minmax);
264
+ }
265
+
266
+ ctx.strokeStyle = err[e].color? err[e].color: s.color;
267
+ ctx.lineWidth = lw;
268
+ //draw it
269
+ drawError(ctx, err[e], x, y, upper, lower, drawUpper, drawLower, radius, 0, minmax);
270
+ }
271
+ }
272
+ }
273
+ }
274
+
275
+ function drawError(ctx,err,x,y,upper,lower,drawUpper,drawLower,radius,offset,minmax){
276
+
277
+ //shadow offset
278
+ y += offset;
279
+ upper += offset;
280
+ lower += offset;
281
+
282
+ // error bar - avoid plotting over circles
283
+ if (err.err == 'x'){
284
+ if (upper > x + radius) drawPath(ctx, [[upper,y],[Math.max(x + radius,minmax[0]),y]]);
285
+ else drawUpper = false;
286
+ if (lower < x - radius) drawPath(ctx, [[Math.min(x - radius,minmax[1]),y],[lower,y]] );
287
+ else drawLower = false;
288
+ }
289
+ else {
290
+ if (upper < y - radius) drawPath(ctx, [[x,upper],[x,Math.min(y - radius,minmax[0])]] );
291
+ else drawUpper = false;
292
+ if (lower > y + radius) drawPath(ctx, [[x,Math.max(y + radius,minmax[1])],[x,lower]] );
293
+ else drawLower = false;
294
+ }
295
+
296
+ //internal radius value in errorbar, allows to plot radius 0 points and still keep proper sized caps
297
+ //this is a way to get errorbars on lines without visible connecting dots
298
+ radius = err.radius != null? err.radius: radius;
299
+
300
+ // upper cap
301
+ if (drawUpper) {
302
+ if (err.upperCap == '-'){
303
+ if (err.err=='x') drawPath(ctx, [[upper,y - radius],[upper,y + radius]] );
304
+ else drawPath(ctx, [[x - radius,upper],[x + radius,upper]] );
305
+ } else if ($.isFunction(err.upperCap)){
306
+ if (err.err=='x') err.upperCap(ctx, upper, y, radius);
307
+ else err.upperCap(ctx, x, upper, radius);
308
+ }
309
+ }
310
+ // lower cap
311
+ if (drawLower) {
312
+ if (err.lowerCap == '-'){
313
+ if (err.err=='x') drawPath(ctx, [[lower,y - radius],[lower,y + radius]] );
314
+ else drawPath(ctx, [[x - radius,lower],[x + radius,lower]] );
315
+ } else if ($.isFunction(err.lowerCap)){
316
+ if (err.err=='x') err.lowerCap(ctx, lower, y, radius);
317
+ else err.lowerCap(ctx, x, lower, radius);
318
+ }
319
+ }
320
+ }
321
+
322
+ function drawPath(ctx, pts){
323
+ ctx.beginPath();
324
+ ctx.moveTo(pts[0][0], pts[0][1]);
325
+ for (var p=1; p < pts.length; p++)
326
+ ctx.lineTo(pts[p][0], pts[p][1]);
327
+ ctx.stroke();
328
+ }
329
+
330
+ function draw(plot, ctx){
331
+ var plotOffset = plot.getPlotOffset();
332
+
333
+ ctx.save();
334
+ ctx.translate(plotOffset.left, plotOffset.top);
335
+ $.each(plot.getData(), function (i, s) {
336
+ if (s.points.errorbars && (s.points.xerr.show || s.points.yerr.show))
337
+ drawSeriesErrors(plot, ctx, s);
338
+ });
339
+ ctx.restore();
340
+ }
341
+
342
+ function init(plot) {
343
+ plot.hooks.processRawData.push(processRawData);
344
+ plot.hooks.draw.push(draw);
345
+ }
346
+
347
+ $.plot.plugins.push({
348
+ init: init,
349
+ options: options,
350
+ name: 'errorbars',
351
+ version: '1.0'
352
+ });
353
+ })(jQuery);
@@ -0,0 +1 @@
1
+ (function($){var options={series:{points:{errorbars:null,xerr:{err:"x",show:null,asymmetric:null,upperCap:null,lowerCap:null,color:null,radius:null},yerr:{err:"y",show:null,asymmetric:null,upperCap:null,lowerCap:null,color:null,radius:null}}}};function processRawData(plot,series,data,datapoints){if(!series.points.errorbars)return;var format=[{x:true,number:true,required:true},{y:true,number:true,required:true}];var errors=series.points.errorbars;if(errors=="x"||errors=="xy"){if(series.points.xerr.asymmetric){format.push({x:true,number:true,required:true});format.push({x:true,number:true,required:true})}else format.push({x:true,number:true,required:true})}if(errors=="y"||errors=="xy"){if(series.points.yerr.asymmetric){format.push({y:true,number:true,required:true});format.push({y:true,number:true,required:true})}else format.push({y:true,number:true,required:true})}datapoints.format=format}function parseErrors(series,i){var points=series.datapoints.points;var exl=null,exu=null,eyl=null,eyu=null;var xerr=series.points.xerr,yerr=series.points.yerr;var eb=series.points.errorbars;if(eb=="x"||eb=="xy"){if(xerr.asymmetric){exl=points[i+2];exu=points[i+3];if(eb=="xy")if(yerr.asymmetric){eyl=points[i+4];eyu=points[i+5]}else eyl=points[i+4]}else{exl=points[i+2];if(eb=="xy")if(yerr.asymmetric){eyl=points[i+3];eyu=points[i+4]}else eyl=points[i+3]}}else if(eb=="y")if(yerr.asymmetric){eyl=points[i+2];eyu=points[i+3]}else eyl=points[i+2];if(exu==null)exu=exl;if(eyu==null)eyu=eyl;var errRanges=[exl,exu,eyl,eyu];if(!xerr.show){errRanges[0]=null;errRanges[1]=null}if(!yerr.show){errRanges[2]=null;errRanges[3]=null}return errRanges}function drawSeriesErrors(plot,ctx,s){var points=s.datapoints.points,ps=s.datapoints.pointsize,ax=[s.xaxis,s.yaxis],radius=s.points.radius,err=[s.points.xerr,s.points.yerr];var invertX=false;if(ax[0].p2c(ax[0].max)<ax[0].p2c(ax[0].min)){invertX=true;var tmp=err[0].lowerCap;err[0].lowerCap=err[0].upperCap;err[0].upperCap=tmp}var invertY=false;if(ax[1].p2c(ax[1].min)<ax[1].p2c(ax[1].max)){invertY=true;var tmp=err[1].lowerCap;err[1].lowerCap=err[1].upperCap;err[1].upperCap=tmp}for(var i=0;i<s.datapoints.points.length;i+=ps){var errRanges=parseErrors(s,i);for(var e=0;e<err.length;e++){var minmax=[ax[e].min,ax[e].max];if(errRanges[e*err.length]){var x=points[i],y=points[i+1];var upper=[x,y][e]+errRanges[e*err.length+1],lower=[x,y][e]-errRanges[e*err.length];if(err[e].err=="x")if(y>ax[1].max||y<ax[1].min||upper<ax[0].min||lower>ax[0].max)continue;if(err[e].err=="y")if(x>ax[0].max||x<ax[0].min||upper<ax[1].min||lower>ax[1].max)continue;var drawUpper=true,drawLower=true;if(upper>minmax[1]){drawUpper=false;upper=minmax[1]}if(lower<minmax[0]){drawLower=false;lower=minmax[0]}if(err[e].err=="x"&&invertX||err[e].err=="y"&&invertY){var tmp=lower;lower=upper;upper=tmp;tmp=drawLower;drawLower=drawUpper;drawUpper=tmp;tmp=minmax[0];minmax[0]=minmax[1];minmax[1]=tmp}x=ax[0].p2c(x),y=ax[1].p2c(y),upper=ax[e].p2c(upper);lower=ax[e].p2c(lower);minmax[0]=ax[e].p2c(minmax[0]);minmax[1]=ax[e].p2c(minmax[1]);var lw=err[e].lineWidth?err[e].lineWidth:s.points.lineWidth,sw=s.points.shadowSize!=null?s.points.shadowSize:s.shadowSize;if(lw>0&&sw>0){var w=sw/2;ctx.lineWidth=w;ctx.strokeStyle="rgba(0,0,0,0.1)";drawError(ctx,err[e],x,y,upper,lower,drawUpper,drawLower,radius,w+w/2,minmax);ctx.strokeStyle="rgba(0,0,0,0.2)";drawError(ctx,err[e],x,y,upper,lower,drawUpper,drawLower,radius,w/2,minmax)}ctx.strokeStyle=err[e].color?err[e].color:s.color;ctx.lineWidth=lw;drawError(ctx,err[e],x,y,upper,lower,drawUpper,drawLower,radius,0,minmax)}}}}function drawError(ctx,err,x,y,upper,lower,drawUpper,drawLower,radius,offset,minmax){y+=offset;upper+=offset;lower+=offset;if(err.err=="x"){if(upper>x+radius)drawPath(ctx,[[upper,y],[Math.max(x+radius,minmax[0]),y]]);else drawUpper=false;if(lower<x-radius)drawPath(ctx,[[Math.min(x-radius,minmax[1]),y],[lower,y]]);else drawLower=false}else{if(upper<y-radius)drawPath(ctx,[[x,upper],[x,Math.min(y-radius,minmax[0])]]);else drawUpper=false;if(lower>y+radius)drawPath(ctx,[[x,Math.max(y+radius,minmax[1])],[x,lower]]);else drawLower=false}radius=err.radius!=null?err.radius:radius;if(drawUpper){if(err.upperCap=="-"){if(err.err=="x")drawPath(ctx,[[upper,y-radius],[upper,y+radius]]);else drawPath(ctx,[[x-radius,upper],[x+radius,upper]])}else if($.isFunction(err.upperCap)){if(err.err=="x")err.upperCap(ctx,upper,y,radius);else err.upperCap(ctx,x,upper,radius)}}if(drawLower){if(err.lowerCap=="-"){if(err.err=="x")drawPath(ctx,[[lower,y-radius],[lower,y+radius]]);else drawPath(ctx,[[x-radius,lower],[x+radius,lower]])}else if($.isFunction(err.lowerCap)){if(err.err=="x")err.lowerCap(ctx,lower,y,radius);else err.lowerCap(ctx,x,lower,radius)}}}function drawPath(ctx,pts){ctx.beginPath();ctx.moveTo(pts[0][0],pts[0][1]);for(var p=1;p<pts.length;p++)ctx.lineTo(pts[p][0],pts[p][1]);ctx.stroke()}function draw(plot,ctx){var plotOffset=plot.getPlotOffset();ctx.save();ctx.translate(plotOffset.left,plotOffset.top);$.each(plot.getData(),function(i,s){if(s.points.errorbars&&(s.points.xerr.show||s.points.yerr.show))drawSeriesErrors(plot,ctx,s)});ctx.restore()}function init(plot){plot.hooks.processRawData.push(processRawData);plot.hooks.draw.push(draw)}$.plot.plugins.push({init:init,options:options,name:"errorbars",version:"1.0"})})(jQuery);
@@ -0,0 +1,226 @@
1
+ /* Flot plugin for computing bottoms for filled line and bar charts.
2
+
3
+ Copyright (c) 2007-2013 IOLA and Ole Laursen.
4
+ Licensed under the MIT license.
5
+
6
+ The case: you've got two series that you want to fill the area between. In Flot
7
+ terms, you need to use one as the fill bottom of the other. You can specify the
8
+ bottom of each data point as the third coordinate manually, or you can use this
9
+ plugin to compute it for you.
10
+
11
+ In order to name the other series, you need to give it an id, like this:
12
+
13
+ var dataset = [
14
+ { data: [ ... ], id: "foo" } , // use default bottom
15
+ { data: [ ... ], fillBetween: "foo" }, // use first dataset as bottom
16
+ ];
17
+
18
+ $.plot($("#placeholder"), dataset, { lines: { show: true, fill: true }});
19
+
20
+ As a convenience, if the id given is a number that doesn't appear as an id in
21
+ the series, it is interpreted as the index in the array instead (so fillBetween:
22
+ 0 can also mean the first series).
23
+
24
+ Internally, the plugin modifies the datapoints in each series. For line series,
25
+ extra data points might be inserted through interpolation. Note that at points
26
+ where the bottom line is not defined (due to a null point or start/end of line),
27
+ the current line will show a gap too. The algorithm comes from the
28
+ jquery.flot.stack.js plugin, possibly some code could be shared.
29
+
30
+ */
31
+
32
+ (function ( $ ) {
33
+
34
+ var options = {
35
+ series: {
36
+ fillBetween: null // or number
37
+ }
38
+ };
39
+
40
+ function init( plot ) {
41
+
42
+ function findBottomSeries( s, allseries ) {
43
+
44
+ var i;
45
+
46
+ for ( i = 0; i < allseries.length; ++i ) {
47
+ if ( allseries[ i ].id === s.fillBetween ) {
48
+ return allseries[ i ];
49
+ }
50
+ }
51
+
52
+ if ( typeof s.fillBetween === "number" ) {
53
+ if ( s.fillBetween < 0 || s.fillBetween >= allseries.length ) {
54
+ return null;
55
+ }
56
+ return allseries[ s.fillBetween ];
57
+ }
58
+
59
+ return null;
60
+ }
61
+
62
+ function computeFillBottoms( plot, s, datapoints ) {
63
+
64
+ if ( s.fillBetween == null ) {
65
+ return;
66
+ }
67
+
68
+ var other = findBottomSeries( s, plot.getData() );
69
+
70
+ if ( !other ) {
71
+ return;
72
+ }
73
+
74
+ var ps = datapoints.pointsize,
75
+ points = datapoints.points,
76
+ otherps = other.datapoints.pointsize,
77
+ otherpoints = other.datapoints.points,
78
+ newpoints = [],
79
+ px, py, intery, qx, qy, bottom,
80
+ withlines = s.lines.show,
81
+ withbottom = ps > 2 && datapoints.format[2].y,
82
+ withsteps = withlines && s.lines.steps,
83
+ fromgap = true,
84
+ i = 0,
85
+ j = 0,
86
+ l, m;
87
+
88
+ while ( true ) {
89
+
90
+ if ( i >= points.length ) {
91
+ break;
92
+ }
93
+
94
+ l = newpoints.length;
95
+
96
+ if ( points[ i ] == null ) {
97
+
98
+ // copy gaps
99
+
100
+ for ( m = 0; m < ps; ++m ) {
101
+ newpoints.push( points[ i + m ] );
102
+ }
103
+
104
+ i += ps;
105
+
106
+ } else if ( j >= otherpoints.length ) {
107
+
108
+ // for lines, we can't use the rest of the points
109
+
110
+ if ( !withlines ) {
111
+ for ( m = 0; m < ps; ++m ) {
112
+ newpoints.push( points[ i + m ] );
113
+ }
114
+ }
115
+
116
+ i += ps;
117
+
118
+ } else if ( otherpoints[ j ] == null ) {
119
+
120
+ // oops, got a gap
121
+
122
+ for ( m = 0; m < ps; ++m ) {
123
+ newpoints.push( null );
124
+ }
125
+
126
+ fromgap = true;
127
+ j += otherps;
128
+
129
+ } else {
130
+
131
+ // cases where we actually got two points
132
+
133
+ px = points[ i ];
134
+ py = points[ i + 1 ];
135
+ qx = otherpoints[ j ];
136
+ qy = otherpoints[ j + 1 ];
137
+ bottom = 0;
138
+
139
+ if ( px === qx ) {
140
+
141
+ for ( m = 0; m < ps; ++m ) {
142
+ newpoints.push( points[ i + m ] );
143
+ }
144
+
145
+ //newpoints[ l + 1 ] += qy;
146
+ bottom = qy;
147
+
148
+ i += ps;
149
+ j += otherps;
150
+
151
+ } else if ( px > qx ) {
152
+
153
+ // we got past point below, might need to
154
+ // insert interpolated extra point
155
+
156
+ if ( withlines && i > 0 && points[ i - ps ] != null ) {
157
+ intery = py + ( points[ i - ps + 1 ] - py ) * ( qx - px ) / ( points[ i - ps ] - px );
158
+ newpoints.push( qx );
159
+ newpoints.push( intery );
160
+ for ( m = 2; m < ps; ++m ) {
161
+ newpoints.push( points[ i + m ] );
162
+ }
163
+ bottom = qy;
164
+ }
165
+
166
+ j += otherps;
167
+
168
+ } else { // px < qx
169
+
170
+ // if we come from a gap, we just skip this point
171
+
172
+ if ( fromgap && withlines ) {
173
+ i += ps;
174
+ continue;
175
+ }
176
+
177
+ for ( m = 0; m < ps; ++m ) {
178
+ newpoints.push( points[ i + m ] );
179
+ }
180
+
181
+ // we might be able to interpolate a point below,
182
+ // this can give us a better y
183
+
184
+ if ( withlines && j > 0 && otherpoints[ j - otherps ] != null ) {
185
+ bottom = qy + ( otherpoints[ j - otherps + 1 ] - qy ) * ( px - qx ) / ( otherpoints[ j - otherps ] - qx );
186
+ }
187
+
188
+ //newpoints[l + 1] += bottom;
189
+
190
+ i += ps;
191
+ }
192
+
193
+ fromgap = false;
194
+
195
+ if ( l !== newpoints.length && withbottom ) {
196
+ newpoints[ l + 2 ] = bottom;
197
+ }
198
+ }
199
+
200
+ // maintain the line steps invariant
201
+
202
+ if ( withsteps && l !== newpoints.length && l > 0 &&
203
+ newpoints[ l ] !== null &&
204
+ newpoints[ l ] !== newpoints[ l - ps ] &&
205
+ newpoints[ l + 1 ] !== newpoints[ l - ps + 1 ] ) {
206
+ for (m = 0; m < ps; ++m) {
207
+ newpoints[ l + ps + m ] = newpoints[ l + m ];
208
+ }
209
+ newpoints[ l + 1 ] = newpoints[ l - ps + 1 ];
210
+ }
211
+ }
212
+
213
+ datapoints.points = newpoints;
214
+ }
215
+
216
+ plot.hooks.processDatapoints.push( computeFillBottoms );
217
+ }
218
+
219
+ $.plot.plugins.push({
220
+ init: init,
221
+ options: options,
222
+ name: "fillbetween",
223
+ version: "1.0"
224
+ });
225
+
226
+ })(jQuery);
@@ -0,0 +1 @@
1
+ (function($){var options={series:{fillBetween:null}};function init(plot){function findBottomSeries(s,allseries){var i;for(i=0;i<allseries.length;++i){if(allseries[i].id===s.fillBetween){return allseries[i]}}if(typeof s.fillBetween==="number"){if(s.fillBetween<0||s.fillBetween>=allseries.length){return null}return allseries[s.fillBetween]}return null}function computeFillBottoms(plot,s,datapoints){if(s.fillBetween==null){return}var other=findBottomSeries(s,plot.getData());if(!other){return}var ps=datapoints.pointsize,points=datapoints.points,otherps=other.datapoints.pointsize,otherpoints=other.datapoints.points,newpoints=[],px,py,intery,qx,qy,bottom,withlines=s.lines.show,withbottom=ps>2&&datapoints.format[2].y,withsteps=withlines&&s.lines.steps,fromgap=true,i=0,j=0,l,m;while(true){if(i>=points.length){break}l=newpoints.length;if(points[i]==null){for(m=0;m<ps;++m){newpoints.push(points[i+m])}i+=ps}else if(j>=otherpoints.length){if(!withlines){for(m=0;m<ps;++m){newpoints.push(points[i+m])}}i+=ps}else if(otherpoints[j]==null){for(m=0;m<ps;++m){newpoints.push(null)}fromgap=true;j+=otherps}else{px=points[i];py=points[i+1];qx=otherpoints[j];qy=otherpoints[j+1];bottom=0;if(px===qx){for(m=0;m<ps;++m){newpoints.push(points[i+m])}bottom=qy;i+=ps;j+=otherps}else if(px>qx){if(withlines&&i>0&&points[i-ps]!=null){intery=py+(points[i-ps+1]-py)*(qx-px)/(points[i-ps]-px);newpoints.push(qx);newpoints.push(intery);for(m=2;m<ps;++m){newpoints.push(points[i+m])}bottom=qy}j+=otherps}else{if(fromgap&&withlines){i+=ps;continue}for(m=0;m<ps;++m){newpoints.push(points[i+m])}if(withlines&&j>0&&otherpoints[j-otherps]!=null){bottom=qy+(otherpoints[j-otherps+1]-qy)*(px-qx)/(otherpoints[j-otherps]-qx)}i+=ps}fromgap=false;if(l!==newpoints.length&&withbottom){newpoints[l+2]=bottom}}if(withsteps&&l!==newpoints.length&&l>0&&newpoints[l]!==null&&newpoints[l]!==newpoints[l-ps]&&newpoints[l+1]!==newpoints[l-ps+1]){for(m=0;m<ps;++m){newpoints[l+ps+m]=newpoints[l+m]}newpoints[l+1]=newpoints[l-ps+1]}}datapoints.points=newpoints}plot.hooks.processDatapoints.push(computeFillBottoms)}$.plot.plugins.push({init:init,options:options,name:"fillbetween",version:"1.0"})})(jQuery);