machinery-tool 1.14.2 → 1.15.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (102) hide show
  1. checksums.yaml +4 -4
  2. data/.git_revision +1 -1
  3. data/NEWS +14 -0
  4. data/html/assets/compare/machinery.js +20 -13
  5. data/html/assets/file_loader.gif +0 -0
  6. data/html/assets/machinery-base.css +21 -12
  7. data/html/assets/machinery-base.js +19 -0
  8. data/html/assets/machinery.css +35 -11
  9. data/html/assets/show/machinery.js +24 -7
  10. data/html/comparison.html.haml +13 -36
  11. data/html/index.html.haml +32 -47
  12. data/html/partials/changed_managed_files.html.haml +5 -5
  13. data/html/partials/compare/changed_managed_file_list.html.haml +1 -1
  14. data/html/partials/compare/changed_managed_files.html.haml +41 -47
  15. data/html/partials/compare/changes.html.haml +8 -0
  16. data/html/partials/compare/config_file_list.html.haml +5 -5
  17. data/html/partials/compare/config_files.html.haml +38 -44
  18. data/html/partials/compare/group_list.html.haml +3 -3
  19. data/html/partials/compare/groups.html.haml +34 -42
  20. data/html/partials/compare/os.html.haml +21 -23
  21. data/html/partials/compare/package_list.html.haml +2 -2
  22. data/html/partials/compare/packages.html.haml +40 -56
  23. data/html/partials/compare/pattern_list.html.haml +2 -2
  24. data/html/partials/compare/patterns.html.haml +40 -42
  25. data/html/partials/compare/repositories.html.haml +40 -41
  26. data/html/partials/compare/service_list.html.haml +1 -1
  27. data/html/partials/compare/services.html.haml +44 -36
  28. data/html/partials/compare/summary.html.haml +17 -0
  29. data/html/partials/compare/unmanaged_file_list.html.haml +4 -3
  30. data/html/partials/compare/unmanaged_files.html.haml +44 -38
  31. data/html/partials/compare/user_list.html.haml +2 -2
  32. data/html/partials/compare/users.html.haml +40 -43
  33. data/html/partials/config_files.html.haml +8 -8
  34. data/html/partials/os.html.haml +8 -5
  35. data/html/partials/packages.html.haml +4 -4
  36. data/html/partials/patterns.html.haml +2 -2
  37. data/html/partials/repositories.html.haml +5 -5
  38. data/html/partials/scope_header.html.haml +4 -6
  39. data/html/partials/services.html.haml +1 -1
  40. data/html/partials/unmanaged_files.html.haml +1 -1
  41. data/html/partials/users.html.haml +4 -4
  42. data/lib/array.rb +4 -0
  43. data/lib/cli.rb +12 -4
  44. data/lib/file_scope.rb +9 -3
  45. data/lib/html.rb +1 -0
  46. data/lib/machinery.rb +1 -0
  47. data/lib/scope.rb +16 -0
  48. data/lib/server.rb +61 -23
  49. data/lib/system_description.rb +0 -8
  50. data/lib/try.rb +28 -0
  51. data/lib/version.rb +1 -1
  52. data/machinery-helper/version.go +1 -1
  53. data/man/generated/machinery.1.gz +0 -0
  54. data/man/generated/machinery.1.html +54 -22
  55. data/plugins/changed_managed_files/{changed_managed_files.md → changed_managed_files.yml} +4 -0
  56. data/plugins/changed_managed_files/changed_managed_files_model.rb +14 -0
  57. data/plugins/changed_managed_files/changed_managed_files_renderer.rb +17 -0
  58. data/plugins/config_files/{config_files.md → config_files.yml} +4 -0
  59. data/plugins/config_files/config_files_model.rb +14 -0
  60. data/plugins/config_files/config_files_renderer.rb +17 -0
  61. data/plugins/groups/{groups.md → groups.yml} +4 -0
  62. data/plugins/groups/groups_model.rb +14 -0
  63. data/plugins/groups/groups_renderer.rb +17 -0
  64. data/plugins/os/{os.md → os.yml} +4 -0
  65. data/plugins/packages/{packages.md → packages.yml} +4 -0
  66. data/plugins/packages/packages_model.rb +1 -12
  67. data/plugins/patterns/{patterns.md → patterns.yml} +4 -0
  68. data/plugins/patterns/patterns_model.rb +14 -0
  69. data/plugins/patterns/patterns_renderer.rb +21 -0
  70. data/plugins/repositories/{repositories.md → repositories.yml} +4 -0
  71. data/plugins/repositories/repositories_model.rb +14 -0
  72. data/plugins/repositories/repositories_renderer.rb +17 -0
  73. data/plugins/services/{services.md → services.yml} +4 -0
  74. data/plugins/services/services_model.rb +21 -11
  75. data/plugins/services/services_renderer.rb +17 -0
  76. data/plugins/unmanaged_files/{unmanaged_files.md → unmanaged_files.yml} +4 -0
  77. data/plugins/unmanaged_files/unmanaged_files_model.rb +2 -1
  78. data/plugins/unmanaged_files/unmanaged_files_renderer.rb +17 -0
  79. data/plugins/users/{users.md → users.yml} +4 -0
  80. data/plugins/users/users_model.rb +38 -0
  81. data/plugins/users/users_renderer.rb +17 -0
  82. metadata +17 -32
  83. data/html/assets/logo-changed-managed-files-small.png +0 -0
  84. data/html/assets/logo-changed-managed-files.png +0 -0
  85. data/html/assets/logo-config-files-small.png +0 -0
  86. data/html/assets/logo-config-files.png +0 -0
  87. data/html/assets/logo-groups-small.png +0 -0
  88. data/html/assets/logo-groups.png +0 -0
  89. data/html/assets/logo-os-small.png +0 -0
  90. data/html/assets/logo-os.png +0 -0
  91. data/html/assets/logo-packages-small.png +0 -0
  92. data/html/assets/logo-packages.png +0 -0
  93. data/html/assets/logo-patterns-small.png +0 -0
  94. data/html/assets/logo-patterns.png +0 -0
  95. data/html/assets/logo-repositories-small.png +0 -0
  96. data/html/assets/logo-repositories.png +0 -0
  97. data/html/assets/logo-services-small.png +0 -0
  98. data/html/assets/logo-services.png +0 -0
  99. data/html/assets/logo-unmanaged-files-small.png +0 -0
  100. data/html/assets/logo-unmanaged-files.png +0 -0
  101. data/html/assets/logo-users-small.png +0 -0
  102. data/html/assets/logo-users.png +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: ff11a934561d9adad04837ec1de84ed5024afe81
