From: Jan Provaznik jprovazn@redhat.com
--- src/app/views/templates/software.haml | 20 ++++++++++++++++++++ src/public/stylesheets/components.css | 22 +++++++++++++++++++++- 2 files changed, 41 insertions(+), 1 deletions(-)
diff --git a/src/app/views/templates/software.haml b/src/app/views/templates/software.haml index 541dd7b..e4feb85 100644 --- a/src/app/views/templates/software.haml +++ b/src/app/views/templates/software.haml @@ -28,6 +28,26 @@ $("#selected_packages").load($(ev.target).attr('href'), loadCallback); return false; }); + createTree(); + }; + function createTree() { + $("li.group").each(function() { + $(this).addClass("closed_folder"); + $(this).click(toggleNode); + }) + $("li.group > ul > li").addClass("hidden"); + }; + function toggleNode(ev) { + var n = $(ev.target); + if (n.hasClass("closed_folder")) { + n.removeClass("closed_folder"); + n.addClass("opened_folder"); + $("ul > li", n).removeClass("hidden"); + } else { + n.removeClass("opened_folder"); + n.addClass("closed_folder"); + $("ul > li", n).addClass("hidden"); + } }; function get_repository(ev) { var rep = $(ev.target).val(); diff --git a/src/public/stylesheets/components.css b/src/public/stylesheets/components.css index 874d8bc..e66d5b0 100644 --- a/src/public/stylesheets/components.css +++ b/src/public/stylesheets/components.css @@ -446,10 +446,30 @@ ul.nav li:hover { color: blue; }
+#image_descriptor_form .closed_folder { + background-image: url(/images/dir_closed.png); + background-repeat: no-repeat; + cursor: pointer; +} + +#image_descriptor_form .opened_folder { + background-image: url(/images/dir_open.png); + background-repeat: no-repeat; + cursor: pointer; +} + +#image_descriptor_form .hidden { + display: none; +} + #image_descriptor_form .selection_list > li { padding-bottom: 10px; }
+#image_descriptor_form .group { + padding-left: 20px; +} + #image_descriptor_form .groupkgs { padding-left: 20px; } @@ -482,7 +502,7 @@ ul.nav li:hover { width:150px; }
-#image_descriptor_form #selected_packages { +#image_descriptor_form .selection_list { padding: 10px; }