patternfly-sass 2.1.0 → 2.2.0

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.
Files changed (36) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/assets/fonts/patternfly/PatternFlyIcons-webfont.eot +0 -0
  4. data/assets/fonts/patternfly/PatternFlyIcons-webfont.svg +4 -2
  5. data/assets/fonts/patternfly/PatternFlyIcons-webfont.ttf +0 -0
  6. data/assets/fonts/patternfly/PatternFlyIcons-webfont.woff +0 -0
  7. data/assets/javascripts/patternfly.js +120 -0
  8. data/assets/javascripts/patternfly.min.js +1 -1
  9. data/assets/stylesheets/_patternfly.scss +5 -0
  10. data/assets/stylesheets/patternfly/_bootstrap-datepicker.scss +28 -1
  11. data/assets/stylesheets/patternfly/_footer.scss +19 -0
  12. data/assets/stylesheets/patternfly/_icons.scss +6 -0
  13. data/assets/stylesheets/patternfly/_layouts.scss +45 -0
  14. data/assets/stylesheets/patternfly/_nav-vertical-alt.scss +166 -0
  15. data/assets/stylesheets/patternfly/_navbar-alt.scss +128 -0
  16. data/assets/stylesheets/patternfly/_toolbar.scss +62 -0
  17. data/assets/stylesheets/patternfly/_variables.scss +35 -0
  18. data/bower.json +1 -1
  19. data/lib/patternfly-sass/version.rb +2 -2
  20. data/spec/compare_spec.rb +9 -20
  21. data/spec/html/bootstrap-datepicker.html +26 -0
  22. data/spec/html/dist/css/patternfly-additions.css +411 -9
  23. data/spec/html/dist/css/patternfly-additions.css.map +1 -1
  24. data/spec/html/dist/css/patternfly-additions.min.css +1 -1
  25. data/spec/html/dist/css/patternfly-additions.min.css.map +1 -1
  26. data/spec/html/dist/css/patternfly.css.map +1 -1
  27. data/spec/html/dist/css/patternfly.min.css.map +1 -1
  28. data/spec/html/icons.html +12 -0
  29. data/spec/html/index.html +20 -0
  30. data/spec/html/layout-alt-fixed-inner-scroll.html +350 -0
  31. data/spec/html/layout-alt-fixed-with-footer-inner-scroll.html +354 -0
  32. data/spec/html/layout-alt-fixed-with-footer.html +354 -0
  33. data/spec/html/layout-alt-fixed.html +350 -0
  34. data/spec/html/toolbar.html +190 -0
  35. metadata +17 -3
  36. data/TODO.md +0 -13
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 99614e4e02f728a56c22849f649afacec4d02cd7
4
- data.tar.gz: 048beb48cdf8a75e7fd9c855f27eb4cb4ce97592
3
+ metadata.gz: 0e4b72a00b7208e692a9e3953cc32fbbbde8a15b
4
+ data.tar.gz: 54834877b38b7d297c37fb47a0e4eb97b7096469
5
5
  SHA512:
6
- metadata.gz: 73c3e2ca77c40e787b21cf3dc4ce0210929ae3a92cdac1b040eba1d0866cb03e8d417edf6683f4dbaff05873c47954ef7b6fa2b2d79e565fca3cd0c4f9916058
7
- data.tar.gz: e8a0c4de5f6b8185a0d8685d8beb8f7fcc6827eabfb7d4f8cba70b6ab5d851d5dcd7f290d0c4dae78fe7a4456d316d87238c29d297cf7468a03c3e83ef0aa911
6
+ metadata.gz: 7fdb717d9f373174c10a58bf139d5dcd5020fb1a9504263a75365d112f6f552bd56a01f49aeda4494c0429d7c759f74b84aa85684e64ebf2a9fd9b80c78c97fb
7
+ data.tar.gz: 24d6708a025dca82d5d110a507005f8d6a1b25b6763c14f2c9e4ab2b04341574902f117d6a1f1d0e7a4655607fdccd8eb4a643981c2264117bfd342e85f82bba
data/README.md CHANGED
@@ -19,7 +19,7 @@ Please see the appropriate guide for your environment of choice:
19
19
  In your Gemfile you need to add the `patternfly-sass` gem, and ensure that the `sass-rails` gem is present - it is added to new Rails applications by default.
20
20
 
21
21
  ```ruby
22
- gem 'patternfly-sass', '~> 1.3.1'
22
+ gem 'patternfly-sass', '~> 2.2.0'
23
23
  gem 'sass-rails', '>= 3.2'
24
24
  ```
25
25
 
@@ -12,8 +12,8 @@
12
12
  "license": "Apache 2.0",
13
13
  "licenseURL": "http://www.apache.org/licenses/LICENSE-2.0.html",
14
14
  "majorVersion": 2,
15
- "minorVersion": 0,
16
- "version": "Version 2.0",
15
+ "minorVersion": 2,
16
+ "version": "Version 2.2",
17
17
  "fontId": "PatternFlyIcons-webfont",
18
18
  "psName": "PatternFlyIcons-webfont",
19
19
  "subFamily": "Regular",