4
- data.tar.gz: 591a93b21e2746297042cf185f7f6633f08f21fe
3
+ metadata.gz: b7bb69c63715c0f27c39688ddb791ee35a6467e4
4
+ data.tar.gz: a214db91229631088de485747ef4e1907d10f561
5
5
  SHA512:
6
- metadata.gz: b9eb62471db592d4d575fe9374a09704b2d7bbb8480904087bf546819a562df955cad13d35d6f890403eba1b11806e44245a84737f53a3f41d49f6555c5ff201
7
- data.tar.gz: db1e12957fd5b529871e47b0bec09379f1351d9345e7553d87f4d737aa63586e61789bcbaeca85434b90ec94b124f98a1551f7f6945e457afbe7d13b2f7eebe3
6
+ metadata.gz: a062352d64c37f3e67e1082cdef8a0958b74b0f4f2adc8edcd1eede673686e2940994542066811b91ebe51cb55af7cf3c72a578f348331a3f9f7a65381abdb30
7
+ data.tar.gz: 489b549c5188697403a50e29525ece98e46e3e12bf987c71a2faaccd029e167bbd43265bae9a09b923c6981f219d5887aa94b779b5317fda4f43d41b98275d7f
data/.git_revision CHANGED
@@ -1 +1 @@
1
- b8c8eec01238e18a5ce1d9c53590c5c971e01703
1
+ b333b1358568df9a508e7d92c61d3280395911d9
data/NEWS CHANGED
@@ -1,6 +1,20 @@
1
1
  # Machinery Release Notes
