patternfly-sass 0.0.0.pre.semantically.pre.released

Sign up to get free protection for your applications and to get access to all the features.
Files changed (361) hide show
  1. checksums.yaml +7 -0
  2. data/CODE_OF_CONDUCT.md +4 -0
  3. data/LICENSE.txt +205 -0
  4. data/OPEN_SOURCE_LICENCES.txt +1366 -0
  5. data/QUICKSTART.md +210 -0
  6. data/README.md +438 -0
  7. data/dist/fonts/FontAwesome.otf +0 -0
  8. data/dist/fonts/OpenSans-Bold-webfont.eot +0 -0
  9. data/dist/fonts/OpenSans-Bold-webfont.svg +19028 -0
  10. data/dist/fonts/OpenSans-Bold-webfont.ttf +0 -0
  11. data/dist/fonts/OpenSans-Bold-webfont.woff +0 -0
  12. data/dist/fonts/OpenSans-Bold-webfont.woff2 +0 -0
  13. data/dist/fonts/OpenSans-BoldItalic-webfont.eot +0 -0
  14. data/dist/fonts/OpenSans-BoldItalic-webfont.svg +19036 -0
  15. data/dist/fonts/OpenSans-BoldItalic-webfont.ttf +0 -0
  16. data/dist/fonts/OpenSans-BoldItalic-webfont.woff +0 -0
  17. data/dist/fonts/OpenSans-BoldItalic-webfont.woff2 +0 -0
  18. data/dist/fonts/OpenSans-ExtraBold-webfont.eot +0 -0
  19. data/dist/fonts/OpenSans-ExtraBold-webfont.svg +19030 -0
  20. data/dist/fonts/OpenSans-ExtraBold-webfont.ttf +0 -0
  21. data/dist/fonts/OpenSans-ExtraBold-webfont.woff +0 -0
  22. data/dist/fonts/OpenSans-ExtraBold-webfont.woff2 +0 -0
  23. data/dist/fonts/OpenSans-ExtraBoldItalic-webfont.eot +0 -0
  24. data/dist/fonts/OpenSans-ExtraBoldItalic-webfont.svg +19036 -0
  25. data/dist/fonts/OpenSans-ExtraBoldItalic-webfont.ttf +0 -0
  26. data/dist/fonts/OpenSans-ExtraBoldItalic-webfont.woff +0 -0
  27. data/dist/fonts/OpenSans-ExtraBoldItalic-webfont.woff2 +0 -0
  28. data/dist/fonts/OpenSans-Italic-webfont.eot +0 -0
  29. data/dist/fonts/OpenSans-Italic-webfont.svg +19043 -0
  30. data/dist/fonts/OpenSans-Italic-webfont.ttf +0 -0
  31. data/dist/fonts/OpenSans-Italic-webfont.woff +0 -0
  32. data/dist/fonts/OpenSans-Italic-webfont.woff2 +0 -0
  33. data/dist/fonts/OpenSans-Light-webfont.eot +0 -0
  34. data/dist/fonts/OpenSans-Light-webfont.svg +19026 -0
  35. data/dist/fonts/OpenSans-Light-webfont.ttf +0 -0
  36. data/dist/fonts/OpenSans-Light-webfont.woff +0 -0
  37. data/dist/fonts/OpenSans-Light-webfont.woff2 +0 -0
  38. data/dist/fonts/OpenSans-LightItalic-webfont.eot +0 -0
  39. data/dist/fonts/OpenSans-LightItalic-webfont.svg +19039 -0
  40. data/dist/fonts/OpenSans-LightItalic-webfont.ttf +0 -0
  41. data/dist/fonts/OpenSans-LightItalic-webfont.woff +0 -0
  42. data/dist/fonts/OpenSans-LightItalic-webfont.woff2 +0 -0
  43. data/dist/fonts/OpenSans-Regular-webfont.eot +0 -0
  44. data/dist/fonts/OpenSans-Regular-webfont.svg +19030 -0
  45. data/dist/fonts/OpenSans-Regular-webfont.ttf +0 -0
  46. data/dist/fonts/OpenSans-Regular-webfont.woff +0 -0
  47. data/dist/fonts/OpenSans-Regular-webfont.woff2 +0 -0
  48. data/dist/fonts/OpenSans-Semibold-webfont.eot +0 -0
  49. data/dist/fonts/OpenSans-Semibold-webfont.svg +19030 -0
  50. data/dist/fonts/OpenSans-Semibold-webfont.ttf +0 -0
  51. data/dist/fonts/OpenSans-Semibold-webfont.woff +0 -0
  52. data/dist/fonts/OpenSans-Semibold-webfont.woff2 +0 -0
  53. data/dist/fonts/OpenSans-SemiboldItalic-webfont.eot +0 -0
  54. data/dist/fonts/OpenSans-SemiboldItalic-webfont.svg +19043 -0
  55. data/dist/fonts/OpenSans-SemiboldItalic-webfont.ttf +0 -0
  56. data/dist/fonts/OpenSans-SemiboldItalic-webfont.woff +0 -0
  57. data/dist/fonts/OpenSans-SemiboldItalic-webfont.woff2 +0 -0
  58. data/dist/fonts/PatternFlyIcons-webfont.eot +0 -0
  59. data/dist/fonts/PatternFlyIcons-webfont.svg +140 -0
  60. data/dist/fonts/PatternFlyIcons-webfont.ttf +0 -0
  61. data/dist/fonts/PatternFlyIcons-webfont.woff +0 -0
  62. data/dist/fonts/fontawesome-webfont.eot +0 -0
  63. data/dist/fonts/fontawesome-webfont.svg +2671 -0
  64. data/dist/fonts/fontawesome-webfont.ttf +0 -0
  65. data/dist/fonts/fontawesome-webfont.woff +0 -0
  66. data/dist/fonts/fontawesome-webfont.woff2 +0 -0
  67. data/dist/fonts/glyphicons-halflings-regular.eot +0 -0
  68. data/dist/fonts/glyphicons-halflings-regular.svg +288 -0
  69. data/dist/fonts/glyphicons-halflings-regular.ttf +0 -0
  70. data/dist/fonts/glyphicons-halflings-regular.woff +0 -0
  71. data/dist/fonts/glyphicons-halflings-regular.woff2 +0 -0
  72. data/dist/img/Logo_Horizontal_Reversed.svg +49 -0
  73. data/dist/img/OpenShift-Logo-NoText.svg +51 -0
  74. data/dist/img/OpenShift-Logo-Text.svg +95 -0
  75. data/dist/img/OpenShift-logo.svg +69 -0
  76. data/dist/img/RH_Atomic-Logo-NoText.svg +53 -0
  77. data/dist/img/RH_Atomic-Logo-Text.svg +91 -0
  78. data/dist/img/RH_atomic.svg +88 -0
  79. data/dist/img/apple-touch-icon-precomposed-114.png +0 -0
  80. data/dist/img/apple-touch-icon-precomposed-144.png +0 -0
  81. data/dist/img/apple-touch-icon-precomposed-152.png +0 -0
  82. data/dist/img/apple-touch-icon-precomposed-180.png +0 -0
  83. data/dist/img/apple-touch-icon-precomposed-57.png +0 -0
  84. data/dist/img/apple-touch-icon-precomposed-72.png +0 -0
  85. data/dist/img/apple-touch-icon-precomposed-76.png +0 -0
  86. data/dist/img/bg-login-2.png +0 -0
  87. data/dist/img/bg-login.jpg +0 -0
  88. data/dist/img/bg-login.png +0 -0
  89. data/dist/img/bg-modal-about-pf.png +0 -0
  90. data/dist/img/bg-navbar-pf-alt.svg +9 -0
  91. data/dist/img/brand-alt.svg +88 -0
  92. data/dist/img/brand.svg +87 -0
  93. data/dist/img/dropbox-logo.svg +15 -0
  94. data/dist/img/facebook-logo.svg +12 -0
  95. data/dist/img/favicon.ico +0 -0
  96. data/dist/img/fedora-logo.png +0 -0
  97. data/dist/img/git-logo.svg +21 -0
  98. data/dist/img/github-logo.svg +17 -0
  99. data/dist/img/gmail.svg +23 -0
  100. data/dist/img/google-calendar.svg +26 -0
  101. data/dist/img/google-drive.svg +17 -0
  102. data/dist/img/google-logo.svg +19 -0
  103. data/dist/img/instagram-logo.png +0 -0
  104. data/dist/img/kubernetes-Logo.svg +60 -0
  105. data/dist/img/kubernetes.svg +8 -0
  106. data/dist/img/linkedin-logo.svg +13 -0
  107. data/dist/img/logo-alt.svg +18 -0
  108. data/dist/img/logo.svg +22 -0
  109. data/dist/img/open-id-logo.svg +19 -0
  110. data/dist/img/rcue-full.svg +221 -0
  111. data/dist/img/rcue.svg +92 -0
  112. data/dist/img/redhat_reverse.png +0 -0
  113. data/dist/img/skype-logo.svg +23 -0
  114. data/dist/img/spinner-inverse-lg.gif +0 -0
  115. data/dist/img/spinner-inverse-sm.gif +0 -0
  116. data/dist/img/spinner-inverse-xs.gif +0 -0
  117. data/dist/img/spinner-inverse.gif +0 -0
  118. data/dist/img/spinner-lg.gif +0 -0
  119. data/dist/img/spinner-sm.gif +0 -0
  120. data/dist/img/spinner-xs.gif +0 -0
  121. data/dist/img/spinner.gif +0 -0
  122. data/dist/img/stack-exchange-logo.svg +21 -0
  123. data/dist/img/twitter-logo.svg +19 -0
  124. data/dist/js/patternfly-functions-base.js +7 -0
  125. data/dist/js/patternfly-functions-charts.js +13 -0
  126. data/dist/js/patternfly-functions-colors.js +8 -0
  127. data/dist/js/patternfly-functions-count-chars.js +59 -0
  128. data/dist/js/patternfly-functions-data-tables.js +149 -0
  129. data/dist/js/patternfly-functions-fixed-heights.js +109 -0
  130. data/dist/js/patternfly-functions-list.js +79 -0
  131. data/dist/js/patternfly-functions-navigation.js +113 -0
  132. data/dist/js/patternfly-functions-popovers.js +37 -0
  133. data/dist/js/patternfly-functions-sidebar.js +31 -0
  134. data/dist/js/patternfly-functions-tree-grid.js +82 -0
  135. data/dist/js/patternfly-functions-vertical-nav.js +610 -0
  136. data/dist/js/patternfly-functions.js +1307 -0
  137. data/dist/js/patternfly-functions.min.js +1 -0
  138. data/dist/js/patternfly-settings-base.d.ts +9 -0
  139. data/dist/js/patternfly-settings-base.js +16 -0
  140. data/dist/js/patternfly-settings-charts.d.ts +92 -0
  141. data/dist/js/patternfly-settings-charts.js +449 -0
  142. data/dist/js/patternfly-settings-colors.d.ts +88 -0
  143. data/dist/js/patternfly-settings-colors.js +91 -0
  144. data/dist/js/patternfly-settings.d.ts +3 -0
  145. data/dist/js/patternfly-settings.js +558 -0
  146. data/dist/js/patternfly-settings.min.js +1 -0
  147. data/dist/js/patternfly.dataTables.pfColVis.js +151 -0
  148. data/dist/js/patternfly.dataTables.pfEmpty.js +253 -0
  149. data/dist/js/patternfly.dataTables.pfEmpty.min.js +1 -0
  150. data/dist/js/patternfly.dataTables.pfFilter.js +429 -0
  151. data/dist/js/patternfly.dataTables.pfFilter.min.js +1 -0
  152. data/dist/js/patternfly.dataTables.pfPagination.js +401 -0
  153. data/dist/js/patternfly.dataTables.pfPagination.min.js +1 -0
  154. data/dist/js/patternfly.dataTables.pfResize.js +214 -0
  155. data/dist/js/patternfly.dataTables.pfResize.min.js +1 -0
  156. data/dist/js/patternfly.dataTables.pfSelect.js +281 -0
  157. data/dist/js/patternfly.dataTables.pfSelect.min.js +1 -0
  158. data/dist/js/patternfly.js +1866 -0
  159. data/dist/js/patternfly.min.js +2 -0
  160. data/dist/sass/_patternfly-compass.scss +3 -0
  161. data/dist/sass/_patternfly-sprockets.scss +3 -0
  162. data/dist/sass/_patternfly.scss +147 -0
  163. data/dist/sass/patternfly/_about-modal.scss +44 -0
  164. data/dist/sass/patternfly/_accordion.scss +18 -0
  165. data/dist/sass/patternfly/_alerts.scss +44 -0
  166. data/dist/sass/patternfly/_application-launcher.scss +213 -0
  167. data/dist/sass/patternfly/_badges.scss +11 -0
  168. data/dist/sass/patternfly/_blank-slate.scss +52 -0
  169. data/dist/sass/patternfly/_bootstrap-combobox.scss +35 -0
  170. data/dist/sass/patternfly/_bootstrap-datepicker.scss +132 -0
  171. data/dist/sass/patternfly/_bootstrap-mixin-overrides.scss +33 -0
  172. data/dist/sass/patternfly/_bootstrap-select.scss +108 -0
  173. data/dist/sass/patternfly/_bootstrap-slider.scss +66 -0
  174. data/dist/sass/patternfly/_bootstrap-switch.scss +19 -0
  175. data/dist/sass/patternfly/_bootstrap-touchspin.scss +31 -0
  176. data/dist/sass/patternfly/_bootstrap-treeview.scss +89 -0
  177. data/dist/sass/patternfly/_breadcrumbs.scss +20 -0
  178. data/dist/sass/patternfly/_buttons.scss +50 -0
  179. data/dist/sass/patternfly/_card-view.scss +105 -0
  180. data/dist/sass/patternfly/_cards.scss +238 -0
  181. data/dist/sass/patternfly/_charts.scss +388 -0
  182. data/dist/sass/patternfly/_close.scss +16 -0
  183. data/dist/sass/patternfly/_color-variables.scss +85 -0
  184. data/dist/sass/patternfly/_context-selector.scss +125 -0
  185. data/dist/sass/patternfly/_datatables.scss +186 -0
  186. data/dist/sass/patternfly/_date-and-time.scss +35 -0
  187. data/dist/sass/patternfly/_dropdowns.scss +235 -0
  188. data/dist/sass/patternfly/_experimental-features.scss +48 -0
  189. data/dist/sass/patternfly/_filter.scss +42 -0
  190. data/dist/sass/patternfly/_fonts.scss +124 -0
  191. data/dist/sass/patternfly/_footer.scss +19 -0
  192. data/dist/sass/patternfly/_forms.scss +192 -0
  193. data/dist/sass/patternfly/_icons.scss +371 -0
  194. data/dist/sass/patternfly/_infotip.scss +145 -0
  195. data/dist/sass/patternfly/_labels.scss +17 -0
  196. data/dist/sass/patternfly/_layouts.scss +140 -0
  197. data/dist/sass/patternfly/_links.scss +5 -0
  198. data/dist/sass/patternfly/_list-group.scss +23 -0
  199. data/dist/sass/patternfly/_list-pf.scss +178 -0
  200. data/dist/sass/patternfly/_list-view-dnd.scss +53 -0
  201. data/dist/sass/patternfly/_list-view.scss +390 -0
  202. data/dist/sass/patternfly/_login.scss +341 -0
  203. data/dist/sass/patternfly/_mixins.scss +81 -0
  204. data/dist/sass/patternfly/_modals.scss +49 -0
  205. data/dist/sass/patternfly/_nav-vertical-alt.scss +168 -0
  206. data/dist/sass/patternfly/_navbar-alt.scss +141 -0
  207. data/dist/sass/patternfly/_navbar-vertical.scss +168 -0
  208. data/dist/sass/patternfly/_navbar.scss +579 -0
  209. data/dist/sass/patternfly/_notifications-drawer.scss +250 -0
  210. data/dist/sass/patternfly/_pager.scss +68 -0
  211. data/dist/sass/patternfly/_pagination.scss +121 -0
  212. data/dist/sass/patternfly/_panels.scss +134 -0
  213. data/dist/sass/patternfly/_popovers.scss +52 -0
  214. data/dist/sass/patternfly/_progress-bars.scss +121 -0
  215. data/dist/sass/patternfly/_rcue-about-modal.scss +45 -0
  216. data/dist/sass/patternfly/_rcue-additions.scss +11 -0
  217. data/dist/sass/patternfly/_rcue-login.scss +75 -0
  218. data/dist/sass/patternfly/_rcue-variables.scss +57 -0
  219. data/dist/sass/patternfly/_rcue.scss +6 -0
  220. data/dist/sass/patternfly/_search.scss +64 -0
  221. data/dist/sass/patternfly/_sidebar.scss +176 -0
  222. data/dist/sass/patternfly/_skip-to-content.scss +12 -0
  223. data/dist/sass/patternfly/_spinner.scss +72 -0
  224. data/dist/sass/patternfly/_syntax-highlighting.scss +36 -0
  225. data/dist/sass/patternfly/_table-view.scss +188 -0
  226. data/dist/sass/patternfly/_tables.scss +90 -0
  227. data/dist/sass/patternfly/_tabs.scss +118 -0
  228. data/dist/sass/patternfly/_time-picker.scss +98 -0
  229. data/dist/sass/patternfly/_toast.scss +75 -0
  230. data/dist/sass/patternfly/_toolbar.scss +190 -0
  231. data/dist/sass/patternfly/_tooltip.scss +15 -0
  232. data/dist/sass/patternfly/_tree-list-view.scss +83 -0
  233. data/dist/sass/patternfly/_type.scss +29 -0
  234. data/dist/sass/patternfly/_variables.scss +595 -0
  235. data/dist/sass/patternfly/_vertical-nav.scss +944 -0
  236. data/dist/sass/patternfly/_wizard.scss +665 -0
  237. data/dist/sass/patternfly/dependencies/bootstrap-combobox/combobox.scss +57 -0
  238. data/dist/sass/patternfly/dependencies/bootstrap-datepicker/datepicker.scss +242 -0
  239. data/dist/sass/patternfly/dependencies/bootstrap-datepicker/datepicker3.scss +257 -0
  240. data/dist/sass/patternfly/dependencies/bootstrap-select/bootstrap-select.scss +389 -0
  241. data/dist/sass/patternfly/dependencies/bootstrap-select/variables.scss +9 -0
  242. data/dist/sass/patternfly/dependencies/bootstrap-slider/_mixins.scss +25 -0
  243. data/dist/sass/patternfly/dependencies/bootstrap-slider/_rules.scss +246 -0
  244. data/dist/sass/patternfly/dependencies/bootstrap-slider/_variables.scss +28 -0
  245. data/dist/sass/patternfly/dependencies/bootstrap-slider/bootstrap-slider.scss +42 -0
  246. data/dist/sass/patternfly/dependencies/bootstrap-switch/bootstrap-switch.scss +195 -0
  247. data/dist/sass/patternfly/dependencies/bootstrap-switch/build.scss +3 -0
  248. data/dist/sass/patternfly/dependencies/bootstrap-switch/mixins/alerts.scss +14 -0
  249. data/dist/sass/patternfly/dependencies/bootstrap-switch/mixins/background-variant.scss +9 -0
  250. data/dist/sass/patternfly/dependencies/bootstrap-switch/mixins/border-radius.scss +18 -0
  251. data/dist/sass/patternfly/dependencies/bootstrap-switch/mixins/buttons.scss +68 -0
  252. data/dist/sass/patternfly/dependencies/bootstrap-switch/mixins/center-block.scss +7 -0
  253. data/dist/sass/patternfly/dependencies/bootstrap-switch/mixins/clearfix.scss +22 -0
  254. data/dist/sass/patternfly/dependencies/bootstrap-switch/mixins/forms.scss +85 -0
  255. data/dist/sass/patternfly/dependencies/bootstrap-switch/mixins/gradients.scss +59 -0
  256. data/dist/sass/patternfly/dependencies/bootstrap-switch/mixins/grid-framework.scss +98 -0
  257. data/dist/sass/patternfly/dependencies/bootstrap-switch/mixins/grid.scss +122 -0
  258. data/dist/sass/patternfly/dependencies/bootstrap-switch/mixins/hide-text.scss +21 -0
  259. data/dist/sass/patternfly/dependencies/bootstrap-switch/mixins/image.scss +33 -0
  260. data/dist/sass/patternfly/dependencies/bootstrap-switch/mixins/labels.scss +12 -0
  261. data/dist/sass/patternfly/dependencies/bootstrap-switch/mixins/list-group.scss +29 -0
  262. data/dist/sass/patternfly/dependencies/bootstrap-switch/mixins/nav-divider.scss +10 -0
  263. data/dist/sass/patternfly/dependencies/bootstrap-switch/mixins/nav-vertical-align.scss +9 -0
  264. data/dist/sass/patternfly/dependencies/bootstrap-switch/mixins/opacity.scss +8 -0
  265. data/dist/sass/patternfly/dependencies/bootstrap-switch/mixins/pagination.scss +23 -0
  266. data/dist/sass/patternfly/dependencies/bootstrap-switch/mixins/panels.scss +24 -0
  267. data/dist/sass/patternfly/dependencies/bootstrap-switch/mixins/progress-bar.scss +10 -0
  268. data/dist/sass/patternfly/dependencies/bootstrap-switch/mixins/reset-filter.scss +8 -0
  269. data/dist/sass/patternfly/dependencies/bootstrap-switch/mixins/reset-text.scss +18 -0
  270. data/dist/sass/patternfly/dependencies/bootstrap-switch/mixins/resize.scss +6 -0
  271. data/dist/sass/patternfly/dependencies/bootstrap-switch/mixins/responsive-visibility.scss +15 -0
  272. data/dist/sass/patternfly/dependencies/bootstrap-switch/mixins/size.scss +10 -0
  273. data/dist/sass/patternfly/dependencies/bootstrap-switch/mixins/tab-focus.scss +9 -0
  274. data/dist/sass/patternfly/dependencies/bootstrap-switch/mixins/table-row.scss +28 -0
  275. data/dist/sass/patternfly/dependencies/bootstrap-switch/mixins/text-emphasis.scss +9 -0
  276. data/dist/sass/patternfly/dependencies/bootstrap-switch/mixins/text-overflow.scss +8 -0
  277. data/dist/sass/patternfly/dependencies/bootstrap-switch/mixins/vendor-prefixes.scss +227 -0
  278. data/dist/sass/patternfly/dependencies/bootstrap-switch/mixins.scss +40 -0
  279. data/dist/sass/patternfly/dependencies/bootstrap-switch/variables.scss +862 -0
  280. data/dist/sass/patternfly/dependencies/bootstrap-touchspin/_jquery.bootstrap-touchspin.scss +45 -0
  281. data/dist/sass/patternfly/dependencies/c3/_c3.scss +178 -0
  282. data/dist/sass/patternfly/dependencies/eonasdan-bootstrap-datetimepicker/_bootstrap-datetimepicker.scss +344 -0
  283. data/dist/sass/patternfly/dependencies/eonasdan-bootstrap-datetimepicker/bootstrap-datetimepicker-build.scss +16 -0
  284. data/dist/sass/rcue/_about-modal.scss +44 -0
  285. data/dist/sass/rcue/_accordion.scss +18 -0
  286. data/dist/sass/rcue/_alerts.scss +44 -0
  287. data/dist/sass/rcue/_badges.scss +11 -0
  288. data/dist/sass/rcue/_blank-slate.scss +52 -0
  289. data/dist/sass/rcue/_bootstrap-combobox.scss +35 -0
  290. data/dist/sass/rcue/_bootstrap-datepicker.scss +132 -0
  291. data/dist/sass/rcue/_bootstrap-mixin-overrides.scss +33 -0
  292. data/dist/sass/rcue/_bootstrap-select.scss +108 -0
  293. data/dist/sass/rcue/_bootstrap-slider.scss +66 -0
  294. data/dist/sass/rcue/_bootstrap-switch.scss +19 -0
  295. data/dist/sass/rcue/_bootstrap-touchspin.scss +31 -0
  296. data/dist/sass/rcue/_bootstrap-treeview.scss +89 -0
  297. data/dist/sass/rcue/_breadcrumbs.scss +20 -0
  298. data/dist/sass/rcue/_buttons.scss +50 -0
  299. data/dist/sass/rcue/_card-view.scss +105 -0
  300. data/dist/sass/rcue/_cards.scss +238 -0
  301. data/dist/sass/rcue/_charts.scss +388 -0
  302. data/dist/sass/rcue/_close.scss +16 -0
  303. data/dist/sass/rcue/_color-variables.scss +85 -0
  304. data/dist/sass/rcue/_context-selector.scss +125 -0
  305. data/dist/sass/rcue/_datatables.scss +186 -0
  306. data/dist/sass/rcue/_date-and-time.scss +35 -0
  307. data/dist/sass/rcue/_dropdowns.scss +235 -0
  308. data/dist/sass/rcue/_experimental-features.scss +48 -0
  309. data/dist/sass/rcue/_filter.scss +42 -0
  310. data/dist/sass/rcue/_fonts.scss +124 -0
  311. data/dist/sass/rcue/_footer.scss +19 -0
  312. data/dist/sass/rcue/_forms.scss +192 -0
  313. data/dist/sass/rcue/_icons.scss +371 -0
  314. data/dist/sass/rcue/_infotip.scss +145 -0
  315. data/dist/sass/rcue/_labels.scss +17 -0
  316. data/dist/sass/rcue/_layouts.scss +140 -0
  317. data/dist/sass/rcue/_links.scss +5 -0
  318. data/dist/sass/rcue/_list-group.scss +23 -0
  319. data/dist/sass/rcue/_list-pf.scss +178 -0
  320. data/dist/sass/rcue/_list-view-dnd.scss +53 -0
  321. data/dist/sass/rcue/_list-view.scss +390 -0
  322. data/dist/sass/rcue/_login.scss +341 -0
  323. data/dist/sass/rcue/_mixins.scss +81 -0
  324. data/dist/sass/rcue/_modals.scss +49 -0
  325. data/dist/sass/rcue/_nav-vertical-alt.scss +168 -0
  326. data/dist/sass/rcue/_navbar-alt.scss +141 -0
  327. data/dist/sass/rcue/_navbar-vertical.scss +168 -0
  328. data/dist/sass/rcue/_navbar.scss +579 -0
  329. data/dist/sass/rcue/_notifications-drawer.scss +250 -0
  330. data/dist/sass/rcue/_pager.scss +68 -0
  331. data/dist/sass/rcue/_pagination.scss +121 -0
  332. data/dist/sass/rcue/_panels.scss +134 -0
  333. data/dist/sass/rcue/_patternfly-additions.scss +76 -0
  334. data/dist/sass/rcue/_patternfly.scss +31 -0
  335. data/dist/sass/rcue/_popovers.scss +52 -0
  336. data/dist/sass/rcue/_progress-bars.scss +121 -0
  337. data/dist/sass/rcue/_rcue-about-modal.scss +45 -0
  338. data/dist/sass/rcue/_rcue-login.scss +75 -0
  339. data/dist/sass/rcue/_rcue-variables.scss +57 -0
  340. data/dist/sass/rcue/_search.scss +64 -0
  341. data/dist/sass/rcue/_sidebar.scss +176 -0
  342. data/dist/sass/rcue/_skip-to-content.scss +12 -0
  343. data/dist/sass/rcue/_spinner.scss +72 -0
  344. data/dist/sass/rcue/_syntax-highlighting.scss +36 -0
  345. data/dist/sass/rcue/_table-view.scss +188 -0
  346. data/dist/sass/rcue/_tables.scss +90 -0
  347. data/dist/sass/rcue/_tabs.scss +118 -0
  348. data/dist/sass/rcue/_time-picker.scss +98 -0
  349. data/dist/sass/rcue/_toast.scss +75 -0
  350. data/dist/sass/rcue/_toolbar.scss +190 -0
  351. data/dist/sass/rcue/_tooltip.scss +15 -0
  352. data/dist/sass/rcue/_tree-list-view.scss +83 -0
  353. data/dist/sass/rcue/_type.scss +29 -0
  354. data/dist/sass/rcue/_variables.scss +595 -0
  355. data/dist/sass/rcue/_vertical-nav.scss +944 -0
  356. data/dist/sass/rcue/_wizard.scss +665 -0
  357. data/lib/patternfly-sass/engine.rb +11 -0
  358. data/lib/patternfly-sass/version.rb +3 -0
  359. data/lib/patternfly-sass.rb +92 -0
  360. data/patternfly-sass.gemspec +31 -0
  361. metadata +445 -0