@@ -36,6 +36,8 @@
36
36
  <glyph unicode="&#xe605;" glyph-name="help" data-tags="help" d="M512.059-73.143c-282.338 0-512.059 229.673-512.059 512.025 0 282.235 229.721 511.975 512.059 511.975 282.281 0 511.941-229.735 511.941-511.975 0.005-282.352-229.659-512.025-511.941-512.025zM512.059 826.523c-213.826 0-387.728-173.856-387.728-387.643 0-213.89 173.904-387.694 387.728-387.694 213.717 0 387.671 173.803 387.671 387.694 0.005 213.785-173.957 387.643-387.671 387.643zM585.143 164.571v109.714c0 4.951-1.808 9.237-5.429 12.857s-7.906 5.429-12.857 5.429h-109.714c-4.953 0-9.239-1.808-12.857-5.429s-5.429-7.906-5.429-12.857v-109.714c0-4.951 1.81-9.237 5.429-12.857s7.904-5.429 12.857-5.429h109.714c4.951 0 9.237 1.808 12.857 5.429s5.429 7.906 5.429 12.857zM521.616 365.714c118.343 0 214.286 88.965 214.286 187.429s-95.943 178.286-214.286 178.286c-173.045 0-208.091-93.714-213.963-171.113 0-7.936 6.729-9.838 15.872-9.838s108.073 0 113.143 0c6.096 0 14.475 0.633 17.554 10.571 0 48.857 135.968 54.953 135.968-7.904 0-31.506-29.717-63.817-68.571-66.194s-82.286-7.607-82.286-54.199c0-13.022 0-25.673 0-44.693 0-19.015 9.717-22.343 27.431-22.343s54.853-0.002 54.853-0.002z" />
37
37
  <glyph unicode="&#xe606;" glyph-name="folder-open" data-tags="folder-open" horiz-adv-x="1243" d="M1226.126 430.391c-11.538 5.641-24.709 8.466-39.511 8.466h-783.362c-121.691 0-172.409-79.465-172.409-79.465l-157.701-213.106 72.912 253.2c11.755 31.506 36.455 58.219 74.101 80.146 37.641 21.927 76.905 32.366 117.778 32.366h759.625v146.286c0 0-0.418 73.611-73.561 73.611-83.591 0-512 0-512 0l-51.826 81.083c0 0-30.041 64.734-94.041 64.734-73.143 0-243.257 0-292.571 0-83.591 0-73.143-73.143-73.143-73.143v-804.571h841.797c28.734 0 59.973 7.705 93.714 23.122 33.742 15.413 59.973 34.197 78.695 56.341l208.565 279.929c13.495 15.2 20.242 29.529 20.242 42.99 0 13.029-5.767 22.366-17.303 28.011v0z" />
38
38
  <glyph unicode="&#xe607;" glyph-name="folder-close" data-tags="folder-close" horiz-adv-x="1097" d="M1097.563 0v658.286c0 0-0.421 73.611-73.563 73.611-83.591 0-512 0-512 0l-51.826 81.083c0 0-30.043 64.734-94.043 64.734-73.143 0-243.257 0-292.571 0-83.591 0-73.143-73.143-73.143-73.143v-804.571h1097.147z" />
39
+ <glyph unicode="&#xe608;" glyph-name="topology" data-tags="topology" d="M512 613.655c96.384 0 174.798-78.414 174.798-174.798s-78.414-174.798-174.798-174.798c-96.382 0-174.798 78.414-174.798 174.798s78.416 174.798 174.798 174.798zM512 693.714c-140.754 0-254.857-114.103-254.857-254.857 0-140.75 114.103-254.857 254.857-254.857 140.75 0 254.857 114.107 254.857 254.857 0 140.754-114.107 254.857-254.857 254.857v0zM914.286 900.571c32.768 0 59.429-26.661 59.429-59.429s-26.661-59.429-59.429-59.429-59.429 26.661-59.429 59.429 26.661 59.429 59.429 59.429zM914.286 950.857c-60.592 0-109.714-49.122-109.714-109.714s49.122-109.714 109.714-109.714c60.594 0 109.714 49.122 109.714 109.714s-49.12 109.714-109.714 109.714v0zM475.429 96c32.768 0 59.429-26.661 59.429-59.429s-26.661-59.429-59.429-59.429-59.429 26.661-59.429 59.429 26.661 59.429 59.429 59.429zM475.429 146.286c-60.592 0-109.714-49.12-109.714-109.714 0-60.592 49.122-109.714 109.714-109.714 60.594 0 109.714 49.122 109.714 109.714 0 60.594-49.12 109.714-109.714 109.714v0zM1024 165.714c0-49.863-40.422-90.286-90.286-90.286s-90.286 40.422-90.286 90.286c0 49.863 40.422 90.286 90.286 90.286s90.286-40.422 90.286-90.286zM331.429 860.571c0-49.863-40.422-90.286-90.286-90.286s-90.286 40.422-90.286 90.286c0 49.863 40.422 90.286 90.286 90.286s90.286-40.422 90.286-90.286zM180.571 275.428c0-49.863-40.422-90.286-90.286-90.286s-90.286 40.422-90.286 90.286c0 49.863 40.422 90.286 90.286 90.286s90.286-40.422 90.286-90.286zM462.441 251.287l72.857-5.417-14.478-136.93-72.857 5.415zM670.143 536.036l-53.078 50.321 218.962 230.96 53.078-50.321-218.962-230.96zM400.647 650.318c11.239-19.639 6.149-43.881-11.31-53.87-17.458-9.991-40.935-2.091-52.174 17.547l-46.846 81.872c-11.239 19.641-6.146 43.883 11.31 53.872 17.458 9.989 40.935 2.091 52.176-17.547l46.843-81.874zM294.19 402.24c19.531 8.478 41.255 0.158 48.27-18.487 7.017-18.651-3.221-40.843-22.754-49.326l-78.711-34.174c-19.531-8.478-41.255-0.155-48.27 18.491s3.221 40.843 22.754 49.321l78.711 34.174zM679.275 303.614c-18.37 12.523-24.523 36.475-13.673 53.227 10.846 16.752 34.757 20.215 53.125 7.689l98.731-67.296c18.373-12.523 24.528-36.475 13.678-53.23-10.848-16.752-34.759-20.215-53.125-7.691l-98.736 67.301z" />
40
+ <glyph unicode="&#xe609;" glyph-name="thumb-tack-o" data-tags="thumb-tack-o" d="M708.446 478.756v314.313c42.974 0 78.576 35.607 78.576 78.578 0 42.974-35.602 78.578-78.576 78.578h-392.894c-42.971 0-78.576-35.605-78.576-78.578s35.605-78.578 78.576-78.578v-314.313c-81.033 0-157.157-95.767-157.157-196.448 0-21.483 17.803-39.287 39.289-39.287h248.014l46.656-297.739c1.842-9.822 9.822-16.576 19.643-16.576h0.613c9.822 0 17.803 7.979 19.035 17.806l31.303 296.51h263.362c21.486 0 39.289 17.803 39.289 39.287 0.002 100.681-76.119 196.448-157.154 196.448zM245.659 323.479c5.255 16.137 13.39 31.561 23.808 44.608 14.651 18.352 32.738 30.208 46.087 30.208h80.462v471.474h231.977v-471.474h80.455c13.349 0 31.442-11.856 46.085-30.208 10.421-13.047 18.553-28.471 23.808-44.608h-532.681z" />
39
41
  <glyph unicode="&#xe60a;" glyph-name="edit" data-tags="edit" d="M219.554 0l73.294 73.143-146.583 146.286-73.070-73.143v-73.143h73.090v-73.438l73.269 0.295zM806.176 512l-586.747-585.143h-219.429v219.429l586.585 585.143 219.591-219.429zM1024 762.937c0-19.056-6.656-35.237-19.968-48.537l-146.578-150.455-218.686 218.505 148.576 147.915c12.955 13.662 29.147 20.494 48.578 20.494 19.074 0 35.445-6.832 49.115-20.494l118.994-118.352c13.312-14.023 19.968-30.384 19.968-49.077v0z" />