2
2
 
3
3
 
4
+ ## Version 1.15.0 - Mon Oct 26 17:42:25 CET 2015 - thardeck@suse.de
5
+
6
+ * No information is cut off in the HTML view
7
+ * Files containing special characters can now be downloaded
8
+ (gh#SUSE/machinery#1497)
9
+ * Links to common elements work in HTML when all scopes are collapsed
10
+ (gh#SUSE/machinery#1469)
11
+ * Show if description was result of a container inspection
12
+ (gh#SUSE/machinery#1495)
13
+ * Disable nav bar buttons when scope has been excluded (gh#SUSE/machinery#1199)
14
+ * Show details of elements with changed attributes for all scopes in
15
+ comparison view
16
+ * Show progress indicator while loading file content in HTML view
17
+
4
18
  ## Version 1.14.2 - Wed Oct 14 18:00:51 CEST 2015 - thardeck@suse.de
5
19
 
6
20
  * Fix typo in HTML package view (gh#SUSE/machinery#1493)
@@ -5,17 +5,11 @@ $(document).ready(function () {
5
5
  $("a.scope_anchor, a.both_anchor").css("height", header_height);
6
6
  $("a.scope_anchor, a.both_anchor").css("margin-top", -header_height);
7
7
 
8
- $('.scope_logo_big').each(function(){
9
- var icon = $(this);
8
+ $('.scope_anchor').each(function(){
9
+ var anchor = $(this);
10
10
  $(window).scroll(function() {
11
- icon.removeClass('fixed');
12
- var pos = icon.offset();
13
- var top_pos = $(this).scrollTop() + header_height;
14
- if(top_pos >= pos.top && icon.css('position') == 'static') {
15
- icon.addClass('fixed').css("top", header_height);
16
- } else if(top_pos <= pos.top && icon.hasClass('fixed')) {
17
- icon.removeClass('fixed');
18
- }
11
+ setCurrentScopeState(anchor);
12
+ highlightCurrentScope();
19
13
  })
20
14
  });
21
15
 
@@ -55,6 +49,10 @@ $(document).ready(function () {
55
49
  // Show or hide elements which are common in scope
56
50
  $(".show-common-elements").click(function(){
57
51
  $scope = $(this).closest(".scope");
52
+ if ($scope.find(".toggle").hasClass("collapsed")){
53
+ $scope.find(".scope_content").collapse("show");
54
+ $scope.find(".toggle").removeClass("collapsed");
55
+ }
58
56
  $scope.find(".scope_common_content").collapse("show");
59
57
  $scope.find(".scope_content").find(".show-common-elements").hide();
60
58
  $scope.find(".hide-common-elements").show();
@@ -73,15 +71,18 @@ $(document).ready(function () {
73
71
  });
74
72
 
75
73
  // Unmanaged files diffs
76
- $("#diff-unmanaged-files-file").prop("selectedIndex", -1)
77
- $("#diff-unmanaged-files-file").change(function(){
74
+ $("#diff-unmanaged-files").on("show.bs.modal", function(e) {
75
+ var trigger = $(e.relatedTarget);
76
+
78
77
  $("#diff-unmanaged-files-content").hide();
79
78
  $("#diff-unmanaged-files-error").hide();
80
79
  $("#diff-unmanaged-files-spinner").show();
81
80
 
82
81
  var description1 = $("body").data("description-a");
83
82
  var description2 = $("body").data("description-b");
84
- var url = "/compare/" + description1 + "/" + description2 + "/files/unmanaged_files" + $(this).val();
83
+ var url = "/compare/" + description1 + "/" + description2 + "/files/unmanaged_files" +
84
+ trigger.data("file");
85
+ $("#diff-unmanaged-files-file").text(trigger.data("file"));
85
86
  $.get(url, function(res) {
86
87
  $("#diff-unmanaged-files-spinner").hide();
87
88
  if(res.length === 0) {
@@ -102,4 +103,10 @@ $(document).ready(function () {
102
103
  }
103
104
  });
104
105
  });
106
+
107
+ $('.scope_anchor').each(function(){
108
+ var anchor = $(this);
109
+ setCurrentScopeState(anchor);
110
+ });
111
+ highlightCurrentScope();
105
112
  });
Binary file
@@ -2033,8 +2033,8 @@ fieldset[disabled] .btn {
2033
2033
  }
2034
2034
  .btn-default {
2035
2035
  color: #333333;
2036
- background-color: #ffffff;
2037
- border-color: #cccccc;
2036
+ background-color: #eec792;
2037
+ border-color: #7f694f;
2038
2038
  }
2039
2039
  .btn-default:hover,
2040
2040
  .btn-default:focus,
@@ -2042,8 +2042,8 @@ fieldset[disabled] .btn {
2042
2042
  .btn-default.active,
2043
2043
  .open .dropdown-toggle.btn-default {
2044
2044
  color: #333333;
2045
- background-color: #ebebeb;
2046
- border-color: #adadad;
2045
+ background-color: #E6AC5B;
2046
+ border-color: #7f694f;
2047
2047
  }
2048
2048
  .btn-default:active,
2049
2049
  .btn-default.active,
@@ -2065,8 +2065,9 @@ fieldset[disabled] .btn-default:active,
2065
2065
  .btn-default.disabled.active,
2066
2066
  .btn-default[disabled].active,
2067
2067
  fieldset[disabled] .btn-default.active {
2068
- background-color: #ffffff;
2069
- border-color: #cccccc;
2068
+ background-color: #cccccc;
2069
+ border-color: #000000;
2070
+ color: #000000;
2070
2071
  }
2071
2072
  .btn-default .badge {
2072
2073
  color: #ffffff;
@@ -2312,17 +2313,25 @@ fieldset[disabled] .btn-link:focus {
2312
2313
  }
2313
2314
  .btn-lg,
2314
2315
  .btn-group-lg > .btn {
2315
- padding: 10px 16px;
2316
- font-size: 18px;
2317
- line-height: 1.33;
2318
- border-radius: 6px;
2316
+ font-size: 21px;
2317
+ line-height: 2;
2318
+ border-width: 2px;
2319
+ border-radius: 8px;
2320
+ padding: 2px;
2321
+ width: 100%;
2322
+ max-width: 50px;
2323
+ min-width: 50px;
2319
2324
  }
2320
2325
  .btn-sm,
2321
2326
  .btn-group-sm > .btn {
2322
- padding: 5px 10px;
2323
- font-size: 12px;
2327
+ padding: 6px 3px;
2328
+ font-size: 11px;
2329
+ font-weight: bold;
2324
2330
  line-height: 1.5;
2325
2331
  border-radius: 3px;
2332
+ width:100%;
2333
+ max-width: 30px;
2334
+ min-width: 30px;
2326
2335
  }
2327
2336
  .btn-xs,
2328
2337
  .btn-group-xs > .btn {
@@ -0,0 +1,19 @@
1
+ function highlightCurrentScope() {
2
+ $(".scope-navigation a").removeClass("active");
3
+ current = $('.over-the-top:last');
4
+ if(current.length == 0) {
5
+ current = $('.scope_logo_big:first');
6
+ }
7
+ $(".scope-navigation a[href='#" + current.attr("id") + "']").addClass("active");
8
+ }
9
+
10
+ function setCurrentScopeState(anchor) {
11
+ var header_height = $("#nav-bar").height() + 20;
12
+ var pos = anchor.offset();
13
+ var top_pos = $(this).scrollTop() + header_height;
14
+ if(top_pos >= pos.top) {
15
+ anchor.addClass("over-the-top");
16
+ } else {
17
+ anchor.removeClass("over-the-top");
18
+ }
19
+ }
@@ -18,6 +18,15 @@ body {
18
18
  text-decoration: none;
19
19
  }
20
20
 
21
+ .nav-bar-title {
22
+ float: left;
23
+ padding: 5px;
24
+ }
25
+
26
+ .nav-buttons {
27
+ padding: 9px 0px;
28
+ }
29
+
21
30
  .scope{
22
31
  border-spacing: 5px;
23
32
  }
@@ -38,8 +47,10 @@ a.both_anchor {
38
47
  font-size: 65%;
39
48
  }
40
49
 
41
- .scope-navigation {
42
- margin-left: 30px;
50
+ .btn-reset {
51
+ height: 30px;
52
+ line-height: 1;
53
+ margin-left: 5px;
43
54
  }
44
55
 
45
56
  .inspection_details {
@@ -65,6 +76,10 @@ a.both_anchor {
65
76
  }
66
77
 
67
78
  .scope th.small {
79
+ width: 8%;
80
+ }
81
+
82
+ .scope th.medium {
68
83
  width: 12%;
69
84
  }
70
85
 
@@ -72,14 +87,6 @@ a.both_anchor {
72
87
  padding-left: 20px;
73
88
  }
74
89
 
75
- .filter-input {
76
- margin-bottom: 10px;
77
- }
78
-
79
- .filter-input input {
80
- width: 250px;
81
- }
82
-
83
90
  .fixed {
84
91
  position: fixed;
85
92
  }
@@ -214,6 +221,10 @@ h1 {
214
221
  margin-bottom: 1em;
215
222
  }
216
223
 
224
+ .diff-unmanaged-files {
225
+ padding-left: 10px;
226
+ }
227
+
217
228
  .well .dismiss{
218
229
  margin: -14px;
219
230
  }
@@ -228,6 +239,19 @@ h1 {
228
239
  border-radius: 50%;
229
240
  }
230
241
 
231
- .show-common-elements, .hide-common-elements {
242
+ .scope-summary a,
243
+ .show-common-elements,
244
+ .hide-common-elements {
232
245
  text-decoration: underline;
233
246
  }
247
+
248
+ .spinner {
249
+ background-image: url("file_loader.gif");
250
+ background-repeat: no-repeat;
251
+ margin-left: auto;
252
+ margin-right: auto;
253
+ width: 32px;
254
+ height: 32px;
255
+ min-width: 32px;
256
+ min-height: 32px;
257
+ }
@@ -27,6 +27,14 @@ $(document).ready(function () {
27
27
  })
28
28
  });
29
29
 
30
+ $('.scope_anchor').each(function(){
31
+ var anchor = $(this);
32
+ $(window).scroll(function() {
33
+ setCurrentScopeState(anchor);
34
+ highlightCurrentScope();
35
+ })
36
+ });
37
+
30
38
  // Hook up the toggle links
31
39
  $(".toggle").click(function(){
32
40
  $(this).closest(".scope").find(".scope_content").collapse("toggle");
@@ -47,12 +55,6 @@ $(document).ready(function () {
47
55
  $("#collapse-all").show();
48
56
  });
49
57
 
50
- // Set up scope icon popovers
51
- $("img").popover({
52
- trigger: "hover",
53
- html: true
54
- });
55
-
56
58
  // Set up inspection details popover
57
59
  $("a.inspection_details").popover({
58
60
  template: "<div class='popover inspection-details-popover' role='tooltip'>\
@@ -76,15 +78,22 @@ $(document).ready(function () {
76
78
  });
77
79
  $('.inspection-details-popover .close').click(function() { $(".inspection_details").popover("hide") });
78
80
 
81
+ // Set up scope icon popovers
82
+ $(".btn[data-toggle]").popover({
83
+ trigger: "hover",
84
+ html: true
85
+ });
86
+
79
87
  // Set up file download links
80
88
  $(".file-download").click(function() {
89
+ $("#file-modal .spinner").show();
81
90
  $("#file-modal-file-content").hide();
82
91
  $("#file-modal-error").hide();
83
92
 
84
93
  var file = $(this);
85
94
  var scope = file.parents(".scope").data("scope");
86
95
  var description = $("body").data("description");
87
- var url = "/descriptions/" + description + "/files/" + scope + file.text().trim();
96
+ var url = encodeURI("/descriptions/" + description + "/files/" + scope + file.text().trim());
88
97
 
89
98
  $("#file-modal-download-link").attr("href", url);
90
99
  $.get(url, function(res) {
@@ -94,8 +103,10 @@ $(document).ready(function () {
94
103
  $("#file-modal-file-content").val(res).show();
95
104
  $("#file-modal-file-content").scrollTop(0);
96
105
  }
106
+ $("#file-modal .spinner").hide();
97
107
  }, "text").
98
108
  error(function(res) {
109
+ $("#file-modal .spinner").hide();
99
110
  if(res.readyState == 0) {
100
111
  $("#file-modal-error").html("Could not download file content. Is the web server still running?").show();
101
112
  } else if(res.status == 406) {
@@ -160,4 +171,10 @@ $(document).ready(function () {
160
171
  $this.attr('title', $this.text());
161
172
  }
162
173
  });
174
+
175
+ $('.scope_anchor').each(function(){
176
+ var anchor = $(this);
177
+ setCurrentScopeState(anchor);
178
+ });
179
+ highlightCurrentScope();
163
180
  });
@@ -15,11 +15,14 @@
15
15
  %style
16
16
  = Diffy::CSS
17
17
 
18
+ %script{:src => "/assets/machinery-base.js"}
18
19
  %script{:src => "/assets/compare/machinery.js"}
19
20
  %script{:src => "/assets/bootstrap-tooltip.js"}
20
21
  %script{:src => "/assets/bootstrap-popover.js"}
21
22
 
22
23
  %body{ "data-description-a" => @description_a.name, "data-description-b" => @description_b.name }
24
+ - scopes = ["os", "packages", "patterns", "repositories", "users", "groups",
25
+ "services", "config_files", "changed_managed_files", "unmanaged_files"]
23
26
  #diff-unmanaged-files.modal.fade
24
27
  .modal-dialog.modal-lg
25
28
  .modal-content
@@ -29,13 +32,10 @@
29
32
  %h4
30
33
  Diff Unmanaged Files
31
34
  .modal-body
32
- .row
33
- File
34
- %select#diff-unmanaged-files-file
35
- - diffable_unmanaged_files.each do |file|
36
- %option{ label: file, value: file }
37
35
  .row#diff-unmanaged-files-content{"style" => "display: none"}
38
- Diff ('#{@description_a.name}' -> '#{@description_b.name}')
36
+ Diff for '
37
+ %span#diff-unmanaged-files-file>
38
+ ' ('#{@description_a.name}' -> '#{@description_b.name}')
39
39
  #diff-unmanaged-files-diff
40
40
  #diff-unmanaged-files-error{"style" => "display: none"}
41
41
  #diff-unmanaged-files-spinner{"style" => "display: none"}
@@ -53,26 +53,11 @@
53
53
  Comparing '#{@description_a.name}' with '#{@description_b.name}'
54
54
  %span.scope-navigation
55
55
  Scopes:
56
- %a{:href => "#os", :title => "Operating System", "ng-show" => "diff.os"}
57
- %img{:src => "/assets/logo-os-small.png"}/
58
- %a{:href => "#packages", :title => "Packages", "ng-show" => "diff.packages"}
59
- %img{:src => "/assets/logo-packages-small.png"}/
60
- %a{:href => "#patterns", :title => "Patterns", "ng-show" => "diff.patterns"}
61
- %img{:src => "/assets/logo-patterns-small.png"}/
62
- %a{:href => "#users", :title => "Users", "ng-show" => "diff.users"}
63
- %img{:src => "/assets/logo-users-small.png"}/
64
- %a{:href => "#groups", :title => "Groups", "ng-show" => "diff.groups"}
65
- %img{:src => "/assets/logo-groups-small.png"}/
66
- %a{:href => "#repositories", :title => "Repositories", "ng-show" => "diff.repositories"}
67
- %img{:src => "/assets/logo-repositories-small.png"}/
68
- %a{:href => "#unmanaged_files", :title => "Unmanaged Files", "ng-show" => "diff.unmanaged_files"}
69
- %img{:src => "/assets/logo-unmanaged-files-small.png"}/
70
- %a{:href => "#changed_managed_files", :title => "Changed Managed Files", "ng-show" => "diff.changed_managed_files"}
71
- %img{:src => "/assets/logo-changed-managed-files-small.png"}/
72
- %a{:href => "#config_files", :title => "Config Files", "ng-show" => "diff.config_files"}
73
- %img{:src => "/assets/logo-config-files-small.png"}/
74
- %a{:href => "#services", :title => "Services", "ng-show" => "diff.services"}
75
- %img{:src => "/assets/logo-services-small.png"}/
56
+ - scopes.each do |scope|
57
+ %a.btn.btn-default.btn-sm{ :href => "##{scope}", :title => scope_title(scope),
58
+ "data-toggle"=>"popover", "data-content" => scope_help(scope),
59
+ :class => nav_class(scope), "ng-show" => "diff.#{scope}" }
60
+ %span= scope_initials(scope)
76
61
  .row
77
62
  .col-xs-1
78
63
  %a#expand-all{:href => "#", :style => "display: none"}
@@ -89,13 +74,5 @@
89
74
  #content_container
90
75
  %div
91
76
  = render_partial "compare/alert"
92
- = render_partial "compare/os"
93
- = render_partial "compare/packages"
94
- = render_partial "compare/patterns"
95
- = render_partial "compare/users"
96
- = render_partial "compare/groups"
97
- = render_partial "compare/repositories"
98
- = render_partial "compare/unmanaged_files"
99
- = render_partial "compare/changed_managed_files"
100
- = render_partial "compare/config_files"
101
- = render_partial "compare/services"
77
+ - scopes.each do |scope|
78
+ = render_partial "compare/#{scope}"
data/html/index.html.haml CHANGED
@@ -11,11 +11,14 @@
11
11
  %script{ :src => "assets/collapse.js" }
12
12
  %script{ :src => "assets/modal.js" }
13
13
  %script{ :src => "assets/jquery.searcher.min.js" }
14
+ %script{ :src => "assets/machinery-base.js" }
14
15
  %script{ :src => "assets/show/machinery.js" }
15
16
  %script{ :src => "assets/bootstrap-tooltip.js" }
16
17
  %script{ :src => "assets/bootstrap-popover.js" }
17
18
 
18
19
  %body{ "data-description" => @description.name }
20
+ - scopes = ["os", "packages", "patterns", "repositories", "users", "groups",
21
+ "services", "config_files", "changed_managed_files", "unmanaged_files"]
19
22
  #file-modal.modal.fade
20
23
  .modal-dialog.modal-lg
21
24
  .modal-content
@@ -24,6 +27,7 @@
24
27
  &times;
25
28
  %h4#file-modal-title
26
29
  .modal-body
30
+ .spinner
27
31
  %textarea#file-modal-file-content{ "readonly" => "true" }
28
32
  #file-modal-error{ "style" => "display: none" }
29
33
  .modal-footer
@@ -53,65 +57,46 @@
53
57
  Expand all
54
58
  %a#collapse-all{ :href => "#" }
55
59
  Collapse all
56
- .col-xs-9
60
+ .col-xs-9.nav-buttons
57
61
  %small.pull-right.pad-top
58
62
  created by
59
63
  %a{ :href => "http://machinery-project.org", :target => "_blank" }
60
64
  Machinery
61
- .filter-input.col-md-3
62
- %input#filter{ :placeholder => "Type To Filter" }
63
- %a{ :href => "#" }
64
- %img#reset-filter{ :src => "assets/reset.png", :titel => "Reset Filter" }
65
+ .filter-input.col-md-4
66
+ %input.col-md-8#filter{ :placeholder => "Type To Filter" }
67
+ %a.btn.btn-default.btn-reset{ :href => "#", :title => "Reset Filter" }
68
+ %span Reset
65
69
 
66
70
  %span.scope-navigation
67
- Scopes:
68
- %a{ :href => "#os", :title => "Operating System" }
69
- %img{ :src => "assets/logo-os-small.png", :title=>"Operating System",
70
- "data-toggle"=>"popover", "data-content" => scope_help('os') }
71
- %a{ :href => "#packages", :title => "Packages" }
72
- %img{ :src => "assets/logo-packages-small.png", :title => "Packages",
73
- "data-toggle"=>"popover", "data-content" => scope_help('packages') }
74
- %a{ :href => "#patterns", :title => "Patterns" }
75
- %img{ :src => "assets/logo-patterns-small.png", :title => "Patterns",
76
- "data-toggle"=>"popover", "data-content" => scope_help('patterns') }
77
- %a{ :href => "#repositories", :title => "Repositories" }
78
- %img{ :src => "assets/logo-repositories-small.png", :title => "Repositories",
79
- "data-toggle"=>"popover", "data-content" => scope_help('repositories') }
80
- %a{ :href => "#users", :title => "Users" }
81
- %img{ :src => "assets/logo-users-small.png", :title => "Users",
82
- "data-toggle"=>"popover", "data-content" => scope_help('users') }
83
- %a{ :href => "#groups", :title => "Groups" }
84
- %img{ :src => "assets/logo-groups-small.png", :title => "Groups",
85
- "data-toggle"=>"popover", "data-content" => scope_help('groups') }
86
- %a{ :href => "#services", :title => "Services" }
87
- %img{ :src => "assets/logo-services-small.png", :title => "Services",
88
- "data-toggle"=>"popover", "data-content" => scope_help('services') }
89
- %a{ :href => "#config_files", :title => "Config Files" }
90
- %img{ :src => "assets/logo-config-files-small.png", :title => "Config Files",
91
- "data-toggle"=>"popover", "data-content" => scope_help('config_files') }
92
- %a{ :href => "#changed_managed_files", :title => "Changed Managed Files" }
93
- %img{ :src => "assets/logo-changed-managed-files-small.png",
94
- :title => "Changed Managed Files", "data-toggle" => "popover",
95
- "data-content" => scope_help('changed_managed_files') }
96
- %a{ :href => "#unmanaged_files", :title => "Unmanaged Files" }
97
- %img{ :src => "assets/logo-unmanaged-files-small.png", :title => "Unmanaged Files",
98
- :"data-toggle" => "popover", "data-content" => scope_help('unmanaged_files') }
71
+ %span.nav-bar-title
72
+ Scopes:
99
73
 
74
+ - scopes.each do |scope|
75
+ %a.btn.btn-default.btn-sm{ :href => "##{scope}", :title => scope_title(scope),
76
+ "data-toggle"=>"popover", "data-content" => scope_help(scope),
77
+ :class => nav_class(scope) }
78
+ %span= scope_initials(scope)
100
79
 
101
80
  #content_container
102
81
 
103
- = render_scope "os"
104
- = render_scope "packages"
105
- = render_scope "patterns"
106
- = render_scope "repositories"
107
- = render_scope "users"
108
- = render_scope "groups"
109
- = render_scope "services"
110
- = render_scope "config_files"
111
- = render_scope "changed_managed_files"
112
- = render_scope "unmanaged_files"
82
+ - scopes.each do |scope|
83
+ = render_scope scope
113
84
 
114
85
  .hidden#inspection_details
86
+ - if @description[:environment].system_type == "docker"
87
+ #container_type
88
+ .row
89
+ .col-xs-1
90
+ .col-xs-11
91
+ %h3 Type of Inspected Container
92
+
93
+ .row
94
+ .col-xs-1
95
+ .col-xs-11
96
+ %ul
97
+ %li
98
+ = @description[:environment].system_type
99
+
115
100
  #filters
116
101
  .row
117
102
  .col-xs-1