diff --git a/app/views/foreman_puppet/puppetclasses/_classes.html.erb b/app/views/foreman_puppet/puppetclasses/_classes.html.erb
index 1ef1215e..88b93c39 100644
--- a/app/views/foreman_puppet/puppetclasses/_classes.html.erb
+++ b/app/views/foreman_puppet/puppetclasses/_classes.html.erb
@@ -2,21 +2,36 @@
<% group.each do |list| %>
<% next if list.nil? %>
-
- - <%= puppetclass_group_with_icon(list, selected_puppet_classes) %>
-
- <% for klass in list.last.sort %>
- <% unless authorized_for(controller: :host_editing, action: :edit_classes) %>
- - <%= h klass.name %>
- <% else %>
- -
- <%= link_to_add_puppetclass(klass, resource_type) %>
-
- <% end %>
- <% end %>
-
-
-
+
+
+
+
+
+
+ <% for klass in list.last.sort %>
+ <% unless authorized_for(:controller => :host_editing, :action => :edit_classes) %>
+ -
+ <%= h klass.name %>
+
+ <% else %>
+ <% style = ["puppetclass",
+ selected_puppet_classes.include?(klass) ? "hide" : "",
+ ].join(' ') %>
+ <%= content_tag(:li, klass, :id=>"puppetclass_#{klass.id}", :class=>style) do %>
+ <%= link_to_add_puppetclass(klass,type) %>
+ <% end %>
+ <% end %>
+ <% end %>
+
+
+
+
<% end %>
<% end %>
diff --git a/webpack/src/foreman_class_edit.js b/webpack/src/foreman_class_edit.js
index c39d9c5e..d36ed5b0 100644
--- a/webpack/src/foreman_class_edit.js
+++ b/webpack/src/foreman_class_edit.js
@@ -28,9 +28,18 @@ export function filterPuppetClasses(item) {
classElems
.hide()
.has(`[data-class-name*="${term}"]`)
- .show();
+ .show()
+ .filter('div')
+ .find('a.collapsed')
+ .attr('aria-expanded','true')
+ .click();
} else {
- classElems.show();
+ classElems
+ .show()
+ .has('.collapse')
+ .find('a[aria-expanded]')
+ .attr('aria-expanded','false')
+ .click();
}
}