40
42
  <glyph unicode="&#xe60b;" glyph-name="close" data-tags="close" horiz-adv-x="731" d="M96.464 804.571c-4.816-0.064-9.12-1.963-12.912-5.733l-77.815-77.815c-3.769-3.794-5.669-8.096-5.735-12.91-0.032-4.839 1.815-9.113 5.543-12.823l616.603-616.606c3.71-3.714 7.986-5.577 12.823-5.541 4.834 0.039 9.138 1.957 12.91 5.73l77.817 77.819c3.769 3.769 5.691 8.066 5.73 12.912 0.037 4.839-1.829 9.106-5.538 12.825l-616.606 616.599c-3.717 3.73-7.986 5.575-12.821 5.541zM622.144 799.031l-616.603-616.601c-3.726-3.717-5.577-7.989-5.536-12.827 0.059-4.843 1.959-9.143 5.728-12.914l77.817-77.817c3.792-3.774 8.096-5.691 12.91-5.728 4.837-0.039 9.106 1.824 12.821 5.536l616.599 616.608c3.717 3.712 5.579 7.989 5.543 12.823-0.041 4.814-1.959 9.118-5.728 12.91l-77.824 77.808c-3.767 3.778-8.073 5.678-12.907 5.744-4.834 0.034-9.104-1.815-12.818-5.541z" />
41
43
  <glyph unicode="&#xe60e;" glyph-name="user" data-tags="user, profile, avatar, person, talk, member" d="M630.67 228.030c-23.673 3.769-24.523 61.458-24.215 68.869 18.514 7.41 69.568 68.871 84.729 161.477 40.786 0 92.258 128.809 25.189 128.809 1.701 36.469 52.425 290.53-204.373 290.53s-206.073-252.994-204.375-289.461c-70.281 0-15.598-129.881 25.189-129.881 15.161-92.606 63.006-154.064 84.729-161.477-2.448-7.579-0.539-65.099-24.215-68.869-76.263-12.133-356.757-163.435-356.757-301.17h950.857c0 137.735-280.496 289.038-356.759 301.173v0z" />
@@ -212,3 +212,123 @@
212
212
  });
213
213
  }
214
214
  }(jQuery));
