patternfly-sass 2.1.0 → 2.2.0

Sign up to get free protection for your applications and to get access to all the features.
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
+ }