machinery-tool 1.14.2 → 1.15.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 (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