215
+
216
+ // Util: PatternFly Collapsible Left Hand Navigation
217
+ // Must have navbar-toggle in navbar-pf-alt for expand/collapse
218
+ (function ($) {
219
+
220
+ 'use strict';
221
+
222
+ $.fn.navigation = function () {
223
+
224
+ var navElement = $('.layout-pf-alt-fixed .nav-pf-vertical-alt'),
225
+ bodyContentElement = $('.container-pf-alt-nav-pf-vertical-alt'),
226
+ toggleNavBarButton = $('.navbar-toggle'),
227
+ explicitCollapse = false,
228
+ breakpoints = {
229
+ 'tablet': 768,
230
+ 'desktop': 1024
231
+ },
232
+ checkNavState = function () {
233
+ var width = $(window).width();
234
+
235
+ //Always remove the hidden & peek class
236
+ navElement.removeClass('hidden show-mobile-nav collapsed');
237
+
238
+ //Set the body class back to the default
239
+ bodyContentElement.removeClass('collapsed-nav hidden-nav');
240
+
241
+ // Check to see if the nav needs to collapse
242
+ if (width < breakpoints.desktop || explicitCollapse) {
243
+ navElement.addClass('collapsed');
244
+ bodyContentElement.addClass('collapsed-nav');
245
+ }
246
+
247
+ // Check to see if we need to move down to the mobile state
248
+ if (width < breakpoints.tablet) {
249
+ //Set the nav to being hidden
250
+ navElement.addClass('hidden');
251
+
252
+ //Make sure this is expanded
253
+ navElement.removeClass('collapsed');
254
+
255
+ //Set the body class to the correct state
256
+ bodyContentElement.removeClass('collapsed-nav');
257
+ bodyContentElement.addClass('hidden-nav');
258
+ }
259
+ },
260
+ collapseMenu = function () {
261
+ //Make sure this is expanded
262
+ navElement.addClass('collapsed');
263
+ //Set the body class to the correct state
264
+ bodyContentElement.addClass('collapsed-nav');
265
+
266
+ explicitCollapse = true;
267
+ },
268
+ enableTransitions = function () {
269
+ // enable transitions only when toggleNavBarButton is clicked or window is resized
270
+ $('html').addClass('transitions');
271
+ },
272
+ expandMenu = function () {
273
+ //Make sure this is expanded
274
+ navElement.removeClass('collapsed');
275
+ //Set the body class to the correct state
276
+ bodyContentElement.removeClass('collapsed-nav');
277
+
278
+ explicitCollapse = false;
279
+ },
280
+ bindMenuBehavior = function () {
281
+ toggleNavBarButton.on('click', function (e) {
282
+ enableTransitions();
283
+ var inMobileState = bodyContentElement.hasClass('hidden-nav');
284
+
285
+ if (inMobileState && navElement.hasClass('show-mobile-nav')) {
286
+ //In mobile state just need to hide the nav
287
+ navElement.removeClass('show-mobile-nav');
288
+ } else if (inMobileState) {
289
+ navElement.addClass('show-mobile-nav');
290
+ } else if (navElement.hasClass('collapsed')) {
291
+ expandMenu();
292
+ } else {
293
+ collapseMenu();
294
+ }
295
+ });
296
+ },
297
+ setTooltips = function () {
298
+ $('.nav-pf-vertical-alt [data-toggle="tooltip"]').tooltip({'container': 'body', 'delay': { 'show': '500', 'hide': '200' }});
299
+
300
+ $(".nav-pf-vertical-alt").on("show.bs.tooltip", function (e) {
301
+ if (!$(this).hasClass("collapsed")) {
302
+ return false;
303
+ }
304
+ });
305
+
306
+ },
307
+ init = function () {
308
+ //Set correct state on load
309
+ checkNavState();
310
+
311
+ // Bind Top level hamburger menu with menu behavior;
312
+ bindMenuBehavior();
313
+
314
+ //Set tooltips
315
+ setTooltips();
316
+ };
317
+
318
+ //Listen for the window resize event and collapse/hide as needed
319
+ $(window).on('resize', function () {
320
+ checkNavState();
321
+ enableTransitions();
322
+ });
323
+
324
+ init();
325
+
326
+ };
327
+
328
+ $(document).ready(function () {
329
+ if ($('.nav-pf-vertical-alt').length > 0) {
330
+ $.fn.navigation();
331
+ }
332
+ });
333
+
334
+ }(jQuery));
@@ -1 +1 @@
1
- !function($){"use strict";$.fn.sidebar=function(){var documentHeight=0,navbarpfHeight=0,colHeight=0;$(".navbar-pf .navbar-toggle").is(":hidden")&&(documentHeight=$(document).height(),navbarpfHeight=$(".navbar-pf").outerHeight(),colHeight=documentHeight-navbarpfHeight),$(".sidebar-pf").parent(".row").children('[class*="col-"]').css({"min-height":colHeight})},$(document).ready(function(){$(".sidebar-pf").length>0&&0===$(".datatable").length&&$.fn.sidebar()}),$(window).resize(function(){$(".sidebar-pf").length>0&&$.fn.sidebar()})}(jQuery),function($){"use strict";$.fn.popovers=function(){return this.popover(),this.filter("[data-close=true]").each(function(index,element){var $this=$(element),title=$this.attr("data-original-title")+'<button type="button" class="close" aria-hidden="true"><span class="pficon pficon-close"></span></button>';$this.attr("data-original-title",title)}),this.on("click",function(e){var $this=$(this),$title=$this.next(".popover").find(".popover-title");$title.find(".close").parent(".popover-title").addClass("closable"),$title.find(".close").on("click",function(){$this.popover("hide")}),e.preventDefault()}),this}}(jQuery),function($){"use strict";$.fn.dataTableExt&&($.extend(!0,$.fn.dataTable.defaults,{bDestroy:!0,bAutoWidth:!1,iDisplayLength:20,sDom:"<'dataTables_header' f i r ><'table-responsive' t ><'dataTables_footer' p >",oLanguage:{sInfo:"Showing <b>_START_</b> to <b>_END_</b> of <b>_TOTAL_</b> Items",sInfoFiltered:"(of <b>_MAX_</b>)",sInfoEmpty:"Showing <b>0</b> Results",sZeroRecords:"<p>Suggestions</p><ul><li>Check the syntax of the search term.</li><li>Check that the correct menu option is chosen (token ID vs. user ID).</li><li>Use wildcards (* to match zero or more characters or ? to match a single character).</li><li>Clear the search field, then click Search to return to the 20 most recent records.</li></ul>",sSearch:""},sPaginationType:"bootstrap_input"}),$.extend($.fn.dataTableExt.oStdClasses,{sWrapper:"dataTables_wrapper"}),$.fn.dataTableExt.oApi.fnPagingInfo=function(oSettings){return{iStart:oSettings._iDisplayStart,iEnd:oSettings.fnDisplayEnd(),iLength:oSettings._iDisplayLength,iTotal:oSettings.fnRecordsTotal(),iFilteredTotal:oSettings.fnRecordsDisplay(),iPage:-1===oSettings._iDisplayLength?0:Math.ceil(oSettings._iDisplayStart/oSettings._iDisplayLength),iTotalPages:-1===oSettings._iDisplayLength?0:Math.ceil(oSettings.fnRecordsDisplay()/oSettings._iDisplayLength)}},$.extend($.fn.dataTableExt.oPagination,{bootstrap_input:{fnInit:function(oSettings,nPaging,fnDraw){var els,nInput,fnClickHandler=function(e){e.preventDefault(),oSettings.oApi._fnPageChange(oSettings,e.data.action)&&fnDraw(oSettings)};$(nPaging).append('<ul class="pagination"> <li class="first disabled"><span class="i fa fa-angle-double-left"></span></li> <li class="prev disabled"><span class="i fa fa-angle-left"></span></li></ul><div class="pagination-input"> <input type="text" class="paginate_input"> <span class="paginate_of">of <b>3</b></span></div><ul class="pagination"> <li class="next disabled"><span class="i fa fa-angle-right"></span></li> <li class="last disabled"><span class="i fa fa-angle-double-right"></span></li></ul>'),els=$("li",nPaging),$(els[0]).bind("click.DT",{action:"first"},fnClickHandler),$(els[1]).bind("click.DT",{action:"previous"},fnClickHandler),$(els[2]).bind("click.DT",{action:"next"},fnClickHandler),$(els[3]).bind("click.DT",{action:"last"},fnClickHandler),nInput=$("input",nPaging),$(nInput).keyup(function(e){if(38===e.which||39===e.which?this.value+=1:(37===e.which||40===e.which)&&this.value>1&&(this.value-=1),""!==this.value&&this.value.match(/[0-9]/)){var iNewStart=oSettings._iDisplayLength*(this.value-1);if(iNewStart>oSettings.fnRecordsDisplay())return oSettings._iDisplayStart=(Math.ceil((oSettings.fnRecordsDisplay()-1)/oSettings._iDisplayLength)-1)*oSettings._iDisplayLength,void fnDraw(oSettings);oSettings._iDisplayStart=iNewStart,fnDraw(oSettings)}})},fnUpdate:function(oSettings){var i,oPaging=oSettings.oInstance.fnPagingInfo(),an=oSettings.aanFeatures.p,ien=an.length,iPages=Math.ceil(oSettings.fnRecordsDisplay()/oSettings._iDisplayLength),iCurrentPage=Math.ceil(oSettings._iDisplayStart/oSettings._iDisplayLength)+1;for(i=0;ien>i;i+=1)$(".paginate_input").val(iCurrentPage),$(".paginate_of b").html(iPages),0===oPaging.iPage?($("li.first",an[i]).addClass("disabled"),$("li.prev",an[i]).addClass("disabled")):($("li.first",an[i]).removeClass("disabled"),$("li.prev",an[i]).removeClass("disabled")),oPaging.iPage===oPaging.iTotalPages-1||0===oPaging.iTotalPages?($("li.next",an[i]).addClass("disabled"),$("li.last",an[i]).addClass("disabled")):($("li.next",an[i]).removeClass("disabled"),$("li.last",an[i]).removeClass("disabled"))}}}))}(jQuery);
1
+ !function($){"use strict";$.fn.sidebar=function(){var documentHeight=0,navbarpfHeight=0,colHeight=0;$(".navbar-pf .navbar-toggle").is(":hidden")&&(documentHeight=$(document).height(),navbarpfHeight=$(".navbar-pf").outerHeight(),colHeight=documentHeight-navbarpfHeight),$(".sidebar-pf").parent(".row").children('[class*="col-"]').css({"min-height":colHeight})},$(document).ready(function(){$(".sidebar-pf").length>0&&0===$(".datatable").length&&$.fn.sidebar()}),$(window).resize(function(){$(".sidebar-pf").length>0&&$.fn.sidebar()})}(jQuery),function($){"use strict";$.fn.popovers=function(){return this.popover(),this.filter("[data-close=true]").each(function(index,element){var $this=$(element),title=$this.attr("data-original-title")+'<button type="button" class="close" aria-hidden="true"><span class="pficon pficon-close"></span></button>';$this.attr("data-original-title",title)}),this.on("click",function(e){var $this=$(this),$title=$this.next(".popover").find(".popover-title");$title.find(".close").parent(".popover-title").addClass("closable"),$title.find(".close").on("click",function(){$this.popover("hide")}),e.preventDefault()}),this}}(jQuery),function($){"use strict";$.fn.dataTableExt&&($.extend(!0,$.fn.dataTable.defaults,{bDestroy:!0,bAutoWidth:!1,iDisplayLength:20,sDom:"<'dataTables_header' f i r ><'table-responsive' t ><'dataTables_footer' p >",oLanguage:{sInfo:"Showing <b>_START_</b> to <b>_END_</b> of <b>_TOTAL_</b> Items",sInfoFiltered:"(of <b>_MAX_</b>)",sInfoEmpty:"Showing <b>0</b> Results",sZeroRecords:"<p>Suggestions</p><ul><li>Check the syntax of the search term.</li><li>Check that the correct menu option is chosen (token ID vs. user ID).</li><li>Use wildcards (* to match zero or more characters or ? to match a single character).</li><li>Clear the search field, then click Search to return to the 20 most recent records.</li></ul>",sSearch:""},sPaginationType:"bootstrap_input"}),$.extend($.fn.dataTableExt.oStdClasses,{sWrapper:"dataTables_wrapper"}),$.fn.dataTableExt.oApi.fnPagingInfo=function(oSettings){return{iStart:oSettings._iDisplayStart,iEnd:oSettings.fnDisplayEnd(),iLength:oSettings._iDisplayLength,iTotal:oSettings.fnRecordsTotal(),iFilteredTotal:oSettings.fnRecordsDisplay(),iPage:-1===oSettings._iDisplayLength?0:Math.ceil(oSettings._iDisplayStart/oSettings._iDisplayLength),iTotalPages:-1===oSettings._iDisplayLength?0:Math.ceil(oSettings.fnRecordsDisplay()/oSettings._iDisplayLength)}},$.extend($.fn.dataTableExt.oPagination,{bootstrap_input:{fnInit:function(oSettings,nPaging,fnDraw){var els,nInput,fnClickHandler=function(e){e.preventDefault(),oSettings.oApi._fnPageChange(oSettings,e.data.action)&&fnDraw(oSettings)};$(nPaging).append('<ul class="pagination"> <li class="first disabled"><span class="i fa fa-angle-double-left"></span></li> <li class="prev disabled"><span class="i fa fa-angle-left"></span></li></ul><div class="pagination-input"> <input type="text" class="paginate_input"> <span class="paginate_of">of <b>3</b></span></div><ul class="pagination"> <li class="next disabled"><span class="i fa fa-angle-right"></span></li> <li class="last disabled"><span class="i fa fa-angle-double-right"></span></li></ul>'),els=$("li",nPaging),$(els[0]).bind("click.DT",{action:"first"},fnClickHandler),$(els[1]).bind("click.DT",{action:"previous"},fnClickHandler),$(els[2]).bind("click.DT",{action:"next"},fnClickHandler),$(els[3]).bind("click.DT",{action:"last"},fnClickHandler),nInput=$("input",nPaging),$(nInput).keyup(function(e){if(38===e.which||39===e.which?this.value+=1:(37===e.which||40===e.which)&&this.value>1&&(this.value-=1),""!==this.value&&this.value.match(/[0-9]/)){var iNewStart=oSettings._iDisplayLength*(this.value-1);if(iNewStart>oSettings.fnRecordsDisplay())return oSettings._iDisplayStart=(Math.ceil((oSettings.fnRecordsDisplay()-1)/oSettings._iDisplayLength)-1)*oSettings._iDisplayLength,void fnDraw(oSettings);oSettings._iDisplayStart=iNewStart,fnDraw(oSettings)}})},fnUpdate:function(oSettings){var i,oPaging=oSettings.oInstance.fnPagingInfo(),an=oSettings.aanFeatures.p,ien=an.length,iPages=Math.ceil(oSettings.fnRecordsDisplay()/oSettings._iDisplayLength),iCurrentPage=Math.ceil(oSettings._iDisplayStart/oSettings._iDisplayLength)+1;for(i=0;ien>i;i+=1)$(".paginate_input").val(iCurrentPage),$(".paginate_of b").html(iPages),0===oPaging.iPage?($("li.first",an[i]).addClass("disabled"),$("li.prev",an[i]).addClass("disabled")):($("li.first",an[i]).removeClass("disabled"),$("li.prev",an[i]).removeClass("disabled")),oPaging.iPage===oPaging.iTotalPages-1||0===oPaging.iTotalPages?($("li.next",an[i]).addClass("disabled"),$("li.last",an[i]).addClass("disabled")):($("li.next",an[i]).removeClass("disabled"),$("li.last",an[i]).removeClass("disabled"))}}}))}(jQuery),function($){"use strict";$.fn.navigation=function(){var navElement=$(".layout-pf-alt-fixed .nav-pf-vertical-alt"),bodyContentElement=$(".container-pf-alt-nav-pf-vertical-alt"),toggleNavBarButton=$(".navbar-toggle"),explicitCollapse=!1,breakpoints={tablet:768,desktop:1024},checkNavState=function(){var width=$(window).width();navElement.removeClass("hidden show-mobile-nav collapsed"),bodyContentElement.removeClass("collapsed-nav hidden-nav"),(width<breakpoints.desktop||explicitCollapse)&&(navElement.addClass("collapsed"),bodyContentElement.addClass("collapsed-nav")),width<breakpoints.tablet&&(navElement.addClass("hidden"),navElement.removeClass("collapsed"),bodyContentElement.removeClass("collapsed-nav"),bodyContentElement.addClass("hidden-nav"))},collapseMenu=function(){navElement.addClass("collapsed"),bodyContentElement.addClass("collapsed-nav"),explicitCollapse=!0},enableTransitions=function(){$("html").addClass("transitions")},expandMenu=function(){navElement.removeClass("collapsed"),bodyContentElement.removeClass("collapsed-nav"),explicitCollapse=!1},bindMenuBehavior=function(){toggleNavBarButton.on("click",function(){enableTransitions();var inMobileState=bodyContentElement.hasClass("hidden-nav");inMobileState&&navElement.hasClass("show-mobile-nav")?navElement.removeClass("show-mobile-nav"):inMobileState?navElement.addClass("show-mobile-nav"):navElement.hasClass("collapsed")?expandMenu():collapseMenu()})},setTooltips=function(){$('.nav-pf-vertical-alt [data-toggle="tooltip"]').tooltip({container:"body",delay:{show:"500",hide:"200"}}),$(".nav-pf-vertical-alt").on("show.bs.tooltip",function(){return $(this).hasClass("collapsed")?void 0:!1})},init=function(){checkNavState(),bindMenuBehavior(),setTooltips()};$(window).on("resize",function(){checkNavState(),enableTransitions()}),init()},$(document).ready(function(){$(".nav-pf-vertical-alt").length>0&&$.fn.navigation()})}(jQuery);
@@ -95,11 +95,16 @@
95
95
  @import "patternfly/charts";
