From 7aefdd4ad2a9600270a065991097f044f216783b Mon Sep 17 00:00:00 2001 From: Caio Salgado + Diego Araujo Date: Wed, 29 Feb 2012 23:00:06 +0300 Subject: [PATCH] stating a new display view for source tree --- plugins/mezuro/controllers/mezuro_plugin_profile_controller.rb | 4 +++- plugins/mezuro/lib/kalibro/entities/project_result.rb | 18 +++++++++++++++++- plugins/mezuro/public/javascripts/project_content.js | 16 ++++++++++++++-- plugins/mezuro/views/content_viewer/_project_result.rhtml | 7 ++----- plugins/mezuro/views/content_viewer/_source_tree.rhtml | 6 +++--- plugins/mezuro/views/content_viewer/show_project.rhtml | 4 +++- 6 files changed, 42 insertions(+), 13 deletions(-) diff --git a/plugins/mezuro/controllers/mezuro_plugin_profile_controller.rb b/plugins/mezuro/controllers/mezuro_plugin_profile_controller.rb index f6ac0f1..a8311a7 100644 --- a/plugins/mezuro/controllers/mezuro_plugin_profile_controller.rb +++ b/plugins/mezuro/controllers/mezuro_plugin_profile_controller.rb @@ -18,7 +18,9 @@ class MezuroPluginProfileController < ProfileController def project_result content = profile.articles.find(params[:id]) project_result = content.project_result - render :partial => 'content_viewer/project_result', :locals => { :project_result => project_result } + source_tree = project_result.subtree(params[:module_name]) + source_tree = project_result.source_tree if source_tree.nil? + render :partial => 'content_viewer/project_result', :locals => { :project_result => project_result, :source_tree => source_tree } end def module_result diff --git a/plugins/mezuro/lib/kalibro/entities/project_result.rb b/plugins/mezuro/lib/kalibro/entities/project_result.rb index 604e64e..d5ed758 100644 --- a/plugins/mezuro/lib/kalibro/entities/project_result.rb +++ b/plugins/mezuro/lib/kalibro/entities/project_result.rb @@ -14,6 +14,22 @@ class Kalibro::Entities::ProjectResult < Kalibro::Entities::Entity format_milliseconds(@load_time) end + def subtree(name) + find_subtree(@source_tree, name) + end + + def find_subtree(tree, name) + if tree.module.name == name + tree + elsif !tree.children.nil? + tree.children.each do |child| + found = find_subtree(child, name) + return found if !found.nil? + end + return nil + end + end + def formatted_analysis_time format_milliseconds(@analysis_time) end @@ -31,4 +47,4 @@ class Kalibro::Entities::ProjectResult < Kalibro::Entities::Entity ('%2d' % amount).sub(/\s/, '0') end -end \ No newline at end of file +end diff --git a/plugins/mezuro/public/javascripts/project_content.js b/plugins/mezuro/public/javascripts/project_content.js index 331747e..2d03920 100644 --- a/plugins/mezuro/public/javascripts/project_content.js +++ b/plugins/mezuro/public/javascripts/project_content.js @@ -24,8 +24,16 @@ 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(showModuleResult); + 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(){ @@ -35,6 +43,10 @@ function showModuleResult(){ return false; } +function setProjectResult(content){ + jQuery('#project_results').html(content); +} + function setModuleResult(content){ jQuery('#module-result').html(content); } @@ -54,4 +66,4 @@ function sourceNodeToggle(id){ var suffixes = ['_hidden', '_plus', '_minus']; for (var i in suffixes) jQuery('#' + id + suffixes[i]).toggle(); -} \ No newline at end of file +} diff --git a/plugins/mezuro/views/content_viewer/_project_result.rhtml b/plugins/mezuro/views/content_viewer/_project_result.rhtml index 78e94bc..dcbd08f 100644 --- a/plugins/mezuro/views/content_viewer/_project_result.rhtml +++ b/plugins/mezuro/views/content_viewer/_project_result.rhtml @@ -1,4 +1,4 @@ -

<%= _('LAST RESULT') %>

+

<%= _('Last Result') %>

@@ -16,7 +16,4 @@

<%= _('Source tree') %>

-<%= render :partial => 'content_viewer/source_tree', :locals => { :source_tree => project_result.source_tree } %> - -
-
+<%= render :partial => 'content_viewer/source_tree', :locals => { :source_tree => source_tree } %> diff --git a/plugins/mezuro/views/content_viewer/_source_tree.rhtml b/plugins/mezuro/views/content_viewer/_source_tree.rhtml index 28bae10..bbab55d 100644 --- a/plugins/mezuro/views/content_viewer/_source_tree.rhtml +++ b/plugins/mezuro/views/content_viewer/_source_tree.rhtml @@ -4,9 +4,9 @@ - +
- - @@ -15,7 +15,7 @@
<% source_tree.children.each do |child| %> diff --git a/plugins/mezuro/views/content_viewer/show_project.rhtml b/plugins/mezuro/views/content_viewer/show_project.rhtml index bf20e63..8f1a1df 100644 --- a/plugins/mezuro/views/content_viewer/show_project.rhtml +++ b/plugins/mezuro/views/content_viewer/show_project.rhtml @@ -32,4 +32,6 @@

<%= _('Processing ') + @project.name + '...' %>

-
\ No newline at end of file + +
+
-- libgit2 0.21.2