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 %> - - - - - + <% source_tree.children.each do |child| %> + + + + <% end %>
- - <%= module_label %> - -
+ + <%= "#{child.module.name} (#{child.module.granularity})" %> +
<% 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