96
96
  @import "patternfly/close";
97
97
  @import "patternfly/datatables";
98
+ @import "patternfly/footer";
98
99
  @import "patternfly/icons";
99
100
  @import "patternfly/infotip";
101
+ @import "patternfly/layouts";
100
102
  @import "patternfly/login";
101
103
  @import "patternfly/navbar";
104
+ @import "patternfly/navbar-alt";
105
+ @import "patternfly/nav-vertical-alt";
102
106
  @import "patternfly/search";
103
107
  @import "patternfly/sidebar";
104
108
  @import "patternfly/spinner";
105
109
  @import "patternfly/syntax-highlighting";
110
+ @import "patternfly/toolbar";
@@ -2,12 +2,30 @@
2
2
  // Bootstrap-Datepicker
3
3
  // --------------------------------------------------
4
4
 
5
- .bootstrap-datepicker[readonly] {
5
+ .bootstrap-datepicker.form-control[readonly] {
6
6
  background-color: $input-bg;
7
7
  border-color: $input-border !important;
8
8
  color: $input-color;
9
9
  @include box-shadow(inset 0 1px 1px rgba(0,0,0,.075));
10
10
  @include form-control-focus;
11
+ &:focus {
12
+ border-color: $input-border-focus !important;
13
+ .has-error & {
14
+ border-color: darken($state-danger-text, 10%);
15
+ $shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 6px lighten($state-danger-text, 20%);
16
+ @include box-shadow($shadow);
17
+ }
18
+ .has-success & {
19
+ border-color: darken($state-success-text, 10%);
20
+ $shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 6px lighten($state-success-text, 20%);
21
+ @include box-shadow($shadow);
22
+ }
23
+ .has-warning & {
24
+ border-color: darken($state-warning-text, 10%);
25
+ $shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 6px lighten($state-warning-text, 20%);
26
+ @include box-shadow($shadow);
27
+ }
28
+ }
11
29
  &:hover {
12
30
  border-color: $input-border-hover !important;
13
31
  .has-error & {
@@ -20,6 +38,15 @@
20
38
  border-color: darken($state-warning-text, 10%) !important;
21
39
  }
22
40
  }
41
+ .has-error & {
42
+ border-color: $state-danger-text !important;
43
+ }
44
+ .has-success & {
45
+ border-color: $state-success-text !important;
46
+ }
47
+ .has-warning & {
48
+ border-color: $state-warning-text !important;
49
+ }
23
50
  }
24
51
 
25
52
  .datepicker {
@@ -0,0 +1,19 @@
1
+ //
2
+ // Footer
3
+ // --------------------------------------------------
4
+
5
+ .footer-pf-alt {
6
+ background-color: $footer-pf-alt-bg-color;
7
+ color: $gray-light;
8
+ font-size: $font-size-small;
9
+ line-height: 17px; // whole px unit to avoid height differences among browsers
10
+ padding-left: $footer-pf-alt-padding-left;
11
+ padding-top: $footer-pf-alt-padding-top;
12
+ .layout-pf-alt-fixed-with-footer & {
13
+ bottom: 0;
14
+ left: 0;
15
+ position: fixed;
16
+ right: 0;
17
+ z-index: $zindex-navbar-fixed;
18
+ }
19
+ }
@@ -54,6 +54,12 @@
54
54
  .#{$icon-prefix}-folder-close:before {
55
55
  content: "\e607";
56
56
  }
57
+ .#{$icon-prefix}-topology:before {
58
+ content: "\e608";
59
+ }
60
+ .#{$icon-prefix}-thumb-tack-o:before {
61
+ content: "\e609";
62
+ }
57
63
  .#{$icon-prefix}-edit:before {