@@ -0,0 +1,429 @@
1
+ /**
2
+ * @summary pfFilter for DataTables
3
+ * @description A collection of API methods providing simple filter functionality for DataTables. This ensures
4
+ * DataTables meets the Patternfly design pattern with a toolbar.
5
+ *
6
+ * To apply a filter, the user must press enter in the given filter input. The user may apply a filter to a different
7
+ * column via the given filter drop down. After a filter has been applied, the filter results text, active filter
8
+ * controls, and a clear all control are shown.
9
+ *
10
+ * The toolbar and empty state layouts are expected to contain the classes as shown in the example below.
11
+ *
12
+ * Example:
13
+ *
14
+ * <!-- NOTE: Some configuration may be omitted for clarity -->
15
+ * <div class="row toolbar-pf table-view-pf-toolbar" id="toolbar1">
16
+ * <div class="col-sm-12">
17
+ * <form class="toolbar-pf-actions">
18
+ * <div class="form-group toolbar-pf-filter">
19
+ * <label class="sr-only" for="filter">Rendering Engine</label>
20
+ * <div class="input-group">
21
+ * <div class="input-group-btn">
22
+ * <button type="button" class="btn btn-default dropdown-toggle" id="filter" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Rendering Engine <span class="caret"></span></button>
23
+ * <ul class="dropdown-menu">
24
+ * <li><a href="#" id="filter1">Rendering Engine</a></li>
25
+ * <li><a href="#" id="filter2">Browser</a></li>
26
+ * </ul>
27
+ * </div>
28
+ * <input type="text" class="form-control" placeholder="Filter By Rendering Engine..." autocomplete="off" id="filterInput">
29
+ * </div>
30
+ * </div>
31
+ * ...
32
+ * </form>
33
+ * <div class="row toolbar-pf-results">
34
+ * <div class="col-sm-9">
35
+ * <div class="hidden">
36
+ * <h5>0 Results</h5>
37
+ * <p>Active filters:</p>
38
+ * <ul class="list-inline"></ul>
39
+ * <p><a href="#">Clear All Filters</a></p>
40
+ * </div>
41
+ * </div>
42
+ * <div class="col-sm-3 table-view-pf-select-results">
43
+ * <strong>0</strong> of <strong>0</strong> selected
44
+ * </div>
45
+ * </div>
46
+ * </div>
47
+ * </div>
48
+ * <table class="table table-striped table-bordered table-hover" id="table1">
49
+ * <thead>
50
+ * <tr>
51
+ * <th><input type="checkbox" name="selectAll"></th>
52
+ * <th>Rendering Engine</th>
53
+ * <th>Browser</th>
54
+ * </tr>
55
+ * </thead>
56
+ * </table>
57
+ * ...
58
+ * <script>
59
+ * // NOTE: Some properties may be omitted for clarity
60
+ * $(document).ready(function() {
61
+ * var dt = $("#table1").DataTable({
62
+ * columns: [
63
+ * { data: null, ... },
64
+ * { data: "engine" },
65
+ * { data: "browser" }
66
+ * ],
67
+ * data: [
68
+ * { engine: "Gecko", browser: "Firefox" }
69
+ * { engine: "Trident", browser: "Mozilla" }
70
+ * ],
71
+ * dom: "t",
72
+ * pfConfig: {
73
+ * ...
74
+ * filterCaseInsensitive: true,
75
+ * filterCols: [
76
+ * null,
77
+ * {
78
+ * default: true,
79
+ * optionSelector: "#filter1",
80
+ * placeholder: "Filter By Rendering Engine..."
81
+ * }, {
82
+ * optionSelector: "#filter2",
83
+ * placeholder: "Filter By Browser..."
84
+ * }
85
+ * ],
86
+ * toolbarSelector: "#toolbar1"
87
+ * }
88
+ * });
89
+ * // Optional API to clear filters
90
+ * dt.table().pfFilter.clearFilters();
91
+ *
92
+ * // Optional API to add filter
93
+ * dt.table().pfFilter.addFilter({
94
+ * column: 2,
95
+ * name: "Browser",
96
+ * value: "Firefox"
97
+ * });
98
+ * });
99
+ * </script>
100
+ *
101
+ * Note: This functionality requires the following Javascript library files to be loaded:
102
+ *
103
+ * https://cdn.datatables.net/select/1.2.0/js/dataTables.select.min.js
104
+ */
105
+ (function (factory) {
106
+ "use strict";
107
+ if (typeof define === "function" && define.amd ) {
108
+ // AMD
109
+ define (["jquery", "datatables.net"], function ($) {
110
+ return factory ($, window, document);
111
+ });
112
+ } else if (typeof exports === "object") {
113
+ // CommonJS
114
+ module.exports = function (root, $) {
115
+ if (!root) {
116
+ root = window;
117
+ }
118
+ if (!$ || !$.fn.dataTable) {
119
+ $ = require("datatables.net")(root, $).$;
120
+ }
121
+ return factory($, root, root.document);
122
+ };
123
+ } else {
124
+ // Browser
125
+ factory(jQuery, window, document);
126
+ }
127
+ }(function ($, window, document, undefined) {
128
+ "use strict";
129
+ var DataTable = $.fn.dataTable;
130
+ var ACTIVE_FILTER_CONTROLS_SELECTOR = ".list-inline"; // Active filter controls
131
+ var CLEAR_FILTERS_SELECTOR = ".toolbar-pf-results a"; // Clear filters control
132
+ var FILTER_SELECTOR = ".toolbar-pf-filter"; // Filter input
133
+ var FILTER_BUTTON_SELECTOR = FILTER_SELECTOR + " button"; // Filter button
134
+ var FILTER_INPUT_SELECTOR = FILTER_SELECTOR + " input"; // Filter input
135
+ var FILTER_LABEL_SELECTOR = FILTER_SELECTOR + " label"; // Filter label
136
+ var RESULTS_SELECTOR = ".toolbar-pf-results"; // Toolbar results row
137
+ var FILTER_RESULTS_SELECTOR = RESULTS_SELECTOR + " h5"; // Toolbar filter results
138
+
139
+ DataTable.pfFilter = {};
140
+
141
+ /**
142
+ * Initialize
143
+ *
144
+ * @param {DataTable.Api} dt DataTable
145
+ * @private
146
+ */
147
+ DataTable.pfFilter.init = function (dt) {
148
+ var i;
149
+ var ctx = dt.settings()[0];
150
+ var opts = (ctx.oInit.pfConfig) ? ctx.oInit.pfConfig : {};
151
+
152
+ ctx._pfFilter = {};
153
+ ctx._pfFilter.filterButton = $(FILTER_BUTTON_SELECTOR, opts.toolbarSelector); // Filter button
154
+ ctx._pfFilter.filterCols = opts.filterCols; // Filter colums config
155
+ ctx._pfFilter.filterLabel = $(FILTER_LABEL_SELECTOR, opts.toolbarSelector); // Filter label
156
+ ctx._pfFilter.filterInput = $(FILTER_INPUT_SELECTOR, opts.toolbarSelector); // Filter input
157
+ ctx._pfFilter.filters = []; // Applied filters array
158
+ ctx._pfFilter.activeFilterControls = $(ACTIVE_FILTER_CONTROLS_SELECTOR, opts.toolbarSelector); // Active filter controls
159
+ ctx._pfFilter.activeFilters = ctx._pfFilter.activeFilterControls.closest("div"); // Active filters container
160
+ ctx._pfFilter.clearFilters = $(CLEAR_FILTERS_SELECTOR, opts.toolbarSelector); // Clear filters control
161
+ ctx._pfFilter.results = $(RESULTS_SELECTOR, opts.toolbarSelector); // Toolbar results row
162
+ ctx._pfFilter.filterCaseInsensitive = opts.filterCaseInsensitive; // Filter filter case insensitive
163
+ ctx._pfFilter.filterResults = $(FILTER_RESULTS_SELECTOR, opts.toolbarSelector); // Toolbar filter results
164
+
165
+ if (ctx._pfFilter.filterCols === undefined) {
166
+ return;
167
+ }
168
+
169
+ // Set default filter properties
170
+ for (i = 0; i < ctx._pfFilter.filterCols.length; i++) {
171
+ if (ctx._pfFilter.filterCols[i] === null) {
172
+ continue;
173
+ }
174
+ ctx._pfFilter.filterColumn = i; // Current filter column
175
+ ctx._pfFilter.filterName = $(ctx._pfFilter.filterCols[i].optionSelector).text(); // Name of current filter
176
+ if (ctx._pfFilter.filterCols[i].default === true) {
177
+ break;
178
+ }
179
+ }
180
+
181
+ // Handle click on filter menu to set current filter column and name
182
+ for (i = 0; i < ctx._pfFilter.filterCols.length; i++) {
183
+ handleFilterOption(dt, i); // Need to pass value of i as a function
184
+ }
185
+
186
+ // Handle actions when enter is pressed within filter input
187
+ handleFilterInput(dt);
188
+
189
+ // Handle actions when clear filters control is selected
190
+ handleClearFilters(dt);
191
+
192
+ // Simple filter
193
+ $.fn.dataTable.ext.search.push(function (ctx, data, dataIndex) {
194
+ var showThisRow = true;
195
+ // Must match all filters
196
+ if (ctx._pfFilter) {
197
+ $.each(ctx._pfFilter.filters, function (index, filter) {
198
+ if (ctx._pfFilter.filterCaseInsensitive !== undefined && ctx._pfFilter.filterCaseInsensitive === true) {
199
+ if (data[filter.column].toLowerCase().indexOf(filter.value.toLowerCase()) === -1) {
200
+ showThisRow = false;
201
+ }
202
+ } else {
203
+ if (data[filter.column].indexOf(filter.value) === -1) {
204
+ showThisRow = false;
205
+ }
206
+ }
207
+ });
208
+ }
209
+ return showThisRow;
210
+ });
211
+ };
212
+
213
+ // Local functions
214
+
215
+ /**
216
+ * Add active filter control
217
+ *
218
+ * @param {DataTable.Api} dt DataTable
219
+ * @param {object} filter Properties associated with a new filter
220
+ * @param {string} filter.column - Column associated with DataTable
221
+ * @param {string} filter.name - Name of the filter
222
+ * @param {string} filter.value - Value of the filter
223
+ * @private
224
+ */
225
+ function addActiveFilterControl (dt, filter) {
226
+ var ctx = dt.settings()[0];
227
+ var i;
228
+
229
+ // Append active filter control
230
+ ctx._pfFilter.activeFilterControls.append('<li><span class="label label-info">' + filter.name + ': ' +
231
+ filter.value + '<a href="#"><span class="pficon pficon-close"/></a></span></li>');
232
+
233
+ // Handle click to clear active filter
234
+ $("a", ctx._pfFilter.activeFilterControls).last().on("click", function (e) {
235
+ // Find existing filter and remove
236
+ for (i = 0; i < ctx._pfFilter.filters.length; i++) {
237
+ if (ctx._pfFilter.filters[i].column === filter.column && ctx._pfFilter.filters[i].value === filter.value) {
238
+ ctx._pfFilter.filters.splice(i, 1);
239
+ $(this).parents("li").remove();
240
+ break;
241
+ }
242
+ }
243
+ if (ctx._pfFilter.filters.length === 0) {
244
+ ctx._pfFilter.activeFilters.addClass("hidden"); // Hide
245
+ }
246
+ dt.draw();
247
+ updateFilterResults(dt);
248
+ });
249
+ // Show active filters
250
+ ctx._pfFilter.activeFilters.removeClass("hidden");
251
+ }
252
+
253
+ /**
254
+ * Add filter
255
+ *
256
+ * @param {DataTable.Api} dt DataTable
257
+ * @param {object} filter Properties associated with a new filter
258
+ * @param {string} filter.column - Column associated with DataTable
259
+ * @param {string} filter.name - Name of the filter
260
+ * @param {string} filter.value - Value of the filter
261
+ * @private
262
+ */
263
+ function addFilter (dt, filter) {
264
+ var ctx = dt.settings()[0];
265
+ var found = false;
266
+
267
+ // Find existing entry
268
+ $.grep(ctx._pfFilter.filters, function (f) {
269
+ if (f.column === filter.column && f.value === filter.value) {
270
+ found = true;
271
+ }
272
+ });
273
+
274
+ // Add new filter
275
+ if (!found) {
276
+ ctx._pfFilter.filters.push(filter);
277
+ dt.draw();
278
+ addActiveFilterControl(dt, filter);
279
+ updateFilterResults(dt);
280
+ }
281
+ ctx._pfFilter.filterInput.val(""); // Clear input
282
+ }
283
+
284
+ /**
285
+ * Clear filters
286
+ *
287
+ * @param {DataTable.Api} dt DataTable
288
+ * @private
289
+ */
290
+ function clearFilters (dt) {
291
+ var ctx = dt.settings()[0];
292
+ ctx._pfFilter.filters.length = 0; // Reset filters
293
+ ctx._pfFilter.activeFilterControls.html(""); // Remove active filter controls
294
+ ctx._pfFilter.activeFilters.addClass("hidden"); // Hide active filters area
295
+ dt.draw();
296
+ }
297
+
298
+ /**
299
+ * Handle actions when clear filters control is selected
300
+ *
301
+ * @param {DataTable.Api} dt DataTable
302
+ * @private
303
+ */
304
+ function handleClearFilters (dt) {
305
+ var ctx = dt.settings()[0];
306
+ if (ctx._pfFilter.clearFilters === undefined || ctx._pfFilter.clearFilters.length === 0) {
307
+ return;
308
+ }
309
+ ctx._pfFilter.clearFilters.on("click", function (e) {
310
+ clearFilters(dt);
311
+ });
312
+ }
313
+
314
+ /**
315
+ * Handle actions when enter is pressed within filter input
316
+ *
317
+ * @param {DataTable.Api} dt DataTable
318
+ * @private
319
+ */
320
+ function handleFilterInput (dt) {
321
+ var ctx = dt.settings()[0];
322
+ if (ctx._pfFilter.filterInput === undefined || ctx._pfFilter.filterInput.length === 0) {
323
+ return;
324
+ }
325
+ ctx._pfFilter.filterInput.on("keypress", function (e) {
326
+ var keycode = (e.keyCode ? e.keyCode : e.which);
327
+ if (keycode === 13) {
328
+ e.preventDefault();
329
+ if (this.value.trim().length > 0) {
330
+ addFilter(dt, {
331
+ column: ctx._pfFilter.filterColumn,
332
+ name: ctx._pfFilter.filterName,
333
+ value: this.value
334
+ });
335
+ }
336
+ return false;
337
+ }
338
+ return true;
339
+ });
340
+ }
341
+
342
+ /**
343
+ * Handle actions when filter options are selected
344
+ *
345
+ * @param {DataTable.Api} dt DataTable
346
+ * @param {number} i The column associated with this handler
347
+ * @private
348
+ */
349
+ function handleFilterOption (dt, i) {
350
+ var ctx = dt.settings()[0];
351
+ if (ctx._pfFilter.filterCols[i] === null || ctx._pfFilter.filterCols[i].optionSelector === undefined) {
352
+ return;
353
+ }
354
+ $(ctx._pfFilter.filterCols[i].optionSelector).on("click", function (e) {
355
+ // Set input placeholder
356
+ if (ctx._pfFilter.filterInput !== undefined && ctx._pfFilter.filterInput.length !== 0) {
357
+ ctx._pfFilter.filterInput.get(0).placeholder = ctx._pfFilter.filterCols[i].placeholder;
358
+ }
359
+ // Set filter label
360
+ if (ctx._pfFilter.filterLabel !== undefined && ctx._pfFilter.filterLabel.length !== 0) {
361
+ ctx._pfFilter.filterLabel.html($(this).text());
362
+ }
363
+ // Set filter button
364
+ if (ctx._pfFilter.filterButton !== undefined && ctx._pfFilter.filterButton.length !== 0) {
365
+ ctx._pfFilter.filterButton.html($(this).text() + ' <span class="caret"></span>');
366
+ }
367
+ ctx._pfFilter.filterColumn = i; // Save filter column when applying filter
368
+ ctx._pfFilter.filterName = $(this).text(); // Save filter name for active filter control
369
+ });
370
+ }
371
+
372
+ /**
373
+ * Update active filter results
374
+ *
375
+ * @param {DataTable.Api} dt DataTable
376
+ * @private
377
+ */
378
+ function updateFilterResults (dt) {
379
+ var ctx = dt.settings()[0];
380
+ var filteredRows = dt.rows({"page": "current", "search": "applied"}).flatten().length;
381
+ if (ctx._pfFilter.filterResults === undefined || ctx._pfFilter.filterResults.length === 0) {
382
+ return;
383
+ }
384
+ ctx._pfFilter.filterResults.html(filteredRows + " Results");
385
+ }
386
+
387
+ // DataTables API
388
+
389
+ /**
390
+ * Add filter
391
+ *
392
+ * Example: dt.table().pfFilter.addFilter({
393
+ * column: 2,
394
+ * name: "Browser",
395
+ * value: "Firefox"
396
+ * });
397
+ *
398
+ * @param {object} filter Properties associated with a new filter
399
+ * @param {string} filter.column - Column associated with DataTable
400
+ * @param {string} filter.name - Name of the filter
401
+ * @param {string} filter.value - Value of the filter
402
+ */
403
+ DataTable.Api.register("pfFilter.addFilter()", function (filter) {
404
+ return this.iterator("table", function (ctx) {
405
+ addFilter(new DataTable.Api(ctx), filter);
406
+ });
407
+ });
408
+
409
+ /**
410
+ * Clear filters
411
+ *
412
+ * Example: dt.table().pfFilter.clearFilters();
413
+ *
414
+ */
415
+ DataTable.Api.register("pfFilter.clearFilters()", function () {
416
+ return this.iterator("table", function (ctx) {
417
+ clearFilters(new DataTable.Api(ctx));
418
+ });
419
+ });
420
+
421
+ // DataTables creation
422
+ $(document).on("init.dt", function (e, ctx, json) {
423
+ if (e.namespace !== "dt") {
424
+ return;
425
+ }
426
+ DataTable.pfFilter.init(new DataTable.Api(ctx));
427
+ });
428
+ return DataTable.pfFilter;
429
+ }));
@@ -0,0 +1 @@
1
+ !function(factory){"use strict";"function"==typeof define&&define.amd?define(["jquery","datatables.net"],function($){return factory($,window,document)}):"object"==typeof exports?module.exports=function(root,$){return root||(root=window),$&&$.fn.dataTable||($=require("datatables.net")(root,$).$),factory($,root,root.document)}:factory(jQuery,window,document)}(function($,window,document,undefined){"use strict";function addActiveFilterControl(dt,filter){var i,ctx=dt.settings()[0];ctx._pfFilter.activeFilterControls.append('<li><span class="label label-info">'+filter.name+": "+filter.value+'<a href="#"><span class="pficon pficon-close"/></a></span></li>'),$("a",ctx._pfFilter.activeFilterControls).last().on("click",function(e){for(i=0;i<ctx._pfFilter.filters.length;i++)if(ctx._pfFilter.filters[i].column===filter.column&&ctx._pfFilter.filters[i].value===filter.value){ctx._pfFilter.filters.splice(i,1),$(this).parents("li").remove();break}0===ctx._pfFilter.filters.length&&ctx._pfFilter.activeFilters.addClass("hidden"),dt.draw(),updateFilterResults(dt)}),ctx._pfFilter.activeFilters.removeClass("hidden")}function addFilter(dt,filter){var ctx=dt.settings()[0],found=!1;$.grep(ctx._pfFilter.filters,function(f){f.column===filter.column&&f.value===filter.value&&(found=!0)}),found||(ctx._pfFilter.filters.push(filter),dt.draw(),addActiveFilterControl(dt,filter),updateFilterResults(dt)),ctx._pfFilter.filterInput.val("")}function clearFilters(dt){var ctx=dt.settings()[0];ctx._pfFilter.filters.length=0,ctx._pfFilter.activeFilterControls.html(""),ctx._pfFilter.activeFilters.addClass("hidden"),dt.draw()}function handleClearFilters(dt){var ctx=dt.settings()[0];ctx._pfFilter.clearFilters!==undefined&&0!==ctx._pfFilter.clearFilters.length&&ctx._pfFilter.clearFilters.on("click",function(e){clearFilters(dt)})}function handleFilterInput(dt){var ctx=dt.settings()[0];ctx._pfFilter.filterInput!==undefined&&0!==ctx._pfFilter.filterInput.length&&ctx._pfFilter.filterInput.on("keypress",function(e){return 13!==(e.keyCode?e.keyCode:e.which)||(e.preventDefault(),this.value.trim().length>0&&addFilter(dt,{column:ctx._pfFilter.filterColumn,name:ctx._pfFilter.filterName,value:this.value}),!1)})}function handleFilterOption(dt,i){var ctx=dt.settings()[0];null!==ctx._pfFilter.filterCols[i]&&ctx._pfFilter.filterCols[i].optionSelector!==undefined&&$(ctx._pfFilter.filterCols[i].optionSelector).on("click",function(e){ctx._pfFilter.filterInput!==undefined&&0!==ctx._pfFilter.filterInput.length&&(ctx._pfFilter.filterInput.get(0).placeholder=ctx._pfFilter.filterCols[i].placeholder),ctx._pfFilter.filterLabel!==undefined&&0!==ctx._pfFilter.filterLabel.length&&ctx._pfFilter.filterLabel.html($(this).text()),ctx._pfFilter.filterButton!==undefined&&0!==ctx._pfFilter.filterButton.length&&ctx._pfFilter.filterButton.html($(this).text()+' <span class="caret"></span>'),ctx._pfFilter.filterColumn=i,ctx._pfFilter.filterName=$(this).text()})}function updateFilterResults(dt){var ctx=dt.settings()[0],filteredRows=dt.rows({page:"current",search:"applied"}).flatten().length;ctx._pfFilter.filterResults!==undefined&&0!==ctx._pfFilter.filterResults.length&&ctx._pfFilter.filterResults.html(filteredRows+" Results")}var DataTable=$.fn.dataTable;return DataTable.pfFilter={},DataTable.pfFilter.init=function(dt){var i,ctx=dt.settings()[0],opts=ctx.oInit.pfConfig?ctx.oInit.pfConfig:{};if(ctx._pfFilter={},ctx._pfFilter.filterButton=$(".toolbar-pf-filter button",opts.toolbarSelector),ctx._pfFilter.filterCols=opts.filterCols,ctx._pfFilter.filterLabel=$(".toolbar-pf-filter label",opts.toolbarSelector),ctx._pfFilter.filterInput=$(".toolbar-pf-filter input",opts.toolbarSelector),ctx._pfFilter.filters=[],ctx._pfFilter.activeFilterControls=$(".list-inline",opts.toolbarSelector),ctx._pfFilter.activeFilters=ctx._pfFilter.activeFilterControls.closest("div"),ctx._pfFilter.clearFilters=$(".toolbar-pf-results a",opts.toolbarSelector),ctx._pfFilter.results=$(".toolbar-pf-results",opts.toolbarSelector),ctx._pfFilter.filterCaseInsensitive=opts.filterCaseInsensitive,ctx._pfFilter.filterResults=$(".toolbar-pf-results h5",opts.toolbarSelector),ctx._pfFilter.filterCols!==undefined){for(i=0;i<ctx._pfFilter.filterCols.length&&(null===ctx._pfFilter.filterCols[i]||(ctx._pfFilter.filterColumn=i,ctx._pfFilter.filterName=$(ctx._pfFilter.filterCols[i].optionSelector).text(),!0!==ctx._pfFilter.filterCols[i].default));i++);for(i=0;i<ctx._pfFilter.filterCols.length;i++)handleFilterOption(dt,i);handleFilterInput(dt),handleClearFilters(dt),$.fn.dataTable.ext.search.push(function(ctx,data,dataIndex){var showThisRow=!0;return ctx._pfFilter&&$.each(ctx._pfFilter.filters,function(index,filter){ctx._pfFilter.filterCaseInsensitive!==undefined&&!0===ctx._pfFilter.filterCaseInsensitive?-1===data[filter.column].toLowerCase().indexOf(filter.value.toLowerCase())&&(showThisRow=!1):-1===data[filter.column].indexOf(filter.value)&&(showThisRow=!1)}),showThisRow})}},DataTable.Api.register("pfFilter.addFilter()",function(filter){return this.iterator("table",function(ctx){addFilter(new DataTable.Api(ctx),filter)})}),DataTable.Api.register("pfFilter.clearFilters()",function(){return this.iterator("table",function(ctx){clearFilters(new DataTable.Api(ctx))})}),$(document).on("init.dt",function(e,ctx,json){"dt"===e.namespace&&DataTable.pfFilter.init(new DataTable.Api(ctx))}),DataTable.pfFilter});