diff --git a/plugins/mezuro/controllers/mezuro_plugin_profile_controller.rb b/plugins/mezuro/controllers/mezuro_plugin_profile_controller.rb
index 0c38e11..390a78a 100644
--- a/plugins/mezuro/controllers/mezuro_plugin_profile_controller.rb
+++ b/plugins/mezuro/controllers/mezuro_plugin_profile_controller.rb
@@ -19,18 +19,28 @@ class MezuroPluginProfileController < ProfileController
content = profile.articles.find(params[:id])
project_result = content.project_result
project = content.project
- if params[:module_name].nil?
- source_tree = project_result.source_tree
- else
- source_tree = project_result.get_node(params[:module_name])
- end
- render :partial => 'content_viewer/project_result', :locals => { :project_result => project_result, :source_tree => source_tree, :project => project }
+ render :partial => 'content_viewer/project_result', :locals => { :project_result => project_result }
end
def module_result
content = profile.articles.find(params[:id])
- module_result = content.module_result(params[:module_name])
+ if params[:module_name].nil? or params[:module_name] == content.project.name
+ module_result = content.module_result(content.project.name)
+ else
+ module_result = content.module_result(params[:module_name])
+ end
render :partial => 'content_viewer/module_result', :locals => { :module_result => module_result}
end
+ def project_tree
+ content = profile.articles.find(params[:id])
+ project_result = content.project_result
+ if params[:module_name].nil? or params[:module_name] == content.project.name
+ source_tree = project_result.source_tree
+ else
+ source_tree = project_result.get_node(params[:module_name])
+ end
+ render :partial =>'content_viewer/source_tree', :locals => { :source_tree => source_tree, :project_name => content.project.name}
+ end
+
end
diff --git a/plugins/mezuro/public/javascripts/project_content.js b/plugins/mezuro/public/javascripts/project_content.js
index 2d03920..f35a740 100644
--- a/plugins/mezuro/public/javascripts/project_content.js
+++ b/plugins/mezuro/public/javascripts/project_content.js
@@ -1,14 +1,27 @@
-jQuery(showProjectContent);
+jQuery(function (){
+ jQuery('.source-tree-link').live("click", reloadModule);
+ showProjectContent();
+});
function showProjectContent() {
callAction('project_state', {}, showProjectContentFor);
}
+function reloadModule(){
+ var module_name = jQuery(this).attr('data-module-name');
+ callAction('project_tree', {module_name: module_name }, showProjectTree);
+ callAction('module_result', {module_name: module_name}, showModuleResult);
+ return false;
+}
+
function showProjectContentFor(state){
if (state == 'ERROR')
- callAction('project_error', {}, setProjectContent);
- else if (state == 'READY')
- callAction('project_result', {}, setProjectContent);
+ callAction('project_error', {}, showProjectResult);
+ else if (state == 'READY') {
+ callAction('project_result', {}, showProjectResult);
+ callAction('project_tree', {}, showProjectTree);
+ callAction('module_result', {}, showModuleResult);
+ }
else if (state.endsWith("ING"))
showProjectContentAfter(20);
}
@@ -23,31 +36,15 @@ function showProjectContentAfter(seconds){
}
}
-function setProjectContent(content){
- var module_name = jQuery(this).attr('data-module-name');
- jQuery('#project-content').html(content);
- jQuery('.module-result-link').click(showProjectTree);
- callAction('module_result', {module_name: module_name}, setModuleResult);
-}
-
-function showProjectTree(){
- var module_name = jQuery(this).attr('data-module-name');
- callAction('project_result', {module_name: module_name}, setProjectContent);
- return false;
-}
-
-function showModuleResult(){
- var module_name = jQuery(this).attr('data-module-name');
- setModuleResult("Loading results for " + module_name + "...");
- callAction('module_result', {module_name: module_name}, setModuleResult);
- return false;
+function showProjectResult(content) {
+ jQuery('#project-result').html(content);
}
-function setProjectResult(content){
- jQuery('#project_results').html(content);
+function showProjectTree(content){
+ jQuery('#project-tree').html(content);
}
-function setModuleResult(content){
+function showModuleResult(content){
jQuery('#module-result').html(content);
}
@@ -59,11 +56,5 @@ function callAction(action, params, callback){
}
function projectContentData(data){
- return jQuery('#project-content').attr('data-' + data);
-}
-
-function sourceNodeToggle(id){
- var suffixes = ['_hidden', '_plus', '_minus'];
- for (var i in suffixes)
- jQuery('#' + id + suffixes[i]).toggle();
+ return jQuery('#project-result').attr('data-' + data);
}
diff --git a/plugins/mezuro/views/content_viewer/_project_result.rhtml b/plugins/mezuro/views/content_viewer/_project_result.rhtml
index 153d182..a5693a7 100644
--- a/plugins/mezuro/views/content_viewer/_project_result.rhtml
+++ b/plugins/mezuro/views/content_viewer/_project_result.rhtml
@@ -14,21 +14,3 @@
<%= project_result.formatted_analysis_time %> |
-<%= _('Source tree') %>
-
-<% if !source_tree.nil? && project.name != source_tree.module.name %>
-
- <%= project.name %>
-
- <% split_link = source_tree.module.ancestor_names %>
- <% split_link.each do |link| %>
- <% if split_link.length - 1 != split_link.index(link) %>
-
- <%= link.split(".").last %>
-
- <% end %>
- <% end %>
- <%= render :partial => 'content_viewer/source_tree', :locals => { :source_tree => source_tree } %>
-<% else %>
- <%= render :partial => 'content_viewer/source_tree', :locals => { :source_tree => project_result.source_tree } %>
-<% end %>
diff --git a/plugins/mezuro/views/content_viewer/_source_tree.rhtml b/plugins/mezuro/views/content_viewer/_source_tree.rhtml
index 6e38012..b7f858b 100644
--- a/plugins/mezuro/views/content_viewer/_source_tree.rhtml
+++ b/plugins/mezuro/views/content_viewer/_source_tree.rhtml
@@ -1,39 +1,29 @@
+<%= _('Source tree') %>
<% module_name = source_tree.module.name %>
<% module_label = "#{module_name} (#{source_tree.module.granularity})" %>
+<% if module_name != project_name %>
+
+ <%= project_name %>
+
+<% end %>
+
+ <% split_link = source_tree.module.ancestor_names %>
+ <% split_link.each do |link| %>
+
+ <%= link.split(".").last %>
+
+<% end %>
+
<% if source_tree.children %>
-
-
-
-
- |
-
-
- <%= module_label %>
-
- |
-
-
- |
-
- <% source_tree.children.each do |child| %>
- <%= render :partial => 'content_viewer/source_tree', :locals => { :source_tree => child } %>
- <% end %>
- |
-
-
-<% else %>
-
<% end %>
diff --git a/plugins/mezuro/views/content_viewer/show_project.rhtml b/plugins/mezuro/views/content_viewer/show_project.rhtml
index 8f1a1df..03c0c52 100644
--- a/plugins/mezuro/views/content_viewer/show_project.rhtml
+++ b/plugins/mezuro/views/content_viewer/show_project.rhtml
@@ -30,8 +30,8 @@
-
+
<%= _('Processing ') + @project.name + '...' %>
-
-
+
+
--
libgit2 0.21.2