58
64
  content: "\e60a";
59
65
  }
@@ -0,0 +1,45 @@
1
+ //
2
+ // Layouts
3
+ // --------------------------------------------------
4
+
5
+ .layout-pf-alt {
6
+ &, & body {
7
+ min-height: 100%
8
+ }
9
+ &.layout-pf-alt-fixed {
10
+ &.layout-pf-alt-fixed-inner-scroll {
11
+ &, & body {
12
+ height: 100%;
13
+ min-height: 0;
14
+ }
15
+ .container-pf-alt-nav-pf-vertical-alt {
16
+ height: 100%;
17
+ overflow: auto;
18
+ &.container-cards-pf {
19
+ margin-top: 0;
20
+ padding-top: ($grid-gutter-width/2);
21
+ }
22
+ }
23
+ }
24
+ &.transitions .container-pf-alt-nav-pf-vertical-alt {
25
+ transition: $flyout-transition-pf;
26
+ }
27
+ body {
28
+ padding-top: $navbar-pf-alt-height; // make space for the navbar
29
+ }
30
+ .container-pf-alt-nav-pf-vertical-alt {
31
+ margin-left: ($nav-pf-vertical-alt-width);
32
+ &.collapsed-nav {
33
+ margin-left: ($nav-pf-vertical-alt-collapsed-width); // adjust space for the collapsed left nav
34
+ }
35
+ &.hidden-nav {
36
+ margin-left: 0; // remove space as left nav is hidden
37
+ }
38
+ }
39
+ }
40
+ &.layout-pf-alt-fixed-with-footer {
41
+ body {
42
+ padding-bottom: $footer-pf-alt-height;
43
+ }
44
+ }
45
+ }
@@ -0,0 +1,166 @@
1
+ //
2
+ // Nav Vertical Alt
3
+ // --------------------------------------------------
4
+
5
+ .layout-pf-alt-fixed.transitions .nav-pf-vertical-alt {
6
+ transition: $flyout-transition-pf;
7
+
8
+ &.collapsed .list-group-item .list-group-item-value {
9
+ transition: opacity 0s .1s, opacity .1s linear;
10
+ }
11
+
12
+ .list-group-item {
13
+ .badge {
14
+ transition: $flyout-transition-pf;
15
+ }
16
+
17
+ .list-group-item-value {
18
+ transition: opacity .5s ease-out;
19
+ transition-delay: .15s;
20
+ }
21
+ }
22
+ }
23
+
24
+ .nav-pf-vertical-alt {
25
+ background: $nav-pf-vertical-alt-bg-color;
26
+
27
+ .ie9.layout-pf-alt-fixed & {
28
+ box-sizing: content-box; // IE9 incorrectly sizes the width if using padding-box
29
+ }
30
+
31
+ .layout-pf-alt-fixed & {
32
+ border-right: 1px solid $nav-pf-vertical-alt-border-color;
33
+ bottom: 0;
34
+ overflow-x: hidden;
35
+ overflow-y: auto;
36
+ left: 0;
37
+ position: fixed;
38
+ top: $navbar-pf-alt-height; // move out of way of navbar-pf-alt
39
+ width: $nav-pf-vertical-alt-width;
40
+ z-index: $zindex-navbar-fixed;
41
+
42
+ &.collapsed {
43
+ width: $nav-pf-vertical-alt-collapsed-width !important;
44
+
45
+ .list-group-item {
46
+ .badge {
47
+ padding: 2px 3px;
48
+ right: 21px;
49
+ top: 36px;
50
+ }
51
+
52
+ .list-group-item-value {
53
+ opacity: 0;
54
+ }
55
+ }
56
+ }
57
+
58
+ &.hidden {
59
+ display: none;
60
+
61
+ &.show-mobile-nav {
62
+ box-shadow: 0 0 3px rgba(0,0,0,0.15);
63
+ display: block !important;
64
+ }
65
+ }
66
+ }
67
+
68
+ .layout-pf-alt-fixed-with-footer & {
69
+ bottom: $footer-pf-alt-height;
70
+ }
71
+
72
+ .list-group {
73
+ border-top: 0;
74
+ margin-bottom: 0;
75
+ }
76
+
77
+ .list-group-item {
78
+ padding: 0;
79
+
80
+ a {
81
+ color: $gray-dark;
82
+ display: block;
83
+ font-size: $font-size-base + 2;
84
+ height: $nav-pf-vertical-alt-link-height;
85
+ padding: $nav-pf-vertical-alt-link-padding;
86
+ position: relative;
87
+ white-space: nowrap;
88
+
89
+ &:focus {
90
+ color: $gray-dark;
91
+ text-decoration: none;
92
+ }
93
+
94
+ &:hover {
95
+ color: $nav-pf-vertical-alt-active-color;
96
+ text-decoration: none;
97
+ }
98
+ }
99
+
100
+ &.active {
101
+ background-color: $nav-pf-vertical-alt-bg-color;
102
+ border-color: $list-group-border;
103
+
104
+ &:before {
105
+ background: $nav-pf-vertical-alt-active-color;
106
+ content: " ";
107
+ display: block;
108
+ height: 100%;
109
+ left: 0;
110
+ position: absolute;
111
+ top: 0;
112
+ width: 5px;
113
+ }
114
+
115
+ a {
116
+ color: $nav-pf-vertical-alt-active-color;
117
+ }
118
+ }
119
+
120
+ .badge {
121
+ background: $gray-dark;
122
+ border: 1px solid $nav-pf-vertical-alt-bg-color;
123
+ border-radius: 3px;
124
+ color: $nav-pf-vertical-alt-badge-color;
125
+ font-weight: 700;
126
+ font-size: $font-size-base - 3;
127
+ padding: 5px;
128
+ position: absolute;
129
+ right: 15px;
130
+ text-align: center;
131
+ top: 21px;
132
+
133
+ &.notifications {
134
+ background: $notification-badge-color;
135
+ }
136
+ }
137
+
138
+ .fa, .glyphicon, .pficon {
139
+ float: left;
140
+ font-size: 18px;
141
+ line-height: 30px;
142
+ margin-right: 10px;
143
+ text-align: center;
144
+ width: 18px;
145
+ }
146
+
147
+ .list-group-item-value {
148
+ display: inline-block;
149
+ line-height: 30px;
150
+ opacity: 1;
151
+ overflow: hidden;
152
+ text-overflow: ellipsis;
153
+ width: 140px;
154
+ }
155
+
156
+ }
157
+
158
+ .list-group-item-separator {
159
+ border-top-width: 5px;
160
+ }
161
+
162
+ .sidebar-pf & {
163
+ margin-left: (-($grid-gutter-width / 2));
164
+ margin-right: (-($grid-gutter-width / 2));
165
+ }
166
+ }