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
@@ -2,8 +2,8 @@
2
2
  %thead
3
3
  %tr
4
4
  %th Name
5
- %th Version
6
- %th Release
5
+ %th.medium Version
6
+ %th.medium Release
7
7
  %tbody
8
8
  - list.each do |pattern|
9
9
  %tr
@@ -1,53 +1,51 @@
1
1
  - if @diff["patterns"]
2
- %a.scope_anchor{ id: "patterns" }
2
+ - scope = "patterns"
3
+ %a.scope_anchor{ id: scope }
3
4
  .scope#patterns_container
4
5
  .row
5
6
  .col-xs-1
6
- %a{ href: "#patterns" }
7
- %img.over.scope_logo_big{ :src => "/assets/logo-patterns.png",
8
- "data-toggle" => "popover",
9
- :title => "Patterns",
10
- "data-content" => "#{scope_help("patterns")}" }
7
+ %a.btn.btn-default.btn-lg.scope_logo_big{ :href => "##{scope}",
8
+ :title => scope_title(scope), "data-toggle"=>"popover",
9
+ "data-content" => scope_help(scope) }
10
+ %span= scope_initials(scope)
11
11
  %span.toggle{ title: "Collapse/Expand" }
12
12
  .col-xs-11
13
13
  %h2
14
14
  Patterns
15
- .scope-summary
16
- - if @diff["patterns"].only_in1
17
- %span.summary-part
18
- #{@description_a.name}: #{@diff["patterns"].only_in1.length} patterns
19
- - if @diff["patterns"].only_in2
20
- %span.summary-part
21
- #{@description_b.name}: #{@diff["patterns"].only_in2.length} patterns
22
- - if @diff["patterns"].common
23
- %span.summary-part
24
- %a.show-common-elements{ href: "#patterns_both" }<
25
- both
26
- = ": #{@diff["patterns"].common.length} patterns"
15
+ = render_partial "compare/summary",
16
+ scope: "patterns",
17
+ singular: "pattern",
18
+ plural: "patterns"
27
19
  .row.scope_content.collapse.in
28
- .row
29
- .col-xs-1
30
- .col-xs-5.table_container
31
- - if @diff["patterns"].only_in1
32
- = only_in_a
33
- = render_partial "compare/pattern_list", list: @diff["patterns"].only_in1
34
- .col-xs-1
35
- .col-xs-5.table_container
36
- - if @diff["patterns"].only_in2
37
- = only_in_b
38
- = render_partial "compare/pattern_list", list: @diff["patterns"].only_in2
39
- - if @diff["patterns"].common
40
- %a.both_anchor{ id: "patterns_both" }
20
+ .col-md-12
41
21
  .row
42
- .col-xs-1
43
- .col-xs-2
44
- %a.show-common-elements{ href: "#patterns_both" }
45
- Show common elements in patterns
46
- %a.hide-common-elements{ href: "#", style: "display: none" }
47
- Hide common elements in patterns
48
- .row.scope_common_content.collapse
49
- .col-xs-1
50
- .col-xs-10.table_container
51
- = in_both
52
- = render_partial "compare/pattern_list", list: @diff["patterns"].common
22
+ .col-md-6.table_container
23
+ - if @diff["patterns"].only_in1
24
+ = only_in_a
25
+ = render_partial "compare/pattern_list", list: @diff["patterns"].only_in1
26
+ .col-md-6.table_container
27
+ - if @diff["patterns"].only_in2
28
+ = only_in_b
29
+ = render_partial "compare/pattern_list", list: @diff["patterns"].only_in2
30
+ - if @diff["patterns"].changed
31
+ %a.both_anchor{ id: "patterns_changed" }
32
+ .row
33
+ .col-md-12.table_container
34
+ = changed
35
+ = render_partial "compare/changes", changes: changed_elements("patterns",
36
+ key: "name",
37
+ attributes: ["version"],
38
+ optional_attributes: ["version", "release"])
39
+ - if @diff["patterns"].common
40
+ %a.both_anchor{ id: "patterns_both" }
41
+ .row
42
+ .col-md-12
43
+ %a.show-common-elements{ href: "#patterns_both" }
44
+ Show common elements in patterns
45
+ %a.hide-common-elements{ href: "#", style: "display: none" }
46
+ Hide common elements in patterns
47
+ .row.scope_common_content.collapse
48
+ .col-md-12.table_container
49
+ = in_both
50
+ = render_partial "compare/pattern_list", list: @diff["patterns"].common
53
51
 
