From 3d4f524dcb7bc8c3fb10daaf49d1dd8504967706 Mon Sep 17 00:00:00 2001 From: Dmitriy Zaporozhets Date: Tue, 20 Dec 2011 08:59:14 +0200 Subject: [PATCH] play with tree view --- app/assets/images/ajax-loader-tree.gif | Bin 0 -> 2608 bytes app/assets/javascripts/tree.js | 12 +++++++++--- app/assets/stylesheets/projects.css.scss | 7 +++++++ app/views/refs/tree.js.haml | 4 ++-- 4 files changed, 18 insertions(+), 5 deletions(-) create mode 100644 app/assets/images/ajax-loader-tree.gif diff --git a/app/assets/images/ajax-loader-tree.gif b/app/assets/images/ajax-loader-tree.gif new file mode 100644 index 0000000000000000000000000000000000000000..c69e937232b24ea30f01c68bbd2ebc798dcecfcb GIT binary patch literal 2608 zcmdVcdr(tX9tZGC9yiG~=H_*Q-0%n(kWqP*D#hw{AQu8;1%gl-Hrf&{2?48KX;hHy z3Ze*zEz4t3XdUFyLbNPUYlA`|B}P=N1fqtL1*}S;87#|-W9v<#G;ul(e%d3)N(^9c$d2Dz{7}?ErjNd;{EMKkCsk21~b9Gvg zDo<7L=3Z5HNbVlZUcm1eg#o#CZCJU`3IYHwM->zCd?uYrF3vKFeM}v?f+%s?E>ly|3W25ry9#NNbTx-}0ON58dTrs^ix{_1O0Wh~SVSBlH)Ajn zPn^Gbjz}PCtN@#keR&hK&Dhl-b$kZ8^S)x#dh0{7X=X%CCJk7P1PSO>T&S8I4{#Lg zb5#)o=;!ZP*1nM{cI4@(x7o27*SA()NHmrn67aN@Pmi~(i_SnrjYnwh36aG%!@i0d zqbvfa44f|?OG4ntP|nbjhEl1)Yp6ZN@yjy zy4==QmLy%t;ps3R?~f2KfTTI|2?q8dFd6^z5GF+Xa&Y)sjG)hxit80pPcOP zJ z*LW{SyGHD%hUotV+W%I}fBLAIx!8|7#}$;clKQ+{&FjDqGQ2ZNx(lYM3*%~}ILnao zM`aui55~ZFJlu^!5rdA9Q_7H68H_;##u{x(Yn-vSfIRCb^Nqsg zGRS!Egm>h+o<}LeV4&CLReo9FrDjDvs}8?JwC)#Qs|ie=r?~xUh)&*d`Fx>FG}%X# zNdtDHBKhLPC0wpooFDAQKL%*6T|ULH$=wX!NhcasgD3d;-d$I6yRK3yN+E~C1335_iLOt+*9uvSZ`>*KA}vm}08wRq=>5l|t*Na&jR z-C1&C`nkEk#sB|@yyt-#fXngP04My zm7u$Q%EJbHp`>~`5W&L{W!6`y&}LMS;jfUpgO~7TLVMRZ9IC)IZp0A${`yp0{&wco z#1nx@XMkhqeK%7?RE7JdLr1^nwFfaJ0Q&Lv?WNJ%9}VSJsNY2+UYs2%EU0J~ayFXv zi*?7KCXQHkD)O6!0Q%4N+HTODHxJ{kQSuQX$l-rSwkwh(zMkdfzxyGwl@yHC)C4p< z&n2%8#M?)Q@mgHL1ot8`SFdSEj9ye|jHy+U8#@HoUExG=@AVkRAe_qYm4EpzK6L*& zh`)26?V#f4#_h^P9G^%>h2-H3)$QP zQovu6J9qDvsxqweDdNNa!Lb?L4_UF{tLX_nN7r0U_vF14YKcGR-*Gl} zx3oG)bzf|65dBxD-;2ZCp??K;+TuQ9onnK?==5hzbkb^r_g>z4#D8mcv8(+XdoszA zCx-qhdgxMNMotj}SiL_6V(tLcsK7(M(r(%u<}QrVfOvyK6_;~NOTlPGfX@M7S5YQF z&*$(ylJMHJt^_aQeu{C6NaTE$G3HNN@_SnN8YcaKn%`)F@~L1x+ah7-gEJPpc6w%3 zyX}r+Qk$4RHZzfH){e~F*qJ{d*L8a6n4;U?+{de0-t)mal#TVxe)3F}^UBh+zd T)6_**#cgp_+?JL9(ew3BlNF>u literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/tree.js b/app/assets/javascripts/tree.js index 6edd7e49c5a..bde543f0b86 100644 --- a/app/assets/javascripts/tree.js +++ b/app/assets/javascripts/tree.js @@ -5,17 +5,23 @@ var Tree = { init: function() { + (new Image).src = "/assets/ajax-loader-tree.gif"; + $('#tree-slider td.tree-item-file-name a, #tree-breadcrumbs a').live("click", function() { history.pushState({ path: this.path }, '', this.href) + $("#tree-content-holder").hide("slide", { direction: "left" }, 150) }) $("#tree-slider tr.tree-item").live('click', function(e){ if(e.target.nodeName != "A") { - e.stopPropagation(); link = $(this).find("td.tree-item-file-name a"); - link.click(); - return false; + link.trigger("click"); } }); + + $('#tree-slider td.tree-item-file-name a, #tree-breadcrumbs a').live({ + "ajax:beforeSend": function() { $('h2.icon').addClass("loading") }, + "ajax:complete": function() { $('h2.icon').removeClass("loading")} + }); } } diff --git a/app/assets/stylesheets/projects.css.scss b/app/assets/stylesheets/projects.css.scss index 366a0d84a40..828b227a7f0 100644 --- a/app/assets/stylesheets/projects.css.scss +++ b/app/assets/stylesheets/projects.css.scss @@ -647,3 +647,10 @@ h4.middle-panel { border-radius:3px; float:left; } + +body.project-page h2.icon.loading { + span { + background-position: 0px 0px; + background: url("ajax-loader-tree.gif") no-repeat; + } +} diff --git a/app/views/refs/tree.js.haml b/app/views/refs/tree.js.haml index ef078caa7b2..97bc0b81350 100644 --- a/app/views/refs/tree.js.haml +++ b/app/views/refs/tree.js.haml @@ -1,5 +1,5 @@ :plain - $("#tree-content-holder").hide("slide", { direction: "left" }, 150, function(){ + //$("#tree-content-holder").hide("slide", { direction: "left" }, 150, function(){ $("#tree-holder").html("#{escape_javascript(render(:partial => "tree", :locals => {:repo => @repo, :commit => @commit, :tree => @tree}))}"); $("#tree-content-holder").show("slide", { direction: "right" }, 150); - }); + //});