patternfly-sass 0.0.0.pre.semantically.pre.released
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/CODE_OF_CONDUCT.md +4 -0
- data/LICENSE.txt +205 -0
- data/OPEN_SOURCE_LICENCES.txt +1366 -0
- data/QUICKSTART.md +210 -0
- data/README.md +438 -0
- data/dist/fonts/FontAwesome.otf +0 -0
- data/dist/fonts/OpenSans-Bold-webfont.eot +0 -0
- data/dist/fonts/OpenSans-Bold-webfont.svg +19028 -0
- data/dist/fonts/OpenSans-Bold-webfont.ttf +0 -0
- data/dist/fonts/OpenSans-Bold-webfont.woff +0 -0
- data/dist/fonts/OpenSans-Bold-webfont.woff2 +0 -0
- data/dist/fonts/OpenSans-BoldItalic-webfont.eot +0 -0
- data/dist/fonts/OpenSans-BoldItalic-webfont.svg +19036 -0
- data/dist/fonts/OpenSans-BoldItalic-webfont.ttf +0 -0
- data/dist/fonts/OpenSans-BoldItalic-webfont.woff +0 -0
- data/dist/fonts/OpenSans-BoldItalic-webfont.woff2 +0 -0
- data/dist/fonts/OpenSans-ExtraBold-webfont.eot +0 -0
- data/dist/fonts/OpenSans-ExtraBold-webfont.svg +19030 -0
- data/dist/fonts/OpenSans-ExtraBold-webfont.ttf +0 -0
- data/dist/fonts/OpenSans-ExtraBold-webfont.woff +0 -0
- data/dist/fonts/OpenSans-ExtraBold-webfont.woff2 +0 -0
- data/dist/fonts/OpenSans-ExtraBoldItalic-webfont.eot +0 -0
- data/dist/fonts/OpenSans-ExtraBoldItalic-webfont.svg +19036 -0
- data/dist/fonts/OpenSans-ExtraBoldItalic-webfont.ttf +0 -0
- data/dist/fonts/OpenSans-ExtraBoldItalic-webfont.woff +0 -0
- data/dist/fonts/OpenSans-ExtraBoldItalic-webfont.woff2 +0 -0
- data/dist/fonts/OpenSans-Italic-webfont.eot +0 -0
- data/dist/fonts/OpenSans-Italic-webfont.svg +19043 -0
- data/dist/fonts/OpenSans-Italic-webfont.ttf +0 -0
- data/dist/fonts/OpenSans-Italic-webfont.woff +0 -0
- data/dist/fonts/OpenSans-Italic-webfont.woff2 +0 -0
- data/dist/fonts/OpenSans-Light-webfont.eot +0 -0
- data/dist/fonts/OpenSans-Light-webfont.svg +19026 -0
- data/dist/fonts/OpenSans-Light-webfont.ttf +0 -0
- data/dist/fonts/OpenSans-Light-webfont.woff +0 -0
- data/dist/fonts/OpenSans-Light-webfont.woff2 +0 -0
- data/dist/fonts/OpenSans-LightItalic-webfont.eot +0 -0
- data/dist/fonts/OpenSans-LightItalic-webfont.svg +19039 -0
- data/dist/fonts/OpenSans-LightItalic-webfont.ttf +0 -0
- data/dist/fonts/OpenSans-LightItalic-webfont.woff +0 -0
- data/dist/fonts/OpenSans-LightItalic-webfont.woff2 +0 -0
- data/dist/fonts/OpenSans-Regular-webfont.eot +0 -0
- data/dist/fonts/OpenSans-Regular-webfont.svg +19030 -0
- data/dist/fonts/OpenSans-Regular-webfont.ttf +0 -0
- data/dist/fonts/OpenSans-Regular-webfont.woff +0 -0
- data/dist/fonts/OpenSans-Regular-webfont.woff2 +0 -0
- data/dist/fonts/OpenSans-Semibold-webfont.eot +0 -0
- data/dist/fonts/OpenSans-Semibold-webfont.svg +19030 -0
- data/dist/fonts/OpenSans-Semibold-webfont.ttf +0 -0
- data/dist/fonts/OpenSans-Semibold-webfont.woff +0 -0
- data/dist/fonts/OpenSans-Semibold-webfont.woff2 +0 -0
- data/dist/fonts/OpenSans-SemiboldItalic-webfont.eot +0 -0
- data/dist/fonts/OpenSans-SemiboldItalic-webfont.svg +19043 -0
- data/dist/fonts/OpenSans-SemiboldItalic-webfont.ttf +0 -0
- data/dist/fonts/OpenSans-SemiboldItalic-webfont.woff +0 -0
- data/dist/fonts/OpenSans-SemiboldItalic-webfont.woff2 +0 -0
- data/dist/fonts/PatternFlyIcons-webfont.eot +0 -0
- data/dist/fonts/PatternFlyIcons-webfont.svg +140 -0
- data/dist/fonts/PatternFlyIcons-webfont.ttf +0 -0
- data/dist/fonts/PatternFlyIcons-webfont.woff +0 -0
- data/dist/fonts/fontawesome-webfont.eot +0 -0
- data/dist/fonts/fontawesome-webfont.svg +2671 -0
- data/dist/fonts/fontawesome-webfont.ttf +0 -0
- data/dist/fonts/fontawesome-webfont.woff +0 -0
- data/dist/fonts/fontawesome-webfont.woff2 +0 -0
- data/dist/fonts/glyphicons-halflings-regular.eot +0 -0
- data/dist/fonts/glyphicons-halflings-regular.svg +288 -0
- data/dist/fonts/glyphicons-halflings-regular.ttf +0 -0
- data/dist/fonts/glyphicons-halflings-regular.woff +0 -0
- data/dist/fonts/glyphicons-halflings-regular.woff2 +0 -0
- data/dist/img/Logo_Horizontal_Reversed.svg +49 -0
- data/dist/img/OpenShift-Logo-NoText.svg +51 -0
- data/dist/img/OpenShift-Logo-Text.svg +95 -0
- data/dist/img/OpenShift-logo.svg +69 -0
- data/dist/img/RH_Atomic-Logo-NoText.svg +53 -0
- data/dist/img/RH_Atomic-Logo-Text.svg +91 -0
- data/dist/img/RH_atomic.svg +88 -0
- data/dist/img/apple-touch-icon-precomposed-114.png +0 -0
- data/dist/img/apple-touch-icon-precomposed-144.png +0 -0
- data/dist/img/apple-touch-icon-precomposed-152.png +0 -0
- data/dist/img/apple-touch-icon-precomposed-180.png +0 -0
- data/dist/img/apple-touch-icon-precomposed-57.png +0 -0
- data/dist/img/apple-touch-icon-precomposed-72.png +0 -0
- data/dist/img/apple-touch-icon-precomposed-76.png +0 -0
- data/dist/img/bg-login-2.png +0 -0
- data/dist/img/bg-login.jpg +0 -0
- data/dist/img/bg-login.png +0 -0
- data/dist/img/bg-modal-about-pf.png +0 -0
- data/dist/img/bg-navbar-pf-alt.svg +9 -0
- data/dist/img/brand-alt.svg +88 -0
- data/dist/img/brand.svg +87 -0
- data/dist/img/dropbox-logo.svg +15 -0
- data/dist/img/facebook-logo.svg +12 -0
- data/dist/img/favicon.ico +0 -0
- data/dist/img/fedora-logo.png +0 -0
- data/dist/img/git-logo.svg +21 -0
- data/dist/img/github-logo.svg +17 -0
- data/dist/img/gmail.svg +23 -0
- data/dist/img/google-calendar.svg +26 -0
- data/dist/img/google-drive.svg +17 -0
- data/dist/img/google-logo.svg +19 -0
- data/dist/img/instagram-logo.png +0 -0
- data/dist/img/kubernetes-Logo.svg +60 -0
- data/dist/img/kubernetes.svg +8 -0
- data/dist/img/linkedin-logo.svg +13 -0
- data/dist/img/logo-alt.svg +18 -0
- data/dist/img/logo.svg +22 -0
- data/dist/img/open-id-logo.svg +19 -0
- data/dist/img/rcue-full.svg +221 -0
- data/dist/img/rcue.svg +92 -0
- data/dist/img/redhat_reverse.png +0 -0
- data/dist/img/skype-logo.svg +23 -0
- data/dist/img/spinner-inverse-lg.gif +0 -0
- data/dist/img/spinner-inverse-sm.gif +0 -0
- data/dist/img/spinner-inverse-xs.gif +0 -0
- data/dist/img/spinner-inverse.gif +0 -0
- data/dist/img/spinner-lg.gif +0 -0
- data/dist/img/spinner-sm.gif +0 -0
- data/dist/img/spinner-xs.gif +0 -0
- data/dist/img/spinner.gif +0 -0
- data/dist/img/stack-exchange-logo.svg +21 -0
- data/dist/img/twitter-logo.svg +19 -0
- data/dist/js/patternfly-functions-base.js +7 -0
- data/dist/js/patternfly-functions-charts.js +13 -0
- data/dist/js/patternfly-functions-colors.js +8 -0
- data/dist/js/patternfly-functions-count-chars.js +59 -0
- data/dist/js/patternfly-functions-data-tables.js +149 -0
- data/dist/js/patternfly-functions-fixed-heights.js +109 -0
- data/dist/js/patternfly-functions-list.js +79 -0
- data/dist/js/patternfly-functions-navigation.js +113 -0
- data/dist/js/patternfly-functions-popovers.js +37 -0
- data/dist/js/patternfly-functions-sidebar.js +31 -0
- data/dist/js/patternfly-functions-tree-grid.js +82 -0
- data/dist/js/patternfly-functions-vertical-nav.js +610 -0
- data/dist/js/patternfly-functions.js +1307 -0
- data/dist/js/patternfly-functions.min.js +1 -0
- data/dist/js/patternfly-settings-base.d.ts +9 -0
- data/dist/js/patternfly-settings-base.js +16 -0
- data/dist/js/patternfly-settings-charts.d.ts +92 -0
- data/dist/js/patternfly-settings-charts.js +449 -0
- data/dist/js/patternfly-settings-colors.d.ts +88 -0
- data/dist/js/patternfly-settings-colors.js +91 -0
- data/dist/js/patternfly-settings.d.ts +3 -0
- data/dist/js/patternfly-settings.js +558 -0
- data/dist/js/patternfly-settings.min.js +1 -0
- data/dist/js/patternfly.dataTables.pfColVis.js +151 -0
- data/dist/js/patternfly.dataTables.pfEmpty.js +253 -0
- data/dist/js/patternfly.dataTables.pfEmpty.min.js +1 -0
- data/dist/js/patternfly.dataTables.pfFilter.js +429 -0
- data/dist/js/patternfly.dataTables.pfFilter.min.js +1 -0
- data/dist/js/patternfly.dataTables.pfPagination.js +401 -0
- data/dist/js/patternfly.dataTables.pfPagination.min.js +1 -0
- data/dist/js/patternfly.dataTables.pfResize.js +214 -0
- data/dist/js/patternfly.dataTables.pfResize.min.js +1 -0
- data/dist/js/patternfly.dataTables.pfSelect.js +281 -0
- data/dist/js/patternfly.dataTables.pfSelect.min.js +1 -0
- data/dist/js/patternfly.js +1866 -0
- data/dist/js/patternfly.min.js +2 -0
- data/dist/sass/_patternfly-compass.scss +3 -0
- data/dist/sass/_patternfly-sprockets.scss +3 -0
- data/dist/sass/_patternfly.scss +147 -0
- data/dist/sass/patternfly/_about-modal.scss +44 -0
- data/dist/sass/patternfly/_accordion.scss +18 -0
- data/dist/sass/patternfly/_alerts.scss +44 -0
- data/dist/sass/patternfly/_application-launcher.scss +213 -0
- data/dist/sass/patternfly/_badges.scss +11 -0
- data/dist/sass/patternfly/_blank-slate.scss +52 -0
- data/dist/sass/patternfly/_bootstrap-combobox.scss +35 -0
- data/dist/sass/patternfly/_bootstrap-datepicker.scss +132 -0
- data/dist/sass/patternfly/_bootstrap-mixin-overrides.scss +33 -0
- data/dist/sass/patternfly/_bootstrap-select.scss +108 -0
- data/dist/sass/patternfly/_bootstrap-slider.scss +66 -0
- data/dist/sass/patternfly/_bootstrap-switch.scss +19 -0
- data/dist/sass/patternfly/_bootstrap-touchspin.scss +31 -0
- data/dist/sass/patternfly/_bootstrap-treeview.scss +89 -0
- data/dist/sass/patternfly/_breadcrumbs.scss +20 -0
- data/dist/sass/patternfly/_buttons.scss +50 -0
- data/dist/sass/patternfly/_card-view.scss +105 -0
- data/dist/sass/patternfly/_cards.scss +238 -0
- data/dist/sass/patternfly/_charts.scss +388 -0
- data/dist/sass/patternfly/_close.scss +16 -0
- data/dist/sass/patternfly/_color-variables.scss +85 -0
- data/dist/sass/patternfly/_context-selector.scss +125 -0
- data/dist/sass/patternfly/_datatables.scss +186 -0
- data/dist/sass/patternfly/_date-and-time.scss +35 -0
- data/dist/sass/patternfly/_dropdowns.scss +235 -0
- data/dist/sass/patternfly/_experimental-features.scss +48 -0
- data/dist/sass/patternfly/_filter.scss +42 -0
- data/dist/sass/patternfly/_fonts.scss +124 -0
- data/dist/sass/patternfly/_footer.scss +19 -0
- data/dist/sass/patternfly/_forms.scss +192 -0
- data/dist/sass/patternfly/_icons.scss +371 -0
- data/dist/sass/patternfly/_infotip.scss +145 -0
- data/dist/sass/patternfly/_labels.scss +17 -0
- data/dist/sass/patternfly/_layouts.scss +140 -0
- data/dist/sass/patternfly/_links.scss +5 -0
- data/dist/sass/patternfly/_list-group.scss +23 -0
- data/dist/sass/patternfly/_list-pf.scss +178 -0
- data/dist/sass/patternfly/_list-view-dnd.scss +53 -0
- data/dist/sass/patternfly/_list-view.scss +390 -0
- data/dist/sass/patternfly/_login.scss +341 -0
- data/dist/sass/patternfly/_mixins.scss +81 -0
- data/dist/sass/patternfly/_modals.scss +49 -0
- data/dist/sass/patternfly/_nav-vertical-alt.scss +168 -0
- data/dist/sass/patternfly/_navbar-alt.scss +141 -0
- data/dist/sass/patternfly/_navbar-vertical.scss +168 -0
- data/dist/sass/patternfly/_navbar.scss +579 -0
- data/dist/sass/patternfly/_notifications-drawer.scss +250 -0
- data/dist/sass/patternfly/_pager.scss +68 -0
- data/dist/sass/patternfly/_pagination.scss +121 -0
- data/dist/sass/patternfly/_panels.scss +134 -0
- data/dist/sass/patternfly/_popovers.scss +52 -0
- data/dist/sass/patternfly/_progress-bars.scss +121 -0
- data/dist/sass/patternfly/_rcue-about-modal.scss +45 -0
- data/dist/sass/patternfly/_rcue-additions.scss +11 -0
- data/dist/sass/patternfly/_rcue-login.scss +75 -0
- data/dist/sass/patternfly/_rcue-variables.scss +57 -0
- data/dist/sass/patternfly/_rcue.scss +6 -0
- data/dist/sass/patternfly/_search.scss +64 -0
- data/dist/sass/patternfly/_sidebar.scss +176 -0
- data/dist/sass/patternfly/_skip-to-content.scss +12 -0
- data/dist/sass/patternfly/_spinner.scss +72 -0
- data/dist/sass/patternfly/_syntax-highlighting.scss +36 -0
- data/dist/sass/patternfly/_table-view.scss +188 -0
- data/dist/sass/patternfly/_tables.scss +90 -0
- data/dist/sass/patternfly/_tabs.scss +118 -0
- data/dist/sass/patternfly/_time-picker.scss +98 -0
- data/dist/sass/patternfly/_toast.scss +75 -0
- data/dist/sass/patternfly/_toolbar.scss +190 -0
- data/dist/sass/patternfly/_tooltip.scss +15 -0
- data/dist/sass/patternfly/_tree-list-view.scss +83 -0
- data/dist/sass/patternfly/_type.scss +29 -0
- data/dist/sass/patternfly/_variables.scss +595 -0
- data/dist/sass/patternfly/_vertical-nav.scss +944 -0
- data/dist/sass/patternfly/_wizard.scss +665 -0
- data/dist/sass/patternfly/dependencies/bootstrap-combobox/combobox.scss +57 -0
- data/dist/sass/patternfly/dependencies/bootstrap-datepicker/datepicker.scss +242 -0
- data/dist/sass/patternfly/dependencies/bootstrap-datepicker/datepicker3.scss +257 -0
- data/dist/sass/patternfly/dependencies/bootstrap-select/bootstrap-select.scss +389 -0
- data/dist/sass/patternfly/dependencies/bootstrap-select/variables.scss +9 -0
- data/dist/sass/patternfly/dependencies/bootstrap-slider/_mixins.scss +25 -0
- data/dist/sass/patternfly/dependencies/bootstrap-slider/_rules.scss +246 -0
- data/dist/sass/patternfly/dependencies/bootstrap-slider/_variables.scss +28 -0
- data/dist/sass/patternfly/dependencies/bootstrap-slider/bootstrap-slider.scss +42 -0
- data/dist/sass/patternfly/dependencies/bootstrap-switch/bootstrap-switch.scss +195 -0
- data/dist/sass/patternfly/dependencies/bootstrap-switch/build.scss +3 -0
- data/dist/sass/patternfly/dependencies/bootstrap-switch/mixins/alerts.scss +14 -0
- data/dist/sass/patternfly/dependencies/bootstrap-switch/mixins/background-variant.scss +9 -0
- data/dist/sass/patternfly/dependencies/bootstrap-switch/mixins/border-radius.scss +18 -0
- data/dist/sass/patternfly/dependencies/bootstrap-switch/mixins/buttons.scss +68 -0
- data/dist/sass/patternfly/dependencies/bootstrap-switch/mixins/center-block.scss +7 -0
- data/dist/sass/patternfly/dependencies/bootstrap-switch/mixins/clearfix.scss +22 -0
- data/dist/sass/patternfly/dependencies/bootstrap-switch/mixins/forms.scss +85 -0
- data/dist/sass/patternfly/dependencies/bootstrap-switch/mixins/gradients.scss +59 -0
- data/dist/sass/patternfly/dependencies/bootstrap-switch/mixins/grid-framework.scss +98 -0
- data/dist/sass/patternfly/dependencies/bootstrap-switch/mixins/grid.scss +122 -0
- data/dist/sass/patternfly/dependencies/bootstrap-switch/mixins/hide-text.scss +21 -0
- data/dist/sass/patternfly/dependencies/bootstrap-switch/mixins/image.scss +33 -0
- data/dist/sass/patternfly/dependencies/bootstrap-switch/mixins/labels.scss +12 -0
- data/dist/sass/patternfly/dependencies/bootstrap-switch/mixins/list-group.scss +29 -0
- data/dist/sass/patternfly/dependencies/bootstrap-switch/mixins/nav-divider.scss +10 -0
- data/dist/sass/patternfly/dependencies/bootstrap-switch/mixins/nav-vertical-align.scss +9 -0
- data/dist/sass/patternfly/dependencies/bootstrap-switch/mixins/opacity.scss +8 -0
- data/dist/sass/patternfly/dependencies/bootstrap-switch/mixins/pagination.scss +23 -0
- data/dist/sass/patternfly/dependencies/bootstrap-switch/mixins/panels.scss +24 -0
- data/dist/sass/patternfly/dependencies/bootstrap-switch/mixins/progress-bar.scss +10 -0
- data/dist/sass/patternfly/dependencies/bootstrap-switch/mixins/reset-filter.scss +8 -0
- data/dist/sass/patternfly/dependencies/bootstrap-switch/mixins/reset-text.scss +18 -0
- data/dist/sass/patternfly/dependencies/bootstrap-switch/mixins/resize.scss +6 -0
- data/dist/sass/patternfly/dependencies/bootstrap-switch/mixins/responsive-visibility.scss +15 -0
- data/dist/sass/patternfly/dependencies/bootstrap-switch/mixins/size.scss +10 -0
- data/dist/sass/patternfly/dependencies/bootstrap-switch/mixins/tab-focus.scss +9 -0
- data/dist/sass/patternfly/dependencies/bootstrap-switch/mixins/table-row.scss +28 -0
- data/dist/sass/patternfly/dependencies/bootstrap-switch/mixins/text-emphasis.scss +9 -0
- data/dist/sass/patternfly/dependencies/bootstrap-switch/mixins/text-overflow.scss +8 -0
- data/dist/sass/patternfly/dependencies/bootstrap-switch/mixins/vendor-prefixes.scss +227 -0
- data/dist/sass/patternfly/dependencies/bootstrap-switch/mixins.scss +40 -0
- data/dist/sass/patternfly/dependencies/bootstrap-switch/variables.scss +862 -0
- data/dist/sass/patternfly/dependencies/bootstrap-touchspin/_jquery.bootstrap-touchspin.scss +45 -0
- data/dist/sass/patternfly/dependencies/c3/_c3.scss +178 -0
- data/dist/sass/patternfly/dependencies/eonasdan-bootstrap-datetimepicker/_bootstrap-datetimepicker.scss +344 -0
- data/dist/sass/patternfly/dependencies/eonasdan-bootstrap-datetimepicker/bootstrap-datetimepicker-build.scss +16 -0
- data/dist/sass/rcue/_about-modal.scss +44 -0
- data/dist/sass/rcue/_accordion.scss +18 -0
- data/dist/sass/rcue/_alerts.scss +44 -0
- data/dist/sass/rcue/_badges.scss +11 -0
- data/dist/sass/rcue/_blank-slate.scss +52 -0
- data/dist/sass/rcue/_bootstrap-combobox.scss +35 -0
- data/dist/sass/rcue/_bootstrap-datepicker.scss +132 -0
- data/dist/sass/rcue/_bootstrap-mixin-overrides.scss +33 -0
- data/dist/sass/rcue/_bootstrap-select.scss +108 -0
- data/dist/sass/rcue/_bootstrap-slider.scss +66 -0
- data/dist/sass/rcue/_bootstrap-switch.scss +19 -0
- data/dist/sass/rcue/_bootstrap-touchspin.scss +31 -0
- data/dist/sass/rcue/_bootstrap-treeview.scss +89 -0
- data/dist/sass/rcue/_breadcrumbs.scss +20 -0
- data/dist/sass/rcue/_buttons.scss +50 -0
- data/dist/sass/rcue/_card-view.scss +105 -0
- data/dist/sass/rcue/_cards.scss +238 -0
- data/dist/sass/rcue/_charts.scss +388 -0
- data/dist/sass/rcue/_close.scss +16 -0
- data/dist/sass/rcue/_color-variables.scss +85 -0
- data/dist/sass/rcue/_context-selector.scss +125 -0
- data/dist/sass/rcue/_datatables.scss +186 -0
- data/dist/sass/rcue/_date-and-time.scss +35 -0
- data/dist/sass/rcue/_dropdowns.scss +235 -0
- data/dist/sass/rcue/_experimental-features.scss +48 -0
- data/dist/sass/rcue/_filter.scss +42 -0
- data/dist/sass/rcue/_fonts.scss +124 -0
- data/dist/sass/rcue/_footer.scss +19 -0
- data/dist/sass/rcue/_forms.scss +192 -0
- data/dist/sass/rcue/_icons.scss +371 -0
- data/dist/sass/rcue/_infotip.scss +145 -0
- data/dist/sass/rcue/_labels.scss +17 -0
- data/dist/sass/rcue/_layouts.scss +140 -0
- data/dist/sass/rcue/_links.scss +5 -0
- data/dist/sass/rcue/_list-group.scss +23 -0
- data/dist/sass/rcue/_list-pf.scss +178 -0
- data/dist/sass/rcue/_list-view-dnd.scss +53 -0
- data/dist/sass/rcue/_list-view.scss +390 -0
- data/dist/sass/rcue/_login.scss +341 -0
- data/dist/sass/rcue/_mixins.scss +81 -0
- data/dist/sass/rcue/_modals.scss +49 -0
- data/dist/sass/rcue/_nav-vertical-alt.scss +168 -0
- data/dist/sass/rcue/_navbar-alt.scss +141 -0
- data/dist/sass/rcue/_navbar-vertical.scss +168 -0
- data/dist/sass/rcue/_navbar.scss +579 -0
- data/dist/sass/rcue/_notifications-drawer.scss +250 -0
- data/dist/sass/rcue/_pager.scss +68 -0
- data/dist/sass/rcue/_pagination.scss +121 -0
- data/dist/sass/rcue/_panels.scss +134 -0
- data/dist/sass/rcue/_patternfly-additions.scss +76 -0
- data/dist/sass/rcue/_patternfly.scss +31 -0
- data/dist/sass/rcue/_popovers.scss +52 -0
- data/dist/sass/rcue/_progress-bars.scss +121 -0
- data/dist/sass/rcue/_rcue-about-modal.scss +45 -0
- data/dist/sass/rcue/_rcue-login.scss +75 -0
- data/dist/sass/rcue/_rcue-variables.scss +57 -0
- data/dist/sass/rcue/_search.scss +64 -0
- data/dist/sass/rcue/_sidebar.scss +176 -0
- data/dist/sass/rcue/_skip-to-content.scss +12 -0
- data/dist/sass/rcue/_spinner.scss +72 -0
- data/dist/sass/rcue/_syntax-highlighting.scss +36 -0
- data/dist/sass/rcue/_table-view.scss +188 -0
- data/dist/sass/rcue/_tables.scss +90 -0
- data/dist/sass/rcue/_tabs.scss +118 -0
- data/dist/sass/rcue/_time-picker.scss +98 -0
- data/dist/sass/rcue/_toast.scss +75 -0
- data/dist/sass/rcue/_toolbar.scss +190 -0
- data/dist/sass/rcue/_tooltip.scss +15 -0
- data/dist/sass/rcue/_tree-list-view.scss +83 -0
- data/dist/sass/rcue/_type.scss +29 -0
- data/dist/sass/rcue/_variables.scss +595 -0
- data/dist/sass/rcue/_vertical-nav.scss +944 -0
- data/dist/sass/rcue/_wizard.scss +665 -0
- data/lib/patternfly-sass/engine.rb +11 -0
- data/lib/patternfly-sass/version.rb +3 -0
- data/lib/patternfly-sass.rb +92 -0
- data/patternfly-sass.gemspec +31 -0
- 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});
|