@@ -1,51 +1,50 @@
1
1
  - if @diff["repositories"]
2
- %a.scope_anchor{ id: "repositories" }
2
+ - scope = "repositories"
3
+ %a.scope_anchor{ id: scope }
3
4
  .scope#repositories_container
4
5
  .row
5
6
  .col-xs-1
6
- %img.over.scope_logo_big{ :src => "/assets/logo-repositories.png",
7
- "data-toggle" => "popover",
8
- :title => "Repositories",
9
- "data-content" => "#{scope_help("repositories")}" }
7
+ %a.btn.btn-default.btn-lg.scope_logo_big{ :href => "##{scope}",
8
+ :title => scope_title(scope), "data-toggle"=>"popover",
9
+ "data-content" => scope_help(scope) }
10
+ %span= scope_initials(scope)
10
11
  %span.toggle{ title: "Collapse/Expand" }
11
12
  .col-xs-11
12
13
  %h2
13
14
  Repositories
14
- .scope-summary
15
- - if @diff["repositories"].only_in1
16
- %span.summary-part
17
- #{@description_a.name}: #{@diff["repositories"].only_in1.length} repositories
18
- - if @diff["repositories"].only_in2
19
- %span.summary-part
20
- #{@description_b.name}: #{@diff["repositories"].only_in2.length} repositories
21
- - if @diff["repositories"].common
22
- %span.summary-part
23
- %a.show-common-elements{ href: "#repositories_both" }<
24
- both
25
- = ": #{@diff["repositories"].common.length} repositories"
15
+ = render_partial "compare/summary",
16
+ scope: "repositories",
17
+ singular: "repository",
18
+ plural: "repositories"
26
19
  .row.scope_content.collapse.in
27
- .row
28
- .col-xs-1
29
- .col-xs-5.table_container
30
- - if @diff["repositories"].only_in1
31
- = only_in_a
32
- = render_partial "compare/repository_list", list: @diff["repositories"].only_in1
33
- .col-xs-1
34
- .col-xs-5.table_container
35
- - if @diff["repositories"].only_in2
36
- = only_in_b
37
- = render_partial "compare/repository_list", list: @diff["repositories"].only_in2
38
- - if @diff["repositories"].common
39
- %a.both_anchor{ id: "repositories_both" }
20
+ .col-md-12
40
21
  .row
41
- .col-xs-1
42
- .col-xs-2
43
- %a.show-common-elements{ href: "#repositories_both" }
44
- Show common elements in repositories
45
- %a.hide-common-elements{ href: "#", style: "display: none" }
46
- Hide common elements in repositories
47
- .row.scope_common_content.collapse
48
- .col-xs-1
49
- .col-xs-10.table_container
50
- = in_both
51
- = render_partial "compare/repository_list", list: @diff["repositories"].common
22
+ .col-md-6.table_container
23
+ - if @diff["repositories"].only_in1
24
+ = only_in_a
25
+ = render_partial "compare/repository_list", list: @diff["repositories"].only_in1
26
+ .col-md-6.table_container
27
+ - if @diff["repositories"].only_in2
28
+ = only_in_b
29
+ = render_partial "compare/repository_list", list: @diff["repositories"].only_in2
30
+ - if @diff["repositories"].changed
31
+ %a.both_anchor{ id: "repositories_changed" }
32
+ .row
33
+ .col-md-12.table_container
34
+ = changed
35
+ = render_partial "compare/changes", changes: changed_elements("repositories",
36
+ attributes: ["name", "url", "type", "enabled", "autorefresh", "gpgcheck",
37
+ "priority"],
38
+ key: "alias")
39
+ - if @diff["repositories"].common
40
+ %a.both_anchor{ id: "repositories_both" }
41
+ .row
42
+ .col-md-12
43
+ %a.show-common-elements{ href: "#repositories_both" }
44
+ Show common elements in repositories
45
+ %a.hide-common-elements{ href: "#", style: "display: none" }
46
+ Hide common elements in repositories
47
+ .row.scope_common_content.collapse
48
+ .col-md-12.table_container
49
+ = in_both
50
+ = render_partial "compare/repository_list", list: @diff["repositories"].common
@@ -2,7 +2,7 @@
2
2
  %thead
3
3
  %tr
4
4
  %th Name
5
- %th State
5
+ %th.medium State
6
6
  %tbody
7
7
  - list.services.each do |service|
8
8
  %tr
@@ -1,56 +1,64 @@
1
1
  - if @diff["services"]
2
- %a.scope_anchor{ id: "services" }
2
+ - scope = "services"
3
+ %a.scope_anchor{ id: scope }
3
4
  .scope#services_container
4
5
  .row
5
6
  .col-xs-1
6
- %a{ href: "#services" }
7
- %img.over.scope_logo_big{ :src => "/assets/logo-services.png",
8
- "data-toggle" => "popover",
9
- :title => "Services",
10
- "data-content" => "#{scope_help("services")}" }
7
+ %a.btn.btn-default.btn-lg.scope_logo_big{ :href => "##{scope}",
8
+ :title => scope_title(scope), "data-toggle"=>"popover",
9
+ "data-content" => scope_help(scope) }
10
+ %span= scope_initials(scope)
11
11
  %span.toggle{ title: "Collapse/Expand" }
12
12
  .col-xs-11
13
13
  %h2
14
14
  Services
15
15
  .scope-summary
16
- - if @diff["services"].only_in1
16
+ - if @diff["services"].only_in1 && @diff["services"].only_in1.length > 0
17
17
  %span.summary-part
18
18
  #{@description_a.name}:
19
- #{safe_length(@diff["services"].only_in1, :services)} services
19
+ #{pluralize_scope(@diff["services"].only_in1, "service", "services")}
20
20
  (#{@diff["services"].only_in1.init_system})
21
- - if @diff["services"].only_in2
21
+ - if @diff["services"].only_in2 && @diff["services"].only_in2.length > 0
22
22
  %span.summary-part
23
23
  #{@description_b.name}:
24
- #{safe_length(@diff["services"].only_in2, :services)} services
24
+ #{pluralize_scope(@diff["services"].only_in2, "service", "services")}
25
25
  (#{@diff["services"].only_in2.init_system})
26
- - if @diff["services"].common
26
+ - if @diff["services"].changed && @diff["services"].changed.length > 0
27
+ %span.summary-part
28
+ %a{ href: "#services_changed" }
29
+ changed
30
+ = ": #{pluralize_scope(@diff["services"].changed, "service", "services")}"
31
+ - if @diff["services"].common && @diff["services"].common.length > 0
27
32
  %span.summary-part
28
33
  %a.show-common-elements{ href: "#services_both" }<
29
34
  both
30
- = ": #{safe_length(@diff["services"].common, :services)} services"
35
+ = ": #{pluralize_scope(@diff["services"].common, "service", "services")}"
31
36
  .row.scope_content.collapse.in
32
- .row
33
- .col-xs-1
34
- .col-xs-5.table_container
35
- - if safe_length(@diff["services"].only_in1, :services) > 0
36
- = only_in_a
37
- = render_partial "compare/service_list", list: @diff["services"].only_in1
38
- .col-xs-1
39
- .col-xs-5.table_container
40
- - if safe_length(@diff["services"].only_in2, :services) > 0
41
- = only_in_b
42
- = render_partial "compare/service_list", list: @diff["services"].only_in2
43
- - if safe_length(@diff["services"].common, :services) > 0
44
- %a.both_anchor{ id: "services_both" }
37
+ .col-md-12
45
38
  .row
46
- .col-xs-1
47
- .col-xs-11
48
- %a.show-common-elements{ href: "#services_both" }
49
- Show common elements in services
50
- %a.hide-common-elements{ href: "#", style: "display: none" }
51
- Hide common elements in services
52
- .row.scope_common_content.collapse
53
- .col-xs-1
54
- .col-xs-10.table_container
55
- = in_both
56
- = render_partial "compare/service_list", list: @diff["services"].common
39
+ .col-md-6.table_container
40
+ - if safe_length(@diff["services"].only_in1, :services) > 0
41
+ = only_in_a
42
+ = render_partial "compare/service_list", list: @diff["services"].only_in1
43
+ .col-md-6.table_container
44
+ - if safe_length(@diff["services"].only_in2, :services) > 0
45
+ = only_in_b
46
+ = render_partial "compare/service_list", list: @diff["services"].only_in2
47
+ - if @diff["services"].changed
48
+ %a.both_anchor{ id: "services_changed" }
49
+ .row
50
+ .col-md-12.table_container
51
+ = changed
52
+ = render_partial "compare/changes", changes: changed_elements("services", key: "name")
53
+ - if safe_length(@diff["services"].common, :services) > 0
54
+ %a.both_anchor{ id: "services_both" }
55
+ .row
56
+ .col-md-12
57
+ %a.show-common-elements{ href: "#services_both" }
58
+ Show common elements in services
59
+ %a.hide-common-elements{ href: "#", style: "display: none" }
60
+ Hide common elements in services
61
+ .row.scope_common_content.collapse
62
+ .col-md-12.table_container
63
+ = in_both
64
+ = render_partial "compare/service_list", list: @diff["services"].common
@@ -0,0 +1,17 @@
1
+ .scope-summary
2
+ - if @diff[scope].only_in1 && @diff[scope].only_in1.length > 0
3
+ %span.summary-part
4
+ #{@description_a.name}: #{pluralize_scope(@diff[scope].only_in1, singular, plural)}
5
+ - if @diff[scope].only_in2 && @diff[scope].only_in2.length > 0
6
+ %span.summary-part
7
+ #{@description_b.name}: #{pluralize_scope(@diff[scope].only_in2, singular, plural)}
8
+ - if @diff[scope].changed && @diff[scope].changed.length > 0
9
+ %span.summary-part
10
+ %a{ href: "#" + scope + "_changed" }
11
+ changed
12
+ = ": #{pluralize_scope(@diff[scope].changed, singular, plural)}"
13
+ - if @diff[scope].common && @diff[scope].common.length > 0
14
+ %span.summary-part
15
+ %a.show-common-elements{ href: "#" + scope + "_both" }<
16
+ both
17
+ = ": #{pluralize_scope(@diff[scope].common, singular, plural)}"
@@ -1,11 +1,12 @@
1
- %p
2
- <strong>Files extracted:</strong> #{list.extracted ? "yes" : "no"}
1
+ - if !list.extracted.nil?
2
+ %p
3
+ <strong>Files extracted:</strong> #{list.extracted ? "yes" : "no"}
3
4
  - if list.files
4
5
  %table.table.table-striped.table-hover.table-condensed.files-table
5
6
  %thead
6
7
  %tr
7
8
  %th Name
8
- %th Type
9
+ %th.small Type
9
10
  %tbody
10
11
  - list.files.each do |file|
11
12
  %tr
@@ -1,13 +1,13 @@
1
1
  - if @diff["unmanaged_files"]
2
- %a.scope_anchor{ id: "unmanaged_files" }
2
+ - scope = "unmanaged_files"
3
+ %a.scope_anchor{ id: scope }
3
4
  .scope#unmanaged_files_container
4
5
  .row
5
6
  .col-xs-1
6
- %a{ href: "#unmanaged_files" }
7
- %img.over.scope_logo_big{ :src => "/assets/logo-unmanaged-files.png",
8
- "data-toggle" => "popover",
9
- :title => "Unmanaged Files",
10
- "data-content" => "#{scope_help("unmanaged_files")}" }
7
+ %a.btn.btn-default.btn-lg.scope_logo_big{ :href => "##{scope}",
8
+ :title => scope_title(scope), "data-toggle"=>"popover",
9
+ "data-content" => scope_help(scope) }
10
+ %span= scope_initials(scope)
11
11
  %span.toggle{ title: "Collapse/Expand" }
12
12
  .col-xs-11
13
13
  %h2
@@ -16,44 +16,50 @@
16
16
  - if @diff["unmanaged_files"].only_in1
17
17
  %span.summary-part
18
18
  #{@description_a.name}:
19
- #{safe_length(@diff["unmanaged_files"].only_in1, :files)} files
19
+ = pluralize_scope(@diff["unmanaged_files"].only_in1, "file", "files")
20
20
  - if @diff["unmanaged_files"].only_in2
21
21
  %span.summary-part
22
22
  #{@description_b.name}:
23
- #{safe_length(@diff["unmanaged_files"].only_in2, :files)} files
23
+ = pluralize_scope(@diff["unmanaged_files"].only_in2, "file", "files")
24
+ - if @diff["unmanaged_files"].changed
25
+ %span.summary-part
26
+ %a{ href: "#unmanaged_files_changed" }
27
+ changed
28
+ = ": #{pluralize_scope(@diff["unmanaged_files"].changed, "file", "files")}"
24
29
  - if @diff["unmanaged_files"].common
25
30
  %span.summary-part
26
31
  %a.show-common-elements{ href: "#unmanaged_files_both" }<
27
32
  both
28
- = ": #{safe_length(@diff["unmanaged_files"].common, :files)} files"
29
- - if diffable_unmanaged_files.length > 0
30
- %span.summary-part
31
- %a#diff-unmanaged-files{ "data-toggle" => "modal",
32
- "data-target" => "#diff-unmanaged-files" }
33
- Diff files
33
+ = ": #{pluralize_scope(@diff["unmanaged_files"].common, "file", "files")}"
34
34
  .row.scope_content.collapse.in
35
- .row
36
- .col-xs-1
37
- .col-xs-5.table_container
38
- - if safe_length(@diff["unmanaged_files"].only_in1, :files) > 0
39
- = only_in_a
40
- = render_partial "compare/unmanaged_file_list", list: @diff["unmanaged_files"].only_in1
41
- .col-xs-1
42
- .col-xs-5.table_container
43
- - if safe_length(@diff["unmanaged_files"].only_in2, :files) > 0
44
- = only_in_b
45
- = render_partial "compare/unmanaged_file_list", list: @diff["unmanaged_files"].only_in2
46
- - if safe_length(@diff["unmanaged_files"].common, :files) > 0
47
- %a.both_anchor{ id: "unmanaged_files_both" }
35
+ .col-md-12
48
36
  .row
49
- .col-xs-1
50
- .col-xs-11
51
- %a.show-common-elements{ href: "#unmanaged_files_both" }
52
- Show common elements in unmanaged-files
53
- %a.hide-common-elements{ href: "#", style: "display: none" }
54
- Hide common elements in unmanaged-files
55
- .row.scope_common_content.collapse
56
- .col-xs-1
57
- .col-xs-10.table_container
58
- = in_both
59
- = render_partial "compare/unmanaged_file_list", list: @diff["unmanaged_files"].common
37
+ .col-md-6.table_container
38
+ - if @diff["unmanaged_files"].only_in1
39
+ = only_in_a
40
+ = render_partial "compare/unmanaged_file_list",
41
+ list: @diff["unmanaged_files"].only_in1
42
+ .col-md-6.table_container
43
+ - if @diff["unmanaged_files"].only_in2
44
+ = only_in_b
45
+ = render_partial "compare/unmanaged_file_list",
46
+ list: @diff["unmanaged_files"].only_in2
47
+ - if @diff["unmanaged_files"].changed
48
+ %a.both_anchor{ id: "unmanaged_files_changed" }
49
+ .row
50
+ .col-md-12.table_container
51
+ = changed
52
+ = render_partial "compare/changes", changes: changed_elements("unmanaged_files",
53
+ key: "name")
54
+ - if safe_length(@diff["unmanaged_files"].common, :files) > 0
55
+ %a.both_anchor{ id: "unmanaged_files_both" }
56
+ .row
57
+ .col-md-12
58
+ %a.show-common-elements{ href: "#unmanaged_files_both" }
59
+ Show common elements in unmanaged-files
60
+ %a.hide-common-elements{ href: "#", style: "display: none" }
61
+ Hide common elements in unmanaged-files
62
+ .row.scope_common_content.collapse
63
+ .col-md-12.table_container
64
+ = in_both
65
+ = render_partial "compare/unmanaged_file_list", list: @diff["unmanaged_files"].common